1 Commits
Author SHA1 Message Date
zemion 31e3899490 fix(ui): align contextual documentation with headings
Verified with the coordinated workspace changes by devkit full run
2026-09-08T225814-186389-0000-3e3ed7cd (all seven phases passed).
This shared UI pass does not mark the individual module reviews complete.
2026-09-09 02:03:40 +02:00
3 changed files with 9 additions and 5 deletions
+6 -2
View File
@@ -110,7 +110,9 @@ DOCUMENTATION = (
id="dist_lists.workspace-layout",
title="Distribution Lists workspace actions",
summary="Find collection-wide commands in their consistent workspace position.",
body="Reload and New distribution list use the persistent full-width workspace header at the upper right; Reload sits immediately before creation. Selecting a record, changing filters, or opening an editor does not move these collection-wide commands into the left pane. Member editing and saving stay with the selected list; membership, provenance, and delivery semantics are unchanged. Existing permissions, disabled-state rules, and unsaved-change guards still apply. Administrators configure authority through the existing permission system; no new permission or automatic operation is introduced.",
body="Open the documentation book beside Distribution Lists for workspace guidance; field "
"documentation stays beside the relevant label. "
"Reload and New distribution list use the persistent full-width workspace header at the upper right; Reload sits immediately before creation. Selecting a record, changing filters, or opening an editor does not move these collection-wide commands into the left pane. Member editing and saving stay with the selected list; membership, provenance, and delivery semantics are unchanged. Existing permissions, disabled-state rules, and unsaved-change guards still apply. Administrators configure authority through the existing permission system; no new permission or automatic operation is introduced.",
layer="static",
documentation_types=("user", "admin"),
audience=("user", "module_admin", "operator"),
@@ -118,7 +120,9 @@ DOCUMENTATION = (
translations={"de": {
"title": "Verteilerlisten: Aktionen im Arbeitsbereich",
"summary": "Sammlungsweite Aktionen an ihrer einheitlichen Position im Arbeitsbereich finden.",
"body": "Neu laden und Neue Verteilerliste stehen oben rechts in der dauerhaft sichtbaren, arbeitsbereichsweiten Leiste; Neu laden steht unmittelbar vor dem Anlegen. Auswahl, Filterwechsel und Bearbeitung verschieben diese sammlungsweiten Aktionen nicht in den linken Bereich. Bearbeiten der Mitglieder und Speichern bleiben bei der ausgewählten Liste; Mitgliedschaft, Herkunftsnachweise und Zustellungssemantik ändern sich nicht. Bestehende Berechtigungen, Deaktivierungsregeln und der Schutz ungespeicherter Änderungen gelten weiterhin. Administratoren konfigurieren Rechte im bestehenden Berechtigungssystem; es entstehen weder neue Rechte noch automatische Vorgänge.",
"body": "Öffnen Sie das Dokumentationsbuch neben Verteilerlisten für Hinweise zum Arbeitsbereich; "
"Felddokumentation bleibt neben der jeweiligen Feldbezeichnung. "
"Neu laden und Neue Verteilerliste stehen oben rechts in der dauerhaft sichtbaren, arbeitsbereichsweiten Leiste; Neu laden steht unmittelbar vor dem Anlegen. Auswahl, Filterwechsel und Bearbeitung verschieben diese sammlungsweiten Aktionen nicht in den linken Bereich. Bearbeiten der Mitglieder und Speichern bleiben bei der ausgewählten Liste; Mitgliedschaft, Herkunftsnachweise und Zustellungssemantik ändern sich nicht. Bestehende Berechtigungen, Deaktivierungsregeln und der Schutz ungespeicherter Änderungen gelten weiterhin. Administratoren konfigurieren Rechte im bestehenden Berechtigungssystem; es entstehen weder neue Rechte noch automatische Vorgänge.",
}},
),
DocumentationTopic(
@@ -48,7 +48,7 @@ class DistributionListsInterfaceDocumentationContractTests(unittest.TestCase):
def test_german_reference_documentation_is_complete(self) -> None:
topics = manifest.documentation
self.assertEqual(5, len(topics))
self.assertEqual(6, len(topics))
for topic in topics:
translation = topic.translations.get("de", {})
self.assertTrue(translation.get("title"), topic.id)
@@ -544,11 +544,12 @@ export default function DistributionListsPage({ settings, auth }: Props) {
return (
<WorkspaceFrame as="main" height="viewport" surface="plain" className="dist-lists-page" label="Distribution lists workspace">
<WorkspaceActionBar
title="Distribution Lists"
titleHelp={<DocumentationHelpLink reference={DIST_LISTS_DOCUMENTATION} />}
scope="workspace"
variant="collection"
refreshable
reloadAction={{ onReload: () => void reload(selectedId), loading: loading || busy }}
contextActions={<strong>Distribution Lists</strong>}
createAction={<IconButton
label="New distribution list"
icon={<Plus size={17} />}
@@ -603,7 +604,6 @@ export default function DistributionListsPage({ settings, auth }: Props) {
<strong>{selected?.name ?? "No distribution list selected"}</strong>
{selected ? <small>Revision {selected.current_revision} · {selected.scope_type} scope</small> : null}
</span>}
helpAction={<DocumentationHelpLink reference={DIST_LISTS_DOCUMENTATION} />}
primaryActions={<SegmentedControl<WorkspaceView>
ariaLabel="Distribution-list workspace"
value={view}