@eclipse-glsp/client 1.1.0-next.698b9de.254 → 1.1.0-next.69a77b0.259
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/lib/base/action-dispatcher.d.ts.map +1 -1
- package/lib/base/action-dispatcher.js +5 -3
- package/lib/base/action-dispatcher.js.map +1 -1
- package/lib/base/actions/focus-change-action.js +1 -1
- package/lib/base/actions/focus-change-action.js.map +1 -1
- package/lib/base/auto-complete/auto-complete-actions.js +1 -1
- package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
- package/lib/base/auto-complete/validation-decorator.js +1 -1
- package/lib/base/auto-complete/validation-decorator.js.map +1 -1
- package/lib/base/command-stack.d.ts +17 -2
- package/lib/base/command-stack.d.ts.map +1 -1
- package/lib/base/command-stack.js +43 -3
- package/lib/base/command-stack.js.map +1 -1
- package/lib/base/di.config.d.ts.map +1 -1
- package/lib/base/di.config.js +21 -3
- package/lib/base/di.config.js.map +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts +2 -2
- package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
- package/lib/base/drag-aware-mouse-listener.js.map +1 -1
- package/lib/base/editor-context-service.d.ts +10 -7
- package/lib/base/editor-context-service.d.ts.map +1 -1
- package/lib/base/editor-context-service.js +27 -10
- package/lib/base/editor-context-service.js.map +1 -1
- package/lib/{features/tool-feedback → base/feedback}/css-feedback.d.ts +1 -1
- package/lib/base/feedback/css-feedback.d.ts.map +1 -0
- package/lib/{features/tool-feedback → base/feedback}/css-feedback.js +5 -6
- package/lib/base/feedback/css-feedback.js.map +1 -0
- package/lib/{features/tool-feedback → base/feedback}/feedback-action-dispatcher.d.ts +11 -9
- package/lib/base/feedback/feedback-action-dispatcher.d.ts.map +1 -0
- package/lib/{features/tool-feedback → base/feedback}/feedback-action-dispatcher.js +26 -20
- package/lib/base/feedback/feedback-action-dispatcher.js.map +1 -0
- package/lib/{features/tool-feedback/model.d.ts → base/feedback/feedback-command.d.ts} +1 -1
- package/lib/base/feedback/feedback-command.d.ts.map +1 -0
- package/lib/{features/tool-feedback/model.js → base/feedback/feedback-command.js} +1 -1
- package/lib/base/feedback/feedback-command.js.map +1 -0
- package/lib/base/{model → feedback}/update-model-command.d.ts +3 -15
- package/lib/base/feedback/update-model-command.d.ts.map +1 -0
- package/lib/base/{model → feedback}/update-model-command.js +3 -27
- package/lib/base/feedback/update-model-command.js.map +1 -0
- package/lib/base/focus-tracker.js +2 -3
- package/lib/base/focus-tracker.js.map +1 -1
- package/lib/base/model/model-registry.js +2 -3
- package/lib/base/model/model-registry.js.map +1 -1
- package/lib/base/model-initialization-constraint.js +4 -6
- package/lib/base/model-initialization-constraint.js.map +1 -1
- package/lib/base/ranked.d.ts +34 -0
- package/lib/base/ranked.d.ts.map +1 -0
- package/lib/base/ranked.js +38 -0
- package/lib/base/ranked.js.map +1 -0
- package/lib/base/selection-clearing-mouse-listener.js +2 -3
- package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
- package/lib/{features/select → base}/selection-service.d.ts +34 -13
- package/lib/base/selection-service.d.ts.map +1 -0
- package/lib/{features/select → base}/selection-service.js +73 -29
- package/lib/base/selection-service.js.map +1 -0
- package/lib/base/selection-service.spec.d.ts +2 -0
- package/lib/base/selection-service.spec.d.ts.map +1 -0
- package/lib/base/selection-service.spec.js +281 -0
- package/lib/base/selection-service.spec.js.map +1 -0
- package/lib/base/tool-manager/glsp-tool-manager.d.ts +3 -3
- package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.js +5 -6
- package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
- package/lib/base/view/key-tool.d.ts +5 -0
- package/lib/base/view/key-tool.d.ts.map +1 -0
- package/lib/base/view/key-tool.js +36 -0
- package/lib/base/view/key-tool.js.map +1 -0
- package/lib/base/view/mouse-tool.d.ts +19 -0
- package/lib/base/view/mouse-tool.d.ts.map +1 -0
- package/lib/{features/mouse-tool → base/view}/mouse-tool.js +14 -11
- package/lib/base/view/mouse-tool.js.map +1 -0
- package/lib/base/view/view-registry.js +2 -3
- package/lib/base/view/view-registry.js.map +1 -1
- package/lib/{base/container-modules.d.ts → container-modules.d.ts} +2 -2
- package/lib/container-modules.d.ts.map +1 -0
- package/lib/{base/container-modules.js → container-modules.js} +49 -41
- package/lib/container-modules.js.map +1 -0
- package/lib/features/accessibility/move-zoom/move-handler.js +6 -8
- package/lib/features/accessibility/move-zoom/move-handler.js.map +1 -1
- package/lib/features/accessibility/move-zoom/zoom-handler.js +6 -8
- package/lib/features/accessibility/move-zoom/zoom-handler.js.map +1 -1
- package/lib/features/accessibility/resize-key-tool/resize-key-handler.js +4 -5
- package/lib/features/accessibility/resize-key-tool/resize-key-handler.js.map +1 -1
- package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts +1 -1
- package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts.map +1 -1
- package/lib/features/accessibility/resize-key-tool/resize-key-tool.js +6 -8
- package/lib/features/accessibility/resize-key-tool/resize-key-tool.js.map +1 -1
- package/lib/features/accessibility/search/search-palette.js +3 -4
- package/lib/features/accessibility/search/search-palette.js.map +1 -1
- package/lib/features/accessibility/search/search-tool.js +2 -3
- package/lib/features/accessibility/search/search-tool.js.map +1 -1
- package/lib/features/accessibility/view-key-tools/deselect-key-tool.js +2 -3
- package/lib/features/accessibility/view-key-tools/deselect-key-tool.js.map +1 -1
- package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +1 -1
- package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -1
- package/lib/features/accessibility/view-key-tools/movement-key-tool.js +5 -6
- package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -1
- package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts +1 -1
- package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts.map +1 -1
- package/lib/features/accessibility/view-key-tools/zoom-key-tool.js +5 -6
- package/lib/features/accessibility/view-key-tools/zoom-key-tool.js.map +1 -1
- package/lib/features/autocomplete-palette/base-autocomplete-palette.js +1 -1
- package/lib/features/autocomplete-palette/base-autocomplete-palette.js.map +1 -1
- package/lib/features/bounds/freeform-layout.js +2 -3
- package/lib/features/bounds/freeform-layout.js.map +1 -1
- package/lib/features/bounds/freeform-layout.spec.d.ts +3 -0
- package/lib/features/bounds/freeform-layout.spec.d.ts.map +1 -0
- package/lib/features/bounds/freeform-layout.spec.js +201 -0
- package/lib/features/bounds/freeform-layout.spec.js.map +1 -0
- package/lib/features/bounds/glsp-hidden-bounds-updater.js +2 -3
- package/lib/features/bounds/glsp-hidden-bounds-updater.js.map +1 -1
- package/lib/features/bounds/hbox-layout.js +2 -3
- package/lib/features/bounds/hbox-layout.js.map +1 -1
- package/lib/features/bounds/hbox-layout.spec.d.ts +3 -0
- package/lib/features/bounds/hbox-layout.spec.d.ts.map +1 -0
- package/lib/features/bounds/hbox-layout.spec.js +160 -0
- package/lib/features/bounds/hbox-layout.spec.js.map +1 -0
- package/lib/features/bounds/layouter-test-util.spec.d.ts +32 -0
- package/lib/features/bounds/layouter-test-util.spec.d.ts.map +1 -0
- package/lib/features/bounds/layouter-test-util.spec.js +96 -0
- package/lib/features/bounds/layouter-test-util.spec.js.map +1 -0
- package/lib/features/bounds/layouter.js +2 -3
- package/lib/features/bounds/layouter.js.map +1 -1
- package/lib/features/bounds/vbox-layout.js +2 -3
- package/lib/features/bounds/vbox-layout.js.map +1 -1
- package/lib/features/bounds/vbox-layout.spec.d.ts +3 -0
- package/lib/features/bounds/vbox-layout.spec.d.ts.map +1 -0
- package/lib/features/bounds/vbox-layout.spec.js +160 -0
- package/lib/features/bounds/vbox-layout.spec.js.map +1 -0
- package/lib/features/change-bounds/model.js +2 -2
- package/lib/features/change-bounds/model.js.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts +1 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +3 -4
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/change-bounds/snap.js +2 -3
- package/lib/features/change-bounds/snap.js.map +1 -1
- package/lib/features/{rank/model.d.ts → change-bounds/snap.spec.d.ts} +3 -8
- package/lib/features/change-bounds/snap.spec.d.ts.map +1 -0
- package/lib/features/change-bounds/snap.spec.js +82 -0
- package/lib/features/change-bounds/snap.spec.js.map +1 -0
- package/lib/features/command-palette/command-palette-tool.js +2 -3
- package/lib/features/command-palette/command-palette-tool.js.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.js +3 -4
- package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.js +2 -3
- package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +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 +4 -5
- 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.js +3 -4
- package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.js +6 -8
- package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.js +4 -6
- package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
- package/lib/features/decoration/decoration-placer.js +2 -3
- package/lib/features/decoration/decoration-placer.js.map +1 -1
- package/lib/features/edit-label/edit-label-tool.d.ts +0 -3
- package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -1
- package/lib/features/edit-label/edit-label-tool.js +3 -11
- package/lib/features/edit-label/edit-label-tool.js.map +1 -1
- package/lib/features/edit-label/edit-label-validator.js +5 -7
- package/lib/features/edit-label/edit-label-validator.js.map +1 -1
- package/lib/features/export/glsp-svg-exporter.js +2 -3
- package/lib/features/export/glsp-svg-exporter.js.map +1 -1
- package/lib/features/hints/type-hints.d.ts +2 -2
- package/lib/features/hints/type-hints.d.ts.map +1 -1
- package/lib/features/hints/type-hints.js +9 -11
- package/lib/features/hints/type-hints.js.map +1 -1
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +3 -4
- package/lib/features/hover/hover.js.map +1 -1
- package/lib/features/layout/di.config.js +1 -1
- package/lib/features/layout/di.config.js.map +1 -1
- package/lib/features/layout/layout-elements-action.d.ts +1 -1
- package/lib/features/layout/layout-elements-action.d.ts.map +1 -1
- package/lib/features/layout/layout-elements-action.js +14 -17
- package/lib/features/layout/layout-elements-action.js.map +1 -1
- package/lib/features/layout/layout-elements-action.spec.d.ts +3 -0
- package/lib/features/layout/layout-elements-action.spec.d.ts.map +1 -0
- package/lib/features/layout/layout-elements-action.spec.js +321 -0
- package/lib/features/layout/layout-elements-action.spec.js.map +1 -0
- package/lib/features/navigation/navigation-action-handler.js +5 -6
- package/lib/features/navigation/navigation-action-handler.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.js +2 -3
- package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.d.ts +3 -0
- package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -0
- package/lib/features/navigation/navigation-target-resolver.spec.js +53 -0
- package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -0
- package/lib/features/routing/di.config.d.ts +22 -0
- package/lib/features/routing/di.config.d.ts.map +1 -0
- package/lib/features/routing/di.config.js +57 -0
- package/lib/features/routing/di.config.js.map +1 -0
- package/lib/features/routing/glsp-manhattan-edge-router.d.ts.map +1 -0
- package/lib/features/routing/glsp-manhattan-edge-router.js.map +1 -0
- package/lib/features/select/di.config.d.ts.map +1 -1
- package/lib/features/select/di.config.js +3 -5
- package/lib/features/select/di.config.js.map +1 -1
- package/lib/features/select/select-feedback-command.d.ts +12 -0
- package/lib/features/select/select-feedback-command.d.ts.map +1 -0
- package/lib/features/select/{select-feedback-action.js → select-feedback-command.js} +6 -30
- package/lib/features/select/select-feedback-command.js.map +1 -0
- package/lib/features/select/select-mouse-listener.d.ts +1 -1
- package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
- package/lib/features/select/select-mouse-listener.js +2 -2
- package/lib/features/select/select-mouse-listener.js.map +1 -1
- package/lib/features/source-model-watcher/source-model-changed-action-handler.js +5 -7
- package/lib/features/source-model-watcher/source-model-changed-action-handler.js.map +1 -1
- package/lib/features/svg-metadata/metadata-placer.js +2 -3
- package/lib/features/svg-metadata/metadata-placer.js.map +1 -1
- package/lib/features/tool-palette/tool-palette.d.ts +4 -4
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +12 -13
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/base-glsp-creation-tool.d.ts +10 -0
- package/lib/features/tools/base-glsp-creation-tool.d.ts.map +1 -0
- package/lib/features/tools/base-glsp-creation-tool.js +45 -0
- package/lib/features/tools/base-glsp-creation-tool.js.map +1 -0
- package/lib/features/tools/base-glsp-tool.d.ts +26 -8
- package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
- package/lib/features/tools/base-glsp-tool.js +34 -11
- package/lib/features/tools/base-glsp-tool.js.map +1 -1
- package/lib/features/{tool-feedback → tools/change-bounds}/change-bounds-tool-feedback.d.ts +12 -5
- package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts.map +1 -0
- package/lib/features/{tool-feedback → tools/change-bounds}/change-bounds-tool-feedback.js +45 -27
- package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js.map +1 -0
- package/lib/features/tools/{change-bounds-tool.d.ts → change-bounds/change-bounds-tool.d.ts} +13 -14
- package/lib/features/tools/change-bounds/change-bounds-tool.d.ts.map +1 -0
- package/lib/features/tools/{change-bounds-tool.js → change-bounds/change-bounds-tool.js} +50 -35
- package/lib/features/tools/change-bounds/change-bounds-tool.js.map +1 -0
- package/lib/features/tools/change-bounds/di.config.d.ts +19 -0
- package/lib/features/tools/change-bounds/di.config.d.ts.map +1 -0
- package/lib/features/tools/change-bounds/di.config.js +32 -0
- package/lib/features/tools/change-bounds/di.config.js.map +1 -0
- package/lib/features/tools/change-bounds/view.d.ts +9 -0
- package/lib/features/tools/change-bounds/view.d.ts.map +1 -0
- package/lib/features/{tool-feedback → tools/change-bounds}/view.js +5 -21
- package/lib/features/tools/change-bounds/view.js.map +1 -0
- package/lib/features/tools/{delete-tool.d.ts → deletion/delete-tool.d.ts} +4 -9
- package/lib/features/tools/deletion/delete-tool.d.ts.map +1 -0
- package/lib/features/tools/{delete-tool.js → deletion/delete-tool.js} +13 -29
- package/lib/features/tools/deletion/delete-tool.js.map +1 -0
- package/lib/features/{tool-feedback → tools/deletion}/di.config.d.ts +2 -2
- package/lib/features/tools/deletion/di.config.d.ts.map +1 -0
- package/lib/features/{mouse-tool → tools/deletion}/di.config.js +7 -7
- package/lib/features/tools/deletion/di.config.js.map +1 -0
- package/lib/features/{tool-feedback/creation-tool-feedback.d.ts → tools/edge-creation/dangling-edge-feedback.d.ts} +5 -10
- package/lib/features/tools/edge-creation/dangling-edge-feedback.d.ts.map +1 -0
- package/lib/features/{tool-feedback/creation-tool-feedback.js → tools/edge-creation/dangling-edge-feedback.js} +25 -87
- package/lib/features/tools/edge-creation/dangling-edge-feedback.js.map +1 -0
- package/lib/features/tools/edge-creation/di.config.d.ts +19 -0
- package/lib/features/tools/edge-creation/di.config.d.ts.map +1 -0
- package/lib/features/tools/edge-creation/di.config.js +29 -0
- package/lib/features/tools/edge-creation/di.config.js.map +1 -0
- package/lib/features/tools/edge-creation/edge-creation-tool-feedback.d.ts +26 -0
- package/lib/features/tools/edge-creation/edge-creation-tool-feedback.d.ts.map +1 -0
- package/lib/features/tools/edge-creation/edge-creation-tool-feedback.js +74 -0
- package/lib/features/tools/edge-creation/edge-creation-tool-feedback.js.map +1 -0
- package/lib/features/tools/{edge-creation-tool.d.ts → edge-creation/edge-creation-tool.d.ts} +6 -11
- package/lib/features/tools/edge-creation/edge-creation-tool.d.ts.map +1 -0
- package/lib/features/tools/{edge-creation-tool.js → edge-creation/edge-creation-tool.js} +29 -40
- package/lib/features/tools/edge-creation/edge-creation-tool.js.map +1 -0
- package/lib/features/tools/edge-creation/view.d.ts +10 -0
- package/lib/features/tools/edge-creation/view.d.ts.map +1 -0
- package/lib/features/tools/edge-creation/view.js +43 -0
- package/lib/features/tools/edge-creation/view.js.map +1 -0
- package/lib/features/{mouse-tool → tools/edge-edit}/di.config.d.ts +2 -2
- package/lib/features/tools/edge-edit/di.config.d.ts.map +1 -0
- package/lib/features/tools/edge-edit/di.config.js +35 -0
- package/lib/features/tools/edge-edit/di.config.js.map +1 -0
- package/lib/features/{tool-feedback → tools/edge-edit}/edge-edit-tool-feedback.d.ts +14 -8
- package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts.map +1 -0
- package/lib/features/{tool-feedback → tools/edge-edit}/edge-edit-tool-feedback.js +42 -37
- package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js.map +1 -0
- package/lib/features/tools/{edge-edit-tool.d.ts → edge-edit/edge-edit-tool.d.ts} +7 -9
- package/lib/features/tools/edge-edit/edge-edit-tool.d.ts.map +1 -0
- package/lib/features/tools/{edge-edit-tool.js → edge-edit/edge-edit-tool.js} +28 -33
- package/lib/features/tools/edge-edit/edge-edit-tool.js.map +1 -0
- package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts +21 -0
- package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +1 -1
- package/lib/features/tools/enable-default-tools-on-focus-loss.js +9 -3
- package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +1 -1
- package/lib/features/tools/marquee-selection/di.config.d.ts +19 -0
- package/lib/features/tools/marquee-selection/di.config.d.ts.map +1 -0
- package/lib/features/tools/marquee-selection/di.config.js +34 -0
- package/lib/features/tools/marquee-selection/di.config.js.map +1 -0
- package/lib/features/tools/{marquee-behavior.d.ts → marquee-selection/marquee-behavior.d.ts} +10 -10
- package/lib/features/tools/marquee-selection/marquee-behavior.d.ts.map +1 -0
- package/lib/features/tools/{marquee-behavior.js → marquee-selection/marquee-behavior.js} +2 -2
- package/lib/features/tools/marquee-selection/marquee-behavior.js.map +1 -0
- package/lib/features/tools/marquee-selection/marquee-behavior.spec.d.ts +17 -0
- package/lib/features/tools/marquee-selection/marquee-behavior.spec.d.ts.map +1 -0
- package/lib/features/tools/marquee-selection/marquee-behavior.spec.js +165 -0
- package/lib/features/tools/marquee-selection/marquee-behavior.spec.js.map +1 -0
- package/lib/features/tools/{marquee-mouse-tool.d.ts → marquee-selection/marquee-mouse-tool.d.ts} +4 -6
- package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts.map +1 -0
- package/lib/features/tools/{marquee-mouse-tool.js → marquee-selection/marquee-mouse-tool.js} +12 -22
- package/lib/features/tools/marquee-selection/marquee-mouse-tool.js.map +1 -0
- package/lib/features/{tool-feedback → tools/marquee-selection}/marquee-tool-feedback.d.ts +2 -2
- package/lib/features/tools/marquee-selection/marquee-tool-feedback.d.ts.map +1 -0
- package/lib/features/{tool-feedback → tools/marquee-selection}/marquee-tool-feedback.js +8 -10
- package/lib/features/tools/marquee-selection/marquee-tool-feedback.js.map +1 -0
- package/lib/features/tools/marquee-selection/marquee-tool.d.ts +12 -0
- package/lib/features/tools/marquee-selection/marquee-tool.d.ts.map +1 -0
- package/lib/features/tools/{marquee-tool.js → marquee-selection/marquee-tool.js} +8 -20
- package/lib/features/tools/marquee-selection/marquee-tool.js.map +1 -0
- package/lib/features/tools/{model.d.ts → marquee-selection/model.d.ts} +1 -1
- package/lib/features/tools/marquee-selection/model.d.ts.map +1 -0
- package/lib/features/tools/{model.js → marquee-selection/model.js} +2 -2
- package/lib/features/tools/marquee-selection/model.js.map +1 -0
- package/lib/features/tools/{view.d.ts → marquee-selection/view.d.ts} +1 -1
- package/lib/features/tools/marquee-selection/view.d.ts.map +1 -0
- package/lib/features/tools/{view.js → marquee-selection/view.js} +3 -4
- package/lib/features/tools/marquee-selection/view.js.map +1 -0
- package/lib/features/tools/node-creation/di.config.d.ts +19 -0
- package/lib/features/tools/node-creation/di.config.d.ts.map +1 -0
- package/lib/features/{rank/model.js → tools/node-creation/di.config.js} +12 -13
- package/lib/features/tools/node-creation/di.config.js.map +1 -0
- package/lib/features/tools/{node-creation-tool.d.ts → node-creation/node-creation-tool.d.ts} +7 -10
- package/lib/features/tools/node-creation/node-creation-tool.d.ts.map +1 -0
- package/lib/features/tools/{node-creation-tool.js → node-creation/node-creation-tool.js} +17 -30
- package/lib/features/tools/node-creation/node-creation-tool.js.map +1 -0
- package/lib/features/validation/marker-navigator.d.ts +4 -3
- package/lib/features/validation/marker-navigator.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.js +16 -20
- package/lib/features/validation/marker-navigator.js.map +1 -1
- package/lib/features/validation/marker-navigator.spec.d.ts +3 -0
- package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -0
- package/lib/features/validation/marker-navigator.spec.js +182 -0
- package/lib/features/validation/marker-navigator.spec.js.map +1 -0
- 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 +12 -17
- package/lib/features/validation/validate.js.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.js +3 -4
- package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
- package/lib/glsp-sprotty/index.d.ts +1 -1
- package/lib/glsp-sprotty/index.d.ts.map +1 -1
- package/lib/glsp-sprotty/index.js +26 -25
- package/lib/glsp-sprotty/index.js.map +1 -1
- package/lib/glsp-sprotty/types.d.ts +4 -8
- package/lib/glsp-sprotty/types.d.ts.map +1 -1
- package/lib/glsp-sprotty/types.js +1 -1
- package/lib/glsp-sprotty/types.js.map +1 -1
- package/lib/index.d.ts +36 -27
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +58 -46
- package/lib/index.js.map +1 -1
- package/lib/lib/model.js +1 -1
- package/lib/lib/model.js.map +1 -1
- package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
- package/lib/model-source/glsp-diagram-server.js +5 -3
- package/lib/model-source/glsp-diagram-server.js.map +1 -1
- package/lib/utils/argument-utils.js +3 -3
- package/lib/utils/argument-utils.js.map +1 -1
- package/lib/utils/marker.js +1 -1
- package/lib/utils/marker.js.map +1 -1
- package/lib/utils/smodel-util.spec.d.ts +2 -0
- package/lib/utils/smodel-util.spec.d.ts.map +1 -0
- package/lib/utils/smodel-util.spec.js +184 -0
- package/lib/utils/smodel-util.spec.js.map +1 -0
- package/lib/utils/viewpoint-util.d.ts +20 -1
- package/lib/utils/viewpoint-util.d.ts.map +1 -1
- package/lib/utils/viewpoint-util.js +30 -1
- package/lib/utils/viewpoint-util.js.map +1 -1
- package/lib/views/compartments.js +2 -3
- package/lib/views/compartments.js.map +1 -1
- package/lib/views/glsp-edge-view.js +2 -3
- package/lib/views/glsp-edge-view.js.map +1 -1
- package/lib/views/glsp-projection-view.js +2 -3
- package/lib/views/glsp-projection-view.js.map +1 -1
- package/lib/views/issue-marker-view.js +2 -3
- package/lib/views/issue-marker-view.js.map +1 -1
- package/lib/views/rounded-corner-view.js +2 -3
- package/lib/views/rounded-corner-view.js.map +1 -1
- package/package.json +3 -3
- package/src/base/action-dispatcher.ts +3 -1
- package/src/base/command-stack.ts +55 -3
- package/src/base/di.config.ts +34 -9
- package/src/base/drag-aware-mouse-listener.ts +2 -2
- package/src/base/editor-context-service.ts +28 -13
- package/src/{features/tool-feedback → base/feedback}/css-feedback.ts +1 -1
- package/src/{features/tool-feedback → base/feedback}/feedback-action-dispatcher.ts +31 -23
- package/src/base/{model → feedback}/update-model-command.ts +3 -29
- package/src/base/ranked.ts +42 -0
- package/src/{features/select → base}/selection-service.spec.ts +51 -121
- package/src/{features/select → base}/selection-service.ts +82 -31
- package/src/base/tool-manager/glsp-tool-manager.ts +4 -4
- package/src/{features/rank/model.ts → base/view/key-tool.ts} +9 -13
- package/src/{features/mouse-tool → base/view}/mouse-tool.ts +14 -15
- package/src/{base/container-modules.ts → container-modules.ts} +33 -26
- package/src/features/accessibility/resize-key-tool/resize-key-tool.ts +2 -2
- package/src/features/accessibility/search/search-palette.ts +1 -1
- package/src/features/accessibility/view-key-tools/movement-key-tool.ts +2 -2
- package/src/features/accessibility/view-key-tools/zoom-key-tool.ts +3 -3
- package/src/features/bounds/layouter-test-util.spec.ts +1 -1
- package/src/features/change-bounds/movement-restrictor.ts +1 -1
- package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +2 -2
- package/src/features/copy-paste/copy-paste-context-menu.ts +1 -1
- package/src/features/edit-label/edit-label-tool.ts +4 -12
- package/src/features/hints/type-hints.ts +2 -2
- package/src/features/hover/hover.ts +2 -1
- package/src/features/layout/di.config.ts +1 -1
- package/src/features/layout/layout-elements-action.spec.ts +1 -3
- package/src/features/layout/layout-elements-action.ts +2 -2
- package/src/features/navigation/navigation-action-handler.ts +1 -1
- package/src/features/routing/di.config.ts +82 -0
- package/src/features/select/di.config.ts +2 -4
- package/src/features/select/{select-feedback-action.ts → select-feedback-command.ts} +2 -38
- package/src/features/select/select-mouse-listener.ts +2 -2
- package/src/features/source-model-watcher/source-model-changed-action-handler.ts +1 -1
- package/src/features/tool-palette/tool-palette.ts +12 -12
- package/src/features/tools/base-glsp-creation-tool.ts +40 -0
- package/src/features/tools/base-glsp-tool.ts +32 -10
- package/src/features/{tool-feedback → tools/change-bounds}/change-bounds-tool-feedback.ts +52 -21
- package/src/features/tools/{change-bounds-tool.ts → change-bounds/change-bounds-tool.ts} +64 -35
- package/src/features/tools/change-bounds/di.config.ts +31 -0
- package/src/features/{tool-feedback → tools/change-bounds}/view.tsx +2 -14
- package/src/features/tools/{delete-tool.ts → deletion/delete-tool.ts} +8 -18
- package/src/features/{mouse-tool → tools/deletion}/di.config.ts +7 -7
- package/src/features/{tool-feedback/creation-tool-feedback.ts → tools/edge-creation/dangling-edge-feedback.ts} +18 -88
- package/src/features/tools/edge-creation/di.config.ts +28 -0
- package/src/features/tools/edge-creation/edge-creation-tool-feedback.ts +89 -0
- package/src/features/tools/{edge-creation-tool.ts → edge-creation/edge-creation-tool.ts} +26 -43
- package/src/features/tools/edge-creation/view.tsx +33 -0
- package/src/features/tools/edge-edit/di.config.ts +41 -0
- package/src/features/{tool-feedback → tools/edge-edit}/edge-edit-tool-feedback.ts +27 -15
- package/src/features/tools/{edge-edit-tool.ts → edge-edit/edge-edit-tool.ts} +29 -27
- package/src/features/tools/enable-default-tools-on-focus-loss.ts +11 -2
- package/src/features/tools/marquee-selection/di.config.ts +35 -0
- package/src/features/tools/{marquee-behavior.ts → marquee-selection/marquee-behavior.ts} +9 -9
- package/src/features/tools/{marquee-mouse-tool.ts → marquee-selection/marquee-mouse-tool.ts} +11 -17
- package/src/features/{tool-feedback → tools/marquee-selection}/marquee-tool-feedback.ts +1 -1
- package/src/features/tools/{marquee-tool.ts → marquee-selection/marquee-tool.ts} +5 -11
- package/{lib/features/tools/di.config.d.ts → src/features/tools/node-creation/di.config.ts} +10 -12
- package/src/features/tools/{node-creation-tool.ts → node-creation/node-creation-tool.ts} +14 -31
- package/src/features/validation/marker-navigator.ts +5 -5
- package/src/features/validation/validate.ts +2 -2
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +1 -1
- package/src/glsp-sprotty/index.ts +1 -1
- package/src/glsp-sprotty/types.ts +2 -4
- package/src/index.ts +63 -49
- package/src/model-source/glsp-diagram-server.ts +7 -1
- package/src/utils/smodel-util.spec.ts +3 -3
- package/src/utils/viewpoint-util.ts +32 -0
- package/lib/base/container-modules.d.ts.map +0 -1
- package/lib/base/container-modules.js.map +0 -1
- package/lib/base/model/update-model-command.d.ts.map +0 -1
- package/lib/base/model/update-model-command.js.map +0 -1
- package/lib/features/mouse-tool/di.config.d.ts.map +0 -1
- package/lib/features/mouse-tool/di.config.js.map +0 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts +0 -22
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +0 -1
- package/lib/features/mouse-tool/mouse-tool.js.map +0 -1
- package/lib/features/rank/model.d.ts.map +0 -1
- package/lib/features/rank/model.js.map +0 -1
- package/lib/features/select/select-feedback-action.d.ts +0 -25
- package/lib/features/select/select-feedback-action.d.ts.map +0 -1
- package/lib/features/select/select-feedback-action.js.map +0 -1
- package/lib/features/select/selection-service.d.ts.map +0 -1
- package/lib/features/select/selection-service.js.map +0 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +0 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +0 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +0 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js.map +0 -1
- package/lib/features/tool-feedback/css-feedback.d.ts.map +0 -1
- package/lib/features/tool-feedback/css-feedback.js.map +0 -1
- package/lib/features/tool-feedback/di.config.d.ts.map +0 -1
- package/lib/features/tool-feedback/di.config.js +0 -53
- package/lib/features/tool-feedback/di.config.js.map +0 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +0 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +0 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +0 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +0 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +0 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.js.map +0 -1
- package/lib/features/tool-feedback/model.d.ts.map +0 -1
- package/lib/features/tool-feedback/model.js.map +0 -1
- package/lib/features/tool-feedback/view.d.ts +0 -16
- package/lib/features/tool-feedback/view.d.ts.map +0 -1
- package/lib/features/tool-feedback/view.js.map +0 -1
- package/lib/features/tools/change-bounds-tool.d.ts.map +0 -1
- package/lib/features/tools/change-bounds-tool.js.map +0 -1
- package/lib/features/tools/delete-tool.d.ts.map +0 -1
- package/lib/features/tools/delete-tool.js.map +0 -1
- package/lib/features/tools/di.config.d.ts.map +0 -1
- package/lib/features/tools/di.config.js +0 -66
- package/lib/features/tools/di.config.js.map +0 -1
- package/lib/features/tools/edge-creation-tool.d.ts.map +0 -1
- package/lib/features/tools/edge-creation-tool.js.map +0 -1
- package/lib/features/tools/edge-edit-tool.d.ts.map +0 -1
- package/lib/features/tools/edge-edit-tool.js.map +0 -1
- package/lib/features/tools/glsp-manhattan-edge-router.d.ts.map +0 -1
- package/lib/features/tools/glsp-manhattan-edge-router.js.map +0 -1
- package/lib/features/tools/marquee-behavior.d.ts.map +0 -1
- package/lib/features/tools/marquee-behavior.js.map +0 -1
- package/lib/features/tools/marquee-mouse-tool.d.ts.map +0 -1
- package/lib/features/tools/marquee-mouse-tool.js.map +0 -1
- package/lib/features/tools/marquee-tool.d.ts +0 -14
- package/lib/features/tools/marquee-tool.d.ts.map +0 -1
- package/lib/features/tools/marquee-tool.js.map +0 -1
- package/lib/features/tools/model.d.ts.map +0 -1
- package/lib/features/tools/model.js.map +0 -1
- package/lib/features/tools/node-creation-tool.d.ts.map +0 -1
- package/lib/features/tools/node-creation-tool.js.map +0 -1
- package/lib/features/tools/view.d.ts.map +0 -1
- package/lib/features/tools/view.js.map +0 -1
- package/src/features/tool-feedback/di.config.ts +0 -65
- package/src/features/tools/di.config.ts +0 -77
- /package/lib/features/{tools → routing}/glsp-manhattan-edge-router.d.ts +0 -0
- /package/lib/features/{tools → routing}/glsp-manhattan-edge-router.js +0 -0
- /package/src/{features/tool-feedback/model.ts → base/feedback/feedback-command.ts} +0 -0
- /package/src/features/{tools → routing}/glsp-manhattan-edge-router.ts +0 -0
- /package/src/features/tools/{marquee-behavior.spec.ts → marquee-selection/marquee-behavior.spec.ts} +0 -0
- /package/src/features/tools/{model.ts → marquee-selection/model.ts} +0 -0
- /package/src/features/tools/{view.tsx → marquee-selection/view.tsx} +0 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2019-2023 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 { ContainerModule } from 'inversify';
|
|
17
|
+
import {
|
|
18
|
+
AddRemoveBezierSegmentCommand,
|
|
19
|
+
AnchorComputerRegistry,
|
|
20
|
+
BezierDiamondAnchor,
|
|
21
|
+
BezierEdgeRouter,
|
|
22
|
+
BezierEllipseAnchor,
|
|
23
|
+
BezierRectangleAnchor,
|
|
24
|
+
DiamondAnchor,
|
|
25
|
+
EdgeRouterRegistry,
|
|
26
|
+
EllipseAnchor,
|
|
27
|
+
ManhattanDiamondAnchor,
|
|
28
|
+
ManhattanEdgeRouter,
|
|
29
|
+
ManhattanEllipticAnchor,
|
|
30
|
+
ManhattanRectangularAnchor,
|
|
31
|
+
PolylineEdgeRouter,
|
|
32
|
+
RectangleAnchor,
|
|
33
|
+
TYPES,
|
|
34
|
+
bindOrRebind,
|
|
35
|
+
configureCommand
|
|
36
|
+
} from '~glsp-sprotty';
|
|
37
|
+
import { GLSPManhattanEdgeRouter } from './glsp-manhattan-edge-router';
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Customization of the routing module for GLSP.
|
|
41
|
+
*/
|
|
42
|
+
const glspRoutingModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
|
|
43
|
+
const context = { bind, isBound, rebind };
|
|
44
|
+
|
|
45
|
+
bind(EdgeRouterRegistry).toSelf().inSingletonScope();
|
|
46
|
+
|
|
47
|
+
bind(AnchorComputerRegistry).toSelf().inSingletonScope();
|
|
48
|
+
|
|
49
|
+
bind(GLSPManhattanEdgeRouter).toSelf().inSingletonScope();
|
|
50
|
+
bind(ManhattanEdgeRouter).toService(GLSPManhattanEdgeRouter);
|
|
51
|
+
bind(TYPES.IEdgeRouter).toService(ManhattanEdgeRouter);
|
|
52
|
+
bind(ManhattanEllipticAnchor).toSelf().inSingletonScope();
|
|
53
|
+
bind(TYPES.IAnchorComputer).toService(ManhattanEllipticAnchor);
|
|
54
|
+
bind(ManhattanRectangularAnchor).toSelf().inSingletonScope();
|
|
55
|
+
bind(TYPES.IAnchorComputer).toService(ManhattanRectangularAnchor);
|
|
56
|
+
bind(ManhattanDiamondAnchor).toSelf().inSingletonScope();
|
|
57
|
+
bind(TYPES.IAnchorComputer).toService(ManhattanDiamondAnchor);
|
|
58
|
+
|
|
59
|
+
bind(PolylineEdgeRouter).toSelf().inSingletonScope();
|
|
60
|
+
bind(TYPES.IEdgeRouter).toService(PolylineEdgeRouter);
|
|
61
|
+
bind(EllipseAnchor).toSelf().inSingletonScope();
|
|
62
|
+
bind(TYPES.IAnchorComputer).toService(EllipseAnchor);
|
|
63
|
+
bind(RectangleAnchor).toSelf().inSingletonScope();
|
|
64
|
+
bind(TYPES.IAnchorComputer).toService(RectangleAnchor);
|
|
65
|
+
bind(DiamondAnchor).toSelf().inSingletonScope();
|
|
66
|
+
bind(TYPES.IAnchorComputer).toService(DiamondAnchor);
|
|
67
|
+
|
|
68
|
+
bind(BezierEdgeRouter).toSelf().inSingletonScope();
|
|
69
|
+
bind(TYPES.IEdgeRouter).toService(BezierEdgeRouter);
|
|
70
|
+
bind(BezierEllipseAnchor).toSelf().inSingletonScope();
|
|
71
|
+
bind(TYPES.IAnchorComputer).toService(BezierEllipseAnchor);
|
|
72
|
+
bind(BezierRectangleAnchor).toSelf().inSingletonScope();
|
|
73
|
+
bind(TYPES.IAnchorComputer).toService(BezierRectangleAnchor);
|
|
74
|
+
bind(BezierDiamondAnchor).toSelf().inSingletonScope();
|
|
75
|
+
bind(TYPES.IAnchorComputer).toService(BezierDiamondAnchor);
|
|
76
|
+
|
|
77
|
+
configureCommand({ bind, isBound }, AddRemoveBezierSegmentCommand);
|
|
78
|
+
|
|
79
|
+
bindOrRebind(context, ManhattanEdgeRouter).toService(GLSPManhattanEdgeRouter);
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
export default glspRoutingModule;
|
|
@@ -15,18 +15,16 @@
|
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { ContainerModule } from 'inversify';
|
|
17
17
|
import { TYPES, bindAsService, configureCommand } from '~glsp-sprotty';
|
|
18
|
-
import {
|
|
18
|
+
import { SelectAllCommand, SelectCommand } from '../../base/selection-service';
|
|
19
|
+
import { SelectFeedbackCommand } from './select-feedback-command';
|
|
19
20
|
import { RankedSelectMouseListener } from './select-mouse-listener';
|
|
20
|
-
import { SelectAllCommand, SelectCommand, SelectionService } from './selection-service';
|
|
21
21
|
|
|
22
22
|
const glspSelectModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
23
23
|
const context = { bind, isBound };
|
|
24
|
-
bindAsService(context, TYPES.SelectionService, SelectionService);
|
|
25
24
|
configureCommand(context, SelectCommand);
|
|
26
25
|
configureCommand(context, SelectAllCommand);
|
|
27
26
|
configureCommand(context, SelectFeedbackCommand);
|
|
28
27
|
bindAsService(context, TYPES.MouseListener, RankedSelectMouseListener);
|
|
29
|
-
bind(TYPES.SModelRootListener).toService(SelectionService);
|
|
30
28
|
});
|
|
31
29
|
|
|
32
30
|
export default glspSelectModule;
|
|
@@ -14,44 +14,8 @@
|
|
|
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 {
|
|
18
|
-
|
|
19
|
-
Command,
|
|
20
|
-
CommandExecutionContext,
|
|
21
|
-
SModelRoot,
|
|
22
|
-
SelectAction,
|
|
23
|
-
SprottySelectCommand,
|
|
24
|
-
TYPES,
|
|
25
|
-
hasArrayProp
|
|
26
|
-
} from '~glsp-sprotty';
|
|
27
|
-
|
|
28
|
-
export interface SelectFeedbackAction extends Omit<SelectAction, 'kind'>, Action {
|
|
29
|
-
kind: typeof SelectFeedbackAction.KIND;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export namespace SelectFeedbackAction {
|
|
33
|
-
export const KIND = 'selectFeedback';
|
|
34
|
-
|
|
35
|
-
export function is(object: any): object is SelectFeedbackAction {
|
|
36
|
-
return Action.hasKind(object, KIND) && hasArrayProp(object, 'selectedElementsIDs') && hasArrayProp(object, 'deselectedElementsIDs');
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export function create(options?: { selectedElementsIDs?: string[]; deselectedElementsIDs?: string[] | boolean }): SelectFeedbackAction {
|
|
40
|
-
return { ...SelectAction.create(options), kind: KIND };
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function addSelection(selectedElementsIDs: string[]): SelectFeedbackAction {
|
|
44
|
-
return { ...SelectAction.addSelection(selectedElementsIDs), kind: KIND };
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export function removeSelection(deselectedElementsIDs: string[]): SelectFeedbackAction {
|
|
48
|
-
return { ...SelectAction.removeSelection(deselectedElementsIDs), kind: KIND };
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export function setSelection(selectedElementsIDs: string[]): SelectFeedbackAction {
|
|
52
|
-
return { ...SelectAction.setSelection(selectedElementsIDs), kind: KIND };
|
|
53
|
-
}
|
|
54
|
-
}
|
|
17
|
+
import { Command, CommandExecutionContext, SModelRoot, SelectAction, SprottySelectCommand, TYPES } from '~glsp-sprotty';
|
|
18
|
+
import { SelectFeedbackAction } from '../../base/selection-service';
|
|
55
19
|
|
|
56
20
|
@injectable()
|
|
57
21
|
export class SelectFeedbackCommand extends Command {
|
|
@@ -29,14 +29,14 @@ import {
|
|
|
29
29
|
isSelectable,
|
|
30
30
|
toArray
|
|
31
31
|
} from '~glsp-sprotty';
|
|
32
|
-
import {
|
|
32
|
+
import { Ranked } from '../../base/ranked';
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* Ranked select mouse listener that is executed before default mouse listeners when using the RankedMouseTool.
|
|
36
36
|
* This ensures that default mouse listeners are working on a model that has selection changes already applied.
|
|
37
37
|
*/
|
|
38
38
|
export class RankedSelectMouseListener extends SelectMouseListener implements Ranked {
|
|
39
|
-
rank: number = DEFAULT_RANK - 1; /* we want to be executed before all default mouse listeners */
|
|
39
|
+
rank: number = Ranked.DEFAULT_RANK - 1; /* we want to be executed before all default mouse listeners */
|
|
40
40
|
|
|
41
41
|
override mouseDown(target: SModelElement, event: MouseEvent): (Action | Promise<Action>)[] {
|
|
42
42
|
const result: Action[] = [];
|
|
@@ -70,7 +70,7 @@ export class SourceModelChangedActionHandler implements IActionHandler {
|
|
|
70
70
|
const severity = 'WARNING';
|
|
71
71
|
this.dispatcher.dispatchAll([
|
|
72
72
|
ServerStatusAction.create(message, { severity, timeout }),
|
|
73
|
-
ServerMessageAction.create(message, { severity
|
|
73
|
+
ServerMessageAction.create(message, { severity })
|
|
74
74
|
]);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
@@ -34,10 +34,10 @@ import {
|
|
|
34
34
|
matchesKeystroke
|
|
35
35
|
} from '~glsp-sprotty';
|
|
36
36
|
import { GLSPActionDispatcher } from '../../base/action-dispatcher';
|
|
37
|
-
import {
|
|
37
|
+
import { EditorContextService, IEditModeListener } from '../../base/editor-context-service';
|
|
38
38
|
import { FocusTracker } from '../../base/focus-tracker';
|
|
39
|
-
import { MouseDeleteTool } from '../tools/delete-tool';
|
|
40
|
-
import { MarqueeMouseTool } from '../tools/marquee-mouse-tool';
|
|
39
|
+
import { MouseDeleteTool } from '../tools/deletion/delete-tool';
|
|
40
|
+
import { MarqueeMouseTool } from '../tools/marquee-selection/marquee-mouse-tool';
|
|
41
41
|
|
|
42
42
|
const CLICKED_CSS_CLASS = 'clicked';
|
|
43
43
|
const SEARCH_ICON_ID = 'search';
|
|
@@ -61,7 +61,7 @@ export namespace EnableToolPaletteAction {
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
@injectable()
|
|
64
|
-
export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
64
|
+
export class ToolPalette extends AbstractUIExtension implements IActionHandler, IEditModeListener {
|
|
65
65
|
static readonly ID = 'tool-palette';
|
|
66
66
|
|
|
67
67
|
@inject(TYPES.IActionDispatcher) protected readonly actionDispatcher: GLSPActionDispatcher;
|
|
@@ -72,7 +72,7 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
72
72
|
protected paletteItems: PaletteItem[];
|
|
73
73
|
protected paletteItemsCopy: PaletteItem[] = [];
|
|
74
74
|
protected bodyDiv?: HTMLElement;
|
|
75
|
-
protected
|
|
75
|
+
protected lastActiveButton?: HTMLElement;
|
|
76
76
|
protected defaultToolsButton: HTMLElement;
|
|
77
77
|
protected searchField: HTMLInputElement;
|
|
78
78
|
modelRootId: string;
|
|
@@ -86,7 +86,7 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
86
86
|
|
|
87
87
|
@postConstruct()
|
|
88
88
|
postConstruct(): void {
|
|
89
|
-
this.editorContext.
|
|
89
|
+
this.editorContext.onEditModeChanged(change => this.editModeChanged(change.newValue, change.oldValue));
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
override initialize(): boolean {
|
|
@@ -99,7 +99,7 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
99
99
|
protected initializeContents(_containerElement: HTMLElement): void {
|
|
100
100
|
this.createHeader();
|
|
101
101
|
this.createBody();
|
|
102
|
-
this.
|
|
102
|
+
this.lastActiveButton = this.defaultToolsButton;
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
protected override onBeforeShow(_containerElement: HTMLElement, root: Readonly<SModelRoot>): void {
|
|
@@ -307,15 +307,15 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
307
307
|
}
|
|
308
308
|
|
|
309
309
|
changeActiveButton(button?: HTMLElement): void {
|
|
310
|
-
if (this.
|
|
311
|
-
this.
|
|
310
|
+
if (this.lastActiveButton) {
|
|
311
|
+
this.lastActiveButton.classList.remove(CLICKED_CSS_CLASS);
|
|
312
312
|
}
|
|
313
313
|
if (button) {
|
|
314
314
|
button.classList.add(CLICKED_CSS_CLASS);
|
|
315
|
-
this.
|
|
315
|
+
this.lastActiveButton = button;
|
|
316
316
|
} else if (this.defaultToolsButton) {
|
|
317
317
|
this.defaultToolsButton.classList.add(CLICKED_CSS_CLASS);
|
|
318
|
-
this.
|
|
318
|
+
this.lastActiveButton = this.defaultToolsButton;
|
|
319
319
|
}
|
|
320
320
|
}
|
|
321
321
|
|
|
@@ -344,7 +344,7 @@ export class ToolPalette extends AbstractUIExtension implements IActionHandler,
|
|
|
344
344
|
}
|
|
345
345
|
}
|
|
346
346
|
|
|
347
|
-
editModeChanged(
|
|
347
|
+
editModeChanged(_newValue: string, _oldValue: string): void {
|
|
348
348
|
this.actionDispatcher.dispatch(
|
|
349
349
|
SetUIExtensionVisibilityAction.create({ extensionId: ToolPalette.ID, visible: !this.editorContext.isReadonly })
|
|
350
350
|
);
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2023 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 { Action, EnableToolsAction, IActionHandler } from '~glsp-sprotty';
|
|
18
|
+
import { BaseGLSPTool } from './base-glsp-tool';
|
|
19
|
+
|
|
20
|
+
@injectable()
|
|
21
|
+
export abstract class BaseGLSPCreationTool<T extends Action> extends BaseGLSPTool implements IActionHandler {
|
|
22
|
+
protected abstract isTriggerAction: (obj: any) => obj is T;
|
|
23
|
+
protected triggerAction: T;
|
|
24
|
+
|
|
25
|
+
handle(action: Action): Action | void {
|
|
26
|
+
if (this.isTriggerAction(action)) {
|
|
27
|
+
this.triggerAction = action;
|
|
28
|
+
return EnableToolsAction.create([this.id]);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
override enable(): void {
|
|
33
|
+
if (this.triggerAction === undefined) {
|
|
34
|
+
throw new TypeError(`Could not enable tool ${this.id}. The triggerAction cannot be undefined.`);
|
|
35
|
+
}
|
|
36
|
+
this.doEnable();
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
protected abstract doEnable(): void;
|
|
40
|
+
}
|
|
@@ -14,22 +14,28 @@
|
|
|
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 { Action,
|
|
17
|
+
import { Action, Disposable, DisposableCollection, IActionDispatcher, TYPES } from '~glsp-sprotty';
|
|
18
18
|
import { EditorContextService } from '../../base/editor-context-service';
|
|
19
|
+
import { IFeedbackActionDispatcher, IFeedbackEmitter } from '../../base/feedback/feedback-action-dispatcher';
|
|
19
20
|
import { GLSPTool } from '../../base/tool-manager/glsp-tool-manager';
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
21
|
+
import { GLSPKeyTool } from '../../base/view/key-tool';
|
|
22
|
+
import { GLSPMouseTool } from '../../base/view/mouse-tool';
|
|
22
23
|
|
|
23
24
|
@injectable()
|
|
24
25
|
export abstract class BaseGLSPTool implements GLSPTool {
|
|
25
26
|
@inject(TYPES.IFeedbackActionDispatcher) protected feedbackDispatcher: IFeedbackActionDispatcher;
|
|
26
27
|
@inject(TYPES.IActionDispatcher) protected actionDispatcher: IActionDispatcher;
|
|
27
|
-
@inject(
|
|
28
|
-
@inject(
|
|
28
|
+
@inject(GLSPMouseTool) protected mouseTool: GLSPMouseTool;
|
|
29
|
+
@inject(GLSPKeyTool) protected keyTool: GLSPKeyTool;
|
|
29
30
|
@inject(EditorContextService) protected readonly editorContext: EditorContextService;
|
|
30
31
|
|
|
32
|
+
protected readonly toDisposeOnDisable = new DisposableCollection();
|
|
33
|
+
|
|
31
34
|
abstract enable(): void;
|
|
32
|
-
|
|
35
|
+
|
|
36
|
+
disable(): void {
|
|
37
|
+
this.toDisposeOnDisable.dispose();
|
|
38
|
+
}
|
|
33
39
|
|
|
34
40
|
abstract id: string;
|
|
35
41
|
|
|
@@ -41,11 +47,27 @@ export abstract class BaseGLSPTool implements GLSPTool {
|
|
|
41
47
|
this.actionDispatcher.dispatchAll(actions);
|
|
42
48
|
}
|
|
43
49
|
|
|
44
|
-
|
|
45
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Registers `actions` to be sent out as feedback, i.e., changes that are re-established whenever the `SModelRoot`
|
|
52
|
+
* has been set or updated.
|
|
53
|
+
*
|
|
54
|
+
* @param feedbackActions the actions to be sent out.
|
|
55
|
+
* @param feedbackEmitter the emitter sending out feedback actions (this tool by default).
|
|
56
|
+
* @param cleanupActions the actions to be sent out when the feedback is de-registered through the returned Disposable.
|
|
57
|
+
* @returns A 'Disposable' that de-registers the feedback and cleans up any pending feedback with the given `cleanupActions`.
|
|
58
|
+
*/
|
|
59
|
+
registerFeedback(feedbackActions: Action[], feedbackEmitter?: IFeedbackEmitter, cleanupActions?: Action[]): Disposable {
|
|
60
|
+
return this.feedbackDispatcher.registerFeedback(feedbackEmitter ?? this, feedbackActions, cleanupActions);
|
|
46
61
|
}
|
|
47
62
|
|
|
48
|
-
|
|
49
|
-
|
|
63
|
+
/**
|
|
64
|
+
* De-registers all feedback from the given `feedbackEmitter` (this tool by default) and cleans up any pending feedback with the
|
|
65
|
+
* given `cleanupActions`.
|
|
66
|
+
*
|
|
67
|
+
* @param feedbackEmitter the emitter to be deregistered (this tool by default).
|
|
68
|
+
* @param cleanupActions the actions to be dispatched right after the deregistration to clean up any pending feedback.
|
|
69
|
+
*/
|
|
70
|
+
deregisterFeedback(feedbackEmitter?: IFeedbackEmitter, cleanupActions?: Action[]): void {
|
|
71
|
+
this.feedbackDispatcher.deregisterFeedback(feedbackEmitter ?? this, cleanupActions);
|
|
50
72
|
}
|
|
51
73
|
}
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
Action,
|
|
20
20
|
CommandExecutionContext,
|
|
21
21
|
CommandReturn,
|
|
22
|
+
Disposable,
|
|
22
23
|
ElementMove,
|
|
23
24
|
MouseListener,
|
|
24
25
|
MoveAction,
|
|
@@ -33,12 +34,12 @@ import {
|
|
|
33
34
|
isSelectable,
|
|
34
35
|
isViewport
|
|
35
36
|
} from '~glsp-sprotty';
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
37
|
+
import { CursorCSS, cursorFeedbackAction } from '../../../base/feedback/css-feedback';
|
|
38
|
+
import { FeedbackCommand } from '../../../base/feedback/feedback-command';
|
|
39
|
+
import { forEachElement } from '../../../utils/smodel-util';
|
|
40
|
+
import { SResizeHandle, addResizeHandles, isResizable, removeResizeHandles } from '../../change-bounds/model';
|
|
41
|
+
import { createMovementRestrictionFeedback, removeMovementRestrictionFeedback } from '../../change-bounds/movement-restrictor';
|
|
42
|
+
import { ChangeBoundsTool } from './change-bounds-tool';
|
|
42
43
|
|
|
43
44
|
export interface ShowChangeBoundsToolResizeFeedbackAction extends Action {
|
|
44
45
|
kind: typeof ShowChangeBoundsToolResizeFeedbackAction.KIND;
|
|
@@ -118,9 +119,10 @@ export class HideChangeBoundsToolResizeFeedbackCommand extends FeedbackCommand {
|
|
|
118
119
|
* the visual feedback but also the basis for sending the change to the server
|
|
119
120
|
* (see also `tools/MoveTool`).
|
|
120
121
|
*/
|
|
121
|
-
export class FeedbackMoveMouseListener extends MouseListener {
|
|
122
|
+
export class FeedbackMoveMouseListener extends MouseListener implements Disposable {
|
|
122
123
|
protected hasDragged = false;
|
|
123
|
-
protected
|
|
124
|
+
protected rootElement?: SModelRoot;
|
|
125
|
+
protected startDragPosition?: Point;
|
|
124
126
|
protected elementId2startPos = new Map<string, Point>();
|
|
125
127
|
|
|
126
128
|
constructor(protected tool: ChangeBoundsTool) {
|
|
@@ -155,10 +157,12 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
155
157
|
result.push(cursorFeedbackAction(CursorCSS.MOVE));
|
|
156
158
|
}
|
|
157
159
|
}
|
|
158
|
-
|
|
160
|
+
this.tool.registerFeedback(result, this);
|
|
161
|
+
return [];
|
|
159
162
|
}
|
|
160
163
|
|
|
161
164
|
protected collectStartPositions(root: SModelRoot): void {
|
|
165
|
+
this.rootElement = root;
|
|
162
166
|
const selectedElements = root.index.all().filter(element => isSelectable(element) && element.selected);
|
|
163
167
|
const elementsSet = new Set(selectedElements);
|
|
164
168
|
selectedElements
|
|
@@ -184,13 +188,29 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
184
188
|
if (!this.startDragPosition) {
|
|
185
189
|
return undefined;
|
|
186
190
|
}
|
|
187
|
-
|
|
191
|
+
|
|
188
192
|
const viewport = findParentByFeature(target, isViewport);
|
|
189
193
|
const zoom = viewport ? viewport.zoom : 1;
|
|
190
194
|
const delta = {
|
|
191
195
|
x: (event.pageX - this.startDragPosition.x) / zoom,
|
|
192
196
|
y: (event.pageY - this.startDragPosition.y) / zoom
|
|
193
197
|
};
|
|
198
|
+
|
|
199
|
+
const elementMoves: ElementMove[] = this.getElementMovesForDelta(target, delta, !event.shiftKey, finished);
|
|
200
|
+
if (elementMoves.length > 0) {
|
|
201
|
+
return MoveAction.create(elementMoves, { animate: false, finished });
|
|
202
|
+
} else {
|
|
203
|
+
return undefined;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
protected getElementMovesForDelta(
|
|
208
|
+
target: SModelElement,
|
|
209
|
+
delta: { x: number; y: number },
|
|
210
|
+
isSnap: boolean,
|
|
211
|
+
finished: boolean
|
|
212
|
+
): ElementMove[] {
|
|
213
|
+
const elementMoves: ElementMove[] = [];
|
|
194
214
|
this.elementId2startPos.forEach((startPosition, elementId) => {
|
|
195
215
|
const element = target.root.index.getById(elementId);
|
|
196
216
|
if (element) {
|
|
@@ -200,7 +220,7 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
200
220
|
y: startPosition.y + delta.y
|
|
201
221
|
},
|
|
202
222
|
element,
|
|
203
|
-
|
|
223
|
+
isSnap
|
|
204
224
|
);
|
|
205
225
|
|
|
206
226
|
if (isMoveable(element)) {
|
|
@@ -216,11 +236,7 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
216
236
|
}
|
|
217
237
|
}
|
|
218
238
|
});
|
|
219
|
-
|
|
220
|
-
return MoveAction.create(elementMoves, { animate: false, finished });
|
|
221
|
-
} else {
|
|
222
|
-
return undefined;
|
|
223
|
-
}
|
|
239
|
+
return elementMoves;
|
|
224
240
|
}
|
|
225
241
|
|
|
226
242
|
protected validateMove(startPosition: Point, toPosition: Point, element: SModelElement, isFinished: boolean): Point {
|
|
@@ -237,8 +253,7 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
237
253
|
} else {
|
|
238
254
|
action = removeMovementRestrictionFeedback(element, this.tool.movementRestrictor);
|
|
239
255
|
}
|
|
240
|
-
|
|
241
|
-
this.tool.dispatchFeedback([action], this);
|
|
256
|
+
this.tool.registerFeedback([action], this);
|
|
242
257
|
}
|
|
243
258
|
return newPosition;
|
|
244
259
|
}
|
|
@@ -265,18 +280,34 @@ export class FeedbackMoveMouseListener extends MouseListener {
|
|
|
265
280
|
if (moveAction) {
|
|
266
281
|
result.push(moveAction);
|
|
267
282
|
}
|
|
283
|
+
const resetFeedback: Action[] = [];
|
|
268
284
|
if (this.tool.movementRestrictor) {
|
|
269
|
-
|
|
285
|
+
resetFeedback.push(removeMovementRestrictionFeedback(target, this.tool.movementRestrictor));
|
|
270
286
|
}
|
|
271
|
-
|
|
287
|
+
resetFeedback.push(cursorFeedbackAction(CursorCSS.DEFAULT));
|
|
288
|
+
this.tool.deregisterFeedback(this, resetFeedback);
|
|
289
|
+
}
|
|
290
|
+
this.reset();
|
|
291
|
+
return result;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
protected reset(resetFeedback = false): void {
|
|
295
|
+
if (this.rootElement && resetFeedback) {
|
|
296
|
+
const elementMoves: ElementMove[] = this.getElementMovesForDelta(this.rootElement, { x: 0, y: 0 }, true, true);
|
|
297
|
+
const moveAction = MoveAction.create(elementMoves, { animate: false, finished: true });
|
|
298
|
+
this.tool.deregisterFeedback(this, [moveAction]);
|
|
272
299
|
}
|
|
273
300
|
this.hasDragged = false;
|
|
274
301
|
this.startDragPosition = undefined;
|
|
302
|
+
this.rootElement = undefined;
|
|
275
303
|
this.elementId2startPos.clear();
|
|
276
|
-
return result;
|
|
277
304
|
}
|
|
278
305
|
|
|
279
306
|
override decorate(vnode: VNode, _element: SModelElement): VNode {
|
|
280
307
|
return vnode;
|
|
281
308
|
}
|
|
309
|
+
|
|
310
|
+
dispose(): void {
|
|
311
|
+
this.reset(true);
|
|
312
|
+
}
|
|
282
313
|
}
|