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
* @since 4.7.0
[500] Fix | Delete
* @access public
[501] Fix | Delete
*
[502] Fix | Delete
* @param {Object} [options] Options.
[503] Fix | Delete
* @param {boolean} [options.unsaved=false] Whether only values not saved yet into a changeset will be returned (differential changes).
[504] Fix | Delete
* @return {Object} Dirty setting values.
[505] Fix | Delete
*/
[506] Fix | Delete
api.dirtyValues = function dirtyValues( options ) {
[507] Fix | Delete
var values = {};
[508] Fix | Delete
api.each( function( setting ) {
[509] Fix | Delete
var settingRevision;
[510] Fix | Delete
[511] Fix | Delete
if ( ! setting._dirty ) {
[512] Fix | Delete
return;
[513] Fix | Delete
}
[514] Fix | Delete
[515] Fix | Delete
settingRevision = api._latestSettingRevisions[ setting.id ];
[516] Fix | Delete
[517] Fix | Delete
// Skip including settings that have already been included in the changeset, if only requesting unsaved.
[518] Fix | Delete
if ( api.state( 'changesetStatus' ).get() && ( options && options.unsaved ) && ( _.isUndefined( settingRevision ) || settingRevision <= api._lastSavedRevision ) ) {
[519] Fix | Delete
return;
[520] Fix | Delete
}
[521] Fix | Delete
[522] Fix | Delete
values[ setting.id ] = setting.get();
[523] Fix | Delete
} );
[524] Fix | Delete
return values;
[525] Fix | Delete
};
[526] Fix | Delete
[527] Fix | Delete
/**
[528] Fix | Delete
* Request updates to the changeset.
[529] Fix | Delete
*
[530] Fix | Delete
* @alias wp.customize.requestChangesetUpdate
[531] Fix | Delete
*
[532] Fix | Delete
* @since 4.7.0
[533] Fix | Delete
* @access public
[534] Fix | Delete
*
[535] Fix | Delete
* @param {Object} [changes] - Mapping of setting IDs to setting params each normally including a value property, or mapping to null.
[536] Fix | Delete
* If not provided, then the changes will still be obtained from unsaved dirty settings.
[537] Fix | Delete
* @param {Object} [args] - Additional options for the save request.
[538] Fix | Delete
* @param {boolean} [args.autosave=false] - Whether changes will be stored in autosave revision if the changeset has been promoted from an auto-draft.
[539] Fix | Delete
* @param {boolean} [args.force=false] - Send request to update even when there are no changes to submit. This can be used to request the latest status of the changeset on the server.
[540] Fix | Delete
* @param {string} [args.title] - Title to update in the changeset. Optional.
[541] Fix | Delete
* @param {string} [args.date] - Date to update in the changeset. Optional.
[542] Fix | Delete
* @return {jQuery.Promise} Promise resolving with the response data.
[543] Fix | Delete
*/
[544] Fix | Delete
api.requestChangesetUpdate = function requestChangesetUpdate( changes, args ) {
[545] Fix | Delete
var deferred, request, submittedChanges = {}, data, submittedArgs;
[546] Fix | Delete
deferred = new $.Deferred();
[547] Fix | Delete
[548] Fix | Delete
// Prevent attempting changeset update while request is being made.
[549] Fix | Delete
if ( 0 !== api.state( 'processing' ).get() ) {
[550] Fix | Delete
deferred.reject( 'already_processing' );
[551] Fix | Delete
return deferred.promise();
[552] Fix | Delete
}
[553] Fix | Delete
[554] Fix | Delete
submittedArgs = _.extend( {
[555] Fix | Delete
title: null,
[556] Fix | Delete
date: null,
[557] Fix | Delete
autosave: false,
[558] Fix | Delete
force: false
[559] Fix | Delete
}, args );
[560] Fix | Delete
[561] Fix | Delete
if ( changes ) {
[562] Fix | Delete
_.extend( submittedChanges, changes );
[563] Fix | Delete
}
[564] Fix | Delete
[565] Fix | Delete
// Ensure all revised settings (changes pending save) are also included, but not if marked for deletion in changes.
[566] Fix | Delete
_.each( api.dirtyValues( { unsaved: true } ), function( dirtyValue, settingId ) {
[567] Fix | Delete
if ( ! changes || null !== changes[ settingId ] ) {
[568] Fix | Delete
submittedChanges[ settingId ] = _.extend(
[569] Fix | Delete
{},
[570] Fix | Delete
submittedChanges[ settingId ] || {},
[571] Fix | Delete
{ value: dirtyValue }
[572] Fix | Delete
);
[573] Fix | Delete
}
[574] Fix | Delete
} );
[575] Fix | Delete
[576] Fix | Delete
// Allow plugins to attach additional params to the settings.
[577] Fix | Delete
api.trigger( 'changeset-save', submittedChanges, submittedArgs );
[578] Fix | Delete
[579] Fix | Delete
// Short-circuit when there are no pending changes.
[580] Fix | Delete
if ( ! submittedArgs.force && _.isEmpty( submittedChanges ) && null === submittedArgs.title && null === submittedArgs.date ) {
[581] Fix | Delete
deferred.resolve( {} );
[582] Fix | Delete
return deferred.promise();
[583] Fix | Delete
}
[584] Fix | Delete
[585] Fix | Delete
// A status would cause a revision to be made, and for this wp.customize.previewer.save() should be used.
[586] Fix | Delete
// Status is also disallowed for revisions regardless.
[587] Fix | Delete
if ( submittedArgs.status ) {
[588] Fix | Delete
return deferred.reject( { code: 'illegal_status_in_changeset_update' } ).promise();
[589] Fix | Delete
}
[590] Fix | Delete
[591] Fix | Delete
// Dates not beung allowed for revisions are is a technical limitation of post revisions.
[592] Fix | Delete
if ( submittedArgs.date && submittedArgs.autosave ) {
[593] Fix | Delete
return deferred.reject( { code: 'illegal_autosave_with_date_gmt' } ).promise();
[594] Fix | Delete
}
[595] Fix | Delete
[596] Fix | Delete
// Make sure that publishing a changeset waits for all changeset update requests to complete.
[597] Fix | Delete
api.state( 'processing' ).set( api.state( 'processing' ).get() + 1 );
[598] Fix | Delete
deferred.always( function() {
[599] Fix | Delete
api.state( 'processing' ).set( api.state( 'processing' ).get() - 1 );
[600] Fix | Delete
} );
[601] Fix | Delete
[602] Fix | Delete
// Ensure that if any plugins add data to save requests by extending query() that they get included here.
[603] Fix | Delete
data = api.previewer.query( { excludeCustomizedSaved: true } );
[604] Fix | Delete
delete data.customized; // Being sent in customize_changeset_data instead.
[605] Fix | Delete
_.extend( data, {
[606] Fix | Delete
nonce: api.settings.nonce.save,
[607] Fix | Delete
customize_theme: api.settings.theme.stylesheet,
[608] Fix | Delete
customize_changeset_data: JSON.stringify( submittedChanges )
[609] Fix | Delete
} );
[610] Fix | Delete
if ( null !== submittedArgs.title ) {
[611] Fix | Delete
data.customize_changeset_title = submittedArgs.title;
[612] Fix | Delete
}
[613] Fix | Delete
if ( null !== submittedArgs.date ) {
[614] Fix | Delete
data.customize_changeset_date = submittedArgs.date;
[615] Fix | Delete
}
[616] Fix | Delete
if ( false !== submittedArgs.autosave ) {
[617] Fix | Delete
data.customize_changeset_autosave = 'true';
[618] Fix | Delete
}
[619] Fix | Delete
[620] Fix | Delete
// Allow plugins to modify the params included with the save request.
[621] Fix | Delete
api.trigger( 'save-request-params', data );
[622] Fix | Delete
[623] Fix | Delete
request = wp.ajax.post( 'customize_save', data );
[624] Fix | Delete
[625] Fix | Delete
request.done( function requestChangesetUpdateDone( data ) {
[626] Fix | Delete
var savedChangesetValues = {};
[627] Fix | Delete
[628] Fix | Delete
// Ensure that all settings updated subsequently will be included in the next changeset update request.
[629] Fix | Delete
api._lastSavedRevision = Math.max( api._latestRevision, api._lastSavedRevision );
[630] Fix | Delete
[631] Fix | Delete
api.state( 'changesetStatus' ).set( data.changeset_status );
[632] Fix | Delete
[633] Fix | Delete
if ( data.changeset_date ) {
[634] Fix | Delete
api.state( 'changesetDate' ).set( data.changeset_date );
[635] Fix | Delete
}
[636] Fix | Delete
[637] Fix | Delete
deferred.resolve( data );
[638] Fix | Delete
api.trigger( 'changeset-saved', data );
[639] Fix | Delete
[640] Fix | Delete
if ( data.setting_validities ) {
[641] Fix | Delete
_.each( data.setting_validities, function( validity, settingId ) {
[642] Fix | Delete
if ( true === validity && _.isObject( submittedChanges[ settingId ] ) && ! _.isUndefined( submittedChanges[ settingId ].value ) ) {
[643] Fix | Delete
savedChangesetValues[ settingId ] = submittedChanges[ settingId ].value;
[644] Fix | Delete
}
[645] Fix | Delete
} );
[646] Fix | Delete
}
[647] Fix | Delete
[648] Fix | Delete
api.previewer.send( 'changeset-saved', _.extend( {}, data, { saved_changeset_values: savedChangesetValues } ) );
[649] Fix | Delete
} );
[650] Fix | Delete
request.fail( function requestChangesetUpdateFail( data ) {
[651] Fix | Delete
deferred.reject( data );
[652] Fix | Delete
api.trigger( 'changeset-error', data );
[653] Fix | Delete
} );
[654] Fix | Delete
request.always( function( data ) {
[655] Fix | Delete
if ( data.setting_validities ) {
[656] Fix | Delete
api._handleSettingValidities( {
[657] Fix | Delete
settingValidities: data.setting_validities
[658] Fix | Delete
} );
[659] Fix | Delete
}
[660] Fix | Delete
} );
[661] Fix | Delete
[662] Fix | Delete
return deferred.promise();
[663] Fix | Delete
};
[664] Fix | Delete
[665] Fix | Delete
/**
[666] Fix | Delete
* Watch all changes to Value properties, and bubble changes to parent Values instance
[667] Fix | Delete
*
[668] Fix | Delete
* @alias wp.customize.utils.bubbleChildValueChanges
[669] Fix | Delete
*
[670] Fix | Delete
* @since 4.1.0
[671] Fix | Delete
*
[672] Fix | Delete
* @param {wp.customize.Class} instance
[673] Fix | Delete
* @param {Array} properties The names of the Value instances to watch.
[674] Fix | Delete
*/
[675] Fix | Delete
api.utils.bubbleChildValueChanges = function ( instance, properties ) {
[676] Fix | Delete
$.each( properties, function ( i, key ) {
[677] Fix | Delete
instance[ key ].bind( function ( to, from ) {
[678] Fix | Delete
if ( instance.parent && to !== from ) {
[679] Fix | Delete
instance.parent.trigger( 'change', instance );
[680] Fix | Delete
}
[681] Fix | Delete
} );
[682] Fix | Delete
} );
[683] Fix | Delete
};
[684] Fix | Delete
[685] Fix | Delete
/**
[686] Fix | Delete
* Expand a panel, section, or control and focus on the first focusable element.
[687] Fix | Delete
*
[688] Fix | Delete
* @alias wp.customize~focus
[689] Fix | Delete
*
[690] Fix | Delete
* @since 4.1.0
[691] Fix | Delete
*
[692] Fix | Delete
* @param {Object} [params]
[693] Fix | Delete
* @param {Function} [params.completeCallback]
[694] Fix | Delete
*/
[695] Fix | Delete
focus = function ( params ) {
[696] Fix | Delete
var construct, completeCallback, focus, focusElement, sections;
[697] Fix | Delete
construct = this;
[698] Fix | Delete
params = params || {};
[699] Fix | Delete
focus = function () {
[700] Fix | Delete
// If a child section is currently expanded, collapse it.
[701] Fix | Delete
if ( construct.extended( api.Panel ) ) {
[702] Fix | Delete
sections = construct.sections();
[703] Fix | Delete
if ( 1 < sections.length ) {
[704] Fix | Delete
sections.forEach( function ( section ) {
[705] Fix | Delete
if ( section.expanded() ) {
[706] Fix | Delete
section.collapse();
[707] Fix | Delete
}
[708] Fix | Delete
} );
[709] Fix | Delete
}
[710] Fix | Delete
}
[711] Fix | Delete
[712] Fix | Delete
var focusContainer;
[713] Fix | Delete
if ( ( construct.extended( api.Panel ) || construct.extended( api.Section ) ) && construct.expanded && construct.expanded() ) {
[714] Fix | Delete
focusContainer = construct.contentContainer;
[715] Fix | Delete
} else {
[716] Fix | Delete
focusContainer = construct.container;
[717] Fix | Delete
}
[718] Fix | Delete
[719] Fix | Delete
focusElement = focusContainer.find( '.control-focus:first' );
[720] Fix | Delete
if ( 0 === focusElement.length ) {
[721] Fix | Delete
// Note that we can't use :focusable due to a jQuery UI issue. See: https://github.com/jquery/jquery-ui/pull/1583
[722] Fix | Delete
focusElement = focusContainer.find( 'input, select, textarea, button, object, a[href], [tabindex]' ).filter( ':visible' ).first();
[723] Fix | Delete
}
[724] Fix | Delete
focusElement.focus();
[725] Fix | Delete
};
[726] Fix | Delete
if ( params.completeCallback ) {
[727] Fix | Delete
completeCallback = params.completeCallback;
[728] Fix | Delete
params.completeCallback = function () {
[729] Fix | Delete
focus();
[730] Fix | Delete
completeCallback();
[731] Fix | Delete
};
[732] Fix | Delete
} else {
[733] Fix | Delete
params.completeCallback = focus;
[734] Fix | Delete
}
[735] Fix | Delete
[736] Fix | Delete
api.state( 'paneVisible' ).set( true );
[737] Fix | Delete
if ( construct.expand ) {
[738] Fix | Delete
construct.expand( params );
[739] Fix | Delete
} else {
[740] Fix | Delete
params.completeCallback();
[741] Fix | Delete
}
[742] Fix | Delete
};
[743] Fix | Delete
[744] Fix | Delete
/**
[745] Fix | Delete
* Stable sort for Panels, Sections, and Controls.
[746] Fix | Delete
*
[747] Fix | Delete
* If a.priority() === b.priority(), then sort by their respective params.instanceNumber.
[748] Fix | Delete
*
[749] Fix | Delete
* @alias wp.customize.utils.prioritySort
[750] Fix | Delete
*
[751] Fix | Delete
* @since 4.1.0
[752] Fix | Delete
*
[753] Fix | Delete
* @param {(wp.customize.Panel|wp.customize.Section|wp.customize.Control)} a
[754] Fix | Delete
* @param {(wp.customize.Panel|wp.customize.Section|wp.customize.Control)} b
[755] Fix | Delete
* @return {number}
[756] Fix | Delete
*/
[757] Fix | Delete
api.utils.prioritySort = function ( a, b ) {
[758] Fix | Delete
if ( a.priority() === b.priority() && typeof a.params.instanceNumber === 'number' && typeof b.params.instanceNumber === 'number' ) {
[759] Fix | Delete
return a.params.instanceNumber - b.params.instanceNumber;
[760] Fix | Delete
} else {
[761] Fix | Delete
return a.priority() - b.priority();
[762] Fix | Delete
}
[763] Fix | Delete
};
[764] Fix | Delete
[765] Fix | Delete
/**
[766] Fix | Delete
* Return whether the supplied Event object is for a keydown event but not the Enter key.
[767] Fix | Delete
*
[768] Fix | Delete
* @alias wp.customize.utils.isKeydownButNotEnterEvent
[769] Fix | Delete
*
[770] Fix | Delete
* @since 4.1.0
[771] Fix | Delete
*
[772] Fix | Delete
* @param {jQuery.Event} event
[773] Fix | Delete
* @return {boolean}
[774] Fix | Delete
*/
[775] Fix | Delete
api.utils.isKeydownButNotEnterEvent = function ( event ) {
[776] Fix | Delete
return ( 'keydown' === event.type && 13 !== event.which );
[777] Fix | Delete
};
[778] Fix | Delete
[779] Fix | Delete
/**
[780] Fix | Delete
* Return whether the two lists of elements are the same and are in the same order.
[781] Fix | Delete
*
[782] Fix | Delete
* @alias wp.customize.utils.areElementListsEqual
[783] Fix | Delete
*
[784] Fix | Delete
* @since 4.1.0
[785] Fix | Delete
*
[786] Fix | Delete
* @param {Array|jQuery} listA
[787] Fix | Delete
* @param {Array|jQuery} listB
[788] Fix | Delete
* @return {boolean}
[789] Fix | Delete
*/
[790] Fix | Delete
api.utils.areElementListsEqual = function ( listA, listB ) {
[791] Fix | Delete
var equal = (
[792] Fix | Delete
listA.length === listB.length && // If lists are different lengths, then naturally they are not equal.
[793] Fix | Delete
-1 === _.indexOf( _.map( // Are there any false values in the list returned by map?
[794] Fix | Delete
_.zip( listA, listB ), // Pair up each element between the two lists.
[795] Fix | Delete
function ( pair ) {
[796] Fix | Delete
return $( pair[0] ).is( pair[1] ); // Compare to see if each pair is equal.
[797] Fix | Delete
}
[798] Fix | Delete
), false ) // Check for presence of false in map's return value.
[799] Fix | Delete
);
[800] Fix | Delete
return equal;
[801] Fix | Delete
};
[802] Fix | Delete
[803] Fix | Delete
/**
[804] Fix | Delete
* Highlight the existence of a button.
[805] Fix | Delete
*
[806] Fix | Delete
* This function reminds the user of a button represented by the specified
[807] Fix | Delete
* UI element, after an optional delay. If the user focuses the element
[808] Fix | Delete
* before the delay passes, the reminder is canceled.
[809] Fix | Delete
*
[810] Fix | Delete
* @alias wp.customize.utils.highlightButton
[811] Fix | Delete
*
[812] Fix | Delete
* @since 4.9.0
[813] Fix | Delete
*
[814] Fix | Delete
* @param {jQuery} button - The element to highlight.
[815] Fix | Delete
* @param {Object} [options] - Options.
[816] Fix | Delete
* @param {number} [options.delay=0] - Delay in milliseconds.
[817] Fix | Delete
* @param {jQuery} [options.focusTarget] - A target for user focus that defaults to the highlighted element.
[818] Fix | Delete
* If the user focuses the target before the delay passes, the reminder
[819] Fix | Delete
* is canceled. This option exists to accommodate compound buttons
[820] Fix | Delete
* containing auxiliary UI, such as the Publish button augmented with a
[821] Fix | Delete
* Settings button.
[822] Fix | Delete
* @return {Function} An idempotent function that cancels the reminder.
[823] Fix | Delete
*/
[824] Fix | Delete
api.utils.highlightButton = function highlightButton( button, options ) {
[825] Fix | Delete
var animationClass = 'button-see-me',
[826] Fix | Delete
canceled = false,
[827] Fix | Delete
params;
[828] Fix | Delete
[829] Fix | Delete
params = _.extend(
[830] Fix | Delete
{
[831] Fix | Delete
delay: 0,
[832] Fix | Delete
focusTarget: button
[833] Fix | Delete
},
[834] Fix | Delete
options
[835] Fix | Delete
);
[836] Fix | Delete
[837] Fix | Delete
function cancelReminder() {
[838] Fix | Delete
canceled = true;
[839] Fix | Delete
}
[840] Fix | Delete
[841] Fix | Delete
params.focusTarget.on( 'focusin', cancelReminder );
[842] Fix | Delete
setTimeout( function() {
[843] Fix | Delete
params.focusTarget.off( 'focusin', cancelReminder );
[844] Fix | Delete
[845] Fix | Delete
if ( ! canceled ) {
[846] Fix | Delete
button.addClass( animationClass );
[847] Fix | Delete
button.one( 'animationend', function() {
[848] Fix | Delete
/*
[849] Fix | Delete
* Remove animation class to avoid situations in Customizer where
[850] Fix | Delete
* DOM nodes are moved (re-inserted) and the animation repeats.
[851] Fix | Delete
*/
[852] Fix | Delete
button.removeClass( animationClass );
[853] Fix | Delete
} );
[854] Fix | Delete
}
[855] Fix | Delete
}, params.delay );
[856] Fix | Delete
[857] Fix | Delete
return cancelReminder;
[858] Fix | Delete
};
[859] Fix | Delete
[860] Fix | Delete
/**
[861] Fix | Delete
* Get current timestamp adjusted for server clock time.
[862] Fix | Delete
*
[863] Fix | Delete
* Same functionality as the `current_time( 'mysql', false )` function in PHP.
[864] Fix | Delete
*
[865] Fix | Delete
* @alias wp.customize.utils.getCurrentTimestamp
[866] Fix | Delete
*
[867] Fix | Delete
* @since 4.9.0
[868] Fix | Delete
*
[869] Fix | Delete
* @return {number} Current timestamp.
[870] Fix | Delete
*/
[871] Fix | Delete
api.utils.getCurrentTimestamp = function getCurrentTimestamp() {
[872] Fix | Delete
var currentDate, currentClientTimestamp, timestampDifferential;
[873] Fix | Delete
currentClientTimestamp = _.now();
[874] Fix | Delete
currentDate = new Date( api.settings.initialServerDate.replace( /-/g, '/' ) );
[875] Fix | Delete
timestampDifferential = currentClientTimestamp - api.settings.initialClientTimestamp;
[876] Fix | Delete
timestampDifferential += api.settings.initialClientTimestamp - api.settings.initialServerTimestamp;
[877] Fix | Delete
currentDate.setTime( currentDate.getTime() + timestampDifferential );
[878] Fix | Delete
return currentDate.getTime();
[879] Fix | Delete
};
[880] Fix | Delete
[881] Fix | Delete
/**
[882] Fix | Delete
* Get remaining time of when the date is set.
[883] Fix | Delete
*
[884] Fix | Delete
* @alias wp.customize.utils.getRemainingTime
[885] Fix | Delete
*
[886] Fix | Delete
* @since 4.9.0
[887] Fix | Delete
*
[888] Fix | Delete
* @param {string|number|Date} datetime - Date time or timestamp of the future date.
[889] Fix | Delete
* @return {number} remainingTime - Remaining time in milliseconds.
[890] Fix | Delete
*/
[891] Fix | Delete
api.utils.getRemainingTime = function getRemainingTime( datetime ) {
[892] Fix | Delete
var millisecondsDivider = 1000, remainingTime, timestamp;
[893] Fix | Delete
if ( datetime instanceof Date ) {
[894] Fix | Delete
timestamp = datetime.getTime();
[895] Fix | Delete
} else if ( 'string' === typeof datetime ) {
[896] Fix | Delete
timestamp = ( new Date( datetime.replace( /-/g, '/' ) ) ).getTime();
[897] Fix | Delete
} else {
[898] Fix | Delete
timestamp = datetime;
[899] Fix | Delete
}
[900] Fix | Delete
[901] Fix | Delete
remainingTime = timestamp - api.utils.getCurrentTimestamp();
[902] Fix | Delete
remainingTime = Math.ceil( remainingTime / millisecondsDivider );
[903] Fix | Delete
return remainingTime;
[904] Fix | Delete
};
[905] Fix | Delete
[906] Fix | Delete
/**
[907] Fix | Delete
* Return browser supported `transitionend` event name.
[908] Fix | Delete
*
[909] Fix | Delete
* @since 4.7.0
[910] Fix | Delete
*
[911] Fix | Delete
* @ignore
[912] Fix | Delete
*
[913] Fix | Delete
* @return {string|null} Normalized `transitionend` event name or null if CSS transitions are not supported.
[914] Fix | Delete
*/
[915] Fix | Delete
normalizedTransitionendEventName = (function () {
[916] Fix | Delete
var el, transitions, prop;
[917] Fix | Delete
el = document.createElement( 'div' );
[918] Fix | Delete
transitions = {
[919] Fix | Delete
'transition' : 'transitionend',
[920] Fix | Delete
'OTransition' : 'oTransitionEnd',
[921] Fix | Delete
'MozTransition' : 'transitionend',
[922] Fix | Delete
'WebkitTransition': 'webkitTransitionEnd'
[923] Fix | Delete
};
[924] Fix | Delete
prop = _.find( _.keys( transitions ), function( prop ) {
[925] Fix | Delete
return ! _.isUndefined( el.style[ prop ] );
[926] Fix | Delete
} );
[927] Fix | Delete
if ( prop ) {
[928] Fix | Delete
return transitions[ prop ];
[929] Fix | Delete
} else {
[930] Fix | Delete
return null;
[931] Fix | Delete
}
[932] Fix | Delete
})();
[933] Fix | Delete
[934] Fix | Delete
Container = api.Class.extend(/** @lends wp.customize~Container.prototype */{
[935] Fix | Delete
defaultActiveArguments: { duration: 'fast', completeCallback: $.noop },
[936] Fix | Delete
defaultExpandedArguments: { duration: 'fast', completeCallback: $.noop },
[937] Fix | Delete
containerType: 'container',
[938] Fix | Delete
defaults: {
[939] Fix | Delete
title: '',
[940] Fix | Delete
description: '',
[941] Fix | Delete
priority: 100,
[942] Fix | Delete
type: 'default',
[943] Fix | Delete
content: null,
[944] Fix | Delete
active: true,
[945] Fix | Delete
instanceNumber: null
[946] Fix | Delete
},
[947] Fix | Delete
[948] Fix | Delete
/**
[949] Fix | Delete
* Base class for Panel and Section.
[950] Fix | Delete
*
[951] Fix | Delete
* @constructs wp.customize~Container
[952] Fix | Delete
* @augments wp.customize.Class
[953] Fix | Delete
*
[954] Fix | Delete
* @since 4.1.0
[955] Fix | Delete
*
[956] Fix | Delete
* @borrows wp.customize~focus as focus
[957] Fix | Delete
*
[958] Fix | Delete
* @param {string} id - The ID for the container.
[959] Fix | Delete
* @param {Object} options - Object containing one property: params.
[960] Fix | Delete
* @param {string} options.title - Title shown when panel is collapsed and expanded.
[961] Fix | Delete
* @param {string} [options.description] - Description shown at the top of the panel.
[962] Fix | Delete
* @param {number} [options.priority=100] - The sort priority for the panel.
[963] Fix | Delete
* @param {string} [options.templateId] - Template selector for container.
[964] Fix | Delete
* @param {string} [options.type=default] - The type of the panel. See wp.customize.panelConstructor.
[965] Fix | Delete
* @param {string} [options.content] - The markup to be used for the panel container. If empty, a JS template is used.
[966] Fix | Delete
* @param {boolean} [options.active=true] - Whether the panel is active or not.
[967] Fix | Delete
* @param {Object} [options.params] - Deprecated wrapper for the above properties.
[968] Fix | Delete
*/
[969] Fix | Delete
initialize: function ( id, options ) {
[970] Fix | Delete
var container = this;
[971] Fix | Delete
container.id = id;
[972] Fix | Delete
[973] Fix | Delete
if ( ! Container.instanceCounter ) {
[974] Fix | Delete
Container.instanceCounter = 0;
[975] Fix | Delete
}
[976] Fix | Delete
Container.instanceCounter++;
[977] Fix | Delete
[978] Fix | Delete
$.extend( container, {
[979] Fix | Delete
params: _.defaults(
[980] Fix | Delete
options.params || options, // Passing the params is deprecated.
[981] Fix | Delete
container.defaults
[982] Fix | Delete
)
[983] Fix | Delete
} );
[984] Fix | Delete
if ( ! container.params.instanceNumber ) {
[985] Fix | Delete
container.params.instanceNumber = Container.instanceCounter;
[986] Fix | Delete
}
[987] Fix | Delete
container.notifications = new api.Notifications();
[988] Fix | Delete
container.templateSelector = container.params.templateId || 'customize-' + container.containerType + '-' + container.params.type;
[989] Fix | Delete
container.container = $( container.params.content );
[990] Fix | Delete
if ( 0 === container.container.length ) {
[991] Fix | Delete
container.container = $( container.getContainer() );
[992] Fix | Delete
}
[993] Fix | Delete
container.headContainer = container.container;
[994] Fix | Delete
container.contentContainer = container.getContent();
[995] Fix | Delete
container.container = container.container.add( container.contentContainer );
[996] Fix | Delete
[997] Fix | Delete
container.deferred = {
[998] Fix | Delete
embedded: new $.Deferred()
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function