Files
everything2/EveryThing/wwwroot/js/codeTableItemHelper.js
David Štaleker 03b92525d7 Prvi commit
2023-05-12 09:00:07 +02:00

189 lines
7.6 KiB
JavaScript

//ce jamra da ne najde post je treba dati @Html.AntiForgeryToken() v page
function codeTableItemAddEdit(placeholderSelector, edit, idCodeTableItem, onAddEdit, onCancel, codeTableItemType){
if (isNaN(codeTableItemType)) {
codeTableItemType = 0;
}
$.blockUI();
$.ajax({
type: "GET",
// beforeSend: function(xhr) {
// xhr.setRequestHeader("XSRF-TOKEN",
// $('input:hidden[name="__RequestVerificationToken"]').val());
// },
url: "/CodeTableItems/Index/?handler=CodeTableItemModal",
data: { edit: edit, idCodeTableItem: edit ? idCodeTableItem : -1, codeTableItemType },
success: function(data) {
$.unblockUI();
$(placeholderSelector).html(data);
if (edit){
$('#modalAddEditCodeTableItemTitle').html(`Urejanje artikla: ${$('#inpModalAddEditCodeTableItemTitle').val()}`);
$('#btnModalAddEditCodeTableItemAddFile').css('display', '');
$('#btnModalAddEditCodeTableItemConfirm').html('Shrani');
} else {
$('#modalAddEditCodeTableItemTitle').html('Dodajanje novega artikla');
$('#btnModalAddEditCodeTableItemAddFile').css('display', 'none');
$('#btnModalAddEditCodeTableItemConfirm').html('Dodaj');
}
$('#btnModalAddEditCodeTableItemConfirm').off();
$('#btnModalAddEditCodeTableItemCancel').off();
//Save to db
$('#btnModalAddEditCodeTableItemConfirm').on('click', () =>{
let title = $('#inpModalAddEditCodeTableItemTitle').val();
let description = $('#inpModalAddEditCodeTableItemDescription').val();
let active = $('#inpModalAddEditCodeTableItemActive').is(':checked');
let edit = $('#inpModalAddEditCodeTableItemEdit').val() === 'true';
let idCodeTableItem = parseInt($('#inpModalAddEditCodeTableItemIdCodeTableItem').val());
let codeTableItemType = parseInt($('#selModalAddEditCodeTableItemType').val());
if (title === '' || title === null){
Swal.fire('Zahtevano polje naziv!');
return;
}
// if (description === '' || description === null){
// Swal.fire('Zahtevano polje naziv!');
// return;
// }
$.blockUI();
$.ajax({
type: "POST",
beforeSend: function(xhr) {
xhr.setRequestHeader("XSRF-TOKEN",
$('input:hidden[name="__RequestVerificationToken"]').val());
},
url: "/CodeTableItems/Index/?handler=CodeTableItem",
data: {
title,
description,
active,
edit,
idCodeTableItem,
codeTableItemType
},
success: function(data) {
$.unblockUI();
if (data.successful){
$("#divModalAddEditCodeTableItem").modal('hide');
if (onAddEdit != null){
onAddEdit(data.idCodeTableItem);
}
} else {
Swal.fire('Napaka pri dodajanju/posodabljanju',
data.error,
'error');
}
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr);
alert(xhr.responseText);
$.unblockUI();
}
});
});
//Cancel
$('#btnModalAddEditCodeTableItemCancel').on('click', () =>{
$("#divModalAddEditCodeTableItem").modal('hide');
if (onCancel != null){
onCancel();
}
});
$("#divModalAddEditCodeTableItem").modal('show');
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.responseText);
$.unblockUI();
}
});
}
function codeTableItemDelete(idCodeTableItem, onDelete, onCancel){
$.blockUI();
$.ajax({
type: "GET",
url: "/CodeTableItems/Index/?handler=CodeTableItem",
data: {
idCodeTableItem
},
success: function(data) {
$.unblockUI();
if (data.successful){
if (data.itemInUse){
Swal.fire('Artikel je v uporabi!',
'Brisanje ni možno!',
'warning');
return;
}
Swal.fire({
title: `Izbrišem artikel ${data.item.title}?`,
text: "Tega dejanja ni možno razveljaviti!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Da, izbriši!',
cancelButtonText: 'Prekliči!'
}).then((result) => {
if (result.isConfirmed) {
$.blockUI();
$.ajax({
type: "DELETE",
beforeSend: function(xhr) {
xhr.setRequestHeader("XSRF-TOKEN",
$('input:hidden[name="__RequestVerificationToken"]').val());
},
url: "/CodeTableItems/Index/?handler=CodeTableItem",
data: {
idCodeTableItem
},
success: function(data) {
$.unblockUI();
if (data.successful){
if (onDelete != null){
onDelete(data.idCodeTableItem);
}
} else {
Swal.fire('Napaka pri brisanju artikla',
data.error,
'error');
}
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr);
alert(xhr.responseText);
$.unblockUI();
}
});
} else{
if (onCancel != null){
onCancel();
}
}
});
} else {
Swal.fire('Napaka pri branju artikla',
data.error,
'error');
}
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr);
alert(xhr.responseText);
$.unblockUI();
}
});
}
function codeTableItemDeleteFile(element) {
let row = $(element).parent();
let idFile = parseInt(row.attr('data-idfile'));
fileDelete(idFile, (idFile) => {
row.remove();
});
}