if (capacityActive === true) { const selectedDates = dateList.map(x => x.value).filter(x => !!x) for (let date in additionalLocationInfo) { if (!selectedDates.includes(date)) delete additionalLocationInfo[date] } populateAddLocation() if (selectedDates.length && JSON.stringify(selectedDates) !== selectedDatesGlobal) { fetch(`https://freshservicecounter.ringteam.com/v2/getcapacity?office=${JSON.stringify(officeCapacity)}&dates=${JSON.stringify(selectedDates)}`) .then(res => { return res.json() }) .then(res => { // main capacity for (let officeName in res) { capacityCheck = true if (values.office === officeName) { capacityDisplay.innerHTML = "" const office = document.createElement("div") office.innerHTML = `Office: ${officeName}` const limit = document.createElement("div") limit.innerHTML = `Limit: ${res[officeName].limit} visitors per day` limit.style.borderBottom = "1px dotted grey" capacityDisplay.appendChild(office) capacityDisplay.appendChild(limit) var capacityDataArray = [] for (let date in res[officeName].capacity) { capacityDataArray.push({ date: date, capacity: res[officeName].capacity[date] }) } capacityDataArray.sort((x,y) => { return x.date > y.date ? 1 : -1 }) capacityDataArray.forEach(obj => { const dateElem = document.createElement("div") dateElem.innerHTML = `${obj.date}: ${obj.capacity} visitors confirmed` //console.log(obj.capacity, res.limit) if (obj.capacity / res[officeName].limit >= 0.7) dateElem.style.color = "orange" if (obj.capacity >= res[officeName].limit) { dateElem.style.color = "red" capacityCheck = false } capacityDisplay.appendChild(dateElem) }) capacityDisplay.hidden = false } else { //additional capacity dateList.forEach(dateElem => { var elem = dateElem.parentNode.getElementsByClassName("capacity_" + officeName)[0] elem.style.color = "black" elem.innerHTML = `${res[officeName].capacity[dateElem.value]}/${res[officeName].limit} confirmed` if (res[officeName].capacity[dateElem.value] >= res[officeName].limit) { elem.style.color = "red" capacityCheck = false } }) } } }) } else { capacityDisplay.hidden = true capacityCheck = capacityDisplay.hidden } selectedDatesGlobal = JSON.stringify(selectedDates) }