Advertisement
ErolKZ

Untitled

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