/** * * JS for the Custom Customizer Controls * **/ jQuery(document).ready( function() { "use strict"; // Update the values for all our Featured Areas and initialise the sortable repeater jQuery('.drag_and_drop_control').each(function() { // If there is an existing customizer value, populate our rows var defaultValuesArray = jQuery(this).find('.customize-control-drag-and-drop') .val() .split(','); // Store all the Text values of the draggable fields in a variable var defaultTextArray = jQuery.map(defaultValuesArray, function( val, i ) { return jQuery('.drag_and_drop_control').find('[data-sorter=' + defaultValuesArray[i] + ']').text(); }); var numRepeaterItems = defaultValuesArray.length; var i; for ( i = 0; i <= numRepeaterItems; i++ ) { jQuery(this).find('.repeater:eq(' + i + ')') .attr('data-sorter',defaultValuesArray[i]) .html('
' + defaultTextArray[i] + '
'); } if ( sorter.woocommerce == '' ) { jQuery('.sortable').find('[data-sorter="feat_prod"],[data-sorter="feat_prod_car"]').addClass('disabled'); } }); // Make our Repeater fields sortable jQuery(this).find('.sortable').sortable({ items: "> li:not(.disabled)", helper: 'clone', update: function(event, ui) { dvtGetAllInputs(jQuery(this).parent()); } }); jQuery.each(sorter, function( key, value ) { if ( value == 'disable' ) { jQuery( '.sortable' ).find( '[data-sorter=' + key + ']' ).addClass( 'disabled' ); } }); jQuery('.sortable').find('li').each(function() { jQuery(this).hasClass('disabled') ? jQuery(this).removeData('sortableItem') : false; }); // Get the values from the repeater input fields and add to our hidden field function dvtGetAllInputs(jQueryelement) { var inputValues = jQueryelement.find('.repeater').map(function() { return jQuery(this).attr('data-sorter'); }).toArray(); // Add all the values from our repeater fields to the hidden field (which is the one that actually gets saved) jQueryelement.find('.customize-control-drag-and-drop').val(inputValues); // Important! Make sure to trigger change event so Customizer knows it has to save the field jQueryelement.find('.customize-control-drag-and-drop').trigger('change'); } // Reset the Order on clicking on the Reset Button jQuery('.sorter_reset').click(function() { var defaultValue = 'feat_posts,feat_posts_car,feat_cat,feat_prod,feat_prod_car'; var defaultValueArray = defaultValue.split(','); var defaultTextArray = jQuery.map(defaultValueArray, function( val, i ) { return jQuery('.drag_and_drop_control').find('[data-sorter=' + defaultValueArray[i] + ']').text(); }); var numRepeaterItems = defaultValueArray.length; var i; for ( i = 0; i <= numRepeaterItems; i++ ) { jQuery('.sortable').find('.repeater:eq(' + i + ')') .attr('data-sorter',defaultValueArray[i]) .html('
' + defaultTextArray[i] + '
'); } // Add the default value in the hidden field to save it jQuery('.drag_and_drop_control').find('.customize-control-drag-and-drop').val(defaultValue); // Make sure to trigger change event to tell Customizer to save a field jQuery('.drag_and_drop_control').find('.customize-control-drag-and-drop').trigger('change'); }); //Enable Disable Switch Control jQuery('body').on('click', '.enable-disable-switch', function () { var jQuerythis = jQuery(this); if (jQuerythis.hasClass('switch-enable')) { jQuery(this).removeClass('switch-enable'); jQuerythis.next('input').val('disable').trigger('change'); } else { jQuery(this).addClass('switch-enable'); jQuerythis.next('input').val('enable').trigger('change'); } }); // The Font Size Custom Control var activeButton = function() { jQuery('input[type=radio][data-control=size]:checked + span').addClass('button-primary'); } activeButton(); jQuery('.font-size-buttons').on('click', 'span.size', function() { jQuery(this).parents('.font-size-buttons').find('span').removeClass('button-primary'); jQuery(this).addClass('button-primary'); }); // Contact Info Section }); (function( $ ) { wp.customize.bind('ready', function() { var api = this; api( 'adviso_header_cta_enable', function( setting ) { var toggleCTA = function() { if ( false === setting.get() ) { api.control( 'adviso_header_cta' ).container.fadeOut( 100 ); api.control( 'adviso_header_cta_url' ).container.fadeOut( 100 ); } else { api.control( 'adviso_header_cta' ).container.fadeIn( 100 ); api.control( 'adviso_header_cta_url' ).container.fadeIn( 100 ); } } toggleCTA(); setting.bind( toggleCTA ); }); api( 'adviso_top_banner_radio', function( setting ) { var toggleAds = function() { if ( 'code' === setting.get() ) { api.control( 'adviso_top_banner_code' ).container.show(); api.control( 'adviso_top_banner_img' ).container.hide(); } else { api.control( 'adviso_top_banner_code' ).container.hide(); api.control( 'adviso_top_banner_img' ).container.show(); } } toggleAds(); setting.bind( toggleAds ); }); }); })( jQuery );