Richtlinien: Lesemodus als eigene Seite + Bearbeitungsmodus (§8)
Auf Wunsch: Dokumente öffnen nicht mehr als Popup, sondern als eigene Seite
mit Zurück-Navigation.
- Neue Routen /policies/[code] (Lesen) und /policies/[code]/edit (Bearbeiten);
Popup-Modals durch PolicyReadView/PolicyRegisterView ersetzt. Alle Deeplinks
({{LINK}}, Coverage, Bibliothek, Register-Callouts) zeigen auf /policies/CODE.
- Detailseite: „← Zurück zur Bibliothek", Titel/Status/Version, Control-Chips,
„Bearbeiten"-Button (nur Vorlagen-Dokumente, policy:write).
- Bearbeitungsmodus für Leitlinie/Richtlinien/Verfahren:
* Vorlagen-Markdown-Editor (Textarea) mit Live-Vorschau (Lesemodus),
Speichern via updatePolicyTemplate.
* Dokument-bezogene Variablen (§8 Variablen-Scoping): nur die im Dokument
vorkommenden Variablen — inkl. über BL-Referenzen gebundene — einzeln
editierbar; Änderung propagiert zentral in alle Dokumente (eine Pflegestelle).
- Register-Actions revalidieren jetzt /policies per layout (Detailseiten aktuell).
Verifiziert: R08 als Seite (kein Modal), Editor mit 23 dokument-bezogenen
Variablen; PW_MIN_LENGTH 12→14 propagiert in R08 und Handbuch; Template-Speichern
mit Redirect zur Ansicht; zurückgesetzt.
Hinweis: Der Vier-Augen-Freigabe-Workflow mit Versionierung/Diff (§8) folgt als
nächster Schritt — aktuell speichert der Editor direkt (mit Audit-Log).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -33,14 +33,14 @@ const SUPPRESS_SECTIONS = [
|
||||
/** {{LINK:ZIEL}} → interner Deep-Link nach /policies. */
|
||||
export function resolveLink(target: string): { href: string; label: string } {
|
||||
const [code, anchor] = target.split("#");
|
||||
const q = (c: string) => `/policies?doc=${encodeURIComponent(c)}${anchor ? `#${anchor}` : ""}`;
|
||||
const q = (c: string) => `/policies/${encodeURIComponent(c)}${anchor ? `#${anchor}` : ""}`;
|
||||
switch (code) {
|
||||
case "NACHWEISREGISTER":
|
||||
return { href: "/policies?doc=NACHWEIS", label: "Nachweisregister" };
|
||||
return { href: "/policies/NACHWEIS", label: "Nachweisregister" };
|
||||
case "ISA_MAPPING":
|
||||
return { href: "/policies?view=coverage", label: "ISA-Mapping-Matrix" };
|
||||
case "BASELINE":
|
||||
return { href: "/policies?doc=BASELINE", label: "Technische Sicherheits-Baseline" };
|
||||
return { href: "/policies/BASELINE", label: "Technische Sicherheits-Baseline" };
|
||||
default:
|
||||
return { href: q(code), label: anchor ? `${code} §${anchor}` : code };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user