Advertisement
ErolKZ

Untitled

Feb 19th, 2022
20
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.80 KB | None | 0 0
  1.  
  2. function solve() {
  3.  
  4. let allInputFields = document.getElementsByTagName('input');
  5.  
  6. allInputFields = Array.from(allInputFields);
  7.  
  8. let hireWorkerButton = document.getElementById('add-worker');
  9.  
  10. let tableBody = document.getElementById('tbody');
  11.  
  12. let spanElement = document.getElementById('sum');
  13.  
  14. let addedInformation = {};
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21. hireWorkerButton.addEventListener('click', (e) => {
  22.  
  23. let arrOfInpValues = [];
  24.  
  25. let bool = true;
  26.  
  27. for (let el of allInputFields) {
  28.  
  29. arrOfInpValues.push(el.value);
  30.  
  31. }
  32.  
  33. arrOfInpValues.forEach(el => el === '' ? bool = false : false);
  34.  
  35. if (bool) {
  36.  
  37.  
  38. let buttonFired = document.createElement('button');
  39.  
  40. let buttonEdit = document.createElement('button');
  41.  
  42. buttonFired.textContent = 'Fired';
  43.  
  44. buttonFired.classList.add('fired');
  45.  
  46. buttonEdit.textContent = 'Edit';
  47.  
  48. buttonEdit.classList.add('edit');
  49.  
  50. let tdElement1 = document.createElement('td');
  51.  
  52. let tdElement2 = document.createElement('td');
  53.  
  54. let tdElement3 = document.createElement('td');
  55.  
  56. let tdElement4 = document.createElement('td');
  57.  
  58. let tdElement5 = document.createElement('td');
  59.  
  60. let tdElement6 = document.createElement('td');
  61.  
  62. let tdElement7 = document.createElement('td');
  63.  
  64. let trElement = document.createElement('tr');
  65.  
  66.  
  67. tdElement1.textContent = arrOfInpValues[0];
  68.  
  69. tdElement2.textContent = arrOfInpValues[1];
  70.  
  71. tdElement3.textContent = arrOfInpValues[2];
  72.  
  73. tdElement4.textContent = arrOfInpValues[3];
  74.  
  75. tdElement5.textContent = arrOfInpValues[4];
  76.  
  77. tdElement6.textContent = arrOfInpValues[5];
  78.  
  79. tdElement7.appendChild(buttonFired);
  80.  
  81. tdElement7.appendChild(buttonEdit);
  82.  
  83.  
  84. let arrTdEl = [tdElement1, tdElement2, tdElement3, tdElement4, tdElement5, tdElement6];
  85.  
  86. for (let el of arrTdEl) {
  87.  
  88. trElement.appendChild(el);
  89.  
  90. }
  91.  
  92. trElement.appendChild(tdElement7);
  93.  
  94. tableBody.appendChild(trElement);
  95.  
  96. spanElement.textContent = Number(spanElement.textContent) + Number(tdElement6.textContent);
  97.  
  98. spanElement.textContent = Number(spanElement.textContent).toFixed(2);
  99.  
  100. buttonEdit.addEventListener('click', (e) => {
  101.  
  102. let curTr = e.currentTarget.parentNode.parentNode;
  103.  
  104. curTr = curTr.querySelectorAll('td');
  105.  
  106. curTr = Array.from(curTr);
  107.  
  108. curTr.pop();
  109.  
  110. curTr.forEach((td, i) => {
  111.  
  112. allInputFields[i].value = td.textContent;
  113.  
  114. });
  115.  
  116. spanElement.textContent = Number(spanElement.textContent) - Number(curTr[curTr.length - 1].textContent);
  117.  
  118. spanElement.textContent = Number(spanElement.textContent).toFixed(2);
  119.  
  120. e.currentTarget.parentNode.parentNode.remove();
  121.  
  122.  
  123. });
  124.  
  125.  
  126. buttonFired.addEventListener('click', (e) => {
  127.  
  128. let curTr = e.currentTarget.parentNode.parentNode;
  129.  
  130. curTr = curTr.querySelectorAll('td');
  131.  
  132. curTr = Array.from(curTr);
  133.  
  134. curTr.pop();
  135.  
  136. spanElement.textContent = Number(spanElement.textContent) - Number(curTr[curTr.length - 1].textContent);
  137.  
  138. spanElement.textContent = Number(spanElement.textContent).toFixed(2);
  139.  
  140. e.currentTarget.parentNode.parentNode.remove();
  141.  
  142. });
  143.  
  144.  
  145. allInputFields.forEach(el => el.value = '');
  146.  
  147. }
  148.  
  149. event.preventDefault();
  150.  
  151. });
  152.  
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement