Advertisement
VladislavNechepaev

Untitled

Jan 26th, 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.               for (let officeName in res) {
  15.                 capacityCheck = true
  16.                 if (values.office === officeName) {
  17.                   capacityDisplay.innerHTML = ""
  18.                   const office = document.createElement("div")
  19.                   office.innerHTML = `<b>Office:</b> ${officeName}`
  20.                   const limit = document.createElement("div")
  21.                   limit.innerHTML = `<b>Limit:</b> ${res[officeName].limit} visitors per day`
  22.                   limit.style.borderBottom = "1px dotted grey"
  23.                   capacityDisplay.appendChild(office)
  24.                   capacityDisplay.appendChild(limit)
  25.                   var capacityDataArray = []
  26.                   for (let date in res[officeName].capacity) {
  27.                     capacityDataArray.push({ date: date, capacity: res[officeName].capacity[date] })
  28.                   }
  29.                   capacityDataArray.sort((x,y) => { return x.date > y.date ? 1 : -1 })
  30.                   capacityDataArray.forEach(obj => {
  31.                     const dateElem = document.createElement("div")
  32.                     dateElem.innerHTML = `<b>${obj.date}:</b> ${obj.capacity} visitors confirmed`
  33.                     //console.log(obj.capacity, res.limit)
  34.                     if (obj.capacity / res[officeName].limit >= 0.7) dateElem.style.color = "orange"
  35.                     if (obj.capacity >= res[officeName].limit) {
  36.                       dateElem.style.color = "red"
  37.                       capacityCheck = false
  38.                     }
  39.                     capacityDisplay.appendChild(dateElem)
  40.                   })
  41.                       capacityDisplay.hidden = false
  42.                 } else {
  43.                   //additional capacity
  44.                   dateList.forEach(dateElem => {
  45.                     var elem = dateElem.parentNode.getElementsByClassName("capacity_" + officeName)[0]
  46.                     elem.style.color = "black"
  47.                     elem.innerHTML = `${res[officeName].capacity[dateElem.value]}/${res[officeName].limit} confirmed`
  48.                     if (res[officeName].capacity[dateElem.value] >= res[officeName].limit) {
  49.                       elem.style.color = "red"
  50.                       capacityCheck = false
  51.                     }
  52.                   })
  53.                 }
  54.               }
  55.             })
  56.           } else {
  57.             capacityDisplay.hidden = true
  58.             capacityCheck = capacityDisplay.hidden
  59.           }
  60.             selectedDatesGlobal = JSON.stringify(selectedDates)
  61.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement