@eclipse-glsp/client 0.10.0-next.ca17587.154 → 1.1.0-RC01
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/decoration.css +5 -1
- package/css/glsp-sprotty.css +149 -8
- package/css/tool-palette.css +2 -2
- package/lib/base/action-dispatcher.d.ts +4 -3
- package/lib/base/action-dispatcher.d.ts.map +1 -1
- package/lib/base/action-dispatcher.js +22 -12
- package/lib/base/action-dispatcher.js.map +1 -1
- package/lib/base/actions/focus-change-action.d.ts +16 -7
- package/lib/base/actions/focus-change-action.d.ts.map +1 -1
- package/lib/base/actions/focus-change-action.js +31 -12
- package/lib/base/actions/focus-change-action.js.map +1 -1
- package/lib/base/actions/sprotty-actions.d.ts +7 -0
- package/lib/base/actions/sprotty-actions.d.ts.map +1 -0
- package/lib/{features/tool-palette/palette-item.js → base/actions/sprotty-actions.js} +4 -20
- package/lib/base/actions/sprotty-actions.js.map +1 -0
- package/lib/base/auto-complete/auto-complete-actions.d.ts +5 -3
- package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-actions.js +24 -5
- package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.d.ts +9 -2
- package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.js +16 -9
- package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
- package/lib/base/auto-complete/validation-decorator.js +2 -2
- package/lib/base/auto-complete/validation-decorator.js.map +1 -1
- package/lib/base/command-stack.d.ts.map +1 -1
- package/lib/base/command-stack.js +6 -5
- package/lib/base/command-stack.js.map +1 -1
- package/lib/base/container-modules.d.ts.map +1 -1
- package/lib/base/container-modules.js +10 -9
- package/lib/base/container-modules.js.map +1 -1
- package/lib/base/di.config.d.ts +1 -1
- package/lib/base/di.config.d.ts.map +1 -1
- package/lib/base/di.config.js +13 -14
- package/lib/base/di.config.js.map +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
- package/lib/base/drag-aware-mouse-listener.js.map +1 -1
- package/lib/base/editor-context-service.d.ts +15 -4
- package/lib/base/editor-context-service.d.ts.map +1 -1
- package/lib/base/editor-context-service.js +31 -19
- package/lib/base/editor-context-service.js.map +1 -1
- package/lib/base/focus-tracker.d.ts +1 -1
- package/lib/base/focus-tracker.d.ts.map +1 -1
- package/lib/base/focus-tracker.js +4 -4
- package/lib/base/focus-tracker.js.map +1 -1
- package/lib/base/model/model-registry.d.ts.map +1 -1
- package/lib/base/model/model-registry.js +2 -2
- package/lib/base/model/model-registry.js.map +1 -1
- package/lib/base/model/update-model-command.d.ts +15 -8
- package/lib/base/model/update-model-command.d.ts.map +1 -1
- package/lib/base/model/update-model-command.js +43 -53
- package/lib/base/model/update-model-command.js.map +1 -1
- package/lib/base/model-initialization-constraint.d.ts +4 -5
- package/lib/base/model-initialization-constraint.d.ts.map +1 -1
- package/lib/base/model-initialization-constraint.js +11 -13
- package/lib/base/model-initialization-constraint.js.map +1 -1
- package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
- package/lib/base/selection-clearing-mouse-listener.js +1 -1
- package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
- package/lib/base/source-uri-aware.d.ts +2 -17
- package/lib/base/source-uri-aware.d.ts.map +1 -1
- package/lib/base/source-uri-aware.js +4 -6
- package/lib/base/source-uri-aware.js.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.d.ts +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.js +10 -10
- package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
- package/lib/base/tool-manager/tool-actions.d.ts +14 -0
- package/lib/base/tool-manager/tool-actions.d.ts.map +1 -0
- package/lib/base/tool-manager/tool-actions.js +25 -0
- package/lib/base/tool-manager/tool-actions.js.map +1 -0
- package/lib/base/types.d.ts +146 -20
- package/lib/base/types.d.ts.map +1 -1
- package/lib/base/types.js +14 -26
- package/lib/base/types.js.map +1 -1
- package/lib/base/view/view-registry.d.ts.map +1 -1
- package/lib/base/view/view-registry.js +2 -2
- package/lib/base/view/view-registry.js.map +1 -1
- package/lib/features/change-bounds/model.d.ts +1 -1
- package/lib/features/change-bounds/model.d.ts.map +1 -1
- package/lib/features/change-bounds/model.js +3 -3
- package/lib/features/change-bounds/model.js.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts +37 -7
- package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +55 -40
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/change-bounds/snap.d.ts +60 -4
- package/lib/features/change-bounds/snap.d.ts.map +1 -1
- package/lib/features/change-bounds/snap.js +96 -9
- package/lib/features/change-bounds/snap.js.map +1 -1
- package/lib/features/change-bounds/snap.spec.d.ts +17 -0
- package/lib/features/change-bounds/snap.spec.d.ts.map +1 -0
- package/lib/features/change-bounds/snap.spec.js +82 -0
- package/lib/features/change-bounds/snap.spec.js.map +1 -0
- package/lib/features/command-palette/command-palette-tool.js +3 -3
- package/lib/features/command-palette/command-palette-tool.js.map +1 -1
- package/lib/features/command-palette/di.config.d.ts +2 -2
- package/lib/features/command-palette/di.config.d.ts.map +1 -1
- package/lib/features/command-palette/di.config.js +6 -6
- package/lib/features/command-palette/di.config.js.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -1
- package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.js +13 -10
- package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.d.ts +17 -1
- package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.js +4 -4
- package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
- package/lib/features/context-menu/di.config.d.ts +1 -1
- package/lib/features/context-menu/di.config.d.ts.map +1 -1
- package/lib/features/context-menu/di.config.js +8 -7
- package/lib/features/context-menu/di.config.js.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +34 -4
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +37 -31
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -1
- package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.js +8 -7
- package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts +12 -15
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.js +26 -33
- package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.d.ts +1 -1
- package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.js +10 -11
- package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
- package/lib/features/copy-paste/di.config.d.ts +1 -1
- package/lib/features/copy-paste/di.config.d.ts.map +1 -1
- package/lib/features/copy-paste/di.config.js +5 -7
- package/lib/features/copy-paste/di.config.js.map +1 -1
- package/lib/features/decoration/decoration-placer.d.ts +1 -1
- package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
- package/lib/features/decoration/decoration-placer.js +19 -3
- package/lib/features/decoration/decoration-placer.js.map +1 -1
- package/lib/features/decoration/di.config.d.ts +2 -2
- package/lib/features/decoration/di.config.d.ts.map +1 -1
- package/lib/features/decoration/di.config.js +4 -4
- package/lib/features/decoration/di.config.js.map +1 -1
- package/lib/features/edit-label/di.config.d.ts +1 -1
- package/lib/features/edit-label/di.config.d.ts.map +1 -1
- package/lib/features/edit-label/di.config.js +5 -5
- package/lib/features/edit-label/di.config.js.map +1 -1
- package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -1
- package/lib/features/edit-label/edit-label-tool.js +2 -2
- package/lib/features/edit-label/edit-label-tool.js.map +1 -1
- package/lib/features/edit-label/edit-label-validator.d.ts +4 -6
- package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
- package/lib/features/edit-label/edit-label-validator.js +11 -13
- package/lib/features/edit-label/edit-label-validator.js.map +1 -1
- package/lib/features/hints/di.config.js +4 -4
- package/lib/features/hints/di.config.js.map +1 -1
- package/lib/features/hints/type-hints.d.ts +15 -5
- package/lib/features/hints/type-hints.d.ts.map +1 -1
- package/lib/features/hints/type-hints.js +29 -26
- package/lib/features/hints/type-hints.js.map +1 -1
- package/lib/features/hover/di.config.d.ts +1 -1
- package/lib/features/hover/di.config.d.ts.map +1 -1
- package/lib/features/hover/di.config.js +14 -10
- package/lib/features/hover/di.config.js.map +1 -1
- package/lib/features/hover/hover.d.ts +16 -5
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +44 -19
- package/lib/features/hover/hover.js.map +1 -1
- package/lib/features/layout/di.config.d.ts +3 -3
- package/lib/features/layout/di.config.d.ts.map +1 -1
- package/lib/features/layout/di.config.js +12 -7
- package/lib/features/layout/di.config.js.map +1 -1
- package/lib/features/layout/freeform-layout.d.ts +17 -1
- package/lib/features/layout/freeform-layout.d.ts.map +1 -1
- package/lib/features/layout/freeform-layout.js +4 -4
- package/lib/features/layout/freeform-layout.js.map +1 -1
- package/lib/features/layout/hbox-layout.d.ts +41 -0
- package/lib/features/layout/hbox-layout.d.ts.map +1 -0
- package/lib/features/layout/hbox-layout.js +201 -0
- package/lib/features/layout/hbox-layout.js.map +1 -0
- package/lib/features/layout/layout-elements-action.d.ts +198 -0
- package/lib/features/layout/layout-elements-action.d.ts.map +1 -0
- package/lib/features/layout/layout-elements-action.js +391 -0
- package/lib/features/layout/layout-elements-action.js.map +1 -0
- package/lib/features/layout/layout-elements-action.spec.d.ts +3 -0
- package/lib/features/layout/layout-elements-action.spec.d.ts.map +1 -0
- package/lib/features/layout/{layout-commands.spec.js → layout-elements-action.spec.js} +81 -62
- package/lib/features/layout/layout-elements-action.spec.js.map +1 -0
- package/lib/features/layout/layouter.d.ts +37 -0
- package/lib/features/layout/layouter.d.ts.map +1 -0
- package/lib/features/layout/layouter.js +131 -0
- package/lib/features/layout/layouter.js.map +1 -0
- package/lib/features/layout/tests/freeform-layout.spec.d.ts +3 -0
- package/lib/features/layout/tests/freeform-layout.spec.d.ts.map +1 -0
- package/lib/features/layout/tests/freeform-layout.spec.js +201 -0
- package/lib/features/layout/tests/freeform-layout.spec.js.map +1 -0
- package/lib/features/layout/tests/hbox-layout.spec.d.ts +3 -0
- package/lib/features/layout/tests/hbox-layout.spec.d.ts.map +1 -0
- package/lib/features/layout/tests/hbox-layout.spec.js +161 -0
- package/lib/features/layout/tests/hbox-layout.spec.js.map +1 -0
- package/lib/features/layout/tests/layouter-test-util.d.ts +34 -0
- package/lib/features/layout/tests/layouter-test-util.d.ts.map +1 -0
- package/lib/features/layout/tests/layouter-test-util.js +96 -0
- package/lib/features/layout/tests/layouter-test-util.js.map +1 -0
- package/lib/features/layout/tests/vbox-layout.spec.d.ts +3 -0
- package/lib/features/layout/tests/vbox-layout.spec.d.ts.map +1 -0
- package/lib/features/layout/tests/vbox-layout.spec.js +161 -0
- package/lib/features/layout/tests/vbox-layout.spec.js.map +1 -0
- package/lib/features/layout/vbox-layout.d.ts +18 -2
- package/lib/features/layout/vbox-layout.d.ts.map +1 -1
- package/lib/features/layout/vbox-layout.js +26 -13
- package/lib/features/layout/vbox-layout.js.map +1 -1
- package/lib/features/mouse-tool/di.config.d.ts +1 -1
- package/lib/features/mouse-tool/di.config.d.ts.map +1 -1
- package/lib/features/mouse-tool/di.config.js +2 -2
- package/lib/features/mouse-tool/di.config.js.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts +9 -6
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js +10 -48
- package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
- package/lib/features/navigation/di.config.js +4 -4
- package/lib/features/navigation/di.config.js.map +1 -1
- package/lib/features/navigation/navigation-action-handler.d.ts +31 -16
- package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
- package/lib/features/navigation/navigation-action-handler.js +52 -68
- package/lib/features/navigation/navigation-action-handler.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.d.ts +3 -3
- package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.js +8 -9
- package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.js +12 -12
- package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
- package/lib/features/reconnect/model.d.ts +1 -1
- package/lib/features/reconnect/model.d.ts.map +1 -1
- package/lib/features/reconnect/model.js +1 -1
- package/lib/features/reconnect/model.js.map +1 -1
- package/lib/features/save/di.config.d.ts +1 -1
- package/lib/features/save/di.config.d.ts.map +1 -1
- package/lib/features/save/di.config.js +3 -3
- package/lib/features/save/di.config.js.map +1 -1
- package/lib/features/save/save-keylistener.d.ts +1 -1
- package/lib/features/save/save-keylistener.d.ts.map +1 -1
- package/lib/features/save/save-keylistener.js +3 -3
- package/lib/features/save/save-keylistener.js.map +1 -1
- package/lib/features/select/di.config.d.ts +1 -1
- package/lib/features/select/di.config.d.ts.map +1 -1
- package/lib/features/select/di.config.js +7 -8
- package/lib/features/select/di.config.js.map +1 -1
- package/lib/features/select/select-feedback-action.d.ts +26 -22
- package/lib/features/select/select-feedback-action.d.ts.map +1 -1
- package/lib/features/select/select-feedback-action.js +19 -46
- package/lib/features/select/select-feedback-action.js.map +1 -1
- package/lib/features/select/select-mouse-listener.d.ts +4 -2
- package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
- package/lib/features/select/select-mouse-listener.js +63 -1
- package/lib/features/select/select-mouse-listener.js.map +1 -1
- package/lib/features/select/selection-service.d.ts +14 -5
- package/lib/features/select/selection-service.d.ts.map +1 -1
- package/lib/features/select/selection-service.js +55 -64
- package/lib/features/select/selection-service.js.map +1 -1
- package/lib/features/select/selection-service.spec.js +28 -25
- package/lib/features/select/selection-service.spec.js.map +1 -1
- package/lib/features/source-model-watcher/di.config.d.ts +4 -0
- package/lib/features/{model-source-watcher → source-model-watcher}/di.config.d.ts.map +1 -1
- package/lib/features/{model-source-watcher → source-model-watcher}/di.config.js +4 -4
- package/lib/features/source-model-watcher/di.config.js.map +1 -0
- package/lib/features/{model-source-watcher/model-source-changed-action-handler.d.ts → source-model-watcher/source-model-changed-action-handler.d.ts} +10 -10
- package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts.map +1 -0
- package/lib/features/{model-source-watcher/model-source-changed-action-handler.js → source-model-watcher/source-model-changed-action-handler.js} +28 -28
- package/lib/features/source-model-watcher/source-model-changed-action-handler.js.map +1 -0
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +17 -9
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +68 -38
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts +24 -12
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +88 -35
- package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/css-feedback.d.ts +17 -10
- package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/css-feedback.js +42 -38
- package/lib/features/tool-feedback/css-feedback.js.map +1 -1
- package/lib/features/tool-feedback/di.config.d.ts +1 -1
- package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
- package/lib/features/tool-feedback/di.config.js +18 -18
- package/lib/features/tool-feedback/di.config.js.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +45 -22
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +147 -114
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +2 -2
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.js +4 -4
- package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +21 -10
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.js +44 -18
- package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/model.d.ts +1 -2
- package/lib/features/tool-feedback/model.d.ts.map +1 -1
- package/lib/features/tool-feedback/model.js +1 -1
- package/lib/features/tool-feedback/model.js.map +1 -1
- package/lib/features/tool-feedback/view.d.ts +1 -1
- package/lib/features/tool-feedback/view.d.ts.map +1 -1
- package/lib/features/tool-feedback/view.js +22 -5
- package/lib/features/tool-feedback/view.js.map +1 -1
- package/lib/features/tool-palette/di.config.d.ts +1 -1
- package/lib/features/tool-palette/di.config.d.ts.map +1 -1
- package/lib/features/tool-palette/di.config.js +5 -4
- package/lib/features/tool-palette/di.config.js.map +1 -1
- package/lib/features/tool-palette/tool-palette.d.ts +10 -7
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +39 -32
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/base-glsp-tool.d.ts +3 -3
- package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
- package/lib/features/tools/base-glsp-tool.js +11 -11
- package/lib/features/tools/base-glsp-tool.js.map +1 -1
- package/lib/features/tools/change-bounds-tool.d.ts +7 -9
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds-tool.js +48 -71
- package/lib/features/tools/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/delete-tool.d.ts +1 -1
- package/lib/features/tools/delete-tool.d.ts.map +1 -1
- package/lib/features/tools/delete-tool.js +17 -17
- package/lib/features/tools/delete-tool.js.map +1 -1
- package/lib/features/tools/di.config.d.ts +9 -2
- package/lib/features/tools/di.config.d.ts.map +1 -1
- package/lib/features/tools/di.config.js +26 -15
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-creation-tool.js +28 -21
- package/lib/features/tools/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.d.ts +3 -2
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit-tool.js +41 -36
- package/lib/features/tools/edge-edit-tool.js.map +1 -1
- package/lib/features/{tool-palette/palette-item.d.ts → tools/enable-default-tools-on-focus-loss.d.ts} +11 -11
- package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +1 -0
- package/lib/features/tools/enable-default-tools-on-focus-loss.js +29 -0
- package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +1 -0
- package/lib/features/tools/marquee-behavior.d.ts +1 -1
- package/lib/features/tools/marquee-behavior.js +2 -2
- package/lib/features/tools/marquee-behavior.js.map +1 -1
- package/lib/features/tools/marquee-behavior.spec.js +63 -63
- package/lib/features/tools/marquee-behavior.spec.js.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.d.ts +1 -1
- package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.js +20 -20
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
- package/lib/features/tools/marquee-tool.d.ts +1 -1
- package/lib/features/tools/marquee-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-tool.js +4 -4
- package/lib/features/tools/marquee-tool.js.map +1 -1
- package/lib/features/tools/model.d.ts +3 -2
- package/lib/features/tools/model.d.ts.map +1 -1
- package/lib/features/tools/model.js +0 -15
- package/lib/features/tools/model.js.map +1 -1
- package/lib/features/tools/node-creation-tool.d.ts +1 -1
- package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/node-creation-tool.js +17 -17
- package/lib/features/tools/node-creation-tool.js.map +1 -1
- package/lib/features/tools/view.d.ts.map +1 -1
- package/lib/features/tools/view.js +2 -2
- package/lib/features/tools/view.js.map +1 -1
- package/lib/features/validation/di.config.d.ts +0 -15
- package/lib/features/validation/di.config.d.ts.map +1 -1
- package/lib/features/validation/di.config.js +9 -7
- package/lib/features/validation/di.config.js.map +1 -1
- package/lib/features/validation/issue-marker.d.ts +11 -5
- package/lib/features/validation/issue-marker.d.ts.map +1 -1
- package/lib/features/validation/issue-marker.js +25 -5
- package/lib/features/validation/issue-marker.js.map +1 -1
- package/lib/features/validation/marker-navigator.d.ts +27 -25
- package/lib/features/validation/marker-navigator.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.js +64 -91
- package/lib/features/validation/marker-navigator.js.map +1 -1
- package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.spec.js +23 -37
- package/lib/features/validation/marker-navigator.spec.js.map +1 -1
- package/lib/features/validation/validate.d.ts +17 -30
- package/lib/features/validation/validate.d.ts.map +1 -1
- package/lib/features/validation/validate.js +66 -91
- package/lib/features/validation/validate.js.map +1 -1
- package/lib/features/viewport/di.config.d.ts +1 -1
- package/lib/features/viewport/di.config.d.ts.map +1 -1
- package/lib/features/viewport/di.config.js +7 -7
- package/lib/features/viewport/di.config.js.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.js +3 -3
- package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
- package/lib/index.d.ts +10 -11
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +26 -22
- package/lib/index.js.map +1 -1
- package/lib/lib/model.d.ts +3 -2
- package/lib/lib/model.d.ts.map +1 -1
- package/lib/lib/model.js +3 -18
- package/lib/lib/model.js.map +1 -1
- package/lib/model-source/glsp-diagram-server.d.ts +6 -6
- package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
- package/lib/model-source/glsp-diagram-server.js +8 -7
- package/lib/model-source/glsp-diagram-server.js.map +1 -1
- package/lib/sprotty-reexport.d.ts +174 -0
- package/lib/sprotty-reexport.d.ts.map +1 -0
- package/lib/sprotty-reexport.js +301 -0
- package/lib/sprotty-reexport.js.map +1 -0
- package/lib/utils/argument-utils.js +5 -5
- package/lib/utils/argument-utils.js.map +1 -1
- package/lib/utils/layout-utils.d.ts +6 -22
- package/lib/utils/layout-utils.d.ts.map +1 -1
- package/lib/utils/layout-utils.js +1 -1
- package/lib/utils/layout-utils.js.map +1 -1
- package/lib/utils/smodel-util.d.ts +117 -11
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +142 -37
- package/lib/utils/smodel-util.js.map +1 -1
- package/lib/utils/viewpoint-util.d.ts +3 -3
- package/lib/utils/viewpoint-util.d.ts.map +1 -1
- package/lib/utils/viewpoint-util.js +19 -3
- package/lib/utils/viewpoint-util.js.map +1 -1
- package/lib/views/base-view-module.d.ts.map +1 -1
- package/lib/views/base-view-module.js +21 -19
- package/lib/views/base-view-module.js.map +1 -1
- package/lib/views/compartments.js +2 -2
- package/lib/views/compartments.js.map +1 -1
- package/lib/views/glsp-edge-view.d.ts +1 -1
- package/lib/views/glsp-edge-view.d.ts.map +1 -1
- package/lib/views/glsp-edge-view.js +1 -1
- package/lib/views/glsp-edge-view.js.map +1 -1
- package/lib/views/glsp-projection-view.d.ts +30 -0
- package/lib/views/glsp-projection-view.d.ts.map +1 -0
- package/lib/views/glsp-projection-view.js +148 -0
- package/lib/views/glsp-projection-view.js.map +1 -0
- package/lib/views/index.d.ts +1 -0
- package/lib/views/index.d.ts.map +1 -1
- package/lib/views/index.js +7 -2
- package/lib/views/index.js.map +1 -1
- package/lib/views/issue-marker-view.d.ts.map +1 -1
- package/lib/views/issue-marker-view.js +3 -3
- package/lib/views/issue-marker-view.js.map +1 -1
- package/lib/views/rounded-corner-view.d.ts.map +1 -1
- package/lib/views/rounded-corner-view.js +2 -2
- package/lib/views/rounded-corner-view.js.map +1 -1
- package/package.json +10 -19
- package/src/base/action-dispatcher.ts +26 -16
- package/src/base/actions/focus-change-action.ts +25 -8
- package/src/base/actions/sprotty-actions.ts +26 -0
- package/src/base/auto-complete/auto-complete-actions.ts +7 -5
- package/src/base/auto-complete/auto-complete-widget.ts +15 -13
- package/src/base/command-stack.ts +7 -6
- package/src/base/container-modules.ts +6 -5
- package/src/base/di.config.ts +4 -5
- package/src/base/drag-aware-mouse-listener.ts +4 -4
- package/src/base/editor-context-service.ts +32 -12
- package/src/base/focus-tracker.ts +5 -4
- package/src/base/model/model-registry.ts +2 -2
- package/src/base/model/update-model-command.ts +54 -41
- package/src/base/model-initialization-constraint.ts +9 -11
- package/src/base/selection-clearing-mouse-listener.ts +1 -1
- package/src/base/source-uri-aware.ts +5 -4
- package/src/base/tool-manager/glsp-tool-manager.ts +9 -9
- package/src/base/tool-manager/tool-actions.ts +37 -0
- package/src/base/types.ts +31 -24
- package/src/base/view/view-registry.ts +2 -2
- package/src/features/change-bounds/model.ts +5 -5
- package/src/features/change-bounds/movement-restrictor.ts +74 -44
- package/src/features/change-bounds/snap.spec.ts +89 -0
- package/src/features/change-bounds/snap.ts +99 -12
- package/src/features/command-palette/di.config.ts +5 -7
- package/src/features/command-palette/server-command-palette-provider.ts +9 -8
- package/src/features/context-menu/delete-element-context-menu.ts +6 -6
- package/src/features/context-menu/di.config.ts +3 -2
- package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +51 -29
- package/src/features/context-menu/server-context-menu-provider.ts +7 -6
- package/src/features/copy-paste/copy-paste-context-menu.ts +30 -23
- package/src/features/copy-paste/copy-paste-handler.ts +6 -6
- package/src/features/copy-paste/di.config.ts +7 -15
- package/src/features/decoration/decoration-placer.ts +4 -4
- package/src/features/decoration/di.config.ts +3 -5
- package/src/features/edit-label/di.config.ts +4 -5
- package/src/features/edit-label/edit-label-tool.ts +1 -2
- package/src/features/edit-label/edit-label-validator.ts +6 -10
- package/src/features/hints/di.config.ts +3 -3
- package/src/features/hints/type-hints.ts +33 -18
- package/src/features/hover/di.config.ts +8 -2
- package/src/features/hover/hover.ts +48 -28
- package/src/features/layout/di.config.ts +17 -7
- package/src/features/layout/freeform-layout.ts +6 -15
- package/src/features/layout/hbox-layout.ts +273 -0
- package/src/features/layout/{layout-commands.spec.ts → layout-elements-action.spec.ts} +89 -65
- package/src/features/layout/layout-elements-action.ts +486 -0
- package/src/features/layout/layouter.ts +137 -0
- package/src/features/layout/tests/freeform-layout.spec.ts +216 -0
- package/src/features/layout/tests/hbox-layout.spec.ts +171 -0
- package/src/features/layout/tests/layouter-test-util.ts +122 -0
- package/src/features/layout/tests/vbox-layout.spec.ts +171 -0
- package/src/features/layout/vbox-layout.ts +41 -24
- package/src/features/mouse-tool/di.config.ts +3 -4
- package/src/features/mouse-tool/mouse-tool.ts +18 -57
- package/src/features/navigation/navigation-action-handler.ts +76 -42
- package/src/features/navigation/navigation-target-resolver.spec.ts +3 -3
- package/src/features/navigation/navigation-target-resolver.ts +8 -13
- package/src/features/reconnect/model.ts +2 -2
- package/src/features/save/di.config.ts +2 -3
- package/src/features/save/save-keylistener.ts +3 -3
- package/src/features/select/di.config.ts +6 -8
- package/src/features/select/select-feedback-action.ts +18 -46
- package/src/features/select/select-mouse-listener.ts +82 -3
- package/src/features/select/selection-service.spec.ts +12 -9
- package/src/features/select/selection-service.ts +52 -60
- package/src/features/{model-source-watcher → source-model-watcher}/di.config.ts +5 -5
- package/src/features/{model-source-watcher/model-source-changed-action-handler.ts → source-model-watcher/source-model-changed-action-handler.ts} +17 -22
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +52 -22
- package/src/features/tool-feedback/creation-tool-feedback.ts +79 -30
- package/src/features/tool-feedback/css-feedback.ts +40 -37
- package/src/features/tool-feedback/di.config.ts +4 -5
- package/src/features/tool-feedback/edge-edit-tool-feedback.ts +140 -88
- package/src/features/tool-feedback/feedback-action-dispatcher.ts +4 -3
- package/src/features/tool-feedback/marquee-tool-feedback.ts +38 -13
- package/src/features/tool-feedback/model.ts +1 -3
- package/src/features/tool-feedback/view.tsx +3 -3
- package/src/features/tool-palette/di.config.ts +3 -2
- package/src/features/tool-palette/tool-palette.ts +35 -19
- package/src/features/tools/base-glsp-tool.ts +11 -11
- package/src/features/tools/change-bounds-tool.ts +37 -67
- package/src/features/tools/delete-tool.ts +9 -9
- package/src/features/tools/di.config.ts +23 -12
- package/src/features/tools/edge-creation-tool.ts +21 -12
- package/src/features/tools/edge-edit-tool.ts +25 -21
- package/src/features/tools/enable-default-tools-on-focus-loss.ts +33 -0
- package/src/features/tools/marquee-behavior.ts +2 -2
- package/src/features/tools/marquee-mouse-tool.ts +13 -14
- package/src/features/tools/marquee-tool.ts +3 -3
- package/src/features/tools/model.ts +4 -3
- package/src/features/tools/node-creation-tool.ts +8 -8
- package/src/features/tools/view.tsx +2 -3
- package/src/features/validation/di.config.ts +13 -11
- package/src/features/validation/issue-marker.ts +34 -12
- package/src/features/validation/marker-navigator.spec.ts +4 -2
- package/src/features/validation/marker-navigator.ts +67 -82
- package/src/features/validation/validate.ts +62 -90
- package/src/features/viewport/di.config.ts +1 -2
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +5 -5
- package/src/index.ts +12 -12
- package/src/lib/model.ts +4 -4
- package/src/model-source/glsp-diagram-server.ts +15 -15
- package/src/sprotty-reexport.ts +288 -0
- package/src/utils/layout-utils.ts +9 -29
- package/src/utils/smodel-util.ts +139 -43
- package/src/utils/viewpoint-util.ts +5 -14
- package/src/views/base-view-module.ts +5 -1
- package/src/views/compartments.tsx +1 -1
- package/src/views/glsp-edge-view.tsx +4 -4
- package/src/views/glsp-projection-view.tsx +173 -0
- package/src/views/index.ts +2 -0
- package/src/views/issue-marker-view.tsx +2 -2
- package/src/views/rounded-corner-view.tsx +2 -3
- package/lib/features/layout/layout-commands.d.ts +0 -153
- package/lib/features/layout/layout-commands.d.ts.map +0 -1
- package/lib/features/layout/layout-commands.js +0 -412
- package/lib/features/layout/layout-commands.js.map +0 -1
- package/lib/features/layout/layout-commands.spec.d.ts +0 -3
- package/lib/features/layout/layout-commands.spec.d.ts.map +0 -1
- package/lib/features/layout/layout-commands.spec.js.map +0 -1
- package/lib/features/model-source-watcher/di.config.d.ts +0 -4
- package/lib/features/model-source-watcher/di.config.js.map +0 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +0 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +0 -1
- package/lib/features/tool-palette/palette-item.d.ts.map +0 -1
- package/lib/features/tool-palette/palette-item.js.map +0 -1
- package/lib/protocol-reexport.d.ts +0 -45
- package/lib/protocol-reexport.d.ts.map +0 -1
- package/lib/protocol-reexport.js +0 -75
- package/lib/protocol-reexport.js.map +0 -1
- package/src/features/layout/layout-commands.ts +0 -424
- package/src/features/tool-palette/palette-item.ts +0 -38
- package/src/protocol-reexport.ts +0 -64
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -15,19 +15,20 @@
|
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { RedoOperation, UndoOperation } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
|
-
import { CommandStack, IActionDispatcher, SModelRoot
|
|
18
|
+
import { CommandStack, IActionDispatcher, SModelRoot } from 'sprotty';
|
|
19
|
+
import { TYPES } from './types';
|
|
19
20
|
|
|
20
21
|
@injectable()
|
|
21
22
|
export class GLSPCommandStack extends CommandStack {
|
|
22
23
|
@inject(TYPES.IActionDispatcherProvider) protected actionDispatcher: () => Promise<IActionDispatcher>;
|
|
23
24
|
|
|
24
|
-
undo(): Promise<SModelRoot> {
|
|
25
|
-
this.actionDispatcher().then(dispatcher => dispatcher.dispatch(
|
|
25
|
+
override undo(): Promise<SModelRoot> {
|
|
26
|
+
this.actionDispatcher().then(dispatcher => dispatcher.dispatch(UndoOperation.create()));
|
|
26
27
|
return this.thenUpdate();
|
|
27
28
|
}
|
|
28
29
|
|
|
29
|
-
redo(): Promise<SModelRoot> {
|
|
30
|
-
this.actionDispatcher().then(dispatcher => dispatcher.dispatch(
|
|
30
|
+
override redo(): Promise<SModelRoot> {
|
|
31
|
+
this.actionDispatcher().then(dispatcher => dispatcher.dispatch(RedoOperation.create()));
|
|
31
32
|
return this.thenUpdate();
|
|
32
33
|
}
|
|
33
34
|
}
|
|
@@ -37,14 +37,14 @@ import glspDecorationModule from '../features/decoration/di.config';
|
|
|
37
37
|
import glspEditLabelModule from '../features/edit-label/di.config';
|
|
38
38
|
import modelHintsModule from '../features/hints/di.config';
|
|
39
39
|
import glspHoverModule from '../features/hover/di.config';
|
|
40
|
-
import
|
|
41
|
-
import modelSourceWatcherModule from '../features/model-source-watcher/di.config';
|
|
40
|
+
import layoutModule from '../features/layout/di.config';
|
|
42
41
|
import glspMouseToolModule from '../features/mouse-tool/di.config';
|
|
43
42
|
import { navigationModule } from '../features/navigation/di.config';
|
|
44
43
|
import glspSelectModule from '../features/select/di.config';
|
|
44
|
+
import sourceModelWatcherModule from '../features/source-model-watcher/di.config';
|
|
45
45
|
import toolFeedbackModule from '../features/tool-feedback/di.config';
|
|
46
46
|
import toolPaletteModule from '../features/tool-palette/di.config';
|
|
47
|
-
import toolsModule from '../features/tools/di.config';
|
|
47
|
+
import { enableDefaultToolsOnFocusLossModule, toolsModule } from '../features/tools/di.config';
|
|
48
48
|
import { markerNavigatorModule, validationModule } from '../features/validation/di.config';
|
|
49
49
|
import glspViewportModule from '../features/viewport/di.config';
|
|
50
50
|
import defaultGLSPModule from './di.config';
|
|
@@ -69,17 +69,18 @@ export const DEFAULT_MODULES = [
|
|
|
69
69
|
glspServerCopyPasteModule,
|
|
70
70
|
glspViewportModule,
|
|
71
71
|
labelEditUiModule,
|
|
72
|
-
|
|
72
|
+
layoutModule,
|
|
73
73
|
markerNavigatorModule,
|
|
74
74
|
modelHintsModule,
|
|
75
75
|
modelSourceModule,
|
|
76
|
-
|
|
76
|
+
sourceModelWatcherModule,
|
|
77
77
|
navigationModule,
|
|
78
78
|
openModule,
|
|
79
79
|
toolPaletteModule,
|
|
80
80
|
routingModule,
|
|
81
81
|
toolFeedbackModule,
|
|
82
82
|
toolsModule,
|
|
83
|
+
enableDefaultToolsOnFocusLossModule,
|
|
83
84
|
validationModule,
|
|
84
85
|
zorderModule
|
|
85
86
|
];
|
package/src/base/di.config.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { InitializeResult, SetEditModeAction } from '@eclipse-glsp/protocol';
|
|
17
17
|
import '@vscode/codicons/dist/codicon.css';
|
|
18
18
|
import { Container, ContainerModule } from 'inversify';
|
|
19
|
-
import { ActionHandlerRegistry, configureActionHandler, configureCommand, ModelSource, SetModelCommand
|
|
19
|
+
import { ActionHandlerRegistry, configureActionHandler, configureCommand, ModelSource, SetModelCommand } from 'sprotty';
|
|
20
20
|
import '../../css/glsp-sprotty.css';
|
|
21
21
|
import { GLSPActionDispatcher } from './action-dispatcher';
|
|
22
22
|
import { FocusStateChangedAction } from './actions/focus-change-action';
|
|
@@ -28,13 +28,13 @@ import { GLSPModelRegistry } from './model/model-registry';
|
|
|
28
28
|
import { FeedbackAwareUpdateModelCommand, SetModelActionHandler } from './model/update-model-command';
|
|
29
29
|
import { SelectionClearingMouseListener } from './selection-clearing-mouse-listener';
|
|
30
30
|
import { GLSPToolManager } from './tool-manager/glsp-tool-manager';
|
|
31
|
-
import {
|
|
31
|
+
import { TYPES } from './types';
|
|
32
32
|
import { GLSPViewRegistry } from './view/view-registry';
|
|
33
33
|
|
|
34
34
|
const defaultGLSPModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
|
|
35
35
|
const context = { bind, _unbind, isBound, rebind };
|
|
36
36
|
bind(EditorContextService).toSelf().inSingletonScope();
|
|
37
|
-
bind(
|
|
37
|
+
bind(TYPES.IEditorContextServiceProvider).toProvider<EditorContextService>(
|
|
38
38
|
ctx => () =>
|
|
39
39
|
new Promise<EditorContextService>((resolve, reject) => {
|
|
40
40
|
if (ctx.container.isBound(EditorContextService)) {
|
|
@@ -58,7 +58,6 @@ const defaultGLSPModule = new ContainerModule((bind, _unbind, isBound, rebind) =
|
|
|
58
58
|
|
|
59
59
|
rebind(TYPES.ICommandStack).to(GLSPCommandStack);
|
|
60
60
|
bind(GLSPToolManager).toSelf().inSingletonScope();
|
|
61
|
-
bind(GLSP_TYPES.IGLSPToolManager).toService(GLSPToolManager);
|
|
62
61
|
rebind(TYPES.IToolManager).toService(GLSPToolManager);
|
|
63
62
|
bind(GLSPActionDispatcher).toSelf().inSingletonScope();
|
|
64
63
|
rebind(TYPES.IActionDispatcher).toService(GLSPActionDispatcher);
|
|
@@ -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
|
|
@@ -28,19 +28,19 @@ export class DragAwareMouseListener extends MouseListener {
|
|
|
28
28
|
private _isMouseDown = false;
|
|
29
29
|
private _isMouseDrag = false;
|
|
30
30
|
|
|
31
|
-
mouseDown(target: SModelElement, event: MouseEvent): Action[] {
|
|
31
|
+
override mouseDown(target: SModelElement, event: MouseEvent): Action[] {
|
|
32
32
|
this._isMouseDown = true;
|
|
33
33
|
return [];
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
36
|
+
override mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
37
37
|
if (this._isMouseDown) {
|
|
38
38
|
this._isMouseDrag = true;
|
|
39
39
|
}
|
|
40
40
|
return [];
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
mouseUp(element: SModelElement, event: MouseEvent): Action[] {
|
|
43
|
+
override mouseUp(element: SModelElement, event: MouseEvent): Action[] {
|
|
44
44
|
this._isMouseDown = false;
|
|
45
45
|
if (this._isMouseDrag) {
|
|
46
46
|
this._isMouseDrag = false;
|
|
@@ -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,25 +13,45 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action, Args, distinctAdd, EditMode, EditorContext,
|
|
16
|
+
import { Action, Args, distinctAdd, EditMode, EditorContext, remove, SetEditModeAction } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject, injectable, multiInject, optional } from 'inversify';
|
|
18
|
-
import { IActionHandler, ModelSource, MousePositionTracker, SModelElement, SModelRoot
|
|
18
|
+
import { IActionHandler, ModelSource, MousePositionTracker, SModelElement, SModelRoot } from 'sprotty';
|
|
19
19
|
import { SelectionService } from '../features/select/selection-service';
|
|
20
20
|
import { isSourceUriAware } from './source-uri-aware';
|
|
21
|
-
import {
|
|
21
|
+
import { TYPES } from './types';
|
|
22
22
|
|
|
23
23
|
export interface EditModeListener {
|
|
24
24
|
editModeChanged(newValue: string, oldvalue: string): void;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
/**
|
|
28
|
+
* The `EditorContextService` is a central injectable component that gives read-only access to
|
|
29
|
+
* certain aspects of the diagram, such as the currently selected elements, the model root,
|
|
30
|
+
* the edit mode, the latest position of the mouse in the diagram.
|
|
31
|
+
*
|
|
32
|
+
* It has been introduced for two main reasons:
|
|
33
|
+
* 1. to simplify accessing the model root and the current selection from components that are
|
|
34
|
+
* not commands,
|
|
35
|
+
* 2. to conveniently create an EditorContext, which is a context object sent as part of several
|
|
36
|
+
* actions to the server to describe the current state of the editor (selection, last mouse
|
|
37
|
+
* position, etc.).
|
|
38
|
+
*/
|
|
27
39
|
@injectable()
|
|
28
40
|
export class EditorContextService implements IActionHandler {
|
|
29
|
-
@inject(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
41
|
+
@inject(TYPES.SelectionService)
|
|
42
|
+
protected selectionService: SelectionService;
|
|
43
|
+
|
|
44
|
+
@inject(MousePositionTracker)
|
|
45
|
+
protected mousePositionTracker: MousePositionTracker;
|
|
33
46
|
|
|
34
|
-
|
|
47
|
+
@multiInject(TYPES.IEditModeListener)
|
|
48
|
+
@optional()
|
|
49
|
+
protected editModeListeners: EditModeListener[] = [];
|
|
50
|
+
|
|
51
|
+
@inject(TYPES.ModelSourceProvider)
|
|
52
|
+
protected modelSourceProvider: () => Promise<ModelSource>;
|
|
53
|
+
|
|
54
|
+
protected _editMode: string;
|
|
35
55
|
|
|
36
56
|
register(editModeListener: EditModeListener): void {
|
|
37
57
|
distinctAdd(this.editModeListeners, editModeListener);
|
|
@@ -58,7 +78,7 @@ export class EditorContextService implements IActionHandler {
|
|
|
58
78
|
}
|
|
59
79
|
|
|
60
80
|
handle(action: Action): void {
|
|
61
|
-
if (
|
|
81
|
+
if (SetEditModeAction.is(action)) {
|
|
62
82
|
const oldValue = this._editMode;
|
|
63
83
|
this._editMode = action.editMode;
|
|
64
84
|
this.notifiyEditModeListeners(oldValue);
|
|
@@ -70,9 +90,9 @@ export class EditorContextService implements IActionHandler {
|
|
|
70
90
|
}
|
|
71
91
|
|
|
72
92
|
async getSourceUri(): Promise<string | undefined> {
|
|
73
|
-
const modelSource = await this.
|
|
93
|
+
const modelSource = await this.modelSourceProvider();
|
|
74
94
|
if (isSourceUriAware(modelSource)) {
|
|
75
|
-
return modelSource.
|
|
95
|
+
return modelSource.sourceURI;
|
|
76
96
|
}
|
|
77
97
|
return undefined;
|
|
78
98
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2021 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2021-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -15,8 +15,9 @@
|
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { Action } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
|
-
import { IActionHandler, ICommand,
|
|
19
|
-
import {
|
|
18
|
+
import { IActionHandler, ICommand, ViewerOptions } from 'sprotty';
|
|
19
|
+
import { FocusStateChangedAction } from './actions/focus-change-action';
|
|
20
|
+
import { TYPES } from './types';
|
|
20
21
|
|
|
21
22
|
@injectable()
|
|
22
23
|
export class FocusTracker implements IActionHandler {
|
|
@@ -30,7 +31,7 @@ export class FocusTracker implements IActionHandler {
|
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
handle(action: Action): void | Action | ICommand {
|
|
33
|
-
if (
|
|
34
|
+
if (FocusStateChangedAction.is(action)) {
|
|
34
35
|
this._hasFocus = action.hasFocus;
|
|
35
36
|
const placeholder = document.getElementById(this.options.baseDiv);
|
|
36
37
|
if (!placeholder) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2021 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2021-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -18,7 +18,7 @@ import { SModelElement, SModelRegistry } from 'sprotty';
|
|
|
18
18
|
|
|
19
19
|
@injectable()
|
|
20
20
|
export class GLSPModelRegistry extends SModelRegistry {
|
|
21
|
-
register(key: string, factory: (u: void) => SModelElement): void {
|
|
21
|
+
override register(key: string, factory: (u: void) => SModelElement): void {
|
|
22
22
|
if (key === undefined) {
|
|
23
23
|
throw new Error('Key is undefined');
|
|
24
24
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,31 +13,36 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action,
|
|
17
|
-
import { inject, injectable, multiInject, optional
|
|
16
|
+
import { Action, SetModelAction, toTypeGuard, UpdateModelAction } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { inject, injectable, multiInject, optional } from 'inversify';
|
|
18
18
|
import {
|
|
19
19
|
ActionHandlerRegistry,
|
|
20
|
+
Animation,
|
|
20
21
|
Command,
|
|
21
22
|
CommandActionHandler,
|
|
22
23
|
CommandExecutionContext,
|
|
23
24
|
CommandReturn,
|
|
24
25
|
IActionHandler,
|
|
25
26
|
ILogger,
|
|
27
|
+
MorphEdgesAnimation,
|
|
26
28
|
SModelRoot,
|
|
27
|
-
|
|
29
|
+
UpdateAnimationData,
|
|
28
30
|
UpdateModelCommand
|
|
29
31
|
} from 'sprotty';
|
|
30
32
|
import { IFeedbackActionDispatcher } from '../../features/tool-feedback/feedback-action-dispatcher';
|
|
31
33
|
import { FeedbackCommand } from '../../features/tool-feedback/model';
|
|
32
|
-
import {
|
|
34
|
+
import { TYPES } from '../types';
|
|
33
35
|
|
|
34
|
-
|
|
35
|
-
*
|
|
36
|
+
/**
|
|
37
|
+
* ActionHandler that transforms a {@link SetModelAction} into an {@link UpdateModelAction} that can be handled
|
|
38
|
+
* by the {@link FeedbackAwareUpdateModelCommand}. This can be done because in sprotty an {@link UpdateModelCommand} and
|
|
39
|
+
* a {@link SetModelCommand} have the same behavior of no model is present yet.
|
|
40
|
+
*/
|
|
36
41
|
@injectable()
|
|
37
42
|
export class SetModelActionHandler implements IActionHandler {
|
|
38
43
|
handle(action: Action): Action | void {
|
|
39
|
-
if (
|
|
40
|
-
return
|
|
44
|
+
if (SetModelAction.is(action)) {
|
|
45
|
+
return UpdateModelAction.create(action.newRoot, { animate: false });
|
|
41
46
|
}
|
|
42
47
|
}
|
|
43
48
|
}
|
|
@@ -47,38 +52,41 @@ export interface SModelRootListener {
|
|
|
47
52
|
}
|
|
48
53
|
|
|
49
54
|
/**
|
|
50
|
-
* A special
|
|
51
|
-
* feedback to the `newRoot` before performing the update
|
|
55
|
+
* A special {@link UpdateModelCommand} that retrieves all registered {@link Action}s from the {@link IFeedbackActionDispatcher}
|
|
56
|
+
* (if present) and applies their feedback to the `newRoot` before performing the update. This enables persistent client-side feedback
|
|
57
|
+
* across model updates initiated by the GLSP server.
|
|
52
58
|
*/
|
|
53
59
|
@injectable()
|
|
54
60
|
export class FeedbackAwareUpdateModelCommand extends UpdateModelCommand {
|
|
55
|
-
@inject(TYPES.ILogger)
|
|
56
|
-
|
|
57
|
-
@inject(TYPES.ActionHandlerRegistryProvider) protected actionHandlerRegistryProvider: () => Promise<ActionHandlerRegistry>;
|
|
58
|
-
@multiInject(GLSP_TYPES.SModelRootListener) @optional() protected modelRootListeners: SModelRootListener[] = [];
|
|
61
|
+
@inject(TYPES.ILogger)
|
|
62
|
+
protected logger: ILogger;
|
|
59
63
|
|
|
60
|
-
|
|
64
|
+
@inject(TYPES.IFeedbackActionDispatcher)
|
|
65
|
+
@optional()
|
|
66
|
+
protected feedbackActionDispatcher: IFeedbackActionDispatcher;
|
|
61
67
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
68
|
+
@multiInject(TYPES.SModelRootListener)
|
|
69
|
+
@optional()
|
|
70
|
+
protected modelRootListeners: SModelRootListener[] = [];
|
|
65
71
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
72
|
+
protected actionHandlerRegistry?: ActionHandlerRegistry;
|
|
73
|
+
|
|
74
|
+
constructor(
|
|
75
|
+
@inject(TYPES.Action) action: UpdateModelAction,
|
|
76
|
+
@inject(TYPES.ActionHandlerRegistryProvider)
|
|
77
|
+
actionHandlerRegistryProvider: () => Promise<ActionHandlerRegistry>
|
|
78
|
+
) {
|
|
79
|
+
super({ animate: true, ...action });
|
|
80
|
+
actionHandlerRegistryProvider().then(registry => (this.actionHandlerRegistry = registry));
|
|
69
81
|
}
|
|
70
82
|
|
|
71
|
-
protected performUpdate(oldRoot: SModelRoot, newRoot: SModelRoot, context: CommandExecutionContext): CommandReturn {
|
|
83
|
+
protected override performUpdate(oldRoot: SModelRoot, newRoot: SModelRoot, context: CommandExecutionContext): CommandReturn {
|
|
72
84
|
if (this.feedbackActionDispatcher && this.actionHandlerRegistry) {
|
|
73
|
-
// Create a temporary context
|
|
85
|
+
// Create a temporary context which defines the `newRoot` as `root`
|
|
74
86
|
// This way we do not corrupt the redo/undo behavior of the super class
|
|
75
87
|
const tempContext: CommandExecutionContext = {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
logger: context.logger,
|
|
79
|
-
modelChanged: context.modelChanged,
|
|
80
|
-
modelFactory: context.modelFactory,
|
|
81
|
-
syncer: context.syncer
|
|
88
|
+
...context,
|
|
89
|
+
root: newRoot
|
|
82
90
|
};
|
|
83
91
|
|
|
84
92
|
const feedbackCommands = this.getFeedbackCommands(this.actionHandlerRegistry);
|
|
@@ -92,19 +100,24 @@ export class FeedbackAwareUpdateModelCommand extends UpdateModelCommand {
|
|
|
92
100
|
protected getFeedbackCommands(registry: ActionHandlerRegistry): Command[] {
|
|
93
101
|
const result: Command[] = [];
|
|
94
102
|
this.feedbackActionDispatcher.getRegisteredFeedback().forEach(action => {
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
103
|
+
const commands = registry
|
|
104
|
+
.get(action.kind)
|
|
105
|
+
.filter<CommandActionHandler>(toTypeGuard(CommandActionHandler))
|
|
106
|
+
.map(handler => handler.handle(action));
|
|
107
|
+
result.push(...commands);
|
|
99
108
|
});
|
|
100
|
-
// sort commands
|
|
101
|
-
return result.sort((a, b) => getPriority(b) - getPriority(a));
|
|
109
|
+
// sort commands descanting by priority
|
|
110
|
+
return result.sort((a, b) => this.getPriority(b) - this.getPriority(a));
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
protected getPriority(command: Partial<FeedbackCommand>): number {
|
|
114
|
+
return command.priority ?? 0;
|
|
102
115
|
}
|
|
103
|
-
}
|
|
104
116
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
117
|
+
// Override the `createAnimations` implementation and remove the animation for edge morphing. Otherwise routing & reconnect
|
|
118
|
+
// handles flicker after each server update.
|
|
119
|
+
protected override createAnimations(data: UpdateAnimationData, root: SModelRoot, context: CommandExecutionContext): Animation[] {
|
|
120
|
+
const animations = super.createAnimations(data, root, context);
|
|
121
|
+
return animations.filter(animation => !(animation instanceof MorphEdgesAnimation));
|
|
108
122
|
}
|
|
109
|
-
return 0;
|
|
110
123
|
}
|
|
@@ -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,10 +13,9 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action, UpdateModelAction } from '@eclipse-glsp/protocol';
|
|
16
|
+
import { Action, Deferred, SetModelAction, UpdateModelAction } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { injectable } from 'inversify';
|
|
18
18
|
import { InitializeCanvasBoundsAction } from 'sprotty';
|
|
19
|
-
import { Deferred } from 'sprotty/lib/utils/async';
|
|
20
19
|
|
|
21
20
|
/**
|
|
22
21
|
* The constraint defining when the initialization of the GLSP model is completed.
|
|
@@ -74,21 +73,20 @@ export abstract class ModelInitializationConstraint {
|
|
|
74
73
|
*/
|
|
75
74
|
@injectable()
|
|
76
75
|
export class DefaultModelInitializationConstraint extends ModelInitializationConstraint {
|
|
77
|
-
protected
|
|
76
|
+
protected seenNonEmptyModelAction = false;
|
|
78
77
|
|
|
79
78
|
isInitializedAfter(action: Action): boolean {
|
|
80
|
-
if (this.
|
|
81
|
-
this.
|
|
82
|
-
} else if (this.
|
|
79
|
+
if (this.isNonEmptyModelAction(action)) {
|
|
80
|
+
this.seenNonEmptyModelAction = true;
|
|
81
|
+
} else if (this.seenNonEmptyModelAction && action.kind === InitializeCanvasBoundsAction.KIND) {
|
|
83
82
|
return true;
|
|
84
83
|
}
|
|
85
84
|
return false;
|
|
86
85
|
}
|
|
87
86
|
|
|
88
|
-
protected
|
|
89
|
-
if (action
|
|
90
|
-
|
|
91
|
-
return updateModelAction.newRoot !== undefined && updateModelAction.newRoot.type !== 'NONE';
|
|
87
|
+
protected isNonEmptyModelAction(action: Action): boolean {
|
|
88
|
+
if (SetModelAction.is(action) || UpdateModelAction.is(action)) {
|
|
89
|
+
return action.newRoot.type !== 'NONE';
|
|
92
90
|
}
|
|
93
91
|
return false;
|
|
94
92
|
}
|
|
@@ -30,7 +30,7 @@ import { MouseListener, SModelElement } from 'sprotty';
|
|
|
30
30
|
*/
|
|
31
31
|
@injectable()
|
|
32
32
|
export class SelectionClearingMouseListener extends MouseListener {
|
|
33
|
-
mouseDown(_target: SModelElement, event: MouseEvent): never[] {
|
|
33
|
+
override mouseDown(_target: SModelElement, event: MouseEvent): never[] {
|
|
34
34
|
const selection = document.getSelection();
|
|
35
35
|
// eslint-disable-next-line no-null/no-null
|
|
36
36
|
if (selection === null) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020 EclipseSource and others.
|
|
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,10 +13,11 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
import { AnyObject, hasStringProp } from '@eclipse-glsp/protocol';
|
|
17
|
+
export interface SourceUriAware {
|
|
18
|
+
sourceURI: string;
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
export function isSourceUriAware(obj: any): obj is SourceUriAware {
|
|
21
|
-
return obj
|
|
22
|
+
return AnyObject.is(obj) && hasStringProp(obj, 'sourceURI');
|
|
22
23
|
}
|
|
@@ -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,7 +17,7 @@ import { distinctAdd, EditMode } from '@eclipse-glsp/protocol';
|
|
|
17
17
|
import { inject, injectable, multiInject, optional, postConstruct } from 'inversify';
|
|
18
18
|
import { Tool, ToolManager } from 'sprotty';
|
|
19
19
|
import { EditModeListener, EditorContextService, EditorContextServiceProvider } from '../editor-context-service';
|
|
20
|
-
import {
|
|
20
|
+
import { TYPES } from '../types';
|
|
21
21
|
|
|
22
22
|
export interface IGLSPToolManager extends ToolManager {
|
|
23
23
|
/* Disables all actives tools and activates only default tool with non-edit function*/
|
|
@@ -28,9 +28,9 @@ export interface IGLSPToolManager extends ToolManager {
|
|
|
28
28
|
export class GLSPToolManager extends ToolManager implements IGLSPToolManager, EditModeListener {
|
|
29
29
|
protected editorContext?: EditorContextService;
|
|
30
30
|
|
|
31
|
-
@multiInject(
|
|
32
|
-
@multiInject(
|
|
33
|
-
@inject(
|
|
31
|
+
@multiInject(TYPES.ITool) @optional() override tools: Tool[];
|
|
32
|
+
@multiInject(TYPES.IDefaultTool) @optional() override defaultTools: Tool[];
|
|
33
|
+
@inject(TYPES.IEditorContextServiceProvider) contextServiceProvider: EditorContextServiceProvider;
|
|
34
34
|
|
|
35
35
|
@postConstruct()
|
|
36
36
|
protected initialize(): void {
|
|
@@ -43,19 +43,19 @@ export class GLSPToolManager extends ToolManager implements IGLSPToolManager, Ed
|
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
registerDefaultTools(...tools: Tool[]): void {
|
|
46
|
+
override registerDefaultTools(...tools: Tool[]): void {
|
|
47
47
|
for (const tool of tools) {
|
|
48
48
|
distinctAdd(this.defaultTools, tool);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
registerTools(...tools: Tool[]): void {
|
|
52
|
+
override registerTools(...tools: Tool[]): void {
|
|
53
53
|
for (const tool of tools) {
|
|
54
54
|
distinctAdd(this.tools, tool);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
enable(toolIds: string[]): void {
|
|
58
|
+
override enable(toolIds: string[]): void {
|
|
59
59
|
this.disableActiveTools();
|
|
60
60
|
let tools = toolIds.map(id => this.tool(id));
|
|
61
61
|
if (this.editorContext && this.editorContext.isReadonly) {
|
|
@@ -90,6 +90,6 @@ export interface GLSPTool extends Tool {
|
|
|
90
90
|
isEditTool: boolean;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
export function isGLSPTool(tool:
|
|
93
|
+
export function isGLSPTool(tool: any): tool is GLSPTool {
|
|
94
94
|
return 'isEditTool' in tool && typeof tool['isEditTool'] === 'boolean';
|
|
95
95
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2022 STMicroelectronics and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { Action, hasArrayProp } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { EnableDefaultToolsAction, EnableToolsAction } from 'sprotty/lib/base/tool-manager/tool';
|
|
18
|
+
/* eslint-disable no-shadow */
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Use module augmentation to add the `is` utility function to the tool action namespaces provided by sprotty
|
|
22
|
+
*/
|
|
23
|
+
declare module 'sprotty/lib/base/tool-manager/tool' {
|
|
24
|
+
export namespace EnableDefaultToolsAction {
|
|
25
|
+
export function is(object: any): object is EnableDefaultToolsAction;
|
|
26
|
+
}
|
|
27
|
+
export namespace EnableToolsAction {
|
|
28
|
+
export function is(object: any): object is EnableToolsAction;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
EnableDefaultToolsAction.is = (object: any): object is EnableDefaultToolsAction => Action.hasKind(object, EnableDefaultToolsAction.KIND);
|
|
33
|
+
|
|
34
|
+
EnableToolsAction.is = (object: any): object is EnableToolsAction =>
|
|
35
|
+
Action.hasKind(object, EnableToolsAction.KIND) && hasArrayProp(object, 'toolIds');
|
|
36
|
+
|
|
37
|
+
export { EnableDefaultToolsAction, EnableToolsAction };
|