A few ideas for implementation:
- central undo manager that provides a
RegisterUndo method and an Undo and Redo method
- for big actions like delete we use
RegisterUndo(Action undoFunc, Action redoFunc) with closures to capture the changed state
- for param changes
RegisterUndo(decimal? qid, string path, object prev, object updated) the source generator should be able to generate calls to this in the reactive setters.
- For param changes the manager should automatically compact changes to the same prop into a single item
A few ideas for implementation:
RegisterUndomethod and anUndoandRedomethodRegisterUndo(Action undoFunc, Action redoFunc)with closures to capture the changed stateRegisterUndo(decimal? qid, string path, object prev, object updated)the source generator should be able to generate calls to this in the reactive setters.