Advertisement
pacho_the_python

Untitled

Mar 19th, 2023
759
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve () {
  2.     const recipientInputElement = document.getElementById('recipientName')
  3.     const titleInputElement = document.getElementById('title')
  4.     const messageInputElement = document.getElementById('message')
  5.     const addBtn = document.getElementById('add')
  6.     const resetBtn = document.getElementById('reset')
  7.     const listUlElement = document.getElementById('list')
  8.     const sendListUl = Array.from(document.getElementsByClassName('sent-list'))[0]
  9.     const deleteListUl = Array.from(document.getElementsByClassName('delete-list'))[0]
  10.  
  11.     addBtn.addEventListener('click', addToList)
  12.     resetBtn.addEventListener('click', resetFields)
  13.  
  14.     function addToList(e) {
  15.         e.preventDefault()
  16.         let recipient = recipientInputElement.value
  17.         let title = titleInputElement.value
  18.         let message = messageInputElement.value
  19.  
  20.         if (recipient === '' || title === '' || message === '') {return}
  21.  
  22.         let liElement = document.createElement('li')
  23.  
  24.         let titleElement = document.createElement('h4')
  25.         titleElement.textContent = `Title: ${title}`
  26.         liElement.appendChild(titleElement)
  27.  
  28.         let recipientEl = document.createElement('h4')
  29.         recipientEl.textContent = `Recipient Name: ${recipient}`
  30.         liElement.appendChild(recipientEl)
  31.  
  32.         let messageSpanElement = document.createElement('span')
  33.         messageSpanElement.textContent = message
  34.         liElement.appendChild(messageSpanElement)
  35.  
  36.         let sendButtonElement = createButton('submit', 'send', 'Send', sendMailEvent)
  37.         let deleteButtonElement = createButton('submit', 'delete', 'Delete', deleteMailEvent)
  38.  
  39.         let divMailElement = document.createElement('div')
  40.         divMailElement.id = 'list-action'
  41.  
  42.         divMailElement.appendChild(sendButtonElement)
  43.         divMailElement.appendChild(deleteButtonElement)
  44.  
  45.         liElement.appendChild(divMailElement)
  46.         listUlElement.appendChild(liElement)
  47.  
  48.         recipientInputElement.value = ''
  49.         titleInputElement.value = ''
  50.         messageInputElement.value = ''
  51.     }
  52.  
  53.     function sendMailEvent(mailSend) {
  54.         let currentLiElement = mailSend.currentTarget.parentElement.parentElement
  55.         let liElements = Array.from(currentLiElement.children)
  56.  
  57.         let newLiElement = document.createElement('li')
  58.  
  59.         let spanNameElement = document.createElement("span")
  60.         spanNameElement.textContent = `To: ${liElements[1].textContent.split(': ')[1]}`
  61.         newLiElement.appendChild(spanNameElement)
  62.  
  63.         let titleSpanElement = document.createElement('span')
  64.         titleSpanElement.textContent = `Title: ${liElements[0].textContent.split(': ')[1]}`
  65.         newLiElement.appendChild(titleSpanElement)
  66.  
  67.         let deleteButton = createButton('submit', 'delete', 'Delete', deleteMailEvent)
  68.         let divBtnElement = document.createElement("div")
  69.         divBtnElement.classList.add('btn')
  70.         divBtnElement.appendChild(deleteButton)
  71.         newLiElement.appendChild(divBtnElement)
  72.         sendListUl.appendChild(newLiElement)
  73.  
  74.         currentLiElement.remove()
  75.     }
  76.  
  77.     function deleteMailEvent(eventDelete) {
  78.         let deleteLiElement = eventDelete.currentTarget.parentElement.parentElement
  79.         let titleTextContent = ''
  80.         let nameTextContent = ''
  81.         if (deleteLiElement.parentElement === listUlElement) {
  82.             let currentListItems = Array.from(deleteLiElement.children)
  83.             titleTextContent = `Title: ${currentListItems[0].textContent.split(': ')[1]}`
  84.             nameTextContent = `To: ${currentListItems[1].textContent.split(': ')[1]}`
  85.         } else {
  86.             let currentListItems = Array.from(deleteLiElement.children)
  87.             titleTextContent = `Title: ${currentListItems[1].textContent.split(': ')[1]}`
  88.             nameTextContent = `To: ${currentListItems[0].textContent.split(': ')[1]}`
  89.         }
  90.  
  91.         let newListElement = document.createElement('li')
  92.         let nameElement = document.createElement('span')
  93.         nameElement.textContent = nameTextContent
  94.         newListElement.appendChild(nameElement)
  95.         let titleElement = document.createElement('span')
  96.         titleElement.textContent = titleTextContent
  97.         newListElement.appendChild(titleElement)
  98.         deleteListUl.appendChild(newListElement)
  99.  
  100.         deleteLiElement.remove()
  101.     }
  102.  
  103.     function resetFields(e) {
  104.         e.preventDefault()
  105.         recipientInputElement.value = ''
  106.         titleInputElement.value = ''
  107.         messageInputElement.value = ''
  108.     }
  109.  
  110.     function createButton(buttonType, buttonId, context, eventFunction) {
  111.         let currentBtn = document.createElement('button')
  112.         currentBtn.type = buttonType
  113.         currentBtn.id = buttonId
  114.         currentBtn.textContent = context
  115.         currentBtn.addEventListener("click", eventFunction)
  116.         return currentBtn
  117.     }
  118. }
  119.  
  120. solve()
  121.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement