PluginProbe ʕ •ᴥ•ʔ
Admin and Site Enhancements (ASE) / 7.4.2
Admin and Site Enhancements (ASE) v7.4.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 1 year ago datatables 1 year ago admin-page.js 1 year ago content-order-sort.js 1 year ago custom-admin-menu.js 1 year ago external-permalinks.js 1 year ago gutenberg-content-duplication.js 1 year ago hide-admin-notices.js 1 year ago jBox.all.min.js 1 year ago jquery.jsticky.mod.js 1 year ago jquery.jsticky.mod.min.js 1 year ago jquery.mjs.nestedSortable.js 1 year ago jquery.ui.touch-punch.min.js 1 year ago js.cookie.min.js 1 year ago media-replace.js 1 year ago multiple-user-roles.js 1 year ago toggle-hidden-menu.js 1 year ago
custom-admin-menu.js
104 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 }); // End of $(document).ready()
101
102
103
104 })( jQuery );