@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 @@
|
|
|
1
|
+
{"version":3,"file":"mouse-tool.d.ts","sourceRoot":"","sources":["../../../src/features/mouse-tool/mouse-tool.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAM,KAAK,EAAa,MAAM,UAAU,CAAC;AAChD,OAAO,EAAoB,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAS,MAAM,SAAS,CAAC;AAIvG,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7C,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;CAClD;AAED,qBACa,gBAAiB,SAAQ,SAAU,YAAW,UAAU;IAGP,SAAS,CAAC,cAAc,EAAE,aAAa,EAAE;IAFnG,SAAS,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBAEO,cAAc,GAAE,aAAa,EAAO;IAKxG,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAK5C,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAK9C,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,GAAG,KAAK;IAoBrD,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAIvD,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IASzG,qBAAqB,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhJ,eAAe,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBjK"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.RankingMouseTool = void 0;
|
|
16
|
+
/********************************************************************************
|
|
17
|
+
* Copyright (c) 2019 EclipseSource and others.
|
|
18
|
+
*
|
|
19
|
+
* This program and the accompanying materials are made available under the
|
|
20
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
21
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
22
|
+
*
|
|
23
|
+
* This Source Code may also be made available under the following Secondary
|
|
24
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
25
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
26
|
+
* with the GNU Classpath Exception which is available at
|
|
27
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
28
|
+
*
|
|
29
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
30
|
+
********************************************************************************/
|
|
31
|
+
const inversify_1 = require("inversify");
|
|
32
|
+
const sprotty_1 = require("sprotty");
|
|
33
|
+
const model_1 = require("../rank/model");
|
|
34
|
+
let RankingMouseTool = class RankingMouseTool extends sprotty_1.MouseTool {
|
|
35
|
+
constructor(mouseListeners = []) {
|
|
36
|
+
super(mouseListeners);
|
|
37
|
+
this.mouseListeners = mouseListeners;
|
|
38
|
+
this.rankedMouseListeners = groupBy(mouseListeners, listener => model_1.getRank(listener));
|
|
39
|
+
}
|
|
40
|
+
register(mouseListener) {
|
|
41
|
+
super.register(mouseListener);
|
|
42
|
+
this.rankedMouseListeners = groupBy(this.mouseListeners, listener => model_1.getRank(listener));
|
|
43
|
+
}
|
|
44
|
+
deregister(mouseListener) {
|
|
45
|
+
super.deregister(mouseListener);
|
|
46
|
+
this.rankedMouseListeners = groupBy(this.mouseListeners, listener => model_1.getRank(listener));
|
|
47
|
+
}
|
|
48
|
+
decorate(vnode, element) {
|
|
49
|
+
// we need to overwrite the existing event handlers registered by the original mouse tool
|
|
50
|
+
if (element instanceof sprotty_1.SModelRoot) {
|
|
51
|
+
overwriteOn(vnode, 'mouseover', this.mouseOver.bind(this, element), element);
|
|
52
|
+
overwriteOn(vnode, 'mouseout', this.mouseOut.bind(this, element), element);
|
|
53
|
+
overwriteOn(vnode, 'mouseenter', this.mouseEnter.bind(this, element), element);
|
|
54
|
+
overwriteOn(vnode, 'mouseleave', this.mouseLeave.bind(this, element), element);
|
|
55
|
+
overwriteOn(vnode, 'mousedown', this.mouseDown.bind(this, element), element);
|
|
56
|
+
overwriteOn(vnode, 'mouseup', this.mouseUp.bind(this, element), element);
|
|
57
|
+
overwriteOn(vnode, 'mousemove', this.mouseMove.bind(this, element), element);
|
|
58
|
+
overwriteOn(vnode, 'wheel', this.wheel.bind(this, element), element);
|
|
59
|
+
overwriteOn(vnode, 'contextmenu', this.contextMenu.bind(this, element), element);
|
|
60
|
+
overwriteOn(vnode, 'dblclick', this.doubleClick.bind(this, element), element);
|
|
61
|
+
}
|
|
62
|
+
vnode = this.mouseListeners.reduce((n, listener) => listener.decorate(n, element), vnode);
|
|
63
|
+
return vnode;
|
|
64
|
+
}
|
|
65
|
+
contextMenu(model, event) {
|
|
66
|
+
event.preventDefault();
|
|
67
|
+
}
|
|
68
|
+
handleEvent(methodName, model, event) {
|
|
69
|
+
this.focusOnMouseEvent(methodName, model);
|
|
70
|
+
const element = this.getTargetElement(model, event);
|
|
71
|
+
if (!element) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
this.notifyListenersByRank(element, methodName, model, event);
|
|
75
|
+
}
|
|
76
|
+
async notifyListenersByRank(element, methodName, model, event) {
|
|
77
|
+
for (const rank of this.rankedMouseListeners) {
|
|
78
|
+
await this.dispatchActions(rank[1], methodName, element, event);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async dispatchActions(mouseListeners, methodName, element, event) {
|
|
82
|
+
const actions = mouseListeners
|
|
83
|
+
.map(listener => listener[methodName].apply(listener, [element, event]))
|
|
84
|
+
.reduce((a, b) => a.concat(b));
|
|
85
|
+
if (actions.length > 0) {
|
|
86
|
+
event.preventDefault();
|
|
87
|
+
for (const actionOrPromise of actions) {
|
|
88
|
+
if (sprotty_1.isAction(actionOrPromise)) {
|
|
89
|
+
await this.actionDispatcher.dispatch(actionOrPromise);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
actionOrPromise.then((action) => {
|
|
93
|
+
this.actionDispatcher.dispatch(action);
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
RankingMouseTool = __decorate([
|
|
101
|
+
inversify_1.injectable(),
|
|
102
|
+
__param(0, inversify_1.multiInject(sprotty_1.TYPES.MouseListener)), __param(0, inversify_1.optional()),
|
|
103
|
+
__metadata("design:paramtypes", [Array])
|
|
104
|
+
], RankingMouseTool);
|
|
105
|
+
exports.RankingMouseTool = RankingMouseTool;
|
|
106
|
+
function groupBy(array, keyFunction) {
|
|
107
|
+
const unsortedMap = array.reduce((result, item) => {
|
|
108
|
+
const key = keyFunction(item);
|
|
109
|
+
if (!result.has(key)) {
|
|
110
|
+
result.set(key, [item]);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
const entries = result.get(key);
|
|
114
|
+
if (entries) {
|
|
115
|
+
entries.push(item);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return result;
|
|
119
|
+
}, new Map());
|
|
120
|
+
return new Map([...unsortedMap.entries()].sort());
|
|
121
|
+
}
|
|
122
|
+
function overwriteOn(vnode, event, listener, element) {
|
|
123
|
+
const val = getOn(vnode);
|
|
124
|
+
// ignore any previous val[event] registrations
|
|
125
|
+
val[event] = [listener, element];
|
|
126
|
+
}
|
|
127
|
+
function getOn(vnode) {
|
|
128
|
+
const data = getData(vnode);
|
|
129
|
+
if (!data.on) {
|
|
130
|
+
data.on = {};
|
|
131
|
+
}
|
|
132
|
+
return data.on;
|
|
133
|
+
}
|
|
134
|
+
function getData(vnode) {
|
|
135
|
+
if (!vnode.data) {
|
|
136
|
+
vnode.data = {};
|
|
137
|
+
}
|
|
138
|
+
return vnode.data;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=mouse-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mouse-tool.js","sourceRoot":"","sources":["../../../src/features/mouse-tool/mouse-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
import { ContainerModule } from 'inversify';
|
|
17
|
+
export declare const navigationModule: ContainerModule;
|
|
18
|
+
//# sourceMappingURL=di.config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"di.config.d.ts","sourceRoot":"","sources":["../../../src/features/navigation/di.config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAY5C,eAAO,MAAM,gBAAgB,iBAO3B,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.navigationModule = void 0;
|
|
4
|
+
/********************************************************************************
|
|
5
|
+
* Copyright (c) 2020 EclipseSource and others.
|
|
6
|
+
*
|
|
7
|
+
* This program and the accompanying materials are made available under the
|
|
8
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
9
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
10
|
+
*
|
|
11
|
+
* This Source Code may also be made available under the following Secondary
|
|
12
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
13
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
14
|
+
* with the GNU Classpath Exception which is available at
|
|
15
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
16
|
+
*
|
|
17
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
18
|
+
********************************************************************************/
|
|
19
|
+
const inversify_1 = require("inversify");
|
|
20
|
+
const lib_1 = require("sprotty/lib");
|
|
21
|
+
const navigation_action_handler_1 = require("./navigation-action-handler");
|
|
22
|
+
const navigation_target_resolver_1 = require("./navigation-target-resolver");
|
|
23
|
+
exports.navigationModule = new inversify_1.ContainerModule((bind, _unbind, isBound) => {
|
|
24
|
+
bind(navigation_target_resolver_1.NavigationTargetResolver).toSelf().inSingletonScope();
|
|
25
|
+
bind(navigation_action_handler_1.NavigationActionHandler).toSelf().inSingletonScope();
|
|
26
|
+
lib_1.configureActionHandler({ bind, isBound }, navigation_action_handler_1.NavigateAction.KIND, navigation_action_handler_1.NavigationActionHandler);
|
|
27
|
+
lib_1.configureActionHandler({ bind, isBound }, navigation_action_handler_1.NavigateToTargetAction.KIND, navigation_action_handler_1.NavigationActionHandler);
|
|
28
|
+
lib_1.configureActionHandler({ bind, isBound }, navigation_action_handler_1.ProcessNavigationArgumentsAction.KIND, navigation_action_handler_1.NavigationActionHandler);
|
|
29
|
+
lib_1.configureActionHandler({ bind, isBound }, navigation_action_handler_1.NavigateToExternalTargetAction.KIND, navigation_action_handler_1.NavigationActionHandler);
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=di.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"di.config.js","sourceRoot":"","sources":["../../../src/features/navigation/di.config.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAA4C;AAC5C,qCAAqD;AAErD,2EAMqC;AACrC,6EAAwE;AAE3D,QAAA,gBAAgB,GAAG,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAC3E,IAAI,CAAC,qDAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,mDAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,4BAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,0CAAc,CAAC,IAAI,EAAE,mDAAuB,CAAC,CAAC;IACxF,4BAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,kDAAsB,CAAC,IAAI,EAAE,mDAAuB,CAAC,CAAC;IAChG,4BAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,4DAAgC,CAAC,IAAI,EAAE,mDAAuB,CAAC,CAAC;IAC1G,4BAAsB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,0DAA8B,CAAC,IAAI,EAAE,mDAAuB,CAAC,CAAC;AAC5G,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { Action, ActionHandlerRegistry, IActionDispatcher, IActionHandler, ICommand, ILogger, RequestAction, ResponseAction } from 'sprotty';
|
|
2
|
+
import { Args } from '../../base/args';
|
|
3
|
+
import { EditorContext, EditorContextServiceProvider } from '../../base/editor-context';
|
|
4
|
+
import { NavigationTarget, NavigationTargetResolver, SetResolvedNavigationTargetAction } from './navigation-target-resolver';
|
|
5
|
+
/**
|
|
6
|
+
* Action for triggering a navigation of a certain target type.
|
|
7
|
+
*
|
|
8
|
+
* Examples for target types could be `documentation`, `implementation`, etc.
|
|
9
|
+
* but this is up to the domain-specific diagram implementation to decide.
|
|
10
|
+
* Such an action will eventually trigger a `RequestNavigationTargetsAction`
|
|
11
|
+
* (see `NavigationActionHandler`) in order to request the navigation targets
|
|
12
|
+
* from the server.
|
|
13
|
+
*
|
|
14
|
+
* This action is typically triggered by a user action.
|
|
15
|
+
*/
|
|
16
|
+
export declare class NavigateAction implements Action {
|
|
17
|
+
readonly targetTypeId: string;
|
|
18
|
+
readonly args?: Args | undefined;
|
|
19
|
+
static readonly KIND = "navigate";
|
|
20
|
+
readonly kind = "navigate";
|
|
21
|
+
constructor(targetTypeId: string, args?: Args | undefined);
|
|
22
|
+
}
|
|
23
|
+
export declare function isNavigateAction(action: Action): action is NavigateAction;
|
|
24
|
+
/** Action that is usually sent to the server to request navigation targets for a navigation type. */
|
|
25
|
+
export declare class RequestNavigationTargetsAction implements RequestAction<SetNavigationTargetsAction> {
|
|
26
|
+
readonly targetTypeId: string;
|
|
27
|
+
readonly editorContext: EditorContext;
|
|
28
|
+
readonly requestId: string;
|
|
29
|
+
static readonly KIND = "requestNavigationTargets";
|
|
30
|
+
kind: string;
|
|
31
|
+
constructor(targetTypeId: string, editorContext: EditorContext, requestId?: string);
|
|
32
|
+
}
|
|
33
|
+
/** Action that is usually sent from the server to the client as a repsonse to a `RequestNavigationTargetsAction`. */
|
|
34
|
+
export declare class SetNavigationTargetsAction implements ResponseAction {
|
|
35
|
+
readonly targets: NavigationTarget[];
|
|
36
|
+
readonly responseId: string;
|
|
37
|
+
readonly args?: Args | undefined;
|
|
38
|
+
static readonly KIND = "setNavigationTargets";
|
|
39
|
+
kind: string;
|
|
40
|
+
constructor(targets: NavigationTarget[], responseId?: string, args?: Args | undefined);
|
|
41
|
+
}
|
|
42
|
+
export declare function isSetNavigationTargetsAction(action: Action): action is SetNavigationTargetsAction;
|
|
43
|
+
/** Action that triggers the navigation to a particular navigation target, such as element IDs, queries, etc.. */
|
|
44
|
+
export declare class NavigateToTargetAction implements Action {
|
|
45
|
+
readonly target: NavigationTarget;
|
|
46
|
+
static readonly KIND = "navigateToTarget";
|
|
47
|
+
readonly kind = "navigateToTarget";
|
|
48
|
+
constructor(target: NavigationTarget);
|
|
49
|
+
}
|
|
50
|
+
export declare function isNavigateToTargetAction(action: Action): action is NavigateToTargetAction;
|
|
51
|
+
export declare class NavigateToExternalTargetAction implements Action {
|
|
52
|
+
readonly target: NavigationTarget;
|
|
53
|
+
static readonly KIND = "navigateToExternalTarget";
|
|
54
|
+
readonly kind = "navigateToExternalTarget";
|
|
55
|
+
constructor(target: NavigationTarget);
|
|
56
|
+
}
|
|
57
|
+
export declare function isNavigateToExternalTargetAction(action: Action): action is NavigateToExternalTargetAction;
|
|
58
|
+
/** Action to trigger the processing of additional navigation arguments.
|
|
59
|
+
*
|
|
60
|
+
* The resolution of a `NavigationTarget` may entail additional arguments. In this case, this action is
|
|
61
|
+
* triggered allowing the client to react to those arguments. The default `NavigationActionHandler` will
|
|
62
|
+
* only process the arguments' keys `info`, `warning`, and `error` to present them to the user.
|
|
63
|
+
* Customizations, however, may add domain-specific arguments and register custom handler to also process
|
|
64
|
+
* other arguments and trigger some additional behavior (e.g. update other views, etc.).
|
|
65
|
+
*/
|
|
66
|
+
export declare class ProcessNavigationArgumentsAction implements Action {
|
|
67
|
+
readonly args: Args;
|
|
68
|
+
static readonly KIND = "processNavigationArguments";
|
|
69
|
+
readonly kind = "processNavigationArguments";
|
|
70
|
+
constructor(args: Args);
|
|
71
|
+
}
|
|
72
|
+
export declare function isProcessNavigationArgumentsAction(action: Action): action is ProcessNavigationArgumentsAction;
|
|
73
|
+
/**
|
|
74
|
+
* Default handler for all actions that are related to the navigation.
|
|
75
|
+
*
|
|
76
|
+
* For a `NavigateAction` this handler triggers a `RequestNavigationTargetAction` to obtain the actual
|
|
77
|
+
* navigation targets for the navigation type that is specified in the `NavigateAction`.
|
|
78
|
+
* Once the navigation targets are available, it will trigger a `NavigateToTargetAction` to actually
|
|
79
|
+
* perform the navigation.
|
|
80
|
+
*
|
|
81
|
+
* In other scenarios, clients may also trigger the `NavigateToTargetAction` directly, e.g. when opening
|
|
82
|
+
* the diagram.
|
|
83
|
+
*
|
|
84
|
+
* Depending on the URI and arguments of the navigation target we may encounter three cases:
|
|
85
|
+
* *(a)* the navigation target already specifies element IDs, in which case this action handler navigates
|
|
86
|
+
* to the specified elements directly, by the selecting them and centering them in the viewport.
|
|
87
|
+
* *(b)* the arguments of the navigation targets don't contain element IDs, but other arguments, the
|
|
88
|
+
* navigation target needs to be resolved into actual elment IDs by the `NavigationTargetResolver`.
|
|
89
|
+
* This can for instance be useful, if the navigation deals with queries or some other more complex
|
|
90
|
+
* logic that can't be dealt with on the client.
|
|
91
|
+
* *(c)* the target isn't resolved by the `NavigationTargetResolver`, e.g. because the `uri` doesn't match
|
|
92
|
+
* the URI of the current diagram. In this case, the navigation request is forwarded by dispatching
|
|
93
|
+
* a `NavigateToExternalTargetAction`.
|
|
94
|
+
*/
|
|
95
|
+
export declare class NavigationActionHandler implements IActionHandler {
|
|
96
|
+
readonly notificationTimeout = 5000;
|
|
97
|
+
protected logger: ILogger;
|
|
98
|
+
protected dispatcher: IActionDispatcher;
|
|
99
|
+
protected actionHandlerRegistryProvider: () => Promise<ActionHandlerRegistry>;
|
|
100
|
+
protected editorContextService: EditorContextServiceProvider;
|
|
101
|
+
protected resolver: NavigationTargetResolver;
|
|
102
|
+
handle(action: Action): ICommand | Action | void;
|
|
103
|
+
protected handleNavigateAction(action: NavigateAction): Promise<void>;
|
|
104
|
+
protected handleNavigateToTarget(action: NavigateToTargetAction): Promise<void>;
|
|
105
|
+
protected resolveElements(action: NavigateToTargetAction): Promise<SetResolvedNavigationTargetAction | undefined>;
|
|
106
|
+
protected containsElementIdsOrArguments(target: SetResolvedNavigationTargetAction | undefined): target is SetResolvedNavigationTargetAction;
|
|
107
|
+
protected containsElementIds(elementIds: string[] | undefined): elementIds is string[];
|
|
108
|
+
protected containsArguments(args: Args | undefined): args is Args;
|
|
109
|
+
protected navigateTo(target: SetResolvedNavigationTargetAction): void;
|
|
110
|
+
protected handleResolutionArguments(target: SetResolvedNavigationTargetAction): void;
|
|
111
|
+
protected navigateToExternal(target: NavigationTarget): Promise<void>;
|
|
112
|
+
protected processNavigationArguments(args: Args): void;
|
|
113
|
+
protected handleNavigateToExternalTarget(action: NavigateToExternalTargetAction): Promise<void>;
|
|
114
|
+
protected warnAboutFailedNavigation(msg: string, target?: NavigationTarget): void;
|
|
115
|
+
private notify;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=navigation-action-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-action-handler.d.ts","sourceRoot":"","sources":["../../../src/features/navigation/navigation-action-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.NavigationActionHandler = exports.isProcessNavigationArgumentsAction = exports.ProcessNavigationArgumentsAction = exports.isNavigateToExternalTargetAction = exports.NavigateToExternalTargetAction = exports.isNavigateToTargetAction = exports.NavigateToTargetAction = exports.isSetNavigationTargetsAction = exports.SetNavigationTargetsAction = exports.RequestNavigationTargetsAction = exports.isNavigateAction = exports.NavigateAction = void 0;
|
|
13
|
+
/********************************************************************************
|
|
14
|
+
* Copyright (c) 2020 EclipseSource and others.
|
|
15
|
+
*
|
|
16
|
+
* This program and the accompanying materials are made available under the
|
|
17
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
18
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
19
|
+
*
|
|
20
|
+
* This Source Code may also be made available under the following Secondary
|
|
21
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
22
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
23
|
+
* with the GNU Classpath Exception which is available at
|
|
24
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
25
|
+
*
|
|
26
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
27
|
+
********************************************************************************/
|
|
28
|
+
const inversify_1 = require("inversify");
|
|
29
|
+
const sprotty_1 = require("sprotty");
|
|
30
|
+
const types_1 = require("../../base/types");
|
|
31
|
+
const glsp_server_status_1 = require("../../model-source/glsp-server-status");
|
|
32
|
+
const navigation_target_resolver_1 = require("./navigation-target-resolver");
|
|
33
|
+
/**
|
|
34
|
+
* Action for triggering a navigation of a certain target type.
|
|
35
|
+
*
|
|
36
|
+
* Examples for target types could be `documentation`, `implementation`, etc.
|
|
37
|
+
* but this is up to the domain-specific diagram implementation to decide.
|
|
38
|
+
* Such an action will eventually trigger a `RequestNavigationTargetsAction`
|
|
39
|
+
* (see `NavigationActionHandler`) in order to request the navigation targets
|
|
40
|
+
* from the server.
|
|
41
|
+
*
|
|
42
|
+
* This action is typically triggered by a user action.
|
|
43
|
+
*/
|
|
44
|
+
class NavigateAction {
|
|
45
|
+
constructor(targetTypeId, args) {
|
|
46
|
+
this.targetTypeId = targetTypeId;
|
|
47
|
+
this.args = args;
|
|
48
|
+
this.kind = NavigateAction.KIND;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.NavigateAction = NavigateAction;
|
|
52
|
+
NavigateAction.KIND = 'navigate';
|
|
53
|
+
function isNavigateAction(action) {
|
|
54
|
+
return action !== undefined && (action.kind === NavigateAction.KIND)
|
|
55
|
+
&& action.targetTypeId !== undefined;
|
|
56
|
+
}
|
|
57
|
+
exports.isNavigateAction = isNavigateAction;
|
|
58
|
+
/** Action that is usually sent to the server to request navigation targets for a navigation type. */
|
|
59
|
+
class RequestNavigationTargetsAction {
|
|
60
|
+
constructor(targetTypeId, editorContext, requestId = sprotty_1.generateRequestId()) {
|
|
61
|
+
this.targetTypeId = targetTypeId;
|
|
62
|
+
this.editorContext = editorContext;
|
|
63
|
+
this.requestId = requestId;
|
|
64
|
+
this.kind = RequestNavigationTargetsAction.KIND;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.RequestNavigationTargetsAction = RequestNavigationTargetsAction;
|
|
68
|
+
RequestNavigationTargetsAction.KIND = 'requestNavigationTargets';
|
|
69
|
+
/** Action that is usually sent from the server to the client as a repsonse to a `RequestNavigationTargetsAction`. */
|
|
70
|
+
class SetNavigationTargetsAction {
|
|
71
|
+
constructor(targets, responseId = '', args) {
|
|
72
|
+
this.targets = targets;
|
|
73
|
+
this.responseId = responseId;
|
|
74
|
+
this.args = args;
|
|
75
|
+
this.kind = SetNavigationTargetsAction.KIND;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.SetNavigationTargetsAction = SetNavigationTargetsAction;
|
|
79
|
+
SetNavigationTargetsAction.KIND = 'setNavigationTargets';
|
|
80
|
+
function isSetNavigationTargetsAction(action) {
|
|
81
|
+
return action !== undefined && (action.kind === SetNavigationTargetsAction.KIND)
|
|
82
|
+
&& action.targets !== undefined;
|
|
83
|
+
}
|
|
84
|
+
exports.isSetNavigationTargetsAction = isSetNavigationTargetsAction;
|
|
85
|
+
/** Action that triggers the navigation to a particular navigation target, such as element IDs, queries, etc.. */
|
|
86
|
+
class NavigateToTargetAction {
|
|
87
|
+
constructor(target) {
|
|
88
|
+
this.target = target;
|
|
89
|
+
this.kind = NavigateToTargetAction.KIND;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.NavigateToTargetAction = NavigateToTargetAction;
|
|
93
|
+
NavigateToTargetAction.KIND = 'navigateToTarget';
|
|
94
|
+
function isNavigateToTargetAction(action) {
|
|
95
|
+
return action !== undefined && (action.kind === NavigateToTargetAction.KIND)
|
|
96
|
+
&& action.target !== undefined;
|
|
97
|
+
}
|
|
98
|
+
exports.isNavigateToTargetAction = isNavigateToTargetAction;
|
|
99
|
+
class NavigateToExternalTargetAction {
|
|
100
|
+
constructor(target) {
|
|
101
|
+
this.target = target;
|
|
102
|
+
this.kind = NavigateToExternalTargetAction.KIND;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.NavigateToExternalTargetAction = NavigateToExternalTargetAction;
|
|
106
|
+
NavigateToExternalTargetAction.KIND = 'navigateToExternalTarget';
|
|
107
|
+
function isNavigateToExternalTargetAction(action) {
|
|
108
|
+
return action !== undefined && (action.kind === NavigateToExternalTargetAction.KIND)
|
|
109
|
+
&& action.target !== undefined;
|
|
110
|
+
}
|
|
111
|
+
exports.isNavigateToExternalTargetAction = isNavigateToExternalTargetAction;
|
|
112
|
+
/** Action to trigger the processing of additional navigation arguments.
|
|
113
|
+
*
|
|
114
|
+
* The resolution of a `NavigationTarget` may entail additional arguments. In this case, this action is
|
|
115
|
+
* triggered allowing the client to react to those arguments. The default `NavigationActionHandler` will
|
|
116
|
+
* only process the arguments' keys `info`, `warning`, and `error` to present them to the user.
|
|
117
|
+
* Customizations, however, may add domain-specific arguments and register custom handler to also process
|
|
118
|
+
* other arguments and trigger some additional behavior (e.g. update other views, etc.).
|
|
119
|
+
*/
|
|
120
|
+
class ProcessNavigationArgumentsAction {
|
|
121
|
+
constructor(args) {
|
|
122
|
+
this.args = args;
|
|
123
|
+
this.kind = ProcessNavigationArgumentsAction.KIND;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
exports.ProcessNavigationArgumentsAction = ProcessNavigationArgumentsAction;
|
|
127
|
+
ProcessNavigationArgumentsAction.KIND = 'processNavigationArguments';
|
|
128
|
+
function isProcessNavigationArgumentsAction(action) {
|
|
129
|
+
return action !== undefined && (action.kind === ProcessNavigationArgumentsAction.KIND)
|
|
130
|
+
&& action.args !== undefined;
|
|
131
|
+
}
|
|
132
|
+
exports.isProcessNavigationArgumentsAction = isProcessNavigationArgumentsAction;
|
|
133
|
+
/**
|
|
134
|
+
* Default handler for all actions that are related to the navigation.
|
|
135
|
+
*
|
|
136
|
+
* For a `NavigateAction` this handler triggers a `RequestNavigationTargetAction` to obtain the actual
|
|
137
|
+
* navigation targets for the navigation type that is specified in the `NavigateAction`.
|
|
138
|
+
* Once the navigation targets are available, it will trigger a `NavigateToTargetAction` to actually
|
|
139
|
+
* perform the navigation.
|
|
140
|
+
*
|
|
141
|
+
* In other scenarios, clients may also trigger the `NavigateToTargetAction` directly, e.g. when opening
|
|
142
|
+
* the diagram.
|
|
143
|
+
*
|
|
144
|
+
* Depending on the URI and arguments of the navigation target we may encounter three cases:
|
|
145
|
+
* *(a)* the navigation target already specifies element IDs, in which case this action handler navigates
|
|
146
|
+
* to the specified elements directly, by the selecting them and centering them in the viewport.
|
|
147
|
+
* *(b)* the arguments of the navigation targets don't contain element IDs, but other arguments, the
|
|
148
|
+
* navigation target needs to be resolved into actual elment IDs by the `NavigationTargetResolver`.
|
|
149
|
+
* This can for instance be useful, if the navigation deals with queries or some other more complex
|
|
150
|
+
* logic that can't be dealt with on the client.
|
|
151
|
+
* *(c)* the target isn't resolved by the `NavigationTargetResolver`, e.g. because the `uri` doesn't match
|
|
152
|
+
* the URI of the current diagram. In this case, the navigation request is forwarded by dispatching
|
|
153
|
+
* a `NavigateToExternalTargetAction`.
|
|
154
|
+
*/
|
|
155
|
+
let NavigationActionHandler = class NavigationActionHandler {
|
|
156
|
+
constructor() {
|
|
157
|
+
this.notificationTimeout = 5000;
|
|
158
|
+
}
|
|
159
|
+
handle(action) {
|
|
160
|
+
if (isNavigateAction(action)) {
|
|
161
|
+
this.handleNavigateAction(action);
|
|
162
|
+
}
|
|
163
|
+
else if (isNavigateToTargetAction(action)) {
|
|
164
|
+
this.handleNavigateToTarget(action);
|
|
165
|
+
}
|
|
166
|
+
else if (isProcessNavigationArgumentsAction(action)) {
|
|
167
|
+
this.processNavigationArguments(action.args);
|
|
168
|
+
}
|
|
169
|
+
else if (isNavigateToExternalTargetAction(action)) {
|
|
170
|
+
this.handleNavigateToExternalTarget(action);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
async handleNavigateAction(action) {
|
|
174
|
+
try {
|
|
175
|
+
const editorContextService = await this.editorContextService();
|
|
176
|
+
const context = editorContextService.get(action.args);
|
|
177
|
+
const response = await this.dispatcher.request(new RequestNavigationTargetsAction(action.targetTypeId, context));
|
|
178
|
+
if (isSetNavigationTargetsAction(response) && response.targets && response.targets.length === 1) {
|
|
179
|
+
if (response.targets.length > 1) {
|
|
180
|
+
this.logger.warn(this, 'Processing of multiple targets is not supported yet. ' +
|
|
181
|
+
'Only the first is being processed.', response.targets);
|
|
182
|
+
}
|
|
183
|
+
return this.dispatcher.dispatch(new NavigateToTargetAction(response.targets[0]));
|
|
184
|
+
}
|
|
185
|
+
this.warnAboutFailedNavigation('No valid navigation target found');
|
|
186
|
+
}
|
|
187
|
+
catch (reason) {
|
|
188
|
+
this.logger.error(this, 'Failed to obtain navigation target', reason, action);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
async handleNavigateToTarget(action) {
|
|
192
|
+
try {
|
|
193
|
+
const resolvedElements = await this.resolveElements(action);
|
|
194
|
+
if (this.containsElementIdsOrArguments(resolvedElements)) {
|
|
195
|
+
this.navigateTo(resolvedElements);
|
|
196
|
+
this.handleResolutionArguments(resolvedElements);
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
this.navigateToExternal(action.target);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
catch (reason) {
|
|
205
|
+
this.logger.error(this, 'Failed to navigate', reason, action);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
resolveElements(action) {
|
|
209
|
+
return this.resolver.resolve(action.target);
|
|
210
|
+
}
|
|
211
|
+
containsElementIdsOrArguments(target) {
|
|
212
|
+
return target !== undefined && (this.containsElementIds(target.elementIds) || this.containsArguments(target.args));
|
|
213
|
+
}
|
|
214
|
+
containsElementIds(elementIds) {
|
|
215
|
+
return elementIds !== undefined && elementIds.length > 0;
|
|
216
|
+
}
|
|
217
|
+
containsArguments(args) {
|
|
218
|
+
return args !== undefined && args !== undefined && Object.keys(args).length > 0;
|
|
219
|
+
}
|
|
220
|
+
navigateTo(target) {
|
|
221
|
+
const elementIds = target.elementIds;
|
|
222
|
+
if (!this.containsElementIds(elementIds)) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
this.dispatcher.dispatchAll([new sprotty_1.SelectAllAction(false), new sprotty_1.SelectAction(elementIds), new sprotty_1.CenterAction(elementIds)]);
|
|
226
|
+
}
|
|
227
|
+
handleResolutionArguments(target) {
|
|
228
|
+
const args = target.args;
|
|
229
|
+
if (!this.containsArguments(args)) {
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
this.dispatcher.dispatch(new ProcessNavigationArgumentsAction(args));
|
|
233
|
+
}
|
|
234
|
+
navigateToExternal(target) {
|
|
235
|
+
return this.dispatcher.dispatch(new NavigateToExternalTargetAction(target));
|
|
236
|
+
}
|
|
237
|
+
processNavigationArguments(args) {
|
|
238
|
+
if (args.info && args.info.toString().length > 0) {
|
|
239
|
+
this.notify('INFO', args.info.toString());
|
|
240
|
+
}
|
|
241
|
+
if (args.warning && args.warning.toString().length > 0) {
|
|
242
|
+
this.notify('WARNING', args.warning.toString());
|
|
243
|
+
}
|
|
244
|
+
if (args.error && args.error.toString().length > 0) {
|
|
245
|
+
this.notify('ERROR', args.error.toString());
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
async handleNavigateToExternalTarget(action) {
|
|
249
|
+
const registry = await this.actionHandlerRegistryProvider();
|
|
250
|
+
const handlers = registry.get(NavigateToExternalTargetAction.KIND);
|
|
251
|
+
if (handlers.length === 1) {
|
|
252
|
+
// we are the only handler so we know nobody took care of it
|
|
253
|
+
this.warnAboutFailedNavigation('Could not resolve or navigate to target', action.target);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
warnAboutFailedNavigation(msg, target) {
|
|
257
|
+
const message = `${msg}` + (target ? `: '${target.uri}' (arguments: ${JSON.stringify(target.args)})` : '');
|
|
258
|
+
this.logger.warn(this, msg, target);
|
|
259
|
+
this.notify('WARNING', message);
|
|
260
|
+
}
|
|
261
|
+
notify(severity, message) {
|
|
262
|
+
const timeout = this.notificationTimeout;
|
|
263
|
+
this.dispatcher.dispatchAll([
|
|
264
|
+
{ kind: glsp_server_status_1.GLSPServerStatusAction.KIND, severity, timeout, message },
|
|
265
|
+
{ kind: glsp_server_status_1.ServerMessageAction.KIND, severity, timeout, message }
|
|
266
|
+
]);
|
|
267
|
+
}
|
|
268
|
+
};
|
|
269
|
+
__decorate([
|
|
270
|
+
inversify_1.inject(sprotty_1.TYPES.ILogger),
|
|
271
|
+
__metadata("design:type", Object)
|
|
272
|
+
], NavigationActionHandler.prototype, "logger", void 0);
|
|
273
|
+
__decorate([
|
|
274
|
+
inversify_1.inject(sprotty_1.TYPES.IActionDispatcher),
|
|
275
|
+
__metadata("design:type", Object)
|
|
276
|
+
], NavigationActionHandler.prototype, "dispatcher", void 0);
|
|
277
|
+
__decorate([
|
|
278
|
+
inversify_1.inject(sprotty_1.TYPES.ActionHandlerRegistryProvider),
|
|
279
|
+
__metadata("design:type", Function)
|
|
280
|
+
], NavigationActionHandler.prototype, "actionHandlerRegistryProvider", void 0);
|
|
281
|
+
__decorate([
|
|
282
|
+
inversify_1.inject(types_1.GLSP_TYPES.IEditorContextServiceProvider),
|
|
283
|
+
__metadata("design:type", Function)
|
|
284
|
+
], NavigationActionHandler.prototype, "editorContextService", void 0);
|
|
285
|
+
__decorate([
|
|
286
|
+
inversify_1.inject(navigation_target_resolver_1.NavigationTargetResolver),
|
|
287
|
+
__metadata("design:type", navigation_target_resolver_1.NavigationTargetResolver)
|
|
288
|
+
], NavigationActionHandler.prototype, "resolver", void 0);
|
|
289
|
+
NavigationActionHandler = __decorate([
|
|
290
|
+
inversify_1.injectable()
|
|
291
|
+
], NavigationActionHandler);
|
|
292
|
+
exports.NavigationActionHandler = NavigationActionHandler;
|
|
293
|
+
//# sourceMappingURL=navigation-action-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-action-handler.js","sourceRoot":"","sources":["../../../src/features/navigation/navigation-action-handler.ts"],"names":[],"mappings":"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"}
|