summaryrefslogtreecommitdiff
path: root/searx/static/themes/simple/chunk/Q2W2fJLA.min.js.map
blob: 66646dfb4b87b0ddcf96260341afba7c952544d2 (plain)
1
{"version":3,"file":"Q2W2fJLA.min.js","names":[],"sources":["../../../../../client/simple/src/js/main/search.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { listen } from \"../toolkit.ts\";\nimport { getElement } from \"../util/getElement.ts\";\n\nconst searchForm: HTMLFormElement = getElement<HTMLFormElement>(\"search\");\nconst searchInput: HTMLInputElement = getElement<HTMLInputElement>(\"q\");\nconst searchReset: HTMLButtonElement = getElement<HTMLButtonElement>(\"clear_search\");\n\nconst isMobile: boolean = window.matchMedia(\"(max-width: 50em)\").matches;\nconst isResultsPage: boolean = document.querySelector(\"main\")?.id === \"main_results\";\n\nconst categoryButtons: HTMLButtonElement[] = Array.from(\n  document.querySelectorAll<HTMLButtonElement>(\"#categories_container button.category\")\n);\n\nif (searchInput.value.length === 0) {\n  searchReset.classList.add(\"empty\");\n}\n\n// focus search input on large screens\nif (!(isMobile || isResultsPage)) {\n  searchInput.focus();\n}\n\n// On mobile, move cursor to the end of the input on focus\nif (isMobile) {\n  listen(\"focus\", searchInput, () => {\n    // Defer cursor move until the next frame to prevent a visual jump\n    requestAnimationFrame(() => {\n      const end = searchInput.value.length;\n      searchInput.setSelectionRange(end, end);\n      searchInput.scrollLeft = searchInput.scrollWidth;\n    });\n  });\n}\n\nlisten(\"input\", searchInput, () => {\n  searchReset.classList.toggle(\"empty\", searchInput.value.length === 0);\n});\n\nlisten(\"click\", searchReset, (event: MouseEvent) => {\n  event.preventDefault();\n  searchInput.value = \"\";\n  searchInput.focus();\n  searchReset.classList.add(\"empty\");\n});\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\nif (document.querySelector(\"div.search_filters\")) {\n  const safesearchElement = document.getElementById(\"safesearch\");\n  if (safesearchElement) {\n    listen(\"change\", safesearchElement, () => searchForm.submit());\n  }\n\n  const timeRangeElement = document.getElementById(\"time_range\");\n  if (timeRangeElement) {\n    listen(\"change\", timeRangeElement, () => searchForm.submit());\n  }\n\n  const languageElement = document.getElementById(\"language\");\n  if (languageElement) {\n    listen(\"change\", languageElement, () => searchForm.submit());\n  }\n}\n\n// override searchForm submit event\nlisten(\"submit\", searchForm, (event: Event) => {\n  event.preventDefault();\n\n  if (categoryButtons.length > 0) {\n    const searchCategories = getElement<HTMLInputElement>(\"selected-categories\");\n    searchCategories.value = categoryButtons\n      .filter((button) => button.classList.contains(\"selected\"))\n      .map((button) => button.name.replace(\"category_\", \"\"))\n      .join(\",\");\n  }\n\n  searchForm.submit();\n});\n"],"mappings":"yEAKA,IAAM,EAA8B,EAA4B,SAAS,CACnE,EAAgC,EAA6B,IAAI,CACjE,EAAiC,EAA8B,eAAe,CAE9E,EAAoB,OAAO,WAAW,oBAAoB,CAAC,QAC3D,EAAyB,SAAS,cAAc,OAAO,EAAE,KAAO,eAEhE,EAAuC,MAAM,KACjD,SAAS,iBAAoC,wCAAwC,CACtF,CAEG,EAAY,MAAM,SAAW,GAC/B,EAAY,UAAU,IAAI,QAAQ,CAI9B,GAAY,GAChB,EAAY,OAAO,CAIjB,GACF,EAAO,QAAS,MAAmB,CAEjC,0BAA4B,CAC1B,IAAM,EAAM,EAAY,MAAM,OAC9B,EAAY,kBAAkB,EAAK,EAAI,CACvC,EAAY,WAAa,EAAY,aACrC,EACF,CAGJ,EAAO,QAAS,MAAmB,CACjC,EAAY,UAAU,OAAO,QAAS,EAAY,MAAM,SAAW,EAAE,EACrE,CAEF,EAAO,QAAS,EAAc,GAAsB,CAClD,EAAM,gBAAgB,CACtB,EAAY,MAAQ,GACpB,EAAY,OAAO,CACnB,EAAY,UAAU,IAAI,QAAQ,EAClC,CAEF,IAAK,IAAM,KAAU,EACnB,EAAO,QAAS,EAAS,GAAsB,CAC7C,GAAI,EAAM,SAAU,CAClB,EAAM,gBAAgB,CACtB,EAAO,UAAU,OAAO,WAAW,CACnC,OAIF,IAAK,IAAM,KAAkB,EAC3B,EAAe,UAAU,OAAO,WAAY,IAAmB,EAAO,EAExE,CAGJ,GAAI,SAAS,cAAc,qBAAqB,CAAE,CAChD,IAAM,EAAoB,SAAS,eAAe,aAAa,CAC3D,GACF,EAAO,SAAU,MAAyB,EAAW,QAAQ,CAAC,CAGhE,IAAM,EAAmB,SAAS,eAAe,aAAa,CAC1D,GACF,EAAO,SAAU,MAAwB,EAAW,QAAQ,CAAC,CAG/D,IAAM,EAAkB,SAAS,eAAe,WAAW,CACvD,GACF,EAAO,SAAU,MAAuB,EAAW,QAAQ,CAAC,CAKhE,EAAO,SAAU,EAAa,GAAiB,CAG7C,GAFA,EAAM,gBAAgB,CAElB,EAAgB,OAAS,EAAG,CAC9B,IAAM,EAAmB,EAA6B,sBAAsB,CAC5E,EAAiB,MAAQ,EACtB,OAAQ,GAAW,EAAO,UAAU,SAAS,WAAW,CAAC,CACzD,IAAK,GAAW,EAAO,KAAK,QAAQ,YAAa,GAAG,CAAC,CACrD,KAAK,IAAI,CAGd,EAAW,QAAQ,EACnB"}