PageSourceSearch

https://rivercottage.net/wp-content/cache/min/1/wp-content/themes/…/js/archive.js?ver=1784877816

js rivercottage.net collected 2026-09-24 18:03:35 UTC 11,802 bytes, 16 lines download raw bytes

1jQuery(document).ready(function($){let postsPerPage=9;let filterPostType=$('.filter-row').attr('data-post-type');let totalPosts=parseInt($('.woocommerce-result-count').attr('data-total'));const cats_array=[];function ajax_next_posts(cat_id,orderby,cats_array,postOffset){if(postOffset===0){$('.products-list .products .post_filter').remove()}else{postOffset=jQuery('.post_filter').length}
2let search_keyword=$('#form_taxonomy_search').attr('data-keyword');let min_price=$('.input-min').val();let max_price=$('.input-max').val();$.ajax({method:'POST',url:'/wp-admin/admin-ajax.php',data:{action:'ajax_next_posts',post_offset:postOffset,posts_per_page:postsPerPage,orderby:orderby,product_cat:cat_id,cats_array:cats_array,filterPostType:filterPostType,search_keyword:search_keyword,min_price:min_price,max_price:max_price},dataType:'json'}).done(function(response){$('.no-results').remove();$('.woocommerce-result-count').text(response[1]+' results found').attr('data-total',response[1]);$('.products-list .products').append(response[0]);totalPosts=parseInt(response[1]);let postOffset=$('.post_filter').length;$('.ajax_loader').addClass('hidden');if((totalPosts-postOffset)<=0){$('#load-more').fadeOut()}else{$('#load-more').fadeIn()}}).fail(function(jqXHR,textStatus,errorThrown){console.log(XMLHttpRequest);console.log(textStatus);console.log(errorThrown);console.log('Failed')})}
3$('#load-more').click(function(e){e.preventDefault();let cat_id=$('.filter-row').attr('data-cat-id');let orderby;$('.woocommerce-ordering input, .recipes_form input[type=radio]').each(function(){if($(this).is(':checked')){orderby=$(this).attr('data-sort-by')}});$('.ajax_loader').removeClass('hidden');if($.inArray(cat_id,cats_array)==-1){cats_array.push(cat_id)}
4ajax_next_posts(cat_id,orderby,cats_array)});$('.categories_shop a').each(function(){$(this).click(function(e){e.preventDefault();$('#reset-filter-shop').removeClass('d-none');$('.categories_shop a').removeClass('fw-bold');$(this).addClass('fw-bold');let cat_id=$(this).data('id');$('.filter-row').attr('data-cat-id',cat_id);let orderby=$('.woocommerce-ordering input[type=radio]:checked').val();let postOffset=0;$('.ajax_loader').removeClass('hidden');ajax_next_posts(cat_id,orderby,cats_array,postOffset)})});$('.woocommerce-ordering input, .recipes_form input[type=radio]').each(function(){$(this).on('change',function(){let orderby;if($(this).is(':checked')){orderby=$(this).attr('data-sort-by')}
5let cats_array=[];let cat_id=$('.filter-row').attr('data-cat-id');let postOffset=0;$('.ajax_loader').removeClass('hidden');if($.inArray(cat_id,cats_array)==-1){cats_array.push(cat_id)}
6$('.selected_values a').each(function(){let selected_id=$(this).attr('data-select-id');if($.inArray(selected_id,cats_array)==-1){cats_array.push(selected_id)}})
7ajax_next_posts(cat_id,orderby,cats_array,postOffset);$('#reset-filter-shop').removeClass('d-none')})});let parent_id=$('#single_term').attr('data-parent-id');$('#single_term').on('change',function(){let orderby=$('.woocommerce-ordering input:checked').attr('data-sort-by');let postOffset=0;let cat_id=$(this).val();console.log(cat_id);if(cat_id.length==''){cat_id=parent_id}
8if($.inArray(cat_id,cats_array)==-1){cats_array.push(cat_id)}
9$(this).parent().parent().find('form').attr('data-cat-id',parent_id);$("#single_term option[value='"+cat_id+"']").attr("disabled","disabled");$('form[role=search]').attr('data-cat-arr',cats_array);let option_text=$("#single_term :selected").text();let link_html="<a href='#' data-select-id='"+cat_id+"'>"+option_text+"</a>";$('.filter-row').attr('data-cat-id',parent_id);$('.ajax_loader').removeClass('hidden');if(option_text){$(".selected_values").append(link_html)}
10console.log(cats_array)
11ajax_next_posts(parent_id,orderby,cats_array,postOffset)});$('body').on('click','.selected_values a',function(e){e.preventDefault();console.log('yes');$('.ajax_loader').removeClass('hidden');let orderby=$('.woocommerce-ordering input:checked').attr('data-sort-by');let postOffset=0;let value_for_remove=$(this).attr('data-select-id');$("#single_term option[value='"+value_for_remove+"']").removeAttr("disabled");cats_array.splice($.inArray(value_for_remove,cats_array),1);if(cats_array.length===0){$('#single_term').val(null).trigger('change')}else{ajax_next_posts(parent_id,orderby,cats_array,postOffset)}
12$(this).remove()});$('.input-min, .input-max').on('change',function(){let orderby=$('.woocommerce-ordering input:checked').attr('data-sort-by');let postOffset=0;let cat_id=$('.filter-row').attr('data-cat-id');let cats_array=[];if($.inArray(cat_id,cats_array)==-1){cats_array.push(cat_id)}
13$('.selected_values a').each(function(){let selected_id=$(this).attr('data-select-id');if($.inArray(selected_id,cats_array)==-1){cats_array.push(selected_id)}});$('.ajax_loader').removeClass('hidden');ajax_next_posts(cat_id,orderby,cats_array,postOffset);$('#reset-filter-shop').removeClass('d-none')});$('body').on('click','#reset-filter',function(e){e.preventDefault();let postOffset=0;let orderby='date';$('.form-control-clear').addClass('d-none');let cat_id=$('.filter-row').attr('data-cat-id');let data_parent_id=$('#single_term').attr('data-parent-id');$('.recipe_search_block_input').val('');cats_array.push(data_parent_id);$('#date').prop('checked',!0);$('.ajax_loader').removeClass('hidden');
13$('.selected_values a').remove();$('input[type=checkbox]').prop('checked',!1);$('.input-min').val('');$('.input-max').val('');ajax_next_posts(cat_id,orderby,cats_array,postOffset)});$('body').on('click','#reset-filter-shop',function(e){e.preventDefault();let postOffset=0;let orderby='date';let cat_id='';$('#date').prop('checked',!0);$('.ajax_loader').removeClass('hidden');$('.recipe_search_block_input').val('');$('.categories_shop a').removeClass('fw-bold');$('.filter-row').attr('data-cat-id','');$('.input-min').val('');$('.input-max').val('');ajax_next_posts(cat_id,orderby,'',postOffset);$(this).addClass('d-none')});$('#load-more-news').click(function(e){e.preventDefault();let postOffset=$('.news_item').length;$.ajax({method:'POST',url:'/wp-admin/admin-ajax.php',data:{action:'ajax_next_news',post_offset:postOffset,},dataType:'json'}).done(function(response){$('.news .row').append(response[0]);totalPosts=parseInt(response[1]);$('.ajax_loader').addClass('hidden');if((totalPosts-postOffset)<=0){$('#load-more-news').fadeOut()}else{$('#load-more-news').fadeIn()}}).fail(function(jqXHR,textStatus,errorThrown){console.log(XMLHttpRequest);console.log(textStatus);console.log(errorThrown);console.log('Failed')});$('.ajax_loader').removeClass('hidden')});$('#load-more-taxonomy').click(function(e){e.preventDefault();let postOffset=$('.recipe_archive_item').length;let term_id=$('.filter-row').attr('data-cat-id');let taxonomy=$('.filter-row').attr('data-taxonomy');$.ajax({method:'POST',url:'/wp-admin/admin-ajax.php',data:{action:'ajax_next_taxonomy_posts',post_offset:postOffset,term_id:term_id,taxonomy:taxonomy,},dataType:'json'}).done(function(response){$('.tax_row').append(response[0]);totalPosts=parseInt(response[1]);$('.ajax_loader').addClass('hidden');if((totalPosts-postOffset)<=0){$('#load-more-taxonomy').fadeOut()}else{$('#load-more-taxonomy').fadeIn()}}).fail(function(jqXHR,textStatus,errorThrown){console.log(XMLHttpRequest);console.log(textStatus);console.log(errorThrown);console.log('Failed')});$('.ajax_loader').removeClass('hidden')});$('.recipes_search').on('submit',function(e){$('.ajax_loader').removeClass('hidden');e.preventDefault();let search_val=$('.recipe_search_block_input').val();let recipe_cat_id=$('.filter-product').attr('data-cat-id');$.ajax({method:'POST',url:'/wp-admin/admin-ajax.php',data:{action:'ajax_search_recipes',keyword:search_val,recipe_cat_id:recipe_cat_id,},dataType:'json'}).done(function(response){$('.no-results').remove();$('.products-list .products .post_filter').remove();$('.woocommerce-result-count').text(response[1]+' results found').attr('data-total',response[1]);$('.products-list .products').append(response[0]);if(response[1]<10){$('#load-more').hide()}else{$('#load-more').show()}
14$('.ajax_loader').addClass('hidden');$('#load-more').attr('data-search',search_val)}).fail(function(jqXHR,textStatus,errorThrown){console.log(XMLHttpRequest);console.log(textStatus);console.log(errorThrown);console.log('Failed')})});$('input[type="text"]').on('input propertychange',function(){var $this=$(this);var visible=Boolean($this.val());$this.siblings('.form-control-clear').toggleClass('d-none',!visible)}).trigger('propertychange');$('.form-control-clear').click(function(){$(this).siblings('input[type="text"]').val('').trigger('propertychange').focus();$('#form_taxonomy_search').submit();$('#recipesearchform').submit()});$('#form_taxonomy_search').on('submit',function(event){event.preventDefault();let search_val=$('.recipe_search_block_input').val();let cat_id=$(this).attr('data-cat-id');let parent_cat_id=$(this).attr('data-parent-id');let cats_arr=$(this).attr('data-cat-arr');let orderby=$('.woocommerce-ordering input:checked').attr('data-sort-by');$('.ajax_loader').removeClass('hidden');$.ajax({method:'POST',url:'/wp-admin/admin-ajax.php',data:{action:'ajax_search_taxonomy',keyword:search_val,cat_id:cat_id,parent_cat_id:parent_cat_id,cats_arr:cats_arr,orderby:orderby,},dataType:'json'}).done(function(response){$('.form_taxonomy_search').attr('data-keyword',search_val);$('.no-results').remove();$('.products-list .products .post_filter').remove();$('#load-more').hide();$('.woocommerce-result-count').text(response[1]+' results found').attr('data-total',response[1]);$('.products-list .products').append(response[0]);$('.ajax_loader').addClass('hidden')}).fail(function(jqXHR,textStatus,errorThrown){console.log(XMLHttpRequest);console.log(textStatus);console.log(errorThrown);console.log('Failed')})});const rangeInput=document.querySelectorAll(".range-input input"),priceInput=document.querySelectorAll(".price-input input"),range=document.querySelector(".price-slider .progress");let priceGap=10;let min=parseInt(rangeInput[0].min);let max=parseInt(rangeInput[0].max);let minVal=parseInt(rangeInput[0].value);let maxVal=parseInt(rangeInput[1].value);priceInput[0].value=minVal;priceInput[1].value=maxVal;range.style.left=((minVal-min)/(max-min))*100+"%";range.style.right=100-((maxVal-min)/(max-min))*100+"%";priceInput.forEach((input)=>{input.addEventListener("input",(e)=>{let minPrice=parseInt(priceInput[0].value),maxPrice=parseInt(priceInput[1].value);if(maxPrice-minPrice>=priceGap&&maxPrice<=max&&minPrice>=min){if(e.target.className==="input-min"){rangeInput[0].value=minPrice;range.style.left=((minPrice-min)/(max-min))*100+"%"}
14else{rangeInput[1].value=maxPrice;range.style.right=100-((maxPrice-min)/(max-min))*100+"%"}}})});let debounceTimer;rangeInput.forEach((input)=>{input.addEventListener("input",(e)=>{let minVal=parseInt(rangeInput[0].value),maxVal=parseInt(rangeInput[1].value);if(maxVal-minVal<priceGap){if(e.target.className==="range-min"){rangeInput[0].value=maxVal-priceGap}else{rangeInput[1].value=minVal+priceGap}}else{priceInput[0].value=minVal;priceInput[1].value=maxVal;range.style.left=((minVal-min)/(max-min))*100+"%";range.style.right=100-((maxVal-min)/(max-min))*100+"%"}
15clearTimeout(debounceTimer);debounceTimer=setTimeout(()=>{let orderby=$('.woocommerce-ordering input:checked').attr('data-sort-by');let postOffset=0;let cat_id=$('.filter-row').attr('data-cat-id');let cats_array=[];if($.inArray(cat_id,cats_array)==-1){cats_array.push(cat_id)}
16$('.selected_values a').each(function(){let selected_id=$(this).attr('data-select-id');if($.inArray(selected_id,cats_array)==-1){cats_array.push(selected_id)}});$('.ajax_loader').removeClass('hidden');ajax_next_posts(cat_id,orderby,cats_array,postOffset);$('#reset-filter-shop').removeClass('d-none')},500)})})})

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.