PageSourceSearch

https://truancyinterventiongeorgia.org/wp-content/plugins/conditio…/libs/conditional_logic.js?ver=1791585533

js truancyinterventiongeorgia.org collected 2026-10-09 22:39:13 UTC 15,647 bytes, 441 lines download raw bytes

1(function ($) {
2	"use strict";
3	$(document).ready(function () {
4		jQuery(document).on('elementor/popup/show', () => {
5			$(".elementor-form").each(function (index) {
6				var form = $(this).closest(".elementor-element");
7				elementor_conditional_logic_load(form);
8			});
9		});
10		$(document).on('submit_success', function (event, response) {
11			//Add your code or actions here.
12			if (response.data && response.data.redirect_url_new_tab) {
13				window.open(response.data.redirect_url_new_tab, '_blank');
14			}
15			//The response will hold the display message from the Form widget.
16		});
17		window.addEventListener('elementor/frontend/init', () => {
18			$(".elementor-form").each(function (index) {
19				var form = $(this).closest(".elementor-element");
20				elementor_conditional_logic_load(form);
21			});
22		});
23		$("body").on("change", ".elementor-form input,.elementor-form select,.elementor-form textarea", function (e) {
24			var form = $(this).closest(".elementor-element");
25			elementor_conditional_logic_load(form, event);
26		})
27		$("input").on("done_load_repeater", function (e, item) {
28			$(".elementor-form").each(function (index) {
29				var form = $(this).closest(".elementor-element");
30				elementor_conditional_logic_load(form);
31			});
32		})
33		function elementor_conditional_logic_check_single(value_id, operator, value) {
34			var rs = false;
35			switch (operator) {
36				case "==":
37					if (value_id == value) {
38						rs = true;
39					}
40					break;
41				case "!=":
42					if (value_id != value) {
43						rs = true;
44					}
45					break;
46				case "e":
47					if (value_id == "") {
48						rs = true;
49					}
50					break;
51				case "!e":
52					if (value_id != "") {
53						rs = true;
54					}
55					break;
56				case "c":
57					if (value_id.includes(value)) {
58						rs = true;
59					}
60					break;
61				case "!c":
62					if (!value_id.includes(value)) {
63						rs = true;
64					}
65					break;
66				case "^":
67					if (value_id.startsWith(value)) {
68						rs = true;
69					}
70					break;
71				case "~":
72					if (value_id.endsWith(value)) {
73						rs = true;
74					}
75					break;
76				case ">":
77					value_id = parseFloat(value_id);
78					value = parseFloat(value);
79					if (value_id > value) {
80						rs = true;
81					}
82					break;
83				case "<":
84					value_id = parseFloat(value_id);
85					value = parseFloat(value);
86					if (value_id < value) {
87						rs = true;
88					}
89					break;
90			}
91			return rs;
92		}
93		function elementor_conditional_logic_load(form, event = "") {
94			var datas = $(".conditional_logic_data_js", form).val();
95			if (datas === undefined || datas == "" || datas == "[]") {
96				return;
97			}
98			datas = jQuery.parseJSON(datas);
99			$.each(datas, function (field_key, field_value) {
100				if (field_key == "elementor-field-type-submit") {
101					var field = $(".elementor-field-type-submit", form);
102				} else {
103					var field = elementor_conditional_logic_get_element_by_id(field_key, form);
104				}
105
106				var display = field_value.display;
107				var trigger = field_value.trigger;
108				var rs = [];
109				$.each(field_value.datas, function (conditional_logic_key, conditional_logic_values) {
110					var value_id = elementor_conditional_logic_get_value_by_id(conditional_logic_values.conditional_logic_id, form);
111					rs.push(elementor_conditional_logic_check_single(value_id, conditional_logic_values.conditional_logic_operator, conditional_logic_values.conditional_logic_value));
112				})
113				if (trigger == "ALL") {
114					var check_rs = true;
115					$.each(rs, function (fkey, fvalue) {
116						if (fvalue == false) {
117							check_rs = false;
118							return false;
119						}
120					})
121					if (display == "show") {
122						if (check_rs == true) {
123							field.removeClass("hidden");
124							elementor_conditional_logic_fixed_required_show(field, event);
125						} else {
126							field.addClass("hidden");
127							field.find('input').removeAttr('required');
128							elementor_conditional_logic_fixed_required_hidden(field);
129						}
130					} else {
131						if (check_rs == true) {
132							field.addClass("hidden");
133							field.find('input').removeAttr('required');
134							elementor_conditional_logic_fixed_required_hidden(field);
135						} else {
136							field.removeClass("hidden");
137							elementor_conditional_logic_fixed_required_show(field, event);
138						}
139					}
140				} else {
141					var check_rs = false;
142					$.each(rs, function (fkey, fvalue) {
143						if (fvalue == true) {
144							check_rs = true;
145							return false;
146						}
147					})
148					if (display == "show") {
149						if (check_rs == true) {
150							field.removeClass("hidden");
151							elementor_conditional_logic_fixed_required_show(field, event);
152						} else {
153							field.addClass("hidden");
154							field.find('input').removeAttr('required');
155							elementor_conditional_logic_fixed_required_hidden(field);
156						}
157					} else {
158						if (check_rs == true) {
159							field.addClass("hidden");
160							elementor_conditional_logic_fixed_required_hidden(field);
161						} else {
162							field.removeClass("hidden");
163							elementor_conditional_logic_fixed_required_show(field, event);
164						}
165					}
166				}
167			});
168		}
169		function elementor_conditional_logic_fixed_required_show(field, event) {
170			if (field.find(".elementor-field-repeater-data").length > 0) {
171				var fields_repeater = field.find(".elementor-field-required");
172				fields_repeater.each(function (index) {
173					elementor_conditional_logic_fixed_required_show_repeater($(this), event)
174				});
175				return;
176			} else {
177				elementor_conditional_logic_fixed_required_show_repeater(field, event)
178			}
179		}
180		function elementor_conditional_logic_fixed_required_show_repeater(field, event) {
181			if (field.hasClass("elementor-field-type-radio")) {
182				var value = field.data("check_required");
183				if (value == "yes") {
184					field.data("check_required", "no");
185					field.removeAttr("data-check_required");
186					field.find("input").last().prop("checked", false);
187				}
188			}
189			else if (field.hasClass("elementor-field-type-date")) {
190				var value = field.find("input").val();
191				if (value == "1023-01-01") {
192					field.find("input").val("");
193				}
194			}
195			else if (field.hasClass("elementor-field-type-time")) {
196				var value = field.find("input").val();
197				if (value == "11:47") {
198					field.find("input").val("");
199				}
200			}
201			else if (field.hasClass("elementor-field-type-tel")) {
202				var value = field.find("input").val();
203				if (value == "1234567892") {
204					field.find("input").val("");
205				}
206			}
207			else if (field.hasClass("elementor-field-type-telephone")) {
208				var value = field.find("input").val();
209				if (value == "+84372344123") {
210					field.find("input").val("");
211				}
212			}
213			else if (field.hasClass("elementor-field-type-url")) {
214				var value = field.find("input").val();
215				if (value == "https://rednumber_dev_check.com") {
216					field.find("input").val("");
217				}
218			}
219			else if (field.hasClass("elementor-field-type-email")) {
220				var value = field.find("input").val();
221				if (value == "[email protected]") {
222					field.find("input").val("");
223				}
224			}
225			else if (field.hasClass("elementor-field-type-number")) {
226				var value = field.find("input").val();
227				if (value == "29081990") {
228					field.find("input").val("");
229				}
230			} else if (field.hasClass("elementor-field-type-select")) {
231				var value = field.find("select").data("check_required");
232				if (value == "yes") {
233					field.find("select").data("check_required", "no");
234					field.find("select").removeAttr("data-check_required");
235					field.find("select option:last").removeAttr("selected");
236				}
237			}
238			else if (field.hasClass("elementor-field-type-textarea")) {
239				var value = field.find(".elementor-field").val();
240				if (value == "rednumber_dev_check") {
241					field.find(".elementor-field").val("");
242				}
243			} else if (field.hasClass("elementor-field-type-yee_input_masks")) {
244				var value = field.find(".elementor-field").val();
245				if (value == "rednumber_dev_check") {
246					field.find(".elementor-field").val("");
247					field.find(".elementor-field").inputmask();
248				}
249			}
250			else if (field.hasClass("elementor-field-type-acceptance")) {
251				var last = field.find("input").data("logic-last");
252				if (!$(event.target).hasClass("elementor-acceptance-field")) {
253					field.find("input").prop("checked", last);
254				} else {
255					if (field.find("input").is(':checked')) {
256						field.find("input").data("logic-last", true);
257					} else {
258						field.find("input").data("logic-last", false);
259					}
260				}
261			}
262			else {
263				var value = field.find("input").val();
264				if (value == "rednumber_dev_check") {
265					field.find("input").val("");
266				}
267			}
268		}
269		function elementor_conditional_logic_fixed_required_hidden(field) {
270			if (field.find(".elementor-field-repeater-data").length > 0) {
271				var fields_repeater = field.find(".elementor-field-required");
272				fields_repeater.each(function (index) {
273					elementor_conditional_logic_fixed_required_hidden_repeater($(this))
274				});
275				return;
276			} else {
277				elementor_conditional_logic_fixed_required_hidden_repeater(field)
278			}
279		}
280		function elementor_conditional_logic_fixed_required_hidden_repeater(field) {
281			field.find("input").attr("aria-required");
282			field.find("input").removeAttr("required");
283			field.find("select").removeAttr("required");
284			field.find("textarea").removeAttr("required");
285			if (field.hasClass("elementor-field-type-radio")) {
286				var value = field.find("input:checked").val();
287				if (value === undefined) {
288					field.attr("data-check_required", "yes");
289					field.find("input").last().prop("checked", true);
290					field.find("input").last().attr("data-logic-last", true);
291				}
292			}
293			else if (field.hasClass("elementor-field-type-upload")) {
294				if (field.hasClass("elementor-field-required")) {
295					alert("Conditional logic: Please do not use required in the upload field");
296				}
297				field.find("input").removeAttr("aria-required");
298			}
299			else if (field.hasClass("elementor-field-type-html1")) {
300			}
301			else if (field.hasClass("elementor-field-type-date")) {
302				var value = field.find("input").val();
303				field.find("input").removeAttr("aria-required");
304				if (value == "") {
305					field.find("input").val("1023-01-01");
306				}
307			}
308			else if (field.hasClass("elementor-field-type-time")) {
309				var value = field.find("input").val();
310				field.find("input").removeAttr("aria-required");
311				if (value == "") {
312					field.find("input").val("11:47");
313				}
314			}
315			else if (field.hasClass("elementor-field-type-tel")) {
316				var value = field.find("input").val();
317				field.find("input").removeAttr("aria-required");
318				if (value == "") {
319					field.find("input").val("1234567892");
320				}
321			}
322			else if (field.hasClass("elementor-field-type-telephone")) {
323				var value = field.find("input").val();
324				field.find("input").removeAttr("aria-required");
325				if (value == "") {
326					field.find("input").val("+84372344123");
327				}
328			}
329			else if (field.hasClass("elementor-field-type-url")) {
330				var value = field.find("input").val();
331				field.find("input").removeAttr("aria-required");
332				if (value == "") {
333					field.find("input").val("https://rednumber_dev_check.com");
334				}
335			}
336			else if (field.hasClass("elementor-field-type-email")) {
337				var value = field.find("input").val();
338				field.find("input").removeAttr("aria-required");
339				if (value == "") {
340					field.find("input").val("[email protected]");
341				}
342			}
343			else if (field.hasClass("elementor-field-type-number")) {
344				var value = field.find("input").val();
345				field.find("input").removeAttr("aria-required");
346				field.find("input").removeAttr("min").removeAttr("max").removeAttr("aria-required");
347				if (value == "") {
348					field.find("input").val("29081990");
349				}
350			}
351			else if (field.hasClass("elementor-field-type-textarea")) {
352				var value = field.find("textarea").val();
353				field.find("textarea").removeAttr("aria-required");
354				if (value == "") {
355					field.find("textarea").val("rednumber_dev_check");
356				}
357			} else if (field.hasClass("elementor-field-type-select")) {
358				var value = field.find("select").val();
359				field.find("select").removeAttr("aria-required");
360				if (value == "") {
361					field.find("select").attr("data-check_required", "yes");
362					var myVal = field.find("select option:last").val();
363					field.find("select").val(myVal);
364				}
365			} else if (field.hasClass("elementor-field-type-acceptance")) {
366				if (field.find("input").is(':checked')) {
367					field.find("input").attr("data-logic-last", true);
368				} else {
369					field.find("input").removeAttr("aria-required");
370					field.find("input").attr("data-logic-last", false);
371					field.find("input").prop("checked", true);
372				}
373			} else if (field.hasClass("elementor-field-type-yee_input_masks")) {
374				var value = field.find("input").val();
375				field.find("input").removeAttr("aria-required");
376				if (value == "") {
377					field.find("input.elementor-field").inputmask("remove");
378					field.find("input.elementor-field").val("rednumber_dev_check");
379					field.find("input.yeeaddons_input_maks_check").val("yes")
380				}
381			}
382			else {
383				var value = field.find("input").val();
384				field.find("input").removeAttr("aria-required");
385				if (value == "") {
386					field.find("input").val("rednumber_dev_check");
387				}
388			}
389		}
390		function elementor_conditional_logic_get_value_by_id(id = "", form = "body") {
391			var rs = "";
392			if ($(".elementor-field-group-" + id, form).hasClass("elementor-field-type-radio")) {
393				if ($(".elementor-field-group-" + id + " input:checked", form).length > 0) {
394					rs = $(".elementor-field-group-" + id + " input:checked", form).val();
395				}
396			}
397			else if ($(".elementor-field-group-" + id, form).hasClass("elementor-field-type-checkbox")) {
398				var data = [];
399				$(".elementor-field-group-" + id + " input:checked", form).each(function () {
400					data.push($(this).val());
401				})
402				rs = data.join(", ");
403			}
404			else if ($(".elementor-field-group-" + id, form).hasClass("elementor-field-type-select")) {
405				rs = $(".elementor-field-group-" + id + " select", form).val();
406			} else if ($(".elementor-field-group-" + id, form).hasClass("elementor-field-type-textarea")) {
407				rs = $(".elementor-field-group-" + id + " textarea", form).val();
408			}
409			else if ($(".elementor-field-group-" + id, form).hasClass("elementor-field-type-acceptance")) {
410				if ($(".elementor-field-group-" + id + " input", form).is(':checked')) {
411					rs = "on";
412				} else {
413					rs = "off";
414				}
415			}
416			else {
417				rs = $(".elementor-field-group-" + id + " input", form).val();
418			}
419			if (rs === undefined) {
420				return id;
421			} else {
422				return rs;
423			}
424		}
425		function elementor_conditional_logic_get_element_by_id(id = "", form = "") {
426			if ($('[data-id-repeater="form-field-' + id + '"]', form).length > 0) {
427				if ($('[data-id-repeater="form-field-' + id + '"]', form).length > 0) {
428					return $('[data-id-repeater="form-field-' + id + '"]', form).closest(".elementor-field-group");
429				} else {
430					return $('[data-id-repeater="form-field-' + id + '-0"]', form).closest(".elementor-field-group");
431				}
432			} else {
433				if ($("#form-field-" + id, form).length > 0) {
434					return $("#form-field-" + id, form).closest(".elementor-field-group");
435				} else {
436					return $("#form-field-" + id + "-0", form).closest(".elementor-field-group");
437				}
438			}
439		}
440	})
441})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.