feat(data-modeling): add undo/redo application menu interactions COMPASS-9976 #7494
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Split into two PRs (this one and #7493) for easier review and because I'm honestly quite sure that we want to do #7493, but the data-modeling specific parts add a bit of complexity that we should agree is worth it before we mergechore: refactor and centralize app menu access (#7493)Instead of having the logic for accessing the Electron application menufrom the collection tabs spread out through the codebase, bundle it
in a single interface that gives all Compass plugins access to
the menu as needed.
feat(data-modeling): add undo/redo application menu interactions
This requires adding some machinery to track whether undo/redo
events should apply to the current diagram (by testing whether
no element outside of the diagram is focused), as well as
accounting for the fact that the diagram also has hotkey handlers
that can be triggered by the same keyboard presses.