{"version":3,"sources":["webpack://Gaffa/./Src/Scripts/components/search.js"],"names":["constructor","elm","args","this","input","querySelector","culture","dataset","searchCulture","searchResults","addEventListener","debounce","e","getTypeAHead","target","value","then","data","console","log","html","forEach","item","resultClass","Url","Result","innerHTML","callback","wait","window","clearTimeout","debounceTimer","setTimeout","apply","q","Promise","resolve","length","fetch","method","cache","headers","response","json","catch","Error"],"mappings":"yKAgDC,UAhDc,MACXA,YAAYC,EAAKC,GACbC,KAAKF,IAAMA,EACXE,KAAKC,MAAQH,EAAII,cAAc,uBAC/BF,KAAKG,QAAUH,KAAKC,MAAMG,QAAQC,cAClCL,KAAKM,cAAgBR,EAAII,cAAc,yBAEvCF,KAAKC,MAAMM,iBAAiB,QAASP,KAAKQ,UAAUC,IAChDT,KAAKU,aAAaD,EAAEE,OAAOC,MAAOZ,KAAKG,SAASU,MAAKC,IACjDC,QAAQC,IAAI,uBAAwBF,GACpC,IAAIG,EAAO,GAEXH,EAAKI,SAAQC,GAAQF,GAAS,aAAYlB,EAAKqB,sBAAsBD,EAAKE,QAAQF,EAAKG,eAEvFtB,KAAKM,cAAciB,UAAYN,CAAI,GAGrC,GACH,KACP,CAEAT,SAASgB,EAAUC,GAAM,WACrB,OAAO,WAAa,2BAAT1B,EAAI,yBAAJA,EAAI,gBACX2B,OAAOC,aAAa,EAAKC,eACzB,EAAKA,cAAgBF,OAAOG,YAAW,IAAML,EAASM,MAAM,KAAM/B,IAAO0B,EAC7E,CACJ,CAEAf,aAAaqB,EAAG5B,GACZ,OAAO,IAAI6B,SAASC,IACN,KAANF,GAAYA,EAAEG,OAAS,EACvBD,EAAQ,IAERE,MAAO,mCAAkCJ,aAAa5B,IAAW,CAC7DiC,OAAQ,MACRC,MAAO,WACPC,QAAS,CACL,eAAgB,sBAGnBzB,MAAK0B,GAAYA,EAASC,SAC1B3B,MAAKC,GAAQmB,EAAQnB,KACrB2B,OAAM3B,IACH,MAAM,IAAI4B,MAAM5B,EAAK,GAEjC,GAER,E","file":"501.e0b333a4e72bf0c4e152.js","sourcesContent":["export default class Search {\r\n constructor(elm, args) {\r\n this.elm = elm;\r\n this.input = elm.querySelector('[data-search-input]');\r\n this.culture = this.input.dataset.searchCulture;\r\n this.searchResults = elm.querySelector('[data-search-results]');\r\n\r\n this.input.addEventListener('input', this.debounce((e) => {\r\n this.getTypeAHead(e.target.value, this.culture).then(data => {\r\n console.log('search input changed', data);\r\n let html = '';\r\n\r\n data.forEach(item => html += `${item.Result}`);\r\n\r\n this.searchResults.innerHTML = html;\r\n\r\n //this.trap.update(Array.from(this.overlay.querySelectorAll(this.trap.focusableElements)));\r\n });\r\n }, 500));\r\n }\r\n\r\n debounce(callback, wait) {\r\n return (...args) => {\r\n window.clearTimeout(this.debounceTimer);\r\n this.debounceTimer = window.setTimeout(() => callback.apply(null, args), wait);\r\n };\r\n }\r\n\r\n getTypeAHead(q, culture) {\r\n return new Promise((resolve) => {\r\n if (q === '' || q.length < 3) {\r\n resolve([]);\r\n } else {\r\n fetch(`/umbraco/api/search/typeahead?q=${q}&culture=${culture}`, {\r\n method: 'GET',\r\n cache: 'no-cache',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n })\r\n .then(response => response.json())\r\n .then(data => resolve(data))\r\n .catch(data => {\r\n throw new Error(data)\r\n });\r\n }\r\n });\r\n }\r\n}\r\n"],"sourceRoot":""}