Angular Undo-Redo-History-Store | ng-hub-ui-history

Angular Undo- und Redo-History-Store mit Signals-freundlichen APIs, Transaktionen, Limits und Unterstützung für Reactive Forms.

API-Referenz

Hier ist der vollständige Vertrag für history: alles, was du binden, abhören, projizieren und gestalten kannst, an einem Ort gesammelt. Verdrahte, was du brauchst, und gestalte, was du willst — es ist standalone und Signals-freundlich.

Inputs

Noch keine Inputs dokumentiert.

Outputs

Noch keine Outputs dokumentiert.

Methoden

Steuere history aus dem Code heraus — 16 Methoden auf der programmatischen Schnittstelle.

NameSignaturRückgabeBeschreibung
createHistoryStorecreateHistoryStore<T, K>(config?: HistoryStoreConfig<T, K>): HistoryStore<T, K>HistoryStore<T, K>Factory, die einen Signal-basierten History-Store erzeugt, der mehrere Objekte anhand ihrer id verfolgt. Akzeptiert optionale Aufbewahrungslimits (maxEntries, Standard 100; maxBytes, Standard 512000), einen keySelector sowie eigene Diff-/Patch-Strategien.
HistoryStore.statesstates: Signal<Map<K, T>>Signal<Map<K, T>>Computed Signal, das eine Map der aktuellen unveränderlichen Zustands-Snapshots bereitstellt, geschlüsselt nach Objekt-id.
HistoryStore.registerObjectregisterObject(id: K, initialState: T): void—Registriert ein verfolgtes Objekt mit seinem Anfangszustand und beginnt für diese id eine neue, leere History-Zeitleiste.
HistoryStore.registerFromObjectregisterFromObject(initialState: T): KKRegistriert ein verfolgtes Objekt, leitet dessen id aus dem konfigurierten keySelector ab und gibt diese id zurück. Wirft einen Fehler, wenn kein keySelector konfiguriert wurde.
HistoryStore.commitcommit(id: K, newState: T, options?: HistoryCommitOptions): booleanbooleanCommittet einen neuen Zustands-Snapshot für eine registrierte id, speichert Vorwärts- und Rückwärts-Patches und verwirft alle Redo-Einträge vor dem Zeiger. Gibt false zurück, wenn der neue Zustand keine Änderungen erzeugt. Innerhalb einer offenen Transaktion wird nur der aktuelle Zustand aktualisiert, ohne einen Eintrag zu erzeugen.
HistoryStore.commitFromObjectcommitFromObject(newState: T, options?: HistoryCommitOptions): booleanbooleanCommittet einen neuen Zustand und leitet die id aus dem konfigurierten keySelector ab. Wirft einen Fehler, wenn kein keySelector konfiguriert wurde.
HistoryStore.undoundo(id: K): booleanbooleanMacht einen History-Schritt rückgängig, indem der Rückwärts-Patch des Eintrags angewendet wird. Gibt false zurück, wenn nichts rückgängig zu machen ist.
HistoryStore.redoredo(id: K): booleanbooleanWendet einen History-Schritt erneut an, indem der Vorwärts-Patch des Eintrags angewendet wird. Gibt false zurück, wenn nichts wiederherzustellen ist.
HistoryStore.canUndocanUndo(id: K): booleanbooleanGibt zurück, ob undo für die angegebene Objekt-id aktuell möglich ist.
HistoryStore.canRedocanRedo(id: K): booleanbooleanGibt zurück, ob redo für die angegebene Objekt-id aktuell möglich ist.
HistoryStore.getStategetState(id: K): T | undefinedT | undefinedGibt einen Deep Clone des aktuellen Zustands für die angegebene id zurück, oder undefined, wenn die id nicht registriert ist.
HistoryStore.historyhistory(id: K): HistoryMetadataHistoryMetadataGibt schreibgeschützte Metadaten zur History des Objekts zurück: den Zeiger, die Anzahl der Einträge, die ungefähre Anzahl vorgehaltener Bytes sowie je Eintrag Label, Zeitstempel und Bytes.
HistoryStore.beginTransactionbeginTransaction(id: K, label?: string): void—Startet eine Transaktion, sodass nachfolgende Commits zu einem einzigen konsolidierten History-Eintrag zusammengefasst werden. Wirft einen Fehler, wenn für die id bereits eine Transaktion offen ist.
HistoryStore.endTransactionendTransaction(id: K): booleanbooleanBeendet die offene Transaktion und committet einen konsolidierten Eintrag vom Zustand zu Transaktionsbeginn bis zum aktuellen Zustand. Gibt false zurück, wenn keine Transaktion offen war oder keine Änderungen vorgenommen wurden.
HistoryStore.watchFormwatchForm(id: K, form: FormGroup, options?: WatchFormOptions): () => void() => voidAbonniert die valueChanges einer FormGroup und committet automatisch jede Emission, optional unter Auslassung der ersten. Gibt einen Unsubscribe-Callback zurück.
HistoryStore.clearHistoryclearHistory(id: K): void—Löscht alle History-Einträge für die angegebene id, behält den aktuellen Zustand als neuen Basis-Snapshot und verwirft eine gegebenenfalls offene Transaktion.

Templates

Noch keine Templates dokumentiert.