PluginProbe ʕ •ᴥ•ʔ
Everest Forms – Contact Form, Payment Form, Quiz, Survey & Custom Form Builder with AI / 1.6.3
Everest Forms – Contact Form, Payment Form, Quiz, Survey & Custom Form Builder with AI v1.6.3
3.5.2 3.5.1 3.5.0 3.4.8 3.4.7 3.4.6 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5.1 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.10 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.6.1 1.6.7 1.7.0 1.7.0.1 1.7.0.2 1.7.0.3 1.7.1 1.7.2 1.7.2.1 1.7.2.2 1.7.3 1.7.4 1.7.5 1.7.5.1 1.7.5.2 1.7.6 1.7.7 1.7.7.1 1.7.7.2 1.7.8 1.7.9 1.8.0 1.8.0.1 1.8.1 1.8.2 1.8.2.1 1.8.2.2 1.8.2.3 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.0.1 1.9.1 1.9.2 1.9.3 1.9.4 1.9.4.1 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.0.1 2.0.1 2.0.2 2.0.3 2.0.3.1 2.0.4 2.0.4.1 2.0.5 2.0.6 2.0.7 2.0.8 2.0.8.1 2.0.9 3.0.0 3.0.0.1 3.0.1 3.0.2 3.0.3 3.0.3.1 3.0.4 3.0.4.1 3.0.4.2 3.0.5 3.0.5.1 3.0.5.2 3.0.6 3.0.6.1 3.0.7.1 3.0.8 3.0.8.1 3.0.9 3.0.9.1 3.0.9.2 3.0.9.3 3.0.9.4 3.0.9.5 3.1.0 3.1.1 3.1.2 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.3.0 3.4.0 3.4.1 3.4.2 3.4.2.1 3.4.3 3.4.4 3.4.5 trunk 1.0 1.0.1 1.0.2 1.0.3
everest-forms / assets / js / admin / evf-setup.js
everest-forms / assets / js / admin Last commit date
gutenberg 6 years ago admin.js 6 years ago admin.min.js 6 years ago editor.js 8 years ago editor.min.js 6 years ago evf-admin-email.js 6 years ago evf-admin-email.min.js 6 years ago evf-clipboard.js 8 years ago evf-clipboard.min.js 8 years ago evf-enhanced-select.js 7 years ago evf-enhanced-select.min.js 7 years ago evf-setup.js 6 years ago evf-setup.min.js 6 years ago extensions.js 6 years ago extensions.min.js 6 years ago form-builder.js 6 years ago form-builder.min.js 6 years ago form-template-controller.js 6 years ago form-template-controller.min.js 6 years ago plugins.js 7 years ago plugins.min.js 7 years ago settings.js 6 years ago settings.min.js 6 years ago upgrade.js 7 years ago upgrade.min.js 7 years ago
evf-setup.js
267 lines
1 /* global evf_setup_params */
2 jQuery( function( $ ) {
3
4 /**
5 * Setup actions.
6 */
7 var evf_setup_actions = {
8 $setup_form: $( '.everest-forms-setup' ),
9 $button_install: evf_data.i18n_activating,
10 init: function() {
11 this.title_focus();
12
13 // Template actions.
14 $( document ).on( 'click', '.everest-forms-template-install-addon', this.install_addon );
15 $( document ).on( 'click', '.everest-forms-builder-setup .upgrade-modal', this.message_upgrade );
16 $( document ).on( 'click', '.everest-forms-builder-setup .evf-template-preview', this.template_preview );
17
18 // Select and apply a template.
19 this.$setup_form.on( 'click', '.evf-template-select', this.template_select );
20
21 // Prevent <ENTER> key for setup actions.
22 $( document.body ).on( 'keypress', '.everest-forms-setup-form-name input', this.input_keypress );
23 },
24 title_focus: function() {
25 setTimeout( function (){
26 $( '#everest-forms-setup-name' ).focus();
27 }, 100 );
28 },
29 install_addon: function( event ) {
30 var pluginsList = $( '.plugins-list-table' ).find( '#the-list tr' ),
31 $target = $( event.target ),
32 success = 0,
33 error = 0,
34 errorMessages = [];
35
36 wp.updates.maybeRequestFilesystemCredentials(event);
37
38 $( '.everest-forms-template-install-addon' ).html( '<div class="evf-loading evf-loading-active"></div>' + evf_setup_actions.$button_install ).prop( 'disabled', true );
39
40 $( document ).trigger( 'wp-plugin-bulk-install', pluginsList );
41
42 // Find all the plugins which are required.
43 pluginsList.each( function( index, element ) {
44 var $itemRow = $(element);
45
46 // Only add inactive items to the update queue.
47 if ( ! $itemRow.hasClass( 'inactive' ) || $itemRow.find( 'notice-error' ).length ) {
48 return;
49 }
50
51 // Add it to the queue.
52 wp.updates.queue.push({
53 action: 'everest_forms_install_extension',
54 data: {
55 page: pagenow,
56 name: $itemRow.data( 'name' ),
57 slug: $itemRow.data( 'slug' )
58 }
59 });
60 });
61
62 // Display bulk notification for install of plugin.
63 $( document ).on( 'wp-plugin-bulk-install-success wp-plugin-bulk-install-error', function( event, response ) {
64 var $itemRow = $( '[data-slug="' + response.slug + '"]' ), $bulkActionNotice, itemName;
65
66 if ( 'wp-' + response.install + '-bulk-install-success' === event.type ) {
67 success++;
68 } else {
69 itemName = response.pluginName ? response.pluginName : $itemRow.find( '.plugin-name' ).text();
70 error++;
71 errorMessages.push( itemName + ': ' + response.errorMessage );
72 }
73
74 wp.updates.adminNotice = wp.template( 'wp-bulk-installs-admin-notice' );
75
76 // Remove previous error messages, if any.
77 $( '.everest-forms-recommend-addons .bulk-action-notice' ).remove();
78
79 $( '.everest-forms-recommend-addons .plugins-info' ).after( wp.updates.adminNotice({
80 id: 'bulk-action-notice',
81 className: 'bulk-action-notice notice-alt',
82 successes: success,
83 errors: error,
84 errorMessages: errorMessages,
85 type: response.install
86 })
87 );
88
89 $bulkActionNotice = $( '#bulk-action-notice' ).on( 'click', 'button', function() {
90 // $( this ) is the clicked button, no need to get it again.
91 $( this )
92 .toggleClass( 'bulk-action-errors-collapsed' )
93 .attr( 'aria-expanded', ! $( this ).hasClass( 'bulk-action-errors-collapsed' ) );
94 // Show the errors list.
95 $bulkActionNotice.find( '.bulk-action-errors' ).toggleClass( 'hidden' );
96 });
97
98 if ( ! wp.updates.queue.length ) {
99 if ( error > 0 ) {
100 $target
101 .removeClass( 'updating-message' )
102 .text( $target.data( 'originaltext' ) );
103 }
104 }
105
106 if ( 0 === wp.updates.queue.length ) {
107 $( '.everest-forms-template-install-addon' ).remove();
108 $( '.everest-forms-builder-setup .jconfirm-buttons button' ).show();
109 }
110 } );
111
112 // Check the queue, now that the event handlers have been added.
113 wp.updates.queueChecker();
114 },
115 message_upgrade: function( e ) {
116 var templateName = $( this ).data( 'template-name-raw' );
117
118 e.preventDefault();
119
120 $.alert( {
121 title: templateName + ' ' + evf_setup_params.upgrade_title,
122 theme: 'jconfirm-modern jconfirm-everest-forms',
123 icon: 'dashicons dashicons-lock',
124 backgroundDismiss: false,
125 scrollToPreviousElement: false,
126 content: evf_setup_params.upgrade_message,
127 type: 'red',
128 boxWidth: '565px',
129 buttons: {
130 confirm: {
131 text: evf_setup_params.upgrade_button,
132 btnClass: 'btn-confirm',
133 keys: ['enter'],
134 action: function () {
135 window.open( evf_setup_params.upgrade_url, '_blank' );
136 }
137 },
138 cancel: {
139 text: evf_data.i18n_ok
140 }
141 }
142 } );
143 },
144 template_preview: function() {
145 var $this = $(this),
146 previewLink = $this.data('preview-link');
147
148 $this.closest( '.everest-forms-setup' ).find( '.evf-template-preview-iframe #frame' ).attr( 'src', previewLink );
149 },
150 template_select: function( event ) {
151 var $this = $( this ),
152 template = $this.data( 'template' ),
153 templateName = $this.data( 'template-name-raw' ),
154 formName = '',
155 namePrompt = evf_setup_params.i18n_form_name,
156 nameField = '<input autofocus="" type="text" id="everest-forms-setup-name" class="everest-forms-setup-name" placeholder="'+evf_setup_params.i18n_form_placeholder+'">',
157 nameError = '<p class="error">' + evf_setup_params.i18n_form_error_name + '</p>';
158
159 event.preventDefault();
160
161 $target = $( event.target );
162
163 if ( $target.hasClass( 'disabled' ) || $target.hasClass( 'updating-message' ) ) {
164 return;
165 }
166
167 $.confirm( {
168 title: evf_setup_params.i18n_form_title,
169 theme: 'jconfirm-modern jconfirm-everest-forms-left',
170 backgroundDismiss: false,
171 scrollToPreviousElement: false,
172 content: function() {
173 // Fire AJAX.
174 var self = this,
175 button = evf_data.i18n_install_only;
176
177 if ( $target.closest( '.evf-template' ).find( 'span.everest-forms-badge' ).length ) {
178 var data = {
179 action: 'everest_forms_template_licence_check',
180 plan: $this.attr( 'data-licence-plan' ),
181 slug: $this.attr( 'data-template' ),
182 security: evf_setup_params.template_licence_check_nonce
183 };
184
185 return $.ajax( {
186 url: evf_email_params.ajax_url,
187 data: data,
188 type: 'POST',
189 } ).done( function( response ) {
190 self.setContentAppend( namePrompt+nameField+nameError+response.data.html );
191
192 if ( response.data.activate ) {
193 $( '.everest-forms-builder-setup .jconfirm-buttons button' ).show();
194 } else {
195 if ( response.data.html.includes( 'install-now' ) ) {
196 button = evf_data.i18n_install_activate;
197 evf_setup_actions.$button_install = evf_data.i18n_installing;
198 }
199 var installButton = '<a href="#" class="everest-forms-btn everest-forms-btn-primary everest-forms-template-install-addon">' + button + '</a>';
200 $( '.everest-forms-builder-setup .jconfirm-buttons' ).append( installButton );
201 }
202 } );
203 } else {
204 $( '.everest-forms-builder-setup .jconfirm-buttons button' ).show();
205 return namePrompt+nameField+nameError;
206 }
207 },
208 buttons: {
209 Continue: {
210 isHidden: true, // Hide the button.
211 btnClass: 'everest-forms-btn everest-forms-btn-primary',
212 action: function () {
213 var $formName = $( '#everest-forms-setup-name' ),
214 overlay = $( '.everest-forms-loader-overlay' );
215
216 // Check that form title is provided.
217 if ( ! $formName.val() ) {
218 formName = templateName;
219 var error = this.$content.find( '.error' );
220 $( '.everest-forms-setup-name' ).addClass( 'everest-forms-required' ).focus();
221 error.show();
222 return false;
223 } else {
224 formName = $formName.val();
225 }
226
227 overlay.show();
228
229 var data = {
230 title: formName,
231 action: 'everest_forms_create_form',
232 template: template,
233 security: evf_setup_params.create_form_nonce
234 };
235
236 $.post( evf_setup_params.ajax_url, data, function( response ) {
237 if ( response.success ) {
238 window.location.href = response.data.redirect;
239 } else {
240 overlay.hide();
241 $( '.everest-forms-setup-name' ).addClass( 'everest-forms-required' ).focus();
242 window.console.log( response );
243 }
244 }).fail( function( xhr ) {
245 window.console.log( xhr.responseText );
246 });
247 }
248 },
249 }
250 } );
251 },
252 input_keypress: function ( e ) {
253 var button = e.keyCode || e.which;
254
255 $( this ).removeClass( 'everest-forms-required' );
256
257 // Enter key.
258 if ( 13 === button && e.target.tagName.toLowerCase() === 'input' ) {
259 e.preventDefault();
260 return false;
261 }
262 }
263 };
264
265 evf_setup_actions.init();
266 });
267