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 / admin.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 7 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 7 years ago evf-clipboard.min.js 7 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
admin.js
281 lines
1 /* global everest_forms_admin, PerfectScrollbar */
2 ( function( $, params ) {
3
4 // Colorpicker.
5 $( '.colorpicker' ).wpColorPicker();
6
7 // Enable Perfect Scrollbar.
8 $( document ).on( 'init_perfect_scrollbar', function() {
9 var nav_wrapper = $( 'nav.evf-nav-tab-wrapper' );
10
11 if ( nav_wrapper.length >= 1 ) {
12 window.evf_nav_ps = new PerfectScrollbar( nav_wrapper.selector, {
13 suppressScrollY : true,
14 useBothWheelAxes: true,
15 wheelPropagation: true
16 });
17 }
18 });
19
20 // Update Perfect Scrollbar.
21 $( window ).on( 'resize orientationchange', function() {
22 var resizeTimer,
23 nav_wrapper = $( 'nav.evf-nav-tab-wrapper' );
24
25 if ( nav_wrapper.length >= 1 ) {
26 clearTimeout( resizeTimer );
27 resizeTimer = setTimeout( function() {
28 window.evf_nav_ps.update();
29 }, 250 );
30 }
31 });
32
33 // Trigger Perfect Scrollbar.
34 $( document ).ready( function( $ ) {
35 if ( 'undefined' !== typeof PerfectScrollbar ) {
36 $( document ).trigger( 'init_perfect_scrollbar' );
37 }
38 });
39
40 // Field validation error tips.
41 $( document.body )
42
43 .on( 'evf_add_error_tip', function( e, element, error_type, locale ) {
44 var offset = element.position();
45
46 if ( element.parent().find( '.evf_error_tip' ).length === 0 ) {
47 element.after( '<div class="evf_error_tip ' + error_type + '">' + locale[error_type] + '</div>' );
48 element.parent().find( '.evf_error_tip' )
49 .css( 'left', offset.left + element.width() - ( element.width() / 2 ) - ( $( '.evf_error_tip' ).width() / 2 ) )
50 .css( 'top', offset.top + element.height() )
51 .fadeIn( '100' );
52 }
53 })
54
55 .on( 'evf_remove_error_tip', function( e, element, error_type ) {
56 element.parent().find( '.evf_error_tip.' + error_type ).fadeOut( '100', function() { $( this ).remove(); } );
57 })
58
59 .on( 'click', 'input:not([type=number])', function() {
60 $( '.evf_error_tip' ).fadeOut( '100', function() { $( this ).remove(); } );
61 })
62
63 .on( 'blur', '.evf-input-meta-key[type=text], .evf-input-number[type=number]', function() {
64 $( '.evf_error_tip' ).fadeOut( '100', function() { $( this ).remove(); } );
65 })
66
67 .on( 'change', '.evf-input-meta-key[type=text], .evf-input-number[type=number]', function() {
68 var regex;
69
70 if ( $( this ).is( '.evf-input-number' ) ) {
71 regex = new RegExp( '[^-0-9]+', 'gi' );
72 } else {
73 regex = new RegExp( '[^a-z0-9_\-]+', 'gi' );
74 }
75
76 var value = $( this ).val();
77 var newvalue = value.replace( regex, '' );
78
79 if ( value !== newvalue ) {
80 $( this ).val( newvalue );
81 }
82 })
83
84 .on( 'keyup', '.evf-input-meta-key[type=text]', function() {
85 var regex, error;
86
87 if ( $( this ).is( '.evf-input-meta-key' ) ) {
88 regex = new RegExp( '[^a-z0-9_\-]+', 'gi' );
89 error = 'i18n_field_meta_key_error';
90 }
91
92 var value = $( this ).val();
93 var newvalue = value.replace( regex, '' );
94
95 if ( value !== newvalue ) {
96 $( document.body ).triggerHandler( 'evf_add_error_tip', [ $( this ), error, params ] );
97 } else {
98 $( document.body ).triggerHandler( 'evf_remove_error_tip', [ $( this ), error ] );
99 }
100 })
101
102 .on( 'keyup focus', '.evf-input-number[type=number]', function() {
103 var fieldId = $( this ).parent().data( 'fieldId' );
104 var maxField = $( "input#everest-forms-field-option-"+fieldId+"-max_value" );
105 var minField = $( "input#everest-forms-field-option-"+fieldId+"-min_value" );
106 var maxVal = maxField.val();
107 var minVal = minField.val();
108
109 if ( 0 !== minVal.length && 0 !== maxVal.length ) {
110 if ( parseFloat( minVal ) > parseFloat( maxVal ) ) {
111 if( $( this ).attr( 'id' ).indexOf( 'min_value' ) !== -1 ) {
112 $( document.body ).triggerHandler( 'evf_add_error_tip', [ $( this ), 'i18n_field_min_value_greater', params ] );
113 } else {
114 $( document.body ).triggerHandler( 'evf_add_error_tip', [ $( this ), 'i18n_field_max_value_smaller', params ] );
115 }
116 } else {
117 $( document.body ).triggerHandler( 'evf_remove_error_tip', [ $( this ), 'i18n_field_max_value_smaller' ] );
118 $( document.body ).triggerHandler( 'evf_remove_error_tip', [ $( this ), 'i18n_field_min_value_greater' ] );
119 }
120 }
121 })
122
123 .on( 'init_tooltips', function() {
124 $( '.tips, .help_tip, .everest-forms-help-tip, .everest-forms-help-tooltip, .everest-forms-icon' ).tooltipster( {
125 maxWidth: 200,
126 multiple: true,
127 interactive: true,
128 position: 'bottom',
129 contentAsHTML: true,
130 updateAnimation: false,
131 restoration: 'current',
132 functionInit: function( instance, helper ) {
133 var $origin = $( helper.origin ),
134 dataTip = $origin.attr( 'data-tip' );
135
136 if ( dataTip ) {
137 instance.content( dataTip );
138 }
139 }
140 } );
141 });
142
143 // Dynamic live binding on newly created elements.
144 $( 'body' ).on( 'mouseenter', '.evf-content-email-settings-inner .everest-forms-help-tooltip:not(.tooltipstered)', function() {
145 $( this ).tooltipster({
146 maxWidth: 200,
147 multiple: true,
148 interactive: true,
149 position: 'bottom',
150 contentAsHTML: true,
151 updateAnimation: false,
152 restoration: 'current',
153 functionInit: function( instance, helper ) {
154 var $origin = $( helper.origin ),
155 dataTip = $origin.attr( 'data-tip' );
156 if ( dataTip ) {
157 instance.content( dataTip );
158 }
159 }
160 });
161 $( this ).tooltipster( 'open' );
162 });
163
164 $( document ).on( 'click', '.everest-forms-email-add', function() {
165 $( '.evf-content-email-settings-inner .tooltipstered' ).tooltipster( 'destroy' );
166 });
167
168 // Tooltips
169 $( document.body ).trigger( 'init_tooltips' );
170
171 // Check for new form entries using Heartbeat API.
172 $( document ).on( 'heartbeat-send', function( event, data ) {
173 var $entriesList = $( '#everest-forms-entries-list' ),
174 form_id = $entriesList.find( '#entries-list' ).data( 'form-id' );
175 last_entry_id = $entriesList.find( '#entries-list' ).data( 'last-entry-id' );
176
177 // Work on entry list table page and check if last entry ID is found.
178 if ( ! $entriesList.length || typeof last_entry_id === 'undefined' ) {
179 return;
180 }
181
182 // Add custom entries data to Heartbeat data.
183 data.evf_new_entries_form_id = form_id;
184 data.evf_new_entries_last_entry_id = last_entry_id;
185 });
186
187 // Display entries list notification if Heartbeat API new form entries check is successful.
188 $( document ).on( 'heartbeat-tick', function ( event, data ) {
189 var $entriesList = $( '#everest-forms-entries-list' ),
190 columnsCount = $entriesList.find( '.wp-list-table thead tr:first-child > :visible' ).length;
191
192 // Work on entry list table page and check for new entry notification.
193 if ( ! $entriesList.length || ! data.evf_new_entries_notification ) {
194 return;
195 }
196
197 if ( ! $entriesList.find( '.new-entries-notification' ).length ) {
198 $entriesList.find( '.wp-list-table thead' ).append( '<tr class="new-entries-notification"><td colspan="' + columnsCount + '"><a href="#new" onClick="window.location.reload(true);"></a></td></tr>' );
199 }
200
201 $entriesList
202 .find( '.new-entries-notification a' )
203 .text( data.evf_new_entries_notification )
204 .slideDown( {
205 duration : 500,
206 start : function () {
207 $( this ).css( {
208 display: 'block'
209 } );
210 }
211 } );
212 });
213
214 // To play welcome video.
215 $( document ).on( 'click', '#everest-forms-welcome .welcome-video-play', function( event ) {
216 var video = '<div class="welcome-video-container"><iframe width="760" height="429" src="https://www.youtube.com/embed/N_HbZccA-Ts?rel=0&amp;showinfo=0&amp;autoplay=1" frameborder="0" allowfullscreen></iframe></div>';
217
218 event.preventDefault();
219
220 $(this).find('.everest-froms-welcome-thumb').remove();
221 $(this).append(video);
222 });
223
224 // Change span with file name when user selects a file.
225 $( '#everest-forms-import' ).change( function(e) {
226 var file = $( '#everest-forms-import' ).prop( 'files' )[0];
227
228 $( '#import-file-name' ).html( file.name );
229 });
230
231 $( '.everest-forms-export-form-action' ).on( 'click', function() {
232 var form_id = $( this ).closest( '.everest-forms-export-form' ).find( '#everest-forms-form-export' ).val();
233
234 $( this ).closest( '.everest-forms-export-form' ).find( '#message' ).remove();
235
236 if ( ! form_id ) {
237 $( this ).closest( '.everest-forms-export-form' ).find( 'h3' ).after( '<div id="message" class="error inline everest-froms-import_notice"><p><strong>' + everest_forms_admin.i18n_form_export_action_error + '</strong></p></div>' );
238 return false;
239 }
240 });
241
242 $( '.everest_forms_import_action' ).on( 'click', function() {
243 var file_data = $( '#everest-forms-import' ).prop( 'files' )[0],
244 form_data = new FormData();
245
246 form_data.append( 'jsonfile', file_data );
247 form_data.append( 'action', 'everest_forms_import_form_action' );
248 form_data.append( 'security', everest_forms_admin.ajax_import_nonce );
249
250 $.ajax({
251 url: evf_email_params.ajax_url,
252 dataType: 'json', // JSON type is expected back from the PHP script.
253 cache: false,
254 contentType: false,
255 processData: false,
256 data: form_data,
257 type: 'POST',
258 beforeSend: function () {
259 var spinner = '<i class="evf-loading evf-loading-active"></i>';
260 $( '.everest_forms_import_action' ).closest( '.everest_forms_import_action' ).append( spinner );
261 $( '.everest-froms-import_notice' ).remove();
262 },
263 complete: function( response ) {
264 var message_string = '';
265
266 $( '.everest_forms_import_action' ).closest( '.everest_forms_import_action' ).find( '.evf-loading' ).remove();
267 $( '.everest-froms-import_notice' ).remove();
268
269 if ( true === response.responseJSON.success ) {
270 message_string = '<div id="message" class="updated inline everest-froms-import_notice"><p><strong>' + response.responseJSON.data.message + '</strong></p></div>';
271 } else {
272 message_string = '<div id="message" class="error inline everest-froms-import_notice"><p><strong>' + response.responseJSON.data.message + '</strong></p></div>';
273 }
274
275 $( '.everest-forms-import-form' ).find( 'h3' ).after( message_string );
276 $( '#everest-forms-import' ).val( '' );
277 }
278 });
279 });
280 })( jQuery, everest_forms_admin );
281