Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-content
/
plugins
/
wordpress-seo
/
src
/
deprecated
/
src
/
integrations
/
admin
:
customizer.js
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
var pagelayer_fontHtmlArray = {}; (function($) { var api = wp.customize; api.bind( 'ready', function() { var controls = api.settings.controls; for(var control in controls){ if( !('show_filter' in controls[control]) ){ continue; } var filter = controls[control]['show_filter']; for(var showParam in filter){ var except = showParam.substr(0, 1) == '!' ? true : false; showParam = except ? showParam.substr(1) : showParam; // Show and Hide Controls api( showParam, function( setting ){ api.control( control, function( _control ) { var visibility = function() { var _filter = _control.params['show_filter']; for(var _showParam in _filter){ var reqval = _filter[_showParam]; var val = setting.get(); var toShow = false; if(typeof reqval == 'string' && reqval == val){ toShow = true; } // Its an array and a value is found, then dont show if(typeof reqval != 'string' && reqval.indexOf(val) > -1){ toShow = true; } if(except && !toShow || !except && toShow ){ _control.container.show(); return } _control.container.hide(); } }; visibility(); setting.bind( visibility ); }); }); } } // Expand pagelayer setting handler api.section('pagelayer_global_fonts_sec', function( section ){ section.expanded.bind(function( isExpanding ){ // Set default value section.container.find('select[data-font-key]').each(function(){ var ref = jQuery(this), name = ref.attr('data-font-key'), value = ref.attr('data-default-value'); ref.html(pagelayer_fontHtmlArray[name]).val(value); ref.removeAttr('data-font-key'); }); }); }); }); })(jQuery); /** * Initialization trigger. */ jQuery(document).ready( function(){ // Create color setting pagelayer_alpha_color_control_init(); var option = function(val, lang){ var lang = lang || 'Default'; return '<option value="'+val+'">'+lang+'</option>'; } // Create font setting list for(var sk in pagelayer_global_font_settings){ var sval = pagelayer_global_font_settings[sk]; if('choices' in sval){ var fontHtml = ''; for( var value in sval['choices'] ) { if(typeof sval['choices'][value] !== 'object'){ fontHtml += option(value, sval['choices'][value]); continue; } if(value != 'default'){ fontHtml += '<optgroup label="'+value+'">'; } for (x in sval['choices'][value]){ fontHtml += option((jQuery.isNumeric(x) ? sval['choices'][value][x] : x), sval['choices'][value][x]); } } pagelayer_fontHtmlArray[sk] = fontHtml; } } // Show hide typography jQuery(document).on('click.pagelayer-typo-icon', function (e){ var target = jQuery(e.target); var isTypo = target.closest('.pagelayer-control-typo'); var isIcon = target.closest('.pagelayer-control-typo-icon'); var typoHolder = isIcon.closest('.pagelayer-control-typo-holder'); if(isTypo.length > 0){ return; } if(isIcon.length > 0){ // Set default value typoHolder.find('select[data-font-key]').each(function(){ var ref = jQuery(this), name = ref.attr('data-font-key'), value = ref.attr('data-default-value'); ref.html(pagelayer_fontHtmlArray[name]).val(value); ref.removeAttr('data-font-key'); }); var globalInput = typoHolder.find('.pagelayer-global-font-input'); if(!pagelayer_empty(globalInput)){ // Show the global values if is not customize typoHolder.find('.pagelayer-control-typo-fields').attr('pagelayer-set-global', 1); typoHolder.find('select, input').each(function(){ var sEle = jQuery(this); var val = sEle.val(); if(pagelayer_empty(val)){ return true; } sEle.closest('.pagelayer-control-typo-fields').removeAttr('pagelayer-set-global'); }); typoHolder.find('[pagelayer-set-global="1"] .pagelayer-typo-global-default').trigger('click'); } typoHolder.find('.pagelayer-control-typo').slideToggle(100); return; } jQuery('.pagelayer-control-typo').slideUp(100); }); // Show hide global color option jQuery(document).on('click.pagelayer-global-color-icon', function (e){ var target = jQuery(e.target); var isGcolor = target.closest('.pagelayer-global-color-list'); var isGIcon = target.closest('.pagelayer-control-global-color-icon'); if(isGcolor.length > 0){ return; } if(isGIcon.length > 0){ var listEle = isGIcon.closest('li').find('.pagelayer-global-color-list'); jQuery('.pagelayer-global-color-list').not(listEle).slideUp(100); listEle.slideToggle(100); return; } jQuery('.pagelayer-global-color-list').slideUp(100); }); // Hide global color option jQuery(document).on('focus', '.wp-color-result', function(e){ jQuery('.pagelayer-global-color-list').slideUp(100); }); // Show hide global fonts option jQuery('#customize-theme-controls').on('click.pagelayer-global-typo-icon', function (e){ var target = jQuery(e.target); var isGcolor = target.closest('.pagelayer-global-font-list'); var isGIcon = target.closest('.pagelayer-control-global-typo-icon'); var typoHolder = isGIcon.closest('.pagelayer-control-typo-holder'); if(isGcolor.length > 0){ return; } if(isGIcon.length > 0){ typoHolder.find('.pagelayer-global-font-list').slideToggle(100); return; } jQuery('.pagelayer-global-font-list').slideUp(100); }); // Device handler jQuery('#customize-theme-controls').on('click', '.pagelayer-devices button', function(e){ e.stopPropagation(); var device = jQuery(this).data('device'); var devices = {'desktop' : 'tablet', 'tablet' : 'mobile', 'mobile' : 'desktop'}; jQuery('.devices-wrapper .devices [data-device="'+devices[device]+'"]').click(); }); // Add attr to detect device jQuery('#customize-theme-controls').attr('data-device-detector', 'desktop'); // Device handler jQuery('.devices-wrapper .devices button[data-device]').on('click', function(e){ e.stopPropagation(); var device = jQuery(this).data('device'); jQuery('.pagelayer-devices .active-device').removeClass('active-device'); jQuery('.pagelayer-devices [data-device="'+device+'"]').addClass('active-device'); jQuery('[data-device-detector]').attr('data-device-detector', device); }); // Units handler jQuery('.pagelayer-units').each(function(){ var units = jQuery(this); var uList = units.find('[data-unit]'); var input = units.find('.pagelayer-unit-input'); var uActive = units.find('[data-unit="'+input.val()+'"]'); units.find('[data-unit]').on('click', function(){ var uEle = jQuery(this); uList.removeClass('active'); uEle.addClass('active'); input.val(uEle.data('unit')).trigger('input'); }); if(uActive.length > 0){ uActive.click(); return; } //uList.first().click(); }); // Accordion Tab handlers jQuery('.pagelayer-accordion-tab').on('click', function(){ var toggle = jQuery(this); var allToggle = toggle.closest('ul').find('.pagelayer-accordion-tab').not(toggle); allToggle.nextUntil('.pagelayer-accordion-tab').slideUp(); allToggle.removeClass('pagelayer-active-accordion-tab') toggle.nextUntil('.pagelayer-accordion-tab').slideToggle(); toggle.toggleClass('pagelayer-active-accordion-tab'); var dash = toggle.find('.pagelayer-customize-heading .dashicons'); var allDash = toggle.closest('ul').find('.pagelayer-accordion-tab .pagelayer-customize-heading .dashicons'); allDash.addClass('dashicons-arrow-right-alt2'); allDash.removeClass('dashicons-arrow-down-alt2'); if(toggle.hasClass('pagelayer-active-accordion-tab')){ dash.addClass('dashicons-arrow-down-alt2'); dash.removeClass('dashicons-arrow-right-alt2'); } }); // Close all accordion tabs jQuery('.pagelayer-accordion-tab').nextUntil('.pagelayer-accordion-tab').hide(); // Link padding control field handler jQuery('.pagelayer-control-padding').each(function(){ pagelayer_control_padding_handler(jQuery(this)); }); // Link Global Color Palette jQuery('.pagelayer-global-setting-color .dashicons').click(function(){ jQuery('#accordion-section-pagelayer_global_colors_sec .accordion-section-title').click(); }); // Link Global Font Palette jQuery('.pagelayer-global-setting-font .dashicons-admin-generic').click(function(){ jQuery('#accordion-section-pagelayer_global_fonts_sec .accordion-section-title').click(); }); // Color Palette Custom Control pagelayer_color_palette_control_handler(); // Color Palette Custom Control pagelayer_font_palette_control_handler(); // Global color list handler pagelayer_global_color_list_handler(); // Global font list handler pagelayer_global_font_list_handler(); // Slider handler pagelayer_control_slider_handler(); }); // Global font list handler function pagelayer_global_font_list_handler(){ var font_list = ''; // Create global font list for(var font in pagelayer_global_fonts){ font_list += '<div class="pagelayer-global-font-list-item" data-global-id="'+font+'">'+ '<span class="pagelayer-global-font-title">'+ pagelayer_global_fonts[font]['title'] +'</span>'+ '</div>'; } jQuery('.customize-control-pagelayer-typo-control .pagelayer-control-typo-holder').each(function(){ var fHolder = jQuery(this); var fList = fHolder.find('.pagelayer-global-font-list'); if(fList.length < 1){ return; } // Add list of font list fList.append(font_list); var globalInput = fHolder.find('.pagelayer-global-font-input'); var selectfont = globalInput.data('key'); // Restore global value fHolder.find('.pagelayer-typo-global-default').on('click', function(e){ e.preventDefault(); e.stopPropagation(); var sEle = jQuery(this); var fieldHolder = sEle.closest('.pagelayer-control-typo-fields'); var globalID = globalInput.val(); if(pagelayer_empty(globalID) || pagelayer_empty(pagelayer_global_fonts[globalID])){ return; } var allInput = fieldHolder.find('select, input'); var name = allInput.first().attr('name'); var setFonts = pagelayer_global_fonts[globalID]['value']; // Set default var modes = {desktop: '', tablet: '_tablet', mobile: '_mobile'}; var val = ''; fieldHolder.attr('pagelayer-set-global', 1); allInput.val(val).trigger('change'); if(name in setFonts){ val = setFonts[name]; } if(typeof val == 'object'){ for(var mode in modes){ var _val = ''; if(mode in val){ _val = val[mode]; } fieldHolder.find('[name="'+name+modes[mode]+'"]').val(_val); } return; } allInput.val(val); }); if(fList.find('[data-global-id="'+selectfont+'"]').length > 0){ fList.find('[data-global-id="'+selectfont+'"]').addClass('pagelayer-global-selected'); // Set active fHolder.find('.pagelayer-control-global-typo-icon').addClass('pagelayer-active-global'); } // On change any field we need to handle for the global fHolder.find('select, input').on('input', function(){ var sEle = jQuery(this); var fieldHolder = sEle.closest('.pagelayer-control-typo-fields'); if(fieldHolder.attr('pagelayer-set-global') == '1'){ fieldHolder.removeAttr('pagelayer-set-global'); fieldHolder.find('select, input').trigger('change'); } }); }); jQuery('#customize-theme-controls').on('click', '.pagelayer-global-font-list-item', function(){ var listItem = jQuery(this); var globalID = listItem.data('global-id'); var listHolder = listItem.closest('.pagelayer-global-font-list'); var holder = listItem.closest('.pagelayer-control-typo-holder'); var allInputs = holder.find('select, input'); // Remove global font if(listItem.hasClass('pagelayer-global-selected')){ listItem.removeClass('pagelayer-global-selected'); holder.find('.pagelayer-control-global-typo-icon').removeClass('pagelayer-active-global'); holder.find('.pagelayer-global-font-input').val(''); holder.removeClass('pagelayer-global-on'); allInputs.trigger('input'); allInputs.closest('.pagelayer-control-typo-fields').removeAttr('pagelayer-set-global'); listHolder.hide(); return; } // Remove previous selecttion listHolder.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected') listHolder.hide(); listItem.addClass('pagelayer-global-selected'); var key = holder.find( '.pagelayer-global-font-input' ).attr( 'data-customize-setting-link' ); // Empty all the typo allInputs.val('').trigger('input'); allInputs.closest('.pagelayer-control-typo-fields').attr('pagelayer-set-global', 1); holder.addClass('pagelayer-global-on'); // Set the actual option value to empty string. wp.customize( key, function( obj ) { obj.set(globalID); }); // Apply all global values holder.find('.pagelayer-typo-global-default').click(); holder.find('.pagelayer-control-global-typo-icon').addClass('pagelayer-active-global'); }); } // Global color list handler function pagelayer_global_color_list_handler(){ jQuery(document).on('click', '.pagelayer-global-color-list-item', function(e, skip_update){ skip_update = skip_update || false; var listItem = jQuery(this); var globalID = listItem.data('global-id'); var listHolder = listItem.closest('.pagelayer-global-color-list'); // Remove previous selecttion listHolder.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected'); listItem.addClass('pagelayer-global-selected'); listHolder.hide(); var input = listItem.closest('li').find( '.pagelayer-alpha-color-control' ) var code = '$'+globalID; var color = pagelayer_global_colors[globalID]['value']; input.unbind('change.pagelayer_global input.pagelayer_global color_change.pagelayer_global'); if(!skip_update){ var key = input.attr( 'data-customize-setting-link' ); // Set the actual option value to empty string. wp.customize( key, function( obj ) { obj.set(code); }); } // Set the actual option value to empty string. input.val( color ); input.closest('.wp-picker-container').find('.wp-color-result').css({'background-color': color}); input.on('change.pagelayer_global input.pagelayer_global color_change.pagelayer_global', function(){ var colorCode = jQuery(this).val(); if(jQuery.trim(colorCode) == color){ return; } listItem.closest('li').find('.pagelayer-control-global-color-icon').removeClass('pagelayer-active-global'); listHolder.find('.pagelayer-global-selected').removeClass('pagelayer-global-selected'); }); listItem.closest('li').find('.pagelayer-control-global-color-icon').addClass('pagelayer-active-global'); }); jQuery('.pagelayer-global-color-list-item.pagelayer-global-selected').trigger('click', [true]); } var pagelayer_global_colors_timmer = {}; // Color palette Custom Control function pagelayer_color_palette_control_handler(){ var global_palette = jQuery('#customize-control-pagelayer_global_colors'); // Get the values from the repeater input fields and add to our hidden field var pagelayerGetAllInputs = function() { var pagelayer_colors_palette = {}; global_palette.find('.pagelayer-alpha-color-control').each(function(){ var cEle = jQuery(this); var id = cEle.data('id'); pagelayer_colors_palette[id] = { 'title' : cEle.closest('.pagelayer-color-holder').find('.pagelayer-color-title').text(), 'value' : cEle.val(), } }); var inputValues = JSON.stringify(pagelayer_colors_palette); // Add all the values from our repeater fields to the hidden field (which is the one th