Ir al contenido

Deshacer y rehacer

Cada diagram.commit(...) (o cualquier CommandHandler/tool interactivo) es un paso de deshacer. diagram.undo() / diagram.redo() navegan el historial.

Edita el código y pulsa Run
diagram.commit((d) => d.getModel().addNode({ key, label: 'Nodo' }), 'Añadir nodo');
diagram.undo();
diagram.redo();
const um = diagram.getUndoManager();
um.canUndo(); // boolean
um.canRedo(); // boolean
um.getUndoDescription(); // nombre de la próxima acción a deshacer, o null
um.getRedoDescription(); // nombre de la próxima acción a rehacer, o null

El segundo argumento de commit() es el nombre de la transacción — aparece en getUndoDescription()/getRedoDescription() y en los anuncios del lector de pantalla (Undone: ... / Redone: ..., ver Accesibilidad).