PluginProbe ʕ •ᴥ•ʔ
Admin and Site Enhancements (ASE) / 6.2.2
Admin and Site Enhancements (ASE) v6.2.2
9.1.0 9.0.2 9.0.1 9.0.0 8.9.2 8.9.1 8.9.0 8.8.8 8.8.7 8.8.6 8.8.5 8.8.4 8.8.3 8.8.2 8.8.1 8.8.0 8.7.3 8.7.2 8.7.1 8.2.1 8.2.2 8.2.3 8.3.0 8.3.1 8.3.2 8.4.0 8.4.1 8.4.2 8.5.0 8.5.1 8.5.2 8.6.0 8.6.1 8.6.2 8.7.0 5.0.1 5.0.2 5.0.2.1 5.0.2.2 5.0.2.3 5.0.2.4 5.1.0 5.2.0 5.2.1 5.2.10 5.2.11 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.0 5.3.1 5.3.2 5.4.0 5.4.1 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.8.0 5.8.1 6.0.0 6.0.3 6.0.4 6.0.5 6.0.5.1 6.0.6 6.0.7 6.0.8.1 6.1.0 6.1.3 6.2.0 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7 6.3.0 6.3.1 6.3.2 6.4.0 6.5.0 6.5.1 6.6.0 6.7.0 6.8.0 6.8.2 6.8.3 6.9.0 6.9.1 6.9.10 6.9.11 6.9.12 6.9.13.1 6.9.13.2 6.9.2 6.9.3 6.9.4 6.9.5 6.9.6 6.9.7 6.9.8 6.9.9 7.0.0 7.0.2 7.0.2.1 7.0.2.2 7.0.2.3 7.0.3 7.1.0 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2.0 7.2.1 7.3.0 7.3.1 7.3.2 7.3.3 7.4.0 7.4.2 7.4.4 7.4.5 7.4.6 7.4.7 7.4.8 7.5.0 7.5.1 7.5.2 7.5.3 7.5.4 7.6.0 7.6.1 7.6.1.1 7.6.10 7.6.11 7.6.2 7.6.3 7.6.4 7.6.5 7.6.6 7.6.7 7.6.7.1 7.6.8 7.6.9 7.7.0 7.8.0 7.8.1 7.8.10 7.8.11 7.8.12 7.8.13 7.8.14 7.8.15 7.8.16 7.8.17 7.8.18 7.8.2 7.8.3 7.8.4 7.8.5 7.8.5.1 7.8.6 7.8.7 7.8.8 7.8.9 7.9.0 7.9.1 7.9.10 7.9.11 7.9.2 7.9.3 7.9.4 7.9.5 7.9.6 7.9.7 7.9.8 7.9.9 8.0.0 8.0.1 8.0.2 8.0.3 8.0.4 8.0.5 8.0.6 8.0.7 8.0.8 8.1.0 8.1.1 8.1.2 8.1.3 8.1.4 8.2.0 trunk 1.0.0 1.1.0 1.2.0 1.3.0 1.4.0 1.5.0 1.6.0 1.7.0 1.8.0 1.9.0 2.0.0 2.1.0 2.2.0 2.3.0 2.4.0 2.5.0 2.6.0 2.7.0 2.8.0 2.8.1 2.8.2 2.8.3 2.9.0 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.2.0 3.3.0 3.4.0 3.5.0 3.6.1 3.7.0 3.8.0 3.9.0 3.9.1 3.9.2 4.0.0 4.0.1 4.1.0 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.8.0 4.8.1 4.8.2 4.8.3 4.9.0 4.9.1 4.9.2 4.9.3 5.0.0
admin-site-enhancements / assets / js / custom-admin-menu.js
admin-site-enhancements / assets / js Last commit date
codemirror 2 years ago datatables 2 years ago admin-page.js 2 years ago content-order-sort.js 2 years ago custom-admin-menu.js 2 years ago external-permalinks.js 2 years ago hide-admin-notices.js 2 years ago jBox.all.min.js 2 years ago jquery.jsticky.mod.js 2 years ago jquery.jsticky.mod.min.js 2 years ago jquery.mjs.nestedSortable.js 2 years ago jquery.ui.touch-punch.min.js 2 years ago js.cookie.min.js 2 years ago media-replace.js 2 years ago multiple-user-roles.js 2 years ago toggle-hidden-menu.js 2 years ago
custom-admin-menu.js
102 lines
1 (function( $ ) {
2 'use strict';
3
4 $(document).ready( function() {
5
6 // ----- Menu Ordering -----
7
8 // Initialize sortable elements for parent menu items: https://api.jqueryui.com/sortable/
9 $('#custom-admin-menu').sortable({
10 items: '> li',
11 opacity: 0.6,
12 placeholder: 'sortable-placeholder',
13 tolerance: 'pointer',
14 revert: 250
15 });
16
17 // Get the default/current menu order
18 let menuOrder = $('#custom-admin-menu').sortable("toArray").toString();
19
20 // Set hidden input value for saving in options
21 document.getElementById('admin_site_enhancements[custom_menu_order]').value = menuOrder;
22
23 // Save custom order into a comma-separated string, triggerred after each drag and drop of menu item
24 // https://api.jqueryui.com/sortable/#event-update
25 // https://api.jqueryui.com/sortable/#method-toArray
26 $('#custom-admin-menu').on( 'sortupdate', function( event, ui) {
27
28 // Get the updated menu order
29 let menuOrder = $('#custom-admin-menu').sortable("toArray").toString();
30
31 // Set hidden input value for saving in options
32 document.getElementById('admin_site_enhancements[custom_menu_order]').value = menuOrder;
33
34 });
35
36
37
38 // ----- Parent Menu Item Hiding -----
39
40 // Prepare constant to store IDs of menu items that will be hidden
41 if ( document.getElementById('admin_site_enhancements[custom_menu_hidden]') != null ) {
42 var hiddenMenuItems = document.getElementById('admin_site_enhancements[custom_menu_hidden]').value.split(","); // array
43 } else {
44 var hiddenMenuItems = []; // array
45 }
46
47
48 // Detect which menu items are being checked. Ref: https://stackoverflow.com/a/3871602
49 Array.from(document.getElementsByClassName('parent-menu-hide-checkbox')).forEach(function(item,index,array) {
50
51 item.addEventListener('click', event => {
52
53 if (event.target.checked) {
54
55 // Add ID of menu item to array
56 hiddenMenuItems.push(event.target.dataset.menuItemId);
57
58 } else {
59
60 // Remove ID of menu item from array
61 const start = hiddenMenuItems.indexOf(event.target.dataset.menuItemId);
62 const deleteCount = 1;
63 hiddenMenuItems.splice(start, deleteCount);
64
65 }
66
67 // Set hidden input value
68 document.getElementById('admin_site_enhancements[custom_menu_hidden]').value = hiddenMenuItems;
69
70 });
71
72 });
73
74 // Clicking on header save button
75 $('.asenha-save-button').click( function(e) {
76
77 e.preventDefault();
78
79 // Prepare variable to store ID-Title pairs of menu items
80 var customMenuTitles = []; // empty array
81
82 // Initialize other variables
83 var menuItemId = '';
84 var customTitle = '';
85
86 // Save default/custom title values. Ref: https://stackoverflow.com/a/3871602
87 Array.from(document.getElementsByClassName('menu-item-custom-title')).forEach(function(item,index,array) {
88
89 menuItemId = item.dataset.menuItemId;
90 customTitle = item.value;
91 customMenuTitles.push(menuItemId + '__' + customTitle);
92
93 });
94
95 // Set hidden input value
96 document.getElementById('admin_site_enhancements[custom_menu_titles]').value = customMenuTitles;
97
98 });
99
100 });
101
102 })( jQuery );