@eclipse-glsp/client 0.9.0-rc-01 → 0.10.0-next.146a812.165
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/LICENSE +642 -277
- package/README.md +4 -2
- package/css/command-palette.css +9 -5
- package/css/decoration.css +3 -2
- package/css/glsp-sprotty.css +125 -14
- package/css/tool-palette.css +44 -27
- package/lib/base/action-dispatcher.d.ts +19 -3
- package/lib/base/action-dispatcher.d.ts.map +1 -1
- package/lib/base/action-dispatcher.js +47 -65
- package/lib/base/action-dispatcher.js.map +1 -1
- package/lib/base/actions/focus-change-action.d.ts +1 -1
- package/lib/base/actions/focus-change-action.d.ts.map +1 -1
- package/lib/base/actions/focus-change-action.js +4 -5
- package/lib/base/actions/focus-change-action.js.map +1 -1
- package/lib/base/{args.d.ts → argumentable.d.ts} +3 -5
- package/lib/base/argumentable.d.ts.map +1 -0
- package/lib/base/{args.js → argumentable.js} +1 -1
- package/lib/base/argumentable.js.map +1 -0
- package/lib/base/auto-complete/auto-complete-actions.d.ts +1 -1
- package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.d.ts +3 -3
- package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.js +123 -157
- package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
- package/lib/base/auto-complete/validation-decorator.d.ts +3 -18
- package/lib/base/auto-complete/validation-decorator.d.ts.map +1 -1
- package/lib/base/auto-complete/validation-decorator.js +44 -65
- 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 +19 -37
- package/lib/base/command-stack.js.map +1 -1
- package/lib/base/container-modules.d.ts +40 -0
- package/lib/base/container-modules.d.ts.map +1 -0
- package/lib/base/container-modules.js +100 -0
- package/lib/base/container-modules.js.map +1 -0
- package/lib/base/di.config.d.ts +12 -2
- package/lib/base/di.config.d.ts.map +1 -1
- package/lib/base/di.config.js +46 -30
- package/lib/base/di.config.js.map +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts +3 -2
- package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
- package/lib/base/drag-aware-mouse-listener.js +23 -62
- package/lib/base/drag-aware-mouse-listener.js.map +1 -1
- package/lib/base/{editor-context.d.ts → editor-context-service.d.ts} +18 -22
- package/lib/base/editor-context-service.d.ts.map +1 -0
- package/lib/base/editor-context-service.js +110 -0
- package/lib/base/editor-context-service.js.map +1 -0
- package/lib/base/focus-tracker.d.ts +17 -1
- package/lib/base/focus-tracker.d.ts.map +1 -1
- package/lib/base/focus-tracker.js +20 -40
- 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 +11 -29
- package/lib/base/model/model-registry.js.map +1 -1
- package/lib/base/model/update-model-command.d.ts +19 -5
- package/lib/base/model/update-model-command.d.ts.map +1 -1
- package/lib/base/model/update-model-command.js +69 -94
- package/lib/base/model/update-model-command.js.map +1 -1
- package/lib/base/model-initialization-constraint.d.ts +18 -3
- package/lib/base/model-initialization-constraint.d.ts.map +1 -1
- package/lib/base/model-initialization-constraint.js +37 -58
- 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 +10 -28
- package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
- package/lib/base/source-uri-aware.js +2 -5
- package/lib/base/source-uri-aware.js.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.d.ts +2 -2
- package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.js +58 -140
- package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
- package/lib/base/types.d.ts +3 -1
- package/lib/base/types.d.ts.map +1 -1
- package/lib/base/types.js +4 -2
- 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 +11 -29
- package/lib/base/view/view-registry.js.map +1 -1
- package/lib/features/change-bounds/model.d.ts +3 -1
- package/lib/features/change-bounds/model.d.ts.map +1 -1
- package/lib/features/change-bounds/model.js +22 -33
- package/lib/features/change-bounds/model.js.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts +17 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +29 -43
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/change-bounds/snap.d.ts +58 -1
- package/lib/features/change-bounds/snap.d.ts.map +1 -1
- package/lib/features/change-bounds/snap.js +91 -41
- package/lib/features/change-bounds/snap.js.map +1 -1
- package/{src/features/undo-redo/model.ts → lib/features/change-bounds/snap.spec.d.ts} +3 -12
- 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 +30 -38
- package/lib/features/command-palette/command-palette-tool.js.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 +18 -2
- package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.js +28 -33
- package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.d.ts +1 -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 +20 -68
- 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 -8
- 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 +16 -0
- 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 +61 -71
- 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 +18 -2
- package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.js +30 -31
- package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts +22 -2
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.js +99 -72
- package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.d.ts +19 -2
- package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.js +70 -70
- 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 +11 -11
- package/lib/features/copy-paste/di.config.js.map +1 -1
- package/lib/features/decoration/decoration-placer.d.ts +17 -1
- package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
- package/lib/features/decoration/decoration-placer.js +13 -47
- package/lib/features/decoration/decoration-placer.js.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.js +7 -7
- package/lib/features/edit-label/di.config.js.map +1 -1
- package/lib/features/edit-label/edit-label-tool.js +20 -43
- package/lib/features/edit-label/edit-label-tool.js.map +1 -1
- package/lib/features/edit-label/edit-label-validator.d.ts +16 -1
- package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
- package/lib/features/edit-label/edit-label-validator.js +40 -62
- package/lib/features/edit-label/edit-label-validator.js.map +1 -1
- package/lib/features/hints/di.config.d.ts +0 -15
- package/lib/features/hints/di.config.d.ts.map +1 -1
- package/lib/features/hints/di.config.js +9 -9
- package/lib/features/hints/di.config.js.map +1 -1
- package/lib/features/hints/model.d.ts +3 -2
- package/lib/features/hints/model.d.ts.map +1 -1
- package/lib/features/hints/model.js.map +1 -1
- package/lib/features/hints/type-hints.d.ts +17 -45
- package/lib/features/hints/type-hints.d.ts.map +1 -1
- package/lib/features/hints/type-hints.js +81 -140
- package/lib/features/hints/type-hints.js.map +1 -1
- package/lib/features/hover/di.config.d.ts +1 -1
- package/lib/features/hover/di.config.d.ts.map +1 -1
- package/lib/features/hover/di.config.js +19 -17
- package/lib/features/hover/di.config.js.map +1 -1
- package/lib/features/hover/hover.d.ts +28 -2
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +56 -76
- 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 +11 -7
- package/lib/features/layout/di.config.js.map +1 -1
- package/lib/features/layout/freeform-layout.d.ts +16 -0
- package/lib/features/layout/freeform-layout.d.ts.map +1 -0
- package/lib/features/layout/freeform-layout.js +107 -0
- package/lib/features/layout/freeform-layout.js.map +1 -0
- package/lib/features/layout/layout-commands.d.ts +19 -3
- package/lib/features/layout/layout-commands.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.js +196 -269
- package/lib/features/layout/layout-commands.js.map +1 -1
- package/lib/features/layout/layout-commands.spec.d.ts +0 -15
- package/lib/features/layout/layout-commands.spec.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.spec.js +101 -95
- package/lib/features/layout/layout-commands.spec.js.map +1 -1
- package/lib/features/layout/vbox-layout.d.ts +25 -0
- package/lib/features/layout/vbox-layout.d.ts.map +1 -0
- package/lib/features/layout/vbox-layout.js +188 -0
- package/lib/features/layout/vbox-layout.js.map +1 -0
- package/lib/features/model-source-watcher/di.config.d.ts +0 -15
- package/lib/features/model-source-watcher/di.config.d.ts.map +1 -1
- package/lib/features/model-source-watcher/di.config.js +7 -7
- 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 +17 -2
- 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 +38 -46
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
- package/lib/features/mouse-tool/di.config.js +5 -5
- package/lib/features/mouse-tool/di.config.js.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts +10 -5
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js +54 -235
- package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
- package/lib/features/navigation/di.config.d.ts +0 -15
- package/lib/features/navigation/di.config.d.ts.map +1 -1
- package/lib/features/navigation/di.config.js +11 -10
- package/lib/features/navigation/di.config.js.map +1 -1
- package/lib/features/navigation/navigation-action-handler.d.ts +19 -38
- package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
- package/lib/features/navigation/navigation-action-handler.js +118 -254
- package/lib/features/navigation/navigation-action-handler.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.d.ts +18 -40
- package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.js +46 -188
- package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.d.ts +0 -15
- package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.js +27 -27
- package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
- package/lib/features/rank/model.d.ts +1 -1
- package/lib/features/rank/model.js +2 -2
- package/lib/features/rank/model.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 +9 -27
- 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 +6 -6
- package/lib/features/save/di.config.js.map +1 -1
- package/lib/features/save/{save.d.ts → save-keylistener.d.ts} +4 -10
- package/lib/features/save/save-keylistener.d.ts.map +1 -0
- package/lib/features/{undo-redo/model.d.ts → save/save-keylistener.js} +16 -12
- package/lib/features/save/save-keylistener.js.map +1 -0
- package/lib/features/select/di.config.js +11 -11
- package/lib/features/select/di.config.js.map +1 -1
- package/lib/features/select/select-feedback-action.d.ts.map +1 -1
- package/lib/features/select/select-feedback-action.js +45 -71
- package/lib/features/select/select-feedback-action.js.map +1 -1
- package/lib/features/select/select-mouse-listener.js +7 -23
- package/lib/features/select/select-mouse-listener.js.map +1 -1
- package/lib/features/select/selection-service.d.ts +18 -2
- package/lib/features/select/selection-service.d.ts.map +1 -1
- package/lib/features/select/selection-service.js +140 -240
- package/lib/features/select/selection-service.js.map +1 -1
- package/lib/features/select/selection-service.spec.js +111 -154
- package/lib/features/select/selection-service.spec.js.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +19 -2
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +110 -150
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts +18 -2
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +103 -124
- package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/css-feedback.d.ts +20 -2
- package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/css-feedback.js +37 -81
- 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 +27 -27
- package/lib/features/tool-feedback/di.config.js.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +24 -5
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +185 -239
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +20 -4
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.js +35 -72
- package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +17 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.js +41 -84
- 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 +11 -27
- package/lib/features/tool-feedback/model.js.map +1 -1
- package/lib/features/tool-feedback/view.d.ts +21 -5
- package/lib/features/tool-feedback/view.d.ts.map +1 -1
- package/lib/features/tool-feedback/view.js +31 -53
- 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 +6 -6
- package/lib/features/tool-palette/di.config.js.map +1 -1
- package/lib/features/tool-palette/palette-item.d.ts +2 -3
- package/lib/features/tool-palette/palette-item.d.ts.map +1 -1
- package/lib/features/tool-palette/palette-item.js +6 -6
- package/lib/features/tool-palette/palette-item.js.map +1 -1
- package/lib/features/tool-palette/tool-palette.d.ts +19 -3
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +203 -271
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/base-glsp-tool.d.ts +20 -4
- package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
- package/lib/features/tools/base-glsp-tool.js +39 -61
- package/lib/features/tools/base-glsp-tool.js.map +1 -1
- package/lib/features/tools/change-bounds-tool.d.ts +22 -7
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds-tool.js +196 -270
- package/lib/features/tools/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/delete-tool.d.ts +17 -1
- package/lib/features/tools/delete-tool.d.ts.map +1 -1
- package/lib/features/tools/delete-tool.js +75 -108
- package/lib/features/tools/delete-tool.js.map +1 -1
- package/lib/features/tools/di.config.d.ts +0 -15
- package/lib/features/tools/di.config.d.ts.map +1 -1
- package/lib/features/tools/di.config.js +20 -20
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts +17 -2
- package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-creation-tool.js +68 -93
- package/lib/features/tools/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.d.ts +18 -1
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit-tool.js +129 -195
- package/lib/features/tools/edge-edit-tool.js.map +1 -1
- package/lib/features/tools/marquee-behavior.d.ts +42 -0
- package/lib/features/tools/marquee-behavior.d.ts.map +1 -0
- package/lib/features/tools/marquee-behavior.js +128 -0
- package/lib/features/tools/marquee-behavior.js.map +1 -0
- package/lib/features/{model-source-watcher/model-source-changed-action.d.ts → tools/marquee-behavior.spec.d.ts} +3 -10
- package/lib/features/tools/marquee-behavior.spec.d.ts.map +1 -0
- package/lib/features/tools/marquee-behavior.spec.js +165 -0
- package/lib/features/tools/marquee-behavior.spec.js.map +1 -0
- package/lib/features/tools/marquee-mouse-tool.d.ts +24 -13
- package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.js +89 -198
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
- package/lib/features/tools/marquee-tool.d.ts +17 -1
- package/lib/features/tools/marquee-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-tool.js +32 -73
- package/lib/features/tools/marquee-tool.js.map +1 -1
- package/lib/features/tools/model.d.ts +1 -1
- package/lib/features/tools/model.d.ts.map +1 -1
- package/lib/features/tools/model.js +5 -23
- package/lib/features/tools/model.js.map +1 -1
- package/lib/features/tools/node-creation-tool.d.ts +17 -2
- package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/node-creation-tool.js +63 -93
- package/lib/features/tools/node-creation-tool.js.map +1 -1
- package/lib/features/tools/view.d.ts +1 -1
- package/lib/features/tools/view.d.ts.map +1 -1
- package/lib/features/tools/view.js +13 -32
- package/lib/features/tools/view.js.map +1 -1
- package/lib/features/validation/di.config.js +12 -12
- package/lib/features/validation/di.config.js.map +1 -1
- package/lib/features/validation/issue-marker.d.ts +2 -2
- package/lib/features/validation/issue-marker.d.ts.map +1 -1
- package/lib/features/validation/issue-marker.js +17 -55
- package/lib/features/validation/issue-marker.js.map +1 -1
- package/lib/features/validation/marker-navigator.d.ts +17 -1
- package/lib/features/validation/marker-navigator.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.js +134 -167
- package/lib/features/validation/marker-navigator.js.map +1 -1
- package/lib/features/validation/marker-navigator.spec.d.ts +0 -15
- package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.spec.js +104 -98
- package/lib/features/validation/marker-navigator.spec.js.map +1 -1
- package/lib/features/validation/validate.d.ts +18 -29
- package/lib/features/validation/validate.d.ts.map +1 -1
- package/lib/features/validation/validate.js +148 -301
- package/lib/features/validation/validate.js.map +1 -1
- package/lib/features/viewport/di.config.js +10 -10
- package/lib/features/viewport/di.config.js.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +18 -2
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.js +16 -47
- package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
- package/lib/index.d.ts +9 -15
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +36 -37
- package/lib/index.js.map +1 -1
- package/lib/lib/model.d.ts +1 -1
- package/lib/lib/model.d.ts.map +1 -1
- package/lib/lib/model.js +12 -28
- package/lib/lib/model.js.map +1 -1
- package/lib/model-source/glsp-diagram-server.d.ts +3 -5
- package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
- package/lib/model-source/glsp-diagram-server.js +61 -121
- package/lib/model-source/glsp-diagram-server.js.map +1 -1
- package/lib/protocol-reexport.d.ts +45 -0
- package/lib/protocol-reexport.d.ts.map +1 -0
- package/lib/protocol-reexport.js +80 -0
- package/lib/protocol-reexport.js.map +1 -0
- package/lib/utils/argument-utils.d.ts +3 -3
- package/lib/utils/argument-utils.d.ts.map +1 -1
- package/lib/utils/argument-utils.js +32 -97
- package/lib/utils/argument-utils.js.map +1 -1
- package/lib/utils/html-utils.js +2 -2
- package/lib/utils/html-utils.js.map +1 -1
- package/lib/utils/layout-utils.d.ts +3 -2
- package/lib/utils/layout-utils.d.ts.map +1 -1
- package/lib/utils/layout-utils.js +5 -5
- package/lib/utils/layout-utils.js.map +1 -1
- package/lib/utils/marker.d.ts +0 -38
- package/lib/utils/marker.d.ts.map +1 -1
- package/lib/utils/marker.js +14 -61
- package/lib/utils/marker.js.map +1 -1
- package/lib/utils/smodel-util.d.ts +116 -10
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +131 -75
- package/lib/utils/smodel-util.js.map +1 -1
- package/lib/utils/viewpoint-util.d.ts +3 -2
- package/lib/utils/viewpoint-util.d.ts.map +1 -1
- package/lib/utils/viewpoint-util.js +15 -30
- package/lib/utils/viewpoint-util.js.map +1 -1
- package/lib/views/base-view-module.d.ts +0 -15
- package/lib/views/base-view-module.d.ts.map +1 -1
- package/lib/views/base-view-module.js +28 -28
- package/lib/views/base-view-module.js.map +1 -1
- package/lib/views/compartments.d.ts +6 -0
- package/lib/views/compartments.d.ts.map +1 -0
- package/lib/views/compartments.js +43 -0
- package/lib/views/compartments.js.map +1 -0
- package/lib/views/glsp-edge-view.d.ts +18 -3
- package/lib/views/glsp-edge-view.d.ts.map +1 -1
- package/lib/views/glsp-edge-view.js +32 -77
- package/lib/views/glsp-edge-view.js.map +1 -1
- package/lib/views/index.d.ts +1 -1
- package/lib/views/index.d.ts.map +1 -1
- package/lib/views/index.js +7 -3
- package/lib/views/index.js.map +1 -1
- package/lib/views/issue-marker-view.d.ts +2 -1
- package/lib/views/issue-marker-view.d.ts.map +1 -1
- package/lib/views/issue-marker-view.js +37 -51
- package/lib/views/issue-marker-view.js.map +1 -1
- package/lib/views/rounded-corner-view.d.ts +2 -3
- package/lib/views/rounded-corner-view.d.ts.map +1 -1
- package/lib/views/rounded-corner-view.js +41 -71
- package/lib/views/rounded-corner-view.js.map +1 -1
- package/lib/views/rounded-corner.d.ts +2 -1
- package/lib/views/rounded-corner.d.ts.map +1 -1
- package/lib/views/rounded-corner.js +44 -65
- package/lib/views/rounded-corner.js.map +1 -1
- package/package.json +13 -31
- package/src/base/action-dispatcher.ts +15 -15
- package/src/base/actions/focus-change-action.ts +2 -2
- package/src/base/{args.ts → argumentable.ts} +2 -3
- package/src/base/auto-complete/auto-complete-actions.ts +1 -1
- package/src/base/auto-complete/auto-complete-widget.ts +37 -25
- package/src/base/auto-complete/validation-decorator.ts +12 -11
- package/src/base/command-stack.ts +4 -7
- package/src/base/container-modules.ts +112 -0
- package/src/base/di.config.ts +33 -18
- package/src/base/drag-aware-mouse-listener.ts +6 -7
- package/src/base/{editor-context.ts → editor-context-service.ts} +4 -31
- package/src/base/focus-tracker.ts +2 -4
- package/src/base/model/model-registry.ts +2 -2
- package/src/base/model/update-model-command.ts +9 -17
- package/src/base/model-initialization-constraint.ts +10 -10
- package/src/base/selection-clearing-mouse-listener.ts +1 -1
- package/src/base/tool-manager/glsp-tool-manager.ts +9 -11
- package/src/base/types.ts +4 -2
- package/src/base/view/view-registry.ts +2 -2
- package/src/features/change-bounds/model.ts +17 -7
- package/src/features/change-bounds/movement-restrictor.ts +17 -9
- package/src/features/change-bounds/snap.spec.ts +89 -0
- package/src/features/change-bounds/snap.ts +87 -2
- package/src/features/command-palette/server-command-palette-provider.ts +11 -9
- package/src/features/context-menu/delete-element-context-menu.ts +3 -4
- package/src/features/context-menu/di.config.ts +11 -9
- package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +41 -11
- package/src/features/context-menu/server-context-menu-provider.ts +10 -7
- package/src/features/copy-paste/copy-paste-context-menu.ts +59 -30
- package/src/features/copy-paste/copy-paste-handler.ts +18 -10
- package/src/features/copy-paste/di.config.ts +2 -3
- package/src/features/decoration/decoration-placer.ts +4 -14
- package/src/features/edit-label/edit-label-validator.ts +11 -12
- package/src/features/hints/di.config.ts +2 -3
- package/src/features/hints/model.ts +4 -3
- package/src/features/hints/type-hints.ts +24 -91
- package/src/features/hover/di.config.ts +4 -3
- package/src/features/hover/hover.ts +27 -8
- package/src/features/layout/di.config.ts +8 -4
- package/src/features/layout/freeform-layout.ts +133 -0
- package/src/features/layout/layout-commands.spec.ts +82 -64
- package/src/features/layout/layout-commands.ts +47 -38
- package/src/features/layout/vbox-layout.ts +260 -0
- package/src/features/model-source-watcher/di.config.ts +3 -4
- package/src/features/model-source-watcher/model-source-changed-action-handler.ts +11 -7
- package/src/features/mouse-tool/mouse-tool.ts +28 -54
- package/src/features/navigation/di.config.ts +4 -10
- package/src/features/navigation/navigation-action-handler.ts +33 -69
- package/src/features/navigation/navigation-target-resolver.spec.ts +3 -7
- package/src/features/navigation/navigation-target-resolver.ts +13 -91
- package/src/features/rank/model.ts +2 -2
- package/src/features/reconnect/model.ts +3 -4
- package/src/features/save/di.config.ts +2 -3
- package/src/features/save/{save.ts → save-keylistener.ts} +4 -12
- package/src/features/select/select-feedback-action.ts +4 -6
- package/src/features/select/selection-service.spec.ts +11 -6
- package/src/features/select/selection-service.ts +18 -13
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +33 -26
- package/src/features/tool-feedback/creation-tool-feedback.ts +49 -14
- package/src/features/tool-feedback/css-feedback.ts +9 -6
- package/src/features/tool-feedback/di.config.ts +2 -5
- package/src/features/tool-feedback/edge-edit-tool-feedback.ts +78 -68
- package/src/features/tool-feedback/feedback-action-dispatcher.ts +9 -10
- package/src/features/tool-feedback/marquee-tool-feedback.ts +6 -7
- package/src/features/tool-feedback/model.ts +1 -4
- package/src/features/tool-feedback/view.tsx +17 -11
- package/src/features/tool-palette/di.config.ts +2 -4
- package/src/features/tool-palette/palette-item.ts +4 -6
- package/src/features/tool-palette/tool-palette.ts +48 -42
- package/src/features/tools/base-glsp-tool.ts +10 -10
- package/src/features/tools/change-bounds-tool.ts +73 -74
- package/src/features/tools/delete-tool.ts +11 -8
- package/src/features/tools/di.config.ts +2 -3
- package/src/features/tools/edge-creation-tool.ts +7 -12
- package/src/features/tools/edge-edit-tool.ts +19 -26
- package/src/features/tools/marquee-behavior.spec.ts +175 -0
- package/src/features/tools/marquee-behavior.ts +158 -0
- package/src/features/tools/marquee-mouse-tool.ts +48 -139
- package/src/features/tools/marquee-tool.ts +4 -5
- package/src/features/tools/model.ts +2 -2
- package/src/features/tools/node-creation-tool.ts +6 -13
- package/src/features/tools/view.tsx +19 -15
- package/src/features/validation/issue-marker.ts +2 -3
- package/src/features/validation/marker-navigator.spec.ts +18 -14
- package/src/features/validation/marker-navigator.ts +29 -15
- package/src/features/validation/validate.ts +10 -43
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +4 -13
- package/src/index.ts +30 -19
- package/src/lib/model.ts +2 -3
- package/src/model-source/glsp-diagram-server.ts +18 -32
- package/src/protocol-reexport.ts +64 -0
- package/src/utils/argument-utils.ts +14 -11
- package/src/utils/layout-utils.ts +13 -7
- package/src/utils/marker.ts +2 -26
- package/src/utils/smodel-util.ts +140 -38
- package/src/utils/viewpoint-util.ts +4 -4
- package/src/views/base-view-module.ts +1 -2
- package/src/{base/actions/edit-mode-action.ts → views/compartments.tsx} +18 -14
- package/src/views/glsp-edge-view.tsx +25 -18
- package/src/views/index.ts +1 -1
- package/src/views/issue-marker-view.tsx +29 -20
- package/src/views/rounded-corner-view.tsx +40 -28
- package/src/views/rounded-corner.ts +5 -6
- package/lib/base/actions/context-actions.d.ts +0 -36
- package/lib/base/actions/context-actions.d.ts.map +0 -1
- package/lib/base/actions/context-actions.js +0 -51
- package/lib/base/actions/context-actions.js.map +0 -1
- package/lib/base/actions/edit-mode-action.d.ts +0 -13
- package/lib/base/actions/edit-mode-action.d.ts.map +0 -1
- package/lib/base/actions/edit-mode-action.js +0 -56
- package/lib/base/actions/edit-mode-action.js.map +0 -1
- package/lib/base/actions/edit-validation-actions.d.ts +0 -78
- package/lib/base/actions/edit-validation-actions.d.ts.map +0 -1
- package/lib/base/actions/edit-validation-actions.js +0 -83
- package/lib/base/actions/edit-validation-actions.js.map +0 -1
- package/lib/base/actions/protocol-actions.d.ts +0 -41
- package/lib/base/actions/protocol-actions.d.ts.map +0 -1
- package/lib/base/actions/protocol-actions.js +0 -151
- package/lib/base/actions/protocol-actions.js.map +0 -1
- package/lib/base/args.d.ts.map +0 -1
- package/lib/base/args.js.map +0 -1
- package/lib/base/editor-context.d.ts.map +0 -1
- package/lib/base/editor-context.js +0 -174
- package/lib/base/editor-context.js.map +0 -1
- package/lib/base/operations/operation.d.ts +0 -135
- package/lib/base/operations/operation.d.ts.map +0 -1
- package/lib/base/operations/operation.js +0 -231
- package/lib/base/operations/operation.js.map +0 -1
- package/lib/features/copy-paste/copy-paste-actions.d.ts +0 -50
- package/lib/features/copy-paste/copy-paste-actions.d.ts.map +0 -1
- package/lib/features/copy-paste/copy-paste-actions.js +0 -68
- package/lib/features/copy-paste/copy-paste-actions.js.map +0 -1
- package/lib/features/hints/request-type-hints-action.d.ts +0 -32
- package/lib/features/hints/request-type-hints-action.d.ts.map +0 -1
- package/lib/features/hints/request-type-hints-action.js +0 -30
- package/lib/features/hints/request-type-hints-action.js.map +0 -1
- package/lib/features/model-source-watcher/model-source-changed-action.d.ts.map +0 -1
- package/lib/features/model-source-watcher/model-source-changed-action.js +0 -17
- package/lib/features/model-source-watcher/model-source-changed-action.js.map +0 -1
- package/lib/features/save/save.d.ts.map +0 -1
- package/lib/features/save/save.js +0 -62
- package/lib/features/save/save.js.map +0 -1
- package/lib/features/undo-redo/model.d.ts.map +0 -1
- package/lib/features/undo-redo/model.js +0 -22
- package/lib/features/undo-redo/model.js.map +0 -1
- package/lib/model-source/glsp-server-status.d.ts +0 -30
- package/lib/model-source/glsp-server-status.d.ts.map +0 -1
- package/lib/model-source/glsp-server-status.js +0 -61
- package/lib/model-source/glsp-server-status.js.map +0 -1
- package/lib/utils/array-utils.d.ts +0 -28
- package/lib/utils/array-utils.d.ts.map +0 -1
- package/lib/utils/array-utils.js +0 -61
- package/lib/utils/array-utils.js.map +0 -1
- package/lib/views/default-types.d.ts +0 -37
- package/lib/views/default-types.d.ts.map +0 -1
- package/lib/views/default-types.js +0 -47
- package/lib/views/default-types.js.map +0 -1
- package/src/base/actions/context-actions.ts +0 -43
- package/src/base/actions/edit-validation-actions.ts +0 -103
- package/src/base/actions/protocol-actions.ts +0 -82
- package/src/base/operations/operation.ts +0 -178
- package/src/features/copy-paste/copy-paste-actions.ts +0 -60
- package/src/features/hints/request-type-hints-action.ts +0 -36
- package/src/features/model-source-watcher/model-source-changed-action.ts +0 -26
- package/src/model-source/glsp-server-status.ts +0 -38
- package/src/utils/array-utils.ts +0 -55
- package/src/views/default-types.ts +0 -48
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 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,13 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { ClipboardData, CutOperation, PasteOperation, RequestClipboardDataAction, SetClipboardDataAction } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { inject, injectable } from 'inversify';
|
|
17
18
|
import { TYPES, ViewerOptions } from 'sprotty';
|
|
18
19
|
import { v4 as uuid } from 'uuid';
|
|
19
|
-
|
|
20
20
|
import { GLSPActionDispatcher } from '../../base/action-dispatcher';
|
|
21
|
-
import { EditorContextService } from '../../base/editor-context';
|
|
21
|
+
import { EditorContextService } from '../../base/editor-context-service';
|
|
22
22
|
import { GLSP_TYPES } from '../../base/types';
|
|
23
|
-
import { ClipboardData, CutOperation, PasteOperation, RequestClipboardDataAction } from './copy-paste-actions';
|
|
24
23
|
|
|
25
24
|
export interface ICopyPasteHandler {
|
|
26
25
|
handleCopy(event: ClipboardEvent): void;
|
|
@@ -91,11 +90,10 @@ function getClipboardIdFromDataTransfer(dataTransfer: DataTransfer): string | un
|
|
|
91
90
|
return isClipboardId(jsonObject) ? jsonObject.clipboardId : undefined;
|
|
92
91
|
}
|
|
93
92
|
|
|
94
|
-
const CLIPBOARD_DATA_FORMAT = '
|
|
93
|
+
const CLIPBOARD_DATA_FORMAT = 'text/plain';
|
|
95
94
|
|
|
96
95
|
@injectable()
|
|
97
96
|
export class ServerCopyPasteHandler implements ICopyPasteHandler {
|
|
98
|
-
|
|
99
97
|
@inject(TYPES.IActionDispatcher) protected actionDispatcher: GLSPActionDispatcher;
|
|
100
98
|
@inject(TYPES.ViewerOptions) protected viewerOptions: ViewerOptions;
|
|
101
99
|
@inject(GLSP_TYPES.IAsyncClipboardService) protected clipboadService: IAsyncClipboardService;
|
|
@@ -106,7 +104,7 @@ export class ServerCopyPasteHandler implements ICopyPasteHandler {
|
|
|
106
104
|
const clipboardId = uuid();
|
|
107
105
|
event.clipboardData.setData(CLIPBOARD_DATA_FORMAT, toClipboardId(clipboardId));
|
|
108
106
|
this.actionDispatcher
|
|
109
|
-
.request(RequestClipboardDataAction.create(this.editorContext.get()))
|
|
107
|
+
.request<SetClipboardDataAction>(RequestClipboardDataAction.create(this.editorContext.get()))
|
|
110
108
|
.then(action => this.clipboadService.put(action.clipboardData, clipboardId));
|
|
111
109
|
event.preventDefault();
|
|
112
110
|
} else {
|
|
@@ -126,7 +124,7 @@ export class ServerCopyPasteHandler implements ICopyPasteHandler {
|
|
|
126
124
|
}
|
|
127
125
|
|
|
128
126
|
handlePaste(event: ClipboardEvent): void {
|
|
129
|
-
if (event.clipboardData) {
|
|
127
|
+
if (event.clipboardData && this.shouldPaste(event)) {
|
|
130
128
|
const clipboardId = getClipboardIdFromDataTransfer(event.clipboardData);
|
|
131
129
|
const clipboardData = this.clipboadService.get(clipboardId);
|
|
132
130
|
if (clipboardData) {
|
|
@@ -137,8 +135,18 @@ export class ServerCopyPasteHandler implements ICopyPasteHandler {
|
|
|
137
135
|
}
|
|
138
136
|
|
|
139
137
|
protected shouldCopy(_event: ClipboardEvent): boolean | null {
|
|
140
|
-
return this.editorContext.get().selectedElementIds.length > 0 &&
|
|
141
|
-
&& document.activeElement.parentElement && document.activeElement.parentElement.id === this.viewerOptions.baseDiv;
|
|
138
|
+
return this.editorContext.get().selectedElementIds.length > 0 && this.isDiagramActive();
|
|
142
139
|
}
|
|
143
140
|
|
|
141
|
+
protected shouldPaste(_event: ClipboardEvent): boolean | null {
|
|
142
|
+
return this.isDiagramActive();
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
private isDiagramActive(): boolean | null {
|
|
146
|
+
return (
|
|
147
|
+
document.activeElement instanceof SVGElement &&
|
|
148
|
+
document.activeElement.parentElement &&
|
|
149
|
+
document.activeElement.parentElement.id === this.viewerOptions.baseDiv
|
|
150
|
+
);
|
|
151
|
+
}
|
|
144
152
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -14,8 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { ContainerModule } from 'inversify';
|
|
17
|
-
import { configureActionHandler } from 'sprotty
|
|
18
|
-
|
|
17
|
+
import { configureActionHandler } from 'sprotty';
|
|
19
18
|
import { GLSP_TYPES } from '../../base/types';
|
|
20
19
|
import {
|
|
21
20
|
CopyPasteContextMenuItemProvider,
|
|
@@ -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,24 +13,15 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { Point } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { injectable } from 'inversify';
|
|
17
|
-
import {
|
|
18
|
-
Decoration,
|
|
19
|
-
DecorationPlacer,
|
|
20
|
-
isSizeable,
|
|
21
|
-
ORIGIN_POINT,
|
|
22
|
-
Point,
|
|
23
|
-
SChildElement,
|
|
24
|
-
SModelElement,
|
|
25
|
-
SRoutableElement
|
|
26
|
-
} from 'sprotty';
|
|
18
|
+
import { Decoration, DecorationPlacer, isSizeable, ORIGIN_POINT, SChildElement, SModelElement, SRoutableElement } from 'sprotty';
|
|
27
19
|
|
|
28
20
|
@injectable()
|
|
29
21
|
export class GlspDecorationPlacer extends DecorationPlacer {
|
|
30
|
-
|
|
31
22
|
protected static readonly DECORATION_OFFSET: Point = { x: 12, y: 10 };
|
|
32
23
|
|
|
33
|
-
protected getPosition(element: SModelElement & Decoration): Point {
|
|
24
|
+
protected override getPosition(element: SModelElement & Decoration): Point {
|
|
34
25
|
if (element instanceof SChildElement && element.parent instanceof SRoutableElement) {
|
|
35
26
|
return super.getPosition(element);
|
|
36
27
|
}
|
|
@@ -42,5 +33,4 @@ export class GlspDecorationPlacer extends DecorationPlacer {
|
|
|
42
33
|
}
|
|
43
34
|
return ORIGIN_POINT;
|
|
44
35
|
}
|
|
45
|
-
|
|
46
36
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 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,6 +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 { isSetEditValidationResultAction, RequestEditValidationAction, ValidationStatus } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { inject, injectable } from 'inversify';
|
|
17
18
|
import {
|
|
18
19
|
Action,
|
|
@@ -26,11 +27,6 @@ import {
|
|
|
26
27
|
} from 'sprotty';
|
|
27
28
|
|
|
28
29
|
import { GLSPActionDispatcher } from '../../base/action-dispatcher';
|
|
29
|
-
import {
|
|
30
|
-
isSetEditValidationResultAction,
|
|
31
|
-
RequestEditValidationAction,
|
|
32
|
-
ValidationStatus
|
|
33
|
-
} from '../../base/actions/edit-validation-actions';
|
|
34
30
|
|
|
35
31
|
export namespace LabelEditValidation {
|
|
36
32
|
export const CONTEXT_ID = 'label-edit';
|
|
@@ -55,7 +51,6 @@ export class ValidateLabelEditAction extends RequestEditValidationAction {
|
|
|
55
51
|
|
|
56
52
|
@injectable()
|
|
57
53
|
export class ServerEditLabelValidator implements IEditLabelValidator {
|
|
58
|
-
|
|
59
54
|
@inject(TYPES.IActionDispatcher) protected actionDispatcher: GLSPActionDispatcher;
|
|
60
55
|
|
|
61
56
|
validate(value: string, label: EditableLabel & SModelElement): Promise<EditLabelValidationResult> {
|
|
@@ -69,12 +64,10 @@ export class ServerEditLabelValidator implements IEditLabelValidator {
|
|
|
69
64
|
}
|
|
70
65
|
return { severity: 'ok' as Severity };
|
|
71
66
|
}
|
|
72
|
-
|
|
73
67
|
}
|
|
74
68
|
|
|
75
69
|
@injectable()
|
|
76
70
|
export class BalloonLabelValidationDecorator implements IEditLabelValidationDecorator {
|
|
77
|
-
|
|
78
71
|
decorate(input: HTMLInputElement, result: EditLabelValidationResult): void {
|
|
79
72
|
const containerElement = input.parentElement;
|
|
80
73
|
if (!containerElement) {
|
|
@@ -86,9 +79,15 @@ export class BalloonLabelValidationDecorator implements IEditLabelValidationDeco
|
|
|
86
79
|
containerElement.setAttribute('data-balloon-visible', 'true');
|
|
87
80
|
}
|
|
88
81
|
switch (result.severity) {
|
|
89
|
-
case 'ok':
|
|
90
|
-
|
|
91
|
-
|
|
82
|
+
case 'ok':
|
|
83
|
+
containerElement.classList.add('validation-ok');
|
|
84
|
+
break;
|
|
85
|
+
case 'warning':
|
|
86
|
+
containerElement.classList.add('validation-warning');
|
|
87
|
+
break;
|
|
88
|
+
case 'error':
|
|
89
|
+
containerElement.classList.add('validation-error');
|
|
90
|
+
break;
|
|
92
91
|
}
|
|
93
92
|
}
|
|
94
93
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 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,11 +13,10 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { SetTypeHintsAction } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { ContainerModule } from 'inversify';
|
|
17
18
|
import { configureActionHandler, configureCommand } from 'sprotty';
|
|
18
|
-
|
|
19
19
|
import { GLSP_TYPES } from '../../base/types';
|
|
20
|
-
import { SetTypeHintsAction } from './request-type-hints-action';
|
|
21
20
|
import { ApplyTypeHintsCommand, TypeHintProvider } from './type-hints';
|
|
22
21
|
|
|
23
22
|
const modelHintsModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 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,8 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
16
|
+
import { SModelElementSchema } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { SModelElement, SModelExtension } from 'sprotty';
|
|
17
18
|
|
|
18
19
|
export const containerFeature = Symbol('containable');
|
|
19
20
|
|
|
@@ -27,7 +28,7 @@ export function isContainable(element: SModelElement): element is SModelElement
|
|
|
27
28
|
|
|
28
29
|
export const reparentFeature = Symbol('reparentFeature');
|
|
29
30
|
|
|
30
|
-
export interface Reparentable extends SModelExtension {
|
|
31
|
+
export interface Reparentable extends SModelExtension {}
|
|
31
32
|
|
|
32
33
|
export function isReparentable(element: SModelElement): element is SModelElement & Reparentable {
|
|
33
34
|
return element.hasFeature(reparentFeature);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,9 +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, EdgeTypeHint, isSetTypeHintsAction, ShapeTypeHint, TypeHint } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { inject, injectable } from 'inversify';
|
|
17
18
|
import {
|
|
18
|
-
Action,
|
|
19
19
|
CommandExecutionContext,
|
|
20
20
|
CommandReturn,
|
|
21
21
|
Connectable,
|
|
@@ -28,12 +28,10 @@ import {
|
|
|
28
28
|
moveFeature,
|
|
29
29
|
SEdge,
|
|
30
30
|
SModelElement,
|
|
31
|
-
SModelElementSchema,
|
|
32
31
|
SModelRoot,
|
|
33
32
|
SShapeElement,
|
|
34
33
|
TYPES
|
|
35
34
|
} from 'sprotty';
|
|
36
|
-
|
|
37
35
|
import { GLSP_TYPES } from '../../base/types';
|
|
38
36
|
import { getElementTypeId, hasCompatibleType } from '../../utils/smodel-util';
|
|
39
37
|
import { resizeFeature } from '../change-bounds/model';
|
|
@@ -41,68 +39,6 @@ import { reconnectFeature } from '../reconnect/model';
|
|
|
41
39
|
import { IFeedbackActionDispatcher } from '../tool-feedback/feedback-action-dispatcher';
|
|
42
40
|
import { FeedbackCommand } from '../tool-feedback/model';
|
|
43
41
|
import { Containable, containerFeature, reparentFeature } from './model';
|
|
44
|
-
import { isSetTypeHintsAction } from './request-type-hints-action';
|
|
45
|
-
|
|
46
|
-
export abstract class TypeHint {
|
|
47
|
-
/**
|
|
48
|
-
The id of the element.
|
|
49
|
-
*/
|
|
50
|
-
readonly elementTypeId: string;
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Specifies whether the element can be relocated.
|
|
54
|
-
*/
|
|
55
|
-
readonly repositionable: boolean;
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Specifices wheter the element can be deleted
|
|
59
|
-
*/
|
|
60
|
-
readonly deletable: boolean;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export class ShapeTypeHint extends TypeHint {
|
|
64
|
-
/**
|
|
65
|
-
* Specifies whether the element can be resized.
|
|
66
|
-
*/
|
|
67
|
-
readonly resizable: boolean;
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Specifies whether the element can be moved to another parent
|
|
71
|
-
*/
|
|
72
|
-
readonly reparentable: boolean;
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* The types of elements that can be contained by this element (if any)
|
|
76
|
-
*/
|
|
77
|
-
readonly containableElementTypeIds?: string[];
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
export class EdgeTypeHint extends TypeHint {
|
|
81
|
-
/**
|
|
82
|
-
* Specifies whether the routing of this element can be changed.
|
|
83
|
-
*/
|
|
84
|
-
readonly routable: boolean;
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Allowed source element types for this edge type
|
|
88
|
-
*/
|
|
89
|
-
readonly sourceElementTypeIds: string[];
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Allowed targe element types for this edge type
|
|
93
|
-
*/
|
|
94
|
-
readonly targetElementTypeIds: string[];
|
|
95
|
-
|
|
96
|
-
isAllowedSource(input: SModelElement | SModelElementSchema | string): boolean {
|
|
97
|
-
const type = getElementTypeId(input);
|
|
98
|
-
return this.sourceElementTypeIds.includes(type);
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
isAllowedTarget(input: SModelElement | SModelElementSchema | string): boolean {
|
|
102
|
-
const type = getElementTypeId(input);
|
|
103
|
-
return this.targetElementTypeIds.includes(type);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
42
|
|
|
107
43
|
@injectable()
|
|
108
44
|
export class ApplyTypeHintsAction implements Action {
|
|
@@ -111,9 +47,8 @@ export class ApplyTypeHintsAction implements Action {
|
|
|
111
47
|
|
|
112
48
|
@injectable()
|
|
113
49
|
export class ApplyTypeHintsCommand extends FeedbackCommand {
|
|
114
|
-
|
|
115
50
|
public static KIND = 'applyTypeHints';
|
|
116
|
-
public readonly priority = 10;
|
|
51
|
+
public override readonly priority = 10;
|
|
117
52
|
|
|
118
53
|
@inject(GLSP_TYPES.ITypeHintProvider) protected typeHintProvider: ITypeHintProvider;
|
|
119
54
|
|
|
@@ -122,15 +57,13 @@ export class ApplyTypeHintsCommand extends FeedbackCommand {
|
|
|
122
57
|
}
|
|
123
58
|
|
|
124
59
|
execute(context: CommandExecutionContext): CommandReturn {
|
|
125
|
-
context.root.index.all()
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
});
|
|
60
|
+
context.root.index.all().forEach(element => {
|
|
61
|
+
if (element instanceof SShapeElement || element instanceof SModelRoot) {
|
|
62
|
+
this.applyShapeTypeHint(element);
|
|
63
|
+
} else if (element instanceof SEdge) {
|
|
64
|
+
return this.applyEdgeTypeHint(element);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
134
67
|
return context.root;
|
|
135
68
|
}
|
|
136
69
|
|
|
@@ -167,18 +100,14 @@ export class ApplyTypeHintsCommand extends FeedbackCommand {
|
|
|
167
100
|
function createConnectable(validSourceEdges: string[], validTargetEdges: string[]): Connectable {
|
|
168
101
|
return {
|
|
169
102
|
canConnect: (routable, role) =>
|
|
170
|
-
role === 'source' ?
|
|
171
|
-
validSourceEdges.includes(routable.type) :
|
|
172
|
-
validTargetEdges.includes(routable.type)
|
|
103
|
+
role === 'source' ? validSourceEdges.includes(routable.type) : validTargetEdges.includes(routable.type)
|
|
173
104
|
};
|
|
174
105
|
}
|
|
175
106
|
|
|
176
107
|
function createContainable(hint: ShapeTypeHint): Containable {
|
|
177
108
|
return {
|
|
178
109
|
isContainableElement: element =>
|
|
179
|
-
hint.containableElementTypeIds ?
|
|
180
|
-
hint.containableElementTypeIds.includes(getElementTypeId(element)) :
|
|
181
|
-
false
|
|
110
|
+
hint.containableElementTypeIds ? hint.containableElementTypeIds.includes(getElementTypeId(element)) : false
|
|
182
111
|
};
|
|
183
112
|
}
|
|
184
113
|
|
|
@@ -202,12 +131,11 @@ export interface ITypeHintProvider {
|
|
|
202
131
|
|
|
203
132
|
@injectable()
|
|
204
133
|
export class TypeHintProvider implements IActionHandler, ITypeHintProvider {
|
|
205
|
-
|
|
206
134
|
@inject(GLSP_TYPES.IFeedbackActionDispatcher)
|
|
207
135
|
protected feedbackActionDispatcher: IFeedbackActionDispatcher;
|
|
208
136
|
|
|
209
|
-
protected shapeHints: Map<string, ShapeTypeHint> = new Map;
|
|
210
|
-
protected edgeHints: Map<string, EdgeTypeHint> = new Map;
|
|
137
|
+
protected shapeHints: Map<string, ShapeTypeHint> = new Map();
|
|
138
|
+
protected edgeHints: Map<string, EdgeTypeHint> = new Map();
|
|
211
139
|
|
|
212
140
|
handle(action: Action): ICommand | Action | void {
|
|
213
141
|
if (isSetTypeHintsAction(action)) {
|
|
@@ -222,13 +150,19 @@ export class TypeHintProvider implements IActionHandler, ITypeHintProvider {
|
|
|
222
150
|
if (role === 'source') {
|
|
223
151
|
return Array.from(
|
|
224
152
|
Array.from(this.edgeHints.values())
|
|
225
|
-
.filter(hint =>
|
|
226
|
-
|
|
153
|
+
.filter(hint =>
|
|
154
|
+
hint.sourceElementTypeIds.some(sourceElementTypeId => hasCompatibleType(elementTypeId, sourceElementTypeId))
|
|
155
|
+
)
|
|
156
|
+
.map(hint => hint.elementTypeId)
|
|
157
|
+
);
|
|
227
158
|
} else {
|
|
228
159
|
return Array.from(
|
|
229
160
|
Array.from(this.edgeHints.values())
|
|
230
|
-
.filter(hint =>
|
|
231
|
-
|
|
161
|
+
.filter(hint =>
|
|
162
|
+
hint.targetElementTypeIds.some(targetElementTypeId => hasCompatibleType(elementTypeId, targetElementTypeId))
|
|
163
|
+
)
|
|
164
|
+
.map(hint => hint.elementTypeId)
|
|
165
|
+
);
|
|
232
166
|
}
|
|
233
167
|
}
|
|
234
168
|
|
|
@@ -254,4 +188,3 @@ function getTypeHint<T extends TypeHint>(input: SModelElement | SModelElement |
|
|
|
254
188
|
}
|
|
255
189
|
return hint;
|
|
256
190
|
}
|
|
257
|
-
|
|
@@ -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
|
|
@@ -30,13 +30,13 @@ import {
|
|
|
30
30
|
TYPES
|
|
31
31
|
} from 'sprotty';
|
|
32
32
|
import { PopupPositionUpdater } from 'sprotty/lib/features/hover/popup-position-updater';
|
|
33
|
-
|
|
34
33
|
import { FocusStateChangedAction } from '../../base/actions/focus-change-action';
|
|
35
34
|
import { GlspHoverMouseListener } from './hover';
|
|
36
35
|
|
|
37
36
|
const glspHoverModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
38
37
|
bind(TYPES.PopupVNodePostprocessor).to(PopupPositionUpdater).inSingletonScope();
|
|
39
|
-
bind(
|
|
38
|
+
bind(GlspHoverMouseListener).toSelf().inSingletonScope();
|
|
39
|
+
bind(TYPES.MouseListener).toService(GlspHoverMouseListener);
|
|
40
40
|
bind(TYPES.PopupMouseListener).to(PopupHoverMouseListener);
|
|
41
41
|
bind(TYPES.KeyListener).to(HoverKeyListener);
|
|
42
42
|
bind<HoverState>(TYPES.HoverState).toConstantValue({
|
|
@@ -56,6 +56,7 @@ const glspHoverModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
|
56
56
|
configureActionHandler(context, SetViewportCommand.KIND, ClosePopupActionHandler);
|
|
57
57
|
configureActionHandler(context, MoveCommand.KIND, ClosePopupActionHandler);
|
|
58
58
|
configureActionHandler(context, FocusStateChangedAction.KIND, ClosePopupActionHandler);
|
|
59
|
+
configureActionHandler(context, FocusStateChangedAction.KIND, GlspHoverMouseListener);
|
|
59
60
|
});
|
|
60
61
|
|
|
61
62
|
export default glspHoverModule;
|
|
@@ -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,28 +13,47 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { Action, Bounds, RequestPopupModelAction, SetPopupModelAction } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { injectable } from 'inversify';
|
|
17
18
|
import {
|
|
18
|
-
Action,
|
|
19
|
-
Bounds,
|
|
20
19
|
EMPTY_ROOT,
|
|
20
|
+
HoverFeedbackAction,
|
|
21
21
|
HoverMouseListener,
|
|
22
|
+
IActionHandler,
|
|
23
|
+
ICommand,
|
|
22
24
|
PreRenderedElementSchema,
|
|
23
|
-
RequestPopupModelAction,
|
|
24
|
-
SetPopupModelAction,
|
|
25
25
|
SIssueMarker,
|
|
26
26
|
SIssueSeverity,
|
|
27
27
|
SModelElement,
|
|
28
28
|
SModelElementSchema,
|
|
29
29
|
SModelRootSchema
|
|
30
30
|
} from 'sprotty';
|
|
31
|
-
|
|
31
|
+
import { isFocusStateChangedAction } from '../../base/actions/focus-change-action';
|
|
32
32
|
import { GIssueMarker } from '../validation/issue-marker';
|
|
33
33
|
|
|
34
34
|
@injectable()
|
|
35
|
-
export class GlspHoverMouseListener extends HoverMouseListener {
|
|
35
|
+
export class GlspHoverMouseListener extends HoverMouseListener implements IActionHandler {
|
|
36
|
+
/**
|
|
37
|
+
* Stops mouse over timer and remove hover feedback, if focus is lost.
|
|
38
|
+
*
|
|
39
|
+
* This fixes strange effects that appear if the mouse left the element via e.g. a context menu,
|
|
40
|
+
* which explicitly removes the focus of the diagram.
|
|
41
|
+
* @see SelectionServiceAwareContextMenuMouseListener
|
|
42
|
+
* @param action should be a `FocusStateChangedAction`
|
|
43
|
+
* @returns a `HoverFeedbackAction` resetting the state, if the specified action indicates lost focus
|
|
44
|
+
*/
|
|
45
|
+
handle(action: Action): void | Action | ICommand {
|
|
46
|
+
if (isFocusStateChangedAction(action) && !action.hasFocus) {
|
|
47
|
+
this.stopMouseOverTimer();
|
|
48
|
+
if (this.lastHoverFeedbackElementId) {
|
|
49
|
+
const previousTargetId = this.lastHoverFeedbackElementId;
|
|
50
|
+
this.lastHoverFeedbackElementId = undefined;
|
|
51
|
+
return new HoverFeedbackAction(previousTargetId, false);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
36
55
|
|
|
37
|
-
protected startMouseOverTimer(target: SModelElement, event: MouseEvent): Promise<Action> {
|
|
56
|
+
protected override startMouseOverTimer(target: SModelElement, event: MouseEvent): Promise<Action> {
|
|
38
57
|
this.stopMouseOverTimer();
|
|
39
58
|
return new Promise(resolve => {
|
|
40
59
|
this.state.mouseOverTimer = window.setTimeout(() => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -14,13 +14,17 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { ContainerModule } from 'inversify';
|
|
17
|
-
import { configureCommand } from 'sprotty';
|
|
18
|
-
|
|
17
|
+
import { configureCommand, configureLayout, VBoxLayouter } from 'sprotty';
|
|
18
|
+
import { FreeFormLayouter } from './freeform-layout';
|
|
19
19
|
import { AlignElementsCommand, ResizeElementsCommand } from './layout-commands';
|
|
20
|
+
import { VBoxLayouterExt } from './vbox-layout';
|
|
20
21
|
|
|
21
|
-
const layoutCommandsModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
22
|
+
const layoutCommandsModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
|
|
22
23
|
configureCommand({ bind, isBound }, ResizeElementsCommand);
|
|
23
24
|
configureCommand({ bind, isBound }, AlignElementsCommand);
|
|
25
|
+
|
|
26
|
+
rebind(VBoxLayouter).to(VBoxLayouterExt);
|
|
27
|
+
configureLayout({ bind, isBound }, FreeFormLayouter.KIND, FreeFormLayouter);
|
|
24
28
|
});
|
|
25
29
|
|
|
26
30
|
export default layoutCommandsModule;
|