lista de usuarios terminada

This commit is contained in:
2025-09-26 17:57:06 +02:00
parent 01a1ac4b71
commit 88b43847f0
29 changed files with 27681 additions and 138 deletions

View File

@ -1,7 +1,7 @@
(function () {
"use strict";
const DEFAULT_LANG = "es";
const DEFAULT_LANG = "es-ES";
function getCurrentLang() {
// Viene del servidor (Thymeleaf): <html th:lang="${#locale.language}">
@ -11,7 +11,7 @@
function setFlag(lang) {
const img = document.getElementById("header-lang-img");
if (!img) return;
img.src = (lang === "en")
img.src = (lang === "en-GB")
? "/assets/images/flags/gb.svg"
: "/assets/images/flags/spain.svg";
}

View File

@ -1,7 +1,9 @@
window.languageBundle.get = function (key, ...params) {
let text = this[key] || key;
params.forEach((val, i) => {
text = text.replace(`{${i}}`, val);
});
return text;
if (window.languageBundle) {
window.languageBundle.get = function (key, ...params) {
let text = this[key] || key;
params.forEach((val, i) => {
text = text.replace(`{${i}}`, val);
});
return text;
}
};

View File

@ -0,0 +1,29 @@
$(() => {
const language = document.documentElement.lang || 'es-ES';
const table = new DataTable('#users-datatable', {
processing: true,
serverSide: true,
language: {
url: '/assets/libs/datatables/i18n/' + language + '.json'
},
responsive: true,
ajax: {
url: '/users/datatable',
method: 'GET',
data: d => { /* extra params si quieres */ }
},
order: [[0, 'asc']],
columns: [
{ data: 'fullName', name: 'fullname' },
{ data: 'userName', name: 'username' },
{ data: 'roles', name: 'roles' },
{ data: 'enabled', name: 'enabled', searchable: false },
{ data: 'actions', name: 'actions' }
],
columnDefs: [
// Desactiva orden y búsqueda en la columna de acciones
{ targets: -1, orderable: false, searchable: false }
]
});
});