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)
}