@eclipse-glsp/client 0.9.0-next.f54fd689 → 0.9.0
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 +20 -7
- package/css/tool-palette.css +44 -27
- package/lib/base/action-dispatcher.d.ts +18 -2
- 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/{features/model-source-watcher/model-source-changed-action.d.ts → base/actions/focus-change-action.d.ts} +7 -7
- package/lib/base/actions/focus-change-action.d.ts.map +1 -0
- package/lib/base/actions/focus-change-action.js +16 -0
- package/lib/base/actions/focus-change-action.js.map +1 -0
- package/lib/base/argumentable.d.ts +22 -0
- package/lib/base/argumentable.d.ts.map +1 -0
- package/lib/base/argumentable.js +8 -0
- 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-actions.js.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.d.ts +12 -12
- package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.js +121 -152
- 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 +49 -65
- package/lib/base/auto-complete/validation-decorator.js.map +1 -1
- package/lib/base/command-stack.d.ts +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 +13 -3
- package/lib/base/di.config.d.ts.map +1 -1
- package/lib/base/di.config.js +52 -31
- 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-service.d.ts +42 -0
- 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/{features/undo-redo/model.d.ts → base/focus-tracker.d.ts} +10 -12
- package/lib/base/focus-tracker.d.ts.map +1 -0
- package/lib/base/focus-tracker.js +50 -0
- package/lib/base/focus-tracker.js.map +1 -0
- package/lib/base/model/model-registry.d.ts +5 -0
- package/lib/base/model/model-registry.d.ts.map +1 -0
- package/lib/base/model/model-registry.js +43 -0
- package/lib/base/model/model-registry.js.map +1 -0
- package/lib/base/model/update-model-command.d.ts +20 -6
- 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 +17 -2
- 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.d.ts +1 -1
- package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
- package/lib/base/selection-clearing-mouse-listener.js +11 -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 +59 -141
- 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 +23 -21
- package/lib/base/types.js.map +1 -1
- package/lib/base/view/view-registry.d.ts +5 -0
- package/lib/base/view/view-registry.d.ts.map +1 -0
- package/lib/base/view/view-registry.js +43 -0
- package/lib/base/view/view-registry.js.map +1 -0
- package/lib/features/change-bounds/model.d.ts +4 -2
- package/lib/features/change-bounds/model.d.ts.map +1 -1
- package/lib/features/change-bounds/model.js +21 -32
- package/lib/features/change-bounds/model.js.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts +18 -2
- package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +34 -46
- 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.d.ts +1 -1
- package/lib/features/command-palette/command-palette-tool.d.ts.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.d.ts +2 -2
- 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 +19 -3
- package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.js +31 -36
- package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.d.ts +2 -2
- package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.js +24 -72
- package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
- package/lib/features/context-menu/di.config.d.ts +2 -2
- package/lib/features/context-menu/di.config.d.ts.map +1 -1
- package/lib/features/context-menu/di.config.js +14 -18
- 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 +2 -2
- 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 +19 -3
- package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.js +31 -32
- 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 +21 -4
- 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 +2 -2
- 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 +14 -47
- package/lib/features/decoration/decoration-placer.js.map +1 -1
- package/lib/features/decoration/di.config.d.ts +2 -2
- package/lib/features/decoration/di.config.d.ts.map +1 -1
- package/lib/features/decoration/di.config.js +4 -6
- package/lib/features/decoration/di.config.js.map +1 -1
- package/lib/features/edit-label/di.config.d.ts +1 -1
- package/lib/features/edit-label/di.config.js +7 -7
- package/lib/features/edit-label/di.config.js.map +1 -1
- package/lib/features/edit-label/edit-label-tool.d.ts +2 -2
- 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 +18 -3
- 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 +1 -16
- 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 +2 -2
- package/lib/features/hints/model.js.map +1 -1
- package/lib/features/hints/type-hints.d.ts +21 -49
- package/lib/features/hints/type-hints.d.ts.map +1 -1
- package/lib/features/hints/type-hints.js +83 -142
- package/lib/features/hints/type-hints.js.map +1 -1
- package/lib/features/hover/di.config.d.ts +2 -2
- package/lib/features/hover/di.config.d.ts.map +1 -1
- package/lib/features/hover/di.config.js +9 -7
- package/lib/features/hover/di.config.js.map +1 -1
- package/lib/features/hover/hover.d.ts +18 -2
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +37 -75
- package/lib/features/hover/hover.js.map +1 -1
- package/lib/features/layout/di.config.d.ts +2 -2
- 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 +26 -10
- package/lib/features/layout/layout-commands.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.js +189 -264
- package/lib/features/layout/layout-commands.js.map +1 -1
- package/lib/features/layout/layout-commands.spec.d.ts +2 -17
- package/lib/features/layout/layout-commands.spec.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.spec.js +124 -117
- 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 +1 -16
- 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.d.ts +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 +3 -2
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js +74 -217
- package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
- package/lib/features/navigation/di.config.d.ts +1 -16
- 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 -39
- package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
- package/lib/features/navigation/navigation-action-handler.js +118 -255
- 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 +2 -17
- package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.js +27 -26
- package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
- package/lib/features/rank/model.d.ts +2 -2
- package/lib/features/rank/model.d.ts.map +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 +2 -2
- package/lib/features/reconnect/model.d.ts.map +1 -1
- package/lib/features/reconnect/model.js +10 -28
- package/lib/features/reconnect/model.js.map +1 -1
- package/lib/features/save/di.config.d.ts +2 -2
- 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/model.d.ts +1 -1
- package/lib/features/save/{save.d.ts → save-keylistener.d.ts} +4 -8
- package/lib/features/save/save-keylistener.d.ts.map +1 -0
- package/lib/{utils/array-utils.js → features/save/save-keylistener.js} +14 -19
- package/lib/features/save/save-keylistener.js.map +1 -0
- package/lib/features/select/di.config.d.ts +1 -1
- 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 +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.d.ts +2 -2
- 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 +19 -3
- 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 -138
- package/lib/features/select/selection-service.spec.js.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +21 -4
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +117 -149
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts +19 -2
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +81 -115
- package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/css-feedback.d.ts +24 -5
- package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/css-feedback.js +40 -82
- package/lib/features/tool-feedback/css-feedback.js.map +1 -1
- package/lib/features/tool-feedback/di.config.d.ts +2 -2
- package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
- package/lib/features/tool-feedback/di.config.js +27 -24
- package/lib/features/tool-feedback/di.config.js.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +21 -4
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +160 -204
- 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 +48 -0
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -0
- package/lib/features/tool-feedback/marquee-tool-feedback.js +96 -0
- package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -0
- package/lib/features/tool-feedback/model.d.ts +2 -2
- 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 +22 -6
- package/lib/features/tool-feedback/view.d.ts.map +1 -1
- package/lib/features/tool-feedback/view.js +30 -51
- package/lib/features/tool-feedback/view.js.map +1 -1
- package/lib/features/tool-palette/di.config.d.ts +2 -2
- 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 +23 -6
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +229 -286
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/base-glsp-tool.d.ts +21 -5
- 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 +26 -9
- 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 +20 -4
- 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 +5 -16
- package/lib/features/tools/di.config.d.ts.map +1 -1
- package/lib/features/tools/di.config.js +26 -13
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts +20 -5
- package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-creation-tool.js +64 -89
- package/lib/features/tools/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.d.ts +22 -6
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit-tool.js +125 -189
- 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/base/args.ts → lib/features/tools/marquee-behavior.spec.d.ts} +3 -2
- 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 +48 -0
- package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -0
- package/lib/features/tools/marquee-mouse-tool.js +148 -0
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -0
- package/lib/features/tools/marquee-tool.d.ts +30 -0
- package/lib/features/tools/marquee-tool.d.ts.map +1 -0
- package/lib/features/tools/marquee-tool.js +54 -0
- package/lib/features/tools/marquee-tool.js.map +1 -0
- package/lib/features/tools/model.d.ts +22 -0
- package/lib/features/tools/model.d.ts.map +1 -0
- package/lib/features/tools/model.js +24 -0
- package/lib/features/tools/model.js.map +1 -0
- package/lib/features/tools/node-creation-tool.d.ts +20 -5
- 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 +7 -0
- package/lib/features/tools/view.d.ts.map +1 -0
- package/lib/features/tools/view.js +40 -0
- package/lib/features/tools/view.js.map +1 -0
- package/lib/features/validation/di.config.d.ts +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 +3 -3
- package/lib/features/validation/issue-marker.d.ts.map +1 -1
- package/lib/features/validation/issue-marker.js +18 -56
- package/lib/features/validation/issue-marker.js.map +1 -1
- package/lib/features/validation/marker-navigator.d.ts +19 -3
- 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 +2 -17
- package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.spec.js +84 -77
- package/lib/features/validation/marker-navigator.spec.js.map +1 -1
- package/lib/features/validation/validate.d.ts +20 -31
- package/lib/features/validation/validate.d.ts.map +1 -1
- package/lib/features/validation/validate.js +148 -299
- package/lib/features/validation/validate.js.map +1 -1
- package/lib/{base/args.d.ts → features/viewport/di.config.d.ts} +5 -5
- package/lib/features/viewport/di.config.d.ts.map +1 -0
- package/lib/features/viewport/di.config.js +34 -0
- package/lib/features/viewport/di.config.js.map +1 -0
- package/{src/features/model-source-watcher/model-source-changed-action.ts → lib/features/viewport/glsp-scroll-mouse-listener.d.ts} +8 -11
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -0
- package/lib/features/viewport/glsp-scroll-mouse-listener.js +39 -0
- package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -0
- package/lib/index.d.ts +37 -35
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +39 -35
- package/lib/index.js.map +1 -1
- package/lib/lib/model.d.ts +3 -3
- package/lib/lib/model.d.ts.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 +4 -6
- package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
- package/lib/model-source/glsp-diagram-server.js +63 -122
- 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 +50 -0
- package/lib/utils/argument-utils.d.ts.map +1 -0
- package/lib/utils/argument-utils.js +110 -0
- package/lib/utils/argument-utils.js.map +1 -0
- package/lib/utils/html-utils.js +2 -2
- package/lib/utils/html-utils.js.map +1 -1
- package/lib/utils/layout-utils.d.ts +4 -3
- 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 +1 -39
- 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 +7 -17
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +18 -67
- 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 +9 -0
- package/lib/views/base-view-module.d.ts.map +1 -0
- package/lib/views/base-view-module.js +59 -0
- package/lib/views/base-view-module.js.map +1 -0
- 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 +27 -0
- package/lib/views/glsp-edge-view.d.ts.map +1 -0
- package/lib/views/glsp-edge-view.js +55 -0
- package/lib/views/glsp-edge-view.js.map +1 -0
- package/lib/views/index.d.ts +22 -0
- package/lib/views/index.d.ts.map +1 -0
- package/lib/views/index.js +34 -0
- package/lib/views/index.js.map +1 -0
- package/lib/views/issue-marker-view.d.ts +9 -0
- package/lib/views/issue-marker-view.d.ts.map +1 -0
- package/lib/views/issue-marker-view.js +68 -0
- package/lib/views/issue-marker-view.js.map +1 -0
- package/lib/views/rounded-corner-view.d.ts +13 -0
- package/lib/views/rounded-corner-view.d.ts.map +1 -0
- package/lib/views/rounded-corner-view.js +82 -0
- package/lib/views/rounded-corner-view.js.map +1 -0
- package/lib/views/rounded-corner.d.ts +38 -0
- package/lib/views/rounded-corner.d.ts.map +1 -0
- package/lib/views/rounded-corner.js +62 -0
- package/lib/views/rounded-corner.js.map +1 -0
- package/package.json +27 -34
- package/src/base/action-dispatcher.ts +7 -8
- package/src/{utils/array-utils.ts → base/actions/focus-change-action.ts} +8 -16
- package/src/{features/undo-redo/model.ts → base/argumentable.ts} +7 -8
- package/src/base/auto-complete/auto-complete-actions.ts +2 -2
- package/src/base/auto-complete/auto-complete-widget.ts +73 -57
- package/src/base/auto-complete/validation-decorator.ts +21 -15
- package/src/base/command-stack.ts +4 -7
- package/src/base/container-modules.ts +112 -0
- package/src/base/di.config.ts +47 -25
- package/src/base/drag-aware-mouse-listener.ts +7 -8
- package/src/base/{editor-context.ts → editor-context-service.ts} +13 -40
- package/src/base/focus-tracker.ts +48 -0
- package/src/base/model/model-registry.ts +31 -0
- package/src/base/model/update-model-command.ts +14 -22
- package/src/base/model-initialization-constraint.ts +16 -11
- package/src/base/selection-clearing-mouse-listener.ts +4 -3
- package/src/base/tool-manager/glsp-tool-manager.ts +12 -14
- package/src/base/types.ts +23 -21
- package/src/base/view/view-registry.ts +31 -0
- package/src/features/change-bounds/model.ts +23 -13
- package/src/features/change-bounds/movement-restrictor.ts +28 -18
- package/src/features/change-bounds/snap.ts +6 -5
- package/src/features/command-palette/command-palette-tool.ts +4 -4
- package/src/features/command-palette/di.config.ts +7 -7
- package/src/features/command-palette/server-command-palette-provider.ts +16 -14
- package/src/features/context-menu/delete-element-context-menu.ts +10 -11
- package/src/features/context-menu/di.config.ts +10 -12
- package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +8 -7
- package/src/features/context-menu/server-context-menu-provider.ts +13 -10
- package/src/features/copy-paste/copy-paste-context-menu.ts +66 -37
- package/src/features/copy-paste/copy-paste-handler.ts +30 -20
- package/src/features/copy-paste/di.config.ts +6 -7
- package/src/features/decoration/decoration-placer.ts +6 -15
- package/src/features/decoration/di.config.ts +4 -6
- package/src/features/edit-label/di.config.ts +5 -5
- package/src/features/edit-label/edit-label-tool.ts +4 -4
- package/src/features/edit-label/edit-label-validator.ts +18 -19
- package/src/features/hints/di.config.ts +6 -7
- package/src/features/hints/model.ts +7 -6
- package/src/features/hints/type-hints.ts +46 -113
- package/src/features/hover/di.config.ts +7 -7
- package/src/features/hover/hover.ts +11 -14
- package/src/features/layout/di.config.ts +10 -6
- package/src/features/layout/freeform-layout.ts +133 -0
- package/src/features/layout/layout-commands.spec.ts +104 -85
- package/src/features/layout/layout-commands.ts +65 -54
- package/src/features/layout/vbox-layout.ts +256 -0
- package/src/features/model-source-watcher/di.config.ts +5 -6
- package/src/features/model-source-watcher/model-source-changed-action-handler.ts +16 -12
- package/src/features/mouse-tool/di.config.ts +4 -4
- package/src/features/mouse-tool/mouse-tool.ts +44 -32
- package/src/features/navigation/di.config.ts +6 -12
- package/src/features/navigation/navigation-action-handler.ts +46 -78
- package/src/features/navigation/navigation-target-resolver.spec.ts +6 -9
- package/src/features/navigation/navigation-target-resolver.ts +16 -94
- package/src/features/rank/model.ts +3 -3
- package/src/features/reconnect/model.ts +9 -11
- package/src/features/save/di.config.ts +4 -5
- package/src/features/save/model.ts +1 -1
- package/src/features/save/{save.ts → save-keylistener.ts} +4 -8
- package/src/features/select/di.config.ts +6 -6
- package/src/features/select/select-feedback-action.ts +6 -8
- package/src/features/select/select-mouse-listener.ts +2 -2
- package/src/features/select/selection-service.spec.ts +25 -19
- package/src/features/select/selection-service.ts +25 -22
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +56 -39
- package/src/features/tool-feedback/creation-tool-feedback.ts +49 -24
- package/src/features/tool-feedback/css-feedback.ts +19 -14
- package/src/features/tool-feedback/di.config.ts +15 -14
- package/src/features/tool-feedback/edge-edit-tool-feedback.ts +56 -35
- package/src/features/tool-feedback/feedback-action-dispatcher.ts +13 -14
- package/src/features/tool-feedback/marquee-tool-feedback.ts +103 -0
- package/src/features/tool-feedback/model.ts +2 -3
- package/src/features/tool-feedback/view.tsx +20 -13
- package/src/features/tool-palette/di.config.ts +5 -7
- package/src/features/tool-palette/palette-item.ts +5 -7
- package/src/features/tool-palette/tool-palette.ts +126 -107
- package/src/features/tools/base-glsp-tool.ts +12 -12
- package/src/features/tools/change-bounds-tool.ts +83 -53
- package/src/features/tools/delete-tool.ts +23 -20
- package/src/features/tools/di.config.ts +22 -11
- package/src/features/tools/edge-creation-tool.ts +20 -25
- package/src/features/tools/edge-edit-tool.ts +43 -46
- 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 +153 -0
- package/src/features/tools/marquee-tool.ts +51 -0
- package/src/features/tools/model.ts +22 -0
- package/src/features/tools/node-creation-tool.ts +18 -22
- package/src/features/tools/view.tsx +44 -0
- package/src/features/validation/di.config.ts +5 -5
- package/src/features/validation/issue-marker.ts +4 -5
- package/src/features/validation/marker-navigator.spec.ts +38 -33
- package/src/features/validation/marker-navigator.ts +39 -26
- package/src/features/validation/validate.ts +25 -59
- package/src/features/viewport/di.config.ts +47 -0
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +41 -0
- package/src/index.ts +57 -37
- package/src/lib/model.ts +4 -4
- package/src/model-source/glsp-diagram-server.ts +19 -33
- package/src/protocol-reexport.ts +64 -0
- package/src/utils/argument-utils.ts +130 -0
- package/src/utils/layout-utils.ts +19 -11
- package/src/utils/marker.ts +8 -32
- package/src/utils/smodel-util.ts +28 -22
- package/src/utils/viewpoint-util.ts +5 -6
- package/src/views/base-view-module.ts +97 -0
- package/src/views/compartments.tsx +37 -0
- package/src/views/glsp-edge-view.tsx +79 -0
- package/{lib/utils/array-utils.d.ts → src/views/index.ts} +7 -4
- package/src/views/issue-marker-view.tsx +65 -0
- package/src/views/rounded-corner-view.tsx +103 -0
- package/src/views/rounded-corner.ts +87 -0
- 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 -82
- 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 +0 -3
- package/lib/base/args.js.map +0 -1
- package/lib/base/editor-context.d.ts +0 -46
- 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 -129
- package/lib/base/operations/operation.d.ts.map +0 -1
- package/lib/base/operations/operation.js +0 -201
- 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/decoration/view.d.ts +0 -8
- package/lib/features/decoration/view.d.ts.map +0 -1
- package/lib/features/decoration/view.js +0 -80
- package/lib/features/decoration/view.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 -57
- 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.map +0 -1
- package/lib/utils/array-utils.js.map +0 -1
- package/src/base/actions/context-actions.ts +0 -43
- package/src/base/actions/edit-mode-action.ts +0 -33
- package/src/base/actions/edit-validation-actions.ts +0 -102
- package/src/base/actions/protocol-actions.ts +0 -82
- package/src/base/operations/operation.ts +0 -148
- package/src/features/copy-paste/copy-paste-actions.ts +0 -60
- package/src/features/decoration/view.tsx +0 -54
- package/src/features/hints/request-type-hints-action.ts +0 -36
- package/src/model-source/glsp-server-status.ts +0 -38
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2021 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { Action } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { inject, injectable } from 'inversify';
|
|
18
|
+
import { EnableToolsAction, KeyListener, KeyTool, SModelElement } from 'sprotty';
|
|
19
|
+
import { BaseGLSPTool } from '../tools/base-glsp-tool';
|
|
20
|
+
import { MarqueeMouseTool } from './marquee-mouse-tool';
|
|
21
|
+
|
|
22
|
+
@injectable()
|
|
23
|
+
export class MarqueeTool extends BaseGLSPTool {
|
|
24
|
+
static ID = 'glsp.marquee-tool';
|
|
25
|
+
|
|
26
|
+
protected marqueeKeyListener: MarqueeKeyListener = new MarqueeKeyListener();
|
|
27
|
+
|
|
28
|
+
@inject(KeyTool) protected readonly keytool: KeyTool;
|
|
29
|
+
|
|
30
|
+
get id(): string {
|
|
31
|
+
return MarqueeTool.ID;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
enable(): void {
|
|
35
|
+
this.keyTool.register(this.marqueeKeyListener);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
disable(): void {
|
|
39
|
+
this.keyTool.deregister(this.marqueeKeyListener);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@injectable()
|
|
44
|
+
export class MarqueeKeyListener extends KeyListener {
|
|
45
|
+
keyDown(element: SModelElement, event: KeyboardEvent): Action[] {
|
|
46
|
+
if (event.shiftKey) {
|
|
47
|
+
return [new EnableToolsAction([MarqueeMouseTool.ID])];
|
|
48
|
+
}
|
|
49
|
+
return [];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2021 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { boundsFeature, Point, RectangularNode } from 'sprotty';
|
|
17
|
+
|
|
18
|
+
export class MarqueeNode extends RectangularNode {
|
|
19
|
+
static readonly DEFAULT_FEATURES = [boundsFeature];
|
|
20
|
+
startPoint: Point;
|
|
21
|
+
endPoint: Point;
|
|
22
|
+
}
|
|
@@ -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,9 @@
|
|
|
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 { Action, CreateNodeOperation, isTriggerNodeCreationAction, TriggerNodeCreationAction } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { inject, injectable, optional } from 'inversify';
|
|
17
18
|
import {
|
|
18
|
-
Action,
|
|
19
19
|
EnableDefaultToolsAction,
|
|
20
20
|
EnableToolsAction,
|
|
21
21
|
findParentByFeature,
|
|
@@ -25,22 +25,16 @@ import {
|
|
|
25
25
|
SModelElement,
|
|
26
26
|
SNode,
|
|
27
27
|
TYPES
|
|
28
|
-
} from
|
|
29
|
-
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
TriggerNodeCreationAction
|
|
35
|
-
} from "../../base/operations/operation";
|
|
36
|
-
import { getAbsolutePosition } from "../../utils/viewpoint-util";
|
|
37
|
-
import { Containable, isContainable } from "../hints/model";
|
|
38
|
-
import { CursorCSS, cursorFeedbackAction } from "../tool-feedback/css-feedback";
|
|
39
|
-
import { BaseGLSPTool } from "./base-glsp-tool";
|
|
28
|
+
} from 'sprotty';
|
|
29
|
+
import { DragAwareMouseListener } from '../../base/drag-aware-mouse-listener';
|
|
30
|
+
import { getAbsolutePosition } from '../../utils/viewpoint-util';
|
|
31
|
+
import { Containable, isContainable } from '../hints/model';
|
|
32
|
+
import { CursorCSS, cursorFeedbackAction } from '../tool-feedback/css-feedback';
|
|
33
|
+
import { BaseGLSPTool } from './base-glsp-tool';
|
|
40
34
|
|
|
41
35
|
@injectable()
|
|
42
36
|
export class NodeCreationTool extends BaseGLSPTool implements IActionHandler {
|
|
43
|
-
static ID =
|
|
37
|
+
static ID = 'tool_create_node';
|
|
44
38
|
|
|
45
39
|
@inject(TYPES.ISnapper) @optional() readonly snapper?: ISnapper;
|
|
46
40
|
|
|
@@ -51,7 +45,7 @@ export class NodeCreationTool extends BaseGLSPTool implements IActionHandler {
|
|
|
51
45
|
return NodeCreationTool.ID;
|
|
52
46
|
}
|
|
53
47
|
|
|
54
|
-
enable() {
|
|
48
|
+
enable(): void {
|
|
55
49
|
if (this.triggerAction === undefined) {
|
|
56
50
|
throw new TypeError(`Could not enable tool ${this.id}.The triggerAction cannot be undefined.`);
|
|
57
51
|
}
|
|
@@ -60,7 +54,7 @@ export class NodeCreationTool extends BaseGLSPTool implements IActionHandler {
|
|
|
60
54
|
this.dispatchFeedback([cursorFeedbackAction(CursorCSS.NODE_CREATION)]);
|
|
61
55
|
}
|
|
62
56
|
|
|
63
|
-
disable() {
|
|
57
|
+
disable(): void {
|
|
64
58
|
this.mouseTool.deregister(this.creationToolMouseListener);
|
|
65
59
|
this.deregisterFeedback([cursorFeedbackAction()]);
|
|
66
60
|
}
|
|
@@ -76,17 +70,19 @@ export class NodeCreationTool extends BaseGLSPTool implements IActionHandler {
|
|
|
76
70
|
@injectable()
|
|
77
71
|
export class NodeCreationToolMouseListener extends DragAwareMouseListener {
|
|
78
72
|
protected container?: SModelElement & Containable;
|
|
73
|
+
|
|
79
74
|
constructor(protected triggerAction: TriggerNodeCreationAction, protected tool: NodeCreationTool) {
|
|
80
75
|
super();
|
|
81
76
|
}
|
|
82
77
|
|
|
83
|
-
protected creationAllowed(elementTypeId: string) {
|
|
78
|
+
protected creationAllowed(elementTypeId: string): boolean | undefined {
|
|
84
79
|
return this.container && this.container.isContainableElement(elementTypeId);
|
|
85
80
|
}
|
|
86
81
|
|
|
87
|
-
get elementTypeId() {
|
|
82
|
+
get elementTypeId(): string {
|
|
88
83
|
return this.triggerAction.elementTypeId;
|
|
89
84
|
}
|
|
85
|
+
|
|
90
86
|
nonDraggingMouseUp(target: SModelElement, event: MouseEvent): Action[] {
|
|
91
87
|
const result: Action[] = [];
|
|
92
88
|
if (this.creationAllowed(this.elementTypeId)) {
|
|
@@ -111,8 +107,8 @@ export class NodeCreationToolMouseListener extends DragAwareMouseListener {
|
|
|
111
107
|
if (!this.container || currentContainer !== this.container) {
|
|
112
108
|
this.container = currentContainer;
|
|
113
109
|
const feedback = this.creationAllowed(this.elementTypeId)
|
|
114
|
-
? cursorFeedbackAction(CursorCSS.NODE_CREATION)
|
|
115
|
-
cursorFeedbackAction(CursorCSS.OPERATION_NOT_ALLOWED);
|
|
110
|
+
? cursorFeedbackAction(CursorCSS.NODE_CREATION)
|
|
111
|
+
: cursorFeedbackAction(CursorCSS.OPERATION_NOT_ALLOWED);
|
|
116
112
|
this.tool.dispatchFeedback([feedback]);
|
|
117
113
|
}
|
|
118
114
|
return [];
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2021 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { injectable } from 'inversify';
|
|
17
|
+
import { VNode } from 'snabbdom';
|
|
18
|
+
import { RectangularNodeView, RenderingContext, svg } from 'sprotty';
|
|
19
|
+
|
|
20
|
+
import { MarqueeNode } from './model';
|
|
21
|
+
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
23
|
+
const JSX = { createElement: svg };
|
|
24
|
+
|
|
25
|
+
@injectable()
|
|
26
|
+
export class MarqueeView extends RectangularNodeView {
|
|
27
|
+
render(node: MarqueeNode, context: RenderingContext): VNode {
|
|
28
|
+
const graph = (
|
|
29
|
+
<g>
|
|
30
|
+
<rect
|
|
31
|
+
class-sprotty-node={true}
|
|
32
|
+
class-marquee={true}
|
|
33
|
+
x={node.startPoint.x - node.endPoint.x <= 0 ? node.startPoint.x : node.endPoint.x}
|
|
34
|
+
y={node.startPoint.y - node.endPoint.y <= 0 ? node.startPoint.y : node.endPoint.y}
|
|
35
|
+
rx={0}
|
|
36
|
+
ry={0}
|
|
37
|
+
width={Math.abs(node.startPoint.x - node.endPoint.x)}
|
|
38
|
+
height={Math.abs(node.startPoint.y - node.endPoint.y)}
|
|
39
|
+
></rect>
|
|
40
|
+
</g>
|
|
41
|
+
);
|
|
42
|
+
return graph;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -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 { ContainerModule } from
|
|
17
|
-
import { configureCommand, TYPES } from
|
|
16
|
+
import { ContainerModule } from 'inversify';
|
|
17
|
+
import { configureCommand, TYPES } from 'sprotty';
|
|
18
18
|
|
|
19
|
-
import { GLSP_TYPES } from
|
|
19
|
+
import { GLSP_TYPES } from '../../base/types';
|
|
20
20
|
import {
|
|
21
21
|
LeftToRightTopToBottomComparator,
|
|
22
22
|
MarkerNavigator,
|
|
@@ -24,8 +24,8 @@ import {
|
|
|
24
24
|
MarkerNavigatorKeyListener,
|
|
25
25
|
NavigateToMarkerCommand,
|
|
26
26
|
SModelElementComparator
|
|
27
|
-
} from
|
|
28
|
-
import { ApplyMarkersCommand, DeleteMarkersCommand, SetMarkersCommand, ValidationFeedbackEmitter } from
|
|
27
|
+
} from './marker-navigator';
|
|
28
|
+
import { ApplyMarkersCommand, DeleteMarkersCommand, SetMarkersCommand, ValidationFeedbackEmitter } from './validate';
|
|
29
29
|
|
|
30
30
|
export const validationModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
31
31
|
configureCommand({ bind, isBound }, SetMarkersCommand);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
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,9 +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 {
|
|
17
|
-
|
|
18
|
-
import { Marker, MarkerKind } from "../../utils/marker";
|
|
16
|
+
import { Marker, MarkerKind } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { SDecoration, SIssue, SIssueMarker, SParentElement } from 'sprotty';
|
|
19
18
|
|
|
20
19
|
export class GIssueMarker extends SIssueMarker {
|
|
21
20
|
constructor() {
|
|
@@ -38,7 +37,7 @@ export function getOrCreateSIssueMarker(modelElement: SParentElement): SIssueMar
|
|
|
38
37
|
|
|
39
38
|
if (issueMarker === undefined) {
|
|
40
39
|
issueMarker = new GIssueMarker();
|
|
41
|
-
issueMarker.type =
|
|
40
|
+
issueMarker.type = 'marker';
|
|
42
41
|
issueMarker.issues = new Array<SIssue>();
|
|
43
42
|
modelElement.add(issueMarker);
|
|
44
43
|
}
|
|
@@ -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,11 +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
|
|
17
|
-
import
|
|
18
|
-
|
|
19
|
-
import
|
|
20
|
-
import
|
|
16
|
+
/* eslint-disable import/no-deprecated,no-unused-expressions */
|
|
17
|
+
import { expect } from 'chai';
|
|
18
|
+
import { Container } from 'inversify';
|
|
19
|
+
import 'mocha';
|
|
20
|
+
import 'reflect-metadata';
|
|
21
21
|
import {
|
|
22
22
|
BoundsAware,
|
|
23
23
|
decorationModule,
|
|
@@ -29,12 +29,11 @@ import {
|
|
|
29
29
|
SNodeSchema,
|
|
30
30
|
SParentElement,
|
|
31
31
|
TYPES
|
|
32
|
-
} from
|
|
33
|
-
import defaultModule from
|
|
34
|
-
import { SGraphFactory } from
|
|
35
|
-
|
|
36
|
-
import {
|
|
37
|
-
import { MarkerNavigator } from "./marker-navigator";
|
|
32
|
+
} from 'sprotty';
|
|
33
|
+
import defaultModule from 'sprotty/lib/base/di.config';
|
|
34
|
+
import { SGraphFactory } from 'sprotty/lib/graph/sgraph-factory';
|
|
35
|
+
import { markerNavigatorModule } from './di.config';
|
|
36
|
+
import { MarkerNavigator } from './marker-navigator';
|
|
38
37
|
|
|
39
38
|
describe('MarkerNavigator', () => {
|
|
40
39
|
const container = new Container();
|
|
@@ -44,28 +43,36 @@ describe('MarkerNavigator', () => {
|
|
|
44
43
|
const markerNavigator = container.get<MarkerNavigator>(MarkerNavigator);
|
|
45
44
|
|
|
46
45
|
const rootWithoutAnyMarkers = graphFactory.createRoot({
|
|
47
|
-
id: 'root',
|
|
48
|
-
|
|
46
|
+
id: 'root',
|
|
47
|
+
type: 'graph',
|
|
48
|
+
children: [
|
|
49
|
+
{
|
|
49
50
|
id: '1',
|
|
50
51
|
type: 'node'
|
|
51
|
-
}
|
|
52
|
+
} as SNodeSchema
|
|
52
53
|
]
|
|
53
54
|
}) as SModelRoot;
|
|
54
55
|
|
|
55
56
|
const rootWithMarkers = graphFactory.createRoot({
|
|
56
|
-
id: 'root',
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
},
|
|
63
|
-
|
|
64
|
-
id: 'top-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
57
|
+
id: 'root',
|
|
58
|
+
type: 'graph',
|
|
59
|
+
children: [
|
|
60
|
+
{
|
|
61
|
+
id: 'bottom-right',
|
|
62
|
+
type: 'node'
|
|
63
|
+
} as SNodeSchema,
|
|
64
|
+
{
|
|
65
|
+
id: 'top-right',
|
|
66
|
+
type: 'node'
|
|
67
|
+
} as SNodeSchema,
|
|
68
|
+
{
|
|
69
|
+
id: 'top-left',
|
|
70
|
+
type: 'node'
|
|
71
|
+
} as SNodeSchema,
|
|
72
|
+
{
|
|
73
|
+
id: 'bottom-left',
|
|
74
|
+
type: 'node'
|
|
75
|
+
} as SNodeSchema
|
|
69
76
|
]
|
|
70
77
|
}) as SModelRoot;
|
|
71
78
|
|
|
@@ -167,14 +174,13 @@ describe('MarkerNavigator', () => {
|
|
|
167
174
|
expect(found4).to.eql(marker2);
|
|
168
175
|
expect(found5).to.eql(marker1);
|
|
169
176
|
});
|
|
170
|
-
|
|
171
177
|
});
|
|
172
178
|
|
|
173
|
-
function clearMarker(elem: SParentElement) {
|
|
179
|
+
function clearMarker(elem: SParentElement): void {
|
|
174
180
|
elem.children.filter(isMarker).forEach(marker => elem.remove(marker));
|
|
175
181
|
}
|
|
176
182
|
|
|
177
|
-
function setIssues(elem: SParentElement, issues: SIssue[]) {
|
|
183
|
+
function setIssues(elem: SParentElement, issues: SIssue[]): SIssueMarker {
|
|
178
184
|
const marker = getOrCreateMarker(elem);
|
|
179
185
|
marker.issues = issues;
|
|
180
186
|
return marker;
|
|
@@ -196,11 +202,10 @@ function isMarker(element: SModelElement): element is SIssueMarker {
|
|
|
196
202
|
return element instanceof SIssueMarker;
|
|
197
203
|
}
|
|
198
204
|
|
|
199
|
-
function createMarker(elem: SParentElement) {
|
|
205
|
+
function createMarker(elem: SParentElement): SIssueMarker {
|
|
200
206
|
const newMarker = new SIssueMarker();
|
|
201
207
|
newMarker.type = 'marker';
|
|
202
208
|
newMarker.id = `${elem.id}_marker`;
|
|
203
209
|
elem.add(newMarker);
|
|
204
210
|
return newMarker;
|
|
205
211
|
}
|
|
206
|
-
|
|
@@ -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,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 {
|
|
16
|
+
import { Action, CenterAction, Point } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { inject, injectable } from 'inversify';
|
|
17
18
|
import {
|
|
18
|
-
Action,
|
|
19
19
|
BoundsAware,
|
|
20
|
-
CenterAction,
|
|
21
20
|
CenterCommand,
|
|
22
21
|
Command,
|
|
23
22
|
CommandExecutionContext,
|
|
@@ -28,20 +27,19 @@ import {
|
|
|
28
27
|
isSelectable,
|
|
29
28
|
KeyListener,
|
|
30
29
|
MenuItem,
|
|
31
|
-
|
|
30
|
+
Selectable,
|
|
32
31
|
SelectAction,
|
|
33
32
|
SIssueMarker,
|
|
34
33
|
SIssueSeverity,
|
|
35
34
|
SModelElement,
|
|
36
35
|
SModelRoot,
|
|
37
36
|
TYPES
|
|
38
|
-
} from
|
|
39
|
-
import { matchesKeystroke } from
|
|
40
|
-
|
|
41
|
-
import {
|
|
42
|
-
import {
|
|
43
|
-
import {
|
|
44
|
-
import { SelectCommand, SelectionService } from "../select/selection-service";
|
|
37
|
+
} from 'sprotty';
|
|
38
|
+
import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
|
|
39
|
+
import { GLSP_TYPES } from '../../base/types';
|
|
40
|
+
import { collectIssueMarkers, MarkerPredicates } from '../../utils/marker';
|
|
41
|
+
import { isSelectableAndBoundsAware } from '../../utils/smodel-util';
|
|
42
|
+
import { SelectCommand, SelectionService } from '../select/selection-service';
|
|
45
43
|
|
|
46
44
|
export class NavigateToMarkerAction implements Action {
|
|
47
45
|
static readonly KIND = 'navigateToMarker';
|
|
@@ -50,7 +48,8 @@ export class NavigateToMarkerAction implements Action {
|
|
|
50
48
|
public readonly direction: 'next' | 'previous' = 'next',
|
|
51
49
|
public readonly selectedElementIds?: string[],
|
|
52
50
|
public readonly severities: SIssueSeverity[] = MarkerNavigator.ALL_SEVERITIES,
|
|
53
|
-
public kind = NavigateToMarkerAction.KIND
|
|
51
|
+
public kind = NavigateToMarkerAction.KIND
|
|
52
|
+
) {}
|
|
54
53
|
}
|
|
55
54
|
|
|
56
55
|
export class SModelElementComparator {
|
|
@@ -89,7 +88,11 @@ export class MarkerNavigator {
|
|
|
89
88
|
@inject(SModelElementComparator)
|
|
90
89
|
protected markerComparator: SModelElementComparator;
|
|
91
90
|
|
|
92
|
-
next(
|
|
91
|
+
next(
|
|
92
|
+
root: SModelRoot,
|
|
93
|
+
current?: SModelElement & BoundsAware,
|
|
94
|
+
predicate: (marker: SIssueMarker) => boolean = MarkerPredicates.ALL
|
|
95
|
+
): SIssueMarker | undefined {
|
|
93
96
|
const markers = this.getMarkers(root, predicate);
|
|
94
97
|
if (current === undefined) {
|
|
95
98
|
return markers.length > 0 ? markers[0] : undefined;
|
|
@@ -97,7 +100,11 @@ export class MarkerNavigator {
|
|
|
97
100
|
return markers[this.getNextIndex(current, markers) % markers.length];
|
|
98
101
|
}
|
|
99
102
|
|
|
100
|
-
previous(
|
|
103
|
+
previous(
|
|
104
|
+
root: SModelRoot,
|
|
105
|
+
current?: SModelElement & BoundsAware,
|
|
106
|
+
predicate: (marker: SIssueMarker) => boolean = MarkerPredicates.ALL
|
|
107
|
+
): SIssueMarker | undefined {
|
|
101
108
|
const markers = this.getMarkers(root, predicate);
|
|
102
109
|
if (current === undefined) {
|
|
103
110
|
return markers.length > 0 ? markers[0] : undefined;
|
|
@@ -105,12 +112,12 @@ export class MarkerNavigator {
|
|
|
105
112
|
return markers[this.getPreviousIndex(current, markers) % markers.length];
|
|
106
113
|
}
|
|
107
114
|
|
|
108
|
-
protected getMarkers(root: SModelRoot, predicate: (marker: SIssueMarker) => boolean) {
|
|
115
|
+
protected getMarkers(root: SModelRoot, predicate: (marker: SIssueMarker) => boolean): SIssueMarker[] {
|
|
109
116
|
const markers = collectIssueMarkers(root);
|
|
110
117
|
return markers.filter(predicate).sort(this.markerComparator.compare);
|
|
111
118
|
}
|
|
112
119
|
|
|
113
|
-
protected getNextIndex(current: SModelElement & BoundsAware, markers: SIssueMarker[]) {
|
|
120
|
+
protected getNextIndex(current: SModelElement & BoundsAware, markers: SIssueMarker[]): number {
|
|
114
121
|
for (let index = 0; index < markers.length; index++) {
|
|
115
122
|
if (this.markerComparator.compare(markers[index], current) > 0) {
|
|
116
123
|
return index;
|
|
@@ -119,7 +126,7 @@ export class MarkerNavigator {
|
|
|
119
126
|
return 0;
|
|
120
127
|
}
|
|
121
128
|
|
|
122
|
-
protected getPreviousIndex(current: SModelElement & BoundsAware, markers: SIssueMarker[]) {
|
|
129
|
+
protected getPreviousIndex(current: SModelElement & BoundsAware, markers: SIssueMarker[]): number {
|
|
123
130
|
for (let index = markers.length - 1; index >= 0; index--) {
|
|
124
131
|
if (this.markerComparator.compare(markers[index], current) < 0) {
|
|
125
132
|
return index;
|
|
@@ -168,7 +175,7 @@ export class NavigateToMarkerCommand extends Command {
|
|
|
168
175
|
return root;
|
|
169
176
|
}
|
|
170
177
|
|
|
171
|
-
protected getSelectedElements(root: SModelRoot) {
|
|
178
|
+
protected getSelectedElements(root: SModelRoot): (SModelElement & Selectable)[] {
|
|
172
179
|
let selectedIds = [];
|
|
173
180
|
if (this.action.selectedElementIds !== undefined && this.action.selectedElementIds.length > 0) {
|
|
174
181
|
selectedIds = this.action.selectedElementIds;
|
|
@@ -178,13 +185,13 @@ export class NavigateToMarkerCommand extends Command {
|
|
|
178
185
|
return selectedIds.map(id => root.index.getById(id)).filter(isSelectable);
|
|
179
186
|
}
|
|
180
187
|
|
|
181
|
-
protected getTarget(selected: SModelElement[], root: SModelRoot) {
|
|
188
|
+
protected getTarget(selected: SModelElement[], root: SModelRoot): SIssueMarker | undefined {
|
|
182
189
|
const selectedBoundsAware = selected.filter(isBoundsAware).sort(this.markerComparator.compare);
|
|
183
190
|
const currentTopmost = selectedBoundsAware.length > 0 ? selectedBoundsAware[0] : undefined;
|
|
184
191
|
if (this.action.direction === 'previous') {
|
|
185
|
-
return this.markerNavigator.previous(root, currentTopmost,
|
|
192
|
+
return this.markerNavigator.previous(root, currentTopmost, marker => this.matchesSeverities(marker));
|
|
186
193
|
} else {
|
|
187
|
-
return this.markerNavigator.next(root, currentTopmost,
|
|
194
|
+
return this.markerNavigator.next(root, currentTopmost, marker => this.matchesSeverities(marker));
|
|
188
195
|
}
|
|
189
196
|
}
|
|
190
197
|
|
|
@@ -205,7 +212,6 @@ export class NavigateToMarkerCommand extends Command {
|
|
|
205
212
|
}
|
|
206
213
|
return this.centerCommand ? this.centerCommand.redo(context) : context.root;
|
|
207
214
|
}
|
|
208
|
-
|
|
209
215
|
}
|
|
210
216
|
|
|
211
217
|
@injectable()
|
|
@@ -217,15 +223,22 @@ export class MarkerNavigatorContextMenuItemProvider implements IContextMenuItemP
|
|
|
217
223
|
const hasMarkers = collectIssueMarkers(root).length > 0;
|
|
218
224
|
return Promise.resolve([
|
|
219
225
|
{
|
|
220
|
-
id:
|
|
226
|
+
id: 'navigate',
|
|
227
|
+
label: 'Go to',
|
|
228
|
+
group: 'navigate',
|
|
229
|
+
actions: [],
|
|
221
230
|
children: [
|
|
222
231
|
{
|
|
223
|
-
id:
|
|
232
|
+
id: 'next-marker',
|
|
233
|
+
label: 'Next marker',
|
|
234
|
+
group: 'marker',
|
|
224
235
|
actions: [new NavigateToMarkerAction('next', selectedElementIds)],
|
|
225
236
|
isEnabled: () => hasMarkers
|
|
226
237
|
},
|
|
227
238
|
{
|
|
228
|
-
id:
|
|
239
|
+
id: 'previous-marker',
|
|
240
|
+
label: 'Previous marker',
|
|
241
|
+
group: 'marker',
|
|
229
242
|
actions: [new NavigateToMarkerAction('previous', selectedElementIds)],
|
|
230
243
|
isEnabled: () => hasMarkers
|
|
231
244
|
}
|