{"version":3,"file":"brochureCookiePicker.js","names":["BrochureCookiePicker","BaseClass","constructor","el","super","this","component","document","selectBar","querySelector","countText","brochures","querySelectorAll","selectedIds","cookieValue","init","bindEvents","undefined","cookie","includes","split","find","row","startsWith","forEach","button","brochureId","dataset","classList","add","push","cookieCount","parseInt","length","updateButton","addEventListener","toggleClass","toggleId","brochure","brochureCount","textContent","remove","id","filter","removeCookieValue","addCookieValue","raiseEvent","fetch"],"sources":["brochureCookiePicker.js"],"mappings":"AAAA,MAAMA,6BAA6BC,UAC/B,WAAAC,CAAYC,GACRC,MAAMD,GACNE,KAAKC,UAAYC,SAEjBF,KAAKG,UAAYH,KAAKC,UAAUG,cAAc,iBAC9CJ,KAAKK,UAAYL,KAAKG,UAAUC,cAAc,gBAE9CJ,KAAKM,UAAYN,KAAKC,UAAUM,iBAAiB,0BAEjDP,KAAKQ,YAAc,GAEnBR,KAAKS,YAAc,GAEnBT,KAAKU,OAELV,KAAKW,YACT,CAEA,IAAAD,GAEI,IAAID,OAEoBG,IAApBV,SAASW,SAA6E,IAArDX,SAASW,OAAOC,SAAS,0BAC1DL,EAAcP,SAASW,OAClBE,MAAM,MACNC,MAAKC,GAAOA,EAAIC,WAAW,0BAC3BH,MAAM,KAAK,IAGpBf,KAAKM,UAAUa,SAAQrB,IAEnBA,EAAGsB,OAAStB,EAAGM,cAAc,qBAE7B,MAAMiB,EAAavB,EAAGwB,QAAQD,WAC9BvB,EAAGuB,WAAaA,EAEZ,IAAIZ,KAAeK,SAAS,IAAIO,QAChCvB,EAAGyB,UAAUC,IAAI,YACjBxB,KAAKQ,YAAYiB,KAAKJ,GAC1B,IAEJ,IAAIK,EAAc,EAClBA,EAAcjB,EAAckB,SAASlB,GAAaM,MAAM,KAAKa,QAAU,EACvE5B,KAAKS,YAAciB,EAEnB1B,KAAK6B,cAGT,CAEA,UAAAlB,GACIX,KAAKM,UAAUa,SAAQrB,IACnBA,EAAGgC,iBACC,SACA,KACIC,YAAYjC,EAAI,YAChBE,KAAKgC,SAASlC,EAAGuB,YACjBrB,KAAKM,UAAUa,SAAQc,IACpB,MAAMZ,EAAaY,EAASX,QAAQD,WAChCvB,EAAGuB,aAAeA,GAAcY,IAAanC,GAC7CiC,YAAYE,EAAU,WAC1B,GACD,GAEV,GAER,CAEA,YAAAJ,GAEI,MAAMK,EAAgBlC,KAAKS,YAC3BT,KAAKK,UAAU8B,YAAc,GAAGD,aAA4C,IAAlBA,EAAuB,IAAM,cAEnFA,EAAgB,EAChBlC,KAAKG,UAAUoB,UAAUC,IAAI,QAE7BxB,KAAKG,UAAUoB,UAAUa,OAAO,OAGxC,CAEA,QAAAJ,CAASK,GACarC,KAAKQ,YAAYM,SAASuB,IAGxCrC,KAAKQ,YAAcR,KAAKQ,YAAY8B,QAAOxC,GAAMA,IAAOuC,IACxDrC,KAAKuC,kBAAkBF,GACvBrC,KAAKS,gBAELT,KAAKQ,YAAYiB,KAAKY,GACtBrC,KAAKwC,eAAeH,GACpBrC,KAAKS,eAGTT,KAAK6B,eAEL7B,KAAKyC,WAAW,cAAezC,KAAKQ,YAExC,CAEA,cAAAgC,CAAeH,GACXK,MAAM,6DAA6DL,IACvE,CAEA,iBAAAE,CAAkBF,GACdK,MAAM,gEAAgEL,IAC1E,EAIJnC,SAAS4B,iBAAiB,oBAAoB,KACrB,IAAInC,qBAAqBO,SAAS","ignoreList":[],"sourcesContent":["class BrochureCookiePicker extends BaseClass {\r\n constructor(el) {\r\n super(el);\r\n this.component = document;\r\n\r\n this.selectBar = this.component.querySelector(`[data-select]`);\r\n this.countText = this.selectBar.querySelector(`[data-count]`);\r\n\r\n this.brochures = this.component.querySelectorAll(`[data-brochure-cookie]`);\r\n\r\n this.selectedIds = [];\r\n \r\n this.cookieValue = \"\";\r\n\r\n this.init();\r\n\r\n this.bindEvents();\r\n }\r\n\r\n init() {\r\n\r\n let cookieValue;\r\n\r\n if (document.cookie !== undefined && document.cookie.includes('brochuresToDownload=') === true) {\r\n cookieValue = document.cookie\r\n .split('; ')\r\n .find(row => row.startsWith('brochuresToDownload='))\r\n .split('=')[1];\r\n }\r\n\r\n this.brochures.forEach(el => {\r\n\r\n el.button = el.querySelector(`[data-add-cookie]`);\r\n\r\n const brochureId = el.dataset.brochureId;\r\n el.brochureId = brochureId;\r\n\r\n if (`,${cookieValue},`.includes(`,${brochureId},`)) {\r\n el.classList.add('selected');\r\n this.selectedIds.push(brochureId);\r\n }\r\n });\r\n let cookieCount = 0;\r\n cookieCount = cookieValue ? parseInt(cookieValue?.split(',').length) : 0;\r\n this.cookieValue = cookieCount;\r\n \r\n this.updateButton();\r\n \r\n\r\n }\r\n\r\n bindEvents() {\r\n this.brochures.forEach(el => {\r\n el.addEventListener(\r\n 'click',\r\n () => {\r\n toggleClass(el, 'selected');\r\n this.toggleId(el.brochureId);\r\n this.brochures.forEach(brochure => {\r\n const brochureId = brochure.dataset.brochureId;\r\n if (el.brochureId === brochureId && brochure !== el){\r\n toggleClass(brochure, 'selected');\r\n }\r\n });\r\n }\r\n )\r\n })\r\n }\r\n\r\n updateButton() {\r\n\r\n const brochureCount = this.cookieValue\r\n this.countText.textContent = `${brochureCount} Brochure${(brochureCount !== 1) ? 's' : ''} Selected`;\r\n\r\n if (brochureCount > 0) {\r\n this.selectBar.classList.add('open');\r\n } else {\r\n this.selectBar.classList.remove('open');\r\n }\r\n\r\n }\r\n\r\n toggleId(id) {\r\n const isAddedId = this.selectedIds.includes(id);\r\n\r\n if (isAddedId) {\r\n this.selectedIds = this.selectedIds.filter(el => el !== id);\r\n this.removeCookieValue(id);\r\n this.cookieValue--;\r\n } else {\r\n this.selectedIds.push(id);\r\n this.addCookieValue(id);\r\n this.cookieValue++;\r\n }\r\n\r\n this.updateButton();\r\n\r\n this.raiseEvent(\"listUpdated\", this.selectedIds);\r\n\r\n }\r\n\r\n addCookieValue(id) {\r\n fetch(`/umbraco/surface/BrochuresCookie/AddBrochureId?brochureId=${id}`);\r\n }\r\n\r\n removeCookieValue(id) {\r\n fetch(`/umbraco/surface/BrochuresCookie/RemoveBrochureId?brochureId=${id}`);\r\n }\r\n\r\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n let brochurePicker = new BrochureCookiePicker(document); \r\n});"]}