Advertisement
viligen

mailsDelivery

Jun 9th, 2022
899
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     let ulListMails = document.getElementById('list');
  3.     let ulSentList = document.getElementsByClassName('sent-list')[0];
  4.     let ulDeleteList = document.querySelector('.delete-list');
  5.  
  6.     let inpRecip = document.getElementById('recipientName');
  7.     let inpTitle = document.getElementById('title');
  8.     let textArea = document.getElementById('message');
  9.  
  10.     let addBtn = document.getElementById('add');
  11.     let resetBtn = document.getElementById('reset');
  12.  
  13.     resetBtn.addEventListener('click', (ev) => {
  14.         ev.preventDefault();
  15.         inpRecip.value = '';
  16.         inpTitle.value = '';
  17.         textArea.value = '';
  18.     });
  19.  
  20.     addBtn.addEventListener('click', addMail);
  21.  
  22.     function addMail(ev) {
  23.         ev.preventDefault();
  24.         let newLiElement;
  25.  
  26.         if (!inpRecip.value || !inpTitle.value || !textArea.value) {
  27.             return;
  28.         }
  29.         newLiElement = liFactory(
  30.             inpTitle.value,
  31.             inpRecip.value,
  32.             textArea.value
  33.         );
  34.         ulListMails.appendChild(newLiElement);
  35.         inpRecip.value = '';
  36.         inpTitle.value = '';
  37.         textArea.value = '';
  38.     }
  39.  
  40.     function liFactory(title, recipName, text) {
  41.         let newLi = document.createElement('li');
  42.         let newh41 = document.createElement('h4');
  43.         let newh42 = document.createElement('h4');
  44.  
  45.         let newSpan = document.createElement('span');
  46.         let newDiv = document.createElement('div');
  47.         let newSendBtn = document.createElement('button');
  48.         let newDeleteBtn = document.createElement('button');
  49.  
  50.         newh41.textContent = 'Title: ' + title;
  51.         newLi.appendChild(newh41);
  52.         newh42.textContent = 'Recipient Name: ' + recipName;
  53.         newLi.appendChild(newh42);
  54.         newSpan.textContent = text;
  55.         newLi.appendChild(newSpan);
  56.         newDiv.id = 'list-action';
  57.         newLi.appendChild(newDiv);
  58.         newSendBtn.id = 'send';
  59.         newSendBtn.type = 'submit';
  60.         newSendBtn.textContent = 'Send';
  61.         newDiv.appendChild(newSendBtn);
  62.         newDeleteBtn.id = 'delete';
  63.         newDeleteBtn.type = 'submit';
  64.         newDeleteBtn.textContent = 'Delete';
  65.         newDiv.appendChild(newDeleteBtn);
  66.  
  67.         let newLi2 = document.createElement('li');
  68.         let span1 = document.createElement('span');
  69.         let span2 = document.createElement('span');
  70.         span1.textContent = 'To: ' + recipName;
  71.         span2.textContent = 'Title: ' + title;
  72.         let newDivSent = document.createElement('div');
  73.         newDivSent.className = 'btn';
  74.         let newDeleteBtnSent = document.createElement('button');
  75.         newDeleteBtnSent.textContent = 'Delete';
  76.         newDeleteBtnSent.className = 'delete';
  77.         newDeleteBtnSent.type = 'submit';
  78.         newDivSent.appendChild(newDeleteBtnSent);
  79.         newLi2.appendChild(span1);
  80.         newLi2.appendChild(span2);
  81.  
  82.         newSendBtn.addEventListener('click', function (ev) {
  83.             ev.preventDefault();
  84.             newLi2.appendChild(newDivSent);
  85.             ulSentList.appendChild(newLi2);
  86.             ulListMails.removeChild(newLi);
  87.         });
  88.  
  89.         newDeleteBtn.addEventListener('click', function (ev) {
  90.             ev.preventDefault();
  91.  
  92.             ulDeleteList.appendChild(newLi2);
  93.  
  94.             ulListMails.removeChild(newLi);
  95.         });
  96.  
  97.         newDeleteBtnSent.addEventListener('click', function (ev) {
  98.             ev.preventDefault();
  99.  
  100.             ulDeleteList.appendChild(newLi2);
  101.             newLi2.removeChild(newDivSent);
  102.         });
  103.  
  104.         return newLi;
  105.     }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement