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: nav-menu.js
$( '#post-body-content' ).on( 'change', '.menu-item-checkbox', function() {
[1000] Fix | Delete
var menuItemName, menuItemType, menuItemID, listedMenuItem;
[1001] Fix | Delete
[1002] Fix | Delete
if ( ! $( '.menu-items-delete' ).is( '[aria-describedby="pending-menu-items-to-delete"]' ) ) {
[1003] Fix | Delete
$( '.menu-items-delete' ).attr( 'aria-describedby', 'pending-menu-items-to-delete' );
[1004] Fix | Delete
}
[1005] Fix | Delete
[1006] Fix | Delete
menuItemName = $(this).next().text();
[1007] Fix | Delete
menuItemType = $(this).parent().next( '.item-controls' ).find( '.item-type' ).text();
[1008] Fix | Delete
menuItemID = $(this).attr( 'data-menu-item-id' );
[1009] Fix | Delete
[1010] Fix | Delete
listedMenuItem = $( '#pending-menu-items-to-delete ul' ).find( '[data-menu-item-id=' + menuItemID + ']' );
[1011] Fix | Delete
if ( listedMenuItem.length > 0 ) {
[1012] Fix | Delete
listedMenuItem.remove();
[1013] Fix | Delete
}
[1014] Fix | Delete
[1015] Fix | Delete
if ( this.checked === true ) {
[1016] Fix | Delete
const $li = $( '<li>', { 'data-menu-item-id': menuItemID } );
[1017] Fix | Delete
$li.append( $( '<span>', {
[1018] Fix | Delete
'class': 'pending-menu-item-name',
[1019] Fix | Delete
text: menuItemName
[1020] Fix | Delete
} ) );
[1021] Fix | Delete
$li.append( ' ' );
[1022] Fix | Delete
$li.append( $( '<span>', {
[1023] Fix | Delete
'class': 'pending-menu-item-type',
[1024] Fix | Delete
text: '(' + menuItemType + ')',
[1025] Fix | Delete
} ) );
[1026] Fix | Delete
$li.append( $( '<span>', { 'class': 'separator' } ) );
[1027] Fix | Delete
$( '#pending-menu-items-to-delete ul' ).append( $li );
[1028] Fix | Delete
}
[1029] Fix | Delete
[1030] Fix | Delete
$( '#pending-menu-items-to-delete li .separator' ).html( ', ' );
[1031] Fix | Delete
$( '#pending-menu-items-to-delete li .separator' ).last().html( '.' );
[1032] Fix | Delete
});
[1033] Fix | Delete
},
[1034] Fix | Delete
[1035] Fix | Delete
/**
[1036] Fix | Delete
* Set status of bulk delete checkbox.
[1037] Fix | Delete
*
[1038] Fix | Delete
* @since 5.8.0
[1039] Fix | Delete
*/
[1040] Fix | Delete
setBulkDeleteCheckboxStatus : function() {
[1041] Fix | Delete
var that = this;
[1042] Fix | Delete
var checkbox = $( '#menu-to-edit .menu-item-checkbox' );
[1043] Fix | Delete
[1044] Fix | Delete
$.each( checkbox, function() {
[1045] Fix | Delete
if ( $(this).prop( 'disabled' ) ) {
[1046] Fix | Delete
$(this).prop( 'disabled', false );
[1047] Fix | Delete
} else {
[1048] Fix | Delete
$(this).prop( 'disabled', true );
[1049] Fix | Delete
}
[1050] Fix | Delete
[1051] Fix | Delete
if ( $(this).is( ':checked' ) ) {
[1052] Fix | Delete
$(this).prop( 'checked', false );
[1053] Fix | Delete
}
[1054] Fix | Delete
});
[1055] Fix | Delete
[1056] Fix | Delete
that.setRemoveSelectedButtonStatus();
[1057] Fix | Delete
},
[1058] Fix | Delete
[1059] Fix | Delete
/**
[1060] Fix | Delete
* Set status of menu items removal button.
[1061] Fix | Delete
*
[1062] Fix | Delete
* @since 5.8.0
[1063] Fix | Delete
*/
[1064] Fix | Delete
setRemoveSelectedButtonStatus : function() {
[1065] Fix | Delete
var button = $( '.menu-items-delete' );
[1066] Fix | Delete
[1067] Fix | Delete
if ( $( '.menu-item-checkbox:checked' ).length > 0 ) {
[1068] Fix | Delete
button.removeClass( 'disabled' );
[1069] Fix | Delete
} else {
[1070] Fix | Delete
button.addClass( 'disabled' );
[1071] Fix | Delete
}
[1072] Fix | Delete
},
[1073] Fix | Delete
[1074] Fix | Delete
attachMenuSaveSubmitListeners : function() {
[1075] Fix | Delete
/*
[1076] Fix | Delete
* When a navigation menu is saved, store a JSON representation of all form data
[1077] Fix | Delete
* in a single input to avoid PHP `max_input_vars` limitations. See #14134.
[1078] Fix | Delete
*/
[1079] Fix | Delete
$( '#update-nav-menu' ).on( 'submit', function() {
[1080] Fix | Delete
var navMenuData = $( '#update-nav-menu' ).serializeArray();
[1081] Fix | Delete
$( '[name="nav-menu-data"]' ).val( JSON.stringify( navMenuData ) );
[1082] Fix | Delete
});
[1083] Fix | Delete
},
[1084] Fix | Delete
[1085] Fix | Delete
attachThemeLocationsListeners : function() {
[1086] Fix | Delete
var loc = $('#nav-menu-theme-locations'), params = {};
[1087] Fix | Delete
params.action = 'menu-locations-save';
[1088] Fix | Delete
params['menu-settings-column-nonce'] = $('#menu-settings-column-nonce').val();
[1089] Fix | Delete
loc.find('input[type="submit"]').on( 'click', function() {
[1090] Fix | Delete
loc.find('select').each(function() {
[1091] Fix | Delete
params[this.name] = $(this).val();
[1092] Fix | Delete
});
[1093] Fix | Delete
loc.find( '.spinner' ).addClass( 'is-active' );
[1094] Fix | Delete
$.post( ajaxurl, params, function() {
[1095] Fix | Delete
loc.find( '.spinner' ).removeClass( 'is-active' );
[1096] Fix | Delete
});
[1097] Fix | Delete
return false;
[1098] Fix | Delete
});
[1099] Fix | Delete
},
[1100] Fix | Delete
[1101] Fix | Delete
attachQuickSearchListeners : function() {
[1102] Fix | Delete
var searchTimer;
[1103] Fix | Delete
[1104] Fix | Delete
// Prevent form submission.
[1105] Fix | Delete
$( '#nav-menu-meta' ).on( 'submit', function( event ) {
[1106] Fix | Delete
event.preventDefault();
[1107] Fix | Delete
});
[1108] Fix | Delete
[1109] Fix | Delete
$( '#nav-menu-meta' ).on( 'input', '.quick-search', function() {
[1110] Fix | Delete
var $this = $( this );
[1111] Fix | Delete
[1112] Fix | Delete
$this.attr( 'autocomplete', 'off' );
[1113] Fix | Delete
[1114] Fix | Delete
if ( searchTimer ) {
[1115] Fix | Delete
clearTimeout( searchTimer );
[1116] Fix | Delete
}
[1117] Fix | Delete
[1118] Fix | Delete
searchTimer = setTimeout( function() {
[1119] Fix | Delete
api.updateQuickSearchResults( $this );
[1120] Fix | Delete
}, 500 );
[1121] Fix | Delete
}).on( 'blur', '.quick-search', function() {
[1122] Fix | Delete
api.lastSearch = '';
[1123] Fix | Delete
});
[1124] Fix | Delete
},
[1125] Fix | Delete
[1126] Fix | Delete
updateQuickSearchResults : function(input) {
[1127] Fix | Delete
var panel, params,
[1128] Fix | Delete
minSearchLength = 2,
[1129] Fix | Delete
q = input.val();
[1130] Fix | Delete
[1131] Fix | Delete
/*
[1132] Fix | Delete
* Minimum characters for a search. Also avoid a new Ajax search when
[1133] Fix | Delete
* the pressed key (e.g. arrows) doesn't change the searched term.
[1134] Fix | Delete
*/
[1135] Fix | Delete
if ( q.length < minSearchLength || api.lastSearch == q ) {
[1136] Fix | Delete
return;
[1137] Fix | Delete
}
[1138] Fix | Delete
[1139] Fix | Delete
api.lastSearch = q;
[1140] Fix | Delete
[1141] Fix | Delete
panel = input.parents('.tabs-panel');
[1142] Fix | Delete
params = {
[1143] Fix | Delete
'action': 'menu-quick-search',
[1144] Fix | Delete
'response-format': 'markup',
[1145] Fix | Delete
'menu': $('#menu').val(),
[1146] Fix | Delete
'menu-settings-column-nonce': $('#menu-settings-column-nonce').val(),
[1147] Fix | Delete
'q': q,
[1148] Fix | Delete
'type': input.attr('name')
[1149] Fix | Delete
};
[1150] Fix | Delete
[1151] Fix | Delete
$( '.spinner', panel ).addClass( 'is-active' );
[1152] Fix | Delete
[1153] Fix | Delete
$.post( ajaxurl, params, function(menuMarkup) {
[1154] Fix | Delete
api.processQuickSearchQueryResponse(menuMarkup, params, panel);
[1155] Fix | Delete
});
[1156] Fix | Delete
},
[1157] Fix | Delete
[1158] Fix | Delete
addCustomLink : function( processMethod ) {
[1159] Fix | Delete
var url = $('#custom-menu-item-url').val().toString(),
[1160] Fix | Delete
label = $('#custom-menu-item-name').val();
[1161] Fix | Delete
[1162] Fix | Delete
if ( '' !== url ) {
[1163] Fix | Delete
url = url.trim();
[1164] Fix | Delete
}
[1165] Fix | Delete
[1166] Fix | Delete
processMethod = processMethod || api.addMenuItemToBottom;
[1167] Fix | Delete
[1168] Fix | Delete
if ( '' === url || 'https://' == url || 'http://' == url ) {
[1169] Fix | Delete
$('#customlinkdiv').addClass('form-invalid');
[1170] Fix | Delete
return false;
[1171] Fix | Delete
}
[1172] Fix | Delete
[1173] Fix | Delete
// Show the Ajax spinner.
[1174] Fix | Delete
$( '.customlinkdiv .spinner' ).addClass( 'is-active' );
[1175] Fix | Delete
this.addLinkToMenu( url, label, processMethod, function() {
[1176] Fix | Delete
// Remove the Ajax spinner.
[1177] Fix | Delete
$( '.customlinkdiv .spinner' ).removeClass( 'is-active' );
[1178] Fix | Delete
// Set custom link form back to defaults.
[1179] Fix | Delete
$('#custom-menu-item-name').val('').trigger( 'blur' );
[1180] Fix | Delete
$( '#custom-menu-item-url' ).val( '' ).attr( 'placeholder', 'https://' );
[1181] Fix | Delete
});
[1182] Fix | Delete
},
[1183] Fix | Delete
[1184] Fix | Delete
addLinkToMenu : function(url, label, processMethod, callback) {
[1185] Fix | Delete
processMethod = processMethod || api.addMenuItemToBottom;
[1186] Fix | Delete
callback = callback || function(){};
[1187] Fix | Delete
[1188] Fix | Delete
api.addItemToMenu({
[1189] Fix | Delete
'-1': {
[1190] Fix | Delete
'menu-item-type': 'custom',
[1191] Fix | Delete
'menu-item-url': url,
[1192] Fix | Delete
'menu-item-title': label
[1193] Fix | Delete
}
[1194] Fix | Delete
}, processMethod, callback);
[1195] Fix | Delete
},
[1196] Fix | Delete
[1197] Fix | Delete
addItemToMenu : function(menuItem, processMethod, callback) {
[1198] Fix | Delete
var menu = $('#menu').val(),
[1199] Fix | Delete
nonce = $('#menu-settings-column-nonce').val(),
[1200] Fix | Delete
params;
[1201] Fix | Delete
[1202] Fix | Delete
processMethod = processMethod || function(){};
[1203] Fix | Delete
callback = callback || function(){};
[1204] Fix | Delete
[1205] Fix | Delete
params = {
[1206] Fix | Delete
'action': 'add-menu-item',
[1207] Fix | Delete
'menu': menu,
[1208] Fix | Delete
'menu-settings-column-nonce': nonce,
[1209] Fix | Delete
'menu-item': menuItem
[1210] Fix | Delete
};
[1211] Fix | Delete
[1212] Fix | Delete
$.post( ajaxurl, params, function(menuMarkup) {
[1213] Fix | Delete
var ins = $('#menu-instructions');
[1214] Fix | Delete
[1215] Fix | Delete
menuMarkup = menuMarkup || '';
[1216] Fix | Delete
menuMarkup = menuMarkup.toString().trim(); // Trim leading whitespaces.
[1217] Fix | Delete
processMethod(menuMarkup, params);
[1218] Fix | Delete
[1219] Fix | Delete
// Make it stand out a bit more visually, by adding a fadeIn.
[1220] Fix | Delete
$( 'li.pending' ).hide().fadeIn('slow');
[1221] Fix | Delete
$( '.drag-instructions' ).show();
[1222] Fix | Delete
if( ! ins.hasClass( 'menu-instructions-inactive' ) && ins.siblings().length )
[1223] Fix | Delete
ins.addClass( 'menu-instructions-inactive' );
[1224] Fix | Delete
[1225] Fix | Delete
callback();
[1226] Fix | Delete
});
[1227] Fix | Delete
},
[1228] Fix | Delete
[1229] Fix | Delete
/**
[1230] Fix | Delete
* Process the add menu item request response into menu list item. Appends to menu.
[1231] Fix | Delete
*
[1232] Fix | Delete
* @param {string} menuMarkup The text server response of menu item markup.
[1233] Fix | Delete
*
[1234] Fix | Delete
* @fires document#menu-item-added Passes menuMarkup as a jQuery object.
[1235] Fix | Delete
*/
[1236] Fix | Delete
addMenuItemToBottom : function( menuMarkup ) {
[1237] Fix | Delete
var $menuMarkup = $( menuMarkup );
[1238] Fix | Delete
$menuMarkup.hideAdvancedMenuItemFields().appendTo( api.targetList );
[1239] Fix | Delete
api.refreshKeyboardAccessibility();
[1240] Fix | Delete
api.refreshAdvancedAccessibility();
[1241] Fix | Delete
wp.a11y.speak( menus.itemAdded );
[1242] Fix | Delete
$( document ).trigger( 'menu-item-added', [ $menuMarkup ] );
[1243] Fix | Delete
},
[1244] Fix | Delete
[1245] Fix | Delete
/**
[1246] Fix | Delete
* Process the add menu item request response into menu list item. Prepends to menu.
[1247] Fix | Delete
*
[1248] Fix | Delete
* @param {string} menuMarkup The text server response of menu item markup.
[1249] Fix | Delete
*
[1250] Fix | Delete
* @fires document#menu-item-added Passes menuMarkup as a jQuery object.
[1251] Fix | Delete
*/
[1252] Fix | Delete
addMenuItemToTop : function( menuMarkup ) {
[1253] Fix | Delete
var $menuMarkup = $( menuMarkup );
[1254] Fix | Delete
$menuMarkup.hideAdvancedMenuItemFields().prependTo( api.targetList );
[1255] Fix | Delete
api.refreshKeyboardAccessibility();
[1256] Fix | Delete
api.refreshAdvancedAccessibility();
[1257] Fix | Delete
wp.a11y.speak( menus.itemAdded );
[1258] Fix | Delete
$( document ).trigger( 'menu-item-added', [ $menuMarkup ] );
[1259] Fix | Delete
},
[1260] Fix | Delete
[1261] Fix | Delete
attachUnsavedChangesListener : function() {
[1262] Fix | Delete
$('#menu-management input, #menu-management select, #menu-management, #menu-management textarea, .menu-location-menus select').on( 'change', function(){
[1263] Fix | Delete
api.registerChange();
[1264] Fix | Delete
});
[1265] Fix | Delete
[1266] Fix | Delete
if ( 0 !== $('#menu-to-edit').length || 0 !== $('.menu-location-menus select').length ) {
[1267] Fix | Delete
window.onbeforeunload = function(){
[1268] Fix | Delete
if ( api.menusChanged )
[1269] Fix | Delete
return wp.i18n.__( 'The changes you made will be lost if you navigate away from this page.' );
[1270] Fix | Delete
};
[1271] Fix | Delete
} else {
[1272] Fix | Delete
// Make the post boxes read-only, as they can't be used yet.
[1273] Fix | Delete
$( '#menu-settings-column' ).find( 'input,select' ).end().find( 'a' ).attr( 'href', '#' ).off( 'click' );
[1274] Fix | Delete
}
[1275] Fix | Delete
},
[1276] Fix | Delete
[1277] Fix | Delete
registerChange : function() {
[1278] Fix | Delete
api.menusChanged = true;
[1279] Fix | Delete
},
[1280] Fix | Delete
[1281] Fix | Delete
attachTabsPanelListeners : function() {
[1282] Fix | Delete
$('#menu-settings-column').on('click', function(e) {
[1283] Fix | Delete
var selectAreaMatch, selectAll, panelId, wrapper, items,
[1284] Fix | Delete
target = $(e.target);
[1285] Fix | Delete
[1286] Fix | Delete
if ( target.hasClass('nav-tab-link') ) {
[1287] Fix | Delete
[1288] Fix | Delete
panelId = target.data( 'type' );
[1289] Fix | Delete
[1290] Fix | Delete
wrapper = target.parents('.accordion-section-content').first();
[1291] Fix | Delete
[1292] Fix | Delete
// Upon changing tabs, we want to uncheck all checkboxes.
[1293] Fix | Delete
$( 'input', wrapper ).prop( 'checked', false );
[1294] Fix | Delete
[1295] Fix | Delete
$('.tabs-panel-active', wrapper).removeClass('tabs-panel-active').addClass('tabs-panel-inactive');
[1296] Fix | Delete
$('#' + panelId, wrapper).removeClass('tabs-panel-inactive').addClass('tabs-panel-active');
[1297] Fix | Delete
[1298] Fix | Delete
$('.tabs', wrapper).removeClass('tabs');
[1299] Fix | Delete
target.parent().addClass('tabs');
[1300] Fix | Delete
[1301] Fix | Delete
// Select the search bar.
[1302] Fix | Delete
$('.quick-search', wrapper).trigger( 'focus' );
[1303] Fix | Delete
[1304] Fix | Delete
// Hide controls in the search tab if no items found.
[1305] Fix | Delete
if ( ! wrapper.find( '.tabs-panel-active .menu-item-title' ).length ) {
[1306] Fix | Delete
wrapper.addClass( 'has-no-menu-item' );
[1307] Fix | Delete
} else {
[1308] Fix | Delete
wrapper.removeClass( 'has-no-menu-item' );
[1309] Fix | Delete
}
[1310] Fix | Delete
[1311] Fix | Delete
e.preventDefault();
[1312] Fix | Delete
} else if ( target.hasClass( 'select-all' ) ) {
[1313] Fix | Delete
selectAreaMatch = target.closest( '.button-controls' ).data( 'items-type' );
[1314] Fix | Delete
if ( selectAreaMatch ) {
[1315] Fix | Delete
items = $( '#' + selectAreaMatch + ' .tabs-panel-active .menu-item-title input' );
[1316] Fix | Delete
[1317] Fix | Delete
if ( items.length === items.filter( ':checked' ).length && ! target.is( ':checked' ) ) {
[1318] Fix | Delete
items.prop( 'checked', false );
[1319] Fix | Delete
} else if ( target.is( ':checked' ) ) {
[1320] Fix | Delete
items.prop( 'checked', true );
[1321] Fix | Delete
}
[1322] Fix | Delete
}
[1323] Fix | Delete
} else if ( target.hasClass( 'menu-item-checkbox' ) ) {
[1324] Fix | Delete
selectAreaMatch = target.closest( '.tabs-panel-active' ).parent().attr( 'id' );
[1325] Fix | Delete
if ( selectAreaMatch ) {
[1326] Fix | Delete
items = $( '#' + selectAreaMatch + ' .tabs-panel-active .menu-item-title input' );
[1327] Fix | Delete
selectAll = $( '.button-controls[data-items-type="' + selectAreaMatch + '"] .select-all' );
[1328] Fix | Delete
[1329] Fix | Delete
if ( items.length === items.filter( ':checked' ).length && ! selectAll.is( ':checked' ) ) {
[1330] Fix | Delete
selectAll.prop( 'checked', true );
[1331] Fix | Delete
} else if ( selectAll.is( ':checked' ) ) {
[1332] Fix | Delete
selectAll.prop( 'checked', false );
[1333] Fix | Delete
}
[1334] Fix | Delete
}
[1335] Fix | Delete
} else if ( target.hasClass('submit-add-to-menu') ) {
[1336] Fix | Delete
api.registerChange();
[1337] Fix | Delete
[1338] Fix | Delete
if ( e.target.id && 'submit-customlinkdiv' == e.target.id )
[1339] Fix | Delete
api.addCustomLink( api.addMenuItemToBottom );
[1340] Fix | Delete
else if ( e.target.id && -1 != e.target.id.indexOf('submit-') )
[1341] Fix | Delete
$('#' + e.target.id.replace(/submit-/, '')).addSelectedToMenu( api.addMenuItemToBottom );
[1342] Fix | Delete
return false;
[1343] Fix | Delete
}
[1344] Fix | Delete
});
[1345] Fix | Delete
[1346] Fix | Delete
/*
[1347] Fix | Delete
* Delegate the `click` event and attach it just to the pagination
[1348] Fix | Delete
* links thus excluding the current page `<span>`. See ticket #35577.
[1349] Fix | Delete
*/
[1350] Fix | Delete
$( '#nav-menu-meta' ).on( 'click', 'a.page-numbers', function() {
[1351] Fix | Delete
var $container = $( this ).closest( '.inside' );
[1352] Fix | Delete
[1353] Fix | Delete
$.post( ajaxurl, this.href.replace( /.*\?/, '' ).replace( /action=([^&]*)/, '' ) + '&action=menu-get-metabox',
[1354] Fix | Delete
function( resp ) {
[1355] Fix | Delete
var metaBoxData = JSON.parse( resp ),
[1356] Fix | Delete
toReplace;
[1357] Fix | Delete
[1358] Fix | Delete
if ( -1 === resp.indexOf( 'replace-id' ) ) {
[1359] Fix | Delete
return;
[1360] Fix | Delete
}
[1361] Fix | Delete
[1362] Fix | Delete
// Get the post type menu meta box to update.
[1363] Fix | Delete
toReplace = document.getElementById( metaBoxData['replace-id'] );
[1364] Fix | Delete
[1365] Fix | Delete
if ( ! metaBoxData.markup || ! toReplace ) {
[1366] Fix | Delete
return;
[1367] Fix | Delete
}
[1368] Fix | Delete
[1369] Fix | Delete
// Update the post type menu meta box with new content from the response.
[1370] Fix | Delete
$container.html( metaBoxData.markup );
[1371] Fix | Delete
}
[1372] Fix | Delete
);
[1373] Fix | Delete
[1374] Fix | Delete
return false;
[1375] Fix | Delete
});
[1376] Fix | Delete
},
[1377] Fix | Delete
[1378] Fix | Delete
eventOnClickEditLink : function(clickedEl) {
[1379] Fix | Delete
var settings, item,
[1380] Fix | Delete
matchedSection = /#(.*)$/.exec(clickedEl.href);
[1381] Fix | Delete
[1382] Fix | Delete
if ( matchedSection && matchedSection[1] ) {
[1383] Fix | Delete
settings = $('#'+matchedSection[1]);
[1384] Fix | Delete
item = settings.parent();
[1385] Fix | Delete
if( 0 !== item.length ) {
[1386] Fix | Delete
if( item.hasClass('menu-item-edit-inactive') ) {
[1387] Fix | Delete
if( ! settings.data('menu-item-data') ) {
[1388] Fix | Delete
settings.data( 'menu-item-data', settings.getItemData() );
[1389] Fix | Delete
}
[1390] Fix | Delete
settings.slideDown('fast');
[1391] Fix | Delete
item.removeClass('menu-item-edit-inactive')
[1392] Fix | Delete
.addClass('menu-item-edit-active');
[1393] Fix | Delete
} else {
[1394] Fix | Delete
settings.slideUp('fast');
[1395] Fix | Delete
item.removeClass('menu-item-edit-active')
[1396] Fix | Delete
.addClass('menu-item-edit-inactive');
[1397] Fix | Delete
}
[1398] Fix | Delete
return false;
[1399] Fix | Delete
}
[1400] Fix | Delete
}
[1401] Fix | Delete
},
[1402] Fix | Delete
[1403] Fix | Delete
eventOnClickCancelLink : function(clickedEl) {
[1404] Fix | Delete
var settings = $( clickedEl ).closest( '.menu-item-settings' ),
[1405] Fix | Delete
thisMenuItem = $( clickedEl ).closest( '.menu-item' );
[1406] Fix | Delete
[1407] Fix | Delete
thisMenuItem.removeClass( 'menu-item-edit-active' ).addClass( 'menu-item-edit-inactive' );
[1408] Fix | Delete
settings.setItemData( settings.data( 'menu-item-data' ) ).hide();
[1409] Fix | Delete
// Restore the title of the currently active/expanded menu item.
[1410] Fix | Delete
thisMenuItem.find( '.menu-item-title' ).text( settings.data( 'menu-item-data' )['menu-item-title'] );
[1411] Fix | Delete
[1412] Fix | Delete
return false;
[1413] Fix | Delete
},
[1414] Fix | Delete
[1415] Fix | Delete
eventOnClickMenuSave : function() {
[1416] Fix | Delete
var menuName = $('#menu-name'),
[1417] Fix | Delete
menuNameVal = menuName.val();
[1418] Fix | Delete
[1419] Fix | Delete
// Cancel and warn if invalid menu name.
[1420] Fix | Delete
if ( ! menuNameVal || ! menuNameVal.replace( /\s+/, '' ) ) {
[1421] Fix | Delete
menuName.parent().addClass( 'form-invalid' );
[1422] Fix | Delete
return false;
[1423] Fix | Delete
}
[1424] Fix | Delete
// Copy menu theme locations.
[1425] Fix | Delete
// Note: This appears to be dead code since #nav-menu-theme-locations no longer exists, perhaps removed in r32842.
[1426] Fix | Delete
var $updateNavMenu = $('#update-nav-menu');
[1427] Fix | Delete
$('#nav-menu-theme-locations select').each(function() {
[1428] Fix | Delete
$updateNavMenu.append(
[1429] Fix | Delete
$( '<input>', {
[1430] Fix | Delete
type: 'hidden',
[1431] Fix | Delete
name: this.name,
[1432] Fix | Delete
value: $( this ).val(),
[1433] Fix | Delete
} )
[1434] Fix | Delete
);
[1435] Fix | Delete
});
[1436] Fix | Delete
// Update menu item position data.
[1437] Fix | Delete
api.menuList.find('.menu-item-data-position').val( function(index) { return index + 1; } );
[1438] Fix | Delete
window.onbeforeunload = null;
[1439] Fix | Delete
[1440] Fix | Delete
return true;
[1441] Fix | Delete
},
[1442] Fix | Delete
[1443] Fix | Delete
eventOnClickMenuDelete : function() {
[1444] Fix | Delete
// Delete warning AYS.
[1445] Fix | Delete
if ( window.confirm( wp.i18n.__( 'You are about to permanently delete this menu.\n\'Cancel\' to stop, \'OK\' to delete.' ) ) ) {
[1446] Fix | Delete
window.onbeforeunload = null;
[1447] Fix | Delete
return true;
[1448] Fix | Delete
}
[1449] Fix | Delete
return false;
[1450] Fix | Delete
},
[1451] Fix | Delete
[1452] Fix | Delete
eventOnClickMenuItemDelete : function(clickedEl) {
[1453] Fix | Delete
var itemID = parseInt(clickedEl.id.replace('delete-', ''), 10);
[1454] Fix | Delete
[1455] Fix | Delete
api.removeMenuItem( $('#menu-item-' + itemID) );
[1456] Fix | Delete
api.registerChange();
[1457] Fix | Delete
return false;
[1458] Fix | Delete
},
[1459] Fix | Delete
[1460] Fix | Delete
/**
[1461] Fix | Delete
* Process the quick search response into a search result
[1462] Fix | Delete
*
[1463] Fix | Delete
* @param string resp The server response to the query.
[1464] Fix | Delete
* @param object req The request arguments.
[1465] Fix | Delete
* @param jQuery panel The tabs panel we're searching in.
[1466] Fix | Delete
*/
[1467] Fix | Delete
processQuickSearchQueryResponse : function(resp, req, panel) {
[1468] Fix | Delete
var matched, newID,
[1469] Fix | Delete
takenIDs = {},
[1470] Fix | Delete
form = document.getElementById('nav-menu-meta'),
[1471] Fix | Delete
pattern = /menu-item[(\[^]\]*/,
[1472] Fix | Delete
$items = $('<div>').html(resp).find('li'),
[1473] Fix | Delete
wrapper = panel.closest( '.accordion-section-content' ),
[1474] Fix | Delete
selectAll = wrapper.find( '.button-controls .select-all' ),
[1475] Fix | Delete
$item;
[1476] Fix | Delete
[1477] Fix | Delete
if( ! $items.length ) {
[1478] Fix | Delete
const li = $( '<li>' );
[1479] Fix | Delete
const p = $( '<p>', { text: wp.i18n.__( 'No results found.' ) } );
[1480] Fix | Delete
li.append( p );
[1481] Fix | Delete
$('.categorychecklist', panel).empty().append( li );
[1482] Fix | Delete
$( '.spinner', panel ).removeClass( 'is-active' );
[1483] Fix | Delete
wrapper.addClass( 'has-no-menu-item' );
[1484] Fix | Delete
return;
[1485] Fix | Delete
}
[1486] Fix | Delete
[1487] Fix | Delete
$items.each(function(){
[1488] Fix | Delete
$item = $(this);
[1489] Fix | Delete
[1490] Fix | Delete
// Make a unique DB ID number.
[1491] Fix | Delete
matched = pattern.exec($item.html());
[1492] Fix | Delete
[1493] Fix | Delete
if ( matched && matched[1] ) {
[1494] Fix | Delete
newID = matched[1];
[1495] Fix | Delete
while( form.elements['menu-item[' + newID + '][menu-item-type]'] || takenIDs[ newID ] ) {
[1496] Fix | Delete
newID--;
[1497] Fix | Delete
}
[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