[FIX] Liste paginate: frontend leggeva result.data (oggetto {items}) come array
Causa "Errore di connessione" su Inventario (e liste analoghe): gli endpoint
list usano jsonPaginated → data = {items,total,page,per_page,pages}, ma il
frontend faceva `allAssets = result.data || []` e poi .filter/.forEach/.length
sull'oggetto → TypeError → catch → messaggio d'errore (e stat a "--").
Allineato il consumo a jsonPaginated (come gia' faceva risks.html):
- public/assets.html — Inventario (loadAssets): estrae data.items + per_page=100
- public/incidents.html — lista incidenti (renderIncidentsTable)
- public/reports.html — visualizzatore Audit log (loadAuditLogs): data.items +
paginazione da data.pages/page (prima usava result.pagination/total_pages inesistenti)
- public/admin/organizations.html, public/admin/users.html — liste admin
(data.items + paginazione da data: total/per_page/page)
Tutti gli estrattori sono difensivi (gestiscono anche un eventuale array bare).
Verificato: endpoint reali tornano data={items,...}; nessun consumer rotto
restante (listNCRs/listFeedback non usati da pagine; /feedback/mine resta array).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
896caa829c
commit
f32b6f28f5
@@ -400,7 +400,8 @@
|
||||
try {
|
||||
const result = await api.listIncidents(params);
|
||||
if (result.success) {
|
||||
renderIncidentsTable(result.data || []);
|
||||
// /incidents/list risponde paginato: data = {items, total, ...}.
|
||||
renderIncidentsTable((result.data && result.data.items) || (Array.isArray(result.data) ? result.data : []));
|
||||
} else {
|
||||
showNotification(result.message || 'Errore nel caricamento incidenti', 'error');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user