@eclipse-glsp/client 0.9.0-rc-01 → 0.10.0-next.146a812.165
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/LICENSE +642 -277
- package/README.md +4 -2
- package/css/command-palette.css +9 -5
- package/css/decoration.css +3 -2
- package/css/glsp-sprotty.css +125 -14
- package/css/tool-palette.css +44 -27
- package/lib/base/action-dispatcher.d.ts +19 -3
- package/lib/base/action-dispatcher.d.ts.map +1 -1
- package/lib/base/action-dispatcher.js +47 -65
- package/lib/base/action-dispatcher.js.map +1 -1
- package/lib/base/actions/focus-change-action.d.ts +1 -1
- package/lib/base/actions/focus-change-action.d.ts.map +1 -1
- package/lib/base/actions/focus-change-action.js +4 -5
- package/lib/base/actions/focus-change-action.js.map +1 -1
- package/lib/base/{args.d.ts → argumentable.d.ts} +3 -5
- package/lib/base/argumentable.d.ts.map +1 -0
- package/lib/base/{args.js → argumentable.js} +1 -1
- package/lib/base/argumentable.js.map +1 -0
- package/lib/base/auto-complete/auto-complete-actions.d.ts +1 -1
- package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.d.ts +3 -3
- package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.js +123 -157
- package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
- package/lib/base/auto-complete/validation-decorator.d.ts +3 -18
- package/lib/base/auto-complete/validation-decorator.d.ts.map +1 -1
- package/lib/base/auto-complete/validation-decorator.js +44 -65
- package/lib/base/auto-complete/validation-decorator.js.map +1 -1
- package/lib/base/command-stack.d.ts.map +1 -1
- package/lib/base/command-stack.js +19 -37
- package/lib/base/command-stack.js.map +1 -1
- package/lib/base/container-modules.d.ts +40 -0
- package/lib/base/container-modules.d.ts.map +1 -0
- package/lib/base/container-modules.js +100 -0
- package/lib/base/container-modules.js.map +1 -0
- package/lib/base/di.config.d.ts +12 -2
- package/lib/base/di.config.d.ts.map +1 -1
- package/lib/base/di.config.js +46 -30
- package/lib/base/di.config.js.map +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts +3 -2
- package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
- package/lib/base/drag-aware-mouse-listener.js +23 -62
- package/lib/base/drag-aware-mouse-listener.js.map +1 -1
- package/lib/base/{editor-context.d.ts → editor-context-service.d.ts} +18 -22
- package/lib/base/editor-context-service.d.ts.map +1 -0
- package/lib/base/editor-context-service.js +110 -0
- package/lib/base/editor-context-service.js.map +1 -0
- package/lib/base/focus-tracker.d.ts +17 -1
- package/lib/base/focus-tracker.d.ts.map +1 -1
- package/lib/base/focus-tracker.js +20 -40
- package/lib/base/focus-tracker.js.map +1 -1
- package/lib/base/model/model-registry.d.ts.map +1 -1
- package/lib/base/model/model-registry.js +11 -29
- package/lib/base/model/model-registry.js.map +1 -1
- package/lib/base/model/update-model-command.d.ts +19 -5
- package/lib/base/model/update-model-command.d.ts.map +1 -1
- package/lib/base/model/update-model-command.js +69 -94
- package/lib/base/model/update-model-command.js.map +1 -1
- package/lib/base/model-initialization-constraint.d.ts +18 -3
- package/lib/base/model-initialization-constraint.d.ts.map +1 -1
- package/lib/base/model-initialization-constraint.js +37 -58
- package/lib/base/model-initialization-constraint.js.map +1 -1
- package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
- package/lib/base/selection-clearing-mouse-listener.js +10 -28
- package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
- package/lib/base/source-uri-aware.js +2 -5
- package/lib/base/source-uri-aware.js.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.d.ts +2 -2
- package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.js +58 -140
- package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
- package/lib/base/types.d.ts +3 -1
- package/lib/base/types.d.ts.map +1 -1
- package/lib/base/types.js +4 -2
- package/lib/base/types.js.map +1 -1
- package/lib/base/view/view-registry.d.ts.map +1 -1
- package/lib/base/view/view-registry.js +11 -29
- package/lib/base/view/view-registry.js.map +1 -1
- package/lib/features/change-bounds/model.d.ts +3 -1
- package/lib/features/change-bounds/model.d.ts.map +1 -1
- package/lib/features/change-bounds/model.js +22 -33
- package/lib/features/change-bounds/model.js.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts +17 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +29 -43
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/change-bounds/snap.d.ts +58 -1
- package/lib/features/change-bounds/snap.d.ts.map +1 -1
- package/lib/features/change-bounds/snap.js +91 -41
- package/lib/features/change-bounds/snap.js.map +1 -1
- package/{src/features/undo-redo/model.ts → lib/features/change-bounds/snap.spec.d.ts} +3 -12
- 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/command-palette-tool.js +30 -38
- package/lib/features/command-palette/command-palette-tool.js.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 +18 -2
- package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.js +28 -33
- package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.d.ts +1 -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 +20 -68
- 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 -8
- 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 +16 -0
- 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 +61 -71
- 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 +18 -2
- package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.js +30 -31
- package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts +22 -2
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.js +99 -72
- package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.d.ts +19 -2
- package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.js +70 -70
- 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 +11 -11
- package/lib/features/copy-paste/di.config.js.map +1 -1
- package/lib/features/decoration/decoration-placer.d.ts +17 -1
- package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
- package/lib/features/decoration/decoration-placer.js +13 -47
- package/lib/features/decoration/decoration-placer.js.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.js +7 -7
- package/lib/features/edit-label/di.config.js.map +1 -1
- package/lib/features/edit-label/edit-label-tool.js +20 -43
- package/lib/features/edit-label/edit-label-tool.js.map +1 -1
- package/lib/features/edit-label/edit-label-validator.d.ts +16 -1
- package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
- package/lib/features/edit-label/edit-label-validator.js +40 -62
- package/lib/features/edit-label/edit-label-validator.js.map +1 -1
- package/lib/features/hints/di.config.d.ts +0 -15
- package/lib/features/hints/di.config.d.ts.map +1 -1
- package/lib/features/hints/di.config.js +9 -9
- package/lib/features/hints/di.config.js.map +1 -1
- package/lib/features/hints/model.d.ts +3 -2
- package/lib/features/hints/model.d.ts.map +1 -1
- package/lib/features/hints/model.js.map +1 -1
- package/lib/features/hints/type-hints.d.ts +17 -45
- package/lib/features/hints/type-hints.d.ts.map +1 -1
- package/lib/features/hints/type-hints.js +81 -140
- package/lib/features/hints/type-hints.js.map +1 -1
- package/lib/features/hover/di.config.d.ts +1 -1
- package/lib/features/hover/di.config.d.ts.map +1 -1
- package/lib/features/hover/di.config.js +19 -17
- package/lib/features/hover/di.config.js.map +1 -1
- package/lib/features/hover/hover.d.ts +28 -2
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +56 -76
- 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.d.ts.map +1 -1
- package/lib/features/layout/di.config.js +11 -7
- package/lib/features/layout/di.config.js.map +1 -1
- package/lib/features/layout/freeform-layout.d.ts +16 -0
- package/lib/features/layout/freeform-layout.d.ts.map +1 -0
- package/lib/features/layout/freeform-layout.js +107 -0
- package/lib/features/layout/freeform-layout.js.map +1 -0
- package/lib/features/layout/layout-commands.d.ts +19 -3
- package/lib/features/layout/layout-commands.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.js +196 -269
- package/lib/features/layout/layout-commands.js.map +1 -1
- package/lib/features/layout/layout-commands.spec.d.ts +0 -15
- package/lib/features/layout/layout-commands.spec.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.spec.js +101 -95
- package/lib/features/layout/layout-commands.spec.js.map +1 -1
- package/lib/features/layout/vbox-layout.d.ts +25 -0
- package/lib/features/layout/vbox-layout.d.ts.map +1 -0
- package/lib/features/layout/vbox-layout.js +188 -0
- package/lib/features/layout/vbox-layout.js.map +1 -0
- package/lib/features/model-source-watcher/di.config.d.ts +0 -15
- package/lib/features/model-source-watcher/di.config.d.ts.map +1 -1
- package/lib/features/model-source-watcher/di.config.js +7 -7
- package/lib/features/model-source-watcher/di.config.js.map +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +17 -2
- 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 +38 -46
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
- package/lib/features/mouse-tool/di.config.js +5 -5
- package/lib/features/mouse-tool/di.config.js.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts +10 -5
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js +54 -235
- package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
- package/lib/features/navigation/di.config.d.ts +0 -15
- package/lib/features/navigation/di.config.d.ts.map +1 -1
- package/lib/features/navigation/di.config.js +11 -10
- package/lib/features/navigation/di.config.js.map +1 -1
- package/lib/features/navigation/navigation-action-handler.d.ts +19 -38
- package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
- package/lib/features/navigation/navigation-action-handler.js +118 -254
- package/lib/features/navigation/navigation-action-handler.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.d.ts +18 -40
- package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.js +46 -188
- package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.d.ts +0 -15
- package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.js +27 -27
- package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
- package/lib/features/rank/model.d.ts +1 -1
- package/lib/features/rank/model.js +2 -2
- package/lib/features/rank/model.js.map +1 -1
- package/lib/features/reconnect/model.d.ts +1 -1
- package/lib/features/reconnect/model.d.ts.map +1 -1
- package/lib/features/reconnect/model.js +9 -27
- package/lib/features/reconnect/model.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 +6 -6
- package/lib/features/save/di.config.js.map +1 -1
- package/lib/features/save/{save.d.ts → save-keylistener.d.ts} +4 -10
- package/lib/features/save/save-keylistener.d.ts.map +1 -0
- package/lib/features/{undo-redo/model.d.ts → save/save-keylistener.js} +16 -12
- package/lib/features/save/save-keylistener.js.map +1 -0
- package/lib/features/select/di.config.js +11 -11
- package/lib/features/select/di.config.js.map +1 -1
- package/lib/features/select/select-feedback-action.d.ts.map +1 -1
- package/lib/features/select/select-feedback-action.js +45 -71
- package/lib/features/select/select-feedback-action.js.map +1 -1
- package/lib/features/select/select-mouse-listener.js +7 -23
- package/lib/features/select/select-mouse-listener.js.map +1 -1
- package/lib/features/select/selection-service.d.ts +18 -2
- package/lib/features/select/selection-service.d.ts.map +1 -1
- package/lib/features/select/selection-service.js +140 -240
- package/lib/features/select/selection-service.js.map +1 -1
- package/lib/features/select/selection-service.spec.js +111 -154
- package/lib/features/select/selection-service.spec.js.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +19 -2
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +110 -150
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts +18 -2
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +103 -124
- package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/css-feedback.d.ts +20 -2
- package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/css-feedback.js +37 -81
- 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 +27 -27
- package/lib/features/tool-feedback/di.config.js.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +24 -5
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +185 -239
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +20 -4
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.js +35 -72
- package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +17 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.js +41 -84
- package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/model.d.ts +1 -2
- package/lib/features/tool-feedback/model.d.ts.map +1 -1
- package/lib/features/tool-feedback/model.js +11 -27
- package/lib/features/tool-feedback/model.js.map +1 -1
- package/lib/features/tool-feedback/view.d.ts +21 -5
- package/lib/features/tool-feedback/view.d.ts.map +1 -1
- package/lib/features/tool-feedback/view.js +31 -53
- 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 +6 -6
- package/lib/features/tool-palette/di.config.js.map +1 -1
- package/lib/features/tool-palette/palette-item.d.ts +2 -3
- package/lib/features/tool-palette/palette-item.d.ts.map +1 -1
- package/lib/features/tool-palette/palette-item.js +6 -6
- package/lib/features/tool-palette/palette-item.js.map +1 -1
- package/lib/features/tool-palette/tool-palette.d.ts +19 -3
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +203 -271
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/base-glsp-tool.d.ts +20 -4
- package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
- package/lib/features/tools/base-glsp-tool.js +39 -61
- package/lib/features/tools/base-glsp-tool.js.map +1 -1
- package/lib/features/tools/change-bounds-tool.d.ts +22 -7
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds-tool.js +196 -270
- package/lib/features/tools/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/delete-tool.d.ts +17 -1
- package/lib/features/tools/delete-tool.d.ts.map +1 -1
- package/lib/features/tools/delete-tool.js +75 -108
- package/lib/features/tools/delete-tool.js.map +1 -1
- package/lib/features/tools/di.config.d.ts +0 -15
- package/lib/features/tools/di.config.d.ts.map +1 -1
- package/lib/features/tools/di.config.js +20 -20
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts +17 -2
- package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-creation-tool.js +68 -93
- package/lib/features/tools/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.d.ts +18 -1
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit-tool.js +129 -195
- package/lib/features/tools/edge-edit-tool.js.map +1 -1
- package/lib/features/tools/marquee-behavior.d.ts +42 -0
- package/lib/features/tools/marquee-behavior.d.ts.map +1 -0
- package/lib/features/tools/marquee-behavior.js +128 -0
- package/lib/features/tools/marquee-behavior.js.map +1 -0
- package/lib/features/{model-source-watcher/model-source-changed-action.d.ts → tools/marquee-behavior.spec.d.ts} +3 -10
- package/lib/features/tools/marquee-behavior.spec.d.ts.map +1 -0
- package/lib/features/tools/marquee-behavior.spec.js +165 -0
- package/lib/features/tools/marquee-behavior.spec.js.map +1 -0
- package/lib/features/tools/marquee-mouse-tool.d.ts +24 -13
- package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.js +89 -198
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
- package/lib/features/tools/marquee-tool.d.ts +17 -1
- package/lib/features/tools/marquee-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-tool.js +32 -73
- package/lib/features/tools/marquee-tool.js.map +1 -1
- package/lib/features/tools/model.d.ts +1 -1
- package/lib/features/tools/model.d.ts.map +1 -1
- package/lib/features/tools/model.js +5 -23
- package/lib/features/tools/model.js.map +1 -1
- package/lib/features/tools/node-creation-tool.d.ts +17 -2
- package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/node-creation-tool.js +63 -93
- package/lib/features/tools/node-creation-tool.js.map +1 -1
- package/lib/features/tools/view.d.ts +1 -1
- package/lib/features/tools/view.d.ts.map +1 -1
- package/lib/features/tools/view.js +13 -32
- package/lib/features/tools/view.js.map +1 -1
- package/lib/features/validation/di.config.js +12 -12
- package/lib/features/validation/di.config.js.map +1 -1
- package/lib/features/validation/issue-marker.d.ts +2 -2
- package/lib/features/validation/issue-marker.d.ts.map +1 -1
- package/lib/features/validation/issue-marker.js +17 -55
- package/lib/features/validation/issue-marker.js.map +1 -1
- package/lib/features/validation/marker-navigator.d.ts +17 -1
- package/lib/features/validation/marker-navigator.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.js +134 -167
- package/lib/features/validation/marker-navigator.js.map +1 -1
- package/lib/features/validation/marker-navigator.spec.d.ts +0 -15
- package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.spec.js +104 -98
- package/lib/features/validation/marker-navigator.spec.js.map +1 -1
- package/lib/features/validation/validate.d.ts +18 -29
- package/lib/features/validation/validate.d.ts.map +1 -1
- package/lib/features/validation/validate.js +148 -301
- package/lib/features/validation/validate.js.map +1 -1
- package/lib/features/viewport/di.config.js +10 -10
- package/lib/features/viewport/di.config.js.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +18 -2
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.js +16 -47
- package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
- package/lib/index.d.ts +9 -15
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +36 -37
- package/lib/index.js.map +1 -1
- package/lib/lib/model.d.ts +1 -1
- package/lib/lib/model.d.ts.map +1 -1
- package/lib/lib/model.js +12 -28
- package/lib/lib/model.js.map +1 -1
- package/lib/model-source/glsp-diagram-server.d.ts +3 -5
- package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
- package/lib/model-source/glsp-diagram-server.js +61 -121
- package/lib/model-source/glsp-diagram-server.js.map +1 -1
- package/lib/protocol-reexport.d.ts +45 -0
- package/lib/protocol-reexport.d.ts.map +1 -0
- package/lib/protocol-reexport.js +80 -0
- package/lib/protocol-reexport.js.map +1 -0
- package/lib/utils/argument-utils.d.ts +3 -3
- package/lib/utils/argument-utils.d.ts.map +1 -1
- package/lib/utils/argument-utils.js +32 -97
- package/lib/utils/argument-utils.js.map +1 -1
- package/lib/utils/html-utils.js +2 -2
- package/lib/utils/html-utils.js.map +1 -1
- package/lib/utils/layout-utils.d.ts +3 -2
- package/lib/utils/layout-utils.d.ts.map +1 -1
- package/lib/utils/layout-utils.js +5 -5
- package/lib/utils/layout-utils.js.map +1 -1
- package/lib/utils/marker.d.ts +0 -38
- package/lib/utils/marker.d.ts.map +1 -1
- package/lib/utils/marker.js +14 -61
- package/lib/utils/marker.js.map +1 -1
- package/lib/utils/smodel-util.d.ts +116 -10
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +131 -75
- package/lib/utils/smodel-util.js.map +1 -1
- package/lib/utils/viewpoint-util.d.ts +3 -2
- package/lib/utils/viewpoint-util.d.ts.map +1 -1
- package/lib/utils/viewpoint-util.js +15 -30
- package/lib/utils/viewpoint-util.js.map +1 -1
- package/lib/views/base-view-module.d.ts +0 -15
- package/lib/views/base-view-module.d.ts.map +1 -1
- package/lib/views/base-view-module.js +28 -28
- package/lib/views/base-view-module.js.map +1 -1
- package/lib/views/compartments.d.ts +6 -0
- package/lib/views/compartments.d.ts.map +1 -0
- package/lib/views/compartments.js +43 -0
- package/lib/views/compartments.js.map +1 -0
- package/lib/views/glsp-edge-view.d.ts +18 -3
- package/lib/views/glsp-edge-view.d.ts.map +1 -1
- package/lib/views/glsp-edge-view.js +32 -77
- package/lib/views/glsp-edge-view.js.map +1 -1
- package/lib/views/index.d.ts +1 -1
- package/lib/views/index.d.ts.map +1 -1
- package/lib/views/index.js +7 -3
- package/lib/views/index.js.map +1 -1
- package/lib/views/issue-marker-view.d.ts +2 -1
- package/lib/views/issue-marker-view.d.ts.map +1 -1
- package/lib/views/issue-marker-view.js +37 -51
- package/lib/views/issue-marker-view.js.map +1 -1
- package/lib/views/rounded-corner-view.d.ts +2 -3
- package/lib/views/rounded-corner-view.d.ts.map +1 -1
- package/lib/views/rounded-corner-view.js +41 -71
- package/lib/views/rounded-corner-view.js.map +1 -1
- package/lib/views/rounded-corner.d.ts +2 -1
- package/lib/views/rounded-corner.d.ts.map +1 -1
- package/lib/views/rounded-corner.js +44 -65
- package/lib/views/rounded-corner.js.map +1 -1
- package/package.json +13 -31
- package/src/base/action-dispatcher.ts +15 -15
- package/src/base/actions/focus-change-action.ts +2 -2
- package/src/base/{args.ts → argumentable.ts} +2 -3
- package/src/base/auto-complete/auto-complete-actions.ts +1 -1
- package/src/base/auto-complete/auto-complete-widget.ts +37 -25
- package/src/base/auto-complete/validation-decorator.ts +12 -11
- package/src/base/command-stack.ts +4 -7
- package/src/base/container-modules.ts +112 -0
- package/src/base/di.config.ts +33 -18
- package/src/base/drag-aware-mouse-listener.ts +6 -7
- package/src/base/{editor-context.ts → editor-context-service.ts} +4 -31
- package/src/base/focus-tracker.ts +2 -4
- package/src/base/model/model-registry.ts +2 -2
- package/src/base/model/update-model-command.ts +9 -17
- package/src/base/model-initialization-constraint.ts +10 -10
- package/src/base/selection-clearing-mouse-listener.ts +1 -1
- package/src/base/tool-manager/glsp-tool-manager.ts +9 -11
- package/src/base/types.ts +4 -2
- package/src/base/view/view-registry.ts +2 -2
- package/src/features/change-bounds/model.ts +17 -7
- package/src/features/change-bounds/movement-restrictor.ts +17 -9
- package/src/features/change-bounds/snap.spec.ts +89 -0
- package/src/features/change-bounds/snap.ts +87 -2
- package/src/features/command-palette/server-command-palette-provider.ts +11 -9
- package/src/features/context-menu/delete-element-context-menu.ts +3 -4
- package/src/features/context-menu/di.config.ts +11 -9
- package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +41 -11
- package/src/features/context-menu/server-context-menu-provider.ts +10 -7
- package/src/features/copy-paste/copy-paste-context-menu.ts +59 -30
- package/src/features/copy-paste/copy-paste-handler.ts +18 -10
- package/src/features/copy-paste/di.config.ts +2 -3
- package/src/features/decoration/decoration-placer.ts +4 -14
- package/src/features/edit-label/edit-label-validator.ts +11 -12
- package/src/features/hints/di.config.ts +2 -3
- package/src/features/hints/model.ts +4 -3
- package/src/features/hints/type-hints.ts +24 -91
- package/src/features/hover/di.config.ts +4 -3
- package/src/features/hover/hover.ts +27 -8
- package/src/features/layout/di.config.ts +8 -4
- package/src/features/layout/freeform-layout.ts +133 -0
- package/src/features/layout/layout-commands.spec.ts +82 -64
- package/src/features/layout/layout-commands.ts +47 -38
- package/src/features/layout/vbox-layout.ts +260 -0
- package/src/features/model-source-watcher/di.config.ts +3 -4
- package/src/features/model-source-watcher/model-source-changed-action-handler.ts +11 -7
- package/src/features/mouse-tool/mouse-tool.ts +28 -54
- package/src/features/navigation/di.config.ts +4 -10
- package/src/features/navigation/navigation-action-handler.ts +33 -69
- package/src/features/navigation/navigation-target-resolver.spec.ts +3 -7
- package/src/features/navigation/navigation-target-resolver.ts +13 -91
- package/src/features/rank/model.ts +2 -2
- package/src/features/reconnect/model.ts +3 -4
- package/src/features/save/di.config.ts +2 -3
- package/src/features/save/{save.ts → save-keylistener.ts} +4 -12
- package/src/features/select/select-feedback-action.ts +4 -6
- package/src/features/select/selection-service.spec.ts +11 -6
- package/src/features/select/selection-service.ts +18 -13
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +33 -26
- package/src/features/tool-feedback/creation-tool-feedback.ts +49 -14
- package/src/features/tool-feedback/css-feedback.ts +9 -6
- package/src/features/tool-feedback/di.config.ts +2 -5
- package/src/features/tool-feedback/edge-edit-tool-feedback.ts +78 -68
- package/src/features/tool-feedback/feedback-action-dispatcher.ts +9 -10
- package/src/features/tool-feedback/marquee-tool-feedback.ts +6 -7
- package/src/features/tool-feedback/model.ts +1 -4
- package/src/features/tool-feedback/view.tsx +17 -11
- package/src/features/tool-palette/di.config.ts +2 -4
- package/src/features/tool-palette/palette-item.ts +4 -6
- package/src/features/tool-palette/tool-palette.ts +48 -42
- package/src/features/tools/base-glsp-tool.ts +10 -10
- package/src/features/tools/change-bounds-tool.ts +73 -74
- package/src/features/tools/delete-tool.ts +11 -8
- package/src/features/tools/di.config.ts +2 -3
- package/src/features/tools/edge-creation-tool.ts +7 -12
- package/src/features/tools/edge-edit-tool.ts +19 -26
- package/src/features/tools/marquee-behavior.spec.ts +175 -0
- package/src/features/tools/marquee-behavior.ts +158 -0
- package/src/features/tools/marquee-mouse-tool.ts +48 -139
- package/src/features/tools/marquee-tool.ts +4 -5
- package/src/features/tools/model.ts +2 -2
- package/src/features/tools/node-creation-tool.ts +6 -13
- package/src/features/tools/view.tsx +19 -15
- package/src/features/validation/issue-marker.ts +2 -3
- package/src/features/validation/marker-navigator.spec.ts +18 -14
- package/src/features/validation/marker-navigator.ts +29 -15
- package/src/features/validation/validate.ts +10 -43
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +4 -13
- package/src/index.ts +30 -19
- package/src/lib/model.ts +2 -3
- package/src/model-source/glsp-diagram-server.ts +18 -32
- package/src/protocol-reexport.ts +64 -0
- package/src/utils/argument-utils.ts +14 -11
- package/src/utils/layout-utils.ts +13 -7
- package/src/utils/marker.ts +2 -26
- package/src/utils/smodel-util.ts +140 -38
- package/src/utils/viewpoint-util.ts +4 -4
- package/src/views/base-view-module.ts +1 -2
- package/src/{base/actions/edit-mode-action.ts → views/compartments.tsx} +18 -14
- package/src/views/glsp-edge-view.tsx +25 -18
- package/src/views/index.ts +1 -1
- package/src/views/issue-marker-view.tsx +29 -20
- package/src/views/rounded-corner-view.tsx +40 -28
- package/src/views/rounded-corner.ts +5 -6
- package/lib/base/actions/context-actions.d.ts +0 -36
- package/lib/base/actions/context-actions.d.ts.map +0 -1
- package/lib/base/actions/context-actions.js +0 -51
- package/lib/base/actions/context-actions.js.map +0 -1
- package/lib/base/actions/edit-mode-action.d.ts +0 -13
- package/lib/base/actions/edit-mode-action.d.ts.map +0 -1
- package/lib/base/actions/edit-mode-action.js +0 -56
- package/lib/base/actions/edit-mode-action.js.map +0 -1
- package/lib/base/actions/edit-validation-actions.d.ts +0 -78
- package/lib/base/actions/edit-validation-actions.d.ts.map +0 -1
- package/lib/base/actions/edit-validation-actions.js +0 -83
- package/lib/base/actions/edit-validation-actions.js.map +0 -1
- package/lib/base/actions/protocol-actions.d.ts +0 -41
- package/lib/base/actions/protocol-actions.d.ts.map +0 -1
- package/lib/base/actions/protocol-actions.js +0 -151
- package/lib/base/actions/protocol-actions.js.map +0 -1
- package/lib/base/args.d.ts.map +0 -1
- package/lib/base/args.js.map +0 -1
- package/lib/base/editor-context.d.ts.map +0 -1
- package/lib/base/editor-context.js +0 -174
- package/lib/base/editor-context.js.map +0 -1
- package/lib/base/operations/operation.d.ts +0 -135
- package/lib/base/operations/operation.d.ts.map +0 -1
- package/lib/base/operations/operation.js +0 -231
- package/lib/base/operations/operation.js.map +0 -1
- package/lib/features/copy-paste/copy-paste-actions.d.ts +0 -50
- package/lib/features/copy-paste/copy-paste-actions.d.ts.map +0 -1
- package/lib/features/copy-paste/copy-paste-actions.js +0 -68
- package/lib/features/copy-paste/copy-paste-actions.js.map +0 -1
- package/lib/features/hints/request-type-hints-action.d.ts +0 -32
- package/lib/features/hints/request-type-hints-action.d.ts.map +0 -1
- package/lib/features/hints/request-type-hints-action.js +0 -30
- package/lib/features/hints/request-type-hints-action.js.map +0 -1
- package/lib/features/model-source-watcher/model-source-changed-action.d.ts.map +0 -1
- package/lib/features/model-source-watcher/model-source-changed-action.js +0 -17
- package/lib/features/model-source-watcher/model-source-changed-action.js.map +0 -1
- package/lib/features/save/save.d.ts.map +0 -1
- package/lib/features/save/save.js +0 -62
- package/lib/features/save/save.js.map +0 -1
- package/lib/features/undo-redo/model.d.ts.map +0 -1
- package/lib/features/undo-redo/model.js +0 -22
- package/lib/features/undo-redo/model.js.map +0 -1
- package/lib/model-source/glsp-server-status.d.ts +0 -30
- package/lib/model-source/glsp-server-status.d.ts.map +0 -1
- package/lib/model-source/glsp-server-status.js +0 -61
- package/lib/model-source/glsp-server-status.js.map +0 -1
- package/lib/utils/array-utils.d.ts +0 -28
- package/lib/utils/array-utils.d.ts.map +0 -1
- package/lib/utils/array-utils.js +0 -61
- package/lib/utils/array-utils.js.map +0 -1
- package/lib/views/default-types.d.ts +0 -37
- package/lib/views/default-types.d.ts.map +0 -1
- package/lib/views/default-types.js +0 -47
- package/lib/views/default-types.js.map +0 -1
- package/src/base/actions/context-actions.ts +0 -43
- package/src/base/actions/edit-validation-actions.ts +0 -103
- package/src/base/actions/protocol-actions.ts +0 -82
- package/src/base/operations/operation.ts +0 -178
- package/src/features/copy-paste/copy-paste-actions.ts +0 -60
- package/src/features/hints/request-type-hints-action.ts +0 -36
- package/src/features/model-source-watcher/model-source-changed-action.ts +0 -26
- package/src/model-source/glsp-server-status.ts +0 -38
- package/src/utils/array-utils.ts +0 -55
- package/src/views/default-types.ts +0 -48
|
@@ -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
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { Action, Point } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { inject, injectable } from 'inversify';
|
|
17
18
|
import {
|
|
18
|
-
Action,
|
|
19
19
|
add,
|
|
20
20
|
AnchorComputerRegistry,
|
|
21
21
|
center,
|
|
@@ -28,7 +28,6 @@ import {
|
|
|
28
28
|
isConnectable,
|
|
29
29
|
MouseListener,
|
|
30
30
|
MoveAction,
|
|
31
|
-
Point,
|
|
32
31
|
PolylineEdgeRouter,
|
|
33
32
|
SChildElement,
|
|
34
33
|
SConnectableElement,
|
|
@@ -39,8 +38,7 @@ import {
|
|
|
39
38
|
SRoutableElement,
|
|
40
39
|
TYPES
|
|
41
40
|
} from 'sprotty';
|
|
42
|
-
|
|
43
|
-
import { isRoutable } from '../../utils/smodel-util';
|
|
41
|
+
import { BoundsAwareModelElement, isRoutable } from '../../utils/smodel-util';
|
|
44
42
|
import { getAbsolutePosition, toAbsoluteBounds, toAbsolutePosition } from '../../utils/viewpoint-util';
|
|
45
43
|
import { FeedbackCommand } from './model';
|
|
46
44
|
|
|
@@ -49,7 +47,8 @@ export class DrawFeedbackEdgeAction implements Action {
|
|
|
49
47
|
public readonly elementTypeId: string,
|
|
50
48
|
public readonly sourceId: string,
|
|
51
49
|
public readonly edgeSchema?: SEdgeSchema,
|
|
52
|
-
public readonly kind: string = DrawFeedbackEdgeCommand.KIND
|
|
50
|
+
public readonly kind: string = DrawFeedbackEdgeCommand.KIND
|
|
51
|
+
) {}
|
|
53
52
|
}
|
|
54
53
|
|
|
55
54
|
@injectable()
|
|
@@ -68,7 +67,7 @@ export class DrawFeedbackEdgeCommand extends FeedbackCommand {
|
|
|
68
67
|
}
|
|
69
68
|
|
|
70
69
|
export class RemoveFeedbackEdgeAction implements Action {
|
|
71
|
-
constructor(public readonly kind: string = RemoveFeedbackEdgeCommand.KIND) {
|
|
70
|
+
constructor(public readonly kind: string = RemoveFeedbackEdgeCommand.KIND) {}
|
|
72
71
|
}
|
|
73
72
|
|
|
74
73
|
@injectable()
|
|
@@ -83,10 +82,12 @@ export class RemoveFeedbackEdgeCommand extends FeedbackCommand {
|
|
|
83
82
|
|
|
84
83
|
export class FeedbackEdgeEnd extends SDanglingAnchor {
|
|
85
84
|
static readonly TYPE = 'feedback-edge-end';
|
|
86
|
-
constructor(
|
|
85
|
+
constructor(
|
|
86
|
+
readonly sourceId: string,
|
|
87
87
|
readonly elementTypeId: string,
|
|
88
88
|
public feedbackEdge: SRoutableElement | undefined = undefined,
|
|
89
|
-
|
|
89
|
+
override readonly type: string = FeedbackEdgeEnd.TYPE
|
|
90
|
+
) {
|
|
90
91
|
super();
|
|
91
92
|
}
|
|
92
93
|
}
|
|
@@ -96,7 +97,7 @@ export class FeedbackEdgeEndMovingMouseListener extends MouseListener {
|
|
|
96
97
|
super();
|
|
97
98
|
}
|
|
98
99
|
|
|
99
|
-
mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
100
|
+
override mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
100
101
|
const root = target.root;
|
|
101
102
|
const edgeEnd = root.index.getById(feedbackEdgeEndId(root));
|
|
102
103
|
if (!(edgeEnd instanceof FeedbackEdgeEnd) || !edgeEnd.feedbackEdge) {
|
|
@@ -106,10 +107,11 @@ export class FeedbackEdgeEndMovingMouseListener extends MouseListener {
|
|
|
106
107
|
const edge = edgeEnd.feedbackEdge;
|
|
107
108
|
const position = getAbsolutePosition(edgeEnd, event);
|
|
108
109
|
const endAtMousePosition = findChildrenAtPosition(target.root, position)
|
|
110
|
+
.reverse()
|
|
109
111
|
.find(element => isConnectable(element) && element.canConnect(edge, 'target'));
|
|
110
112
|
|
|
111
113
|
if (endAtMousePosition instanceof SConnectableElement && edge.source && isBoundsAware(edge.source)) {
|
|
112
|
-
const anchor = this.computeAbsoluteAnchor(endAtMousePosition, center(edge.source
|
|
114
|
+
const anchor = this.computeAbsoluteAnchor(endAtMousePosition, center(toAbsoluteBounds(edge.source)));
|
|
113
115
|
if (euclideanDistance(anchor, edgeEnd.position) > 1) {
|
|
114
116
|
return [new MoveAction([{ elementId: edgeEnd.id, toPosition: anchor }], false)];
|
|
115
117
|
}
|
|
@@ -120,9 +122,10 @@ export class FeedbackEdgeEndMovingMouseListener extends MouseListener {
|
|
|
120
122
|
return [];
|
|
121
123
|
}
|
|
122
124
|
|
|
123
|
-
protected computeAbsoluteAnchor(element: SConnectableElement,
|
|
125
|
+
protected computeAbsoluteAnchor(element: SConnectableElement, absoluteReferencePoint: Point, offset?: number): Point {
|
|
126
|
+
const referencePointInParent = absoluteToParent(element, absoluteReferencePoint);
|
|
124
127
|
const anchorComputer = this.anchorRegistry.get(PolylineEdgeRouter.KIND, element.anchorKind);
|
|
125
|
-
let anchor = anchorComputer.getAnchor(element,
|
|
128
|
+
let anchor = anchorComputer.getAnchor(element, referencePointInParent, offset);
|
|
126
129
|
// The anchor is computed in the local coordinate system of the element.
|
|
127
130
|
// If the element is a nested child element we have to add the absolute position of its parent to the anchor.
|
|
128
131
|
if (element.parent !== element.root) {
|
|
@@ -136,6 +139,33 @@ export class FeedbackEdgeEndMovingMouseListener extends MouseListener {
|
|
|
136
139
|
}
|
|
137
140
|
}
|
|
138
141
|
|
|
142
|
+
/**
|
|
143
|
+
* Convert a point, specified in absolute coordinates, to a point relative
|
|
144
|
+
* to the parent of the specified child element.
|
|
145
|
+
* @param element the child element
|
|
146
|
+
* @param absolutePoint a point in absolute coordinates
|
|
147
|
+
* @returns the equivalent point, relative to the element's parent coordinates
|
|
148
|
+
*/
|
|
149
|
+
function absoluteToParent(element: BoundsAwareModelElement & SChildElement, absolutePoint: Point): Point {
|
|
150
|
+
if (isBoundsAware(element.parent)) {
|
|
151
|
+
return absoluteToLocal(element.parent, absolutePoint);
|
|
152
|
+
}
|
|
153
|
+
// If the parent is not bounds-aware, assume it's at 0; 0 and proceed
|
|
154
|
+
return absoluteToLocal(element, absolutePoint);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Convert a point, specified in absolute coordinates, to a point relative
|
|
159
|
+
* to the specified element.
|
|
160
|
+
* @param element the element
|
|
161
|
+
* @param absolutePoint a point in absolute coordinates
|
|
162
|
+
* @returns the equivalent point, relative to the element's coordinates
|
|
163
|
+
*/
|
|
164
|
+
function absoluteToLocal(element: BoundsAwareModelElement, absolutePoint: Point): Point {
|
|
165
|
+
const absoluteElementBounds = toAbsoluteBounds(element);
|
|
166
|
+
return { x: absolutePoint.x - absoluteElementBounds.x, y: absolutePoint.y - absoluteElementBounds.y };
|
|
167
|
+
}
|
|
168
|
+
|
|
139
169
|
export function feedbackEdgeId(root: SModelRoot): string {
|
|
140
170
|
return root.id + '_feedback_edge';
|
|
141
171
|
}
|
|
@@ -149,7 +179,12 @@ export const defaultFeedbackEdgeSchema: SEdgeSchema = {
|
|
|
149
179
|
opacity: 0.3
|
|
150
180
|
} as SEdgeSchema;
|
|
151
181
|
|
|
152
|
-
export function drawFeedbackEdge(
|
|
182
|
+
export function drawFeedbackEdge(
|
|
183
|
+
context: CommandExecutionContext,
|
|
184
|
+
sourceId: string,
|
|
185
|
+
elementTypeId: string,
|
|
186
|
+
feedbackEdgeSchema: SEdgeSchema
|
|
187
|
+
): void {
|
|
153
188
|
const root = context.root;
|
|
154
189
|
const sourceChild = root.index.getById(sourceId);
|
|
155
190
|
if (!sourceChild) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 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
|
|
@@ -13,10 +13,9 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { Action, isStringArray } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { inject, injectable } from 'inversify';
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
import { isStringArray } from '../../utils/array-utils';
|
|
18
|
+
import { CommandExecutionContext, SModelElement, SModelRoot, TYPES } from 'sprotty';
|
|
20
19
|
import { addCssClasses, removeCssClasses } from '../../utils/smodel-util';
|
|
21
20
|
import { FeedbackCommand } from './model';
|
|
22
21
|
|
|
@@ -27,7 +26,8 @@ export class ModifyCSSFeedbackAction implements Action {
|
|
|
27
26
|
public readonly input?: string[] | SModelElement[],
|
|
28
27
|
public readonly addClasses?: string[],
|
|
29
28
|
public readonly removeClasses?: string[],
|
|
30
|
-
public kind = ModifyCssFeedbackCommand.KIND
|
|
29
|
+
public kind = ModifyCssFeedbackCommand.KIND
|
|
30
|
+
) {
|
|
31
31
|
if (input) {
|
|
32
32
|
this.elementIds = isStringArray(input) ? input : input.map(element => element.id);
|
|
33
33
|
}
|
|
@@ -68,6 +68,7 @@ function exists(elt?: SModelElement): elt is SModelElement {
|
|
|
68
68
|
return elt !== undefined;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
// eslint-disable-next-line no-shadow
|
|
71
72
|
export enum CursorCSS {
|
|
72
73
|
DEFAULT = 'default-mode',
|
|
73
74
|
OVERLAP_FORBIDDEN = 'overlap-forbidden-mode',
|
|
@@ -77,7 +78,9 @@ export enum CursorCSS {
|
|
|
77
78
|
EDGE_RECONNECT = 'edge-reconnect-select-target-mode',
|
|
78
79
|
OPERATION_NOT_ALLOWED = 'edge-modification-not-allowed-mode',
|
|
79
80
|
ELEMENT_DELETION = 'element-deletion-mode',
|
|
80
|
-
|
|
81
|
+
RESIZE_NESW = 'resize-nesw-mode',
|
|
82
|
+
RESIZE_NWSE = 'resize-nwse-mode',
|
|
83
|
+
MOVE = 'move-mode',
|
|
81
84
|
MARQUEE = 'marquee-mode'
|
|
82
85
|
}
|
|
83
86
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 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
|
|
@@ -18,10 +18,7 @@ import { configureCommand, configureView, LocationPostprocessor, MoveCommand, TY
|
|
|
18
18
|
|
|
19
19
|
import { GLSP_TYPES } from '../../base/types';
|
|
20
20
|
import { SResizeHandle } from '../change-bounds/model';
|
|
21
|
-
import {
|
|
22
|
-
HideChangeBoundsToolResizeFeedbackCommand,
|
|
23
|
-
ShowChangeBoundsToolResizeFeedbackCommand
|
|
24
|
-
} from './change-bounds-tool-feedback';
|
|
21
|
+
import { HideChangeBoundsToolResizeFeedbackCommand, ShowChangeBoundsToolResizeFeedbackCommand } from './change-bounds-tool-feedback';
|
|
25
22
|
import { DrawFeedbackEdgeCommand, FeedbackEdgeEnd, RemoveFeedbackEdgeCommand } from './creation-tool-feedback';
|
|
26
23
|
import { ModifyCssFeedbackCommand } from './css-feedback';
|
|
27
24
|
import {
|
|
@@ -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
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { Action, Point } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { inject, injectable } from 'inversify';
|
|
17
|
-
import { VNode } from 'snabbdom
|
|
18
|
+
import { VNode } from 'snabbdom';
|
|
18
19
|
import {
|
|
19
|
-
Action,
|
|
20
20
|
add,
|
|
21
21
|
AnchorComputerRegistry,
|
|
22
22
|
center,
|
|
@@ -29,11 +29,10 @@ import {
|
|
|
29
29
|
findParentByFeature,
|
|
30
30
|
isBoundsAware,
|
|
31
31
|
isConnectable,
|
|
32
|
+
ISnapper,
|
|
32
33
|
isSelected,
|
|
33
|
-
isViewport,
|
|
34
34
|
MouseListener,
|
|
35
35
|
MoveAction,
|
|
36
|
-
Point,
|
|
37
36
|
PolylineEdgeRouter,
|
|
38
37
|
SConnectableElement,
|
|
39
38
|
SModelElement,
|
|
@@ -43,16 +42,11 @@ import {
|
|
|
43
42
|
SwitchEditModeCommand,
|
|
44
43
|
TYPES
|
|
45
44
|
} from 'sprotty';
|
|
46
|
-
|
|
47
|
-
import { isNotUndefined, isRoutable, isRoutingHandle } from '../../utils/smodel-util';
|
|
45
|
+
import { forEachElement, isNotUndefined, isRoutable, isRoutingHandle } from '../../utils/smodel-util';
|
|
48
46
|
import { getAbsolutePosition, toAbsoluteBounds } from '../../utils/viewpoint-util';
|
|
47
|
+
import { PointPositionUpdater } from '../change-bounds/snap';
|
|
49
48
|
import { addReconnectHandles, removeReconnectHandles } from '../reconnect/model';
|
|
50
|
-
import {
|
|
51
|
-
FeedbackEdgeEnd,
|
|
52
|
-
feedbackEdgeEndId,
|
|
53
|
-
FeedbackEdgeEndMovingMouseListener,
|
|
54
|
-
feedbackEdgeId
|
|
55
|
-
} from './creation-tool-feedback';
|
|
49
|
+
import { FeedbackEdgeEnd, feedbackEdgeEndId, FeedbackEdgeEndMovingMouseListener, feedbackEdgeId } from './creation-tool-feedback';
|
|
56
50
|
import { FeedbackCommand } from './model';
|
|
57
51
|
|
|
58
52
|
/**
|
|
@@ -60,11 +54,11 @@ import { FeedbackCommand } from './model';
|
|
|
60
54
|
*/
|
|
61
55
|
|
|
62
56
|
export class ShowEdgeReconnectHandlesFeedbackAction implements Action {
|
|
63
|
-
constructor(readonly elementId?: string, public readonly kind: string = ShowEdgeReconnectHandlesFeedbackCommand.KIND) {
|
|
57
|
+
constructor(readonly elementId?: string, public readonly kind: string = ShowEdgeReconnectHandlesFeedbackCommand.KIND) {}
|
|
64
58
|
}
|
|
65
59
|
|
|
66
60
|
export class HideEdgeReconnectHandlesFeedbackAction implements Action {
|
|
67
|
-
constructor(public readonly kind: string = HideEdgeReconnectHandlesFeedbackCommand.KIND) {
|
|
61
|
+
constructor(public readonly kind: string = HideEdgeReconnectHandlesFeedbackCommand.KIND) {}
|
|
68
62
|
}
|
|
69
63
|
|
|
70
64
|
@injectable()
|
|
@@ -77,7 +71,7 @@ export class ShowEdgeReconnectHandlesFeedbackCommand extends FeedbackCommand {
|
|
|
77
71
|
|
|
78
72
|
execute(context: CommandExecutionContext): CommandReturn {
|
|
79
73
|
const index = context.root.index;
|
|
80
|
-
index
|
|
74
|
+
forEachElement(index, isRoutable, removeReconnectHandles);
|
|
81
75
|
|
|
82
76
|
if (isNotUndefined(this.action.elementId)) {
|
|
83
77
|
const routableElement = index.getById(this.action.elementId);
|
|
@@ -99,7 +93,7 @@ export class HideEdgeReconnectHandlesFeedbackCommand extends FeedbackCommand {
|
|
|
99
93
|
|
|
100
94
|
execute(context: CommandExecutionContext): CommandReturn {
|
|
101
95
|
const index = context.root.index;
|
|
102
|
-
index
|
|
96
|
+
forEachElement(index, isRoutable, removeReconnectHandles);
|
|
103
97
|
return context.root;
|
|
104
98
|
}
|
|
105
99
|
}
|
|
@@ -108,16 +102,18 @@ export class HideEdgeReconnectHandlesFeedbackCommand extends FeedbackCommand {
|
|
|
108
102
|
*/
|
|
109
103
|
|
|
110
104
|
export class SwitchRoutingModeAction extends SwitchEditModeAction {
|
|
111
|
-
constructor(
|
|
112
|
-
|
|
113
|
-
|
|
105
|
+
constructor(
|
|
106
|
+
override readonly elementsToActivate: string[] = [],
|
|
107
|
+
override readonly elementsToDeactivate: string[] = [],
|
|
108
|
+
override readonly kind: string = SwitchRoutingModeCommand.KIND
|
|
109
|
+
) {
|
|
114
110
|
super(elementsToActivate, elementsToDeactivate);
|
|
115
111
|
}
|
|
116
112
|
}
|
|
117
113
|
|
|
118
114
|
@injectable()
|
|
119
115
|
export class SwitchRoutingModeCommand extends SwitchEditModeCommand {
|
|
120
|
-
static KIND = 'switchRoutingMode';
|
|
116
|
+
static override KIND = 'switchRoutingMode';
|
|
121
117
|
constructor(@inject(TYPES.Action) action: SwitchRoutingModeAction) {
|
|
122
118
|
super(action);
|
|
123
119
|
}
|
|
@@ -128,7 +124,11 @@ export class SwitchRoutingModeCommand extends SwitchEditModeCommand {
|
|
|
128
124
|
*/
|
|
129
125
|
|
|
130
126
|
export class DrawFeedbackEdgeSourceAction implements Action {
|
|
131
|
-
constructor(
|
|
127
|
+
constructor(
|
|
128
|
+
readonly elementTypeId: string,
|
|
129
|
+
readonly targetId: string,
|
|
130
|
+
public readonly kind: string = DrawFeedbackEdgeSourceCommand.KIND
|
|
131
|
+
) {}
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
@injectable()
|
|
@@ -150,7 +150,7 @@ export class DrawFeedbackEdgeSourceCommand extends FeedbackCommand {
|
|
|
150
150
|
*/
|
|
151
151
|
|
|
152
152
|
export class FeedbackEdgeTargetMovingMouseListener extends FeedbackEdgeEndMovingMouseListener {
|
|
153
|
-
constructor(protected anchorRegistry: AnchorComputerRegistry) {
|
|
153
|
+
constructor(protected override anchorRegistry: AnchorComputerRegistry) {
|
|
154
154
|
super(anchorRegistry);
|
|
155
155
|
}
|
|
156
156
|
}
|
|
@@ -160,7 +160,7 @@ export class FeedbackEdgeSourceMovingMouseListener extends MouseListener {
|
|
|
160
160
|
super();
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
-
mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
163
|
+
override mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
164
164
|
const root = target.root;
|
|
165
165
|
const edgeEnd = root.index.getById(feedbackEdgeEndId(root));
|
|
166
166
|
if (!(edgeEnd instanceof FeedbackEdgeEnd) || !edgeEnd.feedbackEdge) {
|
|
@@ -169,8 +169,9 @@ export class FeedbackEdgeSourceMovingMouseListener extends MouseListener {
|
|
|
169
169
|
|
|
170
170
|
const edge = edgeEnd.feedbackEdge;
|
|
171
171
|
const position = getAbsolutePosition(edgeEnd, event);
|
|
172
|
-
const endAtMousePosition = findChildrenAtPosition(target.root, position)
|
|
173
|
-
|
|
172
|
+
const endAtMousePosition = findChildrenAtPosition(target.root, position).find(
|
|
173
|
+
e => isConnectable(e) && e.canConnect(edge, 'source')
|
|
174
|
+
);
|
|
174
175
|
|
|
175
176
|
if (endAtMousePosition instanceof SConnectableElement && edge.target && isBoundsAware(edge.target)) {
|
|
176
177
|
const anchor = this.computeAbsoluteAnchor(endAtMousePosition, center(edge.target.bounds));
|
|
@@ -201,64 +202,74 @@ export class FeedbackEdgeSourceMovingMouseListener extends MouseListener {
|
|
|
201
202
|
}
|
|
202
203
|
|
|
203
204
|
export class FeedbackEdgeRouteMovingMouseListener extends MouseListener {
|
|
204
|
-
protected
|
|
205
|
-
protected lastDragPosition: Point | undefined;
|
|
205
|
+
protected pointPositionUpdater: PointPositionUpdater;
|
|
206
206
|
|
|
207
|
-
constructor(protected edgeRouterRegistry?: EdgeRouterRegistry) {
|
|
207
|
+
constructor(protected edgeRouterRegistry?: EdgeRouterRegistry, protected snapper?: ISnapper) {
|
|
208
208
|
super();
|
|
209
|
+
this.pointPositionUpdater = new PointPositionUpdater(snapper);
|
|
209
210
|
}
|
|
210
211
|
|
|
211
|
-
mouseDown(target: SModelElement, event: MouseEvent): Action[] {
|
|
212
|
+
override mouseDown(target: SModelElement, event: MouseEvent): Action[] {
|
|
212
213
|
const result: Action[] = [];
|
|
213
214
|
if (event.button === 0) {
|
|
214
215
|
const routingHandle = findParentByFeature(target, isRoutingHandle);
|
|
215
216
|
if (routingHandle !== undefined) {
|
|
216
217
|
result.push(new SwitchRoutingModeAction([target.id], []));
|
|
217
|
-
this.
|
|
218
|
+
this.pointPositionUpdater.updateLastDragPosition({ x: event.pageX, y: event.pageY });
|
|
218
219
|
} else {
|
|
219
|
-
this.
|
|
220
|
+
this.pointPositionUpdater.resetPosition();
|
|
220
221
|
}
|
|
221
|
-
this.hasDragged = false;
|
|
222
222
|
}
|
|
223
223
|
return result;
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
-
mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
226
|
+
override mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
227
227
|
const result: Action[] = [];
|
|
228
228
|
if (event.buttons === 0) {
|
|
229
|
-
this.mouseUp(target, event);
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
const
|
|
234
|
-
|
|
235
|
-
const dy = (event.pageY - this.lastDragPosition.y) / zoom;
|
|
236
|
-
const handleMoves: ElementMove[] = [];
|
|
237
|
-
target.root.index.all()
|
|
238
|
-
.filter(element => isSelected(element))
|
|
239
|
-
.forEach(element => {
|
|
240
|
-
if (isRoutingHandle(element)) {
|
|
241
|
-
const point = this.getHandlePosition(element);
|
|
242
|
-
if (point !== undefined) {
|
|
243
|
-
handleMoves.push({
|
|
244
|
-
elementId: element.id,
|
|
245
|
-
fromPosition: point,
|
|
246
|
-
toPosition: {
|
|
247
|
-
x: point.x + dx,
|
|
248
|
-
y: point.y + dy
|
|
249
|
-
}
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
});
|
|
254
|
-
this.lastDragPosition = { x: event.pageX, y: event.pageY };
|
|
255
|
-
if (handleMoves.length > 0) {
|
|
256
|
-
result.push(new MoveAction(handleMoves, false));
|
|
257
|
-
}
|
|
229
|
+
return this.mouseUp(target, event);
|
|
230
|
+
}
|
|
231
|
+
const positionUpdate = this.pointPositionUpdater.updatePosition(target, { x: event.pageX, y: event.pageY }, !event.altKey);
|
|
232
|
+
if (positionUpdate) {
|
|
233
|
+
const moveActions = this.handleMoveOnClient(target, positionUpdate);
|
|
234
|
+
result.push(...moveActions);
|
|
258
235
|
}
|
|
259
236
|
return result;
|
|
260
237
|
}
|
|
261
238
|
|
|
239
|
+
protected handleMoveOnClient(target: SModelElement, positionUpdate: Point): Action[] {
|
|
240
|
+
const handleMoves: ElementMove[] = [];
|
|
241
|
+
target.root.index
|
|
242
|
+
.all()
|
|
243
|
+
.filter(element => isSelected(element))
|
|
244
|
+
.forEach(element => {
|
|
245
|
+
if (isRoutingHandle(element)) {
|
|
246
|
+
const elementMove = this.toElementMove(element, positionUpdate);
|
|
247
|
+
if (elementMove) {
|
|
248
|
+
handleMoves.push(elementMove);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
if (handleMoves.length > 0) {
|
|
253
|
+
return [new MoveAction(handleMoves, false)];
|
|
254
|
+
}
|
|
255
|
+
return [];
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
protected toElementMove(element: SRoutingHandle, positionDelta: Point): ElementMove | undefined {
|
|
259
|
+
const point = this.getHandlePosition(element);
|
|
260
|
+
if (point !== undefined) {
|
|
261
|
+
return {
|
|
262
|
+
elementId: element.id,
|
|
263
|
+
fromPosition: point,
|
|
264
|
+
toPosition: {
|
|
265
|
+
x: point.x + positionDelta.x,
|
|
266
|
+
y: point.y + positionDelta.y
|
|
267
|
+
}
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
return undefined;
|
|
271
|
+
}
|
|
272
|
+
|
|
262
273
|
protected getHandlePosition(handle: SRoutingHandle): Point | undefined {
|
|
263
274
|
if (this.edgeRouterRegistry) {
|
|
264
275
|
const parent = handle.parent;
|
|
@@ -272,20 +283,19 @@ export class FeedbackEdgeRouteMovingMouseListener extends MouseListener {
|
|
|
272
283
|
return undefined;
|
|
273
284
|
}
|
|
274
285
|
|
|
275
|
-
mouseEnter(target: SModelElement, event: MouseEvent): Action[] {
|
|
286
|
+
override mouseEnter(target: SModelElement, event: MouseEvent): Action[] {
|
|
276
287
|
if (target instanceof SModelRoot && event.buttons === 0) {
|
|
277
288
|
this.mouseUp(target, event);
|
|
278
289
|
}
|
|
279
290
|
return [];
|
|
280
291
|
}
|
|
281
292
|
|
|
282
|
-
mouseUp(_target: SModelElement, event: MouseEvent): Action[] {
|
|
283
|
-
this.
|
|
284
|
-
this.lastDragPosition = undefined;
|
|
293
|
+
override mouseUp(_target: SModelElement, event: MouseEvent): Action[] {
|
|
294
|
+
this.pointPositionUpdater.resetPosition();
|
|
285
295
|
return [];
|
|
286
296
|
}
|
|
287
297
|
|
|
288
|
-
decorate(vnode: VNode, _element: SModelElement): VNode {
|
|
298
|
+
override decorate(vnode: VNode, _element: SModelElement): VNode {
|
|
289
299
|
return vnode;
|
|
290
300
|
}
|
|
291
301
|
}
|
|
@@ -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
|
|
@@ -13,10 +13,11 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { Action } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { inject, injectable } from 'inversify';
|
|
17
|
-
import {
|
|
18
|
+
import { IActionDispatcher, ILogger, TYPES } from 'sprotty';
|
|
18
19
|
|
|
19
|
-
export interface IFeedbackEmitter {
|
|
20
|
+
export interface IFeedbackEmitter {}
|
|
20
21
|
|
|
21
22
|
/**
|
|
22
23
|
* Dispatcher for actions that are meant to show visual feedback on
|
|
@@ -29,7 +30,7 @@ export interface IFeedbackEmitter { }
|
|
|
29
30
|
* extending the `SModelRoot`. Therefore, tools can register themselves
|
|
30
31
|
* as feedback emitters with actions they want to place for showing
|
|
31
32
|
* feedback. This dispatcher will then re-establish all feedback actions
|
|
32
|
-
* of the registered
|
|
33
|
+
* of the registered emitters, whenever the `SModelRoot` has been set or updated.
|
|
33
34
|
*/
|
|
34
35
|
export interface IFeedbackActionDispatcher {
|
|
35
36
|
/**
|
|
@@ -52,14 +53,14 @@ export interface IFeedbackActionDispatcher {
|
|
|
52
53
|
deregisterFeedback(feedbackEmitter: IFeedbackEmitter, actions: Action[]): void;
|
|
53
54
|
|
|
54
55
|
/**
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
* Retrieve all `actions` sent out by currently registered `feedbackEmitter`.
|
|
57
|
+
*/
|
|
57
58
|
getRegisteredFeedback(): Action[];
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
@injectable()
|
|
61
62
|
export class FeedbackActionDispatcher implements IFeedbackActionDispatcher {
|
|
62
|
-
protected feedbackEmitters: Map<IFeedbackEmitter, Action[]> = new Map;
|
|
63
|
+
protected feedbackEmitters: Map<IFeedbackEmitter, Action[]> = new Map();
|
|
63
64
|
|
|
64
65
|
@inject(TYPES.IActionDispatcherProvider) protected actionDispatcher: () => Promise<IActionDispatcher>;
|
|
65
66
|
@inject(TYPES.ILogger) protected logger: ILogger;
|
|
@@ -93,9 +94,7 @@ export class FeedbackActionDispatcher implements IFeedbackActionDispatcher {
|
|
|
93
94
|
if (value.find(a => a === action)) {
|
|
94
95
|
result.push(key);
|
|
95
96
|
}
|
|
96
|
-
}
|
|
97
|
-
);
|
|
97
|
+
});
|
|
98
98
|
return result;
|
|
99
99
|
}
|
|
100
|
-
|
|
101
100
|
}
|
|
@@ -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
|
|
@@ -13,27 +13,26 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { Action, Point } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { inject, injectable } from 'inversify';
|
|
17
18
|
import {
|
|
18
|
-
Action,
|
|
19
19
|
AnchorComputerRegistry,
|
|
20
20
|
CommandExecutionContext,
|
|
21
21
|
CommandReturn,
|
|
22
22
|
MouseListener,
|
|
23
|
-
Point,
|
|
24
23
|
SChildElement,
|
|
25
24
|
SModelElement,
|
|
26
25
|
SModelRoot,
|
|
27
26
|
TYPES
|
|
28
27
|
} from 'sprotty';
|
|
29
|
-
|
|
30
28
|
import { FeedbackCommand } from './model';
|
|
31
29
|
|
|
32
30
|
export class DrawMarqueeAction implements Action {
|
|
33
31
|
constructor(
|
|
34
32
|
public readonly startPoint: Point,
|
|
35
33
|
public readonly endPoint: Point,
|
|
36
|
-
public readonly kind: string = DrawMarqueeCommand.KIND
|
|
34
|
+
public readonly kind: string = DrawMarqueeCommand.KIND
|
|
35
|
+
) {}
|
|
37
36
|
}
|
|
38
37
|
|
|
39
38
|
@injectable()
|
|
@@ -51,7 +50,7 @@ export class DrawMarqueeCommand extends FeedbackCommand {
|
|
|
51
50
|
}
|
|
52
51
|
|
|
53
52
|
export class RemoveMarqueeAction implements Action {
|
|
54
|
-
constructor(public readonly kind: string = RemoveMarqueeCommand.KIND) {
|
|
53
|
+
constructor(public readonly kind: string = RemoveMarqueeCommand.KIND) {}
|
|
55
54
|
}
|
|
56
55
|
|
|
57
56
|
@injectable()
|
|
@@ -69,7 +68,7 @@ export class MarqueeEndMovingMouseListener extends MouseListener {
|
|
|
69
68
|
super();
|
|
70
69
|
}
|
|
71
70
|
|
|
72
|
-
mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
71
|
+
override mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
73
72
|
return [];
|
|
74
73
|
}
|
|
75
74
|
}
|
|
@@ -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
|
|
@@ -19,8 +19,6 @@ export abstract class FeedbackCommand extends Command {
|
|
|
19
19
|
// used by the `FeedbackAwareUpdateModelCommand`
|
|
20
20
|
readonly priority: number = 0;
|
|
21
21
|
|
|
22
|
-
abstract execute(context: CommandExecutionContext): CommandReturn;
|
|
23
|
-
|
|
24
22
|
undo(context: CommandExecutionContext): CommandReturn {
|
|
25
23
|
return context.root;
|
|
26
24
|
}
|
|
@@ -29,4 +27,3 @@ export abstract class FeedbackCommand extends Command {
|
|
|
29
27
|
return context.root;
|
|
30
28
|
}
|
|
31
29
|
}
|
|
32
|
-
|