{"version":3,"sources":["ts/dbs.jobs.ts"],"names":["TimeForYou","Jobs","rateLimitDelay","let","ajax","timeout","initiateSearch","ev","clearTimeout","readyState","XMLHttpRequest","DONE","abort","window","setInterval","sendSearch","ctrl","target","inputCtrl","value","length","oldItems","parentElement","getElementsByTagName","i","remove","addEventListener","completeSearch","status","items","JSON","parse","responseText","autoWrapper","autoList","document","createElement","htmlString","item","ccUrl","Url","Question","j","Categories","Name","innerHTML","appendChild","open","encodeURI","setRequestHeader","send","Initialise","faqSearch","querySelector"],"mappings":"aAWA,IAAOA,WAAP,CAAA,SAAOA,GAAW,CAAAC,EAAAD,EAAAC,OAAAD,EAAAC,KAAI,IAElB,MAAMC,EAAiB,IACvBC,IAAIC,EACAC,EAEJ,SAASC,EAAeC,GAEK,KAAA,IAAd,GAEPC,aAAaH,CAAO,EAGF,KAAA,IAAX,GAA0BD,EAAKK,aAAeC,eAAeC,MAEpEP,EAAKQ,MAAK,EAGdP,EAAUQ,OAAOC,YAAY,KAAMC,IAGnBC,EAH8BT,EAAGU,OAUjD,GALyB,KAAA,IAAd,GAEPT,aAAaH,CAAO,EAGnBW,EAAL,CAKA,IAAME,EAAYF,EAElB,GAAIE,EAAUC,MAAMC,OAAS,EAA7B,CAEI,IACMC,EADcH,EAAUI,cACDC,qBAAqB,IAAI,EAEtD,IAAKpB,IAAIqB,EAAI,EAAGA,EAAIH,EAASD,OAAQI,CAAC,GAElCH,EAASG,GAAGC,OAAM,C,MAK1BrB,EAAO,IAAIM,gBACNgB,iBAAiB,mBAAoB,KAAMC,IAO5BX,EAP2CA,EAS/D,GAAIZ,EAAKK,aAAeC,eAAeC,MAAwB,MAAhBP,EAAKwB,OAApD,CAKA,IAAMC,EAAQC,KAAKC,MAAM3B,EAAK4B,YAAY,EAGpCC,EAAejB,EAA0BM,cACzCD,EAAWY,EAAYV,qBAAqB,IAAI,EAEtD,IAAKpB,IAAIqB,EAAI,EAAGA,EAAIH,EAASD,OAAQI,CAAC,GAElCH,EAASG,GAAGC,OAAM,EAGtB,IAAMS,EAAWC,SAASC,cAAc,IAAI,EAC5CjC,IAAIkC,EAAa,GAEjB,GAAqB,IAAjBR,EAAMT,OAENiB,EAAa,0DAIb,IAAKlC,IAAIqB,EAAI,EAAGA,EAAIK,EAAMT,OAAQI,CAAC,GACnC,CACI,IAAMc,EAAOT,EAAML,GACnBa,mBAA8BE,4BAA4BD,EAAKE,sDAAsDF,EAAKG,wCAC1H,IAAKtC,IAAIuC,EAAI,EAAGA,EAAIJ,EAAKK,WAAWvB,OAAQsB,CAAC,GAEzCL,sFAAiGC,EAAKK,WAAWD,GAAGE,mBAExHP,GAAc,yG,CAItBH,EAASW,UAAYR,EAErBJ,EAAYa,YAAYZ,CAAQ,C,CAhDmC,CAAC,EACpE9B,EAAK2C,KAAK,MAAUR,MAAH,0CAAkDS,UAAU9B,EAAUC,KAAK,EAAK,CAAA,CAAI,EACrGf,EAAK6C,iBAAiB,SAAU,kBAAkB,EAClD7C,EAAK6C,iBAAiB,eAAgB,iCAAiC,EACvE7C,EAAK8C,KAAI,C,CAlC8C,EAAGhD,CAAc,CAC5E,CAgFgBD,EAAAkD,WAAhB,WAEI,IAAMC,EAAYjB,SAASkB,cAAc,qCAAqC,EAC1ED,GAEAA,EAAU1B,iBAAiB,QAASpB,CAAc,CAE1D,CA1GkB,CA2GrB,EA3GMN,WAAAA,YAAU,EAAA,EA6GjBa,OAAOa,iBAAiB,OAAQ1B,WAAWC,KAAKkD,UAAU","file":"dbs.jobs.js","sourcesContent":["declare var ccUrl: string;\r\n\r\ntype FaqAutocompleteResponse = {\r\n Question: string;\r\n Url: string;\r\n Categories: {\r\n Name: string;\r\n Url: string;\r\n }[];\r\n}[];\r\n\r\nmodule TimeForYou.Jobs\r\n{\r\n const rateLimitDelay = 200;\r\n let ajax: XMLHttpRequest;\r\n let timeout: number;\r\n\r\n function initiateSearch(ev: Event)\r\n {\r\n if (typeof (timeout) !== \"undefined\")\r\n {\r\n clearTimeout(timeout);\r\n }\r\n\r\n if (typeof (ajax) !== \"undefined\" && ajax.readyState !== XMLHttpRequest.DONE)\r\n {\r\n ajax.abort();\r\n }\r\n\r\n timeout = window.setInterval(() => sendSearch(ev.target), rateLimitDelay);\r\n }\r\n\r\n function sendSearch(ctrl: EventTarget | null)\r\n {\r\n if (typeof (timeout) !== \"undefined\")\r\n {\r\n clearTimeout(timeout);\r\n }\r\n\r\n if (!ctrl)\r\n {\r\n return;\r\n }\r\n\r\n const inputCtrl = ctrl as HTMLInputElement;\r\n\r\n if (inputCtrl.value.length < 3)\r\n {\r\n const autoWrapper = inputCtrl.parentElement as HTMLDivElement;\r\n const oldItems = autoWrapper.getElementsByTagName(\"ul\");\r\n\r\n for (let i = 0; i < oldItems.length; i++)\r\n {\r\n oldItems[i].remove();\r\n }\r\n return;\r\n }\r\n\r\n ajax = new XMLHttpRequest();\r\n ajax.addEventListener(\"readystatechange\", () => completeSearch(ctrl));\r\n ajax.open(\"GET\", `${ccUrl}/cleaning-jobs/faqs/autocomplete?query=${encodeURI(inputCtrl.value)}`, true);\r\n ajax.setRequestHeader(\"accept\", \"application/json\");\r\n ajax.setRequestHeader(\"content-type\", \"application/json; charset=UTF-8\");\r\n ajax.send();\r\n }\r\n\r\n function completeSearch(ctrl: EventTarget)\r\n {\r\n if (ajax.readyState !== XMLHttpRequest.DONE || ajax.status !== 200)\r\n {\r\n return;\r\n }\r\n\r\n const items = JSON.parse(ajax.responseText) as FaqAutocompleteResponse;\r\n\r\n\r\n const autoWrapper = (ctrl as HTMLInputElement).parentElement as HTMLDivElement;\r\n const oldItems = autoWrapper.getElementsByTagName(\"ul\");\r\n\r\n for (let i = 0; i < oldItems.length; i++)\r\n {\r\n oldItems[i].remove();\r\n }\r\n\r\n const autoList = document.createElement(\"ul\") as HTMLUListElement;\r\n let htmlString = '';\r\n\r\n if (items.length === 0)\r\n {\r\n htmlString = `