// 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>
    `;
}
