@eclipse-glsp/client 0.10.0-next.6bee8eb.163 → 0.10.0-next.88e4725.166
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/base/action-dispatcher.d.ts +1 -0
- package/lib/base/action-dispatcher.d.ts.map +1 -1
- package/lib/base/action-dispatcher.js +11 -3
- package/lib/base/action-dispatcher.js.map +1 -1
- package/lib/base/actions/focus-change-action.d.ts +16 -7
- package/lib/base/actions/focus-change-action.d.ts.map +1 -1
- package/lib/base/actions/focus-change-action.js +31 -12
- package/lib/base/actions/focus-change-action.js.map +1 -1
- package/lib/base/actions/sprotty-actions.d.ts +7 -0
- package/lib/base/actions/sprotty-actions.d.ts.map +1 -0
- package/lib/{features/tool-palette/palette-item.js → base/actions/sprotty-actions.js} +4 -20
- package/lib/base/actions/sprotty-actions.js.map +1 -0
- package/lib/base/auto-complete/auto-complete-actions.d.ts +5 -3
- package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-actions.js +24 -5
- package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.d.ts +2 -2
- package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.js +4 -4
- package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
- package/lib/base/command-stack.d.ts.map +1 -1
- package/lib/base/command-stack.js +4 -3
- package/lib/base/command-stack.js.map +1 -1
- package/lib/base/di.config.d.ts +1 -1
- package/lib/base/di.config.d.ts.map +1 -1
- package/lib/base/di.config.js +9 -10
- package/lib/base/di.config.js.map +1 -1
- package/lib/base/editor-context-service.d.ts +1 -1
- package/lib/base/editor-context-service.d.ts.map +1 -1
- package/lib/base/editor-context-service.js +5 -5
- package/lib/base/editor-context-service.js.map +1 -1
- package/lib/base/focus-tracker.d.ts +1 -1
- package/lib/base/focus-tracker.d.ts.map +1 -1
- package/lib/base/focus-tracker.js +3 -3
- package/lib/base/focus-tracker.js.map +1 -1
- package/lib/base/model/update-model-command.d.ts.map +1 -1
- package/lib/base/model/update-model-command.js +9 -9
- package/lib/base/model/update-model-command.js.map +1 -1
- package/lib/base/model-initialization-constraint.d.ts +2 -3
- package/lib/base/model-initialization-constraint.d.ts.map +1 -1
- package/lib/base/model-initialization-constraint.js +3 -4
- package/lib/base/model-initialization-constraint.js.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.js +3 -3
- package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
- package/lib/base/tool-manager/tool-actions.d.ts +14 -0
- package/lib/base/tool-manager/tool-actions.d.ts.map +1 -0
- package/lib/base/tool-manager/tool-actions.js +25 -0
- package/lib/base/tool-manager/tool-actions.js.map +1 -0
- package/lib/base/types.d.ts +144 -20
- package/lib/base/types.d.ts.map +1 -1
- package/lib/base/types.js +14 -26
- package/lib/base/types.js.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +2 -2
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/change-bounds/snap.d.ts +42 -1
- package/lib/features/change-bounds/snap.d.ts.map +1 -1
- package/lib/features/change-bounds/snap.js +77 -1
- package/lib/features/change-bounds/snap.js.map +1 -1
- package/lib/features/change-bounds/snap.spec.d.ts +17 -0
- package/lib/features/change-bounds/snap.spec.d.ts.map +1 -0
- package/lib/features/change-bounds/snap.spec.js +82 -0
- package/lib/features/change-bounds/snap.spec.js.map +1 -0
- package/lib/features/command-palette/di.config.d.ts +2 -2
- package/lib/features/command-palette/di.config.d.ts.map +1 -1
- package/lib/features/command-palette/di.config.js +6 -6
- package/lib/features/command-palette/di.config.js.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -1
- package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.js +11 -8
- package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.d.ts +17 -1
- package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.js +3 -3
- package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
- package/lib/features/context-menu/di.config.d.ts +1 -1
- package/lib/features/context-menu/di.config.d.ts.map +1 -1
- package/lib/features/context-menu/di.config.js +8 -7
- package/lib/features/context-menu/di.config.js.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +17 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +4 -19
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -1
- package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.js +6 -5
- package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts +12 -15
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.js +24 -31
- package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.d.ts +1 -1
- package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.js +6 -7
- package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
- package/lib/features/copy-paste/di.config.d.ts +1 -1
- package/lib/features/copy-paste/di.config.d.ts.map +1 -1
- package/lib/features/copy-paste/di.config.js +5 -7
- package/lib/features/copy-paste/di.config.js.map +1 -1
- package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
- package/lib/features/decoration/decoration-placer.js +17 -1
- package/lib/features/decoration/decoration-placer.js.map +1 -1
- package/lib/features/decoration/di.config.d.ts +2 -2
- package/lib/features/decoration/di.config.d.ts.map +1 -1
- package/lib/features/decoration/di.config.js +4 -4
- package/lib/features/decoration/di.config.js.map +1 -1
- package/lib/features/edit-label/di.config.d.ts +1 -1
- package/lib/features/edit-label/di.config.d.ts.map +1 -1
- package/lib/features/edit-label/di.config.js +4 -4
- package/lib/features/edit-label/di.config.js.map +1 -1
- package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -1
- package/lib/features/edit-label/edit-label-tool.js +1 -1
- package/lib/features/edit-label/edit-label-tool.js.map +1 -1
- package/lib/features/edit-label/edit-label-validator.d.ts +4 -6
- package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
- package/lib/features/edit-label/edit-label-validator.js +8 -10
- package/lib/features/edit-label/edit-label-validator.js.map +1 -1
- package/lib/features/hints/di.config.js +2 -2
- package/lib/features/hints/di.config.js.map +1 -1
- package/lib/features/hints/type-hints.d.ts +14 -4
- package/lib/features/hints/type-hints.d.ts.map +1 -1
- package/lib/features/hints/type-hints.js +21 -18
- package/lib/features/hints/type-hints.js.map +1 -1
- package/lib/features/hover/di.config.d.ts.map +1 -1
- package/lib/features/hover/di.config.js +2 -0
- package/lib/features/hover/di.config.js.map +1 -1
- package/lib/features/hover/hover.d.ts +4 -2
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +22 -4
- package/lib/features/hover/hover.js.map +1 -1
- package/lib/features/layout/di.config.d.ts +1 -1
- package/lib/features/layout/di.config.js +1 -1
- package/lib/features/layout/freeform-layout.d.ts +17 -1
- package/lib/features/layout/freeform-layout.d.ts.map +1 -1
- package/lib/features/layout/freeform-layout.js +2 -2
- package/lib/features/layout/freeform-layout.js.map +1 -1
- package/lib/features/layout/layout-commands.d.ts +64 -37
- package/lib/features/layout/layout-commands.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.js +79 -59
- package/lib/features/layout/layout-commands.js.map +1 -1
- package/lib/features/layout/layout-commands.spec.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.spec.js +29 -17
- package/lib/features/layout/layout-commands.spec.js.map +1 -1
- package/lib/features/layout/vbox-layout.d.ts +17 -1
- package/lib/features/layout/vbox-layout.d.ts.map +1 -1
- package/lib/features/layout/vbox-layout.js +4 -3
- package/lib/features/layout/vbox-layout.js.map +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js +7 -7
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
- package/lib/features/mouse-tool/di.config.d.ts +1 -1
- package/lib/features/mouse-tool/di.config.d.ts.map +1 -1
- package/lib/features/mouse-tool/di.config.js +2 -2
- package/lib/features/mouse-tool/di.config.js.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js +4 -10
- package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
- package/lib/features/navigation/navigation-action-handler.d.ts +31 -16
- package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
- package/lib/features/navigation/navigation-action-handler.js +50 -66
- package/lib/features/navigation/navigation-action-handler.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.d.ts +3 -3
- package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.js +7 -8
- package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.js +3 -3
- package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
- package/lib/features/save/di.config.d.ts +1 -1
- package/lib/features/save/di.config.d.ts.map +1 -1
- package/lib/features/save/di.config.js +3 -3
- package/lib/features/save/di.config.js.map +1 -1
- package/lib/features/save/save-keylistener.js +1 -1
- package/lib/features/save/save-keylistener.js.map +1 -1
- package/lib/features/select/di.config.d.ts +1 -1
- package/lib/features/select/di.config.d.ts.map +1 -1
- package/lib/features/select/di.config.js +4 -5
- package/lib/features/select/di.config.js.map +1 -1
- package/lib/features/select/select-feedback-action.d.ts +26 -22
- package/lib/features/select/select-feedback-action.d.ts.map +1 -1
- package/lib/features/select/select-feedback-action.js +18 -45
- package/lib/features/select/select-feedback-action.js.map +1 -1
- package/lib/features/select/select-mouse-listener.d.ts +1 -1
- package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
- package/lib/features/select/select-mouse-listener.js +1 -1
- package/lib/features/select/select-mouse-listener.js.map +1 -1
- package/lib/features/select/selection-service.d.ts.map +1 -1
- package/lib/features/select/selection-service.js +16 -13
- package/lib/features/select/selection-service.js.map +1 -1
- package/lib/features/select/selection-service.spec.js +9 -6
- package/lib/features/select/selection-service.spec.js.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +16 -8
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +50 -20
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts +22 -10
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +46 -21
- package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/css-feedback.d.ts +17 -10
- package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/css-feedback.js +41 -37
- package/lib/features/tool-feedback/css-feedback.js.map +1 -1
- package/lib/features/tool-feedback/di.config.d.ts +1 -1
- package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
- package/lib/features/tool-feedback/di.config.js +4 -4
- package/lib/features/tool-feedback/di.config.js.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +43 -21
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +117 -91
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.js +3 -3
- package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +20 -9
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.js +41 -15
- package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/view.d.ts +1 -1
- package/lib/features/tool-feedback/view.d.ts.map +1 -1
- package/lib/features/tool-feedback/view.js +18 -1
- package/lib/features/tool-feedback/view.js.map +1 -1
- package/lib/features/tool-palette/di.config.d.ts +1 -1
- package/lib/features/tool-palette/di.config.d.ts.map +1 -1
- package/lib/features/tool-palette/di.config.js +3 -2
- package/lib/features/tool-palette/di.config.js.map +1 -1
- package/lib/features/tool-palette/tool-palette.d.ts +9 -6
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +25 -20
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
- package/lib/features/tools/base-glsp-tool.js +3 -3
- package/lib/features/tools/base-glsp-tool.js.map +1 -1
- package/lib/features/tools/change-bounds-tool.d.ts +6 -8
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds-tool.js +22 -45
- package/lib/features/tools/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/delete-tool.d.ts.map +1 -1
- package/lib/features/tools/delete-tool.js +5 -5
- package/lib/features/tools/delete-tool.js.map +1 -1
- package/lib/features/tools/di.config.js +9 -9
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-creation-tool.js +16 -9
- package/lib/features/tools/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.d.ts +2 -1
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit-tool.js +20 -15
- package/lib/features/tools/edge-edit-tool.js.map +1 -1
- package/lib/features/tools/marquee-behavior.d.ts +1 -1
- package/lib/features/tools/marquee-behavior.js +2 -2
- package/lib/features/tools/marquee-behavior.js.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.js +7 -7
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
- package/lib/features/tools/marquee-tool.js +1 -1
- package/lib/features/tools/marquee-tool.js.map +1 -1
- package/lib/features/tools/model.d.ts +2 -1
- package/lib/features/tools/model.d.ts.map +1 -1
- package/lib/features/tools/model.js +0 -15
- package/lib/features/tools/model.js.map +1 -1
- package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/node-creation-tool.js +5 -5
- package/lib/features/tools/node-creation-tool.js.map +1 -1
- package/lib/features/validation/di.config.d.ts +1 -1
- package/lib/features/validation/di.config.d.ts.map +1 -1
- package/lib/features/validation/di.config.js +3 -3
- package/lib/features/validation/di.config.js.map +1 -1
- package/lib/features/validation/marker-navigator.d.ts +15 -7
- package/lib/features/validation/marker-navigator.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.js +21 -19
- package/lib/features/validation/marker-navigator.js.map +1 -1
- package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.spec.js +2 -16
- package/lib/features/validation/marker-navigator.spec.js.map +1 -1
- package/lib/features/validation/validate.d.ts +9 -11
- package/lib/features/validation/validate.d.ts.map +1 -1
- package/lib/features/validation/validate.js +27 -26
- package/lib/features/validation/validate.js.map +1 -1
- package/lib/features/viewport/di.config.d.ts +1 -1
- package/lib/features/viewport/di.config.d.ts.map +1 -1
- package/lib/features/viewport/di.config.js +1 -1
- package/lib/features/viewport/di.config.js.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.js +2 -2
- package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
- package/lib/index.d.ts +4 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -5
- package/lib/index.js.map +1 -1
- package/lib/lib/model.d.ts +2 -1
- package/lib/lib/model.d.ts.map +1 -1
- package/lib/lib/model.js +0 -15
- package/lib/lib/model.js.map +1 -1
- package/lib/model-source/glsp-diagram-server.d.ts +4 -4
- package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
- package/lib/model-source/glsp-diagram-server.js +5 -5
- package/lib/model-source/glsp-diagram-server.js.map +1 -1
- package/lib/sprotty-reexport.d.ts +174 -0
- package/lib/sprotty-reexport.d.ts.map +1 -0
- package/lib/sprotty-reexport.js +299 -0
- package/lib/sprotty-reexport.js.map +1 -0
- package/lib/utils/layout-utils.d.ts +3 -3
- package/lib/utils/layout-utils.d.ts.map +1 -1
- package/lib/utils/smodel-util.d.ts +27 -18
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +30 -11
- package/lib/utils/smodel-util.js.map +1 -1
- package/lib/utils/viewpoint-util.d.ts +3 -3
- package/lib/utils/viewpoint-util.d.ts.map +1 -1
- package/lib/utils/viewpoint-util.js +17 -1
- package/lib/utils/viewpoint-util.js.map +1 -1
- package/package.json +5 -4
- package/src/base/action-dispatcher.ts +13 -4
- package/src/base/actions/focus-change-action.ts +25 -8
- package/{lib/features/tool-palette/palette-item.d.ts → src/base/actions/sprotty-actions.ts} +11 -11
- package/src/base/auto-complete/auto-complete-actions.ts +7 -5
- package/src/base/auto-complete/auto-complete-widget.ts +8 -13
- package/src/base/command-stack.ts +4 -3
- package/src/base/di.config.ts +4 -5
- package/src/base/editor-context-service.ts +7 -7
- package/src/base/focus-tracker.ts +5 -4
- package/src/base/model/update-model-command.ts +7 -8
- package/src/base/model-initialization-constraint.ts +3 -4
- package/src/base/tool-manager/glsp-tool-manager.ts +4 -4
- package/src/base/tool-manager/tool-actions.ts +37 -0
- package/src/base/types.ts +31 -24
- package/src/features/change-bounds/movement-restrictor.ts +3 -3
- package/src/features/change-bounds/snap.spec.ts +89 -0
- package/src/features/change-bounds/snap.ts +86 -2
- package/src/features/command-palette/di.config.ts +5 -7
- package/src/features/command-palette/server-command-palette-provider.ts +9 -8
- package/src/features/context-menu/delete-element-context-menu.ts +6 -6
- package/src/features/context-menu/di.config.ts +3 -2
- package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +5 -6
- package/src/features/context-menu/server-context-menu-provider.ts +7 -6
- package/src/features/copy-paste/copy-paste-context-menu.ts +30 -23
- package/src/features/copy-paste/copy-paste-handler.ts +6 -6
- package/src/features/copy-paste/di.config.ts +7 -15
- package/src/features/decoration/decoration-placer.ts +2 -2
- package/src/features/decoration/di.config.ts +3 -5
- package/src/features/edit-label/di.config.ts +4 -5
- package/src/features/edit-label/edit-label-tool.ts +1 -2
- package/src/features/edit-label/edit-label-validator.ts +6 -10
- package/src/features/hints/di.config.ts +3 -3
- package/src/features/hints/type-hints.ts +31 -16
- package/src/features/hover/di.config.ts +4 -0
- package/src/features/hover/hover.ts +29 -11
- package/src/features/layout/di.config.ts +1 -1
- package/src/features/layout/freeform-layout.ts +3 -12
- package/src/features/layout/layout-commands.spec.ts +38 -22
- package/src/features/layout/layout-commands.ts +129 -55
- package/src/features/layout/vbox-layout.ts +4 -8
- package/src/features/model-source-watcher/model-source-changed-action-handler.ts +7 -12
- package/src/features/mouse-tool/di.config.ts +3 -4
- package/src/features/mouse-tool/mouse-tool.ts +4 -9
- package/src/features/navigation/navigation-action-handler.ts +76 -42
- package/src/features/navigation/navigation-target-resolver.spec.ts +3 -3
- package/src/features/navigation/navigation-target-resolver.ts +8 -13
- package/src/features/save/di.config.ts +2 -3
- package/src/features/save/save-keylistener.ts +1 -1
- package/src/features/select/di.config.ts +6 -8
- package/src/features/select/select-feedback-action.ts +18 -46
- package/src/features/select/select-mouse-listener.ts +1 -2
- package/src/features/select/selection-service.spec.ts +11 -8
- package/src/features/select/selection-service.ts +14 -10
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +42 -13
- package/src/features/tool-feedback/creation-tool-feedback.ts +42 -21
- package/src/features/tool-feedback/css-feedback.ts +40 -37
- package/src/features/tool-feedback/di.config.ts +4 -5
- package/src/features/tool-feedback/edge-edit-tool-feedback.ts +122 -78
- package/src/features/tool-feedback/feedback-action-dispatcher.ts +2 -1
- package/src/features/tool-feedback/marquee-tool-feedback.ts +36 -11
- package/src/features/tool-feedback/view.tsx +3 -3
- package/src/features/tool-palette/di.config.ts +3 -2
- package/src/features/tool-palette/tool-palette.ts +30 -16
- package/src/features/tools/base-glsp-tool.ts +4 -4
- package/src/features/tools/change-bounds-tool.ts +31 -61
- package/src/features/tools/delete-tool.ts +6 -6
- package/src/features/tools/di.config.ts +10 -10
- package/src/features/tools/edge-creation-tool.ts +18 -9
- package/src/features/tools/edge-edit-tool.ts +20 -16
- package/src/features/tools/marquee-behavior.ts +2 -2
- package/src/features/tools/marquee-mouse-tool.ts +8 -9
- package/src/features/tools/marquee-tool.ts +1 -1
- package/src/features/tools/model.ts +2 -1
- package/src/features/tools/node-creation-tool.ts +5 -5
- package/src/features/validation/di.config.ts +4 -5
- package/src/features/validation/marker-navigator.spec.ts +4 -2
- package/src/features/validation/marker-navigator.ts +41 -21
- package/src/features/validation/validate.ts +27 -20
- package/src/features/viewport/di.config.ts +1 -2
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +3 -3
- package/src/index.ts +4 -5
- package/src/lib/model.ts +2 -1
- package/src/model-source/glsp-diagram-server.ts +8 -10
- package/src/sprotty-reexport.ts +283 -0
- package/src/utils/layout-utils.ts +3 -3
- package/src/utils/smodel-util.ts +36 -20
- package/src/utils/viewpoint-util.ts +5 -14
- package/lib/features/tool-palette/palette-item.d.ts.map +0 -1
- package/lib/features/tool-palette/palette-item.js.map +0 -1
- package/lib/protocol-reexport.d.ts +0 -45
- package/lib/protocol-reexport.d.ts.map +0 -1
- package/lib/protocol-reexport.js +0 -80
- package/lib/protocol-reexport.js.map +0 -1
- package/src/features/tool-palette/palette-item.ts +0 -38
- package/src/protocol-reexport.ts +0 -64
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2021 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2021-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -45,7 +45,7 @@ export class MarqueeUtil {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
drawMarqueeAction(): DrawMarqueeAction {
|
|
48
|
-
return
|
|
48
|
+
return DrawMarqueeAction.create({ startPoint: this.startPoint, endPoint: this.currentPoint });
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
isEdgePathMarked(path: string | null): boolean {
|
|
@@ -24,12 +24,11 @@ import {
|
|
|
24
24
|
SEdge,
|
|
25
25
|
SModelElement,
|
|
26
26
|
SModelRoot,
|
|
27
|
-
SNode
|
|
28
|
-
TYPES
|
|
27
|
+
SNode
|
|
29
28
|
} from 'sprotty';
|
|
30
29
|
import { DOMHelper } from 'sprotty/lib/base/views/dom-helper';
|
|
31
30
|
import { DragAwareMouseListener } from '../../base/drag-aware-mouse-listener';
|
|
32
|
-
import {
|
|
31
|
+
import { TYPES } from '../../base/types';
|
|
33
32
|
import { getAbsolutePosition, toAbsoluteBounds } from '../../utils/viewpoint-util';
|
|
34
33
|
import { CursorCSS, cursorFeedbackAction } from '../tool-feedback/css-feedback';
|
|
35
34
|
import { RemoveMarqueeAction } from '../tool-feedback/marquee-tool-feedback';
|
|
@@ -41,7 +40,7 @@ export class MarqueeMouseTool extends BaseGLSPTool {
|
|
|
41
40
|
static ID = 'glsp.marquee-mouse-tool';
|
|
42
41
|
|
|
43
42
|
@inject(TYPES.DOMHelper) protected domHelper: DOMHelper;
|
|
44
|
-
@inject(
|
|
43
|
+
@inject(TYPES.IMarqueeBehavior) @optional() protected marqueeBehavior: IMarqueeBehavior;
|
|
45
44
|
|
|
46
45
|
protected marqueeMouseListener: MarqueeMouseListener;
|
|
47
46
|
protected shiftKeyListener: ShiftKeyListener = new ShiftKeyListener();
|
|
@@ -115,8 +114,8 @@ export class MarqueeMouseListener extends DragAwareMouseListener {
|
|
|
115
114
|
const edgeIdsSelected = this.edges.filter(e => this.isEdgeMarked(e)).map(e => this.domHelper.findSModelIdByDOMElement(e));
|
|
116
115
|
const selected = nodeIdsSelected.concat(edgeIdsSelected);
|
|
117
116
|
return [
|
|
118
|
-
|
|
119
|
-
|
|
117
|
+
SelectAction.create({ deselectedElementsIDs: Array.from(target.root.index.all().map(e => e.id)) }),
|
|
118
|
+
SelectAction.create({ selectedElementsIDs: selected.concat(this.previouslySelected) }),
|
|
120
119
|
this.marqueeUtil.drawMarqueeAction()
|
|
121
120
|
];
|
|
122
121
|
}
|
|
@@ -126,9 +125,9 @@ export class MarqueeMouseListener extends DragAwareMouseListener {
|
|
|
126
125
|
override mouseUp(target: SModelElement, event: MouseEvent): Action[] {
|
|
127
126
|
this.isActive = false;
|
|
128
127
|
if (event.shiftKey) {
|
|
129
|
-
return [
|
|
128
|
+
return [RemoveMarqueeAction.create()];
|
|
130
129
|
}
|
|
131
|
-
return [
|
|
130
|
+
return [RemoveMarqueeAction.create(), EnableDefaultToolsAction.create()];
|
|
132
131
|
}
|
|
133
132
|
|
|
134
133
|
isEdgeMarked(element: SVGElement): boolean {
|
|
@@ -148,6 +147,6 @@ export class ShiftKeyListener extends KeyListener {
|
|
|
148
147
|
if (event.shiftKey) {
|
|
149
148
|
return [];
|
|
150
149
|
}
|
|
151
|
-
return [
|
|
150
|
+
return [RemoveMarqueeAction.create(), EnableDefaultToolsAction.create()];
|
|
152
151
|
}
|
|
153
152
|
}
|
|
@@ -44,7 +44,7 @@ export class MarqueeTool extends BaseGLSPTool {
|
|
|
44
44
|
export class MarqueeKeyListener extends KeyListener {
|
|
45
45
|
override keyDown(element: SModelElement, event: KeyboardEvent): Action[] {
|
|
46
46
|
if (event.shiftKey) {
|
|
47
|
-
return [
|
|
47
|
+
return [EnableToolsAction.create([MarqueeMouseTool.ID])];
|
|
48
48
|
}
|
|
49
49
|
return [];
|
|
50
50
|
}
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
16
|
+
import { Point } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { boundsFeature, RectangularNode } from 'sprotty';
|
|
17
18
|
|
|
18
19
|
export class MarqueeNode extends RectangularNode {
|
|
19
20
|
static override readonly DEFAULT_FEATURES = [boundsFeature];
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action, CreateNodeOperation,
|
|
16
|
+
import { Action, CreateNodeOperation, TriggerNodeCreationAction } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject, injectable, optional } from 'inversify';
|
|
18
18
|
import {
|
|
19
19
|
EnableDefaultToolsAction,
|
|
@@ -60,9 +60,9 @@ export class NodeCreationTool extends BaseGLSPTool implements IActionHandler {
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
handle(action: Action): Action | void {
|
|
63
|
-
if (
|
|
63
|
+
if (TriggerNodeCreationAction.is(action)) {
|
|
64
64
|
this.triggerAction = action;
|
|
65
|
-
return
|
|
65
|
+
return EnableToolsAction.create([this.id]);
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
}
|
|
@@ -94,9 +94,9 @@ export class NodeCreationToolMouseListener extends DragAwareMouseListener {
|
|
|
94
94
|
elementProxy.size = { width: 0, height: 0 };
|
|
95
95
|
location = this.tool.snapper.snap(location, elementProxy);
|
|
96
96
|
}
|
|
97
|
-
result.push(
|
|
97
|
+
result.push(CreateNodeOperation.create(this.elementTypeId, { location, containerId, args: this.triggerAction.args }));
|
|
98
98
|
if (!isCtrlOrCmd(event)) {
|
|
99
|
-
result.push(
|
|
99
|
+
result.push(EnableDefaultToolsAction.create());
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
return result;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -14,9 +14,8 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { ContainerModule } from 'inversify';
|
|
17
|
-
import { configureCommand
|
|
18
|
-
|
|
19
|
-
import { GLSP_TYPES } from '../../base/types';
|
|
17
|
+
import { configureCommand } from 'sprotty';
|
|
18
|
+
import { TYPES } from '../../base/types';
|
|
20
19
|
import {
|
|
21
20
|
LeftToRightTopToBottomComparator,
|
|
22
21
|
MarkerNavigator,
|
|
@@ -46,6 +45,6 @@ export const markerNavigatorModule = new ContainerModule((bind, _unbind, isBound
|
|
|
46
45
|
* `registerMarkerNavigationCommands()` in `glsp-theia-integration` instead.
|
|
47
46
|
*/
|
|
48
47
|
export const markerNavigatorContextMenuModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
49
|
-
bind(
|
|
48
|
+
bind(TYPES.IContextMenuProvider).to(MarkerNavigatorContextMenuItemProvider).inSingletonScope();
|
|
50
49
|
bind(TYPES.KeyListener).to(MarkerNavigatorKeyListener).inSingletonScope();
|
|
51
50
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020-
|
|
2
|
+
* Copyright (c) 2020-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
/* eslint-disable import/no-deprecated,no-unused-expressions */
|
|
17
|
+
import { SNodeSchema } from '@eclipse-glsp/protocol';
|
|
17
18
|
import { expect } from 'chai';
|
|
18
19
|
import { Container } from 'inversify';
|
|
19
20
|
import 'mocha';
|
|
@@ -26,7 +27,6 @@ import {
|
|
|
26
27
|
SIssueMarker,
|
|
27
28
|
SModelElement,
|
|
28
29
|
SModelRoot,
|
|
29
|
-
SNodeSchema,
|
|
30
30
|
SParentElement,
|
|
31
31
|
TYPES
|
|
32
32
|
} from 'sprotty';
|
|
@@ -38,7 +38,9 @@ import { MarkerNavigator } from './marker-navigator';
|
|
|
38
38
|
describe('MarkerNavigator', () => {
|
|
39
39
|
const container = new Container();
|
|
40
40
|
container.load(defaultModule, decorationModule, markerNavigatorModule);
|
|
41
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
41
42
|
container.rebind(TYPES.IModelFactory).to(SGraphFactory).inSingletonScope();
|
|
43
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
42
44
|
const graphFactory = container.get<SGraphFactory>(TYPES.IModelFactory);
|
|
43
45
|
const markerNavigator = container.get<MarkerNavigator>(MarkerNavigator);
|
|
44
46
|
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action, CenterAction, Point } from '@eclipse-glsp/protocol';
|
|
16
|
+
import { Action, CenterAction, hasArrayProp, hasStringProp, Point, SelectAction } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
18
|
import {
|
|
19
19
|
BoundsAware,
|
|
@@ -28,30 +28,47 @@ import {
|
|
|
28
28
|
KeyListener,
|
|
29
29
|
MenuItem,
|
|
30
30
|
Selectable,
|
|
31
|
-
SelectAction,
|
|
32
31
|
SIssueMarker,
|
|
33
32
|
SIssueSeverity,
|
|
34
33
|
SModelElement,
|
|
35
|
-
SModelRoot
|
|
36
|
-
TYPES
|
|
34
|
+
SModelRoot
|
|
37
35
|
} from 'sprotty';
|
|
38
36
|
import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
|
|
39
|
-
import {
|
|
37
|
+
import { TYPES } from '../../base/types';
|
|
40
38
|
import { collectIssueMarkers, MarkerPredicates } from '../../utils/marker';
|
|
41
39
|
import { isSelectableAndBoundsAware } from '../../utils/smodel-util';
|
|
42
40
|
import { SelectCommand, SelectionService } from '../select/selection-service';
|
|
43
41
|
|
|
44
|
-
export
|
|
45
|
-
|
|
42
|
+
export interface NavigateToMarkerAction extends Action {
|
|
43
|
+
kind: typeof NavigateToMarkerAction.KIND;
|
|
46
44
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
public readonly severities: SIssueSeverity[] = MarkerNavigator.ALL_SEVERITIES,
|
|
51
|
-
public kind = NavigateToMarkerAction.KIND
|
|
52
|
-
) {}
|
|
45
|
+
direction: MarkerNavigationDirection;
|
|
46
|
+
selectedElementIds?: string[];
|
|
47
|
+
severities: SIssueSeverity[];
|
|
53
48
|
}
|
|
54
49
|
|
|
50
|
+
export type MarkerNavigationDirection = 'next' | 'previous';
|
|
51
|
+
|
|
52
|
+
export namespace NavigateToMarkerAction {
|
|
53
|
+
export const KIND = 'navigateToMarker';
|
|
54
|
+
|
|
55
|
+
export function is(object: any): object is NavigateToMarkerAction {
|
|
56
|
+
return Action.hasKind(object, KIND) && hasStringProp(object, 'direction') && hasArrayProp(object, 'severities');
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export function create(options: {
|
|
60
|
+
direction?: MarkerNavigationDirection;
|
|
61
|
+
selectedElementIds?: string[];
|
|
62
|
+
severities?: SIssueSeverity[];
|
|
63
|
+
}): NavigateToMarkerAction {
|
|
64
|
+
return {
|
|
65
|
+
kind: KIND,
|
|
66
|
+
direction: 'next',
|
|
67
|
+
severities: MarkerNavigator.ALL_SEVERITIES,
|
|
68
|
+
...options
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
55
72
|
export class SModelElementComparator {
|
|
56
73
|
compare(_one: SModelElement, _other: SModelElement): number {
|
|
57
74
|
return 0;
|
|
@@ -146,7 +163,7 @@ export class NavigateToMarkerCommand extends Command {
|
|
|
146
163
|
@inject(MarkerNavigator)
|
|
147
164
|
protected markerNavigator: MarkerNavigator;
|
|
148
165
|
|
|
149
|
-
@inject(
|
|
166
|
+
@inject(TYPES.SelectionService)
|
|
150
167
|
protected selectionService: SelectionService;
|
|
151
168
|
|
|
152
169
|
protected selectCommand: SelectCommand;
|
|
@@ -167,8 +184,11 @@ export class NavigateToMarkerCommand extends Command {
|
|
|
167
184
|
const selectableTarget = findParentByFeature(target, isSelectable);
|
|
168
185
|
if (selectableTarget) {
|
|
169
186
|
const deselect = selected.map(e => e.id).filter(id => id !== selectableTarget.id);
|
|
170
|
-
this.selectCommand = new SelectCommand(
|
|
171
|
-
|
|
187
|
+
this.selectCommand = new SelectCommand(
|
|
188
|
+
SelectAction.create({ selectedElementsIDs: [selectableTarget.id], deselectedElementsIDs: deselect }),
|
|
189
|
+
this.selectionService
|
|
190
|
+
);
|
|
191
|
+
this.centerCommand = new CenterCommand(CenterAction.create([selectableTarget.id]));
|
|
172
192
|
this.centerCommand.execute(context);
|
|
173
193
|
return this.selectCommand.execute(context);
|
|
174
194
|
}
|
|
@@ -218,7 +238,7 @@ export class NavigateToMarkerCommand extends Command {
|
|
|
218
238
|
|
|
219
239
|
@injectable()
|
|
220
240
|
export class MarkerNavigatorContextMenuItemProvider implements IContextMenuItemProvider {
|
|
221
|
-
@inject(
|
|
241
|
+
@inject(TYPES.SelectionService) protected selectionService: SelectionService;
|
|
222
242
|
|
|
223
243
|
getItems(root: Readonly<SModelRoot>, lastMousePosition?: Point): Promise<MenuItem[]> {
|
|
224
244
|
const selectedElementIds = Array.from(this.selectionService.getSelectedElementIDs());
|
|
@@ -234,14 +254,14 @@ export class MarkerNavigatorContextMenuItemProvider implements IContextMenuItemP
|
|
|
234
254
|
id: 'next-marker',
|
|
235
255
|
label: 'Next marker',
|
|
236
256
|
group: 'marker',
|
|
237
|
-
actions: [
|
|
257
|
+
actions: [NavigateToMarkerAction.create({ direction: 'next', selectedElementIds })],
|
|
238
258
|
isEnabled: () => hasMarkers
|
|
239
259
|
},
|
|
240
260
|
{
|
|
241
261
|
id: 'previous-marker',
|
|
242
262
|
label: 'Previous marker',
|
|
243
263
|
group: 'marker',
|
|
244
|
-
actions: [
|
|
264
|
+
actions: [NavigateToMarkerAction.create({ direction: 'previous', selectedElementIds })],
|
|
245
265
|
isEnabled: () => hasMarkers
|
|
246
266
|
}
|
|
247
267
|
]
|
|
@@ -254,9 +274,9 @@ export class MarkerNavigatorContextMenuItemProvider implements IContextMenuItemP
|
|
|
254
274
|
export class MarkerNavigatorKeyListener extends KeyListener {
|
|
255
275
|
override keyDown(_element: SModelElement, event: KeyboardEvent): Action[] {
|
|
256
276
|
if (matchesKeystroke(event, 'Period', 'ctrl')) {
|
|
257
|
-
return [
|
|
277
|
+
return [NavigateToMarkerAction.create({ direction: 'next' })];
|
|
258
278
|
} else if (matchesKeystroke(event, 'Comma', 'ctrl')) {
|
|
259
|
-
return [
|
|
279
|
+
return [NavigateToMarkerAction.create({ direction: 'previous' })];
|
|
260
280
|
}
|
|
261
281
|
return [];
|
|
262
282
|
}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action, DeleteMarkersAction, Marker, SetMarkersAction } from '@eclipse-glsp/protocol';
|
|
16
|
+
import { Action, DeleteMarkersAction, hasArrayProp, Marker, SetMarkersAction } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject, injectable, optional } from 'inversify';
|
|
18
18
|
import {
|
|
19
19
|
Command,
|
|
@@ -24,11 +24,10 @@ import {
|
|
|
24
24
|
SIssueMarker,
|
|
25
25
|
SModelElement,
|
|
26
26
|
SModelRoot,
|
|
27
|
-
SParentElement
|
|
28
|
-
TYPES
|
|
27
|
+
SParentElement
|
|
29
28
|
} from 'sprotty';
|
|
30
29
|
import { EditorContextService } from '../../base/editor-context-service';
|
|
31
|
-
import {
|
|
30
|
+
import { TYPES } from '../../base/types';
|
|
32
31
|
import { removeCssClasses } from '../../utils/smodel-util';
|
|
33
32
|
import { getSeverity } from '../hover/hover';
|
|
34
33
|
import { IFeedbackActionDispatcher, IFeedbackEmitter } from '../tool-feedback/feedback-action-dispatcher';
|
|
@@ -41,11 +40,11 @@ import { createSIssue, getOrCreateSIssueMarker, getSIssueMarker } from './issue-
|
|
|
41
40
|
*/
|
|
42
41
|
@injectable()
|
|
43
42
|
export class ValidationFeedbackEmitter implements IFeedbackEmitter {
|
|
44
|
-
@inject(
|
|
43
|
+
@inject(TYPES.IFeedbackActionDispatcher) protected feedbackActionDispatcher: IFeedbackActionDispatcher;
|
|
45
44
|
|
|
46
45
|
@inject(TYPES.IActionDispatcherProvider) protected actionDispatcher: () => Promise<IActionDispatcher>;
|
|
47
46
|
|
|
48
|
-
private registeredAction:
|
|
47
|
+
private registeredAction: ApplyMarkersAction;
|
|
49
48
|
|
|
50
49
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
51
50
|
private constructor() {}
|
|
@@ -54,13 +53,13 @@ export class ValidationFeedbackEmitter implements IFeedbackEmitter {
|
|
|
54
53
|
* Register the action that should be emitted for visualizing validation feedback.
|
|
55
54
|
* @param action the action that should be emitted when the model is updated and that will visualize the model validation feedback.
|
|
56
55
|
*/
|
|
57
|
-
registerValidationFeedbackAction(action:
|
|
56
|
+
registerValidationFeedbackAction(action: ApplyMarkersAction): void {
|
|
58
57
|
// De-register old action responsible for applying markers and re-applying them when the model is updated
|
|
59
58
|
this.feedbackActionDispatcher.deregisterFeedback(this, []);
|
|
60
59
|
|
|
61
60
|
// Clear existing markers
|
|
62
61
|
if (this.registeredAction !== undefined) {
|
|
63
|
-
const deleteMarkersAction =
|
|
62
|
+
const deleteMarkersAction = DeleteMarkersAction.create(this.registeredAction.markers);
|
|
64
63
|
this.actionDispatcher().then(dispatcher => dispatcher.dispatch(deleteMarkersAction));
|
|
65
64
|
}
|
|
66
65
|
|
|
@@ -88,7 +87,7 @@ export abstract class ExternalMarkerManager {
|
|
|
88
87
|
|
|
89
88
|
removeMarkers(markers: Marker[]): void {
|
|
90
89
|
if (this.actionDispatcher) {
|
|
91
|
-
this.actionDispatcher.dispatch(
|
|
90
|
+
this.actionDispatcher.dispatch(DeleteMarkersAction.create(markers));
|
|
92
91
|
}
|
|
93
92
|
}
|
|
94
93
|
|
|
@@ -116,7 +115,7 @@ export class SetMarkersCommand extends Command {
|
|
|
116
115
|
if (this.externalMarkerManager) {
|
|
117
116
|
this.externalMarkerManager.setMarkers(markers, uri);
|
|
118
117
|
}
|
|
119
|
-
const applyMarkersAction
|
|
118
|
+
const applyMarkersAction = ApplyMarkersAction.create(markers);
|
|
120
119
|
this.validationFeedbackEmitter.registerValidationFeedbackAction(applyMarkersAction);
|
|
121
120
|
return context.root;
|
|
122
121
|
}
|
|
@@ -131,18 +130,26 @@ export class SetMarkersCommand extends Command {
|
|
|
131
130
|
}
|
|
132
131
|
|
|
133
132
|
/**
|
|
134
|
-
*
|
|
133
|
+
* Action for applying makers to a model
|
|
135
134
|
*/
|
|
136
|
-
export interface
|
|
137
|
-
|
|
135
|
+
export interface ApplyMarkersAction extends Action {
|
|
136
|
+
kind: typeof ApplyMarkersAction.KIND;
|
|
137
|
+
markers: Marker[];
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
140
|
+
export namespace ApplyMarkersAction {
|
|
141
|
+
export const KIND = 'applyMarkers';
|
|
142
|
+
|
|
143
|
+
export function is(object: any): object is ApplyMarkersAction {
|
|
144
|
+
return Action.hasKind(object, KIND) && hasArrayProp(object, 'markers');
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export function create(markers: Marker[]): ApplyMarkersAction {
|
|
148
|
+
return {
|
|
149
|
+
kind: KIND,
|
|
150
|
+
markers
|
|
151
|
+
};
|
|
152
|
+
}
|
|
146
153
|
}
|
|
147
154
|
|
|
148
155
|
/**
|
|
@@ -150,7 +157,7 @@ export class ApplyMarkersAction implements MarkersAction {
|
|
|
150
157
|
*/
|
|
151
158
|
@injectable()
|
|
152
159
|
export class ApplyMarkersCommand extends FeedbackCommand {
|
|
153
|
-
static KIND =
|
|
160
|
+
static KIND = ApplyMarkersAction.KIND;
|
|
154
161
|
override readonly priority = 0;
|
|
155
162
|
|
|
156
163
|
constructor(@inject(TYPES.Action) protected action: ApplyMarkersAction) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2021 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2021-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -27,7 +27,6 @@ import {
|
|
|
27
27
|
TYPES,
|
|
28
28
|
ZoomMouseListener
|
|
29
29
|
} from 'sprotty';
|
|
30
|
-
|
|
31
30
|
import { GLSPScrollMouseListener } from './glsp-scroll-mouse-listener';
|
|
32
31
|
|
|
33
32
|
const glspViewportModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
@@ -23,11 +23,11 @@ export class GLSPScrollMouseListener extends ScrollMouseListener implements IAct
|
|
|
23
23
|
preventScrolling = false;
|
|
24
24
|
|
|
25
25
|
handle(action: Action): void | Action | ICommand {
|
|
26
|
-
if (action
|
|
27
|
-
if (action.toolIds.includes(MarqueeMouseTool.ID)) {
|
|
26
|
+
if (action.kind === EnableToolsAction.KIND) {
|
|
27
|
+
if ((action as EnableToolsAction).toolIds.includes(MarqueeMouseTool.ID)) {
|
|
28
28
|
this.preventScrolling = true;
|
|
29
29
|
}
|
|
30
|
-
} else if (action
|
|
30
|
+
} else if (action.kind === EnableDefaultToolsAction.KIND) {
|
|
31
31
|
this.preventScrolling = false;
|
|
32
32
|
}
|
|
33
33
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -33,7 +33,6 @@ import toolsModule from './features/tools/di.config';
|
|
|
33
33
|
import { markerNavigatorModule, validationModule } from './features/validation/di.config';
|
|
34
34
|
import glspViewportModule from './features/viewport/di.config';
|
|
35
35
|
|
|
36
|
-
export * from 'sprotty';
|
|
37
36
|
export * from './base/action-dispatcher';
|
|
38
37
|
export * from './base/actions/focus-change-action';
|
|
39
38
|
export * from './base/argumentable';
|
|
@@ -51,6 +50,7 @@ export * from './base/model/model-registry';
|
|
|
51
50
|
export * from './base/model/update-model-command';
|
|
52
51
|
export * from './base/selection-clearing-mouse-listener';
|
|
53
52
|
export * from './base/source-uri-aware';
|
|
53
|
+
export * from './base/tool-manager/tool-actions';
|
|
54
54
|
export * from './base/types';
|
|
55
55
|
export * from './base/view/view-registry';
|
|
56
56
|
export * from './features/change-bounds/model';
|
|
@@ -80,22 +80,21 @@ export * from './features/tool-feedback/css-feedback';
|
|
|
80
80
|
export * from './features/tool-feedback/edge-edit-tool-feedback';
|
|
81
81
|
export * from './features/tool-feedback/feedback-action-dispatcher';
|
|
82
82
|
export * from './features/tool-feedback/model';
|
|
83
|
-
export * from './features/tool-palette/palette-item';
|
|
84
83
|
export * from './features/tool-palette/tool-palette';
|
|
85
84
|
export * from './features/tools/base-glsp-tool';
|
|
86
85
|
export * from './features/tools/change-bounds-tool';
|
|
87
86
|
export * from './features/tools/delete-tool';
|
|
88
87
|
export * from './features/tools/edge-creation-tool';
|
|
89
88
|
export * from './features/tools/edge-edit-tool';
|
|
90
|
-
export * from './features/tools/node-creation-tool';
|
|
91
89
|
export * from './features/tools/marquee-behavior';
|
|
90
|
+
export * from './features/tools/node-creation-tool';
|
|
92
91
|
export * from './features/validation/issue-marker';
|
|
93
92
|
export * from './features/validation/marker-navigator';
|
|
94
93
|
export * from './features/validation/validate';
|
|
95
94
|
export * from './features/viewport/glsp-scroll-mouse-listener';
|
|
96
95
|
export * from './lib/model';
|
|
97
96
|
export * from './model-source/glsp-diagram-server';
|
|
98
|
-
export * from './
|
|
97
|
+
export * from './sprotty-reexport';
|
|
99
98
|
export * from './utils/argument-utils';
|
|
100
99
|
export * from './utils/marker';
|
|
101
100
|
export * from './utils/smodel-util';
|
package/src/lib/model.ts
CHANGED
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
16
|
+
import { SModelElementSchema } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { exportFeature, SGraph, SModelElement, viewportFeature } from 'sprotty/lib';
|
|
17
18
|
import { Containable, containerFeature } from '../features/hints/model';
|
|
18
19
|
import { Saveable, saveFeature } from '../features/save/model';
|
|
19
20
|
|
|
@@ -15,23 +15,21 @@
|
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import {
|
|
17
17
|
Action,
|
|
18
|
+
ActionMessage,
|
|
18
19
|
ComputedBoundsAction,
|
|
19
|
-
ExportSvgAction,
|
|
20
20
|
GLSPClient,
|
|
21
|
-
|
|
22
|
-
isServerMessageAction,
|
|
23
|
-
isSetEditModeAction,
|
|
21
|
+
RequestModelAction,
|
|
24
22
|
ServerMessageAction,
|
|
25
23
|
SetEditModeAction
|
|
26
24
|
} from '@eclipse-glsp/protocol';
|
|
27
25
|
import { injectable } from 'inversify';
|
|
28
|
-
import { ActionHandlerRegistry,
|
|
26
|
+
import { ActionHandlerRegistry, DiagramServerProxy, ExportSvgAction, ICommand, ServerStatusAction, SwitchEditModeCommand } from 'sprotty';
|
|
29
27
|
import { SourceUriAware } from '../base/source-uri-aware';
|
|
30
28
|
|
|
31
29
|
const receivedFromServerProperty = '__receivedFromServer';
|
|
32
30
|
|
|
33
31
|
@injectable()
|
|
34
|
-
export class GLSPDiagramServer extends
|
|
32
|
+
export class GLSPDiagramServer extends DiagramServerProxy implements SourceUriAware {
|
|
35
33
|
protected _sourceUri: string;
|
|
36
34
|
protected _glspClient?: GLSPClient;
|
|
37
35
|
protected ready = false;
|
|
@@ -63,17 +61,17 @@ export class GLSPDiagramServer extends DiagramServer implements SourceUriAware {
|
|
|
63
61
|
}
|
|
64
62
|
|
|
65
63
|
override handle(action: Action): void | ICommand | Action {
|
|
66
|
-
if (
|
|
64
|
+
if (RequestModelAction.is(action) && action.options) {
|
|
67
65
|
this._sourceUri = action.options.sourceUri as string;
|
|
68
66
|
}
|
|
69
67
|
return super.handle(action);
|
|
70
68
|
}
|
|
71
69
|
|
|
72
70
|
override handleLocally(action: Action): boolean {
|
|
73
|
-
if (
|
|
71
|
+
if (ServerMessageAction.is(action)) {
|
|
74
72
|
return this.handleServerMessageAction(action);
|
|
75
73
|
}
|
|
76
|
-
if (
|
|
74
|
+
if (SetEditModeAction.is(action)) {
|
|
77
75
|
return this.handleSetEditModeAction(action);
|
|
78
76
|
}
|
|
79
77
|
return super.handleLocally(action);
|
|
@@ -101,7 +99,7 @@ export function isReceivedFromServer(action: Action): boolean {
|
|
|
101
99
|
return (action as any)[receivedFromServerProperty] === true;
|
|
102
100
|
}
|
|
103
101
|
|
|
104
|
-
export function registerDefaultGLSPServerActions(registry: ActionHandlerRegistry, diagramServer:
|
|
102
|
+
export function registerDefaultGLSPServerActions(registry: ActionHandlerRegistry, diagramServer: DiagramServerProxy): void {
|
|
105
103
|
registry.register(ServerMessageAction.KIND, diagramServer);
|
|
106
104
|
registry.register(ServerStatusAction.KIND, diagramServer);
|
|
107
105
|
registry.register(ExportSvgAction.KIND, diagramServer);
|