PageSourceSearch

https://isa-spain.org/wp-content/plugins/dynamic-visibility-for-elementor//assets/js/visibility.js?ver=5.0.1

js isa-spain.org collected 2026-10-03 20:22:41 UTC 3,409 bytes, 106 lines download raw bytes

1"use strict"
2
3jQuery(function($){
4	const initVisibility = ($e) => {
5		const e = $e[0];
6		if (! $e.hasClass('dce-visibility-event') || $e.hasClass('dce-visibility-event-initialized')) {
7			return;
8		}
9		$e.addClass('dce-visibility-event-initialized');
10		const settings = JSON.parse(e.dataset.settings);
11		const shouldHide = settings.dce_visibility_selected === 'hide';
12		const triggerElement = settings.dce_visibility_click;
13		const triggerEvent = settings.dce_visibility_event;
14		const triggerAnimation = settings.dce_visibility_click_show;
15		const hideOther = settings.dce_visibility_click_other;
16		const showOnLoad = settings.dce_visibility_load === 'yes';
17		const isToggle = settings.dce_visibility_click_toggle === 'yes';
18		const showOnLoadDelay = settings.dce_visibility_load_delay;
19		const showOnLoadAnimation = settings.dce_visibility_load_show;
20		const $hideOther = $(hideOther).not($e);
21		const transitionDelay = 400;
22		const afterShow = () => {
23			elementorFrontend.elementsHandler.runReadyTrigger($e);
24		}
25		const toggle = () => {
26			if ($e.hasClass('dce-visibility-element-hidden')) {
27				$e.removeClass('dce-visibility-element-hidden');
28				$e.hide();
29			}
30			if (triggerAnimation === 'slide') {
31				$e.delay(transitionDelay).slideToggle(transitionDelay, afterShow);
32			} else if(triggerAnimation === 'fade') {
33				$e.delay(transitionDelay).fadeToggle(transitionDelay, afterShow);
34			} else {
35				$e.toggle();
36				afterShow();
37			}
38		}
39		const show = () => {
40			// .removeClass and .hide are needed because otherwise .show will
41			// always set display to block:
42			$e.removeClass('dce-visibility-element-hidden');
43			$e.hide();
44			if (triggerAnimation === 'slide') {
45				$e.delay(transitionDelay).slideDown(transitionDelay, afterShow);
46			} else if(triggerAnimation === 'fade') {
47				$e.delay(transitionDelay).fadeIn(transitionDelay, afterShow);
48			} else {
49				$e.show();
50				afterShow();
51			}
52		}
53		const hide = () => {
54			if (triggerAnimation === 'slide') {
55				$e.delay(transitionDelay).slideUp(transitionDelay);
56			} else if(triggerAnimation === 'fade') {
57				$e.delay(transitionDelay).fadeOut(transitionDelay);
58			} else {
59				$e.hide();
60			}
61		}
62		const hideOtherElements = (callback) => {
63			if (triggerAnimation === 'slide') {
64				$hideOther.delay(transitionDelay).slideUp(transitionDelay, callback);
65			} else if(triggerAnimation === 'fade') {
66				$hideOther.delay(transitionDelay).fadeOut(transitionDelay, callback);
67			} else {
68				$hideOther.hide();
69				callback();
70			}
71		}
72		const triggerEventCallback = (event) => {
73			event.preventDefault();
74			const triggerFun = isToggle ? toggle : (shouldHide? hide : show);
75			if (hideOther) {
76				hideOtherElements(triggerFun);
77			} else {
78				triggerFun();
79			}
80		}
81		if (triggerElement) {
82			$(triggerElement).on(triggerEvent, triggerEventCallback);
83		}
84		if (showOnLoad) {
85			setTimeout(() => {
86				if (shouldHide) {
87					hide();
88					return;
89				}
90				$e.removeClass('dce-visibility-element-hidden');
91				$e.hide();
92				if (showOnLoadAnimation === 'slide') {
93					$e.slideToggle(transitionDelay, afterShow);
94				} else if(showOnLoadAnimation === 'fade') {
95					$e.fadeToggle(transitionDelay, afterShow);
96				} else {
97					$e.toggle();
98					afterShow();
99				}
100			}, showOnLoadDelay );
101		}
102	};
103	$(window).on('elementor/frontend/init', () => {
104		elementorFrontend.hooks.addAction('frontend/element_ready/global', initVisibility);
105	});
106});

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.