@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
|
@@ -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,25 +13,23 @@
|
|
|
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, configureView, LocationPostprocessor, MoveCommand, TYPES } from
|
|
16
|
+
import { ContainerModule } from 'inversify';
|
|
17
|
+
import { configureCommand, configureView, LocationPostprocessor, MoveCommand, TYPES } from 'sprotty';
|
|
18
18
|
|
|
19
|
-
import { GLSP_TYPES } from
|
|
20
|
-
import { SResizeHandle } from
|
|
21
|
-
import {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
} from "./change-bounds-tool-feedback";
|
|
25
|
-
import { DrawFeedbackEdgeCommand, FeedbackEdgeEnd, RemoveFeedbackEdgeCommand } from "./creation-tool-feedback";
|
|
26
|
-
import { ModifyCssFeedbackCommand } from "./css-feedback";
|
|
19
|
+
import { GLSP_TYPES } from '../../base/types';
|
|
20
|
+
import { SResizeHandle } from '../change-bounds/model';
|
|
21
|
+
import { HideChangeBoundsToolResizeFeedbackCommand, ShowChangeBoundsToolResizeFeedbackCommand } from './change-bounds-tool-feedback';
|
|
22
|
+
import { DrawFeedbackEdgeCommand, FeedbackEdgeEnd, RemoveFeedbackEdgeCommand } from './creation-tool-feedback';
|
|
23
|
+
import { ModifyCssFeedbackCommand } from './css-feedback';
|
|
27
24
|
import {
|
|
28
25
|
DrawFeedbackEdgeSourceCommand,
|
|
29
26
|
HideEdgeReconnectHandlesFeedbackCommand,
|
|
30
27
|
ShowEdgeReconnectHandlesFeedbackCommand,
|
|
31
28
|
SwitchRoutingModeCommand
|
|
32
|
-
} from
|
|
33
|
-
import { FeedbackActionDispatcher } from
|
|
34
|
-
import {
|
|
29
|
+
} from './edge-edit-tool-feedback';
|
|
30
|
+
import { FeedbackActionDispatcher } from './feedback-action-dispatcher';
|
|
31
|
+
import { DrawMarqueeCommand, RemoveMarqueeCommand } from './marquee-tool-feedback';
|
|
32
|
+
import { FeedbackEdgeEndView, SResizeHandleView } from './view';
|
|
35
33
|
|
|
36
34
|
const toolFeedbackModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
37
35
|
bind(GLSP_TYPES.IFeedbackActionDispatcher).to(FeedbackActionDispatcher).inSingletonScope();
|
|
@@ -42,6 +40,9 @@ const toolFeedbackModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
|
42
40
|
configureCommand({ bind, isBound }, DrawFeedbackEdgeCommand);
|
|
43
41
|
configureCommand({ bind, isBound }, RemoveFeedbackEdgeCommand);
|
|
44
42
|
|
|
43
|
+
configureCommand({ bind, isBound }, DrawMarqueeCommand);
|
|
44
|
+
configureCommand({ bind, isBound }, RemoveMarqueeCommand);
|
|
45
|
+
|
|
45
46
|
configureView({ bind, isBound }, FeedbackEdgeEnd.TYPE, FeedbackEdgeEndView);
|
|
46
47
|
// move tool feedback: we use sprotties MoveCommand as client-side visual feedback
|
|
47
48
|
configureCommand({ bind, isBound }, MoveCommand);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,10 +13,11 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
16
|
+
import { Action, Point } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { inject, injectable } from 'inversify';
|
|
18
|
+
import { VNode } from 'snabbdom';
|
|
18
19
|
import {
|
|
19
|
-
|
|
20
|
+
add,
|
|
20
21
|
AnchorComputerRegistry,
|
|
21
22
|
center,
|
|
22
23
|
CommandExecutionContext,
|
|
@@ -32,7 +33,6 @@ import {
|
|
|
32
33
|
isViewport,
|
|
33
34
|
MouseListener,
|
|
34
35
|
MoveAction,
|
|
35
|
-
Point,
|
|
36
36
|
PolylineEdgeRouter,
|
|
37
37
|
SConnectableElement,
|
|
38
38
|
SModelElement,
|
|
@@ -41,29 +41,23 @@ import {
|
|
|
41
41
|
SwitchEditModeAction,
|
|
42
42
|
SwitchEditModeCommand,
|
|
43
43
|
TYPES
|
|
44
|
-
} from
|
|
45
|
-
|
|
46
|
-
import {
|
|
47
|
-
import {
|
|
48
|
-
import {
|
|
49
|
-
import {
|
|
50
|
-
FeedbackEdgeEnd,
|
|
51
|
-
feedbackEdgeEndId,
|
|
52
|
-
FeedbackEdgeEndMovingMouseListener,
|
|
53
|
-
feedbackEdgeId
|
|
54
|
-
} from "./creation-tool-feedback";
|
|
55
|
-
import { FeedbackCommand } from "./model";
|
|
44
|
+
} from 'sprotty';
|
|
45
|
+
import { isNotUndefined, isRoutable, isRoutingHandle } from '../../utils/smodel-util';
|
|
46
|
+
import { getAbsolutePosition, toAbsoluteBounds } from '../../utils/viewpoint-util';
|
|
47
|
+
import { addReconnectHandles, removeReconnectHandles } from '../reconnect/model';
|
|
48
|
+
import { FeedbackEdgeEnd, feedbackEdgeEndId, FeedbackEdgeEndMovingMouseListener, feedbackEdgeId } from './creation-tool-feedback';
|
|
49
|
+
import { FeedbackCommand } from './model';
|
|
56
50
|
|
|
57
51
|
/**
|
|
58
52
|
* RECONNECT HANDLES FEEDBACK
|
|
59
53
|
*/
|
|
60
54
|
|
|
61
55
|
export class ShowEdgeReconnectHandlesFeedbackAction implements Action {
|
|
62
|
-
constructor(readonly elementId?: string, public readonly kind: string = ShowEdgeReconnectHandlesFeedbackCommand.KIND) {
|
|
56
|
+
constructor(readonly elementId?: string, public readonly kind: string = ShowEdgeReconnectHandlesFeedbackCommand.KIND) {}
|
|
63
57
|
}
|
|
64
58
|
|
|
65
59
|
export class HideEdgeReconnectHandlesFeedbackAction implements Action {
|
|
66
|
-
constructor(public readonly kind: string = HideEdgeReconnectHandlesFeedbackCommand.KIND) {
|
|
60
|
+
constructor(public readonly kind: string = HideEdgeReconnectHandlesFeedbackCommand.KIND) {}
|
|
67
61
|
}
|
|
68
62
|
|
|
69
63
|
@injectable()
|
|
@@ -107,17 +101,21 @@ export class HideEdgeReconnectHandlesFeedbackCommand extends FeedbackCommand {
|
|
|
107
101
|
*/
|
|
108
102
|
|
|
109
103
|
export class SwitchRoutingModeAction extends SwitchEditModeAction {
|
|
110
|
-
constructor(
|
|
104
|
+
constructor(
|
|
105
|
+
public readonly elementsToActivate: string[] = [],
|
|
111
106
|
public readonly elementsToDeactivate: string[] = [],
|
|
112
|
-
public readonly kind: string = SwitchRoutingModeCommand.KIND
|
|
107
|
+
public readonly kind: string = SwitchRoutingModeCommand.KIND
|
|
108
|
+
) {
|
|
113
109
|
super(elementsToActivate, elementsToDeactivate);
|
|
114
110
|
}
|
|
115
111
|
}
|
|
116
112
|
|
|
117
113
|
@injectable()
|
|
118
114
|
export class SwitchRoutingModeCommand extends SwitchEditModeCommand {
|
|
119
|
-
static KIND =
|
|
120
|
-
constructor(@inject(TYPES.Action) action: SwitchRoutingModeAction) {
|
|
115
|
+
static KIND = 'switchRoutingMode';
|
|
116
|
+
constructor(@inject(TYPES.Action) action: SwitchRoutingModeAction) {
|
|
117
|
+
super(action);
|
|
118
|
+
}
|
|
121
119
|
}
|
|
122
120
|
|
|
123
121
|
/**
|
|
@@ -125,7 +123,11 @@ export class SwitchRoutingModeCommand extends SwitchEditModeCommand {
|
|
|
125
123
|
*/
|
|
126
124
|
|
|
127
125
|
export class DrawFeedbackEdgeSourceAction implements Action {
|
|
128
|
-
constructor(
|
|
126
|
+
constructor(
|
|
127
|
+
readonly elementTypeId: string,
|
|
128
|
+
readonly targetId: string,
|
|
129
|
+
public readonly kind: string = DrawFeedbackEdgeSourceCommand.KIND
|
|
130
|
+
) {}
|
|
129
131
|
}
|
|
130
132
|
|
|
131
133
|
@injectable()
|
|
@@ -166,12 +168,12 @@ export class FeedbackEdgeSourceMovingMouseListener extends MouseListener {
|
|
|
166
168
|
|
|
167
169
|
const edge = edgeEnd.feedbackEdge;
|
|
168
170
|
const position = getAbsolutePosition(edgeEnd, event);
|
|
169
|
-
const endAtMousePosition = findChildrenAtPosition(target.root, position)
|
|
170
|
-
|
|
171
|
+
const endAtMousePosition = findChildrenAtPosition(target.root, position).find(
|
|
172
|
+
e => isConnectable(e) && e.canConnect(edge, 'source')
|
|
173
|
+
);
|
|
171
174
|
|
|
172
175
|
if (endAtMousePosition instanceof SConnectableElement && edge.target && isBoundsAware(edge.target)) {
|
|
173
|
-
const
|
|
174
|
-
const anchor = anchorComputer.getAnchor(endAtMousePosition, center(edge.target.bounds));
|
|
176
|
+
const anchor = this.computeAbsoluteAnchor(endAtMousePosition, center(edge.target.bounds));
|
|
175
177
|
if (euclideanDistance(anchor, edgeEnd.position) > 1) {
|
|
176
178
|
return [new MoveAction([{ elementId: edgeEnd.id, toPosition: anchor }], false)];
|
|
177
179
|
}
|
|
@@ -181,6 +183,21 @@ export class FeedbackEdgeSourceMovingMouseListener extends MouseListener {
|
|
|
181
183
|
|
|
182
184
|
return [];
|
|
183
185
|
}
|
|
186
|
+
|
|
187
|
+
protected computeAbsoluteAnchor(element: SConnectableElement, referencePoint: Point, offset?: number): Point {
|
|
188
|
+
const anchorComputer = this.anchorRegistry.get(PolylineEdgeRouter.KIND, element.anchorKind);
|
|
189
|
+
let anchor = anchorComputer.getAnchor(element, referencePoint, offset);
|
|
190
|
+
// The anchor is computed in the local coordinate system of the element.
|
|
191
|
+
// If the element is a nested child element we have to add the absolute position of its parent to the anchor.
|
|
192
|
+
if (element.parent !== element.root) {
|
|
193
|
+
const parent = findParentByFeature(element.parent, isBoundsAware);
|
|
194
|
+
if (parent) {
|
|
195
|
+
const absoluteParentPosition = toAbsoluteBounds(parent);
|
|
196
|
+
anchor = add(absoluteParentPosition, anchor);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return anchor;
|
|
200
|
+
}
|
|
184
201
|
}
|
|
185
202
|
|
|
186
203
|
export class FeedbackEdgeRouteMovingMouseListener extends MouseListener {
|
|
@@ -208,16 +225,17 @@ export class FeedbackEdgeRouteMovingMouseListener extends MouseListener {
|
|
|
208
225
|
|
|
209
226
|
mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
210
227
|
const result: Action[] = [];
|
|
211
|
-
if (event.buttons === 0)
|
|
228
|
+
if (event.buttons === 0) {
|
|
212
229
|
this.mouseUp(target, event);
|
|
213
|
-
else if (this.lastDragPosition) {
|
|
230
|
+
} else if (this.lastDragPosition) {
|
|
214
231
|
const viewport = findParentByFeature(target, isViewport);
|
|
215
232
|
this.hasDragged = true;
|
|
216
233
|
const zoom = viewport ? viewport.zoom : 1;
|
|
217
234
|
const dx = (event.pageX - this.lastDragPosition.x) / zoom;
|
|
218
235
|
const dy = (event.pageY - this.lastDragPosition.y) / zoom;
|
|
219
236
|
const handleMoves: ElementMove[] = [];
|
|
220
|
-
target.root.index
|
|
237
|
+
target.root.index
|
|
238
|
+
.all()
|
|
221
239
|
.filter(element => isSelected(element))
|
|
222
240
|
.forEach(element => {
|
|
223
241
|
if (isRoutingHandle(element)) {
|
|
@@ -235,8 +253,9 @@ export class FeedbackEdgeRouteMovingMouseListener extends MouseListener {
|
|
|
235
253
|
}
|
|
236
254
|
});
|
|
237
255
|
this.lastDragPosition = { x: event.pageX, y: event.pageY };
|
|
238
|
-
if (handleMoves.length > 0)
|
|
256
|
+
if (handleMoves.length > 0) {
|
|
239
257
|
result.push(new MoveAction(handleMoves, false));
|
|
258
|
+
}
|
|
240
259
|
}
|
|
241
260
|
return result;
|
|
242
261
|
}
|
|
@@ -244,8 +263,9 @@ export class FeedbackEdgeRouteMovingMouseListener extends MouseListener {
|
|
|
244
263
|
protected getHandlePosition(handle: SRoutingHandle): Point | undefined {
|
|
245
264
|
if (this.edgeRouterRegistry) {
|
|
246
265
|
const parent = handle.parent;
|
|
247
|
-
if (!isRoutable(parent))
|
|
266
|
+
if (!isRoutable(parent)) {
|
|
248
267
|
return undefined;
|
|
268
|
+
}
|
|
249
269
|
const router = this.edgeRouterRegistry.get(parent.routerKind);
|
|
250
270
|
const route = router.route(parent);
|
|
251
271
|
return router.getHandlePosition(parent, route, handle);
|
|
@@ -254,8 +274,9 @@ export class FeedbackEdgeRouteMovingMouseListener extends MouseListener {
|
|
|
254
274
|
}
|
|
255
275
|
|
|
256
276
|
mouseEnter(target: SModelElement, event: MouseEvent): Action[] {
|
|
257
|
-
if (target instanceof SModelRoot && event.buttons === 0)
|
|
277
|
+
if (target instanceof SModelRoot && event.buttons === 0) {
|
|
258
278
|
this.mouseUp(target, event);
|
|
279
|
+
}
|
|
259
280
|
return [];
|
|
260
281
|
}
|
|
261
282
|
|
|
@@ -274,7 +295,7 @@ export class FeedbackEdgeRouteMovingMouseListener extends MouseListener {
|
|
|
274
295
|
* UTILITY FUNCTIONS
|
|
275
296
|
*/
|
|
276
297
|
|
|
277
|
-
function drawFeedbackEdgeSource(context: CommandExecutionContext, targetId: string, elementTypeId: string) {
|
|
298
|
+
function drawFeedbackEdgeSource(context: CommandExecutionContext, targetId: string, elementTypeId: string): void {
|
|
278
299
|
const root = context.root;
|
|
279
300
|
const targetChild = root.index.getById(targetId);
|
|
280
301
|
if (!targetChild) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,10 +13,11 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
16
|
+
import { Action } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { inject, injectable } from 'inversify';
|
|
18
|
+
import { IActionDispatcher, ILogger, TYPES } from 'sprotty';
|
|
18
19
|
|
|
19
|
-
export interface IFeedbackEmitter {
|
|
20
|
+
export interface IFeedbackEmitter {}
|
|
20
21
|
|
|
21
22
|
/**
|
|
22
23
|
* Dispatcher for actions that are meant to show visual feedback on
|
|
@@ -52,14 +53,14 @@ export interface IFeedbackActionDispatcher {
|
|
|
52
53
|
deregisterFeedback(feedbackEmitter: IFeedbackEmitter, actions: Action[]): void;
|
|
53
54
|
|
|
54
55
|
/**
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
getRegisteredFeedback(): Action[]
|
|
56
|
+
* Retrieve all `actions` sent out by currently registered `feedbackEmitter`.
|
|
57
|
+
*/
|
|
58
|
+
getRegisteredFeedback(): Action[];
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
@injectable()
|
|
61
62
|
export class FeedbackActionDispatcher implements IFeedbackActionDispatcher {
|
|
62
|
-
protected feedbackEmitters: Map<IFeedbackEmitter, Action[]> = new Map;
|
|
63
|
+
protected feedbackEmitters: Map<IFeedbackEmitter, Action[]> = new Map();
|
|
63
64
|
|
|
64
65
|
@inject(TYPES.IActionDispatcherProvider) protected actionDispatcher: () => Promise<IActionDispatcher>;
|
|
65
66
|
@inject(TYPES.ILogger) protected logger: ILogger;
|
|
@@ -74,28 +75,26 @@ export class FeedbackActionDispatcher implements IFeedbackActionDispatcher {
|
|
|
74
75
|
this.dispatch(actions, feedbackEmitter);
|
|
75
76
|
}
|
|
76
77
|
|
|
77
|
-
private dispatch(actions: Action[], feedbackEmitter: IFeedbackEmitter) {
|
|
78
|
+
private dispatch(actions: Action[], feedbackEmitter: IFeedbackEmitter): void {
|
|
78
79
|
this.actionDispatcher()
|
|
79
80
|
.then(dispatcher => dispatcher.dispatchAll(actions))
|
|
80
81
|
.then(() => this.logger.info(this, `Dispatched feedback actions for ${feedbackEmitter}`))
|
|
81
82
|
.catch(reason => this.logger.error(this, 'Failed to dispatch feedback actions', reason));
|
|
82
83
|
}
|
|
83
84
|
|
|
84
|
-
getRegisteredFeedback() {
|
|
85
|
+
getRegisteredFeedback(): Action[] {
|
|
85
86
|
const result: Action[] = [];
|
|
86
87
|
this.feedbackEmitters.forEach((value, key) => result.push(...value));
|
|
87
88
|
return result;
|
|
88
89
|
}
|
|
89
90
|
|
|
90
|
-
getRegisteredFeedbackEmitters(action: Action) {
|
|
91
|
+
getRegisteredFeedbackEmitters(action: Action): IFeedbackEmitter[] {
|
|
91
92
|
const result: IFeedbackEmitter[] = [];
|
|
92
93
|
this.feedbackEmitters.forEach((value, key) => {
|
|
93
94
|
if (value.find(a => a === action)) {
|
|
94
95
|
result.push(key);
|
|
95
96
|
}
|
|
96
|
-
}
|
|
97
|
-
);
|
|
97
|
+
});
|
|
98
98
|
return result;
|
|
99
99
|
}
|
|
100
|
-
|
|
101
100
|
}
|
|
@@ -0,0 +1,103 @@
|
|
|
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, Point } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { inject, injectable } from 'inversify';
|
|
18
|
+
import {
|
|
19
|
+
AnchorComputerRegistry,
|
|
20
|
+
CommandExecutionContext,
|
|
21
|
+
CommandReturn,
|
|
22
|
+
MouseListener,
|
|
23
|
+
SChildElement,
|
|
24
|
+
SModelElement,
|
|
25
|
+
SModelRoot,
|
|
26
|
+
TYPES
|
|
27
|
+
} from 'sprotty';
|
|
28
|
+
import { FeedbackCommand } from './model';
|
|
29
|
+
|
|
30
|
+
export class DrawMarqueeAction implements Action {
|
|
31
|
+
constructor(
|
|
32
|
+
public readonly startPoint: Point,
|
|
33
|
+
public readonly endPoint: Point,
|
|
34
|
+
public readonly kind: string = DrawMarqueeCommand.KIND
|
|
35
|
+
) {}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@injectable()
|
|
39
|
+
export class DrawMarqueeCommand extends FeedbackCommand {
|
|
40
|
+
static readonly KIND = 'drawMarquee';
|
|
41
|
+
|
|
42
|
+
constructor(@inject(TYPES.Action) protected action: DrawMarqueeAction) {
|
|
43
|
+
super();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
execute(context: CommandExecutionContext): CommandReturn {
|
|
47
|
+
drawMarquee(context, this.action.startPoint, this.action.endPoint);
|
|
48
|
+
return context.root;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export class RemoveMarqueeAction implements Action {
|
|
53
|
+
constructor(public readonly kind: string = RemoveMarqueeCommand.KIND) {}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@injectable()
|
|
57
|
+
export class RemoveMarqueeCommand extends FeedbackCommand {
|
|
58
|
+
static readonly KIND = 'removeMarqueeCommand';
|
|
59
|
+
|
|
60
|
+
execute(context: CommandExecutionContext): CommandReturn {
|
|
61
|
+
removeMarquee(context.root);
|
|
62
|
+
return context.root;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export class MarqueeEndMovingMouseListener extends MouseListener {
|
|
67
|
+
constructor(protected anchorRegistry: AnchorComputerRegistry) {
|
|
68
|
+
super();
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
mouseMove(target: SModelElement, event: MouseEvent): Action[] {
|
|
72
|
+
return [];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export function marqueeId(root: SModelRoot): string {
|
|
77
|
+
return root.id + '_' + MARQUEE;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export const MARQUEE = 'marquee';
|
|
81
|
+
|
|
82
|
+
export function drawMarquee(context: CommandExecutionContext, startPoint: Point, endPoint: Point): void {
|
|
83
|
+
const root = context.root;
|
|
84
|
+
|
|
85
|
+
removeMarquee(root);
|
|
86
|
+
|
|
87
|
+
const marqueeSchema = {
|
|
88
|
+
type: MARQUEE,
|
|
89
|
+
id: marqueeId(root),
|
|
90
|
+
startPoint: startPoint,
|
|
91
|
+
endPoint: endPoint
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
const marquee = context.modelFactory.createElement(marqueeSchema);
|
|
95
|
+
root.add(marquee);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export function removeMarquee(root: SModelRoot): void {
|
|
99
|
+
const marquee = root.index.getById(marqueeId(root));
|
|
100
|
+
if (marquee instanceof SChildElement) {
|
|
101
|
+
root.remove(marquee);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -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,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Command, CommandExecutionContext, CommandReturn } from
|
|
16
|
+
import { Command, CommandExecutionContext, CommandReturn } from 'sprotty';
|
|
17
17
|
|
|
18
18
|
export abstract class FeedbackCommand extends Command {
|
|
19
19
|
// used by the `FeedbackAwareUpdateModelCommand`
|
|
@@ -29,4 +29,3 @@ export abstract class FeedbackCommand extends Command {
|
|
|
29
29
|
return context.root;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,19 +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 {
|
|
17
|
-
import
|
|
18
|
-
import { VNode } from
|
|
19
|
-
import { IView, ORIGIN_POINT,
|
|
16
|
+
import { Point } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { injectable } from 'inversify';
|
|
18
|
+
import { VNode } from 'snabbdom';
|
|
19
|
+
import { IView, ORIGIN_POINT, RenderingContext, setAttr, SModelElement, svg } from 'sprotty';
|
|
20
|
+
import { isResizable, ResizeHandleLocation, SResizeHandle } from '../change-bounds/model';
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const JSX = { createElement: snabbdom.svg };
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
23
|
+
const JSX = { createElement: svg };
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
* This view is used for the invisible end of the feedback edge.
|
|
27
|
-
* A feedback edge is shown as a visual feedback when creating edges.
|
|
28
|
-
*/
|
|
26
|
+
* This view is used for the invisible end of the feedback edge.
|
|
27
|
+
* A feedback edge is shown as a visual feedback when creating edges.
|
|
28
|
+
*/
|
|
29
29
|
@injectable()
|
|
30
30
|
export class FeedbackEdgeEndView implements IView {
|
|
31
31
|
render(model: Readonly<SModelElement>, context: RenderingContext): VNode {
|
|
@@ -39,8 +39,15 @@ export class SResizeHandleView implements IView {
|
|
|
39
39
|
render(handle: SResizeHandle, context: RenderingContext): VNode {
|
|
40
40
|
const position = this.getPosition(handle);
|
|
41
41
|
if (position !== undefined) {
|
|
42
|
-
const node =
|
|
43
|
-
|
|
42
|
+
const node = (
|
|
43
|
+
<circle
|
|
44
|
+
class-sprotty-resize-handle={true}
|
|
45
|
+
class-mouseover={handle.hoverFeedback}
|
|
46
|
+
cx={position.x}
|
|
47
|
+
cy={position.y}
|
|
48
|
+
r={this.getRadius()}
|
|
49
|
+
/>
|
|
50
|
+
);
|
|
44
51
|
setAttr(node, 'data-kind', handle.location);
|
|
45
52
|
return node;
|
|
46
53
|
}
|
|
@@ -13,14 +13,12 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import
|
|
16
|
+
import { ContainerModule } from 'inversify';
|
|
17
|
+
import { configureActionHandler, EnableDefaultToolsAction, TYPES } from 'sprotty';
|
|
18
|
+
import '../../../css/tool-palette.css';
|
|
19
|
+
import { EnableToolPaletteAction, ToolPalette } from './tool-palette';
|
|
17
20
|
|
|
18
|
-
|
|
19
|
-
import { configureActionHandler, EnableDefaultToolsAction, TYPES } from "sprotty";
|
|
20
|
-
|
|
21
|
-
import { EnableToolPaletteAction, ToolPalette } from "./tool-palette";
|
|
22
|
-
|
|
23
|
-
const toolPaletteModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
21
|
+
const toolPaletteModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
|
|
24
22
|
bind(ToolPalette).toSelf().inSingletonScope();
|
|
25
23
|
bind(TYPES.IUIExtension).toService(ToolPalette);
|
|
26
24
|
configureActionHandler({ bind, isBound }, EnableToolPaletteAction.KIND, ToolPalette);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2020-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,9 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { isLabeledAction, LabeledAction } from
|
|
17
|
-
|
|
18
|
-
import { isTriggerElementTypeCreationAction, TriggerElementCreationAction } from "../../base/operations/operation";
|
|
16
|
+
import { isLabeledAction, isTriggerElementTypeCreationAction, LabeledAction, TriggerElementCreationAction } from '@eclipse-glsp/protocol';
|
|
19
17
|
|
|
20
18
|
export interface PaletteItem extends LabeledAction {
|
|
21
19
|
readonly id: string;
|
|
@@ -24,17 +22,17 @@ export interface PaletteItem extends LabeledAction {
|
|
|
24
22
|
}
|
|
25
23
|
|
|
26
24
|
export function isPaletteItem(object?: any): object is PaletteItem {
|
|
27
|
-
return isLabeledAction(object) &&
|
|
25
|
+
return isLabeledAction(object) && 'id' in object && 'sortString' in object;
|
|
28
26
|
}
|
|
29
27
|
|
|
30
28
|
export namespace PaletteItem {
|
|
31
29
|
export function getTriggerAction(item?: PaletteItem): TriggerElementCreationAction | undefined {
|
|
32
30
|
if (item) {
|
|
33
|
-
const initiAction = item.actions
|
|
31
|
+
const initiAction = item.actions
|
|
32
|
+
.filter(a => isTriggerElementTypeCreationAction(a))
|
|
34
33
|
.map(action => action as TriggerElementCreationAction);
|
|
35
34
|
return initiAction.length > 0 ? initiAction[0] : undefined;
|
|
36
35
|
}
|
|
37
36
|
return undefined;
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
|
-
|