PluginProbe ʕ •ᴥ•ʔ
Admin and Site Enhancements (ASE) / 2.3.0
Admin and Site Enhancements (ASE) v2.3.0
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 3 years ago admin-page.js 3 years ago custom-admin-menu.js 3 years ago hide-admin-notices.js 3 years ago jBox.all.min.js 3 years ago jquery.jsticky.mod.js 3 years ago jquery.jsticky.mod.min.js 3 years ago media-replace.js 3 years ago toggle-hidden-menu.js 3 years ago
custom-admin-menu.js
118 lines
1 (function( $ ) {
2 'use strict';
3
4 $(document).ready( function() {
5
6 // Initialize sortable elements: https://api.jqueryui.com/sortable/
7 $('#custom-admin-menu').sortable({
8 placeholder: 'sortable-placeholder'
9 });
10
11 // Save custom order into a comma-separated string, triggerred after each drag and drop of menu item
12 // https://api.jqueryui.com/sortable/#event-update
13 // https://api.jqueryui.com/sortable/#method-toArray
14 $('#custom-admin-menu').on( 'sortupdate', function( event, ui) {
15 let menuOrder = $('#custom-admin-menu').sortable("toArray").toString();
16 // console.log( menuOrder );
17
18 // Set hidden input value
19 document.getElementById('admin_site_enhancements[custom_menu_order]').value = menuOrder;
20
21 // jQuery.ajax({
22 // url: ajaxurl,
23 // data: {
24 // 'action': 'save_custom_menu_order',
25 // 'menu_order': menuOrder
26 // },
27 // success:function(data) {
28 // var data = data.slice(0,-1); // remove strange trailing zero in string returned by AJAX call
29 // var dataObj = JSON.parse(data);
30 // console.log(dataObj.message);
31 // },
32 // error:function(errorThrown) {
33 // console.log(errorThrown);
34 // }
35 // });
36
37 });
38
39 // Define a function to delay execution of script by x miliecnods. Ref: https://stackoverflow.com/a/28173606
40 // var delay = ( function() {
41 // var timer = 0;
42 // return function(callback, ms) {
43 // clearTimeout (timer);
44 // timer = setTimeout(callback, ms);
45 // };
46 // })();
47
48 // If Customize Admin Menu is enabled, save IDs of menu items that will be hidden
49 if ( document.getElementById('admin_site_enhancements[customize_admin_menu]').checked ) {
50
51 // Prepare constant to store IDs of menu items that will be hidden
52 if ( document.getElementById('admin_site_enhancements[custom_menu_hidden]').value ) {
53
54 var hiddenMenuItems = document.getElementById('admin_site_enhancements[custom_menu_hidden]').value.split(","); // array
55
56 } else {
57
58 var hiddenMenuItems = []; // array
59
60 }
61
62 console.log(hiddenMenuItems);
63
64 // Detect which menu items are being checked. Ref: https://stackoverflow.com/a/3871602
65 Array.from(document.getElementsByClassName('menu-item-checkbox')).forEach(function(item,index,array) {
66
67 item.addEventListener('click', event => {
68
69 if (event.target.checked) {
70
71 // Add ID of menu item to array
72 // alert(event.target.dataset.menuItemId + ' will be hidden');
73 hiddenMenuItems.push(event.target.dataset.menuItemId);
74
75 } else {
76
77 // Remove ID of menu item from array
78 // alert(event.target.dataset.menuItemId + ' will not be hidden');
79 const start = hiddenMenuItems.indexOf(event.target.dataset.menuItemId);
80 const deleteCount = 1;
81 hiddenMenuItems.splice(start, deleteCount);
82
83 }
84
85 console.log(hiddenMenuItems.toString());
86
87 // Set hidden input value
88 document.getElementById('admin_site_enhancements[custom_menu_hidden]').value = hiddenMenuItems;
89
90 // delay(function() {
91
92 // jQuery.ajax({
93 // url: ajaxurl,
94 // data: {
95 // 'action': 'save_hidden_menu_items',
96 // 'hidden_menu_items': hiddenMenuItems.toString()
97 // },
98 // success:function(data) {
99 // var data = data.slice(0,-1); // remove strange trailing zero in string returned by AJAX call
100 // var dataObj = JSON.parse(data);
101 // console.log(dataObj.message );
102 // },
103 // error:function(errorThrown) {
104 // console.log(errorThrown);
105 // }
106 // });
107
108 // }, 3000);
109
110 });
111
112 });
113
114 }
115
116 });
117
118 })( jQuery );