{"version":3,"file":"search_controller-wpj_z_TY.js","sources":["../../../app/javascript/controllers/search_controller.js"],"sourcesContent":["import { get } from \"@rails/request.js\"\nimport PaginationController from \"./pagination_controller\"\n\nexport default class extends PaginationController {\n static targets = [\n \"searchInput\",\n \"clearButton\",\n \"filterButton\",\n \"submitButton\",\n \"searchContainer\",\n \"allContainer\",\n \"skeletons\",\n \"paginationButton\",\n ]\n static values = {\n timer: Object,\n url: String,\n }\n\n sync() {\n if (this.searchInputTarget.value.trim().length !== 0) {\n this.clearButtonTarget.classList.remove(\"hidden\")\n\n if (this.hasFilterButtonTarget) {\n this.filterButtonTarget.classList.add(\"hidden\")\n }\n clearTimeout(this.timer)\n document.getElementById(\"search-results\").innerHTML = \"\"\n this._showSkeletonLoaders()\n this._setTimerToRequestResource()\n\n this.searchContainerTarget.classList.remove(\"hidden\")\n this.allContainerTarget.classList.add(\"hidden\")\n } else {\n this.clear()\n clearTimeout(this.timer)\n if (this.hasPaginationButtonTarget) {\n this.paginationButtonTarget.classList.remove(\"hidden\")\n }\n }\n }\n\n clear() {\n this.searchInputTarget.value = \"\"\n this.clearButtonTarget.classList.add(\"hidden\")\n this.searchContainerTarget.classList.add(\"hidden\")\n this.allContainerTarget.classList.remove(\"hidden\")\n this._hideSkeletonLoaders()\n\n if (this.hasFilterButtonTarget) {\n this.filterButtonTarget.classList.remove(\"hidden\")\n }\n\n this.resetPage()\n }\n\n _setTimerToRequestResource() {\n this.timer = setTimeout(async () => {\n const url = new URL(this.urlValue)\n url.searchParams.append(\"search\", this.searchInputTarget.value)\n await get(url.toString(), { responseKind: \"turbo-stream\" })\n this._hideSkeletonLoaders()\n }, 400)\n }\n\n _showSkeletonLoaders() {\n if (this.hasSkeletonsTarget) {\n this.skeletonsTarget.classList.remove(\"hidden\")\n }\n\n if (this.hasPaginationButtonTarget) {\n this.paginationButtonTarget.classList.add(\"hidden\")\n }\n }\n\n _hideSkeletonLoaders() {\n if (this.hasSkeletonsTarget) {\n this.skeletonsTarget.classList.add(\"hidden\")\n }\n\n if (this.hasPaginationButtonTarget) {\n this.paginationButtonTarget.classList.remove(\"hidden\")\n }\n }\n\n get paginationUrl() {\n return super.paginationUrl.concat(`&search=${this.searchInputTarget.value}`)\n }\n}\n"],"names":["search_controller","PaginationController","url","get","__publicField"],"mappings":"+QAGe,MAAKA,UAASC,CAAqB,CAgBhD,MAAO,CACD,KAAK,kBAAkB,MAAM,KAAM,EAAC,SAAW,GACjD,KAAK,kBAAkB,UAAU,OAAO,QAAQ,EAE5C,KAAK,uBACP,KAAK,mBAAmB,UAAU,IAAI,QAAQ,EAEhD,aAAa,KAAK,KAAK,EACvB,SAAS,eAAe,gBAAgB,EAAE,UAAY,GACtD,KAAK,qBAAoB,EACzB,KAAK,2BAA0B,EAE/B,KAAK,sBAAsB,UAAU,OAAO,QAAQ,EACpD,KAAK,mBAAmB,UAAU,IAAI,QAAQ,IAE9C,KAAK,MAAK,EACV,aAAa,KAAK,KAAK,EACnB,KAAK,2BACP,KAAK,uBAAuB,UAAU,OAAO,QAAQ,EAG7D,CAEE,OAAQ,CACN,KAAK,kBAAkB,MAAQ,GAC/B,KAAK,kBAAkB,UAAU,IAAI,QAAQ,EAC7C,KAAK,sBAAsB,UAAU,IAAI,QAAQ,EACjD,KAAK,mBAAmB,UAAU,OAAO,QAAQ,EACjD,KAAK,qBAAoB,EAErB,KAAK,uBACP,KAAK,mBAAmB,UAAU,OAAO,QAAQ,EAGnD,KAAK,UAAS,CAClB,CAEE,4BAA6B,CAC3B,KAAK,MAAQ,WAAW,SAAY,CAClC,MAAMC,EAAM,IAAI,IAAI,KAAK,QAAQ,EACjCA,EAAI,aAAa,OAAO,SAAU,KAAK,kBAAkB,KAAK,EAC9D,MAAMC,EAAID,EAAI,SAAU,EAAE,CAAE,aAAc,cAAgB,CAAA,EAC1D,KAAK,qBAAoB,CAC/B,EAAO,GAAG,CACV,CAEE,sBAAuB,CACjB,KAAK,oBACP,KAAK,gBAAgB,UAAU,OAAO,QAAQ,EAG5C,KAAK,2BACP,KAAK,uBAAuB,UAAU,IAAI,QAAQ,CAExD,CAEE,sBAAuB,CACjB,KAAK,oBACP,KAAK,gBAAgB,UAAU,IAAI,QAAQ,EAGzC,KAAK,2BACP,KAAK,uBAAuB,UAAU,OAAO,QAAQ,CAE3D,CAEE,IAAI,eAAgB,CAClB,OAAO,MAAM,cAAc,OAAO,WAAW,KAAK,kBAAkB,KAAK,EAAE,CAC/E,CACA,CApFEE,EADkBJ,EACX,UAAU,CACf,cACA,cACA,eACA,eACA,kBACA,eACA,YACA,kBACJ,GACEI,EAXkBJ,EAWX,SAAS,CACd,MAAO,OACP,IAAK,MACT"}