@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) 2020-
|
|
2
|
+
* Copyright (c) 2020-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -17,10 +17,8 @@ import {
|
|
|
17
17
|
Action,
|
|
18
18
|
Args,
|
|
19
19
|
CenterAction,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
isNavigateToTargetAction,
|
|
23
|
-
isSetNavigationTargetsAction,
|
|
20
|
+
hasObjectProp,
|
|
21
|
+
hasStringProp,
|
|
24
22
|
NavigateToExternalTargetAction,
|
|
25
23
|
NavigateToTargetAction,
|
|
26
24
|
NavigationTarget,
|
|
@@ -28,13 +26,15 @@ import {
|
|
|
28
26
|
SelectAction,
|
|
29
27
|
SelectAllAction,
|
|
30
28
|
ServerMessageAction,
|
|
29
|
+
ServerSeverity,
|
|
30
|
+
ServerStatusAction,
|
|
31
|
+
SetNavigationTargetsAction,
|
|
31
32
|
SetResolvedNavigationTargetAction
|
|
32
33
|
} from '@eclipse-glsp/protocol';
|
|
33
34
|
import { inject, injectable } from 'inversify';
|
|
34
|
-
import { ActionHandlerRegistry, IActionDispatcher, IActionHandler, ICommand, ILogger
|
|
35
|
-
|
|
35
|
+
import { ActionHandlerRegistry, IActionDispatcher, IActionHandler, ICommand, ILogger } from 'sprotty';
|
|
36
36
|
import { EditorContextServiceProvider } from '../../base/editor-context-service';
|
|
37
|
-
import {
|
|
37
|
+
import { TYPES } from '../../base/types';
|
|
38
38
|
import { NavigationTargetResolver } from './navigation-target-resolver';
|
|
39
39
|
|
|
40
40
|
/**
|
|
@@ -48,38 +48,66 @@ import { NavigationTargetResolver } from './navigation-target-resolver';
|
|
|
48
48
|
*
|
|
49
49
|
* This action is typically triggered by a user action.
|
|
50
50
|
*/
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
|
|
52
|
+
export interface NavigateAction extends Action {
|
|
53
|
+
kind: typeof NavigateAction.KIND;
|
|
54
|
+
/**
|
|
55
|
+
* Navigation target type, such as `documentation`, `implementation`, etc.
|
|
56
|
+
*/
|
|
57
|
+
targetTypeId: string;
|
|
58
|
+
/**
|
|
59
|
+
* Additional arguments for customization.
|
|
60
|
+
*/
|
|
61
|
+
args?: Args;
|
|
55
62
|
}
|
|
56
63
|
|
|
57
|
-
export
|
|
58
|
-
|
|
64
|
+
export namespace NavigateAction {
|
|
65
|
+
export const KIND = 'navigate';
|
|
66
|
+
|
|
67
|
+
export function is(object: any): object is NavigateAction {
|
|
68
|
+
return Action.hasKind(object, KIND) && hasStringProp(object, 'targetTypeId');
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export function create(targetTypeId: string, options: { args?: Args } = {}): NavigateAction {
|
|
72
|
+
return {
|
|
73
|
+
kind: KIND,
|
|
74
|
+
targetTypeId,
|
|
75
|
+
...options
|
|
76
|
+
};
|
|
77
|
+
}
|
|
59
78
|
}
|
|
60
79
|
|
|
61
|
-
/**
|
|
62
|
-
*
|
|
80
|
+
/**
|
|
81
|
+
* Action to trigger the processing of additional navigation arguments.
|
|
63
82
|
* The resolution of a `NavigationTarget` may entail additional arguments. In this case, this action is
|
|
64
83
|
* triggered allowing the client to react to those arguments. The default `NavigationActionHandler` will
|
|
65
84
|
* only process the arguments' keys `info`, `warning`, and `error` to present them to the user.
|
|
66
85
|
* Customizations, however, may add domain-specific arguments and register custom handler to also process
|
|
67
86
|
* other arguments and trigger some additional behavior (e.g. update other views, etc.).
|
|
68
87
|
*/
|
|
69
|
-
export class ProcessNavigationArgumentsAction implements Action {
|
|
70
|
-
static readonly KIND = 'processNavigationArguments';
|
|
71
|
-
readonly kind = ProcessNavigationArgumentsAction.KIND;
|
|
72
|
-
constructor(readonly args: Args) {}
|
|
73
|
-
}
|
|
74
88
|
|
|
75
|
-
export
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
89
|
+
export interface ProcessNavigationArgumentsAction extends Action {
|
|
90
|
+
kind: typeof ProcessNavigationArgumentsAction.KIND;
|
|
91
|
+
/**
|
|
92
|
+
* The navigation arguments.
|
|
93
|
+
*/
|
|
94
|
+
args: Args;
|
|
81
95
|
}
|
|
82
96
|
|
|
97
|
+
export namespace ProcessNavigationArgumentsAction {
|
|
98
|
+
export const KIND = 'processNavigationArguments';
|
|
99
|
+
|
|
100
|
+
export function is(object: any): object is ProcessNavigationArgumentsAction {
|
|
101
|
+
return Action.hasKind(object, KIND) && hasObjectProp(object, 'args');
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export function create(args: Args): ProcessNavigationArgumentsAction {
|
|
105
|
+
return {
|
|
106
|
+
kind: KIND,
|
|
107
|
+
args
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
83
111
|
/**
|
|
84
112
|
* Default handler for all actions that are related to the navigation.
|
|
85
113
|
*
|
|
@@ -109,17 +137,17 @@ export class NavigationActionHandler implements IActionHandler {
|
|
|
109
137
|
@inject(TYPES.ILogger) protected logger: ILogger;
|
|
110
138
|
@inject(TYPES.IActionDispatcher) protected dispatcher: IActionDispatcher;
|
|
111
139
|
@inject(TYPES.ActionHandlerRegistryProvider) protected actionHandlerRegistryProvider: () => Promise<ActionHandlerRegistry>;
|
|
112
|
-
@inject(
|
|
140
|
+
@inject(TYPES.IEditorContextServiceProvider) protected editorContextService: EditorContextServiceProvider;
|
|
113
141
|
@inject(NavigationTargetResolver) protected resolver: NavigationTargetResolver;
|
|
114
142
|
|
|
115
143
|
handle(action: Action): ICommand | Action | void {
|
|
116
|
-
if (
|
|
144
|
+
if (NavigateAction.is(action)) {
|
|
117
145
|
this.handleNavigateAction(action);
|
|
118
|
-
} else if (
|
|
146
|
+
} else if (NavigateToTargetAction.is(action)) {
|
|
119
147
|
this.handleNavigateToTarget(action);
|
|
120
|
-
} else if (
|
|
148
|
+
} else if (ProcessNavigationArgumentsAction.is(action)) {
|
|
121
149
|
this.processNavigationArguments(action.args);
|
|
122
|
-
} else if (
|
|
150
|
+
} else if (NavigateToExternalTargetAction.is(action)) {
|
|
123
151
|
this.handleNavigateToExternalTarget(action);
|
|
124
152
|
}
|
|
125
153
|
}
|
|
@@ -127,9 +155,11 @@ export class NavigationActionHandler implements IActionHandler {
|
|
|
127
155
|
protected async handleNavigateAction(action: NavigateAction): Promise<void> {
|
|
128
156
|
try {
|
|
129
157
|
const editorContextService = await this.editorContextService();
|
|
130
|
-
const
|
|
131
|
-
const response = await this.dispatcher.request(
|
|
132
|
-
|
|
158
|
+
const editorContext = editorContextService.get(action.args);
|
|
159
|
+
const response = await this.dispatcher.request(
|
|
160
|
+
RequestNavigationTargetsAction.create({ targetTypeId: action.targetTypeId, editorContext })
|
|
161
|
+
);
|
|
162
|
+
if (SetNavigationTargetsAction.is(response) && response.targets && response.targets.length === 1) {
|
|
133
163
|
if (response.targets.length > 1) {
|
|
134
164
|
this.logger.warn(
|
|
135
165
|
this,
|
|
@@ -137,7 +167,7 @@ export class NavigationActionHandler implements IActionHandler {
|
|
|
137
167
|
response.targets
|
|
138
168
|
);
|
|
139
169
|
}
|
|
140
|
-
return this.dispatcher.dispatch(
|
|
170
|
+
return this.dispatcher.dispatch(NavigateToTargetAction.create(response.targets[0]));
|
|
141
171
|
}
|
|
142
172
|
this.warnAboutFailedNavigation('No valid navigation target found');
|
|
143
173
|
} catch (reason) {
|
|
@@ -184,7 +214,11 @@ export class NavigationActionHandler implements IActionHandler {
|
|
|
184
214
|
if (!this.containsElementIds(elementIds)) {
|
|
185
215
|
return;
|
|
186
216
|
}
|
|
187
|
-
this.dispatcher.dispatchAll([
|
|
217
|
+
this.dispatcher.dispatchAll([
|
|
218
|
+
SelectAllAction.create(false),
|
|
219
|
+
SelectAction.create({ selectedElementsIDs: elementIds }),
|
|
220
|
+
CenterAction.create(elementIds)
|
|
221
|
+
]);
|
|
188
222
|
}
|
|
189
223
|
|
|
190
224
|
protected handleResolutionArguments(target: SetResolvedNavigationTargetAction): void {
|
|
@@ -192,11 +226,11 @@ export class NavigationActionHandler implements IActionHandler {
|
|
|
192
226
|
if (!this.containsArguments(args)) {
|
|
193
227
|
return;
|
|
194
228
|
}
|
|
195
|
-
this.dispatcher.dispatch(
|
|
229
|
+
this.dispatcher.dispatch(ProcessNavigationArgumentsAction.create(args));
|
|
196
230
|
}
|
|
197
231
|
|
|
198
232
|
protected navigateToExternal(target: NavigationTarget): Promise<void> {
|
|
199
|
-
return this.dispatcher.dispatch(
|
|
233
|
+
return this.dispatcher.dispatch(NavigateToExternalTargetAction.create(target));
|
|
200
234
|
}
|
|
201
235
|
|
|
202
236
|
protected processNavigationArguments(args: Args): void {
|
|
@@ -226,11 +260,11 @@ export class NavigationActionHandler implements IActionHandler {
|
|
|
226
260
|
this.notify('WARNING', message);
|
|
227
261
|
}
|
|
228
262
|
|
|
229
|
-
private notify(severity:
|
|
263
|
+
private notify(severity: ServerSeverity, message: string): void {
|
|
230
264
|
const timeout = this.notificationTimeout;
|
|
231
265
|
this.dispatcher.dispatchAll([
|
|
232
|
-
|
|
233
|
-
|
|
266
|
+
ServerStatusAction.create(message, { severity, timeout }),
|
|
267
|
+
ServerMessageAction.create(message, { severity, timeout })
|
|
234
268
|
]);
|
|
235
269
|
}
|
|
236
270
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020-
|
|
2
|
+
* Copyright (c) 2020-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -22,7 +22,7 @@ import 'reflect-metadata';
|
|
|
22
22
|
describe('NavigationTarget', () => {
|
|
23
23
|
it('should be able to set and get element IDs', () => {
|
|
24
24
|
const navigationTarget: NavigationTarget = { uri: 'uri' };
|
|
25
|
-
NavigationTarget.setElementIds(navigationTarget,
|
|
25
|
+
NavigationTarget.setElementIds(navigationTarget, 'id1', 'id2');
|
|
26
26
|
expect(NavigationTarget.getElementIds(navigationTarget)).to.be.eql(['id1', 'id2']);
|
|
27
27
|
});
|
|
28
28
|
|
|
@@ -46,7 +46,7 @@ describe('NavigationTarget', () => {
|
|
|
46
46
|
|
|
47
47
|
navigationTarget = { uri: 'uri' };
|
|
48
48
|
expect(NavigationTarget.hasArguments(navigationTarget)).to.be.false;
|
|
49
|
-
NavigationTarget.setElementIds(navigationTarget,
|
|
49
|
+
NavigationTarget.setElementIds(navigationTarget, 'id1', 'id2');
|
|
50
50
|
expect(NavigationTarget.hasArguments(navigationTarget)).to.be.true;
|
|
51
51
|
|
|
52
52
|
navigationTarget = { uri: 'uri' };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020-
|
|
2
|
+
* Copyright (c) 2020-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,16 +13,11 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
17
|
-
isSetResolvedNavigationTargets,
|
|
18
|
-
NavigationTarget,
|
|
19
|
-
ResolveNavigationTargetAction,
|
|
20
|
-
SetResolvedNavigationTargetAction
|
|
21
|
-
} from '@eclipse-glsp/protocol';
|
|
16
|
+
import { NavigationTarget, ResolveNavigationTargetAction, ResponseAction, SetResolvedNavigationTargetAction } from '@eclipse-glsp/protocol';
|
|
22
17
|
import { inject, injectable } from 'inversify';
|
|
23
|
-
import { IActionDispatcher, ILogger
|
|
18
|
+
import { IActionDispatcher, ILogger } from 'sprotty';
|
|
24
19
|
import { EditorContextServiceProvider } from '../../base/editor-context-service';
|
|
25
|
-
import {
|
|
20
|
+
import { TYPES } from '../../base/types';
|
|
26
21
|
|
|
27
22
|
/**
|
|
28
23
|
* Resolves `NavigationTargets` to element ids.
|
|
@@ -32,7 +27,7 @@ import { GLSP_TYPES } from '../../base/types';
|
|
|
32
27
|
*/
|
|
33
28
|
@injectable()
|
|
34
29
|
export class NavigationTargetResolver {
|
|
35
|
-
@inject(
|
|
30
|
+
@inject(TYPES.IEditorContextServiceProvider) protected editorContextService: EditorContextServiceProvider;
|
|
36
31
|
@inject(TYPES.IActionDispatcher) protected dispatcher: IActionDispatcher;
|
|
37
32
|
@inject(TYPES.ILogger) protected readonly logger: ILogger;
|
|
38
33
|
|
|
@@ -53,16 +48,16 @@ export class NavigationTargetResolver {
|
|
|
53
48
|
return undefined;
|
|
54
49
|
}
|
|
55
50
|
if (NavigationTarget.getElementIds(target).length > 0) {
|
|
56
|
-
return
|
|
51
|
+
return SetResolvedNavigationTargetAction.create(NavigationTarget.getElementIds(target));
|
|
57
52
|
}
|
|
58
53
|
const response = await this.requestResolution(target);
|
|
59
|
-
if (
|
|
54
|
+
if (SetResolvedNavigationTargetAction.is(response)) {
|
|
60
55
|
return response;
|
|
61
56
|
}
|
|
62
57
|
return undefined;
|
|
63
58
|
}
|
|
64
59
|
|
|
65
60
|
protected requestResolution(target: NavigationTarget): Promise<ResponseAction> {
|
|
66
|
-
return this.dispatcher.request(
|
|
61
|
+
return this.dispatcher.request(ResolveNavigationTargetAction.create(target));
|
|
67
62
|
}
|
|
68
63
|
}
|
|
@@ -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
|
|
@@ -69,7 +69,7 @@ export function createReconnectHandle(edge: SRoutableElement, kind: RoutingHandl
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
export class SReconnectHandle extends SRoutingHandle {
|
|
72
|
-
hasFeature(feature: symbol): boolean {
|
|
72
|
+
override hasFeature(feature: symbol): boolean {
|
|
73
73
|
return feature !== selectFeature && super.hasFeature(feature);
|
|
74
74
|
}
|
|
75
75
|
}
|
|
@@ -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,8 +14,7 @@
|
|
|
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 { TYPES } from '
|
|
18
|
-
|
|
17
|
+
import { TYPES } from '../../base/types';
|
|
19
18
|
import { SaveModelKeyboardListener } from './save-keylistener';
|
|
20
19
|
|
|
21
20
|
/**
|
|
@@ -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
|
|
@@ -18,9 +18,9 @@ import { KeyListener, SModelRoot } from 'sprotty';
|
|
|
18
18
|
import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
|
|
19
19
|
|
|
20
20
|
export class SaveModelKeyboardListener extends KeyListener {
|
|
21
|
-
keyDown(_element: SModelRoot, event: KeyboardEvent): Action[] {
|
|
21
|
+
override keyDown(_element: SModelRoot, event: KeyboardEvent): Action[] {
|
|
22
22
|
if (matchesKeystroke(event, 'KeyS', 'ctrlCmd')) {
|
|
23
|
-
return [
|
|
23
|
+
return [SaveModelAction.create()];
|
|
24
24
|
}
|
|
25
25
|
return [];
|
|
26
26
|
}
|
|
@@ -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,22 +14,20 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { ContainerModule } from 'inversify';
|
|
17
|
-
import { configureCommand
|
|
18
|
-
|
|
19
|
-
import {
|
|
20
|
-
import { SelectAllFeedbackCommand, SelectFeedbackCommand } from './select-feedback-action';
|
|
17
|
+
import { configureCommand } from 'sprotty';
|
|
18
|
+
import { TYPES } from '../../base/types';
|
|
19
|
+
import { SelectFeedbackCommand } from './select-feedback-action';
|
|
21
20
|
import { RankedSelectMouseListener } from './select-mouse-listener';
|
|
22
21
|
import { SelectAllCommand, SelectCommand, SelectionService } from './selection-service';
|
|
23
22
|
|
|
24
23
|
const glspSelectModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
25
24
|
bind(SelectionService).toSelf().inSingletonScope();
|
|
26
|
-
bind(
|
|
25
|
+
bind(TYPES.SelectionService).toService(SelectionService);
|
|
27
26
|
configureCommand({ bind, isBound }, SelectCommand);
|
|
28
27
|
configureCommand({ bind, isBound }, SelectAllCommand);
|
|
29
28
|
configureCommand({ bind, isBound }, SelectFeedbackCommand);
|
|
30
|
-
configureCommand({ bind, isBound }, SelectAllFeedbackCommand);
|
|
31
29
|
bind(TYPES.MouseListener).to(RankedSelectMouseListener);
|
|
32
|
-
bind(
|
|
30
|
+
bind(TYPES.SModelRootListener).toService(SelectionService);
|
|
33
31
|
});
|
|
34
32
|
|
|
35
33
|
export default glspSelectModule;
|
|
@@ -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,39 +13,34 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { Action, hasArrayProp, SelectAction } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { inject, injectable } from 'inversify';
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
CommandExecutionContext,
|
|
20
|
-
SelectAllCommand as SprottySelectAllCommand,
|
|
21
|
-
SelectCommand as SprottySelectCommand,
|
|
22
|
-
SModelRoot,
|
|
23
|
-
TYPES
|
|
24
|
-
} from 'sprotty';
|
|
18
|
+
import { Command, CommandExecutionContext, SelectCommand as SprottySelectCommand, SModelRoot } from 'sprotty';
|
|
19
|
+
import { TYPES } from '../../base/types';
|
|
25
20
|
|
|
26
|
-
export
|
|
27
|
-
|
|
28
|
-
public readonly selectedElementsIDs: string[] = [],
|
|
29
|
-
public readonly deselectedElementsIDs: string[] = [],
|
|
30
|
-
public readonly kind: string = SelectFeedbackCommand.KIND
|
|
31
|
-
) {}
|
|
21
|
+
export interface SelectFeedbackAction extends Omit<SelectAction, 'kind'>, Action {
|
|
22
|
+
kind: typeof SelectFeedbackAction.KIND;
|
|
32
23
|
}
|
|
33
24
|
|
|
34
|
-
export
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
25
|
+
export namespace SelectFeedbackAction {
|
|
26
|
+
export const KIND = 'selectFeedback';
|
|
27
|
+
|
|
28
|
+
export function is(object: any): object is SelectFeedbackAction {
|
|
29
|
+
return Action.hasKind(object, KIND) && hasArrayProp(object, 'selectedElementsIDs') && hasArrayProp(object, 'deselectedElementsIDs');
|
|
30
|
+
}
|
|
40
31
|
|
|
32
|
+
export function create(options?: { selectedElementsIDs?: string[]; deselectedElementsIDs?: string[] }): SelectFeedbackAction {
|
|
33
|
+
return { ...SelectAction.create(options), kind: KIND };
|
|
34
|
+
}
|
|
35
|
+
}
|
|
41
36
|
@injectable()
|
|
42
37
|
export class SelectFeedbackCommand extends Command {
|
|
43
|
-
static readonly KIND =
|
|
38
|
+
static readonly KIND = SelectFeedbackAction.KIND;
|
|
44
39
|
private sprottySelectCommand: SprottySelectCommand;
|
|
45
40
|
|
|
46
41
|
constructor(@inject(TYPES.Action) public action: SelectFeedbackAction) {
|
|
47
42
|
super();
|
|
48
|
-
this.sprottySelectCommand = new SprottySelectCommand(action);
|
|
43
|
+
this.sprottySelectCommand = new SprottySelectCommand({ ...action, kind: SelectAction.KIND });
|
|
49
44
|
}
|
|
50
45
|
|
|
51
46
|
execute(context: CommandExecutionContext): SModelRoot {
|
|
@@ -60,26 +55,3 @@ export class SelectFeedbackCommand extends Command {
|
|
|
60
55
|
return this.sprottySelectCommand.redo(context);
|
|
61
56
|
}
|
|
62
57
|
}
|
|
63
|
-
|
|
64
|
-
@injectable()
|
|
65
|
-
export class SelectAllFeedbackCommand extends Command {
|
|
66
|
-
static readonly KIND = 'allSelectedFeedback';
|
|
67
|
-
private sprottySelectAllCommand: SprottySelectAllCommand;
|
|
68
|
-
|
|
69
|
-
constructor(@inject(TYPES.Action) public action: SelectAllFeedbackAction) {
|
|
70
|
-
super();
|
|
71
|
-
this.sprottySelectAllCommand = new SprottySelectAllCommand(action);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
execute(context: CommandExecutionContext): SModelRoot {
|
|
75
|
-
return this.sprottySelectAllCommand.execute(context);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
undo(context: CommandExecutionContext): SModelRoot {
|
|
79
|
-
return this.sprottySelectAllCommand.undo(context);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
redo(context: CommandExecutionContext): SModelRoot {
|
|
83
|
-
return this.sprottySelectAllCommand.redo(context);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
@@ -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,7 +14,6 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { SelectMouseListener } from 'sprotty';
|
|
17
|
-
|
|
18
17
|
import { DEFAULT_RANK, Ranked } from '../rank/model';
|
|
19
18
|
|
|
20
19
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020-
|
|
2
|
+
* Copyright (c) 2020-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
/* eslint-disable import/no-deprecated,no-unused-expressions */
|
|
17
|
-
import { Action } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { Action, SModelElementSchema } from '@eclipse-glsp/protocol';
|
|
18
18
|
import { AssertionError, expect } from 'chai';
|
|
19
19
|
import { Container, injectable } from 'inversify';
|
|
20
|
-
import { defaultModule, SGraphFactory,
|
|
21
|
-
import {
|
|
20
|
+
import { defaultModule, SGraphFactory, SModelRoot } from 'sprotty';
|
|
21
|
+
import { TYPES } from '../../base/types';
|
|
22
22
|
import { IFeedbackActionDispatcher, IFeedbackEmitter } from '../tool-feedback/feedback-action-dispatcher';
|
|
23
23
|
import { SelectFeedbackAction } from './select-feedback-action';
|
|
24
24
|
import { SelectionListener, SelectionService } from './selection-service';
|
|
@@ -74,14 +74,16 @@ class MockSelectionListener implements SelectionListener {
|
|
|
74
74
|
function createContainer(): Container {
|
|
75
75
|
const container = new Container();
|
|
76
76
|
container.load(defaultModule);
|
|
77
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
77
78
|
container.rebind(TYPES.IModelFactory).to(SGraphFactory).inSingletonScope();
|
|
78
|
-
container.bind(
|
|
79
|
+
container.bind(TYPES.IFeedbackActionDispatcher).to(MockFeedbackActionDispatcher).inSingletonScope();
|
|
79
80
|
container.bind(SelectionService).toSelf().inSingletonScope();
|
|
80
|
-
container.bind(
|
|
81
|
+
container.bind(TYPES.SelectionService).toService(SelectionService);
|
|
81
82
|
return container;
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
describe('SelectionService', () => {
|
|
86
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
85
87
|
let graphFactory: SGraphFactory;
|
|
86
88
|
let root: SModelRoot;
|
|
87
89
|
let selectionService: SelectionService;
|
|
@@ -89,10 +91,11 @@ describe('SelectionService', () => {
|
|
|
89
91
|
|
|
90
92
|
beforeEach(() => {
|
|
91
93
|
const container = createContainer();
|
|
94
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
92
95
|
graphFactory = container.get<SGraphFactory>(TYPES.IModelFactory);
|
|
93
96
|
root = createRoot('node1', 'node2', 'node3', 'node4', 'node5');
|
|
94
|
-
selectionService = container.get<SelectionService>(
|
|
95
|
-
feedbackDispatcher = container.get<MockFeedbackActionDispatcher>(
|
|
97
|
+
selectionService = container.get<SelectionService>(TYPES.SelectionService);
|
|
98
|
+
feedbackDispatcher = container.get<MockFeedbackActionDispatcher>(TYPES.IFeedbackActionDispatcher);
|
|
96
99
|
});
|
|
97
100
|
|
|
98
101
|
describe('Initial State', () => {
|
|
@@ -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
|
|
@@ -20,17 +20,17 @@ import {
|
|
|
20
20
|
CommandExecutionContext,
|
|
21
21
|
ILogger,
|
|
22
22
|
isSelectable,
|
|
23
|
-
isSelected,
|
|
24
23
|
SChildElement,
|
|
24
|
+
Selectable,
|
|
25
25
|
SelectAllCommand as SprottySelectAllCommand,
|
|
26
26
|
SelectCommand as SprottySelectCommand,
|
|
27
27
|
SModelElement,
|
|
28
28
|
SModelRoot,
|
|
29
|
-
SParentElement
|
|
30
|
-
TYPES
|
|
29
|
+
SParentElement
|
|
31
30
|
} from 'sprotty';
|
|
32
31
|
import { SModelRootListener } from '../../base/model/update-model-command';
|
|
33
|
-
import {
|
|
32
|
+
import { TYPES } from '../../base/types';
|
|
33
|
+
import { getElements } from '../../utils/smodel-util';
|
|
34
34
|
import { IFeedbackActionDispatcher } from '../tool-feedback/feedback-action-dispatcher';
|
|
35
35
|
import { SelectFeedbackAction } from './select-feedback-action';
|
|
36
36
|
|
|
@@ -43,10 +43,10 @@ export class SelectionService implements SModelRootListener {
|
|
|
43
43
|
private root: Readonly<SModelRoot>;
|
|
44
44
|
private selectedElementIDs: Set<string> = new Set();
|
|
45
45
|
|
|
46
|
-
@inject(
|
|
46
|
+
@inject(TYPES.IFeedbackActionDispatcher) protected feedbackDispatcher: IFeedbackActionDispatcher;
|
|
47
47
|
@inject(TYPES.ILogger) protected logger: ILogger;
|
|
48
48
|
|
|
49
|
-
constructor(@multiInject(
|
|
49
|
+
constructor(@multiInject(TYPES.SelectionListener) @optional() protected selectionListeners: SelectionListener[] = []) {}
|
|
50
50
|
|
|
51
51
|
register(selectionListener: SelectionListener): void {
|
|
52
52
|
distinctAdd(this.selectionListeners, selectionListener);
|
|
@@ -100,7 +100,12 @@ export class SelectionService implements SModelRootListener {
|
|
|
100
100
|
![...prevSelectedElementIDs].every(value => this.selectedElementIDs.has(value));
|
|
101
101
|
if (selectionChanged) {
|
|
102
102
|
// aggregate to feedback action handling all elements as only the last feedback is restored
|
|
103
|
-
this.dispatchFeedback([
|
|
103
|
+
this.dispatchFeedback([
|
|
104
|
+
SelectFeedbackAction.create({
|
|
105
|
+
selectedElementsIDs: [...this.selectedElementIDs],
|
|
106
|
+
deselectedElementsIDs: [...deselectedElementIDs]
|
|
107
|
+
})
|
|
108
|
+
]);
|
|
104
109
|
}
|
|
105
110
|
|
|
106
111
|
const rootChanged = prevRoot !== root;
|
|
@@ -122,8 +127,8 @@ export class SelectionService implements SModelRootListener {
|
|
|
122
127
|
return this.root;
|
|
123
128
|
}
|
|
124
129
|
|
|
125
|
-
getSelectedElements(): Readonly<SModelElement>[] {
|
|
126
|
-
return
|
|
130
|
+
getSelectedElements(): Readonly<SModelElement & Selectable>[] {
|
|
131
|
+
return getElements(this.root.index, Array.from(this.selectedElementIDs), isSelectable);
|
|
127
132
|
}
|
|
128
133
|
|
|
129
134
|
/**
|
|
@@ -156,7 +161,7 @@ export class SelectCommand extends Command {
|
|
|
156
161
|
|
|
157
162
|
constructor(
|
|
158
163
|
@inject(TYPES.Action) public action: SelectAction,
|
|
159
|
-
@inject(
|
|
164
|
+
@inject(TYPES.SelectionService) public selectionService: SelectionService
|
|
160
165
|
) {
|
|
161
166
|
super();
|
|
162
167
|
}
|
|
@@ -200,7 +205,7 @@ export class SelectAllCommand extends Command {
|
|
|
200
205
|
|
|
201
206
|
constructor(
|
|
202
207
|
@inject(TYPES.Action) public action: SelectAllAction,
|
|
203
|
-
@inject(
|
|
208
|
+
@inject(TYPES.SelectionService) public selectionService: SelectionService
|
|
204
209
|
) {
|
|
205
210
|
super();
|
|
206
211
|
}
|