Store Undo Redo para Angular | ng-hub-ui-history
Store de undo y redo para Angular con APIs compatibles con Signals, transacciones, límites y soporte para formularios reactivos.
Referencia API
Aquí tienes el contrato completo de history: todo lo que puedes enlazar, escuchar, proyectar y personalizar, reunido en un solo sitio. Enlaza lo que necesites y dale el estilo que quieras — es standalone y reactivo con signals.
Inputs
Ajusta history a tu gusto con 4 inputs. Se enlazan como cualquier @Input de Angular.
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
createHistoryStore(config) | HistoryStoreConfig<T, K> | — | Crea un almacén basado en Signals con límites opcionales y funciones diff/patch personalizadas. |
registerObject(id, initialState)Obligatorio | (id: K, initialState: T) => void | — | Registra el estado base del objeto e inicia un historial lineal para esa clave. |
commit(id, newState, options?)Obligatorio | (id: K, state: T, options?: { label?: string }) => boolean | — | Almacena el parche diff e invalida la rama de redo si el puntero no estaba al final. |
watchForm(id, form, options?) | (id: K, form: FormGroup, options?: WatchFormOptions) => () => void | — | Confirma automáticamente los cambios de valor del formulario y devuelve un callback de cancelación de suscripción. |
Outputs
Reacciona a lo que hace history: 1 eventos a los que enganchar tu lógica.
| Nombre | Tipo | Descripción |
|---|---|---|
states | Signal<Map<K, T>> | Mapa reactivo de signals con snapshots inmutables actuales por id de objeto. |
Templates
Todavía no hay templates documentados.