{ "version": 3, "sources": ["../../../Frontend/src/scripts/google-analytics.js"], "sourcesContent": ["window.dataLayer = window.dataLayer || [];\r\nwindow.formStartEvent = formStartEvent;\r\nwindow.formStartStepEvent = formStartStepEvent;\r\nwindow.formSubmitStepEvent = formSubmitStepEvent;\r\nwindow.formCompleteEvent = formCompleteEvent;\r\nwindow.vacancyClicked = vacancyClicked;\r\nwindow.jobboardSearchQuery = jobboardSearchQuery;\r\nwindow.vacancyShared = vacancyShared;\r\n\r\nlet formStarted = false;\r\n\r\nconst pageId = document.currentScript.getAttribute('data-pageId')\r\nconst pageName = document.currentScript.getAttribute('data-pageName');\r\nconst documentType = document.currentScript.getAttribute('data-documentType');\r\n\r\n// window_loaded\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n dataLayer.push({\r\n \"event\": \"page_view\",\r\n \"data\": {\r\n \"language\": `${document.documentElement.lang}`,\r\n \"page\": `${pageId}`,\r\n \"page_name\": `${pageName}`,\r\n \"page_type\": `${documentType}`\r\n }\r\n });\r\n});\r\n\r\n// search_query\r\nfunction jobboardSearchQuery(query, totalCount) {\r\n dataLayer.push({\r\n \"event\": \"search_query\",\r\n \"data\": {\r\n \"level_1\": \"search\",\r\n \"level_2\": \"query\",\r\n \"level_3\": hasValue(query.Keyword),\r\n \"level_4\": hasValue(query.Language),\r\n \"level_5\": hasValue(query.Location),\r\n \"level_6\": hasValue(query.Radius),\r\n \"level_7\": hasValue(query.PostalCodes),\r\n \"level_8\": hasValue(query.Companies),\r\n \"level_9\": hasValue(query.Mediums),\r\n \"level_10\": hasValue(query.ScheduleTypes),\r\n \"level_11\": hasValue(query.ContractTypes),\r\n \"level_12\": hasValue(query.JobFunctions),\r\n \"level_13\": hasValue(query.Branches),\r\n \"level_14\": hasValue(query.Sort),\r\n \"level_15\": hasValue(query.Since),\r\n \"level_16\": `${totalCount}`\r\n }\r\n })\r\n}\r\n\r\nfunction vacancyClicked(totalCount, index, query, title, pubId) {\r\n dataLayer.push({\r\n \"event\": \"search_result_click\",\r\n \"data\": {\r\n \"level_1\": \"search\",\r\n \"level_2\": \"result_click\",\r\n \"level_3\": hasValue(query.Keyword),\r\n \"level_4\": hasValue(query.Language),\r\n \"level_5\": hasValue(query.Location),\r\n \"level_6\": hasValue(query.Radius),\r\n \"level_7\": hasValue(query.PostalCodes),\r\n \"level_8\": hasValue(query.Companies),\r\n \"level_9\": hasValue(query.Mediums),\r\n \"level_10\": hasValue(query.ScheduleTypes),\r\n \"level_11\": hasValue(query.ContractTypes),\r\n \"level_12\": hasValue(query.JobFunctions),\r\n \"level_13\": hasValue(query.Branches),\r\n \"level_14\": hasValue(query.Sort),\r\n \"level_15\": hasValue(query.Since),\r\n \"level_16\": `${totalCount}`,\r\n \"level_17\": hasValue(query.Page),\r\n \"level_18\": `${index}`,\r\n \"level_19\": `${title}`,\r\n \"level_20\": `${pubId}`,\r\n }\r\n })\r\n}\r\n\r\nfunction formStartEvent(formStartEventOptions) {\r\n if (formStarted === true) {\r\n return;\r\n }\r\n\r\n dataLayer.push({\r\n \"event\": `form_${formStartEventOptions.formName}_form_start`,\r\n \"data\": {\r\n \"level_1\": \"form\",\r\n \"level_2\": \"form_start\",\r\n \"level_3\": `${formStartEventOptions.formName}`,\r\n \"level_4\": `${formStartEventOptions.stepNumber}`,\r\n \"level_5\": `${pageName}`\r\n }\r\n });\r\n\r\n formStarted = true\r\n}\r\n\r\nfunction formStartStepEvent(formStartStepEventOptions) {\r\n dataLayer.push({\r\n \"event\": `form_${formStartStepEventOptions.formName}_step_start`,\r\n \"data\": {\r\n \"level_1\": \"form\",\r\n \"level_2\": \"step_start\",\r\n \"level_3\": `${formStartStepEventOptions.formName}`,\r\n \"level_4\": `${formStartStepEventOptions.stepNumber}`,\r\n \"level_5\": `${pageName}`\r\n }\r\n });\r\n}\r\n\r\nfunction formSubmitStepEvent(formSubmitStepEventOptions) {\r\n dataLayer.push({\r\n \"event\": `form_${formSubmitStepEventOptions.formName}_step_submit`,\r\n \"data\": {\r\n \"level_1\": \"form\",\r\n \"level_2\": \"step_start\",\r\n \"level_3\": `${formSubmitStepEventOptions.formName}`,\r\n \"level_4\": `${formSubmitStepEventOptions.stepNumber}`,\r\n \"level_5\": `${pageName}`\r\n }\r\n });\r\n}\r\n\r\n// when completing the form/funnel:\r\nfunction formCompleteEvent(formCompleteEventOptions) {\r\n const eventData = {\r\n \"level_1\": \"form\",\r\n \"level_2\": \"complete\",\r\n \"level_3\": formCompleteEventOptions.formName,\r\n \"level_4\": formCompleteEventOptions.stepNumber,\r\n \"level_5\": formCompleteEventOptions.postalCode,\r\n \"level_6\": `${pageName}`\r\n }\r\n\r\n formCompleteEventOptions.selectedValues.forEach((selectedValue) => {\r\n eventData[`level_${Object.keys(eventData).length + 1}`] = selectedValue.value\r\n })\r\n\r\n const enhancedConversionsData = {\r\n \"email\": formCompleteEventOptions.enhancedConversions.email,\r\n \"phone_number\": formCompleteEventOptions.enhancedConversions.phoneNumber,\r\n \"address\": {\r\n \"first_name\": formCompleteEventOptions.enhancedConversions.firstName\r\n }\r\n }\r\n\r\n\r\n dataLayer.push({\r\n \"event\": `form_${formCompleteEventOptions.formName}_complete`,\r\n \"data\": { ...eventData, ...enhancedConversionsData }\r\n });\r\n}\r\n\r\n\r\nfunction vacancyShared(platform, title, pubId) {\r\n dataLayer.push({\r\n \"event\": \"vacancy_share_click\",\r\n \"data\": {\r\n \"level_1\": \"vacancy\",\r\n \"level_2\": \"share_click\",\r\n \"level_3\": `${platform}`,\r\n \"level_4\": `${title}`,\r\n \"level_5\": `${pubId}`,\r\n }\r\n })\r\n}\r\n\r\nfunction hasValue(value) {\r\n if (value == null) return null;\r\n \r\n if (Array.isArray(value) && value.length === 0) return null;\r\n \r\n if (typeof value === 'string' && value.trim() === '') return null;\r\n \r\n if (typeof value === 'object' && Object.keys(value).length === 0) return null;\r\n \r\n if (typeof value === 'number' && isNaN(value)) return null;\r\n \r\n return value;\r\n};"], "mappings": "MAAA,OAAO,UAAY,OAAO,WAAa,CAAC,EACxC,OAAO,eAAiBA,EACxB,OAAO,mBAAqBC,EAC5B,OAAO,oBAAsBC,EAC7B,OAAO,kBAAoBC,EAC3B,OAAO,eAAiBC,EACxB,OAAO,oBAAsBC,EAC7B,OAAO,cAAgBC,EAEvB,IAAIC,EAAc,GAEZC,EAAS,SAAS,cAAc,aAAa,aAAa,EAC1DC,EAAW,SAAS,cAAc,aAAa,eAAe,EAC9DC,EAAe,SAAS,cAAc,aAAa,mBAAmB,EAG5E,SAAS,iBAAiB,mBAAoB,IAAM,CAChD,UAAU,KAAK,CACX,MAAS,YACT,KAAQ,CACJ,SAAY,GAAG,SAAS,gBAAgB,OACxC,KAAQ,GAAGF,IACX,UAAa,GAAGC,IAChB,UAAa,GAAGC,GACpB,CACJ,CAAC,CACL,CAAC,EAGD,SAASL,EAAoBM,EAAOC,EAAY,CAC5C,UAAU,KAAK,CACX,MAAS,eACT,KAAQ,CACJ,QAAW,SACX,QAAW,QACX,QAAWC,EAASF,EAAM,OAAO,EACjC,QAAWE,EAASF,EAAM,QAAQ,EAClC,QAAWE,EAASF,EAAM,QAAQ,EAClC,QAAWE,EAASF,EAAM,MAAM,EAChC,QAAWE,EAASF,EAAM,WAAW,EACrC,QAAWE,EAASF,EAAM,SAAS,EACnC,QAAWE,EAASF,EAAM,OAAO,EACjC,SAAYE,EAASF,EAAM,aAAa,EACxC,SAAYE,EAASF,EAAM,aAAa,EACxC,SAAYE,EAASF,EAAM,YAAY,EACvC,SAAYE,EAASF,EAAM,QAAQ,EACnC,SAAYE,EAASF,EAAM,IAAI,EAC/B,SAAYE,EAASF,EAAM,KAAK,EAChC,SAAY,GAAGC,GACnB,CACJ,CAAC,CACL,CAEA,SAASR,EAAeQ,EAAYE,EAAOH,EAAOI,EAAOC,EAAO,CAC5D,UAAU,KAAK,CACX,MAAS,sBACT,KAAQ,CACJ,QAAW,SACX,QAAW,eACX,QAAWH,EAASF,EAAM,OAAO,EACjC,QAAWE,EAASF,EAAM,QAAQ,EAClC,QAAWE,EAASF,EAAM,QAAQ,EAClC,QAAWE,EAASF,EAAM,MAAM,EAChC,QAAWE,EAASF,EAAM,WAAW,EACrC,QAAWE,EAASF,EAAM,SAAS,EACnC,QAAWE,EAASF,EAAM,OAAO,EACjC,SAAYE,EAASF,EAAM,aAAa,EACxC,SAAYE,EAASF,EAAM,aAAa,EACxC,SAAYE,EAASF,EAAM,YAAY,EACvC,SAAYE,EAASF,EAAM,QAAQ,EACnC,SAAYE,EAASF,EAAM,IAAI,EAC/B,SAAYE,EAASF,EAAM,KAAK,EAChC,SAAY,GAAGC,IACf,SAAYC,EAASF,EAAM,IAAI,EAC/B,SAAY,GAAGG,IACf,SAAY,GAAGC,IACf,SAAY,GAAGC,GACnB,CACJ,CAAC,CACL,CAEA,SAAShB,EAAeiB,EAAuB,CACvCV,IAAgB,KAIpB,UAAU,KAAK,CACX,MAAS,QAAQU,EAAsB,sBACvC,KAAQ,CACJ,QAAW,OACX,QAAW,aACX,QAAW,GAAGA,EAAsB,WACpC,QAAW,GAAGA,EAAsB,aACpC,QAAW,GAAGR,GAClB,CACJ,CAAC,EAEDF,EAAc,GAClB,CAEA,SAASN,EAAmBiB,EAA2B,CACnD,UAAU,KAAK,CACX,MAAS,QAAQA,EAA0B,sBAC3C,KAAQ,CACJ,QAAW,OACX,QAAW,aACX,QAAW,GAAGA,EAA0B,WACxC,QAAW,GAAGA,EAA0B,aACxC,QAAW,GAAGT,GAClB,CACJ,CAAC,CACL,CAEA,SAASP,EAAoBiB,EAA4B,CACrD,UAAU,KAAK,CACX,MAAS,QAAQA,EAA2B,uBAC5C,KAAQ,CACJ,QAAW,OACX,QAAW,aACX,QAAW,GAAGA,EAA2B,WACzC,QAAW,GAAGA,EAA2B,aACzC,QAAW,GAAGV,GAClB,CACJ,CAAC,CACL,CAGA,SAASN,EAAkBiB,EAA0B,CACjD,IAAMC,EAAY,CACd,QAAW,OACX,QAAW,WACX,QAAWD,EAAyB,SACpC,QAAWA,EAAyB,WACpC,QAAWA,EAAyB,WACpC,QAAW,GAAGX,GAClB,EAEAW,EAAyB,eAAe,QAASE,GAAkB,CAC/DD,EAAU,SAAS,OAAO,KAAKA,CAAS,EAAE,OAAS,GAAG,EAAIC,EAAc,KAC5E,CAAC,EAED,IAAMC,EAA0B,CAC5B,MAASH,EAAyB,oBAAoB,MACtD,aAAgBA,EAAyB,oBAAoB,YAC7D,QAAW,CACP,WAAcA,EAAyB,oBAAoB,SAC/D,CACJ,EAGA,UAAU,KAAK,CACX,MAAS,QAAQA,EAAyB,oBAC1C,KAAQ,CAAE,GAAGC,EAAW,GAAGE,CAAwB,CACvD,CAAC,CACL,CAGA,SAASjB,EAAckB,EAAUT,EAAOC,EAAO,CAC3C,UAAU,KAAK,CACX,MAAS,sBACT,KAAQ,CACJ,QAAW,UACX,QAAW,cACX,QAAW,GAAGQ,IACd,QAAW,GAAGT,IACd,QAAW,GAAGC,GAClB,CACJ,CAAC,CACL,CAEA,SAASH,EAASY,EAAO,CASrB,OARIA,GAAS,MAET,MAAM,QAAQA,CAAK,GAAKA,EAAM,SAAW,GAEzC,OAAOA,GAAU,UAAYA,EAAM,KAAK,IAAM,IAE9C,OAAOA,GAAU,UAAY,OAAO,KAAKA,CAAK,EAAE,SAAW,GAE3D,OAAOA,GAAU,UAAY,MAAMA,CAAK,EAAU,KAE/CA,CACX", "names": ["formStartEvent", "formStartStepEvent", "formSubmitStepEvent", "formCompleteEvent", "vacancyClicked", "jobboardSearchQuery", "vacancyShared", "formStarted", "pageId", "pageName", "documentType", "query", "totalCount", "hasValue", "index", "title", "pubId", "formStartEventOptions", "formStartStepEventOptions", "formSubmitStepEventOptions", "formCompleteEventOptions", "eventData", "selectedValue", "enhancedConversionsData", "platform", "value"] }