@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,98 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2021 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, interfaces } from 'inversify';
|
|
17
|
+
import {
|
|
18
|
+
CircularNode,
|
|
19
|
+
CircularNodeView,
|
|
20
|
+
configureModelElement,
|
|
21
|
+
DiamondNode,
|
|
22
|
+
DiamondNodeView,
|
|
23
|
+
ExpandButtonView,
|
|
24
|
+
ForeignObjectElement,
|
|
25
|
+
ForeignObjectView,
|
|
26
|
+
HtmlRoot,
|
|
27
|
+
HtmlRootView,
|
|
28
|
+
PreRenderedElement,
|
|
29
|
+
PreRenderedView,
|
|
30
|
+
RectangularNode,
|
|
31
|
+
RectangularNodeView,
|
|
32
|
+
SButton,
|
|
33
|
+
SCompartment,
|
|
34
|
+
SCompartmentView,
|
|
35
|
+
SEdge,
|
|
36
|
+
SGraphView,
|
|
37
|
+
ShapedPreRenderedElement,
|
|
38
|
+
SIssueMarker,
|
|
39
|
+
SLabel,
|
|
40
|
+
SLabelView,
|
|
41
|
+
SNode,
|
|
42
|
+
SPort,
|
|
43
|
+
SRoutingHandle,
|
|
44
|
+
SRoutingHandleView,
|
|
45
|
+
SvgViewportView,
|
|
46
|
+
ViewportRootElement
|
|
47
|
+
} from 'sprotty';
|
|
48
|
+
|
|
49
|
+
import { GLSPGraph } from '../lib/model';
|
|
50
|
+
import { DefaultTypes } from './default-types';
|
|
51
|
+
import { GEdgeView } from './glsp-edge-view';
|
|
52
|
+
import { GIssueMarkerView } from './issue-marker-view';
|
|
53
|
+
import { RoundedCornerNodeView } from './rounded-corner-view';
|
|
54
|
+
|
|
55
|
+
interface ContainerContext {
|
|
56
|
+
bind: interfaces.Bind;
|
|
57
|
+
isBound: interfaces.IsBound;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const baseViewModule = new ContainerModule((bind, unbind, isBound, rebind) => {
|
|
61
|
+
const context = { bind, unbind, isBound, rebind };
|
|
62
|
+
configureDefaultModelElements(context);
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
export function configureDefaultModelElements(context: ContainerContext): void {
|
|
66
|
+
// HTML elements
|
|
67
|
+
configureModelElement(context, DefaultTypes.HTML, HtmlRoot, HtmlRootView);
|
|
68
|
+
|
|
69
|
+
// generic elements
|
|
70
|
+
configureModelElement(context, DefaultTypes.FOREIGN_OBJECT, ForeignObjectElement, ForeignObjectView);
|
|
71
|
+
configureModelElement(context, DefaultTypes.PRE_RENDERED, PreRenderedElement, PreRenderedView);
|
|
72
|
+
configureModelElement(context, DefaultTypes.SHAPE_PRE_RENDERED, ShapedPreRenderedElement, PreRenderedView);
|
|
73
|
+
|
|
74
|
+
// SVG elements
|
|
75
|
+
configureModelElement(context, DefaultTypes.SVG, ViewportRootElement, SvgViewportView);
|
|
76
|
+
|
|
77
|
+
// graph elements
|
|
78
|
+
configureModelElement(context, DefaultTypes.GRAPH, GLSPGraph, SGraphView);
|
|
79
|
+
configureModelElement(context, DefaultTypes.NODE, SNode, RoundedCornerNodeView);
|
|
80
|
+
configureModelElement(context, DefaultTypes.COMPARTMENT, SCompartment, SCompartmentView);
|
|
81
|
+
configureModelElement(context, DefaultTypes.COMPARTMENT_HEADER, SCompartment, SCompartmentView);
|
|
82
|
+
configureModelElement(context, DefaultTypes.EDGE, SEdge, GEdgeView);
|
|
83
|
+
configureModelElement(context, DefaultTypes.PORT, SPort, RectangularNodeView);
|
|
84
|
+
configureModelElement(context, DefaultTypes.ROUTING_POINT, SRoutingHandle, SRoutingHandleView);
|
|
85
|
+
configureModelElement(context, DefaultTypes.VOLATILE_ROUTING_POINT, SRoutingHandle, SRoutingHandleView);
|
|
86
|
+
configureModelElement(context, DefaultTypes.LABEL, SLabel, SLabelView);
|
|
87
|
+
|
|
88
|
+
// UI elements
|
|
89
|
+
configureModelElement(context, DefaultTypes.BUTTON_EXPAND, SButton, ExpandButtonView);
|
|
90
|
+
configureModelElement(context, DefaultTypes.ISSUE_MARKER, SIssueMarker, GIssueMarkerView);
|
|
91
|
+
|
|
92
|
+
// shapes
|
|
93
|
+
configureModelElement(context, DefaultTypes.NODE_CIRCLE, CircularNode, CircularNodeView);
|
|
94
|
+
configureModelElement(context, DefaultTypes.NODE_DIAMOND, DiamondNode, DiamondNodeView);
|
|
95
|
+
configureModelElement(context, DefaultTypes.NODE_RECTANGLE, RectangularNode, RectangularNodeView);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export default baseViewModule;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2021 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 namespace DefaultTypes {
|
|
18
|
+
// HTML elements
|
|
19
|
+
export const HTML = 'html';
|
|
20
|
+
|
|
21
|
+
// generic types
|
|
22
|
+
export const FOREIGN_OBJECT = 'foreign-object';
|
|
23
|
+
export const PRE_RENDERED = 'pre-rendered';
|
|
24
|
+
export const SHAPE_PRE_RENDERED = 'shape-pre-rendered';
|
|
25
|
+
|
|
26
|
+
// SVG elements
|
|
27
|
+
export const SVG = 'svg';
|
|
28
|
+
|
|
29
|
+
// graph types
|
|
30
|
+
export const GRAPH = 'graph';
|
|
31
|
+
export const NODE = 'node';
|
|
32
|
+
export const COMPARTMENT = 'comp';
|
|
33
|
+
export const COMPARTMENT_HEADER = 'comp:header';
|
|
34
|
+
export const EDGE = 'edge';
|
|
35
|
+
export const PORT = 'port';
|
|
36
|
+
export const ROUTING_POINT = 'routing-point';
|
|
37
|
+
export const VOLATILE_ROUTING_POINT = `volatile-${ROUTING_POINT}`;
|
|
38
|
+
export const LABEL = 'label';
|
|
39
|
+
|
|
40
|
+
// UI elements
|
|
41
|
+
export const BUTTON_EXPAND = 'button:expand';
|
|
42
|
+
export const ISSUE_MARKER = 'marker';
|
|
43
|
+
|
|
44
|
+
// shapes
|
|
45
|
+
export const NODE_CIRCLE = 'node:circle';
|
|
46
|
+
export const NODE_RECTANGLE = 'node:rectangle';
|
|
47
|
+
export const NODE_DIAMOND = 'node:diamond';
|
|
48
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2021 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { injectable } from 'inversify';
|
|
17
|
+
import { Classes, VNode } from 'snabbdom';
|
|
18
|
+
import { Point, PolylineEdgeView, RenderingContext, SEdge, svg } from 'sprotty';
|
|
19
|
+
|
|
20
|
+
import { EdgePadding } from '../utils/argument-utils';
|
|
21
|
+
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
23
|
+
const JSX = { createElement: svg };
|
|
24
|
+
|
|
25
|
+
@injectable()
|
|
26
|
+
export class GEdgeView extends PolylineEdgeView {
|
|
27
|
+
render(edge: Readonly<SEdge>, context: RenderingContext): VNode {
|
|
28
|
+
const router = this.edgeRouterRegistry.get(edge.routerKind);
|
|
29
|
+
const route = router.route(edge);
|
|
30
|
+
if (route.length === 0) {
|
|
31
|
+
return this.renderDanglingEdge('Cannot compute route', edge, context);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return <g class-sprotty-edge={true} class-mouseover={edge.hoverFeedback} {...this.addtionalClasses(edge, context)}>
|
|
35
|
+
{this.renderLine(edge, route, context)}
|
|
36
|
+
{this.renderAdditionals(edge, route, context)}
|
|
37
|
+
{context.renderChildren(edge, { route })}
|
|
38
|
+
</g>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
protected addtionalClasses(_edge: Readonly<SEdge>, _context: RenderingContext): Classes {
|
|
42
|
+
return {};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
protected renderLine(_edge: SEdge, segments: Point[], _context: RenderingContext): VNode {
|
|
46
|
+
return <path d={this.createPathForSegments(segments)} />;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
protected renderAdditionals(edge: SEdge, segments: Point[], _context: RenderingContext): VNode[] {
|
|
50
|
+
// for additional padding we draw another transparent path with larger stroke width
|
|
51
|
+
const edgePadding = EdgePadding.from(edge);
|
|
52
|
+
return edgePadding ? [this.renderMouseHandle(segments, edgePadding)] : [];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
protected renderMouseHandle(segments: Point[], padding: number): VNode {
|
|
56
|
+
return <path class-mouse-handle d={this.createPathForSegments(segments)}
|
|
57
|
+
style-stroke-width={padding * 2} style-stroke="transparent" style-stroke-dasharray="none" style-stroke-dashoffset="0" />;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
protected createPathForSegments(segments: Point[]): string {
|
|
61
|
+
const firstPoint = segments[0];
|
|
62
|
+
let path = `M ${firstPoint.x},${firstPoint.y}`;
|
|
63
|
+
for (let i = 1; i < segments.length; i++) {
|
|
64
|
+
const p = segments[i];
|
|
65
|
+
path += ` L ${p.x},${p.y}`;
|
|
66
|
+
}
|
|
67
|
+
return path;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2021 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
|
+
export * from './base-view-module';
|
|
17
|
+
export * from './default-types';
|
|
18
|
+
export * from './glsp-edge-view';
|
|
19
|
+
export * from './issue-marker-view';
|
|
20
|
+
export * from './rounded-corner';
|
|
21
|
+
export * from './rounded-corner-view';
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 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
|
+
/* eslint-disable max-len */
|
|
17
|
+
import { injectable } from 'inversify';
|
|
18
|
+
import { VNode } from 'snabbdom';
|
|
19
|
+
import { IssueMarkerView, RenderingContext, setClass, SIssueMarker, SIssueSeverity, svg } from 'sprotty';
|
|
20
|
+
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
22
|
+
const JSX = { createElement: svg };
|
|
23
|
+
|
|
24
|
+
@injectable()
|
|
25
|
+
export class GIssueMarkerView extends IssueMarkerView {
|
|
26
|
+
|
|
27
|
+
render(marker: SIssueMarker, _context: RenderingContext): VNode {
|
|
28
|
+
const maxSeverity = super.getMaxSeverity(marker);
|
|
29
|
+
const group = <g class-sprotty-issue={true} >
|
|
30
|
+
<g>
|
|
31
|
+
<circle class-sprotty-issue-background={true} r={this.radius} cx={this.radius} cy={this.radius} />
|
|
32
|
+
<path d={this.getGlspIssueMarkerPath(maxSeverity)} />
|
|
33
|
+
</g>
|
|
34
|
+
</g>;
|
|
35
|
+
setClass(group, 'sprotty-' + maxSeverity, true);
|
|
36
|
+
return group;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
protected get radius(): number {
|
|
40
|
+
return 8; // var(--theia-icon-size)=16px => 16/2=8
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
protected getGlspIssueMarkerPath(severity: SIssueSeverity): string {
|
|
44
|
+
switch (severity) {
|
|
45
|
+
// paths used here are svg versions of FontAwesome icons, resized to var(--theia-icon-size) 16px
|
|
46
|
+
case 'error': // 'fa-times-circle'
|
|
47
|
+
return 'M 8,0 C 3.5806452,0 0,3.58065 0,8 c 0,4.41935 3.5806452,8 8,8 4.419355,0 8,-3.58065 8,-8 C 16,3.58065 12.419355,0 8,0 Z m 3.922581,10.1 c 0.151613,0.15161 0.151613,0.39677 0,0.54839 l -1.27742,1.27419 c -0.151613,0.15161 -0.396774,0.15161 -0.548387,0 L 8,9.80645 5.9,11.92258 c -0.1516129,0.15161 -0.3967742,0.15161 -0.5483871,0 L 4.0774194,10.64516 c -0.1516129,-0.15161 -0.1516129,-0.39677 0,-0.54839 L 6.1935484,8 4.0774194,5.9 c -0.1516129,-0.15161 -0.1516129,-0.39677 0,-0.54839 L 5.3548387,4.07419 c 0.1516129,-0.15161 0.3967742,-0.15161 0.5483871,0 L 8,6.19355 10.1,4.07742 c 0.151613,-0.15161 0.396774,-0.15161 0.548387,0 l 1.277419,1.27742 c 0.151613,0.15161 0.151613,0.39677 0,0.54839 L 9.8064516,8 Z';
|
|
48
|
+
case 'warning': // 'fa-exclamation-circle'
|
|
49
|
+
return 'm 16,8 c 0,4.41926 -3.582032,8 -8,8 C 3.5820323,16 0,12.41926 0,8 0,3.58332 3.5820323,0 8,0 c 4.417968,0 8,3.58332 8,8 z M 8,9.6129 c -0.8195161,0 -1.483871,0.66436 -1.483871,1.48387 0,0.81952 0.6643549,1.48388 1.483871,1.48388 0.8195161,0 1.483871,-0.66436 1.483871,-1.48388 C 9.483871,10.27726 8.8195161,9.6129 8,9.6129 Z M 6.5911935,4.27916 6.8304839,8.66626 c 0.011194,0.20529 0.1809355,0.366 0.3865161,0.366 h 1.566 c 0.2055806,0 0.3753226,-0.16071 0.3865161,-0.366 L 9.4088065,4.27916 C 9.4209035,4.05742 9.2443548,3.87097 9.0222903,3.87097 H 6.9776774 c -0.2220645,0 -0.3985806,0.18645 -0.3864839,0.40819 z';
|
|
50
|
+
case 'info': // 'fa-info-circle information'
|
|
51
|
+
return 'M 8.0000004,0 C 3.5820324,0 0,3.58332 0,8 0,12.41926 3.5820324,16 8.0000004,16 12.417968,16 16,12.41926 16,8 16,3.58332 12.417968,0 8.0000004,0 Z m 0,3.54839 c 0.748258,0 1.354839,0.60658 1.354839,1.35484 0,0.74825 -0.606581,1.35483 -1.354839,1.35483 -0.748258,0 -1.354839,-0.60658 -1.354839,-1.35483 0,-0.74826 0.606581,-1.35484 1.354839,-1.35484 z m 1.806452,8.19355 c 0,0.21377 -0.173323,0.38709 -0.387097,0.38709 h -2.83871 c -0.213774,0 -0.387097,-0.17332 -0.387097,-0.38709 v -0.7742 c 0,-0.21377 0.173323,-0.38709 0.387097,-0.38709 h 0.387097 V 8.51613 h -0.387097 c -0.213774,0 -0.387097,-0.17332 -0.387097,-0.3871 V 7.35484 c 0,-0.21378 0.173323,-0.3871 0.387097,-0.3871 h 2.064516 c 0.213774,0 0.387097,0.17332 0.387097,0.3871 v 3.22581 h 0.387097 c 0.213774,0 0.387097,0.17332 0.387097,0.38709 z';
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2021 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { injectable } from 'inversify';
|
|
17
|
+
import { Classes, VNode } from 'snabbdom';
|
|
18
|
+
import { Hoverable, RectangularNodeView, RenderingContext, Selectable, SNode, SPort, SShapeElement, svg } from 'sprotty';
|
|
19
|
+
|
|
20
|
+
import { CornerRadius } from '../utils/argument-utils';
|
|
21
|
+
import { RoundedCornerWrapper } from './rounded-corner';
|
|
22
|
+
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
24
|
+
const JSX = { createElement: svg };
|
|
25
|
+
|
|
26
|
+
@injectable()
|
|
27
|
+
export class RoundedCornerNodeView extends RectangularNodeView {
|
|
28
|
+
render(node: Readonly<SShapeElement & Hoverable & Selectable>, context: RenderingContext): VNode | undefined {
|
|
29
|
+
const cornerRadius = CornerRadius.from(node);
|
|
30
|
+
if (!cornerRadius) {
|
|
31
|
+
return this.renderWithoutRadius(node, context);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const wrapper = new RoundedCornerWrapper(node, cornerRadius);
|
|
35
|
+
return <g class-node={true} >
|
|
36
|
+
<defs>
|
|
37
|
+
<clipPath id={toClipPathId(node)}>
|
|
38
|
+
<path d={this.renderPath(wrapper, context, this.getClipPathInsets() || 0)}></path>
|
|
39
|
+
</clipPath>
|
|
40
|
+
</defs>
|
|
41
|
+
{this.renderPathNode(wrapper, context)}
|
|
42
|
+
{context.renderChildren(node)}
|
|
43
|
+
</g>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
protected renderWithoutRadius(node: Readonly<SShapeElement & Hoverable & Selectable>, context: RenderingContext): VNode | undefined {
|
|
47
|
+
return super.render(node, context);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
protected getClipPathInsets(): number | undefined {
|
|
51
|
+
return 2;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
protected renderPathNode(wrapper: Readonly<RoundedCornerWrapper>, context: RenderingContext): VNode {
|
|
55
|
+
return <path d={this.renderPath(wrapper, context, 0)}
|
|
56
|
+
class-sprotty-node={wrapper.element instanceof SNode}
|
|
57
|
+
class-sprotty-port={wrapper.element instanceof SPort}
|
|
58
|
+
class-mouseover={wrapper.element.hoverFeedback}
|
|
59
|
+
class-selected={wrapper.element.selected}
|
|
60
|
+
{...this.additionalClasses(wrapper.element, context)} />;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
protected additionalClasses(_node: Readonly<SShapeElement & Hoverable & Selectable>, _context: RenderingContext): Classes {
|
|
64
|
+
return {};
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
protected renderPath(wrapper: Readonly<RoundedCornerWrapper>, _context: RenderingContext, inset: number): string {
|
|
68
|
+
// Calcualte length of straight line segments
|
|
69
|
+
const topLineLength = Math.max(0, wrapper.size.width - wrapper.cornerRadius.topLeft - wrapper.cornerRadius.topRight);
|
|
70
|
+
const rightLineLength = Math.max(0, wrapper.size.height - wrapper.cornerRadius.topRight - wrapper.cornerRadius.bottomRight);
|
|
71
|
+
const bottomLineLength = Math.max(0, wrapper.size.width - wrapper.cornerRadius.bottomLeft - wrapper.cornerRadius.bottomRight);
|
|
72
|
+
|
|
73
|
+
const path = `M${0 + inset},${0 + wrapper.topLeftCorner.radiusY}` +
|
|
74
|
+
`q${0},${-(wrapper.topLeftCorner.radiusY - inset)} ${wrapper.topLeftCorner.radiusX - inset},${-(wrapper.topLeftCorner.radiusY - inset)}` +
|
|
75
|
+
`h${topLineLength}` +
|
|
76
|
+
`q${wrapper.topRightCorner.radiusX - inset},0 ${wrapper.topRightCorner.radiusX - inset},${wrapper.topRightCorner.radiusY - inset}` +
|
|
77
|
+
`v${rightLineLength}` +
|
|
78
|
+
`q0,${wrapper.bottomRightCorner.radiusY - inset} ${-(wrapper.bottomRightCorner.radiusX - inset)},${wrapper.bottomRightCorner.radiusY - inset}` +
|
|
79
|
+
`h${-bottomLineLength}` +
|
|
80
|
+
`q${-(wrapper.bottomLeftCorner.radiusX - inset)},0 ${-(wrapper.bottomLeftCorner.radiusX - inset)},${-(wrapper.bottomLeftCorner.radiusY - inset)}` +
|
|
81
|
+
'z ';
|
|
82
|
+
return path;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export function toClipPathId(node: Readonly<SShapeElement & Hoverable & Selectable>): string {
|
|
87
|
+
return `${node.id}_clip_path`;
|
|
88
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2021 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 { Dimension, Hoverable, Selectable, SShapeElement } from 'sprotty/lib';
|
|
17
|
+
|
|
18
|
+
import { CornerRadius } from '../utils/argument-utils';
|
|
19
|
+
|
|
20
|
+
export interface RoundedCorner {
|
|
21
|
+
radiusX: number;
|
|
22
|
+
radiusY: number;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export class RoundedCornerWrapper {
|
|
26
|
+
protected _topLeftCorner: RoundedCorner;
|
|
27
|
+
protected _topRightCorner: RoundedCorner;
|
|
28
|
+
protected _bottomRightCorner: RoundedCorner;
|
|
29
|
+
protected _bottomLeftCorner: RoundedCorner;
|
|
30
|
+
|
|
31
|
+
constructor(public readonly element: SShapeElement & Hoverable & Selectable, public readonly cornerRadius: CornerRadius) {
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
get size(): Dimension {
|
|
35
|
+
return this.element.size;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
get topLeftCorner(): RoundedCorner {
|
|
39
|
+
if (!this._topLeftCorner) {
|
|
40
|
+
this._topLeftCorner = {
|
|
41
|
+
radiusX: scaledRadius(this.cornerRadius.topLeft, this.element.size.width / 2),
|
|
42
|
+
radiusY: scaledRadius(this.cornerRadius.topLeft, this.element.size.height / 2)
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
return this._topLeftCorner;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
get topRightCorner(): RoundedCorner {
|
|
49
|
+
if (!this._topRightCorner) {
|
|
50
|
+
this._topRightCorner = {
|
|
51
|
+
radiusX: scaledRadius(this.cornerRadius.topRight, this.element.size.width / 2),
|
|
52
|
+
radiusY: scaledRadius(this.cornerRadius.topRight, this.element.size.height / 2)
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
return this._topRightCorner;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
get bottomRightCorner(): RoundedCorner {
|
|
59
|
+
if (!this._bottomRightCorner) {
|
|
60
|
+
this._bottomRightCorner = {
|
|
61
|
+
radiusX: scaledRadius(this.cornerRadius.bottomRight, this.element.size.width / 2),
|
|
62
|
+
radiusY: scaledRadius(this.cornerRadius.bottomRight, this.element.size.height / 2)
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
return this._bottomRightCorner;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
get bottomLeftCorner(): RoundedCorner {
|
|
69
|
+
if (!this._bottomLeftCorner) {
|
|
70
|
+
this._bottomLeftCorner = {
|
|
71
|
+
radiusX: scaledRadius(this.cornerRadius.bottomLeft, this.element.size.width / 2),
|
|
72
|
+
radiusY: scaledRadius(this.cornerRadius.bottomLeft, this.element.size.height / 2)
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return this._bottomLeftCorner;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/*
|
|
80
|
+
* Scales the radius if necessary. (Percentual downscaling if the radius is bigger then the maximal allowed length)
|
|
81
|
+
*/
|
|
82
|
+
export function scaledRadius(radius: number, maximalLength: number): number {
|
|
83
|
+
if (radius <= maximalLength) {
|
|
84
|
+
return radius;
|
|
85
|
+
} else {
|
|
86
|
+
return radius * (maximalLength / radius);
|
|
87
|
+
}
|
|
88
|
+
}
|