@eclipse-glsp/client 0.9.0-next.0633ee0a → 0.9.0-next.0acab46c
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 +2 -1
- package/css/command-palette.css +9 -5
- package/css/decoration.css +3 -2
- package/css/glsp-sprotty.css +16 -7
- package/css/tool-palette.css +44 -27
- package/lib/base/action-dispatcher.d.ts +17 -1
- package/lib/base/action-dispatcher.d.ts.map +1 -1
- package/lib/base/action-dispatcher.js +41 -61
- 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 +119 -153
- 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 +43 -27
- 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 +109 -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 +19 -39
- package/lib/base/focus-tracker.js.map +1 -1
- package/lib/base/model/model-registry.js +10 -28
- 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 +16 -1
- package/lib/base/model-initialization-constraint.d.ts.map +1 -1
- package/lib/base/model-initialization-constraint.js +34 -54
- package/lib/base/model-initialization-constraint.js.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 +1 -1
- 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.js +10 -28
- 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 +20 -31
- 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 +28 -42
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/change-bounds/snap.d.ts +17 -1
- package/lib/features/change-bounds/snap.d.ts.map +1 -1
- package/lib/features/change-bounds/snap.js +13 -39
- package/lib/features/change-bounds/snap.js.map +1 -1
- 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.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +29 -67
- 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 +12 -46
- 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 +8 -8
- package/lib/features/hover/di.config.js.map +1 -1
- package/lib/features/hover/hover.d.ts +17 -1
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +37 -77
- package/lib/features/hover/hover.js.map +1 -1
- package/lib/features/layout/di.config.d.ts +5 -1
- package/lib/features/layout/di.config.d.ts.map +1 -1
- package/lib/features/layout/di.config.js +47 -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 +189 -265
- 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 +95 -89
- 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 +2 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js +70 -215
- 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 +26 -26
- 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 +17 -1
- package/lib/features/select/selection-service.d.ts.map +1 -1
- package/lib/features/select/selection-service.js +134 -236
- package/lib/features/select/selection-service.js.map +1 -1
- package/lib/features/select/selection-service.spec.js +96 -139
- 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 +102 -142
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts +17 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +69 -118
- 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 +19 -2
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +154 -202
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +19 -3
- 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 -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 +29 -51
- 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 +199 -269
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/base-glsp-tool.d.ts +18 -2
- package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
- package/lib/features/tools/base-glsp-tool.js +37 -59
- package/lib/features/tools/base-glsp-tool.js.map +1 -1
- package/lib/features/tools/change-bounds-tool.d.ts +20 -3
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds-tool.js +192 -241
- 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 +71 -104
- 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 +19 -19
- 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 +62 -87
- package/lib/features/tools/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.d.ts +17 -1
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit-tool.js +112 -183
- 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/{src/features/undo-redo/model.ts → lib/features/tools/marquee-behavior.spec.d.ts} +3 -12
- 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 +86 -195
- 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.js +4 -22
- 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 +60 -90
- 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 +12 -31
- 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 +131 -164
- 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 +83 -77
- 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 +147 -300
- 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 +29 -34
- package/lib/index.js.map +1 -1
- package/lib/lib/model.js +11 -27
- 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 +60 -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 +75 -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 +4 -4
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +16 -65
- 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 +1 -1
- 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 +36 -50
- 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 +40 -70
- 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 +10 -18
- package/src/base/action-dispatcher.ts +3 -4
- 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 +2 -5
- package/src/base/container-modules.ts +112 -0
- package/src/base/di.config.ts +33 -18
- package/src/base/drag-aware-mouse-listener.ts +3 -4
- package/src/base/{editor-context.ts → editor-context-service.ts} +4 -31
- package/src/base/focus-tracker.ts +2 -4
- package/src/base/model/update-model-command.ts +8 -16
- package/src/base/model-initialization-constraint.ts +3 -2
- package/src/base/tool-manager/glsp-tool-manager.ts +3 -5
- package/src/base/types.ts +4 -2
- package/src/features/change-bounds/model.ts +15 -5
- package/src/features/change-bounds/movement-restrictor.ts +17 -9
- package/src/features/change-bounds/snap.ts +3 -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 +4 -3
- 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 +3 -13
- 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 +23 -90
- package/src/features/hover/di.config.ts +1 -2
- package/src/features/hover/hover.ts +2 -7
- package/src/features/layout/di.config.ts +31 -5
- 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 +43 -34
- package/src/features/layout/vbox-layout.ts +256 -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 +33 -23
- 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 +2 -3
- package/src/features/save/di.config.ts +2 -3
- package/src/features/save/{save.ts → save-keylistener.ts} +3 -11
- 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 +14 -10
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +26 -20
- package/src/features/tool-feedback/creation-tool-feedback.ts +17 -10
- 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 +38 -22
- package/src/features/tool-feedback/feedback-action-dispatcher.ts +8 -9
- package/src/features/tool-feedback/marquee-tool-feedback.ts +4 -5
- package/src/features/tool-feedback/model.ts +1 -2
- 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 +44 -40
- package/src/features/tools/base-glsp-tool.ts +4 -4
- package/src/features/tools/change-bounds-tool.ts +64 -34
- package/src/features/tools/delete-tool.ts +9 -6
- package/src/features/tools/di.config.ts +2 -3
- package/src/features/tools/edge-creation-tool.ts +5 -10
- package/src/features/tools/edge-edit-tool.ts +10 -20
- 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 +43 -134
- package/src/features/tools/marquee-tool.ts +2 -3
- package/src/features/tools/node-creation-tool.ts +4 -11
- package/src/features/tools/view.tsx +17 -12
- 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 +24 -12
- package/src/features/validation/validate.ts +7 -40
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +3 -12
- package/src/index.ts +30 -19
- package/src/model-source/glsp-diagram-server.ts +12 -28
- 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 +15 -11
- 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 +21 -14
- package/src/views/index.ts +1 -1
- package/src/views/issue-marker-view.tsx +28 -19
- package/src/views/rounded-corner-view.tsx +38 -25
- 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 +0 -24
- 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,10 +13,11 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { Action, Point } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { inject, injectable } from 'inversify';
|
|
17
|
-
import { VNode } from 'snabbdom
|
|
18
|
+
import { VNode } from 'snabbdom';
|
|
18
19
|
import {
|
|
19
|
-
|
|
20
|
+
add,
|
|
20
21
|
AnchorComputerRegistry,
|
|
21
22
|
center,
|
|
22
23
|
CommandExecutionContext,
|
|
@@ -32,7 +33,6 @@ import {
|
|
|
32
33
|
isViewport,
|
|
33
34
|
MouseListener,
|
|
34
35
|
MoveAction,
|
|
35
|
-
Point,
|
|
36
36
|
PolylineEdgeRouter,
|
|
37
37
|
SConnectableElement,
|
|
38
38
|
SModelElement,
|
|
@@ -42,16 +42,10 @@ import {
|
|
|
42
42
|
SwitchEditModeCommand,
|
|
43
43
|
TYPES
|
|
44
44
|
} from 'sprotty';
|
|
45
|
-
|
|
46
45
|
import { isNotUndefined, isRoutable, isRoutingHandle } from '../../utils/smodel-util';
|
|
47
|
-
import { getAbsolutePosition } from '../../utils/viewpoint-util';
|
|
46
|
+
import { getAbsolutePosition, toAbsoluteBounds } from '../../utils/viewpoint-util';
|
|
48
47
|
import { addReconnectHandles, removeReconnectHandles } from '../reconnect/model';
|
|
49
|
-
import {
|
|
50
|
-
FeedbackEdgeEnd,
|
|
51
|
-
feedbackEdgeEndId,
|
|
52
|
-
FeedbackEdgeEndMovingMouseListener,
|
|
53
|
-
feedbackEdgeId
|
|
54
|
-
} from './creation-tool-feedback';
|
|
48
|
+
import { FeedbackEdgeEnd, feedbackEdgeEndId, FeedbackEdgeEndMovingMouseListener, feedbackEdgeId } from './creation-tool-feedback';
|
|
55
49
|
import { FeedbackCommand } from './model';
|
|
56
50
|
|
|
57
51
|
/**
|
|
@@ -59,11 +53,11 @@ import { FeedbackCommand } from './model';
|
|
|
59
53
|
*/
|
|
60
54
|
|
|
61
55
|
export class ShowEdgeReconnectHandlesFeedbackAction implements Action {
|
|
62
|
-
constructor(readonly elementId?: string, public readonly kind: string = ShowEdgeReconnectHandlesFeedbackCommand.KIND) {
|
|
56
|
+
constructor(readonly elementId?: string, public readonly kind: string = ShowEdgeReconnectHandlesFeedbackCommand.KIND) {}
|
|
63
57
|
}
|
|
64
58
|
|
|
65
59
|
export class HideEdgeReconnectHandlesFeedbackAction implements Action {
|
|
66
|
-
constructor(public readonly kind: string = HideEdgeReconnectHandlesFeedbackCommand.KIND) {
|
|
60
|
+
constructor(public readonly kind: string = HideEdgeReconnectHandlesFeedbackCommand.KIND) {}
|
|
67
61
|
}
|
|
68
62
|
|
|
69
63
|
@injectable()
|
|
@@ -107,9 +101,11 @@ export class HideEdgeReconnectHandlesFeedbackCommand extends FeedbackCommand {
|
|
|
107
101
|
*/
|
|
108
102
|
|
|
109
103
|
export class SwitchRoutingModeAction extends SwitchEditModeAction {
|
|
110
|
-
constructor(
|
|
104
|
+
constructor(
|
|
105
|
+
public readonly elementsToActivate: string[] = [],
|
|
111
106
|
public readonly elementsToDeactivate: string[] = [],
|
|
112
|
-
public readonly kind: string = SwitchRoutingModeCommand.KIND
|
|
107
|
+
public readonly kind: string = SwitchRoutingModeCommand.KIND
|
|
108
|
+
) {
|
|
113
109
|
super(elementsToActivate, elementsToDeactivate);
|
|
114
110
|
}
|
|
115
111
|
}
|
|
@@ -127,7 +123,11 @@ export class SwitchRoutingModeCommand extends SwitchEditModeCommand {
|
|
|
127
123
|
*/
|
|
128
124
|
|
|
129
125
|
export class DrawFeedbackEdgeSourceAction implements Action {
|
|
130
|
-
constructor(
|
|
126
|
+
constructor(
|
|
127
|
+
readonly elementTypeId: string,
|
|
128
|
+
readonly targetId: string,
|
|
129
|
+
public readonly kind: string = DrawFeedbackEdgeSourceCommand.KIND
|
|
130
|
+
) {}
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
@injectable()
|
|
@@ -168,12 +168,12 @@ export class FeedbackEdgeSourceMovingMouseListener extends MouseListener {
|
|
|
168
168
|
|
|
169
169
|
const edge = edgeEnd.feedbackEdge;
|
|
170
170
|
const position = getAbsolutePosition(edgeEnd, event);
|
|
171
|
-
const endAtMousePosition = findChildrenAtPosition(target.root, position)
|
|
172
|
-
|
|
171
|
+
const endAtMousePosition = findChildrenAtPosition(target.root, position).find(
|
|
172
|
+
e => isConnectable(e) && e.canConnect(edge, 'source')
|
|
173
|
+
);
|
|
173
174
|
|
|
174
175
|
if (endAtMousePosition instanceof SConnectableElement && edge.target && isBoundsAware(edge.target)) {
|
|
175
|
-
const
|
|
176
|
-
const anchor = anchorComputer.getAnchor(endAtMousePosition, center(edge.target.bounds));
|
|
176
|
+
const anchor = this.computeAbsoluteAnchor(endAtMousePosition, center(edge.target.bounds));
|
|
177
177
|
if (euclideanDistance(anchor, edgeEnd.position) > 1) {
|
|
178
178
|
return [new MoveAction([{ elementId: edgeEnd.id, toPosition: anchor }], false)];
|
|
179
179
|
}
|
|
@@ -183,6 +183,21 @@ export class FeedbackEdgeSourceMovingMouseListener extends MouseListener {
|
|
|
183
183
|
|
|
184
184
|
return [];
|
|
185
185
|
}
|
|
186
|
+
|
|
187
|
+
protected computeAbsoluteAnchor(element: SConnectableElement, referencePoint: Point, offset?: number): Point {
|
|
188
|
+
const anchorComputer = this.anchorRegistry.get(PolylineEdgeRouter.KIND, element.anchorKind);
|
|
189
|
+
let anchor = anchorComputer.getAnchor(element, referencePoint, offset);
|
|
190
|
+
// The anchor is computed in the local coordinate system of the element.
|
|
191
|
+
// If the element is a nested child element we have to add the absolute position of its parent to the anchor.
|
|
192
|
+
if (element.parent !== element.root) {
|
|
193
|
+
const parent = findParentByFeature(element.parent, isBoundsAware);
|
|
194
|
+
if (parent) {
|
|
195
|
+
const absoluteParentPosition = toAbsoluteBounds(parent);
|
|
196
|
+
anchor = add(absoluteParentPosition, anchor);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return anchor;
|
|
200
|
+
}
|
|
186
201
|
}
|
|
187
202
|
|
|
188
203
|
export class FeedbackEdgeRouteMovingMouseListener extends MouseListener {
|
|
@@ -219,7 +234,8 @@ export class FeedbackEdgeRouteMovingMouseListener extends MouseListener {
|
|
|
219
234
|
const dx = (event.pageX - this.lastDragPosition.x) / zoom;
|
|
220
235
|
const dy = (event.pageY - this.lastDragPosition.y) / zoom;
|
|
221
236
|
const handleMoves: ElementMove[] = [];
|
|
222
|
-
target.root.index
|
|
237
|
+
target.root.index
|
|
238
|
+
.all()
|
|
223
239
|
.filter(element => isSelected(element))
|
|
224
240
|
.forEach(element => {
|
|
225
241
|
if (isRoutingHandle(element)) {
|
|
@@ -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,10 +13,11 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { Action } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { inject, injectable } from 'inversify';
|
|
17
|
-
import {
|
|
18
|
+
import { IActionDispatcher, ILogger, TYPES } from 'sprotty';
|
|
18
19
|
|
|
19
|
-
export interface IFeedbackEmitter {
|
|
20
|
+
export interface IFeedbackEmitter {}
|
|
20
21
|
|
|
21
22
|
/**
|
|
22
23
|
* Dispatcher for actions that are meant to show visual feedback on
|
|
@@ -52,14 +53,14 @@ export interface IFeedbackActionDispatcher {
|
|
|
52
53
|
deregisterFeedback(feedbackEmitter: IFeedbackEmitter, actions: Action[]): void;
|
|
53
54
|
|
|
54
55
|
/**
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
* Retrieve all `actions` sent out by currently registered `feedbackEmitter`.
|
|
57
|
+
*/
|
|
57
58
|
getRegisteredFeedback(): Action[];
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
@injectable()
|
|
61
62
|
export class FeedbackActionDispatcher implements IFeedbackActionDispatcher {
|
|
62
|
-
protected feedbackEmitters: Map<IFeedbackEmitter, Action[]> = new Map;
|
|
63
|
+
protected feedbackEmitters: Map<IFeedbackEmitter, Action[]> = new Map();
|
|
63
64
|
|
|
64
65
|
@inject(TYPES.IActionDispatcherProvider) protected actionDispatcher: () => Promise<IActionDispatcher>;
|
|
65
66
|
@inject(TYPES.ILogger) protected logger: ILogger;
|
|
@@ -93,9 +94,7 @@ export class FeedbackActionDispatcher implements IFeedbackActionDispatcher {
|
|
|
93
94
|
if (value.find(a => a === action)) {
|
|
94
95
|
result.push(key);
|
|
95
96
|
}
|
|
96
|
-
}
|
|
97
|
-
);
|
|
97
|
+
});
|
|
98
98
|
return result;
|
|
99
99
|
}
|
|
100
|
-
|
|
101
100
|
}
|
|
@@ -13,27 +13,26 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
+
import { Action, Point } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { inject, injectable } from 'inversify';
|
|
17
18
|
import {
|
|
18
|
-
Action,
|
|
19
19
|
AnchorComputerRegistry,
|
|
20
20
|
CommandExecutionContext,
|
|
21
21
|
CommandReturn,
|
|
22
22
|
MouseListener,
|
|
23
|
-
Point,
|
|
24
23
|
SChildElement,
|
|
25
24
|
SModelElement,
|
|
26
25
|
SModelRoot,
|
|
27
26
|
TYPES
|
|
28
27
|
} from 'sprotty';
|
|
29
|
-
|
|
30
28
|
import { FeedbackCommand } from './model';
|
|
31
29
|
|
|
32
30
|
export class DrawMarqueeAction implements Action {
|
|
33
31
|
constructor(
|
|
34
32
|
public readonly startPoint: Point,
|
|
35
33
|
public readonly endPoint: Point,
|
|
36
|
-
public readonly kind: string = DrawMarqueeCommand.KIND
|
|
34
|
+
public readonly kind: string = DrawMarqueeCommand.KIND
|
|
35
|
+
) {}
|
|
37
36
|
}
|
|
38
37
|
|
|
39
38
|
@injectable()
|
|
@@ -51,7 +50,7 @@ export class DrawMarqueeCommand extends FeedbackCommand {
|
|
|
51
50
|
}
|
|
52
51
|
|
|
53
52
|
export class RemoveMarqueeAction implements Action {
|
|
54
|
-
constructor(public readonly kind: string = RemoveMarqueeCommand.KIND) {
|
|
53
|
+
constructor(public readonly kind: string = RemoveMarqueeCommand.KIND) {}
|
|
55
54
|
}
|
|
56
55
|
|
|
57
56
|
@injectable()
|
|
@@ -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
|
|
@@ -29,4 +29,3 @@ export abstract class FeedbackCommand extends Command {
|
|
|
29
29
|
return context.root;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
|
|
@@ -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,20 +13,19 @@
|
|
|
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
|
-
import {
|
|
19
|
-
import { IView, ORIGIN_POINT, Point, RenderingContext, setAttr, SModelElement } from 'sprotty';
|
|
20
|
-
|
|
18
|
+
import { VNode } from 'snabbdom';
|
|
19
|
+
import { IView, ORIGIN_POINT, RenderingContext, setAttr, SModelElement, svg } from 'sprotty';
|
|
21
20
|
import { isResizable, ResizeHandleLocation, SResizeHandle } from '../change-bounds/model';
|
|
22
21
|
|
|
23
22
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
24
|
-
const JSX = { createElement:
|
|
23
|
+
const JSX = { createElement: svg };
|
|
25
24
|
|
|
26
25
|
/**
|
|
27
|
-
* This view is used for the invisible end of the feedback edge.
|
|
28
|
-
* A feedback edge is shown as a visual feedback when creating edges.
|
|
29
|
-
*/
|
|
26
|
+
* This view is used for the invisible end of the feedback edge.
|
|
27
|
+
* A feedback edge is shown as a visual feedback when creating edges.
|
|
28
|
+
*/
|
|
30
29
|
@injectable()
|
|
31
30
|
export class FeedbackEdgeEndView implements IView {
|
|
32
31
|
render(model: Readonly<SModelElement>, context: RenderingContext): VNode {
|
|
@@ -40,8 +39,15 @@ export class SResizeHandleView implements IView {
|
|
|
40
39
|
render(handle: SResizeHandle, context: RenderingContext): VNode {
|
|
41
40
|
const position = this.getPosition(handle);
|
|
42
41
|
if (position !== undefined) {
|
|
43
|
-
const node =
|
|
44
|
-
|
|
42
|
+
const node = (
|
|
43
|
+
<circle
|
|
44
|
+
class-sprotty-resize-handle={true}
|
|
45
|
+
class-mouseover={handle.hoverFeedback}
|
|
46
|
+
cx={position.x}
|
|
47
|
+
cy={position.y}
|
|
48
|
+
r={this.getRadius()}
|
|
49
|
+
/>
|
|
50
|
+
);
|
|
45
51
|
setAttr(node, 'data-kind', handle.location);
|
|
46
52
|
return node;
|
|
47
53
|
}
|
|
@@ -13,14 +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 '../../../css/tool-palette.css';
|
|
17
|
-
|
|
18
16
|
import { ContainerModule } from 'inversify';
|
|
19
17
|
import { configureActionHandler, EnableDefaultToolsAction, TYPES } from 'sprotty';
|
|
20
|
-
|
|
18
|
+
import '../../../css/tool-palette.css';
|
|
21
19
|
import { EnableToolPaletteAction, ToolPalette } from './tool-palette';
|
|
22
20
|
|
|
23
|
-
const toolPaletteModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
21
|
+
const toolPaletteModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
|
|
24
22
|
bind(ToolPalette).toSelf().inSingletonScope();
|
|
25
23
|
bind(TYPES.IUIExtension).toService(ToolPalette);
|
|
26
24
|
configureActionHandler({ bind, isBound }, EnableToolPaletteAction.KIND, ToolPalette);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2020-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,9 +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 { isLabeledAction, LabeledAction } from '
|
|
17
|
-
|
|
18
|
-
import { isTriggerElementTypeCreationAction, TriggerElementCreationAction } from '../../base/operations/operation';
|
|
16
|
+
import { isLabeledAction, isTriggerElementTypeCreationAction, LabeledAction, TriggerElementCreationAction } from '@eclipse-glsp/protocol';
|
|
19
17
|
|
|
20
18
|
export interface PaletteItem extends LabeledAction {
|
|
21
19
|
readonly id: string;
|
|
@@ -30,11 +28,11 @@ export function isPaletteItem(object?: any): object is PaletteItem {
|
|
|
30
28
|
export namespace PaletteItem {
|
|
31
29
|
export function getTriggerAction(item?: PaletteItem): TriggerElementCreationAction | undefined {
|
|
32
30
|
if (item) {
|
|
33
|
-
const initiAction = item.actions
|
|
31
|
+
const initiAction = item.actions
|
|
32
|
+
.filter(a => isTriggerElementTypeCreationAction(a))
|
|
34
33
|
.map(action => action as TriggerElementCreationAction);
|
|
35
34
|
return initiAction.length > 0 ? initiAction[0] : undefined;
|
|
36
35
|
}
|
|
37
36
|
return undefined;
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
|
-
|
|
@@ -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 { isSetContextActionsAction, RequestContextActions, RequestMarkersAction, SetContextActions } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { inject, injectable, postConstruct } from 'inversify';
|
|
17
18
|
import {
|
|
18
19
|
AbstractUIExtension,
|
|
@@ -26,20 +27,18 @@ import {
|
|
|
26
27
|
SModelRoot,
|
|
27
28
|
TYPES
|
|
28
29
|
} from 'sprotty';
|
|
30
|
+
import { codiconCSSClasses } from 'sprotty/lib/utils/codicon';
|
|
29
31
|
import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
|
|
30
|
-
|
|
31
32
|
import { GLSPActionDispatcher } from '../../base/action-dispatcher';
|
|
32
|
-
import {
|
|
33
|
-
import { EditModeListener, EditorContextService } from '../../base/editor-context';
|
|
33
|
+
import { EditModeListener, EditorContextService } from '../../base/editor-context-service';
|
|
34
34
|
import { MouseDeleteTool } from '../tools/delete-tool';
|
|
35
35
|
import { MarqueeMouseTool } from '../tools/marquee-mouse-tool';
|
|
36
|
-
import { RequestMarkersAction } from '../validation/validate';
|
|
37
36
|
import { PaletteItem } from './palette-item';
|
|
38
37
|
|
|
39
38
|
const CLICKED_CSS_CLASS = 'clicked';
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
const
|
|
39
|
+
const SEARCH_ICON_ID = 'search';
|
|
40
|
+
const PALETTE_ICON_ID = 'symbol-color';
|
|
41
|
+
const CHEVRON_DOWN_ICON_ID = 'chevron-right';
|
|
43
42
|
const PALETTE_HEIGHT = '500px';
|
|
44
43
|
|
|
45
44
|
@injectable()
|
|
@@ -101,7 +100,7 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
101
100
|
this.containerElement.classList.add('collapsible-palette');
|
|
102
101
|
if (baseDiv) {
|
|
103
102
|
const insertedDiv = baseDiv.insertBefore(minPaletteDiv, baseDiv.firstChild);
|
|
104
|
-
const minimizeIcon = createIcon(
|
|
103
|
+
const minimizeIcon = createIcon(CHEVRON_DOWN_ICON_ID);
|
|
105
104
|
this.updateMinimizePaletteButtonTooltip(minPaletteDiv);
|
|
106
105
|
minimizeIcon.onclick = _event => {
|
|
107
106
|
if (this.isPaletteMaximized()) {
|
|
@@ -110,10 +109,8 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
110
109
|
this.containerElement.style.maxHeight = PALETTE_HEIGHT;
|
|
111
110
|
}
|
|
112
111
|
this.updateMinimizePaletteButtonTooltip(minPaletteDiv);
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
changeCSSClass(minimizeIcon, 'fas');
|
|
116
|
-
changeCSSClass(minimizeIcon, CHEVRON_DOWN);
|
|
112
|
+
changeCodiconClass(minimizeIcon, PALETTE_ICON_ID);
|
|
113
|
+
changeCodiconClass(minimizeIcon, CHEVRON_DOWN_ICON_ID);
|
|
117
114
|
};
|
|
118
115
|
insertedDiv.appendChild(minimizeIcon);
|
|
119
116
|
}
|
|
@@ -135,16 +132,15 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
135
132
|
const bodyDiv = document.createElement('div');
|
|
136
133
|
bodyDiv.classList.add('palette-body');
|
|
137
134
|
let tabIndex = 0;
|
|
138
|
-
this.paletteItems.sort(compare)
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
});
|
|
135
|
+
this.paletteItems.sort(compare).forEach(item => {
|
|
136
|
+
if (item.children) {
|
|
137
|
+
const group = createToolGroup(item);
|
|
138
|
+
item.children.sort(compare).forEach(child => group.appendChild(this.createToolButton(child, tabIndex++)));
|
|
139
|
+
bodyDiv.appendChild(group);
|
|
140
|
+
} else {
|
|
141
|
+
bodyDiv.appendChild(this.createToolButton(item, tabIndex++));
|
|
142
|
+
}
|
|
143
|
+
});
|
|
148
144
|
if (this.paletteItems.length === 0) {
|
|
149
145
|
const noResultsDiv = document.createElement('div');
|
|
150
146
|
noResultsDiv.innerText = 'No results found.';
|
|
@@ -165,7 +161,7 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
165
161
|
headerCompartment.classList.add('palette-header');
|
|
166
162
|
headerCompartment.append(this.createHeaderTitle());
|
|
167
163
|
headerCompartment.appendChild(this.createHeaderTools());
|
|
168
|
-
headerCompartment.appendChild(this.searchField = this.createHeaderSearchField());
|
|
164
|
+
headerCompartment.appendChild((this.searchField = this.createHeaderSearchField()));
|
|
169
165
|
this.containerElement.appendChild(headerCompartment);
|
|
170
166
|
}
|
|
171
167
|
|
|
@@ -193,7 +189,7 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
193
189
|
}
|
|
194
190
|
|
|
195
191
|
protected createDefaultToolButton(): HTMLElement {
|
|
196
|
-
const button = createIcon(
|
|
192
|
+
const button = createIcon('inspect');
|
|
197
193
|
button.id = 'btn_default_tools';
|
|
198
194
|
button.title = 'Enable selection tool';
|
|
199
195
|
button.onclick = this.onClickStaticToolButton(this.defaultToolsButton);
|
|
@@ -201,21 +197,21 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
201
197
|
}
|
|
202
198
|
|
|
203
199
|
protected createMouseDeleteToolButton(): HTMLElement {
|
|
204
|
-
const deleteToolButton = createIcon(
|
|
200
|
+
const deleteToolButton = createIcon('chrome-close');
|
|
205
201
|
deleteToolButton.title = 'Enable deletion tool';
|
|
206
202
|
deleteToolButton.onclick = this.onClickStaticToolButton(deleteToolButton, MouseDeleteTool.ID);
|
|
207
203
|
return deleteToolButton;
|
|
208
204
|
}
|
|
209
205
|
|
|
210
206
|
protected createMarqueeToolButton(): HTMLElement {
|
|
211
|
-
const marqueeToolButton = createIcon(
|
|
207
|
+
const marqueeToolButton = createIcon('screen-full');
|
|
212
208
|
marqueeToolButton.title = 'Enable marquee tool';
|
|
213
209
|
marqueeToolButton.onclick = this.onClickStaticToolButton(marqueeToolButton, MarqueeMouseTool.ID);
|
|
214
210
|
return marqueeToolButton;
|
|
215
211
|
}
|
|
216
212
|
|
|
217
213
|
protected createValidateButton(): HTMLElement {
|
|
218
|
-
const validateActionButton = createIcon(
|
|
214
|
+
const validateActionButton = createIcon('pass');
|
|
219
215
|
validateActionButton.title = 'Validate model';
|
|
220
216
|
validateActionButton.onclick = _event => {
|
|
221
217
|
const modelIds: string[] = [this.modelRootId];
|
|
@@ -225,15 +221,15 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
225
221
|
}
|
|
226
222
|
|
|
227
223
|
protected createSearchButton(): HTMLElement {
|
|
228
|
-
const searchIcon = createIcon(
|
|
224
|
+
const searchIcon = createIcon(SEARCH_ICON_ID);
|
|
229
225
|
searchIcon.onclick = _ev => {
|
|
230
226
|
const searchField = document.getElementById(this.containerElement.id + '_search_field');
|
|
231
227
|
if (searchField) {
|
|
232
|
-
if (searchField.style.display === '
|
|
233
|
-
searchField.style.display = '
|
|
234
|
-
} else {
|
|
235
|
-
searchField.style.display = 'inline';
|
|
228
|
+
if (searchField.style.display === 'none') {
|
|
229
|
+
searchField.style.display = '';
|
|
236
230
|
searchField.focus();
|
|
231
|
+
} else {
|
|
232
|
+
searchField.style.display = 'none';
|
|
237
233
|
}
|
|
238
234
|
}
|
|
239
235
|
};
|
|
@@ -257,7 +253,7 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
257
253
|
protected createHeaderTitle(): HTMLElement {
|
|
258
254
|
const header = document.createElement('div');
|
|
259
255
|
header.classList.add('header-icon');
|
|
260
|
-
header.appendChild(createIcon(
|
|
256
|
+
header.appendChild(createIcon(PALETTE_ICON_ID));
|
|
261
257
|
header.insertAdjacentText('beforeend', 'Palette');
|
|
262
258
|
return header;
|
|
263
259
|
}
|
|
@@ -266,7 +262,10 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
266
262
|
const button = document.createElement('div');
|
|
267
263
|
button.tabIndex = index;
|
|
268
264
|
button.classList.add('tool-button');
|
|
269
|
-
|
|
265
|
+
if (item.icon) {
|
|
266
|
+
button.appendChild(createIcon(item.icon));
|
|
267
|
+
}
|
|
268
|
+
button.insertAdjacentText('beforeend', item.label);
|
|
270
269
|
button.onclick = this.onClickCreateToolButton(button, item);
|
|
271
270
|
button.onkeydown = ev => this.clearToolOnEscape(ev);
|
|
272
271
|
return button;
|
|
@@ -383,9 +382,9 @@ export function compare(a: PaletteItem, b: PaletteItem): number {
|
|
|
383
382
|
return a.label.localeCompare(b.label);
|
|
384
383
|
}
|
|
385
384
|
|
|
386
|
-
export function createIcon(
|
|
385
|
+
export function createIcon(codiconId: string): HTMLElement {
|
|
387
386
|
const icon = document.createElement('i');
|
|
388
|
-
icon.classList.add(...
|
|
387
|
+
icon.classList.add(...codiconCSSClasses(codiconId));
|
|
389
388
|
return icon;
|
|
390
389
|
}
|
|
391
390
|
|
|
@@ -396,7 +395,7 @@ export function createToolGroup(item: PaletteItem): HTMLElement {
|
|
|
396
395
|
const header = document.createElement('div');
|
|
397
396
|
header.classList.add('group-header');
|
|
398
397
|
if (item.icon) {
|
|
399
|
-
header.appendChild(createIcon(
|
|
398
|
+
header.appendChild(createIcon(item.icon));
|
|
400
399
|
}
|
|
401
400
|
header.insertAdjacentText('beforeend', item.label);
|
|
402
401
|
header.ondblclick = _ev => {
|
|
@@ -411,6 +410,11 @@ export function createToolGroup(item: PaletteItem): HTMLElement {
|
|
|
411
410
|
}
|
|
412
411
|
|
|
413
412
|
export function changeCSSClass(element: Element, css: string): void {
|
|
414
|
-
element.classList.contains(css) ? element.classList.remove(css) :
|
|
415
|
-
|
|
413
|
+
element.classList.contains(css) ? element.classList.remove(css) : element.classList.add(css);
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
export function changeCodiconClass(element: Element, codiconId: string): void {
|
|
417
|
+
element.classList.contains(codiconCSSClasses(codiconId)[1])
|
|
418
|
+
? element.classList.remove(codiconCSSClasses(codiconId)[1])
|
|
419
|
+
: element.classList.add(codiconCSSClasses(codiconId)[1]);
|
|
416
420
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2020-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,10 +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 { Action } from '@eclipse-glsp/protocol';
|
|
16
17
|
import { inject, injectable } from 'inversify';
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
import { EditorContextService } from '../../base/editor-context';
|
|
18
|
+
import { IActionDispatcher, KeyTool, TYPES } from 'sprotty';
|
|
19
|
+
import { EditorContextService } from '../../base/editor-context-service';
|
|
20
20
|
import { GLSPTool } from '../../base/tool-manager/glsp-tool-manager';
|
|
21
21
|
import { GLSP_TYPES } from '../../base/types';
|
|
22
22
|
import { IMouseTool } from '../mouse-tool/mouse-tool';
|