@eclipse-glsp/client 0.10.0-next.e5fcffe.169 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/decoration.css +5 -1
- package/css/glsp-sprotty.css +39 -0
- package/css/tool-palette.css +2 -2
- package/lib/base/container-modules.d.ts.map +1 -1
- package/lib/base/container-modules.js +10 -9
- package/lib/base/container-modules.js.map +1 -1
- package/lib/base/editor-context-service.d.ts +2 -3
- package/lib/base/editor-context-service.d.ts.map +1 -1
- package/lib/base/editor-context-service.js +11 -12
- package/lib/base/editor-context-service.js.map +1 -1
- package/lib/base/model/update-model-command.d.ts +14 -7
- package/lib/base/model/update-model-command.d.ts.map +1 -1
- package/lib/base/model/update-model-command.js +31 -41
- package/lib/base/model/update-model-command.js.map +1 -1
- package/lib/base/source-uri-aware.d.ts +2 -17
- package/lib/base/source-uri-aware.d.ts.map +1 -1
- package/lib/base/source-uri-aware.js +4 -6
- package/lib/base/source-uri-aware.js.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts +36 -6
- package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +54 -39
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/change-bounds/snap.d.ts +20 -5
- package/lib/features/change-bounds/snap.d.ts.map +1 -1
- package/lib/features/change-bounds/snap.js +19 -8
- package/lib/features/change-bounds/snap.js.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +5 -7
- 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 +7 -14
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
- package/lib/features/hover/hover.d.ts +1 -2
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +2 -15
- package/lib/features/hover/hover.js.map +1 -1
- package/lib/features/layout/di.config.d.ts +2 -2
- package/lib/features/layout/di.config.d.ts.map +1 -1
- package/lib/features/layout/di.config.js +6 -5
- package/lib/features/layout/di.config.js.map +1 -1
- package/lib/features/layout/{layout-commands.d.ts → layout-elements-action.d.ts} +75 -57
- package/lib/features/layout/layout-elements-action.d.ts.map +1 -0
- package/lib/features/layout/{layout-commands.js → layout-elements-action.js} +153 -197
- package/lib/features/layout/layout-elements-action.js.map +1 -0
- package/lib/features/layout/layout-elements-action.spec.d.ts +3 -0
- package/lib/features/layout/layout-elements-action.spec.d.ts.map +1 -0
- package/lib/features/layout/{layout-commands.spec.js → layout-elements-action.spec.js} +63 -56
- package/lib/features/layout/layout-elements-action.spec.js.map +1 -0
- package/lib/features/mouse-tool/mouse-tool.d.ts +0 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js +9 -5
- package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
- package/lib/features/select/select-mouse-listener.d.ts +3 -1
- package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
- package/lib/features/select/select-mouse-listener.js +62 -0
- package/lib/features/select/select-mouse-listener.js.map +1 -1
- package/lib/features/select/selection-service.d.ts +12 -3
- package/lib/features/select/selection-service.d.ts.map +1 -1
- package/lib/features/select/selection-service.js +31 -45
- package/lib/features/select/selection-service.js.map +1 -1
- package/lib/features/select/selection-service.spec.js +1 -1
- package/lib/features/select/selection-service.spec.js.map +1 -1
- package/lib/features/source-model-watcher/di.config.d.ts +4 -0
- package/lib/features/{model-source-watcher → source-model-watcher}/di.config.d.ts.map +1 -1
- package/lib/features/{model-source-watcher → source-model-watcher}/di.config.js +4 -4
- package/lib/features/{model-source-watcher → source-model-watcher}/di.config.js.map +1 -1
- package/lib/features/{model-source-watcher/model-source-changed-action-handler.d.ts → source-model-watcher/source-model-changed-action-handler.d.ts} +9 -9
- package/lib/features/{model-source-watcher/model-source-changed-action-handler.d.ts.map → source-model-watcher/source-model-changed-action-handler.d.ts.map} +1 -1
- package/lib/features/{model-source-watcher/model-source-changed-action-handler.js → source-model-watcher/source-model-changed-action-handler.js} +19 -19
- package/lib/features/{model-source-watcher/model-source-changed-action-handler.js.map → source-model-watcher/source-model-changed-action-handler.js.map} +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +3 -2
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +13 -6
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tools/di.config.d.ts +9 -2
- package/lib/features/tools/di.config.d.ts.map +1 -1
- package/lib/features/tools/di.config.js +14 -3
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts +26 -0
- package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +1 -0
- package/lib/features/tools/enable-default-tools-on-focus-loss.js +29 -0
- package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +1 -0
- package/lib/features/validation/di.config.d.ts +0 -15
- package/lib/features/validation/di.config.d.ts.map +1 -1
- package/lib/features/validation/di.config.js +6 -4
- package/lib/features/validation/di.config.js.map +1 -1
- package/lib/features/validation/issue-marker.d.ts +11 -5
- package/lib/features/validation/issue-marker.d.ts.map +1 -1
- package/lib/features/validation/issue-marker.js +25 -5
- package/lib/features/validation/issue-marker.js.map +1 -1
- package/lib/features/validation/marker-navigator.d.ts +11 -17
- package/lib/features/validation/marker-navigator.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.js +32 -61
- package/lib/features/validation/marker-navigator.js.map +1 -1
- package/lib/features/validation/validate.d.ts +8 -19
- package/lib/features/validation/validate.d.ts.map +1 -1
- package/lib/features/validation/validate.js +29 -55
- package/lib/features/validation/validate.js.map +1 -1
- package/lib/index.d.ts +6 -6
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +16 -15
- package/lib/index.js.map +1 -1
- package/lib/lib/model.d.ts +1 -1
- package/lib/lib/model.d.ts.map +1 -1
- package/lib/lib/model.js +3 -3
- package/lib/lib/model.js.map +1 -1
- package/lib/model-source/glsp-diagram-server.d.ts +1 -1
- package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
- package/lib/model-source/glsp-diagram-server.js +1 -1
- package/lib/model-source/glsp-diagram-server.js.map +1 -1
- package/lib/utils/layout-utils.d.ts +4 -20
- package/lib/utils/layout-utils.d.ts.map +1 -1
- package/lib/utils/layout-utils.js +1 -1
- package/lib/utils/layout-utils.js.map +1 -1
- package/lib/views/base-view-module.d.ts.map +1 -1
- package/lib/views/base-view-module.js +3 -1
- package/lib/views/base-view-module.js.map +1 -1
- package/lib/views/glsp-projection-view.d.ts +30 -0
- package/lib/views/glsp-projection-view.d.ts.map +1 -0
- package/lib/views/glsp-projection-view.js +142 -0
- package/lib/views/glsp-projection-view.js.map +1 -0
- package/lib/views/index.d.ts +1 -0
- package/lib/views/index.d.ts.map +1 -1
- package/lib/views/index.js +1 -0
- package/lib/views/index.js.map +1 -1
- package/package.json +4 -4
- package/src/base/container-modules.ts +6 -5
- package/src/base/editor-context-service.ts +15 -7
- package/src/base/model/update-model-command.ts +48 -34
- package/src/base/source-uri-aware.ts +5 -4
- package/src/features/change-bounds/movement-restrictor.ts +73 -43
- package/src/features/change-bounds/snap.ts +15 -12
- package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +19 -25
- package/src/features/hover/hover.ts +2 -24
- package/src/features/layout/di.config.ts +12 -6
- package/src/features/layout/{layout-commands.spec.ts → layout-elements-action.spec.ts} +56 -48
- package/src/features/layout/{layout-commands.ts → layout-elements-action.ts} +195 -207
- package/src/features/mouse-tool/mouse-tool.ts +8 -6
- package/src/features/select/select-mouse-listener.ts +81 -1
- package/src/features/select/selection-service.spec.ts +1 -1
- package/src/features/select/selection-service.ts +37 -50
- package/src/features/{model-source-watcher → source-model-watcher}/di.config.ts +5 -5
- package/src/features/{model-source-watcher/model-source-changed-action-handler.ts → source-model-watcher/source-model-changed-action-handler.ts} +12 -12
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +1 -1
- package/src/features/tool-feedback/edge-edit-tool-feedback.ts +14 -6
- package/src/features/tools/di.config.ts +13 -2
- package/src/features/tools/enable-default-tools-on-focus-loss.ts +33 -0
- package/src/features/validation/di.config.ts +10 -7
- package/src/features/validation/issue-marker.ts +34 -12
- package/src/features/validation/marker-navigator.ts +29 -66
- package/src/features/validation/validate.ts +36 -71
- package/src/index.ts +8 -7
- package/src/lib/model.ts +1 -1
- package/src/model-source/glsp-diagram-server.ts +1 -1
- package/src/utils/layout-utils.ts +7 -27
- package/src/views/base-view-module.ts +5 -1
- package/src/views/glsp-projection-view.tsx +166 -0
- package/src/views/index.ts +2 -0
- package/lib/features/layout/layout-commands.d.ts.map +0 -1
- package/lib/features/layout/layout-commands.js.map +0 -1
- package/lib/features/layout/layout-commands.spec.d.ts +0 -3
- package/lib/features/layout/layout-commands.spec.d.ts.map +0 -1
- package/lib/features/layout/layout-commands.spec.js.map +0 -1
- package/lib/features/model-source-watcher/di.config.d.ts +0 -4
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { ContainerModule, interfaces } from 'inversify';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Registers the default tools of GLSP (node and edge creation, changing bounds, edge editing, deletion)
|
|
4
|
+
* and adds the marquee selection tool.
|
|
5
|
+
*/
|
|
6
|
+
export declare const toolsModule: ContainerModule;
|
|
3
7
|
export declare function configureMarqueeTool(context: {
|
|
4
8
|
bind: interfaces.Bind;
|
|
5
9
|
isBound: interfaces.IsBound;
|
|
6
10
|
}): void;
|
|
7
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Enables the default tools in the tool manager if the diagram looses focus.
|
|
13
|
+
*/
|
|
14
|
+
export declare const enableDefaultToolsOnFocusLossModule: ContainerModule;
|
|
8
15
|
//# sourceMappingURL=di.config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di.config.d.ts","sourceRoot":"","sources":["../../../src/features/tools/di.config.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"di.config.d.ts","sourceRoot":"","sources":["../../../src/features/tools/di.config.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAgBxD;;;GAGG;AACH,eAAO,MAAM,WAAW,iBAgBtB,CAAC;AAEH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;IAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAA;CAAE,GAAG,IAAI,CAI1G;AAED;;GAEG;AACH,eAAO,MAAM,mCAAmC,iBAE9C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.configureMarqueeTool = void 0;
|
|
3
|
+
exports.enableDefaultToolsOnFocusLossModule = exports.configureMarqueeTool = exports.toolsModule = void 0;
|
|
4
4
|
/********************************************************************************
|
|
5
5
|
* Copyright (c) 2019-2022 EclipseSource and others.
|
|
6
6
|
*
|
|
@@ -19,18 +19,24 @@ exports.configureMarqueeTool = void 0;
|
|
|
19
19
|
const protocol_1 = require("@eclipse-glsp/protocol");
|
|
20
20
|
const inversify_1 = require("inversify");
|
|
21
21
|
const sprotty_1 = require("sprotty");
|
|
22
|
+
const focus_change_action_1 = require("../../base/actions/focus-change-action");
|
|
22
23
|
const types_1 = require("../../base/types");
|
|
23
24
|
const marquee_tool_feedback_1 = require("../tool-feedback/marquee-tool-feedback");
|
|
24
25
|
const change_bounds_tool_1 = require("./change-bounds-tool");
|
|
25
26
|
const delete_tool_1 = require("./delete-tool");
|
|
26
27
|
const edge_creation_tool_1 = require("./edge-creation-tool");
|
|
27
28
|
const edge_edit_tool_1 = require("./edge-edit-tool");
|
|
29
|
+
const enable_default_tools_on_focus_loss_1 = require("./enable-default-tools-on-focus-loss");
|
|
28
30
|
const marquee_mouse_tool_1 = require("./marquee-mouse-tool");
|
|
29
31
|
const marquee_tool_1 = require("./marquee-tool");
|
|
30
32
|
const model_1 = require("./model");
|
|
31
33
|
const node_creation_tool_1 = require("./node-creation-tool");
|
|
32
34
|
const view_1 = require("./view");
|
|
33
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Registers the default tools of GLSP (node and edge creation, changing bounds, edge editing, deletion)
|
|
37
|
+
* and adds the marquee selection tool.
|
|
38
|
+
*/
|
|
39
|
+
exports.toolsModule = new inversify_1.ContainerModule((bind, _unbind, isBound) => {
|
|
34
40
|
// Register default tools
|
|
35
41
|
bind(types_1.TYPES.IDefaultTool).to(change_bounds_tool_1.ChangeBoundsTool);
|
|
36
42
|
bind(types_1.TYPES.IDefaultTool).to(edge_edit_tool_1.EdgeEditTool);
|
|
@@ -51,5 +57,10 @@ function configureMarqueeTool(context) {
|
|
|
51
57
|
context.bind(types_1.TYPES.ITool).to(marquee_mouse_tool_1.MarqueeMouseTool);
|
|
52
58
|
}
|
|
53
59
|
exports.configureMarqueeTool = configureMarqueeTool;
|
|
54
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Enables the default tools in the tool manager if the diagram looses focus.
|
|
62
|
+
*/
|
|
63
|
+
exports.enableDefaultToolsOnFocusLossModule = new inversify_1.ContainerModule((bind, _unbind, isBound) => {
|
|
64
|
+
(0, sprotty_1.configureActionHandler)({ bind, isBound }, focus_change_action_1.FocusStateChangedAction.KIND, enable_default_tools_on_focus_loss_1.EnableDefaultToolsOnFocusLossHandler);
|
|
65
|
+
});
|
|
55
66
|
//# sourceMappingURL=di.config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di.config.js","sourceRoot":"","sources":["../../../src/features/tools/di.config.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAA8F;AAC9F,yCAAwD;AACxD,qCAAwE;AACxE,4CAAyC;AACzC,kFAAiE;AACjE,6DAAwD;AACxD,+CAAkE;AAClE,6DAAwD;AACxD,qDAAgD;AAChD,6DAAwD;AACxD,iDAA6C;AAC7C,mCAAsC;AACtC,6DAAwD;AACxD,iCAAqC;AAErC,
|
|
1
|
+
{"version":3,"file":"di.config.js","sourceRoot":"","sources":["../../../src/features/tools/di.config.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAA8F;AAC9F,yCAAwD;AACxD,qCAAwE;AACxE,gFAAiF;AACjF,4CAAyC;AACzC,kFAAiE;AACjE,6DAAwD;AACxD,+CAAkE;AAClE,6DAAwD;AACxD,qDAAgD;AAChD,6FAA4F;AAC5F,6DAAwD;AACxD,iDAA6C;AAC7C,mCAAsC;AACtC,6DAAwD;AACxD,iCAAqC;AAErC;;;GAGG;AACU,QAAA,WAAW,GAAG,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACtE,yBAAyB;IACzB,IAAI,CAAC,aAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,qCAAgB,CAAC,CAAC;IAC9C,IAAI,CAAC,aAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,6BAAY,CAAC,CAAC;IAC1C,IAAI,CAAC,aAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,8BAAgB,CAAC,CAAC;IAE9C,kBAAkB;IAClB,IAAI,CAAC,aAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,6BAAe,CAAC,CAAC;IACtC,IAAI,CAAC,qCAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnD,IAAI,CAAC,qCAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnD,IAAI,CAAC,aAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,qCAAgB,CAAC,CAAC;IAC9C,IAAI,CAAC,aAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,qCAAgB,CAAC,CAAC;IAE9C,oBAAoB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACxC,IAAA,gCAAsB,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,oCAAyB,CAAC,IAAI,EAAE,qCAAgB,CAAC,CAAC;IAC5F,IAAA,gCAAsB,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,oCAAyB,CAAC,IAAI,EAAE,qCAAgB,CAAC,CAAC;AAChG,CAAC,CAAC,CAAC;AAEH,SAAgB,oBAAoB,CAAC,OAA+D;IAChG,IAAA,+BAAqB,EAAC,OAAO,EAAE,+BAAO,EAAE,mBAAW,EAAE,kBAAW,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,CAAC,aAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,0BAAW,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,aAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,qCAAgB,CAAC,CAAC;AACnD,CAAC;AAJD,oDAIC;AAED;;GAEG;AACU,QAAA,mCAAmC,GAAG,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAC9F,IAAA,gCAAsB,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,6CAAuB,CAAC,IAAI,EAAE,yEAAoC,CAAC,CAAC;AAClH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2022 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { Action } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { IActionHandler, ICommand } from 'sprotty';
|
|
18
|
+
/**
|
|
19
|
+
* Action handler that enables the default tools when the diagram lost focus.
|
|
20
|
+
* @see FocusTracker
|
|
21
|
+
* @see FocusStateChangedAction
|
|
22
|
+
*/
|
|
23
|
+
export declare class EnableDefaultToolsOnFocusLossHandler implements IActionHandler {
|
|
24
|
+
handle(action: Action): void | Action | ICommand;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=enable-default-tools-on-focus-loss.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enable-default-tools-on-focus-loss.d.ts","sourceRoot":"","sources":["../../../src/features/tools/enable-default-tools-on-focus-loss.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAA4B,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG7E;;;;GAIG;AACH,qBACa,oCAAqC,YAAW,cAAc;IACvE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ;CAKnD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.EnableDefaultToolsOnFocusLossHandler = void 0;
|
|
10
|
+
const inversify_1 = require("inversify");
|
|
11
|
+
const sprotty_1 = require("sprotty");
|
|
12
|
+
const focus_change_action_1 = require("../../base/actions/focus-change-action");
|
|
13
|
+
/**
|
|
14
|
+
* Action handler that enables the default tools when the diagram lost focus.
|
|
15
|
+
* @see FocusTracker
|
|
16
|
+
* @see FocusStateChangedAction
|
|
17
|
+
*/
|
|
18
|
+
let EnableDefaultToolsOnFocusLossHandler = class EnableDefaultToolsOnFocusLossHandler {
|
|
19
|
+
handle(action) {
|
|
20
|
+
if (focus_change_action_1.FocusStateChangedAction.is(action) && !action.hasFocus) {
|
|
21
|
+
return sprotty_1.EnableDefaultToolsAction.create();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
EnableDefaultToolsOnFocusLossHandler = __decorate([
|
|
26
|
+
(0, inversify_1.injectable)()
|
|
27
|
+
], EnableDefaultToolsOnFocusLossHandler);
|
|
28
|
+
exports.EnableDefaultToolsOnFocusLossHandler = EnableDefaultToolsOnFocusLossHandler;
|
|
29
|
+
//# sourceMappingURL=enable-default-tools-on-focus-loss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enable-default-tools-on-focus-loss.js","sourceRoot":"","sources":["../../../src/features/tools/enable-default-tools-on-focus-loss.ts"],"names":[],"mappings":";;;;;;;;;AAgBA,yCAAuC;AACvC,qCAA6E;AAC7E,gFAAiF;AAEjF;;;;GAIG;AAEH,IAAa,oCAAoC,GAAjD,MAAa,oCAAoC;IAC7C,MAAM,CAAC,MAAc;QACjB,IAAI,6CAAuB,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxD,OAAO,kCAAwB,CAAC,MAAM,EAAE,CAAC;SAC5C;IACL,CAAC;CACJ,CAAA;AANY,oCAAoC;IADhD,IAAA,sBAAU,GAAE;GACA,oCAAoC,CAMhD;AANY,oFAAoC"}
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-2022 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
1
|
import { ContainerModule } from 'inversify';
|
|
17
2
|
export declare const validationModule: ContainerModule;
|
|
18
3
|
export declare const markerNavigatorModule: ContainerModule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di.config.d.ts","sourceRoot":"","sources":["../../../src/features/validation/di.config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"di.config.d.ts","sourceRoot":"","sources":["../../../src/features/validation/di.config.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAc5C,eAAO,MAAM,gBAAgB,iBAM3B,CAAC;AAEH,eAAO,MAAM,qBAAqB,iBAIhC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,iBAG3C,CAAC"}
|
|
@@ -16,21 +16,23 @@ exports.markerNavigatorContextMenuModule = exports.markerNavigatorModule = expor
|
|
|
16
16
|
*
|
|
17
17
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
18
18
|
********************************************************************************/
|
|
19
|
+
const protocol_1 = require("@eclipse-glsp/protocol");
|
|
19
20
|
const inversify_1 = require("inversify");
|
|
20
21
|
const sprotty_1 = require("sprotty");
|
|
21
22
|
const types_1 = require("../../base/types");
|
|
22
23
|
const marker_navigator_1 = require("./marker-navigator");
|
|
23
24
|
const validate_1 = require("./validate");
|
|
24
25
|
exports.validationModule = new inversify_1.ContainerModule((bind, _unbind, isBound) => {
|
|
25
|
-
|
|
26
|
-
(0, sprotty_1.
|
|
27
|
-
(0, sprotty_1.configureCommand)(
|
|
26
|
+
const context = { bind, isBound };
|
|
27
|
+
(0, sprotty_1.configureActionHandler)(context, protocol_1.SetMarkersAction.KIND, validate_1.SetMarkersActionHandler);
|
|
28
|
+
(0, sprotty_1.configureCommand)(context, validate_1.ApplyMarkersCommand);
|
|
29
|
+
(0, sprotty_1.configureCommand)(context, validate_1.DeleteMarkersCommand);
|
|
28
30
|
bind(validate_1.ValidationFeedbackEmitter).toSelf().inSingletonScope();
|
|
29
31
|
});
|
|
30
32
|
exports.markerNavigatorModule = new inversify_1.ContainerModule((bind, _unbind, isBound) => {
|
|
31
33
|
bind(marker_navigator_1.SModelElementComparator).to(marker_navigator_1.LeftToRightTopToBottomComparator).inSingletonScope();
|
|
32
34
|
bind(marker_navigator_1.MarkerNavigator).toSelf().inSingletonScope();
|
|
33
|
-
(0, sprotty_1.
|
|
35
|
+
(0, sprotty_1.configureActionHandler)({ bind, isBound }, marker_navigator_1.NavigateToMarkerAction.KIND, marker_navigator_1.NavigateToMarkerActionHandler);
|
|
34
36
|
});
|
|
35
37
|
/**
|
|
36
38
|
* This module is not required if the diagram is deployed in Theia but only intended to be used
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di.config.js","sourceRoot":"","sources":["../../../src/features/validation/di.config.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"di.config.js","sourceRoot":"","sources":["../../../src/features/validation/di.config.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAA0D;AAC1D,yCAA4C;AAC5C,qCAAmE;AACnE,4CAAyC;AACzC,yDAQ4B;AAC5B,yCAA2H;AAE9G,QAAA,gBAAgB,GAAG,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAC3E,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAClC,IAAA,gCAAsB,EAAC,OAAO,EAAE,2BAAgB,CAAC,IAAI,EAAE,kCAAuB,CAAC,CAAC;IAChF,IAAA,0BAAgB,EAAC,OAAO,EAAE,8BAAmB,CAAC,CAAC;IAC/C,IAAA,0BAAgB,EAAC,OAAO,EAAE,+BAAoB,CAAC,CAAC;IAChD,IAAI,CAAC,oCAAyB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;AAChE,CAAC,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAChF,IAAI,CAAC,0CAAuB,CAAC,CAAC,EAAE,CAAC,mDAAgC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACtF,IAAI,CAAC,kCAAe,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAClD,IAAA,gCAAsB,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,yCAAsB,CAAC,IAAI,EAAE,gDAA6B,CAAC,CAAC;AAC1G,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACU,QAAA,gCAAgC,GAAG,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAC3F,IAAI,CAAC,aAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,yDAAsC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/F,IAAI,CAAC,aAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,6CAA0B,CAAC,CAAC,gBAAgB,EAAE,CAAC;AAC9E,CAAC,CAAC,CAAC"}
|
|
@@ -13,10 +13,15 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Marker } from '@eclipse-glsp/protocol';
|
|
17
|
-
import { SIssue, SIssueMarker, SParentElement } from 'sprotty';
|
|
18
|
-
export declare class GIssueMarker extends SIssueMarker {
|
|
16
|
+
import { Bounds, Marker } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { Projectable, SIssue, SIssueMarker, SIssueSeverity, SParentElement } from 'sprotty';
|
|
18
|
+
export declare class GIssueMarker extends SIssueMarker implements Projectable {
|
|
19
19
|
constructor();
|
|
20
|
+
projectionCssClasses: string[];
|
|
21
|
+
projectedBounds?: Bounds;
|
|
22
|
+
issues: SIssue[];
|
|
23
|
+
type: string;
|
|
24
|
+
computeProjectionCssClasses(): void;
|
|
20
25
|
}
|
|
21
26
|
/**
|
|
22
27
|
* Retrieves the `SIssueMarker` contained by the provided model element as
|
|
@@ -32,12 +37,13 @@ export declare function getOrCreateSIssueMarker(modelElement: SParentElement): S
|
|
|
32
37
|
* @param modelElement for which the `SIssueMarker` should be retrieved.
|
|
33
38
|
* @returns the child `SIssueMarker` or `undefined` if no such child exists.
|
|
34
39
|
*/
|
|
35
|
-
export declare function getSIssueMarker(modelElement: SParentElement):
|
|
40
|
+
export declare function getSIssueMarker(modelElement: SParentElement): GIssueMarker | undefined;
|
|
36
41
|
/**
|
|
37
42
|
* Creates an `SIssue` with `severity` and `message` set according to
|
|
38
43
|
* the `kind` and `description` of the provided `Marker`.
|
|
39
44
|
* @param marker `Marker` for that an `SIssue` should be created.
|
|
40
45
|
* @returns the created `SIssue`.
|
|
41
46
|
*/
|
|
42
|
-
export declare function createSIssue(marker: Marker): SIssue;
|
|
47
|
+
export declare function createSIssue(marker: Marker, parent?: SParentElement): SIssue;
|
|
48
|
+
export declare function getSeverity(marker: SIssueMarker): SIssueSeverity;
|
|
43
49
|
//# sourceMappingURL=issue-marker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-marker.d.ts","sourceRoot":"","sources":["../../../src/features/validation/issue-marker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAc,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"issue-marker.d.ts","sourceRoot":"","sources":["../../../src/features/validation/issue-marker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAc,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAiB,WAAW,EAAe,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAExH,qBAAa,YAAa,SAAQ,YAAa,YAAW,WAAW;;IAKjE,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAM;IACtB,IAAI,SAAY;IAEzB,2BAA2B,IAAI,IAAI;CAItC;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,cAAc,GAAG,YAAY,CAclF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,cAAc,GAAG,YAAY,GAAG,SAAS,CAUtF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,CAmB5E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAWhE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createSIssue = exports.getSIssueMarker = exports.getOrCreateSIssueMarker = exports.GIssueMarker = void 0;
|
|
3
|
+
exports.getSeverity = exports.createSIssue = exports.getSIssueMarker = exports.getOrCreateSIssueMarker = exports.GIssueMarker = void 0;
|
|
4
4
|
/********************************************************************************
|
|
5
5
|
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
6
6
|
*
|
|
@@ -21,8 +21,14 @@ const sprotty_1 = require("sprotty");
|
|
|
21
21
|
class GIssueMarker extends sprotty_1.SIssueMarker {
|
|
22
22
|
constructor() {
|
|
23
23
|
super();
|
|
24
|
+
this.issues = [];
|
|
25
|
+
this.type = 'marker';
|
|
24
26
|
this.features = new Set(sprotty_1.SDecoration.DEFAULT_FEATURES);
|
|
25
27
|
}
|
|
28
|
+
computeProjectionCssClasses() {
|
|
29
|
+
const severityCss = getSeverity(this);
|
|
30
|
+
this.projectionCssClasses = ['sprotty-issue', 'sprotty-' + severityCss];
|
|
31
|
+
}
|
|
26
32
|
}
|
|
27
33
|
exports.GIssueMarker = GIssueMarker;
|
|
28
34
|
/**
|
|
@@ -37,8 +43,9 @@ function getOrCreateSIssueMarker(modelElement) {
|
|
|
37
43
|
issueMarker = getSIssueMarker(modelElement);
|
|
38
44
|
if (issueMarker === undefined) {
|
|
39
45
|
issueMarker = new GIssueMarker();
|
|
40
|
-
|
|
41
|
-
|
|
46
|
+
if ((0, sprotty_1.isBoundsAware)(modelElement)) {
|
|
47
|
+
issueMarker.projectedBounds = modelElement.parentToLocal(modelElement.bounds);
|
|
48
|
+
}
|
|
42
49
|
modelElement.add(issueMarker);
|
|
43
50
|
}
|
|
44
51
|
return issueMarker;
|
|
@@ -53,7 +60,7 @@ exports.getOrCreateSIssueMarker = getOrCreateSIssueMarker;
|
|
|
53
60
|
function getSIssueMarker(modelElement) {
|
|
54
61
|
let issueMarker;
|
|
55
62
|
for (const child of modelElement.children) {
|
|
56
|
-
if (child instanceof
|
|
63
|
+
if (child instanceof GIssueMarker) {
|
|
57
64
|
issueMarker = child;
|
|
58
65
|
}
|
|
59
66
|
}
|
|
@@ -66,7 +73,7 @@ exports.getSIssueMarker = getSIssueMarker;
|
|
|
66
73
|
* @param marker `Marker` for that an `SIssue` should be created.
|
|
67
74
|
* @returns the created `SIssue`.
|
|
68
75
|
*/
|
|
69
|
-
function createSIssue(marker) {
|
|
76
|
+
function createSIssue(marker, parent) {
|
|
70
77
|
const issue = new sprotty_1.SIssue();
|
|
71
78
|
issue.message = marker.description;
|
|
72
79
|
switch (marker.kind) {
|
|
@@ -86,4 +93,17 @@ function createSIssue(marker) {
|
|
|
86
93
|
return issue;
|
|
87
94
|
}
|
|
88
95
|
exports.createSIssue = createSIssue;
|
|
96
|
+
function getSeverity(marker) {
|
|
97
|
+
let currentSeverity = 'info';
|
|
98
|
+
for (const severity of marker.issues.map(s => s.severity)) {
|
|
99
|
+
if (severity === 'error') {
|
|
100
|
+
return severity;
|
|
101
|
+
}
|
|
102
|
+
if (severity === 'warning' && currentSeverity === 'info') {
|
|
103
|
+
currentSeverity = severity;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return currentSeverity;
|
|
107
|
+
}
|
|
108
|
+
exports.getSeverity = getSeverity;
|
|
89
109
|
//# sourceMappingURL=issue-marker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-marker.js","sourceRoot":"","sources":["../../../src/features/validation/issue-marker.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,
|
|
1
|
+
{"version":3,"file":"issue-marker.js","sourceRoot":"","sources":["../../../src/features/validation/issue-marker.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAAoE;AACpE,qCAAwH;AAExH,MAAa,YAAa,SAAQ,sBAAY;IAC1C;QACI,KAAK,EAAE,CAAC;QAKH,WAAM,GAAa,EAAE,CAAC;QACtB,SAAI,GAAG,QAAQ,CAAC;QALrB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAS,qBAAW,CAAC,gBAAgB,CAAC,CAAC;IAClE,CAAC;IAMD,2BAA2B;QACvB,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,oBAAoB,GAAG,CAAC,eAAe,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC;IAC5E,CAAC;CACJ;AAdD,oCAcC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CAAC,YAA4B;IAChE,IAAI,WAAqC,CAAC;IAE1C,WAAW,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAE5C,IAAI,WAAW,KAAK,SAAS,EAAE;QAC3B,WAAW,GAAG,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,IAAA,uBAAa,EAAC,YAAY,CAAC,EAAE;YAC7B,WAAW,CAAC,eAAe,GAAG,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SACjF;QACD,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KACjC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAdD,0DAcC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,YAA4B;IACxD,IAAI,WAAqC,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,QAAQ,EAAE;QACvC,IAAI,KAAK,YAAY,YAAY,EAAE;YAC/B,WAAW,GAAG,KAAK,CAAC;SACvB;KACJ;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAVD,0CAUC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,MAAc,EAAE,MAAuB;IAChE,MAAM,KAAK,GAAG,IAAI,gBAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;IAEnC,QAAQ,MAAM,CAAC,IAAI,EAAE;QACjB,KAAK,qBAAU,CAAC,KAAK,CAAC,CAAC;YACnB,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;YACzB,MAAM;SACT;QACD,KAAK,qBAAU,CAAC,IAAI,CAAC,CAAC;YAClB,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;YACxB,MAAM;SACT;QACD,KAAK,qBAAU,CAAC,OAAO,CAAC,CAAC;YACrB,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC3B,MAAM;SACT;KACJ;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAnBD,oCAmBC;AAED,SAAgB,WAAW,CAAC,MAAoB;IAC5C,IAAI,eAAe,GAAmB,MAAM,CAAC;IAC7C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;QACvD,IAAI,QAAQ,KAAK,OAAO,EAAE;YACtB,OAAO,QAAQ,CAAC;SACnB;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,eAAe,KAAK,MAAM,EAAE;YACtD,eAAe,GAAG,QAAQ,CAAC;SAC9B;KACJ;IACD,OAAO,eAAe,CAAC;AAC3B,CAAC;AAXD,kCAWC"}
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { Action, Point } from '@eclipse-glsp/protocol';
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
17
|
+
import { ActionDispatcher, BoundsAware, IActionHandler, IContextMenuItemProvider, KeyListener, MenuItem, Selectable, SIssueMarker, SIssueSeverity, SModelElement, SModelRoot } from 'sprotty';
|
|
18
|
+
import { SelectionService } from '../select/selection-service';
|
|
19
19
|
export interface NavigateToMarkerAction extends Action {
|
|
20
20
|
kind: typeof NavigateToMarkerAction.KIND;
|
|
21
21
|
direction: MarkerNavigationDirection;
|
|
@@ -47,27 +47,21 @@ export declare class LeftToRightTopToBottomComparator {
|
|
|
47
47
|
export declare class MarkerNavigator {
|
|
48
48
|
static readonly ALL_SEVERITIES: SIssueSeverity[];
|
|
49
49
|
protected markerComparator: SModelElementComparator;
|
|
50
|
-
next(root: SModelRoot
|
|
51
|
-
previous(root: SModelRoot
|
|
52
|
-
protected getMarkers(root: SModelRoot
|
|
50
|
+
next(root: Readonly<SModelRoot>, current?: SModelElement & BoundsAware, predicate?: (marker: SIssueMarker) => boolean): SIssueMarker | undefined;
|
|
51
|
+
previous(root: Readonly<SModelRoot>, current?: SModelElement & BoundsAware, predicate?: (marker: SIssueMarker) => boolean): SIssueMarker | undefined;
|
|
52
|
+
protected getMarkers(root: Readonly<SModelRoot>, predicate: (marker: SIssueMarker) => boolean): SIssueMarker[];
|
|
53
53
|
protected getNextIndex(current: SModelElement & BoundsAware, markers: SIssueMarker[]): number;
|
|
54
54
|
protected getPreviousIndex(current: SModelElement & BoundsAware, markers: SIssueMarker[]): number;
|
|
55
55
|
}
|
|
56
|
-
export declare class
|
|
57
|
-
protected action: NavigateToMarkerAction;
|
|
58
|
-
static KIND: string;
|
|
56
|
+
export declare class NavigateToMarkerActionHandler implements IActionHandler {
|
|
59
57
|
protected markerComparator: SModelElementComparator;
|
|
60
58
|
protected markerNavigator: MarkerNavigator;
|
|
61
59
|
protected selectionService: SelectionService;
|
|
62
|
-
protected
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
protected
|
|
67
|
-
protected getTarget(selected: SModelElement[], root: SModelRoot): SIssueMarker | undefined;
|
|
68
|
-
protected matchesSeverities(marker: SIssueMarker): boolean;
|
|
69
|
-
undo(context: CommandExecutionContext): CommandReturn;
|
|
70
|
-
redo(context: CommandExecutionContext): CommandReturn;
|
|
60
|
+
protected actionDispatcher: ActionDispatcher;
|
|
61
|
+
handle(action: NavigateToMarkerAction): void;
|
|
62
|
+
protected getSelectedElements(action: NavigateToMarkerAction): (SModelElement & Selectable)[];
|
|
63
|
+
protected getTarget(action: NavigateToMarkerAction, selected: SModelElement[]): SIssueMarker | undefined;
|
|
64
|
+
protected matchesSeverities(action: NavigateToMarkerAction, marker: SIssueMarker): boolean;
|
|
71
65
|
}
|
|
72
66
|
export declare class MarkerNavigatorContextMenuItemProvider implements IContextMenuItemProvider {
|
|
73
67
|
protected selectionService: SelectionService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marker-navigator.d.ts","sourceRoot":"","sources":["../../../src/features/validation/marker-navigator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAA6C,KAAK,EAAgB,MAAM,wBAAwB,CAAC;AAEhH,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"marker-navigator.d.ts","sourceRoot":"","sources":["../../../src/features/validation/marker-navigator.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.MarkerNavigatorKeyListener = exports.MarkerNavigatorContextMenuItemProvider = exports.
|
|
12
|
+
exports.MarkerNavigatorKeyListener = exports.MarkerNavigatorContextMenuItemProvider = exports.NavigateToMarkerActionHandler = exports.MarkerNavigator = exports.LeftToRightTopToBottomComparator = exports.SModelElementComparator = exports.NavigateToMarkerAction = void 0;
|
|
16
13
|
/********************************************************************************
|
|
17
14
|
* Copyright (c) 2020-2022 EclipseSource and others.
|
|
18
15
|
*
|
|
@@ -124,83 +121,57 @@ MarkerNavigator = __decorate([
|
|
|
124
121
|
(0, inversify_1.injectable)()
|
|
125
122
|
], MarkerNavigator);
|
|
126
123
|
exports.MarkerNavigator = MarkerNavigator;
|
|
127
|
-
let
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
this.action
|
|
131
|
-
|
|
132
|
-
execute(context) {
|
|
133
|
-
const root = context.root;
|
|
134
|
-
const selected = this.getSelectedElements(root);
|
|
135
|
-
const target = this.getTarget(selected, root);
|
|
136
|
-
if (target === undefined) {
|
|
137
|
-
return root;
|
|
138
|
-
}
|
|
139
|
-
const selectableTarget = (0, sprotty_1.findParentByFeature)(target, sprotty_1.isSelectable);
|
|
124
|
+
let NavigateToMarkerActionHandler = class NavigateToMarkerActionHandler {
|
|
125
|
+
handle(action) {
|
|
126
|
+
const selected = this.getSelectedElements(action);
|
|
127
|
+
const target = this.getTarget(action, selected);
|
|
128
|
+
const selectableTarget = target ? (0, sprotty_1.findParentByFeature)(target, sprotty_1.isSelectable) : undefined;
|
|
140
129
|
if (selectableTarget) {
|
|
141
|
-
const
|
|
142
|
-
this.
|
|
143
|
-
this.
|
|
144
|
-
this.centerCommand.execute(context);
|
|
145
|
-
return this.selectCommand.execute(context);
|
|
130
|
+
const deselectedElementsIDs = selected.map(e => e.id).filter(id => id !== selectableTarget.id);
|
|
131
|
+
this.actionDispatcher.dispatch(protocol_1.SelectAction.create({ selectedElementsIDs: [selectableTarget.id], deselectedElementsIDs }));
|
|
132
|
+
this.actionDispatcher.dispatch(protocol_1.CenterAction.create([selectableTarget.id]));
|
|
146
133
|
}
|
|
147
|
-
return root;
|
|
148
134
|
}
|
|
149
|
-
getSelectedElements(
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
selectedIds = this.action.selectedElementIds;
|
|
135
|
+
getSelectedElements(action) {
|
|
136
|
+
if (action.selectedElementIds && action.selectedElementIds.length > 0) {
|
|
137
|
+
return (0, smodel_util_1.getElements)(this.selectionService.getModelRoot().index, action.selectedElementIds, sprotty_1.isSelectable);
|
|
153
138
|
}
|
|
154
|
-
|
|
155
|
-
return this.selectionService.getSelectedElements();
|
|
156
|
-
}
|
|
157
|
-
return selectedIds.map(id => root.index.getById(id)).filter(element => element !== undefined && (0, sprotty_1.isSelectable)(element));
|
|
139
|
+
return this.selectionService.getSelectedElements();
|
|
158
140
|
}
|
|
159
|
-
getTarget(
|
|
160
|
-
const
|
|
161
|
-
const
|
|
162
|
-
if (
|
|
163
|
-
return this.markerNavigator.previous(root,
|
|
141
|
+
getTarget(action, selected) {
|
|
142
|
+
const root = this.selectionService.getModelRoot();
|
|
143
|
+
const target = selected.sort(this.markerComparator.compare).find(sprotty_1.isBoundsAware);
|
|
144
|
+
if (action.direction === 'previous') {
|
|
145
|
+
return this.markerNavigator.previous(root, target, marker => this.matchesSeverities(action, marker));
|
|
164
146
|
}
|
|
165
147
|
else {
|
|
166
|
-
return this.markerNavigator.next(root,
|
|
148
|
+
return this.markerNavigator.next(root, target, marker => this.matchesSeverities(action, marker));
|
|
167
149
|
}
|
|
168
150
|
}
|
|
169
|
-
matchesSeverities(marker) {
|
|
170
|
-
return marker.issues.find(issue =>
|
|
171
|
-
}
|
|
172
|
-
undo(context) {
|
|
173
|
-
if (this.selectCommand) {
|
|
174
|
-
context.root = this.selectCommand.undo(context);
|
|
175
|
-
}
|
|
176
|
-
return this.centerCommand ? this.centerCommand.undo(context) : context.root;
|
|
177
|
-
}
|
|
178
|
-
redo(context) {
|
|
179
|
-
if (this.selectCommand) {
|
|
180
|
-
context.root = this.selectCommand.redo(context);
|
|
181
|
-
}
|
|
182
|
-
return this.centerCommand ? this.centerCommand.redo(context) : context.root;
|
|
151
|
+
matchesSeverities(action, marker) {
|
|
152
|
+
return marker.issues.find(issue => action.severities.includes(issue.severity)) !== undefined;
|
|
183
153
|
}
|
|
184
154
|
};
|
|
185
|
-
NavigateToMarkerCommand.KIND = NavigateToMarkerAction.KIND;
|
|
186
155
|
__decorate([
|
|
187
156
|
(0, inversify_1.inject)(SModelElementComparator),
|
|
188
157
|
__metadata("design:type", SModelElementComparator)
|
|
189
|
-
],
|
|
158
|
+
], NavigateToMarkerActionHandler.prototype, "markerComparator", void 0);
|
|
190
159
|
__decorate([
|
|
191
160
|
(0, inversify_1.inject)(MarkerNavigator),
|
|
192
161
|
__metadata("design:type", MarkerNavigator)
|
|
193
|
-
],
|
|
162
|
+
], NavigateToMarkerActionHandler.prototype, "markerNavigator", void 0);
|
|
194
163
|
__decorate([
|
|
195
164
|
(0, inversify_1.inject)(types_1.TYPES.SelectionService),
|
|
196
165
|
__metadata("design:type", selection_service_1.SelectionService)
|
|
197
|
-
],
|
|
198
|
-
|
|
199
|
-
(0, inversify_1.
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
166
|
+
], NavigateToMarkerActionHandler.prototype, "selectionService", void 0);
|
|
167
|
+
__decorate([
|
|
168
|
+
(0, inversify_1.inject)(types_1.TYPES.IActionDispatcher),
|
|
169
|
+
__metadata("design:type", sprotty_1.ActionDispatcher)
|
|
170
|
+
], NavigateToMarkerActionHandler.prototype, "actionDispatcher", void 0);
|
|
171
|
+
NavigateToMarkerActionHandler = __decorate([
|
|
172
|
+
(0, inversify_1.injectable)()
|
|
173
|
+
], NavigateToMarkerActionHandler);
|
|
174
|
+
exports.NavigateToMarkerActionHandler = NavigateToMarkerActionHandler;
|
|
204
175
|
let MarkerNavigatorContextMenuItemProvider = class MarkerNavigatorContextMenuItemProvider {
|
|
205
176
|
getItems(root, lastMousePosition) {
|
|
206
177
|
const selectedElementIds = Array.from(this.selectionService.getSelectedElementIDs());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marker-navigator.js","sourceRoot":"","sources":["../../../src/features/validation/marker-navigator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"marker-navigator.js","sourceRoot":"","sources":["../../../src/features/validation/marker-navigator.ts"],"names":[],"mappings":"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"}
|