{"version":3,"file":"823.d8236428228d39e2f3e6.js","mappings":"kIA8DA,QAjDA,SAA8BA,GACrBA,EAAUC,QAIfD,EAAUE,SAAQC,IACd,GAAIA,EAASC,aAAa,yCACtB,OAGJD,EAASE,aAAc,wCAAwC,IAE/D,MAAM,GAAEC,GAAOH,EAASI,QAEpBD,GACAE,MAAO,wDAAuDF,IAAM,CAChEG,OAAQ,SAEPC,MAAKC,GAAYA,EAASC,SAC1BF,MAAKG,IACF,GAAIA,GACIA,EAAKC,SAAW,GAAwB,IAAnBD,EAAKE,UAAiB,CAI3C,GAHAZ,EAASa,UAAUC,IAAI,wBACvBd,EAASe,UAAW,EAEE,UAAlBf,EAASgB,KAAkB,CAC3BhB,EAASiB,SAAU,EAEnB,MAAMC,EAAQlB,EAASmB,mBAEnBD,IACAA,EAAME,UAAYF,EAAME,UAAY,gCAIxCpB,EAASoB,UAAYpB,EAASoB,UAAY,2BAhD1E,SAAqBvB,GAKjB,GAJoBwB,MAAMC,KAAKzB,GAAW0B,OAAOC,GACtCA,EAAET,WAGI,CACb,MAAMU,EAASC,SAASC,cAAc,mBAElCF,IACAA,EAAOV,UAAW,IA0CFa,CAAY/B,OAIvBgC,OAAMC,IACHC,QAAQD,MAAM,SAAUA","sources":["webpack://dclt.web/./wwwroot/app/src/js/instanceAvailability.js"],"sourcesContent":["function checkButton(instances) {\r\n const allDisabled = Array.from(instances).every((i) => {\r\n return i.disabled;\r\n });\r\n\r\n if (allDisabled) {\r\n const button = document.querySelector('.js-book-button');\r\n\r\n if (button) {\r\n button.disabled = true;\r\n }\r\n }\r\n}\r\nfunction instanceAvailability(instances) {\r\n if (!instances.length) {\r\n return;\r\n }\r\n\r\n instances.forEach(instance => {\r\n if (instance.hasAttribute('data-js-parsed--instance-availability')) {\r\n return;\r\n }\r\n\r\n instance.setAttribute(`data-js-parsed--instance-availability`, '');\r\n\r\n const { id } = instance.dataset;\r\n\r\n if (id) {\r\n fetch(`/Umbraco/Api/Availability/GetAvailability?instanceId=${id}`, {\r\n method: 'POST',\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n if (data) {\r\n if (data.capacity > 0 && data.available === 0) {\r\n instance.classList.add('instance-unavailable');\r\n instance.disabled = true;\r\n\r\n if (instance.type === 'radio') {\r\n instance.checked = false;\r\n\r\n const label = instance.nextElementSibling;\r\n\r\n if (label) {\r\n label.innerHTML = label.innerHTML + '- SOLD OUT'\r\n }\r\n }\r\n else {\r\n instance.innerHTML = instance.innerHTML + '- SOLD OUT'\r\n }\r\n\r\n checkButton(instances);\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error:', error);\r\n });\r\n }\r\n });\r\n}\r\n\r\nexport default instanceAvailability;\r\n"],"names":["instances","length","forEach","instance","hasAttribute","setAttribute","id","dataset","fetch","method","then","response","json","data","capacity","available","classList","add","disabled","type","checked","label","nextElementSibling","innerHTML","Array","from","every","i","button","document","querySelector","checkButton","catch","error","console"],"sourceRoot":""}