PageSourceSearch

https://www.gerstelus.com/wp-content/themes/hello-theme-child-master/assets/js/custom.js?v=88938912

js gerstelus.com collected 2026-09-26 04:06:55 UTC 14,145 bytes, 443 lines download raw bytes

1jQuery.noConflict(); 
2(function( $ ) { 
3	console.log('jquery ready...'); 
4	$(document).ready( function() {
5		$('.query_customposts__filter-title').click(function(e){
6			if($(this).hasClass('open')){
7				$(this).next('.query_customposts__filter-lists').stop().slideUp();
8				$(this).removeClass('open');
9			}else{
10				$(this).next('.query_customposts__filter-lists').stop().slideDown();
11				$(this).addClass('open');
12			}
13		});
14		$('.partners').slick({
15			arrows: true,
16			dots: false,
17			infinite: true,
18			autoplay: true,
19			autoplaySpeed: 5000,
20			slidesToShow: 1,
21			slidesToScroll: 1,
22			adaptiveHeight: true,
23			prevArrow: "<a rel='nofollow' href='javascript:;' class='slick-prev slick-arrow pull-left'><span>left</span></a>",
24			nextArrow: "<a rel='nofollow' href='javascript:;' class='slick-next slick-arrow pull-right'><span>right</span></a>"
25		});
26		$('.homeboxes').slick({
27			arrows: true,
28			dots: false,
29			infinite: true,
30			autoplay: true,
31			autoplaySpeed: 5000,
32			slidesToShow: 3,
33			slidesToScroll: 1,
34			prevArrow: "<a rel='nofollow' href='javascript:;' class='slick-prev slick-arrow pull-left'><span>left</span></a>",
35			nextArrow: "<a rel='nofollow' href='javascript:;' class='slick-next slick-arrow pull-right'><span>right</span></a>",
36			responsive: [
37				{
38					breakpoint: 991,
39					settings: {
40					slidesToShow: 3
41					}
42				},
43				{
44					breakpoint: 767,
45					settings: {
46					slidesToShow: 1
47					}
48				}
49			]
50		}).on('setPosition', function () {
51			resizeSlider();
52		});
53
54		var $carousel_posts = $('.query_carouselposts');
55		$carousel_posts.slick({
56			arrows: true,
57			dots: false,
58			rows: 2,
59			slidesToShow:3,
60			slidesToScroll:6,
61			prevArrow: "<a rel='nofollow' href='javascript:;' class='slick-prev slick-arrow pull-left'><span>left</span></a>",
62			nextArrow: "<a rel='nofollow' href='javascript:;' class='slick-next slick-arrow pull-right'><span>right</span></a>",
63			responsive: [
64				{
65					breakpoint: 1280,
66					settings: {
67					slidesToShow: 1,
68					slidesToScroll: 3,
69					rows: 2
70					}
71				},
72				{
73					breakpoint: 767,
74					settings: {
75					slidesToShow: 2,
76					slidesToScroll: 3,
77					rows: 2
78					}
79				}
80			]
81		});
82
83		var $sda_carousel = $('.sda_carousel');
84		$sda_carousel.slick({
85			arrows: true,
86			dots: false,
87			infinite: true,
88			autoplay: true,
89			autoplaySpeed: 5000,
90			slidesToShow: 1,
91			slidesToScroll: 1,
92			prevArrow: "<a rel='nofollow' href='javascript:;' class='slick-prev slick-arrow pull-left'><span>left</span></a>",
93			nextArrow: "<a rel='nofollow' href='javascript:;' class='slick-next slick-arrow pull-right'><span>right</span></a>"
94		}); 
95
96		function set_isotope_heights(){
97			var $window = $(window);
98			var windowsize = $window.width();
99			if (windowsize > 560) {
100				var maxHeight = 20;
101				$('.query_custompost__element-item').each(function() {
102					if ($(this).height() > maxHeight) {
103						maxHeight = $(this).height();
104					}
105				});
106				$('.query_custompost__element-item').height(maxHeight); 
107			}else{
108				$('.query_custompost__element-item').each(function() {
109					$('.query_custompost__element-item').height('auto'); 
110				});
111			}
112		}
113
114		set_isotope_heights();
115
116		// quick search regex
117		var qsRegex;
118		var buttonFilter;
119
120		//Ascending order
121		var responsiveIsotope = [ [480, 4] , [720, 8] ]; 
122
123		if($('.query_customposts').hasClass('with_filter')){
124			var itemsPerPageDefault = 6; 
125		}else{
126			var itemsPerPageDefault = 8; 
127		}
128		//var itemsPerPageDefault = 8; 
129		var currentNumberPages = 1;
130		var currentPage = 1;
131		var pagerLimit = 4;
132		var currentFilter = '*';
133		var filterAtribute = 'data-filter';
134		var pageAtribute = 'data-page';
135		var pagerClass = 'isotope-pager';
136
137		var itemSelector = '.query_custompost__element-item'; 
138
139		
140
141		$(window).on('resize', function (e) {
142		resizeSlider();
143		set_isotope_heights();
144
145		itemsPerPage = defineItemsPerPage();
146		setPagination();
147		goToPage(1);
148		});
149		var slickHeight = $('.homeboxes .slick-track').outerHeight();
150		var slideHeight = $('.homeboxes .slick-track').find('.slick-slide').outerHeight();
151		function resizeSlider(target) {
152			$('.homeboxes .slick-track').find('.slick-slide .slide-wrap').css('height', slickHeight + 'px');
153		}
154 
155		var $container = $('.query_customposts__grid.grid').isotope({
156			itemSelector: '.query_custompost__element-item',
157			layoutMode: 'fitRows',
158			filter: function() {
159				var $this = $(this);
160				var searchResult = qsRegex ? $this.text().match( qsRegex ) : true;
161				var buttonResult = currentFilter ? $this.is( buttonFilter ) : true;
162				return searchResult && buttonResult; 
163			}
164		});
165
166		var itemsPerPage = defineItemsPerPage();
167		setPagination();
168		goToPage(1);
169		 
170
171		function changeFilter(selector) {
172			console.log('selector: '+selector);
173			console.log('selector length: '+($(selector).length));
174			if(($(selector).length)>0){
175				$('.isotope-pager').removeClass('element__hide').addClass('element__flex');				
176			}else{
177				$('.isotope-pager').removeClass('element__flex').addClass('element__hide');
178			}
179			$container.isotope({
180				filter: selector
181			});
182		}
183
184		function goToPage(n) {
185			currentPage = n;
186
187			var selector = itemSelector;
188				selector += ( currentFilter != '*' ) ? '['+filterAtribute+'~="'+currentFilter+'"]' : '';
189				selector += '['+pageAtribute+'~="'+currentPage+'"]';
190				changeFilter(selector);
191			
192			console.log('pagination length: '+$('.'+pagerClass).length);
193
194			//pager active link function
195			var $withPager = ( $('.'+pagerClass).length == 0 ) ? false : true;
196			if($withPager){
197				console.log('$withPager: '+$withPager);
198				$('.'+pagerClass).children('.pager').removeClass('active');
199				$('.'+pagerClass).find('[data-page='+currentPage+']').addClass('active');
200			}else{
201				console.log('NO PAGER');
202			}
203				
204			console.log('goToPage('+n+')->changeFilter('+selector+')');  
205
206			//show or hide pager_chevrons
207			if(currentPage > 1){
208				$('.pager_prev').removeClass('element__hide').addClass('element__block');
209			}else{
210				$('.pager_prev').removeClass('element__block').addClass('element__hide');
211			}
212			console.log('pager_next condition '+(currentNumberPages - (pagerLimit-1)));
213			if((currentNumberPages - (pagerLimit-1)) <= n){
214				$('.pager_next').removeClass('element__block').addClass('element__hide');
215			}else{
216				$('.pager_next').removeClass('element__hide').addClass('element__block');
217			} 
218
219			console.log('pagerLimit -> '+pagerLimit);
220
221			for(var ind = 0; ind < currentNumberPages; ind++ ) {
222				var currentPagerTarget = '.pager['+pageAtribute+'='+(ind+1)+']';
223				console.log('currentPagerTarget = '+currentPagerTarget);
224				//$(currentPagerTarget).addClass('pager_hide');	
225			}
226			for(var j = 0; j < pagerLimit; j++ ){
227				var currentIndex = (parseInt(currentPage)+parseInt(j));
228				var currentPagerTargetShow = '.pager['+pageAtribute+'='+currentIndex+']';
229				console.log('currentPagerTargetShow = '+currentPagerTargetShow);
230				//$(currentPagerTargetShow).removeClass('pager_hide');
231			}
232			
233
234		}
235
236		function defineItemsPerPage() {
237			var pages = itemsPerPageDefault;
238
239			for( var i = 0; i < responsiveIsotope.length; i++ ) {
240				if( $(window).width() <= responsiveIsotope[i][0] ) {
241					pages = responsiveIsotope[i][1];
242					break;
243				}
244			}
245			console.log('defineItemsPerPage()->pages :'+pages);
246			return pages;
247		}
248		
249		function setPagination() {
250			var SettingsPagesOnItems = function(){
251				var itemsLength = $container.children(itemSelector).length;
252				var pages = Math.ceil(itemsLength / itemsPerPage);
253				var item = 1;
254				var page = 1;
255				var selector = itemSelector;
256					selector += ( currentFilter != '*' ) ? '['+filterAtribute+'~="'+currentFilter+'"]' : '';
257				
258				$container.children(selector).each(function(){
259					if( item > itemsPerPage ) {
260						page++;
261						item = 1;
262					}
263					$(this).attr(pageAtribute, page);
264					item++;
265				});
266				currentNumberPages = page; 
267			}();
268
269			var CreatePagers = function() { 
270				var $isotopePager = ( $('.'+pagerClass).length == 0 ) ? $('<div class="'+pagerClass+'"></div>') : $('.'+pagerClass);
271				$isotopePager.html('');
272				for( var i = 0; i < currentNumberPages; i++ ) { 
273					/*
274					if(i > pagerLimit){
275						var $pager = $('<a href="javascript:void(0);" class="pager pager_hide" '+pageAtribute+'="'+(i+1)+'"></a>');
276					}else{
277						var $pager = $('<a href="javascript:void(0);" class="pager" '+pageAtribute+'="'+(i+1)+'"></a>');
278					}
279					*/
280					var $pager = $('<a href="javascript:void(0);" class="pager" '+pageAtribute+'="'+(i+1)+'"></a>');
281					
282					$pager.html(i+1);	
283					$pager.click(function(){
284						var page = $(this).eq(0).attr(pageAtribute);
285						goToPage(page);
286					});
287					$pager.appendTo($isotopePager);
288				} 
289
290				$container.after($isotopePager);
291				console.log('currentNumberPages-> '+currentNumberPages);
292				if(currentNumberPages > 3){
293					console.log('add previous button? yes');
294					var addPrev = '<a rel="nofollow" href="javascript:void(0);" class="pager_chevron pager_prev"><i class="fas fa-chevron-left"></i></a>';					
295					$('.'+pagerClass).prepend(addPrev);
296					$('.pager_prev').click(function(){
297						console.log('pager_prev onclick callback working');
298						var prevPage = parseInt(currentPage) - 1;
299						goToPage(prevPage);
300					});
301					
302				}
303				if(currentNumberPages > 3){
304					console.log('add next button? yes');
305					var addNext = '<a rel="nofollow" href="javascript:void(0);" class="pager_chevron pager_next"><i class="fas fa-chevron-right"></i></a>';										
306					$('.'+pagerClass).append(addNext); 
307					$('.pager_next').click(function(){
308						console.log('pager_next onclick callback working');
309						var nextPage = parseInt(currentPage) + 1;						
310						goToPage(nextPage);
311					});
312				}
313
314			}();
315		}
316
317		
318		 
319		$('.query_customposts__filter-lists').on( 'click', '.filter_link', function() {
320			var $this = $(this);
321			quicksearch_removedata();
322			filterAtribute = 'data-filter';
323			if($this.hasClass('is_checked')){
324				console.log('checked');
325				buttonFilter = '*';
326				currentFilter = buttonFilter;
327				$container.isotope();
328				$this.removeClass('is_checked');
329				itemsPerPage = defineItemsPerPage();
330				setPagination();
331				goToPage(1);
332			}else{ 
333				buttonFilter = $( this ).attr('data-filter');
334				currentFilter = $( this ).attr('data-filter');
335				myfilter = '.'+$( this ).attr('data-filter');
336				console.log('unchecked, looking for .'+currentFilter);
337				$container.isotope({ filter: myfilter });
338				itemsPerPage = defineItemsPerPage();
339				setPagination();
340				goToPage(1);
341				$('.query_customposts__filter-lists .filter_link').removeClass('is_checked');
342				$this.addClass('is_checked');
343			} 
344			$('.query_customposts__filter-years .filter_link').removeClass('is_checked');
345		});
346		/*
347		$('.query_customposts__filter-years').on( 'click', '.filter_link', function() {
348			var $this = $(this);
349			quicksearch_removedata();
350			filterAtribute = 'data-filterdate';
351			if($this.hasClass('is_checked')){
352				console.log('checked');
353				buttonFilter = '*';
354				currentFilter = buttonFilter;
355				$container.isotope();
356				$this.removeClass('is_checked');
357				itemsPerPage = defineItemsPerPage();
358				setPagination();
359				goToPage(1);
360			}else{
361				console.log('unchecked');
362				buttonFilter = $( this ).attr('data-filterdate');
363				currentFilter = $( this ).attr('data-filterdate');
364				$container.isotope();
365				itemsPerPage = defineItemsPerPage();
366				setPagination();
367				goToPage(1);
368				$('.query_customposts__filter-years .filter_link').removeClass('is_checked');
369				$this.addClass('is_checked');
370			} 
371			$('.query_customposts__filter-lists .filter_link').removeClass('is_checked');
372		});
373		*/
374		function quicksearch_removedata(){ 
375			$container.children('.query_custompost__element-item').each(function(){
376				$(this).attr('data-searchfiltered', 'false');
377			});
378		}
379		function quicksearch_addData(){ 
380			var affected_elements = 0;
381			$container.children('.query_custompost__element-item').each(function(){
382				if( $(this).css("display") === "none" ){
383					affected_elements++;
384				}else{
385					$(this).attr('data-searchfiltered', 'true');
386				}				
387			});
388			console.log('affected_elements: '+affected_elements);
389		}
390		// use value of search field to filter
391		var $quicksearch = $('#query_customposts__search-input').keyup( debounce( function() { 
392			
393			if($quicksearch.val() == ''){
394				console.log('$quicksearch.val()->blank');
395				var currentFilter = '*';
396				var filterAtribute = 'data-filter'; 
397				itemsPerPage = defineItemsPerPage();
398				setPagination();
399				goToPage(1);
400				$('.isotope-pager').removeClass('element__hide').addClass('element__flex');
401			}else{
402				console.log('$quicksearch.val()->'+$quicksearch.val());
403				filterAtribute = 'data-searchfiltered';
404				currentFilter = 'true';
405				qsRegex = new RegExp( $quicksearch.val(), 'gi' );
406				quicksearch_removedata();
407				console.log('qsRegex: '+qsRegex);
408				var filtered_elem = $container.isotope({ 
409					filter: function() {
410						return qsRegex ? $(this).text().match(qsRegex) : true;
411					}
412				});
413				quicksearch_addData();   
414				//$container.children('.query_custompost__element-item:hidden').data('searchfiltered', 'true');
415				//changeFilter(qsRegex);
416				itemsPerPage = defineItemsPerPage();
417				setPagination();
418				$('.isotope-pager').removeClass('element__flex').addClass('element__hide');
419				//goToPage(1);
420			}			
421			
422		}, 200 ) );
423
424
425	
426		// debounce so filtering doesn't happen every millisecond
427		function debounce( fn, threshold ) {
428			var timeout;
429			threshold = threshold || 100;
430			return function debounced() {
431			clearTimeout( timeout );
432			var args = arguments;
433			var _this = this;
434			function delayed() {
435				fn.apply( _this, args );
436			}
437			timeout = setTimeout( delayed, threshold );
438			};
439		} 
440	});
441	
442
443})( 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.