// 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 parseValue(value, type = "string") {
if (type === "string") {
return value;
}
if (value === "") return null;
// Boolean
if (value.toLowerCase() === "true") return true;
if (value.toLowerCase() === "false") return false;
// Number
if (!isNaN(value) && value.trim() !== "") return Number(value);
// ISO dátum formátum felismerése (alap logika)
if (/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/.test(value)) return new Date(value).toISOString();
return value;
}
function getFormAsNestedObject(formSelector) {
var formArray = $(formSelector).serializeArray();
var result = {};
formArray.forEach(function (item) {
var keys = item.name.split('.');
var inputElement = document.querySelector(`[name="${item.name}"]`);
var type = inputElement?.dataset?.type || "string"; // ha nincs data-type, alap: string
var value = parseValue(item.value, type);
var current = result;
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (i === keys.length - 1) {
current[key] = value;
} else {
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 showConfirmModalWithMessage(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(`
A mező kitöltése kötelező.
`);
$('#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 () {
var text = $('#confirmModalTextarea').val().trim();
if (text === '') {
$('#confirmModalTextarea').addClass('is-invalid');
return;
}
$('#confirmModalTextarea').removeClass('is-invalid');
$('#confirmModal').modal('hide');
resolve({ action: 'ok', text: text });
});
// Cancel gomb esemény
$('#confirmModalCancelBtn').on('click', function () {
$('#confirmModal').modal('hide');
resolve({ action: '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',
redirectUrl: null
};
var settings = $.extend({}, defaults, options);
// Tartalom beállítása
$('#messageModalLabel').text(settings.title);
$('#messageModalBody').html(settings.message);
$('#messageModalOkBtn').text(settings.okText);
$('#messageModalOkBtn').off('click').on('click', function () {
if (settings.redirectUrl) {
window.location.href = settings.redirectUrl;
}
});
// Modal megnyitása
var modal = new bootstrap.Modal(document.getElementById('messageModal'), {
backdrop: 'static',
keyboard: false
});
modal.show();
}
function renderActionButtons(rowId) {
return `
`;
}
function renderActionButtonsDownloadImages(rowId) {
return `
`;
}
function renderActionButtonsDownloadPDFs(rowId) {
return `
`;
}
function renderActionButtonsforCheckListHeader(data, rowId) {
if (data === 4) {
return `
`;
}
if (data === 2) {
return `
`;
}
if (data === 1) {
return `
`;
}
if (data === 5) {
return `
`;
}
if (data === 3 || data === 6) {
return ``;
}
return `
`;
//`;
}
function renderActionButtonsforCheckListTemplateHeader(rowId) {
return `
`;
}
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 '';
}
if (data === false) {
return '';
}
return data;
}
function renderAnswerType(data) {
if (data === 'SI-N') {
return '