Advertisement
pacho_the_python

Untitled

Mar 17th, 2023
808
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. window.addEventListener('load', solve);
  2.  
  3. function solve() {
  4.     let firstNameElement = document.getElementById('first-name')
  5.     let lastNameElement = document.getElementById('last-name')
  6.     let dateInElement = document.getElementById('date-in')
  7.     let dateOutElement = document.getElementById('date-out')
  8.     let peopleCountElement = document.getElementById('people-count')
  9.     let verificationElement = document.getElementById('verification')
  10.     let reservationUlElement = Array.from(document.getElementsByClassName('info-list'))[0]
  11.     let confirmUlElement = Array.from(document.getElementsByClassName('confirm-list'))[0]
  12.     let nextButton = document.getElementById('next-btn')
  13.  
  14.  
  15.     let first = ''
  16.     let last = ''
  17.     let dateOn = ''
  18.     let dateOf = ''
  19.     let peopleNum = ''
  20.  
  21.     nextButton.addEventListener("click", addToReservation)
  22.  
  23.     function createArticle(firstname, lastname, inDate, outDate, numberOfPeople) {
  24.         let articleElement = document.createElement('article')
  25.         let nameH = document.createElement('h3')
  26.         let inP = document.createElement('p')
  27.         let outP = document.createElement('p')
  28.         let numberOfPeopleP = document.createElement('p')
  29.  
  30.         nameH.textContent = `Name: ${firstname} ${lastname}`
  31.         articleElement.appendChild(nameH)
  32.  
  33.         inP.textContent = `From data: ${inDate}`
  34.         articleElement.appendChild(inP)
  35.  
  36.         outP.textContent = `To date: ${outDate}`
  37.         articleElement.appendChild(outP)
  38.  
  39.         numberOfPeopleP.textContent = `For ${numberOfPeople} people`
  40.         articleElement.appendChild(numberOfPeopleP)
  41.  
  42.         return articleElement
  43.     }
  44.  
  45.     function addToReservation(e) {
  46.         e.preventDefault()
  47.         if (firstNameElement.value === ''
  48.             || lastNameElement.value === ''
  49.             || dateInElement.value === ''
  50.             || dateOutElement.value === ''
  51.             || peopleCountElement.value === ''
  52.             || new Date(dateInElement.value) >= new Date(dateOutElement.value)) {
  53.             return
  54.         }
  55.  
  56.         let liArticleElement = document.createElement('li')
  57.         liArticleElement.classList.add('reservation-content')
  58.  
  59.         first = firstNameElement.value
  60.         last = lastNameElement.value
  61.         dateOn = dateInElement.value
  62.         dateOf = dateOutElement.value
  63.         peopleNum = peopleCountElement.value
  64.  
  65.         let currentArticleElement = createArticle(first, last, dateOn, dateOf, peopleNum)
  66.  
  67.         let editBtn = document.createElement('button')
  68.         editBtn.addEventListener("click", onEdit)
  69.         editBtn.classList.add('edit-btn')
  70.         editBtn.textContent = 'Edit'
  71.         let continueBtn = document.createElement('button')
  72.         continueBtn.addEventListener("click", onContinue)
  73.         continueBtn.classList.add('continue-btn')
  74.         continueBtn.textContent = 'Continue'
  75.  
  76.         liArticleElement.appendChild(currentArticleElement)
  77.         liArticleElement.appendChild(editBtn)
  78.         liArticleElement.appendChild(continueBtn)
  79.  
  80.         reservationUlElement.appendChild(liArticleElement)
  81.  
  82.         nextButton.disabled = true
  83.  
  84.         firstNameElement.value = ''
  85.         lastNameElement.value = ''
  86.         dateInElement.value = ''
  87.         dateOutElement.value = ''
  88.         peopleCountElement.value = ''
  89.     }
  90.  
  91.     function onEdit() {
  92.         firstNameElement.value = first
  93.         lastNameElement.value = last
  94.         dateInElement.value = dateOn
  95.         dateOutElement.value = dateOf
  96.         peopleCountElement.value = peopleNum
  97.         nextButton.disabled = false
  98.         let elementToRemove = document.querySelector('.reservation-content')
  99.         elementToRemove.remove()
  100.     }
  101.     function onContinue() {
  102.         let liContinueElement = document.createElement('li')
  103.         liContinueElement.classList.add('reservation-content')
  104.  
  105.         let continueArticleElement = createArticle(first, last, dateOn, dateOf, peopleNum)
  106.  
  107.         let confirmBtn = document.createElement("button")
  108.         confirmBtn.classList.add('confirm-btn')
  109.         confirmBtn.textContent = 'Confirm'
  110.         confirmBtn.addEventListener("click", positive)
  111.  
  112.         let canselBtn = document.createElement("button")
  113.         canselBtn.classList.add('cancel-btn')
  114.         canselBtn.textContent = 'Cansel'
  115.         canselBtn.addEventListener("click", negative)
  116.  
  117.         liContinueElement.appendChild(continueArticleElement)
  118.         liContinueElement.appendChild(confirmBtn)
  119.         liContinueElement.appendChild(canselBtn)
  120.  
  121.         confirmUlElement.appendChild(liContinueElement)
  122.  
  123.         let removeRegLi = document.querySelector('.info-list li')
  124.         removeRegLi.remove()
  125.     }
  126.  
  127.     function positive() {
  128.         nextButton.disabled = false
  129.         verificationElement.classList.add('reservation-confirmed')
  130.         verificationElement.textContent = 'Confirmed.'
  131.  
  132.         let removeContinueLi = document.querySelector('.confirm-list li')
  133.         removeContinueLi.remove()
  134.     }
  135.  
  136.     function negative() {
  137.         nextButton.disabled = false
  138.         verificationElement.classList.add('reservation-cancelled')
  139.         verificationElement.textContent = 'Cancelled.'
  140.  
  141.         let removeContinueLi = document.querySelector('.confirm-list li')
  142.         removeContinueLi.remove()
  143.     }
  144. }
  145.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement