(() => {
    const lang = document.documentElement.lang || 'en';      // “es”, “en”, etc.
    let langCode;

    switch (lang) {
        case 'es': langCode = 'es-ES'; break;
        case 'fr': langCode = 'fr-FR'; break;
        case 'de': langCode = 'de-DE'; break;
        default: langCode = 'en-GB';
    }


    $('#listOfPrinters').DataTable({
        processing: true,
        serverSide: true,
        language: {
            url: `https://cdn.datatables.net/plug-ins/1.13.8/i18n/${langCode}.json`
        },
        ajax: {
            url: '/configuration/printers/datatable',
            dataSrc: 'data'
        },
        columns: [
            { data: 'id' },
            { data: 'name' }          // añade aquí 'actions' si la envías
        ],
        initComplete: function () {
            const api = this.api();

            // para cada input de la fila 'filters'
            api.columns().eq(0).each(function (colIdx) {
                const input = $('.filters th').eq(colIdx).find('input');
                if (input.length) {
                    $(input).on('keyup change', function () {
                        // envía el texto al backend → columns[colIdx][search][value]
                        api.column(colIdx).search(this.value).draw();
                    });
                }
            });
        }
    });
})(); 