PageSourceSearch

https://theouai.com/cdn/shop/t/964/assets/collection-filters-form-vite-CCmmQa6W.js

js theouai.com collected 2026-09-25 04:04:38 UTC 9,378 bytes, 1 lines download raw bytes

1const e={section:"[data-section-type]",collectionSidebar:"[data-collection-sidebar]",collectionSidebarSlideOut:"[data-collection-sidebar-slide-out]",collectionSidebarCloseButton:"[data-collection-sidebar-close]",form:"[data-collection-filters-form]",submitButton:"[data-collection-filters-submit]",input:"input",select:"select",label:"label",textarea:"textarea",priceMin:"[data-field-price-min]",priceMax:"[data-field-price-max]",priceMinValue:"data-field-price-min",priceMaxValue:"data-field-price-max",rangeMin:"[data-se-min-value]",rangeMax:"[data-se-max-value]",rangeMinValue:"data-se-min-value",rangeMaxValue:"data-se-max-value",rangeMinDefault:"data-se-min",rangeMaxDefault:"data-se-max",showMore:"[data-show-more]",linkHidden:"[data-link-hidden]",collectionNav:"[data-collection-nav]",productsContainer:"[data-products-grid]",activeFilters:"[data-active-filters]",activeFiltersCount:"data-active-filters-count",filterUpdateUrlButton:"[data-filter-update-url]",dataSort:"[data-sort-enabled]",sortLinks:"[data-sort-link]",sortInputs:"[data-sort-input]",sortValue:"data-value",sortButton:"[data-popout-toggle]",sortButtonText:"[data-sort-button-text]",resultsCount:"[data-results-count]"},l={hidden:"hidden",focused:"is-focused",loading:"is-loading",active:"is-active"};class M extends HTMLElement{constructor(){super(),this.container=this.closest(e.section),this.collectionSidebar=this.container.querySelector(e.collectionSidebar),this.collectionSidebarSlideOut=this.container.querySelector(e.collectionSidebarSlideOut),this.form=this.querySelector(e.form),this.submitButton=document.querySelector(e.submitButton),this.productsContainer=this.container.querySelector(e.productsContainer),this.collectionNav=this.container.querySelector(e.collectionNav),this.sort=this.container.querySelector(e.dataSort),this.sortButton=this.container.querySelector(e.sortButton),this.sortLinks=this.container.querySelectorAll(e.sortLinks),this.sortInputs=this.container.querySelectorAll(e.sortInputs),this.filterUrlButtons=this.container.querySelectorAll(e.filterUpdateUrlButton),this.collectionSidebarCloseButtons=this.container.querySelectorAll(e.collectionSidebarCloseButton),this.showMoreOptions=this.querySelectorAll(e.showMore),this.a11y=window.theme.a11y,this.updatePriceEvent=window.theme.debounce(t=>this.updatePrice(t),500),this.updateRangeEvent=t=>this.updateRange(t),this.showMoreEvent=t=>this.showMore(t),this.onSortButtonClickEvent=t=>this.onSortButtonClick(t),this.submitFormEvent=t=>this.submitForm(t),this.collectionSidebarCloseEvent=t=>this.collectionSidebarClose(t),this.filterUpdateFromUrlEvent=t=>this.filterUpdateFromUrl(t)}connectedCallback(){this.sort&&this.sortLinks.length&&this.sortLinks.forEach(t=>{t.addEventListener("click",this.onSortButtonClickEvent)}),this.collectionSidebar&&this.form&&(this.collectionSidebar.addEventListener("input",this.updatePriceEvent),this.collectionSidebar.addEventListener("theme:range:update",this.updateRangeEvent)),this.showMoreOptions.length&&this.showMoreOptions.forEach(t=>{t.addEventListener("click",this.showMoreEvent)}),this.submitButton&&this.submitButton.addEventListener("click",t=>{this.findCurrentSortValueFromPopover(),this.submitForm(t),this.onSortCheck(t)}),(this.collectionSidebar||this.sort)&&window.addEventListener("popstate",this.submitFormEvent),this.filterUrlButtons.length&&this.filterUrlButtons.forEach(t=>{t.addEventListener("click",this.filterUpdateFromUrlEvent)}),this.collectionSidebarCloseButtons.length&&this.collectionSidebarCloseButtons.forEach(t=>{t.addEventListener("click",this.collectionSidebarCloseEvent)})}collectionSidebarClose(t){t.preventDefault(),this.container.dispatchEvent(new CustomEvent("theme:filter:close",{bubbles:!1}))}onSortButtonClick(t){t.preventDefault(),this.sortButton&&this.sortButton.dispatchEvent(new Event("click")),this.sortActions(t,t.currentTarget)}findCurrentSortValueFromPopover(){this.sortInputs.forEach(t=>{t.checked&&(this.currentSortValue=t.getAttribute(e.sortValue))})}sortActions(t,o,n=!0){const i=this.container.querySelectorAll(e.sortButtonText),r=this.sort.querySelector(`.${l.active}`);if(this.currentSortValue=o?o.getAttribute(e.sortValue):null,i){const a=o?o.textContent.trim():"Sort";
1i.forEach(s=>{s.textContent=a})}r&&r.classList.remove(l.active),this.sort.classList.toggle(l.active,o),o&&(o.parentElement.classList.add(l.active),n&&this.submitForm(t))}onSortCheck(t){let o=null;if(window.location.search.includes("sort_by")){const i=new window.URL(window.location.href).searchParams;for(const[r,a]of i.entries()){const s=this.sort.querySelector(`[${e.sortValue}="${a}"]`);if(r.includes("sort_by")&&s){o=s;break}}}this.sortActions(t,o,!1)}showMore(t){t.preventDefault();const o=t.target.matches(e.showMore)?t.target:t.target.closest(e.showMore);o.parentElement.classList.add(l.hidden),o.parentElement.previousElementSibling.querySelectorAll(e.linkHidden).forEach((n,i)=>{n.classList.remove(l.hidden);const r=n.querySelector(e.input);i===0&&document.body.classList.contains(l.focused)&&r&&(this.collectionSidebarSlideOut||window.theme.isMobile()?(this.a11y.removeTrapFocus(),this.a11y.trapFocus(this.collectionSidebar,{elementToFocus:r})):r.focus())})}updatePrice(t){const o=t.type,n=t.target;if((o===e.input||o===e.select||o===e.label||o===e.textarea)&&this.form&&typeof this.form.submit=="function"){const i=this.form.querySelector(e.priceMin),r=this.form.querySelector(e.priceMax);i&&r&&(n.hasAttribute(e.priceMinValue)&&!r.value?r.value=r.placeholder:n.hasAttribute(e.priceMaxValue)&&!i.value&&(i.value=i.placeholder))}}updateRange(t){if(this.form&&typeof this.form.submit=="function"){const o=this.form.querySelector(e.rangeMin),n=this.form.querySelector(e.rangeMax),i=this.form.querySelector(e.priceMin),r=this.form.querySelector(e.priceMax);if(o&&n&&i&&r&&o.hasAttribute(e.rangeMinValue)&&n.hasAttribute(e.rangeMaxValue)){const s=parseInt(i.placeholder),h=parseInt(r.placeholder),d=parseInt(o.getAttribute(e.rangeMinValue)),c=parseInt(n.getAttribute(e.rangeMaxValue));(s!==d||h!==c)&&(i.value=d,r.value=c)}}}filterUpdateFromUrl(t){t.preventDefault(),this.submitForm(t,t.currentTarget.getAttribute("href"))}submitForm(t,o=""){if(!t||t&&t.type!=="popstate")if(o===""){let i=new window.URL(window.location.href).searchParams;const a=Object.fromEntries(i),s=i.toString();if(s.includes("filter.")||s.includes("page=")||s.includes("sort_by="))for(const c in a)(c.includes("filter.")||c==="page"||c==="sort_by")&&i.delete(c);if(this.form){const c=new FormData(this.form),S=new URLSearchParams(c),p=this.form.querySelector(e.rangeMin),m=this.form.querySelector(e.rangeMax),g=p&&p.hasAttribute(e.rangeMinDefault)?p.getAttribute(e.rangeMinDefault):"",b=m&&m.hasAttribute(e.rangeMaxDefault)?m.getAttribute(e.rangeMaxDefault):"";let v=0;for(let[u,f]of S.entries())(u.includes("filter.")&&f||u.includes("sort_by")&&f)&&(u==="sort_by"&&this.currentSortValue?(i.delete(u),i.append(u,this.currentSortValue)):i.append(u,f),(f===g&&u==="filter.v.price.gte"||f===b&&u==="filter.v.price.lte")&&(v+=1));v===2&&(i.delete("filter.v.price.gte"),i.delete("filter.v.price.lte"))}const h=i.toString(),d=h?`?${h}`:location.pathname;window.history.pushState(null,"",d)}else window.history.pushState(null,"",o);else this.sort&&this.onSortCheck(t);this.productsContainer&&(this.productsContainer.classList.add(l.loading),fetch(`${window.location.pathname}${window.location.search}`).then(n=>n.text()).then(n=>{const i=new DOMParser().parseFromString(n,"text/html"),r=this.container.querySelector(e.resultsCount);if(r){const a=i.querySelector(e.resultsCount);r.innerHTML=a.innerHTML}if(this.productsContainer.innerHTML=i.querySelector(e.productsContainer).innerHTML,this.collectionSidebar){this.collectionSidebar.innerHTML=i.querySelector(e.collectionSidebar).innerHTML;const a=this.collectionSidebar.querySelector(`[${e.activeFiltersCount}]`),s=this.container.querySelectorAll(e.activeFilters);if(a&&s.length){const h=parseInt(a.getAttribute(e.activeFiltersCount));s.forEach(d=>{d.textContent=h,d.classList.toggle(l.hidden,h<1)})}}this.collectionNav&&window.theme.scrollTo(this.productsContainer.getBoundingClientRect().top-this.collectionNav.offsetHeight),this.initYotpoWidgets(),setTimeout(()=>{this.productsContainer.classList.remove(l.loading)},500)}).catch(n=>{console.log(n)}))}disconnectedCallback(){this.collectionSidebar&&this.form&&(this.collectionSidebar.removeEventListener("input",this.updatePriceEvent),this.collectionSidebar.removeEventListener("theme:range:update",this.updateRangeEvent)),this.showMoreOptions.length&&this.showMoreOptions.forEach(t=>{t.removeEventListener("click",this.showMoreEvent)}),this.sort&&this.sortLinks.length&&this.sortLinks.forEach(t=>{t.removeEventListener("click",this.onSortButtonClickEvent)}),(this.collectionSidebar||this.sort)&&window.removeEventListener("popstate",this.submitFormEvent),this.filterUrlButtons.length&&this.filterUrlButtons.forEach(t=>{t.removeEventListener("click",this.filterUpdateFromUrlEvent)}),this.collectionSidebarCloseButtons.length&&this.collectionSidebarCloseButtons.forEach(t=>{t.removeEventListener("click",this.collectionSidebarCloseEvent)})}initYotpoWidgets(){window.yotpoWidgetsContainer&&typeof window.yotpoWidgetsContainer.initWidgets=="function"&&window.yotpoWidgetsContainer.initWidgets()}}customElements.get("collection-filters-form")||customElements.define("collection-filters-form",M);

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.