{"version":3,"file":"catalog_filters_controller-BanTBJwa.js","sources":["../../../frontend/turbo_storefront/controllers/catalog_filters_controller.js"],"sourcesContent":["import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = ['form', 'search', 'resetSearch', 'select']\n\n static values = {\n searchUrl: { type: String, default: '/catalog/search' },\n resetUrl: String,\n }\n\n connect() {\n this.onTurboSubmitStart = this.onTurboSubmitStart.bind(this)\n\n window.addEventListener('turbo:submit-start', this.onTurboSubmitStart)\n window.addEventListener('popstate', this.onPopStateListener)\n }\n\n disconnect() {\n window.removeEventListener('turbo:submit-start', this.onTurboSubmitStart)\n window.removeEventListener('popstate', this.onPopStateListener)\n }\n\n search(event) {\n if (event.key === 'Enter') {\n event.preventDefault()\n this.formTarget.requestSubmit()\n }\n }\n\n onTurboSubmitStart(event) {\n if (event.target !== this.formTarget) return\n\n const params = {}\n Array.from(event.target.elements).forEach(field => {\n if (field.name !== 'utf8' && field.name !== 'format' && field.value.length > 0) {\n params[field.name] = field.value\n }\n })\n\n const url = new URLSearchParams(params)\n\n window.history.pushState({ turbo_frame_history: true }, '', `${this.searchUrlValue}?${url.toString()}`)\n }\n\n onPopStateListener(event) {\n if (event.state.turbo_frame_history) {\n window.Turbo.visit(window.location.href, { action: 'replace' })\n } else {\n window.location.replace(window.location.href)\n }\n }\n\n changeFilter() {\n this.formTarget.requestSubmit()\n }\n\n clearNextPageFrames() {\n const nextPageFrames = [\n ...Array.from(document.querySelectorAll('turbo-frame[id^=author_content_page_]')),\n ...Array.from(document.querySelectorAll('turbo-frame[id^=catalog_content_page_]')),\n ...Array.from(document.querySelectorAll('turbo-frame[id^=category_content_page_]'))\n ]\n\n nextPageFrames.forEach(x => x.remove())\n }\n\n resetFilter() {\n if (!this.resetUrlValue) {\n // eslint-disable-next-line no-return-assign\n this.selectTargets.forEach(select => {\n select.setValue('')\n })\n this.formTarget.requestSubmit()\n return\n }\n\n if (this.searchTarget.value) {\n // eslint-disable-next-line no-return-assign\n this.selectTargets.forEach(select => {\n select.setValue('')\n })\n this.formTarget.requestSubmit()\n } else {\n window.Turbo.visit(this.resetUrlValue)\n }\n }\n\n resetSearch() {\n if (!this.resetUrlValue) {\n this.searchTarget.value = null\n this.resetSearchTarget.style.display = 'none'\n this.formTarget.requestSubmit()\n return\n }\n\n if (this.selectTargets.every(x => x.value[0] === '')) {\n window.Turbo.visit(this.resetUrlValue)\n } else {\n this.searchTarget.value = null\n this.resetSearchTarget.style.display = 'none'\n this.formTarget.requestSubmit()\n }\n }\n}\n"],"names":["catalog_filters_controller","Controller","event","params","field","url","x","select","__publicField"],"mappings":"0PACe,MAAKA,UAASC,CAAW,CAStC,SAAU,CACR,KAAK,mBAAqB,KAAK,mBAAmB,KAAK,IAAI,EAC3D,OAAO,iBAAiB,qBAAsB,KAAK,kBAAkB,EACrE,OAAO,iBAAiB,WAAY,KAAK,kBAAkB,CAC5D,CACD,YAAa,CACX,OAAO,oBAAoB,qBAAsB,KAAK,kBAAkB,EACxE,OAAO,oBAAoB,WAAY,KAAK,kBAAkB,CAC/D,CACD,OAAOC,EAAO,CACRA,EAAM,MAAQ,UAChBA,EAAM,eAAc,EACpB,KAAK,WAAW,gBAEnB,CACD,mBAAmBA,EAAO,CACxB,GAAIA,EAAM,SAAW,KAAK,WAAY,OACtC,MAAMC,EAAS,CAAA,EACf,MAAM,KAAKD,EAAM,OAAO,QAAQ,EAAE,QAAQE,GAAS,CAC7CA,EAAM,OAAS,QAAUA,EAAM,OAAS,UAAYA,EAAM,MAAM,OAAS,IAC3ED,EAAOC,EAAM,IAAI,EAAIA,EAAM,MAEnC,CAAK,EACD,MAAMC,EAAM,IAAI,gBAAgBF,CAAM,EACtC,OAAO,QAAQ,UAAU,CACvB,oBAAqB,EAC3B,EAAO,GAAI,GAAG,KAAK,cAAc,IAAIE,EAAI,UAAU,EAAE,CAClD,CACD,mBAAmBH,EAAO,CACpBA,EAAM,MAAM,oBACd,OAAO,MAAM,MAAM,OAAO,SAAS,KAAM,CACvC,OAAQ,SAChB,CAAO,EAED,OAAO,SAAS,QAAQ,OAAO,SAAS,IAAI,CAE/C,CACD,cAAe,CACb,KAAK,WAAW,eACjB,CACD,qBAAsB,CACG,CAAC,GAAG,MAAM,KAAK,SAAS,iBAAiB,uCAAuC,CAAC,EAAG,GAAG,MAAM,KAAK,SAAS,iBAAiB,wCAAwC,CAAC,EAAG,GAAG,MAAM,KAAK,SAAS,iBAAiB,yCAAyC,CAAC,CAAC,EACnQ,QAAQI,GAAKA,EAAE,OAAQ,CAAA,CACvC,CACD,aAAc,CACZ,GAAI,CAAC,KAAK,cAAe,CAEvB,KAAK,cAAc,QAAQC,GAAU,CACnCA,EAAO,SAAS,EAAE,CAC1B,CAAO,EACD,KAAK,WAAW,gBAChB,MACD,CACG,KAAK,aAAa,OAEpB,KAAK,cAAc,QAAQA,GAAU,CACnCA,EAAO,SAAS,EAAE,CAC1B,CAAO,EACD,KAAK,WAAW,iBAEhB,OAAO,MAAM,MAAM,KAAK,aAAa,CAExC,CACD,aAAc,CACZ,GAAI,CAAC,KAAK,cAAe,CACvB,KAAK,aAAa,MAAQ,KAC1B,KAAK,kBAAkB,MAAM,QAAU,OACvC,KAAK,WAAW,gBAChB,MACD,CACG,KAAK,cAAc,MAAMD,GAAKA,EAAE,MAAM,CAAC,IAAM,EAAE,EACjD,OAAO,MAAM,MAAM,KAAK,aAAa,GAErC,KAAK,aAAa,MAAQ,KAC1B,KAAK,kBAAkB,MAAM,QAAU,OACvC,KAAK,WAAW,gBAEnB,CACH,CAtFEE,EADkBR,EACX,UAAU,CAAC,OAAQ,SAAU,cAAe,QAAQ,GAC3DQ,EAFkBR,EAEX,SAAS,CACd,UAAW,CACT,KAAM,OACN,QAAS,iBACV,EACD,SAAU,MACd"}