@eclipse-glsp/client 0.10.0-next.bb1c2fd.157 → 0.10.0-next.e5fcffe.169
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/glsp-sprotty.css +110 -8
- package/lib/base/action-dispatcher.d.ts +2 -1
- package/lib/base/action-dispatcher.d.ts.map +1 -1
- package/lib/base/action-dispatcher.js +13 -5
- 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/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 +13 -1
- package/lib/base/editor-context-service.d.ts.map +1 -1
- package/lib/base/editor-context-service.js +23 -10
- 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 +1 -1
- package/lib/base/model/update-model-command.d.ts.map +1 -1
- package/lib/base/model/update-model-command.js +15 -15
- 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/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 +144 -20
- package/lib/base/types.d.ts.map +1 -1
- package/lib/base/types.js +14 -26
- package/lib/base/types.js.map +1 -1
- package/lib/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 +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +6 -6
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/change-bounds/snap.d.ts +42 -1
- package/lib/features/change-bounds/snap.d.ts.map +1 -1
- package/lib/features/change-bounds/snap.js +78 -2
- 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 +17 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +8 -23
- 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.map +1 -1
- package/lib/features/hover/di.config.js +11 -9
- package/lib/features/hover/di.config.js.map +1 -1
- package/lib/features/hover/hover.d.ts +4 -2
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +23 -5
- 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 +6 -4
- 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 +189 -0
- package/lib/features/layout/hbox-layout.js.map +1 -0
- package/lib/features/layout/layout-commands.d.ts +65 -38
- package/lib/features/layout/layout-commands.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.js +90 -67
- package/lib/features/layout/layout-commands.js.map +1 -1
- package/lib/features/layout/layout-commands.spec.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.spec.js +35 -23
- package/lib/features/layout/layout-commands.spec.js.map +1 -1
- package/lib/features/layout/vbox-layout.d.ts +17 -1
- package/lib/features/layout/vbox-layout.d.ts.map +1 -1
- package/lib/features/layout/vbox-layout.js +9 -8
- package/lib/features/layout/vbox-layout.js.map +1 -1
- package/lib/features/model-source-watcher/di.config.js +1 -1
- 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 +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js +11 -11
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
- package/lib/features/mouse-tool/di.config.d.ts +1 -1
- package/lib/features/mouse-tool/di.config.d.ts.map +1 -1
- package/lib/features/mouse-tool/di.config.js +2 -2
- package/lib/features/mouse-tool/di.config.js.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts +9 -5
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js +11 -53
- 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 +1 -1
- package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
- package/lib/features/select/select-mouse-listener.js +1 -1
- package/lib/features/select/select-mouse-listener.js.map +1 -1
- package/lib/features/select/selection-service.d.ts +3 -3
- package/lib/features/select/selection-service.d.ts.map +1 -1
- package/lib/features/select/selection-service.js +28 -23
- 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/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 +67 -37
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts +23 -11
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +62 -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 +44 -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 +140 -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.js +12 -12
- 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/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 +1 -1
- package/lib/features/validation/di.config.d.ts.map +1 -1
- package/lib/features/validation/di.config.js +7 -7
- package/lib/features/validation/di.config.js.map +1 -1
- package/lib/features/validation/marker-navigator.d.ts +16 -8
- package/lib/features/validation/marker-navigator.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.js +39 -37
- 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 +10 -12
- package/lib/features/validation/validate.d.ts.map +1 -1
- package/lib/features/validation/validate.js +42 -41
- 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 +4 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +11 -8
- 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 +0 -15
- package/lib/lib/model.js.map +1 -1
- package/lib/model-source/glsp-diagram-server.d.ts +5 -5
- package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
- package/lib/model-source/glsp-diagram-server.js +7 -6
- package/lib/model-source/glsp-diagram-server.js.map +1 -1
- package/lib/sprotty-reexport.d.ts +174 -0
- package/lib/sprotty-reexport.d.ts.map +1 -0
- package/lib/sprotty-reexport.js +299 -0
- package/lib/sprotty-reexport.js.map +1 -0
- package/lib/utils/argument-utils.js +5 -5
- package/lib/utils/argument-utils.js.map +1 -1
- package/lib/utils/layout-utils.d.ts +3 -3
- package/lib/utils/layout-utils.d.ts.map +1 -1
- package/lib/utils/smodel-util.d.ts +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.js +19 -19
- package/lib/views/base-view-module.js.map +1 -1
- package/lib/views/compartments.js +1 -1
- 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/index.js +6 -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 +8 -18
- package/src/base/action-dispatcher.ts +17 -8
- package/src/base/actions/focus-change-action.ts +25 -8
- package/{lib/features/tool-palette/palette-item.d.ts → src/base/actions/sprotty-actions.ts} +11 -11
- package/src/base/auto-complete/auto-complete-actions.ts +7 -5
- package/src/base/auto-complete/auto-complete-widget.ts +15 -13
- package/src/base/command-stack.ts +7 -6
- 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 +19 -7
- 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 +9 -10
- package/src/base/model-initialization-constraint.ts +9 -11
- package/src/base/selection-clearing-mouse-listener.ts +1 -1
- 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 +3 -3
- package/src/features/change-bounds/snap.spec.ts +89 -0
- package/src/features/change-bounds/snap.ts +86 -2
- package/src/features/command-palette/di.config.ts +5 -7
- package/src/features/command-palette/server-command-palette-provider.ts +9 -8
- package/src/features/context-menu/delete-element-context-menu.ts +6 -6
- package/src/features/context-menu/di.config.ts +3 -2
- package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +6 -7
- 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 +4 -0
- package/src/features/hover/hover.ts +30 -12
- package/src/features/layout/di.config.ts +4 -2
- package/src/features/layout/freeform-layout.ts +6 -15
- package/src/features/layout/hbox-layout.ts +256 -0
- package/src/features/layout/layout-commands.spec.ts +38 -22
- package/src/features/layout/layout-commands.ts +134 -60
- package/src/features/layout/vbox-layout.ts +20 -20
- package/src/features/model-source-watcher/model-source-changed-action-handler.ts +7 -12
- package/src/features/mouse-tool/di.config.ts +3 -4
- package/src/features/mouse-tool/mouse-tool.ts +18 -59
- 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 +1 -2
- package/src/features/select/selection-service.spec.ts +11 -8
- package/src/features/select/selection-service.ts +17 -12
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +51 -21
- package/src/features/tool-feedback/creation-tool-feedback.ts +52 -31
- 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 +132 -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 +10 -10
- package/src/features/tools/edge-creation-tool.ts +21 -12
- package/src/features/tools/edge-edit-tool.ts +25 -21
- 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 +4 -5
- package/src/features/validation/marker-navigator.spec.ts +4 -2
- package/src/features/validation/marker-navigator.ts +47 -25
- package/src/features/validation/validate.ts +31 -24
- package/src/features/viewport/di.config.ts +1 -2
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +5 -5
- package/src/index.ts +4 -5
- package/src/lib/model.ts +4 -4
- package/src/model-source/glsp-diagram-server.ts +14 -14
- package/src/sprotty-reexport.ts +283 -0
- package/src/utils/layout-utils.ts +3 -3
- package/src/utils/smodel-util.ts +139 -43
- package/src/utils/viewpoint-util.ts +5 -14
- package/src/views/glsp-edge-view.tsx +4 -4
- package/src/views/issue-marker-view.tsx +2 -2
- package/src/views/rounded-corner-view.tsx +2 -3
- 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/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,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, hasStringProp, Point } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
18
|
import { VNode } from 'snabbdom';
|
|
19
19
|
import {
|
|
@@ -31,34 +31,64 @@ import {
|
|
|
31
31
|
SModelRoot,
|
|
32
32
|
TYPES
|
|
33
33
|
} from 'sprotty';
|
|
34
|
-
import {
|
|
34
|
+
import { forEachElement } from '../../utils/smodel-util';
|
|
35
35
|
import { addResizeHandles, isResizable, removeResizeHandles, SResizeHandle } from '../change-bounds/model';
|
|
36
36
|
import { createMovementRestrictionFeedback, removeMovementRestrictionFeedback } from '../change-bounds/movement-restrictor';
|
|
37
37
|
import { CursorCSS, cursorFeedbackAction } from '../tool-feedback/css-feedback';
|
|
38
38
|
import { ChangeBoundsTool } from '../tools/change-bounds-tool';
|
|
39
39
|
import { FeedbackCommand } from './model';
|
|
40
40
|
|
|
41
|
-
export
|
|
42
|
-
|
|
41
|
+
export interface ShowChangeBoundsToolResizeFeedbackAction extends Action {
|
|
42
|
+
kind: typeof ShowChangeBoundsToolResizeFeedbackAction.KIND;
|
|
43
|
+
|
|
44
|
+
elementId: string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export namespace ShowChangeBoundsToolResizeFeedbackAction {
|
|
48
|
+
export const KIND = 'showChangeBoundsToolResizeFeedback';
|
|
49
|
+
|
|
50
|
+
export function is(object: any): object is ShowChangeBoundsToolResizeFeedbackAction {
|
|
51
|
+
return Action.hasKind(object, KIND) && hasStringProp(object, 'elementId');
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function create(elementId: string): ShowChangeBoundsToolResizeFeedbackAction {
|
|
55
|
+
return {
|
|
56
|
+
kind: KIND,
|
|
57
|
+
elementId
|
|
58
|
+
};
|
|
59
|
+
}
|
|
43
60
|
}
|
|
44
61
|
|
|
45
|
-
export
|
|
46
|
-
|
|
62
|
+
export interface HideChangeBoundsToolResizeFeedbackAction extends Action {
|
|
63
|
+
kind: typeof HideChangeBoundsToolResizeFeedbackAction.KIND;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export namespace HideChangeBoundsToolResizeFeedbackAction {
|
|
67
|
+
export const KIND = 'hideChangeBoundsToolResizeFeedback';
|
|
68
|
+
|
|
69
|
+
export function is(object: any): object is HideChangeBoundsToolResizeFeedbackAction {
|
|
70
|
+
return Action.hasKind(object, KIND);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export function create(): HideChangeBoundsToolResizeFeedbackAction {
|
|
74
|
+
return { kind: KIND };
|
|
75
|
+
}
|
|
47
76
|
}
|
|
48
77
|
|
|
49
78
|
@injectable()
|
|
50
79
|
export class ShowChangeBoundsToolResizeFeedbackCommand extends FeedbackCommand {
|
|
51
|
-
static readonly KIND =
|
|
80
|
+
static readonly KIND = ShowChangeBoundsToolResizeFeedbackAction.KIND;
|
|
52
81
|
|
|
53
82
|
@inject(TYPES.Action) protected action: ShowChangeBoundsToolResizeFeedbackAction;
|
|
54
83
|
|
|
55
84
|
execute(context: CommandExecutionContext): CommandReturn {
|
|
56
85
|
const index = context.root.index;
|
|
57
|
-
index.all().filter(isResizable).forEach(removeResizeHandles);
|
|
58
86
|
|
|
59
|
-
|
|
87
|
+
forEachElement(index, isResizable, removeResizeHandles);
|
|
88
|
+
|
|
89
|
+
if (this.action.elementId) {
|
|
60
90
|
const resizeElement = index.getById(this.action.elementId);
|
|
61
|
-
if (
|
|
91
|
+
if (resizeElement && isResizable(resizeElement)) {
|
|
62
92
|
addResizeHandles(resizeElement);
|
|
63
93
|
}
|
|
64
94
|
}
|
|
@@ -68,13 +98,13 @@ export class ShowChangeBoundsToolResizeFeedbackCommand extends FeedbackCommand {
|
|
|
68
98
|
|
|
69
99
|
@injectable()
|
|
70
100
|
export class HideChangeBoundsToolResizeFeedbackCommand extends FeedbackCommand {
|
|
71
|
-
static readonly KIND =
|
|
101
|
+
static readonly KIND = HideChangeBoundsToolResizeFeedbackAction.KIND;
|
|
72
102
|
|
|
73
103
|
@inject(TYPES.Action) protected action: HideChangeBoundsToolResizeFeedbackAction;
|
|
74
104
|
|
|
75
105
|
execute(context: CommandExecutionContext): CommandReturn {
|
|
76
106
|
const index = context.root.index;
|
|
77
|
-
index
|
|
107
|
+
forEachElement(index, isResizable, removeResizeHandles);
|
|
78
108
|
return context.root;
|
|
79
109
|
}
|
|
80
110
|
}
|
|
@@ -95,7 +125,7 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
95
125
|
super();
|
|
96
126
|
}
|
|
97
127
|
|
|
98
|
-
mouseDown(target: SModelElement, event: MouseEvent): Action[] {
|
|
128
|
+
override mouseDown(target: SModelElement, event: MouseEvent): Action[] {
|
|
99
129
|
if (event.button === 0 && !(target instanceof SResizeHandle)) {
|
|
100
130
|
const moveable = findParentByFeature(target, isMoveable);
|
|
101
131
|
if (moveable !== undefined) {
|
|
@@ -108,7 +138,7 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
108
138
|
return [];
|
|
109
139
|
}
|
|
110
140
|
|
|
111
|
-
mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
141
|
+
override mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
112
142
|
const result: Action[] = [];
|
|
113
143
|
if (event.buttons === 0) {
|
|
114
144
|
this.mouseUp(target, event);
|
|
@@ -148,7 +178,7 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
148
178
|
return false;
|
|
149
179
|
}
|
|
150
180
|
|
|
151
|
-
protected getElementMoves(target: SModelElement, event: MouseEvent,
|
|
181
|
+
protected getElementMoves(target: SModelElement, event: MouseEvent, finished: boolean): MoveAction | undefined {
|
|
152
182
|
if (!this.startDragPosition) {
|
|
153
183
|
return undefined;
|
|
154
184
|
}
|
|
@@ -172,7 +202,7 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
172
202
|
);
|
|
173
203
|
|
|
174
204
|
if (isMoveable(element)) {
|
|
175
|
-
toPosition = this.validateMove(startPosition, toPosition, element,
|
|
205
|
+
toPosition = this.validateMove(startPosition, toPosition, element, finished);
|
|
176
206
|
elementMoves.push({
|
|
177
207
|
elementId: element.id,
|
|
178
208
|
fromPosition: {
|
|
@@ -185,7 +215,7 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
185
215
|
}
|
|
186
216
|
});
|
|
187
217
|
if (elementMoves.length > 0) {
|
|
188
|
-
return
|
|
218
|
+
return MoveAction.create(elementMoves, { animate: false, finished });
|
|
189
219
|
} else {
|
|
190
220
|
return undefined;
|
|
191
221
|
}
|
|
@@ -219,14 +249,14 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
219
249
|
}
|
|
220
250
|
}
|
|
221
251
|
|
|
222
|
-
mouseEnter(target: SModelElement, event: MouseEvent): Action[] {
|
|
252
|
+
override mouseEnter(target: SModelElement, event: MouseEvent): Action[] {
|
|
223
253
|
if (target instanceof SModelRoot && event.buttons === 0 && !this.startDragPosition) {
|
|
224
254
|
this.mouseUp(target, event);
|
|
225
255
|
}
|
|
226
256
|
return [];
|
|
227
257
|
}
|
|
228
258
|
|
|
229
|
-
mouseUp(target: SModelElement, event: MouseEvent): Action[] {
|
|
259
|
+
override mouseUp(target: SModelElement, event: MouseEvent): Action[] {
|
|
230
260
|
const result: Action[] = [];
|
|
231
261
|
if (this.startDragPosition) {
|
|
232
262
|
const moveAction = this.getElementMoves(target, event, true);
|
|
@@ -244,7 +274,7 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
244
274
|
return result;
|
|
245
275
|
}
|
|
246
276
|
|
|
247
|
-
decorate(vnode: VNode, _element: SModelElement): VNode {
|
|
277
|
+
override decorate(vnode: VNode, _element: SModelElement): VNode {
|
|
248
278
|
return vnode;
|
|
249
279
|
}
|
|
250
280
|
}
|
|
@@ -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,15 +13,12 @@
|
|
|
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, Point } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
18
|
import {
|
|
19
|
-
add,
|
|
20
19
|
AnchorComputerRegistry,
|
|
21
|
-
center,
|
|
22
20
|
CommandExecutionContext,
|
|
23
21
|
CommandReturn,
|
|
24
|
-
euclideanDistance,
|
|
25
22
|
findChildrenAtPosition,
|
|
26
23
|
findParentByFeature,
|
|
27
24
|
isBoundsAware,
|
|
@@ -32,28 +29,40 @@ import {
|
|
|
32
29
|
SChildElement,
|
|
33
30
|
SConnectableElement,
|
|
34
31
|
SDanglingAnchor,
|
|
35
|
-
SEdgeSchema,
|
|
32
|
+
SEdge as SEdgeSchema,
|
|
36
33
|
SModelElement,
|
|
37
34
|
SModelRoot,
|
|
38
35
|
SRoutableElement,
|
|
39
36
|
TYPES
|
|
40
37
|
} from 'sprotty';
|
|
41
|
-
import {
|
|
38
|
+
import { BoundsAwareModelElement, isRoutable } from '../../utils/smodel-util';
|
|
42
39
|
import { getAbsolutePosition, toAbsoluteBounds, toAbsolutePosition } from '../../utils/viewpoint-util';
|
|
43
40
|
import { FeedbackCommand } from './model';
|
|
41
|
+
export interface DrawFeedbackEdgeAction extends Action {
|
|
42
|
+
kind: typeof DrawFeedbackEdgeAction.KIND;
|
|
43
|
+
elementTypeId: string;
|
|
44
|
+
sourceId: string;
|
|
45
|
+
edgeSchema?: SEdgeSchema;
|
|
46
|
+
}
|
|
44
47
|
|
|
45
|
-
export
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
export namespace DrawFeedbackEdgeAction {
|
|
49
|
+
export const KIND = 'drawFeedbackEdge';
|
|
50
|
+
|
|
51
|
+
export function is(object: any): object is DrawFeedbackEdgeAction {
|
|
52
|
+
return Action.hasKind(object, KIND);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function create(options: { elementTypeId: string; sourceId: string; edgeSchema?: SEdgeSchema }): DrawFeedbackEdgeAction {
|
|
56
|
+
return {
|
|
57
|
+
kind: KIND,
|
|
58
|
+
...options
|
|
59
|
+
};
|
|
60
|
+
}
|
|
52
61
|
}
|
|
53
62
|
|
|
54
63
|
@injectable()
|
|
55
64
|
export class DrawFeedbackEdgeCommand extends FeedbackCommand {
|
|
56
|
-
static readonly KIND =
|
|
65
|
+
static readonly KIND = DrawFeedbackEdgeAction.KIND;
|
|
57
66
|
|
|
58
67
|
constructor(@inject(TYPES.Action) protected action: DrawFeedbackEdgeAction) {
|
|
59
68
|
super();
|
|
@@ -66,13 +75,25 @@ export class DrawFeedbackEdgeCommand extends FeedbackCommand {
|
|
|
66
75
|
}
|
|
67
76
|
}
|
|
68
77
|
|
|
69
|
-
export
|
|
70
|
-
|
|
78
|
+
export interface RemoveFeedbackEdgeAction extends Action {
|
|
79
|
+
kind: typeof RemoveFeedbackEdgeAction.KIND;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export namespace RemoveFeedbackEdgeAction {
|
|
83
|
+
export const KIND = 'removeFeedbackEdgeCommand';
|
|
84
|
+
|
|
85
|
+
export function is(object: any): object is RemoveFeedbackEdgeAction {
|
|
86
|
+
return Action.hasKind(object, KIND);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export function create(): RemoveFeedbackEdgeAction {
|
|
90
|
+
return { kind: KIND };
|
|
91
|
+
}
|
|
71
92
|
}
|
|
72
93
|
|
|
73
94
|
@injectable()
|
|
74
95
|
export class RemoveFeedbackEdgeCommand extends FeedbackCommand {
|
|
75
|
-
static readonly KIND =
|
|
96
|
+
static readonly KIND = RemoveFeedbackEdgeAction.KIND;
|
|
76
97
|
|
|
77
98
|
execute(context: CommandExecutionContext): CommandReturn {
|
|
78
99
|
removeFeedbackEdge(context.root);
|
|
@@ -86,7 +107,7 @@ export class FeedbackEdgeEnd extends SDanglingAnchor {
|
|
|
86
107
|
readonly sourceId: string,
|
|
87
108
|
readonly elementTypeId: string,
|
|
88
109
|
public feedbackEdge: SRoutableElement | undefined = undefined,
|
|
89
|
-
|
|
110
|
+
override readonly type: string = FeedbackEdgeEnd.TYPE
|
|
90
111
|
) {
|
|
91
112
|
super();
|
|
92
113
|
}
|
|
@@ -97,7 +118,7 @@ export class FeedbackEdgeEndMovingMouseListener extends MouseListener {
|
|
|
97
118
|
super();
|
|
98
119
|
}
|
|
99
120
|
|
|
100
|
-
mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
121
|
+
override mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
101
122
|
const root = target.root;
|
|
102
123
|
const edgeEnd = root.index.getById(feedbackEdgeEndId(root));
|
|
103
124
|
if (!(edgeEnd instanceof FeedbackEdgeEnd) || !edgeEnd.feedbackEdge) {
|
|
@@ -106,17 +127,17 @@ export class FeedbackEdgeEndMovingMouseListener extends MouseListener {
|
|
|
106
127
|
|
|
107
128
|
const edge = edgeEnd.feedbackEdge;
|
|
108
129
|
const position = getAbsolutePosition(edgeEnd, event);
|
|
109
|
-
const endAtMousePosition = findChildrenAtPosition(target.root, position)
|
|
110
|
-
|
|
111
|
-
|
|
130
|
+
const endAtMousePosition = findChildrenAtPosition(target.root, position)
|
|
131
|
+
.reverse()
|
|
132
|
+
.find(element => isConnectable(element) && element.canConnect(edge, 'target'));
|
|
112
133
|
|
|
113
134
|
if (endAtMousePosition instanceof SConnectableElement && edge.source && isBoundsAware(edge.source)) {
|
|
114
|
-
const anchor = this.computeAbsoluteAnchor(endAtMousePosition, center(toAbsoluteBounds(edge.source)));
|
|
115
|
-
if (euclideanDistance(anchor, edgeEnd.position) > 1) {
|
|
116
|
-
return [
|
|
135
|
+
const anchor = this.computeAbsoluteAnchor(endAtMousePosition, Bounds.center(toAbsoluteBounds(edge.source)));
|
|
136
|
+
if (Point.euclideanDistance(anchor, edgeEnd.position) > 1) {
|
|
137
|
+
return [MoveAction.create([{ elementId: edgeEnd.id, toPosition: anchor }], { animate: false })];
|
|
117
138
|
}
|
|
118
139
|
} else {
|
|
119
|
-
return [
|
|
140
|
+
return [MoveAction.create([{ elementId: edgeEnd.id, toPosition: position }], { animate: false })];
|
|
120
141
|
}
|
|
121
142
|
|
|
122
143
|
return [];
|
|
@@ -132,7 +153,7 @@ export class FeedbackEdgeEndMovingMouseListener extends MouseListener {
|
|
|
132
153
|
const parent = findParentByFeature(element.parent, isBoundsAware);
|
|
133
154
|
if (parent) {
|
|
134
155
|
const absoluteParentPosition = toAbsoluteBounds(parent);
|
|
135
|
-
anchor = add(absoluteParentPosition, anchor);
|
|
156
|
+
anchor = Point.add(absoluteParentPosition, anchor);
|
|
136
157
|
}
|
|
137
158
|
}
|
|
138
159
|
return anchor;
|
|
@@ -146,8 +167,8 @@ export class FeedbackEdgeEndMovingMouseListener extends MouseListener {
|
|
|
146
167
|
* @param absolutePoint a point in absolute coordinates
|
|
147
168
|
* @returns the equivalent point, relative to the element's parent coordinates
|
|
148
169
|
*/
|
|
149
|
-
function absoluteToParent(element: BoundsAwareModelElement & SChildElement, absolutePoint: Point): Point{
|
|
150
|
-
if (isBoundsAware(element.parent)){
|
|
170
|
+
function absoluteToParent(element: BoundsAwareModelElement & SChildElement, absolutePoint: Point): Point {
|
|
171
|
+
if (isBoundsAware(element.parent)) {
|
|
151
172
|
return absoluteToLocal(element.parent, absolutePoint);
|
|
152
173
|
}
|
|
153
174
|
// If the parent is not bounds-aware, assume it's at 0; 0 and proceed
|
|
@@ -163,7 +184,7 @@ function absoluteToParent(element: BoundsAwareModelElement & SChildElement, abso
|
|
|
163
184
|
*/
|
|
164
185
|
function absoluteToLocal(element: BoundsAwareModelElement, absolutePoint: Point): Point {
|
|
165
186
|
const absoluteElementBounds = toAbsoluteBounds(element);
|
|
166
|
-
return {x: absolutePoint.x - absoluteElementBounds.x, y: absolutePoint.y - absoluteElementBounds.y};
|
|
187
|
+
return { x: absolutePoint.x - absoluteElementBounds.x, y: absolutePoint.y - absoluteElementBounds.y };
|
|
167
188
|
}
|
|
168
189
|
|
|
169
190
|
export function feedbackEdgeId(root: SModelRoot): string {
|
|
@@ -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,50 +13,57 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action,
|
|
16
|
+
import { Action, hasArrayProp } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
|
-
import { CommandExecutionContext, SModelElement, SModelRoot
|
|
19
|
-
import {
|
|
18
|
+
import { CommandExecutionContext, SModelElement, SModelRoot } from 'sprotty';
|
|
19
|
+
import { TYPES } from '../../base/types';
|
|
20
|
+
import { addCssClasses, getElements, removeCssClasses } from '../../utils/smodel-util';
|
|
20
21
|
import { FeedbackCommand } from './model';
|
|
21
22
|
|
|
22
|
-
export
|
|
23
|
-
|
|
23
|
+
export interface ModifyCSSFeedbackAction extends Action {
|
|
24
|
+
kind: typeof ModifyCSSFeedbackAction.KIND;
|
|
24
25
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
elementIds?: string[];
|
|
27
|
+
add?: string[];
|
|
28
|
+
remove?: string[];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export namespace ModifyCSSFeedbackAction {
|
|
32
|
+
export const KIND = 'modifyCSSFeedback';
|
|
33
|
+
|
|
34
|
+
export function is(object: any): object is ModifyCSSFeedbackAction {
|
|
35
|
+
return Action.hasKind(object, KIND) && hasArrayProp(object, 'elementIds');
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function create(options: { elements?: (string | SModelElement)[]; add?: string[]; remove?: string[] }): ModifyCSSFeedbackAction {
|
|
39
|
+
const { elements, ...rest } = options;
|
|
40
|
+
const elementIds = elements ? elements.map(element => (typeof element === 'string' ? element : element.id)) : undefined;
|
|
41
|
+
return {
|
|
42
|
+
kind: KIND,
|
|
43
|
+
elementIds,
|
|
44
|
+
...rest
|
|
45
|
+
};
|
|
34
46
|
}
|
|
35
47
|
}
|
|
36
48
|
|
|
37
49
|
@injectable()
|
|
38
50
|
export class ModifyCssFeedbackCommand extends FeedbackCommand {
|
|
39
|
-
static readonly KIND =
|
|
51
|
+
static readonly KIND = ModifyCSSFeedbackAction.KIND;
|
|
40
52
|
|
|
41
53
|
constructor(@inject(TYPES.Action) readonly action: ModifyCSSFeedbackAction) {
|
|
42
54
|
super();
|
|
43
55
|
}
|
|
44
56
|
|
|
45
57
|
execute(context: CommandExecutionContext): SModelRoot {
|
|
46
|
-
const elements
|
|
47
|
-
if (this.action.elementIds) {
|
|
48
|
-
elements.push(...this.action.elementIds.map(elementId => context.root.index.getById(elementId)).filter(exists));
|
|
49
|
-
} else {
|
|
50
|
-
elements.push(context.root);
|
|
51
|
-
}
|
|
58
|
+
const elements = this.action.elementIds ? getElements(context.root.index, this.action.elementIds) : [context.root];
|
|
52
59
|
|
|
53
60
|
elements.forEach(e => {
|
|
54
|
-
if (this.action.
|
|
55
|
-
removeCssClasses(e, this.action.
|
|
61
|
+
if (this.action.remove) {
|
|
62
|
+
removeCssClasses(e, this.action.remove);
|
|
56
63
|
}
|
|
57
64
|
|
|
58
|
-
if (this.action.
|
|
59
|
-
addCssClasses(e, this.action.
|
|
65
|
+
if (this.action.add) {
|
|
66
|
+
addCssClasses(e, this.action.add);
|
|
60
67
|
}
|
|
61
68
|
});
|
|
62
69
|
|
|
@@ -64,10 +71,6 @@ export class ModifyCssFeedbackCommand extends FeedbackCommand {
|
|
|
64
71
|
}
|
|
65
72
|
}
|
|
66
73
|
|
|
67
|
-
function exists(elt?: SModelElement): elt is SModelElement {
|
|
68
|
-
return elt !== undefined;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
74
|
// eslint-disable-next-line no-shadow
|
|
72
75
|
export enum CursorCSS {
|
|
73
76
|
DEFAULT = 'default-mode',
|
|
@@ -85,17 +88,17 @@ export enum CursorCSS {
|
|
|
85
88
|
}
|
|
86
89
|
|
|
87
90
|
export function cursorFeedbackAction(cursorCss?: CursorCSS): ModifyCSSFeedbackAction {
|
|
88
|
-
const
|
|
91
|
+
const add = [];
|
|
89
92
|
if (cursorCss) {
|
|
90
|
-
|
|
93
|
+
add.push(cursorCss);
|
|
91
94
|
}
|
|
92
|
-
return
|
|
95
|
+
return ModifyCSSFeedbackAction.create({ add, remove: Object.values(CursorCSS) });
|
|
93
96
|
}
|
|
94
97
|
|
|
95
|
-
export function applyCssClasses(element: SModelElement, ...
|
|
96
|
-
return
|
|
98
|
+
export function applyCssClasses(element: SModelElement, ...add: string[]): ModifyCSSFeedbackAction {
|
|
99
|
+
return ModifyCSSFeedbackAction.create({ elements: [element], add });
|
|
97
100
|
}
|
|
98
101
|
|
|
99
|
-
export function deleteCssClasses(element: SModelElement, ...
|
|
100
|
-
return
|
|
102
|
+
export function deleteCssClasses(element: SModelElement, ...remove: string[]): ModifyCSSFeedbackAction {
|
|
103
|
+
return ModifyCSSFeedbackAction.create({ elements: [element], remove });
|
|
101
104
|
}
|
|
@@ -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
|
|
@@ -14,9 +14,8 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { ContainerModule } from 'inversify';
|
|
17
|
-
import { configureCommand, configureView, LocationPostprocessor, MoveCommand
|
|
18
|
-
|
|
19
|
-
import { GLSP_TYPES } from '../../base/types';
|
|
17
|
+
import { configureCommand, configureView, LocationPostprocessor, MoveCommand } from 'sprotty';
|
|
18
|
+
import { TYPES } from '../../base/types';
|
|
20
19
|
import { SResizeHandle } from '../change-bounds/model';
|
|
21
20
|
import { HideChangeBoundsToolResizeFeedbackCommand, ShowChangeBoundsToolResizeFeedbackCommand } from './change-bounds-tool-feedback';
|
|
22
21
|
import { DrawFeedbackEdgeCommand, FeedbackEdgeEnd, RemoveFeedbackEdgeCommand } from './creation-tool-feedback';
|
|
@@ -32,7 +31,7 @@ import { DrawMarqueeCommand, RemoveMarqueeCommand } from './marquee-tool-feedbac
|
|
|
32
31
|
import { FeedbackEdgeEndView, SResizeHandleView } from './view';
|
|
33
32
|
|
|
34
33
|
const toolFeedbackModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
35
|
-
bind(
|
|
34
|
+
bind(TYPES.IFeedbackActionDispatcher).to(FeedbackActionDispatcher).inSingletonScope();
|
|
36
35
|
|
|
37
36
|
configureCommand({ bind, isBound }, ModifyCssFeedbackCommand);
|
|
38
37
|
|