@eclipse-glsp/client 0.9.0-next.d0112315 → 0.9.0-next.f12e3d87
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/README.md +2 -1
- package/css/command-palette.css +6 -5
- package/css/glsp-sprotty.css +17 -8
- package/css/tool-palette.css +14 -14
- package/lib/base/action-dispatcher.d.ts.map +1 -1
- package/lib/base/action-dispatcher.js +39 -60
- package/lib/base/action-dispatcher.js.map +1 -1
- package/lib/base/actions/context-actions.d.ts +1 -1
- package/lib/base/actions/context-actions.d.ts.map +1 -1
- package/lib/base/actions/context-actions.js +11 -18
- package/lib/base/actions/context-actions.js.map +1 -1
- package/lib/base/actions/edit-mode-action.d.ts.map +1 -1
- package/lib/base/actions/edit-mode-action.js +12 -17
- package/lib/base/actions/edit-mode-action.js.map +1 -1
- package/lib/base/actions/edit-validation-actions.d.ts +1 -1
- package/lib/base/actions/edit-validation-actions.d.ts.map +1 -1
- package/lib/base/actions/edit-validation-actions.js +23 -26
- package/lib/base/actions/edit-validation-actions.js.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 +1 -1
- package/lib/base/args.d.ts.map +1 -1
- package/lib/base/args.js.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.d.ts +1 -1
- package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.js +100 -150
- package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
- package/lib/base/auto-complete/validation-decorator.d.ts +1 -1
- package/lib/base/auto-complete/validation-decorator.js +38 -60
- package/lib/base/auto-complete/validation-decorator.js.map +1 -1
- package/lib/base/command-stack.d.ts.map +1 -1
- package/lib/base/command-stack.js +19 -37
- package/lib/base/command-stack.js.map +1 -1
- package/lib/base/container-modules.d.ts +40 -0
- package/lib/base/container-modules.d.ts.map +1 -0
- package/lib/base/container-modules.js +84 -0
- package/lib/base/container-modules.js.map +1 -0
- package/lib/base/di.config.d.ts +11 -2
- package/lib/base/di.config.d.ts.map +1 -1
- package/lib/base/di.config.js +37 -37
- package/lib/base/di.config.js.map +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
- package/lib/base/drag-aware-mouse-listener.js +24 -48
- package/lib/base/drag-aware-mouse-listener.js.map +1 -1
- package/lib/base/editor-context.d.ts.map +1 -1
- package/lib/base/editor-context.js +64 -128
- package/lib/base/editor-context.js.map +1 -1
- package/lib/base/focus-tracker.d.ts.map +1 -1
- package/lib/base/focus-tracker.js +19 -24
- package/lib/base/focus-tracker.js.map +1 -1
- package/lib/base/model/model-registry.js +10 -28
- package/lib/base/model/model-registry.js.map +1 -1
- package/lib/base/model/update-model-command.d.ts +2 -2
- package/lib/base/model/update-model-command.d.ts.map +1 -1
- package/lib/base/model/update-model-command.js +67 -88
- package/lib/base/model/update-model-command.js.map +1 -1
- package/lib/base/model-initialization-constraint.js +31 -52
- package/lib/base/model-initialization-constraint.js.map +1 -1
- package/lib/base/operations/operation.d.ts +5 -5
- package/lib/base/operations/operation.d.ts.map +1 -1
- package/lib/base/operations/operation.js +75 -115
- package/lib/base/operations/operation.js.map +1 -1
- package/lib/base/selection-clearing-mouse-listener.js +10 -28
- package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
- package/lib/base/source-uri-aware.js +2 -5
- package/lib/base/source-uri-aware.js.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.js +56 -137
- package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
- package/lib/base/types.d.ts +2 -1
- package/lib/base/types.d.ts.map +1 -1
- package/lib/base/types.js +3 -2
- package/lib/base/types.js.map +1 -1
- package/lib/base/view/view-registry.js +10 -28
- package/lib/base/view/view-registry.js.map +1 -1
- package/lib/features/change-bounds/model.d.ts +3 -1
- package/lib/features/change-bounds/model.d.ts.map +1 -1
- package/lib/features/change-bounds/model.js +20 -31
- package/lib/features/change-bounds/model.js.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +29 -28
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/change-bounds/snap.js +13 -24
- package/lib/features/change-bounds/snap.js.map +1 -1
- package/lib/features/command-palette/command-palette-tool.js +30 -38
- package/lib/features/command-palette/command-palette-tool.js.map +1 -1
- package/lib/features/command-palette/di.config.js +6 -6
- package/lib/features/command-palette/di.config.js.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.js +27 -32
- package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.js +19 -67
- package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
- package/lib/features/context-menu/di.config.d.ts +1 -1
- package/lib/features/context-menu/di.config.d.ts.map +1 -1
- package/lib/features/context-menu/di.config.js +8 -8
- package/lib/features/context-menu/di.config.js.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +29 -67
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.js +29 -30
- package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-actions.d.ts +1 -1
- package/lib/features/copy-paste/copy-paste-actions.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-actions.js +20 -30
- package/lib/features/copy-paste/copy-paste-actions.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts +5 -1
- 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 +2 -0
- package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.js +67 -67
- package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
- package/lib/features/copy-paste/di.config.js +10 -10
- package/lib/features/copy-paste/di.config.js.map +1 -1
- package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
- package/lib/features/decoration/decoration-placer.js +13 -32
- package/lib/features/decoration/decoration-placer.js.map +1 -1
- package/lib/features/decoration/di.config.js +4 -4
- package/lib/features/decoration/di.config.js.map +1 -1
- package/lib/features/edit-label/di.config.js +7 -7
- package/lib/features/edit-label/di.config.js.map +1 -1
- package/lib/features/edit-label/edit-label-tool.js +20 -43
- package/lib/features/edit-label/edit-label-tool.js.map +1 -1
- package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
- package/lib/features/edit-label/edit-label-validator.js +37 -59
- package/lib/features/edit-label/edit-label-validator.js.map +1 -1
- package/lib/features/hints/di.config.js +8 -8
- package/lib/features/hints/di.config.js.map +1 -1
- package/lib/features/hints/model.d.ts +1 -1
- package/lib/features/hints/model.d.ts.map +1 -1
- package/lib/features/hints/request-type-hints-action.d.ts +1 -1
- package/lib/features/hints/request-type-hints-action.d.ts.map +1 -1
- package/lib/features/hints/request-type-hints-action.js +12 -14
- package/lib/features/hints/request-type-hints-action.js.map +1 -1
- package/lib/features/hints/type-hints.d.ts +4 -4
- package/lib/features/hints/type-hints.d.ts.map +1 -1
- package/lib/features/hints/type-hints.js +91 -133
- package/lib/features/hints/type-hints.js.map +1 -1
- package/lib/features/hover/di.config.js +7 -7
- package/lib/features/hover/di.config.js.map +1 -1
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +35 -76
- package/lib/features/hover/hover.js.map +1 -1
- package/lib/features/layout/di.config.d.ts +5 -1
- package/lib/features/layout/di.config.d.ts.map +1 -1
- package/lib/features/layout/di.config.js +47 -7
- package/lib/features/layout/di.config.js.map +1 -1
- package/lib/features/layout/freeform-layout.d.ts +16 -0
- package/lib/features/layout/freeform-layout.d.ts.map +1 -0
- package/lib/features/layout/freeform-layout.js +107 -0
- package/lib/features/layout/freeform-layout.js.map +1 -0
- package/lib/features/layout/layout-commands.d.ts +2 -2
- package/lib/features/layout/layout-commands.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.js +187 -263
- package/lib/features/layout/layout-commands.js.map +1 -1
- package/lib/features/layout/layout-commands.spec.d.ts +1 -1
- package/lib/features/layout/layout-commands.spec.js +94 -88
- 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 +187 -0
- package/lib/features/layout/vbox-layout.js.map +1 -0
- package/lib/features/model-source-watcher/di.config.js +6 -6
- 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.map +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js +38 -45
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action.d.ts +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action.js +4 -5
- package/lib/features/model-source-watcher/model-source-changed-action.js.map +1 -1
- package/lib/features/mouse-tool/di.config.js +5 -5
- package/lib/features/mouse-tool/di.config.js.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts +2 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js +69 -215
- package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
- package/lib/features/navigation/di.config.js +9 -9
- package/lib/features/navigation/di.config.js.map +1 -1
- package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
- package/lib/features/navigation/navigation-action-handler.js +136 -217
- package/lib/features/navigation/navigation-action-handler.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.js +57 -122
- package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.d.ts +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.js +12 -12
- package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
- package/lib/features/rank/model.d.ts +1 -1
- package/lib/features/rank/model.js +2 -2
- package/lib/features/rank/model.js.map +1 -1
- package/lib/features/reconnect/model.d.ts +1 -1
- package/lib/features/reconnect/model.d.ts.map +1 -1
- package/lib/features/reconnect/model.js +9 -27
- package/lib/features/reconnect/model.js.map +1 -1
- package/lib/features/save/di.config.d.ts +1 -1
- package/lib/features/save/di.config.d.ts.map +1 -1
- package/lib/features/save/di.config.js +5 -5
- package/lib/features/save/di.config.js.map +1 -1
- package/lib/features/save/save.d.ts +1 -1
- package/lib/features/save/save.js +11 -31
- package/lib/features/save/save.js.map +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.map +1 -1
- package/lib/features/select/select-feedback-action.js +45 -71
- package/lib/features/select/select-feedback-action.js.map +1 -1
- package/lib/features/select/select-mouse-listener.js +7 -23
- package/lib/features/select/select-mouse-listener.js.map +1 -1
- package/lib/features/select/selection-service.d.ts.map +1 -1
- package/lib/features/select/selection-service.js +132 -234
- package/lib/features/select/selection-service.js.map +1 -1
- package/lib/features/select/selection-service.spec.js +97 -124
- package/lib/features/select/selection-service.spec.js.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +2 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +104 -127
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +69 -103
- package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/css-feedback.d.ts +3 -1
- package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/css-feedback.js +37 -81
- package/lib/features/tool-feedback/css-feedback.js.map +1 -1
- package/lib/features/tool-feedback/di.config.d.ts +1 -1
- package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
- package/lib/features/tool-feedback/di.config.js +27 -27
- package/lib/features/tool-feedback/di.config.js.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +147 -193
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +2 -2
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.js +36 -58
- package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.js +41 -69
- package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/model.d.ts +1 -1
- package/lib/features/tool-feedback/model.js +11 -27
- package/lib/features/tool-feedback/model.js.map +1 -1
- package/lib/features/tool-feedback/view.d.ts +4 -4
- package/lib/features/tool-feedback/view.d.ts.map +1 -1
- package/lib/features/tool-feedback/view.js +30 -37
- package/lib/features/tool-feedback/view.js.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 +1 -1
- package/lib/features/tool-palette/palette-item.d.ts.map +1 -1
- package/lib/features/tool-palette/palette-item.js +6 -5
- package/lib/features/tool-palette/palette-item.js.map +1 -1
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +182 -259
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/base-glsp-tool.js +37 -44
- package/lib/features/tools/base-glsp-tool.js.map +1 -1
- package/lib/features/tools/change-bounds-tool.d.ts +3 -2
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds-tool.js +187 -237
- package/lib/features/tools/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/delete-tool.d.ts.map +1 -1
- package/lib/features/tools/delete-tool.js +69 -102
- package/lib/features/tools/delete-tool.js.map +1 -1
- package/lib/features/tools/di.config.js +18 -18
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-creation-tool.js +60 -85
- package/lib/features/tools/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit-tool.js +110 -181
- package/lib/features/tools/edge-edit-tool.js.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.js +128 -149
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
- package/lib/features/tools/marquee-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-tool.js +32 -58
- package/lib/features/tools/marquee-tool.js.map +1 -1
- package/lib/features/tools/model.js +4 -22
- package/lib/features/tools/model.js.map +1 -1
- package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/node-creation-tool.js +59 -89
- package/lib/features/tools/node-creation-tool.js.map +1 -1
- package/lib/features/tools/view.d.ts +1 -1
- package/lib/features/tools/view.d.ts.map +1 -1
- package/lib/features/tools/view.js +12 -31
- package/lib/features/tools/view.js.map +1 -1
- package/lib/features/undo-redo/model.d.ts +1 -1
- package/lib/features/undo-redo/model.js +8 -12
- package/lib/features/undo-redo/model.js.map +1 -1
- package/lib/features/validation/di.config.js +12 -12
- package/lib/features/validation/di.config.js.map +1 -1
- package/lib/features/validation/issue-marker.js +13 -51
- package/lib/features/validation/issue-marker.js.map +1 -1
- package/lib/features/validation/marker-navigator.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.js +129 -163
- package/lib/features/validation/marker-navigator.js.map +1 -1
- package/lib/features/validation/marker-navigator.spec.d.ts +1 -1
- package/lib/features/validation/marker-navigator.spec.js +79 -73
- package/lib/features/validation/marker-navigator.spec.js.map +1 -1
- package/lib/features/validation/validate.d.ts +2 -2
- package/lib/features/validation/validate.d.ts.map +1 -1
- package/lib/features/validation/validate.js +161 -276
- package/lib/features/validation/validate.js.map +1 -1
- package/lib/features/viewport/di.config.js +10 -10
- package/lib/features/viewport/di.config.js.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.js +16 -32
- package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
- package/lib/index.d.ts +5 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +25 -23
- package/lib/index.js.map +1 -1
- package/lib/lib/model.js +11 -27
- package/lib/lib/model.js.map +1 -1
- package/lib/model-source/glsp-diagram-server.d.ts +1 -1
- package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
- package/lib/model-source/glsp-diagram-server.js +43 -118
- package/lib/model-source/glsp-diagram-server.js.map +1 -1
- package/lib/model-source/glsp-server-status.js +10 -27
- package/lib/model-source/glsp-server-status.js.map +1 -1
- package/lib/utils/argument-utils.d.ts +3 -3
- package/lib/utils/argument-utils.d.ts.map +1 -1
- package/lib/utils/argument-utils.js +27 -92
- package/lib/utils/argument-utils.js.map +1 -1
- package/lib/utils/array-utils.d.ts +1 -1
- package/lib/utils/array-utils.d.ts.map +1 -1
- package/lib/utils/array-utils.js +10 -15
- package/lib/utils/array-utils.js.map +1 -1
- package/lib/utils/html-utils.js +2 -2
- package/lib/utils/html-utils.js.map +1 -1
- package/lib/utils/layout-utils.d.ts +1 -1
- 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.js +11 -53
- package/lib/utils/marker.js.map +1 -1
- package/lib/utils/smodel-util.d.ts +3 -3
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +17 -51
- package/lib/utils/smodel-util.js.map +1 -1
- package/lib/utils/viewpoint-util.d.ts +1 -1
- package/lib/utils/viewpoint-util.d.ts.map +1 -1
- package/lib/utils/viewpoint-util.js +16 -16
- package/lib/utils/viewpoint-util.js.map +1 -1
- package/lib/views/base-view-module.js +9 -9
- package/lib/views/base-view-module.js.map +1 -1
- package/lib/views/compartments.d.ts +6 -0
- package/lib/views/compartments.d.ts.map +1 -0
- package/lib/views/compartments.js +43 -0
- package/lib/views/compartments.js.map +1 -0
- package/lib/views/default-types.js +1 -1
- package/lib/views/default-types.js.map +1 -1
- package/lib/views/glsp-edge-view.d.ts +1 -2
- package/lib/views/glsp-edge-view.d.ts.map +1 -1
- package/lib/views/glsp-edge-view.js +32 -62
- package/lib/views/glsp-edge-view.js.map +1 -1
- package/lib/views/index.d.ts +1 -0
- package/lib/views/index.d.ts.map +1 -1
- package/lib/views/index.js +1 -0
- package/lib/views/index.js.map +1 -1
- package/lib/views/issue-marker-view.d.ts +1 -1
- package/lib/views/issue-marker-view.d.ts.map +1 -1
- package/lib/views/issue-marker-view.js +19 -42
- package/lib/views/issue-marker-view.js.map +1 -1
- package/lib/views/rounded-corner-view.d.ts +2 -3
- package/lib/views/rounded-corner-view.d.ts.map +1 -1
- package/lib/views/rounded-corner-view.js +40 -70
- package/lib/views/rounded-corner-view.js.map +1 -1
- package/lib/views/rounded-corner.d.ts.map +1 -1
- package/lib/views/rounded-corner.js +44 -65
- package/lib/views/rounded-corner.js.map +1 -1
- package/package.json +6 -16
- package/src/base/action-dispatcher.ts +1 -2
- package/src/base/actions/context-actions.ts +6 -6
- package/src/base/actions/edit-mode-action.ts +3 -4
- package/src/base/actions/edit-validation-actions.ts +26 -14
- package/src/base/actions/focus-change-action.ts +1 -1
- package/src/base/args.ts +4 -2
- package/src/base/auto-complete/auto-complete-widget.ts +34 -21
- package/src/base/auto-complete/validation-decorator.ts +5 -5
- package/src/base/command-stack.ts +1 -3
- package/src/base/container-modules.ts +113 -0
- package/src/base/di.config.ts +31 -16
- package/src/base/drag-aware-mouse-listener.ts +1 -3
- package/src/base/editor-context.ts +2 -4
- package/src/base/focus-tracker.ts +0 -2
- package/src/base/model/update-model-command.ts +6 -8
- package/src/base/operations/operation.ts +57 -31
- package/src/base/types.ts +3 -2
- package/src/features/change-bounds/model.ts +16 -5
- package/src/features/change-bounds/movement-restrictor.ts +15 -7
- package/src/features/command-palette/server-command-palette-provider.ts +8 -5
- package/src/features/context-menu/di.config.ts +11 -9
- package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +4 -3
- package/src/features/context-menu/server-context-menu-provider.ts +7 -3
- package/src/features/copy-paste/copy-paste-actions.ts +11 -8
- package/src/features/copy-paste/copy-paste-context-menu.ts +57 -17
- package/src/features/copy-paste/copy-paste-handler.ts +15 -6
- package/src/features/decoration/decoration-placer.ts +2 -13
- package/src/features/edit-label/edit-label-validator.ts +11 -12
- package/src/features/hints/model.ts +2 -2
- package/src/features/hints/request-type-hints-action.ts +10 -5
- package/src/features/hints/type-hints.ts +26 -30
- package/src/features/hover/hover.ts +1 -2
- package/src/features/layout/di.config.ts +30 -5
- package/src/features/layout/freeform-layout.ts +132 -0
- package/src/features/layout/layout-commands.spec.ts +79 -56
- package/src/features/layout/layout-commands.ts +42 -31
- package/src/features/layout/vbox-layout.ts +241 -0
- package/src/features/model-source-watcher/model-source-changed-action-handler.ts +3 -3
- package/src/features/model-source-watcher/model-source-changed-action.ts +2 -2
- package/src/features/mouse-tool/mouse-tool.ts +31 -22
- package/src/features/navigation/navigation-action-handler.ts +32 -22
- package/src/features/navigation/navigation-target-resolver.spec.ts +1 -3
- package/src/features/navigation/navigation-target-resolver.ts +14 -12
- package/src/features/rank/model.ts +2 -2
- package/src/features/reconnect/model.ts +2 -3
- package/src/features/save/di.config.ts +1 -2
- package/src/features/save/save.ts +2 -2
- package/src/features/select/select-feedback-action.ts +4 -6
- package/src/features/select/selection-service.spec.ts +9 -4
- package/src/features/select/selection-service.ts +13 -5
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +26 -17
- package/src/features/tool-feedback/creation-tool-feedback.ts +16 -7
- package/src/features/tool-feedback/css-feedback.ts +7 -4
- package/src/features/tool-feedback/di.config.ts +2 -5
- package/src/features/tool-feedback/edge-edit-tool-feedback.ts +18 -15
- package/src/features/tool-feedback/feedback-action-dispatcher.ts +6 -8
- package/src/features/tool-feedback/marquee-tool-feedback.ts +3 -2
- package/src/features/tool-feedback/model.ts +1 -2
- package/src/features/tool-feedback/view.tsx +16 -10
- package/src/features/tool-palette/di.config.ts +1 -1
- package/src/features/tool-palette/palette-item.ts +3 -3
- package/src/features/tool-palette/tool-palette.ts +12 -14
- package/src/features/tools/change-bounds-tool.ts +54 -25
- package/src/features/tools/delete-tool.ts +8 -3
- package/src/features/tools/edge-creation-tool.ts +5 -8
- package/src/features/tools/edge-edit-tool.ts +9 -18
- package/src/features/tools/marquee-mouse-tool.ts +57 -37
- package/src/features/tools/marquee-tool.ts +0 -1
- package/src/features/tools/node-creation-tool.ts +4 -9
- package/src/features/tools/view.tsx +17 -12
- package/src/features/undo-redo/model.ts +3 -3
- package/src/features/validation/marker-navigator.spec.ts +15 -9
- package/src/features/validation/marker-navigator.ts +23 -8
- package/src/features/validation/validate.ts +9 -13
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +1 -10
- package/src/index.ts +26 -8
- package/src/model-source/glsp-diagram-server.ts +2 -14
- package/src/utils/argument-utils.ts +13 -9
- package/src/utils/array-utils.ts +4 -2
- package/src/utils/layout-utils.ts +11 -5
- package/src/utils/smodel-util.ts +14 -10
- package/src/utils/viewpoint-util.ts +3 -2
- package/src/views/compartments.tsx +37 -0
- package/src/views/glsp-edge-view.tsx +20 -13
- package/src/views/index.ts +1 -0
- package/src/views/issue-marker-view.tsx +11 -12
- package/src/views/rounded-corner-view.tsx +38 -25
- package/src/views/rounded-corner.ts +3 -4
- 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/src/base/actions/protocol-actions.ts +0 -82
|
@@ -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
|
|
@@ -45,7 +45,9 @@ describe('MarkerNavigator', () => {
|
|
|
45
45
|
const markerNavigator = container.get<MarkerNavigator>(MarkerNavigator);
|
|
46
46
|
|
|
47
47
|
const rootWithoutAnyMarkers = graphFactory.createRoot({
|
|
48
|
-
id: 'root',
|
|
48
|
+
id: 'root',
|
|
49
|
+
type: 'graph',
|
|
50
|
+
children: [
|
|
49
51
|
{
|
|
50
52
|
id: '1',
|
|
51
53
|
type: 'node'
|
|
@@ -54,18 +56,24 @@ describe('MarkerNavigator', () => {
|
|
|
54
56
|
}) as SModelRoot;
|
|
55
57
|
|
|
56
58
|
const rootWithMarkers = graphFactory.createRoot({
|
|
57
|
-
id: 'root',
|
|
59
|
+
id: 'root',
|
|
60
|
+
type: 'graph',
|
|
61
|
+
children: [
|
|
58
62
|
{
|
|
59
|
-
id: 'bottom-right',
|
|
63
|
+
id: 'bottom-right',
|
|
64
|
+
type: 'node'
|
|
60
65
|
} as SNodeSchema,
|
|
61
66
|
{
|
|
62
|
-
id: 'top-right',
|
|
67
|
+
id: 'top-right',
|
|
68
|
+
type: 'node'
|
|
63
69
|
} as SNodeSchema,
|
|
64
70
|
{
|
|
65
|
-
id: 'top-left',
|
|
71
|
+
id: 'top-left',
|
|
72
|
+
type: 'node'
|
|
66
73
|
} as SNodeSchema,
|
|
67
74
|
{
|
|
68
|
-
id: 'bottom-left',
|
|
75
|
+
id: 'bottom-left',
|
|
76
|
+
type: 'node'
|
|
69
77
|
} as SNodeSchema
|
|
70
78
|
]
|
|
71
79
|
}) as SModelRoot;
|
|
@@ -168,7 +176,6 @@ describe('MarkerNavigator', () => {
|
|
|
168
176
|
expect(found4).to.eql(marker2);
|
|
169
177
|
expect(found5).to.eql(marker1);
|
|
170
178
|
});
|
|
171
|
-
|
|
172
179
|
});
|
|
173
180
|
|
|
174
181
|
function clearMarker(elem: SParentElement): void {
|
|
@@ -204,4 +211,3 @@ function createMarker(elem: SParentElement): SIssueMarker {
|
|
|
204
211
|
elem.add(newMarker);
|
|
205
212
|
return newMarker;
|
|
206
213
|
}
|
|
207
|
-
|
|
@@ -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
|
|
@@ -51,7 +51,8 @@ export class NavigateToMarkerAction implements Action {
|
|
|
51
51
|
public readonly direction: 'next' | 'previous' = 'next',
|
|
52
52
|
public readonly selectedElementIds?: string[],
|
|
53
53
|
public readonly severities: SIssueSeverity[] = MarkerNavigator.ALL_SEVERITIES,
|
|
54
|
-
public kind = NavigateToMarkerAction.KIND
|
|
54
|
+
public kind = NavigateToMarkerAction.KIND
|
|
55
|
+
) {}
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
export class SModelElementComparator {
|
|
@@ -90,7 +91,11 @@ export class MarkerNavigator {
|
|
|
90
91
|
@inject(SModelElementComparator)
|
|
91
92
|
protected markerComparator: SModelElementComparator;
|
|
92
93
|
|
|
93
|
-
next(
|
|
94
|
+
next(
|
|
95
|
+
root: SModelRoot,
|
|
96
|
+
current?: SModelElement & BoundsAware,
|
|
97
|
+
predicate: (marker: SIssueMarker) => boolean = MarkerPredicates.ALL
|
|
98
|
+
): SIssueMarker | undefined {
|
|
94
99
|
const markers = this.getMarkers(root, predicate);
|
|
95
100
|
if (current === undefined) {
|
|
96
101
|
return markers.length > 0 ? markers[0] : undefined;
|
|
@@ -98,7 +103,11 @@ export class MarkerNavigator {
|
|
|
98
103
|
return markers[this.getNextIndex(current, markers) % markers.length];
|
|
99
104
|
}
|
|
100
105
|
|
|
101
|
-
previous(
|
|
106
|
+
previous(
|
|
107
|
+
root: SModelRoot,
|
|
108
|
+
current?: SModelElement & BoundsAware,
|
|
109
|
+
predicate: (marker: SIssueMarker) => boolean = MarkerPredicates.ALL
|
|
110
|
+
): SIssueMarker | undefined {
|
|
102
111
|
const markers = this.getMarkers(root, predicate);
|
|
103
112
|
if (current === undefined) {
|
|
104
113
|
return markers.length > 0 ? markers[0] : undefined;
|
|
@@ -206,7 +215,6 @@ export class NavigateToMarkerCommand extends Command {
|
|
|
206
215
|
}
|
|
207
216
|
return this.centerCommand ? this.centerCommand.redo(context) : context.root;
|
|
208
217
|
}
|
|
209
|
-
|
|
210
218
|
}
|
|
211
219
|
|
|
212
220
|
@injectable()
|
|
@@ -218,15 +226,22 @@ export class MarkerNavigatorContextMenuItemProvider implements IContextMenuItemP
|
|
|
218
226
|
const hasMarkers = collectIssueMarkers(root).length > 0;
|
|
219
227
|
return Promise.resolve([
|
|
220
228
|
{
|
|
221
|
-
id: 'navigate',
|
|
229
|
+
id: 'navigate',
|
|
230
|
+
label: 'Go to',
|
|
231
|
+
group: 'navigate',
|
|
232
|
+
actions: [],
|
|
222
233
|
children: [
|
|
223
234
|
{
|
|
224
|
-
id: 'next-marker',
|
|
235
|
+
id: 'next-marker',
|
|
236
|
+
label: 'Next marker',
|
|
237
|
+
group: 'marker',
|
|
225
238
|
actions: [new NavigateToMarkerAction('next', selectedElementIds)],
|
|
226
239
|
isEnabled: () => hasMarkers
|
|
227
240
|
},
|
|
228
241
|
{
|
|
229
|
-
id: 'previous-marker',
|
|
242
|
+
id: 'previous-marker',
|
|
243
|
+
label: 'Previous marker',
|
|
244
|
+
group: 'marker',
|
|
230
245
|
actions: [new NavigateToMarkerAction('previous', selectedElementIds)],
|
|
231
246
|
isEnabled: () => hasMarkers
|
|
232
247
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -43,7 +43,6 @@ import { createSIssue, getOrCreateSIssueMarker, getSIssueMarker } from './issue-
|
|
|
43
43
|
*/
|
|
44
44
|
@injectable()
|
|
45
45
|
export class ValidationFeedbackEmitter implements IFeedbackEmitter {
|
|
46
|
-
|
|
47
46
|
@inject(GLSP_TYPES.IFeedbackActionDispatcher) protected feedbackActionDispatcher: IFeedbackActionDispatcher;
|
|
48
47
|
|
|
49
48
|
@inject(TYPES.IActionDispatcherProvider) protected actionDispatcher: () => Promise<IActionDispatcher>;
|
|
@@ -51,7 +50,7 @@ export class ValidationFeedbackEmitter implements IFeedbackEmitter {
|
|
|
51
50
|
private registeredAction: MarkersAction;
|
|
52
51
|
|
|
53
52
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
54
|
-
private constructor() {
|
|
53
|
+
private constructor() {}
|
|
55
54
|
|
|
56
55
|
/**
|
|
57
56
|
* Register the action that should be emitted for visualizing validation feedback.
|
|
@@ -77,11 +76,11 @@ export class ValidationFeedbackEmitter implements IFeedbackEmitter {
|
|
|
77
76
|
* Action to set markers for a model
|
|
78
77
|
*/
|
|
79
78
|
export class SetMarkersAction implements MarkersAction {
|
|
80
|
-
constructor(public readonly markers: Marker[], public readonly kind = SetMarkersCommand.KIND) {
|
|
79
|
+
constructor(public readonly markers: Marker[], public readonly kind = SetMarkersCommand.KIND) {}
|
|
81
80
|
}
|
|
82
81
|
|
|
83
82
|
export function isSetMarkersAction(action: Action): action is SetMarkersAction {
|
|
84
|
-
return SetMarkersCommand.KIND === action.kind &&
|
|
83
|
+
return SetMarkersCommand.KIND === action.kind && 'markers' in action;
|
|
85
84
|
}
|
|
86
85
|
|
|
87
86
|
/**
|
|
@@ -92,7 +91,6 @@ export function isSetMarkersAction(action: Action): action is SetMarkersAction {
|
|
|
92
91
|
*/
|
|
93
92
|
@injectable()
|
|
94
93
|
export abstract class ExternalMarkerManager {
|
|
95
|
-
|
|
96
94
|
languageLabel: string;
|
|
97
95
|
|
|
98
96
|
protected actionDispatcher?: IActionDispatcher;
|
|
@@ -115,7 +113,6 @@ export abstract class ExternalMarkerManager {
|
|
|
115
113
|
*/
|
|
116
114
|
@injectable()
|
|
117
115
|
export class SetMarkersCommand extends Command {
|
|
118
|
-
|
|
119
116
|
@inject(ValidationFeedbackEmitter) protected validationFeedbackEmitter: ValidationFeedbackEmitter;
|
|
120
117
|
@inject(ExternalMarkerManager) @optional() protected externalMarkerManager?: ExternalMarkerManager;
|
|
121
118
|
@inject(EditorContextService) protected editorContextService: EditorContextService;
|
|
@@ -147,11 +144,11 @@ export class SetMarkersCommand extends Command {
|
|
|
147
144
|
}
|
|
148
145
|
|
|
149
146
|
/**
|
|
150
|
-
* Action to retrieve markers for a model
|
|
151
|
-
*/
|
|
147
|
+
* Action to retrieve markers for a model
|
|
148
|
+
*/
|
|
152
149
|
export class RequestMarkersAction implements Action {
|
|
153
150
|
static readonly KIND = 'requestMarkers';
|
|
154
|
-
constructor(public readonly elementsIDs: string[] = [], public readonly kind = RequestMarkersAction.KIND) {
|
|
151
|
+
constructor(public readonly elementsIDs: string[] = [], public readonly kind = RequestMarkersAction.KIND) {}
|
|
155
152
|
}
|
|
156
153
|
|
|
157
154
|
/**
|
|
@@ -166,7 +163,7 @@ export interface MarkersAction extends Action {
|
|
|
166
163
|
*/
|
|
167
164
|
@injectable()
|
|
168
165
|
export class ApplyMarkersAction implements MarkersAction {
|
|
169
|
-
constructor(public readonly markers: Marker[], public readonly kind = ApplyMarkersCommand.KIND) {
|
|
166
|
+
constructor(public readonly markers: Marker[], public readonly kind = ApplyMarkersCommand.KIND) {}
|
|
170
167
|
}
|
|
171
168
|
|
|
172
169
|
/**
|
|
@@ -224,7 +221,7 @@ function removeCSSClassFromIssueParent(modelElement: SParentElement, issueMarker
|
|
|
224
221
|
*/
|
|
225
222
|
@injectable()
|
|
226
223
|
export class DeleteMarkersAction implements MarkersAction {
|
|
227
|
-
constructor(public readonly markers: Marker[], public readonly kind = DeleteMarkersCommand.KIND) {
|
|
224
|
+
constructor(public readonly markers: Marker[], public readonly kind = DeleteMarkersCommand.KIND) {}
|
|
228
225
|
}
|
|
229
226
|
|
|
230
227
|
/**
|
|
@@ -271,4 +268,3 @@ export class DeleteMarkersCommand extends Command {
|
|
|
271
268
|
return this.execute(context);
|
|
272
269
|
}
|
|
273
270
|
}
|
|
274
|
-
|
|
@@ -14,21 +14,12 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { injectable } from 'inversify';
|
|
17
|
-
import {
|
|
18
|
-
Action,
|
|
19
|
-
EnableDefaultToolsAction,
|
|
20
|
-
EnableToolsAction,
|
|
21
|
-
IActionHandler,
|
|
22
|
-
ICommand,
|
|
23
|
-
ScrollMouseListener,
|
|
24
|
-
SModelElement
|
|
25
|
-
} from 'sprotty';
|
|
17
|
+
import { Action, EnableDefaultToolsAction, EnableToolsAction, IActionHandler, ICommand, ScrollMouseListener, SModelElement } from 'sprotty';
|
|
26
18
|
|
|
27
19
|
import { MarqueeMouseTool } from '../tools/marquee-mouse-tool';
|
|
28
20
|
|
|
29
21
|
@injectable()
|
|
30
22
|
export class GLSPScrollMouseListener extends ScrollMouseListener implements IActionHandler {
|
|
31
|
-
|
|
32
23
|
preventScrolling = false;
|
|
33
24
|
|
|
34
25
|
handle(action: Action): void | Action | ICommand {
|
package/src/index.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
|
|
@@ -39,12 +39,13 @@ export * from './base/actions/context-actions';
|
|
|
39
39
|
export * from './base/actions/edit-mode-action';
|
|
40
40
|
export * from './base/actions/edit-validation-actions';
|
|
41
41
|
export * from './base/actions/focus-change-action';
|
|
42
|
-
export * from './base/actions/protocol-actions';
|
|
43
42
|
export * from './base/args';
|
|
44
43
|
export * from './base/auto-complete/auto-complete-actions';
|
|
45
44
|
export * from './base/auto-complete/auto-complete-widget';
|
|
46
45
|
export * from './base/auto-complete/validation-decorator';
|
|
47
46
|
export * from './base/command-stack';
|
|
47
|
+
export * from './base/container-modules';
|
|
48
|
+
export { configureServerActions } from './base/di.config';
|
|
48
49
|
export * from './base/drag-aware-mouse-listener';
|
|
49
50
|
export * from './base/editor-context';
|
|
50
51
|
export * from './base/focus-tracker';
|
|
@@ -95,21 +96,38 @@ export * from './features/tools/edge-edit-tool';
|
|
|
95
96
|
export * from './features/tools/node-creation-tool';
|
|
96
97
|
export * from './features/undo-redo/model';
|
|
97
98
|
export * from './features/validation/issue-marker';
|
|
98
|
-
export * from './features/validation/validate';
|
|
99
99
|
export * from './features/validation/marker-navigator';
|
|
100
|
+
export * from './features/validation/validate';
|
|
100
101
|
export * from './features/viewport/glsp-scroll-mouse-listener';
|
|
101
102
|
export * from './lib/model';
|
|
102
|
-
export * from './model-source/glsp-server-status';
|
|
103
103
|
export * from './model-source/glsp-diagram-server';
|
|
104
|
+
export * from './model-source/glsp-server-status';
|
|
104
105
|
export * from './utils/argument-utils';
|
|
105
106
|
export * from './utils/array-utils';
|
|
106
107
|
export * from './utils/marker';
|
|
107
108
|
export * from './utils/smodel-util';
|
|
108
109
|
export * from './utils/viewpoint-util';
|
|
109
110
|
export * from './views';
|
|
110
|
-
|
|
111
111
|
export {
|
|
112
|
-
validationModule,
|
|
113
|
-
|
|
114
|
-
|
|
112
|
+
validationModule,
|
|
113
|
+
saveModule,
|
|
114
|
+
paletteModule,
|
|
115
|
+
toolFeedbackModule,
|
|
116
|
+
defaultGLSPModule,
|
|
117
|
+
modelHintsModule,
|
|
118
|
+
glspCommandPaletteModule,
|
|
119
|
+
glspContextMenuModule,
|
|
120
|
+
glspServerCopyPasteModule,
|
|
121
|
+
copyPasteContextMenuModule,
|
|
122
|
+
glspSelectModule,
|
|
123
|
+
glspMouseToolModule,
|
|
124
|
+
layoutCommandsModule,
|
|
125
|
+
glspEditLabelModule,
|
|
126
|
+
glspHoverModule,
|
|
127
|
+
toolsModule,
|
|
128
|
+
navigationModule,
|
|
129
|
+
markerNavigatorModule,
|
|
130
|
+
glspDecorationModule,
|
|
131
|
+
modelSourceWatcherModule,
|
|
132
|
+
glspViewportModule
|
|
115
133
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -27,11 +27,8 @@ import {
|
|
|
27
27
|
SwitchEditModeCommand
|
|
28
28
|
} from 'sprotty';
|
|
29
29
|
|
|
30
|
-
import { RequestContextActions } from '../base/actions/context-actions';
|
|
31
30
|
import { isSetEditModeAction, SetEditModeAction } from '../base/actions/edit-mode-action';
|
|
32
|
-
import { InitializeClientSessionAction } from '../base/actions/protocol-actions';
|
|
33
31
|
import { SourceUriAware } from '../base/source-uri-aware';
|
|
34
|
-
import { RequestTypeHintsAction } from '../features/hints/request-type-hints-action';
|
|
35
32
|
import { isServerMessageAction, ServerMessageAction } from './glsp-server-status';
|
|
36
33
|
|
|
37
34
|
const receivedFromServerProperty = '__receivedFromServer';
|
|
@@ -108,16 +105,7 @@ export function isReceivedFromServer(action: Action): boolean {
|
|
|
108
105
|
}
|
|
109
106
|
|
|
110
107
|
export function registerDefaultGLSPServerActions(registry: ActionHandlerRegistry, diagramServer: DiagramServer): void {
|
|
111
|
-
|
|
112
|
-
// notify us about all actions it handles (Via ConfigureServerHandlersAction/Handler)
|
|
113
|
-
registry.register(InitializeClientSessionAction.KIND, diagramServer);
|
|
114
|
-
|
|
115
|
-
// Register some additional early actions, that will happen before the server can tell us
|
|
116
|
-
// which actions it handles
|
|
117
|
-
registry.register(RequestTypeHintsAction.KIND, diagramServer);
|
|
118
|
-
registry.register(RequestModelAction.KIND, diagramServer);
|
|
119
|
-
registry.register(RequestContextActions.KIND, diagramServer);
|
|
120
|
-
|
|
108
|
+
registry.register(ServerMessageAction.KIND, diagramServer);
|
|
121
109
|
registry.register(ServerStatusAction.KIND, diagramServer);
|
|
122
110
|
|
|
123
111
|
// Register an empty handler for SwitchEditMode, to avoid runtime exceptions.
|
|
@@ -18,7 +18,7 @@ import { SModelElement } from 'sprotty';
|
|
|
18
18
|
import { hasArguments } from '../base/args';
|
|
19
19
|
|
|
20
20
|
export namespace GArgument {
|
|
21
|
-
export function asNumber(argValue:
|
|
21
|
+
export function asNumber(argValue: string | number | boolean): number | undefined {
|
|
22
22
|
return typeof argValue === 'number' ? argValue : undefined;
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@ export namespace GArgument {
|
|
|
26
26
|
return argValues.map(asNumber);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export function asString(argValue:
|
|
29
|
+
export function asString(argValue: string | number | boolean): string | undefined {
|
|
30
30
|
return typeof argValue === 'string' ? argValue : undefined;
|
|
31
31
|
}
|
|
32
32
|
|
|
@@ -34,7 +34,7 @@ export namespace GArgument {
|
|
|
34
34
|
return argValues.map(asString);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
export function asBoolean(argValue:
|
|
37
|
+
export function asBoolean(argValue: string | number | boolean): boolean | undefined {
|
|
38
38
|
return typeof argValue === 'boolean' ? argValue : undefined;
|
|
39
39
|
}
|
|
40
40
|
|
|
@@ -112,16 +112,20 @@ export class CornerRadius {
|
|
|
112
112
|
public readonly topLeft: number = 0,
|
|
113
113
|
public readonly topRight: number = topLeft,
|
|
114
114
|
public readonly bottomRight: number = topLeft,
|
|
115
|
-
public readonly bottomLeft: number = topRight
|
|
116
|
-
}
|
|
115
|
+
public readonly bottomLeft: number = topRight
|
|
116
|
+
) {}
|
|
117
117
|
|
|
118
118
|
static from(element: SModelElement | undefined): CornerRadius | undefined {
|
|
119
|
-
const radius = GArgument.getNumbers(
|
|
119
|
+
const radius = GArgument.getNumbers(
|
|
120
|
+
element,
|
|
121
|
+
this.KEY_RADIUS_TOP_LEFT,
|
|
122
|
+
this.KEY_RADIUS_TOP_RIGHT,
|
|
123
|
+
this.KEY_RADIUS_BOTTOM_RIGHT,
|
|
124
|
+
this.KEY_RADIUS_BOTTOM_LEFT
|
|
125
|
+
);
|
|
120
126
|
if (radius === undefined || radius[0] === undefined) {
|
|
121
127
|
return undefined;
|
|
122
128
|
}
|
|
123
|
-
return GArgument.hasNValues(radius, 4)
|
|
124
|
-
? new CornerRadius(radius[0], radius[1], radius[2], radius[3])
|
|
125
|
-
: new CornerRadius(radius[0]);
|
|
129
|
+
return GArgument.hasNValues(radius, 4) ? new CornerRadius(radius[0], radius[1], radius[2], radius[3]) : new CornerRadius(radius[0]);
|
|
126
130
|
}
|
|
127
131
|
}
|
package/src/utils/array-utils.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
|
|
@@ -31,7 +31,9 @@ export function distinctAdd<T>(array: T[], value: T): boolean {
|
|
|
31
31
|
return false;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
interface Constructor<T> {
|
|
34
|
+
interface Constructor<T> {
|
|
35
|
+
new (...args: any[]): T;
|
|
36
|
+
}
|
|
35
37
|
type PrimitiveType = 'bigint' | 'boolean' | 'function' | 'number' | 'object' | 'string' | 'symbol' | 'undefined';
|
|
36
38
|
|
|
37
39
|
export function isArrayOfType<T>(object: any, typeGuard: (elem: any) => elem is T, supportEmpty = false): object is T[] {
|
|
@@ -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
|
|
@@ -52,16 +52,22 @@ export function isValidMove(element: SModelElement & BoundsAware, newPosition: P
|
|
|
52
52
|
return true;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
export function toValidElementMove(
|
|
55
|
+
export function toValidElementMove(
|
|
56
|
+
element: SModelElement & BoundsAware,
|
|
57
|
+
move: WriteableElementMove,
|
|
58
|
+
movementRestrictor?: IMovementRestrictor
|
|
59
|
+
): WriteableElementMove | undefined {
|
|
56
60
|
if (!isValidMove(element, move.toPosition, movementRestrictor)) {
|
|
57
61
|
return;
|
|
58
62
|
}
|
|
59
63
|
return move;
|
|
60
64
|
}
|
|
61
65
|
|
|
62
|
-
export function toValidElementAndBounds(
|
|
63
|
-
|
|
64
|
-
|
|
66
|
+
export function toValidElementAndBounds(
|
|
67
|
+
element: SModelElement & BoundsAware,
|
|
68
|
+
bounds: WriteableElementAndBounds,
|
|
69
|
+
movementRestrictor?: IMovementRestrictor
|
|
70
|
+
): WriteableElementAndBounds | undefined {
|
|
65
71
|
if (!isValidMove(element, bounds.newPosition, movementRestrictor)) {
|
|
66
72
|
return;
|
|
67
73
|
}
|
package/src/utils/smodel-util.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
|
|
@@ -27,21 +27,24 @@ import {
|
|
|
27
27
|
SRoutableElement,
|
|
28
28
|
SRoutingHandle
|
|
29
29
|
} from 'sprotty';
|
|
30
|
-
|
|
31
30
|
import { ElementAndRoutingPoints } from '../base/operations/operation';
|
|
32
31
|
|
|
33
32
|
export function getIndex(element: SModelElement): SModelIndex<SModelElement> {
|
|
34
33
|
return element.root.index;
|
|
35
34
|
}
|
|
36
35
|
|
|
37
|
-
export function forEachElement<T>(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
export function forEachElement<T>(
|
|
37
|
+
element: SModelElement,
|
|
38
|
+
predicate: (modelElement: SModelElement) => modelElement is SModelElement & T,
|
|
39
|
+
runnable: (modelElement: SModelElement & T) => void
|
|
40
|
+
): void {
|
|
41
|
+
getIndex(element).all().filter(predicate).forEach(runnable);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
export function getMatchingElements<T>(
|
|
44
|
+
export function getMatchingElements<T>(
|
|
45
|
+
element: SModelElement,
|
|
46
|
+
predicate: (modelElement: SModelElement) => modelElement is SModelElement & T
|
|
47
|
+
): (SModelElement & T)[] {
|
|
45
48
|
const matching: (SModelElement & T)[] = [];
|
|
46
49
|
forEachElement(element, predicate, item => matching.push(item));
|
|
47
50
|
return matching;
|
|
@@ -53,9 +56,10 @@ export function hasSelectedElements(element: SModelElement): boolean {
|
|
|
53
56
|
|
|
54
57
|
export function getSelectedElementCount(element: SModelElement): number {
|
|
55
58
|
let selected = 0;
|
|
56
|
-
getIndex(element)
|
|
59
|
+
getIndex(element)
|
|
60
|
+
.all()
|
|
57
61
|
.filter(isSelected)
|
|
58
|
-
.forEach(e => selected = selected + 1);
|
|
62
|
+
.forEach(e => (selected = selected + 1));
|
|
59
63
|
return selected;
|
|
60
64
|
}
|
|
61
65
|
|
|
@@ -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
|
|
@@ -41,7 +41,8 @@ import {
|
|
|
41
41
|
* A mouseEvent
|
|
42
42
|
*/
|
|
43
43
|
export function getAbsolutePosition(target: SModelElement, mouseEvent: MouseEvent): Point {
|
|
44
|
-
let xPos = mouseEvent.pageX;
|
|
44
|
+
let xPos = mouseEvent.pageX;
|
|
45
|
+
let yPos = mouseEvent.pageY;
|
|
45
46
|
const canvasBounds = target.root.canvasBounds;
|
|
46
47
|
xPos -= canvasBounds.x;
|
|
47
48
|
yPos -= canvasBounds.y;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2021 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { injectable } from 'inversify';
|
|
17
|
+
import { VNode } from 'snabbdom';
|
|
18
|
+
import { BoundsAware, RenderingContext, SChildElement, SCompartment, ShapeView, svg } from 'sprotty/lib';
|
|
19
|
+
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
21
|
+
const JSX = { createElement: svg };
|
|
22
|
+
|
|
23
|
+
@injectable()
|
|
24
|
+
export class StructureCompartmentView extends ShapeView {
|
|
25
|
+
|
|
26
|
+
render(model: Readonly<SCompartment & SChildElement & BoundsAware>, context: RenderingContext): VNode | undefined {
|
|
27
|
+
if (!this.isVisible(model, context)) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return <g>
|
|
32
|
+
<rect class-sprotty-comp={true} class-debug={true} x="0" y="0" width={model.size.width} height={model.size.height}></rect>
|
|
33
|
+
{context.renderChildren(model)}
|
|
34
|
+
</g>;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
}
|
|
@@ -14,15 +14,13 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { injectable } from 'inversify';
|
|
17
|
-
import
|
|
18
|
-
import {
|
|
19
|
-
import { VNode } from 'snabbdom/vnode';
|
|
20
|
-
import { Point, PolylineEdgeView, RenderingContext, SEdge } from 'sprotty';
|
|
17
|
+
import { Classes, VNode } from 'snabbdom';
|
|
18
|
+
import { Point, PolylineEdgeView, RenderingContext, SEdge, svg } from 'sprotty';
|
|
21
19
|
|
|
22
20
|
import { EdgePadding } from '../utils/argument-utils';
|
|
23
21
|
|
|
24
22
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
25
|
-
const JSX = { createElement:
|
|
23
|
+
const JSX = { createElement: svg };
|
|
26
24
|
|
|
27
25
|
@injectable()
|
|
28
26
|
export class GEdgeView extends PolylineEdgeView {
|
|
@@ -33,11 +31,13 @@ export class GEdgeView extends PolylineEdgeView {
|
|
|
33
31
|
return this.renderDanglingEdge('Cannot compute route', edge, context);
|
|
34
32
|
}
|
|
35
33
|
|
|
36
|
-
return
|
|
37
|
-
{this.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
return (
|
|
35
|
+
<g class-sprotty-edge={true} class-mouseover={edge.hoverFeedback} {...this.addtionalClasses(edge, context)}>
|
|
36
|
+
{this.renderLine(edge, route, context)}
|
|
37
|
+
{this.renderAdditionals(edge, route, context)}
|
|
38
|
+
{context.renderChildren(edge, { route })}
|
|
39
|
+
</g>
|
|
40
|
+
);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
protected addtionalClasses(_edge: Readonly<SEdge>, _context: RenderingContext): Classes {
|
|
@@ -55,8 +55,16 @@ export class GEdgeView extends PolylineEdgeView {
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
protected renderMouseHandle(segments: Point[], padding: number): VNode {
|
|
58
|
-
return
|
|
59
|
-
|
|
58
|
+
return (
|
|
59
|
+
<path
|
|
60
|
+
class-mouse-handle
|
|
61
|
+
d={this.createPathForSegments(segments)}
|
|
62
|
+
style-stroke-width={padding * 2}
|
|
63
|
+
style-stroke='transparent'
|
|
64
|
+
style-stroke-dasharray='none'
|
|
65
|
+
style-stroke-dashoffset='0'
|
|
66
|
+
/>
|
|
67
|
+
);
|
|
60
68
|
}
|
|
61
69
|
|
|
62
70
|
protected createPathForSegments(segments: Point[]): string {
|
|
@@ -68,5 +76,4 @@ export class GEdgeView extends PolylineEdgeView {
|
|
|
68
76
|
}
|
|
69
77
|
return path;
|
|
70
78
|
}
|
|
71
|
-
|
|
72
79
|
}
|
package/src/views/index.ts
CHANGED