{"version":3,"file":"./assets/dist/js/cookies.js","mappings":"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","sources":["webpack:///./wwwroot/app/Services/cookieService.ts","webpack:///./wwwroot/app/pages/cookiesMain.ts"],"sourcesContent":["class CookieService {\r\n public removeCookie(name: string): void {\r\n this.setCookie(name, '', { days: -1 });\r\n }\r\n\r\n public setCookie(name: string, value: string, options?: any): void {\r\n if (options == null) {\r\n options = {};\r\n }\r\n let cookieString = name + \"=\" + value + \"; path=/\";\r\n if (options.days) {\r\n const date = new Date();\r\n date.setTime(date.getTime() + (options.days * 24 * 60 * 60 * 1000));\r\n cookieString = cookieString + \"; expires=\" + date.toUTCString();\r\n }\r\n if (document.location.protocol == 'https:') {\r\n cookieString = cookieString + \"; Secure\";\r\n }\r\n document.cookie = cookieString;\r\n };\r\n \r\n public getCookie(name: string): string | null {\r\n const nameEQ = name + \"=\";\r\n const cookies = document.cookie.split(';');\r\n for (var i = 0, len = cookies.length; i < len; i++) {\r\n var cookie = cookies[i];\r\n while (cookie.charAt(0) == ' ') {\r\n cookie = cookie.substring(1, cookie.length);\r\n }\r\n if (cookie.indexOf(nameEQ) === 0) {\r\n return decodeURIComponent(cookie.substring(nameEQ.length));\r\n }\r\n }\r\n\r\n return null;\r\n };\r\n\r\n public initCookieBanner(): void {\r\n const cookiePreferenceMessage = document.getElementById('global-cookie-preference-set-message'),\r\n cookiePreferencesValue = this.getCookie('cookie_preference_set'),\r\n showSetCookiePreference = (cookiePreferenceMessage && cookiePreferencesValue == null);\r\n\r\n if (showSetCookiePreference) {\r\n cookiePreferenceMessage?.removeAttribute('hidden');\r\n const btnAccept = document.getElementById('btn_cookies_accept'),\r\n btnReject = document.getElementById('btn_cookies_reject');\r\n \r\n btnAccept?.addEventListener('click', this.acceptOptionalCookies.bind(this));\r\n btnReject?.addEventListener('click', this.rejectOptionalCookies.bind(this));\r\n }\r\n };\r\n\r\n public acceptOptionalCookies(): void {\r\n this.allowOptionalCookies(true);\r\n }\r\n \r\n public rejectOptionalCookies(): void {\r\n this.allowOptionalCookies(false);\r\n }\r\n\r\n public optionalCookiesAllowed(): boolean {\r\n const cookiePolicy = this.getCookie('cookie_policy');\r\n const analytics = cookiePolicy !== null && cookiePolicy.indexOf('\"analytics\":true') > -1;\r\n return analytics;\r\n }\r\n\r\n public allowOptionalCookies(accepted: boolean): void {\r\n this.setCookie('cookie_preference_set', true.toString(), { days: 365 });\r\n this.setCookie('cookie_policy', '\"analytics\":' + accepted, { days: 365 });\r\n if (!accepted) {\r\n this.removeCookie('ai_session');\r\n this.removeCookie('ai_user');\r\n }\r\n\r\n showCookieConfirmationMessage(accepted);\r\n\r\n function showCookieConfirmationMessage(accepted: boolean) {\r\n const cookiePreferenceMessage = document.getElementById('global-cookie-preference-set-message'),\r\n cookieConfirmationMessage = document.getElementById('global-cookie-confirmation-message');\r\n cookiePreferenceMessage?.setAttribute('hidden', 'true');\r\n cookieConfirmationMessage?.removeAttribute('hidden');\r\n const btnConfirmationHide = document.getElementById('btn_cookie_confirmation_hide'),\r\n cookiePreferencesLabel = document.getElementById('cookie_preference') as HTMLElement;\r\n cookiePreferencesLabel.innerHTML = accepted ? 'accepted' : 'rejected';\r\n btnConfirmationHide?.addEventListener('click', function () { cookieConfirmationMessage?.setAttribute('hidden', 'true'); });\r\n }\r\n };\r\n}\r\n\r\nexport const cookieService = new CookieService();","import { cookieService } from \"../Services/cookieService\";\r\n\r\nexport class Cookies {\r\n private readonly acceptedCookiesElement: HTMLInputElement;\r\n private readonly rejectCookiesElement: HTMLInputElement;\r\n\r\n constructor() {\r\n this.acceptedCookiesElement = document.getElementById('accept-cookies');\r\n this.rejectCookiesElement = document.getElementById('reject-cookies');\r\n document.getElementById('accept-cookies-form')?.removeAttribute('hidden');\r\n this.addListenersToBackButtons();\r\n this.addListenerToSaveButton();\r\n this.setPreferecesOnLoad();\r\n }\r\n\r\n private setPreferecesOnLoad(): void {\r\n const analytics = cookieService.optionalCookiesAllowed();\r\n if (this.acceptedCookiesElement && this.rejectCookiesElement) {\r\n this.acceptedCookiesElement.checked = analytics;\r\n this.rejectCookiesElement.checked = !analytics;\r\n }\r\n }\r\n\r\n private savePreferences(): void {\r\n const acceptedCookies = this.acceptedCookiesElement?.checked ?? false;\r\n cookieService.allowOptionalCookies(acceptedCookies);\r\n const savedCookieBanner = document.getElementById('saved-cookie-pref');\r\n savedCookieBanner?.removeAttribute(\"hidden\");\r\n savedCookieBanner?.focus();\r\n }\r\n\r\n private addListenerToSaveButton(): void {\r\n const btnSave = document.getElementById('btn-save-cookie-pref');\r\n btnSave?.addEventListener('click', this.savePreferences.bind(this));\r\n }\r\n\r\n private addListenersToBackButtons(): void {\r\n const backButton = document.getElementsByClassName('back-link');\r\n for (let i = 0; i < backButton.length; i++) {\r\n backButton[i].addEventListener('click', function (e) {\r\n e.preventDefault();\r\n window.history.back();\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport const cookies = new Cookies();"],"names":["cookieService","removeCookie","name","this","setCookie","days","value","options","cookieString","date","Date","setTime","getTime","toUTCString","document","location","protocol","cookie","getCookie","nameEQ","cookies","split","i","len","length","charAt","substring","indexOf","decodeURIComponent","initCookieBanner","cookiePreferenceMessage","getElementById","cookiePreferencesValue","removeAttribute","btnAccept","btnReject","addEventListener","acceptOptionalCookies","bind","rejectOptionalCookies","allowOptionalCookies","optionalCookiesAllowed","cookiePolicy","accepted","toString","cookieConfirmationMessage","setAttribute","btnConfirmationHide","innerHTML","showCookieConfirmationMessage","acceptedCookiesElement","rejectCookiesElement","addListenersToBackButtons","addListenerToSaveButton","setPreferecesOnLoad","analytics","checked","savePreferences","acceptedCookies","savedCookieBanner","focus","btnSave","backButton","getElementsByClassName","e","preventDefault","window","history","back"],"sourceRoot":""}