@eclipse-glsp/client 0.10.0-next.bb1c2fd.157 → 0.10.0-next.e5fcffe.169
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/glsp-sprotty.css +110 -8
- package/lib/base/action-dispatcher.d.ts +2 -1
- package/lib/base/action-dispatcher.d.ts.map +1 -1
- package/lib/base/action-dispatcher.js +13 -5
- package/lib/base/action-dispatcher.js.map +1 -1
- package/lib/base/actions/focus-change-action.d.ts +16 -7
- package/lib/base/actions/focus-change-action.d.ts.map +1 -1
- package/lib/base/actions/focus-change-action.js +31 -12
- package/lib/base/actions/focus-change-action.js.map +1 -1
- package/lib/base/actions/sprotty-actions.d.ts +7 -0
- package/lib/base/actions/sprotty-actions.d.ts.map +1 -0
- package/lib/{features/tool-palette/palette-item.js → base/actions/sprotty-actions.js} +4 -20
- package/lib/base/actions/sprotty-actions.js.map +1 -0
- package/lib/base/auto-complete/auto-complete-actions.d.ts +5 -3
- package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-actions.js +24 -5
- package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.d.ts +9 -2
- package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.js +16 -9
- package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
- package/lib/base/auto-complete/validation-decorator.js +2 -2
- package/lib/base/auto-complete/validation-decorator.js.map +1 -1
- package/lib/base/command-stack.d.ts.map +1 -1
- package/lib/base/command-stack.js +6 -5
- package/lib/base/command-stack.js.map +1 -1
- package/lib/base/di.config.d.ts +1 -1
- package/lib/base/di.config.d.ts.map +1 -1
- package/lib/base/di.config.js +13 -14
- package/lib/base/di.config.js.map +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
- package/lib/base/drag-aware-mouse-listener.js.map +1 -1
- package/lib/base/editor-context-service.d.ts +13 -1
- package/lib/base/editor-context-service.d.ts.map +1 -1
- package/lib/base/editor-context-service.js +23 -10
- package/lib/base/editor-context-service.js.map +1 -1
- package/lib/base/focus-tracker.d.ts +1 -1
- package/lib/base/focus-tracker.d.ts.map +1 -1
- package/lib/base/focus-tracker.js +4 -4
- package/lib/base/focus-tracker.js.map +1 -1
- package/lib/base/model/model-registry.d.ts.map +1 -1
- package/lib/base/model/model-registry.js +2 -2
- package/lib/base/model/model-registry.js.map +1 -1
- package/lib/base/model/update-model-command.d.ts +1 -1
- package/lib/base/model/update-model-command.d.ts.map +1 -1
- package/lib/base/model/update-model-command.js +15 -15
- package/lib/base/model/update-model-command.js.map +1 -1
- package/lib/base/model-initialization-constraint.d.ts +4 -5
- package/lib/base/model-initialization-constraint.d.ts.map +1 -1
- package/lib/base/model-initialization-constraint.js +11 -13
- package/lib/base/model-initialization-constraint.js.map +1 -1
- package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
- package/lib/base/selection-clearing-mouse-listener.js +1 -1
- package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.d.ts +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.js +10 -10
- package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
- package/lib/base/tool-manager/tool-actions.d.ts +14 -0
- package/lib/base/tool-manager/tool-actions.d.ts.map +1 -0
- package/lib/base/tool-manager/tool-actions.js +25 -0
- package/lib/base/tool-manager/tool-actions.js.map +1 -0
- package/lib/base/types.d.ts +144 -20
- package/lib/base/types.d.ts.map +1 -1
- package/lib/base/types.js +14 -26
- package/lib/base/types.js.map +1 -1
- package/lib/base/view/view-registry.d.ts.map +1 -1
- package/lib/base/view/view-registry.js +2 -2
- package/lib/base/view/view-registry.js.map +1 -1
- package/lib/features/change-bounds/model.d.ts +1 -1
- package/lib/features/change-bounds/model.d.ts.map +1 -1
- package/lib/features/change-bounds/model.js +3 -3
- package/lib/features/change-bounds/model.js.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +6 -6
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/change-bounds/snap.d.ts +42 -1
- package/lib/features/change-bounds/snap.d.ts.map +1 -1
- package/lib/features/change-bounds/snap.js +78 -2
- package/lib/features/change-bounds/snap.js.map +1 -1
- package/lib/features/change-bounds/snap.spec.d.ts +17 -0
- package/lib/features/change-bounds/snap.spec.d.ts.map +1 -0
- package/lib/features/change-bounds/snap.spec.js +82 -0
- package/lib/features/change-bounds/snap.spec.js.map +1 -0
- package/lib/features/command-palette/command-palette-tool.js +3 -3
- package/lib/features/command-palette/command-palette-tool.js.map +1 -1
- package/lib/features/command-palette/di.config.d.ts +2 -2
- package/lib/features/command-palette/di.config.d.ts.map +1 -1
- package/lib/features/command-palette/di.config.js +6 -6
- package/lib/features/command-palette/di.config.js.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -1
- package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.js +13 -10
- package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.d.ts +17 -1
- package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.js +4 -4
- package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
- package/lib/features/context-menu/di.config.d.ts +1 -1
- package/lib/features/context-menu/di.config.d.ts.map +1 -1
- package/lib/features/context-menu/di.config.js +8 -7
- package/lib/features/context-menu/di.config.js.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +17 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +8 -23
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -1
- package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.js +8 -7
- package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts +12 -15
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.js +26 -33
- package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.d.ts +1 -1
- package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.js +10 -11
- package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
- package/lib/features/copy-paste/di.config.d.ts +1 -1
- package/lib/features/copy-paste/di.config.d.ts.map +1 -1
- package/lib/features/copy-paste/di.config.js +5 -7
- package/lib/features/copy-paste/di.config.js.map +1 -1
- package/lib/features/decoration/decoration-placer.d.ts +1 -1
- package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
- package/lib/features/decoration/decoration-placer.js +19 -3
- package/lib/features/decoration/decoration-placer.js.map +1 -1
- package/lib/features/decoration/di.config.d.ts +2 -2
- package/lib/features/decoration/di.config.d.ts.map +1 -1
- package/lib/features/decoration/di.config.js +4 -4
- package/lib/features/decoration/di.config.js.map +1 -1
- package/lib/features/edit-label/di.config.d.ts +1 -1
- package/lib/features/edit-label/di.config.d.ts.map +1 -1
- package/lib/features/edit-label/di.config.js +5 -5
- package/lib/features/edit-label/di.config.js.map +1 -1
- package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -1
- package/lib/features/edit-label/edit-label-tool.js +2 -2
- package/lib/features/edit-label/edit-label-tool.js.map +1 -1
- package/lib/features/edit-label/edit-label-validator.d.ts +4 -6
- package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
- package/lib/features/edit-label/edit-label-validator.js +11 -13
- package/lib/features/edit-label/edit-label-validator.js.map +1 -1
- package/lib/features/hints/di.config.js +4 -4
- package/lib/features/hints/di.config.js.map +1 -1
- package/lib/features/hints/type-hints.d.ts +15 -5
- package/lib/features/hints/type-hints.d.ts.map +1 -1
- package/lib/features/hints/type-hints.js +29 -26
- package/lib/features/hints/type-hints.js.map +1 -1
- package/lib/features/hover/di.config.d.ts.map +1 -1
- package/lib/features/hover/di.config.js +11 -9
- package/lib/features/hover/di.config.js.map +1 -1
- package/lib/features/hover/hover.d.ts +4 -2
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +23 -5
- package/lib/features/hover/hover.js.map +1 -1
- package/lib/features/layout/di.config.d.ts +1 -1
- package/lib/features/layout/di.config.d.ts.map +1 -1
- package/lib/features/layout/di.config.js +6 -4
- package/lib/features/layout/di.config.js.map +1 -1
- package/lib/features/layout/freeform-layout.d.ts +17 -1
- package/lib/features/layout/freeform-layout.d.ts.map +1 -1
- package/lib/features/layout/freeform-layout.js +4 -4
- package/lib/features/layout/freeform-layout.js.map +1 -1
- package/lib/features/layout/hbox-layout.d.ts +41 -0
- package/lib/features/layout/hbox-layout.d.ts.map +1 -0
- package/lib/features/layout/hbox-layout.js +189 -0
- package/lib/features/layout/hbox-layout.js.map +1 -0
- package/lib/features/layout/layout-commands.d.ts +65 -38
- package/lib/features/layout/layout-commands.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.js +90 -67
- package/lib/features/layout/layout-commands.js.map +1 -1
- package/lib/features/layout/layout-commands.spec.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.spec.js +35 -23
- package/lib/features/layout/layout-commands.spec.js.map +1 -1
- package/lib/features/layout/vbox-layout.d.ts +17 -1
- package/lib/features/layout/vbox-layout.d.ts.map +1 -1
- package/lib/features/layout/vbox-layout.js +9 -8
- package/lib/features/layout/vbox-layout.js.map +1 -1
- package/lib/features/model-source-watcher/di.config.js +1 -1
- package/lib/features/model-source-watcher/di.config.js.map +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js +11 -11
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
- package/lib/features/mouse-tool/di.config.d.ts +1 -1
- package/lib/features/mouse-tool/di.config.d.ts.map +1 -1
- package/lib/features/mouse-tool/di.config.js +2 -2
- package/lib/features/mouse-tool/di.config.js.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts +9 -5
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js +11 -53
- package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
- package/lib/features/navigation/di.config.js +4 -4
- package/lib/features/navigation/di.config.js.map +1 -1
- package/lib/features/navigation/navigation-action-handler.d.ts +31 -16
- package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
- package/lib/features/navigation/navigation-action-handler.js +52 -68
- package/lib/features/navigation/navigation-action-handler.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.d.ts +3 -3
- package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.js +8 -9
- package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.js +12 -12
- package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
- package/lib/features/reconnect/model.d.ts +1 -1
- package/lib/features/reconnect/model.d.ts.map +1 -1
- package/lib/features/reconnect/model.js +1 -1
- package/lib/features/reconnect/model.js.map +1 -1
- package/lib/features/save/di.config.d.ts +1 -1
- package/lib/features/save/di.config.d.ts.map +1 -1
- package/lib/features/save/di.config.js +3 -3
- package/lib/features/save/di.config.js.map +1 -1
- package/lib/features/save/save-keylistener.d.ts +1 -1
- package/lib/features/save/save-keylistener.d.ts.map +1 -1
- package/lib/features/save/save-keylistener.js +3 -3
- package/lib/features/save/save-keylistener.js.map +1 -1
- package/lib/features/select/di.config.d.ts +1 -1
- package/lib/features/select/di.config.d.ts.map +1 -1
- package/lib/features/select/di.config.js +7 -8
- package/lib/features/select/di.config.js.map +1 -1
- package/lib/features/select/select-feedback-action.d.ts +26 -22
- package/lib/features/select/select-feedback-action.d.ts.map +1 -1
- package/lib/features/select/select-feedback-action.js +19 -46
- package/lib/features/select/select-feedback-action.js.map +1 -1
- package/lib/features/select/select-mouse-listener.d.ts +1 -1
- package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
- package/lib/features/select/select-mouse-listener.js +1 -1
- package/lib/features/select/select-mouse-listener.js.map +1 -1
- package/lib/features/select/selection-service.d.ts +3 -3
- package/lib/features/select/selection-service.d.ts.map +1 -1
- package/lib/features/select/selection-service.js +28 -23
- package/lib/features/select/selection-service.js.map +1 -1
- package/lib/features/select/selection-service.spec.js +28 -25
- package/lib/features/select/selection-service.spec.js.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +17 -9
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +67 -37
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts +23 -11
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +62 -35
- package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/css-feedback.d.ts +17 -10
- package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/css-feedback.js +42 -38
- package/lib/features/tool-feedback/css-feedback.js.map +1 -1
- package/lib/features/tool-feedback/di.config.d.ts +1 -1
- package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
- package/lib/features/tool-feedback/di.config.js +18 -18
- package/lib/features/tool-feedback/di.config.js.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +44 -22
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +140 -114
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +2 -2
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.js +4 -4
- package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +21 -10
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.js +44 -18
- package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/model.d.ts +1 -2
- package/lib/features/tool-feedback/model.d.ts.map +1 -1
- package/lib/features/tool-feedback/model.js +1 -1
- package/lib/features/tool-feedback/model.js.map +1 -1
- package/lib/features/tool-feedback/view.d.ts +1 -1
- package/lib/features/tool-feedback/view.d.ts.map +1 -1
- package/lib/features/tool-feedback/view.js +22 -5
- package/lib/features/tool-feedback/view.js.map +1 -1
- package/lib/features/tool-palette/di.config.d.ts +1 -1
- package/lib/features/tool-palette/di.config.d.ts.map +1 -1
- package/lib/features/tool-palette/di.config.js +5 -4
- package/lib/features/tool-palette/di.config.js.map +1 -1
- package/lib/features/tool-palette/tool-palette.d.ts +10 -7
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +39 -32
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/base-glsp-tool.d.ts +3 -3
- package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
- package/lib/features/tools/base-glsp-tool.js +11 -11
- package/lib/features/tools/base-glsp-tool.js.map +1 -1
- package/lib/features/tools/change-bounds-tool.d.ts +7 -9
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds-tool.js +48 -71
- package/lib/features/tools/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/delete-tool.d.ts +1 -1
- package/lib/features/tools/delete-tool.d.ts.map +1 -1
- package/lib/features/tools/delete-tool.js +17 -17
- package/lib/features/tools/delete-tool.js.map +1 -1
- package/lib/features/tools/di.config.js +12 -12
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-creation-tool.js +28 -21
- package/lib/features/tools/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.d.ts +3 -2
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit-tool.js +41 -36
- package/lib/features/tools/edge-edit-tool.js.map +1 -1
- package/lib/features/tools/marquee-behavior.d.ts +1 -1
- package/lib/features/tools/marquee-behavior.js +2 -2
- package/lib/features/tools/marquee-behavior.js.map +1 -1
- package/lib/features/tools/marquee-behavior.spec.js +63 -63
- package/lib/features/tools/marquee-behavior.spec.js.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.d.ts +1 -1
- package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.js +20 -20
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
- package/lib/features/tools/marquee-tool.d.ts +1 -1
- package/lib/features/tools/marquee-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-tool.js +4 -4
- package/lib/features/tools/marquee-tool.js.map +1 -1
- package/lib/features/tools/model.d.ts +3 -2
- package/lib/features/tools/model.d.ts.map +1 -1
- package/lib/features/tools/model.js +0 -15
- package/lib/features/tools/model.js.map +1 -1
- package/lib/features/tools/node-creation-tool.d.ts +1 -1
- package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/node-creation-tool.js +17 -17
- package/lib/features/tools/node-creation-tool.js.map +1 -1
- package/lib/features/tools/view.d.ts.map +1 -1
- package/lib/features/tools/view.js +2 -2
- package/lib/features/tools/view.js.map +1 -1
- package/lib/features/validation/di.config.d.ts +1 -1
- package/lib/features/validation/di.config.d.ts.map +1 -1
- package/lib/features/validation/di.config.js +7 -7
- package/lib/features/validation/di.config.js.map +1 -1
- package/lib/features/validation/marker-navigator.d.ts +16 -8
- package/lib/features/validation/marker-navigator.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.js +39 -37
- package/lib/features/validation/marker-navigator.js.map +1 -1
- package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.spec.js +23 -37
- package/lib/features/validation/marker-navigator.spec.js.map +1 -1
- package/lib/features/validation/validate.d.ts +10 -12
- package/lib/features/validation/validate.d.ts.map +1 -1
- package/lib/features/validation/validate.js +42 -41
- package/lib/features/validation/validate.js.map +1 -1
- package/lib/features/viewport/di.config.d.ts +1 -1
- package/lib/features/viewport/di.config.d.ts.map +1 -1
- package/lib/features/viewport/di.config.js +7 -7
- package/lib/features/viewport/di.config.js.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.js +3 -3
- package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
- package/lib/index.d.ts +4 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +11 -8
- package/lib/index.js.map +1 -1
- package/lib/lib/model.d.ts +3 -2
- package/lib/lib/model.d.ts.map +1 -1
- package/lib/lib/model.js +0 -15
- package/lib/lib/model.js.map +1 -1
- package/lib/model-source/glsp-diagram-server.d.ts +5 -5
- package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
- package/lib/model-source/glsp-diagram-server.js +7 -6
- package/lib/model-source/glsp-diagram-server.js.map +1 -1
- package/lib/sprotty-reexport.d.ts +174 -0
- package/lib/sprotty-reexport.d.ts.map +1 -0
- package/lib/sprotty-reexport.js +299 -0
- package/lib/sprotty-reexport.js.map +1 -0
- package/lib/utils/argument-utils.js +5 -5
- package/lib/utils/argument-utils.js.map +1 -1
- package/lib/utils/layout-utils.d.ts +3 -3
- package/lib/utils/layout-utils.d.ts.map +1 -1
- package/lib/utils/smodel-util.d.ts +117 -11
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +142 -37
- package/lib/utils/smodel-util.js.map +1 -1
- package/lib/utils/viewpoint-util.d.ts +3 -3
- package/lib/utils/viewpoint-util.d.ts.map +1 -1
- package/lib/utils/viewpoint-util.js +19 -3
- package/lib/utils/viewpoint-util.js.map +1 -1
- package/lib/views/base-view-module.js +19 -19
- package/lib/views/base-view-module.js.map +1 -1
- package/lib/views/compartments.js +1 -1
- package/lib/views/compartments.js.map +1 -1
- package/lib/views/glsp-edge-view.d.ts +1 -1
- package/lib/views/glsp-edge-view.d.ts.map +1 -1
- package/lib/views/glsp-edge-view.js +1 -1
- package/lib/views/glsp-edge-view.js.map +1 -1
- package/lib/views/index.js +6 -2
- package/lib/views/index.js.map +1 -1
- package/lib/views/issue-marker-view.d.ts.map +1 -1
- package/lib/views/issue-marker-view.js +3 -3
- package/lib/views/issue-marker-view.js.map +1 -1
- package/lib/views/rounded-corner-view.d.ts.map +1 -1
- package/lib/views/rounded-corner-view.js +2 -2
- package/lib/views/rounded-corner-view.js.map +1 -1
- package/package.json +8 -18
- package/src/base/action-dispatcher.ts +17 -8
- package/src/base/actions/focus-change-action.ts +25 -8
- package/{lib/features/tool-palette/palette-item.d.ts → src/base/actions/sprotty-actions.ts} +11 -11
- package/src/base/auto-complete/auto-complete-actions.ts +7 -5
- package/src/base/auto-complete/auto-complete-widget.ts +15 -13
- package/src/base/command-stack.ts +7 -6
- package/src/base/di.config.ts +4 -5
- package/src/base/drag-aware-mouse-listener.ts +4 -4
- package/src/base/editor-context-service.ts +19 -7
- package/src/base/focus-tracker.ts +5 -4
- package/src/base/model/model-registry.ts +2 -2
- package/src/base/model/update-model-command.ts +9 -10
- package/src/base/model-initialization-constraint.ts +9 -11
- package/src/base/selection-clearing-mouse-listener.ts +1 -1
- package/src/base/tool-manager/glsp-tool-manager.ts +9 -9
- package/src/base/tool-manager/tool-actions.ts +37 -0
- package/src/base/types.ts +31 -24
- package/src/base/view/view-registry.ts +2 -2
- package/src/features/change-bounds/model.ts +5 -5
- package/src/features/change-bounds/movement-restrictor.ts +3 -3
- package/src/features/change-bounds/snap.spec.ts +89 -0
- package/src/features/change-bounds/snap.ts +86 -2
- package/src/features/command-palette/di.config.ts +5 -7
- package/src/features/command-palette/server-command-palette-provider.ts +9 -8
- package/src/features/context-menu/delete-element-context-menu.ts +6 -6
- package/src/features/context-menu/di.config.ts +3 -2
- package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +6 -7
- package/src/features/context-menu/server-context-menu-provider.ts +7 -6
- package/src/features/copy-paste/copy-paste-context-menu.ts +30 -23
- package/src/features/copy-paste/copy-paste-handler.ts +6 -6
- package/src/features/copy-paste/di.config.ts +7 -15
- package/src/features/decoration/decoration-placer.ts +4 -4
- package/src/features/decoration/di.config.ts +3 -5
- package/src/features/edit-label/di.config.ts +4 -5
- package/src/features/edit-label/edit-label-tool.ts +1 -2
- package/src/features/edit-label/edit-label-validator.ts +6 -10
- package/src/features/hints/di.config.ts +3 -3
- package/src/features/hints/type-hints.ts +33 -18
- package/src/features/hover/di.config.ts +4 -0
- package/src/features/hover/hover.ts +30 -12
- package/src/features/layout/di.config.ts +4 -2
- package/src/features/layout/freeform-layout.ts +6 -15
- package/src/features/layout/hbox-layout.ts +256 -0
- package/src/features/layout/layout-commands.spec.ts +38 -22
- package/src/features/layout/layout-commands.ts +134 -60
- package/src/features/layout/vbox-layout.ts +20 -20
- package/src/features/model-source-watcher/model-source-changed-action-handler.ts +7 -12
- package/src/features/mouse-tool/di.config.ts +3 -4
- package/src/features/mouse-tool/mouse-tool.ts +18 -59
- package/src/features/navigation/navigation-action-handler.ts +76 -42
- package/src/features/navigation/navigation-target-resolver.spec.ts +3 -3
- package/src/features/navigation/navigation-target-resolver.ts +8 -13
- package/src/features/reconnect/model.ts +2 -2
- package/src/features/save/di.config.ts +2 -3
- package/src/features/save/save-keylistener.ts +3 -3
- package/src/features/select/di.config.ts +6 -8
- package/src/features/select/select-feedback-action.ts +18 -46
- package/src/features/select/select-mouse-listener.ts +1 -2
- package/src/features/select/selection-service.spec.ts +11 -8
- package/src/features/select/selection-service.ts +17 -12
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +51 -21
- package/src/features/tool-feedback/creation-tool-feedback.ts +52 -31
- package/src/features/tool-feedback/css-feedback.ts +40 -37
- package/src/features/tool-feedback/di.config.ts +4 -5
- package/src/features/tool-feedback/edge-edit-tool-feedback.ts +132 -88
- package/src/features/tool-feedback/feedback-action-dispatcher.ts +4 -3
- package/src/features/tool-feedback/marquee-tool-feedback.ts +38 -13
- package/src/features/tool-feedback/model.ts +1 -3
- package/src/features/tool-feedback/view.tsx +3 -3
- package/src/features/tool-palette/di.config.ts +3 -2
- package/src/features/tool-palette/tool-palette.ts +35 -19
- package/src/features/tools/base-glsp-tool.ts +11 -11
- package/src/features/tools/change-bounds-tool.ts +37 -67
- package/src/features/tools/delete-tool.ts +9 -9
- package/src/features/tools/di.config.ts +10 -10
- package/src/features/tools/edge-creation-tool.ts +21 -12
- package/src/features/tools/edge-edit-tool.ts +25 -21
- package/src/features/tools/marquee-behavior.ts +2 -2
- package/src/features/tools/marquee-mouse-tool.ts +13 -14
- package/src/features/tools/marquee-tool.ts +3 -3
- package/src/features/tools/model.ts +4 -3
- package/src/features/tools/node-creation-tool.ts +8 -8
- package/src/features/tools/view.tsx +2 -3
- package/src/features/validation/di.config.ts +4 -5
- package/src/features/validation/marker-navigator.spec.ts +4 -2
- package/src/features/validation/marker-navigator.ts +47 -25
- package/src/features/validation/validate.ts +31 -24
- package/src/features/viewport/di.config.ts +1 -2
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +5 -5
- package/src/index.ts +4 -5
- package/src/lib/model.ts +4 -4
- package/src/model-source/glsp-diagram-server.ts +14 -14
- package/src/sprotty-reexport.ts +283 -0
- package/src/utils/layout-utils.ts +3 -3
- package/src/utils/smodel-util.ts +139 -43
- package/src/utils/viewpoint-util.ts +5 -14
- package/src/views/glsp-edge-view.tsx +4 -4
- package/src/views/issue-marker-view.tsx +2 -2
- package/src/views/rounded-corner-view.tsx +2 -3
- package/lib/features/tool-palette/palette-item.d.ts.map +0 -1
- package/lib/features/tool-palette/palette-item.js.map +0 -1
- package/lib/protocol-reexport.d.ts +0 -45
- package/lib/protocol-reexport.d.ts.map +0 -1
- package/lib/protocol-reexport.js +0 -75
- package/lib/protocol-reexport.js.map +0 -1
- package/src/features/tool-palette/palette-item.ts +0 -38
- package/src/protocol-reexport.ts +0 -64
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.e5fcffe.169+e5fcffe",
|
|
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,32 +34,22 @@
|
|
|
34
34
|
"css"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@eclipse-glsp/protocol": "0.10.0-next.
|
|
37
|
+
"@eclipse-glsp/protocol": "0.10.0-next.e5fcffe.169+e5fcffe",
|
|
38
38
|
"autocompleter": "5.1.0",
|
|
39
|
-
"sprotty": "
|
|
39
|
+
"sprotty": "next"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@babel/runtime": "^7.11.2",
|
|
43
|
-
"@types/chai": "4.1.3",
|
|
44
|
-
"@types/mocha": "^5.2.7",
|
|
45
|
-
"@types/node": "10.14.18",
|
|
46
42
|
"@vscode/codicons": "^0.0.25",
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"mocha": "^6.2.0",
|
|
50
|
-
"mocha-jenkins-reporter": "0.4.5",
|
|
51
|
-
"reflect-metadata": "^0.1.13",
|
|
52
|
-
"rimraf": "^2.6.1",
|
|
53
|
-
"ts-node": "^8.3.0",
|
|
54
|
-
"typescript": "^3.9.2"
|
|
43
|
+
"eslint-import-resolver-typescript": "2.7.0",
|
|
44
|
+
"typescript": "^4.5.5"
|
|
55
45
|
},
|
|
56
46
|
"scripts": {
|
|
57
47
|
"prepare": "yarn clean && yarn build && yarn lint",
|
|
58
|
-
"clean": "rimraf lib",
|
|
48
|
+
"clean": "rimraf lib tsconfig.tsbuildinfo ",
|
|
59
49
|
"build": "tsc",
|
|
60
50
|
"lint": "eslint -c ./.eslintrc.js --ext .ts,.tsx ./src",
|
|
61
51
|
"watch": "tsc -w",
|
|
62
|
-
"test": "mocha --
|
|
52
|
+
"test": "mocha --config ../../.mocharc.json \"./src/**/*.spec.?(ts|tsx)\"",
|
|
63
53
|
"test:ci": "export JUNIT_REPORT_PATH=./report.xml && yarn test --reporter mocha-jenkins-reporter"
|
|
64
54
|
},
|
|
65
55
|
"publishConfig": {
|
|
@@ -67,5 +57,5 @@
|
|
|
67
57
|
},
|
|
68
58
|
"main": "lib/index",
|
|
69
59
|
"types": "lib/index",
|
|
70
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "e5fcffe323165bf82385707b49dcc02903ac9a2b"
|
|
71
61
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action,
|
|
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';
|
|
@@ -23,7 +23,7 @@ export class GLSPActionDispatcher extends ActionDispatcher {
|
|
|
23
23
|
protected initializedConstraint = false;
|
|
24
24
|
@inject(ModelInitializationConstraint) protected initializationConstraint: ModelInitializationConstraint;
|
|
25
25
|
|
|
26
|
-
initialize(): Promise<void> {
|
|
26
|
+
override initialize(): Promise<void> {
|
|
27
27
|
return super.initialize().then(() => this.startModelInitialization());
|
|
28
28
|
}
|
|
29
29
|
|
|
@@ -39,14 +39,14 @@ export class GLSPActionDispatcher extends ActionDispatcher {
|
|
|
39
39
|
return this.initializationConstraint.onInitialized();
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
dispatch(action: Action): Promise<void> {
|
|
42
|
+
override dispatch(action: Action): Promise<void> {
|
|
43
43
|
const result = super.dispatch(action);
|
|
44
44
|
this.initializationConstraint.notifyDispatched(action);
|
|
45
45
|
return result;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
protected handleAction(action: Action): Promise<void> {
|
|
49
|
-
if (
|
|
48
|
+
protected override handleAction(action: Action): Promise<void> {
|
|
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 {
|
|
@@ -51,6 +51,13 @@ export interface TextSubmitHandler {
|
|
|
51
51
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
52
52
|
const configureAutocomplete: (settings: AutocompleteSettings<LabeledAction>) => AutocompleteResult = require('autocompleter');
|
|
53
53
|
|
|
54
|
+
/**
|
|
55
|
+
* The `AutoCompleteWidget` is a reusable UI element that provides a text input supporting auto-completion,
|
|
56
|
+
* validation, validation messages, etc.
|
|
57
|
+
*
|
|
58
|
+
* An example for using it is available in the workflow diagram:
|
|
59
|
+
* https://github.com/eclipse-glsp/glsp-client/blob/master/examples/workflow-glsp/src/direct-task-editing/direct-task-editor.ts
|
|
60
|
+
*/
|
|
54
61
|
export class AutoCompleteWidget {
|
|
55
62
|
loadingIndicatorClasses = codiconCSSClasses('loading', false, true, ['loading']);
|
|
56
63
|
|
|
@@ -158,18 +165,13 @@ export class AutoCompleteWidget {
|
|
|
158
165
|
fetch: (text: string, update: (items: LabeledAction[]) => void) => this.updateSuggestions(update, text, root),
|
|
159
166
|
onSelect: (item: LabeledAction) => this.onSelect(item),
|
|
160
167
|
render: (item: LabeledAction, currentValue: string): HTMLDivElement | undefined => this.renderSuggestions(item, currentValue),
|
|
161
|
-
customize: (input: HTMLInputElement, inputRect:
|
|
168
|
+
customize: (input: HTMLInputElement, inputRect: DOMRect, container: HTMLDivElement, maxHeight: number) => {
|
|
162
169
|
this.customizeInputElement(input, inputRect, container, maxHeight);
|
|
163
170
|
}
|
|
164
171
|
};
|
|
165
172
|
}
|
|
166
173
|
|
|
167
|
-
protected customizeInputElement(
|
|
168
|
-
input: HTMLInputElement,
|
|
169
|
-
inputRect: ClientRect | DOMRect,
|
|
170
|
-
container: HTMLDivElement,
|
|
171
|
-
maxHeight: number
|
|
172
|
-
): void {
|
|
174
|
+
protected customizeInputElement(input: HTMLInputElement, inputRect: DOMRect, container: HTMLDivElement, maxHeight: number): void {
|
|
173
175
|
// move container into our UIExtension container as this is already positioned correctly
|
|
174
176
|
if (this.containerElement) {
|
|
175
177
|
this.containerElement.appendChild(container);
|
|
@@ -249,7 +251,7 @@ export class AutoCompleteWidget {
|
|
|
249
251
|
}
|
|
250
252
|
|
|
251
253
|
protected onSelect(item: LabeledAction): void {
|
|
252
|
-
if (
|
|
254
|
+
if (AutoCompleteValue.is(item)) {
|
|
253
255
|
this.inputElement.value = item.text;
|
|
254
256
|
// trigger update of suggestions with an keyup event
|
|
255
257
|
window.setTimeout(() => this.inputElement.dispatchEvent(new Event('keyup')));
|
|
@@ -317,9 +319,9 @@ export class AutoCompleteWidget {
|
|
|
317
319
|
}
|
|
318
320
|
|
|
319
321
|
export function toActionArray(input: LabeledAction | Action[] | Action): Action[] {
|
|
320
|
-
if (
|
|
322
|
+
if (LabeledAction.is(input)) {
|
|
321
323
|
return input.actions;
|
|
322
|
-
} else if (
|
|
324
|
+
} else if (Action.is(input)) {
|
|
323
325
|
return [input];
|
|
324
326
|
}
|
|
325
327
|
return [];
|
|
@@ -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
|
}
|
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,37 @@
|
|
|
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(
|
|
41
|
+
@inject(TYPES.SelectionService) protected selectionService: SelectionService;
|
|
30
42
|
@inject(MousePositionTracker) protected mousePositionTracker: MousePositionTracker;
|
|
31
43
|
@inject(TYPES.ModelSourceProvider) protected modelSource: () => Promise<ModelSource>;
|
|
32
44
|
protected _editMode: string;
|
|
33
45
|
|
|
34
|
-
constructor(@multiInject(
|
|
46
|
+
constructor(@multiInject(TYPES.IEditModeListener) @optional() protected editModeListeners: EditModeListener[] = []) {}
|
|
35
47
|
|
|
36
48
|
register(editModeListener: EditModeListener): void {
|
|
37
49
|
distinctAdd(this.editModeListeners, editModeListener);
|
|
@@ -58,7 +70,7 @@ export class EditorContextService implements IActionHandler {
|
|
|
58
70
|
}
|
|
59
71
|
|
|
60
72
|
handle(action: Action): void {
|
|
61
|
-
if (
|
|
73
|
+
if (SetEditModeAction.is(action)) {
|
|
62
74
|
const oldValue = this._editMode;
|
|
63
75
|
this._editMode = action.editMode;
|
|
64
76
|
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) {
|
|
@@ -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,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()
|
|
@@ -68,7 +67,7 @@ export class FeedbackAwareUpdateModelCommand extends UpdateModelCommand {
|
|
|
68
67
|
this.actionHandlerRegistryProvider().then(registry => (this.actionHandlerRegistry = registry));
|
|
69
68
|
}
|
|
70
69
|
|
|
71
|
-
protected performUpdate(oldRoot: SModelRoot, newRoot: SModelRoot, context: CommandExecutionContext): CommandReturn {
|
|
70
|
+
protected override performUpdate(oldRoot: SModelRoot, newRoot: SModelRoot, context: CommandExecutionContext): CommandReturn {
|
|
72
71
|
if (this.feedbackActionDispatcher && this.actionHandlerRegistry) {
|
|
73
72
|
// Create a temporary context wich defines the `newRoot` as `root`
|
|
74
73
|
// This way we do not corrupt the redo/undo behavior of the super class
|
|
@@ -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) {
|