{"version":3,"names":["ConsentManager","constructor","this","consentState","self","document","addEventListener","jQuery","$","ready","on","raiseGTMEvent","e","console","error","checkandDoRefresh","compareCookieValue","OnetrustActiveGroups","body","innerHTML","location","reload","setGoogleAnalyticsMeta","setVariables","setConsentAlertAttr","showHideContentCategory","window","dataLayer","push","event","metaTag","querySelector","isCategoryActive","content","consentGroups","split","map","item","trim","filter","isPerformanceActive","includes","isFunctionalActive","isTargetingActive","pardotCookieValue","pardotCookieKey","getCookieValue","parameters","updatePageVariables","updateDataLayerVariables","length","is_performance_active","is_functional_active","is_targeting_active","pardot_cookie_id","pageVariables","IsPerformanceActive","IsFunctionalActive","IsTargettingActive","PardotCookieId","consentAlert","style","display","components","querySelectorAll","categories","Array","from","Set","getAttribute","flat","join","setAttribute","forEach","element","showGroups","hideGroups","every","group","has","some","str1","str2","arr1","sort","arr2","eventName","eventAction","GTMData","eventCategory","componentName","componentCategories","activeConsentGroups","componentGroups","ComponentName","Category","cookieName","cookies","cookie","find","name","decodeURIComponent","consentManager","OptanonWrapper"],"sources":["assets/feature/gdpr/onetrust/onetrust-pagereload.js"],"sourcesContent":["class ConsentManager {\r\n constructor() {\r\n this.consentState = \"\";\r\n const self = this;\r\n document.addEventListener(\"DOMContentLoaded\", () => {\r\n if (typeof jQuery === 'undefined') {\r\n return;\r\n }\r\n try {\r\n $(document).ready(() => {\r\n $(document).on('click', '#onetrust-accept-btn-handler', () => { self.raiseGTMEvent('onetrust_accept', 'Clicked on OT Accept button'); });\r\n $(document).on('click', '#accept-recommended-btn-handler', () => { self.raiseGTMEvent('onetrust_customize', 'Clicked on OT Customize button'); });\r\n $(document).on('click', '.save-preference-btn-handler', () => { self.raiseGTMEvent('onetrust_customize', 'Clicked on OT Customize button'); });\r\n });\r\n } catch (e) {\r\n console.error(\"Error in ConsentManager constructor\", e);\r\n }\r\n });\r\n }\r\n\r\n checkandDoRefresh() {\r\n if (this.consentState != \"\" && !this.compareCookieValue(this.consentState, OnetrustActiveGroups)) {\r\n document.body.innerHTML = \"\";\r\n location.reload();\r\n return;\r\n }\r\n\r\n this.consentState = OnetrustActiveGroups;\r\n this.setGoogleAnalyticsMeta();\r\n this.setVariables();\r\n this.setConsentAlertAttr();\r\n this.showHideContentCategory();\r\n window.dataLayer.push({ event: 'OneTrustGroupsUpdated' });\r\n const self = this;\r\n document.addEventListener(\"DOMContentLoaded\", () => {\r\n self.showHideContentCategory();\r\n });\r\n }\r\n\r\n setGoogleAnalyticsMeta() {\r\n var metaTag = document.querySelector('meta[name=\"gdpr_googleanalytics\"]');\r\n if (!metaTag) {\r\n return;\r\n }\r\n\r\n if (!this.isCategoryActive(\"GoogleAnalytics\")) {\r\n metaTag.content = \"False\";\r\n }\r\n }\r\n\r\n setVariables() {\r\n const consentGroups = OnetrustActiveGroups.split(',').map(item => item.trim()).filter(item => item !== '');\r\n const isPerformanceActive = consentGroups.includes('C0002');\r\n const isFunctionalActive = consentGroups.includes('C0003');\r\n const isTargetingActive = consentGroups.includes('C0004');\r\n\r\n let pardotCookieValue = \"\";\r\n\r\n if (typeof pardotCookieKey !== 'undefined' && pardotCookieKey) {\r\n pardotCookieValue = this.getCookieValue(pardotCookieKey);\r\n }\r\n\r\n const parameters = {};\r\n parameters.isPerformanceActive = isPerformanceActive;\r\n parameters.isFunctionalActive = isFunctionalActive;\r\n parameters.isTargetingActive = isTargetingActive;\r\n parameters.pardotCookieValue = pardotCookieValue;\r\n\r\n this.updatePageVariables(parameters);\r\n this.updateDataLayerVariables(parameters);\r\n }\r\n\r\n updateDataLayerVariables(parameters) {\r\n if (typeof dataLayer === 'undefined' || !dataLayer || dataLayer.length === 0) {\r\n return;\r\n }\r\n\r\n if (parameters.isPerformanceActive) {\r\n dataLayer[0].is_performance_active = \"True\";\r\n }\r\n if (parameters.isFunctionalActive) {\r\n dataLayer[0].is_functional_active = \"True\";\r\n }\r\n if (parameters.isTargetingActive) {\r\n dataLayer[0].is_targeting_active = \"True\";\r\n }\r\n if (parameters.pardotCookieValue) {\r\n dataLayer[0].pardot_cookie_id = parameters.pardotCookieValue;\r\n }\r\n }\r\n\r\n updatePageVariables(parameters) {\r\n if (typeof pageVariables === \"undefined\" || !pageVariables) {\r\n return;\r\n }\r\n\r\n if (parameters.isPerformanceActive) {\r\n pageVariables.IsPerformanceActive = \"True\";\r\n }\r\n if (parameters.isFunctionalActive) {\r\n pageVariables.IsFunctionalActive = \"True\";\r\n }\r\n if (parameters.isTargetingActive) {\r\n pageVariables.IsTargettingActive = \"True\";\r\n }\r\n if (parameters.pardotCookieValue) {\r\n pageVariables.PardotCookieId = parameters.pardotCookieValue;\r\n }\r\n }\r\n\r\n setConsentAlertAttr() {\r\n const consentAlert = document.querySelector(\".cookie-consent-warning\");\r\n\r\n if (!consentAlert) {\r\n return;\r\n }\r\n\r\n consentAlert.style.display = \"none\";\r\n\r\n const components = document.querySelectorAll(\"[data-cookie]:not([data-ignore-alert])\");\r\n\r\n if (components.length == 0) {\r\n return;\r\n }\r\n\r\n const categories = Array.from(new Set(\r\n Array.from(components)\r\n .map(item => item.getAttribute(\"data-cookie\").split(\"-\"))\r\n .flat()\r\n .filter(item => item !== '')\r\n )).join(\"-\");\r\n\r\n consentAlert.setAttribute(\"data-category-hide\", categories);\r\n }\r\n\r\n showHideContentCategory() {\r\n const consentGroups = new Set(OnetrustActiveGroups.split(',').map(item => item.trim()).filter(item => item !== ''));\r\n const elements = document.querySelectorAll('[data-category-show], [data-category-hide]');\r\n elements.forEach(element => {\r\n const showGroups = element.getAttribute('data-category-show')?.split('-') || [];\r\n const hideGroups = element.getAttribute('data-category-hide')?.split('-') || [];\r\n\r\n if (showGroups.length > 0 && showGroups.every(group => consentGroups.has(group))) {\r\n element.style.display = 'block';\r\n }\r\n\r\n if (hideGroups.length > 0 && hideGroups.some(group => !consentGroups.has(group))) {\r\n element.style.display = 'block';\r\n }\r\n });\r\n }\r\n\r\n compareCookieValue(str1, str2) {\r\n const arr1 = str1.split(',').map(item => item.trim()).filter(item => item !== '').sort();\r\n const arr2 = str2.split(',').map(item => item.trim()).filter(item => item !== '').sort();\r\n\r\n return arr1.join(',') === arr2.join(',');\r\n }\r\n\r\n raiseGTMEvent(eventName, eventAction) {\r\n const GTMData = {\r\n 'event': 'gaCustomEvents_' + eventName,\r\n 'eventAction': eventAction,\r\n 'eventCategory': 'OneTrust Consent'\r\n };\r\n dataLayer.push(GTMData);\r\n }\r\n\r\n isCategoryActive(componentName) {\r\n if (typeof OnetrustActiveGroups === 'undefined') {\r\n return true;\r\n }\r\n\r\n if (!OnetrustActiveGroups) {\r\n return false;\r\n }\r\n\r\n if (!componentCategories) {\r\n return false;\r\n }\r\n\r\n const activeConsentGroups = new Set(OnetrustActiveGroups.split(',').map(item => item.trim()).filter(item => item !== ''));\r\n const componentGroups = componentCategories\r\n .filter(group => group.ComponentName === componentName)\r\n .map(group => group.Category);\r\n\r\n if (componentGroups.length === 0) {\r\n return true;\r\n }\r\n\r\n //all the componentGroups should present in activeConsentGroups\r\n return componentGroups.every(group => activeConsentGroups.has(group));\r\n }\r\n\r\n getCookieValue(cookieName) {\r\n const cookies = document.cookie.split(\"; \").map(cookie => cookie.split(\"=\"));\r\n const cookie = cookies.find(([name]) => name === cookieName);\r\n return cookie ? decodeURIComponent(cookie[1]) : \"\";\r\n }\r\n}\r\n\r\nconst consentManager = new ConsentManager();\r\nfunction OptanonWrapper() {\r\n consentManager.checkandDoRefresh();\r\n}"],"mappings":"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","ignoreList":[]}