Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
- capacityCheck = true
- capacityCache = res
- for (let officeName in res) {
- if (values.office === officeName) {
- capacityDisplay.innerHTML = ""
- const office = document.createElement("div")
- office.innerHTML = `<b>Office:</b> ${officeName}`
- const limit = document.createElement("div")
- limit.innerHTML = `<b>Limit:</b> ${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 = `<b>${obj.date}:</b> ${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
- console.log('capacityCheck currrent state: ', capacityCheck)
- } 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"
- }
- })
- }
- }
- console.log("capacityCheck final state: ", capacityCheck)
- })
- } else if (!selectedDates.length) {
- capacityDisplay.hidden = true
- capacityCheck = capacityDisplay.hidden
- }
- selectedDatesGlobal = JSON.stringify(selectedDates)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement