Advertisement
AngelKejov

Mail Delivery

Oct 19th, 2022
935
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     let buttonAdd = document.getElementById('add');
  3.     let resetBtn = document.getElementById('reset');
  4.  
  5.     resetBtn.addEventListener('click', clearInputFileds);
  6.  
  7.     let recipientName = document.getElementById('recipientName');
  8.     let title = document.getElementById('title');
  9.     let message = document.getElementById('message');
  10.     let listOfMails = document.getElementById('list');
  11.     let sendedEmails = document.getElementsByClassName('sent-list')[0];
  12.     let deletedEmails = document.getElementsByClassName('delete-list')[0];
  13.  
  14.     buttonAdd.addEventListener('click', (e) => {
  15.         e.preventDefault();
  16.         let recipientNameValue = recipientName.value;
  17.         let titleValue = title.value;
  18.         let messageValue = message.value;
  19.  
  20.         if(!recipientNameValue || !titleValue || !messageValue) {
  21.             return;
  22.         }
  23.  
  24.         createDOMElements(recipientNameValue, titleValue, messageValue);
  25.         clearInputFileds();
  26.     });
  27.  
  28.     function createDOMElements(recipientNameValue, titleValue, messageValue) {
  29.         let li = document.createElement('li');
  30.  
  31.         let mail = createMail(recipientNameValue, titleValue, messageValue);
  32.  
  33.         let h4Title = document.createElement('h4');
  34.         h4Title.textContent = `Title: ${titleValue}`;
  35.  
  36.         let h4Recipient = document.createElement('h4');
  37.         h4Recipient.textContent = `Recipient Name: ${recipientNameValue}`;
  38.  
  39.         let span = document.createElement('span');
  40.         span.textContext = `${messageValue}`;
  41.  
  42.         li.appendChild(mail);
  43.         li.appendChild(h4Title);
  44.         li.appendChild(h4Recipient);
  45.         li.appendChild(span);
  46.         listOfMails.appendChild(li);
  47.     }
  48.  
  49.     function createMail(recipientNameValue, titleValue, messageValue) {
  50.         let div = document.createElement('div');
  51.         div.classList.add('list-action');
  52.  
  53.         let buttonSend = document.createElement('button');
  54.         buttonSend.setAttribute('send', 'ID');
  55.         buttonSend.textContent = 'Send';
  56.         buttonSend.addEventListener('click', (e) => {
  57.             let currentMail = e.target.parentNode.parentNode;
  58.             currentMail.remove();
  59.             e.preventDefault();
  60.             let li = document.createElement('li');
  61.             let spanEmail = document.createElement('span');
  62.             spanEmail.textContent = `To: ${recipientNameValue}`;
  63.             let spanTitle = document.createElement('span');
  64.             spanTitle.textContent = ` Title: ${titleValue}`;
  65.  
  66.             let divSend = document.createElement('div');
  67.             divSend.classList.add('btn');
  68.             // let buttonRemove = document.createElement('button');
  69.             // buttonRemove.classList.add('delete');
  70.             // buttonRemove.textContent = 'Delete';
  71.  
  72.             divSend.appendChild(buttonDelete);
  73.            
  74.             li.appendChild(spanEmail);
  75.             li.appendChild(spanTitle);
  76.             li.appendChild(divSend);
  77.            
  78.             sendedEmails.appendChild(li)
  79.         });
  80.  
  81.         let buttonDelete = document.createElement('button');
  82.         buttonDelete.setAttribute('delete', 'ID');
  83.         buttonDelete.textContent = 'Delete';
  84.         buttonDelete.addEventListener('click', (e) => {
  85.             let currentMail = e.target.parentNode.parentNode;
  86.             currentMail.remove();
  87.             e.preventDefault();
  88.  
  89.             let Email = document.createElement('span');
  90.             Email.textContent = `To: ${recipientNameValue}`;
  91.             let Title = document.createElement('span');
  92.             Title.textContent = ` Title: ${titleValue}`;
  93.  
  94.             let lii = document.createElement('li');
  95.  
  96.             lii.appendChild(Email);
  97.             lii.appendChild(Title);
  98.  
  99.             deletedEmails.appendChild(lii);
  100.         });
  101.  
  102.         div.appendChild(buttonSend);
  103.         div.appendChild(buttonDelete);
  104.  
  105.         return div;
  106.     }
  107.  
  108.     function clearInputFileds() {
  109.         recipientName.value = '';
  110.         title.value = '';
  111.         message.value = '';
  112.     }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement