PluginProbe ʕ •ᴥ•ʔ
Everest Forms – Contact Form, Payment Form, Quiz, Survey & Custom Form Builder with AI / 3.5.2
Everest Forms – Contact Form, Payment Form, Quiz, Survey & Custom Form Builder with AI v3.5.2
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 / addons / CleanTalk / assets / js / admin / admin.js
everest-forms / addons / CleanTalk / assets / js / admin Last commit date
admin.js 1 year ago admin.min.js 1 year ago
admin.js
225 lines
1 ( function ($) {
2 const EVFCleanTalk = {
3
4 init: function () {
5 $( document ).ready( function () {
6 EVFCleanTalk.bindCleanTalkInit();
7
8 $( document).on('click', '#everest-forms-clean-talk-save-settings', function (e) {
9 e.preventDefault();
10 EVFCleanTalk.saveCleanTalkSettings( $( this ) );
11 });
12
13 $( document ).on( 'click', '.everest-forms-warning-text-link', function (e){
14 $.confirm({
15 title: '',
16 boxWidth: '690px',
17 useBootstrap: false,
18 content: everest_forms_clean_talk.output,
19 buttons: {
20 formSubmit: {
21 text: 'Save Settings',
22 btnClass: 'everest-forms-btn everest-forms-btn-primary everest-forms-clean_talk__submit',
23 action: function () {
24 var modal = this;
25 var accessKey = modal.$content.find('.everest-forms-clean-talk-access-key').val().trim();
26 var messageContainer = modal.$content.find('.everest-forms-clean-talk-error-message-container');
27
28 const data = {
29 action: 'everest_forms_save_clean_talk_settings',
30 security: everest_forms_clean_talk.security,
31 form_data: { 'access_key': accessKey },
32 is_clean_talk_enabled:'yes',
33 };
34
35 EVFCleanTalk.sendAjaxRequest( data, messageContainer );
36 messageContainer.hide();
37 return false;
38 }
39 }
40 },
41 onContentReady: function () {
42 // This function is called when the content is ready
43 }
44 });
45
46 });
47 $( document ).on( 'click', '.everest-forms-update-clean-talk-key-button', function (e){
48
49 e.preventDefault();
50 var accessKey = $( this ).data( 'access-key' );
51
52 $.confirm({
53 title: '',
54 boxWidth: '690px',
55 useBootstrap: false,
56 content: everest_forms_clean_talk.output,
57 buttons: {
58 formSubmit: {
59 text: 'Save Settings',
60 btnClass: 'everest-forms-btn everest-forms-btn-primary everest-forms-clean_talk__submit',
61 action: function () {
62 var modal = this;
63 var accessKey = modal.$content.find('.everest-forms-clean-talk-access-key').val().trim();
64 var messageContainer = modal.$content.find('.everest-forms-clean-talk-error-message-container');
65
66 const data = {
67 action: 'everest_forms_save_clean_talk_settings',
68 security: everest_forms_clean_talk.security,
69 form_data: { 'access_key': accessKey },
70 is_clean_talk_enabled:'yes',
71 };
72
73 EVFCleanTalk.sendAjaxRequest( data, messageContainer );
74 messageContainer.hide();
75 return false;
76 }
77 }
78 },
79 onContentReady: function () {
80 $( document ).find( '.everest-forms-clean-talk-access-key' ).val( accessKey );
81 }
82 });
83 })
84 });
85 },
86
87 /**
88 * Bind CleanTalk toggle for form field settings.
89 */
90 bindCleanTalkInit: function () {
91 const cleanTalkEnabler = $('#everest-forms-panel-field-settings-cleantalk');
92 EVFCleanTalk.cleanTalkToggle(cleanTalkEnabler);
93
94 $(document).on('change', '#everest-forms-panel-field-settings-cleantalk', function () {
95 EVFCleanTalk.cleanTalkToggle($(this));
96 });
97 },
98
99 /**
100 * Toggle visibility of CleanTalk protection type in field settings.
101 */
102 cleanTalkToggle: function (cleanTalkEnabler) {
103 if ($(cleanTalkEnabler).is(':checked')) {
104
105 $('.everest-forms-cleantalk-protection-type, .everest-forms-warning-container').show();
106 } else {
107 $('.everest-forms-cleantalk-protection-type, .everest-forms-warning-container').hide();
108 }
109 },
110 /**
111 * Show/hide CleanTalk settings based on the selected method.
112 */
113 saveCleanTalkSettings: function ( $el ) {
114
115 const $form = $('#everest-forms-clean-talk-settings-form'),
116 accessKey = $form.find( '#everest_forms_recaptcha_cleantalk_access_key' ).val().trim();
117
118 const data = {
119 action: 'everest_forms_save_clean_talk_settings',
120 security: everest_forms_clean_talk.security,
121 form_data: { 'access_key': accessKey },
122 is_clean_talk_enabled:'yes',
123 };
124
125 const $button = $el;
126
127 $.ajax({
128 type: 'POST',
129 url: everest_forms_clean_talk.ajax_url,
130 data: data,
131 beforeSend : function() {
132 var spinner = '<i class="evf-loading evf-loading-active"></i>';
133 $button.append( spinner );
134 $button.attr( 'disabled', true );
135 $button.css({
136 cursor: 'not-allowed',
137 opacity: 0.5
138 });
139 },
140 success: function (response) {
141 $button.find('.evf-loading').remove();
142 const killUnloadPrompt = setInterval(function () {
143 window.onbeforeunload = null;
144 $(window).off('beforeunload');
145 }, 500);
146
147 setTimeout(function () {
148 clearInterval(killUnloadPrompt);
149 }, 5000);
150
151 const $messageBox = $( document ).find( '.evf-clean-talk-message' ).show();
152 $messageBox.empty();
153 $messageBox.append( response.data.html );
154
155 $messageBox.removeClass( 'evf-error-message' );
156 $messageBox.removeClass( 'evf-success-message' );
157 if (response.success) {
158 $messageBox.addClass( 'evf-success-message' );
159 } else {
160 if ( 'empty' === response.data.error ) {
161 $messageBox.addClass( 'evf-error-message' );
162 }else{
163 $messageBox.addClass( 'evf-error-message' );
164 }
165 }
166
167 $button.attr( 'disabled', false );
168 $button.css({
169 cursor: '',
170 opacity: 1
171 });
172 },
173 error: function () {
174 alert('Error saving settings.');
175 $button.val(originalText);
176 }
177 });
178 },
179
180 /**
181 * Send AJAX request to CleanTalk server.
182 * @param {Object} data - The data to send in the AJAX request.
183 * @param {jQuery} messageContainer - The jQuery object to display messages.
184 * @returns {boolean} - Returns false to prevent default form submission.
185 */
186 sendAjaxRequest: function ( data, messageContainer ) {
187 $.ajax({
188 type: 'POST',
189 url: everest_forms_clean_talk.ajax_url,
190 data: data,
191 success: function (response) {
192 messageContainer.removeClass( 'evf-error-message' );
193 messageContainer.removeClass( 'evf-success-message' );
194
195 if (response.success) {
196 $( document ).find('.everest-forms-warning-container').hide();
197 var updateBtn = $( document ).find( '.everest-forms-update-clean-talk-key-button' );
198 updateBtn.removeClass( 'everest-forms-hidden' );
199 updateBtn.data( 'access-key', data.form_data.access_key );
200 messageContainer.hide();
201 messageContainer.addClass( 'evf-success-message' );
202 messageContainer
203 .html(response.data.html)
204 .show();
205 }else if( 'invalid' === response.data.error ) {
206 messageContainer.addClass( 'evf-error-message' );
207 messageContainer
208 .html(response.data.html)
209 .show();
210 }else if( 'empty' === response.data.error ) {
211 messageContainer.addClass( 'evf-error-message' );
212 messageContainer
213 .html(response.data.html)
214 .show();
215 }
216
217 }
218 });
219 }
220
221 };
222
223 EVFCleanTalk.init();
224 })(jQuery);
225