PluginProbe
Responsive Menu – Create Mobile-Friendly Menu / 3.1.12
Responsive Menu – Create Mobile-Friendly Menu v3.1.12
4.7.3 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 All 90 releases
responsive-menu / public / js / admin / base.js

base.js in Responsive Menu – Create Mobile-Friendly Menu 3.1.12, at public/js/admin/base.js

209 lines 6.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 Responsive Menu JS file.
3 Safe to Copy
4 **/
5
6 jQuery(function($) {
7
8 /* --> File Upload Options */
9 $(':file').filestyle({
10 icon: false,
11 buttonName: 'btn btn-primary btn-rm',
12 placeholder: 'No file'
13 });
14 /* <-- End File Upload Options */
15
16 /* --> Image Upload Options */
17 var custom_uploader;
18
19 $(document).on('click', '.image_button', function(e) {
20 e.preventDefault();
21 window.imgFor = $(this).attr('for');
22 //If the uploader object has already been created, reopen the dialog
23 if (custom_uploader) {
24 custom_uploader.open();
25 return;
26 }
27 //Extend the wp.media object
28 custom_uploader = wp.media.frames.file_frame = wp.media({
29 title: 'Choose Image',
30 button: {
31 text: 'Choose Image',
32 id: 'test'
33 },
34 multiple: false
35 });
36
37 //When a file is selected, grab the URL and set it as the text field's value
38 custom_uploader.on('select', function () {
39 attachment = custom_uploader.state().get('selection').first().toJSON();
40 $('#' + window.imgFor).val(attachment.url);
41 });
42
43 //Open the uploader dialog
44 custom_uploader.open();
45 });
46 /* <-- End Image Upload Options */
47
48 /* --> Scroll to Option */
49 $(document).on('click', '.scroll-to-option', function(e) {
50 e.preventDefault();
51 var id_to_scroll_to = $(this).attr('href');
52 var parent_panel_id = $(id_to_scroll_to).parents('.tab-pane').attr('id');
53 var parent_tab = $('a[href="#' + parent_panel_id + '"]').parent('li');
54
55 $('tr').removeClass('option-highlight');
56 $('ul.nav-tabs li').removeClass('active');
57 parent_tab.addClass('active');
58
59 $('#responsive-menu-current-page').val(parent_panel_id);
60
61 $('.tab-content .tab-pane').removeClass('active').removeClass('in');
62
63 $('#' + parent_panel_id).addClass('active').addClass('in');
64
65 $('html, body').animate({
66 scrollTop: $(id_to_scroll_to).offset().top - 50
67 }, 1000);
68
69 $(id_to_scroll_to).closest('tr').addClass('option-highlight');
70 });
71 /* <-- End Scroll to Option */
72
73 /* --> Filter Options */
74 $(document).on('keyup', '#filter-options', function() {
75 var search_query = $(this).val();
76 $('#options-area').css('width', '99%');
77 $('.nav-tabs, #banner-area, .top-submit-buttons').hide();
78
79 if(search_query) {
80 $('.tab-pane').show().css('opacity', '1');
81 $('.panel-body small').css('display', 'block');
82
83 $('.control-label').closest('tr').hide();
84 $('.control-label').each(function() {
85 if ($(this).text().toLowerCase().indexOf(search_query.toLowerCase()) >= 0) {
86 $(this).closest('tr').show();
87 }
88 });
89
90 $('#options-area .table-bordered').each(function() {
91
92 var visible_rows = $(this).children('tbody').children('tr').filter(function() {
93 return $(this).css('display') == 'table-row';
94 });
95
96 if(visible_rows.length > 0) {
97 $(this).parents('.panel').show();
98 } else {
99 $(this).parents('.panel').hide();
100 }
101 });
102
103 } else {
104 $('.tab-pane').css('display', '').css('opacity', '');
105 $('.control-label').closest('tr').show();
106 $('.nav-tabs, #banner-area, .panel, .top-submit-buttons').show();
107 $('#options-area').css('width', '');
108 $('.panel-body small').css('display', '');
109 }
110 });
111 /* <-- End Filter Options */
112
113 /* --> Navigation Tabs */
114 $(document).on('click', '.nav-tabs li a', function() {
115 var tab_name = $(this).attr('href').replace('#', '');
116 $('#responsive-menu-current-page').val(tab_name);
117
118 $('.guide-active').removeClass('guide-active');
119 switch(tab_name) {
120 case 'sub-menus':
121 $('#guide-submenu-container').addClass('guide-active');
122 break;
123 case 'menu':
124 $('#guide-menu-container').addClass('guide-active');
125 break;
126 case 'button':
127 $('#guide-button-container').addClass('guide-active');
128 break;
129 case 'container':
130 $('#guide-container-container').addClass('guide-active');
131 break;
132 }
133 });
134 /* <-- End Navigation Tabs */
135
136 /* --> Trigger Types */
137 $('#responsive-menu-button-trigger-type').selectize({
138 plugins: ['remove_button'],
139 options: [
140 {
141 value:'click',
142 text:'Click'
143 },
144 {
145 value:'mouseover',
146 text:'Hover'
147 }
148 ]
149 });
150 /* <-- End Trigger Types */
151
152 /* --> Keyboard Shortcuts */
153 $('.keyboard-shortcuts').selectize({
154 plugins: ['remove_button'],
155 options: [
156 {
157 value:27,
158 text:'Esc'
159 },
160 {
161 value:13,
162 text:'Enter'
163 },
164 {
165 value:32,
166 text:'Space'
167 },
168 {
169 value:37,
170 text:'Left'
171 },
172 {
173 value:38,
174 text:'Up'
175 },
176 {
177 value:39,
178 text:'Right'
179 },
180 {
181 value:40,
182 text:'Down'
183 }
184 ]
185 });
186 /* <-- End Keyboard Shortcuts */
187
188 /* --> Menu Order Scripts */
189 $(document).on('click', '.menu-order-option-switch', function() {
190 var siblings = $(this).siblings('input.orderable-item');
191 if(siblings.val() != 'on') {
192 siblings.val('on');
193 $(this).addClass('menu-order-option-switch-on');
194 } else {
195 siblings.val('');
196 $(this).removeClass('menu-order-option-switch-on');
197 }
198 });
199
200 $('#menu-sortable').sortable({
201 revert: true,
202 placeholder: 'dashed-placeholder'
203 });
204
205 $('#sortable, .draggable').disableSelection();
206 /* <-- End Menu Order Scripts */
207
208 });
209