{"version":3,"file":"./modules/JobAgentTeaser.xxxxxxxx.js","mappings":"maAAMA,EAAiB,iCAEvB,aAUI,WAAmBC,GAAA,KAAAA,QAAAA,EACfC,KAAKD,QAAUA,EACfC,KAAKC,MACT,CA2EJ,OArFW,EAAAC,MAAP,SAAaC,QAAA,IAAAA,IAAAA,EAAA,GACTC,MAAMC,KAAKC,SAASC,iBAAiBJ,IAAWK,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,iBAAd,GAAiCC,QAAQ,SAACb,GACpH,IAAIc,EAAed,GACnBA,EAAQW,QAAQC,kBAAoB,MACxC,EACJ,EAOQ,YAAAV,KAAR,sBACUa,EAAaR,SAASS,uBAAuB,iBAC7CC,EAAQhB,KAAKD,QAAQgB,uBAAuB,WAElD,IAAKD,EAAWG,SAAWD,EAAMC,OAC7B,OAAOjB,KAGXA,KAAKkB,UAAYJ,EAAWK,KAAKL,EAAWG,OAAS,GACrD,IAAMG,EAAOJ,EAAM,GAOnB,OALAI,EAAKC,iBAAiB,QAAS,SAAAC,GAC3BA,EAAIC,iBACJ,EAAKC,cAAcJ,EACvB,GAEOpB,IACX,EAEQ,YAAAwB,cAAR,SAAsBJ,G,QAEZK,EAAiB,CACnB,EAAKzB,KAAK0B,sBACV,SAAY1B,KAAK2B,uBAAuB,WACxC,MAAS3B,KAAK2B,uBAAuB,QACrC,UAAa3B,KAAK2B,uBAAuB,YACzC,UAAa3B,KAAK2B,uBAAuB,SACzC,UAAa3B,KAAK4B,sBAClB,MAAS,YAETC,EAAW,IAAIC,IAAIV,EAAKW,MAE5B,IAAK,IAAMC,KAASP,EAChB,GAAIA,EAAOO,aAAkB5B,M,IACzB,IAAoB,kBAAAqB,EAAOO,KAAM,8BAAE,CAA9B,IAAMC,EAAK,QACZJ,EAAIK,aAAaC,OAAOH,EAAOC,EACnC,C,uGAKJJ,EAAIK,aAAaC,OAAOH,EAAOP,EAAOO,IAG1CZ,EAAKW,KAAOF,EAAIO,WAChBC,SAASN,KAAOX,EAAKW,IACzB,EAEQ,YAAAL,oBAAR,WACI,IAAMY,EAAkDtC,KAAKkB,UAAUqB,cAAc,iCACrF,OAAKD,EAEEA,EAAYL,MADR,EAEf,EAEQ,YAAAL,oBAAR,WACI,IAAMY,EAA0DxC,KAAKkB,UAAUqB,cAAc,wDAE7F,OAAKC,EAGEA,EAAoBP,MAFhB,EAGf,EAEQ,YAAAN,uBAAR,SAA+Bc,GAC3B,IAAMC,EAAStC,QAMf,OAJAA,MAAMC,KAAKL,KAAKkB,UAAUX,iBAAiB,wBAAiBkC,EAAG,uCAAsC7B,QAAQ,SAAC+B,GAC1GD,EAAOE,KAAKD,EAAIV,MACpB,GAEOS,CACX,EACJ,EAxFA,G,UAsGI,IAAI7B,EAAeX,MAAMJ,E","sources":["webpack:///./modules/JobAgentTeaser.ts"],"sourcesContent":["const moduleSelector = '[data-module=\"JobAgentTeaser\"]';\r\n\r\nexport default class JobAgentTeaser {\r\n private jobFilter: Element;\r\n\r\n static setup(selector: string = moduleSelector): void {\r\n Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n new JobAgentTeaser(element);\r\n element.dataset.moduleInitialized = \"true\";\r\n });\r\n }\r\n\r\n constructor(public element: HTMLElement) {\r\n this.element = element;\r\n this.init();\r\n }\r\n\r\n private init(): JobAgentTeaser {\r\n const jobFilters = document.getElementsByClassName(\"cw-job-filter\");\r\n const links = this.element.getElementsByClassName(\"cw-link\");\r\n\r\n if (!jobFilters.length || !links.length) {\r\n return this;\r\n }\r\n\r\n this.jobFilter = jobFilters.item(jobFilters.length - 1);\r\n const link = links[0] as HTMLLinkElement;\r\n\r\n link.addEventListener(\"click\", evt => {\r\n evt.preventDefault();\r\n this.changeLinkUrl(link);\r\n });\r\n\r\n return this;\r\n }\r\n\r\n private changeLinkUrl(link: HTMLLinkElement): void {\r\n\r\n const params: Object = {\r\n \"q\": this.getSearchInputValue(),\r\n \"fcountry\": this.getSelectedValuesByKey(\"country\"),\r\n \"fcity\": this.getSelectedValuesByKey(\"city\"),\r\n \"ffunction\": this.getSelectedValuesByKey(\"function\"),\r\n \"fjoblevel\": this.getSelectedValuesByKey(\"level\"),\r\n \"flanguage\": this.getSelectedLanguage(),\r\n \"scope\": \"external\"\r\n },\r\n url: URL = new URL(link.href);\r\n\r\n for (const param in params) {\r\n if (params[param] instanceof Array) {\r\n for (const value of params[param]) {\r\n url.searchParams.append(param, value);\r\n }\r\n\r\n continue;\r\n }\r\n\r\n url.searchParams.append(param, params[param]);\r\n }\r\n\r\n link.href = url.toString();\r\n location.href = link.href;\r\n }\r\n\r\n private getSearchInputValue(): string {\r\n const searchInput: HTMLInputElement = this.jobFilter.querySelector(\"input.cw-search[name='query']\");\r\n if (!searchInput)\r\n return \"\";\r\n return searchInput.value;\r\n }\r\n\r\n private getSelectedLanguage(): string {\r\n const selectedLanguageBox: HTMLInputElement = this.jobFilter.querySelector(\"div[data-key='language'] input[type='radio']:checked\");\r\n\r\n if (!selectedLanguageBox)\r\n return \"\";\r\n\r\n return selectedLanguageBox.value;\r\n }\r\n\r\n private getSelectedValuesByKey(key: string): Array {\r\n const values = Array();\r\n\r\n Array.from(this.jobFilter.querySelectorAll(`div[data-key='${key}'] input[type='checkbox']:checked`)).forEach((box: HTMLInputElement) => {\r\n values.push(box.value);\r\n });\r\n\r\n return values;\r\n }\r\n}\r\n\r\nif (module.hot) {\r\n let nodesCache: HMRNodes[] = Array.from(document.querySelectorAll(moduleSelector)).map((element: Node) => ({ nodeToReplace: element, nodeOrigin: element.cloneNode(true) }));\r\n\r\n new JobAgentTeaser.setup(moduleSelector);\r\n\r\n module.hot.accept(() => {\r\n new JobAgentTeaser.setup(moduleSelector);\r\n });\r\n module.hot.dispose(() => {\r\n nodesCache.forEach(({ nodeToReplace, nodeOrigin }) => { nodeToReplace = nodeToReplace.parentElement.replaceChild(nodeOrigin.cloneNode(true), nodeToReplace) });\r\n });\r\n} else {\r\n new JobAgentTeaser.setup(moduleSelector);\r\n}"],"names":["moduleSelector","element","this","init","setup","selector","Array","from","document","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","JobAgentTeaser","jobFilters","getElementsByClassName","links","length","jobFilter","item","link","addEventListener","evt","preventDefault","changeLinkUrl","params","getSearchInputValue","getSelectedValuesByKey","getSelectedLanguage","url","URL","href","param","value","searchParams","append","toString","location","searchInput","querySelector","selectedLanguageBox","key","values","box","push"],"sourceRoot":""}