In this sample dragging from one Diagram to the other effectively "moves" the selection. It does this by having an "ExternalObjectsDropped" Diagram listener on each Diagram, which deletes the selection in the original Diagram when it is dropped on an external one.

The two Diagrams do not share a Model, but the two Models do share the same UndoManager:

myDiagram.model.undoManager = myDiagram2.model.undoManager;

Hence an undo or redo in one Diagram affects the other Diagram. This allows Node "moves" to be undone across Diagrams.

(This is different from the Update Demo, which is an example of two Diagrams sharing/showing the same Model.)

Using the Robot extension class:

加入 GoJS 交流群
GoJS 交流群 (769862113)