' +
'' +
'' +
@@ -60,24 +44,37 @@ function generateLine(item) {
);
// Fill in the type cell
for (let i = 0; i < item.type.length; i++) {
+ let type = getTypeOfId(item.type[i]);
$('#typeList_' + item.code).append(
- '
' + item.type[i] + '
'
+ ''
);
}
}
function generateTypeCheckboxes() {
for (let i = 0; i < currentTypes.length; i++) {
- let id = 'typeCheck_' + currentTypes[i];
+ let id = 'typeCheck_' + currentTypes[i].id;
$('#typeCheckboxesCell').append(
'
' +
'' +
- '' +
+ '' +
'
'
);
}
}
+function getTypeOfId(id) {
+ let item = {};
+ for (let i = 0; i < currentTypes.length; i++) {
+ if (currentTypes[i].id === id) {
+ item = currentTypes[i];
+ break;
+ }
+ }
+ return item;
+}
+
function getItemOfCode(code) {
let item = {};
for (let i = 0; i < currentDataset.length; i++) {
@@ -93,6 +90,7 @@ function addNewItem() {
if (isItemInputFilled()) {
let item = {
name: $.selector_cache('#nameInput').val(),
+ description: $.selector_cache('#descriptionInput').val(),
quantity: $.selector_cache('#quantityInput').val(),
price: $.selector_cache('#priceInput').val(),
code: $.selector_cache('#codeInput').val(),
@@ -100,7 +98,7 @@ function addNewItem() {
image: $.selector_cache('#imageInput').val(),
};
if (isCodeAvailable(item.code)) {
- setEditFieldValues('', '', '', '', [], '');
+ setEditFieldValues('', '', '', '', [], '', '');
currentDataset.push(item);
generateLine(item);
}
@@ -111,7 +109,7 @@ function editItem(elem) {
if (isItemInputEmpty()) {
let code = elem.id.replace('edit_', '');
let item = getItemOfCode(code);
- setEditFieldValues(item.name, item.quantity, item.price, item.code, item.type, item.image);
+ setEditFieldValues(item.name, item.description, item.quantity, item.price, item.code, item.type, item.image);
removeItemFromList(item); // Move the item in the edit fields
}
}
@@ -130,9 +128,9 @@ function removeItemFromList(item) {
function getTypesChecked() {
let types = [];
for (let i = 0; i < currentTypes.length; i++) {
- let id = 'typeCheck_' + currentTypes[i];
+ let id = 'typeCheck_' + currentTypes[i].id;
if ($('#' + id).is(':checked')) {
- types.push(currentTypes[i]);
+ types.push(currentTypes[i].id);
}
}
return types;
@@ -140,14 +138,15 @@ function getTypesChecked() {
function setTypesChecked(types) {
for (let i = 0; i < currentTypes.length; i++) {
- let id = 'typeCheck_' + currentTypes[i];
- $('#' + id).prop('checked', types.indexOf(currentTypes[i]) !== -1);
+ let id = 'typeCheck_' + currentTypes[i].id;
+ $('#' + id).prop('checked', types.indexOf(currentTypes[i].id) !== -1);
}
return types;
}
-function setEditFieldValues(name, quantity, price, code, type, image) {
+function setEditFieldValues(name, description, quantity, price, code, type, image) {
$.selector_cache('#nameInput').val(name);
+ $.selector_cache('#descriptionInput').val(description);
$.selector_cache('#quantityInput').val(quantity);
$.selector_cache('#priceInput').val(price);
$.selector_cache('#codeInput').val(code);
@@ -169,6 +168,7 @@ function isCodeAvailable (code) {
function isItemInputEmpty() {
return $.selector_cache('#nameInput').val() === '' &&
+ $.selector_cache('#descriptionInput').val() === '' &&
$.selector_cache('#quantityInput').val() === '' &&
$.selector_cache('#priceInput').val() === '' &&
$.selector_cache('#codeInput').val() === '' &&
@@ -178,6 +178,7 @@ function isItemInputEmpty() {
function isItemInputFilled() {
return $.selector_cache('#nameInput').val() !== '' &&
+ $.selector_cache('#descriptionInput').val() !== '' &&
$.selector_cache('#quantityInput').val() !== '' &&
$.selector_cache('#priceInput').val() !== '' &&
$.selector_cache('#codeInput').val() !== '' &&
@@ -188,22 +189,7 @@ function isItemInputFilled() {
function saveDataset() {
- let finalDataset = {
- types: currentTypes,
- articles: currentDataset
- };
- console.log(finalDataset);
- $.ajax({
- type: "POST",
- url: "write_json.php",
- data: JSON.stringify(finalDataset),
- dataType: "json",
- contentType: "application/json; charset=utf-8",
- complete: function (data) {
- alert(data.responseText);
- console.log(data);
- },
- });
+ SaveManager.saveData(currentTypes, currentDataset);
}