[FIX] Gestione Rischi #501: tabella requisiti a scorrimento verticale + filtro per classe soggetto

- Punto 1: la tabella 'Rischi dai requisiti del framework di sicurezza' e ora
  un riquadro a scorrimento verticale (max-height 60vh, header sticky) invece di
  allungare la pagina.
- Punto 2: elenca SOLO i requisiti applicabili alla classe del soggetto
  (importante -> Allegato 1, essenziale -> Allegato 2, Det. ACN 164179/2025);
  le righe non pertinenti non sono piu mostrate (prima solo attenuate).
- help.js allineato + cache-buster help.js?v=20260729b su 35 pagine; version.json 1.25.10.
- Punto 3 (rimozione sezione all-hazard) NON applicato: contraddice la decisione
  documentata nel #500 (copertura multirischio art.24 D.Lgs.138/2024) -> escalato.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
DevEnv nis2-agile
2026-07-29 15:11:36 +02:00
co-authored by Claude Opus 4.8
parent 15010f7dc3
commit a8516efafc
37 changed files with 54 additions and 38 deletions
+18 -2
View File
@@ -298,6 +298,18 @@
.filters-bar { flex-direction: column; align-items: stretch; }
.filters-bar .form-select { min-width: 100%; }
}
/* Requisiti del framework: riquadro a scorrimento verticale (ticket #501/1) */
#view-derived .table-container.scroll-box {
max-height: 60vh;
overflow-y: auto;
}
#view-derived .table-container.scroll-box thead th {
position: sticky;
top: 0;
background: var(--gray-50);
z-index: 2;
}
</style>
<!-- PWA:start -->
<link rel="manifest" href="/manifest.webmanifest">
@@ -354,7 +366,7 @@
<span data-i18n="risks.derived_code_legend">RSK-‹misura›Com.‹n› è una codifica interna di NIS2 Agile; ‹misura› (es. GV.OC-04) è il codice della misura del Framework Nazionale richiamato dalla Determinazione ACN 164179/2025. Elenco in sola lettura.</span>
</p>
<div class="card">
<div class="table-container">
<div class="table-container scroll-box">
<table>
<thead>
<tr>
@@ -492,7 +504,7 @@
<script src="/vendor/lucide/lucide.min.js"></script>
<script src="/js/topnav-v3.js?v=20260729"></script>
<script src="/js/i18n.js?v=20260729"></script>
<script src="/js/help.js?v=20260729"></script>
<script src="/js/help.js?v=20260729b"></script>
<script>
// ── Auth & Init ──────────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
@@ -625,6 +637,10 @@
function renderDerivedTable(rows) {
const tbody = document.getElementById('derived-table-body');
const colspan = 8 + (canEvaluate ? 1 : 0);
// Ticket #501/2: mostra SOLO i requisiti applicabili alla classe del soggetto
// (importante → Allegato 1, essenziale → Allegato 2 della Det. ACN 164179/2025).
// Le righe non applicabili non vengono più elencate (prima erano solo attenuate).
rows = (rows || []).filter(isDerivedApplicable);
if (!rows || rows.length === 0) {
tbody.innerHTML = `
<tr><td colspan="${colspan}">