Skip to content

Protokoll-Übernahme

Die Protokoll-Übernahme ist in app/composables/protocol/useProtocolClone.ts implementiert.

Das Composable steuert Katalog, Optionsauswahl, Vorschau und Apply-Ablauf für das Kopieren von Inhalten aus einer Acceptance in eine andere.

Zustand

Das Composable verwaltet:

  • catalog
  • options
  • preview
  • sections
  • selectedSourceAcceptanceId
  • Lade-Flags für Katalog, Optionen, Vorschau und Apply

Laden des Katalogs

Es gibt zwei Einstiegspunkte für den Katalog:

  • loadCatalog(targetAcceptanceId, includeNonFinalized?)
  • loadDraftCatalog(contractId, type, includeNonFinalized?)

Der Draft-Pfad funktioniert auch, bevor eine Ziel-Acceptance existiert.

Laden der Optionen

Es gibt zwei Einstiegspunkte für Optionen:

  • loadOptions(targetAcceptanceId, sourceAcceptanceId)
  • loadDraftOptions(contractId, type, sourceAcceptanceId)

Die zurückgegebenen Sektionsoptionen werden in ein lokales Auswahlmodell sections überführt.

Standardverhalten:

  • alle Sektionen ohne policyNotes starten aktiviert

Vorschau und Apply

  • loadPreview(targetAcceptanceId) sendet die aktuelle Auswahl an /acceptance/:id/clone/preview
  • loadDraftPreview(contractId, type) sendet die Auswahl an /acceptance/clone/draft/preview
  • applyClone(targetAcceptanceId, options?) sendet die Auswahl an /acceptance/:id/clone/apply

Nach erfolgreichem Apply ruft das Composable acceptanceStore.sync(targetAcceptanceId, true) auf, damit der lokale Editorzustand zum geklonten Server-Ergebnis passt.

Request-Form

Der finale Request aus buildRequest(...) enthält:

  • sourceAcceptanceId
  • sectionKeys
  • optionale explizite sections
  • optionale imageIds
  • optionales ignoreMissingImages