Начало второй лабораторной.
This commit is contained in:
parent
21ab7bd988
commit
ba678f0ba9
81
spring_online_calculator/LabOne/node_modules/items.js
generated
vendored
81
spring_online_calculator/LabOne/node_modules/items.js
generated
vendored
@ -1,81 +0,0 @@
|
||||
'use strict'
|
||||
|
||||
function addItemToTable(item, price, count) {
|
||||
console.info('Try to add item');
|
||||
|
||||
const table = document.querySelector("#tbl-items tbody");
|
||||
if (table == null) {
|
||||
throw 'Table is not found';
|
||||
}
|
||||
|
||||
const linesCount = document.querySelectorAll("#tbl-items tbody tr").length;
|
||||
|
||||
const id = 'item-' + Date.now();
|
||||
const tableHtml =
|
||||
'<tr id="' + id + '">\
|
||||
<th scope="row">' + (linesCount + 1) + '</th>\
|
||||
<td>' + item +'</td>\
|
||||
<td>' + price.toFixed(2) + '</td>\
|
||||
<td>' + count + '</td>\
|
||||
<td>' + (price * count).toFixed(2) + '</td>\
|
||||
<td><a href=# onclick="removeItemFromTable(\''+ id +'\')"><i class="fa-solid fa-trash"></i></a></td>\
|
||||
</tr>';
|
||||
table.innerHTML += tableHtml;
|
||||
|
||||
console.info('Added');
|
||||
}
|
||||
|
||||
function removeItemFromTable(id) {
|
||||
console.info('Try to remove item');
|
||||
|
||||
if (!confirm('Do you really want to remove this item?')) {
|
||||
console.info('Canceled');
|
||||
return;
|
||||
}
|
||||
|
||||
const item = document.querySelector('#' + id);
|
||||
if (item == null) {
|
||||
throw 'Item with id [' + id + '] is not found';
|
||||
}
|
||||
item.remove();
|
||||
|
||||
const numbers = document.querySelectorAll("#tbl-items tbody tr th");
|
||||
for (let i = 0; i < numbers.length; i++) {
|
||||
numbers[i].innerHTML = i + 1;
|
||||
}
|
||||
|
||||
console.info('Removed');
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
console.info('Loaded');
|
||||
|
||||
const form = document.querySelector("#frm-items");
|
||||
if (form !== null) {
|
||||
form.addEventListener('submit', function(event) {
|
||||
console.info('Form onsubmit');
|
||||
event.preventDefault();
|
||||
|
||||
const item = document.querySelector("#item");
|
||||
if (item == null) {
|
||||
throw 'Item control is not found';
|
||||
}
|
||||
|
||||
const price = document.querySelector("#price");
|
||||
if (price == null) {
|
||||
throw 'Price control is not found';
|
||||
}
|
||||
|
||||
const count = document.querySelector("#count");
|
||||
if (count == null) {
|
||||
throw 'Count control is not found';
|
||||
}
|
||||
|
||||
addItemToTable(item.value, parseFloat(price.value), parseInt(count.value));
|
||||
|
||||
item.value = '';
|
||||
price.value = 0;
|
||||
count.value = 0;
|
||||
});
|
||||
}
|
||||
});
|
Loading…
Reference in New Issue
Block a user