summaryrefslogtreecommitdiff
path: root/searx/static/themes/simple/js/search.min.js.map
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2025-08-18 12:26:00 +0200
committerMarkus Heiser <markus.heiser@darmarIT.de>2025-08-18 16:38:32 +0200
commit9b4ea6442949af48e5114d118057c06083a48466 (patch)
treef3869ce94a88ef43950bf854b030d1ded5a5a92f /searx/static/themes/simple/js/search.min.js.map
parent4e586a7eca97b7a236b420952aed2e1c18c78e47 (diff)
[build] /static
Diffstat (limited to 'searx/static/themes/simple/js/search.min.js.map')
-rw-r--r--searx/static/themes/simple/js/search.min.js.map1
1 files changed, 1 insertions, 0 deletions
diff --git a/searx/static/themes/simple/js/search.min.js.map b/searx/static/themes/simple/js/search.min.js.map
new file mode 100644
index 000000000..676cf55c7
--- /dev/null
+++ b/searx/static/themes/simple/js/search.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"search.min.js","names":["qInput: HTMLInputElement","cs: HTMLElement","event: MouseEvent","isMobile: boolean","isResultsPage: boolean","categoryButtons: HTMLButtonElement[]","form: HTMLFormElement | null","event: Event"],"sources":["../../../../../client/simple/src/js/main/search.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { assertElement, listen, settings } from \"../core/toolkit.ts\";\n\nconst submitIfQuery = (qInput: HTMLInputElement): void => {\n if (qInput.value.length > 0) {\n const search = document.getElementById(\"search\") as HTMLFormElement | null;\n search?.submit();\n }\n};\n\nconst updateClearButton = (qInput: HTMLInputElement, cs: HTMLElement): void => {\n cs.classList.toggle(\"empty\", qInput.value.length === 0);\n};\n\nconst createClearButton = (qInput: HTMLInputElement): void => {\n const cs = document.getElementById(\"clear_search\");\n assertElement(cs);\n\n updateClearButton(qInput, cs);\n\n listen(\"click\", cs, (event: MouseEvent) => {\n event.preventDefault();\n qInput.value = \"\";\n qInput.focus();\n updateClearButton(qInput, cs);\n });\n\n listen(\"input\", qInput, () => updateClearButton(qInput, cs), { passive: true });\n};\n\nconst qInput = document.getElementById(\"q\") as HTMLInputElement | null;\nassertElement(qInput);\n\nconst isMobile: boolean = window.matchMedia(\"(max-width: 50em)\").matches;\nconst isResultsPage: boolean = document.querySelector(\"main\")?.id === \"main_results\";\n\n// focus search input on large screens\nif (!(isMobile || isResultsPage)) {\n qInput.focus();\n}\n\ncreateClearButton(qInput);\n\n// Additionally to searching when selecting a new category, we also\n// automatically start a new search request when the user changes a search\n// filter (safesearch, time range or language) (this requires JavaScript\n// though)\nif (\n settings.search_on_category_select &&\n // If .search_filters is undefined (invisible) we are on the homepage and\n // hence don't have to set any listeners\n document.querySelector(\".search_filters\")\n) {\n const safesearchElement = document.getElementById(\"safesearch\");\n if (safesearchElement) {\n listen(\"change\", safesearchElement, () => submitIfQuery(qInput));\n }\n\n const timeRangeElement = document.getElementById(\"time_range\");\n if (timeRangeElement) {\n listen(\"change\", timeRangeElement, () => submitIfQuery(qInput));\n }\n\n const languageElement = document.getElementById(\"language\");\n if (languageElement) {\n listen(\"change\", languageElement, () => submitIfQuery(qInput));\n }\n}\n\nconst categoryButtons: HTMLButtonElement[] = [\n ...document.querySelectorAll<HTMLButtonElement>(\"button.category_button\")\n];\nfor (const button of categoryButtons) {\n listen(\"click\", button, (event: MouseEvent) => {\n if (event.shiftKey) {\n event.preventDefault();\n button.classList.toggle(\"selected\");\n return;\n }\n\n // deselect all other categories\n for (const categoryButton of categoryButtons) {\n categoryButton.classList.toggle(\"selected\", categoryButton === button);\n }\n });\n}\n\nconst form: HTMLFormElement | null = document.querySelector<HTMLFormElement>(\"#search\");\nassertElement(form);\n\n// override form submit action to update the actually selected categories\nlisten(\"submit\", form, (event: Event) => {\n event.preventDefault();\n\n const categoryValuesInput = document.querySelector<HTMLInputElement>(\"#selected-categories\");\n if (categoryValuesInput) {\n const categoryValues = categoryButtons\n .filter((button) => button.classList.contains(\"selected\"))\n .map((button) => button.name.replace(\"category_\", \"\"));\n\n categoryValuesInput.value = categoryValues.join(\",\");\n }\n\n form.submit();\n});\n"],"mappings":"wDAIA,MAAM,EAAgB,AAACA,GAAmC,CACxD,GAAI,EAAO,MAAM,OAAS,EAAG,CAC3B,IAAM,EAAS,SAAS,eAAe,SAAS,CAChD,GAAQ,QAAQ,AACjB,CACF,EAEK,EAAoB,CAACA,EAA0BC,IAA0B,CAC7E,EAAG,UAAU,OAAO,QAAS,EAAO,MAAM,SAAW,EAAE,AACxD,EAEK,EAAoB,AAACD,GAAmC,CAC5D,IAAM,EAAK,SAAS,eAAe,eAAe,CAClD,EAAc,EAAG,CAEjB,EAAkB,EAAQ,EAAG,CAE7B,EAAO,QAAS,EAAI,AAACE,GAAsB,CACzC,EAAM,gBAAgB,CACtB,EAAO,MAAQ,GACf,EAAO,OAAO,CACd,EAAkB,EAAQ,EAAG,AAC9B,EAAC,CAEF,EAAO,QAAS,EAAQ,IAAM,EAAkB,EAAQ,EAAG,CAAE,CAAE,QAAS,EAAM,EAAC,AAChF,EAEK,EAAS,SAAS,eAAe,IAAI,CAC3C,EAAc,EAAO,CAErB,MAAMC,EAAoB,OAAO,WAAW,oBAAoB,CAAC,QAC3DC,EAAyB,SAAS,cAAc,OAAO,EAAE,KAAO,eAatE,GAVM,GAAY,GAChB,EAAO,OAAO,CAGhB,EAAkB,EAAO,CAOvB,EAAS,2BAGT,SAAS,cAAc,kBAAkB,CACzC,CACA,IAAM,EAAoB,SAAS,eAAe,aAAa,CAC3D,GACF,EAAO,SAAU,EAAmB,IAAM,EAAc,EAAO,CAAC,CAGlE,IAAM,EAAmB,SAAS,eAAe,aAAa,CAC1D,GACF,EAAO,SAAU,EAAkB,IAAM,EAAc,EAAO,CAAC,CAGjE,IAAM,EAAkB,SAAS,eAAe,WAAW,CACvD,GACF,EAAO,SAAU,EAAiB,IAAM,EAAc,EAAO,CAAC,AAEjE,CAED,MAAMC,EAAuC,CAC3C,GAAG,SAAS,iBAAoC,yBAAyB,AAC1E,EACD,IAAK,IAAM,KAAU,EACnB,EAAO,QAAS,EAAQ,AAACH,GAAsB,CAC7C,GAAI,EAAM,SAAU,CAClB,EAAM,gBAAgB,CACtB,EAAO,UAAU,OAAO,WAAW,CACnC,MACD,CAGD,IAAK,IAAM,KAAkB,EAC3B,EAAe,UAAU,OAAO,WAAY,IAAmB,EAAO,AAEzE,EAAC,CAGJ,MAAMI,EAA+B,SAAS,cAA+B,UAAU,CACvF,EAAc,EAAK,CAGnB,EAAO,SAAU,EAAM,AAACC,GAAiB,CACvC,EAAM,gBAAgB,CAEtB,IAAM,EAAsB,SAAS,cAAgC,uBAAuB,CAC5F,GAAI,EAAqB,CACvB,IAAM,EAAiB,EACpB,OAAO,AAAC,GAAW,EAAO,UAAU,SAAS,WAAW,CAAC,CACzD,IAAI,AAAC,GAAW,EAAO,KAAK,QAAQ,YAAa,GAAG,CAAC,CAExD,EAAoB,MAAQ,EAAe,KAAK,IAAI,AACrD,CAED,EAAK,QAAQ,AACd,EAAC"} \ No newline at end of file