/*Drag and drop to change order*/ jQuery(document).ready(function ($) { var customize_theme_controls = $(document); function refresh_repeater_values(){ $(".at-repeater-field-control-wrap").each(function(){ var values = []; var $this = $(this); $this.find(".repeater-field-control").each(function(){ var valueToPush = {}; $(this).find('[data-name]').each(function(){ if( $(this).attr('type') === 'checkbox'){ if($(this).is(':checked')){ var dataValue = 1; } else { var dataValue = ''; } } else{ var dataValue = $(this).val(); } var dataName = $(this).attr('data-name'); valueToPush[dataName] = dataValue; }); values.push(valueToPush); }); $this.next('.at-repeater-collection').val(JSON.stringify(values)).trigger('change'); }); } customize_theme_controls.on('click','.repeater-field-title',function(){ $(this).next().slideToggle(); $(this).closest('.repeater-field-control').toggleClass('expanded'); }); customize_theme_controls.on('click', '.repeater-field-close', function(){ $(this).closest('.repeater-fields').slideUp(); $(this).closest('.repeater-field-control').toggleClass('expanded'); }); customize_theme_controls.on("click",'.at-repeater-add-control-field', function(){ var $this = $(this).parent(); if(typeof $this !== 'undefined') { var field = $this.find(".at-repeater-field-control-generator").html(); field = $($.parseHTML(field)); if(typeof field !== 'undefined'){ field.find("input[type='text'][data-name]").each(function(){ var defaultValue = $(this).attr('data-default'); $(this).val(defaultValue); }); field.find("textarea[data-name]").each(function(){ var defaultValue = $(this).attr('data-default'); $(this).val(defaultValue); }); field.find("select[data-name]").each(function(){ var defaultValue = $(this).attr('data-default'); $(this).val(defaultValue); }); field.find(".at-date-picker").each(function(){ $(this).datetimepicker({ separator: ' - ', dateFormat: 'dd/mm/yy' }); }); field.find('.single-field').show(); $this.find('.at-repeater-field-control-wrap').append(field); field.addClass('expanded').find('.repeater-fields').show(); $('.accordion-section-content').animate({ scrollTop: $this.height() }, 1000); refresh_repeater_values(); } } return false; }); customize_theme_controls.on("click", ".repeater-field-remove",function(){ if( typeof $(this).parent() != 'undefined'){ $(this).closest('.repeater-field-control').slideUp('normal', function(){ $(this).remove(); refresh_repeater_values(); }); } return false; }); customize_theme_controls.on('keyup change', '[data-name]',function(){ refresh_repeater_values(); return false; }); $(".at-repeater-field-control-wrap").sortable({ orientation: "vertical", update: function( event, ui ) { refresh_repeater_values(); } }); /** * Script for Customizer icons */ customize_theme_controls.on('click', '.at-customize-icons .single-icon', function() { var single_icon = $(this), at_customize_icons = single_icon.closest( '.at-customize-icons' ), icon_display_value = single_icon.children('i').attr('class'), icon_split_value = icon_display_value.split(' '), icon_value = icon_split_value[1]; single_icon.siblings().removeClass('selected'); single_icon.addClass('selected'); at_customize_icons.find('.at-icon-value').val( icon_value ); at_customize_icons.find('.icon-preview').html(''); at_customize_icons.find('.at-icon-value').trigger('change'); }); customize_theme_controls.on('click', '.at-customize-icons .icon-toggle ,.at-customize-icons .icon-preview', function() { var icon_toggle = $(this), at_customize_icons = icon_toggle.closest( '.at-customize-icons' ), icons_list_wrapper = at_customize_icons.find( '.icons-list-wrapper' ), dashicons = at_customize_icons.find( '.dashicons' ); if ( icons_list_wrapper.is(':hidden') ) { icons_list_wrapper.slideDown(); dashicons.removeClass('dashicons-arrow-down'); dashicons.addClass('dashicons-arrow-up'); } else { icons_list_wrapper.slideUp(); dashicons.addClass('dashicons-arrow-down'); dashicons.removeClass('dashicons-arrow-up'); } }); customize_theme_controls.on('keyup', '.at-customize-icons .icon-search', function() { var text = $(this), value = this.value, at_customize_icons = text.closest( '.at-customize-icons' ), icons_list_wrapper = at_customize_icons.find( '.icons-list-wrapper' ); icons_list_wrapper.find('i').each(function () { if ($(this).attr('class').search(value) > -1) { $(this).parent('.single-icon').show(); } else { $(this).parent('.single-icon').hide(); } }); }); });