Files
erp_naurua/docs/modules/shared/ui_foundation/editable-action-card.md
T

2.7 KiB

Editable Action Card

Zweck

Editable Action Card ist ein fachlich neutrales UI-Pattern fuer Karten mit Titelaktionen, Lesemodus und optionalem Bearbeitungsmodus.

Das Pattern kapselt nur die technische Interaktion:

  • Umschalten zwischen Lese- und Bearbeitungsansicht
  • Sichtbarer, im Bearbeitungsmodus deaktivierter Bearbeiten-Button
  • Abbrechen einer Bearbeitung
  • optionale Loeschbestaetigung mit konfigurierbarem Token
  • Deaktivieren der Loeschaktion bis zur gueltigen Bestaetigung
  • gleichzeitiges Bearbeiten mehrerer Karten
  • optionales Ein- und Ausblenden des Karteninhalts

Fachliche Aktionen, API-Aufrufe, Validierung und die Aktualisierung fachlicher Daten bleiben beim owning Modul.

Markup-Vertrag

Eine Karte wird mit data-shared-editable-action-card markiert. Die Bedienelemente verwenden folgende Attribute:

  • data-shared-editable-card-edit
  • data-shared-editable-card-cancel
  • data-shared-editable-card-read
  • data-shared-editable-card-form
  • optional data-shared-editable-card-collapsible
  • optional data-shared-editable-card-collapsed
  • optional data-shared-editable-card-toggle
  • optional data-shared-editable-card-delete
  • optional data-shared-editable-card-delete-confirmation
  • optional data-shared-editable-card-delete-input
  • optional data-shared-editable-card-delete-submit
  • optional data-shared-editable-card-delete-cancel

Der Bearbeiten-Button bleibt im Titelsegment sichtbar. Im Bearbeitungsmodus wird er deaktiviert (disabled, aria-disabled="true" und sg-button--inactive); die Aktionen zum Abbrechen und Speichern bleiben aktiv.

Das Loesch-Token wird je Karte mit data-shared-editable-delete-token konfiguriert. Die Standardaktion fuer das Loeschen bleibt im owning Modul und verwendet den bestehenden fachlichen Handler.

Optionales Ein- und Ausblenden

Eine Karte mit data-shared-editable-card-collapsible kann ihren Inhalt ein- und ausblenden. Mit data-shared-editable-card-collapsed wird der initial eingeklappte Zustand markiert. Der Toggle verwendet die Beschriftungen „Anzeigen“ und „Verbergen“. Beim Wechsel in den Bearbeitungsmodus wird der Inhalt eingeblendet und der Toggle deaktiviert. Nach dem Bearbeiten bleibt der aktuelle Sichtbarkeitszustand erhalten.

Die zentrale Komponente stellt dafür setVisibility(card, visible), isVisible(card) und setToggleEnabled(card, enabled) bereit. Fachmodule verwenden diese Methoden nur für fachliche Folgeaktionen wie das erneute Rendern nach dem Speichern.

Nutzung im Lager

Im Lager-Drawer verwenden die aktive Charge und offene Chargen das Pattern. Rein lesende Karten, insbesondere historische und virtuelle Chargen, bleiben beim bestehenden Content-Card-Pattern.