@eclipse-glsp/client 0.9.0 → 0.10.0-next.17bfb07.173
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/glsp-sprotty.css +110 -8
- package/lib/base/action-dispatcher.d.ts +4 -3
- package/lib/base/action-dispatcher.d.ts.map +1 -1
- package/lib/base/action-dispatcher.js +22 -12
- package/lib/base/action-dispatcher.js.map +1 -1
- package/lib/base/actions/focus-change-action.d.ts +16 -7
- package/lib/base/actions/focus-change-action.d.ts.map +1 -1
- package/lib/base/actions/focus-change-action.js +31 -12
- package/lib/base/actions/focus-change-action.js.map +1 -1
- package/lib/base/actions/sprotty-actions.d.ts +7 -0
- package/lib/base/actions/sprotty-actions.d.ts.map +1 -0
- package/lib/{features/tool-palette/palette-item.js → base/actions/sprotty-actions.js} +4 -20
- package/lib/base/actions/sprotty-actions.js.map +1 -0
- package/lib/base/auto-complete/auto-complete-actions.d.ts +5 -3
- package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-actions.js +24 -5
- package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.d.ts +9 -2
- package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.js +16 -9
- package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
- package/lib/base/auto-complete/validation-decorator.js +2 -2
- package/lib/base/auto-complete/validation-decorator.js.map +1 -1
- package/lib/base/command-stack.d.ts.map +1 -1
- package/lib/base/command-stack.js +6 -5
- package/lib/base/command-stack.js.map +1 -1
- package/lib/base/container-modules.d.ts.map +1 -1
- package/lib/base/container-modules.js +2 -1
- package/lib/base/container-modules.js.map +1 -1
- package/lib/base/di.config.d.ts +1 -1
- package/lib/base/di.config.d.ts.map +1 -1
- package/lib/base/di.config.js +13 -14
- package/lib/base/di.config.js.map +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
- package/lib/base/drag-aware-mouse-listener.js.map +1 -1
- package/lib/base/editor-context-service.d.ts +18 -5
- package/lib/base/editor-context-service.d.ts.map +1 -1
- package/lib/base/editor-context-service.js +39 -22
- package/lib/base/editor-context-service.js.map +1 -1
- package/lib/base/focus-tracker.d.ts +1 -1
- package/lib/base/focus-tracker.d.ts.map +1 -1
- package/lib/base/focus-tracker.js +4 -4
- package/lib/base/focus-tracker.js.map +1 -1
- package/lib/base/model/model-registry.d.ts.map +1 -1
- package/lib/base/model/model-registry.js +2 -2
- package/lib/base/model/model-registry.js.map +1 -1
- package/lib/base/model/update-model-command.d.ts +1 -1
- package/lib/base/model/update-model-command.d.ts.map +1 -1
- package/lib/base/model/update-model-command.js +15 -15
- package/lib/base/model/update-model-command.js.map +1 -1
- package/lib/base/model-initialization-constraint.d.ts +4 -5
- package/lib/base/model-initialization-constraint.d.ts.map +1 -1
- package/lib/base/model-initialization-constraint.js +11 -13
- package/lib/base/model-initialization-constraint.js.map +1 -1
- package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
- package/lib/base/selection-clearing-mouse-listener.js +1 -1
- package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
- package/lib/base/source-uri-aware.d.ts +2 -17
- package/lib/base/source-uri-aware.d.ts.map +1 -1
- package/lib/base/source-uri-aware.js +4 -6
- package/lib/base/source-uri-aware.js.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.d.ts +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.js +10 -10
- package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
- package/lib/base/tool-manager/tool-actions.d.ts +14 -0
- package/lib/base/tool-manager/tool-actions.d.ts.map +1 -0
- package/lib/base/tool-manager/tool-actions.js +25 -0
- package/lib/base/tool-manager/tool-actions.js.map +1 -0
- package/lib/base/types.d.ts +144 -20
- package/lib/base/types.d.ts.map +1 -1
- package/lib/base/types.js +14 -26
- package/lib/base/types.js.map +1 -1
- package/lib/base/view/view-registry.d.ts.map +1 -1
- package/lib/base/view/view-registry.js +2 -2
- package/lib/base/view/view-registry.js.map +1 -1
- package/lib/features/change-bounds/model.d.ts +1 -1
- package/lib/features/change-bounds/model.d.ts.map +1 -1
- package/lib/features/change-bounds/model.js +3 -3
- package/lib/features/change-bounds/model.js.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts +37 -7
- package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +55 -40
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/change-bounds/snap.d.ts +42 -2
- package/lib/features/change-bounds/snap.d.ts.map +1 -1
- package/lib/features/change-bounds/snap.js +78 -2
- package/lib/features/change-bounds/snap.js.map +1 -1
- package/lib/features/change-bounds/snap.spec.d.ts +17 -0
- 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 +3 -3
- package/lib/features/command-palette/command-palette-tool.js.map +1 -1
- package/lib/features/command-palette/di.config.d.ts +2 -2
- package/lib/features/command-palette/di.config.d.ts.map +1 -1
- package/lib/features/command-palette/di.config.js +6 -6
- package/lib/features/command-palette/di.config.js.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -1
- package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.js +13 -10
- package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.d.ts +17 -1
- package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.js +4 -4
- package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
- package/lib/features/context-menu/di.config.d.ts +1 -1
- package/lib/features/context-menu/di.config.d.ts.map +1 -1
- package/lib/features/context-menu/di.config.js +8 -7
- package/lib/features/context-menu/di.config.js.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +33 -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 +41 -28
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -1
- package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.js +8 -7
- package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts +12 -15
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.js +26 -33
- package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.d.ts +1 -1
- package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.js +10 -11
- package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
- package/lib/features/copy-paste/di.config.d.ts +1 -1
- package/lib/features/copy-paste/di.config.d.ts.map +1 -1
- package/lib/features/copy-paste/di.config.js +5 -7
- package/lib/features/copy-paste/di.config.js.map +1 -1
- package/lib/features/decoration/decoration-placer.d.ts +1 -1
- package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
- package/lib/features/decoration/decoration-placer.js +19 -3
- package/lib/features/decoration/decoration-placer.js.map +1 -1
- package/lib/features/decoration/di.config.d.ts +2 -2
- package/lib/features/decoration/di.config.d.ts.map +1 -1
- package/lib/features/decoration/di.config.js +4 -4
- package/lib/features/decoration/di.config.js.map +1 -1
- package/lib/features/edit-label/di.config.d.ts +1 -1
- package/lib/features/edit-label/di.config.d.ts.map +1 -1
- package/lib/features/edit-label/di.config.js +5 -5
- package/lib/features/edit-label/di.config.js.map +1 -1
- package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -1
- package/lib/features/edit-label/edit-label-tool.js +2 -2
- package/lib/features/edit-label/edit-label-tool.js.map +1 -1
- package/lib/features/edit-label/edit-label-validator.d.ts +4 -6
- package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
- package/lib/features/edit-label/edit-label-validator.js +11 -13
- package/lib/features/edit-label/edit-label-validator.js.map +1 -1
- package/lib/features/hints/di.config.js +4 -4
- package/lib/features/hints/di.config.js.map +1 -1
- package/lib/features/hints/type-hints.d.ts +15 -5
- package/lib/features/hints/type-hints.d.ts.map +1 -1
- package/lib/features/hints/type-hints.js +29 -26
- package/lib/features/hints/type-hints.js.map +1 -1
- package/lib/features/hover/di.config.d.ts +1 -1
- package/lib/features/hover/di.config.d.ts.map +1 -1
- package/lib/features/hover/di.config.js +14 -10
- package/lib/features/hover/di.config.js.map +1 -1
- package/lib/features/hover/hover.d.ts +16 -4
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +42 -4
- package/lib/features/hover/hover.js.map +1 -1
- package/lib/features/layout/di.config.d.ts +3 -3
- package/lib/features/layout/di.config.d.ts.map +1 -1
- package/lib/features/layout/di.config.js +11 -7
- package/lib/features/layout/di.config.js.map +1 -1
- package/lib/features/layout/freeform-layout.d.ts +17 -1
- package/lib/features/layout/freeform-layout.d.ts.map +1 -1
- package/lib/features/layout/freeform-layout.js +4 -4
- package/lib/features/layout/freeform-layout.js.map +1 -1
- package/lib/features/layout/hbox-layout.d.ts +41 -0
- package/lib/features/layout/hbox-layout.d.ts.map +1 -0
- package/lib/features/layout/hbox-layout.js +189 -0
- package/lib/features/layout/hbox-layout.js.map +1 -0
- package/lib/features/layout/layout-elements-action.d.ts +198 -0
- package/lib/features/layout/layout-elements-action.d.ts.map +1 -0
- package/lib/features/layout/layout-elements-action.js +391 -0
- package/lib/features/layout/layout-elements-action.js.map +1 -0
- 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-commands.spec.js → layout-elements-action.spec.js} +81 -62
- package/lib/features/layout/layout-elements-action.spec.js.map +1 -0
- package/lib/features/layout/vbox-layout.d.ts +17 -1
- package/lib/features/layout/vbox-layout.d.ts.map +1 -1
- package/lib/features/layout/vbox-layout.js +9 -8
- package/lib/features/layout/vbox-layout.js.map +1 -1
- package/lib/features/model-source-watcher/di.config.js +1 -1
- package/lib/features/model-source-watcher/di.config.js.map +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js +11 -11
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
- package/lib/features/mouse-tool/di.config.d.ts +1 -1
- package/lib/features/mouse-tool/di.config.d.ts.map +1 -1
- package/lib/features/mouse-tool/di.config.js +2 -2
- package/lib/features/mouse-tool/di.config.js.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts +9 -5
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js +11 -53
- package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
- package/lib/features/navigation/di.config.js +4 -4
- package/lib/features/navigation/di.config.js.map +1 -1
- package/lib/features/navigation/navigation-action-handler.d.ts +31 -16
- package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
- package/lib/features/navigation/navigation-action-handler.js +52 -68
- package/lib/features/navigation/navigation-action-handler.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.d.ts +3 -3
- package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.js +9 -10
- package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.js +12 -12
- package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
- package/lib/features/reconnect/model.d.ts +1 -1
- package/lib/features/reconnect/model.d.ts.map +1 -1
- package/lib/features/reconnect/model.js +1 -1
- package/lib/features/reconnect/model.js.map +1 -1
- package/lib/features/save/di.config.d.ts +1 -1
- package/lib/features/save/di.config.d.ts.map +1 -1
- package/lib/features/save/di.config.js +3 -3
- package/lib/features/save/di.config.js.map +1 -1
- package/lib/features/save/save-keylistener.d.ts +1 -1
- package/lib/features/save/save-keylistener.d.ts.map +1 -1
- package/lib/features/save/save-keylistener.js +3 -3
- package/lib/features/save/save-keylistener.js.map +1 -1
- package/lib/features/select/di.config.d.ts +1 -1
- package/lib/features/select/di.config.d.ts.map +1 -1
- package/lib/features/select/di.config.js +7 -8
- package/lib/features/select/di.config.js.map +1 -1
- package/lib/features/select/select-feedback-action.d.ts +26 -22
- package/lib/features/select/select-feedback-action.d.ts.map +1 -1
- package/lib/features/select/select-feedback-action.js +19 -46
- package/lib/features/select/select-feedback-action.js.map +1 -1
- 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 +1 -1
- package/lib/features/select/select-mouse-listener.js.map +1 -1
- package/lib/features/select/selection-service.d.ts +14 -5
- package/lib/features/select/selection-service.d.ts.map +1 -1
- package/lib/features/select/selection-service.js +55 -64
- package/lib/features/select/selection-service.js.map +1 -1
- package/lib/features/select/selection-service.spec.js +28 -25
- package/lib/features/select/selection-service.spec.js.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +17 -9
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +68 -38
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts +24 -12
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +88 -35
- package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/css-feedback.d.ts +17 -10
- package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/css-feedback.js +42 -38
- package/lib/features/tool-feedback/css-feedback.js.map +1 -1
- package/lib/features/tool-feedback/di.config.d.ts +1 -1
- package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
- package/lib/features/tool-feedback/di.config.js +18 -18
- package/lib/features/tool-feedback/di.config.js.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +45 -22
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +147 -114
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +2 -2
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.js +4 -4
- package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +21 -10
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.js +44 -18
- package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/model.d.ts +1 -2
- package/lib/features/tool-feedback/model.d.ts.map +1 -1
- package/lib/features/tool-feedback/model.js +1 -1
- package/lib/features/tool-feedback/model.js.map +1 -1
- package/lib/features/tool-feedback/view.d.ts +1 -1
- package/lib/features/tool-feedback/view.d.ts.map +1 -1
- package/lib/features/tool-feedback/view.js +22 -5
- package/lib/features/tool-feedback/view.js.map +1 -1
- package/lib/features/tool-palette/di.config.d.ts +1 -1
- package/lib/features/tool-palette/di.config.d.ts.map +1 -1
- package/lib/features/tool-palette/di.config.js +5 -4
- package/lib/features/tool-palette/di.config.js.map +1 -1
- package/lib/features/tool-palette/tool-palette.d.ts +10 -7
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +39 -32
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/base-glsp-tool.d.ts +3 -3
- package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
- package/lib/features/tools/base-glsp-tool.js +11 -11
- package/lib/features/tools/base-glsp-tool.js.map +1 -1
- package/lib/features/tools/change-bounds-tool.d.ts +7 -9
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds-tool.js +48 -71
- package/lib/features/tools/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/delete-tool.d.ts +1 -1
- package/lib/features/tools/delete-tool.d.ts.map +1 -1
- package/lib/features/tools/delete-tool.js +17 -17
- package/lib/features/tools/delete-tool.js.map +1 -1
- package/lib/features/tools/di.config.d.ts +9 -2
- package/lib/features/tools/di.config.d.ts.map +1 -1
- package/lib/features/tools/di.config.js +26 -15
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-creation-tool.js +28 -21
- package/lib/features/tools/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.d.ts +3 -2
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit-tool.js +41 -36
- package/lib/features/tools/edge-edit-tool.js.map +1 -1
- package/lib/features/{tool-palette/palette-item.d.ts → tools/enable-default-tools-on-focus-loss.d.ts} +11 -11
- package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +1 -0
- package/lib/features/tools/enable-default-tools-on-focus-loss.js +29 -0
- package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +1 -0
- package/lib/features/tools/marquee-behavior.d.ts +1 -1
- package/lib/features/tools/marquee-behavior.js +2 -2
- package/lib/features/tools/marquee-behavior.js.map +1 -1
- package/lib/features/tools/marquee-behavior.spec.js +63 -63
- package/lib/features/tools/marquee-behavior.spec.js.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.d.ts +1 -1
- package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.js +20 -20
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
- package/lib/features/tools/marquee-tool.d.ts +1 -1
- package/lib/features/tools/marquee-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-tool.js +4 -4
- package/lib/features/tools/marquee-tool.js.map +1 -1
- package/lib/features/tools/model.d.ts +3 -2
- package/lib/features/tools/model.d.ts.map +1 -1
- package/lib/features/tools/model.js +0 -15
- package/lib/features/tools/model.js.map +1 -1
- package/lib/features/tools/node-creation-tool.d.ts +1 -1
- package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/node-creation-tool.js +17 -17
- package/lib/features/tools/node-creation-tool.js.map +1 -1
- package/lib/features/tools/view.d.ts.map +1 -1
- package/lib/features/tools/view.js +2 -2
- package/lib/features/tools/view.js.map +1 -1
- package/lib/features/validation/di.config.d.ts +0 -15
- package/lib/features/validation/di.config.d.ts.map +1 -1
- package/lib/features/validation/di.config.js +9 -7
- package/lib/features/validation/di.config.js.map +1 -1
- package/lib/features/validation/marker-navigator.d.ts +27 -25
- package/lib/features/validation/marker-navigator.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.js +64 -91
- package/lib/features/validation/marker-navigator.js.map +1 -1
- package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.spec.js +23 -37
- package/lib/features/validation/marker-navigator.spec.js.map +1 -1
- package/lib/features/validation/validate.d.ts +16 -30
- package/lib/features/validation/validate.d.ts.map +1 -1
- package/lib/features/validation/validate.js +61 -92
- package/lib/features/validation/validate.js.map +1 -1
- package/lib/features/viewport/di.config.d.ts +1 -1
- package/lib/features/viewport/di.config.d.ts.map +1 -1
- package/lib/features/viewport/di.config.js +7 -7
- package/lib/features/viewport/di.config.js.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.js +3 -3
- package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
- package/lib/index.d.ts +8 -9
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +15 -11
- package/lib/index.js.map +1 -1
- package/lib/lib/model.d.ts +3 -2
- package/lib/lib/model.d.ts.map +1 -1
- package/lib/lib/model.js +3 -18
- package/lib/lib/model.js.map +1 -1
- package/lib/model-source/glsp-diagram-server.d.ts +6 -6
- package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
- package/lib/model-source/glsp-diagram-server.js +8 -7
- package/lib/model-source/glsp-diagram-server.js.map +1 -1
- package/lib/sprotty-reexport.d.ts +174 -0
- package/lib/sprotty-reexport.d.ts.map +1 -0
- package/lib/sprotty-reexport.js +299 -0
- package/lib/sprotty-reexport.js.map +1 -0
- package/lib/utils/argument-utils.js +5 -5
- package/lib/utils/argument-utils.js.map +1 -1
- package/lib/utils/layout-utils.d.ts +6 -22
- package/lib/utils/layout-utils.d.ts.map +1 -1
- package/lib/utils/layout-utils.js +1 -1
- package/lib/utils/layout-utils.js.map +1 -1
- package/lib/utils/smodel-util.d.ts +117 -11
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +142 -37
- package/lib/utils/smodel-util.js.map +1 -1
- package/lib/utils/viewpoint-util.d.ts +3 -3
- package/lib/utils/viewpoint-util.d.ts.map +1 -1
- package/lib/utils/viewpoint-util.js +19 -3
- package/lib/utils/viewpoint-util.js.map +1 -1
- package/lib/views/base-view-module.d.ts.map +1 -1
- package/lib/views/base-view-module.js +21 -19
- package/lib/views/base-view-module.js.map +1 -1
- package/lib/views/compartments.js +2 -2
- package/lib/views/compartments.js.map +1 -1
- package/lib/views/glsp-edge-view.d.ts +1 -1
- package/lib/views/glsp-edge-view.d.ts.map +1 -1
- package/lib/views/glsp-edge-view.js +1 -1
- package/lib/views/glsp-edge-view.js.map +1 -1
- package/lib/views/index.js +6 -2
- package/lib/views/index.js.map +1 -1
- package/lib/views/issue-marker-view.d.ts.map +1 -1
- package/lib/views/issue-marker-view.js +3 -3
- package/lib/views/issue-marker-view.js.map +1 -1
- package/lib/views/rounded-corner-view.d.ts.map +1 -1
- package/lib/views/rounded-corner-view.js +2 -2
- package/lib/views/rounded-corner-view.js.map +1 -1
- package/package.json +8 -18
- package/src/base/action-dispatcher.ts +26 -16
- package/src/base/actions/focus-change-action.ts +25 -8
- package/src/base/actions/sprotty-actions.ts +26 -0
- package/src/base/auto-complete/auto-complete-actions.ts +7 -5
- package/src/base/auto-complete/auto-complete-widget.ts +15 -13
- package/src/base/command-stack.ts +7 -6
- package/src/base/container-modules.ts +4 -3
- package/src/base/di.config.ts +4 -5
- package/src/base/drag-aware-mouse-listener.ts +4 -4
- package/src/base/editor-context-service.ts +38 -16
- package/src/base/focus-tracker.ts +5 -4
- package/src/base/model/model-registry.ts +2 -2
- package/src/base/model/update-model-command.ts +9 -10
- package/src/base/model-initialization-constraint.ts +9 -11
- package/src/base/selection-clearing-mouse-listener.ts +1 -1
- package/src/base/source-uri-aware.ts +5 -4
- package/src/base/tool-manager/glsp-tool-manager.ts +9 -9
- package/src/base/tool-manager/tool-actions.ts +37 -0
- package/src/base/types.ts +31 -24
- package/src/base/view/view-registry.ts +2 -2
- package/src/features/change-bounds/model.ts +5 -5
- package/src/features/change-bounds/movement-restrictor.ts +74 -44
- package/src/features/change-bounds/snap.spec.ts +89 -0
- package/src/features/change-bounds/snap.ts +86 -3
- package/src/features/command-palette/di.config.ts +5 -7
- package/src/features/command-palette/server-command-palette-provider.ts +9 -8
- package/src/features/context-menu/delete-element-context-menu.ts +6 -6
- package/src/features/context-menu/di.config.ts +3 -2
- package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +45 -17
- package/src/features/context-menu/server-context-menu-provider.ts +7 -6
- package/src/features/copy-paste/copy-paste-context-menu.ts +30 -23
- package/src/features/copy-paste/copy-paste-handler.ts +6 -6
- package/src/features/copy-paste/di.config.ts +7 -15
- package/src/features/decoration/decoration-placer.ts +4 -4
- package/src/features/decoration/di.config.ts +3 -5
- package/src/features/edit-label/di.config.ts +4 -5
- package/src/features/edit-label/edit-label-tool.ts +1 -2
- package/src/features/edit-label/edit-label-validator.ts +6 -10
- package/src/features/hints/di.config.ts +3 -3
- package/src/features/hints/type-hints.ts +33 -18
- package/src/features/hover/di.config.ts +8 -2
- package/src/features/hover/hover.ts +53 -11
- package/src/features/layout/di.config.ts +11 -7
- package/src/features/layout/freeform-layout.ts +6 -15
- package/src/features/layout/hbox-layout.ts +256 -0
- package/src/features/layout/{layout-commands.spec.ts → layout-elements-action.spec.ts} +89 -65
- package/src/features/layout/layout-elements-action.ts +486 -0
- package/src/features/layout/vbox-layout.ts +20 -20
- package/src/features/model-source-watcher/model-source-changed-action-handler.ts +7 -12
- package/src/features/mouse-tool/di.config.ts +3 -4
- package/src/features/mouse-tool/mouse-tool.ts +18 -59
- package/src/features/navigation/navigation-action-handler.ts +76 -42
- package/src/features/navigation/navigation-target-resolver.spec.ts +3 -3
- package/src/features/navigation/navigation-target-resolver.ts +9 -14
- package/src/features/reconnect/model.ts +2 -2
- package/src/features/save/di.config.ts +2 -3
- package/src/features/save/save-keylistener.ts +3 -3
- package/src/features/select/di.config.ts +6 -8
- package/src/features/select/select-feedback-action.ts +18 -46
- package/src/features/select/select-mouse-listener.ts +1 -2
- package/src/features/select/selection-service.spec.ts +12 -9
- package/src/features/select/selection-service.ts +52 -60
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +52 -22
- package/src/features/tool-feedback/creation-tool-feedback.ts +79 -30
- package/src/features/tool-feedback/css-feedback.ts +40 -37
- package/src/features/tool-feedback/di.config.ts +4 -5
- package/src/features/tool-feedback/edge-edit-tool-feedback.ts +140 -88
- package/src/features/tool-feedback/feedback-action-dispatcher.ts +4 -3
- package/src/features/tool-feedback/marquee-tool-feedback.ts +38 -13
- package/src/features/tool-feedback/model.ts +1 -3
- package/src/features/tool-feedback/view.tsx +3 -3
- package/src/features/tool-palette/di.config.ts +3 -2
- package/src/features/tool-palette/tool-palette.ts +35 -19
- package/src/features/tools/base-glsp-tool.ts +11 -11
- package/src/features/tools/change-bounds-tool.ts +37 -67
- package/src/features/tools/delete-tool.ts +9 -9
- package/src/features/tools/di.config.ts +23 -12
- package/src/features/tools/edge-creation-tool.ts +21 -12
- package/src/features/tools/edge-edit-tool.ts +25 -21
- package/src/features/tools/enable-default-tools-on-focus-loss.ts +33 -0
- package/src/features/tools/marquee-behavior.ts +2 -2
- package/src/features/tools/marquee-mouse-tool.ts +13 -14
- package/src/features/tools/marquee-tool.ts +3 -3
- package/src/features/tools/model.ts +4 -3
- package/src/features/tools/node-creation-tool.ts +8 -8
- package/src/features/tools/view.tsx +2 -3
- package/src/features/validation/di.config.ts +13 -11
- package/src/features/validation/marker-navigator.spec.ts +4 -2
- package/src/features/validation/marker-navigator.ts +67 -82
- package/src/features/validation/validate.ts +57 -91
- package/src/features/viewport/di.config.ts +1 -2
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +5 -5
- package/src/index.ts +9 -9
- package/src/lib/model.ts +4 -4
- package/src/model-source/glsp-diagram-server.ts +15 -15
- package/src/sprotty-reexport.ts +283 -0
- package/src/utils/layout-utils.ts +9 -29
- package/src/utils/smodel-util.ts +139 -43
- package/src/utils/viewpoint-util.ts +5 -14
- package/src/views/base-view-module.ts +5 -1
- package/src/views/compartments.tsx +1 -1
- package/src/views/glsp-edge-view.tsx +4 -4
- package/src/views/issue-marker-view.tsx +2 -2
- package/src/views/rounded-corner-view.tsx +2 -3
- package/lib/features/layout/layout-commands.d.ts +0 -153
- package/lib/features/layout/layout-commands.d.ts.map +0 -1
- package/lib/features/layout/layout-commands.js +0 -412
- package/lib/features/layout/layout-commands.js.map +0 -1
- package/lib/features/layout/layout-commands.spec.d.ts +0 -3
- package/lib/features/layout/layout-commands.spec.d.ts.map +0 -1
- package/lib/features/layout/layout-commands.spec.js.map +0 -1
- package/lib/features/tool-palette/palette-item.d.ts.map +0 -1
- package/lib/features/tool-palette/palette-item.js.map +0 -1
- package/lib/protocol-reexport.d.ts +0 -45
- package/lib/protocol-reexport.d.ts.map +0 -1
- package/lib/protocol-reexport.js +0 -75
- package/lib/protocol-reexport.js.map +0 -1
- package/src/features/layout/layout-commands.ts +0 -424
- package/src/features/tool-palette/palette-item.ts +0 -38
- package/src/protocol-reexport.ts +0 -64
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2022 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -14,6 +14,6 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { ContainerModule } from 'inversify';
|
|
17
|
-
declare const
|
|
18
|
-
export default
|
|
17
|
+
declare const layoutModule: ContainerModule;
|
|
18
|
+
export default layoutModule;
|
|
19
19
|
//# sourceMappingURL=di.config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di.config.d.ts","sourceRoot":"","sources":["../../../src/features/layout/di.config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"di.config.d.ts","sourceRoot":"","sources":["../../../src/features/layout/di.config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAQ5C,QAAA,MAAM,YAAY,iBAQhB,CAAC;AAEH,eAAe,YAAY,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
/********************************************************************************
|
|
4
|
-
* Copyright (c) 2019-
|
|
4
|
+
* Copyright (c) 2019-2022 EclipseSource and others.
|
|
5
5
|
*
|
|
6
6
|
* This program and the accompanying materials are made available under the
|
|
7
7
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -17,14 +17,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
********************************************************************************/
|
|
18
18
|
const inversify_1 = require("inversify");
|
|
19
19
|
const sprotty_1 = require("sprotty");
|
|
20
|
+
const __1 = require("../..");
|
|
20
21
|
const freeform_layout_1 = require("./freeform-layout");
|
|
21
|
-
const
|
|
22
|
+
const hbox_layout_1 = require("./hbox-layout");
|
|
23
|
+
const layout_elements_action_1 = require("./layout-elements-action");
|
|
22
24
|
const vbox_layout_1 = require("./vbox-layout");
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
sprotty_1.
|
|
25
|
+
const layoutModule = new inversify_1.ContainerModule((bind, _unbind, isBound, rebind) => {
|
|
26
|
+
const context = { bind, isBound };
|
|
27
|
+
(0, sprotty_1.configureActionHandler)(context, layout_elements_action_1.ResizeElementsAction.KIND, layout_elements_action_1.ResizeElementsActionHandler);
|
|
28
|
+
(0, sprotty_1.configureActionHandler)(context, layout_elements_action_1.AlignElementsAction.KIND, __1.AlignElementsActionHandler);
|
|
26
29
|
rebind(sprotty_1.VBoxLayouter).to(vbox_layout_1.VBoxLayouterExt);
|
|
27
|
-
sprotty_1.
|
|
30
|
+
rebind(sprotty_1.HBoxLayouter).to(hbox_layout_1.HBoxLayouterExt);
|
|
31
|
+
(0, sprotty_1.configureLayout)({ bind, isBound }, freeform_layout_1.FreeFormLayouter.KIND, freeform_layout_1.FreeFormLayouter);
|
|
28
32
|
});
|
|
29
|
-
exports.default =
|
|
33
|
+
exports.default = layoutModule;
|
|
30
34
|
//# sourceMappingURL=di.config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di.config.js","sourceRoot":"","sources":["../../../src/features/layout/di.config.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"di.config.js","sourceRoot":"","sources":["../../../src/features/layout/di.config.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAA4C;AAC5C,qCAA8F;AAC9F,6BAAmD;AACnD,uDAAqD;AACrD,+CAAgD;AAChD,qEAAkH;AAClH,+CAAgD;AAEhD,MAAM,YAAY,GAAG,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IACxE,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAClC,IAAA,gCAAsB,EAAC,OAAO,EAAE,6CAAoB,CAAC,IAAI,EAAE,oDAA2B,CAAC,CAAC;IACxF,IAAA,gCAAsB,EAAC,OAAO,EAAE,4CAAmB,CAAC,IAAI,EAAE,8BAA0B,CAAC,CAAC;IAEtF,MAAM,CAAC,sBAAY,CAAC,CAAC,EAAE,CAAC,6BAAe,CAAC,CAAC;IACzC,MAAM,CAAC,sBAAY,CAAC,CAAC,EAAE,CAAC,6BAAe,CAAC,CAAC;IACzC,IAAA,yBAAe,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,kCAAgB,CAAC,IAAI,EAAE,kCAAgB,CAAC,CAAC;AAChF,CAAC,CAAC,CAAC;AAEH,kBAAe,YAAY,CAAC"}
|
|
@@ -1,4 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2021-2022 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 { Bounds, Dimension, Point } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { BoundsData, LayoutContainer, SChildElement, SParentElement, StatefulLayouter } from 'sprotty';
|
|
2
18
|
import { AbstractLayout } from 'sprotty/lib/features/bounds/abstract-layout';
|
|
3
19
|
import { AbstractLayoutOptions } from 'sprotty/lib/features/bounds/layout-options';
|
|
4
20
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freeform-layout.d.ts","sourceRoot":"","sources":["../../../src/features/layout/freeform-layout.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"freeform-layout.d.ts","sourceRoot":"","sources":["../../../src/features/layout/freeform-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAEnF;;GAEG;AACH,qBACa,gBAAiB,SAAQ,cAAc,CAAC,qBAAqB,CAAC;IACvE,MAAM,CAAC,IAAI,SAAc;IAEhB,MAAM,CAAC,SAAS,EAAE,cAAc,GAAG,eAAe,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAoB9F,SAAS,CAAC,eAAe,CACrB,SAAS,EAAE,cAAc,GAAG,eAAe,EAC3C,gBAAgB,EAAE,qBAAqB,EACvC,QAAQ,EAAE,gBAAgB,GAC3B,SAAS;IAkBZ,SAAS,CAAC,WAAW,CACjB,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,qBAAqB,EACnC,gBAAgB,EAAE,qBAAqB,EACvC,aAAa,EAAE,KAAK,EACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,KAAK;cAWW,uBAAuB,CACtC,SAAS,EAAE,cAAc,GAAG,eAAe,EAC3C,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,MAAM;IAWT,SAAS,CAAC,uBAAuB,IAAI,qBAAqB;IAa1D,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,EAAE,qBAAqB,GAAG,qBAAqB;CAG9F"}
|
|
@@ -8,7 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.FreeFormLayouter = void 0;
|
|
10
10
|
/********************************************************************************
|
|
11
|
-
* Copyright (c) 2021 EclipseSource and others.
|
|
11
|
+
* Copyright (c) 2021-2022 EclipseSource and others.
|
|
12
12
|
*
|
|
13
13
|
* This program and the accompanying materials are made available under the
|
|
14
14
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -22,8 +22,8 @@ exports.FreeFormLayouter = void 0;
|
|
|
22
22
|
*
|
|
23
23
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
24
24
|
********************************************************************************/
|
|
25
|
+
const protocol_1 = require("@eclipse-glsp/protocol");
|
|
25
26
|
const inversify_1 = require("inversify");
|
|
26
|
-
const sprotty_1 = require("sprotty");
|
|
27
27
|
const abstract_layout_1 = require("sprotty/lib/features/bounds/abstract-layout");
|
|
28
28
|
/**
|
|
29
29
|
* Layouts children of a container with explit X/Y positions
|
|
@@ -52,7 +52,7 @@ let FreeFormLayouter = class FreeFormLayouter extends abstract_layout_1.Abstract
|
|
|
52
52
|
let maxY = 0;
|
|
53
53
|
container.children.forEach(child => {
|
|
54
54
|
const bounds = layouter.getBoundsData(child).bounds;
|
|
55
|
-
if (bounds !== undefined &&
|
|
55
|
+
if (bounds !== undefined && protocol_1.Dimension.isValid(bounds)) {
|
|
56
56
|
const childMaxX = bounds.x + bounds.width;
|
|
57
57
|
const childMaxY = bounds.y + bounds.height;
|
|
58
58
|
maxX = Math.max(maxX, childMaxX);
|
|
@@ -101,7 +101,7 @@ let FreeFormLayouter = class FreeFormLayouter extends abstract_layout_1.Abstract
|
|
|
101
101
|
};
|
|
102
102
|
FreeFormLayouter.KIND = 'freeform';
|
|
103
103
|
FreeFormLayouter = __decorate([
|
|
104
|
-
inversify_1.injectable()
|
|
104
|
+
(0, inversify_1.injectable)()
|
|
105
105
|
], FreeFormLayouter);
|
|
106
106
|
exports.FreeFormLayouter = FreeFormLayouter;
|
|
107
107
|
//# sourceMappingURL=freeform-layout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freeform-layout.js","sourceRoot":"","sources":["../../../src/features/layout/freeform-layout.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,
|
|
1
|
+
{"version":3,"file":"freeform-layout.js","sourceRoot":"","sources":["../../../src/features/layout/freeform-layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2021-2022 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 { Bounds, Dimension, Point } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { BoundsData, LayoutContainer, SChildElement, SModelElement, SParentElement, StatefulLayouter, HBoxLayouter, HBoxLayoutOptions } from 'sprotty';
|
|
18
|
+
export interface HBoxLayoutOptionsExt extends HBoxLayoutOptions {
|
|
19
|
+
hGrab: boolean;
|
|
20
|
+
vGrab: boolean;
|
|
21
|
+
prefWidth: number | null;
|
|
22
|
+
prefHeight: number | null;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Extends HBoxLayouter to support additional layout options
|
|
26
|
+
*/
|
|
27
|
+
export declare class HBoxLayouterExt extends HBoxLayouter {
|
|
28
|
+
static KIND: string;
|
|
29
|
+
layout(container: SParentElement & LayoutContainer, layouter: StatefulLayouter): void;
|
|
30
|
+
protected getChildrenSize(container: SParentElement & LayoutContainer, containerOptions: HBoxLayoutOptionsExt, layouter: StatefulLayouter): Dimension;
|
|
31
|
+
protected layoutChildren(container: SParentElement & LayoutContainer, layouter: StatefulLayouter, containerOptions: HBoxLayoutOptionsExt, maxWidth: number, maxHeight: number, grabWidth?: number, grabbingChildren?: number): Point;
|
|
32
|
+
protected layoutChild(child: SChildElement, boundsData: BoundsData, bounds: Bounds, childOptions: HBoxLayoutOptionsExt, containerOptions: HBoxLayoutOptionsExt, currentOffset: Point, maxWidth: number, maxHeight: number, grabWidth?: number, grabbingChildren?: number): Point;
|
|
33
|
+
protected getFixedContainerBounds(container: SModelElement, layoutOptions: HBoxLayoutOptionsExt, layouter: StatefulLayouter): Bounds;
|
|
34
|
+
protected getChildLayoutOptions(child: SChildElement, containerOptions: HBoxLayoutOptionsExt): HBoxLayoutOptionsExt;
|
|
35
|
+
protected getLayoutOptions(element: SModelElement): HBoxLayoutOptionsExt;
|
|
36
|
+
protected getElementLayoutOptions(element: SModelElement): HBoxLayoutOptionsExt | undefined;
|
|
37
|
+
protected getFinalContainerBounds(container: SParentElement & LayoutContainer, lastOffset: Point, options: HBoxLayoutOptionsExt, maxWidth: number, maxHeight: number): Bounds;
|
|
38
|
+
protected getDefaultLayoutOptions(): HBoxLayoutOptionsExt;
|
|
39
|
+
protected spread(a: HBoxLayoutOptionsExt, b: HBoxLayoutOptionsExt): HBoxLayoutOptionsExt;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=hbox-layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hbox-layout.d.ts","sourceRoot":"","sources":["../../../src/features/layout/hbox-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EACH,UAAU,EAGV,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACpB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC3D,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,qBACa,eAAgB,SAAQ,YAAY;IAC7C,OAAgB,IAAI,SAAqB;IAEhC,MAAM,CAAC,SAAS,EAAE,cAAc,GAAG,eAAe,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;cAkC3E,eAAe,CAC9B,SAAS,EAAE,cAAc,GAAG,eAAe,EAC3C,gBAAgB,EAAE,oBAAoB,EACtC,QAAQ,EAAE,gBAAgB,GAC3B,SAAS;cAyBO,cAAc,CAC7B,SAAS,EAAE,cAAc,GAAG,eAAe,EAC3C,QAAQ,EAAE,gBAAgB,EAC1B,gBAAgB,EAAE,oBAAoB,EACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,GAC1B,KAAK;cA8BW,WAAW,CAC1B,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,oBAAoB,EAClC,gBAAgB,EAAE,oBAAoB,EACtC,aAAa,EAAE,KAAK,EACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,GAC1B,KAAK;cAyBW,uBAAuB,CACtC,SAAS,EAAE,aAAa,EACxB,aAAa,EAAE,oBAAoB,EACnC,QAAQ,EAAE,gBAAgB,GAC3B,MAAM;cAaU,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,GAAG,oBAAoB;cAIzG,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,oBAAoB;IAIjF,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,oBAAoB,GAAG,SAAS;cAIxE,uBAAuB,CACtC,SAAS,EAAE,cAAc,GAAG,eAAe,EAC3C,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,MAAM;cAeU,uBAAuB,IAAI,oBAAoB;cAqB/C,MAAM,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,oBAAoB,GAAG,oBAAoB;CAGpG"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.HBoxLayouterExt = void 0;
|
|
10
|
+
/********************************************************************************
|
|
11
|
+
* Copyright (c) 2021-2022 EclipseSource and others.
|
|
12
|
+
*
|
|
13
|
+
* This program and the accompanying materials are made available under the
|
|
14
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
15
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
16
|
+
*
|
|
17
|
+
* This Source Code may also be made available under the following Secondary
|
|
18
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
19
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
20
|
+
* with the GNU Classpath Exception which is available at
|
|
21
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
22
|
+
*
|
|
23
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
24
|
+
********************************************************************************/
|
|
25
|
+
const protocol_1 = require("@eclipse-glsp/protocol");
|
|
26
|
+
const inversify_1 = require("inversify");
|
|
27
|
+
const sprotty_1 = require("sprotty");
|
|
28
|
+
/**
|
|
29
|
+
* Extends HBoxLayouter to support additional layout options
|
|
30
|
+
*/
|
|
31
|
+
let HBoxLayouterExt = class HBoxLayouterExt extends sprotty_1.HBoxLayouter {
|
|
32
|
+
layout(container, layouter) {
|
|
33
|
+
const boundsData = layouter.getBoundsData(container);
|
|
34
|
+
const options = this.getLayoutOptions(container);
|
|
35
|
+
const childrenSize = this.getChildrenSize(container, options, layouter);
|
|
36
|
+
const fixedSize = this.getFixedContainerBounds(container, options, layouter);
|
|
37
|
+
const maxWidth = options.paddingFactor *
|
|
38
|
+
(options.resizeContainer
|
|
39
|
+
? Math.max(fixedSize.width - options.paddingLeft - options.paddingRight, childrenSize.width)
|
|
40
|
+
: Math.max(0, fixedSize.width - options.paddingLeft - options.paddingRight));
|
|
41
|
+
const maxHeight = options.paddingFactor *
|
|
42
|
+
(options.resizeContainer
|
|
43
|
+
? Math.max(fixedSize.height - options.paddingTop - options.paddingBottom, childrenSize.height)
|
|
44
|
+
: Math.max(0, fixedSize.height - options.paddingTop - options.paddingBottom));
|
|
45
|
+
// Remaining size that can be grabbed by children with the hGrab option
|
|
46
|
+
const grabWidth = maxWidth - childrenSize.width;
|
|
47
|
+
// Number of children that request hGrab
|
|
48
|
+
// FIXME: This approach works fine when only 1 child uses HGrab, but may cause rounding issues
|
|
49
|
+
// when the grabHeight can't be equally shared by all children.
|
|
50
|
+
const grabbingChildren = container.children
|
|
51
|
+
.map(child => this.getChildLayoutOptions(child, options))
|
|
52
|
+
.filter(opt => opt.hGrab).length;
|
|
53
|
+
if (maxWidth > 0 && maxHeight > 0) {
|
|
54
|
+
const offset = this.layoutChildren(container, layouter, options, maxWidth, maxHeight, grabWidth, grabbingChildren);
|
|
55
|
+
boundsData.bounds = this.getFinalContainerBounds(container, offset, options, childrenSize.width, childrenSize.height);
|
|
56
|
+
boundsData.boundsChanged = true;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
getChildrenSize(container, containerOptions, layouter) {
|
|
60
|
+
let maxWidth = 0;
|
|
61
|
+
let maxHeight = -1;
|
|
62
|
+
let isFirst = true;
|
|
63
|
+
container.children.forEach(child => {
|
|
64
|
+
if ((0, sprotty_1.isLayoutableChild)(child)) {
|
|
65
|
+
const bounds = layouter.getBoundsData(child).bounds;
|
|
66
|
+
if (bounds !== undefined && protocol_1.Dimension.isValid(bounds)) {
|
|
67
|
+
maxWidth += bounds.width;
|
|
68
|
+
if (isFirst) {
|
|
69
|
+
isFirst = false;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
maxWidth += containerOptions.hGap;
|
|
73
|
+
}
|
|
74
|
+
maxHeight = Math.max(maxHeight, bounds.height);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
const result = {
|
|
79
|
+
width: maxWidth,
|
|
80
|
+
height: maxHeight
|
|
81
|
+
};
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
layoutChildren(container, layouter, containerOptions, maxWidth, maxHeight, grabWidth, grabbingChildren) {
|
|
85
|
+
let currentOffset = {
|
|
86
|
+
x: containerOptions.paddingLeft + 0.5 * (maxWidth - maxWidth / containerOptions.paddingFactor),
|
|
87
|
+
y: containerOptions.paddingTop + 0.5 * (maxHeight - maxHeight / containerOptions.paddingFactor)
|
|
88
|
+
};
|
|
89
|
+
container.children.forEach(child => {
|
|
90
|
+
if ((0, sprotty_1.isLayoutableChild)(child)) {
|
|
91
|
+
const boundsData = layouter.getBoundsData(child);
|
|
92
|
+
const bounds = boundsData.bounds;
|
|
93
|
+
const childOptions = this.getChildLayoutOptions(child, containerOptions);
|
|
94
|
+
if (bounds !== undefined && protocol_1.Dimension.isValid(bounds)) {
|
|
95
|
+
currentOffset = this.layoutChild(child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight, grabWidth, grabbingChildren);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
return currentOffset;
|
|
100
|
+
}
|
|
101
|
+
layoutChild(child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight, grabWidth, grabbingChildren) {
|
|
102
|
+
let offset = super.layoutChild(child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight);
|
|
103
|
+
if (childOptions.hGrab) {
|
|
104
|
+
boundsData.bounds = {
|
|
105
|
+
x: boundsData.bounds.x,
|
|
106
|
+
y: boundsData.bounds.y,
|
|
107
|
+
width: boundsData.bounds.width,
|
|
108
|
+
height: maxHeight
|
|
109
|
+
};
|
|
110
|
+
boundsData.boundsChanged = true;
|
|
111
|
+
}
|
|
112
|
+
if (childOptions.hGrab && grabWidth && grabbingChildren) {
|
|
113
|
+
const width = boundsData.bounds.width + grabWidth / grabbingChildren;
|
|
114
|
+
boundsData.bounds = {
|
|
115
|
+
x: boundsData.bounds.x,
|
|
116
|
+
y: boundsData.bounds.y,
|
|
117
|
+
width: width,
|
|
118
|
+
height: boundsData.bounds.height
|
|
119
|
+
};
|
|
120
|
+
boundsData.boundsChanged = true;
|
|
121
|
+
offset = { x: currentOffset.x + width, y: currentOffset.y };
|
|
122
|
+
}
|
|
123
|
+
return offset;
|
|
124
|
+
}
|
|
125
|
+
getFixedContainerBounds(container, layoutOptions, layouter) {
|
|
126
|
+
var _a, _b;
|
|
127
|
+
const currentContainer = container;
|
|
128
|
+
// eslint-disable-next-line no-constant-condition
|
|
129
|
+
if ((0, sprotty_1.isBoundsAware)(currentContainer)) {
|
|
130
|
+
const bounds = currentContainer.bounds;
|
|
131
|
+
const elementOptions = this.getElementLayoutOptions(currentContainer);
|
|
132
|
+
const width = (_a = elementOptions === null || elementOptions === void 0 ? void 0 : elementOptions.prefWidth) !== null && _a !== void 0 ? _a : 0;
|
|
133
|
+
const height = (_b = elementOptions === null || elementOptions === void 0 ? void 0 : elementOptions.prefHeight) !== null && _b !== void 0 ? _b : 0;
|
|
134
|
+
return Object.assign(Object.assign({}, bounds), { width, height });
|
|
135
|
+
}
|
|
136
|
+
return protocol_1.Bounds.EMPTY;
|
|
137
|
+
}
|
|
138
|
+
getChildLayoutOptions(child, containerOptions) {
|
|
139
|
+
return super.getChildLayoutOptions(child, containerOptions);
|
|
140
|
+
}
|
|
141
|
+
getLayoutOptions(element) {
|
|
142
|
+
return super.getLayoutOptions(element);
|
|
143
|
+
}
|
|
144
|
+
getElementLayoutOptions(element) {
|
|
145
|
+
return element.layoutOptions;
|
|
146
|
+
}
|
|
147
|
+
getFinalContainerBounds(container, lastOffset, options, maxWidth, maxHeight) {
|
|
148
|
+
var _a, _b;
|
|
149
|
+
const elementOptions = this.getElementLayoutOptions(container);
|
|
150
|
+
const width = (_a = elementOptions === null || elementOptions === void 0 ? void 0 : elementOptions.prefWidth) !== null && _a !== void 0 ? _a : options.minWidth;
|
|
151
|
+
const height = (_b = elementOptions === null || elementOptions === void 0 ? void 0 : elementOptions.prefHeight) !== null && _b !== void 0 ? _b : options.minHeight;
|
|
152
|
+
const result = {
|
|
153
|
+
x: container.bounds.x,
|
|
154
|
+
y: container.bounds.y,
|
|
155
|
+
width: Math.max(width, maxWidth + options.paddingLeft + options.paddingRight),
|
|
156
|
+
height: Math.max(height, maxHeight + options.paddingTop + options.paddingBottom)
|
|
157
|
+
};
|
|
158
|
+
return result;
|
|
159
|
+
}
|
|
160
|
+
getDefaultLayoutOptions() {
|
|
161
|
+
return {
|
|
162
|
+
resizeContainer: true,
|
|
163
|
+
paddingTop: 5,
|
|
164
|
+
paddingBottom: 5,
|
|
165
|
+
paddingLeft: 5,
|
|
166
|
+
paddingRight: 5,
|
|
167
|
+
paddingFactor: 1,
|
|
168
|
+
hGap: 1,
|
|
169
|
+
vAlign: 'center',
|
|
170
|
+
minWidth: 0,
|
|
171
|
+
minHeight: 0,
|
|
172
|
+
hGrab: false,
|
|
173
|
+
vGrab: false,
|
|
174
|
+
// eslint-disable-next-line no-null/no-null
|
|
175
|
+
prefHeight: null,
|
|
176
|
+
// eslint-disable-next-line no-null/no-null
|
|
177
|
+
prefWidth: null
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
spread(a, b) {
|
|
181
|
+
return Object.assign(Object.assign({}, a), b);
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
HBoxLayouterExt.KIND = sprotty_1.HBoxLayouter.KIND;
|
|
185
|
+
HBoxLayouterExt = __decorate([
|
|
186
|
+
(0, inversify_1.injectable)()
|
|
187
|
+
], HBoxLayouterExt);
|
|
188
|
+
exports.HBoxLayouterExt = HBoxLayouterExt;
|
|
189
|
+
//# sourceMappingURL=hbox-layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hbox-layout.js","sourceRoot":"","sources":["../../../src/features/layout/hbox-layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2019-2022 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { Action, ElementAndBounds, Writable } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { ElementMove, IActionDispatcher, IActionHandler, ICommand, SModelElement } from 'sprotty';
|
|
18
|
+
import { BoundsAwareModelElement } from '../../utils/smodel-util';
|
|
19
|
+
import { IMovementRestrictor } from '../change-bounds/movement-restrictor';
|
|
20
|
+
import { SelectionService } from '../select/selection-service';
|
|
21
|
+
/**
|
|
22
|
+
* Used to specify the desired resize dimension for a {@link ResizeElementsCommand}.
|
|
23
|
+
*/
|
|
24
|
+
export declare enum ResizeDimension {
|
|
25
|
+
Width = 0,
|
|
26
|
+
Height = 1,
|
|
27
|
+
Width_And_Height = 2
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* A function that computes a single number from a set of given numbers
|
|
31
|
+
* i.e. it reduces the given numbers to one single number.
|
|
32
|
+
* Mainly used by the {@link ResizeElementsCommand} to reduce the given dimensions to a target dimension value.
|
|
33
|
+
*/
|
|
34
|
+
export declare type ReduceFunction = (...values: number[]) => number;
|
|
35
|
+
export declare namespace ReduceFunction {
|
|
36
|
+
/**
|
|
37
|
+
* Returns the minimal value of the given numbers.
|
|
38
|
+
* @param values Numbers to be evaluated.
|
|
39
|
+
* @returns The reduced number.
|
|
40
|
+
*/
|
|
41
|
+
function min(...values: number[]): number;
|
|
42
|
+
/**
|
|
43
|
+
* Returns the maximal value of the given numbers.
|
|
44
|
+
* @param values Numbers to be evaluated.
|
|
45
|
+
* @returns The reduced number.
|
|
46
|
+
*/
|
|
47
|
+
function max(...values: number[]): number;
|
|
48
|
+
/**
|
|
49
|
+
* Computes the average of the given numbers.
|
|
50
|
+
* @param values Numbers to be evaluated.
|
|
51
|
+
*/
|
|
52
|
+
function avg(...values: number[]): number;
|
|
53
|
+
/**
|
|
54
|
+
* Returns the last value of the given numbers.
|
|
55
|
+
* @param values Numbers to be evaluated.
|
|
56
|
+
* @returns The reduced number.
|
|
57
|
+
*/
|
|
58
|
+
function first(...values: number[]): number;
|
|
59
|
+
/**
|
|
60
|
+
* Returns the minimal value of the given numbers.
|
|
61
|
+
* @param values Numbers to be evaluated.
|
|
62
|
+
* @returns The reduced number.
|
|
63
|
+
*/
|
|
64
|
+
function last(...values: number[]): number;
|
|
65
|
+
/**
|
|
66
|
+
* Returns the reduce function that corresponds to the given {@link ReduceFunctionType}.
|
|
67
|
+
* @param type The reduce function kind.
|
|
68
|
+
* @returns The corresponding reduce function.
|
|
69
|
+
*/
|
|
70
|
+
function get(type: ReduceFunctionType): ReduceFunction;
|
|
71
|
+
}
|
|
72
|
+
/** Union type of all {@link ReduceFunction} keys. */
|
|
73
|
+
export declare type ReduceFunctionType = Exclude<keyof typeof ReduceFunction, 'get'>;
|
|
74
|
+
export interface ResizeElementsAction extends Action {
|
|
75
|
+
kind: typeof ResizeElementsAction.KIND;
|
|
76
|
+
/**
|
|
77
|
+
* IDs of the elements that should be resized. If no IDs are given, the selected elements will be resized.
|
|
78
|
+
*/
|
|
79
|
+
elementIds: string[];
|
|
80
|
+
/**
|
|
81
|
+
* Resize dimension. The default is {@link ResizeDimension.Width}.
|
|
82
|
+
*/
|
|
83
|
+
dimension: ResizeDimension;
|
|
84
|
+
/**
|
|
85
|
+
* Type of the {@link ReduceFunction} that should be used to reduce the dimension to a target dimension value
|
|
86
|
+
*/
|
|
87
|
+
reduceFunction: ReduceFunctionType;
|
|
88
|
+
}
|
|
89
|
+
export declare namespace ResizeElementsAction {
|
|
90
|
+
const KIND = "resizeElementAction";
|
|
91
|
+
function is(object: any): object is ResizeElementsAction;
|
|
92
|
+
function create(options: {
|
|
93
|
+
elementIds?: string[];
|
|
94
|
+
dimension?: ResizeDimension;
|
|
95
|
+
reduceFunction: ReduceFunctionType;
|
|
96
|
+
}): ResizeElementsAction;
|
|
97
|
+
}
|
|
98
|
+
export declare abstract class LayoutElementsActionHandler implements IActionHandler {
|
|
99
|
+
protected actionDispatcher: IActionDispatcher;
|
|
100
|
+
protected selectionService: SelectionService;
|
|
101
|
+
protected movementRestrictor?: IMovementRestrictor;
|
|
102
|
+
abstract handle(action: Action): void | Action | ICommand;
|
|
103
|
+
getSelectedElements(selection: {
|
|
104
|
+
elementIds: string[];
|
|
105
|
+
}): BoundsAwareModelElement[];
|
|
106
|
+
protected abstract isActionElement(element: SModelElement): element is BoundsAwareModelElement;
|
|
107
|
+
dispatchAction(action: Action): void;
|
|
108
|
+
dispatchActions(actions: Action[]): void;
|
|
109
|
+
}
|
|
110
|
+
export declare class ResizeElementsActionHandler extends LayoutElementsActionHandler {
|
|
111
|
+
handle(action: ResizeElementsAction): void;
|
|
112
|
+
resizeWidth(elements: BoundsAwareModelElement[], reduceFn: ReduceFunction): void;
|
|
113
|
+
resizeHeight(elements: BoundsAwareModelElement[], reduceFn: ReduceFunction): void;
|
|
114
|
+
resizeWidthAndHeight(elements: BoundsAwareModelElement[], reduceFn: ReduceFunction): void;
|
|
115
|
+
dispatchResizeActions(elements: BoundsAwareModelElement[], change: (element: BoundsAwareModelElement, bounds: Writable<ElementAndBounds>) => void): void;
|
|
116
|
+
createElementAndBounds(element: BoundsAwareModelElement, change: (_element: BoundsAwareModelElement, _bounds: Writable<ElementAndBounds>) => void): Writable<ElementAndBounds> | undefined;
|
|
117
|
+
protected isActionElement(element: SModelElement): element is BoundsAwareModelElement;
|
|
118
|
+
}
|
|
119
|
+
export declare enum Alignment {
|
|
120
|
+
Left = 0,
|
|
121
|
+
Center = 1,
|
|
122
|
+
Right = 2,
|
|
123
|
+
Top = 3,
|
|
124
|
+
Middle = 4,
|
|
125
|
+
Bottom = 5
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* A function that retrieves a specific (sub)-selection of elements from a given set of elements.
|
|
129
|
+
* Mainly used by the {@link AlignElementsActionHandler}.
|
|
130
|
+
*/
|
|
131
|
+
export declare type SelectFunction = (elements: BoundsAwareModelElement[]) => BoundsAwareModelElement[];
|
|
132
|
+
export declare namespace SelectFunction {
|
|
133
|
+
/**
|
|
134
|
+
* Select all elements from the given set of elements.
|
|
135
|
+
* @param elements The set of elements.
|
|
136
|
+
* @returns All elements.
|
|
137
|
+
*/
|
|
138
|
+
function all(elements: BoundsAwareModelElement[]): BoundsAwareModelElement[];
|
|
139
|
+
/**
|
|
140
|
+
* Select the first element from a given set of elements.
|
|
141
|
+
* @param elements The elements.
|
|
142
|
+
* @returns An array containing the first element of the given elements.
|
|
143
|
+
*/
|
|
144
|
+
function first(elements: BoundsAwareModelElement[]): BoundsAwareModelElement[];
|
|
145
|
+
/**
|
|
146
|
+
* Select the last element from a given set of elements.
|
|
147
|
+
* @param elements The elements.
|
|
148
|
+
* @returns An array containing the last element of the given elements.
|
|
149
|
+
*/
|
|
150
|
+
function last(elements: BoundsAwareModelElement[]): BoundsAwareModelElement[];
|
|
151
|
+
/**
|
|
152
|
+
* Returns the select function that corresponds to the given {@link SelectFunctionType}.
|
|
153
|
+
* @param type The select function type.
|
|
154
|
+
* @returns The corresponding select function.
|
|
155
|
+
*/
|
|
156
|
+
function get(kind: SelectFunctionType): SelectFunction;
|
|
157
|
+
}
|
|
158
|
+
/** Union type of all {@link SelectFunction} keys. */
|
|
159
|
+
export declare type SelectFunctionType = Exclude<keyof typeof SelectFunction, 'get'>;
|
|
160
|
+
export interface AlignElementsAction extends Action {
|
|
161
|
+
kind: typeof AlignElementsAction.KIND;
|
|
162
|
+
/**
|
|
163
|
+
* IDs of the elements that should be aligned. If no IDs are given, the selected elements will be aligned.
|
|
164
|
+
*/
|
|
165
|
+
elementIds: string[];
|
|
166
|
+
/**
|
|
167
|
+
* Alignment direction. The default is {@link Alignment.Left}
|
|
168
|
+
*/
|
|
169
|
+
alignment: Alignment;
|
|
170
|
+
/**
|
|
171
|
+
* Function to selected elements that are considered during alignment calculation.
|
|
172
|
+
* The default value is {@link Select.all}.
|
|
173
|
+
*/
|
|
174
|
+
selectFunction: SelectFunctionType;
|
|
175
|
+
}
|
|
176
|
+
export declare namespace AlignElementsAction {
|
|
177
|
+
const KIND = "alignElements";
|
|
178
|
+
function is(object: any): object is AlignElementsAction;
|
|
179
|
+
function create(options?: {
|
|
180
|
+
elementIds?: string[];
|
|
181
|
+
alignment?: Alignment;
|
|
182
|
+
selectionFunction?: SelectFunctionType;
|
|
183
|
+
}): AlignElementsAction;
|
|
184
|
+
}
|
|
185
|
+
export declare class AlignElementsActionHandler extends LayoutElementsActionHandler {
|
|
186
|
+
handle(action: AlignElementsAction): void;
|
|
187
|
+
alignLeft(elements: BoundsAwareModelElement[]): void;
|
|
188
|
+
alignCenter(elements: BoundsAwareModelElement[]): void;
|
|
189
|
+
alignRight(elements: BoundsAwareModelElement[]): void;
|
|
190
|
+
alignTop(elements: BoundsAwareModelElement[]): void;
|
|
191
|
+
alignMiddle(elements: BoundsAwareModelElement[]): void;
|
|
192
|
+
alignBottom(elements: BoundsAwareModelElement[]): void;
|
|
193
|
+
dispatchAlignActions(elements: BoundsAwareModelElement[], change: (element: BoundsAwareModelElement, move: Writable<ElementMove>) => void): void;
|
|
194
|
+
createElementMove(element: BoundsAwareModelElement, change: (_element: BoundsAwareModelElement, _move: Writable<ElementMove>) => void): Writable<ElementMove> | undefined;
|
|
195
|
+
createElementAndBounds(element: BoundsAwareModelElement, move: ElementMove): ElementAndBounds;
|
|
196
|
+
protected isActionElement(element: SModelElement): element is BoundsAwareModelElement;
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=layout-elements-action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-elements-action.d.ts","sourceRoot":"","sources":["../../../src/features/layout/layout-elements-action.ts"],"names":[],"mappings":"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"}
|