-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathscript.js
More file actions
127 lines (69 loc) · 2.73 KB
/
script.js
File metadata and controls
127 lines (69 loc) · 2.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
jQuery(document).ready(function($){
// Disable Links
$('.menu_editorbody #adminmenu a').click(function(e) {
e.preventDefault();
});
// CHECKBOX WORKS
var topLinkHref = "";
$('.menu_editorbody #adminmenu li:not(.wp-submenu-head):not(#collapse-menu)').each(function(index) {
var li = $(this);
// Skip if it has empty link
//if ( li.children('a').text() == "" ) return true;
var isSeparator = li.hasClass('wp-menu-separator');
var menuType = li.hasClass('menu-top') || isSeparator ? "topitem" : "subitem";
var link = "";
var value = "";
var checked = "";
if (isSeparator) {
var classList = li.attr('class').split(/\s+/);
var sepName = classList[classList.length-1];
value = sepName;
if ( amr_data_top.indexOf(sepName) > -1 ) {
checked = "checked";
}
} else if (menuType == "topitem") {
link = li.children('a');
topLinkHref = link.attr('href').replace('admin.php?page=', '').replace(/\&/g, '&');
value = topLinkHref +' | key';
if ( amr_data_top.indexOf(topLinkHref) > -1 ) {
checked = "checked";
}
} else if (menuType == "subitem") {
link = li.children('a'); console.log(link.attr('href'));
var linkHref = link.attr('href').replace('admin.php?page=', '').replace(topLinkHref + '?page=', '').replace(topLinkHref + '&page=', '').replace(/\&/g, '&');
value = topLinkHref +' | ' + linkHref;
if ( amr_data_sub.indexOf(value) > -1 ) {
checked = "checked";
}
}
// Add the input
li.prepend('<input type="checkbox" class="'+ menuType +'" name="'+ menuType +'__'+ index +'" value="'+ value + '" '+ checked + '/>');
});
// Check / Uncheck All
$('#checkall').click(function(){
$('.menu_editorbody #adminmenu input').prop( 'checked', true );
});
$('#uncheckall').click(function(){
$('.menu_editorbody #adminmenu input').prop( 'checked', false );
});
// WARNING
$('#menu-editor-form').submit(function () {
if ($("#menu-editor-form input[type='checkbox']:checked").length == 0) {
return confirm('All the restrictions are going to be removed for this role. Do you confirm?');
}
});
/*
// INPUT CHECKS
$('.menu_editorbody #adminmenu input').change(function() {
var isTop = $(this).hasClass('topitem');
if ( isTop ) {
$(this).parent('.wp-has-submenu').find('input').prop('checked', $(this).is(':checked'));
} else {
var subInputCount = $(this).parents('.wp-submenu').find('input').length; console.log(subInputCount);
var subInputCheckedCount = $(this).parents('.wp-submenu').find('input:checked').length; console.log(subInputCheckedCount);
var topInput = $(this).parents('.wp-has-submenu').children('input');
topInput.prop('checked', (subInputCount == subInputCheckedCount));
}
});
*/
}); // document ready