174 lines
4.9 KiB
JavaScript
174 lines
4.9 KiB
JavaScript
// Please see documentation at https://learn.microsoft.com/aspnet/core/client-side/bundling-and-minification
|
|
// for details on configuring this project to bundle and minify static web assets.
|
|
|
|
// Write your JavaScript code.
|
|
function getFormAsNestedObject(formSelector) {
|
|
var formArray = $(formSelector).serializeArray();
|
|
var result = {};
|
|
|
|
formArray.forEach(function (item) {
|
|
var keys = item.name.split('.');
|
|
var value = item.value;
|
|
var current = result;
|
|
|
|
for (var i = 0; i < keys.length; i++) {
|
|
var key = keys[i];
|
|
|
|
// Ha utolsó kulcs, értéket rendelünk hozzá
|
|
if (i === keys.length - 1) {
|
|
current[key] = value;
|
|
} else {
|
|
// Ha a következő szint nincs meg, hozzuk létre
|
|
if (!current[key]) {
|
|
current[key] = {};
|
|
}
|
|
current = current[key];
|
|
}
|
|
}
|
|
});
|
|
|
|
return result;
|
|
}
|
|
|
|
function showConfirmModal(options) {
|
|
return new Promise(function (resolve) {
|
|
// Alapértelmezett értékek
|
|
var defaults = {
|
|
title: 'Megerősítés',
|
|
message: 'Biztos vagy benne?',
|
|
okText: 'Igen',
|
|
cancelText: 'Mégsem'
|
|
};
|
|
|
|
// Opciók összeolvasztása
|
|
var settings = $.extend({}, defaults, options);
|
|
|
|
// Beállítások betöltése a modalba
|
|
$('#confirmModalLabel').text(settings.title);
|
|
$('#confirmModalBody').html(settings.message);
|
|
$('#confirmModalOkBtn').text(settings.okText);
|
|
$('#confirmModalCancelBtn').text(settings.cancelText);
|
|
|
|
// Események letisztítása
|
|
$('#confirmModalOkBtn').off('click');
|
|
$('#confirmModalCancelBtn').off('click');
|
|
|
|
// OK gomb esemény
|
|
$('#confirmModalOkBtn').on('click', function () {
|
|
$('#confirmModal').modal('hide');
|
|
resolve('ok');
|
|
});
|
|
|
|
// Cancel gomb esemény
|
|
$('#confirmModalCancelBtn').on('click', function () {
|
|
resolve('cancel');
|
|
});
|
|
|
|
// Modal megjelenítése
|
|
var modal = new bootstrap.Modal(document.getElementById('confirmModal'), {
|
|
backdrop: 'static',
|
|
keyboard: false
|
|
});
|
|
modal.show();
|
|
});
|
|
}
|
|
function showMessageModal(options) {
|
|
// Alapértelmezett értékek
|
|
var defaults = {
|
|
title: 'Üzenet',
|
|
message: 'Ez egy információs üzenet.',
|
|
okText: 'OK'
|
|
};
|
|
|
|
var settings = $.extend({}, defaults, options);
|
|
|
|
// Tartalom beállítása
|
|
$('#messageModalLabel').text(settings.title);
|
|
$('#messageModalBody').html(settings.message);
|
|
$('#messageModalOkBtn').text(settings.okText);
|
|
|
|
// Modal megnyitása
|
|
var modal = new bootstrap.Modal(document.getElementById('messageModal'), {
|
|
backdrop: 'static',
|
|
keyboard: false
|
|
});
|
|
modal.show();
|
|
}
|
|
|
|
function renderActionButtons(rowId) {
|
|
return `
|
|
<button class="btn btn-primary edit-btn btn-sm" data-id="${rowId}">
|
|
<i class="bi bi-pencil-fill"></i>
|
|
</button>
|
|
<button class="btn btn-danger delete-btn btn-sm" data-id="${rowId}">
|
|
<i class="bi bi-trash-fill"></i>
|
|
</button>
|
|
`;
|
|
}
|
|
function renderActionButtonsforCheckListHeader(data, rowId) {
|
|
if (data === 4) {
|
|
return `
|
|
<button class="btn btn-primary edit-btn btn-sm" data-id="${rowId}">
|
|
<i class="bi bi-pencil-fill"></i>
|
|
</button>
|
|
<button class="btn btn-secondary pdf-btn btn-sm" data-id="${rowId}">
|
|
<i class="bi bi-file-earmark-pdf-fill"></i>
|
|
</button>`;
|
|
}
|
|
else {
|
|
|
|
return `
|
|
<button class="btn btn-primary edit-btn btn-sm" data-id="${rowId}">
|
|
<i class="bi bi-pencil-fill"></i>
|
|
</button>
|
|
<button class="btn btn-danger delete-btn btn-sm" data-id="${rowId}">
|
|
<i class="bi bi-trash-fill"></i>
|
|
</button>`;
|
|
}
|
|
}
|
|
|
|
function renderCheckStatus(data) {
|
|
//Open = 0,
|
|
//InProgress = 1,
|
|
//Blocked = 2,
|
|
//Storno = 3,
|
|
//Sent = 4,
|
|
//Signed = 5,
|
|
//Closed = 6
|
|
switch (data) {
|
|
case 0:
|
|
return 'Nyitott';
|
|
break;
|
|
case 1:
|
|
return 'Folyamatban';
|
|
break;
|
|
case 2:
|
|
return 'Blokkolt';
|
|
break;
|
|
case 3:
|
|
return 'Stornózva';
|
|
break;
|
|
case 4:
|
|
return 'Beküldve';
|
|
break;
|
|
case 5:
|
|
return 'Jóváhagyva';
|
|
break;
|
|
case 6:
|
|
return 'Lezárt';
|
|
break;
|
|
default:
|
|
return '';
|
|
break;
|
|
}
|
|
}
|
|
function renderCheckBox(data) {
|
|
if (data === true) {
|
|
return '<input type="checkbox" class="form-check-input no-click" checked>';
|
|
}
|
|
if (data === false) {
|
|
return '<input type="checkbox" class="form-check-input no-click">';
|
|
}
|
|
return data;
|
|
}
|