@eclipse-glsp/client 0.9.0-next.c5944e10 → 0.9.0-next.fd1a8bb6
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/lib/base/action-dispatcher.d.ts.map +1 -1
- package/lib/base/action-dispatcher.js +1 -1
- package/lib/base/action-dispatcher.js.map +1 -1
- package/lib/base/actions/context-actions.d.ts +1 -1
- package/lib/base/actions/context-actions.d.ts.map +1 -1
- package/lib/base/actions/context-actions.js +2 -3
- package/lib/base/actions/context-actions.js.map +1 -1
- package/lib/base/actions/edit-mode-action.d.ts.map +1 -1
- package/lib/base/actions/edit-mode-action.js +2 -3
- package/lib/base/actions/edit-mode-action.js.map +1 -1
- package/lib/base/actions/edit-validation-actions.d.ts +1 -1
- package/lib/base/actions/edit-validation-actions.d.ts.map +1 -1
- package/lib/base/actions/edit-validation-actions.js +13 -10
- package/lib/base/actions/edit-validation-actions.js.map +1 -1
- package/lib/base/actions/focus-change-action.js.map +1 -1
- package/lib/base/args.d.ts +1 -1
- package/lib/base/args.d.ts.map +1 -1
- package/lib/base/args.js.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.d.ts +1 -1
- package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.js +4 -5
- package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
- package/lib/base/auto-complete/validation-decorator.d.ts +1 -1
- package/lib/base/auto-complete/validation-decorator.js +1 -1
- package/lib/base/auto-complete/validation-decorator.js.map +1 -1
- package/lib/base/command-stack.d.ts.map +1 -1
- package/lib/base/command-stack.js +1 -1
- package/lib/base/command-stack.js.map +1 -1
- package/lib/base/di.config.d.ts.map +1 -1
- package/lib/base/di.config.js.map +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
- package/lib/base/drag-aware-mouse-listener.js +1 -1
- package/lib/base/drag-aware-mouse-listener.js.map +1 -1
- package/lib/base/editor-context.d.ts.map +1 -1
- package/lib/base/editor-context.js +1 -1
- package/lib/base/editor-context.js.map +1 -1
- package/lib/base/focus-tracker.d.ts.map +1 -1
- package/lib/base/focus-tracker.js.map +1 -1
- package/lib/base/model/update-model-command.d.ts.map +1 -1
- package/lib/base/model/update-model-command.js +4 -5
- package/lib/base/model/update-model-command.js.map +1 -1
- package/lib/base/operations/operation.d.ts +1 -1
- package/lib/base/operations/operation.d.ts.map +1 -1
- package/lib/base/operations/operation.js +19 -10
- package/lib/base/operations/operation.js.map +1 -1
- package/lib/features/change-bounds/model.d.ts +1 -1
- package/lib/features/change-bounds/model.d.ts.map +1 -1
- package/lib/features/change-bounds/model.js +2 -1
- package/lib/features/change-bounds/model.js.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +4 -2
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.js +1 -1
- package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
- package/lib/features/context-menu/di.config.d.ts +1 -1
- package/lib/features/context-menu/di.config.d.ts.map +1 -1
- package/lib/features/context-menu/di.config.js +1 -1
- package/lib/features/context-menu/di.config.js.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +2 -3
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.js +5 -2
- package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-actions.d.ts +1 -1
- package/lib/features/copy-paste/copy-paste-actions.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-actions.js +1 -1
- package/lib/features/copy-paste/copy-paste-actions.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.js +17 -8
- package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.js +4 -4
- package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
- package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
- package/lib/features/decoration/decoration-placer.js +1 -1
- package/lib/features/decoration/decoration-placer.js.map +1 -1
- package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
- package/lib/features/edit-label/edit-label-validator.js +1 -1
- package/lib/features/edit-label/edit-label-validator.js.map +1 -1
- package/lib/features/hints/model.d.ts +1 -1
- package/lib/features/hints/model.d.ts.map +1 -1
- package/lib/features/hints/request-type-hints-action.d.ts +1 -1
- package/lib/features/hints/request-type-hints-action.d.ts.map +1 -1
- package/lib/features/hints/request-type-hints-action.js +4 -2
- package/lib/features/hints/request-type-hints-action.js.map +1 -1
- package/lib/features/hints/type-hints.d.ts +4 -4
- package/lib/features/hints/type-hints.d.ts.map +1 -1
- package/lib/features/hints/type-hints.js +6 -11
- package/lib/features/hints/type-hints.js.map +1 -1
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +1 -1
- package/lib/features/hover/hover.js.map +1 -1
- package/lib/features/layout/layout-commands.d.ts +2 -2
- package/lib/features/layout/layout-commands.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.js +9 -8
- package/lib/features/layout/layout-commands.js.map +1 -1
- package/lib/features/layout/layout-commands.spec.d.ts +1 -1
- package/lib/features/layout/layout-commands.spec.js +15 -6
- package/lib/features/layout/layout-commands.spec.js.map +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action.d.ts +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action.js.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js +1 -1
- package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
- package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
- package/lib/features/navigation/navigation-action-handler.js +13 -13
- package/lib/features/navigation/navigation-action-handler.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.js +6 -6
- package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.d.ts +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.js +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
- package/lib/features/rank/model.d.ts +1 -1
- package/lib/features/rank/model.js +2 -2
- package/lib/features/rank/model.js.map +1 -1
- package/lib/features/reconnect/model.d.ts +1 -1
- package/lib/features/reconnect/model.d.ts.map +1 -1
- package/lib/features/reconnect/model.js +1 -1
- package/lib/features/reconnect/model.js.map +1 -1
- package/lib/features/save/di.config.d.ts +1 -1
- package/lib/features/save/di.config.d.ts.map +1 -1
- package/lib/features/save/di.config.js +1 -1
- package/lib/features/save/di.config.js.map +1 -1
- package/lib/features/save/save.d.ts +1 -1
- package/lib/features/save/save.js +1 -1
- package/lib/features/save/save.js.map +1 -1
- package/lib/features/select/select-feedback-action.d.ts.map +1 -1
- package/lib/features/select/select-feedback-action.js +1 -1
- package/lib/features/select/select-feedback-action.js.map +1 -1
- package/lib/features/select/selection-service.d.ts.map +1 -1
- package/lib/features/select/selection-service.js +11 -6
- package/lib/features/select/selection-service.js.map +1 -1
- package/lib/features/select/selection-service.spec.js +2 -2
- package/lib/features/select/selection-service.spec.js.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +3 -9
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +1 -2
- package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/css-feedback.js +2 -1
- package/lib/features/tool-feedback/css-feedback.js.map +1 -1
- package/lib/features/tool-feedback/di.config.d.ts +1 -1
- package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
- package/lib/features/tool-feedback/di.config.js +1 -1
- package/lib/features/tool-feedback/di.config.js.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +3 -3
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +2 -2
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.js +2 -2
- package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/model.d.ts +1 -1
- package/lib/features/tool-feedback/model.js +1 -1
- package/lib/features/tool-feedback/view.d.ts +3 -3
- package/lib/features/tool-feedback/view.d.ts.map +1 -1
- package/lib/features/tool-feedback/view.js +5 -5
- package/lib/features/tool-feedback/view.js.map +1 -1
- package/lib/features/tool-palette/palette-item.d.ts +1 -1
- package/lib/features/tool-palette/palette-item.d.ts.map +1 -1
- package/lib/features/tool-palette/palette-item.js +3 -2
- package/lib/features/tool-palette/palette-item.js.map +1 -1
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +4 -6
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds-tool.js +13 -7
- package/lib/features/tools/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/delete-tool.d.ts.map +1 -1
- package/lib/features/tools/delete-tool.js +6 -3
- package/lib/features/tools/delete-tool.js.map +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-creation-tool.js +4 -3
- package/lib/features/tools/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit-tool.js +2 -6
- package/lib/features/tools/edge-edit-tool.js.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.js +35 -25
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
- package/lib/features/tools/marquee-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-tool.js.map +1 -1
- package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/node-creation-tool.js +3 -3
- package/lib/features/tools/node-creation-tool.js.map +1 -1
- package/lib/features/tools/view.d.ts.map +1 -1
- package/lib/features/tools/view.js +2 -2
- package/lib/features/tools/view.js.map +1 -1
- package/lib/features/undo-redo/model.d.ts +1 -1
- package/lib/features/undo-redo/model.js.map +1 -1
- package/lib/features/validation/marker-navigator.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.js +11 -4
- package/lib/features/validation/marker-navigator.js.map +1 -1
- package/lib/features/validation/marker-navigator.spec.d.ts +1 -1
- package/lib/features/validation/marker-navigator.spec.js +13 -7
- package/lib/features/validation/marker-navigator.spec.js.map +1 -1
- package/lib/features/validation/validate.d.ts +2 -2
- package/lib/features/validation/validate.d.ts.map +1 -1
- package/lib/features/validation/validate.js +4 -4
- package/lib/features/validation/validate.js.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/utils/argument-utils.d.ts +3 -3
- package/lib/utils/argument-utils.d.ts.map +1 -1
- package/lib/utils/argument-utils.js +1 -3
- package/lib/utils/argument-utils.js.map +1 -1
- package/lib/utils/array-utils.d.ts +1 -1
- package/lib/utils/array-utils.d.ts.map +1 -1
- package/lib/utils/array-utils.js +1 -1
- package/lib/utils/array-utils.js.map +1 -1
- package/lib/utils/layout-utils.d.ts +1 -1
- package/lib/utils/layout-utils.d.ts.map +1 -1
- package/lib/utils/layout-utils.js.map +1 -1
- package/lib/utils/smodel-util.d.ts +3 -3
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +5 -6
- package/lib/utils/smodel-util.js.map +1 -1
- package/lib/utils/viewpoint-util.d.ts +1 -1
- package/lib/utils/viewpoint-util.d.ts.map +1 -1
- package/lib/utils/viewpoint-util.js +1 -1
- package/lib/utils/viewpoint-util.js.map +1 -1
- package/lib/views/glsp-edge-view.d.ts.map +1 -1
- package/lib/views/glsp-edge-view.js +3 -3
- package/lib/views/glsp-edge-view.js.map +1 -1
- package/lib/views/issue-marker-view.d.ts.map +1 -1
- package/lib/views/issue-marker-view.js +3 -3
- package/lib/views/issue-marker-view.js.map +1 -1
- package/lib/views/rounded-corner-view.d.ts.map +1 -1
- package/lib/views/rounded-corner-view.js +3 -3
- package/lib/views/rounded-corner-view.js.map +1 -1
- package/lib/views/rounded-corner.d.ts.map +1 -1
- package/lib/views/rounded-corner.js +2 -2
- package/lib/views/rounded-corner.js.map +1 -1
- package/package.json +3 -3
- package/src/base/action-dispatcher.ts +1 -2
- package/src/base/actions/context-actions.ts +6 -6
- package/src/base/actions/edit-mode-action.ts +3 -4
- package/src/base/actions/edit-validation-actions.ts +26 -14
- package/src/base/actions/focus-change-action.ts +1 -1
- package/src/base/args.ts +4 -2
- package/src/base/auto-complete/auto-complete-widget.ts +34 -21
- package/src/base/auto-complete/validation-decorator.ts +5 -5
- package/src/base/command-stack.ts +1 -3
- package/src/base/di.config.ts +11 -16
- package/src/base/drag-aware-mouse-listener.ts +1 -3
- package/src/base/editor-context.ts +2 -4
- package/src/base/focus-tracker.ts +0 -2
- package/src/base/model/update-model-command.ts +4 -5
- package/src/base/operations/operation.ts +54 -27
- package/src/features/change-bounds/model.ts +7 -5
- package/src/features/change-bounds/movement-restrictor.ts +15 -7
- package/src/features/command-palette/server-command-palette-provider.ts +8 -5
- package/src/features/context-menu/di.config.ts +11 -8
- package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +4 -3
- package/src/features/context-menu/server-context-menu-provider.ts +7 -3
- package/src/features/copy-paste/copy-paste-actions.ts +11 -8
- package/src/features/copy-paste/copy-paste-context-menu.ts +20 -11
- package/src/features/copy-paste/copy-paste-handler.ts +6 -5
- package/src/features/decoration/decoration-placer.ts +2 -13
- package/src/features/edit-label/edit-label-validator.ts +11 -12
- package/src/features/hints/model.ts +2 -2
- package/src/features/hints/request-type-hints-action.ts +10 -5
- package/src/features/hints/type-hints.ts +26 -30
- package/src/features/hover/hover.ts +1 -2
- package/src/features/layout/layout-commands.spec.ts +79 -56
- package/src/features/layout/layout-commands.ts +42 -31
- package/src/features/model-source-watcher/model-source-changed-action-handler.ts +3 -3
- package/src/features/model-source-watcher/model-source-changed-action.ts +2 -2
- package/src/features/mouse-tool/mouse-tool.ts +15 -8
- package/src/features/navigation/navigation-action-handler.ts +32 -22
- package/src/features/navigation/navigation-target-resolver.spec.ts +1 -3
- package/src/features/navigation/navigation-target-resolver.ts +14 -12
- package/src/features/rank/model.ts +2 -2
- package/src/features/reconnect/model.ts +2 -3
- package/src/features/save/di.config.ts +1 -2
- package/src/features/save/save.ts +2 -2
- package/src/features/select/select-feedback-action.ts +4 -6
- package/src/features/select/selection-service.spec.ts +9 -4
- package/src/features/select/selection-service.ts +13 -5
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +5 -12
- package/src/features/tool-feedback/creation-tool-feedback.ts +16 -7
- package/src/features/tool-feedback/css-feedback.ts +4 -3
- package/src/features/tool-feedback/di.config.ts +2 -5
- package/src/features/tool-feedback/edge-edit-tool-feedback.ts +17 -14
- package/src/features/tool-feedback/feedback-action-dispatcher.ts +6 -8
- package/src/features/tool-feedback/marquee-tool-feedback.ts +3 -2
- package/src/features/tool-feedback/model.ts +1 -2
- package/src/features/tool-feedback/view.tsx +13 -6
- package/src/features/tool-palette/palette-item.ts +3 -3
- package/src/features/tool-palette/tool-palette.ts +12 -14
- package/src/features/tools/change-bounds-tool.ts +29 -17
- package/src/features/tools/delete-tool.ts +8 -3
- package/src/features/tools/edge-creation-tool.ts +5 -8
- package/src/features/tools/edge-edit-tool.ts +7 -16
- package/src/features/tools/marquee-mouse-tool.ts +57 -37
- package/src/features/tools/marquee-tool.ts +0 -1
- package/src/features/tools/node-creation-tool.ts +4 -9
- package/src/features/tools/view.tsx +14 -8
- package/src/features/undo-redo/model.ts +3 -3
- package/src/features/validation/marker-navigator.spec.ts +15 -9
- package/src/features/validation/marker-navigator.ts +23 -8
- package/src/features/validation/validate.ts +9 -13
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +1 -10
- package/src/index.ts +21 -4
- package/src/utils/argument-utils.ts +13 -9
- package/src/utils/array-utils.ts +4 -2
- package/src/utils/layout-utils.ts +11 -5
- package/src/utils/smodel-util.ts +14 -10
- package/src/utils/viewpoint-util.ts +3 -2
- package/src/views/glsp-edge-view.tsx +17 -8
- package/src/views/issue-marker-view.tsx +8 -8
- package/src/views/rounded-corner-view.tsx +35 -20
- package/src/views/rounded-corner.ts +3 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -26,12 +26,16 @@ export namespace ServerContextMenu {
|
|
|
26
26
|
|
|
27
27
|
@injectable()
|
|
28
28
|
export class ServerContextMenuItemProvider implements IContextMenuItemProvider {
|
|
29
|
-
|
|
30
29
|
@inject(TYPES.IActionDispatcher) protected actionDispatcher: GLSPActionDispatcher;
|
|
31
30
|
@inject(EditorContextService) protected editorContext: EditorContextService;
|
|
32
31
|
|
|
33
32
|
getItems(root: Readonly<SModelElement>, lastMousePosition?: Point): Promise<LabeledAction[]> {
|
|
34
|
-
const selectedElementIds = Array.from(
|
|
33
|
+
const selectedElementIds = Array.from(
|
|
34
|
+
root.index
|
|
35
|
+
.all()
|
|
36
|
+
.filter(isSelected)
|
|
37
|
+
.map(e => e.id)
|
|
38
|
+
);
|
|
35
39
|
const context = this.editorContext.getWithSelection(selectedElementIds);
|
|
36
40
|
const requestAction = new RequestContextActions(ServerContextMenu.CONTEXT_ID, context);
|
|
37
41
|
return this.actionDispatcher.requestUntil(requestAction).then(response => this.getContextActionsFromResponse(response));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -21,9 +21,7 @@ import { Operation } from '../../base/operations/operation';
|
|
|
21
21
|
export class CutOperation implements Operation {
|
|
22
22
|
static readonly KIND = 'cut';
|
|
23
23
|
|
|
24
|
-
constructor(
|
|
25
|
-
public readonly editorContext: EditorContext,
|
|
26
|
-
public readonly kind: string = CutOperation.KIND) { }
|
|
24
|
+
constructor(public readonly editorContext: EditorContext, public readonly kind: string = CutOperation.KIND) {}
|
|
27
25
|
}
|
|
28
26
|
|
|
29
27
|
export class PasteOperation implements Operation {
|
|
@@ -32,7 +30,8 @@ export class PasteOperation implements Operation {
|
|
|
32
30
|
constructor(
|
|
33
31
|
public readonly clipboardData: ClipboardData,
|
|
34
32
|
public readonly editorContext: EditorContext,
|
|
35
|
-
public readonly kind: string = PasteOperation.KIND
|
|
33
|
+
public readonly kind: string = PasteOperation.KIND
|
|
34
|
+
) {}
|
|
36
35
|
}
|
|
37
36
|
|
|
38
37
|
export class RequestClipboardDataAction implements RequestAction<SetClipboardDataAction> {
|
|
@@ -41,14 +40,17 @@ export class RequestClipboardDataAction implements RequestAction<SetClipboardDat
|
|
|
41
40
|
constructor(
|
|
42
41
|
public readonly editorContext: EditorContext,
|
|
43
42
|
public readonly requestId: string = generateRequestId(),
|
|
44
|
-
public readonly kind: string = RequestClipboardDataAction.KIND
|
|
43
|
+
public readonly kind: string = RequestClipboardDataAction.KIND
|
|
44
|
+
) {}
|
|
45
45
|
|
|
46
46
|
static create(editorContext: EditorContext): RequestAction<SetClipboardDataAction> {
|
|
47
47
|
return new RequestClipboardDataAction(editorContext);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
export interface ClipboardData {
|
|
51
|
+
export interface ClipboardData {
|
|
52
|
+
[format: string]: string;
|
|
53
|
+
}
|
|
52
54
|
|
|
53
55
|
export class SetClipboardDataAction implements ResponseAction {
|
|
54
56
|
static readonly KIND = 'setClipboardData';
|
|
@@ -56,5 +58,6 @@ export class SetClipboardDataAction implements ResponseAction {
|
|
|
56
58
|
constructor(
|
|
57
59
|
public readonly clipboardData: ClipboardData,
|
|
58
60
|
public readonly responseId: string = '',
|
|
59
|
-
public readonly kind: string = SetClipboardDataAction.KIND
|
|
61
|
+
public readonly kind: string = SetClipboardDataAction.KIND
|
|
62
|
+
) {}
|
|
60
63
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2020-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -30,17 +30,17 @@ import { GLSPServerStatusAction, ServerMessageAction } from '../../model-source/
|
|
|
30
30
|
|
|
31
31
|
export class InvokeCopyAction implements Action {
|
|
32
32
|
static readonly KIND = 'invoke-copy';
|
|
33
|
-
constructor(public readonly kind = InvokeCopyAction.KIND) {
|
|
33
|
+
constructor(public readonly kind = InvokeCopyAction.KIND) {}
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
export class InvokePasteAction implements Action {
|
|
37
37
|
static readonly KIND = 'invoke-paste';
|
|
38
|
-
constructor(public readonly kind = InvokePasteAction.KIND) {
|
|
38
|
+
constructor(public readonly kind = InvokePasteAction.KIND) {}
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
export class InvokeCutAction implements Action {
|
|
42
42
|
static readonly KIND = 'invoke-cut';
|
|
43
|
-
constructor(public readonly kind = InvokeCutAction.KIND) {
|
|
43
|
+
constructor(public readonly kind = InvokeCutAction.KIND) {}
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
@injectable()
|
|
@@ -96,22 +96,31 @@ export class CopyPasteContextMenuItemProvider implements IContextMenuItemProvide
|
|
|
96
96
|
|
|
97
97
|
protected createPasteMenuItem(): MenuItem {
|
|
98
98
|
return {
|
|
99
|
-
id: 'paste',
|
|
100
|
-
|
|
99
|
+
id: 'paste',
|
|
100
|
+
label: 'Paste',
|
|
101
|
+
group: 'copy-paste',
|
|
102
|
+
actions: [new InvokePasteAction()],
|
|
103
|
+
isEnabled: () => true
|
|
101
104
|
};
|
|
102
105
|
}
|
|
103
106
|
|
|
104
107
|
protected createCutMenuItem(hasSelectedElements: boolean): MenuItem {
|
|
105
108
|
return {
|
|
106
|
-
id: 'cut',
|
|
107
|
-
|
|
109
|
+
id: 'cut',
|
|
110
|
+
label: 'Cut',
|
|
111
|
+
group: 'copy-paste',
|
|
112
|
+
actions: [new InvokeCutAction()],
|
|
113
|
+
isEnabled: () => hasSelectedElements
|
|
108
114
|
};
|
|
109
115
|
}
|
|
110
116
|
|
|
111
117
|
protected createCopyMenuItem(hasSelectedElements: boolean): MenuItem {
|
|
112
118
|
return {
|
|
113
|
-
id: 'copy',
|
|
114
|
-
|
|
119
|
+
id: 'copy',
|
|
120
|
+
label: 'Copy',
|
|
121
|
+
group: 'copy-paste',
|
|
122
|
+
actions: [new InvokeCopyAction()],
|
|
123
|
+
isEnabled: () => hasSelectedElements
|
|
115
124
|
};
|
|
116
125
|
}
|
|
117
126
|
}
|
|
@@ -125,7 +134,7 @@ export function supportsCut(): boolean {
|
|
|
125
134
|
}
|
|
126
135
|
|
|
127
136
|
export function supportsPaste(): boolean {
|
|
128
|
-
const isChrome =
|
|
137
|
+
const isChrome = userAgent().indexOf('Chrome') >= 0;
|
|
129
138
|
return isNative() || (!isChrome && document.queryCommandSupported('paste'));
|
|
130
139
|
}
|
|
131
140
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -95,7 +95,6 @@ const CLIPBOARD_DATA_FORMAT = 'text/plain';
|
|
|
95
95
|
|
|
96
96
|
@injectable()
|
|
97
97
|
export class ServerCopyPasteHandler implements ICopyPasteHandler {
|
|
98
|
-
|
|
99
98
|
@inject(TYPES.IActionDispatcher) protected actionDispatcher: GLSPActionDispatcher;
|
|
100
99
|
@inject(TYPES.ViewerOptions) protected viewerOptions: ViewerOptions;
|
|
101
100
|
@inject(GLSP_TYPES.IAsyncClipboardService) protected clipboadService: IAsyncClipboardService;
|
|
@@ -145,8 +144,10 @@ export class ServerCopyPasteHandler implements ICopyPasteHandler {
|
|
|
145
144
|
}
|
|
146
145
|
|
|
147
146
|
private isDiagramActive(): boolean | null {
|
|
148
|
-
return
|
|
149
|
-
|
|
150
|
-
|
|
147
|
+
return (
|
|
148
|
+
document.activeElement instanceof SVGElement &&
|
|
149
|
+
document.activeElement.parentElement &&
|
|
150
|
+
document.activeElement.parentElement.id === this.viewerOptions.baseDiv
|
|
151
|
+
);
|
|
151
152
|
}
|
|
152
153
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2020-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -14,20 +14,10 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { injectable } from 'inversify';
|
|
17
|
-
import {
|
|
18
|
-
Decoration,
|
|
19
|
-
DecorationPlacer,
|
|
20
|
-
isSizeable,
|
|
21
|
-
ORIGIN_POINT,
|
|
22
|
-
Point,
|
|
23
|
-
SChildElement,
|
|
24
|
-
SModelElement,
|
|
25
|
-
SRoutableElement
|
|
26
|
-
} from 'sprotty';
|
|
17
|
+
import { Decoration, DecorationPlacer, isSizeable, ORIGIN_POINT, Point, SChildElement, SModelElement, SRoutableElement } from 'sprotty';
|
|
27
18
|
|
|
28
19
|
@injectable()
|
|
29
20
|
export class GlspDecorationPlacer extends DecorationPlacer {
|
|
30
|
-
|
|
31
21
|
protected static readonly DECORATION_OFFSET: Point = { x: 12, y: 10 };
|
|
32
22
|
|
|
33
23
|
protected getPosition(element: SModelElement & Decoration): Point {
|
|
@@ -42,5 +32,4 @@ export class GlspDecorationPlacer extends DecorationPlacer {
|
|
|
42
32
|
}
|
|
43
33
|
return ORIGIN_POINT;
|
|
44
34
|
}
|
|
45
|
-
|
|
46
35
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -26,11 +26,7 @@ import {
|
|
|
26
26
|
} from 'sprotty';
|
|
27
27
|
|
|
28
28
|
import { GLSPActionDispatcher } from '../../base/action-dispatcher';
|
|
29
|
-
import {
|
|
30
|
-
isSetEditValidationResultAction,
|
|
31
|
-
RequestEditValidationAction,
|
|
32
|
-
ValidationStatus
|
|
33
|
-
} from '../../base/actions/edit-validation-actions';
|
|
29
|
+
import { isSetEditValidationResultAction, RequestEditValidationAction, ValidationStatus } from '../../base/actions/edit-validation-actions';
|
|
34
30
|
|
|
35
31
|
export namespace LabelEditValidation {
|
|
36
32
|
export const CONTEXT_ID = 'label-edit';
|
|
@@ -55,7 +51,6 @@ export class ValidateLabelEditAction extends RequestEditValidationAction {
|
|
|
55
51
|
|
|
56
52
|
@injectable()
|
|
57
53
|
export class ServerEditLabelValidator implements IEditLabelValidator {
|
|
58
|
-
|
|
59
54
|
@inject(TYPES.IActionDispatcher) protected actionDispatcher: GLSPActionDispatcher;
|
|
60
55
|
|
|
61
56
|
validate(value: string, label: EditableLabel & SModelElement): Promise<EditLabelValidationResult> {
|
|
@@ -69,12 +64,10 @@ export class ServerEditLabelValidator implements IEditLabelValidator {
|
|
|
69
64
|
}
|
|
70
65
|
return { severity: 'ok' as Severity };
|
|
71
66
|
}
|
|
72
|
-
|
|
73
67
|
}
|
|
74
68
|
|
|
75
69
|
@injectable()
|
|
76
70
|
export class BalloonLabelValidationDecorator implements IEditLabelValidationDecorator {
|
|
77
|
-
|
|
78
71
|
decorate(input: HTMLInputElement, result: EditLabelValidationResult): void {
|
|
79
72
|
const containerElement = input.parentElement;
|
|
80
73
|
if (!containerElement) {
|
|
@@ -86,9 +79,15 @@ export class BalloonLabelValidationDecorator implements IEditLabelValidationDeco
|
|
|
86
79
|
containerElement.setAttribute('data-balloon-visible', 'true');
|
|
87
80
|
}
|
|
88
81
|
switch (result.severity) {
|
|
89
|
-
case 'ok':
|
|
90
|
-
|
|
91
|
-
|
|
82
|
+
case 'ok':
|
|
83
|
+
containerElement.classList.add('validation-ok');
|
|
84
|
+
break;
|
|
85
|
+
case 'warning':
|
|
86
|
+
containerElement.classList.add('validation-warning');
|
|
87
|
+
break;
|
|
88
|
+
case 'error':
|
|
89
|
+
containerElement.classList.add('validation-error');
|
|
90
|
+
break;
|
|
92
91
|
}
|
|
93
92
|
}
|
|
94
93
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -27,7 +27,7 @@ export function isContainable(element: SModelElement): element is SModelElement
|
|
|
27
27
|
|
|
28
28
|
export const reparentFeature = Symbol('reparentFeature');
|
|
29
29
|
|
|
30
|
-
export interface Reparentable extends SModelExtension {
|
|
30
|
+
export interface Reparentable extends SModelExtension {}
|
|
31
31
|
|
|
32
32
|
export function isReparentable(element: SModelElement): element is SModelElement & Reparentable {
|
|
33
33
|
return element.hasFeature(reparentFeature);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -19,7 +19,7 @@ import { EdgeTypeHint, ShapeTypeHint } from './type-hints';
|
|
|
19
19
|
|
|
20
20
|
export class RequestTypeHintsAction implements Action {
|
|
21
21
|
static readonly KIND = 'requestTypeHints';
|
|
22
|
-
constructor(public readonly diagramType?: string, public readonly kind: string = RequestTypeHintsAction.KIND) {
|
|
22
|
+
constructor(public readonly diagramType?: string, public readonly kind: string = RequestTypeHintsAction.KIND) {}
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
export class SetTypeHintsAction implements Action {
|
|
@@ -27,10 +27,15 @@ export class SetTypeHintsAction implements Action {
|
|
|
27
27
|
constructor(
|
|
28
28
|
public readonly shapeHints: ShapeTypeHint[],
|
|
29
29
|
public readonly edgeHints: EdgeTypeHint[],
|
|
30
|
-
public readonly kind: string = SetTypeHintsAction.KIND
|
|
30
|
+
public readonly kind: string = SetTypeHintsAction.KIND
|
|
31
|
+
) {}
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
export function isSetTypeHintsAction(action: Action): action is SetTypeHintsAction {
|
|
34
|
-
return
|
|
35
|
-
|
|
35
|
+
return (
|
|
36
|
+
action !== undefined &&
|
|
37
|
+
action.kind === SetTypeHintsAction.KIND &&
|
|
38
|
+
(action as SetTypeHintsAction).shapeHints !== undefined &&
|
|
39
|
+
(action as SetTypeHintsAction).edgeHints !== undefined
|
|
40
|
+
);
|
|
36
41
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -50,8 +50,8 @@ export abstract class TypeHint {
|
|
|
50
50
|
readonly elementTypeId: string;
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
* Specifies whether the element can be relocated.
|
|
54
|
+
*/
|
|
55
55
|
readonly repositionable: boolean;
|
|
56
56
|
|
|
57
57
|
/**
|
|
@@ -89,14 +89,13 @@ export class EdgeTypeHint extends TypeHint {
|
|
|
89
89
|
readonly sourceElementTypeIds: string[];
|
|
90
90
|
|
|
91
91
|
/**
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
* Allowed targe element types for this edge type
|
|
93
|
+
*/
|
|
94
94
|
readonly targetElementTypeIds: string[];
|
|
95
95
|
|
|
96
96
|
isAllowedSource(input: SModelElement | SModelElementSchema | string): boolean {
|
|
97
97
|
const type = getElementTypeId(input);
|
|
98
98
|
return this.sourceElementTypeIds.includes(type);
|
|
99
|
-
|
|
100
99
|
}
|
|
101
100
|
isAllowedTarget(input: SModelElement | SModelElementSchema | string): boolean {
|
|
102
101
|
const type = getElementTypeId(input);
|
|
@@ -111,7 +110,6 @@ export class ApplyTypeHintsAction implements Action {
|
|
|
111
110
|
|
|
112
111
|
@injectable()
|
|
113
112
|
export class ApplyTypeHintsCommand extends FeedbackCommand {
|
|
114
|
-
|
|
115
113
|
public static KIND = 'applyTypeHints';
|
|
116
114
|
public readonly priority = 10;
|
|
117
115
|
|
|
@@ -122,15 +120,13 @@ export class ApplyTypeHintsCommand extends FeedbackCommand {
|
|
|
122
120
|
}
|
|
123
121
|
|
|
124
122
|
execute(context: CommandExecutionContext): CommandReturn {
|
|
125
|
-
context.root.index.all()
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
});
|
|
123
|
+
context.root.index.all().forEach(element => {
|
|
124
|
+
if (element instanceof SShapeElement || element instanceof SModelRoot) {
|
|
125
|
+
this.applyShapeTypeHint(element);
|
|
126
|
+
} else if (element instanceof SEdge) {
|
|
127
|
+
return this.applyEdgeTypeHint(element);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
134
130
|
return context.root;
|
|
135
131
|
}
|
|
136
132
|
|
|
@@ -167,18 +163,14 @@ export class ApplyTypeHintsCommand extends FeedbackCommand {
|
|
|
167
163
|
function createConnectable(validSourceEdges: string[], validTargetEdges: string[]): Connectable {
|
|
168
164
|
return {
|
|
169
165
|
canConnect: (routable, role) =>
|
|
170
|
-
role === 'source' ?
|
|
171
|
-
validSourceEdges.includes(routable.type) :
|
|
172
|
-
validTargetEdges.includes(routable.type)
|
|
166
|
+
role === 'source' ? validSourceEdges.includes(routable.type) : validTargetEdges.includes(routable.type)
|
|
173
167
|
};
|
|
174
168
|
}
|
|
175
169
|
|
|
176
170
|
function createContainable(hint: ShapeTypeHint): Containable {
|
|
177
171
|
return {
|
|
178
172
|
isContainableElement: element =>
|
|
179
|
-
hint.containableElementTypeIds ?
|
|
180
|
-
hint.containableElementTypeIds.includes(getElementTypeId(element)) :
|
|
181
|
-
false
|
|
173
|
+
hint.containableElementTypeIds ? hint.containableElementTypeIds.includes(getElementTypeId(element)) : false
|
|
182
174
|
};
|
|
183
175
|
}
|
|
184
176
|
|
|
@@ -202,12 +194,11 @@ export interface ITypeHintProvider {
|
|
|
202
194
|
|
|
203
195
|
@injectable()
|
|
204
196
|
export class TypeHintProvider implements IActionHandler, ITypeHintProvider {
|
|
205
|
-
|
|
206
197
|
@inject(GLSP_TYPES.IFeedbackActionDispatcher)
|
|
207
198
|
protected feedbackActionDispatcher: IFeedbackActionDispatcher;
|
|
208
199
|
|
|
209
|
-
protected shapeHints: Map<string, ShapeTypeHint> = new Map;
|
|
210
|
-
protected edgeHints: Map<string, EdgeTypeHint> = new Map;
|
|
200
|
+
protected shapeHints: Map<string, ShapeTypeHint> = new Map();
|
|
201
|
+
protected edgeHints: Map<string, EdgeTypeHint> = new Map();
|
|
211
202
|
|
|
212
203
|
handle(action: Action): ICommand | Action | void {
|
|
213
204
|
if (isSetTypeHintsAction(action)) {
|
|
@@ -222,13 +213,19 @@ export class TypeHintProvider implements IActionHandler, ITypeHintProvider {
|
|
|
222
213
|
if (role === 'source') {
|
|
223
214
|
return Array.from(
|
|
224
215
|
Array.from(this.edgeHints.values())
|
|
225
|
-
.filter(hint =>
|
|
226
|
-
|
|
216
|
+
.filter(hint =>
|
|
217
|
+
hint.sourceElementTypeIds.some(sourceElementTypeId => hasCompatibleType(elementTypeId, sourceElementTypeId))
|
|
218
|
+
)
|
|
219
|
+
.map(hint => hint.elementTypeId)
|
|
220
|
+
);
|
|
227
221
|
} else {
|
|
228
222
|
return Array.from(
|
|
229
223
|
Array.from(this.edgeHints.values())
|
|
230
|
-
.filter(hint =>
|
|
231
|
-
|
|
224
|
+
.filter(hint =>
|
|
225
|
+
hint.targetElementTypeIds.some(targetElementTypeId => hasCompatibleType(elementTypeId, targetElementTypeId))
|
|
226
|
+
)
|
|
227
|
+
.map(hint => hint.elementTypeId)
|
|
228
|
+
);
|
|
232
229
|
}
|
|
233
230
|
}
|
|
234
231
|
|
|
@@ -254,4 +251,3 @@ function getTypeHint<T extends TypeHint>(input: SModelElement | SModelElement |
|
|
|
254
251
|
}
|
|
255
252
|
return hint;
|
|
256
253
|
}
|
|
257
|
-
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020 EclipseSource and others.
|
|
2
|
+
* Copyright (c) 2020-2021 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -33,7 +33,6 @@ import { GIssueMarker } from '../validation/issue-marker';
|
|
|
33
33
|
|
|
34
34
|
@injectable()
|
|
35
35
|
export class GlspHoverMouseListener extends HoverMouseListener {
|
|
36
|
-
|
|
37
36
|
protected startMouseOverTimer(target: SModelElement, event: MouseEvent): Promise<Action> {
|
|
38
37
|
this.stopMouseOverTimer();
|
|
39
38
|
return new Promise(resolve => {
|