PageSourceSearch

https://www.fettspielen.de/wp-content/themes/huber/lib/scripts/ajax-loop.js?ver=7.1.2

js fettspielen.de collected 2026-10-02 20:53:35 UTC 14,742 bytes, 417 lines download raw bytes

1jQuery( function( $ ) {
2	
3	/*--------------------------------------------------------------
4	Default values
5	--------------------------------------------------------------*/
6
7	var cats_filtered = 0;
8	var templates_filtered = 0;
9	var orderby_filtered = 0;
10	var tab_cat_filtered = 0;
11	var pagenumber = 1;
12	
13	
14	/*--------------------------------------------------------------
15	Get current value
16	--------------------------------------------------------------*/
17
18	function gpCurrentValue( parent ) {
19		cats_filtered = parent.find( 'select[name="gp-filter-cats"]' ).val();
20		if ( parent.find( '.gp-template-type' ).length  > 0 ) {
21			templates_filtered = parent.find( '.gp-template-type:checked' ).map( function() {return this.value;} ).get().join( ',' );
22		}	
23		orderby_filtered = parent.find( 'select[name="gp-filter-orderby"]' ).val();
24		pagenumber = 1;
25	}
26		
27			   			
28	/*--------------------------------------------------------------
29	Load posts
30	--------------------------------------------------------------*/
31	
32	function gpLoadPosts( element ) { 	
33
34		var ajaxLoop = element.find( '.gp-ajax-loop' );	
35		var filterWrapper = element.find( '.gp-filter-wrapper' );
36
37		// Ajax query
38		$.ajax({
39			type: 'GET',
40			data: {
41				action: 'ghostpool_ajax_loop_action',
42				ghostpool_ajax_loop_nonce: ghostpool_ajax_loop.nonce,
43				querystring: ghostpool_ajax_loop.querystring,			
44				cats_filtered: cats_filtered,
45				templates_filtered: templates_filtered,
46				orderby_filtered: orderby_filtered,
47				tab_cat_filtered: tab_cat_filtered,
48				pagenumber: pagenumber,			
49				type: element.data('type'),
50				postid: element.data('postid'),
51				cats: element.data('cats'),
52				hubfields: element.data('hubfields'),
53				pageids: element.data('pageids'),
54				posttypes: element.data('posttypes'),
55				postassociation: element.data('postassociation'),
56				ranking: element.data('ranking'),
57				format: element.data('format'),
58				templates: element.data('templates'),
59				orderby: element.data('orderby'),
60				releasedatefrom: element.data('releasedatefrom'),
61				releasedateto: element.data('releasedateto'),
62				perpage: element.data('perpage'),
63				offset: element.data('offset'),
64				imagesizestandard: element.data('imagesizestandard'),
65				imagesizehub: element.data('imagesizehub'),
66				imagesizereview: element.data('imagesizereview'),
67				imagesizepreview: element.data('imagesizepreview'),
68				contentdisplay: element.data('contentdisplay'),
69				excerptlength: element.data('excerptlength'),
70				metareleasedate: element.data('metareleasedate'),
71				metaauthor: element.data('metaauthor'),
72				metadate: element.data('metadate'),
73				metacommentcount: element.data('metacommentcount'),
74				metaviews: element.data('metaviews'),
75				metalikes: element.data('metalikes'),
76				metafollowers: element.data('metafollowers'),
77				metacats: element.data('metacats'),
78				metatags: element.data('metatags'),
79				metahubfields: element.data('metahubfields'),
80				metasiterating: element.data('metasiterating'),
81				metauserrating: element.data('metauserrating'),
82				readmorelink: element.data('readmorelink'),
83				pagearrows: element.data('pagearrows'),
84				pagination: element.data('pagination'),
85				largeexcerptlength: element.data('largeexcerptlength'),
86				smallexcerptlength: element.data('smallexcerptlength'),
87				largemetareleasedate: element.data('largemetareleasedate'),
88				smallmetareleasedate: element.data('smallmetareleasedate'),
89				largemetaauthor: element.data('largemetaauthor'),
90				smallmetaauthor: element.data('smallmetaauthor'),
91				largemetadate: element.data('largemetadate'),
92				smallmetadate: element.data('smallmetadate'),
93				largemetacommentcount: element.data('largemetacommentcount'),
94				smallmetacommentcount: element.data('smallmetacommentcount'),
95				largemetaviews: element.data('largemetaviews'),
96				smallmetaviews: element.data('smallmetaviews'),
97				largemetalikes: element.data('largemetalikes'),
98				smallmetalikes: element.data('smallmetalikes'),
99				largemetafollowers: element.data('largemetafollowers'),
100				smallmetafollowers: element.data('smallmetafollowers'),
101				largemetacats: element.data('largemetacats'),
102				smallmetacats: element.data('smallmetacats'),
103				largemetatags: element.data('largemetatags'),
104				smallmetatags: element.data('smallmetatags'),
105				largemetahubfields: element.data('largemetahubfields'),
106				smallmetahubfields: element.data('smallmetahubfields'),
107				largemetasiterating: element.data('largemetasiterating'),
108				smallmetasiterating: element.data('smallmetasiterating'),
109				largemetauserating: element.data('largemetauserrating'),
110				smallmetauserrating: element.data('smallmetauserrating'),
111				largereadmorelink: element.data('largereadmorelink'),
112				smallreadmorelink: element.data('smallreadmorelink'),
113				release_date: element.data('release_date'),		
114				release_date_from: element.data('release_date_from'),	
115				release_date_to: element.data('release_date_to')	
116			},
117			dataType: 'html',
118			url: ghostpool_ajax_loop.ajaxurl,
119			success: function( data ) {	
120
121				$( 'section:last-child .gp-post-image' ).promise().done( function() {
122					ajaxLoop.html( data ).removeClass( 'gp-filter-loading' ).find( 'section' ).fadeIn();
123					element.find( '.gp-standard-pagination' ).hide();
124				});
125
126				// Needed for blog masonry positioning of page numbers
127				ajaxLoop.after( $( '.gp-blog-masonry .gp-ajax-pagination.gp-pagination-numbers' ) );
128				$( '.gp-blog-masonry .gp-ajax-pagination.gp-pagination-numbers:not(:first)' ).remove();
129
130				// If clicking ajax pagination numbers
131				element.find( '.gp-ajax-pagination.gp-pagination-numbers a' ).click( function() {
132					
133					if ( $( this ).hasClass( 'page-numbers' ) ) {
134						var parentElement = $( this ).parent().parent().parent().parent().parent().parent();
135					} else {
136						var parentElement = $( this ).parent().parent().parent().parent();	
137					}		
138					gpCurrentValue( parentElement );
139					
140					// Get page numbers from page links
141					var ajaxPagination = $( this );	
142						
143					if ( ajaxPagination.hasClass( 'prev' ) ) {
144						var pagelink = ajaxPagination.attr( 'href' );
145						if ( pagelink.match( 'pagenumber=2' ) ) {
146							pagenumber = 1;
147						} else {
148							var prev = pagelink.match(/\d+/);
149							pagenumber = prev[0];
150						}	
151					} else if ( ajaxPagination.hasClass( 'next' ) ) {
152						var next = ajaxPagination.attr( 'href' ).match(/\d+/);
153						pagenumber = next[0];
154					} else {
155						pagenumber = ajaxPagination.text();
156					}
157					
158					gpLoadPosts( element );
159
160					if ( ! element.is( '.gp-vc-element' ) ) {
161						$( 'html, body' ).animate({ scrollTop : 0 }, 0);
162					} else {
163						$( 'html, body' ).animate({ scrollTop: ( parentElement.offset().top - 200 ) }, 0);
164					}
165					
166					return false;
167				});
168				
169				// If clicking ajax pagination arrows
170				element.find( '.gp-ajax-pagination.gp-pagination-arrows a' ).click( function() {
171					
172					if ( $( this ).hasClass( 'page-numbers' ) ) {
173						var parentElement = $( this ).parent().parent().parent().parent().parent().parent();
174					} else {
175						var parentElement = $( this ).parent().parent().parent().parent();	
176					}		
177					gpCurrentValue( parentElement );
178					
179					// Get page numbers from page links
180					var ajaxPagination = $( this );	
181					
182					pagenumber = ajaxPagination.data( 'pagelink' );	
183					
184					gpLoadPosts( element );
185
186					if ( ! element.is( '.gp-vc-element' ) ) {
187						$( 'html, body' ).animate({ scrollTop : 0 }, 0);
188					} else {
189						$( 'html, body' ).animate({ scrollTop: ( parentElement.offset().top - 200 ) }, 0);
190					}
191					
192					return false;
193				});			
194				
195				// Load WordPress media players	
196				if ( element.find( '.wp-audio-shortcode' ).length > 0 ) {
197					element.find( '.wp-audio-shortcode' ).mediaelementplayer({
198						alwaysShowControls: true
199					});
200				}
201				if ( element.find( '.wp-video-shortcode' ).length > 0 ) {		
202					element.find( '.wp-video-shortcode' ).mediaelementplayer({
203						alwaysShowControls: true
204					});
205				}
206				
207			},
208			error: function( jqXHR, textStatus, errorThrown ) {
209				//alert( jqXHR + " :: " + textStatus + " :: " + errorThrown );
210			}
211		});	
212
213		// Add loading class
214		ajaxLoop.addClass( 'gp-filter-loading' );
215					
216		return false;
217		
218	}	
219	
220	
221	/*--------------------------------------------------------------
222	Filter options
223	--------------------------------------------------------------*/
224		
225	// If selecting category filter	
226	$( 'select[name="gp-filter-cats"]' ).change( function() {
227		var filterCats = $( this );
228		var parentElement = filterCats.parent().parent().parent();
229		gpCurrentValue( parentElement );
230		cats_filtered = filterCats.val();	
231		gpLoadPosts( parentElement );		
232	});
233						
234	// If selecting orderby filter		
235	$( 'select[name="gp-filter-orderby"]' ).change( function() {
236		var filterOrderby = $( this );
237		var parentElement = filterOrderby.parent().parent().parent();
238		gpCurrentValue( parentElement );
239		orderby_filtered = filterOrderby.val();
240		gpLoadPosts( parentElement );
241	});
242
243	// Post types
244	/*REMOVE$( 'input[name="post_types[]"]' ).change( function() {
245		var filterPostTypes = $( this );
246		var parentElement = filterPostTypes.parent().parent();
247		gpCurrentValue( parentElement );	
248		posttypes_filtered = $( '.gp-post-type:checked' ).map( function() {return this.value;} ).get().join( ',' );
249		//console.log( templates_filtered );
250		gpLoadPosts( parentElement );			
251	});*/
252		
253	// Template types
254	$( 'input[name="templates[]"]' ).change( function() {
255		var filterTemplates = $( this );
256		var parentElement = filterTemplates.parent().parent().parent().parent();
257		gpCurrentValue( parentElement );	
258		templates_filtered = $( '.gp-template-type:checked' ).map( function() {return this.value;} ).get().join( ',' );
259		gpLoadPosts( parentElement );			
260	});
261		
262	// If clicking menu categories
263	$( '.gp-menu-tabs:not(.gp-mobile-menu-tabs) li' ).hover( function() {
264		var filterMenuCats = $( this );
265		var parentElement = filterMenuCats.parent().parent();
266		gpCurrentValue( parentElement );
267		tab_cat_filtered = filterMenuCats.attr( 'id' );
268		$( 'li.gp-selected' ).removeClass( 'gp-selected' );
269		filterMenuCats.addClass( 'gp-selected' );	
270		gpLoadPosts( parentElement );
271	}, function() {
272  	});
273	$( '.gp-menu-tabs.gp-mobile-menu-tabs li' ).click( function() {
274		var filterMenuCats = $( this );
275		var parentElement = filterMenuCats.parent().parent();
276		gpCurrentValue( parentElement );
277		tab_cat_filtered = filterMenuCats.attr( 'id' );
278		$( 'li.gp-selected' ).removeClass( 'gp-selected' );
279		filterMenuCats.addClass( 'gp-selected' );	
280		gpLoadPosts( parentElement );	
281		return false;	
282	});
283
284	// If clicking original pagination (numbers)
285	$( '#gp-content-wrapper .gp-ajax-loop .gp-pagination ul.page-numbers a' ).click( function() {
286		// Get page numbers from page links
287		var filterPagination = $( this );
288		var parentElement = filterPagination.parent().parent().parent().parent().parent();
289		gpCurrentValue( parentElement );
290		if ( filterPagination.hasClass( 'prev' ) ) {
291			var prev = filterPagination.attr('href').match(/(\d+)\D*$/);
292			pagenumber = prev[0];
293		} else if ( filterPagination.hasClass( 'next' ) ) {
294			var next = filterPagination.attr( 'href' ).match(/(\d+)\D*$/);
295			pagenumber = next[0];
296		} else {
297			pagenumber = filterPagination.text();
298		}
299		gpLoadPosts( parentElement );
300		if ( ! parentElement.hasClass( 'gp-vc-element' ) ) {
301			$( 'html, body' ).animate({ scrollTop : 0 }, 0);
302		} else {
303			$( 'html, body' ).animate({ scrollTop: ( parentElement.offset().top - 200 ) }, 0);
304		}
305		return false;
306	});	
307
308	// If clicking original pagination (arrows)
309	$( '#gp-content-wrapper .gp-pagination-arrows a' ).click( function() {
310		var filterPagination = $( this );
311		var parentElement = filterPagination.parent().parent().parent();
312		gpCurrentValue( parentElement );
313		pagenumber = filterPagination.data( 'pagelink' );
314		gpLoadPosts( parentElement );
315		return false;
316	});
317
318	// If clicking original menu pagination
319	$( '.gp-nav .gp-ajax-loop .gp-pagination-arrows a' ).click( function() {
320		cats_filtered = 0;
321		orderby_filtered = 0;
322		var filterPagination = $( this );
323		var parentElement = filterPagination.parent().parent().parent();
324		pagenumber = filterPagination.data( 'pagelink' );
325		gpLoadPosts( parentElement );
326		return false;
327	});
328
329
330	/*--------------------------------------------------------------
331	Load scripts within ajax
332	--------------------------------------------------------------*/
333	
334	$( document ).ajaxComplete( function( e, xhr, settings ) {
335			
336		// Load Isotope
337		if ( $( '.gp-blog-wrapper' ).hasClass( 'gp-blog-masonry' ) ) {
338		
339			var container = $( '.gp-blog-masonry .gp-section-loop-inner' ),
340				element = container;
341
342			// Destroy previous isotope
343			container.isotope( 'destroy' );
344			container.css( 'opacity', 0 );
345
346			if ( container.find( 'img' ).length == 0 ) {
347				element = $( '<img />' );
348			}	
349
350			imagesLoaded( element, function( instance ) {
351
352				container.isotope({
353					itemSelector: 'section',
354					percentPosition: true,
355					masonry: {
356						columnWidth: container.find( 'section' )[0],
357						gutter: '.gp-gutter-size'
358					}
359				});
360
361				container.animate( { 'opacity': 1 }, 1300 );
362				$( '.gp-pagination' ).animate( { 'opacity': 1 }, 1300 );
363				$( '.gp-load-more' ).animate( { 'opacity': 1 }, 1300 );
364				
365			});
366			
367		}	
368				
369		// Load Advanced Responsive Video Embedder
370		var arve_iframe_btns = document.getElementsByClassName( 'arve-iframe-btn' );
371
372		for ( var i=0; i < arve_iframe_btns.length; i++ ) {
373
374			arve_iframe_btns[i].onclick = function() {
375
376				var target = document.getElementById( this.getAttribute( 'data-target' ) );
377				target.setAttribute( 'src', target.getAttribute( 'data-src' ) );
378				target.className = 'arve-inner';
379				this.parentNode.removeChild( this );
380			};
381		};
382		
383		// Get height of first image
384		$( '.gp-ajax-loop .flex-viewport' ).each( function() {
385			var firstImageHeight = $( this ).find( 'ul.slides li:first-child img' ).css( 'height' );
386			$( this ).css( 'height', firstImageHeight );
387		});
388  		
389  		// Gallery category post slider
390		$( '.gp-blog-wrapper:not(.gp-blog-masonry) .gp-post-format-gallery-slider, .gp-showcase-wrapper .gp-post-format-gallery-slider' ).flexslider( { 
391			animation: 'fade',
392			slideshowSpeed: 9999999,
393			animationSpeed: 600,
394			directionNav: true,			
395			controlNav: false,			
396			pauseOnAction: true, 
397			pauseOnHover: false,
398			prevText: '',
399			nextText: '',
400			smoothHeight: true
401		});
402
403		$( '.gp-blog-masonry .gp-post-format-gallery-slider' ).flexslider( { 
404			animation: 'fade',
405			slideshowSpeed: 9999999,
406			animationSpeed: 600,
407			directionNav: true,			
408			controlNav: false,			
409			pauseOnAction: true, 
410			pauseOnHover: false,
411			prevText: '',
412			nextText: ''
413		});
414							
415	}); 
416
417});

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.