{"version":3,"file":"pages-search-caregivers-js-C07J6jbq.js","sources":["../src/entries/pages/search-caregivers.js"],"sourcesContent":["import delegate from \"delegate-it\";\nimport { fireEvent } from \"@/scripts/common/util\";\nimport ajax from \"@/scripts/common/ajax\";\nimport { updateQueryParams } from \"@/scripts/common/util\";\nimport \"./search-caregivers.css\";\n\nconst sidebarFiltersForm = document.querySelector(\".sidebar-filters-form\");\nconst sidebarFilterKeys = Array.from(document.querySelectorAll(\"[data-filter-key]\")).map((x) => x.dataset.filterKey);\n\nconst updateResults = async () => {\n const pageContent = document.querySelector(\"[data-page-content]\");\n\n pageContent.classList.add(\"is-loading\");\n\n const res = await ajax.get(window.location.href).json();\n\n pageContent.innerHTML = res.page;\n pageContent.classList.remove(\"is-loading\");\n\n fireEvent(\"results:update\", document.documentElement, {\n selectedFilters: JSON.parse(res.selectedFiltersJson),\n selectedCities: JSON.parse(res.selectedCitiesJson),\n });\n};\n\nconst handleSortChange = (e) => {\n const selected = e.delegateTarget.dataset.sort;\n\n const url = updateQueryParams([[\"sort\", selected]]);\n\n window.history.replaceState({}, \"\", url);\n\n updateResults();\n};\n\nconst handleViewChange = (e) => {\n const url = updateQueryParams([[\"view\", e.delegateTarget.dataset.changeView]]);\n\n window.history.replaceState({}, \"\", url);\n\n updateResults();\n};\n\nconst handleSidebarFilterChange = () => {\n const filtersFormData = new FormData(sidebarFiltersForm);\n const selectedFilters = new Map(sidebarFilterKeys.map((key) => [key, new Set()]));\n\n for (const [name, value] of filtersFormData.entries()) {\n if (selectedFilters.has(name)) {\n selectedFilters.get(name).add(value);\n }\n }\n\n const params = [...selectedFilters].map(([key, set]) => [key, set.size ? [...set].join(\"_\") : false]);\n const url = updateQueryParams(params);\n\n window.history.replaceState({}, \"\", url);\n\n updateResults();\n};\n\nconst handleSearchSubmit = (e) => {\n e.preventDefault();\n\n const data = new FormData(sidebarFiltersForm);\n const cities = data\n .getAll(\"cities[]\")\n .filter((str) => str.trim() !== \"\")\n .join(\"_\");\n const name = data.get(\"name\");\n\n const url = updateQueryParams([\n [\"times\", false],\n [\"days\", false],\n [\"transporation\", false],\n [\"languages\", false],\n [\"name\", name],\n [\"cities\", cities],\n ]);\n\n window.history.replaceState({}, \"\", url);\n\n updateResults();\n};\n\nconst handleClearAll = (e) => {\n e.preventDefault();\n\n window.history.replaceState({}, \"\", e.delegateTarget.href);\n\n updateResults();\n\n sidebarFiltersForm.querySelectorAll(\"input[type=search]\").forEach((x) => (x.value = null));\n sidebarFiltersForm.querySelectorAll(\"input[type=checkbox]\").forEach((x) => (x.checked = false));\n};\n\nconst handlePrint = () => {\n const url = new URL(window.location.href);\n url.searchParams.set(\"print\", \"1\");\n\n window.open(url, \"_blank\");\n};\n\nconst handleDownload = () => {\n const url = new URL(window.location.href);\n url.pathname = url.pathname + \"download\";\n\n window.open(url, \"_blank\");\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n if (sidebarFiltersForm) {\n sidebarFiltersForm.addEventListener(\"submit\", handleSearchSubmit);\n }\n\n delegate(\".sidebar-filters-form input[type=checkbox]\", \"change\", handleSidebarFilterChange);\n delegate(\"[data-sort]\", \"click\", handleSortChange);\n delegate('[data-change-view]:not([aria-selected=\"true\"])', \"click\", handleViewChange);\n delegate(\".clear-all\", \"click\", handleClearAll);\n delegate(\".toolbar-print\", \"click\", handlePrint);\n delegate(\".toolbar-download\", \"click\", handleDownload);\n});\n"],"names":["sidebarFiltersForm","sidebarFilterKeys","x","updateResults","pageContent","res","ajax","fireEvent","handleSortChange","selected","url","updateQueryParams","handleViewChange","handleSidebarFilterChange","filtersFormData","selectedFilters","key","name","value","params","set","handleSearchSubmit","data","cities","str","handleClearAll","handlePrint","handleDownload","delegate"],"mappings":"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"}