PageSourceSearch

https://www.4autoinsurancequote.com/wp-content/themes/phoenix/inc/fire-templates/js/pagination.js?ver=1.6

js 4autoinsurancequote.com collected 2026-09-26 06:36:58 UTC 5,420 bytes, 198 lines download raw bytes

1// To avoid CSL issues, #current_year in breadcrumbs will be replaced with PHP
2// $(document).ready(function() {
3//     find_replace_breadcrumb_year();
4// });
5
6// Breadcrumbs will pick up #current_year before our filter changes it
7// Need to string replace it
8function find_replace_breadcrumb_year() {
9    $('span.aioseo-breadcrumb:last, span.aioseo-breadcrumb a').each(function() {
10        var text        = $(this).text();
11        var currentTime = new Date();
12
13        text = text.replace("#current_year", currentTime.getFullYear());
14
15        $(this).text(text);
16    });
17}
18
19
20// History go back and forward functionality for ajax
21window.addEventListener('popstate', function (event) {
22    var state = event.state;
23
24    if (state) {
25        adjust_breadcrumbs();
26		paginatied_ajax(state.page);
27    }
28});
29
30/**
31 * get the page number from the pagination
32 * @param  object element
33 * @return int
34 */
35function find_page_number(element) {
36	url_string = element.attr('href');
37
38	let param_url = url_string.split('/');
39    url_arr = param_url.filter(item => item);
40
41    var paged    = $(url_arr).get(-2);
42    var page_num = $(url_arr).get(-1);
43
44    if (parseInt(page_num) && paged == 'page') {
45		return page_num;
46	}
47
48	return;
49}
50
51/**
52 * Loads the data associated with phoenixajax
53 * @param  int page
54 */
55function paginatied_ajax(page) {
56	$fire_articles_main = $('.fire-articles-main');
57	cat                 = $('.fire-articles-main').attr('data-set');
58
59	$.ajax({
60		url: phoenixajax.ajaxurl,
61		type: 'post',
62		data: {
63			action: 'phoenix_ajax',
64			query_vars: phoenixajax.query_vars,
65			page: page,
66			cat: cat
67		},
68
69        beforeSend: function() {
70
71            $('html, body').animate({
72                scrollTop: $("main#primary .container .row").offset().top
73            }, 500);
74
75            // For obrella
76            if ($('body.obrella').length) {
77                $('html, body').animate({
78                    scrollTop: $("body.obrella #mdatop").offset().top
79                }, 500);
80            }
81
82            $fire_articles_main.empty().prepend('<p class="fire-loader"></p>');
83		},
84
85		success: function(html) {
86            $fire_articles_main.removeClass('page-one').addClass('fire-hide').html(html).fadeIn(300).find('.fire-loader').remove();
87            adjust_breadcrumbs();
88		}
89	});
90}
91
92/**
93 * Breadcrumbs need to get updated as ajax moves things around
94 */
95function adjust_breadcrumbs() {
96    var $breadcrumb     = $('.aioseo-breadcrumbs span.aioseo-breadcrumb:not(:has(a))');
97    var breadcrumb_text = $breadcrumb.text();
98    var history_page    = window.history.state.page;
99
100    if (breadcrumb_text.includes('Page')) {
101        if (history_page == undefined || page == undefined) {
102            page = 1;
103        }
104
105        if (history_page > 0) {
106            page = history_page;
107        }
108
109        $breadcrumb.text(' Page ' + page);
110    } else {
111        var current_cat_url = $('#category-slug').attr('data-set');
112
113        $breadcrumb.wrapInner("<a href='" + current_cat_url + "'></a>");
114        $('.aioseo-breadcrumbs .aioseo-breadcrumb-separator').clone().appendTo('.aioseo-breadcrumbs');
115        $('.aioseo-breadcrumbs').append("<span class='aioseo-breadcrumb'> Page " + page + "</span>");
116    }
117}
118
119/**
120 * This make it so that we get a url change for every pagination. It also allows for browser based history movement.
121 *
122 * @param  int page
123 */
124function history_push_state(page) {
125	var category_perm   = $('#category-slug').attr('data-set');
126	var pagination_page = page > 1 ? 'page/' + page + '/' : '';
127	var pagination_url  = category_perm + pagination_page;
128
129	var state = {
130		'cat_id': $('.fire-articles-main').attr('data-set'),
131		'page': page
132	};
133
134	window.history.pushState(state, document.title, pagination_url);
135}
136
137// Click event for paginated articles
138$(document).on('click', '.fire-articles-main nav a', function(event) {
139	event.preventDefault();
140
141	page = find_page_number($(this).clone());
142	history_push_state(page);
143
144    // Show and hide certain areas of the paginated pages
145    $category_intro   = $('.container.fire .category-intro, .container.fire .fire-sub-cat-main-nav');
146    $fire_sub_cat_alt = $('.container.fire .fire-sub-cat-nav.alt');
147    if (page == undefined) {
148        $category_intro.removeClass('hide');
149        $fire_sub_cat_alt.addClass('hide');
150    } else {
151        $category_intro.addClass('hide');
152        $fire_sub_cat_alt.removeClass('hide');
153    }
154
155	paginatied_ajax(page);
156})
157
158// Click event for loadmore articles
159$(document).on('click', '.fire-articles-main.secondary button.load-more', function(event) {
160	event.preventDefault();
161
162	cat                 = $('.fire-articles-main').attr('data-set');
163	$fire_articles_sec  = $('.fire-articles-main .sm-article-grid');
164	$button             = $('.fire-articles-main.secondary button.load-more');
165	max_num_pages       = $('#max-num-pages').attr('data-set');
166
167	$.ajax({
168		url: phoenixajax.ajaxurl,
169		type: 'post',
170		data: {
171			action: 'loadmore',
172			query_vars: phoenixajax.query_vars,
173			page: phoenixajax.current_page,
174			cat: cat
175		},
176
177		beforeSend: function() {
178			$fire_articles_sec.append('<p class="fire-loader"></p>');
179		},
180
181		success: function(html) {
182			$fire_articles_sec.find('.fire-loader').remove();
183
184			if (html) {
185				phoenixajax.current_page++;
186				$fire_articles_sec.append(html);
187
188				if (phoenixajax.current_page == max_num_pages) {
189					$button.remove();
190				}
191			} else {
192				$button.remove();
193			}
194		}
195	})
196
197
198});

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.