@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) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { inject, injectable } from 'inversify';
|
|
17
|
-
import { VNode } from 'snabbdom
|
|
17
|
+
import { VNode } from 'snabbdom';
|
|
18
18
|
import {
|
|
19
19
|
Action,
|
|
20
20
|
CommandExecutionContext,
|
|
@@ -27,23 +27,24 @@ import {
|
|
|
27
27
|
MouseListener,
|
|
28
28
|
MoveAction,
|
|
29
29
|
Point,
|
|
30
|
+
SChildElement,
|
|
30
31
|
SModelElement,
|
|
31
32
|
SModelRoot,
|
|
32
33
|
TYPES
|
|
33
34
|
} from 'sprotty';
|
|
34
|
-
|
|
35
35
|
import { isNotUndefined } from '../../utils/smodel-util';
|
|
36
36
|
import { addResizeHandles, isResizable, removeResizeHandles, SResizeHandle } from '../change-bounds/model';
|
|
37
37
|
import { createMovementRestrictionFeedback, removeMovementRestrictionFeedback } from '../change-bounds/movement-restrictor';
|
|
38
|
+
import { CursorCSS, cursorFeedbackAction } from '../tool-feedback/css-feedback';
|
|
38
39
|
import { ChangeBoundsTool } from '../tools/change-bounds-tool';
|
|
39
40
|
import { FeedbackCommand } from './model';
|
|
40
41
|
|
|
41
42
|
export class ShowChangeBoundsToolResizeFeedbackAction implements Action {
|
|
42
|
-
constructor(readonly elementId?: string, public readonly kind: string = ShowChangeBoundsToolResizeFeedbackCommand.KIND) {
|
|
43
|
+
constructor(readonly elementId?: string, public readonly kind: string = ShowChangeBoundsToolResizeFeedbackCommand.KIND) {}
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
export class HideChangeBoundsToolResizeFeedbackAction implements Action {
|
|
46
|
-
constructor(public readonly kind: string = HideChangeBoundsToolResizeFeedbackCommand.KIND) {
|
|
47
|
+
constructor(public readonly kind: string = HideChangeBoundsToolResizeFeedbackCommand.KIND) {}
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
@injectable()
|
|
@@ -54,10 +55,7 @@ export class ShowChangeBoundsToolResizeFeedbackCommand extends FeedbackCommand {
|
|
|
54
55
|
|
|
55
56
|
execute(context: CommandExecutionContext): CommandReturn {
|
|
56
57
|
const index = context.root.index;
|
|
57
|
-
index
|
|
58
|
-
.all()
|
|
59
|
-
.filter(isResizable)
|
|
60
|
-
.forEach(removeResizeHandles);
|
|
58
|
+
index.all().filter(isResizable).forEach(removeResizeHandles);
|
|
61
59
|
|
|
62
60
|
if (isNotUndefined(this.action.elementId)) {
|
|
63
61
|
const resizeElement = index.getById(this.action.elementId);
|
|
@@ -77,10 +75,7 @@ export class HideChangeBoundsToolResizeFeedbackCommand extends FeedbackCommand {
|
|
|
77
75
|
|
|
78
76
|
execute(context: CommandExecutionContext): CommandReturn {
|
|
79
77
|
const index = context.root.index;
|
|
80
|
-
index
|
|
81
|
-
.all()
|
|
82
|
-
.filter(isResizable)
|
|
83
|
-
.forEach(removeResizeHandles);
|
|
78
|
+
index.all().filter(isResizable).forEach(removeResizeHandles);
|
|
84
79
|
return context.root;
|
|
85
80
|
}
|
|
86
81
|
}
|
|
@@ -126,15 +121,19 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
126
121
|
const moveAction = this.getElementMoves(target, event, false);
|
|
127
122
|
if (moveAction) {
|
|
128
123
|
result.push(moveAction);
|
|
124
|
+
result.push(cursorFeedbackAction(CursorCSS.MOVE));
|
|
129
125
|
}
|
|
130
126
|
}
|
|
131
127
|
return result;
|
|
132
128
|
}
|
|
133
129
|
|
|
134
130
|
protected collectStartPositions(root: SModelRoot): void {
|
|
135
|
-
root.index
|
|
131
|
+
const selectedElements = root.index
|
|
136
132
|
.all()
|
|
137
|
-
.filter(element => isSelectable(element) && element.selected)
|
|
133
|
+
.filter(element => isSelectable(element) && element.selected);
|
|
134
|
+
const elementsSet = new Set(selectedElements);
|
|
135
|
+
selectedElements
|
|
136
|
+
.filter(element => !this.isChildOfSelected(elementsSet, element))
|
|
138
137
|
.forEach(element => {
|
|
139
138
|
if (isMoveable(element)) {
|
|
140
139
|
this.elementId2startPos.set(element.id, element.position);
|
|
@@ -142,6 +141,16 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
142
141
|
});
|
|
143
142
|
}
|
|
144
143
|
|
|
144
|
+
protected isChildOfSelected(selectedElements: Set<SModelElement>, element: SModelElement): boolean {
|
|
145
|
+
while (element instanceof SChildElement) {
|
|
146
|
+
element = element.parent;
|
|
147
|
+
if (selectedElements.has(element)) {
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
|
|
145
154
|
protected getElementMoves(target: SModelElement, event: MouseEvent, isFinished: boolean): MoveAction | undefined {
|
|
146
155
|
if (!this.startDragPosition) {
|
|
147
156
|
return undefined;
|
|
@@ -214,7 +223,7 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
214
223
|
}
|
|
215
224
|
|
|
216
225
|
mouseEnter(target: SModelElement, event: MouseEvent): Action[] {
|
|
217
|
-
if (target instanceof SModelRoot && event.buttons === 0) {
|
|
226
|
+
if (target instanceof SModelRoot && event.buttons === 0 && !this.startDragPosition) {
|
|
218
227
|
this.mouseUp(target, event);
|
|
219
228
|
}
|
|
220
229
|
return [];
|
|
@@ -230,7 +239,7 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
230
239
|
if (this.tool.movementRestrictor) {
|
|
231
240
|
this.tool.deregisterFeedback([removeMovementRestrictionFeedback(target, this.tool.movementRestrictor)], this);
|
|
232
241
|
}
|
|
233
|
-
|
|
242
|
+
result.push(cursorFeedbackAction(CursorCSS.DEFAULT));
|
|
234
243
|
}
|
|
235
244
|
this.hasDragged = false;
|
|
236
245
|
this.startDragPosition = undefined;
|
|
@@ -49,7 +49,8 @@ export class DrawFeedbackEdgeAction implements Action {
|
|
|
49
49
|
public readonly elementTypeId: string,
|
|
50
50
|
public readonly sourceId: string,
|
|
51
51
|
public readonly edgeSchema?: SEdgeSchema,
|
|
52
|
-
public readonly kind: string = DrawFeedbackEdgeCommand.KIND
|
|
52
|
+
public readonly kind: string = DrawFeedbackEdgeCommand.KIND
|
|
53
|
+
) {}
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
@injectable()
|
|
@@ -68,7 +69,7 @@ export class DrawFeedbackEdgeCommand extends FeedbackCommand {
|
|
|
68
69
|
}
|
|
69
70
|
|
|
70
71
|
export class RemoveFeedbackEdgeAction implements Action {
|
|
71
|
-
constructor(public readonly kind: string = RemoveFeedbackEdgeCommand.KIND) {
|
|
72
|
+
constructor(public readonly kind: string = RemoveFeedbackEdgeCommand.KIND) {}
|
|
72
73
|
}
|
|
73
74
|
|
|
74
75
|
@injectable()
|
|
@@ -83,10 +84,12 @@ export class RemoveFeedbackEdgeCommand extends FeedbackCommand {
|
|
|
83
84
|
|
|
84
85
|
export class FeedbackEdgeEnd extends SDanglingAnchor {
|
|
85
86
|
static readonly TYPE = 'feedback-edge-end';
|
|
86
|
-
constructor(
|
|
87
|
+
constructor(
|
|
88
|
+
readonly sourceId: string,
|
|
87
89
|
readonly elementTypeId: string,
|
|
88
90
|
public feedbackEdge: SRoutableElement | undefined = undefined,
|
|
89
|
-
public readonly type: string = FeedbackEdgeEnd.TYPE
|
|
91
|
+
public readonly type: string = FeedbackEdgeEnd.TYPE
|
|
92
|
+
) {
|
|
90
93
|
super();
|
|
91
94
|
}
|
|
92
95
|
}
|
|
@@ -105,8 +108,9 @@ export class FeedbackEdgeEndMovingMouseListener extends MouseListener {
|
|
|
105
108
|
|
|
106
109
|
const edge = edgeEnd.feedbackEdge;
|
|
107
110
|
const position = getAbsolutePosition(edgeEnd, event);
|
|
108
|
-
const endAtMousePosition = findChildrenAtPosition(target.root, position)
|
|
109
|
-
|
|
111
|
+
const endAtMousePosition = findChildrenAtPosition(target.root, position).find(
|
|
112
|
+
element => isConnectable(element) && element.canConnect(edge, 'target')
|
|
113
|
+
);
|
|
110
114
|
|
|
111
115
|
if (endAtMousePosition instanceof SConnectableElement && edge.source && isBoundsAware(edge.source)) {
|
|
112
116
|
const anchor = this.computeAbsoluteAnchor(endAtMousePosition, center(edge.source.bounds));
|
|
@@ -149,7 +153,12 @@ export const defaultFeedbackEdgeSchema: SEdgeSchema = {
|
|
|
149
153
|
opacity: 0.3
|
|
150
154
|
} as SEdgeSchema;
|
|
151
155
|
|
|
152
|
-
export function drawFeedbackEdge(
|
|
156
|
+
export function drawFeedbackEdge(
|
|
157
|
+
context: CommandExecutionContext,
|
|
158
|
+
sourceId: string,
|
|
159
|
+
elementTypeId: string,
|
|
160
|
+
feedbackEdgeSchema: SEdgeSchema
|
|
161
|
+
): void {
|
|
153
162
|
const root = context.root;
|
|
154
163
|
const sourceChild = root.index.getById(sourceId);
|
|
155
164
|
if (!sourceChild) {
|
|
@@ -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
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { inject, injectable } from 'inversify';
|
|
17
17
|
import { Action, CommandExecutionContext, SModelElement, SModelRoot, TYPES } from 'sprotty';
|
|
18
|
-
|
|
19
18
|
import { isStringArray } from '../../utils/array-utils';
|
|
20
19
|
import { addCssClasses, removeCssClasses } from '../../utils/smodel-util';
|
|
21
20
|
import { FeedbackCommand } from './model';
|
|
@@ -27,7 +26,8 @@ export class ModifyCSSFeedbackAction implements Action {
|
|
|
27
26
|
public readonly input?: string[] | SModelElement[],
|
|
28
27
|
public readonly addClasses?: string[],
|
|
29
28
|
public readonly removeClasses?: string[],
|
|
30
|
-
public kind = ModifyCssFeedbackCommand.KIND
|
|
29
|
+
public kind = ModifyCssFeedbackCommand.KIND
|
|
30
|
+
) {
|
|
31
31
|
if (input) {
|
|
32
32
|
this.elementIds = isStringArray(input) ? input : input.map(element => element.id);
|
|
33
33
|
}
|
|
@@ -68,6 +68,7 @@ function exists(elt?: SModelElement): elt is SModelElement {
|
|
|
68
68
|
return elt !== undefined;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
// eslint-disable-next-line no-shadow
|
|
71
72
|
export enum CursorCSS {
|
|
72
73
|
DEFAULT = 'default-mode',
|
|
73
74
|
OVERLAP_FORBIDDEN = 'overlap-forbidden-mode',
|
|
@@ -77,7 +78,9 @@ export enum CursorCSS {
|
|
|
77
78
|
EDGE_RECONNECT = 'edge-reconnect-select-target-mode',
|
|
78
79
|
OPERATION_NOT_ALLOWED = 'edge-modification-not-allowed-mode',
|
|
79
80
|
ELEMENT_DELETION = 'element-deletion-mode',
|
|
80
|
-
|
|
81
|
+
RESIZE_NESW = 'resize-nesw-mode',
|
|
82
|
+
RESIZE_NWSE = 'resize-nwse-mode',
|
|
83
|
+
MOVE = 'move-mode',
|
|
81
84
|
MARQUEE = 'marquee-mode'
|
|
82
85
|
}
|
|
83
86
|
|
|
@@ -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
|
|
@@ -18,10 +18,7 @@ import { configureCommand, configureView, LocationPostprocessor, MoveCommand, TY
|
|
|
18
18
|
|
|
19
19
|
import { GLSP_TYPES } from '../../base/types';
|
|
20
20
|
import { SResizeHandle } from '../change-bounds/model';
|
|
21
|
-
import {
|
|
22
|
-
HideChangeBoundsToolResizeFeedbackCommand,
|
|
23
|
-
ShowChangeBoundsToolResizeFeedbackCommand
|
|
24
|
-
} from './change-bounds-tool-feedback';
|
|
21
|
+
import { HideChangeBoundsToolResizeFeedbackCommand, ShowChangeBoundsToolResizeFeedbackCommand } from './change-bounds-tool-feedback';
|
|
25
22
|
import { DrawFeedbackEdgeCommand, FeedbackEdgeEnd, RemoveFeedbackEdgeCommand } from './creation-tool-feedback';
|
|
26
23
|
import { ModifyCssFeedbackCommand } from './css-feedback';
|
|
27
24
|
import {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { inject, injectable } from 'inversify';
|
|
17
|
-
import { VNode } from 'snabbdom
|
|
17
|
+
import { VNode } from 'snabbdom';
|
|
18
18
|
import {
|
|
19
19
|
Action,
|
|
20
20
|
add,
|
|
@@ -47,12 +47,7 @@ import {
|
|
|
47
47
|
import { isNotUndefined, isRoutable, isRoutingHandle } from '../../utils/smodel-util';
|
|
48
48
|
import { getAbsolutePosition, toAbsoluteBounds } from '../../utils/viewpoint-util';
|
|
49
49
|
import { addReconnectHandles, removeReconnectHandles } from '../reconnect/model';
|
|
50
|
-
import {
|
|
51
|
-
FeedbackEdgeEnd,
|
|
52
|
-
feedbackEdgeEndId,
|
|
53
|
-
FeedbackEdgeEndMovingMouseListener,
|
|
54
|
-
feedbackEdgeId
|
|
55
|
-
} from './creation-tool-feedback';
|
|
50
|
+
import { FeedbackEdgeEnd, feedbackEdgeEndId, FeedbackEdgeEndMovingMouseListener, feedbackEdgeId } from './creation-tool-feedback';
|
|
56
51
|
import { FeedbackCommand } from './model';
|
|
57
52
|
|
|
58
53
|
/**
|
|
@@ -60,11 +55,11 @@ import { FeedbackCommand } from './model';
|
|
|
60
55
|
*/
|
|
61
56
|
|
|
62
57
|
export class ShowEdgeReconnectHandlesFeedbackAction implements Action {
|
|
63
|
-
constructor(readonly elementId?: string, public readonly kind: string = ShowEdgeReconnectHandlesFeedbackCommand.KIND) {
|
|
58
|
+
constructor(readonly elementId?: string, public readonly kind: string = ShowEdgeReconnectHandlesFeedbackCommand.KIND) {}
|
|
64
59
|
}
|
|
65
60
|
|
|
66
61
|
export class HideEdgeReconnectHandlesFeedbackAction implements Action {
|
|
67
|
-
constructor(public readonly kind: string = HideEdgeReconnectHandlesFeedbackCommand.KIND) {
|
|
62
|
+
constructor(public readonly kind: string = HideEdgeReconnectHandlesFeedbackCommand.KIND) {}
|
|
68
63
|
}
|
|
69
64
|
|
|
70
65
|
@injectable()
|
|
@@ -108,9 +103,11 @@ export class HideEdgeReconnectHandlesFeedbackCommand extends FeedbackCommand {
|
|
|
108
103
|
*/
|
|
109
104
|
|
|
110
105
|
export class SwitchRoutingModeAction extends SwitchEditModeAction {
|
|
111
|
-
constructor(
|
|
106
|
+
constructor(
|
|
107
|
+
public readonly elementsToActivate: string[] = [],
|
|
112
108
|
public readonly elementsToDeactivate: string[] = [],
|
|
113
|
-
public readonly kind: string = SwitchRoutingModeCommand.KIND
|
|
109
|
+
public readonly kind: string = SwitchRoutingModeCommand.KIND
|
|
110
|
+
) {
|
|
114
111
|
super(elementsToActivate, elementsToDeactivate);
|
|
115
112
|
}
|
|
116
113
|
}
|
|
@@ -128,7 +125,11 @@ export class SwitchRoutingModeCommand extends SwitchEditModeCommand {
|
|
|
128
125
|
*/
|
|
129
126
|
|
|
130
127
|
export class DrawFeedbackEdgeSourceAction implements Action {
|
|
131
|
-
constructor(
|
|
128
|
+
constructor(
|
|
129
|
+
readonly elementTypeId: string,
|
|
130
|
+
readonly targetId: string,
|
|
131
|
+
public readonly kind: string = DrawFeedbackEdgeSourceCommand.KIND
|
|
132
|
+
) {}
|
|
132
133
|
}
|
|
133
134
|
|
|
134
135
|
@injectable()
|
|
@@ -169,8 +170,9 @@ export class FeedbackEdgeSourceMovingMouseListener extends MouseListener {
|
|
|
169
170
|
|
|
170
171
|
const edge = edgeEnd.feedbackEdge;
|
|
171
172
|
const position = getAbsolutePosition(edgeEnd, event);
|
|
172
|
-
const endAtMousePosition = findChildrenAtPosition(target.root, position)
|
|
173
|
-
|
|
173
|
+
const endAtMousePosition = findChildrenAtPosition(target.root, position).find(
|
|
174
|
+
e => isConnectable(e) && e.canConnect(edge, 'source')
|
|
175
|
+
);
|
|
174
176
|
|
|
175
177
|
if (endAtMousePosition instanceof SConnectableElement && edge.target && isBoundsAware(edge.target)) {
|
|
176
178
|
const anchor = this.computeAbsoluteAnchor(endAtMousePosition, center(edge.target.bounds));
|
|
@@ -234,7 +236,8 @@ export class FeedbackEdgeRouteMovingMouseListener extends MouseListener {
|
|
|
234
236
|
const dx = (event.pageX - this.lastDragPosition.x) / zoom;
|
|
235
237
|
const dy = (event.pageY - this.lastDragPosition.y) / zoom;
|
|
236
238
|
const handleMoves: ElementMove[] = [];
|
|
237
|
-
target.root.index
|
|
239
|
+
target.root.index
|
|
240
|
+
.all()
|
|
238
241
|
.filter(element => isSelected(element))
|
|
239
242
|
.forEach(element => {
|
|
240
243
|
if (isRoutingHandle(element)) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { inject, injectable } from 'inversify';
|
|
17
17
|
import { Action, IActionDispatcher, ILogger, TYPES } from 'sprotty';
|
|
18
18
|
|
|
19
|
-
export interface IFeedbackEmitter {
|
|
19
|
+
export interface IFeedbackEmitter {}
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Dispatcher for actions that are meant to show visual feedback on
|
|
@@ -52,14 +52,14 @@ export interface IFeedbackActionDispatcher {
|
|
|
52
52
|
deregisterFeedback(feedbackEmitter: IFeedbackEmitter, actions: Action[]): void;
|
|
53
53
|
|
|
54
54
|
/**
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
* Retrieve all `actions` sent out by currently registered `feedbackEmitter`.
|
|
56
|
+
*/
|
|
57
57
|
getRegisteredFeedback(): Action[];
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
@injectable()
|
|
61
61
|
export class FeedbackActionDispatcher implements IFeedbackActionDispatcher {
|
|
62
|
-
protected feedbackEmitters: Map<IFeedbackEmitter, Action[]> = new Map;
|
|
62
|
+
protected feedbackEmitters: Map<IFeedbackEmitter, Action[]> = new Map();
|
|
63
63
|
|
|
64
64
|
@inject(TYPES.IActionDispatcherProvider) protected actionDispatcher: () => Promise<IActionDispatcher>;
|
|
65
65
|
@inject(TYPES.ILogger) protected logger: ILogger;
|
|
@@ -93,9 +93,7 @@ export class FeedbackActionDispatcher implements IFeedbackActionDispatcher {
|
|
|
93
93
|
if (value.find(a => a === action)) {
|
|
94
94
|
result.push(key);
|
|
95
95
|
}
|
|
96
|
-
}
|
|
97
|
-
);
|
|
96
|
+
});
|
|
98
97
|
return result;
|
|
99
98
|
}
|
|
100
|
-
|
|
101
99
|
}
|
|
@@ -33,7 +33,8 @@ export class DrawMarqueeAction implements Action {
|
|
|
33
33
|
constructor(
|
|
34
34
|
public readonly startPoint: Point,
|
|
35
35
|
public readonly endPoint: Point,
|
|
36
|
-
public readonly kind: string = DrawMarqueeCommand.KIND
|
|
36
|
+
public readonly kind: string = DrawMarqueeCommand.KIND
|
|
37
|
+
) {}
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
@injectable()
|
|
@@ -51,7 +52,7 @@ export class DrawMarqueeCommand extends FeedbackCommand {
|
|
|
51
52
|
}
|
|
52
53
|
|
|
53
54
|
export class RemoveMarqueeAction implements Action {
|
|
54
|
-
constructor(public readonly kind: string = RemoveMarqueeCommand.KIND) {
|
|
55
|
+
constructor(public readonly kind: string = RemoveMarqueeCommand.KIND) {}
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
@injectable()
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -29,4 +29,3 @@ export abstract class FeedbackCommand extends Command {
|
|
|
29
29
|
return context.root;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -14,19 +14,18 @@
|
|
|
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 { IView, ORIGIN_POINT, Point, RenderingContext, setAttr, SModelElement } from 'sprotty';
|
|
17
|
+
import { VNode } from 'snabbdom';
|
|
18
|
+
import { IView, ORIGIN_POINT, Point, RenderingContext, setAttr, SModelElement, svg } from 'sprotty';
|
|
20
19
|
|
|
21
20
|
import { isResizable, ResizeHandleLocation, SResizeHandle } from '../change-bounds/model';
|
|
22
21
|
|
|
23
22
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
24
|
-
const JSX = { createElement:
|
|
23
|
+
const JSX = { createElement: svg };
|
|
25
24
|
|
|
26
25
|
/**
|
|
27
|
-
* This view is used for the invisible end of the feedback edge.
|
|
28
|
-
* A feedback edge is shown as a visual feedback when creating edges.
|
|
29
|
-
*/
|
|
26
|
+
* This view is used for the invisible end of the feedback edge.
|
|
27
|
+
* A feedback edge is shown as a visual feedback when creating edges.
|
|
28
|
+
*/
|
|
30
29
|
@injectable()
|
|
31
30
|
export class FeedbackEdgeEndView implements IView {
|
|
32
31
|
render(model: Readonly<SModelElement>, context: RenderingContext): VNode {
|
|
@@ -40,8 +39,15 @@ export class SResizeHandleView implements IView {
|
|
|
40
39
|
render(handle: SResizeHandle, context: RenderingContext): VNode {
|
|
41
40
|
const position = this.getPosition(handle);
|
|
42
41
|
if (position !== undefined) {
|
|
43
|
-
const node =
|
|
44
|
-
|
|
42
|
+
const node = (
|
|
43
|
+
<circle
|
|
44
|
+
class-sprotty-resize-handle={true}
|
|
45
|
+
class-mouseover={handle.hoverFeedback}
|
|
46
|
+
cx={position.x}
|
|
47
|
+
cy={position.y}
|
|
48
|
+
r={this.getRadius()}
|
|
49
|
+
/>
|
|
50
|
+
);
|
|
45
51
|
setAttr(node, 'data-kind', handle.location);
|
|
46
52
|
return node;
|
|
47
53
|
}
|
|
@@ -20,7 +20,7 @@ import { configureActionHandler, EnableDefaultToolsAction, TYPES } from 'sprotty
|
|
|
20
20
|
|
|
21
21
|
import { EnableToolPaletteAction, ToolPalette } from './tool-palette';
|
|
22
22
|
|
|
23
|
-
const toolPaletteModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
23
|
+
const toolPaletteModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
|
|
24
24
|
bind(ToolPalette).toSelf().inSingletonScope();
|
|
25
25
|
bind(TYPES.IUIExtension).toService(ToolPalette);
|
|
26
26
|
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
|
|
@@ -30,11 +30,11 @@ export function isPaletteItem(object?: any): object is PaletteItem {
|
|
|
30
30
|
export namespace PaletteItem {
|
|
31
31
|
export function getTriggerAction(item?: PaletteItem): TriggerElementCreationAction | undefined {
|
|
32
32
|
if (item) {
|
|
33
|
-
const initiAction = item.actions
|
|
33
|
+
const initiAction = item.actions
|
|
34
|
+
.filter(a => isTriggerElementTypeCreationAction(a))
|
|
34
35
|
.map(action => action as TriggerElementCreationAction);
|
|
35
36
|
return initiAction.length > 0 ? initiAction[0] : undefined;
|
|
36
37
|
}
|
|
37
38
|
return undefined;
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
|
-
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -135,16 +135,15 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
135
135
|
const bodyDiv = document.createElement('div');
|
|
136
136
|
bodyDiv.classList.add('palette-body');
|
|
137
137
|
let tabIndex = 0;
|
|
138
|
-
this.paletteItems.sort(compare)
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
});
|
|
138
|
+
this.paletteItems.sort(compare).forEach(item => {
|
|
139
|
+
if (item.children) {
|
|
140
|
+
const group = createToolGroup(item);
|
|
141
|
+
item.children.sort(compare).forEach(child => group.appendChild(this.createToolButton(child, tabIndex++)));
|
|
142
|
+
bodyDiv.appendChild(group);
|
|
143
|
+
} else {
|
|
144
|
+
bodyDiv.appendChild(this.createToolButton(item, tabIndex++));
|
|
145
|
+
}
|
|
146
|
+
});
|
|
148
147
|
if (this.paletteItems.length === 0) {
|
|
149
148
|
const noResultsDiv = document.createElement('div');
|
|
150
149
|
noResultsDiv.innerText = 'No results found.';
|
|
@@ -165,7 +164,7 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
165
164
|
headerCompartment.classList.add('palette-header');
|
|
166
165
|
headerCompartment.append(this.createHeaderTitle());
|
|
167
166
|
headerCompartment.appendChild(this.createHeaderTools());
|
|
168
|
-
headerCompartment.appendChild(this.searchField = this.createHeaderSearchField());
|
|
167
|
+
headerCompartment.appendChild((this.searchField = this.createHeaderSearchField()));
|
|
169
168
|
this.containerElement.appendChild(headerCompartment);
|
|
170
169
|
}
|
|
171
170
|
|
|
@@ -411,6 +410,5 @@ export function createToolGroup(item: PaletteItem): HTMLElement {
|
|
|
411
410
|
}
|
|
412
411
|
|
|
413
412
|
export function changeCSSClass(element: Element, css: string): void {
|
|
414
|
-
element.classList.contains(css) ? element.classList.remove(css) :
|
|
415
|
-
element.classList.add(css);
|
|
413
|
+
element.classList.contains(css) ? element.classList.remove(css) : element.classList.add(css);
|
|
416
414
|
}
|