Creado un sorter central

This commit is contained in:
naielv
2025-12-14 20:17:02 +01:00
parent 3402183f3c
commit 3dbaa9bd33
2 changed files with 44 additions and 42 deletions

View File

@@ -176,3 +176,45 @@ setInterval(() => {
gun.get(TABLE).on((data) => {
var e = true;
});
function betterSorter(a, b) {
// 1. Fecha (ascending)
if (a.Fecha && b.Fecha && a.Fecha !== b.Fecha) {
return a.Fecha > b.Fecha ? -1 : 1;
}
// 2. Region (ascending, from SC_Personas if Persona exists)
const regionA =
a.Persona && SC_Personas[a.Persona]
? SC_Personas[a.Persona].Region || ""
: a.Region || "";
const regionB =
b.Persona && SC_Personas[b.Persona]
? SC_Personas[b.Persona].Region || ""
: b.Region || "";
if (regionA !== regionB) {
return regionA.toLowerCase() < regionB.toLowerCase() ? -1 : 1;
}
// 3. Persona (Nombre, ascending, from SC_Personas if Persona exists)
const nombrePersonaA =
a.Persona && SC_Personas[a.Persona]
? SC_Personas[a.Persona].Nombre || ""
: "";
const nombrePersonaB =
b.Persona && SC_Personas[b.Persona]
? SC_Personas[b.Persona].Nombre || ""
: "";
if (nombrePersonaA !== nombrePersonaB) {
return nombrePersonaA.toLowerCase() < nombrePersonaB.toLowerCase()
? -1
: 1;
}
// 4. Nombre (ascending, from a.Nombre/b.Nombre)
if (a.Nombre && b.Nombre && a.Nombre !== b.Nombre) {
return a.Nombre.toLowerCase() < b.Nombre.toLowerCase() ? -1 : 1;
}
// 5. Asunto (ascending, from a.Asunto/b.Asunto)
if (a.Asunto && b.Asunto && a.Asunto !== b.Asunto) {
return a.Asunto.toLowerCase() < b.Asunto.toLowerCase() ? -1 : 1;
}
return 0;
}