@eclipse-glsp/client 1.1.0-RC01 → 1.1.0-RC02
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/features/export/glsp-svg-exporter.d.ts +22 -0
- package/lib/features/export/glsp-svg-exporter.d.ts.map +1 -0
- package/lib/features/export/glsp-svg-exporter.js +45 -0
- package/lib/features/export/glsp-svg-exporter.js.map +1 -0
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds-tool.js +13 -10
- package/lib/features/tools/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/di.config.d.ts.map +1 -1
- package/lib/features/tools/di.config.js +4 -1
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.d.ts +2 -2
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit-tool.js +3 -2
- package/lib/features/tools/edge-edit-tool.js.map +1 -1
- package/lib/utils/smodel-util.d.ts +11 -2
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +17 -2
- package/lib/utils/smodel-util.js.map +1 -1
- package/package.json +3 -3
- package/src/features/export/glsp-svg-exporter.ts +50 -0
- package/src/features/tools/change-bounds-tool.ts +16 -13
- package/src/features/tools/di.config.ts +5 -1
- package/src/features/tools/edge-edit-tool.ts +5 -6
- package/src/utils/smodel-util.ts +20 -1
|
@@ -0,0 +1,22 @@
|
|
|
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 { RequestAction } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { ExportSvgAction, SModelRoot, SvgExporter } from 'sprotty';
|
|
18
|
+
export declare class GLSPSvgExporter extends SvgExporter {
|
|
19
|
+
export(root: SModelRoot, _request?: RequestAction<ExportSvgAction>): void;
|
|
20
|
+
protected findSvgElement(): SVGSVGElement | null;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=glsp-svg-exporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glsp-svg-exporter.d.ts","sourceRoot":"","sources":["../../../src/features/export/glsp-svg-exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGlE,qBACa,eAAgB,SAAQ,WAAW;IACpC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,IAAI;IAsBlF,SAAS,CAAC,cAAc,IAAI,aAAa,GAAG,IAAI;CAKlD"}
|
|
@@ -0,0 +1,45 @@
|
|
|
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.GLSPSvgExporter = void 0;
|
|
10
|
+
const inversify_1 = require("inversify");
|
|
11
|
+
const sprotty_1 = require("sprotty");
|
|
12
|
+
const uuid_1 = require("uuid");
|
|
13
|
+
let GLSPSvgExporter = class GLSPSvgExporter extends sprotty_1.SvgExporter {
|
|
14
|
+
export(root, _request) {
|
|
15
|
+
if (typeof document !== 'undefined') {
|
|
16
|
+
const svgElement = this.findSvgElement();
|
|
17
|
+
if (svgElement) {
|
|
18
|
+
// createSvg requires the svg to have a non-empty id, so we generate one if necessary
|
|
19
|
+
const originalId = svgElement.id;
|
|
20
|
+
try {
|
|
21
|
+
svgElement.id = originalId || (0, uuid_1.v4)();
|
|
22
|
+
// provide generated svg code with respective sizing for proper viewing in browser and remove undesired border
|
|
23
|
+
const bounds = this.getBounds(root);
|
|
24
|
+
const svg = this.createSvg(svgElement, root)
|
|
25
|
+
.replace('style="', `style="width: ${bounds.width}px !important;height: ${bounds.height}px !important;border: none !important;`);
|
|
26
|
+
// do not give request/response id here as otherwise the action is treated as an unrequested response
|
|
27
|
+
this.actionDispatcher.dispatch(sprotty_1.ExportSvgAction.create(svg, ''));
|
|
28
|
+
}
|
|
29
|
+
finally {
|
|
30
|
+
svgElement.id = originalId;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
findSvgElement() {
|
|
36
|
+
const div = document.getElementById(this.options.hiddenDiv);
|
|
37
|
+
// search for first svg element as hierarchy within Sprotty might change
|
|
38
|
+
return div && div.querySelector('svg');
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
GLSPSvgExporter = __decorate([
|
|
42
|
+
(0, inversify_1.injectable)()
|
|
43
|
+
], GLSPSvgExporter);
|
|
44
|
+
exports.GLSPSvgExporter = GLSPSvgExporter;
|
|
45
|
+
//# sourceMappingURL=glsp-svg-exporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glsp-svg-exporter.js","sourceRoot":"","sources":["../../../src/features/export/glsp-svg-exporter.ts"],"names":[],"mappings":";;;;;;;;;AAgBA,yCAAuC;AACvC,qCAAmE;AACnE,+BAAkC;AAGjC,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,qBAAW;IACpC,MAAM,CAAC,IAAgB,EAAE,QAAyC;QACvE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,IAAI,UAAU,EAAE;gBACZ,qFAAqF;gBACrF,MAAM,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC;gBACjC,IAAI;oBACA,UAAU,CAAC,EAAE,GAAG,UAAU,IAAI,IAAA,SAAI,GAAE,CAAC;oBACrC,8GAA8G;oBAC9G,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACpC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC;yBACvC,OAAO,CAAC,SAAS,EACd,iBAAiB,MAAM,CAAC,KAAK,yBAAyB,MAAM,CAAC,MAAM,wCAAwC,CAAC,CAAC;oBACrH,qGAAqG;oBACrG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,yBAAe,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;iBACnE;wBAAS;oBACN,UAAU,CAAC,EAAE,GAAG,UAAU,CAAC;iBAC9B;aACJ;SACJ;IACL,CAAC;IAES,cAAc;QACpB,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5D,wEAAwE;QACxE,OAAO,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;CACH,CAAA;AA5BY,eAAe;IAD3B,IAAA,sBAAU,GAAE;GACA,eAAe,CA4B3B;AA5BY,0CAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-bounds-tool.d.ts","sourceRoot":"","sources":["../../../src/features/tools/change-bounds-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;
|
|
1
|
+
{"version":3,"file":"change-bounds-tool.d.ts","sourceRoot":"","sources":["../../../src/features/tools/change-bounds-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -203,19 +203,22 @@ class ChangeBoundsListener extends drag_aware_mouse_listener_1.DragAwareMouseLis
|
|
|
203
203
|
return false;
|
|
204
204
|
}
|
|
205
205
|
handleMoveRoutingPointsOnServer(target) {
|
|
206
|
-
const result = [];
|
|
207
206
|
const newRoutingPoints = [];
|
|
208
|
-
|
|
207
|
+
const routerRegistry = this.tool.edgeRouterRegistry;
|
|
208
|
+
if (routerRegistry) {
|
|
209
209
|
// If client routing is enabled -> delegate routingpoints of connected edges to server
|
|
210
|
-
|
|
211
|
-
element
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
210
|
+
(0, smodel_util_1.forEachElement)(target.index, smodel_util_1.isNonRoutableSelectedMovableBoundsAware, element => {
|
|
211
|
+
if (element instanceof sprotty_1.SConnectableElement) {
|
|
212
|
+
element.incomingEdges.map(connectable => (0, smodel_util_1.calcElementAndRoutingPoints)(connectable, routerRegistry))
|
|
213
|
+
.forEach(ear => newRoutingPoints.push(ear));
|
|
214
|
+
element.outgoingEdges.map(connectable => (0, smodel_util_1.calcElementAndRoutingPoints)(connectable, routerRegistry))
|
|
215
|
+
.forEach(ear => newRoutingPoints.push(ear));
|
|
216
|
+
}
|
|
217
|
+
});
|
|
217
218
|
}
|
|
218
|
-
return
|
|
219
|
+
return newRoutingPoints.length > 0
|
|
220
|
+
? [protocol_1.ChangeRoutingPointsOperation.create(newRoutingPoints)]
|
|
221
|
+
: [];
|
|
219
222
|
}
|
|
220
223
|
handleResize(activeResizeHandle) {
|
|
221
224
|
const actions = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-bounds-tool.js","sourceRoot":"","sources":["../../../src/features/tools/change-bounds-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"change-bounds-tool.js","sourceRoot":"","sources":["../../../src/features/tools/change-bounds-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;AAiBxD;;;GAGG;AACH,eAAO,MAAM,WAAW,iBAmBtB,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"}
|
|
@@ -21,6 +21,7 @@ const inversify_1 = require("inversify");
|
|
|
21
21
|
const sprotty_1 = require("sprotty");
|
|
22
22
|
const focus_change_action_1 = require("../../base/actions/focus-change-action");
|
|
23
23
|
const types_1 = require("../../base/types");
|
|
24
|
+
const glsp_svg_exporter_1 = require("../export/glsp-svg-exporter");
|
|
24
25
|
const marquee_tool_feedback_1 = require("../tool-feedback/marquee-tool-feedback");
|
|
25
26
|
const change_bounds_tool_1 = require("./change-bounds-tool");
|
|
26
27
|
const delete_tool_1 = require("./delete-tool");
|
|
@@ -36,7 +37,7 @@ const view_1 = require("./view");
|
|
|
36
37
|
* Registers the default tools of GLSP (node and edge creation, changing bounds, edge editing, deletion)
|
|
37
38
|
* and adds the marquee selection tool.
|
|
38
39
|
*/
|
|
39
|
-
exports.toolsModule = new inversify_1.ContainerModule((bind, _unbind, isBound) => {
|
|
40
|
+
exports.toolsModule = new inversify_1.ContainerModule((bind, _unbind, isBound, rebind) => {
|
|
40
41
|
// Register default tools
|
|
41
42
|
bind(types_1.TYPES.IDefaultTool).to(change_bounds_tool_1.ChangeBoundsTool);
|
|
42
43
|
bind(types_1.TYPES.IDefaultTool).to(edge_edit_tool_1.EdgeEditTool);
|
|
@@ -50,6 +51,8 @@ exports.toolsModule = new inversify_1.ContainerModule((bind, _unbind, isBound) =
|
|
|
50
51
|
configureMarqueeTool({ bind, isBound });
|
|
51
52
|
(0, sprotty_1.configureActionHandler)({ bind, isBound }, protocol_1.TriggerNodeCreationAction.KIND, node_creation_tool_1.NodeCreationTool);
|
|
52
53
|
(0, sprotty_1.configureActionHandler)({ bind, isBound }, protocol_1.TriggerEdgeCreationAction.KIND, edge_creation_tool_1.EdgeCreationTool);
|
|
54
|
+
bind(glsp_svg_exporter_1.GLSPSvgExporter).toSelf().inSingletonScope();
|
|
55
|
+
rebind(types_1.TYPES.SvgExporter).toService(glsp_svg_exporter_1.GLSPSvgExporter);
|
|
53
56
|
});
|
|
54
57
|
function configureMarqueeTool(context) {
|
|
55
58
|
(0, sprotty_1.configureModelElement)(context, marquee_tool_feedback_1.MARQUEE, model_1.MarqueeNode, view_1.MarqueeView);
|
|
@@ -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,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;
|
|
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,mEAA8D;AAC9D,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,MAAM,EAAE,EAAE;IAC9E,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;IAE5F,IAAI,CAAC,mCAAe,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAClD,MAAM,CAAC,aAAK,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,mCAAe,CAAC,CAAC;AACzD,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"}
|
|
@@ -24,7 +24,7 @@ export declare class EdgeEditTool extends BaseGLSPTool {
|
|
|
24
24
|
static ID: string;
|
|
25
25
|
protected selectionService: SelectionService;
|
|
26
26
|
protected anchorRegistry: AnchorComputerRegistry;
|
|
27
|
-
|
|
27
|
+
readonly edgeRouterRegistry?: EdgeRouterRegistry;
|
|
28
28
|
readonly snapper?: ISnapper;
|
|
29
29
|
protected feedbackEdgeSourceMovingListener: FeedbackEdgeSourceMovingMouseListener;
|
|
30
30
|
protected feedbackEdgeTargetMovingListener: FeedbackEdgeTargetMovingMouseListener;
|
|
@@ -57,7 +57,7 @@ declare class EdgeEditListener extends DragAwareMouseListener implements Selecti
|
|
|
57
57
|
mouseDown(target: SModelElement, event: MouseEvent): Action[];
|
|
58
58
|
mouseMove(target: SModelElement, event: MouseEvent): Action[];
|
|
59
59
|
mouseUp(target: SModelElement, event: MouseEvent): Action[];
|
|
60
|
-
mouseOver(target: SModelElement,
|
|
60
|
+
mouseOver(target: SModelElement, _event: MouseEvent): Action[];
|
|
61
61
|
selectionChanged(root: Readonly<SModelRoot>, selectedElements: string[]): void;
|
|
62
62
|
reset(): void;
|
|
63
63
|
protected resetData(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-edit-tool.d.ts","sourceRoot":"","sources":["../../../src/features/tools/edge-edit-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAwD,MAAM,wBAAwB,CAAC;AAEtG,OAAO,EACH,sBAAsB,EAEtB,WAAW,EACX,kBAAkB,EAGlB,QAAQ,EAER,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,cAAc,EACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,OAAO,EAAoF,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxI,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EAEH,oCAAoC,EACpC,qCAAqC,EACrC,qCAAqC,EAIxC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,qBACa,YAAa,SAAQ,YAAY;IAC1C,MAAM,CAAC,EAAE,SAAyB;IAEF,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC7C,SAAS,CAAC,cAAc,EAAE,sBAAsB,CAAC;IACzC,
|
|
1
|
+
{"version":3,"file":"edge-edit-tool.d.ts","sourceRoot":"","sources":["../../../src/features/tools/edge-edit-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -212,13 +212,14 @@ class EdgeEditListener extends drag_aware_mouse_listener_1.DragAwareMouseListene
|
|
|
212
212
|
// reroute actions
|
|
213
213
|
const latestEdge = target.index.getById(this.edge.id);
|
|
214
214
|
if (latestEdge && (0, smodel_util_1.isRoutable)(latestEdge)) {
|
|
215
|
-
|
|
215
|
+
const newRoutingPoints = (0, smodel_util_1.calcElementAndRoutingPoints)(latestEdge, this.tool.edgeRouterRegistry);
|
|
216
|
+
result.push(protocol_1.ChangeRoutingPointsOperation.create([newRoutingPoints]));
|
|
216
217
|
this.routingHandle = undefined;
|
|
217
218
|
}
|
|
218
219
|
}
|
|
219
220
|
return result;
|
|
220
221
|
}
|
|
221
|
-
mouseOver(target,
|
|
222
|
+
mouseOver(target, _event) {
|
|
222
223
|
if (this.edge && this.isReconnecting()) {
|
|
223
224
|
const currentTarget = (0, sprotty_1.findParentByFeature)(target, sprotty_1.isConnectable);
|
|
224
225
|
if (!this.newConnectable || currentTarget !== this.newConnectable) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-edit-tool.js","sourceRoot":"","sources":["../../../src/features/tools/edge-edit-tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAAsG;AACtG,yCAAyD;AACzD,qCAaiB;AACjB,oFAA8E;AAC9E,4CAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"edge-edit-tool.js","sourceRoot":"","sources":["../../../src/features/tools/edge-edit-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { ElementAndBounds, ElementAndRoutingPoints, SModelElementSchema, TypeGuard } from '@eclipse-glsp/protocol';
|
|
17
|
-
import { BoundsAware, ModelIndexImpl, Selectable, SModelElement, SRoutableElement, SRoutingHandle } from 'sprotty';
|
|
17
|
+
import { BoundsAware, EdgeRouterRegistry, ModelIndexImpl, Selectable, SModelElement, SRoutableElement, SRoutingHandle } from 'sprotty';
|
|
18
18
|
import { FluentIterable } from 'sprotty/lib/utils/iterable';
|
|
19
19
|
/**
|
|
20
20
|
* Helper type to represent a filter predicate for {@link SModelElement}s. This is used to retrieve
|
|
@@ -127,11 +127,20 @@ export declare type BoundsAwareModelElement = SModelElement & BoundsAware;
|
|
|
127
127
|
export declare function toElementAndBounds(element: BoundsAwareModelElement): ElementAndBounds;
|
|
128
128
|
/**
|
|
129
129
|
* Helper function to translate a given {@link SRoutableElement} into its corresponding
|
|
130
|
-
* {@ElementAndRoutingPoints
|
|
130
|
+
* {@link ElementAndRoutingPoints} representation.
|
|
131
131
|
* @param element The element to translate.
|
|
132
132
|
* @returns The corresponding {@link ElementAndRoutingPoints} for the given element.
|
|
133
133
|
*/
|
|
134
134
|
export declare function toElementAndRoutingPoints(element: SRoutableElement): ElementAndRoutingPoints;
|
|
135
|
+
/**
|
|
136
|
+
* Helper function to calculate the {@link ElementAndRoutingPoints} for a given {@link SRoutableElement}.
|
|
137
|
+
* If client layout is activated, i.e., the edge routing registry is given and has a router for the element, then the routing
|
|
138
|
+
* points from the calculated route are used, otherwise we use the already specified routing points of the {@link SRoutableElement}.
|
|
139
|
+
* @param element The element to translate.
|
|
140
|
+
* @param edgeRouterRegistry the edge router registry
|
|
141
|
+
* @returns The corresponding {@link ElementAndRoutingPoints} for the given element.
|
|
142
|
+
*/
|
|
143
|
+
export declare function calcElementAndRoutingPoints(element: SRoutableElement, edgeRouterRegistry?: EdgeRouterRegistry): ElementAndRoutingPoints;
|
|
135
144
|
/**
|
|
136
145
|
* Checks if the model is compatible with the passed type string.
|
|
137
146
|
* (either has the same type or a subtype of this type)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smodel-util.d.ts","sourceRoot":"","sources":["../../src/utils/smodel-util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAe,gBAAgB,EAAE,uBAAuB,EAAU,mBAAmB,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxI,OAAO,EACH,WAAW,
|
|
1
|
+
{"version":3,"file":"smodel-util.d.ts","sourceRoot":"","sources":["../../src/utils/smodel-util.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/smodel-util.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getElementTypeId = exports.hasCompatibleType = exports.toElementAndRoutingPoints = exports.toElementAndBounds = exports.isSelectableAndBoundsAware = exports.isRoutingHandle = exports.isRoutable = exports.isNonRoutableSelectedBoundsAware = exports.isNonRoutableSelectedMovableBoundsAware = exports.removeCssClasses = exports.addCssClasses = exports.isNotUndefined = exports.hasSelectedElements = exports.getSelectedElementCount = exports.getElements = exports.getMatchingElements = exports.forEachElement = exports.filter = void 0;
|
|
3
|
+
exports.getElementTypeId = exports.hasCompatibleType = exports.calcElementAndRoutingPoints = exports.toElementAndRoutingPoints = exports.toElementAndBounds = exports.isSelectableAndBoundsAware = exports.isRoutingHandle = exports.isRoutable = exports.isNonRoutableSelectedBoundsAware = exports.isNonRoutableSelectedMovableBoundsAware = exports.removeCssClasses = exports.addCssClasses = exports.isNotUndefined = exports.hasSelectedElements = exports.getSelectedElementCount = exports.getElements = exports.getMatchingElements = exports.forEachElement = exports.filter = void 0;
|
|
4
4
|
/********************************************************************************
|
|
5
5
|
* Copyright (c) 2019-2022 EclipseSource and others.
|
|
6
6
|
*
|
|
@@ -185,7 +185,7 @@ function toElementAndBounds(element) {
|
|
|
185
185
|
exports.toElementAndBounds = toElementAndBounds;
|
|
186
186
|
/**
|
|
187
187
|
* Helper function to translate a given {@link SRoutableElement} into its corresponding
|
|
188
|
-
* {@ElementAndRoutingPoints
|
|
188
|
+
* {@link ElementAndRoutingPoints} representation.
|
|
189
189
|
* @param element The element to translate.
|
|
190
190
|
* @returns The corresponding {@link ElementAndRoutingPoints} for the given element.
|
|
191
191
|
*/
|
|
@@ -196,6 +196,21 @@ function toElementAndRoutingPoints(element) {
|
|
|
196
196
|
};
|
|
197
197
|
}
|
|
198
198
|
exports.toElementAndRoutingPoints = toElementAndRoutingPoints;
|
|
199
|
+
/**
|
|
200
|
+
* Helper function to calculate the {@link ElementAndRoutingPoints} for a given {@link SRoutableElement}.
|
|
201
|
+
* If client layout is activated, i.e., the edge routing registry is given and has a router for the element, then the routing
|
|
202
|
+
* points from the calculated route are used, otherwise we use the already specified routing points of the {@link SRoutableElement}.
|
|
203
|
+
* @param element The element to translate.
|
|
204
|
+
* @param edgeRouterRegistry the edge router registry
|
|
205
|
+
* @returns The corresponding {@link ElementAndRoutingPoints} for the given element.
|
|
206
|
+
*/
|
|
207
|
+
function calcElementAndRoutingPoints(element, edgeRouterRegistry) {
|
|
208
|
+
const router = edgeRouterRegistry === null || edgeRouterRegistry === void 0 ? void 0 : edgeRouterRegistry.get(element.routerKind);
|
|
209
|
+
// filter duplicate points (same x,y coordinates) and only keep actual routing points (no start or target, no volatile points)
|
|
210
|
+
const clientRoutingPoints = router === null || router === void 0 ? void 0 : router.route(element).filter((point, idx, route) => idx === route.findIndex(otherPoint => otherPoint.x === point.x && otherPoint.y === point.y)).filter(point => point.kind === 'linear' || point.kind === 'bezier-junction');
|
|
211
|
+
return { elementId: element.id, newRoutingPoints: clientRoutingPoints || element.routingPoints };
|
|
212
|
+
}
|
|
213
|
+
exports.calcElementAndRoutingPoints = calcElementAndRoutingPoints;
|
|
199
214
|
/**
|
|
200
215
|
* Checks if the model is compatible with the passed type string.
|
|
201
216
|
* (either has the same type or a subtype of this type)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smodel-util.js","sourceRoot":"","sources":["../../src/utils/smodel-util.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAAwI;AACxI,
|
|
1
|
+
{"version":3,"file":"smodel-util.js","sourceRoot":"","sources":["../../src/utils/smodel-util.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAAwI;AACxI,qCAYiB;AAUjB;;;;;;GAMG;AACH,SAAgB,MAAM,CAAI,KAAqB,EAAE,SAAkC;IAC/E,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAsC,CAAC;AAC9E,CAAC;AAFD,wBAEC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAC1B,KAAqB,EACrB,SAAkC,EAClC,QAAmD;IAEnD,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAND,wCAMC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAI,KAAqB,EAAE,SAAkC;IAC5F,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAChD,CAAC;AAFD,kDAEC;AAED;;;;;;;GAOG;AACH,SAAgB,WAAW,CAA0B,KAAqB,EAAE,WAAqB,EAAE,KAAoB;IACnH,2GAA2G;IAC3G,MAAM,QAAQ,GAAG,CAAC,OAAuB,EAAgB,EAAE;QACvD,IAAI,OAAO,KAAK,SAAS,EAAE;YACvB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SACxC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;IACF,OAAO,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACrE,CAAC;AATD,kCASC;AACD;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,KAAqB;IACzD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,cAAc,CAAC,KAAK,EAAE,oBAAU,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAJD,0DAIC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,KAAqB;IACrD,OAAO,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAFD,kDAEC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAI,OAAsB;IACpD,OAAO,OAAO,KAAK,SAAS,CAAC;AACjC,CAAC;AAFD,wCAEC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,OAAsB,EAAE,UAAoB;;IACtE,MAAM,iBAAiB,GAAa,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;IAC7D,IAAA,sBAAW,EAAC,iBAAiB,EAAE,GAAG,UAAU,CAAC,CAAC;IAC9C,OAAO,CAAC,UAAU,GAAG,iBAAiB,CAAC;AAC3C,CAAC;AAJD,sCAIC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,IAAmB,EAAE,UAAoB;IACtE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAClD,OAAO;KACV;IACD,IAAA,iBAAM,EAAC,IAAI,CAAC,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;AAC3C,CAAC;AALD,4CAKC;AAED,SAAgB,uCAAuC,CAAC,OAAsB;IAC1E,OAAO,gCAAgC,CAAC,OAAO,CAAC,IAAI,IAAA,oBAAU,EAAC,OAAO,CAAC,CAAC;AAC5E,CAAC;AAFD,0FAEC;AAED;;;;;GAKG;AACH,SAAgB,gCAAgC,CAAC,OAAsB;IACnE,OAAO,IAAA,uBAAa,EAAC,OAAO,CAAC,IAAI,IAAA,oBAAU,EAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACjF,CAAC;AAFD,4EAEC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAA0B,OAAU;IAC1D,OAAO,OAAO,YAAY,0BAAgB,IAAK,OAAe,CAAC,aAAa,KAAK,SAAS,CAAC;AAC/F,CAAC;AAFD,gCAEC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,OAAkC;IAC9D,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,YAAY,wBAAc,CAAC;AACtE,CAAC;AAFD,0CAEC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B,CAAC,OAAsB;IAC7D,OAAO,IAAA,sBAAY,EAAC,OAAO,CAAC,IAAI,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAC;AAC3D,CAAC;AAFD,gEAEC;AAYD;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,OAAgC;IAC/D,OAAO;QACH,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,WAAW,EAAE;YACT,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;SACtB;QACD,OAAO,EAAE;YACL,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;SAChC;KACJ,CAAC;AACN,CAAC;AAZD,gDAYC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,OAAyB;IAC/D,OAAO;QACH,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,gBAAgB,EAAE,OAAO,CAAC,aAAa;KAC1C,CAAC;AACN,CAAC;AALD,8DAKC;AAED;;;;;;;GAOG;AACH,SAAgB,2BAA2B,CAAC,OAAyB,EAAE,kBAAuC;IAC1G,MAAM,MAAM,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3D,8HAA8H;IAC9H,MAAM,mBAAmB,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,OAAO,EAC5C,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EACzH,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;IAClF,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,gBAAgB,EAAE,mBAAmB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;AACrG,CAAC;AAPD,kEAOC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,KAAmD,EAAE,IAAY;IAC/F,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAHD,8CAGC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,KAAmD;IAChF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,OAAO,KAAe,CAAC;KAC1B;SAAM;QACH,OAAQ,KAAa,CAAC,MAAM,CAAW,CAAC;KAC3C;AACL,CAAC;AAND,4CAMC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-glsp/client",
|
|
3
|
-
"version": "1.1.0-
|
|
3
|
+
"version": "1.1.0-RC02",
|
|
4
4
|
"description": "A sprotty-based client for GLSP",
|
|
5
5
|
"license": "(EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0)",
|
|
6
6
|
"keywords": [
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"css"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@eclipse-glsp/protocol": "1.1.0-
|
|
37
|
+
"@eclipse-glsp/protocol": "1.1.0-RC02",
|
|
38
38
|
"autocompleter": "5.1.0",
|
|
39
39
|
"sprotty": "0.13.0-next.1c4343c.328"
|
|
40
40
|
},
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
},
|
|
59
59
|
"main": "lib/index",
|
|
60
60
|
"types": "lib/index",
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "196fab7283970c6578830766b39995cf57859bb8"
|
|
62
62
|
}
|
|
@@ -0,0 +1,50 @@
|
|
|
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 { RequestAction } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { injectable } from 'inversify';
|
|
18
|
+
import { ExportSvgAction, SModelRoot, SvgExporter } from 'sprotty';
|
|
19
|
+
import { v4 as uuid } from 'uuid';
|
|
20
|
+
|
|
21
|
+
@injectable()
|
|
22
|
+
export class GLSPSvgExporter extends SvgExporter {
|
|
23
|
+
override export(root: SModelRoot, _request?: RequestAction<ExportSvgAction>): void {
|
|
24
|
+
if (typeof document !== 'undefined') {
|
|
25
|
+
const svgElement = this.findSvgElement();
|
|
26
|
+
if (svgElement) {
|
|
27
|
+
// createSvg requires the svg to have a non-empty id, so we generate one if necessary
|
|
28
|
+
const originalId = svgElement.id;
|
|
29
|
+
try {
|
|
30
|
+
svgElement.id = originalId || uuid();
|
|
31
|
+
// provide generated svg code with respective sizing for proper viewing in browser and remove undesired border
|
|
32
|
+
const bounds = this.getBounds(root);
|
|
33
|
+
const svg = this.createSvg(svgElement, root)
|
|
34
|
+
.replace('style="',
|
|
35
|
+
`style="width: ${bounds.width}px !important;height: ${bounds.height}px !important;border: none !important;`);
|
|
36
|
+
// do not give request/response id here as otherwise the action is treated as an unrequested response
|
|
37
|
+
this.actionDispatcher.dispatch(ExportSvgAction.create(svg, ''));
|
|
38
|
+
} finally {
|
|
39
|
+
svgElement.id = originalId;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
protected findSvgElement(): SVGSVGElement | null {
|
|
46
|
+
const div = document.getElementById(this.options.hiddenDiv);
|
|
47
|
+
// search for first svg element as hierarchy within Sprotty might change
|
|
48
|
+
return div && div.querySelector('svg');
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
16
|
+
import {
|
|
17
17
|
Action,
|
|
18
18
|
Bounds,
|
|
19
19
|
ChangeBoundsOperation,
|
|
@@ -44,10 +44,10 @@ import { DragAwareMouseListener } from '../../base/drag-aware-mouse-listener';
|
|
|
44
44
|
import { TYPES } from '../../base/types';
|
|
45
45
|
import { isValidMove, isValidSize } from '../../utils/layout-utils';
|
|
46
46
|
import {
|
|
47
|
+
calcElementAndRoutingPoints,
|
|
47
48
|
forEachElement,
|
|
48
49
|
isNonRoutableSelectedMovableBoundsAware,
|
|
49
|
-
toElementAndBounds
|
|
50
|
-
toElementAndRoutingPoints
|
|
50
|
+
toElementAndBounds
|
|
51
51
|
} from '../../utils/smodel-util';
|
|
52
52
|
import { isBoundsAwareMoveable, isResizable, Resizable, ResizeHandleLocation, SResizeHandle } from '../change-bounds/model';
|
|
53
53
|
import {
|
|
@@ -237,19 +237,22 @@ export class ChangeBoundsListener extends DragAwareMouseListener implements Sele
|
|
|
237
237
|
}
|
|
238
238
|
|
|
239
239
|
protected handleMoveRoutingPointsOnServer(target: SModelElement): Operation[] {
|
|
240
|
-
const result: Operation[] = [];
|
|
241
240
|
const newRoutingPoints: ElementAndRoutingPoints[] = [];
|
|
242
|
-
|
|
241
|
+
const routerRegistry = this.tool.edgeRouterRegistry;
|
|
242
|
+
if (routerRegistry) {
|
|
243
243
|
// If client routing is enabled -> delegate routingpoints of connected edges to server
|
|
244
|
-
|
|
245
|
-
element
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
244
|
+
forEachElement(target.index, isNonRoutableSelectedMovableBoundsAware, element => {
|
|
245
|
+
if (element instanceof SConnectableElement) {
|
|
246
|
+
element.incomingEdges.map(connectable => calcElementAndRoutingPoints(connectable, routerRegistry))
|
|
247
|
+
.forEach(ear => newRoutingPoints.push(ear));
|
|
248
|
+
element.outgoingEdges.map(connectable => calcElementAndRoutingPoints(connectable, routerRegistry))
|
|
249
|
+
.forEach(ear => newRoutingPoints.push(ear));
|
|
250
|
+
}
|
|
251
|
+
});
|
|
251
252
|
}
|
|
252
|
-
return
|
|
253
|
+
return newRoutingPoints.length > 0
|
|
254
|
+
? [ChangeRoutingPointsOperation.create(newRoutingPoints)]
|
|
255
|
+
: [];
|
|
253
256
|
}
|
|
254
257
|
|
|
255
258
|
protected handleResize(activeResizeHandle: SResizeHandle): Action[] {
|
|
@@ -18,6 +18,7 @@ import { ContainerModule, interfaces } from 'inversify';
|
|
|
18
18
|
import { configureActionHandler, configureModelElement } from 'sprotty';
|
|
19
19
|
import { FocusStateChangedAction } from '../../base/actions/focus-change-action';
|
|
20
20
|
import { TYPES } from '../../base/types';
|
|
21
|
+
import { GLSPSvgExporter } from '../export/glsp-svg-exporter';
|
|
21
22
|
import { MARQUEE } from '../tool-feedback/marquee-tool-feedback';
|
|
22
23
|
import { ChangeBoundsTool } from './change-bounds-tool';
|
|
23
24
|
import { DelKeyDeleteTool, MouseDeleteTool } from './delete-tool';
|
|
@@ -34,7 +35,7 @@ import { MarqueeView } from './view';
|
|
|
34
35
|
* Registers the default tools of GLSP (node and edge creation, changing bounds, edge editing, deletion)
|
|
35
36
|
* and adds the marquee selection tool.
|
|
36
37
|
*/
|
|
37
|
-
export const toolsModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
38
|
+
export const toolsModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
|
|
38
39
|
// Register default tools
|
|
39
40
|
bind(TYPES.IDefaultTool).to(ChangeBoundsTool);
|
|
40
41
|
bind(TYPES.IDefaultTool).to(EdgeEditTool);
|
|
@@ -50,6 +51,9 @@ export const toolsModule = new ContainerModule((bind, _unbind, isBound) => {
|
|
|
50
51
|
configureMarqueeTool({ bind, isBound });
|
|
51
52
|
configureActionHandler({ bind, isBound }, TriggerNodeCreationAction.KIND, NodeCreationTool);
|
|
52
53
|
configureActionHandler({ bind, isBound }, TriggerEdgeCreationAction.KIND, EdgeCreationTool);
|
|
54
|
+
|
|
55
|
+
bind(GLSPSvgExporter).toSelf().inSingletonScope();
|
|
56
|
+
rebind(TYPES.SvgExporter).toService(GLSPSvgExporter);
|
|
53
57
|
});
|
|
54
58
|
|
|
55
59
|
export function configureMarqueeTool(context: { bind: interfaces.Bind; isBound: interfaces.IsBound }): void {
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
} from 'sprotty';
|
|
32
32
|
import { DragAwareMouseListener } from '../../base/drag-aware-mouse-listener';
|
|
33
33
|
import { TYPES } from '../../base/types';
|
|
34
|
-
import { isRoutable, isRoutingHandle } from '../../utils/smodel-util';
|
|
34
|
+
import { calcElementAndRoutingPoints, isRoutable, isRoutingHandle } from '../../utils/smodel-util';
|
|
35
35
|
import { isReconnectable, isReconnectHandle, isSourceRoutingHandle, isTargetRoutingHandle, SReconnectHandle } from '../reconnect/model';
|
|
36
36
|
import { SelectionListener, SelectionService } from '../select/selection-service';
|
|
37
37
|
import { DrawFeedbackEdgeAction, feedbackEdgeId, RemoveFeedbackEdgeAction } from '../tool-feedback/creation-tool-feedback';
|
|
@@ -53,7 +53,7 @@ export class EdgeEditTool extends BaseGLSPTool {
|
|
|
53
53
|
|
|
54
54
|
@inject(TYPES.SelectionService) protected selectionService: SelectionService;
|
|
55
55
|
@inject(AnchorComputerRegistry) protected anchorRegistry: AnchorComputerRegistry;
|
|
56
|
-
@inject(EdgeRouterRegistry) @optional()
|
|
56
|
+
@inject(EdgeRouterRegistry) @optional() readonly edgeRouterRegistry?: EdgeRouterRegistry;
|
|
57
57
|
@inject(TYPES.ISnapper) @optional() readonly snapper?: ISnapper;
|
|
58
58
|
|
|
59
59
|
protected feedbackEdgeSourceMovingListener: FeedbackEdgeSourceMovingMouseListener;
|
|
@@ -237,16 +237,15 @@ class EdgeEditListener extends DragAwareMouseListener implements SelectionListen
|
|
|
237
237
|
// reroute actions
|
|
238
238
|
const latestEdge = target.index.getById(this.edge.id);
|
|
239
239
|
if (latestEdge && isRoutable(latestEdge)) {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
);
|
|
240
|
+
const newRoutingPoints = calcElementAndRoutingPoints(latestEdge, this.tool.edgeRouterRegistry);
|
|
241
|
+
result.push(ChangeRoutingPointsOperation.create([newRoutingPoints]));
|
|
243
242
|
this.routingHandle = undefined;
|
|
244
243
|
}
|
|
245
244
|
}
|
|
246
245
|
return result;
|
|
247
246
|
}
|
|
248
247
|
|
|
249
|
-
override mouseOver(target: SModelElement,
|
|
248
|
+
override mouseOver(target: SModelElement, _event: MouseEvent): Action[] {
|
|
250
249
|
if (this.edge && this.isReconnecting()) {
|
|
251
250
|
const currentTarget = findParentByFeature(target, isConnectable);
|
|
252
251
|
if (!this.newConnectable || currentTarget !== this.newConnectable) {
|
package/src/utils/smodel-util.ts
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
import { distinctAdd, ElementAndBounds, ElementAndRoutingPoints, remove, SModelElementSchema, TypeGuard } from '@eclipse-glsp/protocol';
|
|
17
17
|
import {
|
|
18
18
|
BoundsAware,
|
|
19
|
+
EdgeRouterRegistry,
|
|
19
20
|
isBoundsAware,
|
|
20
21
|
isMoveable,
|
|
21
22
|
isSelectable,
|
|
@@ -214,7 +215,7 @@ export function toElementAndBounds(element: BoundsAwareModelElement): ElementAnd
|
|
|
214
215
|
|
|
215
216
|
/**
|
|
216
217
|
* Helper function to translate a given {@link SRoutableElement} into its corresponding
|
|
217
|
-
* {@ElementAndRoutingPoints
|
|
218
|
+
* {@link ElementAndRoutingPoints} representation.
|
|
218
219
|
* @param element The element to translate.
|
|
219
220
|
* @returns The corresponding {@link ElementAndRoutingPoints} for the given element.
|
|
220
221
|
*/
|
|
@@ -225,6 +226,23 @@ export function toElementAndRoutingPoints(element: SRoutableElement): ElementAnd
|
|
|
225
226
|
};
|
|
226
227
|
}
|
|
227
228
|
|
|
229
|
+
/**
|
|
230
|
+
* Helper function to calculate the {@link ElementAndRoutingPoints} for a given {@link SRoutableElement}.
|
|
231
|
+
* If client layout is activated, i.e., the edge routing registry is given and has a router for the element, then the routing
|
|
232
|
+
* points from the calculated route are used, otherwise we use the already specified routing points of the {@link SRoutableElement}.
|
|
233
|
+
* @param element The element to translate.
|
|
234
|
+
* @param edgeRouterRegistry the edge router registry
|
|
235
|
+
* @returns The corresponding {@link ElementAndRoutingPoints} for the given element.
|
|
236
|
+
*/
|
|
237
|
+
export function calcElementAndRoutingPoints(element: SRoutableElement, edgeRouterRegistry?: EdgeRouterRegistry): ElementAndRoutingPoints {
|
|
238
|
+
const router = edgeRouterRegistry?.get(element.routerKind);
|
|
239
|
+
// filter duplicate points (same x,y coordinates) and only keep actual routing points (no start or target, no volatile points)
|
|
240
|
+
const clientRoutingPoints = router?.route(element)
|
|
241
|
+
.filter((point, idx, route) => idx === route.findIndex(otherPoint => otherPoint.x === point.x && otherPoint.y === point.y))
|
|
242
|
+
.filter(point => point.kind === 'linear' || point.kind === 'bezier-junction');
|
|
243
|
+
return { elementId: element.id, newRoutingPoints: clientRoutingPoints || element.routingPoints };
|
|
244
|
+
}
|
|
245
|
+
|
|
228
246
|
/**
|
|
229
247
|
* Checks if the model is compatible with the passed type string.
|
|
230
248
|
* (either has the same type or a subtype of this type)
|
|
@@ -247,3 +265,4 @@ export function getElementTypeId(input: SModelElement | SModelElementSchema | st
|
|
|
247
265
|
return (input as any)['type'] as string;
|
|
248
266
|
}
|
|
249
267
|
}
|
|
268
|
+
|