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 / assets / js / admin / tools.js
everest-forms / assets / js / admin Last commit date
admin.js 3 weeks ago admin.min.js 3 weeks ago chart.js 2 years ago chart.min.js 1 year ago customize-controls.js 1 year ago customize-controls.min.js 1 year ago customize-preview.js 1 year ago customize-preview.min.js 1 year ago deactivation-feedback.js 2 years ago deactivation-feedback.min.js 2 years ago editor.js 7 years ago editor.min.js 5 years ago everest-forms-survey-polls-quiz-builder.js 2 years ago everest-forms-survey-polls-quiz-builder.min.js 2 years ago evf-admin-email.js 2 years ago evf-admin-email.min.js 1 year ago evf-clipboard.js 7 years ago evf-clipboard.min.js 7 years ago evf-enhanced-select.js 3 years ago evf-enhanced-select.min.js 2 years ago evf-file-uploader.js 1 year ago evf-file-uploader.min.js 1 year ago evf-setup.js 1 year ago evf-setup.min.js 1 year ago extensions.js 2 years ago extensions.min.js 2 years ago form-builder.js 6 days ago form-builder.min.js 6 days ago form-template-controller.js 3 years ago form-template-controller.min.js 3 years ago printThis.min.js 2 years ago progressbar.js 2 years ago progressbar.min.js 1 year ago randomColor.js 2 years ago randomColor.min.js 2 years ago settings.js 3 weeks ago settings.min.js 3 weeks ago shortcode-form-embed.js 2 years ago shortcode-form-embed.min.js 2 years ago tool-import-entries.js 2 years ago tool-import-entries.min.js 2 years ago tools.js 3 weeks ago tools.min.js 3 weeks ago upgrade.js 3 weeks ago upgrade.min.js 3 weeks ago
tools.js
355 lines
1 /* global everest_forms_admin_tools */
2 jQuery(function ($) {
3
4 $(document).ready(function () {
5 const tabs = $('.everest-forms-tabs li');
6 const contents = $('.everest-forms-tab-content');
7
8 tabs.on('click', function () {
9 tabs.removeClass('active');
10 contents.removeClass('active');
11
12 $(this).addClass('active');
13 $('#' + $(this).data('tab')).addClass('active');
14 });
15 });
16
17 // collapse
18
19 // Handles collapse of side menu.
20 $("#evf-settings-collapse").on("click", function (e) {
21 e.preventDefault();
22 if ($(this).hasClass("close")) {
23 $(this).closest("header").addClass("collapsed");
24 $(this).removeClass("close").addClass("open");
25 setStorageValue("evf-settings-navCollapsed", true); // set to localStorage
26 } else {
27 $(this).closest("header").removeClass("collapsed");
28 $(this).removeClass("open").addClass("close");
29 localStorage.removeItem("evf-settings-navCollapsed"); // remove from localStorage
30 }
31 });
32
33 // Persist the collapsable state through page reload
34
35 var isNavCollapsed =
36 getStorageValue("evf-settings-navCollapsed") === true
37 ? "collapsed"
38 : "not-collapsed";
39 getStorageValue("evf-settings-navCollapsed");
40 if (isNavCollapsed == "collapsed") {
41 $(".everest-forms-header").addClass("collapsed");
42 $("#evf-settings-collapse").removeClass("close").addClass("open");
43 } else {
44 $(".everest-forms-header").removeClass("collapsed");
45 $("#evf-settings-collapse").removeClass("open").addClass("close");
46 }
47
48 // Set localStorage with expiry
49 function setStorageValue(key, value) {
50 var current = new Date();
51
52 var data = {
53 value: value,
54 expiry: current.getTime() + 86400000, // 1day of expiry time
55 };
56
57 localStorage.setItem(key, JSON.stringify(data));
58 }
59
60 // Get localStorage with expiry
61 function getStorageValue(key) {
62 var item = localStorage.getItem(key);
63
64 if (!item) {
65 return false;
66 }
67
68 var data = JSON.parse(item);
69 var current = new Date();
70
71 if (current.getTime() > data.expiry) {
72 localStorage.removeItem(key);
73 return false;
74 }
75 return true;
76 }
77
78
79 // Delete All Logs.
80 $("#log-viewer-select").on(
81 "click",
82 "h2 a.page-title-action-all",
83 function (evt) {
84 evt.stopImmediatePropagation();
85 return window.confirm(
86 everest_forms_admin_tools.delete_all_log_confirmation
87 );
88 }
89 );
90
91 $("#log-viewer-select").on(
92 "click",
93 "h2 a.page-title-action",
94 function (evt) {
95 evt.stopImmediatePropagation();
96 return window.confirm(
97 everest_forms_admin_tools.delete_log_confirmation
98 );
99 }
100 );
101 $("#everest-forms-form-migrator").on("change", function () {
102 var $this = $(this),
103 formSlug = $this.val();
104 if (typeof formSlug === "undefined" || formSlug === "") {
105 return;
106 }
107
108 var data = {
109 action: "everest_forms_form_migrator_forms_list",
110 form_slug: formSlug,
111 security:
112 everest_forms_form_migrator.evf_form_migrator_forms_list_nonce,
113 };
114
115 $.ajax({
116 url: everest_forms_form_migrator.ajax_url,
117 type: "POST",
118 dataType: "JSON",
119 data: data,
120 beforeSend: function () {
121 var spinner = '<i class="evf-loading evf-loading-active"></i>';
122 $this.closest(".evf-fm-select-popular-form").append(spinner);
123 },
124 success: function (res) {
125 if (res.success === true) {
126 $(document)
127 .find("#evf-fm-forms-list-container")
128 .html(res.data.forms_list_table);
129 } else {
130 $(document)
131 .find("#evf-fm-forms-list-container")
132 .html(res.data.message);
133 }
134 $this
135 .closest(".evf-fm-select-popular-form")
136 .find(".evf-loading")
137 .remove();
138 },
139 });
140 });
141 function evfRenderPaginationWindow( $pagination, currentPage ) {
142 var totalPages = parseInt( $pagination.data("fm-ceil") );
143 if ( totalPages <= 7 ) { return; }
144 var delta = 2;
145 var show = {};
146 show[1] = true; show[totalPages] = true;
147 for ( var i = Math.max( 2, currentPage - delta ); i <= Math.min( totalPages - 1, currentPage + delta ); i++ ) {
148 show[i] = true;
149 }
150 $pagination.find(".evf-fm-page").hide();
151 $pagination.find(".evf-fm-ellipsis").remove();
152 var prev = null;
153 Object.keys(show).map(Number).sort(function (a, b) { return a - b; }).forEach(function (page) {
154 var $btn = $pagination.find('[data-page="' + page + '"]');
155 if ( prev !== null && page - prev > 1 ) {
156 $btn.before('<span class="evf-fm-ellipsis">&#8230;</span>');
157 }
158 $btn.show(); prev = page;
159 });
160 }
161
162 $(document).ready(function () {
163 $(document).on("click", "#evf-fm-select-all", function () {
164 var checkList = $(document).find(".evf-fm-select-single:visible");
165 if ($(this).prop("checked") == true) {
166 $.each(checkList, function (index, value) {
167 $(value).attr("checked", true);
168 $(value).prop("checked", true);
169 });
170 } else {
171 $.each(checkList, function (index, value) {
172 $(value).attr("checked", false);
173 $(value).prop("checked", false);
174 });
175 }
176 });
177
178 $(document).on("click", ".evf-fm-select-single", function () {
179 $(document).find("#evf-fm-select-all").prop("checked", false);
180 });
181
182 $(document).on("click", ".evf-fm-page", function () {
183 if ($(this).hasClass("evf-fm-btn-active")) {
184 return;
185 }
186
187 var $pagination = $(this).closest(".evf-fm-pagination");
188 var currentPage = $(this).data("page");
189
190 $(".evf-fm-page").removeClass("evf-fm-btn-active");
191 $(this).addClass("evf-fm-btn-active");
192
193 evfRenderPaginationWindow( $pagination, currentPage );
194
195 var formTable = $(document).find(".evf-fm-forms-table");
196 var formPerPage = $pagination.data("form-per-page");
197
198 var start = (currentPage - 1) * formPerPage + 1;
199 var end = start + formPerPage - 1;
200
201 var formRows = formTable.find(".evf-fm-row");
202
203 formRows.addClass("evf-fm-hide-row");
204
205 formRows.slice(start - 1, end).removeClass("evf-fm-hide-row");
206 });
207
208 //Import Single form.
209 $(document).on("click", ".evf-fm-import-single", function (e) {
210 e.preventDefault();
211 var form_id = $(this).data("form-id");
212 evf_fm_import_forms($(this), [form_id]);
213 });
214 //Import Selected form.
215 $(document).on("click", ".evf-fm-import-selected-btn", function (e) {
216 e.preventDefault();
217 var table = $(document).find(".evf-fm-forms-table"),
218 selected_forms = $(table).find(
219 "td .evf-fm-select-single:checked"
220 ),
221 formIds = [];
222 $.each(selected_forms, function (index, form) {
223 var formID = $(form).data("form-id");
224 formIds.push(formID);
225 });
226 if (formIds.length === 0) {
227 return;
228 }
229 evf_fm_import_forms($(this), formIds);
230 });
231 /**
232 *Form migrator impot forms ajax request.
233 * @param {object} $this
234 * @param {array} form_ids
235 * @returns
236 */
237 function evf_fm_import_forms($this, form_ids) {
238 var formSlug = $(document)
239 .find(".evf-fm-forms-table")
240 .data("form-slug");
241
242 if (typeof formSlug === "undefined" || formSlug === "") {
243 return;
244 }
245
246 var data = {
247 action: "everest_forms_form_migrator",
248 form_slug: formSlug,
249 form_ids: form_ids,
250 security: everest_forms_form_migrator.evf_form_migrator_nonce,
251 };
252
253 $.ajax({
254 url: everest_forms_form_migrator.ajax_url,
255 type: "POST",
256 dataType: "JSON",
257 data: data,
258 beforeSend: function () {
259 var spinner =
260 '<i class="evf-loading evf-loading-active"></i>';
261 $this.prop( "disabled", true ).after( spinner );
262 $(".everest-froms-import_notice").remove();
263 },
264 success: function (res) {
265 $(".everest-froms-import_notice").remove();
266 $(".evf-loading").remove();
267 $this.prop( "disabled", false );
268 var message_string = "";
269 if (true === res.success) {
270 var formDatas = res.data.form_data;
271 $.each(formDatas, function (formId, formData) {
272 if (formData !== false) {
273 var entryButton = $(
274 'button[data-form-id="' + formId + '"]'
275 );
276 var importedNotice = $(
277 'p[data-form-id="' + formId + '"]'
278 );
279
280 $(entryButton).prop("disabled", false);
281 $(importedNotice).text("Yes");
282 }
283 });
284 message_string =
285 '<div id="message" class="updated inline everest-froms-import_notice"><p><strong>' +
286 res.data.message +
287 "</strong></p></div>";
288 } else {
289 message_string =
290 '<div id="message" class="error inline everest-froms-import_notice"><p><strong>' +
291 res.data.message +
292 "</strong></p></div>";
293 }
294 $(document)
295 .find("#evf-fm-forms-list-container")
296 .prepend(message_string);
297 },
298 });
299 }
300
301 //Import Entry.
302 $(document).on("click", ".evf-fm-import-entry", function (e) {
303 e.preventDefault();
304 var $this = $(this),
305 formSlug = $(document)
306 .find(".evf-fm-forms-table")
307 .data("form-slug"),
308 formID = $this.data("form-id");
309
310 if (typeof formSlug === "undefined" || formSlug === "") {
311 return;
312 }
313
314 var data = {
315 action: "everest_forms_form_entry_migrator",
316 form_slug: formSlug,
317 form_id: formID,
318 security:
319 everest_forms_form_migrator.evf_form_entry_migrator_nonce,
320 };
321 $.ajax({
322 url: everest_forms_form_migrator.ajax_url,
323 type: "POST",
324 dataType: "JSON",
325 data: data,
326 beforeSend: function () {
327 var spinner =
328 '<i class="evf-loading evf-loading-active"></i>';
329 $this.closest("td").append(spinner);
330 $(".everest-froms-import_notice").remove();
331 },
332 success: function (res) {
333 $(".everest-froms-import_notice").remove();
334 $(".evf-loading").remove();
335 var message_string = "";
336 if (true === res.success) {
337 message_string =
338 '<div id="message" class="updated inline everest-froms-import_notice"><p><strong>' +
339 res.data.message +
340 "</strong></p></div>";
341 } else {
342 message_string =
343 '<div id="message" class="error inline everest-froms-import_notice"><p><strong>' +
344 res.data.message +
345 "</strong></p></div>";
346 }
347 $(document)
348 .find("#evf-fm-forms-list-container")
349 .prepend(message_string);
350 },
351 });
352 });
353 });
354 });
355