PluginProbe
CartFlows – Funnel Builder & Checkout Plugin for WooCommerce / 1.1.0.1
CartFlows – Funnel Builder & Checkout Plugin for WooCommerce v1.1.0.1
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.0.1, at admin/assets/js/admin-menu-settings.js

312 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 console.log( data );
127
128 // Bulk add or remove classes to all modules.
129 $('.uael-widget-list').children( "li" ).addClass( 'activate' ).removeClass( 'deactivate' );
130 $('.uael-widget-list').children( "li" ).find('.uael-activate-widget')
131 .addClass('uael-deactivate-widget')
132 .text(uael.deactivate)
133 .removeClass('uael-activate-widget');
134 $( button ).removeClass('updating-message');
135 }
136 });
137 e.preventDefault();
138 },
139
140 /**
141 * Deactivate All Widgets.
142 */
143 _bulk_deactivate_widgets: function( e ) {
144 var button = $( this );
145
146 var data = {
147 action: 'uael_bulk_deactivate_widgets',
148 nonce: uael.ajax_nonce,
149 };
150
151 if ( button.hasClass( 'updating-message' ) ) {
152 return;
153 }
154 $( button ).addClass('updating-message');
155
156 UaelAjaxQueue.add({
157 url: ajaxurl,
158 type: 'POST',
159 data: data,
160 success: function(data){
161
162 console.log( data );
163 // Bulk add or remove classes to all modules.
164 $('.uael-widget-list').children( "li" ).addClass( 'deactivate' ).removeClass( 'activate' );
165 $('.uael-widget-list').children( "li" ).find('.uael-deactivate-widget')
166 .addClass('uael-activate-widget')
167 .text(uael.activate)
168 .removeClass('uael-deactivate-widget');
169 $( button ).removeClass('updating-message');
170 }
171 });
172 e.preventDefault();
173 },
174
175 /**
176 * Activate Module.
177 */
178 _activate_widget: function( e ) {
179 var button = $( this ),
180 id = button.parents('li').attr('id');
181
182 var data = {
183 module_id : id,
184 action: 'uael_activate_widget',
185 nonce: uael.ajax_nonce,
186 };
187
188 if ( button.hasClass( 'updating-message' ) ) {
189 return;
190 }
191
192 $( button ).addClass('updating-message');
193
194 UaelAjaxQueue.add({
195 url: ajaxurl,
196 type: 'POST',
197 data: data,
198 success: function(data){
199
200 // Add active class.
201 $( '#' + id ).addClass('activate').removeClass( 'deactivate' );
202 // Change button classes & text.
203 $( '#' + id ).find('.uael-activate-widget')
204 .addClass('uael-deactivate-widget')
205 .text(uael.deactivate)
206 .removeClass('uael-activate-widget')
207 .removeClass('updating-message');
208 }
209 });
210
211 e.preventDefault();
212 },
213
214 /**
215 * Deactivate Module.
216 */
217 _deactivate_widget: function( e ) {
218 var button = $( this ),
219 id = button.parents('li').attr('id');
220 var data = {
221 module_id: id,
222 action: 'uael_deactivate_widget',
223 nonce: uael.ajax_nonce,
224 };
225
226 if ( button.hasClass( 'updating-message' ) ) {
227 return;
228 }
229
230 $( button ).addClass('updating-message');
231
232 UaelAjaxQueue.add({
233 url: ajaxurl,
234 type: 'POST',
235 data: data,
236 success: function(data){
237
238 // Remove active class.
239 $( '#' + id ).addClass( 'deactivate' ).removeClass('activate');
240
241 // Change button classes & text.
242 $( '#' + id ).find('.uael-deactivate-widget')
243 .addClass('uael-activate-widget')
244 .text(uael.activate)
245 .removeClass('uael-deactivate-widget')
246 .removeClass('updating-message');
247 }
248 })
249 e.preventDefault();
250 },
251
252 /**
253 * Allow Beta Updates.
254 */
255 _allow_beta_updates: function( e ) {
256
257 var $this = $(this);
258 var allow_beta = $this.attr('data-value');
259
260 if ( 'disable' === allow_beta ) {
261 allow_beta = 'enable';
262 }else{
263 allow_beta = 'disable';
264 }
265
266 $this.addClass('loading');
267
268 var data = {
269 allow_beta: allow_beta,
270 action: 'uael_allow_beta_updates',
271 nonce: uael.ajax_nonce,
272 };
273
274 UaelAjaxQueue.add({
275 url: ajaxurl,
276 type: 'POST',
277 data: data,
278 success: function(data){
279
280 window.location.href += '&message=saved';
281 }
282 })
283 },
284
285 /**
286 * Knowledge Base.
287 */
288 _knowledgebase: function() {
289 if ( $('#uael-wl-enable-knowledgebase').is(':checked') ) {
290 $('p.uael-knowledgebase-url').show();
291 }else{
292 $('p.uael-knowledgebase-url').hide();
293 }
294 },
295 /**
296 * Support.
297 */
298 _support: function() {
299 if ( $('#uael-wl-enable-support').is(':checked') ) {
300 $('p.uael-support-url').show();
301 }else{
302 $('p.uael-support-url').hide();
303 }
304 }
305 }
306
307 $( document ).ready(function() {
308 UaelAdmin.init();
309 });
310
311
312 } )( jQuery );