( function( api ) { api.sectionConstructor['upsell'] = api.Section.extend( { // No events for this type of section. attachEvents: function () {}, // Always make the section active. isContextuallyActive: function () { return true; } } ); } )( wp.customize ); jQuery(document).ready(function($) { "use strict"; /** * Script for switch option */ $('.switch_options').each(function() { //This object var obj = $(this); obj.children('.switch_part').on('click', function(){ var switchVal = $(this).attr('data-switch'); obj.children('.switch_part').removeClass('selected'); $(this).addClass('selected'); obj.children('input').val(switchVal).change(); }); }); /** * Function for repeater field */ function wp_commerce_refresh_repeater_values(){ $(".wc-repeater-field-control-wrap").each(function(){ var values = []; var $this = $(this); $this.find(".wc-repeater-field-control").each(function(){ var valueToPush = {}; $(this).find('[data-name]').each(function(){ var dataName = $(this).attr('data-name'); var dataValue = $(this).val(); valueToPush[dataName] = dataValue; }); values.push(valueToPush); }); $this.next('.wc-repeater-collector').val(JSON.stringify(values)).trigger('change'); }); } $('#customize-theme-controls').on('click','.wc-repeater-field-title',function(){ $(this).next().slideToggle(); $(this).closest('.wc-repeater-field-control').toggleClass('expanded'); }); $('#customize-theme-controls').on('click', '.wc-repeater-field-close', function(){ $(this).closest('.wc-repeater-fields').slideUp();; $(this).closest('.wc-repeater-field-control').toggleClass('expanded'); }); $("body").on("click",'.wc-repeater-add-control-field', function(){ var fLimit = $(this).parent().find('.field-limit').val(); var fCount = $(this).parent().find('.field-count').val(); if( fCount < fLimit ) { fCount++; $(this).parent().find('.field-count').val(fCount); } else { $(this).before('Only '+fLimit+' repeater field will be permitted.'); return; } var $this = $(this).parent(); if(typeof $this != 'undefined') { var field = $this.find(".wc-repeater-field-control:first").clone(); if(typeof field != 'undefined'){ field.find("input[type='text'][data-name]").each(function(){ var defaultValue = $(this).attr('data-default'); $(this).val(defaultValue); }); field.find(".wc-repeater-icon-list").each(function(){ var defaultValue = $(this).next('input[data-name]').attr('data-default'); $(this).next('input[data-name]').val(defaultValue); $(this).prev('.wc-repeater-selected-icon').children('i').attr('class','').addClass(defaultValue); $(this).find('li').each(function(){ var icon_class = $(this).find('i').attr('class'); if(defaultValue == icon_class ){ $(this).addClass('icon-active'); }else{ $(this).removeClass('icon-active'); } }); }); field.find(".attachment-media-view").each(function(){ var defaultValue = $(this).find('input[data-name]').attr('data-default'); $(this).find('input[data-name]').val(defaultValue); if(defaultValue){ $(this).find(".thumbnail-image").html('').prev('.placeholder').addClass('hidden'); }else{ $(this).find(".thumbnail-image").html('').prev('.placeholder').removeClass('hidden'); } }); field.find('.wc-repeater-fields').show(); $this.find('.wc-repeater-field-control-wrap').append(field); field.addClass('expanded').find('.wc-repeater-fields').show(); $('.accordion-section-content').animate({ scrollTop: $this.height() }, 1000); wp_commerce_refresh_repeater_values(); } } return false; }); $("#customize-theme-controls").on("click", ".wc-repeater-field-remove",function(){ if( typeof $(this).parent() != 'undefined'){ $(this).closest('.wc-repeater-field-control').slideUp('normal', function(){ $(this).remove(); wp_commerce_refresh_repeater_values(); }); } return false; }); $("#customize-theme-controls").on('keyup change', '[data-name]',function(){ wp_commerce_refresh_repeater_values(); return false; }); /*Drag and drop to change order*/ $(".wc-repeater-field-control-wrap").sortable({ orientation: "vertical", update: function( event, ui ) { wp_commerce_refresh_repeater_values(); } }); $('body').on('click', '.wc-repeater-icon-list li', function(){ var icon_class = $(this).find('i').attr('class'); $(this).addClass('icon-active').siblings().removeClass('icon-active'); $(this).parent('.wc-repeater-icon-list').prev('.wc-repeater-selected-icon').children('i').attr('class','').addClass(icon_class); $(this).parent('.wc-repeater-icon-list').next('input').val(icon_class).trigger('change'); wp_commerce_refresh_repeater_values(); }); $('body').on('click', '.wc-repeater-selected-icon', function(){ $(this).next().slideToggle(); }); });