Advertisement
differen71

Untitled

Dec 16th, 2023
791
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.     const expenseTypeField = document.getElementById('expense');
  5.     const amountField = document.getElementById('amount');
  6.     const dateField = document.getElementById('date');
  7.     const addBtn = document.getElementById('add-btn');
  8.     const previewArea = document.getElementById('preview-list');
  9.     const expensesList = document.getElementById('expenses-list');
  10.     const deleteBtn = document.getElementsByClassName('delete')[0];
  11.    
  12.     deleteBtn.addEventListener('click', () => {
  13.         location.reload();
  14.     })
  15.  
  16.     addBtn.addEventListener('click', () => {
  17.         let validData = expenseTypeField.value !== '' && amountField.value !== '' && dateField.value !== '';
  18.  
  19.         let typeExpense = expenseTypeField.value;
  20.         let amountVal = amountField.value;
  21.         let dateVal = dateField.value;
  22.  
  23.         if (validData) {
  24.  
  25.         let liElement = document.createElement('li');
  26.         liElement.classList = 'expense-item';
  27.  
  28.         let articleElement = document.createElement('article');
  29.  
  30.         let typeParagraph = document.createElement('p');
  31.         typeParagraph.textContent = `Type: ${expenseTypeField.value}`;
  32.  
  33.         let amountParagraph = document.createElement('p');
  34.         amountParagraph.textContent = `Amount: ${amountField.value}`;
  35.  
  36.         let dateParagraph = document.createElement('p');
  37.         dateParagraph.textContent = `Date: ${dateField.value}`;
  38.  
  39.         let buttonsContainer = document.createElement('div');
  40.         buttonsContainer.classList = 'buttons';
  41.  
  42.         let editBtn = document.createElement('button');
  43.         editBtn.textContent = 'edit';
  44.         editBtn.classList = 'btn edit';
  45.         editBtn.addEventListener('click', editData);
  46.  
  47.         let okBtn = document.createElement('button');
  48.         okBtn.textContent = 'ok';
  49.         okBtn.classList = 'btn ok';
  50.         okBtn.addEventListener('click', postData);
  51.  
  52.         articleElement.appendChild(typeParagraph);
  53.         articleElement.appendChild(amountParagraph);
  54.         articleElement.appendChild(dateParagraph);
  55.  
  56.         liElement.appendChild(articleElement);
  57.  
  58.         buttonsContainer.appendChild(editBtn);
  59.         buttonsContainer.appendChild(okBtn);
  60.  
  61.         liElement.appendChild(buttonsContainer);
  62.  
  63.         previewArea.appendChild(liElement);
  64.  
  65.         expenseTypeField.value = '';
  66.         amountField.value = '';
  67.         dateField.value = '';
  68.         addBtn.disabled = true;
  69.  
  70.         function editData() {
  71.             addBtn.disabled = false;
  72.             expenseTypeField.value = typeExpense;
  73.             amountField.value = amountVal;
  74.             dateField.value = dateVal;
  75.  
  76.             previewArea.removeChild(liElement);
  77.         }
  78.  
  79.         function postData() {
  80.             previewArea.removeChild(liElement);
  81.             liElement.removeChild(buttonsContainer);
  82.             expensesList.appendChild(liElement);
  83.             addBtn.disabled = false;
  84.         }
  85.     }
  86.     })
  87.  
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement