PageSourceSearch

https://iolanta-fedotova.ru/wp-content/plugins/magnetique-core//assets/js/scripts.js?ver=1.0

js iolanta-fedotova.ru collected 2026-10-09 21:46:28 UTC 6,283 bytes, 250 lines download raw bytes

1(function ($) {
2	"use strict";
3
4	/* Ajax load more posts */
5	$( '.art-ajax-load-more-posts-button' ).on( 'click', function( event ) {
6		event.preventDefault();
7
8		const $button = $( this ),
9			$buttonWrap = $button.closest( '.art-ajax-load-more-posts-button-wrap' ),
10			$wrapper = $button.closest( '.art-ajax-posts-wrapper' ),
11			$container = $wrapper.find( '.art-ajax-posts-container' ),
12			postType = $wrapper.data( 'postType' ),
13			templatePart = $wrapper.data( 'templatePart' ),
14			taxonomy = $wrapper.data( 'taxonomy' ),
15			count = $wrapper.data( 'count' ),
16			page = $wrapper.data( 'page' ),
17			order = $wrapper.data( 'order' ),
18			termId = $wrapper.data( 'termId' );
19
20		const obj = {
21			init: () => {
22				$buttonWrap.addClass( 'art-loading' );
23
24				obj.doAjax();
25			},
26			doAjax: () => {
27				const ajaxData = {
28					nonce: art_params.nonce,
29					action: 'art_load_more_posts',
30					art_post_type: postType,
31					art_template_part: templatePart,
32					art_taxonomy: taxonomy,
33					art_count: count,
34					art_page: page,
35					art_order: order,
36					art_term_id: termId,
37				};
38
39				$.post( art_params.ajaxurl, ajaxData, obj.ajaxCallback );
40			},
41			ajaxCallback: ( response ) => {
42				if ( true !== response.success ) {
43					return;
44				}
45
46				if ( 'hide' === response.load_more_visibility ) {
47					$buttonWrap.addClass( 'art-hide' );
48				}
49
50				$container.append( response.data );
51
52				$wrapper.data( 'page', response.current_page );
53
54				$buttonWrap.removeClass( 'art-loading' );
55			},
56		};
57
58		obj.init();
59	} );
60
61	/* Ajax term filter posts */
62	$( '.art-ajax-terms-list-item' ).on( 'click', function( event ) {
63		event.preventDefault();
64
65		if ( $( this ).hasClass( 'art-current-item' ) ) {
66			return;
67		}
68
69		const $button = $( this ),
70			$buttonsWrap = $button.closest( '.art-ajax-terms-list' ),
71			$wrapper = $button.closest( '.art-ajax-posts-wrapper' ),
72			$container = $wrapper.find( '.art-ajax-posts-container' ),
73			termId = $button.data( 'termId' ),
74			postType = $wrapper.data( 'postType' ),
75			templatePart = $wrapper.data( 'templatePart' ),
76			taxonomy = $wrapper.data( 'taxonomy' ),
77			count = $wrapper.data( 'count' ),
78			order = $wrapper.data( 'order' );
79
80		const obj = {
81			init: () => {
82				$wrapper.data( 'termId', termId );
83				$wrapper.data( 'page', 1 );
84				$wrapper.addClass( 'art-loading' );
85
86				obj.doAjax();
87			},
88			doAjax: () => {
89				const ajaxData = {
90					nonce: art_params.nonce,
91					action: 'art_term_filter_posts',
92					art_post_type: postType,
93					art_template_part: templatePart,
94					art_taxonomy: taxonomy,
95					art_count: count,
96					art_page: 1,
97					art_order: order,
98					art_term_id: termId,
99				};
100
101				$.post( art_params.ajaxurl, ajaxData, obj.ajaxCallback );
102			},
103			ajaxCallback: ( response ) => {
104				if ( true !== response.success ) {
105					return;
106				}
107
108				if ( 'hide' === response.load_more_visibility ) {
109					$wrapper.find( '.art-ajax-load-more-posts-button-wrap' ).addClass( 'art-hide' );
110				} else {
111					$wrapper.find( '.art-ajax-load-more-posts-button-wrap' ).removeClass( 'art-hide' );
112				}
113
114				$container.html( response.data );
115
116				$buttonsWrap.find( '.art-current-item' ).removeClass( 'art-current-item' );
117
118				$button.addClass( 'art-current-item' );
119
120				$wrapper.removeClass( 'art-loading' );
121			},
122		};
123
124		obj.init();
125	} );
126
127	$('.open-popup-link').magnificPopup({
128		type:'inline',
129		midClick: true, // Allow opening popup on middle mouse click. Always set it to true if you don't provide alternative source in href.
130
131		removalDelay: 300,
132		mainClass: 'my-mfp-zoom-in',
133
134		fixedContentPos: true,
135		fixedBgPos: true,
136		overflowY: 'auto'
137	});
138
139	let imagesSwiperTestimonials = function ($scope, $) {
140
141		let swiperTestimonials = new Swiper(".art-testimonials-swiper", {
142			slidesPerView: 3,
143			spaceBetween: 30,
144			navigation: {
145				nextEl: '.swiper-button-next',
146				prevEl: '.swiper-button-prev',
147			},
148			breakpoints: {
149				200: {
150					slidesPerView: 1,
151				},
152				767: {
153					slidesPerView: 2,
154				},
155				980: {
156					slidesPerView: 3,
157				},
158			}
159		});
160
161	}
162
163	let imagesSwiperTestimonialsTwo = function ($scope, $) {
164
165		let swiperTestimonials = new Swiper(".art-testimonials-two-swiper", {
166			slidesPerView: 3,
167			spaceBetween: 30,
168			navigation: {
169				nextEl: '.swiper-button-next',
170				prevEl: '.swiper-button-prev',
171			},
172			breakpoints: {
173				200: {
174					slidesPerView: 1,
175				},
176				767: {
177					slidesPerView: 2,
178				},
179				980: {
180					slidesPerView: 3,
181				},
182			}
183		});
184
185	}
186
187	let floaatImages = function ($scope, $) {
188
189		// Paroller
190		$("[data-paroller-factor]").paroller();
191		$(".art-paroller-image").paroller();
192
193	}
194
195
196	let accordionTabs = function ($scope, $) {
197
198		// Accordion tabs
199		$('.art-accordion-menu-tabs li').on('click', function(){
200
201			var widget_itself = $(this),
202				widget_parent_tabs = widget_itself.parent(),
203				//widget_parent_content = widget_itself.parent().parent().find('.art-accordion-menu-info'),
204				widget_parent_content = widget_itself.parent().parent().parent().find('.art-accordion-menu-info'),
205				selected_button = widget_itself.data('id');
206
207			widget_parent_tabs.find('li').removeClass('art-active').addClass('art-no-active');
208			widget_itself.removeClass('art-no-active').addClass('art-active');
209
210			widget_parent_content.find('.art-accordion-item').hide();
211			widget_parent_content.find('.art-accordion-item[data-id="' + selected_button + '"]').fadeIn();
212
213		});
214
215	}
216
217
218	$(window).on("elementor/frontend/init", function () {
219
220		elementorFrontend.hooks.addAction(
221			"frontend/element_ready/art-testimonials.default",
222			imagesSwiperTestimonials
223		);
224
225		elementorFrontend.hooks.addAction(
226			"frontend/element_ready/art-testimonials-two.default",
227			imagesSwiperTestimonialsTwo
228		);
229
230		elementorFrontend.hooks.addAction(
231			"frontend/element_ready/art-accordion-tabs.default",
232			accordionTabs
233		);
234
235		/*elementorFrontend.hooks.addAction(
236			"frontend/element_ready/art-floating-image.default",
237			floaatImages
238		);*/
239
240	});
241
242	$("[data-paroller-factor]").paroller();
243	$(".art-paroller-image").paroller();
244
245
246})
247(jQuery);
248
249
250

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.