PageSourceSearch

https://www.raakachocolate.com/cdn/shop/t/201/assets/component-fil…?v=66528957138702283771733109093

js raakachocolate.com collected 2026-09-24 22:06:06 UTC 4,299 bytes, 1 lines download raw bytes

1document.addEventListener("alpine:init",(()=>{Alpine.data("filterAndSort",(e=>({openedFilters:[],sortOpen:!1,pageType:null,collectionHandle:null,searchParams:null,sortBy:null,loading:!1,pages:1,page:1,hasMore:!0,handleFilterClick(e){this.openedFilters.includes(e)?this.openedFilters=this.openedFilters.filter((i=>i!==e)):this.openedFilters.push(e),this.filtersOpen=!1,this.sortOpen=!1},handleSortClick(){this.sortOpen=!this.sortOpen},sortCollection(e){this.sortBy=e},updateForm:{"@filter-updated.window"(){this.$nextTick((()=>{this.loadPage(1)}))}},loadPage(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.page=i;const t=window.innerWidth<768&&e?this.$refs.filter_form_mobile:this.$refs.filter_form,s=new FormData(t);for(let[e,i]of Array.from(s.entries()))""===i&&s.delete(e);const r=new URLSearchParams(s);this.priceRangeMin&&r.set(this.priceRangeMinParam,this.priceRangeMin),this.priceRangeMax&&r.set(this.priceRangeMaxParam,this.priceRangeMax);const n=r.toString();let l;this.loading=!0,"collections"===this.pageType&&(l=`/${this.pageType}/${this.collectionHandle}?${n}&page=${this.page}`),"search"===this.pageType&&(l=`/${this.pageType}?${this.searchParams}&${n}&page=${this.page}`),fetch(l).then((e=>e.text())).then((e=>{const i=document.createElement("div");i.innerHTML=e;const t=i.querySelector("#productGridContainer").innerHTML;t.length>100&&(this.hasMore=!1),1==this.page?document.querySelector("#productGridContainer").innerHTML=t:document.querySelector("#productGridContainer").innerHTML+=t;const s=i.querySelector("#disclosure-1").innerHTML;document.querySelector("#disclosure-1").innerHTML=s;const r=i.querySelector("#results_count")?.innerHTML;r&&(document.querySelector("#results_count").innerHTML=r),"collections"===this.pageType&&history.replaceState(null,null,"?"+n),"search"===this.pageType&&history.replaceState(null,null,`?${this.searchParams}&${n}`)})).catch((e=>console.error("Error:",e))).finally((()=>this.loading=!1))},initializeData(e,i,t){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;this.sortBy=e,this.pages=s,this.collectionHandle=t,this.pageType=i;const r=new URLSearchParams(location.search);if("search"===i)for(const[e,i]of r)"q"===e&&i&&(this.searchParams=`q=${i.replace(/\s+/g,"+")}`);r.get("filter.v.price.gte")&&(this.priceRangeMin=r.get("filter.v.price.gte")),r.get("filter.v.price.lte")&&(this.priceRangeMax=r.get("filter.v.price.lte"))},filtersOpen:!1,sortOpen:!1,priceRangeMinParam:null,priceRangeMin:null,priceRangeMaxParam:null,priceRangeMax:null,activeFilters:{},pendingFilters:{},filtersDirty:!1,toggleFilterPanel(){this.filtersOpen=!this.filtersOpen,this.sortOpen=!1},handleFilterValueClick(e,i){let t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.pendingFilters[e]?this.pendingFilters[e].includes(i)?(this.pendingFilters[e]=this.pendingFilters[e].filter((e=>e!==i)),0===this.pendingFilters[e].length&&delete this.pendingFilters[e]):this.pendingFilters[e].push(i):this.pendingFilters[e]=[i],t?(this.activeFilters=JSON.parse(JSON.stringify(this.pendingFilters)),this.filtersDirty=!1):this.filtersDirty=!0},apply(){this.activeFilters=JSON.parse(JSON.stringify(this.pendingFilters)),console.log(this.activeFilters),this.$dispatch("filter-updated"),this.filtersOpen=!1,this.sortOpen=!1,this.filtersDirty=!1},setPriceFilterParam(e,i){this.priceRangeMinParam=e,this.priceRangeMaxParam=i,this.filtersOpen=!1,this.sortOpen=!1},setPriceFilter(e,i){this.priceRangeMin=e,this.priceRangeMax=i,this.filtersOpen=!1,this.sortOpen=!1},getPriceRangeDisplay(){return this.priceRangeMin&&!this.priceRangeMax?`$${this.priceRangeMin}+`:this.priceRangeMin&&this.priceRangeMax?`$${this.priceRangeMin} - $${this.priceRangeMax}`:!this.priceRangeMin&&this.priceRangeMax?`under $${this.priceRangeMax}`:void 0},handleClearFilters(){this.activeFilters={},this.pendingFilters={},this.filtersDirty=!1,this.$refs.filter_form.reset(),this.$dispatch("filter-updated"),this.filtersOpen=!1,this.sortOpen=!1},init(){document.body.querySelector('select[name="sort_by"]').addEventListener("showDropdown",(e=>{this.filtersOpen=!1})),this.$refs.infinite_scroll&&new IntersectionObserver((e=>{e[0].isIntersecting&&!this.loading&&this.page<this.pages&&this.loadPage(this.page+1)}),{threshold:1}).observe(this.$refs.infinite_scroll)}})))}));

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.