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.
Última actualización 8 ago 2026
Visión General
Por qué los equipos buscan esta librería
Usa este store history para Angular cuando necesites undo y redo sobre estado complejo sin introducir una librería externa de estado completa.
Instalación
npm install ng-hub-ui-historyIr a
Ideal para
- editores
- constructores de formularios
- herramientas low-code
- interfaces de configuración
Sobre history
ng-hub-ui-history es especialmente útil en editores Angular, constructores de formularios y pantallas de configuración donde el usuario espera poder deshacer con seguridad. Lleva patrones de undo y redo a flujos con estado sin obligarte a tomar una decisión arquitectónica pesada.
Guías de uso
Commits manuales y viaje en el tiempo
Rastrea los cambios de estado y desplázate hacia atrás y hacia adelante por un historial lineal.
Ejemplos:
Basic History
Manual commit, undo and redo.
{
"title": "Getting Started with History",
"description": "Edit and commit to create undo/redo entries."
}Objetos y arrays anidados
Usa el rastreo basado en parches para grafos de objetos profundos y mutaciones de listas.
Ejemplos:
Nested Object History
Nested properties and dynamic list updates.
{
"id": "invoice-1",
"customer": {
"name": "Acme Corp",
"city": "Madrid"
},
"lines": [
{
"name": "Support plan",
"quantity": 1,
"unitPrice": 150
}
]
}Rastreo automático de formularios
Realiza commits automáticos de los cambios de valor del formulario con los helpers de observación integrados.
Ejemplos:
Reactive Form Watch
watchForm() for automatic commits from FormGroup.
{
"name": "Maria",
"email": "maria@demo.local",
"role": "Editor"
}Transacciones y retención
Agrupa varias operaciones en una sola entrada y recorta las entradas antiguas según los límites configurados.
Ejemplos:
Transactions + Limits
Consolidated commits and FIFO retention.
Pointer: -1 / Entries: 0 / Bytes: 0
{
"id": "transaction-editor",
"title": "Release notes draft",
"content": "Initial draft content.",
"tags": [
"draft"
]
}Características clave
Cambios recientes
Version 22.0.2 - 8/8/26, 12:00 AM
fixed: Documentation links now point at the canonical localized URLs. The README linked to https://hubui.dev/<path> with no locale prefix and no trailing slash, and both forms are 301-redirected, so every reader arriving from npm or GitHub landed on a redirect instead of the canonical page.
Version 22.0.1 - 7/28/26, 12:00 AM
added: Test suite for the diff/patch/clone utilities and multi-object undo/redo: cloneDeep isolation (nested structures, Dates), createDefaultDiff/applyDefaultPatch round-trips across representative shapes (nested objects, array insert/remove/reorder, key deletion, null transitions, deep nesting), estimateBytes sanity, and store-level coverage for independent per-object timelines, no-op transactions and redo invalidation after transactional commits. No runtime changes.
Version 22.0.0 - 6/17/26, 12:00 AM
changed: Aligned with Angular 22.
changed: README documentation standardized.
Version 0.1.0 - 2/23/26, 12:00 AM
added: Initial release with multi-object linear history.
added: Undo/redo, transactions, and maxEntries/maxBytes retention limits.
added: Reactive Forms auto-commit integration via watchForm().