Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-admin/js
File: customize-controls.js
* This ensures that ESC meant to collapse a modal dialog or a TinyMCE toolbar won't collapse something else.
[8500] Fix | Delete
*/
[8501] Fix | Delete
if ( ! $( event.target ).is( 'body' ) && ! $.contains( $( '#customize-controls' )[0], event.target ) ) {
[8502] Fix | Delete
return;
[8503] Fix | Delete
}
[8504] Fix | Delete
[8505] Fix | Delete
// Abort if we're inside of a block editor instance.
[8506] Fix | Delete
if ( event.target.closest( '.block-editor-writing-flow' ) !== null ||
[8507] Fix | Delete
event.target.closest( '.block-editor-block-list__block-popover' ) !== null
[8508] Fix | Delete
) {
[8509] Fix | Delete
return;
[8510] Fix | Delete
}
[8511] Fix | Delete
[8512] Fix | Delete
// Check for expanded expandable controls (e.g. widgets and nav menus items), sections, and panels.
[8513] Fix | Delete
api.control.each( function( control ) {
[8514] Fix | Delete
if ( control.expanded && control.expanded() && _.isFunction( control.collapse ) ) {
[8515] Fix | Delete
expandedControls.push( control );
[8516] Fix | Delete
}
[8517] Fix | Delete
});
[8518] Fix | Delete
api.section.each( function( section ) {
[8519] Fix | Delete
if ( section.expanded() ) {
[8520] Fix | Delete
expandedSections.push( section );
[8521] Fix | Delete
}
[8522] Fix | Delete
});
[8523] Fix | Delete
api.panel.each( function( panel ) {
[8524] Fix | Delete
if ( panel.expanded() ) {
[8525] Fix | Delete
expandedPanels.push( panel );
[8526] Fix | Delete
}
[8527] Fix | Delete
});
[8528] Fix | Delete
[8529] Fix | Delete
// Skip collapsing expanded controls if there are no expanded sections.
[8530] Fix | Delete
if ( expandedControls.length > 0 && 0 === expandedSections.length ) {
[8531] Fix | Delete
expandedControls.length = 0;
[8532] Fix | Delete
}
[8533] Fix | Delete
[8534] Fix | Delete
// Collapse the most granular expanded object.
[8535] Fix | Delete
collapsedObject = expandedControls[0] || expandedSections[0] || expandedPanels[0];
[8536] Fix | Delete
if ( collapsedObject ) {
[8537] Fix | Delete
if ( 'themes' === collapsedObject.params.type ) {
[8538] Fix | Delete
[8539] Fix | Delete
// Themes panel or section.
[8540] Fix | Delete
if ( body.hasClass( 'modal-open' ) ) {
[8541] Fix | Delete
collapsedObject.closeDetails();
[8542] Fix | Delete
} else if ( api.panel.has( 'themes' ) ) {
[8543] Fix | Delete
[8544] Fix | Delete
// If we're collapsing a section, collapse the panel also.
[8545] Fix | Delete
api.panel( 'themes' ).collapse();
[8546] Fix | Delete
}
[8547] Fix | Delete
return;
[8548] Fix | Delete
}
[8549] Fix | Delete
collapsedObject.collapse();
[8550] Fix | Delete
event.preventDefault();
[8551] Fix | Delete
}
[8552] Fix | Delete
});
[8553] Fix | Delete
[8554] Fix | Delete
$( '.customize-controls-preview-toggle' ).on( 'click', function() {
[8555] Fix | Delete
api.state( 'paneVisible' ).set( ! api.state( 'paneVisible' ).get() );
[8556] Fix | Delete
});
[8557] Fix | Delete
[8558] Fix | Delete
/*
[8559] Fix | Delete
* Sticky header feature.
[8560] Fix | Delete
*/
[8561] Fix | Delete
(function initStickyHeaders() {
[8562] Fix | Delete
var parentContainer = $( '.wp-full-overlay-sidebar-content' ),
[8563] Fix | Delete
changeContainer, updateHeaderHeight, releaseStickyHeader, resetStickyHeader, positionStickyHeader,
[8564] Fix | Delete
activeHeader, lastScrollTop;
[8565] Fix | Delete
[8566] Fix | Delete
/**
[8567] Fix | Delete
* Determine which panel or section is currently expanded.
[8568] Fix | Delete
*
[8569] Fix | Delete
* @since 4.7.0
[8570] Fix | Delete
* @access private
[8571] Fix | Delete
*
[8572] Fix | Delete
* @param {wp.customize.Panel|wp.customize.Section} container Construct.
[8573] Fix | Delete
* @return {void}
[8574] Fix | Delete
*/
[8575] Fix | Delete
changeContainer = function( container ) {
[8576] Fix | Delete
var newInstance = container,
[8577] Fix | Delete
expandedSection = api.state( 'expandedSection' ).get(),
[8578] Fix | Delete
expandedPanel = api.state( 'expandedPanel' ).get(),
[8579] Fix | Delete
headerElement;
[8580] Fix | Delete
[8581] Fix | Delete
if ( activeHeader && activeHeader.element ) {
[8582] Fix | Delete
// Release previously active header element.
[8583] Fix | Delete
releaseStickyHeader( activeHeader.element );
[8584] Fix | Delete
[8585] Fix | Delete
// Remove event listener in the previous panel or section.
[8586] Fix | Delete
activeHeader.element.find( '.description' ).off( 'toggled', updateHeaderHeight );
[8587] Fix | Delete
}
[8588] Fix | Delete
[8589] Fix | Delete
if ( ! newInstance ) {
[8590] Fix | Delete
if ( ! expandedSection && expandedPanel && expandedPanel.contentContainer ) {
[8591] Fix | Delete
newInstance = expandedPanel;
[8592] Fix | Delete
} else if ( ! expandedPanel && expandedSection && expandedSection.contentContainer ) {
[8593] Fix | Delete
newInstance = expandedSection;
[8594] Fix | Delete
} else {
[8595] Fix | Delete
activeHeader = false;
[8596] Fix | Delete
return;
[8597] Fix | Delete
}
[8598] Fix | Delete
}
[8599] Fix | Delete
[8600] Fix | Delete
headerElement = newInstance.contentContainer.find( '.customize-section-title, .panel-meta' ).first();
[8601] Fix | Delete
if ( headerElement.length ) {
[8602] Fix | Delete
activeHeader = {
[8603] Fix | Delete
instance: newInstance,
[8604] Fix | Delete
element: headerElement,
[8605] Fix | Delete
parent: headerElement.closest( '.customize-pane-child' ),
[8606] Fix | Delete
height: headerElement.outerHeight()
[8607] Fix | Delete
};
[8608] Fix | Delete
[8609] Fix | Delete
// Update header height whenever help text is expanded or collapsed.
[8610] Fix | Delete
activeHeader.element.find( '.description' ).on( 'toggled', updateHeaderHeight );
[8611] Fix | Delete
[8612] Fix | Delete
if ( expandedSection ) {
[8613] Fix | Delete
resetStickyHeader( activeHeader.element, activeHeader.parent );
[8614] Fix | Delete
}
[8615] Fix | Delete
} else {
[8616] Fix | Delete
activeHeader = false;
[8617] Fix | Delete
}
[8618] Fix | Delete
};
[8619] Fix | Delete
api.state( 'expandedSection' ).bind( changeContainer );
[8620] Fix | Delete
api.state( 'expandedPanel' ).bind( changeContainer );
[8621] Fix | Delete
[8622] Fix | Delete
// Throttled scroll event handler.
[8623] Fix | Delete
parentContainer.on( 'scroll', _.throttle( function() {
[8624] Fix | Delete
if ( ! activeHeader ) {
[8625] Fix | Delete
return;
[8626] Fix | Delete
}
[8627] Fix | Delete
[8628] Fix | Delete
var scrollTop = parentContainer.scrollTop(),
[8629] Fix | Delete
scrollDirection;
[8630] Fix | Delete
[8631] Fix | Delete
if ( ! lastScrollTop ) {
[8632] Fix | Delete
scrollDirection = 1;
[8633] Fix | Delete
} else {
[8634] Fix | Delete
if ( scrollTop === lastScrollTop ) {
[8635] Fix | Delete
scrollDirection = 0;
[8636] Fix | Delete
} else if ( scrollTop > lastScrollTop ) {
[8637] Fix | Delete
scrollDirection = 1;
[8638] Fix | Delete
} else {
[8639] Fix | Delete
scrollDirection = -1;
[8640] Fix | Delete
}
[8641] Fix | Delete
}
[8642] Fix | Delete
lastScrollTop = scrollTop;
[8643] Fix | Delete
if ( 0 !== scrollDirection ) {
[8644] Fix | Delete
positionStickyHeader( activeHeader, scrollTop, scrollDirection );
[8645] Fix | Delete
}
[8646] Fix | Delete
}, 8 ) );
[8647] Fix | Delete
[8648] Fix | Delete
// Update header position on sidebar layout change.
[8649] Fix | Delete
api.notifications.bind( 'sidebarTopUpdated', function() {
[8650] Fix | Delete
if ( activeHeader && activeHeader.element.hasClass( 'is-sticky' ) ) {
[8651] Fix | Delete
activeHeader.element.css( 'top', parentContainer.css( 'top' ) );
[8652] Fix | Delete
}
[8653] Fix | Delete
});
[8654] Fix | Delete
[8655] Fix | Delete
// Release header element if it is sticky.
[8656] Fix | Delete
releaseStickyHeader = function( headerElement ) {
[8657] Fix | Delete
if ( ! headerElement.hasClass( 'is-sticky' ) ) {
[8658] Fix | Delete
return;
[8659] Fix | Delete
}
[8660] Fix | Delete
headerElement
[8661] Fix | Delete
.removeClass( 'is-sticky' )
[8662] Fix | Delete
.addClass( 'maybe-sticky is-in-view' )
[8663] Fix | Delete
.css( 'top', parentContainer.scrollTop() + 'px' );
[8664] Fix | Delete
};
[8665] Fix | Delete
[8666] Fix | Delete
// Reset position of the sticky header.
[8667] Fix | Delete
resetStickyHeader = function( headerElement, headerParent ) {
[8668] Fix | Delete
if ( headerElement.hasClass( 'is-in-view' ) ) {
[8669] Fix | Delete
headerElement
[8670] Fix | Delete
.removeClass( 'maybe-sticky is-in-view' )
[8671] Fix | Delete
.css( {
[8672] Fix | Delete
width: '',
[8673] Fix | Delete
top: ''
[8674] Fix | Delete
} );
[8675] Fix | Delete
headerParent.css( 'padding-top', '' );
[8676] Fix | Delete
}
[8677] Fix | Delete
};
[8678] Fix | Delete
[8679] Fix | Delete
/**
[8680] Fix | Delete
* Update active header height.
[8681] Fix | Delete
*
[8682] Fix | Delete
* @since 4.7.0
[8683] Fix | Delete
* @access private
[8684] Fix | Delete
*
[8685] Fix | Delete
* @return {void}
[8686] Fix | Delete
*/
[8687] Fix | Delete
updateHeaderHeight = function() {
[8688] Fix | Delete
activeHeader.height = activeHeader.element.outerHeight();
[8689] Fix | Delete
};
[8690] Fix | Delete
[8691] Fix | Delete
/**
[8692] Fix | Delete
* Reposition header on throttled `scroll` event.
[8693] Fix | Delete
*
[8694] Fix | Delete
* @since 4.7.0
[8695] Fix | Delete
* @access private
[8696] Fix | Delete
*
[8697] Fix | Delete
* @param {Object} header - Header.
[8698] Fix | Delete
* @param {number} scrollTop - Scroll top.
[8699] Fix | Delete
* @param {number} scrollDirection - Scroll direction, negative number being up and positive being down.
[8700] Fix | Delete
* @return {void}
[8701] Fix | Delete
*/
[8702] Fix | Delete
positionStickyHeader = function( header, scrollTop, scrollDirection ) {
[8703] Fix | Delete
var headerElement = header.element,
[8704] Fix | Delete
headerParent = header.parent,
[8705] Fix | Delete
headerHeight = header.height,
[8706] Fix | Delete
headerTop = parseInt( headerElement.css( 'top' ), 10 ),
[8707] Fix | Delete
maybeSticky = headerElement.hasClass( 'maybe-sticky' ),
[8708] Fix | Delete
isSticky = headerElement.hasClass( 'is-sticky' ),
[8709] Fix | Delete
isInView = headerElement.hasClass( 'is-in-view' ),
[8710] Fix | Delete
isScrollingUp = ( -1 === scrollDirection );
[8711] Fix | Delete
[8712] Fix | Delete
// When scrolling down, gradually hide sticky header.
[8713] Fix | Delete
if ( ! isScrollingUp ) {
[8714] Fix | Delete
if ( isSticky ) {
[8715] Fix | Delete
headerTop = scrollTop;
[8716] Fix | Delete
headerElement
[8717] Fix | Delete
.removeClass( 'is-sticky' )
[8718] Fix | Delete
.css( {
[8719] Fix | Delete
top: headerTop + 'px',
[8720] Fix | Delete
width: ''
[8721] Fix | Delete
} );
[8722] Fix | Delete
}
[8723] Fix | Delete
if ( isInView && scrollTop > headerTop + headerHeight ) {
[8724] Fix | Delete
headerElement.removeClass( 'is-in-view' );
[8725] Fix | Delete
headerParent.css( 'padding-top', '' );
[8726] Fix | Delete
}
[8727] Fix | Delete
return;
[8728] Fix | Delete
}
[8729] Fix | Delete
[8730] Fix | Delete
// Scrolling up.
[8731] Fix | Delete
if ( ! maybeSticky && scrollTop >= headerHeight ) {
[8732] Fix | Delete
maybeSticky = true;
[8733] Fix | Delete
headerElement.addClass( 'maybe-sticky' );
[8734] Fix | Delete
} else if ( 0 === scrollTop ) {
[8735] Fix | Delete
// Reset header in base position.
[8736] Fix | Delete
headerElement
[8737] Fix | Delete
.removeClass( 'maybe-sticky is-in-view is-sticky' )
[8738] Fix | Delete
.css( {
[8739] Fix | Delete
top: '',
[8740] Fix | Delete
width: ''
[8741] Fix | Delete
} );
[8742] Fix | Delete
headerParent.css( 'padding-top', '' );
[8743] Fix | Delete
return;
[8744] Fix | Delete
}
[8745] Fix | Delete
[8746] Fix | Delete
if ( isInView && ! isSticky ) {
[8747] Fix | Delete
// Header is in the view but is not yet sticky.
[8748] Fix | Delete
if ( headerTop >= scrollTop ) {
[8749] Fix | Delete
// Header is fully visible.
[8750] Fix | Delete
headerElement
[8751] Fix | Delete
.addClass( 'is-sticky' )
[8752] Fix | Delete
.css( {
[8753] Fix | Delete
top: parentContainer.css( 'top' ),
[8754] Fix | Delete
width: headerParent.outerWidth() + 'px'
[8755] Fix | Delete
} );
[8756] Fix | Delete
}
[8757] Fix | Delete
} else if ( maybeSticky && ! isInView ) {
[8758] Fix | Delete
// Header is out of the view.
[8759] Fix | Delete
headerElement
[8760] Fix | Delete
.addClass( 'is-in-view' )
[8761] Fix | Delete
.css( 'top', ( scrollTop - headerHeight ) + 'px' );
[8762] Fix | Delete
headerParent.css( 'padding-top', headerHeight + 'px' );
[8763] Fix | Delete
}
[8764] Fix | Delete
};
[8765] Fix | Delete
}());
[8766] Fix | Delete
[8767] Fix | Delete
// Previewed device bindings. (The api.previewedDevice property
[8768] Fix | Delete
// is how this Value was first introduced, but since it has moved to api.state.)
[8769] Fix | Delete
api.previewedDevice = api.state( 'previewedDevice' );
[8770] Fix | Delete
[8771] Fix | Delete
// Set the default device.
[8772] Fix | Delete
api.bind( 'ready', function() {
[8773] Fix | Delete
_.find( api.settings.previewableDevices, function( value, key ) {
[8774] Fix | Delete
if ( true === value['default'] ) {
[8775] Fix | Delete
api.previewedDevice.set( key );
[8776] Fix | Delete
return true;
[8777] Fix | Delete
}
[8778] Fix | Delete
} );
[8779] Fix | Delete
} );
[8780] Fix | Delete
[8781] Fix | Delete
// Set the toggled device.
[8782] Fix | Delete
footerActions.find( '.devices button' ).on( 'click', function( event ) {
[8783] Fix | Delete
api.previewedDevice.set( $( event.currentTarget ).data( 'device' ) );
[8784] Fix | Delete
});
[8785] Fix | Delete
[8786] Fix | Delete
// Bind device changes.
[8787] Fix | Delete
api.previewedDevice.bind( function( newDevice ) {
[8788] Fix | Delete
var overlay = $( '.wp-full-overlay' ),
[8789] Fix | Delete
devices = '';
[8790] Fix | Delete
[8791] Fix | Delete
footerActions.find( '.devices button' )
[8792] Fix | Delete
.removeClass( 'active' )
[8793] Fix | Delete
.attr( 'aria-pressed', false );
[8794] Fix | Delete
[8795] Fix | Delete
footerActions.find( '.devices .preview-' + newDevice )
[8796] Fix | Delete
.addClass( 'active' )
[8797] Fix | Delete
.attr( 'aria-pressed', true );
[8798] Fix | Delete
[8799] Fix | Delete
$.each( api.settings.previewableDevices, function( device ) {
[8800] Fix | Delete
devices += ' preview-' + device;
[8801] Fix | Delete
} );
[8802] Fix | Delete
[8803] Fix | Delete
overlay
[8804] Fix | Delete
.removeClass( devices )
[8805] Fix | Delete
.addClass( 'preview-' + newDevice );
[8806] Fix | Delete
} );
[8807] Fix | Delete
[8808] Fix | Delete
// Bind site title display to the corresponding field.
[8809] Fix | Delete
if ( title.length ) {
[8810] Fix | Delete
api( 'blogname', function( setting ) {
[8811] Fix | Delete
var updateTitle = function() {
[8812] Fix | Delete
var blogTitle = setting() || '';
[8813] Fix | Delete
title.text( blogTitle.toString().trim() || api.l10n.untitledBlogName );
[8814] Fix | Delete
};
[8815] Fix | Delete
setting.bind( updateTitle );
[8816] Fix | Delete
updateTitle();
[8817] Fix | Delete
} );
[8818] Fix | Delete
}
[8819] Fix | Delete
[8820] Fix | Delete
/*
[8821] Fix | Delete
* Create a postMessage connection with a parent frame,
[8822] Fix | Delete
* in case the Customizer frame was opened with the Customize loader.
[8823] Fix | Delete
*
[8824] Fix | Delete
* @see wp.customize.Loader
[8825] Fix | Delete
*/
[8826] Fix | Delete
parent = new api.Messenger({
[8827] Fix | Delete
url: api.settings.url.parent,
[8828] Fix | Delete
channel: 'loader'
[8829] Fix | Delete
});
[8830] Fix | Delete
[8831] Fix | Delete
// Handle exiting of Customizer.
[8832] Fix | Delete
(function() {
[8833] Fix | Delete
var isInsideIframe = false;
[8834] Fix | Delete
[8835] Fix | Delete
function isCleanState() {
[8836] Fix | Delete
var defaultChangesetStatus;
[8837] Fix | Delete
[8838] Fix | Delete
/*
[8839] Fix | Delete
* Handle special case of previewing theme switch since some settings (for nav menus and widgets)
[8840] Fix | Delete
* are pre-dirty and non-active themes can only ever be auto-drafts.
[8841] Fix | Delete
*/
[8842] Fix | Delete
if ( ! api.state( 'activated' ).get() ) {
[8843] Fix | Delete
return 0 === api._latestRevision;
[8844] Fix | Delete
}
[8845] Fix | Delete
[8846] Fix | Delete
// Dirty if the changeset status has been changed but not saved yet.
[8847] Fix | Delete
defaultChangesetStatus = api.state( 'changesetStatus' ).get();
[8848] Fix | Delete
if ( '' === defaultChangesetStatus || 'auto-draft' === defaultChangesetStatus ) {
[8849] Fix | Delete
defaultChangesetStatus = 'publish';
[8850] Fix | Delete
}
[8851] Fix | Delete
if ( api.state( 'selectedChangesetStatus' ).get() !== defaultChangesetStatus ) {
[8852] Fix | Delete
return false;
[8853] Fix | Delete
}
[8854] Fix | Delete
[8855] Fix | Delete
// Dirty if scheduled but the changeset date hasn't been saved yet.
[8856] Fix | Delete
if ( 'future' === api.state( 'selectedChangesetStatus' ).get() && api.state( 'selectedChangesetDate' ).get() !== api.state( 'changesetDate' ).get() ) {
[8857] Fix | Delete
return false;
[8858] Fix | Delete
}
[8859] Fix | Delete
[8860] Fix | Delete
return api.state( 'saved' ).get() && 'auto-draft' !== api.state( 'changesetStatus' ).get();
[8861] Fix | Delete
}
[8862] Fix | Delete
[8863] Fix | Delete
/*
[8864] Fix | Delete
* If we receive a 'back' event, we're inside an iframe.
[8865] Fix | Delete
* Send any clicks to the 'Return' link to the parent page.
[8866] Fix | Delete
*/
[8867] Fix | Delete
parent.bind( 'back', function() {
[8868] Fix | Delete
isInsideIframe = true;
[8869] Fix | Delete
});
[8870] Fix | Delete
[8871] Fix | Delete
function startPromptingBeforeUnload() {
[8872] Fix | Delete
api.unbind( 'change', startPromptingBeforeUnload );
[8873] Fix | Delete
api.state( 'selectedChangesetStatus' ).unbind( startPromptingBeforeUnload );
[8874] Fix | Delete
api.state( 'selectedChangesetDate' ).unbind( startPromptingBeforeUnload );
[8875] Fix | Delete
[8876] Fix | Delete
// Prompt user with AYS dialog if leaving the Customizer with unsaved changes.
[8877] Fix | Delete
$( window ).on( 'beforeunload.customize-confirm', function() {
[8878] Fix | Delete
if ( ! isCleanState() && ! api.state( 'changesetLocked' ).get() ) {
[8879] Fix | Delete
setTimeout( function() {
[8880] Fix | Delete
overlay.removeClass( 'customize-loading' );
[8881] Fix | Delete
}, 1 );
[8882] Fix | Delete
return api.l10n.saveAlert;
[8883] Fix | Delete
}
[8884] Fix | Delete
});
[8885] Fix | Delete
}
[8886] Fix | Delete
api.bind( 'change', startPromptingBeforeUnload );
[8887] Fix | Delete
api.state( 'selectedChangesetStatus' ).bind( startPromptingBeforeUnload );
[8888] Fix | Delete
api.state( 'selectedChangesetDate' ).bind( startPromptingBeforeUnload );
[8889] Fix | Delete
[8890] Fix | Delete
function requestClose() {
[8891] Fix | Delete
var clearedToClose = $.Deferred(), dismissAutoSave = false, dismissLock = false;
[8892] Fix | Delete
[8893] Fix | Delete
if ( isCleanState() ) {
[8894] Fix | Delete
dismissLock = true;
[8895] Fix | Delete
} else if ( confirm( api.l10n.saveAlert ) ) {
[8896] Fix | Delete
[8897] Fix | Delete
dismissLock = true;
[8898] Fix | Delete
[8899] Fix | Delete
// Mark all settings as clean to prevent another call to requestChangesetUpdate.
[8900] Fix | Delete
api.each( function( setting ) {
[8901] Fix | Delete
setting._dirty = false;
[8902] Fix | Delete
});
[8903] Fix | Delete
$( document ).off( 'visibilitychange.wp-customize-changeset-update' );
[8904] Fix | Delete
$( window ).off( 'beforeunload.wp-customize-changeset-update' );
[8905] Fix | Delete
[8906] Fix | Delete
closeBtn.css( 'cursor', 'progress' );
[8907] Fix | Delete
if ( '' !== api.state( 'changesetStatus' ).get() ) {
[8908] Fix | Delete
dismissAutoSave = true;
[8909] Fix | Delete
}
[8910] Fix | Delete
} else {
[8911] Fix | Delete
clearedToClose.reject();
[8912] Fix | Delete
}
[8913] Fix | Delete
[8914] Fix | Delete
if ( dismissLock || dismissAutoSave ) {
[8915] Fix | Delete
wp.ajax.send( 'customize_dismiss_autosave_or_lock', {
[8916] Fix | Delete
timeout: 500, // Don't wait too long.
[8917] Fix | Delete
data: {
[8918] Fix | Delete
wp_customize: 'on',
[8919] Fix | Delete
customize_theme: api.settings.theme.stylesheet,
[8920] Fix | Delete
customize_changeset_uuid: api.settings.changeset.uuid,
[8921] Fix | Delete
nonce: api.settings.nonce.dismiss_autosave_or_lock,
[8922] Fix | Delete
dismiss_autosave: dismissAutoSave,
[8923] Fix | Delete
dismiss_lock: dismissLock
[8924] Fix | Delete
}
[8925] Fix | Delete
} ).always( function() {
[8926] Fix | Delete
clearedToClose.resolve();
[8927] Fix | Delete
} );
[8928] Fix | Delete
}
[8929] Fix | Delete
[8930] Fix | Delete
return clearedToClose.promise();
[8931] Fix | Delete
}
[8932] Fix | Delete
[8933] Fix | Delete
parent.bind( 'confirm-close', function() {
[8934] Fix | Delete
requestClose().done( function() {
[8935] Fix | Delete
parent.send( 'confirmed-close', true );
[8936] Fix | Delete
} ).fail( function() {
[8937] Fix | Delete
parent.send( 'confirmed-close', false );
[8938] Fix | Delete
} );
[8939] Fix | Delete
} );
[8940] Fix | Delete
[8941] Fix | Delete
closeBtn.on( 'click.customize-controls-close', function( event ) {
[8942] Fix | Delete
event.preventDefault();
[8943] Fix | Delete
if ( isInsideIframe ) {
[8944] Fix | Delete
parent.send( 'close' ); // See confirm-close logic above.
[8945] Fix | Delete
} else {
[8946] Fix | Delete
requestClose().done( function() {
[8947] Fix | Delete
$( window ).off( 'beforeunload.customize-confirm' );
[8948] Fix | Delete
window.location.href = closeBtn.prop( 'href' );
[8949] Fix | Delete
} );
[8950] Fix | Delete
}
[8951] Fix | Delete
});
[8952] Fix | Delete
})();
[8953] Fix | Delete
[8954] Fix | Delete
// Pass events through to the parent.
[8955] Fix | Delete
$.each( [ 'saved', 'change' ], function ( i, event ) {
[8956] Fix | Delete
api.bind( event, function() {
[8957] Fix | Delete
parent.send( event );
[8958] Fix | Delete
});
[8959] Fix | Delete
} );
[8960] Fix | Delete
[8961] Fix | Delete
// Pass titles to the parent.
[8962] Fix | Delete
api.bind( 'title', function( newTitle ) {
[8963] Fix | Delete
parent.send( 'title', newTitle );
[8964] Fix | Delete
});
[8965] Fix | Delete
[8966] Fix | Delete
if ( api.settings.changeset.branching ) {
[8967] Fix | Delete
parent.send( 'changeset-uuid', api.settings.changeset.uuid );
[8968] Fix | Delete
}
[8969] Fix | Delete
[8970] Fix | Delete
// Initialize the connection with the parent frame.
[8971] Fix | Delete
parent.send( 'ready' );
[8972] Fix | Delete
[8973] Fix | Delete
// Control visibility for default controls.
[8974] Fix | Delete
$.each({
[8975] Fix | Delete
'background_image': {
[8976] Fix | Delete
controls: [ 'background_preset', 'background_position', 'background_size', 'background_repeat', 'background_attachment' ],
[8977] Fix | Delete
callback: function( to ) { return !! to; }
[8978] Fix | Delete
},
[8979] Fix | Delete
'show_on_front': {
[8980] Fix | Delete
controls: [ 'page_on_front', 'page_for_posts' ],
[8981] Fix | Delete
callback: function( to ) { return 'page' === to; }
[8982] Fix | Delete
},
[8983] Fix | Delete
'header_textcolor': {
[8984] Fix | Delete
controls: [ 'header_textcolor' ],
[8985] Fix | Delete
callback: function( to ) { return 'blank' !== to; }
[8986] Fix | Delete
}
[8987] Fix | Delete
}, function( settingId, o ) {
[8988] Fix | Delete
api( settingId, function( setting ) {
[8989] Fix | Delete
$.each( o.controls, function( i, controlId ) {
[8990] Fix | Delete
api.control( controlId, function( control ) {
[8991] Fix | Delete
var visibility = function( to ) {
[8992] Fix | Delete
control.container.toggle( o.callback( to ) );
[8993] Fix | Delete
};
[8994] Fix | Delete
[8995] Fix | Delete
visibility( setting.get() );
[8996] Fix | Delete
setting.bind( visibility );
[8997] Fix | Delete
});
[8998] Fix | Delete
});
[8999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function