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.../public_h.../wp-admin/js
File: customize-controls.js
};
[1000] Fix | Delete
container.priority = new api.Value();
[1001] Fix | Delete
container.active = new api.Value();
[1002] Fix | Delete
container.activeArgumentsQueue = [];
[1003] Fix | Delete
container.expanded = new api.Value();
[1004] Fix | Delete
container.expandedArgumentsQueue = [];
[1005] Fix | Delete
[1006] Fix | Delete
container.active.bind( function ( active ) {
[1007] Fix | Delete
var args = container.activeArgumentsQueue.shift();
[1008] Fix | Delete
args = $.extend( {}, container.defaultActiveArguments, args );
[1009] Fix | Delete
active = ( active && container.isContextuallyActive() );
[1010] Fix | Delete
container.onChangeActive( active, args );
[1011] Fix | Delete
});
[1012] Fix | Delete
container.expanded.bind( function ( expanded ) {
[1013] Fix | Delete
var args = container.expandedArgumentsQueue.shift();
[1014] Fix | Delete
args = $.extend( {}, container.defaultExpandedArguments, args );
[1015] Fix | Delete
container.onChangeExpanded( expanded, args );
[1016] Fix | Delete
});
[1017] Fix | Delete
[1018] Fix | Delete
container.deferred.embedded.done( function () {
[1019] Fix | Delete
container.setupNotifications();
[1020] Fix | Delete
container.attachEvents();
[1021] Fix | Delete
});
[1022] Fix | Delete
[1023] Fix | Delete
api.utils.bubbleChildValueChanges( container, [ 'priority', 'active' ] );
[1024] Fix | Delete
[1025] Fix | Delete
container.priority.set( container.params.priority );
[1026] Fix | Delete
container.active.set( container.params.active );
[1027] Fix | Delete
container.expanded.set( false );
[1028] Fix | Delete
},
[1029] Fix | Delete
[1030] Fix | Delete
/**
[1031] Fix | Delete
* Get the element that will contain the notifications.
[1032] Fix | Delete
*
[1033] Fix | Delete
* @since 4.9.0
[1034] Fix | Delete
* @return {jQuery} Notification container element.
[1035] Fix | Delete
*/
[1036] Fix | Delete
getNotificationsContainerElement: function() {
[1037] Fix | Delete
var container = this;
[1038] Fix | Delete
return container.contentContainer.find( '.customize-control-notifications-container:first' );
[1039] Fix | Delete
},
[1040] Fix | Delete
[1041] Fix | Delete
/**
[1042] Fix | Delete
* Set up notifications.
[1043] Fix | Delete
*
[1044] Fix | Delete
* @since 4.9.0
[1045] Fix | Delete
* @return {void}
[1046] Fix | Delete
*/
[1047] Fix | Delete
setupNotifications: function() {
[1048] Fix | Delete
var container = this, renderNotifications;
[1049] Fix | Delete
container.notifications.container = container.getNotificationsContainerElement();
[1050] Fix | Delete
[1051] Fix | Delete
// Render notifications when they change and when the construct is expanded.
[1052] Fix | Delete
renderNotifications = function() {
[1053] Fix | Delete
if ( container.expanded.get() ) {
[1054] Fix | Delete
container.notifications.render();
[1055] Fix | Delete
}
[1056] Fix | Delete
};
[1057] Fix | Delete
container.expanded.bind( renderNotifications );
[1058] Fix | Delete
renderNotifications();
[1059] Fix | Delete
container.notifications.bind( 'change', _.debounce( renderNotifications ) );
[1060] Fix | Delete
},
[1061] Fix | Delete
[1062] Fix | Delete
/**
[1063] Fix | Delete
* @since 4.1.0
[1064] Fix | Delete
*
[1065] Fix | Delete
* @abstract
[1066] Fix | Delete
*/
[1067] Fix | Delete
ready: function() {},
[1068] Fix | Delete
[1069] Fix | Delete
/**
[1070] Fix | Delete
* Get the child models associated with this parent, sorting them by their priority Value.
[1071] Fix | Delete
*
[1072] Fix | Delete
* @since 4.1.0
[1073] Fix | Delete
*
[1074] Fix | Delete
* @param {string} parentType
[1075] Fix | Delete
* @param {string} childType
[1076] Fix | Delete
* @return {Array}
[1077] Fix | Delete
*/
[1078] Fix | Delete
_children: function ( parentType, childType ) {
[1079] Fix | Delete
var parent = this,
[1080] Fix | Delete
children = [];
[1081] Fix | Delete
api[ childType ].each( function ( child ) {
[1082] Fix | Delete
if ( child[ parentType ].get() === parent.id ) {
[1083] Fix | Delete
children.push( child );
[1084] Fix | Delete
}
[1085] Fix | Delete
} );
[1086] Fix | Delete
children.sort( api.utils.prioritySort );
[1087] Fix | Delete
return children;
[1088] Fix | Delete
},
[1089] Fix | Delete
[1090] Fix | Delete
/**
[1091] Fix | Delete
* To override by subclass, to return whether the container has active children.
[1092] Fix | Delete
*
[1093] Fix | Delete
* @since 4.1.0
[1094] Fix | Delete
*
[1095] Fix | Delete
* @abstract
[1096] Fix | Delete
*/
[1097] Fix | Delete
isContextuallyActive: function () {
[1098] Fix | Delete
throw new Error( 'Container.isContextuallyActive() must be overridden in a subclass.' );
[1099] Fix | Delete
},
[1100] Fix | Delete
[1101] Fix | Delete
/**
[1102] Fix | Delete
* Active state change handler.
[1103] Fix | Delete
*
[1104] Fix | Delete
* Shows the container if it is active, hides it if not.
[1105] Fix | Delete
*
[1106] Fix | Delete
* To override by subclass, update the container's UI to reflect the provided active state.
[1107] Fix | Delete
*
[1108] Fix | Delete
* @since 4.1.0
[1109] Fix | Delete
*
[1110] Fix | Delete
* @param {boolean} active - The active state to transiution to.
[1111] Fix | Delete
* @param {Object} [args] - Args.
[1112] Fix | Delete
* @param {Object} [args.duration] - The duration for the slideUp/slideDown animation.
[1113] Fix | Delete
* @param {boolean} [args.unchanged] - Whether the state is already known to not be changed, and so short-circuit with calling completeCallback early.
[1114] Fix | Delete
* @param {Function} [args.completeCallback] - Function to call when the slideUp/slideDown has completed.
[1115] Fix | Delete
*/
[1116] Fix | Delete
onChangeActive: function( active, args ) {
[1117] Fix | Delete
var construct = this,
[1118] Fix | Delete
headContainer = construct.headContainer,
[1119] Fix | Delete
duration, expandedOtherPanel;
[1120] Fix | Delete
[1121] Fix | Delete
if ( args.unchanged ) {
[1122] Fix | Delete
if ( args.completeCallback ) {
[1123] Fix | Delete
args.completeCallback();
[1124] Fix | Delete
}
[1125] Fix | Delete
return;
[1126] Fix | Delete
}
[1127] Fix | Delete
[1128] Fix | Delete
duration = ( 'resolved' === api.previewer.deferred.active.state() ? args.duration : 0 );
[1129] Fix | Delete
[1130] Fix | Delete
if ( construct.extended( api.Panel ) ) {
[1131] Fix | Delete
// If this is a panel is not currently expanded but another panel is expanded, do not animate.
[1132] Fix | Delete
api.panel.each(function ( panel ) {
[1133] Fix | Delete
if ( panel !== construct && panel.expanded() ) {
[1134] Fix | Delete
expandedOtherPanel = panel;
[1135] Fix | Delete
duration = 0;
[1136] Fix | Delete
}
[1137] Fix | Delete
});
[1138] Fix | Delete
[1139] Fix | Delete
// Collapse any expanded sections inside of this panel first before deactivating.
[1140] Fix | Delete
if ( ! active ) {
[1141] Fix | Delete
_.each( construct.sections(), function( section ) {
[1142] Fix | Delete
section.collapse( { duration: 0 } );
[1143] Fix | Delete
} );
[1144] Fix | Delete
}
[1145] Fix | Delete
}
[1146] Fix | Delete
[1147] Fix | Delete
if ( ! $.contains( document, headContainer.get( 0 ) ) ) {
[1148] Fix | Delete
// If the element is not in the DOM, then jQuery.fn.slideUp() does nothing.
[1149] Fix | Delete
// In this case, a hard toggle is required instead.
[1150] Fix | Delete
headContainer.toggle( active );
[1151] Fix | Delete
if ( args.completeCallback ) {
[1152] Fix | Delete
args.completeCallback();
[1153] Fix | Delete
}
[1154] Fix | Delete
} else if ( active ) {
[1155] Fix | Delete
headContainer.slideDown( duration, args.completeCallback );
[1156] Fix | Delete
} else {
[1157] Fix | Delete
if ( construct.expanded() ) {
[1158] Fix | Delete
construct.collapse({
[1159] Fix | Delete
duration: duration,
[1160] Fix | Delete
completeCallback: function() {
[1161] Fix | Delete
headContainer.slideUp( duration, args.completeCallback );
[1162] Fix | Delete
}
[1163] Fix | Delete
});
[1164] Fix | Delete
} else {
[1165] Fix | Delete
headContainer.slideUp( duration, args.completeCallback );
[1166] Fix | Delete
}
[1167] Fix | Delete
}
[1168] Fix | Delete
},
[1169] Fix | Delete
[1170] Fix | Delete
/**
[1171] Fix | Delete
* @since 4.1.0
[1172] Fix | Delete
*
[1173] Fix | Delete
* @param {boolean} active
[1174] Fix | Delete
* @param {Object} [params]
[1175] Fix | Delete
* @return {boolean} False if state already applied.
[1176] Fix | Delete
*/
[1177] Fix | Delete
_toggleActive: function ( active, params ) {
[1178] Fix | Delete
var self = this;
[1179] Fix | Delete
params = params || {};
[1180] Fix | Delete
if ( ( active && this.active.get() ) || ( ! active && ! this.active.get() ) ) {
[1181] Fix | Delete
params.unchanged = true;
[1182] Fix | Delete
self.onChangeActive( self.active.get(), params );
[1183] Fix | Delete
return false;
[1184] Fix | Delete
} else {
[1185] Fix | Delete
params.unchanged = false;
[1186] Fix | Delete
this.activeArgumentsQueue.push( params );
[1187] Fix | Delete
this.active.set( active );
[1188] Fix | Delete
return true;
[1189] Fix | Delete
}
[1190] Fix | Delete
},
[1191] Fix | Delete
[1192] Fix | Delete
/**
[1193] Fix | Delete
* @param {Object} [params]
[1194] Fix | Delete
* @return {boolean} False if already active.
[1195] Fix | Delete
*/
[1196] Fix | Delete
activate: function ( params ) {
[1197] Fix | Delete
return this._toggleActive( true, params );
[1198] Fix | Delete
},
[1199] Fix | Delete
[1200] Fix | Delete
/**
[1201] Fix | Delete
* @param {Object} [params]
[1202] Fix | Delete
* @return {boolean} False if already inactive.
[1203] Fix | Delete
*/
[1204] Fix | Delete
deactivate: function ( params ) {
[1205] Fix | Delete
return this._toggleActive( false, params );
[1206] Fix | Delete
},
[1207] Fix | Delete
[1208] Fix | Delete
/**
[1209] Fix | Delete
* To override by subclass, update the container's UI to reflect the provided active state.
[1210] Fix | Delete
* @abstract
[1211] Fix | Delete
*/
[1212] Fix | Delete
onChangeExpanded: function () {
[1213] Fix | Delete
throw new Error( 'Must override with subclass.' );
[1214] Fix | Delete
},
[1215] Fix | Delete
[1216] Fix | Delete
/**
[1217] Fix | Delete
* Handle the toggle logic for expand/collapse.
[1218] Fix | Delete
*
[1219] Fix | Delete
* @param {boolean} expanded - The new state to apply.
[1220] Fix | Delete
* @param {Object} [params] - Object containing options for expand/collapse.
[1221] Fix | Delete
* @param {Function} [params.completeCallback] - Function to call when expansion/collapse is complete.
[1222] Fix | Delete
* @return {boolean} False if state already applied or active state is false.
[1223] Fix | Delete
*/
[1224] Fix | Delete
_toggleExpanded: function( expanded, params ) {
[1225] Fix | Delete
var instance = this, previousCompleteCallback;
[1226] Fix | Delete
params = params || {};
[1227] Fix | Delete
previousCompleteCallback = params.completeCallback;
[1228] Fix | Delete
[1229] Fix | Delete
// Short-circuit expand() if the instance is not active.
[1230] Fix | Delete
if ( expanded && ! instance.active() ) {
[1231] Fix | Delete
return false;
[1232] Fix | Delete
}
[1233] Fix | Delete
[1234] Fix | Delete
api.state( 'paneVisible' ).set( true );
[1235] Fix | Delete
params.completeCallback = function() {
[1236] Fix | Delete
if ( previousCompleteCallback ) {
[1237] Fix | Delete
previousCompleteCallback.apply( instance, arguments );
[1238] Fix | Delete
}
[1239] Fix | Delete
if ( expanded ) {
[1240] Fix | Delete
instance.container.trigger( 'expanded' );
[1241] Fix | Delete
} else {
[1242] Fix | Delete
instance.container.trigger( 'collapsed' );
[1243] Fix | Delete
}
[1244] Fix | Delete
};
[1245] Fix | Delete
if ( ( expanded && instance.expanded.get() ) || ( ! expanded && ! instance.expanded.get() ) ) {
[1246] Fix | Delete
params.unchanged = true;
[1247] Fix | Delete
instance.onChangeExpanded( instance.expanded.get(), params );
[1248] Fix | Delete
return false;
[1249] Fix | Delete
} else {
[1250] Fix | Delete
params.unchanged = false;
[1251] Fix | Delete
instance.expandedArgumentsQueue.push( params );
[1252] Fix | Delete
instance.expanded.set( expanded );
[1253] Fix | Delete
return true;
[1254] Fix | Delete
}
[1255] Fix | Delete
},
[1256] Fix | Delete
[1257] Fix | Delete
/**
[1258] Fix | Delete
* @param {Object} [params]
[1259] Fix | Delete
* @return {boolean} False if already expanded or if inactive.
[1260] Fix | Delete
*/
[1261] Fix | Delete
expand: function ( params ) {
[1262] Fix | Delete
return this._toggleExpanded( true, params );
[1263] Fix | Delete
},
[1264] Fix | Delete
[1265] Fix | Delete
/**
[1266] Fix | Delete
* @param {Object} [params]
[1267] Fix | Delete
* @return {boolean} False if already collapsed.
[1268] Fix | Delete
*/
[1269] Fix | Delete
collapse: function ( params ) {
[1270] Fix | Delete
return this._toggleExpanded( false, params );
[1271] Fix | Delete
},
[1272] Fix | Delete
[1273] Fix | Delete
/**
[1274] Fix | Delete
* Animate container state change if transitions are supported by the browser.
[1275] Fix | Delete
*
[1276] Fix | Delete
* @since 4.7.0
[1277] Fix | Delete
* @private
[1278] Fix | Delete
*
[1279] Fix | Delete
* @param {function} completeCallback Function to be called after transition is completed.
[1280] Fix | Delete
* @return {void}
[1281] Fix | Delete
*/
[1282] Fix | Delete
_animateChangeExpanded: function( completeCallback ) {
[1283] Fix | Delete
// Return if CSS transitions are not supported or if reduced motion is enabled.
[1284] Fix | Delete
if ( ! normalizedTransitionendEventName || isReducedMotion ) {
[1285] Fix | Delete
// Schedule the callback until the next tick to prevent focus loss.
[1286] Fix | Delete
_.defer( function () {
[1287] Fix | Delete
if ( completeCallback ) {
[1288] Fix | Delete
completeCallback();
[1289] Fix | Delete
}
[1290] Fix | Delete
} );
[1291] Fix | Delete
return;
[1292] Fix | Delete
}
[1293] Fix | Delete
[1294] Fix | Delete
var construct = this,
[1295] Fix | Delete
content = construct.contentContainer,
[1296] Fix | Delete
overlay = content.closest( '.wp-full-overlay' ),
[1297] Fix | Delete
elements, transitionEndCallback, transitionParentPane;
[1298] Fix | Delete
[1299] Fix | Delete
// Determine set of elements that are affected by the animation.
[1300] Fix | Delete
elements = overlay.add( content );
[1301] Fix | Delete
[1302] Fix | Delete
if ( ! construct.panel || '' === construct.panel() ) {
[1303] Fix | Delete
transitionParentPane = true;
[1304] Fix | Delete
} else if ( api.panel( construct.panel() ).contentContainer.hasClass( 'skip-transition' ) ) {
[1305] Fix | Delete
transitionParentPane = true;
[1306] Fix | Delete
} else {
[1307] Fix | Delete
transitionParentPane = false;
[1308] Fix | Delete
}
[1309] Fix | Delete
if ( transitionParentPane ) {
[1310] Fix | Delete
elements = elements.add( '#customize-info, .customize-pane-parent' );
[1311] Fix | Delete
}
[1312] Fix | Delete
[1313] Fix | Delete
// Handle `transitionEnd` event.
[1314] Fix | Delete
transitionEndCallback = function( e ) {
[1315] Fix | Delete
if ( 2 !== e.eventPhase || ! $( e.target ).is( content ) ) {
[1316] Fix | Delete
return;
[1317] Fix | Delete
}
[1318] Fix | Delete
content.off( normalizedTransitionendEventName, transitionEndCallback );
[1319] Fix | Delete
elements.removeClass( 'busy' );
[1320] Fix | Delete
if ( completeCallback ) {
[1321] Fix | Delete
completeCallback();
[1322] Fix | Delete
}
[1323] Fix | Delete
};
[1324] Fix | Delete
content.on( normalizedTransitionendEventName, transitionEndCallback );
[1325] Fix | Delete
elements.addClass( 'busy' );
[1326] Fix | Delete
[1327] Fix | Delete
// Prevent screen flicker when pane has been scrolled before expanding.
[1328] Fix | Delete
_.defer( function() {
[1329] Fix | Delete
var container = content.closest( '.wp-full-overlay-sidebar-content' ),
[1330] Fix | Delete
currentScrollTop = container.scrollTop(),
[1331] Fix | Delete
previousScrollTop = content.data( 'previous-scrollTop' ) || 0,
[1332] Fix | Delete
expanded = construct.expanded();
[1333] Fix | Delete
[1334] Fix | Delete
if ( expanded && 0 < currentScrollTop ) {
[1335] Fix | Delete
content.css( 'top', currentScrollTop + 'px' );
[1336] Fix | Delete
content.data( 'previous-scrollTop', currentScrollTop );
[1337] Fix | Delete
} else if ( ! expanded && 0 < currentScrollTop + previousScrollTop ) {
[1338] Fix | Delete
content.css( 'top', previousScrollTop - currentScrollTop + 'px' );
[1339] Fix | Delete
container.scrollTop( previousScrollTop );
[1340] Fix | Delete
}
[1341] Fix | Delete
} );
[1342] Fix | Delete
},
[1343] Fix | Delete
[1344] Fix | Delete
/*
[1345] Fix | Delete
* is documented using @borrows in the constructor.
[1346] Fix | Delete
*/
[1347] Fix | Delete
focus: focus,
[1348] Fix | Delete
[1349] Fix | Delete
/**
[1350] Fix | Delete
* Return the container html, generated from its JS template, if it exists.
[1351] Fix | Delete
*
[1352] Fix | Delete
* @since 4.3.0
[1353] Fix | Delete
*/
[1354] Fix | Delete
getContainer: function () {
[1355] Fix | Delete
var template,
[1356] Fix | Delete
container = this;
[1357] Fix | Delete
[1358] Fix | Delete
if ( 0 !== $( '#tmpl-' + container.templateSelector ).length ) {
[1359] Fix | Delete
template = wp.template( container.templateSelector );
[1360] Fix | Delete
} else {
[1361] Fix | Delete
template = wp.template( 'customize-' + container.containerType + '-default' );
[1362] Fix | Delete
}
[1363] Fix | Delete
if ( template && container.container ) {
[1364] Fix | Delete
return template( _.extend(
[1365] Fix | Delete
{ id: container.id },
[1366] Fix | Delete
container.params
[1367] Fix | Delete
) ).toString().trim();
[1368] Fix | Delete
}
[1369] Fix | Delete
[1370] Fix | Delete
return '<li></li>';
[1371] Fix | Delete
},
[1372] Fix | Delete
[1373] Fix | Delete
/**
[1374] Fix | Delete
* Find content element which is displayed when the section is expanded.
[1375] Fix | Delete
*
[1376] Fix | Delete
* After a construct is initialized, the return value will be available via the `contentContainer` property.
[1377] Fix | Delete
* By default the element will be related it to the parent container with `aria-owns` and detached.
[1378] Fix | Delete
* Custom panels and sections (such as the `NewMenuSection`) that do not have a sliding pane should
[1379] Fix | Delete
* just return the content element without needing to add the `aria-owns` element or detach it from
[1380] Fix | Delete
* the container. Such non-sliding pane custom sections also need to override the `onChangeExpanded`
[1381] Fix | Delete
* method to handle animating the panel/section into and out of view.
[1382] Fix | Delete
*
[1383] Fix | Delete
* @since 4.7.0
[1384] Fix | Delete
* @access public
[1385] Fix | Delete
*
[1386] Fix | Delete
* @return {jQuery} Detached content element.
[1387] Fix | Delete
*/
[1388] Fix | Delete
getContent: function() {
[1389] Fix | Delete
var construct = this,
[1390] Fix | Delete
container = construct.container,
[1391] Fix | Delete
content = container.find( '.accordion-section-content, .control-panel-content' ).first(),
[1392] Fix | Delete
contentId = 'sub-' + container.attr( 'id' ),
[1393] Fix | Delete
ownedElements = contentId,
[1394] Fix | Delete
alreadyOwnedElements = container.attr( 'aria-owns' );
[1395] Fix | Delete
[1396] Fix | Delete
if ( alreadyOwnedElements ) {
[1397] Fix | Delete
ownedElements = ownedElements + ' ' + alreadyOwnedElements;
[1398] Fix | Delete
}
[1399] Fix | Delete
container.attr( 'aria-owns', ownedElements );
[1400] Fix | Delete
[1401] Fix | Delete
return content.detach().attr( {
[1402] Fix | Delete
'id': contentId,
[1403] Fix | Delete
'class': 'customize-pane-child ' + content.attr( 'class' ) + ' ' + container.attr( 'class' )
[1404] Fix | Delete
} );
[1405] Fix | Delete
}
[1406] Fix | Delete
});
[1407] Fix | Delete
[1408] Fix | Delete
api.Section = Container.extend(/** @lends wp.customize.Section.prototype */{
[1409] Fix | Delete
containerType: 'section',
[1410] Fix | Delete
containerParent: '#customize-theme-controls',
[1411] Fix | Delete
containerPaneParent: '.customize-pane-parent',
[1412] Fix | Delete
defaults: {
[1413] Fix | Delete
title: '',
[1414] Fix | Delete
description: '',
[1415] Fix | Delete
priority: 100,
[1416] Fix | Delete
type: 'default',
[1417] Fix | Delete
content: null,
[1418] Fix | Delete
active: true,
[1419] Fix | Delete
instanceNumber: null,
[1420] Fix | Delete
panel: null,
[1421] Fix | Delete
customizeAction: ''
[1422] Fix | Delete
},
[1423] Fix | Delete
[1424] Fix | Delete
/**
[1425] Fix | Delete
* @constructs wp.customize.Section
[1426] Fix | Delete
* @augments wp.customize~Container
[1427] Fix | Delete
*
[1428] Fix | Delete
* @since 4.1.0
[1429] Fix | Delete
*
[1430] Fix | Delete
* @param {string} id - The ID for the section.
[1431] Fix | Delete
* @param {Object} options - Options.
[1432] Fix | Delete
* @param {string} options.title - Title shown when section is collapsed and expanded.
[1433] Fix | Delete
* @param {string} [options.description] - Description shown at the top of the section.
[1434] Fix | Delete
* @param {number} [options.priority=100] - The sort priority for the section.
[1435] Fix | Delete
* @param {string} [options.type=default] - The type of the section. See wp.customize.sectionConstructor.
[1436] Fix | Delete
* @param {string} [options.content] - The markup to be used for the section container. If empty, a JS template is used.
[1437] Fix | Delete
* @param {boolean} [options.active=true] - Whether the section is active or not.
[1438] Fix | Delete
* @param {string} options.panel - The ID for the panel this section is associated with.
[1439] Fix | Delete
* @param {string} [options.customizeAction] - Additional context information shown before the section title when expanded.
[1440] Fix | Delete
* @param {Object} [options.params] - Deprecated wrapper for the above properties.
[1441] Fix | Delete
*/
[1442] Fix | Delete
initialize: function ( id, options ) {
[1443] Fix | Delete
var section = this, params;
[1444] Fix | Delete
params = options.params || options;
[1445] Fix | Delete
[1446] Fix | Delete
// Look up the type if one was not supplied.
[1447] Fix | Delete
if ( ! params.type ) {
[1448] Fix | Delete
_.find( api.sectionConstructor, function( Constructor, type ) {
[1449] Fix | Delete
if ( Constructor === section.constructor ) {
[1450] Fix | Delete
params.type = type;
[1451] Fix | Delete
return true;
[1452] Fix | Delete
}
[1453] Fix | Delete
return false;
[1454] Fix | Delete
} );
[1455] Fix | Delete
}
[1456] Fix | Delete
[1457] Fix | Delete
Container.prototype.initialize.call( section, id, params );
[1458] Fix | Delete
[1459] Fix | Delete
section.id = id;
[1460] Fix | Delete
section.panel = new api.Value();
[1461] Fix | Delete
section.panel.bind( function ( id ) {
[1462] Fix | Delete
$( section.headContainer ).toggleClass( 'control-subsection', !! id );
[1463] Fix | Delete
});
[1464] Fix | Delete
section.panel.set( section.params.panel || '' );
[1465] Fix | Delete
api.utils.bubbleChildValueChanges( section, [ 'panel' ] );
[1466] Fix | Delete
[1467] Fix | Delete
section.embed();
[1468] Fix | Delete
section.deferred.embedded.done( function () {
[1469] Fix | Delete
section.ready();
[1470] Fix | Delete
});
[1471] Fix | Delete
},
[1472] Fix | Delete
[1473] Fix | Delete
/**
[1474] Fix | Delete
* Embed the container in the DOM when any parent panel is ready.
[1475] Fix | Delete
*
[1476] Fix | Delete
* @since 4.1.0
[1477] Fix | Delete
*/
[1478] Fix | Delete
embed: function () {
[1479] Fix | Delete
var inject,
[1480] Fix | Delete
section = this;
[1481] Fix | Delete
[1482] Fix | Delete
section.containerParent = api.ensure( section.containerParent );
[1483] Fix | Delete
[1484] Fix | Delete
// Watch for changes to the panel state.
[1485] Fix | Delete
inject = function ( panelId ) {
[1486] Fix | Delete
var parentContainer;
[1487] Fix | Delete
if ( panelId ) {
[1488] Fix | Delete
// The panel has been supplied, so wait until the panel object is registered.
[1489] Fix | Delete
api.panel( panelId, function ( panel ) {
[1490] Fix | Delete
// The panel has been registered, wait for it to become ready/initialized.
[1491] Fix | Delete
panel.deferred.embedded.done( function () {
[1492] Fix | Delete
parentContainer = panel.contentContainer;
[1493] Fix | Delete
if ( ! section.headContainer.parent().is( parentContainer ) ) {
[1494] Fix | Delete
parentContainer.append( section.headContainer );
[1495] Fix | Delete
}
[1496] Fix | Delete
if ( ! section.contentContainer.parent().is( section.headContainer ) ) {
[1497] Fix | Delete
section.containerParent.append( section.contentContainer );
[1498] Fix | Delete
}
[1499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function