[FIX] Allineamento normativo segnalazioni Fattori (A1+A3): citazioni obblighi -> D.Lgs.138/2024 art.23/24/25 (non Direttiva) + terminologia Asset -> Inventario

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
DevEnv nis2-agile
2026-06-15 15:27:07 +02:00
co-authored by Claude Opus 4.8
parent d50955d95a
commit 121b8c2003
61 changed files with 165 additions and 165 deletions
+2 -2
View File
@@ -71,8 +71,8 @@
<!-- Stessa logica della app: api.js + common.js (helper) + common-bi.js (override BI) -->
<script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613d"></script>
<script src="js/common-bi.js?v=20260613"></script>
<script src="js/common.js?v=20260615"></script>
<script src="js/common-bi.js?v=20260615"></script>
<script>
// Renderizza la sidebar BI (loadSidebar è stato ridefinito da common-bi.js)
document.addEventListener('DOMContentLoaded', function () {
+3 -3
View File
@@ -153,7 +153,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -163,8 +163,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
'use strict';
+3 -3
View File
@@ -153,7 +153,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -163,8 +163,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
'use strict';
+3 -3
View File
@@ -318,7 +318,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -328,8 +328,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+3 -3
View File
@@ -318,7 +318,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -328,8 +328,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+3 -3
View File
@@ -148,7 +148,7 @@
</div>
<script src="../js/api.js?v=20260613"></script>
<script src="../js/common.js?v=20260613d"></script>
<script src="../js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -158,8 +158,8 @@
bootstrap.loadFonts('../vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="../js/common-bi.js?v=20260613"></script>
<script src="../js/i18n.js?v=20260613"></script>
<script src="../js/common-bi.js?v=20260615"></script>
<script src="../js/i18n.js?v=20260615"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+3 -3
View File
@@ -148,7 +148,7 @@
</div>
<script src="../js/api.js?v=20260613"></script>
<script src="../js/common.js?v=20260613d"></script>
<script src="../js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -158,8 +158,8 @@
bootstrap.loadFonts('../vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="../js/common-bi.js?v=20260613"></script>
<script src="../js/i18n.js?v=20260613"></script>
<script src="../js/common-bi.js?v=20260615"></script>
<script src="../js/i18n.js?v=20260615"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+3 -3
View File
@@ -170,7 +170,7 @@
</div>
<script src="../js/api.js?v=20260613"></script>
<script src="../js/common.js?v=20260613d"></script>
<script src="../js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -180,8 +180,8 @@
bootstrap.loadFonts('../vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="../js/common-bi.js?v=20260613"></script>
<script src="../js/i18n.js?v=20260613"></script>
<script src="../js/common-bi.js?v=20260615"></script>
<script src="../js/i18n.js?v=20260615"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+3 -3
View File
@@ -170,7 +170,7 @@
</div>
<script src="../js/api.js?v=20260613"></script>
<script src="../js/common.js?v=20260613d"></script>
<script src="../js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -180,8 +180,8 @@
bootstrap.loadFonts('../vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="../js/common-bi.js?v=20260613"></script>
<script src="../js/i18n.js?v=20260613"></script>
<script src="../js/common-bi.js?v=20260615"></script>
<script src="../js/i18n.js?v=20260615"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+2 -2
View File
@@ -1089,8 +1089,8 @@
</div>
<script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613d"></script>
<script src="js/i18n.js?v=20260613"></script>
<script src="js/common.js?v=20260615"></script>
<script src="js/i18n.js?v=20260615"></script>
<script src="js/help.js?v=20260614"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
+3 -3
View File
@@ -155,7 +155,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -165,8 +165,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth check ───────────────────────────────────────────
+3 -3
View File
@@ -155,7 +155,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -165,8 +165,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth check ───────────────────────────────────────────
+6 -6
View File
@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<title>Inventario Asset (BI) - NIS2 Agile</title>
<title>Inventario - NIS2 Agile</title>
<!-- Bootstrap Italia v2.18.1 self-hostato (regola: MAI CDN). Caricato PRIMA di style.css
cosi' style.css (design system esistente) resta autorevole per i widget renderizzati
via JS (tabelle/modali/form) -> parita' funzionale assoluta. BI veste la chrome. -->
@@ -278,7 +278,7 @@
<main class="main-content">
<header class="content-header">
<h1 class="h2" data-i18n="assets.title">Inventario Asset</h1>
<h1 class="h2" data-i18n="assets.title">Inventario</h1>
<div class="content-header-actions">
<span class="text-muted" style="font-size:0.8rem; margin-right:8px;">Art. 21.2.i NIS2</span>
<button class="btn btn-secondary" onclick="openImportModal()" title="Importa asset da CSV/CMDB">Importa</button>
@@ -314,7 +314,7 @@
</div>
<div>
<div class="asset-stat-value" id="stat-critical">--</div>
<div class="asset-stat-label">Asset Critici</div>
<div class="asset-stat-label">Beni critici</div>
</div>
</div>
<div class="asset-stat-card">
@@ -367,7 +367,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -377,8 +377,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
+6 -6
View File
@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<title>Inventario Asset - NIS2 Agile</title>
<title>Inventario - NIS2 Agile</title>
<!-- Bootstrap Italia v2.18.1 self-hostato (regola: MAI CDN). Caricato PRIMA di style.css
cosi' style.css (design system esistente) resta autorevole per i widget renderizzati
via JS (tabelle/modali/form) -> parita' funzionale assoluta. BI veste la chrome. -->
@@ -278,7 +278,7 @@
<main class="main-content">
<header class="content-header">
<h1 class="h2" data-i18n="assets.title">Inventario Asset</h1>
<h1 class="h2" data-i18n="assets.title">Inventario</h1>
<div class="content-header-actions">
<span class="text-muted" style="font-size:0.8rem; margin-right:8px;">Art. 21.2.i NIS2</span>
<button class="btn btn-secondary" onclick="openImportModal()" title="Importa asset da CSV/CMDB">Importa</button>
@@ -314,7 +314,7 @@
</div>
<div>
<div class="asset-stat-value" id="stat-critical">--</div>
<div class="asset-stat-label">Asset Critici</div>
<div class="asset-stat-label">Beni critici</div>
</div>
</div>
<div class="asset-stat-card">
@@ -367,7 +367,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -377,8 +377,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
+3 -3
View File
@@ -350,12 +350,12 @@
</div>
<script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613d"></script>
<script src="js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle + override sidebar BI (common-bi.js dopo common.js: ridefinisce solo loadSidebar) -->
<script src="vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script>if (window.bootstrap && bootstrap.loadFonts) { bootstrap.loadFonts('vendor/bootstrap-italia/dist/fonts'); }</script>
<script src="js/common-bi.js?v=20260613"></script>
<script src="js/i18n.js?v=20260613"></script>
<script src="js/common-bi.js?v=20260615"></script>
<script src="js/i18n.js?v=20260615"></script>
<script src="js/help.js?v=20260614"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
+3 -3
View File
@@ -350,12 +350,12 @@
</div>
<script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613d"></script>
<script src="js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle + override sidebar BI (common-bi.js dopo common.js: ridefinisce solo loadSidebar) -->
<script src="vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
<script>if (window.bootstrap && bootstrap.loadFonts) { bootstrap.loadFonts('vendor/bootstrap-italia/dist/fonts'); }</script>
<script src="js/common-bi.js?v=20260613"></script>
<script src="js/i18n.js?v=20260613"></script>
<script src="js/common-bi.js?v=20260615"></script>
<script src="js/i18n.js?v=20260615"></script>
<script src="js/help.js?v=20260614"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
+3 -3
View File
@@ -383,7 +383,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -393,8 +393,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script>
const SPRITE = '/vendor/bootstrap-italia/dist/svg/sprites.svg';
function ico(name, cls) { return `<svg class="ico ${cls||''}" aria-hidden="true"><use href="${SPRITE}#${name}"></use></svg>`; }
+3 -3
View File
@@ -383,7 +383,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -393,8 +393,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script>
const SPRITE = '/vendor/bootstrap-italia/dist/svg/sprites.svg';
function ico(name, cls) { return `<svg class="ico ${cls||''}" aria-hidden="true"><use href="${SPRITE}#${name}"></use></svg>`; }
+3 -3
View File
@@ -144,7 +144,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -154,8 +154,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth check ───────────────────────────────────────────
+3 -3
View File
@@ -144,7 +144,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -154,8 +154,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth check ───────────────────────────────────────────
+3 -3
View File
@@ -1143,7 +1143,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (accordion) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. -->
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
@@ -1152,8 +1152,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// La guida è accessibile anche da non autenticati (utile per onboarding)
+3 -3
View File
@@ -1143,7 +1143,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (accordion) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. -->
<script src="/vendor/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script>
@@ -1152,8 +1152,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// La guida è accessibile anche da non autenticati (utile per onboarding)
+3 -3
View File
@@ -352,7 +352,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -362,8 +362,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ──────────────────────────────────────────────
+3 -3
View File
@@ -352,7 +352,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -362,8 +362,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ──────────────────────────────────────────────
+2 -2
View File
@@ -910,8 +910,8 @@ curl -H <span class="str">"X-API-Key: nis2_TUA_CHIAVE"</span> \
</main>
<script src="js/common.js?v=20260613d"></script>
<script src="js/i18n.js?v=20260613"></script>
<script src="js/common.js?v=20260615"></script>
<script src="js/i18n.js?v=20260615"></script>
<script>
function showTab(id) {
document.querySelectorAll('.tab-btn').forEach((b, i) => {
+3 -3
View File
@@ -185,7 +185,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -195,8 +195,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script src="/js/isms.js"></script>
</body>
+3 -3
View File
@@ -185,7 +185,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -195,8 +195,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script src="/js/isms.js"></script>
</body>
+1 -1
View File
@@ -83,7 +83,7 @@
label: 'Operativo', i18nKey: 'nav.operations',
items: [
{ name: 'Formazione', href: 'training.html', icon: iconAcademicCap(), i18nKey: 'nav.training' },
{ name: 'Asset', href: 'assets.html', icon: iconServer(), i18nKey: 'nav.assets' },
{ name: 'Inventario', href: 'assets.html', icon: iconServer(), i18nKey: 'nav.assets' },
{ name: 'Audit & Report', href: 'reports.html', icon: iconChartBar(), i18nKey: 'nav.audit' }
]
},
+1 -1
View File
@@ -209,7 +209,7 @@ function loadSidebar() {
label: 'Operativo', i18nKey: 'nav.operations',
items: [
{ name: 'Formazione', href: 'training.html', icon: iconAcademicCap(), i18nKey: 'nav.training' },
{ name: 'Asset', href: 'assets.html', icon: iconServer(), i18nKey: 'nav.assets' },
{ name: 'Inventario', href: 'assets.html', icon: iconServer(), i18nKey: 'nav.assets' },
{ name: 'Audit & Report',href: 'reports.html', icon: iconChartBar(), i18nKey: 'nav.audit' },
]
},
+2 -2
View File
@@ -84,7 +84,7 @@ const I18n = (function () {
'nav.supply_chain': { it: 'Supply Chain', en: 'Supply Chain' },
'nav.operations': { it: 'Operativo', en: 'Operations' },
'nav.training': { it: 'Formazione', en: 'Training' },
'nav.assets': { it: 'Asset', en: 'Assets' },
'nav.assets': { it: 'Inventario', en: 'Inventory' },
'nav.audit': { it: 'Audit & Report', en: 'Audit & Reports' },
'nav.system': { it: 'Sistema', en: 'System' },
'nav.settings': { it: 'Impostazioni', en: 'Settings' },
@@ -169,7 +169,7 @@ const I18n = (function () {
'training.overdue': { it: 'Scaduto', en: 'Overdue' },
// ── Asset ──────────────────────────────────────
'assets.title': { it: 'Inventario Asset', en: 'Asset Inventory' },
'assets.title': { it: 'Inventario', en: 'Inventory' },
'assets.import_btn': { it: 'Importa', en: 'Import' },
'assets.new': { it: 'Nuovo Asset', en: 'New Asset' },
'assets.dependency_map': { it: 'Mappa Dipendenze', en: 'Dependency Map' },
+3 -3
View File
@@ -151,7 +151,7 @@
</div>
<!-- Stessa logica JS della pagina live (parita' funzionale assoluta, zero backend). -->
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<script src="/js/api.js?v=20260613"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. -->
@@ -161,8 +161,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script src="/js/kb.js"></script>
<script>
+3 -3
View File
@@ -151,7 +151,7 @@
</div>
<!-- Stessa logica JS della pagina live (parita' funzionale assoluta, zero backend). -->
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<script src="/js/api.js?v=20260613"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI. -->
@@ -161,8 +161,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script src="/js/kb.js"></script>
<script>
+1 -1
View File
@@ -95,7 +95,7 @@
<!-- Stessa logica della login attuale: ZERO modifiche backend -->
<script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613d"></script>
<script src="js/common.js?v=20260615"></script>
<script>
if (api.isAuthenticated()) { window.location.href = 'dashboard-bi.html'; }
+1 -1
View File
@@ -95,7 +95,7 @@
<!-- Stessa logica della login attuale: ZERO modifiche backend -->
<script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613d"></script>
<script src="js/common.js?v=20260615"></script>
<script>
if (api.isAuthenticated()) { window.location.href = 'dashboard.html'; }
+1 -1
View File
@@ -424,6 +424,6 @@ curl https://nis2.agile.software/api/services/status</pre>
</div>
</div>
<script src="js/common.js?v=20260613d"></script>
<script src="js/common.js?v=20260615"></script>
</body>
</html>
+3 -3
View File
@@ -113,7 +113,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -123,8 +123,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
+3 -3
View File
@@ -113,7 +113,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -123,8 +123,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -438,7 +438,7 @@
<!-- Stessa logica della onboarding.html: ZERO modifiche backend -->
<script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613d"></script>
<script src="js/common.js?v=20260615"></script>
<script>
// ── Auth check ──────────────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -438,7 +438,7 @@
<!-- Stessa logica della onboarding.html: ZERO modifiche backend -->
<script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613d"></script>
<script src="js/common.js?v=20260615"></script>
<script>
// ── Auth check ──────────────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+3 -3
View File
@@ -334,7 +334,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -344,8 +344,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
+3 -3
View File
@@ -334,7 +334,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -344,8 +344,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
+1 -1
View File
@@ -269,7 +269,7 @@
<!-- Stessa logica della register.html: ZERO modifiche backend -->
<script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613d"></script>
<script src="js/common.js?v=20260615"></script>
<script>
if (api.isAuthenticated()) { window.location.href = 'dashboard-bi.html'; }
+1 -1
View File
@@ -269,7 +269,7 @@
<!-- Stessa logica della register.html: ZERO modifiche backend -->
<script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613d"></script>
<script src="js/common.js?v=20260615"></script>
<script>
if (api.isAuthenticated()) { window.location.href = 'dashboard.html'; }
+3 -3
View File
@@ -444,7 +444,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -454,8 +454,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
+3 -3
View File
@@ -444,7 +444,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -454,8 +454,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
+3 -3
View File
@@ -495,7 +495,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -505,8 +505,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ──────────────────────────────────────────────
+3 -3
View File
@@ -495,7 +495,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -505,8 +505,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ──────────────────────────────────────────────
+3 -3
View File
@@ -673,7 +673,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -683,8 +683,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth check ───────────────────────────────────────────
+3 -3
View File
@@ -673,7 +673,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -683,8 +683,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth check ───────────────────────────────────────────
+1 -1
View File
@@ -166,7 +166,7 @@
</div>
<script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613d"></script>
<script src="js/common.js?v=20260615"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+3 -3
View File
@@ -478,7 +478,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -488,8 +488,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
+3 -3
View File
@@ -478,7 +478,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -488,8 +488,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
+3 -3
View File
@@ -293,7 +293,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -303,8 +303,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
+3 -3
View File
@@ -293,7 +293,7 @@
</div>
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -303,8 +303,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
+1 -1
View File
@@ -1 +1 @@
{"version":"1.15.0","build":"2026-06-14-v1.15.0","date":"2026-06-14","changelog":"PWA installabile (Android/iOS): aggiunti manifest.webmanifest, service worker (offline shell, /api network-only, asset stale-while-revalidate), set icone (192/512 + maskable + apple-touch + favicon), tag PWA in tutte le pagine HTML. Conformita AGID/WCAG 2.1 AA: zoom e orientamento non bloccati, touch target >=44px, safe-area in modalita standalone. Nessuna modifica a dati o schema DB."}
{"version":"1.15.1","build":"2026-06-15-v1.15.1","date":"2026-06-15","changelog":"Allineamento normativo (segnalazioni Simon Fattori, accolte A1+A3): per gli OBBLIGHI si citano gli articoli del D.Lgs. 138/2024 (governance art.23, gestione del rischio art.24, notifica incidenti art.25) al posto degli articoli della Direttiva (UE) 2022/2555 (ora solo per principi) -> aggiornati AIService (blocco fonti iniettato in ogni prompt AI + classificatore incidenti), gate del supervisore e docblock del controller incidenti. Terminologia UI: 'Asset' -> 'Inventario' (sidebar, titoli, i18n IT/EN). Nessuna modifica a dati o schema DB."}
+3 -3
View File
@@ -208,7 +208,7 @@
<!-- Report Detail Modal handled by common.js showModal -->
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -218,8 +218,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
+3 -3
View File
@@ -208,7 +208,7 @@
<!-- Report Detail Modal handled by common.js showModal -->
<script src="/js/api.js?v=20260613"></script>
<script src="/js/common.js?v=20260613d"></script>
<script src="/js/common.js?v=20260615"></script>
<!-- Bootstrap Italia bundle (componenti) + override sidebar BI (common-bi.js).
common-bi.js va DOPO common.js: ridefinisce solo loadSidebar() con markup BI,
riusando tutti gli helper di common.js (zero backend). -->
@@ -218,8 +218,8 @@
bootstrap.loadFonts('/vendor/bootstrap-italia/dist/fonts');
}
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/common-bi.js?v=20260615"></script>
<script src="/js/i18n.js?v=20260615"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
+2 -2
View File
@@ -320,8 +320,8 @@
</div>
<script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613d"></script>
<script src="js/i18n.js?v=20260613"></script>
<script src="js/common.js?v=20260615"></script>
<script src="js/i18n.js?v=20260615"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
loadSidebar();