PluginProbe
CartFlows – Funnel Builder & Checkout Plugin for WooCommerce / 1.1.2
CartFlows – Funnel Builder & Checkout Plugin for WooCommerce v1.1.2
3.3.0 3.2.1 3.2.0 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.1 trunk 1.0.4 1.1.0 1.1.0.1 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 All 162 releases
cartflows / admin / assets / js / admin-menu-settings.js

admin-menu-settings.js in CartFlows – Funnel Builder & Checkout Plugin for WooCommerce 1.1.2, at admin/assets/js/admin-menu-settings.js

308 lines 6.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 ( function( $ ) {
2
3 /**
4 * AJAX Request Queue
5 *
6 * - add()
7 * - remove()
8 * - run()
9 * - stop()
10 *
11 * @since 1.0.0
12 */
13 var UaelAjaxQueue = (function() {
14
15 var requests = [];
16
17 return {
18
19 /**
20 * Add AJAX request
21 *
22 * @since 1.0.0
23 */
24 add: function(opt) {
25 requests.push(opt);
26 },
27
28 /**
29 * Remove AJAX request
30 *
31 * @since 1.0.0
32 */
33 remove: function(opt) {
34 if( jQuery.inArray(opt, requests) > -1 )
35 requests.splice($.inArray(opt, requests), 1);
36 },
37
38 /**
39 * Run / Process AJAX request
40 *
41 * @since 1.0.0
42 */
43 run: function() {
44 var self = this,
45 oriSuc;
46
47 if( requests.length ) {
48 oriSuc = requests[0].complete;
49
50 requests[0].complete = function() {
51 if( typeof(oriSuc) === 'function' ) oriSuc();
52 requests.shift();
53 self.run.apply(self, []);
54 };
55
56 jQuery.ajax(requests[0]);
57
58 } else {
59
60 self.tid = setTimeout(function() {
61 self.run.apply(self, []);
62 }, 1000);
63 }
64 },
65
66 /**
67 * Stop AJAX request
68 *
69 * @since 1.0.0
70 */
71 stop: function() {
72
73 requests = [];
74 clearTimeout(this.tid);
75 }
76 };
77
78 }());
79
80 UaelAdmin = {
81
82 init: function() {
83 /**
84 * Run / Process AJAX request
85 */
86 UaelAjaxQueue.run();
87 this._knowledgebase();
88 this._support();
89
90 $( document ).delegate( ".uael-activate-widget", "click", UaelAdmin._activate_widget );
91 $( document ).delegate( ".uael-deactivate-widget", "click", UaelAdmin._deactivate_widget );
92
93 $( document ).delegate( ".uael-activate-all", "click", UaelAdmin._bulk_activate_widgets );
94 $( document ).delegate( ".uael-deactivate-all", "click", UaelAdmin._bulk_deactivate_widgets );
95
96 $( document ).delegate( "#uael-gen-enable-beta-update", "click", UaelAdmin._allow_beta_updates );
97
98 /* White Label */
99 $( document ).delegate( "#uael-wl-enable-knowledgebase", "change", UaelAdmin._knowledgebase );
100 $( document ).delegate( "#uael-wl-enable-support", "change", UaelAdmin._support );
101 },
102
103 /**
104 * Activate All Widgets.
105 */
106 _bulk_activate_widgets: function( e ) {
107 var button = $( this );
108
109 var data = {
110 action: 'uael_bulk_activate_widgets',
111 nonce: uael.ajax_nonce,
112 };
113
114 if ( button.hasClass( 'updating-message' ) ) {
115 return;
116 }
117
118 $( button ).addClass('updating-message');
119
120 UaelAjaxQueue.add({
121 url: ajaxurl,
122 type: 'POST',
123 data: data,
124 success: function(data){
125
126 // Bulk add or remove classes to all modules.
127 $('.uael-widget-list').children( "li" ).addClass( 'activate' ).removeClass( 'deactivate' );
128 $('.uael-widget-list').children( "li" ).find('.uael-activate-widget')
129 .addClass('uael-deactivate-widget')
130 .text(uael.deactivate)
131 .removeClass('uael-activate-widget');
132 $( button ).removeClass('updating-message');
133 }
134 });
135 e.preventDefault();
136 },
137
138 /**
139 * Deactivate All Widgets.
140 */
141 _bulk_deactivate_widgets: function( e ) {
142 var button = $( this );
143
144 var data = {
145 action: 'uael_bulk_deactivate_widgets',
146 nonce: uael.ajax_nonce,
147 };
148
149 if ( button.hasClass( 'updating-message' ) ) {
150 return;
151 }
152 $( button ).addClass('updating-message');
153
154 UaelAjaxQueue.add({
155 url: ajaxurl,
156 type: 'POST',
157 data: data,
158 success: function(data){
159 // Bulk add or remove classes to all modules.
160 $('.uael-widget-list').children( "li" ).addClass( 'deactivate' ).removeClass( 'activate' );
161 $('.uael-widget-list').children( "li" ).find('.uael-deactivate-widget')
162 .addClass('uael-activate-widget')
163 .text(uael.activate)
164 .removeClass('uael-deactivate-widget');
165 $( button ).removeClass('updating-message');
166 }
167 });
168 e.preventDefault();
169 },
170
171 /**
172 * Activate Module.
173 */
174 _activate_widget: function( e ) {
175 var button = $( this ),
176 id = button.parents('li').attr('id');
177
178 var data = {
179 module_id : id,
180 action: 'uael_activate_widget',
181 nonce: uael.ajax_nonce,
182 };
183
184 if ( button.hasClass( 'updating-message' ) ) {
185 return;
186 }
187
188 $( button ).addClass('updating-message');
189
190 UaelAjaxQueue.add({
191 url: ajaxurl,
192 type: 'POST',
193 data: data,
194 success: function(data){
195
196 // Add active class.
197 $( '#' + id ).addClass('activate').removeClass( 'deactivate' );
198 // Change button classes & text.
199 $( '#' + id ).find('.uael-activate-widget')
200 .addClass('uael-deactivate-widget')
201 .text(uael.deactivate)
202 .removeClass('uael-activate-widget')
203 .removeClass('updating-message');
204 }
205 });
206
207 e.preventDefault();
208 },
209
210 /**
211 * Deactivate Module.
212 */
213 _deactivate_widget: function( e ) {
214 var button = $( this ),
215 id = button.parents('li').attr('id');
216 var data = {
217 module_id: id,
218 action: 'uael_deactivate_widget',
219 nonce: uael.ajax_nonce,
220 };
221
222 if ( button.hasClass( 'updating-message' ) ) {
223 return;
224 }
225
226 $( button ).addClass('updating-message');
227
228 UaelAjaxQueue.add({
229 url: ajaxurl,
230 type: 'POST',
231 data: data,
232 success: function(data){
233
234 // Remove active class.
235 $( '#' + id ).addClass( 'deactivate' ).removeClass('activate');
236
237 // Change button classes & text.
238 $( '#' + id ).find('.uael-deactivate-widget')
239 .addClass('uael-activate-widget')
240 .text(uael.activate)
241 .removeClass('uael-deactivate-widget')
242 .removeClass('updating-message');
243 }
244 })
245 e.preventDefault();
246 },
247
248 /**
249 * Allow Beta Updates.
250 */
251 _allow_beta_updates: function( e ) {
252
253 var $this = $(this);
254 var allow_beta = $this.attr('data-value');
255
256 if ( 'disable' === allow_beta ) {
257 allow_beta = 'enable';
258 }else{
259 allow_beta = 'disable';
260 }
261
262 $this.addClass('loading');
263
264 var data = {
265 allow_beta: allow_beta,
266 action: 'uael_allow_beta_updates',
267 nonce: uael.ajax_nonce,
268 };
269
270 UaelAjaxQueue.add({
271 url: ajaxurl,
272 type: 'POST',
273 data: data,
274 success: function(data){
275
276 window.location.href += '&message=saved';
277 }
278 })
279 },
280
281 /**
282 * Knowledge Base.
283 */
284 _knowledgebase: function() {
285 if ( $('#uael-wl-enable-knowledgebase').is(':checked') ) {
286 $('p.uael-knowledgebase-url').show();
287 }else{
288 $('p.uael-knowledgebase-url').hide();
289 }
290 },
291 /**
292 * Support.
293 */
294 _support: function() {
295 if ( $('#uael-wl-enable-support').is(':checked') ) {
296 $('p.uael-support-url').show();
297 }else{
298 $('p.uael-support-url').hide();
299 }
300 }
301 }
302
303 $( document ).ready(function() {
304 UaelAdmin.init();
305 });
306
307
308 } )( jQuery );