Advertisement
VladislavNechepaev

Untitled

Jan 27th, 2021
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if (capacityActive === true) {
  2.           const selectedDates = dateList.map(x => x.value).filter(x => !!x)
  3.           for (let date in additionalLocationInfo) {
  4.             if (!selectedDates.includes(date)) delete additionalLocationInfo[date]
  5.           }
  6.           populateAddLocation()
  7.           if (selectedDates.length && JSON.stringify(selectedDates) !== selectedDatesGlobal) {
  8.             fetch(`https://freshservicecounter.ringteam.com/v2/getcapacity?office=${JSON.stringify(officeCapacity)}&dates=${JSON.stringify(selectedDates)}`)
  9.             .then(res => {
  10.               return res.json()
  11.             })
  12.             .then(res => {
  13.             // main capacity
  14.               capacityCheck = true
  15.               capacityCache = res
  16.               for (let officeName in res) {
  17.                 if (values.office === officeName) {
  18.                   capacityDisplay.innerHTML = ""
  19.                   const office = document.createElement("div")
  20.                   office.innerHTML = `<b>Office:</b> ${officeName}`
  21.                   const limit = document.createElement("div")
  22.                   limit.innerHTML = `<b>Limit:</b> ${res[officeName].limit} visitors per day`
  23.                   limit.style.borderBottom = "1px dotted grey"
  24.                   capacityDisplay.appendChild(office)
  25.                   capacityDisplay.appendChild(limit)
  26.                   var capacityDataArray = []
  27.                   for (let date in res[officeName].capacity) {
  28.                     capacityDataArray.push({ date: date, capacity: res[officeName].capacity[date] })
  29.                   }
  30.                   capacityDataArray.sort((x,y) => { return x.date > y.date ? 1 : -1 })
  31.                   capacityDataArray.forEach(obj => {
  32.                     const dateElem = document.createElement("div")
  33.                     dateElem.innerHTML = `<b>${obj.date}:</b> ${obj.capacity} visitors confirmed`
  34.                     //console.log(obj.capacity, res.limit)
  35.                     if (obj.capacity / res[officeName].limit >= 0.7) dateElem.style.color = "orange"
  36.                     if (obj.capacity >= res[officeName].limit) {
  37.                       dateElem.style.color = "red"
  38.                       capacityCheck = false
  39.                     }
  40.                     capacityDisplay.appendChild(dateElem)
  41.                   })
  42.                       capacityDisplay.hidden = false
  43.                   console.log('capacityCheck currrent state: ', capacityCheck)
  44.                 } else {
  45.                   //additional capacity
  46.                   dateList.forEach(dateElem => {
  47.                     var elem = dateElem.parentNode.getElementsByClassName("capacity_" + officeName)[0]
  48.                     elem.style.color = "black"
  49.                     elem.innerHTML = `${res[officeName].capacity[dateElem.value]}/${res[officeName].limit} confirmed`
  50.                     if (res[officeName].capacity[dateElem.value] >= res[officeName].limit) {
  51.                       elem.style.color = "red"
  52.                     }
  53.                   })
  54.                 }
  55.  
  56.               }
  57.                 console.log("capacityCheck final state: ", capacityCheck)
  58.             })
  59.           } else if (!selectedDates.length) {
  60.             capacityDisplay.hidden = true
  61.             capacityCheck = capacityDisplay.hidden
  62.           }
  63.             selectedDatesGlobal = JSON.stringify(selectedDates)
  64.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement