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.