Files
breadcrumb-the-shire/tools/codex-skills/core-guardrails/references/boundaries-ui.md
2026-03-06 09:55:58 +01:00

2.7 KiB

UI Boundaries (MUST / MUST NOT)

Listen-Standard

  1. MUST Listen ueber initStandardListPage(...) initialisieren.
  2. MUST Filter-Toolbar ueber zentrale Helper/Partials rendern.
  3. MUST aktive Chips/Drawer-Verhalten ueber Standard-Contracts laufen lassen.
  4. MUST NOT direkt gridFiltersFromSchema(...) oder initListFilterExperience(...) in Listen-Templates verwenden.
  5. MUST NOT Legacy-Filter-Toggle-Markup (data-toolbar-toggle, data-filter-overflow, data-filter-toggle) neu einbauen.
  6. MUST rowInteraction-Standard fuer Listen mit Row-Navigation beibehalten (sichtbare Action-Spalte + Enter + Doppelklick-Fallback).
  7. MUST pageSize-Standard beibehalten (10/25/50/100, Toolbar rechts, URL > localStorage > default).

Detailseiten-Standard

  1. MUST Hauptformular mit data-standard-detail-form="1" markieren.
  2. MUST Unsaved/Shortcut/Dirty-State ueber initStandardDetailPage(...) nutzen.
  3. MUST Detail-Aktionen ueber Action-Policy-Contract (data-detail-action-policy, data-detail-action-kind, data-detail-confirm-message) steuern.
  4. MUST NOT inline confirm(...) (onclick / onsubmit) auf standardisierten Detailseiten nutzen.

Confirm + Telemetry Standard

  1. MUST Confirm-Dialoge zentral ueber den globalen Confirm-Service abwickeln.
  2. MUST NOT window.confirm(...) in App-JS oder inline HTML-Handlern verwenden.
  3. MUST relevante Frontend-Warnpfade zentral ueber Frontend-Telemetrie erfassen.
  4. MUST NOT relevante UX-/Fehlerpfade nur als Console-Warnung implementieren.

Frontend Page-Module Hard Cut

  1. MUST Seiteninitialisierung ueber dedizierte Module unter web/js/pages/* umsetzen.
  2. MUST Page-Config ueber script[type="application/json"] + readPageConfig(...) bereitstellen/lesen.
  3. MUST alle JS-src in pages/** und templates/** ueber assetVersion('...js...') laden.
  4. MUST NOT inline <script type="module">...</script> in pages/** oder templates/** verwenden.

Shared Partials

  1. MUST Listen-Titlebar ueber templates/partials/app-list-titlebar.phtml rendern.
  2. MUST List-Tabs ueber templates/partials/app-list-tabs.phtml rendern.
  3. MUST Purge-Action ueber templates/partials/app-list-purge-action.phtml rendern.
  4. MUST Detail-Validation-Summary ueber templates/partials/app-details-validation-summary.phtml rendern.

RBAC in Templates

  1. MUST UI-Capabilities nur ueber $viewAuth lesen.
  2. MUST NOT can('...') in Templates verwenden.

CSS Boundaries

  1. MUST Styles moeglichst lokal in web/css/components, web/css/layout oder web/css/pages halten.
  2. MUST NOT globale unscoped Overrides ohne klaren Scope einfuehren.
  3. MUST Vendor-Overrides nur in web/css/vendor-overrides/** pflegen.
  4. MUST bestehende CSS-Variablen bevorzugen statt neue Inline-Farbwerte zu verteilen.