@eclipse-glsp/client 0.9.0-next.d9bed812 → 0.9.0-next.eb280175
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 +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/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} +4 -6
- 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-actions.js.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.d.ts +5 -5
- 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 +50 -33
- 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/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.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 +8 -8
- 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 +6 -2
- 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 +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 -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.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 +21 -3
- 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 +2 -2
- 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 +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 +18 -2
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.js +44 -86
- package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
- 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 +22 -6
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +225 -291
- 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 +1 -16
- 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 +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/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 +27 -15
- package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.js +90 -184
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
- package/lib/features/tools/marquee-tool.d.ts +18 -2
- package/lib/features/tools/marquee-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-tool.js +32 -73
- package/lib/features/tools/marquee-tool.js.map +1 -1
- package/lib/features/tools/model.d.ts +1 -1
- package/lib/features/tools/model.d.ts.map +1 -1
- package/lib/features/tools/model.js +6 -24
- package/lib/features/tools/model.js.map +1 -1
- 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 +3 -18
- package/lib/features/tools/view.d.ts.map +1 -1
- package/lib/features/tools/view.js +21 -39
- package/lib/features/tools/view.js.map +1 -1
- package/lib/features/validation/di.config.d.ts +1 -1
- package/lib/features/validation/di.config.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/features/viewport/di.config.d.ts +16 -1
- package/lib/features/viewport/di.config.d.ts.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 +3 -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 +32 -35
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +33 -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/{features/model-source-watcher/model-source-changed-action.d.ts → views/index.d.ts} +8 -10
- 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 +24 -32
- package/src/base/action-dispatcher.ts +7 -8
- package/src/base/actions/focus-change-action.ts +2 -2
- package/src/base/{args.ts → argumentable.ts} +3 -4
- package/src/base/auto-complete/auto-complete-actions.ts +2 -2
- package/src/base/auto-complete/auto-complete-widget.ts +66 -48
- 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 +44 -27
- 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 +4 -6
- 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/{features/model-source-watcher/model-source-changed-action.ts → base/view/view-registry.ts} +15 -10
- 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 +6 -7
- package/src/features/hover/hover.ts +11 -14
- package/src/features/layout/di.config.ts +32 -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 -12
- 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 +16 -13
- package/src/features/tool-feedback/di.config.ts +12 -15
- 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 +12 -12
- 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 +118 -110
- 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 +16 -17
- 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 +67 -118
- package/src/features/tools/marquee-tool.ts +6 -6
- package/src/features/tools/model.ts +1 -2
- package/src/features/tools/node-creation-tool.ts +16 -23
- package/src/features/tools/view.tsx +21 -15
- 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 +4 -4
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +5 -5
- package/src/index.ts +53 -38
- 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/src/views/index.ts +21 -0
- 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.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 -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/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 -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/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 -178
- 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
- package/src/utils/array-utils.ts +0 -55
package/src/base/di.config.ts
CHANGED
|
@@ -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,38 +13,37 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import
|
|
17
|
-
|
|
18
|
-
import { ContainerModule } from
|
|
19
|
-
import { configureActionHandler, configureCommand, SetModelCommand, TYPES } from
|
|
20
|
-
|
|
21
|
-
import { GLSPActionDispatcher } from
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
16
|
+
import { InitializeResult, SetEditModeAction } from '@eclipse-glsp/protocol';
|
|
17
|
+
import '@vscode/codicons/dist/codicon.css';
|
|
18
|
+
import { Container, ContainerModule } from 'inversify';
|
|
19
|
+
import { ActionHandlerRegistry, configureActionHandler, configureCommand, ModelSource, SetModelCommand, TYPES } from 'sprotty';
|
|
20
|
+
import '../../css/glsp-sprotty.css';
|
|
21
|
+
import { GLSPActionDispatcher } from './action-dispatcher';
|
|
22
|
+
import { FocusStateChangedAction } from './actions/focus-change-action';
|
|
23
|
+
import { GLSPCommandStack } from './command-stack';
|
|
24
|
+
import { EditorContextService } from './editor-context-service';
|
|
25
|
+
import { FocusTracker } from './focus-tracker';
|
|
26
|
+
import { DefaultModelInitializationConstraint, ModelInitializationConstraint } from './model-initialization-constraint';
|
|
27
|
+
import { GLSPModelRegistry } from './model/model-registry';
|
|
28
|
+
import { FeedbackAwareUpdateModelCommand, SetModelActionHandler } from './model/update-model-command';
|
|
29
|
+
import { SelectionClearingMouseListener } from './selection-clearing-mouse-listener';
|
|
30
|
+
import { GLSPToolManager } from './tool-manager/glsp-tool-manager';
|
|
31
|
+
import { GLSP_TYPES } from './types';
|
|
32
|
+
import { GLSPViewRegistry } from './view/view-registry';
|
|
33
33
|
|
|
34
34
|
const defaultGLSPModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
|
|
35
35
|
const context = { bind, _unbind, isBound, rebind };
|
|
36
36
|
bind(EditorContextService).toSelf().inSingletonScope();
|
|
37
|
-
bind(GLSP_TYPES.IEditorContextServiceProvider).toProvider<EditorContextService>(
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
bind(GLSP_TYPES.IEditorContextServiceProvider).toProvider<EditorContextService>(
|
|
38
|
+
ctx => () =>
|
|
39
|
+
new Promise<EditorContextService>((resolve, reject) => {
|
|
40
40
|
if (ctx.container.isBound(EditorContextService)) {
|
|
41
41
|
resolve(ctx.container.get<EditorContextService>(EditorContextService));
|
|
42
42
|
} else {
|
|
43
43
|
reject();
|
|
44
44
|
}
|
|
45
|
-
})
|
|
46
|
-
|
|
47
|
-
});
|
|
45
|
+
})
|
|
46
|
+
);
|
|
48
47
|
|
|
49
48
|
configureActionHandler(context, SetEditModeAction.KIND, EditorContextService);
|
|
50
49
|
|
|
@@ -55,9 +54,6 @@ const defaultGLSPModule = new ContainerModule((bind, _unbind, isBound, rebind) =
|
|
|
55
54
|
configureCommand(context, FeedbackAwareUpdateModelCommand);
|
|
56
55
|
configureActionHandler(context, SetModelCommand.KIND, SetModelActionHandler);
|
|
57
56
|
|
|
58
|
-
// Dynamically register all server-side action/operation handlers
|
|
59
|
-
configureActionHandler(context, ConfigureServerHandlersAction.KIND, ConfigureServerHandlersActionHandler);
|
|
60
|
-
|
|
61
57
|
bind(TYPES.MouseListener).to(SelectionClearingMouseListener);
|
|
62
58
|
|
|
63
59
|
rebind(TYPES.ICommandStack).to(GLSPCommandStack);
|
|
@@ -68,6 +64,27 @@ const defaultGLSPModule = new ContainerModule((bind, _unbind, isBound, rebind) =
|
|
|
68
64
|
rebind(TYPES.IActionDispatcher).toService(GLSPActionDispatcher);
|
|
69
65
|
|
|
70
66
|
bind(ModelInitializationConstraint).to(DefaultModelInitializationConstraint).inSingletonScope();
|
|
67
|
+
|
|
68
|
+
// support re-registration of model elements and views
|
|
69
|
+
rebind(TYPES.SModelRegistry).to(GLSPModelRegistry).inSingletonScope();
|
|
70
|
+
rebind(TYPES.ViewRegistry).to(GLSPViewRegistry).inSingletonScope();
|
|
71
71
|
});
|
|
72
72
|
|
|
73
73
|
export default defaultGLSPModule;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Utility function to configure the {@link ModelSource}, i.e. the `DiagramServer`, as action handler for all server actions for the given
|
|
77
|
+
* diagramType.
|
|
78
|
+
* @param result A promise that resolves after all server actions have been registered.
|
|
79
|
+
* @param diagramType The diagram type.
|
|
80
|
+
* @param container The di container.
|
|
81
|
+
*/
|
|
82
|
+
export async function configureServerActions(result: InitializeResult, diagramType: string, container: Container): Promise<void> {
|
|
83
|
+
const modelSource = container.get<ModelSource>(TYPES.ModelSource);
|
|
84
|
+
const actionHandlerRegistry = container.get<ActionHandlerRegistry>(ActionHandlerRegistry);
|
|
85
|
+
const serverActions = result.serverActions[diagramType];
|
|
86
|
+
if (serverActions.length === 0) {
|
|
87
|
+
throw new Error(`No server-handled actions could be derived from the initialize result for diagramType: ${diagramType}!`);
|
|
88
|
+
}
|
|
89
|
+
serverActions.forEach(actionKind => actionHandlerRegistry.register(actionKind, modelSource));
|
|
90
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action
|
|
16
|
+
import { Action } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { MouseListener, SModelElement } from 'sprotty';
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
20
|
* A mouse listener that is aware of prior mouse dragging.
|
|
@@ -24,9 +25,8 @@ import { Action, MouseListener, SModelElement } from "sprotty";
|
|
|
24
25
|
* of mouse up events.
|
|
25
26
|
*/
|
|
26
27
|
export class DragAwareMouseListener extends MouseListener {
|
|
27
|
-
|
|
28
|
-
private
|
|
29
|
-
private _isMouseDrag: boolean = false;
|
|
28
|
+
private _isMouseDown = false;
|
|
29
|
+
private _isMouseDrag = false;
|
|
30
30
|
|
|
31
31
|
mouseDown(target: SModelElement, event: MouseEvent): Action[] {
|
|
32
32
|
this._isMouseDown = true;
|
|
@@ -58,12 +58,11 @@ export class DragAwareMouseListener extends MouseListener {
|
|
|
58
58
|
return [];
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
get isMouseDrag() {
|
|
61
|
+
get isMouseDrag(): boolean {
|
|
62
62
|
return this._isMouseDrag;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
get isMouseDown() {
|
|
65
|
+
get isMouseDown(): boolean {
|
|
66
66
|
return this._isMouseDown;
|
|
67
67
|
}
|
|
68
|
-
|
|
69
68
|
}
|
|
@@ -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,37 +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 {
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
import { SelectionService } from
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import { Args } from "./args";
|
|
23
|
-
import { isSourceUriAware } from "./source-uri-aware";
|
|
24
|
-
import { GLSP_TYPES } from "./types";
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* The `EditorContext` may be used to represent the current state of the editor for particular actions.
|
|
28
|
-
* It encompasses the last recorded mouse position, the list of selected elements, and may contain
|
|
29
|
-
* custom arguments to encode additional state information.
|
|
30
|
-
*/
|
|
31
|
-
export interface EditorContext {
|
|
32
|
-
/**
|
|
33
|
-
* The list of selected element identifiers.
|
|
34
|
-
*/
|
|
35
|
-
readonly selectedElementIds: string[];
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* The last recorded mouse position.
|
|
39
|
-
*/
|
|
40
|
-
readonly lastMousePosition?: Point;
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Custom arguments.
|
|
44
|
-
*/
|
|
45
|
-
readonly args?: Args;
|
|
46
|
-
}
|
|
16
|
+
import { Action, Args, distinctAdd, EditMode, EditorContext, isSetEditModeAction, remove } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { inject, injectable, multiInject, optional } from 'inversify';
|
|
18
|
+
import { IActionHandler, ModelSource, MousePositionTracker, SModelElement, SModelRoot, TYPES } from 'sprotty';
|
|
19
|
+
import { SelectionService } from '../features/select/selection-service';
|
|
20
|
+
import { isSourceUriAware } from './source-uri-aware';
|
|
21
|
+
import { GLSP_TYPES } from './types';
|
|
47
22
|
|
|
48
23
|
export interface EditModeListener {
|
|
49
24
|
editModeChanged(newValue: string, oldvalue: string): void;
|
|
@@ -51,19 +26,18 @@ export interface EditModeListener {
|
|
|
51
26
|
|
|
52
27
|
@injectable()
|
|
53
28
|
export class EditorContextService implements IActionHandler {
|
|
54
|
-
|
|
55
29
|
@inject(GLSP_TYPES.SelectionService) protected selectionService: SelectionService;
|
|
56
30
|
@inject(MousePositionTracker) protected mousePositionTracker: MousePositionTracker;
|
|
57
31
|
@inject(TYPES.ModelSourceProvider) protected modelSource: () => Promise<ModelSource>;
|
|
58
32
|
protected _editMode: string;
|
|
59
33
|
|
|
60
|
-
constructor(@multiInject(GLSP_TYPES.IEditModeListener) @optional() protected editModeListeners: EditModeListener[] = []) {
|
|
34
|
+
constructor(@multiInject(GLSP_TYPES.IEditModeListener) @optional() protected editModeListeners: EditModeListener[] = []) {}
|
|
61
35
|
|
|
62
|
-
register(editModeListener: EditModeListener) {
|
|
36
|
+
register(editModeListener: EditModeListener): void {
|
|
63
37
|
distinctAdd(this.editModeListeners, editModeListener);
|
|
64
38
|
}
|
|
65
39
|
|
|
66
|
-
deregister(editModeListener: EditModeListener) {
|
|
40
|
+
deregister(editModeListener: EditModeListener): void {
|
|
67
41
|
remove(this.editModeListeners, editModeListener);
|
|
68
42
|
}
|
|
69
43
|
|
|
@@ -83,7 +57,7 @@ export class EditorContextService implements IActionHandler {
|
|
|
83
57
|
};
|
|
84
58
|
}
|
|
85
59
|
|
|
86
|
-
handle(action: Action) {
|
|
60
|
+
handle(action: Action): void {
|
|
87
61
|
if (isSetEditModeAction(action)) {
|
|
88
62
|
const oldValue = this._editMode;
|
|
89
63
|
this._editMode = action.editMode;
|
|
@@ -91,11 +65,11 @@ export class EditorContextService implements IActionHandler {
|
|
|
91
65
|
}
|
|
92
66
|
}
|
|
93
67
|
|
|
94
|
-
protected notifiyEditModeListeners(oldValue: string) {
|
|
68
|
+
protected notifiyEditModeListeners(oldValue: string): void {
|
|
95
69
|
this.editModeListeners.forEach(listener => listener.editModeChanged(oldValue, this.editMode));
|
|
96
70
|
}
|
|
97
71
|
|
|
98
|
-
async getSourceUri() {
|
|
72
|
+
async getSourceUri(): Promise<string | undefined> {
|
|
99
73
|
const modelSource = await this.modelSource();
|
|
100
74
|
if (isSourceUriAware(modelSource)) {
|
|
101
75
|
return modelSource.getSourceURI();
|
|
@@ -121,4 +95,3 @@ export class EditorContextService implements IActionHandler {
|
|
|
121
95
|
}
|
|
122
96
|
|
|
123
97
|
export type EditorContextServiceProvider = () => Promise<EditorContextService>;
|
|
124
|
-
|
|
@@ -13,14 +13,13 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
import { isFocusStateChangedAction } from
|
|
16
|
+
import { Action } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { inject, injectable } from 'inversify';
|
|
18
|
+
import { IActionHandler, ICommand, TYPES, ViewerOptions } from 'sprotty';
|
|
19
|
+
import { isFocusStateChangedAction } from './actions/focus-change-action';
|
|
20
20
|
|
|
21
21
|
@injectable()
|
|
22
22
|
export class FocusTracker implements IActionHandler {
|
|
23
|
-
|
|
24
23
|
protected inActiveCssClass = 'inactive';
|
|
25
24
|
protected _hasFocus = true;
|
|
26
25
|
|
|
@@ -46,5 +45,4 @@ export class FocusTracker implements IActionHandler {
|
|
|
46
45
|
}
|
|
47
46
|
}
|
|
48
47
|
}
|
|
49
|
-
|
|
50
48
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
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 { SModelElement, SModelRegistry } from 'sprotty';
|
|
18
|
+
|
|
19
|
+
@injectable()
|
|
20
|
+
export class GLSPModelRegistry extends SModelRegistry {
|
|
21
|
+
register(key: string, factory: (u: void) => SModelElement): void {
|
|
22
|
+
if (key === undefined) {
|
|
23
|
+
throw new Error('Key is undefined');
|
|
24
|
+
}
|
|
25
|
+
if (this.hasKey(key)) {
|
|
26
|
+
// do not throw error but log overwriting
|
|
27
|
+
console.log(`Factory for model element '${key}' will be overwritten.`);
|
|
28
|
+
}
|
|
29
|
+
this.elements.set(key, factory);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -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,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, isSetModelAction, UpdateModelAction } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { inject, injectable, multiInject, optional, postConstruct } from 'inversify';
|
|
17
18
|
import {
|
|
18
|
-
Action,
|
|
19
19
|
ActionHandlerRegistry,
|
|
20
20
|
Command,
|
|
21
21
|
CommandActionHandler,
|
|
@@ -23,19 +23,16 @@ import {
|
|
|
23
23
|
CommandReturn,
|
|
24
24
|
IActionHandler,
|
|
25
25
|
ILogger,
|
|
26
|
-
SetModelAction,
|
|
27
|
-
SetModelCommand,
|
|
28
26
|
SModelRoot,
|
|
29
|
-
TYPES
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import { GLSP_TYPES } from "../types";
|
|
27
|
+
TYPES,
|
|
28
|
+
UpdateModelCommand
|
|
29
|
+
} from 'sprotty';
|
|
30
|
+
import { IFeedbackActionDispatcher } from '../../features/tool-feedback/feedback-action-dispatcher';
|
|
31
|
+
import { FeedbackCommand } from '../../features/tool-feedback/model';
|
|
32
|
+
import { GLSP_TYPES } from '../types';
|
|
36
33
|
|
|
37
34
|
/* ActionHandler that transforms a SetModelAction into an (feedback-aware) UpdateModelAction. This can be done because in sprotty
|
|
38
|
-
* UpdateModel behaves the same as SetModel if no model is present yet.*/
|
|
35
|
+
* UpdateModel behaves the same as SetModel if no model is present yet.*/
|
|
39
36
|
@injectable()
|
|
40
37
|
export class SetModelActionHandler implements IActionHandler {
|
|
41
38
|
handle(action: Action): Action | void {
|
|
@@ -45,18 +42,13 @@ export class SetModelActionHandler implements IActionHandler {
|
|
|
45
42
|
}
|
|
46
43
|
}
|
|
47
44
|
|
|
48
|
-
export function isSetModelAction(action: Action): action is SetModelAction {
|
|
49
|
-
return action !== undefined && (action.kind === SetModelCommand.KIND)
|
|
50
|
-
&& (<SetModelAction>action).newRoot !== undefined;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
45
|
export interface SModelRootListener {
|
|
54
|
-
modelRootChanged(root: Readonly<SModelRoot>): void
|
|
46
|
+
modelRootChanged(root: Readonly<SModelRoot>): void;
|
|
55
47
|
}
|
|
56
48
|
|
|
57
49
|
/**
|
|
58
|
-
* A special`UpdateModelCommand` that retrieves all registered `actions` from the `IFeedbackActionDispatcher` (if present) and applies their
|
|
59
|
-
* to the `newRoot` before performing the update
|
|
50
|
+
* A special`UpdateModelCommand` that retrieves all registered `actions` from the `IFeedbackActionDispatcher` (if present) and applies their
|
|
51
|
+
* feedback to the `newRoot` before performing the update
|
|
60
52
|
*/
|
|
61
53
|
@injectable()
|
|
62
54
|
export class FeedbackAwareUpdateModelCommand extends UpdateModelCommand {
|
|
@@ -73,7 +65,7 @@ export class FeedbackAwareUpdateModelCommand extends UpdateModelCommand {
|
|
|
73
65
|
|
|
74
66
|
@postConstruct()
|
|
75
67
|
protected initialize(): void {
|
|
76
|
-
this.actionHandlerRegistryProvider().then(registry => this.actionHandlerRegistry = registry);
|
|
68
|
+
this.actionHandlerRegistryProvider().then(registry => (this.actionHandlerRegistry = registry));
|
|
77
69
|
}
|
|
78
70
|
|
|
79
71
|
protected performUpdate(oldRoot: SModelRoot, newRoot: SModelRoot, context: CommandExecutionContext): CommandReturn {
|
|
@@ -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,10 @@
|
|
|
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
|
-
import {
|
|
16
|
+
import { Action, UpdateModelAction } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { injectable } from 'inversify';
|
|
18
|
+
import { InitializeCanvasBoundsAction } from 'sprotty';
|
|
19
|
+
import { Deferred } from 'sprotty/lib/utils/async';
|
|
19
20
|
|
|
20
21
|
/**
|
|
21
22
|
* The constraint defining when the initialization of the GLSP model is completed.
|
|
@@ -38,23 +39,27 @@ import { Deferred } from "sprotty/lib/utils/async";
|
|
|
38
39
|
@injectable()
|
|
39
40
|
export abstract class ModelInitializationConstraint {
|
|
40
41
|
protected completion: Deferred<void> = new Deferred();
|
|
41
|
-
protected completed
|
|
42
|
+
protected completed = false;
|
|
42
43
|
|
|
43
44
|
get isCompleted(): boolean {
|
|
44
45
|
return this.completed;
|
|
45
46
|
}
|
|
46
47
|
|
|
47
|
-
protected setCompleted(isCompleted: boolean) {
|
|
48
|
+
protected setCompleted(isCompleted: boolean): void {
|
|
48
49
|
this.completed = isCompleted;
|
|
49
|
-
if (isCompleted) {
|
|
50
|
+
if (isCompleted) {
|
|
51
|
+
this.completion.resolve();
|
|
52
|
+
}
|
|
50
53
|
}
|
|
51
54
|
|
|
52
55
|
onInitialized(): Promise<void> {
|
|
53
56
|
return this.completion.promise;
|
|
54
57
|
}
|
|
55
58
|
|
|
56
|
-
notifyDispatched(action: Action) {
|
|
57
|
-
if (this.isCompleted) {
|
|
59
|
+
notifyDispatched(action: Action): void {
|
|
60
|
+
if (this.isCompleted) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
58
63
|
if (this.isInitializedAfter(action)) {
|
|
59
64
|
this.setCompleted(true);
|
|
60
65
|
}
|
|
@@ -69,9 +74,9 @@ export abstract class ModelInitializationConstraint {
|
|
|
69
74
|
*/
|
|
70
75
|
@injectable()
|
|
71
76
|
export class DefaultModelInitializationConstraint extends ModelInitializationConstraint {
|
|
72
|
-
protected seenNonEmptyUpdateModel
|
|
77
|
+
protected seenNonEmptyUpdateModel = false;
|
|
73
78
|
|
|
74
|
-
isInitializedAfter(action: Action) {
|
|
79
|
+
isInitializedAfter(action: Action): boolean {
|
|
75
80
|
if (this.isNonEmptyUpdateModel(action)) {
|
|
76
81
|
this.seenNonEmptyUpdateModel = true;
|
|
77
82
|
} else if (this.seenNonEmptyUpdateModel && action.kind === InitializeCanvasBoundsAction.KIND) {
|
|
@@ -13,8 +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 { injectable } from
|
|
17
|
-
import { MouseListener, SModelElement } from
|
|
16
|
+
import { injectable } from 'inversify';
|
|
17
|
+
import { MouseListener, SModelElement } from 'sprotty';
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* A mouse listener that clears the document selection on click
|
|
@@ -30,8 +30,9 @@ import { MouseListener, SModelElement } from "sprotty";
|
|
|
30
30
|
*/
|
|
31
31
|
@injectable()
|
|
32
32
|
export class SelectionClearingMouseListener extends MouseListener {
|
|
33
|
-
mouseDown(_target: SModelElement, event: MouseEvent) {
|
|
33
|
+
mouseDown(_target: SModelElement, event: MouseEvent): never[] {
|
|
34
34
|
const selection = document.getSelection();
|
|
35
|
+
// eslint-disable-next-line no-null/no-null
|
|
35
36
|
if (selection === null) {
|
|
36
37
|
return [];
|
|
37
38
|
}
|
|
@@ -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,13 +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 {
|
|
21
|
-
import { EditModeListener, EditorContextService, EditorContextServiceProvider } from "../editor-context";
|
|
22
|
-
import { GLSP_TYPES } from "../types";
|
|
16
|
+
import { distinctAdd, EditMode } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { inject, injectable, multiInject, optional, postConstruct } from 'inversify';
|
|
18
|
+
import { Tool, ToolManager } from 'sprotty';
|
|
19
|
+
import { EditModeListener, EditorContextService, EditorContextServiceProvider } from '../editor-context-service';
|
|
20
|
+
import { GLSP_TYPES } from '../types';
|
|
23
21
|
|
|
24
22
|
export interface IGLSPToolManager extends ToolManager {
|
|
25
23
|
/* Disables all actives tools and activates only default tool with non-edit function*/
|
|
@@ -45,19 +43,19 @@ export class GLSPToolManager extends ToolManager implements IGLSPToolManager, Ed
|
|
|
45
43
|
});
|
|
46
44
|
}
|
|
47
45
|
|
|
48
|
-
registerDefaultTools(...tools: Tool[]) {
|
|
46
|
+
registerDefaultTools(...tools: Tool[]): void {
|
|
49
47
|
for (const tool of tools) {
|
|
50
48
|
distinctAdd(this.defaultTools, tool);
|
|
51
49
|
}
|
|
52
50
|
}
|
|
53
51
|
|
|
54
|
-
registerTools(...tools: Tool[]) {
|
|
52
|
+
registerTools(...tools: Tool[]): void {
|
|
55
53
|
for (const tool of tools) {
|
|
56
54
|
distinctAdd(this.tools, tool);
|
|
57
55
|
}
|
|
58
56
|
}
|
|
59
57
|
|
|
60
|
-
enable(toolIds: string[]) {
|
|
58
|
+
enable(toolIds: string[]): void {
|
|
61
59
|
this.disableActiveTools();
|
|
62
60
|
let tools = toolIds.map(id => this.tool(id));
|
|
63
61
|
if (this.editorContext && this.editorContext.isReadonly) {
|
|
@@ -71,12 +69,12 @@ export class GLSPToolManager extends ToolManager implements IGLSPToolManager, Ed
|
|
|
71
69
|
});
|
|
72
70
|
}
|
|
73
71
|
|
|
74
|
-
disableEditTools() {
|
|
72
|
+
disableEditTools(): void {
|
|
75
73
|
this.disableActiveTools();
|
|
76
74
|
this.enable(this.defaultTools.filter(tool => !isGLSPTool(tool) || tool.isEditTool === false).map(tool => tool.id));
|
|
77
75
|
}
|
|
78
76
|
|
|
79
|
-
editModeChanged(oldValue: string, newValue: string) {
|
|
77
|
+
editModeChanged(oldValue: string, newValue: string): void {
|
|
80
78
|
if (oldValue === newValue) {
|
|
81
79
|
return;
|
|
82
80
|
}
|
|
@@ -93,5 +91,5 @@ export interface GLSPTool extends Tool {
|
|
|
93
91
|
}
|
|
94
92
|
|
|
95
93
|
export function isGLSPTool(tool: Tool): tool is GLSPTool {
|
|
96
|
-
return
|
|
94
|
+
return 'isEditTool' in tool && typeof tool['isEditTool'] === 'boolean';
|
|
97
95
|
}
|
package/src/base/types.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -14,24 +14,26 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
export const GLSP_TYPES = {
|
|
17
|
-
IAsyncClipboardService: Symbol.for(
|
|
18
|
-
ICommandPaletteActionProviderRegistry: Symbol.for(
|
|
19
|
-
IEditorContextServiceProvider: Symbol.for(
|
|
20
|
-
IFeedbackActionDispatcher: Symbol.for(
|
|
21
|
-
IToolFactory: Symbol.for(
|
|
22
|
-
ITypeHintProvider: Symbol.for(
|
|
23
|
-
IMovementRestrictor: Symbol.for(
|
|
24
|
-
SelectionService: Symbol.for(
|
|
25
|
-
SelectionListener: Symbol.for(
|
|
26
|
-
SModelRootListener: Symbol.for(
|
|
27
|
-
MouseTool: Symbol.for(
|
|
28
|
-
IContextMenuService: Symbol.for(
|
|
29
|
-
IContextMenuServiceProvider: Symbol.for(
|
|
30
|
-
IContextMenuProviderRegistry: Symbol.for(
|
|
31
|
-
IContextMenuProvider: Symbol.for(
|
|
32
|
-
ICopyPasteHandler: Symbol.for(
|
|
33
|
-
IGLSPToolManager: Symbol.for(
|
|
34
|
-
ITool: Symbol.for(
|
|
35
|
-
IDefaultTool: Symbol.for(
|
|
36
|
-
IEditModeListener: Symbol.for(
|
|
17
|
+
IAsyncClipboardService: Symbol.for('IAsyncClipboardService'),
|
|
18
|
+
ICommandPaletteActionProviderRegistry: Symbol.for('ICommandPaletteActionProviderRegistry'),
|
|
19
|
+
IEditorContextServiceProvider: Symbol.for('IEditorContextProvider'),
|
|
20
|
+
IFeedbackActionDispatcher: Symbol.for('IFeedbackActionDispatcher'),
|
|
21
|
+
IToolFactory: Symbol.for('Factory<Tool>'),
|
|
22
|
+
ITypeHintProvider: Symbol.for('ITypeHintProvider'),
|
|
23
|
+
IMovementRestrictor: Symbol.for('IMovmementRestrictor'),
|
|
24
|
+
SelectionService: Symbol.for('SelectionService'),
|
|
25
|
+
SelectionListener: Symbol.for('SelectionListener'),
|
|
26
|
+
SModelRootListener: Symbol.for('SModelRootListener'),
|
|
27
|
+
MouseTool: Symbol.for('MouseTool'),
|
|
28
|
+
IContextMenuService: Symbol.for('IContextMenuService'),
|
|
29
|
+
IContextMenuServiceProvider: Symbol.for('IContextMenuServiceProvider'),
|
|
30
|
+
IContextMenuProviderRegistry: Symbol.for('IContextMenuProviderRegistry'),
|
|
31
|
+
IContextMenuProvider: Symbol.for('IContextMenuProvider'),
|
|
32
|
+
ICopyPasteHandler: Symbol.for('ICopyPasteHandler'),
|
|
33
|
+
IGLSPToolManager: Symbol.for('IGLSPToolManager'),
|
|
34
|
+
ITool: Symbol.for('ITool'),
|
|
35
|
+
IDefaultTool: Symbol.for('IDefaultTool'),
|
|
36
|
+
IEditModeListener: Symbol.for('IEditModeListener'),
|
|
37
|
+
LayoutRegistration: Symbol.for('LayoutRegistration'),
|
|
38
|
+
IMarqueeBehavior: Symbol.for('IMarqueeBehavior')
|
|
37
39
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,14 +13,19 @@
|
|
|
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 { injectable } from 'inversify';
|
|
17
|
+
import { IView, ViewRegistry } from 'sprotty';
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
@injectable()
|
|
20
|
+
export class GLSPViewRegistry extends ViewRegistry {
|
|
21
|
+
register(key: string, instance: IView): void {
|
|
22
|
+
if (key === undefined) {
|
|
23
|
+
throw new Error('Key is undefined');
|
|
24
|
+
}
|
|
25
|
+
if (this.hasKey(key)) {
|
|
26
|
+
// do not throw error but log overwriting
|
|
27
|
+
console.log(`View instance for type '${key}' will be overwritten.`);
|
|
28
|
+
}
|
|
29
|
+
this.elements.set(key, instance);
|
|
30
|
+
}
|
|
26
31
|
}
|