@eclipse-glsp/client 0.9.0-next.c5944e10
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/LICENSE +277 -0
- package/README.md +12 -0
- package/css/command-palette.css +58 -0
- package/css/decoration.css +37 -0
- package/css/glsp-sprotty.css +106 -0
- package/css/tool-palette.css +138 -0
- package/lib/base/action-dispatcher.d.ts +25 -0
- package/lib/base/action-dispatcher.d.ts.map +1 -0
- package/lib/base/action-dispatcher.js +110 -0
- package/lib/base/action-dispatcher.js.map +1 -0
- package/lib/base/actions/context-actions.d.ts +36 -0
- package/lib/base/actions/context-actions.d.ts.map +1 -0
- package/lib/base/actions/context-actions.js +45 -0
- package/lib/base/actions/context-actions.js.map +1 -0
- package/lib/base/actions/edit-mode-action.d.ts +13 -0
- package/lib/base/actions/edit-mode-action.d.ts.map +1 -0
- package/lib/base/actions/edit-mode-action.js +52 -0
- package/lib/base/actions/edit-mode-action.js.map +1 -0
- package/lib/base/actions/edit-validation-actions.d.ts +78 -0
- package/lib/base/actions/edit-validation-actions.d.ts.map +1 -0
- package/lib/base/actions/edit-validation-actions.js +77 -0
- package/lib/base/actions/edit-validation-actions.js.map +1 -0
- package/lib/base/actions/focus-change-action.d.ts +24 -0
- package/lib/base/actions/focus-change-action.d.ts.map +1 -0
- package/lib/base/actions/focus-change-action.js +16 -0
- package/lib/base/actions/focus-change-action.js.map +1 -0
- package/lib/base/args.d.ts +24 -0
- package/lib/base/args.d.ts.map +1 -0
- package/lib/base/args.js +8 -0
- package/lib/base/args.js.map +1 -0
- package/lib/base/auto-complete/auto-complete-actions.d.ts +21 -0
- package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -0
- package/lib/base/auto-complete/auto-complete-actions.js +8 -0
- package/lib/base/auto-complete/auto-complete-actions.js.map +1 -0
- package/lib/base/auto-complete/auto-complete-widget.d.ts +88 -0
- package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -0
- package/lib/base/auto-complete/auto-complete-widget.js +233 -0
- package/lib/base/auto-complete/auto-complete-widget.js.map +1 -0
- package/lib/base/auto-complete/validation-decorator.d.ts +47 -0
- package/lib/base/auto-complete/validation-decorator.d.ts.map +1 -0
- package/lib/base/auto-complete/validation-decorator.js +113 -0
- package/lib/base/auto-complete/validation-decorator.js.map +1 -0
- package/lib/base/command-stack.d.ts +7 -0
- package/lib/base/command-stack.d.ts.map +1 -0
- package/lib/base/command-stack.js +49 -0
- package/lib/base/command-stack.js.map +1 -0
- package/lib/base/di.config.d.ts +28 -0
- package/lib/base/di.config.d.ts.map +1 -0
- package/lib/base/di.config.js +81 -0
- package/lib/base/di.config.js.map +1 -0
- package/lib/base/drag-aware-mouse-listener.d.ts +36 -0
- package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -0
- package/lib/base/drag-aware-mouse-listener.js +66 -0
- package/lib/base/drag-aware-mouse-listener.js.map +1 -0
- package/lib/base/editor-context.d.ts +46 -0
- package/lib/base/editor-context.d.ts.map +1 -0
- package/lib/base/editor-context.js +110 -0
- package/lib/base/editor-context.js.map +1 -0
- package/lib/base/focus-tracker.d.ts +9 -0
- package/lib/base/focus-tracker.d.ts.map +1 -0
- package/lib/base/focus-tracker.js +65 -0
- package/lib/base/focus-tracker.js.map +1 -0
- package/lib/base/model/model-registry.d.ts +5 -0
- package/lib/base/model/model-registry.d.ts.map +1 -0
- package/lib/base/model/model-registry.js +43 -0
- package/lib/base/model/model-registry.js.map +1 -0
- package/lib/base/model/update-model-command.d.ts +26 -0
- package/lib/base/model/update-model-command.d.ts.map +1 -0
- package/lib/base/model/update-model-command.js +132 -0
- package/lib/base/model/update-model-command.js.map +1 -0
- package/lib/base/model-initialization-constraint.d.ts +39 -0
- package/lib/base/model-initialization-constraint.d.ts.map +1 -0
- package/lib/base/model-initialization-constraint.js +106 -0
- package/lib/base/model-initialization-constraint.js.map +1 -0
- package/lib/base/operations/operation.d.ts +135 -0
- package/lib/base/operations/operation.d.ts.map +1 -0
- package/lib/base/operations/operation.js +182 -0
- package/lib/base/operations/operation.js.map +1 -0
- package/lib/base/selection-clearing-mouse-listener.d.ts +17 -0
- package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -0
- package/lib/base/selection-clearing-mouse-listener.js +55 -0
- package/lib/base/selection-clearing-mouse-listener.js.map +1 -0
- package/lib/base/source-uri-aware.d.ts +20 -0
- package/lib/base/source-uri-aware.d.ts.map +1 -0
- package/lib/base/source-uri-aware.js +26 -0
- package/lib/base/source-uri-aware.js.map +1 -0
- package/lib/base/tool-manager/glsp-tool-manager.d.ts +22 -0
- package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -0
- package/lib/base/tool-manager/glsp-tool-manager.js +110 -0
- package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -0
- package/lib/base/types.d.ts +38 -0
- package/lib/base/types.d.ts.map +1 -0
- package/lib/base/types.js +41 -0
- package/lib/base/types.js.map +1 -0
- package/lib/base/view/view-registry.d.ts +5 -0
- package/lib/base/view/view-registry.d.ts.map +1 -0
- package/lib/base/view/view-registry.js +43 -0
- package/lib/base/view/view-registry.js.map +1 -0
- package/lib/features/change-bounds/model.d.ts +38 -0
- package/lib/features/change-bounds/model.d.ts.map +1 -0
- package/lib/features/change-bounds/model.js +61 -0
- package/lib/features/change-bounds/model.js.map +1 -0
- package/lib/features/change-bounds/movement-restrictor.d.ts +14 -0
- package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -0
- package/lib/features/change-bounds/movement-restrictor.js +90 -0
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -0
- package/lib/features/change-bounds/snap.d.ts +7 -0
- package/lib/features/change-bounds/snap.d.ts.map +1 -0
- package/lib/features/change-bounds/snap.js +44 -0
- package/lib/features/change-bounds/snap.js.map +1 -0
- package/lib/features/command-palette/command-palette-tool.d.ts +12 -0
- package/lib/features/command-palette/command-palette-tool.d.ts.map +1 -0
- package/lib/features/command-palette/command-palette-tool.js +63 -0
- package/lib/features/command-palette/command-palette-tool.js.map +1 -0
- package/lib/features/command-palette/di.config.d.ts +20 -0
- package/lib/features/command-palette/di.config.d.ts.map +1 -0
- package/lib/features/command-palette/di.config.js +33 -0
- package/lib/features/command-palette/di.config.js.map +1 -0
- package/lib/features/command-palette/server-command-palette-provider.d.ts +15 -0
- package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -0
- package/lib/features/command-palette/server-command-palette-provider.js +66 -0
- package/lib/features/command-palette/server-command-palette-provider.js.map +1 -0
- package/lib/features/context-menu/delete-element-context-menu.d.ts +8 -0
- package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -0
- package/lib/features/context-menu/delete-element-context-menu.js +55 -0
- package/lib/features/context-menu/delete-element-context-menu.js.map +1 -0
- package/lib/features/context-menu/di.config.d.ts +19 -0
- package/lib/features/context-menu/di.config.d.ts.map +1 -0
- package/lib/features/context-menu/di.config.js +36 -0
- package/lib/features/context-menu/di.config.js.map +1 -0
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +9 -0
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -0
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +65 -0
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -0
- package/lib/features/context-menu/server-context-menu-provider.d.ts +13 -0
- package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -0
- package/lib/features/context-menu/server-context-menu-provider.js +63 -0
- package/lib/features/context-menu/server-context-menu-provider.js.map +1 -0
- package/lib/features/copy-paste/copy-paste-actions.d.ts +50 -0
- package/lib/features/copy-paste/copy-paste-actions.d.ts.map +1 -0
- package/lib/features/copy-paste/copy-paste-actions.js +58 -0
- package/lib/features/copy-paste/copy-paste-actions.js.map +1 -0
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts +32 -0
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -0
- package/lib/features/copy-paste/copy-paste-context-menu.js +151 -0
- package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -0
- package/lib/features/copy-paste/copy-paste-handler.d.ts +50 -0
- package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -0
- package/lib/features/copy-paste/copy-paste-handler.js +149 -0
- package/lib/features/copy-paste/copy-paste-handler.js.map +1 -0
- package/lib/features/copy-paste/di.config.d.ts +24 -0
- package/lib/features/copy-paste/di.config.d.ts.map +1 -0
- package/lib/features/copy-paste/di.config.js +40 -0
- package/lib/features/copy-paste/di.config.js.map +1 -0
- package/lib/features/decoration/decoration-placer.d.ts +6 -0
- package/lib/features/decoration/decoration-placer.d.ts.map +1 -0
- package/lib/features/decoration/decoration-placer.js +47 -0
- package/lib/features/decoration/decoration-placer.js.map +1 -0
- package/lib/features/decoration/di.config.d.ts +20 -0
- package/lib/features/decoration/di.config.d.ts.map +1 -0
- package/lib/features/decoration/di.config.js +27 -0
- package/lib/features/decoration/di.config.js.map +1 -0
- package/lib/features/edit-label/di.config.d.ts +19 -0
- package/lib/features/edit-label/di.config.d.ts.map +1 -0
- package/lib/features/edit-label/di.config.js +30 -0
- package/lib/features/edit-label/di.config.js.map +1 -0
- package/lib/features/edit-label/edit-label-tool.d.ts +13 -0
- package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -0
- package/lib/features/edit-label/edit-label-tool.js +55 -0
- package/lib/features/edit-label/edit-label-tool.js.map +1 -0
- package/lib/features/edit-label/edit-label-validator.d.ts +20 -0
- package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -0
- package/lib/features/edit-label/edit-label-validator.js +111 -0
- package/lib/features/edit-label/edit-label-validator.js.map +1 -0
- package/lib/features/hints/di.config.d.ts +19 -0
- package/lib/features/hints/di.config.d.ts.map +1 -0
- package/lib/features/hints/di.config.js +30 -0
- package/lib/features/hints/di.config.js.map +1 -0
- package/lib/features/hints/model.d.ts +26 -0
- package/lib/features/hints/model.d.ts.map +1 -0
- package/lib/features/hints/model.js +14 -0
- package/lib/features/hints/model.js.map +1 -0
- package/lib/features/hints/request-type-hints-action.d.ts +32 -0
- package/lib/features/hints/request-type-hints-action.d.ts.map +1 -0
- package/lib/features/hints/request-type-hints-action.js +26 -0
- package/lib/features/hints/request-type-hints-action.js.map +1 -0
- package/lib/features/hints/type-hints.d.ts +75 -0
- package/lib/features/hints/type-hints.d.ts.map +1 -0
- package/lib/features/hints/type-hints.js +199 -0
- package/lib/features/hints/type-hints.js.map +1 -0
- package/lib/features/hover/di.config.d.ts +19 -0
- package/lib/features/hover/di.config.d.ts.map +1 -0
- package/lib/features/hover/di.config.js +46 -0
- package/lib/features/hover/di.config.js.map +1 -0
- package/lib/features/hover/hover.d.ts +11 -0
- package/lib/features/hover/hover.d.ts.map +1 -0
- package/lib/features/hover/hover.js +88 -0
- package/lib/features/hover/hover.js.map +1 -0
- package/lib/features/layout/di.config.d.ts +19 -0
- package/lib/features/layout/di.config.d.ts.map +1 -0
- package/lib/features/layout/di.config.js +26 -0
- package/lib/features/layout/di.config.js.map +1 -0
- package/lib/features/layout/layout-commands.d.ts +137 -0
- package/lib/features/layout/layout-commands.d.ts.map +1 -0
- package/lib/features/layout/layout-commands.js +411 -0
- package/lib/features/layout/layout-commands.js.map +1 -0
- package/lib/features/layout/layout-commands.spec.d.ts +18 -0
- package/lib/features/layout/layout-commands.spec.d.ts.map +1 -0
- package/lib/features/layout/layout-commands.spec.js +297 -0
- package/lib/features/layout/layout-commands.spec.js.map +1 -0
- package/lib/features/model-source-watcher/di.config.d.ts +19 -0
- package/lib/features/model-source-watcher/di.config.d.ts.map +1 -0
- package/lib/features/model-source-watcher/di.config.js +26 -0
- package/lib/features/model-source-watcher/di.config.js.map +1 -0
- package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +23 -0
- package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -0
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js +83 -0
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -0
- package/lib/features/model-source-watcher/model-source-changed-action.d.ts +24 -0
- package/lib/features/model-source-watcher/model-source-changed-action.d.ts.map +1 -0
- package/lib/features/model-source-watcher/model-source-changed-action.js +16 -0
- package/lib/features/model-source-watcher/model-source-changed-action.js.map +1 -0
- package/lib/features/mouse-tool/di.config.d.ts +19 -0
- package/lib/features/mouse-tool/di.config.d.ts.map +1 -0
- package/lib/features/mouse-tool/di.config.js +28 -0
- package/lib/features/mouse-tool/di.config.js.map +1 -0
- package/lib/features/mouse-tool/mouse-tool.d.ts +19 -0
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -0
- package/lib/features/mouse-tool/mouse-tool.js +140 -0
- package/lib/features/mouse-tool/mouse-tool.js.map +1 -0
- package/lib/features/navigation/di.config.d.ts +18 -0
- package/lib/features/navigation/di.config.d.ts.map +1 -0
- package/lib/features/navigation/di.config.js +31 -0
- package/lib/features/navigation/di.config.js.map +1 -0
- package/lib/features/navigation/navigation-action-handler.d.ts +117 -0
- package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -0
- package/lib/features/navigation/navigation-action-handler.js +293 -0
- package/lib/features/navigation/navigation-action-handler.js.map +1 -0
- package/lib/features/navigation/navigation-target-resolver.d.ts +55 -0
- package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -0
- package/lib/features/navigation/navigation-target-resolver.js +157 -0
- package/lib/features/navigation/navigation-target-resolver.js.map +1 -0
- package/lib/features/navigation/navigation-target-resolver.spec.d.ts +18 -0
- package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -0
- package/lib/features/navigation/navigation-target-resolver.spec.js +54 -0
- package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -0
- package/lib/features/rank/model.d.ts +22 -0
- package/lib/features/rank/model.d.ts.map +1 -0
- package/lib/features/rank/model.js +28 -0
- package/lib/features/rank/model.js.map +1 -0
- package/lib/features/reconnect/model.d.ts +30 -0
- package/lib/features/reconnect/model.d.ts.map +1 -0
- package/lib/features/reconnect/model.js +66 -0
- package/lib/features/reconnect/model.js.map +1 -0
- package/lib/features/save/di.config.d.ts +23 -0
- package/lib/features/save/di.config.d.ts.map +1 -0
- package/lib/features/save/di.config.js +29 -0
- package/lib/features/save/di.config.js.map +1 -0
- package/lib/features/save/model.d.ts +22 -0
- package/lib/features/save/model.d.ts.map +1 -0
- package/lib/features/save/model.js +9 -0
- package/lib/features/save/model.js.map +1 -0
- package/lib/features/save/save.d.ts +27 -0
- package/lib/features/save/save.d.ts.map +1 -0
- package/lib/features/save/save.js +42 -0
- package/lib/features/save/save.js.map +1 -0
- package/lib/features/select/di.config.d.ts +19 -0
- package/lib/features/select/di.config.d.ts.map +1 -0
- package/lib/features/select/di.config.js +35 -0
- package/lib/features/select/di.config.js.map +1 -0
- package/lib/features/select/select-feedback-action.d.ts +34 -0
- package/lib/features/select/select-feedback-action.d.ts.map +1 -0
- package/lib/features/select/select-feedback-action.js +97 -0
- package/lib/features/select/select-feedback-action.js.map +1 -0
- package/lib/features/select/select-mouse-listener.d.ts +25 -0
- package/lib/features/select/select-mouse-listener.d.ts.map +1 -0
- package/lib/features/select/select-mouse-listener.js +32 -0
- package/lib/features/select/select-mouse-listener.js.map +1 -0
- package/lib/features/select/selection-service.d.ts +52 -0
- package/lib/features/select/selection-service.d.ts.map +1 -0
- package/lib/features/select/selection-service.js +226 -0
- package/lib/features/select/selection-service.js.map +1 -0
- package/lib/features/select/selection-service.spec.d.ts +2 -0
- package/lib/features/select/selection-service.spec.d.ts.map +1 -0
- package/lib/features/select/selection-service.spec.js +360 -0
- package/lib/features/select/selection-service.spec.js.map +1 -0
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +47 -0
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -0
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +236 -0
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -0
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts +43 -0
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -0
- package/lib/features/tool-feedback/creation-tool-feedback.js +181 -0
- package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -0
- package/lib/features/tool-feedback/css-feedback.d.ts +32 -0
- package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -0
- package/lib/features/tool-feedback/css-feedback.js +111 -0
- package/lib/features/tool-feedback/css-feedback.js.map +1 -0
- package/lib/features/tool-feedback/di.config.d.ts +19 -0
- package/lib/features/tool-feedback/di.config.d.ts.map +1 -0
- package/lib/features/tool-feedback/di.config.js +53 -0
- package/lib/features/tool-feedback/di.config.js.map +1 -0
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +82 -0
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -0
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +315 -0
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -0
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +50 -0
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -0
- package/lib/features/tool-feedback/feedback-action-dispatcher.js +75 -0
- package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -0
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +32 -0
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -0
- package/lib/features/tool-feedback/marquee-tool-feedback.js +111 -0
- package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -0
- package/lib/features/tool-feedback/model.d.ts +23 -0
- package/lib/features/tool-feedback/model.d.ts.map +1 -0
- package/lib/features/tool-feedback/model.js +34 -0
- package/lib/features/tool-feedback/model.js.map +1 -0
- package/lib/features/tool-feedback/view.d.ts +16 -0
- package/lib/features/tool-feedback/view.d.ts.map +1 -0
- package/lib/features/tool-feedback/view.js +81 -0
- package/lib/features/tool-feedback/view.js.map +1 -0
- package/lib/features/tool-palette/di.config.d.ts +20 -0
- package/lib/features/tool-palette/di.config.d.ts.map +1 -0
- package/lib/features/tool-palette/di.config.js +29 -0
- package/lib/features/tool-palette/di.config.js.map +1 -0
- package/lib/features/tool-palette/palette-item.d.ts +27 -0
- package/lib/features/tool-palette/palette-item.d.ts.map +1 -0
- package/lib/features/tool-palette/palette-item.js +37 -0
- package/lib/features/tool-palette/palette-item.js.map +1 -0
- package/lib/features/tool-palette/tool-palette.d.ts +56 -0
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -0
- package/lib/features/tool-palette/tool-palette.js +401 -0
- package/lib/features/tool-palette/tool-palette.js.map +1 -0
- package/lib/features/tools/base-glsp-tool.d.ts +20 -0
- package/lib/features/tools/base-glsp-tool.d.ts.map +1 -0
- package/lib/features/tools/base-glsp-tool.js +70 -0
- package/lib/features/tools/base-glsp-tool.js.map +1 -0
- package/lib/features/tools/change-bounds-tool.d.ts +71 -0
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -0
- package/lib/features/tools/change-bounds-tool.js +371 -0
- package/lib/features/tools/change-bounds-tool.js.map +1 -0
- package/lib/features/tools/delete-tool.d.ts +36 -0
- package/lib/features/tools/delete-tool.d.ts.map +1 -0
- package/lib/features/tools/delete-tool.js +129 -0
- package/lib/features/tools/delete-tool.js.map +1 -0
- package/lib/features/tools/di.config.d.ts +23 -0
- package/lib/features/tools/di.config.d.ts.map +1 -0
- package/lib/features/tools/di.config.js +55 -0
- package/lib/features/tools/di.config.js.map +1 -0
- package/lib/features/tools/edge-creation-tool.d.ts +37 -0
- package/lib/features/tools/edge-creation-tool.d.ts.map +1 -0
- package/lib/features/tools/edge-creation-tool.js +158 -0
- package/lib/features/tools/edge-creation-tool.js.map +1 -0
- package/lib/features/tools/edge-edit-tool.d.ts +50 -0
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -0
- package/lib/features/tools/edge-edit-tool.js +281 -0
- package/lib/features/tools/edge-edit-tool.js.map +1 -0
- package/lib/features/tools/marquee-mouse-tool.d.ts +37 -0
- package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -0
- package/lib/features/tools/marquee-mouse-tool.js +226 -0
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -0
- package/lib/features/tools/marquee-tool.d.ts +14 -0
- package/lib/features/tools/marquee-tool.d.ts.map +1 -0
- package/lib/features/tools/marquee-tool.js +69 -0
- package/lib/features/tools/marquee-tool.js.map +1 -0
- package/lib/features/tools/model.d.ts +22 -0
- package/lib/features/tools/model.d.ts.map +1 -0
- package/lib/features/tools/model.js +24 -0
- package/lib/features/tools/model.js.map +1 -0
- package/lib/features/tools/node-creation-tool.d.ts +26 -0
- package/lib/features/tools/node-creation-tool.d.ts.map +1 -0
- package/lib/features/tools/node-creation-tool.js +117 -0
- package/lib/features/tools/node-creation-tool.js.map +1 -0
- package/lib/features/tools/view.d.ts +7 -0
- package/lib/features/tools/view.d.ts.map +1 -0
- package/lib/features/tools/view.js +40 -0
- package/lib/features/tools/view.js.map +1 -0
- package/lib/features/undo-redo/model.d.ts +27 -0
- package/lib/features/undo-redo/model.d.ts.map +1 -0
- package/lib/features/undo-redo/model.js +18 -0
- package/lib/features/undo-redo/model.js.map +1 -0
- package/lib/features/validation/di.config.d.ts +25 -0
- package/lib/features/validation/di.config.d.ts.map +1 -0
- package/lib/features/validation/di.config.js +44 -0
- package/lib/features/validation/di.config.js.map +1 -0
- package/lib/features/validation/issue-marker.d.ts +43 -0
- package/lib/features/validation/issue-marker.d.ts.map +1 -0
- package/lib/features/validation/issue-marker.js +89 -0
- package/lib/features/validation/issue-marker.js.map +1 -0
- package/lib/features/validation/marker-navigator.d.ts +55 -0
- package/lib/features/validation/marker-navigator.d.ts.map +1 -0
- package/lib/features/validation/marker-navigator.js +247 -0
- package/lib/features/validation/marker-navigator.js.map +1 -0
- package/lib/features/validation/marker-navigator.spec.d.ts +18 -0
- package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -0
- package/lib/features/validation/marker-navigator.spec.js +177 -0
- package/lib/features/validation/marker-navigator.spec.js.map +1 -0
- package/lib/features/validation/validate.d.ts +111 -0
- package/lib/features/validation/validate.d.ts.map +1 -0
- package/lib/features/validation/validate.js +290 -0
- package/lib/features/validation/validate.js.map +1 -0
- package/lib/features/viewport/di.config.d.ts +19 -0
- package/lib/features/viewport/di.config.d.ts.map +1 -0
- package/lib/features/viewport/di.config.js +34 -0
- package/lib/features/viewport/di.config.js.map +1 -0
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +7 -0
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -0
- package/lib/features/viewport/glsp-scroll-mouse-listener.js +54 -0
- package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -0
- package/lib/index.d.ts +110 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +144 -0
- package/lib/index.js.map +1 -0
- package/lib/lib/model.d.ts +24 -0
- package/lib/lib/model.d.ts.map +1 -0
- package/lib/lib/model.js +33 -0
- package/lib/lib/model.js.map +1 -0
- package/lib/model-source/glsp-diagram-server.d.ts +38 -0
- package/lib/model-source/glsp-diagram-server.d.ts.map +1 -0
- package/lib/model-source/glsp-diagram-server.js +88 -0
- package/lib/model-source/glsp-diagram-server.js.map +1 -0
- package/lib/model-source/glsp-server-status.d.ts +30 -0
- package/lib/model-source/glsp-server-status.d.ts.map +1 -0
- package/lib/model-source/glsp-server-status.js +44 -0
- package/lib/model-source/glsp-server-status.js.map +1 -0
- package/lib/utils/argument-utils.d.ts +50 -0
- package/lib/utils/argument-utils.d.ts.map +1 -0
- package/lib/utils/argument-utils.js +112 -0
- package/lib/utils/argument-utils.js.map +1 -0
- package/lib/utils/array-utils.d.ts +28 -0
- package/lib/utils/array-utils.d.ts.map +1 -0
- package/lib/utils/array-utils.js +56 -0
- package/lib/utils/array-utils.js.map +1 -0
- package/lib/utils/html-utils.d.ts +17 -0
- package/lib/utils/html-utils.d.ts.map +1 -0
- package/lib/utils/html-utils.js +30 -0
- package/lib/utils/html-utils.js.map +1 -0
- package/lib/utils/layout-utils.d.ts +41 -0
- package/lib/utils/layout-utils.d.ts.map +1 -0
- package/lib/utils/layout-utils.js +61 -0
- package/lib/utils/layout-utils.js.map +1 -0
- package/lib/utils/marker.d.ts +48 -0
- package/lib/utils/marker.d.ts.map +1 -0
- package/lib/utils/marker.js +48 -0
- package/lib/utils/marker.js.map +1 -0
- package/lib/utils/smodel-util.d.ts +41 -0
- package/lib/utils/smodel-util.d.ts.map +1 -0
- package/lib/utils/smodel-util.js +134 -0
- package/lib/utils/smodel-util.js.map +1 -0
- package/lib/utils/viewpoint-util.d.ts +52 -0
- package/lib/utils/viewpoint-util.d.ts.map +1 -0
- package/lib/utils/viewpoint-util.js +89 -0
- package/lib/utils/viewpoint-util.js.map +1 -0
- package/lib/views/base-view-module.d.ts +24 -0
- package/lib/views/base-view-module.d.ts.map +1 -0
- package/lib/views/base-view-module.js +59 -0
- package/lib/views/base-view-module.js.map +1 -0
- package/lib/views/default-types.d.ts +37 -0
- package/lib/views/default-types.d.ts.map +1 -0
- package/lib/views/default-types.js +47 -0
- package/lib/views/default-types.js.map +1 -0
- package/lib/views/glsp-edge-view.d.ts +11 -0
- package/lib/views/glsp-edge-view.d.ts.map +1 -0
- package/lib/views/glsp-edge-view.js +70 -0
- package/lib/views/glsp-edge-view.js.map +1 -0
- package/lib/views/index.d.ts +22 -0
- package/lib/views/index.d.ts.map +1 -0
- package/lib/views/index.js +34 -0
- package/lib/views/index.js.map +1 -0
- package/lib/views/issue-marker-view.d.ts +8 -0
- package/lib/views/issue-marker-view.d.ts.map +1 -0
- package/lib/views/issue-marker-view.js +59 -0
- package/lib/views/issue-marker-view.js.map +1 -0
- package/lib/views/rounded-corner-view.d.ts +13 -0
- package/lib/views/rounded-corner-view.d.ts.map +1 -0
- package/lib/views/rounded-corner-view.js +82 -0
- package/lib/views/rounded-corner-view.js.map +1 -0
- package/lib/views/rounded-corner.d.ts +37 -0
- package/lib/views/rounded-corner.d.ts.map +1 -0
- package/lib/views/rounded-corner.js +62 -0
- package/lib/views/rounded-corner.js.map +1 -0
- package/package.json +68 -0
- package/src/base/action-dispatcher.ts +103 -0
- package/src/base/actions/context-actions.ts +43 -0
- package/src/base/actions/edit-mode-action.ts +33 -0
- package/src/base/actions/edit-validation-actions.ts +103 -0
- package/src/base/actions/focus-change-action.ts +26 -0
- package/src/base/args.ts +26 -0
- package/src/base/auto-complete/auto-complete-actions.ts +24 -0
- package/src/base/auto-complete/auto-complete-widget.ts +314 -0
- package/src/base/auto-complete/validation-decorator.ts +126 -0
- package/src/base/command-stack.ts +36 -0
- package/src/base/di.config.ts +96 -0
- package/src/base/drag-aware-mouse-listener.ts +69 -0
- package/src/base/editor-context.ts +124 -0
- package/src/base/focus-tracker.ts +50 -0
- package/src/base/model/model-registry.ts +31 -0
- package/src/base/model/update-model-command.ts +118 -0
- package/src/base/model-initialization-constraint.ts +94 -0
- package/src/base/operations/operation.ts +178 -0
- package/src/base/selection-clearing-mouse-listener.ts +43 -0
- package/src/base/source-uri-aware.ts +22 -0
- package/src/base/tool-manager/glsp-tool-manager.ts +97 -0
- package/src/base/types.ts +37 -0
- package/src/base/view/view-registry.ts +31 -0
- package/src/features/change-bounds/model.ts +74 -0
- package/src/features/change-bounds/movement-restrictor.ts +89 -0
- package/src/features/change-bounds/snap.ts +35 -0
- package/src/features/command-palette/command-palette-tool.ts +46 -0
- package/src/features/command-palette/di.config.ts +34 -0
- package/src/features/command-palette/server-command-palette-provider.ts +48 -0
- package/src/features/context-menu/delete-element-context-menu.ts +42 -0
- package/src/features/context-menu/di.config.ts +35 -0
- package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +50 -0
- package/src/features/context-menu/server-context-menu-provider.ts +46 -0
- package/src/features/copy-paste/copy-paste-actions.ts +60 -0
- package/src/features/copy-paste/copy-paste-context-menu.ts +138 -0
- package/src/features/copy-paste/copy-paste-handler.ts +152 -0
- package/src/features/copy-paste/di.config.ts +45 -0
- package/src/features/decoration/decoration-placer.ts +46 -0
- package/src/features/decoration/di.config.ts +28 -0
- package/src/features/edit-label/di.config.ts +30 -0
- package/src/features/edit-label/edit-label-tool.ts +51 -0
- package/src/features/edit-label/edit-label-validator.ts +104 -0
- package/src/features/hints/di.config.ts +30 -0
- package/src/features/hints/model.ts +34 -0
- package/src/features/hints/request-type-hints-action.ts +36 -0
- package/src/features/hints/type-hints.ts +257 -0
- package/src/features/hover/di.config.ts +61 -0
- package/src/features/hover/hover.ts +95 -0
- package/src/features/layout/di.config.ts +26 -0
- package/src/features/layout/layout-commands.spec.ts +366 -0
- package/src/features/layout/layout-commands.ts +415 -0
- package/src/features/model-source-watcher/di.config.ts +26 -0
- package/src/features/model-source-watcher/model-source-changed-action-handler.ts +70 -0
- package/src/features/model-source-watcher/model-source-changed-action.ts +26 -0
- package/src/features/mouse-tool/di.config.ts +28 -0
- package/src/features/mouse-tool/mouse-tool.ts +139 -0
- package/src/features/navigation/di.config.ts +35 -0
- package/src/features/navigation/navigation-action-handler.ts +272 -0
- package/src/features/navigation/navigation-target-resolver.spec.ts +61 -0
- package/src/features/navigation/navigation-target-resolver.ts +146 -0
- package/src/features/rank/model.ts +29 -0
- package/src/features/reconnect/model.ts +76 -0
- package/src/features/save/di.config.ts +30 -0
- package/src/features/save/model.ts +26 -0
- package/src/features/save/save.ts +35 -0
- package/src/features/select/di.config.ts +35 -0
- package/src/features/select/select-feedback-action.ts +87 -0
- package/src/features/select/select-mouse-listener.ts +26 -0
- package/src/features/select/selection-service.spec.ts +372 -0
- package/src/features/select/selection-service.ts +239 -0
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +244 -0
- package/src/features/tool-feedback/creation-tool-feedback.ts +190 -0
- package/src/features/tool-feedback/css-feedback.ts +98 -0
- package/src/features/tool-feedback/di.config.ts +69 -0
- package/src/features/tool-feedback/edge-edit-tool-feedback.ts +327 -0
- package/src/features/tool-feedback/feedback-action-dispatcher.ts +101 -0
- package/src/features/tool-feedback/marquee-tool-feedback.ts +104 -0
- package/src/features/tool-feedback/model.ts +32 -0
- package/src/features/tool-feedback/view.tsx +70 -0
- package/src/features/tool-palette/di.config.ts +30 -0
- package/src/features/tool-palette/palette-item.ts +40 -0
- package/src/features/tool-palette/tool-palette.ts +416 -0
- package/src/features/tools/base-glsp-tool.ts +53 -0
- package/src/features/tools/change-bounds-tool.ts +445 -0
- package/src/features/tools/delete-tool.ts +120 -0
- package/src/features/tools/di.config.ts +56 -0
- package/src/features/tools/edge-creation-tool.ts +171 -0
- package/src/features/tools/edge-edit-tool.ts +325 -0
- package/src/features/tools/marquee-mouse-tool.ts +244 -0
- package/src/features/tools/marquee-tool.ts +52 -0
- package/src/features/tools/model.ts +22 -0
- package/src/features/tools/node-creation-tool.ts +123 -0
- package/src/features/tools/view.tsx +38 -0
- package/src/features/undo-redo/model.ts +26 -0
- package/src/features/validation/di.config.ts +51 -0
- package/src/features/validation/issue-marker.ts +93 -0
- package/src/features/validation/marker-navigator.spec.ts +207 -0
- package/src/features/validation/marker-navigator.ts +249 -0
- package/src/features/validation/validate.ts +274 -0
- package/src/features/viewport/di.config.ts +47 -0
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +50 -0
- package/src/index.ts +115 -0
- package/src/lib/model.ts +27 -0
- package/src/model-source/glsp-diagram-server.ts +114 -0
- package/src/model-source/glsp-server-status.ts +38 -0
- package/src/utils/argument-utils.ts +127 -0
- package/src/utils/array-utils.ts +55 -0
- package/src/utils/html-utils.ts +25 -0
- package/src/utils/layout-utils.ts +97 -0
- package/src/utils/marker.ts +63 -0
- package/src/utils/smodel-util.ts +149 -0
- package/src/utils/viewpoint-util.ts +99 -0
- package/src/views/base-view-module.ts +98 -0
- package/src/views/default-types.ts +48 -0
- package/src/views/glsp-edge-view.tsx +70 -0
- package/src/views/index.ts +21 -0
- package/src/views/issue-marker-view.tsx +55 -0
- package/src/views/rounded-corner-view.tsx +88 -0
- package/src/views/rounded-corner.ts +88 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2019 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
|
+
|
|
17
|
+
export const DEFAULT_RANK = 0;
|
|
18
|
+
|
|
19
|
+
export interface Ranked {
|
|
20
|
+
rank: number;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function isRanked(arg: any): arg is Ranked {
|
|
24
|
+
return arg !== undefined && arg.rank !== undefined && typeof (arg.rank) === 'number';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function getRank(arg: any): number {
|
|
28
|
+
return isRanked(arg) ? arg.rank : DEFAULT_RANK;
|
|
29
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2019 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 {
|
|
17
|
+
edgeInProgressID,
|
|
18
|
+
edgeInProgressTargetHandleID,
|
|
19
|
+
RoutingHandleKind,
|
|
20
|
+
selectFeature,
|
|
21
|
+
SModelElement,
|
|
22
|
+
SModelExtension,
|
|
23
|
+
SRoutableElement,
|
|
24
|
+
SRoutingHandle
|
|
25
|
+
} from 'sprotty';
|
|
26
|
+
|
|
27
|
+
export const reconnectFeature = Symbol('reconnectFeature');
|
|
28
|
+
|
|
29
|
+
export interface Reconnectable extends SModelExtension {
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function isReconnectable(element: SModelElement): element is SRoutableElement & Reconnectable {
|
|
33
|
+
return element instanceof SRoutableElement && element.hasFeature(reconnectFeature);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const ROUTING_HANDLE_SOURCE_INDEX = -2;
|
|
37
|
+
|
|
38
|
+
export function isReconnectHandle(element: SModelElement | undefined): element is SReconnectHandle {
|
|
39
|
+
return element !== undefined && element instanceof SReconnectHandle;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export function addReconnectHandles(element: SRoutableElement): void {
|
|
43
|
+
removeReconnectHandles(element);
|
|
44
|
+
createReconnectHandle(element, 'source', ROUTING_HANDLE_SOURCE_INDEX);
|
|
45
|
+
createReconnectHandle(element, 'target', element.routingPoints.length);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function removeReconnectHandles(element: SRoutableElement): void {
|
|
49
|
+
element.removeAll(child => child instanceof SReconnectHandle);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function isSourceRoutingHandle(edge: SRoutableElement, routingHandle: SReconnectHandle): boolean {
|
|
53
|
+
return routingHandle.pointIndex === ROUTING_HANDLE_SOURCE_INDEX;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function isTargetRoutingHandle(edge: SRoutableElement, routingHandle: SReconnectHandle): boolean {
|
|
57
|
+
return routingHandle.pointIndex === edge.routingPoints.length;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export function createReconnectHandle(edge: SRoutableElement, kind: RoutingHandleKind, routingPointIndex: number): SReconnectHandle {
|
|
61
|
+
const handle = new SReconnectHandle();
|
|
62
|
+
handle.kind = kind;
|
|
63
|
+
handle.pointIndex = routingPointIndex;
|
|
64
|
+
handle.type = 'routing-point';
|
|
65
|
+
if (kind === 'target' && edge.id === edgeInProgressID) {
|
|
66
|
+
handle.id = edgeInProgressTargetHandleID;
|
|
67
|
+
}
|
|
68
|
+
edge.add(handle);
|
|
69
|
+
return handle;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export class SReconnectHandle extends SRoutingHandle {
|
|
73
|
+
hasFeature(feature: symbol): boolean {
|
|
74
|
+
return feature !== selectFeature && super.hasFeature(feature);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2019 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { ContainerModule } from 'inversify';
|
|
17
|
+
import { TYPES } from 'sprotty';
|
|
18
|
+
|
|
19
|
+
import { SaveModelKeyboardListener } from './save';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* This module is not required the diagram is deployed in Theia with the `GLSPDiagramWidget`
|
|
23
|
+
* but only intended to be used in a standalone deployment of GLSP.
|
|
24
|
+
*/
|
|
25
|
+
const saveModule = new ContainerModule(bind => {
|
|
26
|
+
bind(TYPES.KeyListener).to(SaveModelKeyboardListener);
|
|
27
|
+
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
export default saveModule;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2019 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 { SModelElement, SModelExtension, SModelRoot } from 'sprotty';
|
|
17
|
+
|
|
18
|
+
export const saveFeature = Symbol.for('saveFeature');
|
|
19
|
+
|
|
20
|
+
export interface Saveable extends SModelExtension {
|
|
21
|
+
dirty: boolean;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function isSaveable(element: SModelElement): element is SModelRoot & Saveable {
|
|
25
|
+
return element.hasFeature(saveFeature);
|
|
26
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2019 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, KeyListener, SModelRoot } from 'sprotty';
|
|
17
|
+
import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
|
|
18
|
+
|
|
19
|
+
export class SaveModelAction implements Action {
|
|
20
|
+
static readonly KIND = 'saveModel';
|
|
21
|
+
constructor(public readonly fileUri?: string, public readonly kind: string = SaveModelAction.KIND) { }
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function isSaveModelAction(action: Action): action is SaveModelAction {
|
|
25
|
+
return action.kind === SaveModelAction.KIND;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export class SaveModelKeyboardListener extends KeyListener {
|
|
29
|
+
keyDown(_element: SModelRoot, event: KeyboardEvent): Action[] {
|
|
30
|
+
if (matchesKeystroke(event, 'KeyS', 'ctrlCmd')) {
|
|
31
|
+
return [new SaveModelAction()];
|
|
32
|
+
}
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2019 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { ContainerModule } from 'inversify';
|
|
17
|
+
import { configureCommand, TYPES } from 'sprotty';
|
|
18
|
+
|
|
19
|
+
import { GLSP_TYPES } from '../../base/types';
|
|
20
|
+
import { SelectAllFeedbackCommand, SelectFeedbackCommand } from './select-feedback-action';
|
|
21
|
+
import { RankedSelectMouseListener } from './select-mouse-listener';
|
|
22
|
+
import { SelectAllCommand, SelectCommand, SelectionService } from './selection-service';
|
|
23
|
+
|
|
24
|
+
const glspSelectModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
25
|
+
bind(SelectionService).toSelf().inSingletonScope();
|
|
26
|
+
bind(GLSP_TYPES.SelectionService).toService(SelectionService);
|
|
27
|
+
configureCommand({ bind, isBound }, SelectCommand);
|
|
28
|
+
configureCommand({ bind, isBound }, SelectAllCommand);
|
|
29
|
+
configureCommand({ bind, isBound }, SelectFeedbackCommand);
|
|
30
|
+
configureCommand({ bind, isBound }, SelectAllFeedbackCommand);
|
|
31
|
+
bind(TYPES.MouseListener).to(RankedSelectMouseListener);
|
|
32
|
+
bind(GLSP_TYPES.SModelRootListener).toService(SelectionService);
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
export default glspSelectModule;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2019-2020 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 { inject, injectable } from 'inversify';
|
|
17
|
+
import {
|
|
18
|
+
Command,
|
|
19
|
+
CommandExecutionContext,
|
|
20
|
+
SelectAllCommand as SprottySelectAllCommand,
|
|
21
|
+
SelectCommand as SprottySelectCommand,
|
|
22
|
+
SModelRoot,
|
|
23
|
+
TYPES
|
|
24
|
+
} from 'sprotty';
|
|
25
|
+
|
|
26
|
+
export class SelectFeedbackAction {
|
|
27
|
+
constructor(
|
|
28
|
+
public readonly selectedElementsIDs: string[] = [],
|
|
29
|
+
public readonly deselectedElementsIDs: string[] = [],
|
|
30
|
+
public readonly kind: string = SelectFeedbackCommand.KIND) {
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export class SelectAllFeedbackAction {
|
|
35
|
+
/**
|
|
36
|
+
* If `select` is true, all elements are selected, othewise they are deselected.
|
|
37
|
+
*/
|
|
38
|
+
constructor(public readonly select: boolean = true, public readonly kind: string = SelectFeedbackCommand.KIND) {
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@injectable()
|
|
43
|
+
export class SelectFeedbackCommand extends Command {
|
|
44
|
+
static readonly KIND = 'elementSelectedFeedback';
|
|
45
|
+
private sprottySelectCommand: SprottySelectCommand;
|
|
46
|
+
|
|
47
|
+
constructor(@inject(TYPES.Action) public action: SelectFeedbackAction) {
|
|
48
|
+
super();
|
|
49
|
+
this.sprottySelectCommand = new SprottySelectCommand(action);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
execute(context: CommandExecutionContext): SModelRoot {
|
|
53
|
+
return this.sprottySelectCommand.execute(context);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
undo(context: CommandExecutionContext): SModelRoot {
|
|
57
|
+
return this.sprottySelectCommand.undo(context);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
redo(context: CommandExecutionContext): SModelRoot {
|
|
61
|
+
return this.sprottySelectCommand.redo(context);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@injectable()
|
|
66
|
+
export class SelectAllFeedbackCommand extends Command {
|
|
67
|
+
static readonly KIND = 'allSelectedFeedback';
|
|
68
|
+
private sprottySelectAllCommand: SprottySelectAllCommand;
|
|
69
|
+
|
|
70
|
+
constructor(@inject(TYPES.Action) public action: SelectAllFeedbackAction) {
|
|
71
|
+
super();
|
|
72
|
+
this.sprottySelectAllCommand = new SprottySelectAllCommand(action);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
execute(context: CommandExecutionContext): SModelRoot {
|
|
76
|
+
return this.sprottySelectAllCommand.execute(context);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
undo(context: CommandExecutionContext): SModelRoot {
|
|
80
|
+
return this.sprottySelectAllCommand.undo(context);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
redo(context: CommandExecutionContext): SModelRoot {
|
|
84
|
+
return this.sprottySelectAllCommand.redo(context);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2019 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 { SelectMouseListener } from 'sprotty';
|
|
17
|
+
|
|
18
|
+
import { DEFAULT_RANK, Ranked } from '../rank/model';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Ranked select mouse listener that is executed before default mouse listeners when using the RankedMouseTool.
|
|
22
|
+
* This ensures that default mouse listeners are working on a model that has selection changes already applied.
|
|
23
|
+
*/
|
|
24
|
+
export class RankedSelectMouseListener extends SelectMouseListener implements Ranked {
|
|
25
|
+
rank: number = DEFAULT_RANK - 1; /* we want to be executed before all default mouse listeners */
|
|
26
|
+
}
|