@eclipse-glsp/client 0.10.0-next.6bee8eb.163 → 0.10.0-next.88e4725.166
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/lib/base/action-dispatcher.d.ts +1 -0
- package/lib/base/action-dispatcher.d.ts.map +1 -1
- package/lib/base/action-dispatcher.js +11 -3
- 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 +2 -2
- package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.js +4 -4
- package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
- package/lib/base/command-stack.d.ts.map +1 -1
- package/lib/base/command-stack.js +4 -3
- 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 +9 -10
- package/lib/base/di.config.js.map +1 -1
- package/lib/base/editor-context-service.d.ts +1 -1
- package/lib/base/editor-context-service.d.ts.map +1 -1
- package/lib/base/editor-context-service.js +5 -5
- 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 +3 -3
- package/lib/base/focus-tracker.js.map +1 -1
- package/lib/base/model/update-model-command.d.ts.map +1 -1
- package/lib/base/model/update-model-command.js +9 -9
- package/lib/base/model/update-model-command.js.map +1 -1
- package/lib/base/model-initialization-constraint.d.ts +2 -3
- package/lib/base/model-initialization-constraint.d.ts.map +1 -1
- package/lib/base/model-initialization-constraint.js +3 -4
- package/lib/base/model-initialization-constraint.js.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.js +3 -3
- 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/features/change-bounds/movement-restrictor.d.ts +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +2 -2
- 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 +77 -1
- 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/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 +11 -8
- 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 +3 -3
- 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 +4 -19
- 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 +6 -5
- 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 +24 -31
- 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 +6 -7
- 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.map +1 -1
- package/lib/features/decoration/decoration-placer.js +17 -1
- 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 +4 -4
- 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 +1 -1
- 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 +8 -10
- package/lib/features/edit-label/edit-label-validator.js.map +1 -1
- package/lib/features/hints/di.config.js +2 -2
- package/lib/features/hints/di.config.js.map +1 -1
- package/lib/features/hints/type-hints.d.ts +14 -4
- package/lib/features/hints/type-hints.d.ts.map +1 -1
- package/lib/features/hints/type-hints.js +21 -18
- 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 +2 -0
- 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 +22 -4
- 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.js +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 +2 -2
- package/lib/features/layout/freeform-layout.js.map +1 -1
- package/lib/features/layout/layout-commands.d.ts +64 -37
- package/lib/features/layout/layout-commands.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.js +79 -59
- 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 +29 -17
- 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 +4 -3
- package/lib/features/layout/vbox-layout.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 +7 -7
- 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.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js +4 -10
- package/lib/features/mouse-tool/mouse-tool.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 +50 -66
- 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 +7 -8
- package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.js +3 -3
- package/lib/features/navigation/navigation-target-resolver.spec.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.js +1 -1
- 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 +4 -5
- 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 +18 -45
- 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.map +1 -1
- package/lib/features/select/selection-service.js +16 -13
- package/lib/features/select/selection-service.js.map +1 -1
- package/lib/features/select/selection-service.spec.js +9 -6
- package/lib/features/select/selection-service.spec.js.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +16 -8
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +50 -20
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts +22 -10
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +46 -21
- 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 +41 -37
- 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 +4 -4
- package/lib/features/tool-feedback/di.config.js.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +43 -21
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +117 -91
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.js +3 -3
- package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +20 -9
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.js +41 -15
- package/lib/features/tool-feedback/marquee-tool-feedback.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 +18 -1
- 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 +3 -2
- package/lib/features/tool-palette/di.config.js.map +1 -1
- package/lib/features/tool-palette/tool-palette.d.ts +9 -6
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +25 -20
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
- package/lib/features/tools/base-glsp-tool.js +3 -3
- package/lib/features/tools/base-glsp-tool.js.map +1 -1
- package/lib/features/tools/change-bounds-tool.d.ts +6 -8
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds-tool.js +22 -45
- package/lib/features/tools/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/delete-tool.d.ts.map +1 -1
- package/lib/features/tools/delete-tool.js +5 -5
- package/lib/features/tools/delete-tool.js.map +1 -1
- package/lib/features/tools/di.config.js +9 -9
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-creation-tool.js +16 -9
- package/lib/features/tools/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.d.ts +2 -1
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit-tool.js +20 -15
- 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-mouse-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.js +7 -7
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
- package/lib/features/tools/marquee-tool.js +1 -1
- package/lib/features/tools/marquee-tool.js.map +1 -1
- package/lib/features/tools/model.d.ts +2 -1
- 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.map +1 -1
- package/lib/features/tools/node-creation-tool.js +5 -5
- package/lib/features/tools/node-creation-tool.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 +3 -3
- package/lib/features/validation/di.config.js.map +1 -1
- package/lib/features/validation/marker-navigator.d.ts +15 -7
- package/lib/features/validation/marker-navigator.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.js +21 -19
- 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 +2 -16
- package/lib/features/validation/marker-navigator.spec.js.map +1 -1
- package/lib/features/validation/validate.d.ts +9 -11
- package/lib/features/validation/validate.d.ts.map +1 -1
- package/lib/features/validation/validate.js +27 -26
- 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 +1 -1
- package/lib/features/viewport/di.config.js.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.js +2 -2
- 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 +4 -5
- package/lib/index.js.map +1 -1
- package/lib/lib/model.d.ts +2 -1
- 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 +4 -4
- package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
- package/lib/model-source/glsp-diagram-server.js +5 -5
- 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/layout-utils.d.ts +3 -3
- package/lib/utils/layout-utils.d.ts.map +1 -1
- package/lib/utils/smodel-util.d.ts +27 -18
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +30 -11
- 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 +17 -1
- package/lib/utils/viewpoint-util.js.map +1 -1
- package/package.json +5 -4
- package/src/base/action-dispatcher.ts +13 -4
- 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 +8 -13
- package/src/base/command-stack.ts +4 -3
- package/src/base/di.config.ts +4 -5
- package/src/base/editor-context-service.ts +7 -7
- package/src/base/focus-tracker.ts +5 -4
- package/src/base/model/update-model-command.ts +7 -8
- package/src/base/model-initialization-constraint.ts +3 -4
- package/src/base/tool-manager/glsp-tool-manager.ts +4 -4
- package/src/base/tool-manager/tool-actions.ts +37 -0
- package/src/base/types.ts +31 -24
- 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 +5 -6
- 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 +2 -2
- 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 +31 -16
- package/src/features/hover/di.config.ts +4 -0
- package/src/features/hover/hover.ts +29 -11
- package/src/features/layout/di.config.ts +1 -1
- package/src/features/layout/freeform-layout.ts +3 -12
- package/src/features/layout/layout-commands.spec.ts +38 -22
- package/src/features/layout/layout-commands.ts +129 -55
- package/src/features/layout/vbox-layout.ts +4 -8
- 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 +4 -9
- 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/save/di.config.ts +2 -3
- package/src/features/save/save-keylistener.ts +1 -1
- 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 +14 -10
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +42 -13
- package/src/features/tool-feedback/creation-tool-feedback.ts +42 -21
- 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 +122 -78
- package/src/features/tool-feedback/feedback-action-dispatcher.ts +2 -1
- package/src/features/tool-feedback/marquee-tool-feedback.ts +36 -11
- 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 +30 -16
- package/src/features/tools/base-glsp-tool.ts +4 -4
- package/src/features/tools/change-bounds-tool.ts +31 -61
- package/src/features/tools/delete-tool.ts +6 -6
- package/src/features/tools/di.config.ts +10 -10
- package/src/features/tools/edge-creation-tool.ts +18 -9
- package/src/features/tools/edge-edit-tool.ts +20 -16
- package/src/features/tools/marquee-behavior.ts +2 -2
- package/src/features/tools/marquee-mouse-tool.ts +8 -9
- package/src/features/tools/marquee-tool.ts +1 -1
- package/src/features/tools/model.ts +2 -1
- package/src/features/tools/node-creation-tool.ts +5 -5
- 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 +41 -21
- package/src/features/validation/validate.ts +27 -20
- package/src/features/viewport/di.config.ts +1 -2
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +3 -3
- package/src/index.ts +4 -5
- package/src/lib/model.ts +2 -1
- package/src/model-source/glsp-diagram-server.ts +8 -10
- package/src/sprotty-reexport.ts +283 -0
- package/src/utils/layout-utils.ts +3 -3
- package/src/utils/smodel-util.ts +36 -20
- package/src/utils/viewpoint-util.ts +5 -14
- 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 -80
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewpoint-util.js","sourceRoot":"","sources":["../../src/utils/viewpoint-util.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"viewpoint-util.js","sourceRoot":"","sources":["../../src/utils/viewpoint-util.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,qDAA4E;AAC5E,qCAAoH;AAEpH;;;;;;;;;;;;GAYG;AACH,SAAgB,mBAAmB,CAAC,MAAqB,EAAE,UAAsB;IAC7E,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;IAC5B,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;IAC5B,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IAC9C,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC;IACvB,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC;IAEvB,MAAM,QAAQ,GAAyB,IAAA,6BAAmB,EAAC,MAAM,EAAE,oBAAU,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,QAAQ,EAAE;QACV,MAAM,MAAM,GAAU,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;QAExB,IAAI,IAAI,IAAI,CAAC;QACb,IAAI,IAAI,IAAI,CAAC;KAChB;IAED,OAAO;QACH,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,IAAI;KACV,CAAC;AACN,CAAC;AAtBD,kDAsBC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,OAAoC;IACjE,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAK,CAAC,MAAM,CAAC;IACzE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IACrB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;IACrC,OAAO,IAAA,yBAAe,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAPD,4CAOC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,MAAmC;IAClE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAFD,gDAEC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,MAAmC;IAC9D,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAFD,wCAEC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-glsp/client",
|
|
3
|
-
"version": "0.10.0-next.
|
|
3
|
+
"version": "0.10.0-next.88e4725.166+88e4725",
|
|
4
4
|
"description": "A sprotty-based client for GLSP",
|
|
5
5
|
"license": "(EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0)",
|
|
6
6
|
"keywords": [
|
|
@@ -34,12 +34,13 @@
|
|
|
34
34
|
"css"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@eclipse-glsp/protocol": "0.10.0-next.
|
|
37
|
+
"@eclipse-glsp/protocol": "0.10.0-next.88e4725.166+88e4725",
|
|
38
38
|
"autocompleter": "5.1.0",
|
|
39
|
-
"sprotty": "
|
|
39
|
+
"sprotty": "next"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@vscode/codicons": "^0.0.25",
|
|
43
|
+
"eslint-import-resolver-typescript": "2.7.0",
|
|
43
44
|
"typescript": "^4.5.5"
|
|
44
45
|
},
|
|
45
46
|
"scripts": {
|
|
@@ -56,5 +57,5 @@
|
|
|
56
57
|
},
|
|
57
58
|
"main": "lib/index",
|
|
58
59
|
"types": "lib/index",
|
|
59
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "88e4725bd27f2ebf0fcd925c3e9be16437725159"
|
|
60
61
|
}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action,
|
|
16
|
+
import { Action, RequestAction, ResponseAction } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject } from 'inversify';
|
|
18
18
|
import { ActionDispatcher } from 'sprotty';
|
|
19
19
|
import { ModelInitializationConstraint } from './model-initialization-constraint';
|
|
@@ -46,7 +46,7 @@ export class GLSPActionDispatcher extends ActionDispatcher {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
protected override handleAction(action: Action): Promise<void> {
|
|
49
|
-
if (
|
|
49
|
+
if (ResponseAction.hasValidResponseId(action)) {
|
|
50
50
|
// clear timeout
|
|
51
51
|
const timeout = this.timeouts.get(action.responseId);
|
|
52
52
|
if (timeout !== undefined) {
|
|
@@ -64,6 +64,14 @@ export class GLSPActionDispatcher extends ActionDispatcher {
|
|
|
64
64
|
return super.handleAction(action);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
+
override request<Res extends ResponseAction>(action: RequestAction<Res>): Promise<Res> {
|
|
68
|
+
if (!action.requestId && action.requestId === '') {
|
|
69
|
+
// No request id has been specified. So we use a generated one.
|
|
70
|
+
action.requestId = RequestAction.generateRequestId();
|
|
71
|
+
}
|
|
72
|
+
return super.request(action);
|
|
73
|
+
}
|
|
74
|
+
|
|
67
75
|
/**
|
|
68
76
|
* Dispatch a request and waits for a response until the timeout given in `timeoutMs` has
|
|
69
77
|
* been reached. The returned promise is resolved when a response with matching identifier
|
|
@@ -75,8 +83,9 @@ export class GLSPActionDispatcher extends ActionDispatcher {
|
|
|
75
83
|
* no value, otherwise it will be rejected.
|
|
76
84
|
*/
|
|
77
85
|
requestUntil<Res extends ResponseAction>(action: RequestAction<Res>, timeoutMs = 2000, rejectOnTimeout = false): Promise<Res> {
|
|
78
|
-
if (!action.requestId) {
|
|
79
|
-
|
|
86
|
+
if (!action.requestId && action.requestId === '') {
|
|
87
|
+
// No request id has been specified. So we use a generated one.
|
|
88
|
+
action.requestId = RequestAction.generateRequestId();
|
|
80
89
|
}
|
|
81
90
|
|
|
82
91
|
const requestId = action.requestId;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2021 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2021-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,14 +13,31 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action } from '@eclipse-glsp/protocol';
|
|
16
|
+
import { Action, hasBooleanProp } from '@eclipse-glsp/protocol';
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
/**
|
|
19
|
+
* A `FocusStateChangedAction` is dispatched by the client whenever the
|
|
20
|
+
* diagram focus changes (i.e. focus loss or focus gain).
|
|
21
|
+
*/
|
|
22
|
+
export interface FocusStateChangedAction extends Action {
|
|
23
|
+
kind: typeof FocusStateChangedAction.KIND;
|
|
24
|
+
/**
|
|
25
|
+
* The new focus state of the diagram.
|
|
26
|
+
*/
|
|
27
|
+
hasFocus: boolean;
|
|
22
28
|
}
|
|
23
29
|
|
|
24
|
-
export
|
|
25
|
-
|
|
30
|
+
export namespace FocusStateChangedAction {
|
|
31
|
+
export const KIND = 'focusStateChanged';
|
|
32
|
+
|
|
33
|
+
export function is(object: any): object is FocusStateChangedAction {
|
|
34
|
+
return Action.hasKind(object, KIND) && hasBooleanProp(object, 'hasFocus');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export function create(hasFocus = true): FocusStateChangedAction {
|
|
38
|
+
return {
|
|
39
|
+
kind: KIND,
|
|
40
|
+
hasFocus
|
|
41
|
+
};
|
|
42
|
+
}
|
|
26
43
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2022 STMicroelectronics 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,14 +13,14 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
import { Action, hasArrayProp } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { SetBoundsAction } from 'sprotty-protocol/lib/actions';
|
|
18
|
+
declare module 'sprotty-protocol/lib/actions' {
|
|
19
|
+
// eslint-disable-next-line no-shadow
|
|
20
|
+
namespace SetBoundsAction {
|
|
21
|
+
export function is(object: any): object is SetBoundsAction;
|
|
22
|
+
}
|
|
21
23
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=palette-item.d.ts.map
|
|
24
|
+
|
|
25
|
+
SetBoundsAction.is = (object: any): object is SetBoundsAction =>
|
|
26
|
+
Action.hasKind(object, SetBoundsAction.KIND) && hasArrayProp(object, 'bounds');
|
|
@@ -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,12 +13,14 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { LabeledAction } from '@eclipse-glsp/protocol';
|
|
16
|
+
import { hasStringProp, LabeledAction } from '@eclipse-glsp/protocol';
|
|
17
17
|
|
|
18
|
-
export interface
|
|
18
|
+
export interface AutoCompleteValue extends LabeledAction {
|
|
19
19
|
readonly text: string;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
export
|
|
23
|
-
|
|
22
|
+
export namespace AutoCompleteValue {
|
|
23
|
+
export function is(object: any): object is AutoCompleteValue {
|
|
24
|
+
return LabeledAction.is(object) && hasStringProp(object, 'text');
|
|
25
|
+
}
|
|
24
26
|
}
|
|
@@ -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,12 +13,12 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action,
|
|
16
|
+
import { Action, LabeledAction, ValidationStatus } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { AutocompleteResult, AutocompleteSettings } from 'autocompleter';
|
|
18
18
|
import { codiconCSSClasses, ILogger, SModelRoot } from 'sprotty';
|
|
19
19
|
import { toArray } from 'sprotty/lib/utils/iterable';
|
|
20
20
|
import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
|
|
21
|
-
import {
|
|
21
|
+
import { AutoCompleteValue } from './auto-complete-actions';
|
|
22
22
|
import { IValidationDecorator } from './validation-decorator';
|
|
23
23
|
|
|
24
24
|
export interface AutoCompleteSettings {
|
|
@@ -158,18 +158,13 @@ export class AutoCompleteWidget {
|
|
|
158
158
|
fetch: (text: string, update: (items: LabeledAction[]) => void) => this.updateSuggestions(update, text, root),
|
|
159
159
|
onSelect: (item: LabeledAction) => this.onSelect(item),
|
|
160
160
|
render: (item: LabeledAction, currentValue: string): HTMLDivElement | undefined => this.renderSuggestions(item, currentValue),
|
|
161
|
-
customize: (input: HTMLInputElement, inputRect:
|
|
161
|
+
customize: (input: HTMLInputElement, inputRect: DOMRect, container: HTMLDivElement, maxHeight: number) => {
|
|
162
162
|
this.customizeInputElement(input, inputRect, container, maxHeight);
|
|
163
163
|
}
|
|
164
164
|
};
|
|
165
165
|
}
|
|
166
166
|
|
|
167
|
-
protected customizeInputElement(
|
|
168
|
-
input: HTMLInputElement,
|
|
169
|
-
inputRect: ClientRect | DOMRect,
|
|
170
|
-
container: HTMLDivElement,
|
|
171
|
-
maxHeight: number
|
|
172
|
-
): void {
|
|
167
|
+
protected customizeInputElement(input: HTMLInputElement, inputRect: DOMRect, container: HTMLDivElement, maxHeight: number): void {
|
|
173
168
|
// move container into our UIExtension container as this is already positioned correctly
|
|
174
169
|
if (this.containerElement) {
|
|
175
170
|
this.containerElement.appendChild(container);
|
|
@@ -249,7 +244,7 @@ export class AutoCompleteWidget {
|
|
|
249
244
|
}
|
|
250
245
|
|
|
251
246
|
protected onSelect(item: LabeledAction): void {
|
|
252
|
-
if (
|
|
247
|
+
if (AutoCompleteValue.is(item)) {
|
|
253
248
|
this.inputElement.value = item.text;
|
|
254
249
|
// trigger update of suggestions with an keyup event
|
|
255
250
|
window.setTimeout(() => this.inputElement.dispatchEvent(new Event('keyup')));
|
|
@@ -317,9 +312,9 @@ export class AutoCompleteWidget {
|
|
|
317
312
|
}
|
|
318
313
|
|
|
319
314
|
export function toActionArray(input: LabeledAction | Action[] | Action): Action[] {
|
|
320
|
-
if (
|
|
315
|
+
if (LabeledAction.is(input)) {
|
|
321
316
|
return input.actions;
|
|
322
|
-
} else if (
|
|
317
|
+
} else if (Action.is(input)) {
|
|
323
318
|
return [input];
|
|
324
319
|
}
|
|
325
320
|
return [];
|
|
@@ -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
25
|
override undo(): Promise<SModelRoot> {
|
|
25
|
-
this.actionDispatcher().then(dispatcher => dispatcher.dispatch(
|
|
26
|
+
this.actionDispatcher().then(dispatcher => dispatcher.dispatch(UndoOperation.create()));
|
|
26
27
|
return this.thenUpdate();
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
override redo(): Promise<SModelRoot> {
|
|
30
|
-
this.actionDispatcher().then(dispatcher => dispatcher.dispatch(
|
|
31
|
+
this.actionDispatcher().then(dispatcher => dispatcher.dispatch(RedoOperation.create()));
|
|
31
32
|
return this.thenUpdate();
|
|
32
33
|
}
|
|
33
34
|
}
|
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) 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,12 +13,12 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action, 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;
|
|
@@ -26,12 +26,12 @@ export interface EditModeListener {
|
|
|
26
26
|
|
|
27
27
|
@injectable()
|
|
28
28
|
export class EditorContextService implements IActionHandler {
|
|
29
|
-
@inject(
|
|
29
|
+
@inject(TYPES.SelectionService) protected selectionService: SelectionService;
|
|
30
30
|
@inject(MousePositionTracker) protected mousePositionTracker: MousePositionTracker;
|
|
31
31
|
@inject(TYPES.ModelSourceProvider) protected modelSource: () => Promise<ModelSource>;
|
|
32
32
|
protected _editMode: string;
|
|
33
33
|
|
|
34
|
-
constructor(@multiInject(
|
|
34
|
+
constructor(@multiInject(TYPES.IEditModeListener) @optional() protected editModeListeners: EditModeListener[] = []) {}
|
|
35
35
|
|
|
36
36
|
register(editModeListener: EditModeListener): void {
|
|
37
37
|
distinctAdd(this.editModeListeners, editModeListener);
|
|
@@ -58,7 +58,7 @@ export class EditorContextService implements IActionHandler {
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
handle(action: Action): void {
|
|
61
|
-
if (
|
|
61
|
+
if (SetEditModeAction.is(action)) {
|
|
62
62
|
const oldValue = this._editMode;
|
|
63
63
|
this._editMode = action.editMode;
|
|
64
64
|
this.notifiyEditModeListeners(oldValue);
|
|
@@ -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) {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action,
|
|
16
|
+
import { Action, SetModelAction, UpdateModelAction } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { inject, injectable, multiInject, optional, postConstruct } from 'inversify';
|
|
18
18
|
import {
|
|
19
19
|
ActionHandlerRegistry,
|
|
@@ -24,20 +24,19 @@ import {
|
|
|
24
24
|
IActionHandler,
|
|
25
25
|
ILogger,
|
|
26
26
|
SModelRoot,
|
|
27
|
-
TYPES,
|
|
28
27
|
UpdateModelCommand
|
|
29
28
|
} from 'sprotty';
|
|
30
29
|
import { IFeedbackActionDispatcher } from '../../features/tool-feedback/feedback-action-dispatcher';
|
|
31
30
|
import { FeedbackCommand } from '../../features/tool-feedback/model';
|
|
32
|
-
import {
|
|
31
|
+
import { TYPES } from '../types';
|
|
33
32
|
|
|
34
33
|
/* ActionHandler that transforms a SetModelAction into an (feedback-aware) UpdateModelAction. This can be done because in sprotty
|
|
35
34
|
* UpdateModel behaves the same as SetModel if no model is present yet.*/
|
|
36
35
|
@injectable()
|
|
37
36
|
export class SetModelActionHandler implements IActionHandler {
|
|
38
37
|
handle(action: Action): Action | void {
|
|
39
|
-
if (
|
|
40
|
-
return
|
|
38
|
+
if (SetModelAction.is(action)) {
|
|
39
|
+
return UpdateModelAction.create(action.newRoot, { animate: false });
|
|
41
40
|
}
|
|
42
41
|
}
|
|
43
42
|
}
|
|
@@ -53,14 +52,14 @@ export interface SModelRootListener {
|
|
|
53
52
|
@injectable()
|
|
54
53
|
export class FeedbackAwareUpdateModelCommand extends UpdateModelCommand {
|
|
55
54
|
@inject(TYPES.ILogger) protected logger: ILogger;
|
|
56
|
-
@inject(
|
|
55
|
+
@inject(TYPES.IFeedbackActionDispatcher) @optional() protected readonly feedbackActionDispatcher: IFeedbackActionDispatcher;
|
|
57
56
|
@inject(TYPES.ActionHandlerRegistryProvider) protected actionHandlerRegistryProvider: () => Promise<ActionHandlerRegistry>;
|
|
58
|
-
@multiInject(
|
|
57
|
+
@multiInject(TYPES.SModelRootListener) @optional() protected modelRootListeners: SModelRootListener[] = [];
|
|
59
58
|
|
|
60
59
|
protected actionHandlerRegistry?: ActionHandlerRegistry;
|
|
61
60
|
|
|
62
61
|
constructor(@inject(TYPES.Action) action: UpdateModelAction) {
|
|
63
|
-
super(action);
|
|
62
|
+
super({ animate: true, ...action });
|
|
64
63
|
}
|
|
65
64
|
|
|
66
65
|
@postConstruct()
|
|
@@ -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,
|
|
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.
|
|
@@ -86,7 +85,7 @@ export class DefaultModelInitializationConstraint extends ModelInitializationCon
|
|
|
86
85
|
}
|
|
87
86
|
|
|
88
87
|
protected isNonEmptyModelAction(action: Action): boolean {
|
|
89
|
-
if (
|
|
88
|
+
if (SetModelAction.is(action) || UpdateModelAction.is(action)) {
|
|
90
89
|
return action.newRoot.type !== 'NONE';
|
|
91
90
|
}
|
|
92
91
|
return false;
|
|
@@ -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 {
|
|
@@ -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 };
|
package/src/base/types.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
|
|
@@ -13,27 +13,34 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
IMarqueeBehavior: Symbol
|
|
16
|
+
import { TYPES as SprottyTYPES } from 'sprotty';
|
|
17
|
+
/**
|
|
18
|
+
* Reexport of the TYPES namespace of sprotty augments with additional GLSP specific service
|
|
19
|
+
* identifiers.
|
|
20
|
+
*/
|
|
21
|
+
export const TYPES = {
|
|
22
|
+
...SprottyTYPES,
|
|
23
|
+
IAsyncClipboardService: Symbol('IAsyncClipboardService'),
|
|
24
|
+
IEditorContextServiceProvider: Symbol('IEditorContextProvider'),
|
|
25
|
+
IFeedbackActionDispatcher: Symbol('IFeedbackActionDispatcher'),
|
|
26
|
+
IToolFactory: Symbol('Factory<Tool>'),
|
|
27
|
+
ITypeHintProvider: Symbol('ITypeHintProvider'),
|
|
28
|
+
IMovementRestrictor: Symbol('IMovementRestrictor'),
|
|
29
|
+
SelectionService: Symbol('SelectionService'),
|
|
30
|
+
SelectionListener: Symbol('SelectionListener'),
|
|
31
|
+
SModelRootListener: Symbol('SModelRootListener'),
|
|
32
|
+
MouseTool: Symbol('MouseTool'),
|
|
33
|
+
IContextMenuProvider: Symbol('IContextMenuProvider'),
|
|
34
|
+
ICopyPasteHandler: Symbol('ICopyPasteHandler'),
|
|
35
|
+
ITool: Symbol('ITool'),
|
|
36
|
+
IDefaultTool: Symbol('IDefaultTool'),
|
|
37
|
+
IEditModeListener: Symbol('IEditModeListener'),
|
|
38
|
+
IMarqueeBehavior: Symbol('IMarqueeBehavior')
|
|
39
39
|
};
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Keep a reexport under the old deprecated namespace to avoid hard API breaks.
|
|
43
|
+
* This gives adopters a grace period but all deprecated API will be removed before the 1.0.0 release.
|
|
44
|
+
* @deprecated Please use `TYPES` from `@eclipse-glsp/client` instead
|
|
45
|
+
*/
|
|
46
|
+
export const GLSP_TYPES = TYPES;
|
|
@@ -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
|
|
@@ -33,7 +33,7 @@ export function createMovementRestrictionFeedback(
|
|
|
33
33
|
if (element instanceof SParentElement) {
|
|
34
34
|
element.children.filter(child => child instanceof SResizeHandle).forEach(e => elements.push(e));
|
|
35
35
|
}
|
|
36
|
-
return
|
|
36
|
+
return ModifyCSSFeedbackAction.create({ elements, add: movementRestrictor.cssClasses });
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
export function removeMovementRestrictionFeedback(
|
|
@@ -45,7 +45,7 @@ export function removeMovementRestrictionFeedback(
|
|
|
45
45
|
element.children.filter(child => child instanceof SResizeHandle).forEach(e => elements.push(e));
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
return
|
|
48
|
+
return ModifyCSSFeedbackAction.create({ elements, remove: movementRestrictor.cssClasses });
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
@injectable()
|