{"version":3,"file":"search-1SDEfxdQ.js","sources":["../../../app/frontend/entrypoints/controllers/search.ts"],"sourcesContent":["import Utils from \"../utils\";\n\nexport default class Search {\n private backdrop: HTMLElement;\n private select: any;\n constructor() {\n this.backdrop = document.querySelector(\".content-backdrop\") as HTMLElement;\n\n this.setupSelect();\n }\n\n setupSelect() {\n this.select = jQuery(\"#header_search\").select2({\n // @ts-ignore\n dropdownParent: document.querySelector(\"#layout-navbar\"),\n placeholder: \"Search...\",\n ajax: {\n url: \"/api/v1/search\",\n dataType: 'json',\n delay: 250,\n // @ts-ignore\n data: (params: { term: any; page: any; }) => {\n return {\n q: params.term, // search term\n page: params.page\n };\n },\n // @ts-ignore\n processResults: (data: any, params: any) => {\n const s2Format = {results: []}\n Object.keys(data.data).forEach((model: any) => {\n const values = data.data[model]\n let mappedValues = values.map((v: any) => {\n let id = v.id;\n let text = v.name;\n if (!id) {\n id = v.uuid;\n }\n if (!text) {\n text = v.title;\n }\n const o = {id: id, text: text, model: model}\n if (v.serial) {\n o[\"serial\"] = v.serial\n }\n return o;\n });\n if (mappedValues.length > 0) {\n // @ts-ignore\n s2Format.results.push({\n \"text\": Utils.translate(`search.${model}`),\n \"children\": mappedValues\n })\n }\n })\n return s2Format;\n },\n cache: true\n },\n escapeMarkup: (markup: any) => { return markup; }, // let our custom formatter work\n minimumInputLength: 1,\n });\n this.select.on(\"select2:opening\", (e: any) => {\n this.backdrop.classList.add(\"show\");\n });\n this.select.on(\"select2:closing\", (e: any) => {\n this.backdrop.classList.remove(\"show\");\n });\n this.select.on(\"select2:select\", (e: any) => {\n const data = e.params.data;\n if (data.model === \"product\") {\n if (data.serial) {\n document.location.href = `/${(window as any).currentLocale}/erp/products/${data.id}?serial=${data.serial}`\n } else {\n document.location.href = `/${(window as any).currentLocale}/erp/products/${data.id}`\n }\n }else if (data.model === \"order\" || data.model === \"stock\") {\n document.location.href = `/${(window as any).currentLocale}/erp/orders/${data.id}`\n }else if (data.model === \"ticket\" || data.model === \"ticket_comment\" || data.model === \"report\") {\n document.location.href = `/${(window as any).currentLocale}/ticket/tasks/${data.id}`\n }else if (data.model === \"customer\") {\n document.location.href = `/${(window as any).currentLocale}/customer/customers/${data.id}`\n }else if (data.model === \"customer_contact\") {\n document.location.href = `/${(window as any).currentLocale}/customer/contacts/${data.id}`\n }else if (data.model === \"customer_location\") {\n document.location.href = `/${(window as any).currentLocale}/customer/locations/${data.id}`\n }\n })\n }\n}\n"],"names":[],"mappings":"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"}