@eclipse-glsp/client 2.2.0-next.336 → 2.2.0-next.338
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/css/ghost-element.css +7 -0
- package/lib/base/default.module.js +4 -4
- package/lib/base/default.module.js.map +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts +5 -2
- package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
- package/lib/base/drag-aware-mouse-listener.js +13 -3
- package/lib/base/drag-aware-mouse-listener.js.map +1 -1
- package/lib/base/feedback/feedback-action-dispatcher-default.d.ts +34 -0
- package/lib/base/feedback/feedback-action-dispatcher-default.d.ts.map +1 -0
- package/lib/base/feedback/feedback-action-dispatcher-default.js +120 -0
- package/lib/base/feedback/feedback-action-dispatcher-default.js.map +1 -0
- package/lib/base/feedback/feedback-action-dispatcher.d.ts +2 -17
- package/lib/base/feedback/feedback-action-dispatcher.d.ts.map +1 -1
- package/lib/base/feedback/feedback-action-dispatcher.js +1 -100
- package/lib/base/feedback/feedback-action-dispatcher.js.map +1 -1
- package/lib/base/feedback/{feeback-emitter.d.ts → feedback-emitter.d.ts} +8 -1
- package/lib/base/feedback/feedback-emitter.d.ts.map +1 -0
- package/lib/base/feedback/{feeback-emitter.js → feedback-emitter.js} +21 -6
- package/lib/base/feedback/feedback-emitter.js.map +1 -0
- package/lib/base/selection-service.d.ts +1 -1
- package/lib/base/selection-service.d.ts.map +1 -1
- package/lib/base/tool-manager/tool-manager.d.ts +1 -1
- package/lib/base/tool-manager/tool-manager.d.ts.map +1 -1
- package/lib/base/ui-extension/ui-extension-registry.d.ts +1 -1
- package/lib/base/ui-extension/ui-extension-registry.d.ts.map +1 -1
- package/lib/base/view/key-tool.d.ts +1 -1
- package/lib/base/view/key-tool.d.ts.map +1 -1
- package/lib/base/view/mouse-tool.d.ts +1 -1
- package/lib/base/view/mouse-tool.d.ts.map +1 -1
- package/lib/features/accessibility/move-zoom/move-handler.d.ts +2 -2
- package/lib/features/accessibility/move-zoom/move-handler.d.ts.map +1 -1
- package/lib/features/accessibility/move-zoom/move-handler.js +1 -1
- package/lib/features/accessibility/move-zoom/move-handler.js.map +1 -1
- package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts +3 -3
- package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts.map +1 -1
- package/lib/features/accessibility/resize-key-tool/resize-key-handler.js +1 -1
- package/lib/features/accessibility/resize-key-tool/resize-key-handler.js.map +1 -1
- package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +3 -3
- 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 +4 -4
- package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -1
- package/lib/features/bounds/set-bounds-feedback-command.d.ts.map +1 -1
- package/lib/features/bounds/set-bounds-feedback-command.js +2 -2
- package/lib/features/bounds/set-bounds-feedback-command.js.map +1 -1
- package/lib/features/change-bounds/model.d.ts +7 -3
- package/lib/features/change-bounds/model.d.ts.map +1 -1
- package/lib/features/change-bounds/model.js +46 -20
- package/lib/features/change-bounds/model.js.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts +3 -2
- package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +9 -10
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/debug/debug-bounds-decorator.d.ts +1 -1
- package/lib/features/debug/debug-bounds-decorator.d.ts.map +1 -1
- package/lib/features/debug/debug-bounds-decorator.js +6 -6
- package/lib/features/debug/debug-bounds-decorator.js.map +1 -1
- package/lib/features/debug/debug-manager.d.ts +2 -1
- package/lib/features/debug/debug-manager.d.ts.map +1 -1
- package/lib/features/debug/debug-manager.js.map +1 -1
- package/lib/features/debug/debug-model.d.ts +1 -1
- package/lib/features/debug/debug-model.d.ts.map +1 -1
- package/lib/features/debug/debug-model.js +5 -5
- package/lib/features/debug/debug-model.js.map +1 -1
- package/lib/features/debug/debug-module.js +1 -1
- package/lib/features/debug/debug-module.js.map +1 -1
- package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts +8 -6
- package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts.map +1 -1
- package/lib/features/element-template/mouse-tracking-element-position-listener.js +14 -15
- package/lib/features/element-template/mouse-tracking-element-position-listener.js.map +1 -1
- package/lib/features/grid/grid-manager.d.ts +2 -1
- package/lib/features/grid/grid-manager.d.ts.map +1 -1
- package/lib/features/grid/grid-manager.js.map +1 -1
- package/lib/features/grid/grid-model.d.ts +1 -1
- package/lib/features/grid/grid-model.d.ts.map +1 -1
- package/lib/features/grid/grid-model.js +5 -5
- package/lib/features/grid/grid-model.js.map +1 -1
- package/lib/features/grid/grid-module.d.ts +1 -1
- package/lib/features/grid/grid-module.d.ts.map +1 -1
- package/lib/features/grid/grid-module.js +2 -2
- package/lib/features/grid/grid-module.js.map +1 -1
- package/lib/features/helper-lines/helper-line-feedback.d.ts +2 -2
- package/lib/features/helper-lines/helper-line-feedback.js +3 -3
- package/lib/features/helper-lines/helper-line-feedback.js.map +1 -1
- package/lib/features/helper-lines/helper-line-manager-default.d.ts +16 -4
- package/lib/features/helper-lines/helper-line-manager-default.d.ts.map +1 -1
- package/lib/features/helper-lines/helper-line-manager-default.js +56 -15
- package/lib/features/helper-lines/helper-line-manager-default.js.map +1 -1
- package/lib/features/hints/model.d.ts +6 -2
- package/lib/features/hints/model.d.ts.map +1 -1
- package/lib/features/hints/model.js.map +1 -1
- package/lib/features/hints/type-hint-provider.d.ts +1 -1
- package/lib/features/hints/type-hint-provider.d.ts.map +1 -1
- package/lib/features/hints/type-hint-provider.js.map +1 -1
- package/lib/features/select/select-mouse-listener.d.ts +3 -3
- package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
- package/lib/features/select/select-mouse-listener.js +6 -6
- package/lib/features/select/select-mouse-listener.js.map +1 -1
- package/lib/features/tool-palette/tool-palette.d.ts +3 -3
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +9 -9
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/base-tools.d.ts +2 -2
- package/lib/features/tools/base-tools.d.ts.map +1 -1
- package/lib/features/tools/base-tools.js +1 -1
- package/lib/features/tools/change-bounds/change-bounds-manager.d.ts +15 -7
- package/lib/features/tools/change-bounds/change-bounds-manager.d.ts.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-manager.js +51 -17
- package/lib/features/tools/change-bounds/change-bounds-manager.js.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js +3 -3
- package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tool-module.d.ts +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tool-module.js +2 -2
- package/lib/features/tools/change-bounds/change-bounds-tool-module.js.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.d.ts +5 -5
- package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.d.ts.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js +9 -12
- package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tool.d.ts +4 -3
- package/lib/features/tools/change-bounds/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tool.js +13 -32
- package/lib/features/tools/change-bounds/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tracker.d.ts +11 -4
- package/lib/features/tools/change-bounds/change-bounds-tracker.d.ts.map +1 -1
- package/lib/features/tools/change-bounds/change-bounds-tracker.js +46 -28
- package/lib/features/tools/change-bounds/change-bounds-tracker.js.map +1 -1
- package/lib/features/tools/edge-creation/dangling-edge-feedback.d.ts +1 -1
- package/lib/features/tools/edge-creation/dangling-edge-feedback.js +3 -3
- package/lib/features/tools/edge-creation/dangling-edge-feedback.js.map +1 -1
- package/lib/features/tools/edge-creation/edge-creation-tool-feedback.d.ts +1 -1
- package/lib/features/tools/edge-creation/edge-creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tools/edge-creation/edge-creation-tool.d.ts +6 -3
- package/lib/features/tools/edge-creation/edge-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-creation/edge-creation-tool.js +13 -11
- package/lib/features/tools/edge-creation/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts +4 -3
- package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js +4 -4
- package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tools/edge-edit/edge-edit-tool.d.ts +3 -3
- package/lib/features/tools/edge-edit/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit/edge-edit-tool.js +4 -4
- package/lib/features/tools/edge-edit/edge-edit-tool.js.map +1 -1
- package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts +2 -2
- package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-selection/marquee-mouse-tool.js +3 -3
- package/lib/features/tools/marquee-selection/marquee-mouse-tool.js.map +1 -1
- package/lib/features/tools/node-creation/container-manager.d.ts +41 -0
- package/lib/features/tools/node-creation/container-manager.d.ts.map +1 -0
- package/lib/features/tools/node-creation/container-manager.js +73 -0
- package/lib/features/tools/node-creation/container-manager.js.map +1 -0
- package/lib/{base/ui-extension/index.d.ts → features/tools/node-creation/insert-indicator.d.ts} +15 -3
- package/lib/features/tools/node-creation/insert-indicator.d.ts.map +1 -0
- package/lib/features/tools/node-creation/insert-indicator.js +40 -0
- package/lib/features/tools/node-creation/insert-indicator.js.map +1 -0
- package/lib/features/tools/node-creation/node-creation-module.d.ts +1 -1
- package/lib/features/tools/node-creation/node-creation-module.d.ts.map +1 -1
- package/lib/features/tools/node-creation/node-creation-module.js +6 -1
- package/lib/features/tools/node-creation/node-creation-module.js.map +1 -1
- package/lib/features/tools/node-creation/node-creation-tool.d.ts +26 -16
- package/lib/features/tools/node-creation/node-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/node-creation/node-creation-tool.js +82 -78
- package/lib/features/tools/node-creation/node-creation-tool.js.map +1 -1
- package/lib/features/{debug/index.d.ts → tools/node-creation/node-creation-views.d.ts} +10 -5
- package/lib/features/tools/node-creation/node-creation-views.d.ts.map +1 -0
- package/lib/features/tools/node-creation/node-creation-views.js +60 -0
- package/lib/features/tools/node-creation/node-creation-views.js.map +1 -0
- package/lib/features/validation/validate.d.ts +1 -1
- package/lib/features/validation/validate.d.ts.map +1 -1
- package/lib/features/validation/validate.js.map +1 -1
- package/lib/features/viewport/viewport-handler.d.ts +1 -1
- package/lib/features/viewport/viewport-handler.d.ts.map +1 -1
- package/lib/features/viewport/viewport-handler.js +3 -3
- package/lib/features/viewport/viewport-handler.js.map +1 -1
- package/lib/index.d.ts +223 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +223 -5
- package/lib/index.js.map +1 -1
- package/lib/utils/gmodel-util.d.ts +2 -0
- package/lib/utils/gmodel-util.d.ts.map +1 -1
- package/lib/utils/gmodel-util.js.map +1 -1
- package/lib/views/ggraph-view.d.ts +1 -1
- package/lib/views/ggraph-view.d.ts.map +1 -1
- package/lib/views/ggraph-view.js +4 -4
- package/lib/views/ggraph-view.js.map +1 -1
- package/lib/views/glsp-projection-view.d.ts +2 -2
- package/lib/views/glsp-projection-view.d.ts.map +1 -1
- package/lib/views/glsp-projection-view.js +5 -5
- package/lib/views/glsp-projection-view.js.map +1 -1
- package/package.json +4 -4
- package/src/base/action-dispatcher.spec.ts +1 -1
- package/src/base/default.module.ts +2 -2
- package/src/base/drag-aware-mouse-listener.ts +18 -2
- package/src/base/feedback/feedback-action-dispatcher-default.ts +119 -0
- package/src/base/feedback/feedback-action-dispatcher.ts +2 -106
- package/src/base/feedback/feedback-emitter.spec.ts +176 -0
- package/src/base/feedback/{feeback-emitter.ts → feedback-emitter.ts} +24 -5
- package/src/base/selection-service.spec.ts +1 -1
- package/src/base/selection-service.ts +1 -1
- package/src/base/tool-manager/tool-manager.ts +1 -1
- package/src/base/ui-extension/ui-extension-registry.ts +1 -1
- package/src/base/view/key-tool.ts +1 -1
- package/src/base/view/mouse-tool.ts +1 -1
- package/src/features/accessibility/move-zoom/move-handler.ts +2 -2
- package/src/features/accessibility/resize-key-tool/resize-key-handler.ts +3 -3
- package/src/features/accessibility/view-key-tools/movement-key-tool.ts +4 -4
- package/src/features/bounds/set-bounds-feedback-command.ts +1 -1
- package/src/features/change-bounds/model.ts +41 -16
- package/src/features/change-bounds/movement-restrictor.ts +13 -13
- package/src/features/change-bounds/point-position-updater.spec.ts +1 -1
- package/src/features/debug/debug-bounds-decorator.tsx +8 -8
- package/src/features/debug/debug-manager.ts +2 -1
- package/src/features/debug/debug-model.ts +2 -2
- package/src/features/debug/debug-module.ts +1 -1
- package/src/features/element-template/mouse-tracking-element-position-listener.ts +17 -24
- package/src/features/grid/grid-manager.ts +2 -1
- package/src/features/grid/grid-model.ts +2 -2
- package/src/features/grid/grid-module.ts +3 -3
- package/src/features/helper-lines/helper-line-feedback.ts +1 -1
- package/src/features/helper-lines/helper-line-manager-default.ts +68 -12
- package/src/features/hints/model.ts +7 -2
- package/src/features/hints/type-hint-provider.spec.ts +3 -3
- package/src/features/hints/type-hint-provider.ts +1 -1
- package/src/features/select/select-mouse-listener.ts +6 -6
- package/src/features/tool-palette/tool-palette.ts +6 -7
- package/src/features/tools/base-tools.ts +2 -2
- package/src/features/tools/change-bounds/change-bounds-manager.ts +75 -17
- package/src/features/tools/change-bounds/change-bounds-tool-feedback.ts +5 -2
- package/src/features/tools/change-bounds/change-bounds-tool-module.ts +2 -2
- package/src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts +13 -11
- package/src/features/tools/change-bounds/change-bounds-tool.ts +12 -57
- package/src/features/tools/change-bounds/change-bounds-tracker.ts +29 -7
- package/src/features/tools/edge-creation/dangling-edge-feedback.ts +2 -2
- package/src/features/tools/edge-creation/edge-creation-tool-feedback.ts +1 -1
- package/src/features/tools/edge-creation/edge-creation-tool.ts +15 -8
- package/src/features/tools/edge-edit/edge-edit-tool-feedback.ts +4 -3
- package/src/features/tools/edge-edit/edge-edit-tool.ts +4 -5
- package/src/features/tools/marquee-selection/marquee-mouse-tool.ts +2 -2
- package/src/features/tools/node-creation/container-manager.ts +76 -0
- package/src/features/tools/node-creation/insert-indicator.ts +41 -0
- package/src/features/tools/node-creation/node-creation-module.ts +14 -2
- package/src/features/tools/node-creation/node-creation-tool.ts +101 -92
- package/src/features/tools/node-creation/node-creation-views.tsx +49 -0
- package/src/features/validation/validate.ts +1 -1
- package/src/features/viewport/viewport-handler.ts +1 -1
- package/src/index.ts +223 -5
- package/src/utils/gmodel-util.ts +4 -1
- package/src/views/ggraph-view.tsx +4 -4
- package/src/views/glsp-projection-view.tsx +4 -5
- package/lib/base/auto-complete/index.d.ts +0 -21
- package/lib/base/auto-complete/index.d.ts.map +0 -1
- package/lib/base/auto-complete/index.js +0 -37
- package/lib/base/auto-complete/index.js.map +0 -1
- package/lib/base/feedback/feeback-emitter.d.ts.map +0 -1
- package/lib/base/feedback/feeback-emitter.js.map +0 -1
- package/lib/base/feedback/index.d.ts +0 -22
- package/lib/base/feedback/index.d.ts.map +0 -1
- package/lib/base/feedback/index.js +0 -38
- package/lib/base/feedback/index.js.map +0 -1
- package/lib/base/focus/index.d.ts +0 -18
- package/lib/base/focus/index.d.ts.map +0 -1
- package/lib/base/focus/index.js +0 -34
- package/lib/base/focus/index.js.map +0 -1
- package/lib/base/index.d.ts +0 -34
- package/lib/base/index.d.ts.map +0 -1
- package/lib/base/index.js +0 -50
- package/lib/base/index.js.map +0 -1
- package/lib/base/model/index.d.ts +0 -20
- package/lib/base/model/index.d.ts.map +0 -1
- package/lib/base/model/index.js +0 -36
- package/lib/base/model/index.js.map +0 -1
- package/lib/base/tool-manager/index.d.ts +0 -18
- package/lib/base/tool-manager/index.d.ts.map +0 -1
- package/lib/base/tool-manager/index.js +0 -34
- package/lib/base/tool-manager/index.js.map +0 -1
- package/lib/base/ui-extension/index.d.ts.map +0 -1
- package/lib/base/ui-extension/index.js +0 -34
- package/lib/base/ui-extension/index.js.map +0 -1
- package/lib/base/view/index.d.ts +0 -19
- package/lib/base/view/index.d.ts.map +0 -1
- package/lib/base/view/index.js +0 -35
- package/lib/base/view/index.js.map +0 -1
- package/lib/features/accessibility/edge-autocomplete/index.d.ts +0 -20
- package/lib/features/accessibility/edge-autocomplete/index.d.ts.map +0 -1
- package/lib/features/accessibility/edge-autocomplete/index.js +0 -36
- package/lib/features/accessibility/edge-autocomplete/index.js.map +0 -1
- package/lib/features/accessibility/element-navigation/index.d.ts +0 -22
- package/lib/features/accessibility/element-navigation/index.d.ts.map +0 -1
- package/lib/features/accessibility/element-navigation/index.js +0 -38
- package/lib/features/accessibility/element-navigation/index.js.map +0 -1
- package/lib/features/accessibility/focus-tracker/index.d.ts +0 -18
- package/lib/features/accessibility/focus-tracker/index.d.ts.map +0 -1
- package/lib/features/accessibility/focus-tracker/index.js +0 -34
- package/lib/features/accessibility/focus-tracker/index.js.map +0 -1
- package/lib/features/accessibility/index.d.ts +0 -31
- package/lib/features/accessibility/index.d.ts.map +0 -1
- package/lib/features/accessibility/index.js +0 -47
- package/lib/features/accessibility/index.js.map +0 -1
- package/lib/features/accessibility/key-shortcut/index.d.ts +0 -19
- package/lib/features/accessibility/key-shortcut/index.d.ts.map +0 -1
- package/lib/features/accessibility/key-shortcut/index.js +0 -35
- package/lib/features/accessibility/key-shortcut/index.js.map +0 -1
- package/lib/features/accessibility/keyboard-grid/index.d.ts +0 -21
- package/lib/features/accessibility/keyboard-grid/index.d.ts.map +0 -1
- package/lib/features/accessibility/keyboard-grid/index.js +0 -37
- package/lib/features/accessibility/keyboard-grid/index.js.map +0 -1
- package/lib/features/accessibility/keyboard-pointer/index.d.ts +0 -22
- package/lib/features/accessibility/keyboard-pointer/index.d.ts.map +0 -1
- package/lib/features/accessibility/keyboard-pointer/index.js +0 -38
- package/lib/features/accessibility/keyboard-pointer/index.js.map +0 -1
- package/lib/features/accessibility/keyboard-tool-palette/index.d.ts +0 -18
- package/lib/features/accessibility/keyboard-tool-palette/index.d.ts.map +0 -1
- package/lib/features/accessibility/keyboard-tool-palette/index.js +0 -34
- package/lib/features/accessibility/keyboard-tool-palette/index.js.map +0 -1
- package/lib/features/accessibility/move-zoom/index.d.ts +0 -19
- package/lib/features/accessibility/move-zoom/index.d.ts.map +0 -1
- package/lib/features/accessibility/move-zoom/index.js +0 -35
- package/lib/features/accessibility/move-zoom/index.js.map +0 -1
- package/lib/features/accessibility/resize-key-tool/index.d.ts +0 -19
- package/lib/features/accessibility/resize-key-tool/index.d.ts.map +0 -1
- package/lib/features/accessibility/resize-key-tool/index.js +0 -35
- package/lib/features/accessibility/resize-key-tool/index.js.map +0 -1
- package/lib/features/accessibility/search/index.d.ts +0 -19
- package/lib/features/accessibility/search/index.d.ts.map +0 -1
- package/lib/features/accessibility/search/index.js +0 -35
- package/lib/features/accessibility/search/index.js.map +0 -1
- package/lib/features/accessibility/toast/index.d.ts +0 -19
- package/lib/features/accessibility/toast/index.d.ts.map +0 -1
- package/lib/features/accessibility/toast/index.js +0 -35
- package/lib/features/accessibility/toast/index.js.map +0 -1
- package/lib/features/accessibility/view-key-tools/index.d.ts +0 -20
- package/lib/features/accessibility/view-key-tools/index.d.ts.map +0 -1
- package/lib/features/accessibility/view-key-tools/index.js +0 -36
- package/lib/features/accessibility/view-key-tools/index.js.map +0 -1
- package/lib/features/bounds/index.d.ts +0 -25
- package/lib/features/bounds/index.d.ts.map +0 -1
- package/lib/features/bounds/index.js +0 -41
- package/lib/features/bounds/index.js.map +0 -1
- package/lib/features/change-bounds/index.d.ts +0 -22
- package/lib/features/change-bounds/index.d.ts.map +0 -1
- package/lib/features/change-bounds/index.js +0 -38
- package/lib/features/change-bounds/index.js.map +0 -1
- package/lib/features/command-palette/index.d.ts +0 -20
- package/lib/features/command-palette/index.d.ts.map +0 -1
- package/lib/features/command-palette/index.js +0 -36
- package/lib/features/command-palette/index.js.map +0 -1
- package/lib/features/context-menu/index.d.ts +0 -20
- package/lib/features/context-menu/index.d.ts.map +0 -1
- package/lib/features/context-menu/index.js +0 -36
- package/lib/features/context-menu/index.js.map +0 -1
- package/lib/features/copy-paste/index.d.ts +0 -20
- package/lib/features/copy-paste/index.d.ts.map +0 -1
- package/lib/features/copy-paste/index.js +0 -36
- package/lib/features/copy-paste/index.js.map +0 -1
- package/lib/features/debug/index.d.ts.map +0 -1
- package/lib/features/debug/index.js +0 -36
- package/lib/features/debug/index.js.map +0 -1
- package/lib/features/decoration/index.d.ts +0 -18
- package/lib/features/decoration/index.d.ts.map +0 -1
- package/lib/features/decoration/index.js +0 -34
- package/lib/features/decoration/index.js.map +0 -1
- package/lib/features/element-template/index.d.ts +0 -20
- package/lib/features/element-template/index.d.ts.map +0 -1
- package/lib/features/element-template/index.js +0 -36
- package/lib/features/element-template/index.js.map +0 -1
- package/lib/features/export/index.d.ts +0 -19
- package/lib/features/export/index.d.ts.map +0 -1
- package/lib/features/export/index.js +0 -35
- package/lib/features/export/index.js.map +0 -1
- package/lib/features/grid/index.d.ts +0 -21
- package/lib/features/grid/index.d.ts.map +0 -1
- package/lib/features/grid/index.js +0 -37
- package/lib/features/grid/index.js.map +0 -1
- package/lib/features/helper-lines/index.d.ts +0 -22
- package/lib/features/helper-lines/index.d.ts.map +0 -1
- package/lib/features/helper-lines/index.js +0 -38
- package/lib/features/helper-lines/index.js.map +0 -1
- package/lib/features/hints/index.d.ts +0 -19
- package/lib/features/hints/index.d.ts.map +0 -1
- package/lib/features/hints/index.js +0 -35
- package/lib/features/hints/index.js.map +0 -1
- package/lib/features/hover/index.d.ts +0 -18
- package/lib/features/hover/index.d.ts.map +0 -1
- package/lib/features/hover/index.js +0 -34
- package/lib/features/hover/index.js.map +0 -1
- package/lib/features/index.d.ts +0 -46
- package/lib/features/index.d.ts.map +0 -1
- package/lib/features/index.js +0 -62
- package/lib/features/index.js.map +0 -1
- package/lib/features/label-edit/index.d.ts +0 -19
- package/lib/features/label-edit/index.d.ts.map +0 -1
- package/lib/features/label-edit/index.js +0 -35
- package/lib/features/label-edit/index.js.map +0 -1
- package/lib/features/label-edit-ui/index.d.ts +0 -18
- package/lib/features/label-edit-ui/index.d.ts.map +0 -1
- package/lib/features/label-edit-ui/index.js +0 -34
- package/lib/features/label-edit-ui/index.js.map +0 -1
- package/lib/features/layout/index.d.ts +0 -18
- package/lib/features/layout/index.d.ts.map +0 -1
- package/lib/features/layout/index.js +0 -34
- package/lib/features/layout/index.js.map +0 -1
- package/lib/features/navigation/index.d.ts +0 -19
- package/lib/features/navigation/index.d.ts.map +0 -1
- package/lib/features/navigation/index.js +0 -35
- package/lib/features/navigation/index.js.map +0 -1
- package/lib/features/reconnect/index.d.ts +0 -17
- package/lib/features/reconnect/index.d.ts.map +0 -1
- package/lib/features/reconnect/index.js +0 -33
- package/lib/features/reconnect/index.js.map +0 -1
- package/lib/features/routing/index.d.ts +0 -18
- package/lib/features/routing/index.d.ts.map +0 -1
- package/lib/features/routing/index.js +0 -34
- package/lib/features/routing/index.js.map +0 -1
- package/lib/features/save/index.d.ts +0 -18
- package/lib/features/save/index.d.ts.map +0 -1
- package/lib/features/save/index.js +0 -34
- package/lib/features/save/index.js.map +0 -1
- package/lib/features/select/index.d.ts +0 -19
- package/lib/features/select/index.d.ts.map +0 -1
- package/lib/features/select/index.js +0 -35
- package/lib/features/select/index.js.map +0 -1
- package/lib/features/source-model-watcher/index.d.ts +0 -18
- package/lib/features/source-model-watcher/index.d.ts.map +0 -1
- package/lib/features/source-model-watcher/index.js +0 -34
- package/lib/features/source-model-watcher/index.js.map +0 -1
- package/lib/features/status/index.d.ts +0 -18
- package/lib/features/status/index.d.ts.map +0 -1
- package/lib/features/status/index.js +0 -34
- package/lib/features/status/index.js.map +0 -1
- package/lib/features/svg-metadata/index.d.ts +0 -18
- package/lib/features/svg-metadata/index.d.ts.map +0 -1
- package/lib/features/svg-metadata/index.js +0 -34
- package/lib/features/svg-metadata/index.js.map +0 -1
- package/lib/features/tool-palette/index.d.ts +0 -18
- package/lib/features/tool-palette/index.d.ts.map +0 -1
- package/lib/features/tool-palette/index.js +0 -34
- package/lib/features/tool-palette/index.js.map +0 -1
- package/lib/features/tools/change-bounds/index.d.ts +0 -23
- package/lib/features/tools/change-bounds/index.d.ts.map +0 -1
- package/lib/features/tools/change-bounds/index.js +0 -39
- package/lib/features/tools/change-bounds/index.js.map +0 -1
- package/lib/features/tools/deletion/index.d.ts +0 -18
- package/lib/features/tools/deletion/index.d.ts.map +0 -1
- package/lib/features/tools/deletion/index.js +0 -34
- package/lib/features/tools/deletion/index.js.map +0 -1
- package/lib/features/tools/edge-creation/index.d.ts +0 -21
- package/lib/features/tools/edge-creation/index.d.ts.map +0 -1
- package/lib/features/tools/edge-creation/index.js +0 -37
- package/lib/features/tools/edge-creation/index.js.map +0 -1
- package/lib/features/tools/edge-edit/index.d.ts +0 -19
- package/lib/features/tools/edge-edit/index.d.ts.map +0 -1
- package/lib/features/tools/edge-edit/index.js +0 -35
- package/lib/features/tools/edge-edit/index.js.map +0 -1
- package/lib/features/tools/index.d.ts +0 -24
- package/lib/features/tools/index.d.ts.map +0 -1
- package/lib/features/tools/index.js +0 -40
- package/lib/features/tools/index.js.map +0 -1
- package/lib/features/tools/marquee-selection/index.d.ts +0 -23
- package/lib/features/tools/marquee-selection/index.d.ts.map +0 -1
- package/lib/features/tools/marquee-selection/index.js +0 -39
- package/lib/features/tools/marquee-selection/index.js.map +0 -1
- package/lib/features/tools/node-creation/index.d.ts +0 -18
- package/lib/features/tools/node-creation/index.d.ts.map +0 -1
- package/lib/features/tools/node-creation/index.js +0 -34
- package/lib/features/tools/node-creation/index.js.map +0 -1
- package/lib/features/undo-redo/index.d.ts +0 -18
- package/lib/features/undo-redo/index.d.ts.map +0 -1
- package/lib/features/undo-redo/index.js +0 -34
- package/lib/features/undo-redo/index.js.map +0 -1
- package/lib/features/validation/index.d.ts +0 -20
- package/lib/features/validation/index.d.ts.map +0 -1
- package/lib/features/validation/index.js +0 -36
- package/lib/features/validation/index.js.map +0 -1
- package/lib/features/viewport/index.d.ts +0 -21
- package/lib/features/viewport/index.d.ts.map +0 -1
- package/lib/features/viewport/index.js +0 -37
- package/lib/features/viewport/index.js.map +0 -1
- package/lib/utils/index.d.ts +0 -23
- package/lib/utils/index.d.ts.map +0 -1
- package/lib/utils/index.js +0 -39
- package/lib/utils/index.js.map +0 -1
- package/lib/views/index.d.ts +0 -24
- package/lib/views/index.d.ts.map +0 -1
- package/lib/views/index.js +0 -40
- package/lib/views/index.js.map +0 -1
- package/src/base/auto-complete/index.ts +0 -20
- package/src/base/feedback/index.ts +0 -21
- package/src/base/focus/index.ts +0 -17
- package/src/base/index.ts +0 -33
- package/src/base/model/index.ts +0 -19
- package/src/base/tool-manager/index.ts +0 -17
- package/src/base/ui-extension/index.ts +0 -17
- package/src/base/view/index.ts +0 -18
- package/src/features/accessibility/edge-autocomplete/index.ts +0 -19
- package/src/features/accessibility/element-navigation/index.ts +0 -21
- package/src/features/accessibility/focus-tracker/index.ts +0 -17
- package/src/features/accessibility/index.ts +0 -30
- package/src/features/accessibility/key-shortcut/index.ts +0 -18
- package/src/features/accessibility/keyboard-grid/index.ts +0 -20
- package/src/features/accessibility/keyboard-pointer/index.ts +0 -21
- package/src/features/accessibility/keyboard-tool-palette/index.ts +0 -17
- package/src/features/accessibility/move-zoom/index.ts +0 -18
- package/src/features/accessibility/resize-key-tool/index.ts +0 -18
- package/src/features/accessibility/search/index.ts +0 -18
- package/src/features/accessibility/toast/index.ts +0 -18
- package/src/features/accessibility/view-key-tools/index.ts +0 -19
- package/src/features/bounds/index.ts +0 -24
- package/src/features/change-bounds/index.ts +0 -21
- package/src/features/command-palette/index.ts +0 -19
- package/src/features/context-menu/index.ts +0 -19
- package/src/features/copy-paste/index.ts +0 -19
- package/src/features/debug/index.ts +0 -19
- package/src/features/decoration/index.ts +0 -17
- package/src/features/element-template/index.ts +0 -19
- package/src/features/export/index.ts +0 -18
- package/src/features/grid/index.ts +0 -20
- package/src/features/helper-lines/index.ts +0 -21
- package/src/features/hints/index.ts +0 -18
- package/src/features/hover/index.ts +0 -17
- package/src/features/index.ts +0 -45
- package/src/features/label-edit/index.ts +0 -18
- package/src/features/label-edit-ui/index.ts +0 -17
- package/src/features/layout/index.ts +0 -17
- package/src/features/navigation/index.ts +0 -18
- package/src/features/reconnect/index.ts +0 -16
- package/src/features/routing/index.ts +0 -17
- package/src/features/save/index.ts +0 -17
- package/src/features/select/index.ts +0 -18
- package/src/features/source-model-watcher/index.ts +0 -17
- package/src/features/status/index.ts +0 -17
- package/src/features/svg-metadata/index.ts +0 -17
- package/src/features/tool-palette/index.ts +0 -17
- package/src/features/tools/change-bounds/index.ts +0 -22
- package/src/features/tools/deletion/index.ts +0 -17
- package/src/features/tools/edge-creation/index.ts +0 -20
- package/src/features/tools/edge-edit/index.ts +0 -18
- package/src/features/tools/index.ts +0 -23
- package/src/features/tools/marquee-selection/index.ts +0 -22
- package/src/features/tools/node-creation/index.ts +0 -17
- package/src/features/undo-redo/index.ts +0 -17
- package/src/features/validation/index.ts +0 -19
- package/src/features/viewport/index.ts +0 -20
- package/src/utils/index.ts +0 -22
- package/src/views/index.ts +0 -23
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020-
|
|
2
|
+
* Copyright (c) 2020-2024 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,30 +16,32 @@
|
|
|
16
16
|
import {
|
|
17
17
|
Action,
|
|
18
18
|
CreateNodeOperation,
|
|
19
|
+
Disposable,
|
|
20
|
+
DisposableCollection,
|
|
19
21
|
GModelElement,
|
|
20
|
-
GNode,
|
|
21
22
|
GhostElement,
|
|
23
|
+
IModelFactory,
|
|
22
24
|
Point,
|
|
23
25
|
TYPES,
|
|
24
26
|
TriggerNodeCreationAction,
|
|
25
|
-
findParentByFeature,
|
|
26
27
|
isCtrlOrCmd,
|
|
27
28
|
isMoveable
|
|
28
29
|
} from '@eclipse-glsp/sprotty';
|
|
29
30
|
import { inject, injectable } from 'inversify';
|
|
30
31
|
import '../../../../css/ghost-element.css';
|
|
31
|
-
import { FeedbackEmitter } from '../../../base';
|
|
32
32
|
import { DragAwareMouseListener } from '../../../base/drag-aware-mouse-listener';
|
|
33
33
|
import { CSS_GHOST_ELEMENT, CSS_HIDDEN, CursorCSS, cursorFeedbackAction } from '../../../base/feedback/css-feedback';
|
|
34
|
+
import { FeedbackEmitter } from '../../../base/feedback/feedback-emitter';
|
|
34
35
|
import { EnableDefaultToolsAction } from '../../../base/tool-manager/tool';
|
|
35
|
-
import { MoveableElement
|
|
36
|
-
import { getAbsolutePosition } from '../../../utils/viewpoint-util';
|
|
37
|
-
import { RemoveTemplateElementsAction } from '../../element-template';
|
|
36
|
+
import { MoveableElement } from '../../../utils/gmodel-util';
|
|
38
37
|
import { AddTemplateElementsAction, getTemplateElementId } from '../../element-template/add-template-element';
|
|
39
38
|
import { MouseTrackingElementPositionListener, PositioningTool } from '../../element-template/mouse-tracking-element-position-listener';
|
|
40
|
-
import {
|
|
39
|
+
import { RemoveTemplateElementsAction } from '../../element-template/remove-template-element';
|
|
41
40
|
import { BaseCreationTool } from '../base-tools';
|
|
42
|
-
import { ChangeBoundsManager } from '../change-bounds';
|
|
41
|
+
import { ChangeBoundsManager } from '../change-bounds/change-bounds-manager';
|
|
42
|
+
import { TrackedMove } from '../change-bounds/change-bounds-tracker';
|
|
43
|
+
import { ContainerManager, TrackedInsert } from './container-manager';
|
|
44
|
+
import { InsertIndicator } from './insert-indicator';
|
|
43
45
|
|
|
44
46
|
@injectable()
|
|
45
47
|
export class NodeCreationTool extends BaseCreationTool<TriggerNodeCreationAction> implements PositioningTool {
|
|
@@ -47,52 +49,80 @@ export class NodeCreationTool extends BaseCreationTool<TriggerNodeCreationAction
|
|
|
47
49
|
|
|
48
50
|
protected isTriggerAction = TriggerNodeCreationAction.is;
|
|
49
51
|
|
|
50
|
-
@inject(
|
|
52
|
+
@inject(ChangeBoundsManager) readonly changeBoundsManager: ChangeBoundsManager;
|
|
53
|
+
@inject(ContainerManager) readonly containerManager: ContainerManager;
|
|
54
|
+
@inject(TYPES.IModelFactory) modelFactory: IModelFactory;
|
|
51
55
|
|
|
52
56
|
get id(): string {
|
|
53
57
|
return NodeCreationTool.ID;
|
|
54
58
|
}
|
|
55
59
|
|
|
56
60
|
doEnable(): void {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
this.toDisposeOnDisable.push(trackingListener, this.mouseTool.registerListener(trackingListener));
|
|
63
|
-
}
|
|
61
|
+
const ghostElement = this.triggerAction.ghostElement ?? { template: this.modelFactory.createSchema(this.createInsertIndicator()) };
|
|
62
|
+
this.toDisposeOnDisable.push(this.createGhostElementTracker(ghostElement, 'middle'));
|
|
63
|
+
this.toDisposeOnDisable.push(this.createNodeCreationListener(ghostElement));
|
|
64
|
+
this.toDisposeOnDisable.push(this.createNodeCreationCursorFeedback().submit());
|
|
65
|
+
}
|
|
64
66
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
protected createInsertIndicator(): GModelElement {
|
|
68
|
+
return new InsertIndicator();
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
protected createGhostElementTracker(ghostElement: GhostElement, position: 'top-left' | 'middle'): Disposable {
|
|
72
|
+
const trackingListener = new NodeInsertTrackingListener(
|
|
73
|
+
getTemplateElementId(ghostElement.template),
|
|
74
|
+
this.triggerAction.elementTypeId,
|
|
75
|
+
this,
|
|
76
|
+
position
|
|
70
77
|
);
|
|
78
|
+
return new DisposableCollection(trackingListener, this.mouseTool.registerListener(trackingListener));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
protected createNodeCreationListener(ghostElement: GhostElement): Disposable {
|
|
82
|
+
const toolListener = new NodeCreationToolMouseListener(this.triggerAction, this, ghostElement);
|
|
83
|
+
return new DisposableCollection(toolListener, this.mouseTool.registerListener(toolListener));
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
protected createNodeCreationCursorFeedback(): FeedbackEmitter {
|
|
87
|
+
return this.createFeedbackEmitter().add(cursorFeedbackAction(CursorCSS.NODE_CREATION), cursorFeedbackAction());
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export class NodeInsertTrackingListener extends MouseTrackingElementPositionListener {
|
|
92
|
+
constructor(
|
|
93
|
+
elementId: string,
|
|
94
|
+
protected elementTypeId: string,
|
|
95
|
+
protected override tool: NodeCreationTool,
|
|
96
|
+
cursorPosition: 'top-left' | 'middle' = 'top-left'
|
|
97
|
+
) {
|
|
98
|
+
super(elementId, tool, cursorPosition);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
protected override addMoveFeedback(move: TrackedMove, ctx: GModelElement, event: MouseEvent): void {
|
|
102
|
+
super.addMoveFeedback(move, ctx, event);
|
|
103
|
+
|
|
104
|
+
const element = move.elementMoves[0].element;
|
|
105
|
+
const location = move.elementMoves[0].toPosition;
|
|
106
|
+
const insert = this.tool.containerManager.insert(element, location, this.elementTypeId, { evt: event });
|
|
107
|
+
this.tool.containerManager.addInsertFeedback(this.moveGhostFeedback, insert, ctx, event);
|
|
71
108
|
}
|
|
72
109
|
}
|
|
73
110
|
|
|
74
111
|
export class NodeCreationToolMouseListener extends DragAwareMouseListener {
|
|
75
|
-
protected container?: GModelElement & Containable;
|
|
76
112
|
protected cursorFeedback: FeedbackEmitter;
|
|
77
113
|
protected ghostElementFeedback: FeedbackEmitter;
|
|
78
|
-
protected ghostElementId
|
|
114
|
+
protected ghostElementId: string;
|
|
79
115
|
|
|
80
116
|
constructor(
|
|
81
117
|
protected triggerAction: TriggerNodeCreationAction,
|
|
82
118
|
protected tool: NodeCreationTool,
|
|
83
|
-
protected ghostElement
|
|
119
|
+
protected ghostElement: GhostElement
|
|
84
120
|
) {
|
|
85
121
|
super();
|
|
86
122
|
this.cursorFeedback = tool.createFeedbackEmitter();
|
|
87
123
|
this.ghostElementFeedback = tool.createFeedbackEmitter();
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
this.createGhostElement();
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
protected creationAllowed(elementTypeId: string): boolean | undefined {
|
|
95
|
-
return this.container && this.container.isContainableElement(elementTypeId);
|
|
124
|
+
this.ghostElementId = getTemplateElementId(ghostElement.template);
|
|
125
|
+
this.createGhostElement(ghostElement);
|
|
96
126
|
}
|
|
97
127
|
|
|
98
128
|
get elementTypeId(): string {
|
|
@@ -101,78 +131,57 @@ export class NodeCreationToolMouseListener extends DragAwareMouseListener {
|
|
|
101
131
|
|
|
102
132
|
override nonDraggingMouseUp(target: GModelElement, event: MouseEvent): Action[] {
|
|
103
133
|
const result: Action[] = [];
|
|
104
|
-
|
|
105
|
-
|
|
134
|
+
|
|
135
|
+
const insert = this.getTrackedInsert(target, event);
|
|
136
|
+
if (insert.valid) {
|
|
137
|
+
result.push(
|
|
138
|
+
CreateNodeOperation.create(this.elementTypeId, {
|
|
139
|
+
location: insert.location,
|
|
140
|
+
containerId: insert.container?.id,
|
|
141
|
+
args: this.triggerAction.args
|
|
142
|
+
})
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
if (isCtrlOrCmd(event)) {
|
|
146
|
+
// we continue in stamp mode so we keep the ghost but dispose everything else
|
|
147
|
+
this.disposeAllButGhostElement();
|
|
148
|
+
return result;
|
|
106
149
|
}
|
|
107
150
|
|
|
108
|
-
if (
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
if (!isCtrlOrCmd(event)) {
|
|
115
|
-
// we no longer want to show the ghost element AFTER the next update
|
|
116
|
-
this.ghostElementFeedback.discard();
|
|
117
|
-
result.push(EnableDefaultToolsAction.create());
|
|
118
|
-
} else {
|
|
119
|
-
// we continue in stamp mode so we keep the ghost but dispose everything else
|
|
120
|
-
this.disposeAllButGhostElement();
|
|
121
|
-
}
|
|
151
|
+
if (insert.valid) {
|
|
152
|
+
// we keep the ghost element until the next update to avoid flickering during insert
|
|
153
|
+
this.ghostElementFeedback.discard();
|
|
154
|
+
} else {
|
|
155
|
+
this.dispose();
|
|
122
156
|
}
|
|
157
|
+
result.push(EnableDefaultToolsAction.create());
|
|
123
158
|
return result;
|
|
124
159
|
}
|
|
125
160
|
|
|
126
|
-
protected createGhostElement():
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
protected getGhostElement(): MoveableElement | undefined {
|
|
140
|
-
if (!this.ghostElementId) {
|
|
141
|
-
return undefined;
|
|
142
|
-
}
|
|
143
|
-
const ghostElement = this.container?.index.getById(this.ghostElementId);
|
|
161
|
+
protected createGhostElement(ghostElement: GhostElement): string {
|
|
162
|
+
const templates = [ghostElement.template];
|
|
163
|
+
this.ghostElementFeedback.add(
|
|
164
|
+
AddTemplateElementsAction.create({ templates, addClasses: [CSS_HIDDEN, CSS_GHOST_ELEMENT] }),
|
|
165
|
+
RemoveTemplateElementsAction.create({ templates })
|
|
166
|
+
);
|
|
167
|
+
this.ghostElementFeedback.submit();
|
|
168
|
+
return getTemplateElementId(ghostElement.template);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
protected getGhostElement(ctx: GModelElement, event: MouseEvent): MoveableElement | undefined {
|
|
172
|
+
const ghostElement = ctx.index.getById(this.ghostElementId);
|
|
144
173
|
return ghostElement && isMoveable(ghostElement) ? ghostElement : undefined;
|
|
145
174
|
}
|
|
146
175
|
|
|
147
|
-
protected
|
|
148
|
-
const ghostElement = this.getGhostElement();
|
|
149
|
-
if (ghostElement) {
|
|
150
|
-
return
|
|
151
|
-
? ghostElement.position
|
|
152
|
-
: undefined;
|
|
153
|
-
}
|
|
154
|
-
const location = getAbsolutePosition(target, event);
|
|
155
|
-
|
|
156
|
-
// Create a 0-bounds proxy element for snapping
|
|
157
|
-
const elementProxy = new GNode();
|
|
158
|
-
elementProxy.size = { width: 0, height: 0 };
|
|
159
|
-
return this.tool.changeBoundsManager.snapPosition(elementProxy, location);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
override mouseOver(target: GModelElement, event: MouseEvent): Action[] {
|
|
163
|
-
const currentContainer = findParentByFeature(target, isContainable);
|
|
164
|
-
if (!this.container || currentContainer !== this.container) {
|
|
165
|
-
this.container = currentContainer;
|
|
166
|
-
const feedback = this.creationAllowed(this.elementTypeId)
|
|
167
|
-
? cursorFeedbackAction(CursorCSS.NODE_CREATION)
|
|
168
|
-
: cursorFeedbackAction(CursorCSS.OPERATION_NOT_ALLOWED);
|
|
169
|
-
this.cursorFeedback.add(feedback).submit();
|
|
176
|
+
protected getTrackedInsert(ctx: GModelElement, event: MouseEvent): TrackedInsert {
|
|
177
|
+
const ghostElement = this.getGhostElement(ctx, event);
|
|
178
|
+
if (!ghostElement) {
|
|
179
|
+
return { elementTypeId: this.elementTypeId, location: Point.ORIGIN, valid: false };
|
|
170
180
|
}
|
|
171
|
-
return
|
|
181
|
+
return this.tool.containerManager.insert(ghostElement, ghostElement.position, this.elementTypeId, { evt: event });
|
|
172
182
|
}
|
|
173
183
|
|
|
174
184
|
protected disposeAllButGhostElement(): void {
|
|
175
|
-
this.cursorFeedback.dispose();
|
|
176
185
|
super.dispose();
|
|
177
186
|
}
|
|
178
187
|
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2024 Axon Ivy AG 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
|
+
|
|
17
|
+
import { IView, RenderingContext, TYPES, setClass, svg } from '@eclipse-glsp/sprotty';
|
|
18
|
+
import { inject, injectable, optional } from 'inversify';
|
|
19
|
+
import { VNode } from 'snabbdom';
|
|
20
|
+
import { GArgument } from '../../../utils/argument-utils';
|
|
21
|
+
import { Grid } from '../../grid/grid';
|
|
22
|
+
import { ARG_LENGTH, InsertIndicator } from './insert-indicator';
|
|
23
|
+
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
25
|
+
const JSX = { createElement: svg };
|
|
26
|
+
|
|
27
|
+
@injectable()
|
|
28
|
+
export class InsertIndicatorView implements IView {
|
|
29
|
+
@optional() @inject(TYPES.Grid) protected grid?: Grid;
|
|
30
|
+
|
|
31
|
+
render(model: Readonly<InsertIndicator>, context: RenderingContext): VNode | undefined {
|
|
32
|
+
if (context.targetKind === 'hidden') {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
const size = this.getSize(model);
|
|
36
|
+
const node = (
|
|
37
|
+
<g>
|
|
38
|
+
<polyline class-sprotty-node={true} class-insert-indicator={true} points={`0,${-size / 2} 0,${size / 2}`}></polyline>
|
|
39
|
+
<polyline class-sprotty-node={true} class-insert-indicator={true} points={`${-size / 2},0 ${size / 2},0`}></polyline>
|
|
40
|
+
</g>
|
|
41
|
+
);
|
|
42
|
+
model.cssClasses.forEach(cl => setClass(node, cl, true));
|
|
43
|
+
return node;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
protected getSize(model: Readonly<InsertIndicator>): number {
|
|
47
|
+
return GArgument.getNumber(model, ARG_LENGTH) ?? this.grid?.x ?? 10;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -28,10 +28,10 @@ import {
|
|
|
28
28
|
hasArrayProp
|
|
29
29
|
} from '@eclipse-glsp/sprotty';
|
|
30
30
|
import { inject, injectable, optional } from 'inversify';
|
|
31
|
-
import { FeedbackEmitter } from '../../base';
|
|
32
31
|
import { EditorContextService } from '../../base/editor-context-service';
|
|
33
32
|
import { IFeedbackActionDispatcher, IFeedbackEmitter } from '../../base/feedback/feedback-action-dispatcher';
|
|
34
33
|
import { FeedbackCommand } from '../../base/feedback/feedback-command';
|
|
34
|
+
import { FeedbackEmitter } from '../../base/feedback/feedback-emitter';
|
|
35
35
|
import { removeCssClasses } from '../../utils/gmodel-util';
|
|
36
36
|
import { GIssueMarker, createGIssue, getGIssueMarker, getOrCreateGIssueMarker, getSeverity } from './issue-marker';
|
|
37
37
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { Action, DOMHelper, IActionHandler, TYPES } from '@eclipse-glsp/sprotty';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
|
-
import { EditorContextService } from '../../base';
|
|
18
|
+
import { EditorContextService } from '../../base/editor-context-service';
|
|
19
19
|
import { FocusTracker } from '../../base/focus/focus-tracker';
|
|
20
20
|
import { IDiagramStartup } from '../../base/model/diagram-loader';
|
|
21
21
|
import { EnableDefaultToolsAction } from '../../base/tool-manager/tool';
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2024 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,11 +13,229 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
export * from './base';
|
|
16
|
+
export * from './base/action-dispatcher';
|
|
17
|
+
export * from './base/action-handler-registry';
|
|
18
|
+
export * from './base/args-feature';
|
|
19
|
+
export * from './base/auto-complete/auto-complete-actions';
|
|
20
|
+
export * from './base/auto-complete/auto-complete-widget';
|
|
21
|
+
export * from './base/auto-complete/autocomplete-suggestion-providers';
|
|
22
|
+
export * from './base/auto-complete/base-autocomplete-palette';
|
|
23
|
+
export * from './base/auto-complete/validation-decorator';
|
|
24
|
+
export * from './base/command-stack';
|
|
25
|
+
export * from './base/default.module';
|
|
26
|
+
export * from './base/drag-aware-mouse-listener';
|
|
27
|
+
export * from './base/editor-context-service';
|
|
28
|
+
export * from './base/feedback/css-feedback';
|
|
29
|
+
export * from './base/feedback/feedback-action-dispatcher';
|
|
30
|
+
export * from './base/feedback/feedback-action-dispatcher-default';
|
|
31
|
+
export * from './base/feedback/feedback-command';
|
|
32
|
+
export * from './base/feedback/feedback-emitter';
|
|
33
|
+
export * from './base/feedback/set-model-command';
|
|
34
|
+
export * from './base/feedback/update-model-command';
|
|
35
|
+
export * from './base/focus/focus-state-change-action';
|
|
36
|
+
export * from './base/focus/focus-tracker';
|
|
37
|
+
export * from './base/model/diagram-loader';
|
|
38
|
+
export * from './base/model/glsp-model-source';
|
|
39
|
+
export * from './base/model/model-initialization-constraint';
|
|
40
|
+
export * from './base/model/model-registry';
|
|
41
|
+
export * from './base/mouse-position-tracker';
|
|
42
|
+
export * from './base/ranked';
|
|
43
|
+
export * from './base/selection-clearing-mouse-listener';
|
|
44
|
+
export * from './base/selection-service';
|
|
45
|
+
export * from './base/tool-manager/tool';
|
|
46
|
+
export * from './base/tool-manager/tool-manager';
|
|
47
|
+
export * from './base/ui-extension/ui-extension';
|
|
48
|
+
export * from './base/ui-extension/ui-extension-registry';
|
|
49
|
+
export * from './base/view/key-tool';
|
|
50
|
+
export * from './base/view/mouse-tool';
|
|
51
|
+
export * from './base/view/view-registry';
|
|
17
52
|
export * from './default-modules';
|
|
18
|
-
export * from './features';
|
|
53
|
+
export * from './features/accessibility/accessibility-module';
|
|
54
|
+
export * from './features/accessibility/actions';
|
|
55
|
+
export * from './features/accessibility/edge-autocomplete/action';
|
|
56
|
+
export * from './features/accessibility/edge-autocomplete/edge-autocomplete-context';
|
|
57
|
+
export * from './features/accessibility/edge-autocomplete/edge-autocomplete-palette';
|
|
58
|
+
export * from './features/accessibility/edge-autocomplete/edge-autocomplete-tool';
|
|
59
|
+
export * from './features/accessibility/element-navigation/diagram-navigation-tool';
|
|
60
|
+
export * from './features/accessibility/element-navigation/element-navigation-module';
|
|
61
|
+
export * from './features/accessibility/element-navigation/element-navigator';
|
|
62
|
+
export * from './features/accessibility/element-navigation/left-right-top-bottom-navigator';
|
|
63
|
+
export * from './features/accessibility/element-navigation/local-element-navigator';
|
|
64
|
+
export * from './features/accessibility/element-navigation/position-navigator';
|
|
65
|
+
export * from './features/accessibility/focus-tracker/focus-tracker-module';
|
|
66
|
+
export * from './features/accessibility/focus-tracker/focus-tracker-tool';
|
|
67
|
+
export * from './features/accessibility/global-keylistener-tool';
|
|
68
|
+
export * from './features/accessibility/key-shortcut/accessible-key-shortcut';
|
|
69
|
+
export * from './features/accessibility/key-shortcut/accessible-key-shortcut-tool';
|
|
70
|
+
export * from './features/accessibility/key-shortcut/di.config';
|
|
71
|
+
export * from './features/accessibility/keyboard-grid/action';
|
|
72
|
+
export * from './features/accessibility/keyboard-grid/constants';
|
|
73
|
+
export * from './features/accessibility/keyboard-grid/keyboard-grid';
|
|
74
|
+
export * from './features/accessibility/keyboard-grid/keyboard-grid-search-palette';
|
|
75
|
+
export * from './features/accessibility/keyboard-grid/keyboard-node-grid';
|
|
76
|
+
export * from './features/accessibility/keyboard-pointer/actions';
|
|
77
|
+
export * from './features/accessibility/keyboard-pointer/constants';
|
|
78
|
+
export * from './features/accessibility/keyboard-pointer/keyboard-pointer';
|
|
79
|
+
export * from './features/accessibility/keyboard-pointer/keyboard-pointer-listener';
|
|
80
|
+
export * from './features/accessibility/keyboard-pointer/keyboard-pointer-module';
|
|
81
|
+
export * from './features/accessibility/keyboard-pointer/keyboard-pointer-position';
|
|
82
|
+
export * from './features/accessibility/keyboard-tool-palette/keyboard-tool-palette';
|
|
83
|
+
export * from './features/accessibility/keyboard-tool-palette/keyboard-tool-palette-module';
|
|
84
|
+
export * from './features/accessibility/move-zoom/move-handler';
|
|
85
|
+
export * from './features/accessibility/move-zoom/move-zoom-module';
|
|
86
|
+
export * from './features/accessibility/move-zoom/zoom-handler';
|
|
87
|
+
export * from './features/accessibility/resize-key-tool/resize-key-handler';
|
|
88
|
+
export * from './features/accessibility/resize-key-tool/resize-key-module';
|
|
89
|
+
export * from './features/accessibility/resize-key-tool/resize-key-tool';
|
|
90
|
+
export * from './features/accessibility/search/search-palette';
|
|
91
|
+
export * from './features/accessibility/search/search-palette-module';
|
|
92
|
+
export * from './features/accessibility/search/search-tool';
|
|
93
|
+
export * from './features/accessibility/toast/toast-handler';
|
|
94
|
+
export * from './features/accessibility/toast/toast-module';
|
|
95
|
+
export * from './features/accessibility/toast/toast-tool';
|
|
96
|
+
export * from './features/accessibility/view-key-tools/deselect-key-tool';
|
|
97
|
+
export * from './features/accessibility/view-key-tools/movement-key-tool';
|
|
98
|
+
export * from './features/accessibility/view-key-tools/view-key-tools-module';
|
|
99
|
+
export * from './features/accessibility/view-key-tools/zoom-key-tool';
|
|
100
|
+
export * from './features/bounds/bounds-module';
|
|
101
|
+
export * from './features/bounds/freeform-layout';
|
|
102
|
+
export * from './features/bounds/glsp-hidden-bounds-updater';
|
|
103
|
+
export * from './features/bounds/hbox-layout';
|
|
104
|
+
export * from './features/bounds/layout-data';
|
|
105
|
+
export * from './features/bounds/layouter';
|
|
106
|
+
export * from './features/bounds/local-bounds';
|
|
107
|
+
export * from './features/bounds/set-bounds-feedback-command';
|
|
108
|
+
export * from './features/bounds/vbox-layout';
|
|
109
|
+
export * from './features/change-bounds/model';
|
|
110
|
+
export * from './features/change-bounds/movement-restrictor';
|
|
111
|
+
export * from './features/change-bounds/point-position-updater';
|
|
112
|
+
export * from './features/change-bounds/position-snapper';
|
|
113
|
+
export * from './features/change-bounds/snap';
|
|
114
|
+
export * from './features/change-bounds/tracker';
|
|
115
|
+
export * from './features/command-palette/command-palette';
|
|
116
|
+
export * from './features/command-palette/command-palette-module';
|
|
117
|
+
export * from './features/command-palette/command-palette-tool';
|
|
118
|
+
export * from './features/command-palette/server-command-palette-provider';
|
|
119
|
+
export * from './features/context-menu/context-menu-module';
|
|
120
|
+
export * from './features/context-menu/delete-element-context-menu';
|
|
121
|
+
export * from './features/context-menu/glsp-context-menu-mouse-listener';
|
|
122
|
+
export * from './features/context-menu/server-context-menu-provider';
|
|
123
|
+
export * from './features/copy-paste/copy-paste-context-menu';
|
|
124
|
+
export * from './features/copy-paste/copy-paste-handler';
|
|
125
|
+
export * from './features/copy-paste/copy-paste-modules';
|
|
126
|
+
export * from './features/copy-paste/copy-paste-standalone';
|
|
127
|
+
export * from './features/debug/debug-bounds-decorator';
|
|
128
|
+
export * from './features/debug/debug-manager';
|
|
129
|
+
export * from './features/debug/debug-model';
|
|
130
|
+
export * from './features/debug/debug-module';
|
|
131
|
+
export * from './features/decoration/decoration-module';
|
|
132
|
+
export * from './features/decoration/decoration-placer';
|
|
133
|
+
export * from './features/element-template/add-template-element';
|
|
134
|
+
export * from './features/element-template/element-template-module';
|
|
135
|
+
export * from './features/element-template/mouse-tracking-element-position-listener';
|
|
136
|
+
export * from './features/element-template/remove-template-element';
|
|
137
|
+
export * from './features/export/export-modules';
|
|
138
|
+
export * from './features/export/export-svg-action-handler';
|
|
139
|
+
export * from './features/export/glsp-svg-exporter';
|
|
140
|
+
export * from './features/grid/grid';
|
|
141
|
+
export * from './features/grid/grid-manager';
|
|
142
|
+
export * from './features/grid/grid-model';
|
|
143
|
+
export * from './features/grid/grid-module';
|
|
144
|
+
export * from './features/grid/grid-snapper';
|
|
145
|
+
export * from './features/helper-lines/helper-line-feedback';
|
|
146
|
+
export * from './features/helper-lines/helper-line-manager';
|
|
147
|
+
export * from './features/helper-lines/helper-line-manager-default';
|
|
148
|
+
export * from './features/helper-lines/helper-line-module';
|
|
149
|
+
export * from './features/helper-lines/model';
|
|
150
|
+
export * from './features/helper-lines/view';
|
|
151
|
+
export * from './features/hints/model';
|
|
152
|
+
export * from './features/hints/type-hint-provider';
|
|
153
|
+
export * from './features/hints/type-hints-module';
|
|
154
|
+
export * from './features/hover/hover';
|
|
155
|
+
export * from './features/hover/hover-module';
|
|
156
|
+
export * from './features/label-edit-ui/label-edit-ui';
|
|
157
|
+
export * from './features/label-edit-ui/label-edit-ui-module';
|
|
158
|
+
export * from './features/label-edit/edit-label-tool';
|
|
159
|
+
export * from './features/label-edit/edit-label-validator';
|
|
160
|
+
export * from './features/label-edit/label-edit-module';
|
|
161
|
+
export * from './features/layout/layout-elements-action';
|
|
162
|
+
export * from './features/layout/layout-module';
|
|
163
|
+
export * from './features/navigation/navigation-action-handler';
|
|
164
|
+
export * from './features/navigation/navigation-module';
|
|
165
|
+
export * from './features/navigation/navigation-target-resolver';
|
|
166
|
+
export * from './features/reconnect/model';
|
|
167
|
+
export * from './features/routing/edge-router';
|
|
168
|
+
export * from './features/routing/routing-module';
|
|
169
|
+
export * from './features/save/save-keylistener';
|
|
170
|
+
export * from './features/save/save-module';
|
|
171
|
+
export * from './features/select/select-feedback-command';
|
|
172
|
+
export * from './features/select/select-module';
|
|
173
|
+
export * from './features/select/select-mouse-listener';
|
|
174
|
+
export * from './features/source-model-watcher/source-model-changed-action-handler';
|
|
175
|
+
export * from './features/source-model-watcher/source-model-watcher-module';
|
|
176
|
+
export * from './features/status/status-module';
|
|
177
|
+
export * from './features/status/status-overlay';
|
|
178
|
+
export * from './features/svg-metadata/metadata-placer';
|
|
179
|
+
export * from './features/svg-metadata/svg-metadata-module';
|
|
180
|
+
export * from './features/tool-palette/tool-palette';
|
|
181
|
+
export * from './features/tool-palette/tool-palette-module';
|
|
182
|
+
export * from './features/tools/base-tools';
|
|
183
|
+
export * from './features/tools/change-bounds/change-bounds-manager';
|
|
184
|
+
export * from './features/tools/change-bounds/change-bounds-tool';
|
|
185
|
+
export * from './features/tools/change-bounds/change-bounds-tool-feedback';
|
|
186
|
+
export * from './features/tools/change-bounds/change-bounds-tool-module';
|
|
187
|
+
export * from './features/tools/change-bounds/change-bounds-tool-move-feedback';
|
|
188
|
+
export * from './features/tools/change-bounds/change-bounds-tracker';
|
|
189
|
+
export * from './features/tools/change-bounds/view';
|
|
190
|
+
export * from './features/tools/deletion/delete-tool';
|
|
191
|
+
export * from './features/tools/deletion/deletion-tool-module';
|
|
192
|
+
export * from './features/tools/edge-creation/dangling-edge-feedback';
|
|
193
|
+
export * from './features/tools/edge-creation/edege-creation-module';
|
|
194
|
+
export * from './features/tools/edge-creation/edge-creation-tool';
|
|
195
|
+
export * from './features/tools/edge-creation/edge-creation-tool-feedback';
|
|
196
|
+
export * from './features/tools/edge-creation/view';
|
|
197
|
+
export * from './features/tools/edge-edit/edge-edit-module';
|
|
198
|
+
export * from './features/tools/edge-edit/edge-edit-tool';
|
|
199
|
+
export * from './features/tools/edge-edit/edge-edit-tool-feedback';
|
|
200
|
+
export * from './features/tools/marquee-selection/marquee-behavior';
|
|
201
|
+
export * from './features/tools/marquee-selection/marquee-mouse-tool';
|
|
202
|
+
export * from './features/tools/marquee-selection/marquee-selection-module';
|
|
203
|
+
export * from './features/tools/marquee-selection/marquee-tool';
|
|
204
|
+
export * from './features/tools/marquee-selection/marquee-tool-feedback';
|
|
205
|
+
export * from './features/tools/marquee-selection/model';
|
|
206
|
+
export * from './features/tools/marquee-selection/view';
|
|
207
|
+
export * from './features/tools/node-creation/container-manager';
|
|
208
|
+
export * from './features/tools/node-creation/insert-indicator';
|
|
209
|
+
export * from './features/tools/node-creation/node-creation-module';
|
|
210
|
+
export * from './features/tools/node-creation/node-creation-tool';
|
|
211
|
+
export * from './features/tools/node-creation/node-creation-views';
|
|
212
|
+
export * from './features/tools/tool-focus-loss-module';
|
|
213
|
+
export * from './features/undo-redo/undo-redo-key-listener';
|
|
214
|
+
export * from './features/undo-redo/undo-redo-module';
|
|
215
|
+
export * from './features/validation/issue-marker';
|
|
216
|
+
export * from './features/validation/marker-navigator';
|
|
217
|
+
export * from './features/validation/validate';
|
|
218
|
+
export * from './features/validation/validation-modules';
|
|
219
|
+
export * from './features/viewport/glsp-scroll-mouse-listener';
|
|
220
|
+
export * from './features/viewport/origin-viewport';
|
|
221
|
+
export * from './features/viewport/reposition';
|
|
222
|
+
export * from './features/viewport/viewport-handler';
|
|
223
|
+
export * from './features/viewport/viewport-modules';
|
|
19
224
|
export * from './model';
|
|
20
225
|
export * from './re-exports';
|
|
21
226
|
export * from './standalone-modules';
|
|
22
|
-
export * from './utils';
|
|
23
|
-
export * from './
|
|
227
|
+
export * from './utils/argument-utils';
|
|
228
|
+
export * from './utils/geometry-util';
|
|
229
|
+
export * from './utils/gmodel-util';
|
|
230
|
+
export * from './utils/html-utils';
|
|
231
|
+
export * from './utils/layout-utils';
|
|
232
|
+
export * from './utils/marker';
|
|
233
|
+
export * from './utils/viewpoint-util';
|
|
234
|
+
export * from './views/base-view-module';
|
|
235
|
+
export * from './views/compartments';
|
|
236
|
+
export * from './views/gedge-view';
|
|
237
|
+
export * from './views/ggraph-view';
|
|
238
|
+
export * from './views/glsp-projection-view';
|
|
239
|
+
export * from './views/issue-marker-view';
|
|
240
|
+
export * from './views/rounded-corner';
|
|
241
|
+
export * from './views/rounded-corner-view';
|
package/src/utils/gmodel-util.ts
CHANGED
|
@@ -40,6 +40,7 @@ import {
|
|
|
40
40
|
isSelected,
|
|
41
41
|
remove
|
|
42
42
|
} from '@eclipse-glsp/sprotty';
|
|
43
|
+
import { ResizeHandleLocation } from '../features/change-bounds/model';
|
|
43
44
|
|
|
44
45
|
/**
|
|
45
46
|
* Helper type to represent a filter predicate for {@link GModelElement}s. This is used to retrieve
|
|
@@ -253,7 +254,9 @@ export type MoveableElement = GModelElement & Locateable;
|
|
|
253
254
|
|
|
254
255
|
export interface Resizable extends BoundsAware, Selectable {}
|
|
255
256
|
|
|
256
|
-
export interface ResizableModelElement extends GParentElement, Resizable {
|
|
257
|
+
export interface ResizableModelElement extends GParentElement, Resizable {
|
|
258
|
+
resizeLocations?: ResizeHandleLocation[];
|
|
259
|
+
}
|
|
257
260
|
|
|
258
261
|
/**
|
|
259
262
|
* Helper function to translate a given {@link GModelElement} into its corresponding {@link ElementAndBounds} representation.
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Bounds, Dimension, Point, RenderingContext, SGraphImpl, SGraphView,
|
|
16
|
+
import { Bounds, Dimension, Point, RenderingContext, SGraphImpl, SGraphView, Writable } from '@eclipse-glsp/sprotty';
|
|
17
17
|
import { inject, injectable, optional } from 'inversify';
|
|
18
18
|
import { VNode } from 'snabbdom';
|
|
19
|
-
import { GridManager, GridStyle } from '../features';
|
|
19
|
+
import { GridManager, GridStyle } from '../features/grid/grid-manager';
|
|
20
20
|
|
|
21
21
|
@injectable()
|
|
22
22
|
export class GGraphView extends SGraphView {
|
|
23
|
-
@inject(
|
|
23
|
+
@inject(GridManager) @optional() protected gridManager?: GridManager;
|
|
24
24
|
|
|
25
25
|
override render(model: Readonly<SGraphImpl>, context: RenderingContext): VNode {
|
|
26
26
|
const graph = super.render(model, context);
|
|
@@ -31,7 +31,7 @@ export class GGraphView extends SGraphView {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
protected getGridStyle(model: Readonly<SGraphImpl>, context: RenderingContext): GridStyle {
|
|
34
|
-
if (!this.gridManager?.isGridVisible) {
|
|
34
|
+
if (context.targetKind === 'hidden' || !this.gridManager?.isGridVisible) {
|
|
35
35
|
return {};
|
|
36
36
|
}
|
|
37
37
|
const bounds = this.getBackgroundBounds(model, context, this.gridManager);
|