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.

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-history

Ir 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 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().