<script></p><p> try{</p><p> var privacyPolicyUrl = "";</p><p> var hasCustomPrivacyPolicy = false;</p><p> var hasAnalytics = false;</p><p> var hasDowntimeNotification = true;</p><p> var downtimeSetting = "{\"title\": \"Maintenance Bynder\", \"content\": \"Bynder is performing maintenance on Saturday, March 19th, 2022 between 9:00 and 17:00 CET. For more information see our <strong><a href='https://status.bynder.com/incidents/zb7hgh10b1sf'\\u00a0class='link-primary'>status page</a></strong>.\", \"appcodes\": [], \"accounts\": [], \"expiryDate\": \"2022-03-19 17:30\"}"; // Using ColdFusion Elvis operator(?:) to handle null or undefined</p><p> var downtimeSettingJson = downtimeSetting ? JSON.parse(downtimeSetting) : false;</p><p> if(downtimeSettingJson && downtimeSettingJson.expiryDate) {</p><p> var expiryDate = new Date(downtimeSettingJson.expiryDate).getTime();</p><p> var currentDate = new Date().getTime();</p><p> hasDowntimeNotification = !downtimeSettingJson.expiryDate || expiryDate >= currentDate;</p><p> }</p><p> function openPrivacyPolicyModal(event) {</p><p> event.preventDefault();</p><p> document.dispatchEvent(new Event('open-privacy-policy-modal'));</p><p> }</p><p> function removeCookieByInnerText(resultList, text){</p><p> const removeCookie = () => {</p><p> for (const node of resultList.children) {</p><p> if(node.innerText?.includes(text)) {</p><p> node.remove();</p><p> }</p><p> }</p><p> }</p><p> // Observe async changes (api)</p><p> const observer = new MutationObserver(removeCookie);</p><p> observer.observe(resultList, { childList: true });</p><p> // Remove if the list is already rendered</p><p> removeCookie();</p><p> }</p><p> Osano.cm.addEventListener('osano-cm-initialized', () => {</p><p> // Add event listener on main banner</p><p> var mainBannerLink = document.querySelector('a.osano-cm-link');</p><p> if(mainBannerLink) {</p><p> mainBannerLink.href = privacyPolicyUrl || mainBannerLink.href;</p><p> if(!privacyPolicyUrl && hasCustomPrivacyPolicy) {</p><p> mainBannerLink.href = '';</p><p> mainBannerLink.addEventListener('click', openPrivacyPolicyModal);</p><p> }</p><p> }</p><p> document.addEventListener('open-cookie-drawer', function() {</p><p> Osano.cm.showDrawer('osano-cm-dom-info-dialog-open');</p><p> });</p><p> });</p><p> // Add event listener on side panel</p><p> Osano.cm.addEventListener('osano-cm-ui-changed', (component, stateChange) => {</p><p> // Hide useless marketing option on drawer and dialog</p><p> if (component !== 'widget' && stateChange === 'show') {</p><p> const marketingLabel = document.querySelector(`[for=osano-cm-${component}-toggle--category_MARKETING]`);</p><p> const personalizationLabel = document.querySelector(`[for=osano-cm-${component}-toggle--category_PERSONALIZATION]`);</p><p> const dontSellLabel = document.querySelector(`[for=osano-cm-${component}-toggle--category_OPT_OUT]`);</p><p> const storageLabel = document.querySelector('.osano-cm-content .osano-cm-link--type_manage');</p><p> if(storageLabel) {</p><p> storageLabel.textContent = 'Cookie Preferences';</p><p> }</p><p> if(marketingLabel){</p><p> marketingLabel.parentElement.hidden = true;</p><p> }</p><p> if(marketingLabel){</p><p> personalizationLabel.parentElement.hidden = true;</p><p> }</p><p> if(dontSellLabel){</p><p> dontSellLabel.parentElement.hidden = true;</p><p> }</p><p> }</p><p> if (component === 'drawer' && stateChange === 'show') {</p><p> // Set custom privacy policy</p><p> var sidePanelLink = document.querySelector('.osano-cm-info--open a.osano-cm-link');</p><p> if (sidePanelLink) {</p><p> sidePanelLink.href = privacyPolicyUrl || sidePanelLink.href;</p><p> if (!privacyPolicyUrl && hasCustomPrivacyPolicy) {</p><p> sidePanelLink.href = '';</p><p> sidePanelLink.addEventListener('click', openPrivacyPolicyModal);</p><p> }</p><p> }</p><p> // Hide not used cookies (GA)</p><p> if(!hasAnalytics) {</p><p> const resultList = document.getElementById('osano-cm-ANALYTICS_disclosures');</p> <p> removeCookieByInnerText(resultList, 'Google LLC');</p><p> }</p><p> // hide portal-notification cookie if it's not active</p><p> if(!hasDowntimeNotification) {</p><p> const resultList = document.getElementById('osano-cm-ESSENTIAL_disclosures');</p><p> removeCookieByInnerText(resultList, 'portal-notification');</p><p> }</p><p> }</p><p> }); </p><p> } catch(error) {</p><p> console.error('An Error occured while displaying cookie banner:', error);</p><p> }</p><p>