assetflow/static/js/editCategory.js

104 lines
3.3 KiB
JavaScript
Raw Normal View History

2023-05-15 18:49:02 +02:00
function getDataForEdit(name) {
$.ajax({
type: 'get',
url: `/api/v1/categories?name=${name}`,
success: function (data) {
const result = JSON.parse(data);
// Get elements inside the editCategoryModal
const modal_categoryName = document.getElementById('editCategoryModalName');
const modal_categoryDescription = document.getElementById('editCategoryModalDescription');
const modal_categoryid = document.getElementById('editCategoryModalId');
modal_categoryName.value = result.name;
modal_categoryDescription.value = result.description;
modal_categoryid.value = result.id;
},
error: function (data) {
console.log('!!!! ERROR !!!!', data);
// Hide overlay with spinner
$('.loader-overlay').removeClass('active');
// Close the modal
$('.modal').modal('hide');
2023-05-17 17:46:51 +02:00
createNewToast('<i class="bi bi-exclamation-triangle-fill"></i> Something went wrong. The category does no longer exist.', "text-bg-danger")
2023-05-15 18:49:02 +02:00
}
});
}
2023-05-15 22:10:32 +02:00
function primeCreateNew() {
const form = document.getElementById('CategoryModalForm');
form.setAttribute('method', 'POST');
document.getElementById('editCategoryModalLabel').innerText = 'Create a new category';
2023-05-16 22:58:08 +02:00
$('.form-control').val('');
2023-05-15 22:10:32 +02:00
return true;
}
function primeEdit() {
const form = document.getElementById('CategoryModalForm');
document.getElementById('editCategoryModalLabel').innerText = 'Edit category';
form.setAttribute('method', 'PATCH');
return true;
}
2023-05-15 18:49:02 +02:00
function deleteEntry(id) {
$.ajax({
type: 'delete',
url: `/api/v1/categories`,
data: { id: id },
success: function (data) {
$('#staticBackdrop').modal('hide');
2023-05-17 17:46:51 +02:00
createNewToast('<i class="bi bi-check2"></i> Category deleted successfully.', "text-bg-success")
2023-05-15 18:49:02 +02:00
confetti({
spread: 360,
ticks: 100,
gravity: 0.1,
decay: 0.94,
startVelocity: 30,
particleCount: 20,
scalar: 2,
shapes: ['text'],
shapeOptions: {
text: {
value: ['❌', '🗑️', '🚫']
}
}
});
},
error: function (data) {
// hide the staticBackdrop modal
$('#staticBackdrop').modal('hide');
2023-05-16 22:58:08 +02:00
2023-05-17 17:46:51 +02:00
createNewToast('<i class="bi bi-exclamation-triangle-fill"></i> Something went wrong. Please try again later.', "text-bg-danger", 3000, false)
2023-05-15 18:49:02 +02:00
}
});
}
function preFillDeleteModal(name) {
$.ajax({
type: 'get',
url: `/api/v1/categories?name=${name}`,
success: function (data) {
const result = JSON.parse(data);
// Get elements inside the editCategoryModal
const modal_categoryName = document.getElementById('deleteNamePlaceholder');
const modal_deleteButton = document.getElementById('deleteActionBtn');
//const modal_categoryDescription = document.getElementById('editCategoryModalDescription');
//const modal_categoryid = document.getElementById('editCategoryModalId');
modal_categoryName.innerText = result.name;
modal_deleteButton.setAttribute('onclick', `deleteEntry(${result.id})`);
//modal_categoryDescription.value = result.description;
//modal_categoryid.value = result.id;
},
error: function (data) {
console.log('!!!! ERROR !!!!', data);
document.getElementById('deleteNamePlaceholder').innerText = 'Deleted';
$('#staticBackdrop').modal('hide');
2023-05-17 17:46:51 +02:00
createNewToast('<i class="bi bi-exclamation-triangle-fill"></i> Something went wrong. The category does no longer exist.', "text-bg-danger")
2023-05-15 18:49:02 +02:00
}
});
}