@eclipse-glsp/client 0.10.0-next.ca17587.154 → 1.1.0-RC01
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/css/decoration.css +5 -1
- package/css/glsp-sprotty.css +149 -8
- package/css/tool-palette.css +2 -2
- package/lib/base/action-dispatcher.d.ts +4 -3
- package/lib/base/action-dispatcher.d.ts.map +1 -1
- package/lib/base/action-dispatcher.js +22 -12
- 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 +9 -2
- package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.js +16 -9
- package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
- package/lib/base/auto-complete/validation-decorator.js +2 -2
- 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 +6 -5
- package/lib/base/command-stack.js.map +1 -1
- package/lib/base/container-modules.d.ts.map +1 -1
- package/lib/base/container-modules.js +10 -9
- package/lib/base/container-modules.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 +13 -14
- package/lib/base/di.config.js.map +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
- package/lib/base/drag-aware-mouse-listener.js.map +1 -1
- package/lib/base/editor-context-service.d.ts +15 -4
- package/lib/base/editor-context-service.d.ts.map +1 -1
- package/lib/base/editor-context-service.js +31 -19
- 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 +4 -4
- 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 +2 -2
- package/lib/base/model/model-registry.js.map +1 -1
- package/lib/base/model/update-model-command.d.ts +15 -8
- package/lib/base/model/update-model-command.d.ts.map +1 -1
- package/lib/base/model/update-model-command.js +43 -53
- package/lib/base/model/update-model-command.js.map +1 -1
- package/lib/base/model-initialization-constraint.d.ts +4 -5
- package/lib/base/model-initialization-constraint.d.ts.map +1 -1
- package/lib/base/model-initialization-constraint.js +11 -13
- 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 +1 -1
- package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
- package/lib/base/source-uri-aware.d.ts +2 -17
- package/lib/base/source-uri-aware.d.ts.map +1 -1
- package/lib/base/source-uri-aware.js +4 -6
- package/lib/base/source-uri-aware.js.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.d.ts +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.js +10 -10
- 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 +146 -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/base/view/view-registry.d.ts.map +1 -1
- package/lib/base/view/view-registry.js +2 -2
- package/lib/base/view/view-registry.js.map +1 -1
- package/lib/features/change-bounds/model.d.ts +1 -1
- package/lib/features/change-bounds/model.d.ts.map +1 -1
- package/lib/features/change-bounds/model.js +3 -3
- package/lib/features/change-bounds/model.js.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts +37 -7
- package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +55 -40
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/change-bounds/snap.d.ts +60 -4
- package/lib/features/change-bounds/snap.d.ts.map +1 -1
- package/lib/features/change-bounds/snap.js +96 -9
- 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/command-palette-tool.js +3 -3
- package/lib/features/command-palette/command-palette-tool.js.map +1 -1
- 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 +13 -10
- 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 +4 -4
- 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 +34 -4
- 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 +37 -31
- 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 +8 -7
- 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 +26 -33
- 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 +10 -11
- 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 +1 -1
- package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
- package/lib/features/decoration/decoration-placer.js +19 -3
- 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 +5 -5
- 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 +2 -2
- 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 +11 -13
- package/lib/features/edit-label/edit-label-validator.js.map +1 -1
- package/lib/features/hints/di.config.js +4 -4
- package/lib/features/hints/di.config.js.map +1 -1
- package/lib/features/hints/type-hints.d.ts +15 -5
- package/lib/features/hints/type-hints.d.ts.map +1 -1
- package/lib/features/hints/type-hints.js +29 -26
- 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 +14 -10
- package/lib/features/hover/di.config.js.map +1 -1
- package/lib/features/hover/hover.d.ts +16 -5
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +44 -19
- package/lib/features/hover/hover.js.map +1 -1
- package/lib/features/layout/di.config.d.ts +3 -3
- package/lib/features/layout/di.config.d.ts.map +1 -1
- package/lib/features/layout/di.config.js +12 -7
- package/lib/features/layout/di.config.js.map +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 +4 -4
- package/lib/features/layout/freeform-layout.js.map +1 -1
- package/lib/features/layout/hbox-layout.d.ts +41 -0
- package/lib/features/layout/hbox-layout.d.ts.map +1 -0
- package/lib/features/layout/hbox-layout.js +201 -0
- package/lib/features/layout/hbox-layout.js.map +1 -0
- package/lib/features/layout/layout-elements-action.d.ts +198 -0
- package/lib/features/layout/layout-elements-action.d.ts.map +1 -0
- package/lib/features/layout/layout-elements-action.js +391 -0
- package/lib/features/layout/layout-elements-action.js.map +1 -0
- package/lib/features/layout/layout-elements-action.spec.d.ts +3 -0
- package/lib/features/layout/layout-elements-action.spec.d.ts.map +1 -0
- package/lib/features/layout/{layout-commands.spec.js → layout-elements-action.spec.js} +81 -62
- package/lib/features/layout/layout-elements-action.spec.js.map +1 -0
- package/lib/features/layout/layouter.d.ts +37 -0
- package/lib/features/layout/layouter.d.ts.map +1 -0
- package/lib/features/layout/layouter.js +131 -0
- package/lib/features/layout/layouter.js.map +1 -0
- package/lib/features/layout/tests/freeform-layout.spec.d.ts +3 -0
- package/lib/features/layout/tests/freeform-layout.spec.d.ts.map +1 -0
- package/lib/features/layout/tests/freeform-layout.spec.js +201 -0
- package/lib/features/layout/tests/freeform-layout.spec.js.map +1 -0
- package/lib/features/layout/tests/hbox-layout.spec.d.ts +3 -0
- package/lib/features/layout/tests/hbox-layout.spec.d.ts.map +1 -0
- package/lib/features/layout/tests/hbox-layout.spec.js +161 -0
- package/lib/features/layout/tests/hbox-layout.spec.js.map +1 -0
- package/lib/features/layout/tests/layouter-test-util.d.ts +34 -0
- package/lib/features/layout/tests/layouter-test-util.d.ts.map +1 -0
- package/lib/features/layout/tests/layouter-test-util.js +96 -0
- package/lib/features/layout/tests/layouter-test-util.js.map +1 -0
- package/lib/features/layout/tests/vbox-layout.spec.d.ts +3 -0
- package/lib/features/layout/tests/vbox-layout.spec.d.ts.map +1 -0
- package/lib/features/layout/tests/vbox-layout.spec.js +161 -0
- package/lib/features/layout/tests/vbox-layout.spec.js.map +1 -0
- package/lib/features/layout/vbox-layout.d.ts +18 -2
- package/lib/features/layout/vbox-layout.d.ts.map +1 -1
- package/lib/features/layout/vbox-layout.js +26 -13
- package/lib/features/layout/vbox-layout.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 +9 -6
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js +10 -48
- package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
- package/lib/features/navigation/di.config.js +4 -4
- package/lib/features/navigation/di.config.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 +52 -68
- 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 +8 -9
- package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.js +12 -12
- package/lib/features/navigation/navigation-target-resolver.spec.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 +1 -1
- 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 +3 -3
- package/lib/features/save/di.config.js.map +1 -1
- package/lib/features/save/save-keylistener.d.ts +1 -1
- package/lib/features/save/save-keylistener.d.ts.map +1 -1
- package/lib/features/save/save-keylistener.js +3 -3
- 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 +7 -8
- 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 +19 -46
- package/lib/features/select/select-feedback-action.js.map +1 -1
- package/lib/features/select/select-mouse-listener.d.ts +4 -2
- package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
- package/lib/features/select/select-mouse-listener.js +63 -1
- package/lib/features/select/select-mouse-listener.js.map +1 -1
- package/lib/features/select/selection-service.d.ts +14 -5
- package/lib/features/select/selection-service.d.ts.map +1 -1
- package/lib/features/select/selection-service.js +55 -64
- package/lib/features/select/selection-service.js.map +1 -1
- package/lib/features/select/selection-service.spec.js +28 -25
- package/lib/features/select/selection-service.spec.js.map +1 -1
- package/lib/features/source-model-watcher/di.config.d.ts +4 -0
- package/lib/features/{model-source-watcher → source-model-watcher}/di.config.d.ts.map +1 -1
- package/lib/features/{model-source-watcher → source-model-watcher}/di.config.js +4 -4
- package/lib/features/source-model-watcher/di.config.js.map +1 -0
- package/lib/features/{model-source-watcher/model-source-changed-action-handler.d.ts → source-model-watcher/source-model-changed-action-handler.d.ts} +10 -10
- package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts.map +1 -0
- package/lib/features/{model-source-watcher/model-source-changed-action-handler.js → source-model-watcher/source-model-changed-action-handler.js} +28 -28
- package/lib/features/source-model-watcher/source-model-changed-action-handler.js.map +1 -0
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +17 -9
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +68 -38
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts +24 -12
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +88 -35
- 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 +42 -38
- 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 +18 -18
- package/lib/features/tool-feedback/di.config.js.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +45 -22
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +147 -114
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +2 -2
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.js +4 -4
- package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +21 -10
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.js +44 -18
- 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 +1 -1
- package/lib/features/tool-feedback/model.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 +22 -5
- 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 +5 -4
- package/lib/features/tool-palette/di.config.js.map +1 -1
- package/lib/features/tool-palette/tool-palette.d.ts +10 -7
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +39 -32
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/base-glsp-tool.d.ts +3 -3
- package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
- package/lib/features/tools/base-glsp-tool.js +11 -11
- package/lib/features/tools/base-glsp-tool.js.map +1 -1
- package/lib/features/tools/change-bounds-tool.d.ts +7 -9
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds-tool.js +48 -71
- package/lib/features/tools/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/delete-tool.d.ts +1 -1
- package/lib/features/tools/delete-tool.d.ts.map +1 -1
- package/lib/features/tools/delete-tool.js +17 -17
- package/lib/features/tools/delete-tool.js.map +1 -1
- package/lib/features/tools/di.config.d.ts +9 -2
- package/lib/features/tools/di.config.d.ts.map +1 -1
- package/lib/features/tools/di.config.js +26 -15
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-creation-tool.js +28 -21
- package/lib/features/tools/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.d.ts +3 -2
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit-tool.js +41 -36
- package/lib/features/tools/edge-edit-tool.js.map +1 -1
- package/lib/features/{tool-palette/palette-item.d.ts → tools/enable-default-tools-on-focus-loss.d.ts} +11 -11
- package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +1 -0
- package/lib/features/tools/enable-default-tools-on-focus-loss.js +29 -0
- package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +1 -0
- 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-behavior.spec.js +63 -63
- package/lib/features/tools/marquee-behavior.spec.js.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.d.ts +1 -1
- package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.js +20 -20
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
- package/lib/features/tools/marquee-tool.d.ts +1 -1
- package/lib/features/tools/marquee-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-tool.js +4 -4
- package/lib/features/tools/marquee-tool.js.map +1 -1
- package/lib/features/tools/model.d.ts +3 -2
- 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 +1 -1
- package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/node-creation-tool.js +17 -17
- package/lib/features/tools/node-creation-tool.js.map +1 -1
- package/lib/features/tools/view.d.ts.map +1 -1
- package/lib/features/tools/view.js +2 -2
- package/lib/features/tools/view.js.map +1 -1
- package/lib/features/validation/di.config.d.ts +0 -15
- package/lib/features/validation/di.config.d.ts.map +1 -1
- package/lib/features/validation/di.config.js +9 -7
- package/lib/features/validation/di.config.js.map +1 -1
- package/lib/features/validation/issue-marker.d.ts +11 -5
- package/lib/features/validation/issue-marker.d.ts.map +1 -1
- package/lib/features/validation/issue-marker.js +25 -5
- package/lib/features/validation/issue-marker.js.map +1 -1
- package/lib/features/validation/marker-navigator.d.ts +27 -25
- package/lib/features/validation/marker-navigator.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.js +64 -91
- 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 +23 -37
- package/lib/features/validation/marker-navigator.spec.js.map +1 -1
- package/lib/features/validation/validate.d.ts +17 -30
- package/lib/features/validation/validate.d.ts.map +1 -1
- package/lib/features/validation/validate.js +66 -91
- 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 +7 -7
- package/lib/features/viewport/di.config.js.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.js +3 -3
- package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
- package/lib/index.d.ts +10 -11
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +26 -22
- package/lib/index.js.map +1 -1
- package/lib/lib/model.d.ts +3 -2
- package/lib/lib/model.d.ts.map +1 -1
- package/lib/lib/model.js +3 -18
- package/lib/lib/model.js.map +1 -1
- package/lib/model-source/glsp-diagram-server.d.ts +6 -6
- package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
- package/lib/model-source/glsp-diagram-server.js +8 -7
- 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 +301 -0
- package/lib/sprotty-reexport.js.map +1 -0
- package/lib/utils/argument-utils.js +5 -5
- package/lib/utils/argument-utils.js.map +1 -1
- package/lib/utils/layout-utils.d.ts +6 -22
- package/lib/utils/layout-utils.d.ts.map +1 -1
- package/lib/utils/layout-utils.js +1 -1
- package/lib/utils/layout-utils.js.map +1 -1
- package/lib/utils/smodel-util.d.ts +117 -11
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +142 -37
- 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 +19 -3
- package/lib/utils/viewpoint-util.js.map +1 -1
- package/lib/views/base-view-module.d.ts.map +1 -1
- package/lib/views/base-view-module.js +21 -19
- package/lib/views/base-view-module.js.map +1 -1
- package/lib/views/compartments.js +2 -2
- package/lib/views/compartments.js.map +1 -1
- package/lib/views/glsp-edge-view.d.ts +1 -1
- package/lib/views/glsp-edge-view.d.ts.map +1 -1
- package/lib/views/glsp-edge-view.js +1 -1
- package/lib/views/glsp-edge-view.js.map +1 -1
- package/lib/views/glsp-projection-view.d.ts +30 -0
- package/lib/views/glsp-projection-view.d.ts.map +1 -0
- package/lib/views/glsp-projection-view.js +148 -0
- package/lib/views/glsp-projection-view.js.map +1 -0
- package/lib/views/index.d.ts +1 -0
- package/lib/views/index.d.ts.map +1 -1
- package/lib/views/index.js +7 -2
- package/lib/views/index.js.map +1 -1
- package/lib/views/issue-marker-view.d.ts.map +1 -1
- package/lib/views/issue-marker-view.js +3 -3
- package/lib/views/issue-marker-view.js.map +1 -1
- package/lib/views/rounded-corner-view.d.ts.map +1 -1
- package/lib/views/rounded-corner-view.js +2 -2
- package/lib/views/rounded-corner-view.js.map +1 -1
- package/package.json +10 -19
- package/src/base/action-dispatcher.ts +26 -16
- package/src/base/actions/focus-change-action.ts +25 -8
- package/src/base/actions/sprotty-actions.ts +26 -0
- package/src/base/auto-complete/auto-complete-actions.ts +7 -5
- package/src/base/auto-complete/auto-complete-widget.ts +15 -13
- package/src/base/command-stack.ts +7 -6
- package/src/base/container-modules.ts +6 -5
- package/src/base/di.config.ts +4 -5
- package/src/base/drag-aware-mouse-listener.ts +4 -4
- package/src/base/editor-context-service.ts +32 -12
- package/src/base/focus-tracker.ts +5 -4
- package/src/base/model/model-registry.ts +2 -2
- package/src/base/model/update-model-command.ts +54 -41
- package/src/base/model-initialization-constraint.ts +9 -11
- package/src/base/selection-clearing-mouse-listener.ts +1 -1
- package/src/base/source-uri-aware.ts +5 -4
- package/src/base/tool-manager/glsp-tool-manager.ts +9 -9
- package/src/base/tool-manager/tool-actions.ts +37 -0
- package/src/base/types.ts +31 -24
- package/src/base/view/view-registry.ts +2 -2
- package/src/features/change-bounds/model.ts +5 -5
- package/src/features/change-bounds/movement-restrictor.ts +74 -44
- package/src/features/change-bounds/snap.spec.ts +89 -0
- package/src/features/change-bounds/snap.ts +99 -12
- 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 +51 -29
- 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 +4 -4
- 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 +33 -18
- package/src/features/hover/di.config.ts +8 -2
- package/src/features/hover/hover.ts +48 -28
- package/src/features/layout/di.config.ts +17 -7
- package/src/features/layout/freeform-layout.ts +6 -15
- package/src/features/layout/hbox-layout.ts +273 -0
- package/src/features/layout/{layout-commands.spec.ts → layout-elements-action.spec.ts} +89 -65
- package/src/features/layout/layout-elements-action.ts +486 -0
- package/src/features/layout/layouter.ts +137 -0
- package/src/features/layout/tests/freeform-layout.spec.ts +216 -0
- package/src/features/layout/tests/hbox-layout.spec.ts +171 -0
- package/src/features/layout/tests/layouter-test-util.ts +122 -0
- package/src/features/layout/tests/vbox-layout.spec.ts +171 -0
- package/src/features/layout/vbox-layout.ts +41 -24
- package/src/features/mouse-tool/di.config.ts +3 -4
- package/src/features/mouse-tool/mouse-tool.ts +18 -57
- 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/reconnect/model.ts +2 -2
- package/src/features/save/di.config.ts +2 -3
- package/src/features/save/save-keylistener.ts +3 -3
- 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 +82 -3
- package/src/features/select/selection-service.spec.ts +12 -9
- package/src/features/select/selection-service.ts +52 -60
- package/src/features/{model-source-watcher → source-model-watcher}/di.config.ts +5 -5
- package/src/features/{model-source-watcher/model-source-changed-action-handler.ts → source-model-watcher/source-model-changed-action-handler.ts} +17 -22
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +52 -22
- package/src/features/tool-feedback/creation-tool-feedback.ts +79 -30
- 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 +140 -88
- package/src/features/tool-feedback/feedback-action-dispatcher.ts +4 -3
- package/src/features/tool-feedback/marquee-tool-feedback.ts +38 -13
- package/src/features/tool-feedback/model.ts +1 -3
- 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 +35 -19
- package/src/features/tools/base-glsp-tool.ts +11 -11
- package/src/features/tools/change-bounds-tool.ts +37 -67
- package/src/features/tools/delete-tool.ts +9 -9
- package/src/features/tools/di.config.ts +23 -12
- package/src/features/tools/edge-creation-tool.ts +21 -12
- package/src/features/tools/edge-edit-tool.ts +25 -21
- package/src/features/tools/enable-default-tools-on-focus-loss.ts +33 -0
- package/src/features/tools/marquee-behavior.ts +2 -2
- package/src/features/tools/marquee-mouse-tool.ts +13 -14
- package/src/features/tools/marquee-tool.ts +3 -3
- package/src/features/tools/model.ts +4 -3
- package/src/features/tools/node-creation-tool.ts +8 -8
- package/src/features/tools/view.tsx +2 -3
- package/src/features/validation/di.config.ts +13 -11
- package/src/features/validation/issue-marker.ts +34 -12
- package/src/features/validation/marker-navigator.spec.ts +4 -2
- package/src/features/validation/marker-navigator.ts +67 -82
- package/src/features/validation/validate.ts +62 -90
- package/src/features/viewport/di.config.ts +1 -2
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +5 -5
- package/src/index.ts +12 -12
- package/src/lib/model.ts +4 -4
- package/src/model-source/glsp-diagram-server.ts +15 -15
- package/src/sprotty-reexport.ts +288 -0
- package/src/utils/layout-utils.ts +9 -29
- package/src/utils/smodel-util.ts +139 -43
- package/src/utils/viewpoint-util.ts +5 -14
- package/src/views/base-view-module.ts +5 -1
- package/src/views/compartments.tsx +1 -1
- package/src/views/glsp-edge-view.tsx +4 -4
- package/src/views/glsp-projection-view.tsx +173 -0
- package/src/views/index.ts +2 -0
- package/src/views/issue-marker-view.tsx +2 -2
- package/src/views/rounded-corner-view.tsx +2 -3
- package/lib/features/layout/layout-commands.d.ts +0 -153
- package/lib/features/layout/layout-commands.d.ts.map +0 -1
- package/lib/features/layout/layout-commands.js +0 -412
- package/lib/features/layout/layout-commands.js.map +0 -1
- package/lib/features/layout/layout-commands.spec.d.ts +0 -3
- package/lib/features/layout/layout-commands.spec.d.ts.map +0 -1
- package/lib/features/layout/layout-commands.spec.js.map +0 -1
- package/lib/features/model-source-watcher/di.config.d.ts +0 -4
- package/lib/features/model-source-watcher/di.config.js.map +0 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +0 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +0 -1
- 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 -75
- package/lib/protocol-reexport.js.map +0 -1
- package/src/features/layout/layout-commands.ts +0 -424
- 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) 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,24 +13,21 @@
|
|
|
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
|
+
import { Action, Bounds, hasStringProp, Point } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
18
|
import { VNode } from 'snabbdom';
|
|
19
19
|
import {
|
|
20
|
-
add,
|
|
21
20
|
AnchorComputerRegistry,
|
|
22
|
-
center,
|
|
23
21
|
CommandExecutionContext,
|
|
24
22
|
CommandReturn,
|
|
25
23
|
EdgeRouterRegistry,
|
|
26
24
|
ElementMove,
|
|
27
|
-
euclideanDistance,
|
|
28
25
|
findChildrenAtPosition,
|
|
29
26
|
findParentByFeature,
|
|
30
27
|
isBoundsAware,
|
|
31
28
|
isConnectable,
|
|
29
|
+
ISnapper,
|
|
32
30
|
isSelected,
|
|
33
|
-
isViewport,
|
|
34
31
|
MouseListener,
|
|
35
32
|
MoveAction,
|
|
36
33
|
PolylineEdgeRouter,
|
|
@@ -42,8 +39,9 @@ import {
|
|
|
42
39
|
SwitchEditModeCommand,
|
|
43
40
|
TYPES
|
|
44
41
|
} from 'sprotty';
|
|
45
|
-
import {
|
|
42
|
+
import { forEachElement, isRoutable, isRoutingHandle } from '../../utils/smodel-util';
|
|
46
43
|
import { getAbsolutePosition, toAbsoluteBounds } from '../../utils/viewpoint-util';
|
|
44
|
+
import { PointPositionUpdater } from '../change-bounds/snap';
|
|
47
45
|
import { addReconnectHandles, removeReconnectHandles } from '../reconnect/model';
|
|
48
46
|
import { FeedbackEdgeEnd, feedbackEdgeEndId, FeedbackEdgeEndMovingMouseListener, feedbackEdgeId } from './creation-tool-feedback';
|
|
49
47
|
import { FeedbackCommand } from './model';
|
|
@@ -51,18 +49,41 @@ import { FeedbackCommand } from './model';
|
|
|
51
49
|
/**
|
|
52
50
|
* RECONNECT HANDLES FEEDBACK
|
|
53
51
|
*/
|
|
52
|
+
export interface ShowEdgeReconnectHandlesFeedbackAction extends Action {
|
|
53
|
+
kind: typeof ShowEdgeReconnectHandlesFeedbackAction.KIND;
|
|
54
|
+
readonly elementId: string;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export namespace ShowEdgeReconnectHandlesFeedbackAction {
|
|
58
|
+
export const KIND = 'showReconnectHandlesFeedback';
|
|
54
59
|
|
|
55
|
-
export
|
|
56
|
-
|
|
60
|
+
export function is(object: any): object is ShowEdgeReconnectHandlesFeedbackAction {
|
|
61
|
+
return Action.hasKind(object, KIND);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function create(elementId: string): ShowEdgeReconnectHandlesFeedbackAction {
|
|
65
|
+
return { kind: KIND, elementId };
|
|
66
|
+
}
|
|
57
67
|
}
|
|
68
|
+
export interface HideEdgeReconnectHandlesFeedbackAction extends Action {
|
|
69
|
+
kind: typeof HideEdgeReconnectHandlesFeedbackAction.KIND;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export namespace HideEdgeReconnectHandlesFeedbackAction {
|
|
73
|
+
export const KIND = 'hideReconnectHandlesFeedback';
|
|
58
74
|
|
|
59
|
-
export
|
|
60
|
-
|
|
75
|
+
export function is(object: any): object is HideEdgeReconnectHandlesFeedbackAction {
|
|
76
|
+
return Action.hasKind(object, KIND);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export function create(): HideEdgeReconnectHandlesFeedbackAction {
|
|
80
|
+
return { kind: KIND };
|
|
81
|
+
}
|
|
61
82
|
}
|
|
62
83
|
|
|
63
84
|
@injectable()
|
|
64
85
|
export class ShowEdgeReconnectHandlesFeedbackCommand extends FeedbackCommand {
|
|
65
|
-
static readonly KIND =
|
|
86
|
+
static readonly KIND = ShowEdgeReconnectHandlesFeedbackAction.KIND;
|
|
66
87
|
|
|
67
88
|
constructor(@inject(TYPES.Action) protected action: ShowEdgeReconnectHandlesFeedbackAction) {
|
|
68
89
|
super();
|
|
@@ -70,21 +91,20 @@ export class ShowEdgeReconnectHandlesFeedbackCommand extends FeedbackCommand {
|
|
|
70
91
|
|
|
71
92
|
execute(context: CommandExecutionContext): CommandReturn {
|
|
72
93
|
const index = context.root.index;
|
|
73
|
-
index
|
|
94
|
+
forEachElement(index, isRoutable, removeReconnectHandles);
|
|
74
95
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
addReconnectHandles(routableElement);
|
|
79
|
-
}
|
|
96
|
+
const routableElement = index.getById(this.action.elementId);
|
|
97
|
+
if (routableElement && isRoutable(routableElement)) {
|
|
98
|
+
addReconnectHandles(routableElement);
|
|
80
99
|
}
|
|
100
|
+
|
|
81
101
|
return context.root;
|
|
82
102
|
}
|
|
83
103
|
}
|
|
84
104
|
|
|
85
105
|
@injectable()
|
|
86
106
|
export class HideEdgeReconnectHandlesFeedbackCommand extends FeedbackCommand {
|
|
87
|
-
static readonly KIND =
|
|
107
|
+
static readonly KIND = HideEdgeReconnectHandlesFeedbackAction.KIND;
|
|
88
108
|
|
|
89
109
|
constructor(@inject(TYPES.Action) protected action: HideEdgeReconnectHandlesFeedbackAction) {
|
|
90
110
|
super();
|
|
@@ -92,7 +112,7 @@ export class HideEdgeReconnectHandlesFeedbackCommand extends FeedbackCommand {
|
|
|
92
112
|
|
|
93
113
|
execute(context: CommandExecutionContext): CommandReturn {
|
|
94
114
|
const index = context.root.index;
|
|
95
|
-
index
|
|
115
|
+
forEachElement(index, isRoutable, removeReconnectHandles);
|
|
96
116
|
return context.root;
|
|
97
117
|
}
|
|
98
118
|
}
|
|
@@ -100,21 +120,24 @@ export class HideEdgeReconnectHandlesFeedbackCommand extends FeedbackCommand {
|
|
|
100
120
|
* ROUTING FEEDBACK
|
|
101
121
|
*/
|
|
102
122
|
|
|
103
|
-
export
|
|
104
|
-
|
|
105
|
-
public readonly elementsToActivate: string[] = [],
|
|
106
|
-
public readonly elementsToDeactivate: string[] = [],
|
|
107
|
-
public readonly kind: string = SwitchRoutingModeCommand.KIND
|
|
108
|
-
) {
|
|
109
|
-
super(elementsToActivate, elementsToDeactivate);
|
|
110
|
-
}
|
|
123
|
+
export interface SwitchRoutingModeAction extends Omit<SwitchEditModeAction, 'kind'> {
|
|
124
|
+
kind: typeof SwitchRoutingModeAction.KIND;
|
|
111
125
|
}
|
|
112
126
|
|
|
127
|
+
export namespace SwitchRoutingModeAction {
|
|
128
|
+
export const KIND = 'switchRoutingMode';
|
|
129
|
+
export function create(options: { elementsToActivate?: string[]; elementsToDeactivate?: string[] }): SwitchRoutingModeAction {
|
|
130
|
+
return {
|
|
131
|
+
...SwitchEditModeAction.create(options),
|
|
132
|
+
kind: KIND
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
}
|
|
113
136
|
@injectable()
|
|
114
137
|
export class SwitchRoutingModeCommand extends SwitchEditModeCommand {
|
|
115
|
-
static KIND =
|
|
138
|
+
static override KIND = SwitchRoutingModeAction.KIND;
|
|
116
139
|
constructor(@inject(TYPES.Action) action: SwitchRoutingModeAction) {
|
|
117
|
-
super(action);
|
|
140
|
+
super({ ...action, kind: SwitchEditModeAction.KIND });
|
|
118
141
|
}
|
|
119
142
|
}
|
|
120
143
|
|
|
@@ -122,17 +145,30 @@ export class SwitchRoutingModeCommand extends SwitchEditModeCommand {
|
|
|
122
145
|
* SOURCE AND TARGET EDGE FEEDBACK
|
|
123
146
|
*/
|
|
124
147
|
|
|
125
|
-
export
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
148
|
+
export interface DrawFeedbackEdgeSourceAction extends Action {
|
|
149
|
+
kind: typeof DrawFeedbackEdgeSourceAction.KIND;
|
|
150
|
+
elementTypeId: string;
|
|
151
|
+
targetId: string;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
export namespace DrawFeedbackEdgeSourceAction {
|
|
155
|
+
export const KIND = 'drawFeedbackEdgeSource';
|
|
156
|
+
|
|
157
|
+
export function is(object: any): object is DrawFeedbackEdgeSourceAction {
|
|
158
|
+
return Action.hasKind(object, KIND) && hasStringProp(object, 'elementTypeId') && hasStringProp(object, 'targetId');
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export function create(options: { elementTypeId: string; targetId: string }): DrawFeedbackEdgeSourceAction {
|
|
162
|
+
return {
|
|
163
|
+
kind: KIND,
|
|
164
|
+
...options
|
|
165
|
+
};
|
|
166
|
+
}
|
|
131
167
|
}
|
|
132
168
|
|
|
133
169
|
@injectable()
|
|
134
170
|
export class DrawFeedbackEdgeSourceCommand extends FeedbackCommand {
|
|
135
|
-
static readonly KIND =
|
|
171
|
+
static readonly KIND = DrawFeedbackEdgeSourceAction.KIND;
|
|
136
172
|
|
|
137
173
|
constructor(@inject(TYPES.Action) protected action: DrawFeedbackEdgeSourceAction) {
|
|
138
174
|
super();
|
|
@@ -149,7 +185,7 @@ export class DrawFeedbackEdgeSourceCommand extends FeedbackCommand {
|
|
|
149
185
|
*/
|
|
150
186
|
|
|
151
187
|
export class FeedbackEdgeTargetMovingMouseListener extends FeedbackEdgeEndMovingMouseListener {
|
|
152
|
-
constructor(protected anchorRegistry: AnchorComputerRegistry) {
|
|
188
|
+
constructor(protected override anchorRegistry: AnchorComputerRegistry) {
|
|
153
189
|
super(anchorRegistry);
|
|
154
190
|
}
|
|
155
191
|
}
|
|
@@ -159,7 +195,7 @@ export class FeedbackEdgeSourceMovingMouseListener extends MouseListener {
|
|
|
159
195
|
super();
|
|
160
196
|
}
|
|
161
197
|
|
|
162
|
-
mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
198
|
+
override mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
163
199
|
const root = target.root;
|
|
164
200
|
const edgeEnd = root.index.getById(feedbackEdgeEndId(root));
|
|
165
201
|
if (!(edgeEnd instanceof FeedbackEdgeEnd) || !edgeEnd.feedbackEdge) {
|
|
@@ -173,12 +209,12 @@ export class FeedbackEdgeSourceMovingMouseListener extends MouseListener {
|
|
|
173
209
|
);
|
|
174
210
|
|
|
175
211
|
if (endAtMousePosition instanceof SConnectableElement && edge.target && isBoundsAware(edge.target)) {
|
|
176
|
-
const anchor = this.computeAbsoluteAnchor(endAtMousePosition, center(edge.target.bounds));
|
|
177
|
-
if (euclideanDistance(anchor, edgeEnd.position) > 1) {
|
|
178
|
-
return [
|
|
212
|
+
const anchor = this.computeAbsoluteAnchor(endAtMousePosition, Bounds.center(edge.target.bounds));
|
|
213
|
+
if (Point.euclideanDistance(anchor, edgeEnd.position) > 1) {
|
|
214
|
+
return [MoveAction.create([{ elementId: edgeEnd.id, toPosition: anchor }], { animate: false })];
|
|
179
215
|
}
|
|
180
216
|
} else {
|
|
181
|
-
return [
|
|
217
|
+
return [MoveAction.create([{ elementId: edgeEnd.id, toPosition: position }], { animate: false })];
|
|
182
218
|
}
|
|
183
219
|
|
|
184
220
|
return [];
|
|
@@ -193,7 +229,7 @@ export class FeedbackEdgeSourceMovingMouseListener extends MouseListener {
|
|
|
193
229
|
const parent = findParentByFeature(element.parent, isBoundsAware);
|
|
194
230
|
if (parent) {
|
|
195
231
|
const absoluteParentPosition = toAbsoluteBounds(parent);
|
|
196
|
-
anchor = add(absoluteParentPosition, anchor);
|
|
232
|
+
anchor = Point.add(absoluteParentPosition, anchor);
|
|
197
233
|
}
|
|
198
234
|
}
|
|
199
235
|
return anchor;
|
|
@@ -201,65 +237,82 @@ export class FeedbackEdgeSourceMovingMouseListener extends MouseListener {
|
|
|
201
237
|
}
|
|
202
238
|
|
|
203
239
|
export class FeedbackEdgeRouteMovingMouseListener extends MouseListener {
|
|
204
|
-
protected
|
|
205
|
-
protected lastDragPosition: Point | undefined;
|
|
240
|
+
protected pointPositionUpdater: PointPositionUpdater;
|
|
206
241
|
|
|
207
|
-
constructor(protected edgeRouterRegistry?: EdgeRouterRegistry) {
|
|
242
|
+
constructor(protected edgeRouterRegistry?: EdgeRouterRegistry, protected snapper?: ISnapper) {
|
|
208
243
|
super();
|
|
244
|
+
this.pointPositionUpdater = new PointPositionUpdater(snapper);
|
|
209
245
|
}
|
|
210
246
|
|
|
211
|
-
mouseDown(target: SModelElement, event: MouseEvent): Action[] {
|
|
247
|
+
override mouseDown(target: SModelElement, event: MouseEvent): Action[] {
|
|
212
248
|
const result: Action[] = [];
|
|
213
249
|
if (event.button === 0) {
|
|
214
250
|
const routingHandle = findParentByFeature(target, isRoutingHandle);
|
|
215
251
|
if (routingHandle !== undefined) {
|
|
216
|
-
result.push(
|
|
217
|
-
this.
|
|
252
|
+
result.push(SwitchRoutingModeAction.create({ elementsToActivate: [target.id] }));
|
|
253
|
+
this.pointPositionUpdater.updateLastDragPosition({ x: event.pageX, y: event.pageY });
|
|
218
254
|
} else {
|
|
219
|
-
this.
|
|
255
|
+
this.pointPositionUpdater.resetPosition();
|
|
220
256
|
}
|
|
221
|
-
this.hasDragged = false;
|
|
222
257
|
}
|
|
223
258
|
return result;
|
|
224
259
|
}
|
|
225
260
|
|
|
226
|
-
mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
261
|
+
override mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
227
262
|
const result: Action[] = [];
|
|
228
263
|
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
|
|
238
|
-
.all()
|
|
239
|
-
.filter(element => isSelected(element))
|
|
240
|
-
.forEach(element => {
|
|
241
|
-
if (isRoutingHandle(element)) {
|
|
242
|
-
const point = this.getHandlePosition(element);
|
|
243
|
-
if (point !== undefined) {
|
|
244
|
-
handleMoves.push({
|
|
245
|
-
elementId: element.id,
|
|
246
|
-
fromPosition: point,
|
|
247
|
-
toPosition: {
|
|
248
|
-
x: point.x + dx,
|
|
249
|
-
y: point.y + dy
|
|
250
|
-
}
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
});
|
|
255
|
-
this.lastDragPosition = { x: event.pageX, y: event.pageY };
|
|
256
|
-
if (handleMoves.length > 0) {
|
|
257
|
-
result.push(new MoveAction(handleMoves, false));
|
|
258
|
-
}
|
|
264
|
+
return this.mouseUp(target, event);
|
|
265
|
+
}
|
|
266
|
+
const positionUpdate = this.pointPositionUpdater.updatePosition(target, { x: event.pageX, y: event.pageY }, !event.altKey);
|
|
267
|
+
if (positionUpdate) {
|
|
268
|
+
const moveActions = this.handleMoveOnClient(target, positionUpdate, !event.altKey);
|
|
269
|
+
result.push(...moveActions);
|
|
259
270
|
}
|
|
260
271
|
return result;
|
|
261
272
|
}
|
|
262
273
|
|
|
274
|
+
protected handleMoveOnClient(target: SModelElement, positionUpdate: Point, isSnap: boolean): Action[] {
|
|
275
|
+
const handleMoves: ElementMove[] = [];
|
|
276
|
+
target.root.index
|
|
277
|
+
.all()
|
|
278
|
+
.filter(element => isSelected(element))
|
|
279
|
+
.forEach(element => {
|
|
280
|
+
if (isRoutingHandle(element)) {
|
|
281
|
+
const elementMove = this.toElementMove(element, positionUpdate, isSnap);
|
|
282
|
+
if (elementMove) {
|
|
283
|
+
handleMoves.push(elementMove);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
if (handleMoves.length > 0) {
|
|
288
|
+
return [MoveAction.create(handleMoves, { animate: false })];
|
|
289
|
+
}
|
|
290
|
+
return [];
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
protected toElementMove(element: SRoutingHandle, positionDelta: Point, isSnap: boolean): ElementMove | undefined {
|
|
294
|
+
const point = this.getHandlePosition(element);
|
|
295
|
+
if (point !== undefined) {
|
|
296
|
+
const snappedPoint = this.getSnappedHandlePosition(element, point, isSnap);
|
|
297
|
+
return {
|
|
298
|
+
elementId: element.id,
|
|
299
|
+
fromPosition: point,
|
|
300
|
+
toPosition: {
|
|
301
|
+
x: snappedPoint.x + positionDelta.x,
|
|
302
|
+
y: snappedPoint.y + positionDelta.y
|
|
303
|
+
}
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
return undefined;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
protected getSnappedHandlePosition(element: SRoutingHandle, point: Point, isSnap: boolean): Point {
|
|
310
|
+
if (this.snapper && isSnap) {
|
|
311
|
+
return this.snapper.snap(point, element);
|
|
312
|
+
}
|
|
313
|
+
return point;
|
|
314
|
+
}
|
|
315
|
+
|
|
263
316
|
protected getHandlePosition(handle: SRoutingHandle): Point | undefined {
|
|
264
317
|
if (this.edgeRouterRegistry) {
|
|
265
318
|
const parent = handle.parent;
|
|
@@ -273,20 +326,19 @@ export class FeedbackEdgeRouteMovingMouseListener extends MouseListener {
|
|
|
273
326
|
return undefined;
|
|
274
327
|
}
|
|
275
328
|
|
|
276
|
-
mouseEnter(target: SModelElement, event: MouseEvent): Action[] {
|
|
329
|
+
override mouseEnter(target: SModelElement, event: MouseEvent): Action[] {
|
|
277
330
|
if (target instanceof SModelRoot && event.buttons === 0) {
|
|
278
331
|
this.mouseUp(target, event);
|
|
279
332
|
}
|
|
280
333
|
return [];
|
|
281
334
|
}
|
|
282
335
|
|
|
283
|
-
mouseUp(_target: SModelElement, event: MouseEvent): Action[] {
|
|
284
|
-
this.
|
|
285
|
-
this.lastDragPosition = undefined;
|
|
336
|
+
override mouseUp(_target: SModelElement, event: MouseEvent): Action[] {
|
|
337
|
+
this.pointPositionUpdater.resetPosition();
|
|
286
338
|
return [];
|
|
287
339
|
}
|
|
288
340
|
|
|
289
|
-
decorate(vnode: VNode, _element: SModelElement): VNode {
|
|
341
|
+
override decorate(vnode: VNode, _element: SModelElement): VNode {
|
|
290
342
|
return vnode;
|
|
291
343
|
}
|
|
292
344
|
}
|
|
@@ -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
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { Action } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
|
-
import { IActionDispatcher, ILogger
|
|
18
|
+
import { IActionDispatcher, ILogger } from 'sprotty';
|
|
19
|
+
import { TYPES } from '../../base/types';
|
|
19
20
|
|
|
20
21
|
export interface IFeedbackEmitter {}
|
|
21
22
|
|
|
@@ -30,7 +31,7 @@ export interface IFeedbackEmitter {}
|
|
|
30
31
|
* extending the `SModelRoot`. Therefore, tools can register themselves
|
|
31
32
|
* as feedback emitters with actions they want to place for showing
|
|
32
33
|
* feedback. This dispatcher will then re-establish all feedback actions
|
|
33
|
-
* of the registered
|
|
34
|
+
* of the registered emitters, whenever the `SModelRoot` has been set or updated.
|
|
34
35
|
*/
|
|
35
36
|
export interface IFeedbackActionDispatcher {
|
|
36
37
|
/**
|
|
@@ -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,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, Point } from '@eclipse-glsp/protocol';
|
|
16
|
+
import { Action, hasObjectProp, Point } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
18
|
import {
|
|
19
19
|
AnchorComputerRegistry,
|
|
@@ -27,17 +27,30 @@ import {
|
|
|
27
27
|
} from 'sprotty';
|
|
28
28
|
import { FeedbackCommand } from './model';
|
|
29
29
|
|
|
30
|
-
export
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
export interface DrawMarqueeAction extends Action {
|
|
31
|
+
kind: typeof DrawMarqueeAction.KIND;
|
|
32
|
+
startPoint: Point;
|
|
33
|
+
endPoint: Point;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export namespace DrawMarqueeAction {
|
|
37
|
+
export const KIND = 'drawMarquee';
|
|
38
|
+
|
|
39
|
+
export function is(object: any): object is DrawMarqueeAction {
|
|
40
|
+
return Action.hasKind(object, KIND) && hasObjectProp(object, 'startPoint') && hasObjectProp(object, 'endPoint');
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function create(options: { startPoint: Point; endPoint: Point }): DrawMarqueeAction {
|
|
44
|
+
return {
|
|
45
|
+
kind: KIND,
|
|
46
|
+
...options
|
|
47
|
+
};
|
|
48
|
+
}
|
|
36
49
|
}
|
|
37
50
|
|
|
38
51
|
@injectable()
|
|
39
52
|
export class DrawMarqueeCommand extends FeedbackCommand {
|
|
40
|
-
static readonly KIND =
|
|
53
|
+
static readonly KIND = DrawMarqueeAction.KIND;
|
|
41
54
|
|
|
42
55
|
constructor(@inject(TYPES.Action) protected action: DrawMarqueeAction) {
|
|
43
56
|
super();
|
|
@@ -49,13 +62,25 @@ export class DrawMarqueeCommand extends FeedbackCommand {
|
|
|
49
62
|
}
|
|
50
63
|
}
|
|
51
64
|
|
|
52
|
-
export
|
|
53
|
-
|
|
65
|
+
export interface RemoveMarqueeAction extends Action {
|
|
66
|
+
kind: typeof RemoveMarqueeAction.KIND;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export namespace RemoveMarqueeAction {
|
|
70
|
+
export const KIND = 'removeMarquee';
|
|
71
|
+
|
|
72
|
+
export function is(object: any): object is RemoveMarqueeAction {
|
|
73
|
+
return Action.hasKind(object, KIND);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export function create(): RemoveMarqueeAction {
|
|
77
|
+
return { kind: KIND };
|
|
78
|
+
}
|
|
54
79
|
}
|
|
55
80
|
|
|
56
81
|
@injectable()
|
|
57
82
|
export class RemoveMarqueeCommand extends FeedbackCommand {
|
|
58
|
-
static readonly KIND =
|
|
83
|
+
static readonly KIND = RemoveMarqueeAction.KIND;
|
|
59
84
|
|
|
60
85
|
execute(context: CommandExecutionContext): CommandReturn {
|
|
61
86
|
removeMarquee(context.root);
|
|
@@ -68,7 +93,7 @@ export class MarqueeEndMovingMouseListener extends MouseListener {
|
|
|
68
93
|
super();
|
|
69
94
|
}
|
|
70
95
|
|
|
71
|
-
mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
96
|
+
override mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
72
97
|
return [];
|
|
73
98
|
}
|
|
74
99
|
}
|
|
@@ -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
|
|
@@ -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
|
}
|
|
@@ -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
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { Point } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { injectable } from 'inversify';
|
|
18
18
|
import { VNode } from 'snabbdom';
|
|
19
|
-
import { IView,
|
|
19
|
+
import { IView, RenderingContext, setAttr, SModelElement, svg } from 'sprotty';
|
|
20
20
|
import { isResizable, ResizeHandleLocation, SResizeHandle } from '../change-bounds/model';
|
|
21
21
|
|
|
22
22
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -29,7 +29,7 @@ const JSX = { createElement: svg };
|
|
|
29
29
|
@injectable()
|
|
30
30
|
export class FeedbackEdgeEndView implements IView {
|
|
31
31
|
render(model: Readonly<SModelElement>, context: RenderingContext): VNode {
|
|
32
|
-
const position: Point = (model as any).position
|
|
32
|
+
const position: Point = (model as any).position ?? Point.ORIGIN;
|
|
33
33
|
return <g x={position.x} y={position.y} />;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -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,8 +14,9 @@
|
|
|
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 { configureActionHandler, EnableDefaultToolsAction
|
|
17
|
+
import { configureActionHandler, EnableDefaultToolsAction } from 'sprotty';
|
|
18
18
|
import '../../../css/tool-palette.css';
|
|
19
|
+
import { TYPES } from '../../base/types';
|
|
19
20
|
import { EnableToolPaletteAction, ToolPalette } from './tool-palette';
|
|
20
21
|
|
|
21
22
|
const toolPaletteModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
|