PageSourceSearch

https://lakecomotravel.com/wp-content/plugins/conditional-logic-fo…/libs/conditional_logic.js?ver=1790941914

js lakecomotravel.com collected 2026-10-02 11:52:43 UTC 17,329 bytes, 491 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				case "array":
91					if (value !== undefined && value !== null) {
92						var values = value.split(',').map(function (v) { return v.trim(); });
93						var user_vals = String(value_id).split(',').map(function (v) { return v.trim(); });
94						for (var i = 0; i < user_vals.length; i++) {
95							if (user_vals[i] !== "" && values.indexOf(user_vals[i]) !== -1) {
96								rs = true;
97								break;
98							}
99						}
100					}
101					break;
102				case "!array":
103					if (value !== undefined && value !== null) {
104						var values = value.split(',').map(function (v) { return v.trim(); });
105						var user_vals = String(value_id).split(',').map(function (v) { return v.trim(); });
106						rs = true;
107						for (var i = 0; i < user_vals.length; i++) {
108							if (user_vals[i] !== "" && values.indexOf(user_vals[i]) !== -1) {
109								rs = false;
110								break;
111							}
112						}
113					}
114					break;
115				case "array_contain":
116					if (value !== undefined && value !== null) {
117						var values = value.split(',').map(function (v) { return v.trim(); });
118						var value_id_str = String(value_id);
119						$.each(values, function (idx, vl) {
120							if (vl !== "" && value_id_str.includes(vl)) {
121								rs = true;
122								return false;
123							}
124						});
125					}
126					break;
127				case "!array_contain":
128					if (value !== undefined && value !== null) {
129						var values = value.split(',').map(function (v) { return v.trim(); });
130						var value_id_str = String(value_id);
131						rs = true;
132						$.each(values, function (idx, vl) {
133							if (vl !== "" && value_id_str.includes(vl)) {
134								rs = false;
135								return false;
136							}
137						});
138					}
139					break;
140			}
141			return rs;
142		}
143		function elementor_conditional_logic_load(form, event = "") {
144			var datas = $(".conditional_logic_data_js", form).val();
145			if (datas === undefined || datas == "" || datas == "[]") {
146				return;
147			}
148			datas = jQuery.parseJSON(datas);
149			$.each(datas, function (field_key, field_value) {
150				if (field_key == "elementor-field-type-submit") {
151					var field = $(".elementor-field-type-submit", form);
152				} else {
153					var field = elementor_conditional_logic_get_element_by_id(field_key, form);
154				}
155
156				var display = field_value.display;
157				var trigger = field_value.trigger;
158				var rs = [];
159				$.each(field_value.datas, function (conditional_logic_key, conditional_logic_values) {
160					var value_id = elementor_conditional_logic_get_value_by_id(conditional_logic_values.conditional_logic_id, form);
161					rs.push(elementor_conditional_logic_check_single(value_id, conditional_logic_values.conditional_logic_operator, conditional_logic_values.conditional_logic_value));
162				})
163				if (trigger == "ALL") {
164					var check_rs = true;
165					$.each(rs, function (fkey, fvalue) {
166						if (fvalue == false) {
167							check_rs = false;
168							return false;
169						}
170					})
171					if (display == "show") {
172						if (check_rs == true) {
173							field.removeClass("hidden");
174							elementor_conditional_logic_fixed_required_show(field, event);
175						} else {
176							field.addClass("hidden");
177							field.find('input').removeAttr('required');
178							elementor_conditional_logic_fixed_required_hidden(field);
179						}
180					} else {
181						if (check_rs == true) {
182							field.addClass("hidden");
183							field.find('input').removeAttr('required');
184							elementor_conditional_logic_fixed_required_hidden(field);
185						} else {
186							field.removeClass("hidden");
187							elementor_conditional_logic_fixed_required_show(field, event);
188						}
189					}
190				} else {
191					var check_rs = false;
192					$.each(rs, function (fkey, fvalue) {
193						if (fvalue == true) {
194							check_rs = true;
195							return false;
196						}
197					})
198					if (display == "show") {
199						if (check_rs == true) {
200							field.removeClass("hidden");
201							elementor_conditional_logic_fixed_required_show(field, event);
202						} else {
203							field.addClass("hidden");
204							field.find('input').removeAttr('required');
205							elementor_conditional_logic_fixed_required_hidden(field);
206						}
207					} else {
208						if (check_rs == true) {
209							field.addClass("hidden");
210							elementor_conditional_logic_fixed_required_hidden(field);
211						} else {
212							field.removeClass("hidden");
213							elementor_conditional_logic_fixed_required_show(field, event);
214						}
215					}
216				}
217			});
218		}
219		function elementor_conditional_logic_fixed_required_show(field, event) {
220			if (field.find(".elementor-field-repeater-data").length > 0) {
221				var fields_repeater = field.find(".elementor-field-required");
222				fields_repeater.each(function (index) {
223					elementor_conditional_logic_fixed_required_show_repeater($(this), event)
224				});
225				return;
226			} else {
227				elementor_conditional_logic_fixed_required_show_repeater(field, event)
228			}
229		}
230		function elementor_conditional_logic_fixed_required_show_repeater(field, event) {
231			if (field.hasClass("elementor-field-type-radio")) {
232				var value = field.data("check_required");
233				if (value == "yes") {
234					field.data("check_required", "no");
235					field.removeAttr("data-check_required");
236					field.find("input").last().prop("checked", false);
237				}
238			}
239			else if (field.hasClass("elementor-field-type-date")) {
240				var value = field.find("input").val();
241				if (value == "1023-01-01") {
242					field.find("input").val("");
243				}
244			}
245			else if (field.hasClass("elementor-field-type-time")) {
246				var value = field.find("input").val();
247				if (value == "11:47") {
248					field.find("input").val("");
249				}
250			}
251			else if (field.hasClass("elementor-field-type-tel")) {
252				var value = field.find("input").val();
253				if (value == "1234567892") {
254					field.find("input").val("");
255				}
256			}
257			else if (field.hasClass("elementor-field-type-telephone")) {
258				var value = field.find("input").val();
259				if (value == "+84372344123") {
260					field.find("input").val("");
261				}
262			}
263			else if (field.hasClass("elementor-field-type-url")) {
264				var value = field.find("input").val();
265				if (value == "https://rednumber_dev_check.com") {
266					field.find("input").val("");
267				}
268			}
269			else if (field.hasClass("elementor-field-type-email")) {
270				var value = field.find("input").val();
271				if (value == "[email protected]") {
272					field.find("input").val("");
273				}
274			}
275			else if (field.hasClass("elementor-field-type-number")) {
276				var value = field.find("input").val();
277				if (value == "29081990") {
278					field.find("input").val("");
279				}
280			} else if (field.hasClass("elementor-field-type-select")) {
281				var value = field.find("select").data("check_required");
282				if (value == "yes") {
283					field.find("select").data("check_required", "no");
284					field.find("select").removeAttr("data-check_required");
285					field.find("select option:last").removeAttr("selected");
286				}
287			}
288			else if (field.hasClass("elementor-field-type-textarea")) {
289				var value = field.find(".elementor-field").val();
290				if (value == "rednumber_dev_check") {
291					field.find(".elementor-field").val("");
292				}
293			} else if (field.hasClass("elementor-field-type-yee_input_masks")) {
294				var value = field.find(".elementor-field").val();
295				if (value == "rednumber_dev_check") {
296					field.find(".elementor-field").val("");
297					field.find(".elementor-field").inputmask();
298				}
299			}
300			else if (field.hasClass("elementor-field-type-acceptance")) {
301				var last = field.find("input").data("logic-last");
302				if (!$(event.target).hasClass("elementor-acceptance-field")) {
303					field.find("input").prop("checked", last);
304				} else {
305					if (field.find("input").is(':checked')) {
306						field.find("input").data("logic-last", true);
307					} else {
308						field.find("input").data("logic-last", false);
309					}
310				}
311			}
312			else {
313				var value = field.find("input").val();
314				if (value == "rednumber_dev_check") {
315					field.find("input").val("");
316				}
317			}
318		}
319		function elementor_conditional_logic_fixed_required_hidden(field) {
320			if (field.find(".elementor-field-repeater-data").length > 0) {
321				var fields_repeater = field.find(".elementor-field-required");
322				fields_repeater.each(function (index) {
323					elementor_conditional_logic_fixed_required_hidden_repeater($(this))
324				});
325				return;
326			} else {
327				elementor_conditional_logic_fixed_required_hidden_repeater(field)
328			}
329		}
330		function elementor_conditional_logic_fixed_required_hidden_repeater(field) {
331			field.find("input").attr("aria-required");
332			field.find("input").removeAttr("required");
333			field.find("select").removeAttr("required");
334			field.find("textarea").removeAttr("required");
335			if (field.hasClass("elementor-field-type-radio")) {
336				var value = field.find("input:checked").val();
337				if (value === undefined) {
338					field.attr("data-check_required", "yes");
339					field.find("input").last().prop("checked", true);
340					field.find("input").last().attr("data-logic-last", true);
341				}
342			}
343			else if (field.hasClass("elementor-field-type-upload")) {
344				if (field.hasClass("elementor-field-required")) {
345					alert("Conditional logic: Please do not use required in the upload field");
346				}
347				field.find("input").removeAttr("aria-required");
348			}
349			else if (field.hasClass("elementor-field-type-html1")) {
350			}
351			else if (field.hasClass("elementor-field-type-date")) {
352				var value = field.find("input").val();
353				field.find("input").removeAttr("aria-required");
354				if (value == "") {
355					field.find("input").val("1023-01-01");
356				}
357			}
358			else if (field.hasClass("elementor-field-type-time")) {
359				var value = field.find("input").val();
360				field.find("input").removeAttr("aria-required");
361				if (value == "") {
362					field.find("input").val("11:47");
363				}
364			}
365			else if (field.hasClass("elementor-field-type-tel")) {
366				var value = field.find("input").val();
367				field.find("input").removeAttr("aria-required");
368				if (value == "") {
369					field.find("input").val("1234567892");
370				}
371			}
372			else if (field.hasClass("elementor-field-type-telephone")) {
373				var value = field.find("input").val();
374				field.find("input").removeAttr("aria-required");
375				if (value == "") {
376					field.find("input").val("+84372344123");
377				}
378			}
379			else if (field.hasClass("elementor-field-type-url")) {
380				var value = field.find("input").val();
381				field.find("input").removeAttr("aria-required");
382				if (value == "") {
383					field.find("input").val("https://rednumber_dev_check.com");
384				}
385			}
386			else if (field.hasClass("elementor-field-type-email")) {
387				var value = field.find("input").val();
388				field.find("input").removeAttr("aria-required");
389				if (value == "") {
390					field.find("input").val("[email protected]");
391				}
392			}
393			else if (field.hasClass("elementor-field-type-number")) {
394				var value = field.find("input").val();
395				field.find("input").removeAttr("aria-required");
396				field.find("input").removeAttr("min").removeAttr("max").removeAttr("aria-required");
397				if (value == "") {
398					field.find("input").val("29081990");
399				}
400			}
401			else if (field.hasClass("elementor-field-type-textarea")) {
402				var value = field.find("textarea").val();
403				field.find("textarea").removeAttr("aria-required");
404				if (value == "") {
405					field.find("textarea").val("rednumber_dev_check");
406				}
407			} else if (field.hasClass("elementor-field-type-select")) {
408				var value = field.find("select").val();
409				field.find("select").removeAttr("aria-required");
410				if (value == "") {
411					field.find("select").attr("data-check_required", "yes");
412					var myVal = field.find("select option:last").val();
413					field.find("select").val(myVal);
414				}
415			} else if (field.hasClass("elementor-field-type-acceptance")) {
416				if (field.find("input").is(':checked')) {
417					field.find("input").attr("data-logic-last", true);
418				} else {
419					field.find("input").removeAttr("aria-required");
420					field.find("input").attr("data-logic-last", false);
421					field.find("input").prop("checked", true);
422				}
423			} else if (field.hasClass("elementor-field-type-yee_input_masks")) {
424				var value = field.find("input").val();
425				field.find("input").removeAttr("aria-required");
426				if (value == "") {
427					field.find("input.elementor-field").inputmask("remove");
428					field.find("input.elementor-field").val("rednumber_dev_check");
429					field.find("input.yeeaddons_input_maks_check").val("yes")
430				}
431			}
432			else {
433				var value = field.find("input").val();
434				field.find("input").removeAttr("aria-required");
435				if (value == "") {
436					field.find("input").val("rednumber_dev_check");
437				}
438			}
439		}
440		function elementor_conditional_logic_get_value_by_id(id = "", form = "body") {
441			var rs = "";
442			if ($(".elementor-field-group-" + id, form).hasClass("elementor-field-type-radio")) {
443				if ($(".elementor-field-group-" + id + " input:checked", form).length > 0) {
444					rs = $(".elementor-field-group-" + id + " input:checked", form).val();
445				}
446			}
447			else if ($(".elementor-field-group-" + id, form).hasClass("elementor-field-type-checkbox")) {
448				var data = [];
449				$(".elementor-field-group-" + id + " input:checked", form).each(function () {
450					data.push($(this).val());
451				})
452				rs = data.join(", ");
453			}
454			else if ($(".elementor-field-group-" + id, form).hasClass("elementor-field-type-select")) {
455				rs = $(".elementor-field-group-" + id + " select", form).val();
456			} else if ($(".elementor-field-group-" + id, form).hasClass("elementor-field-type-textarea")) {
457				rs = $(".elementor-field-group-" + id + " textarea", form).val();
458			}
459			else if ($(".elementor-field-group-" + id, form).hasClass("elementor-field-type-acceptance")) {
460				if ($(".elementor-field-group-" + id + " input", form).is(':checked')) {
461					rs = "on";
462			
462	} else {
463					rs = "off";
464				}
465			}
466			else {
467				rs = $(".elementor-field-group-" + id + " input", form).val();
468			}
469			if (rs === undefined) {
470				return id;
471			} else {
472				return rs;
473			}
474		}
475		function elementor_conditional_logic_get_element_by_id(id = "", form = "") {
476			if ($('[data-id-repeater="form-field-' + id + '"]', form).length > 0) {
477				if ($('[data-id-repeater="form-field-' + id + '"]', form).length > 0) {
478					return $('[data-id-repeater="form-field-' + id + '"]', form).closest(".elementor-field-group");
479				} else {
480					return $('[data-id-repeater="form-field-' + id + '-0"]', form).closest(".elementor-field-group");
481				}
482			} else {
483				if ($("#form-field-" + id, form).length > 0) {
484					return $("#form-field-" + id, form).closest(".elementor-field-group");
485				} else {
486					return $("#form-field-" + id + "-0", form).closest(".elementor-field-group");
487				}
488			}
489		}
490	})
491})(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.