@eclipse-glsp/client 2.8.0-next.16 → 2.8.0-next.17
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/bounds/glsp-hidden-bounds-updater.d.ts +30 -1
- package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts.map +1 -1
- package/lib/features/bounds/glsp-hidden-bounds-updater.js +55 -2
- package/lib/features/bounds/glsp-hidden-bounds-updater.js.map +1 -1
- package/lib/features/element-template/add-template-element.d.ts +6 -1
- package/lib/features/element-template/add-template-element.d.ts.map +1 -1
- package/lib/features/element-template/add-template-element.js +14 -1
- package/lib/features/element-template/add-template-element.js.map +1 -1
- package/lib/features/tools/edge-creation/dangling-edge-feedback.d.ts +1 -1
- package/lib/features/tools/edge-creation/dangling-edge-feedback.d.ts.map +1 -1
- package/lib/features/tools/edge-creation/dangling-edge-feedback.js +3 -1
- package/lib/features/tools/edge-creation/dangling-edge-feedback.js.map +1 -1
- package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts +1 -1
- package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js +4 -1
- package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tools/marquee-selection/model.d.ts +1 -1
- package/lib/features/tools/marquee-selection/model.d.ts.map +1 -1
- package/lib/features/tools/marquee-selection/model.js +3 -2
- package/lib/features/tools/marquee-selection/model.js.map +1 -1
- package/lib/features/tools/node-creation/insert-indicator.d.ts.map +1 -1
- package/lib/features/tools/node-creation/insert-indicator.js +2 -1
- package/lib/features/tools/node-creation/insert-indicator.js.map +1 -1
- package/lib/features/validation/issue-marker.d.ts +2 -2
- package/lib/features/validation/issue-marker.d.ts.map +1 -1
- package/lib/features/validation/issue-marker.js +7 -2
- package/lib/features/validation/issue-marker.js.map +1 -1
- package/lib/utils/gmodel-util.d.ts +13 -1
- package/lib/utils/gmodel-util.d.ts.map +1 -1
- package/lib/utils/gmodel-util.js +11 -1
- package/lib/utils/gmodel-util.js.map +1 -1
- package/package.json +2 -2
- package/src/features/bounds/glsp-hidden-bounds-updater.ts +68 -2
- package/src/features/element-template/add-template-element.ts +17 -2
- package/src/features/tools/edge-creation/dangling-edge-feedback.ts +4 -2
- package/src/features/tools/edge-edit/edge-edit-tool-feedback.ts +5 -3
- package/src/features/tools/marquee-selection/model.ts +3 -2
- package/src/features/tools/node-creation/insert-indicator.ts +2 -1
- package/src/features/validation/issue-marker.ts +7 -2
- package/src/utils/gmodel-util.ts +23 -1
|
@@ -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 { Action, BoundsData, EdgeRouterRegistry, ElementAndRoutingPoints, GModelElement, HiddenBoundsUpdater, LayoutData, ModelIndexImpl } from '@eclipse-glsp/sprotty';
|
|
16
|
+
import { Action, BoundsData, EdgeRouterRegistry, ElementAndRoutingPoints, GModelElement, GModelRoot, GRoutableElement, HiddenBoundsUpdater, LayoutData, ModelIndexImpl } from '@eclipse-glsp/sprotty';
|
|
17
17
|
import { VNode } from 'snabbdom';
|
|
18
18
|
import { EditorContextService } from '../../base/editor-context-service';
|
|
19
19
|
import { BoundsAwareModelElement } from '../../utils/gmodel-util';
|
|
@@ -29,10 +29,39 @@ export declare class GLSPHiddenBoundsUpdater extends HiddenBoundsUpdater {
|
|
|
29
29
|
protected readonly edgeRouterRegistry?: EdgeRouterRegistry;
|
|
30
30
|
protected editorContext: EditorContextService;
|
|
31
31
|
protected element2route: ElementAndRoutingPoints[];
|
|
32
|
+
/**
|
|
33
|
+
* Ids of the routable elements of {@link element2route} that only exist as client-side feedback.
|
|
34
|
+
* Recorded while decorating, as the routes outlive the root they were collected from.
|
|
35
|
+
*/
|
|
36
|
+
protected feedbackRouteIds: Set<string>;
|
|
37
|
+
/**
|
|
38
|
+
* Root of the hidden rendering currently being collected, used to detect the start of the next
|
|
39
|
+
* one. Referenced weakly, as a hidden root is a throwaway copy of the whole model.
|
|
40
|
+
*/
|
|
41
|
+
protected collectingForRoot?: WeakRef<GModelRoot>;
|
|
32
42
|
protected getElement2BoundsData(): Map<BoundsAwareModelElement, BoundsDataExt>;
|
|
33
43
|
decorate(vnode: VNode, element: GModelElement): VNode;
|
|
44
|
+
/**
|
|
45
|
+
* The route reported for the given element, or `undefined` to leave it out of the
|
|
46
|
+
* {@link ComputedBoundsAction} of this rendering. Override to substitute or to skip a route,
|
|
47
|
+
* which a later rendering reports again as soon as the edge can be routed.
|
|
48
|
+
*
|
|
49
|
+
* A route of fewer than two points, which is how a router reports an edge it cannot route, is
|
|
50
|
+
* skipped: approximating it from the endpoint positions would overwrite the route on the server.
|
|
51
|
+
*/
|
|
52
|
+
protected calcElementRoute(element: GRoutableElement): ElementAndRoutingPoints | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Drops the data collected for the previous hidden rendering as soon as a new one starts.
|
|
55
|
+
* {@link postUpdate} cleans up on its way out, but a failing view or vdom patch aborts the
|
|
56
|
+
* rendering before the viewer gets there, leaving the collected bounds behind.
|
|
57
|
+
*
|
|
58
|
+
* Elements are decorated bottom-up, so the rendering is recognized by the root of the element
|
|
59
|
+
* at hand rather than by the root element itself.
|
|
60
|
+
*/
|
|
61
|
+
protected resetOnNewRendering(element: GModelElement): void;
|
|
34
62
|
postUpdate(cause?: Action): void;
|
|
35
63
|
protected cleanUp(): void;
|
|
64
|
+
protected isFeedbackElement(element: GModelElement): boolean;
|
|
36
65
|
protected focusOnElements(elementIDs: string[]): void;
|
|
37
66
|
protected expandElementId(id: string, index: ModelIndexImpl, elementIDs: string[]): string[];
|
|
38
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glsp-hidden-bounds-updater.d.ts","sourceRoot":"","sources":["../../../src/features/bounds/glsp-hidden-bounds-updater.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,MAAM,EACN,UAAU,EAEV,kBAAkB,EAIlB,uBAAuB,EAEvB,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,cAAc,EAGjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"glsp-hidden-bounds-updater.d.ts","sourceRoot":"","sources":["../../../src/features/bounds/glsp-hidden-bounds-updater.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,MAAM,EACN,UAAU,EAEV,kBAAkB,EAIlB,uBAAuB,EAEvB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,cAAc,EAGjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAGzE,OAAO,EAAE,uBAAuB,EAAqD,MAAM,yBAAyB,CAAC;AAIrH,qBAAa,aAAc,SAAQ,UAAU;IACzC,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED;;;;GAIG;AACH,qBACa,uBAAwB,SAAQ,mBAAmB;IACpB,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACrE,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAE5E,SAAS,CAAC,aAAa,EAAE,uBAAuB,EAAE,CAAM;IAExD;;;OAGG;IACH,SAAS,CAAC,gBAAgB,cAAqB;IAE/C;;;OAGG;IACH,SAAS,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAElD,SAAS,CAAC,qBAAqB,IAAI,GAAG,CAAC,uBAAuB,EAAE,aAAa,CAAC;IAIrE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,GAAG,KAAK;IAe9D;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,uBAAuB,GAAG,SAAS;IAK1F;;;;;;;OAOG;IACH,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAOlD,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAiFzC,SAAS,CAAC,OAAO,IAAI,IAAI;IAQzB,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;IAI5D,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI;IAYrD,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;CAG/F"}
|
|
@@ -28,6 +28,8 @@ exports.GLSPHiddenBoundsUpdater = exports.BoundsDataExt = void 0;
|
|
|
28
28
|
const sprotty_1 = require("@eclipse-glsp/sprotty");
|
|
29
29
|
const inversify_1 = require("inversify");
|
|
30
30
|
const editor_context_service_1 = require("../../base/editor-context-service");
|
|
31
|
+
const feedback_action_dispatcher_1 = require("../../base/feedback/feedback-action-dispatcher");
|
|
32
|
+
const glsp_model_source_1 = require("../../base/model/glsp-model-source");
|
|
31
33
|
const gmodel_util_1 = require("../../utils/gmodel-util");
|
|
32
34
|
const layout_data_1 = require("./layout-data");
|
|
33
35
|
const local_bounds_1 = require("./local-bounds");
|
|
@@ -43,17 +45,55 @@ let GLSPHiddenBoundsUpdater = class GLSPHiddenBoundsUpdater extends sprotty_1.Hi
|
|
|
43
45
|
constructor() {
|
|
44
46
|
super(...arguments);
|
|
45
47
|
this.element2route = [];
|
|
48
|
+
/**
|
|
49
|
+
* Ids of the routable elements of {@link element2route} that only exist as client-side feedback.
|
|
50
|
+
* Recorded while decorating, as the routes outlive the root they were collected from.
|
|
51
|
+
*/
|
|
52
|
+
this.feedbackRouteIds = new Set();
|
|
46
53
|
}
|
|
47
54
|
getElement2BoundsData() {
|
|
48
55
|
return this['element2boundsData'];
|
|
49
56
|
}
|
|
50
57
|
decorate(vnode, element) {
|
|
58
|
+
this.resetOnNewRendering(element);
|
|
51
59
|
super.decorate(vnode, element);
|
|
52
60
|
if ((0, gmodel_util_1.isRoutable)(element)) {
|
|
53
|
-
this.
|
|
61
|
+
const route = this.calcElementRoute(element);
|
|
62
|
+
if (route) {
|
|
63
|
+
this.element2route.push(route);
|
|
64
|
+
if (this.isFeedbackElement(element)) {
|
|
65
|
+
this.feedbackRouteIds.add(element.id);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
54
68
|
}
|
|
55
69
|
return vnode;
|
|
56
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* The route reported for the given element, or `undefined` to leave it out of the
|
|
73
|
+
* {@link ComputedBoundsAction} of this rendering. Override to substitute or to skip a route,
|
|
74
|
+
* which a later rendering reports again as soon as the edge can be routed.
|
|
75
|
+
*
|
|
76
|
+
* A route of fewer than two points, which is how a router reports an edge it cannot route, is
|
|
77
|
+
* skipped: approximating it from the endpoint positions would overwrite the route on the server.
|
|
78
|
+
*/
|
|
79
|
+
calcElementRoute(element) {
|
|
80
|
+
const elementAndRoute = (0, gmodel_util_1.calcElementAndRoute)(element, this.edgeRouterRegistry);
|
|
81
|
+
return (elementAndRoute.newRoutingPoints?.length ?? 0) < 2 ? undefined : elementAndRoute;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Drops the data collected for the previous hidden rendering as soon as a new one starts.
|
|
85
|
+
* {@link postUpdate} cleans up on its way out, but a failing view or vdom patch aborts the
|
|
86
|
+
* rendering before the viewer gets there, leaving the collected bounds behind.
|
|
87
|
+
*
|
|
88
|
+
* Elements are decorated bottom-up, so the rendering is recognized by the root of the element
|
|
89
|
+
* at hand rather than by the root element itself.
|
|
90
|
+
*/
|
|
91
|
+
resetOnNewRendering(element) {
|
|
92
|
+
if (this.collectingForRoot?.deref() !== element.root) {
|
|
93
|
+
this.cleanUp();
|
|
94
|
+
this.collectingForRoot = new WeakRef(element.root);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
57
97
|
postUpdate(cause) {
|
|
58
98
|
try {
|
|
59
99
|
if (cause === undefined || cause.kind !== sprotty_1.RequestBoundsAction.KIND) {
|
|
@@ -65,11 +105,16 @@ let GLSPHiddenBoundsUpdater = class GLSPHiddenBoundsUpdater extends sprotty_1.Hi
|
|
|
65
105
|
// collect bounds and layout data in element2BoundsData
|
|
66
106
|
this.getBoundsFromDOM();
|
|
67
107
|
this.layouter.layout(this.getElement2BoundsData());
|
|
108
|
+
// the server can only resolve elements it sent us itself
|
|
109
|
+
const skipFeedback = glsp_model_source_1.ServerAction.is(cause);
|
|
68
110
|
// prepare data for action
|
|
69
111
|
const resizes = [];
|
|
70
112
|
const alignments = [];
|
|
71
113
|
const layoutData = [];
|
|
72
114
|
this.getElement2BoundsData().forEach((boundsData, element) => {
|
|
115
|
+
if (skipFeedback && this.isFeedbackElement(element)) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
73
118
|
if (boundsData.boundsChanged && boundsData.bounds !== undefined) {
|
|
74
119
|
const resize = {
|
|
75
120
|
elementId: element.id,
|
|
@@ -97,7 +142,10 @@ let GLSPHiddenBoundsUpdater = class GLSPHiddenBoundsUpdater extends sprotty_1.Hi
|
|
|
97
142
|
layoutData.push({ elementId: element.id, layoutData: boundsData.layoutData });
|
|
98
143
|
}
|
|
99
144
|
});
|
|
100
|
-
const
|
|
145
|
+
const relevantRoutes = skipFeedback
|
|
146
|
+
? this.element2route.filter(route => !this.feedbackRouteIds.has(route.elementId))
|
|
147
|
+
: this.element2route;
|
|
148
|
+
const routes = relevantRoutes.length === 0 ? undefined : relevantRoutes;
|
|
101
149
|
// prepare and dispatch action
|
|
102
150
|
const responseId = cause.requestId;
|
|
103
151
|
const revision = this.root !== undefined ? this.root.revision : undefined;
|
|
@@ -125,8 +173,13 @@ let GLSPHiddenBoundsUpdater = class GLSPHiddenBoundsUpdater extends sprotty_1.Hi
|
|
|
125
173
|
cleanUp() {
|
|
126
174
|
this.getElement2BoundsData().clear();
|
|
127
175
|
this.element2route = [];
|
|
176
|
+
this.feedbackRouteIds.clear();
|
|
177
|
+
this.collectingForRoot = undefined;
|
|
128
178
|
this.root = undefined;
|
|
129
179
|
}
|
|
180
|
+
isFeedbackElement(element) {
|
|
181
|
+
return element.hasFeature(feedback_action_dispatcher_1.feedbackFeature);
|
|
182
|
+
}
|
|
130
183
|
focusOnElements(elementIDs) {
|
|
131
184
|
const data = this.getElement2BoundsData();
|
|
132
185
|
if (data.size > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glsp-hidden-bounds-updater.js","sourceRoot":"","sources":["../../../src/features/bounds/glsp-hidden-bounds-updater.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,
|
|
1
|
+
{"version":3,"file":"glsp-hidden-bounds-updater.js","sourceRoot":"","sources":["../../../src/features/bounds/glsp-hidden-bounds-updater.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2023-
|
|
2
|
+
* Copyright (c) 2023-2026 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
|
|
@@ -32,6 +32,11 @@ export declare class AddTemplateElementsFeedbackCommand extends FeedbackCommand
|
|
|
32
32
|
protected actionDispatcher: IActionDispatcher;
|
|
33
33
|
constructor(action: AddTemplateElementsAction);
|
|
34
34
|
execute(context: CommandExecutionContext): CommandResult;
|
|
35
|
+
/**
|
|
36
|
+
* Marks the given template element as feedback to keep it out of the bounds reported to the
|
|
37
|
+
* server. The bounds pass tests every element on its own, so the whole subtree is marked.
|
|
38
|
+
*/
|
|
39
|
+
protected markAsFeedback(element: GChildElement): GChildElement;
|
|
35
40
|
protected applyRootCssClasses(element: GChildElement, addClasses?: string[], removeClasses?: string[]): GChildElement;
|
|
36
41
|
}
|
|
37
42
|
export declare function templateToSchema(template: ElementTemplate, context: CommandExecutionContext): GModelElementSchema | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-template-element.d.ts","sourceRoot":"","sources":["../../../src/features/element-template/add-template-element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,MAAM,EACN,uBAAuB,EACvB,aAAa,EACb,eAAe,EACf,aAAa,EACb,mBAAmB,
|
|
1
|
+
{"version":3,"file":"add-template-element.d.ts","sourceRoot":"","sources":["../../../src/features/element-template/add-template-element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,MAAM,EACN,uBAAuB,EACvB,aAAa,EACb,eAAe,EACf,aAAa,EACb,mBAAmB,EAEnB,iBAAiB,EAIpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAIvE,MAAM,WAAW,yBAA0B,SAAQ,MAAM;IACrD,IAAI,EAAE,OAAO,yBAAyB,CAAC,IAAI,CAAC;IAC5C,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,yBAAiB,yBAAyB,CAAC;IAChC,MAAM,IAAI,wBAAwB,CAAC;IAE1C,SAAgB,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,GAAG,yBAAyB,CAKlG;CACJ;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAEtE;AAED,qBACa,kCAAmC,SAAQ,eAAe;IAKjC,QAAQ,CAAC,MAAM,EAAE,yBAAyB;IAJ5E,MAAM,CAAC,QAAQ,CAAC,IAAI,yBAAkC;IAErB,SAAS,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;gBAEpC,MAAM,EAAE,yBAAyB;IAInE,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;IAYjE;;;OAGG;IACH,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa;IAQ/D,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,aAAa;CAIxH;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,uBAAuB,GAAG,mBAAmB,GAAG,SAAS,CAU7H"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/********************************************************************************
|
|
3
|
-
* Copyright (c) 2023-
|
|
3
|
+
* Copyright (c) 2023-2026 EclipseSource and others.
|
|
4
4
|
*
|
|
5
5
|
* This program and the accompanying materials are made available under the
|
|
6
6
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -32,6 +32,7 @@ exports.getTemplateElementId = getTemplateElementId;
|
|
|
32
32
|
exports.templateToSchema = templateToSchema;
|
|
33
33
|
const sprotty_1 = require("@eclipse-glsp/sprotty");
|
|
34
34
|
const inversify_1 = require("inversify");
|
|
35
|
+
const feedback_action_dispatcher_1 = require("../../base/feedback/feedback-action-dispatcher");
|
|
35
36
|
const feedback_command_1 = require("../../base/feedback/feedback-command");
|
|
36
37
|
const gmodel_util_1 = require("../../utils/gmodel-util");
|
|
37
38
|
const local_bounds_1 = require("../bounds/local-bounds");
|
|
@@ -60,11 +61,23 @@ let AddTemplateElementsFeedbackCommand = class AddTemplateElementsFeedbackComman
|
|
|
60
61
|
.map(template => templateToSchema(template, context))
|
|
61
62
|
.filter(gmodel_util_1.isNotUndefined)
|
|
62
63
|
.map(schema => context.modelFactory.createElement(schema))
|
|
64
|
+
.map(element => this.markAsFeedback(element))
|
|
63
65
|
.map(element => this.applyRootCssClasses(element, this.action.addClasses, this.action.removeClasses));
|
|
64
66
|
templateElements.forEach(templateElement => context.root.add(templateElement));
|
|
65
67
|
const templateElementIDs = templateElements.map(element => element.id);
|
|
66
68
|
return local_bounds_1.LocalRequestBoundsAction.fromCommand(context, this.actionDispatcher, this.action, templateElementIDs);
|
|
67
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Marks the given template element as feedback to keep it out of the bounds reported to the
|
|
72
|
+
* server. The bounds pass tests every element on its own, so the whole subtree is marked.
|
|
73
|
+
*/
|
|
74
|
+
markAsFeedback(element) {
|
|
75
|
+
(0, gmodel_util_1.enableFeatures)(element, feedback_action_dispatcher_1.feedbackFeature);
|
|
76
|
+
if (element instanceof sprotty_1.GParentElement) {
|
|
77
|
+
element.children.forEach(child => this.markAsFeedback(child));
|
|
78
|
+
}
|
|
79
|
+
return element;
|
|
80
|
+
}
|
|
68
81
|
applyRootCssClasses(element, addClasses, removeClasses) {
|
|
69
82
|
element.cssClasses = modifyCssClasses(element.cssClasses, addClasses, removeClasses);
|
|
70
83
|
return element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-template-element.js","sourceRoot":"","sources":["../../../src/features/element-template/add-template-element.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"add-template-element.js","sourceRoot":"","sources":["../../../src/features/element-template/add-template-element.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2026 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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dangling-edge-feedback.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/edge-creation/dangling-edge-feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,MAAM,EACN,cAAc,EACd,uBAAuB,EACvB,aAAa,EAEb,eAAe,EACf,WAAW,EACX,UAAU,EACV,gBAAgB,EAQnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAK1E,MAAM,WAAW,sBAAuB,SAAQ,MAAM;IAClD,IAAI,EAAE,OAAO,sBAAsB,CAAC,IAAI,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACrC;AAED,yBAAiB,sBAAsB,CAAC;IAC7B,MAAM,IAAI,qBAAqB,CAAC;IAEvC,SAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,sBAAsB,CAEhE;IAED,SAAgB,MAAM,CAAC,OAAO,EAAE;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;KACrC,GAAG,sBAAsB,CAKzB;CACJ;AAED,qBACa,uBAAwB,SAAQ,eAAe;IAGtB,SAAS,CAAC,MAAM,EAAE,sBAAsB;IAF1E,MAAM,CAAC,QAAQ,CAAC,IAAI,sBAA+B;gBAEP,MAAM,EAAE,sBAAsB;IAI1E,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;CAI3D;AAED,MAAM,WAAW,wBAAyB,SAAQ,MAAM;IACpD,IAAI,EAAE,OAAO,wBAAwB,CAAC,IAAI,CAAC;CAC9C;AAED,yBAAiB,wBAAwB,CAAC;IAC/B,MAAM,IAAI,8BAA8B,CAAC;IAEhD,SAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,wBAAwB,CAElE;IAED,SAAgB,MAAM,IAAI,wBAAwB,CAEjD;CACJ;AAED,qBACa,yBAA0B,SAAQ,eAAe;IAC1D,MAAM,CAAC,QAAQ,CAAC,IAAI,+BAAiC;IAErD,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;CAI3D;AAED,qBAAa,eAAgB,SAAQ,eAAe;IAI5C,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM;IACvB,YAAY,EAAE,gBAAgB,GAAG,SAAS;aAC/B,IAAI,EAAE,MAAM;IANlC,gBAAyB,gBAAgB,WAAuC;IAChF,MAAM,CAAC,QAAQ,CAAC,IAAI,uBAAuB;gBAE9B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACvB,YAAY,GAAE,gBAAgB,GAAG,SAAqB,EAC3C,IAAI,GAAE,MAA6B;CAI5D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEvD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAE1D;AAED,eAAO,MAAM,yBAAyB,EAAE,OAAO,CAAC,WAAW,CAG1D,CAAC;AAEF,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GACpC,IAAI,
|
|
1
|
+
{"version":3,"file":"dangling-edge-feedback.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/edge-creation/dangling-edge-feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,MAAM,EACN,cAAc,EACd,uBAAuB,EACvB,aAAa,EAEb,eAAe,EACf,WAAW,EACX,UAAU,EACV,gBAAgB,EAQnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAK1E,MAAM,WAAW,sBAAuB,SAAQ,MAAM;IAClD,IAAI,EAAE,OAAO,sBAAsB,CAAC,IAAI,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACrC;AAED,yBAAiB,sBAAsB,CAAC;IAC7B,MAAM,IAAI,qBAAqB,CAAC;IAEvC,SAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,sBAAsB,CAEhE;IAED,SAAgB,MAAM,CAAC,OAAO,EAAE;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;KACrC,GAAG,sBAAsB,CAKzB;CACJ;AAED,qBACa,uBAAwB,SAAQ,eAAe;IAGtB,SAAS,CAAC,MAAM,EAAE,sBAAsB;IAF1E,MAAM,CAAC,QAAQ,CAAC,IAAI,sBAA+B;gBAEP,MAAM,EAAE,sBAAsB;IAI1E,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;CAI3D;AAED,MAAM,WAAW,wBAAyB,SAAQ,MAAM;IACpD,IAAI,EAAE,OAAO,wBAAwB,CAAC,IAAI,CAAC;CAC9C;AAED,yBAAiB,wBAAwB,CAAC;IAC/B,MAAM,IAAI,8BAA8B,CAAC;IAEhD,SAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,wBAAwB,CAElE;IAED,SAAgB,MAAM,IAAI,wBAAwB,CAEjD;CACJ;AAED,qBACa,yBAA0B,SAAQ,eAAe;IAC1D,MAAM,CAAC,QAAQ,CAAC,IAAI,+BAAiC;IAErD,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;CAI3D;AAED,qBAAa,eAAgB,SAAQ,eAAe;IAI5C,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM;IACvB,YAAY,EAAE,gBAAgB,GAAG,SAAS;aAC/B,IAAI,EAAE,MAAM;IANlC,gBAAyB,gBAAgB,WAAuC;IAChF,MAAM,CAAC,QAAQ,CAAC,IAAI,uBAAuB;gBAE9B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACvB,YAAY,GAAE,gBAAgB,GAAG,SAAqB,EAC3C,IAAI,GAAE,MAA6B;CAI5D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEvD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAE1D;AAED,eAAO,MAAM,yBAAyB,EAAE,OAAO,CAAC,WAAW,CAG1D,CAAC;AAEF,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GACpC,IAAI,CAiCN;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CASjE;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAM3E"}
|
|
@@ -19,7 +19,7 @@ exports.drawFeedbackEdge = drawFeedbackEdge;
|
|
|
19
19
|
exports.removeDanglingFeedbackEdge = removeDanglingFeedbackEdge;
|
|
20
20
|
exports.configureDanglingFeedbackEdge = configureDanglingFeedbackEdge;
|
|
21
21
|
/********************************************************************************
|
|
22
|
-
* Copyright (c) 2019-
|
|
22
|
+
* Copyright (c) 2019-2026 EclipseSource and others.
|
|
23
23
|
*
|
|
24
24
|
* This program and the accompanying materials are made available under the
|
|
25
25
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -140,6 +140,8 @@ function drawFeedbackEdge(context, sourceId, elementTypeId, edgeTemplate) {
|
|
|
140
140
|
};
|
|
141
141
|
const feedbackEdge = context.modelFactory.createElement(edgeSchema);
|
|
142
142
|
if ((0, gmodel_util_1.isRoutable)(feedbackEdge)) {
|
|
143
|
+
// created from the adopter's own edge type, so it needs to be marked as feedback explicitly
|
|
144
|
+
(0, gmodel_util_1.enableFeatures)(feedbackEdge, feedback_action_dispatcher_1.feedbackFeature);
|
|
143
145
|
edgeEnd.feedbackEdge = feedbackEdge;
|
|
144
146
|
root.add(edgeEnd);
|
|
145
147
|
root.add(feedbackEdge);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dangling-edge-feedback.js","sourceRoot":"","sources":["../../../../src/features/tools/edge-creation/dangling-edge-feedback.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAuHA,wCAEC;AAED,8CAEC;AAOD,
|
|
1
|
+
{"version":3,"file":"dangling-edge-feedback.js","sourceRoot":"","sources":["../../../../src/features/tools/edge-creation/dangling-edge-feedback.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAuHA,wCAEC;AAED,8CAEC;AAOD,4CAsCC;AAED,gEASC;AAED,sEAMC;AA7LD;;;;;;;;;;;;;;kFAckF;AAClF,mDAiB+B;AAC/B,yCAA+C;AAC/C,kGAAoF;AACpF,8EAA0E;AAC1E,4DAAwE;AACxE,kEAAmE;AACnE,iCAA6C;AAS7C,IAAiB,sBAAsB,CAiBtC;AAjBD,WAAiB,sBAAsB;IACtB,2BAAI,GAAG,kBAAkB,CAAC;IAEvC,SAAgB,EAAE,CAAC,MAAW;QAC1B,OAAO,gBAAM,CAAC,OAAO,CAAC,MAAM,EAAE,uBAAA,IAAI,CAAC,CAAC;IACxC,CAAC;IAFe,yBAAE,KAEjB,CAAA;IAED,SAAgB,MAAM,CAAC,OAItB;QACG,OAAO;YACH,IAAI,EAAE,uBAAA,IAAI;YACV,GAAG,OAAO;SACb,CAAC;IACN,CAAC;IATe,6BAAM,SASrB,CAAA;AACL,CAAC,EAjBgB,sBAAsB,sCAAtB,sBAAsB,QAiBtC;AAGM,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,kCAAe;aACxC,SAAI,GAAG,sBAAsB,CAAC,IAAI,AAA9B,CAA+B;IAEnD,YAA4C,MAA8B;QACtE,KAAK,EAAE,CAAC;QADgC,WAAM,GAAN,MAAM,CAAwB;IAE1E,CAAC;IAED,OAAO,CAAC,OAAgC;QACpC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnG,OAAO,OAAO,CAAC,IAAI,CAAC;IACxB,CAAC;;AAVQ,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,sBAAU,GAAE;IAII,WAAA,IAAA,kBAAM,EAAC,eAAK,CAAC,MAAM,CAAC,CAAA;;GAHxB,uBAAuB,CAWnC;AAMD,IAAiB,wBAAwB,CAUxC;AAVD,WAAiB,wBAAwB;IACxB,6BAAI,GAAG,2BAA2B,CAAC;IAEhD,SAAgB,EAAE,CAAC,MAAW;QAC1B,OAAO,gBAAM,CAAC,OAAO,CAAC,MAAM,EAAE,yBAAA,IAAI,CAAC,CAAC;IACxC,CAAC;IAFe,2BAAE,KAEjB,CAAA;IAED,SAAgB,MAAM;QAClB,OAAO,EAAE,IAAI,EAAE,yBAAA,IAAI,EAAE,CAAC;IAC1B,CAAC;IAFe,+BAAM,SAErB,CAAA;AACL,CAAC,EAVgB,wBAAwB,wCAAxB,wBAAwB,QAUxC;AAGM,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,kCAAe;aAC1C,SAAI,GAAG,wBAAwB,CAAC,IAAI,AAAhC,CAAiC;IAErD,OAAO,CAAC,OAAgC;QACpC,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC,IAAI,CAAC;IACxB,CAAC;;AANQ,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,sBAAU,GAAE;GACA,yBAAyB,CAOrC;AAED,MAAa,eAAgB,SAAQ,yBAAe;aACvB,qBAAgB,GAAG,CAAC,0BAAgB,EAAE,4CAAe,CAAC,CAAC;aAChE,SAAI,GAAG,mBAAmB,CAAC;IAC3C,YACa,QAAgB,EAChB,aAAqB,EACvB,eAA6C,SAAS,EAC3C,OAAe,eAAe,CAAC,IAAI;QAErD,KAAK,EAAE,CAAC;QALC,aAAQ,GAAR,QAAQ,CAAQ;QAChB,kBAAa,GAAb,aAAa,CAAQ;QACvB,iBAAY,GAAZ,YAAY,CAA0C;QAC3C,SAAI,GAAJ,IAAI,CAA+B;IAGzD,CAAC;;AAVL,0CAWC;AAED,SAAgB,cAAc,CAAC,IAAgB;IAC3C,OAAO,IAAI,CAAC,EAAE,GAAG,gBAAgB,CAAC;AACtC,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAgB;IAC9C,OAAO,IAAI,CAAC,EAAE,GAAG,kBAAkB,CAAC;AACxC,CAAC;AAEY,QAAA,yBAAyB,GAAyB;IAC3D,UAAU,EAAE,CAAC,eAAe,CAAC;IAC7B,OAAO,EAAE,GAAG;CACf,CAAC;AAEF,SAAgB,gBAAgB,CAC5B,OAAgC,EAChC,QAAgB,EAChB,aAAqB,EACrB,YAAmC;IAEnC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO;IACX,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,6BAAmB,EAAC,WAAW,EAAE,uBAAa,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM,IAAI,CAAC,IAAA,uBAAa,EAAC,MAAM,CAAC,EAAE,CAAC;QACpC,OAAO;IACX,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAC9D,OAAO,CAAC,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,QAAQ,GAAG,IAAA,mCAAkB,EAAC,MAAM,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAgB;QAC5B,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC;QACxB,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,MAAM,CAAC,EAAE;QACnB,QAAQ,EAAE,OAAO,CAAC,EAAE;QACpB,GAAG,iCAAyB;QAC5B,GAAG,YAAY;KAClB,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACpE,IAAI,IAAA,wBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC3B,4FAA4F;QAC5F,IAAA,4BAAc,EAAC,YAAY,EAAE,4CAAe,CAAC,CAAC;QAC9C,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC;AAED,SAAgB,0BAA0B,CAAC,IAAgB;IACvD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,IAAI,YAAY,YAAY,uBAAa,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,eAAe,YAAY,uBAAa,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACjC,CAAC;AACL,CAAC;AAED,SAAgB,6BAA6B,CAAC,OAAuB;IACjE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,0BAAmB,CAAC,EAAE,CAAC;QACpI,IAAA,0BAAgB,EAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACnD,IAAA,0BAAgB,EAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QACrD,IAAA,uBAAa,EAAC,OAAO,EAAE,eAAe,CAAC,IAAI,EAAE,0BAAmB,CAAC,CAAC;IACtE,CAAC;AACL,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2026 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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-edit-tool-feedback.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/edge-edit/edge-edit-tool-feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,MAAM,EACN,sBAAsB,EAEtB,uBAAuB,EACvB,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,aAAa,EAEb,KAAK,EAEL,oBAAoB,EACpB,qBAAqB,EAUxB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,yBAAyB,
|
|
1
|
+
{"version":3,"file":"edge-edit-tool-feedback.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/edge-edit/edge-edit-tool-feedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.FeedbackEdgeRouteMovingMouseListener = exports.FeedbackEdgeSourceMovingMouseListener = exports.FeedbackEdgeTargetMovingMouseListener = exports.DrawFeedbackEdgeSourceCommand = exports.DrawFeedbackEdgeSourceAction = exports.SwitchRoutingModeCommand = exports.SwitchRoutingModeAction = exports.HideEdgeReconnectHandlesFeedbackCommand = exports.ShowEdgeReconnectHandlesFeedbackCommand = exports.HideEdgeReconnectHandlesFeedbackAction = exports.ShowEdgeReconnectHandlesFeedbackAction = void 0;
|
|
16
16
|
exports.drawFeedbackEdgeSource = drawFeedbackEdgeSource;
|
|
17
17
|
/********************************************************************************
|
|
18
|
-
* Copyright (c) 2019-
|
|
18
|
+
* Copyright (c) 2019-2026 EclipseSource and others.
|
|
19
19
|
*
|
|
20
20
|
* This program and the accompanying materials are made available under the
|
|
21
21
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -32,6 +32,7 @@ exports.drawFeedbackEdgeSource = drawFeedbackEdgeSource;
|
|
|
32
32
|
const sprotty_1 = require("@eclipse-glsp/sprotty");
|
|
33
33
|
const inversify_1 = require("inversify");
|
|
34
34
|
const drag_aware_mouse_listener_1 = require("../../../base/drag-aware-mouse-listener");
|
|
35
|
+
const feedback_action_dispatcher_1 = require("../../../base/feedback/feedback-action-dispatcher");
|
|
35
36
|
const feedback_command_1 = require("../../../base/feedback/feedback-command");
|
|
36
37
|
const gmodel_util_1 = require("../../../utils/gmodel-util");
|
|
37
38
|
const viewpoint_util_1 = require("../../../utils/viewpoint-util");
|
|
@@ -316,6 +317,8 @@ function drawFeedbackEdgeSource(context, targetId, elementTypeId) {
|
|
|
316
317
|
};
|
|
317
318
|
const feedbackEdge = context.modelFactory.createElement(feedbackEdgeSchema);
|
|
318
319
|
if ((0, gmodel_util_1.isRoutable)(feedbackEdge)) {
|
|
320
|
+
// created from the adopter's own edge type, so it needs to be marked as feedback explicitly
|
|
321
|
+
(0, gmodel_util_1.enableFeatures)(feedbackEdge, feedback_action_dispatcher_1.feedbackFeature);
|
|
319
322
|
edgeEnd.feedbackEdge = feedbackEdge;
|
|
320
323
|
root.add(edgeEnd);
|
|
321
324
|
root.add(feedbackEdge);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-edit-tool-feedback.js","sourceRoot":"","sources":["../../../../src/features/tools/edge-edit/edge-edit-tool-feedback.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AA+VA,
|
|
1
|
+
{"version":3,"file":"edge-edit-tool-feedback.js","sourceRoot":"","sources":["../../../../src/features/tools/edge-edit/edge-edit-tool-feedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2021-
|
|
2
|
+
* Copyright (c) 2021-2026 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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/marquee-selection/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAiB,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/marquee-selection/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAiB,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG9E,qBAAa,WAAY,SAAQ,eAAe;IAC5C,gBAAyB,gBAAgB,WAAoC;IAC7E,UAAU,EAAE,KAAK,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;CACnB"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MarqueeNode = void 0;
|
|
4
4
|
/********************************************************************************
|
|
5
|
-
* Copyright (c) 2021-
|
|
5
|
+
* Copyright (c) 2021-2026 EclipseSource and others.
|
|
6
6
|
*
|
|
7
7
|
* This program and the accompanying materials are made available under the
|
|
8
8
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -17,8 +17,9 @@ exports.MarqueeNode = void 0;
|
|
|
17
17
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
18
18
|
********************************************************************************/
|
|
19
19
|
const sprotty_1 = require("@eclipse-glsp/sprotty");
|
|
20
|
+
const feedback_action_dispatcher_1 = require("../../../base/feedback/feedback-action-dispatcher");
|
|
20
21
|
class MarqueeNode extends sprotty_1.RectangularNode {
|
|
21
|
-
static { this.DEFAULT_FEATURES = [sprotty_1.boundsFeature]; }
|
|
22
|
+
static { this.DEFAULT_FEATURES = [sprotty_1.boundsFeature, feedback_action_dispatcher_1.feedbackFeature]; }
|
|
22
23
|
}
|
|
23
24
|
exports.MarqueeNode = MarqueeNode;
|
|
24
25
|
//# sourceMappingURL=model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../src/features/tools/marquee-selection/model.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAA8E;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../src/features/tools/marquee-selection/model.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAA8E;AAC9E,kGAAoF;AAEpF,MAAa,WAAY,SAAQ,yBAAe;aACnB,qBAAgB,GAAG,CAAC,uBAAa,EAAE,4CAAe,CAAC,CAAC;;AADjF,kCAIC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert-indicator.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/node-creation/insert-indicator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAA8D,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,SAAS,EAAe,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"insert-indicator.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/node-creation/insert-indicator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAA8D,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,SAAS,EAAe,MAAM,4BAA4B,CAAC;AAGpE,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC,qBAAa,eAAgB,SAAQ,KAAM,YAAW,SAAS;IAC3D,gBAAyB,gBAAgB,WAA8D;IAEvG,MAAM,CAAC,IAAI,SAA2B;IAE7B,EAAE,EAAE,MAAM,CAAkB;IAC5B,IAAI,EAAE,MAAM,CAAwB;IACpC,QAAQ,CAAC,EAAE,UAAU,CAAsD;IAC3E,UAAU,EAAE,MAAM,EAAE,CAAwC;IAC5D,IAAI,EAAE,SAAS,CAAkB;IAC1C,IAAI,EAAE,IAAI,CAAM;gBAEJ,MAAM,CAAC,EAAE,MAAM;CAM9B"}
|
|
@@ -18,9 +18,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
exports.InsertIndicator = exports.ARG_LENGTH = void 0;
|
|
19
19
|
const sprotty_1 = require("@eclipse-glsp/sprotty");
|
|
20
20
|
const args_feature_1 = require("../../../base/args-feature");
|
|
21
|
+
const feedback_action_dispatcher_1 = require("../../../base/feedback/feedback-action-dispatcher");
|
|
21
22
|
exports.ARG_LENGTH = 'length';
|
|
22
23
|
class InsertIndicator extends sprotty_1.GNode {
|
|
23
|
-
static { this.DEFAULT_FEATURES = [sprotty_1.boundsFeature, sprotty_1.moveFeature, args_feature_1.argsFeature]; }
|
|
24
|
+
static { this.DEFAULT_FEATURES = [sprotty_1.boundsFeature, sprotty_1.moveFeature, args_feature_1.argsFeature, feedback_action_dispatcher_1.feedbackFeature]; }
|
|
24
25
|
static { this.TYPE = 'node:insert-indicator'; }
|
|
25
26
|
constructor(length) {
|
|
26
27
|
super();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert-indicator.js","sourceRoot":"","sources":["../../../../src/features/tools/node-creation/insert-indicator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,mDAAuI;AACvI,6DAAoE;
|
|
1
|
+
{"version":3,"file":"insert-indicator.js","sourceRoot":"","sources":["../../../../src/features/tools/node-creation/insert-indicator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,mDAAuI;AACvI,6DAAoE;AACpE,kGAAoF;AAEvE,QAAA,UAAU,GAAG,QAAQ,CAAC;AAEnC,MAAa,eAAgB,SAAQ,eAAK;aACb,qBAAgB,GAAG,CAAC,uBAAa,EAAE,qBAAW,EAAE,0BAAW,EAAE,4CAAe,CAAC,AAA7D,CAA8D;aAEhG,SAAI,GAAG,uBAAuB,AAA1B,CAA2B;IAStC,YAAY,MAAe;QACvB,KAAK,EAAE,CAAC;QARH,OAAE,GAAW,IAAA,sBAAY,GAAE,CAAC;QAC5B,SAAI,GAAW,eAAe,CAAC,IAAI,CAAC;QACpC,aAAQ,GAAgB,IAAA,0BAAgB,EAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAC3E,eAAU,GAAa,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;QAC5D,SAAI,GAAc,mBAAS,CAAC,IAAI,CAAC;QAC1C,SAAI,GAAS,EAAE,CAAC;QAIZ,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACzC,CAAC;IACL,CAAC;;AAjBL,0CAkBC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2026 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
|
|
@@ -25,7 +25,7 @@ export declare class GIssueMarker extends SIssueMarkerImpl implements Projectabl
|
|
|
25
25
|
/**
|
|
26
26
|
* Retrieves the `GIssueMarker` contained by the provided model element as
|
|
27
27
|
* direct child or a newly instantiated `GIssueMarker` if no child
|
|
28
|
-
* `GIssueMarker` exists.
|
|
28
|
+
* `GIssueMarker` exists. A newly created marker is marked as client-side feedback.
|
|
29
29
|
* @param modelElement for which the `GIssueMarker` should be retrieved or created.
|
|
30
30
|
* @returns the child `GIssueMarker` or a new `GIssueMarker` if no such child exists.
|
|
31
31
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-marker.d.ts","sourceRoot":"","sources":["../../../src/features/validation/issue-marker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,MAAM,EAEN,MAAM,EACN,cAAc,EACd,cAAc,EACd,MAAM,EAEN,WAAW,EACX,gBAAgB,EAEnB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"issue-marker.d.ts","sourceRoot":"","sources":["../../../src/features/validation/issue-marker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,MAAM,EAEN,MAAM,EACN,cAAc,EACd,cAAc,EACd,MAAM,EAEN,WAAW,EACX,gBAAgB,EAEnB,MAAM,uBAAuB,CAAC;AAI/B,qBAAa,YAAa,SAAQ,gBAAiB,YAAW,WAAW;;IAKrE,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,CAiBlF;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,CAoB5E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAWhE"}
|
|
@@ -6,7 +6,7 @@ exports.getGIssueMarker = getGIssueMarker;
|
|
|
6
6
|
exports.createGIssue = createGIssue;
|
|
7
7
|
exports.getSeverity = getSeverity;
|
|
8
8
|
/********************************************************************************
|
|
9
|
-
* Copyright (c) 2019-
|
|
9
|
+
* Copyright (c) 2019-2026 EclipseSource and others.
|
|
10
10
|
*
|
|
11
11
|
* This program and the accompanying materials are made available under the
|
|
12
12
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -21,6 +21,8 @@ exports.getSeverity = getSeverity;
|
|
|
21
21
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
22
22
|
********************************************************************************/
|
|
23
23
|
const sprotty_1 = require("@eclipse-glsp/sprotty");
|
|
24
|
+
const feedback_action_dispatcher_1 = require("../../base/feedback/feedback-action-dispatcher");
|
|
25
|
+
const gmodel_util_1 = require("../../utils/gmodel-util");
|
|
24
26
|
class GIssueMarker extends sprotty_1.SIssueMarkerImpl {
|
|
25
27
|
constructor() {
|
|
26
28
|
super();
|
|
@@ -37,7 +39,7 @@ exports.GIssueMarker = GIssueMarker;
|
|
|
37
39
|
/**
|
|
38
40
|
* Retrieves the `GIssueMarker` contained by the provided model element as
|
|
39
41
|
* direct child or a newly instantiated `GIssueMarker` if no child
|
|
40
|
-
* `GIssueMarker` exists.
|
|
42
|
+
* `GIssueMarker` exists. A newly created marker is marked as client-side feedback.
|
|
41
43
|
* @param modelElement for which the `GIssueMarker` should be retrieved or created.
|
|
42
44
|
* @returns the child `GIssueMarker` or a new `GIssueMarker` if no such child exists.
|
|
43
45
|
*/
|
|
@@ -46,6 +48,9 @@ function getOrCreateGIssueMarker(modelElement) {
|
|
|
46
48
|
issueMarker = getGIssueMarker(modelElement);
|
|
47
49
|
if (issueMarker === undefined) {
|
|
48
50
|
issueMarker = new GIssueMarker();
|
|
51
|
+
// a marker created here is unknown to the server, so it is kept out of server-bound
|
|
52
|
+
// requests. markers the server sends as part of the model keep reporting their bounds
|
|
53
|
+
(0, gmodel_util_1.enableFeatures)(issueMarker, feedback_action_dispatcher_1.feedbackFeature);
|
|
49
54
|
if ((0, sprotty_1.isBoundsAware)(modelElement)) {
|
|
50
55
|
issueMarker.projectedBounds = modelElement.parentToLocal(modelElement.bounds);
|
|
51
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-marker.js","sourceRoot":"","sources":["../../../src/features/validation/issue-marker.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"issue-marker.js","sourceRoot":"","sources":["../../../src/features/validation/issue-marker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2026 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
|
|
@@ -133,6 +133,18 @@ export declare function removeCssClassOfElements(elements: GModelElement[], ...c
|
|
|
133
133
|
* Toggles a css class on a {@link GModelElement} based on the given toggle flag.
|
|
134
134
|
*/
|
|
135
135
|
export declare function toggleCssClass(element: GModelElement, cssClass: string, toggle: boolean): void;
|
|
136
|
+
/**
|
|
137
|
+
* Enables the given model features on a single {@link GModelElement}.
|
|
138
|
+
*
|
|
139
|
+
* The feature set is shared by all instances of a registered element type, so the element is given
|
|
140
|
+
* a copy of it rather than having the shared one extended. A feature set that is not a `Set` cannot
|
|
141
|
+
* be enumerated and is left untouched.
|
|
142
|
+
*
|
|
143
|
+
* @param element The element for which the features should be enabled.
|
|
144
|
+
* @param features The features to enable.
|
|
145
|
+
*/
|
|
146
|
+
export declare function enableFeatures(element: GModelElement, features: symbol[]): void;
|
|
147
|
+
export declare function enableFeatures(element: GModelElement, ...features: symbol[]): void;
|
|
136
148
|
export declare function isNonRoutableSelectedMovableBoundsAware(element: GModelElement): element is SelectableBoundsAware;
|
|
137
149
|
export declare function isNonRoutableMovableBoundsAware(element: GModelElement): element is BoundsAwareModelElement;
|
|
138
150
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmodel-util.d.ts","sourceRoot":"","sources":["../../src/utils/gmodel-util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,cAAc,EACd,KAAK,EACL,WAAW,EACX,UAAU,EACV,SAAS,
|
|
1
|
+
{"version":3,"file":"gmodel-util.d.ts","sourceRoot":"","sources":["../../src/utils/gmodel-util.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/gmodel-util.js
CHANGED
|
@@ -15,6 +15,7 @@ exports.removeCssClasses = removeCssClasses;
|
|
|
15
15
|
exports.addCssClassToElements = addCssClassToElements;
|
|
16
16
|
exports.removeCssClassOfElements = removeCssClassOfElements;
|
|
17
17
|
exports.toggleCssClass = toggleCssClass;
|
|
18
|
+
exports.enableFeatures = enableFeatures;
|
|
18
19
|
exports.isNonRoutableSelectedMovableBoundsAware = isNonRoutableSelectedMovableBoundsAware;
|
|
19
20
|
exports.isNonRoutableMovableBoundsAware = isNonRoutableMovableBoundsAware;
|
|
20
21
|
exports.isNonRoutableSelectedBoundsAware = isNonRoutableSelectedBoundsAware;
|
|
@@ -35,7 +36,7 @@ exports.getDescendantIds = getDescendantIds;
|
|
|
35
36
|
exports.isNotDescendantOfAnyElement = isNotDescendantOfAnyElement;
|
|
36
37
|
exports.removeDescendants = removeDescendants;
|
|
37
38
|
/********************************************************************************
|
|
38
|
-
* Copyright (c) 2019-
|
|
39
|
+
* Copyright (c) 2019-2026 EclipseSource and others.
|
|
39
40
|
*
|
|
40
41
|
* This program and the accompanying materials are made available under the
|
|
41
42
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -190,6 +191,15 @@ function removeCssClassOfElements(elements, ...cssClasses) {
|
|
|
190
191
|
function toggleCssClass(element, cssClass, toggle) {
|
|
191
192
|
return toggle ? addCssClasses(element, cssClass) : removeCssClasses(element, cssClass);
|
|
192
193
|
}
|
|
194
|
+
function enableFeatures(element, ...features) {
|
|
195
|
+
const toEnable = Array.isArray(features[0]) ? features[0] : features;
|
|
196
|
+
if (element.features === undefined) {
|
|
197
|
+
element.features = (0, sprotty_1.createFeatureSet)(toEnable);
|
|
198
|
+
}
|
|
199
|
+
else if (element.features instanceof Set) {
|
|
200
|
+
element.features = (0, sprotty_1.createFeatureSet)([...element.features], { enable: toEnable });
|
|
201
|
+
}
|
|
202
|
+
}
|
|
193
203
|
function isNonRoutableSelectedMovableBoundsAware(element) {
|
|
194
204
|
return isNonRoutableSelectedBoundsAware(element) && (0, sprotty_1.isMoveable)(element);
|
|
195
205
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmodel-util.js","sourceRoot":"","sources":["../../src/utils/gmodel-util.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"gmodel-util.js","sourceRoot":"","sources":["../../src/utils/gmodel-util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-glsp/client",
|
|
3
|
-
"version": "2.8.0-next.
|
|
3
|
+
"version": "2.8.0-next.17",
|
|
4
4
|
"description": "A sprotty-based client for GLSP",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eclipse",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"file-saver": "^2.0.5",
|
|
45
45
|
"snabbdom": "~3.5.1",
|
|
46
46
|
"vscode-jsonrpc": "8.2.0",
|
|
47
|
-
"@eclipse-glsp/sprotty": "2.8.0-next.
|
|
47
|
+
"@eclipse-glsp/sprotty": "2.8.0-next.17"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@types/file-saver": "^2.0.5"
|
|
@@ -25,6 +25,8 @@ import {
|
|
|
25
25
|
ElementAndRoutingPoints,
|
|
26
26
|
GChildElement,
|
|
27
27
|
GModelElement,
|
|
28
|
+
GModelRoot,
|
|
29
|
+
GRoutableElement,
|
|
28
30
|
HiddenBoundsUpdater,
|
|
29
31
|
LayoutData,
|
|
30
32
|
ModelIndexImpl,
|
|
@@ -34,6 +36,8 @@ import {
|
|
|
34
36
|
import { inject, injectable, optional } from 'inversify';
|
|
35
37
|
import { VNode } from 'snabbdom';
|
|
36
38
|
import { EditorContextService } from '../../base/editor-context-service';
|
|
39
|
+
import { feedbackFeature } from '../../base/feedback/feedback-action-dispatcher';
|
|
40
|
+
import { ServerAction } from '../../base/model/glsp-model-source';
|
|
37
41
|
import { BoundsAwareModelElement, calcElementAndRoute, getDescendantIds, isRoutable } from '../../utils/gmodel-util';
|
|
38
42
|
import { LayoutAware } from './layout-data';
|
|
39
43
|
import { LocalComputedBoundsAction, LocalRequestBoundsAction } from './local-bounds';
|
|
@@ -54,18 +58,65 @@ export class GLSPHiddenBoundsUpdater extends HiddenBoundsUpdater {
|
|
|
54
58
|
|
|
55
59
|
protected element2route: ElementAndRoutingPoints[] = [];
|
|
56
60
|
|
|
61
|
+
/**
|
|
62
|
+
* Ids of the routable elements of {@link element2route} that only exist as client-side feedback.
|
|
63
|
+
* Recorded while decorating, as the routes outlive the root they were collected from.
|
|
64
|
+
*/
|
|
65
|
+
protected feedbackRouteIds = new Set<string>();
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Root of the hidden rendering currently being collected, used to detect the start of the next
|
|
69
|
+
* one. Referenced weakly, as a hidden root is a throwaway copy of the whole model.
|
|
70
|
+
*/
|
|
71
|
+
protected collectingForRoot?: WeakRef<GModelRoot>;
|
|
72
|
+
|
|
57
73
|
protected getElement2BoundsData(): Map<BoundsAwareModelElement, BoundsDataExt> {
|
|
58
74
|
return this['element2boundsData'];
|
|
59
75
|
}
|
|
60
76
|
|
|
61
77
|
override decorate(vnode: VNode, element: GModelElement): VNode {
|
|
78
|
+
this.resetOnNewRendering(element);
|
|
62
79
|
super.decorate(vnode, element);
|
|
63
80
|
if (isRoutable(element)) {
|
|
64
|
-
this.
|
|
81
|
+
const route = this.calcElementRoute(element);
|
|
82
|
+
if (route) {
|
|
83
|
+
this.element2route.push(route);
|
|
84
|
+
if (this.isFeedbackElement(element)) {
|
|
85
|
+
this.feedbackRouteIds.add(element.id);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
65
88
|
}
|
|
66
89
|
return vnode;
|
|
67
90
|
}
|
|
68
91
|
|
|
92
|
+
/**
|
|
93
|
+
* The route reported for the given element, or `undefined` to leave it out of the
|
|
94
|
+
* {@link ComputedBoundsAction} of this rendering. Override to substitute or to skip a route,
|
|
95
|
+
* which a later rendering reports again as soon as the edge can be routed.
|
|
96
|
+
*
|
|
97
|
+
* A route of fewer than two points, which is how a router reports an edge it cannot route, is
|
|
98
|
+
* skipped: approximating it from the endpoint positions would overwrite the route on the server.
|
|
99
|
+
*/
|
|
100
|
+
protected calcElementRoute(element: GRoutableElement): ElementAndRoutingPoints | undefined {
|
|
101
|
+
const elementAndRoute = calcElementAndRoute(element, this.edgeRouterRegistry);
|
|
102
|
+
return (elementAndRoute.newRoutingPoints?.length ?? 0) < 2 ? undefined : elementAndRoute;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Drops the data collected for the previous hidden rendering as soon as a new one starts.
|
|
107
|
+
* {@link postUpdate} cleans up on its way out, but a failing view or vdom patch aborts the
|
|
108
|
+
* rendering before the viewer gets there, leaving the collected bounds behind.
|
|
109
|
+
*
|
|
110
|
+
* Elements are decorated bottom-up, so the rendering is recognized by the root of the element
|
|
111
|
+
* at hand rather than by the root element itself.
|
|
112
|
+
*/
|
|
113
|
+
protected resetOnNewRendering(element: GModelElement): void {
|
|
114
|
+
if (this.collectingForRoot?.deref() !== element.root) {
|
|
115
|
+
this.cleanUp();
|
|
116
|
+
this.collectingForRoot = new WeakRef(element.root);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
69
120
|
override postUpdate(cause?: Action): void {
|
|
70
121
|
try {
|
|
71
122
|
if (cause === undefined || cause.kind !== RequestBoundsAction.KIND) {
|
|
@@ -80,11 +131,17 @@ export class GLSPHiddenBoundsUpdater extends HiddenBoundsUpdater {
|
|
|
80
131
|
this.getBoundsFromDOM();
|
|
81
132
|
this.layouter.layout(this.getElement2BoundsData());
|
|
82
133
|
|
|
134
|
+
// the server can only resolve elements it sent us itself
|
|
135
|
+
const skipFeedback = ServerAction.is(cause);
|
|
136
|
+
|
|
83
137
|
// prepare data for action
|
|
84
138
|
const resizes: ElementAndBounds[] = [];
|
|
85
139
|
const alignments: ElementAndAlignment[] = [];
|
|
86
140
|
const layoutData: ElementAndLayoutData[] = [];
|
|
87
141
|
this.getElement2BoundsData().forEach((boundsData, element) => {
|
|
142
|
+
if (skipFeedback && this.isFeedbackElement(element)) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
88
145
|
if (boundsData.boundsChanged && boundsData.bounds !== undefined) {
|
|
89
146
|
const resize: ElementAndBounds = {
|
|
90
147
|
elementId: element.id,
|
|
@@ -112,7 +169,10 @@ export class GLSPHiddenBoundsUpdater extends HiddenBoundsUpdater {
|
|
|
112
169
|
layoutData.push({ elementId: element.id, layoutData: boundsData.layoutData });
|
|
113
170
|
}
|
|
114
171
|
});
|
|
115
|
-
const
|
|
172
|
+
const relevantRoutes = skipFeedback
|
|
173
|
+
? this.element2route.filter(route => !this.feedbackRouteIds.has(route.elementId))
|
|
174
|
+
: this.element2route;
|
|
175
|
+
const routes = relevantRoutes.length === 0 ? undefined : relevantRoutes;
|
|
116
176
|
|
|
117
177
|
// prepare and dispatch action
|
|
118
178
|
const responseId = (cause as RequestBoundsAction).requestId;
|
|
@@ -141,9 +201,15 @@ export class GLSPHiddenBoundsUpdater extends HiddenBoundsUpdater {
|
|
|
141
201
|
protected cleanUp(): void {
|
|
142
202
|
this.getElement2BoundsData().clear();
|
|
143
203
|
this.element2route = [];
|
|
204
|
+
this.feedbackRouteIds.clear();
|
|
205
|
+
this.collectingForRoot = undefined;
|
|
144
206
|
this.root = undefined;
|
|
145
207
|
}
|
|
146
208
|
|
|
209
|
+
protected isFeedbackElement(element: GModelElement): boolean {
|
|
210
|
+
return element.hasFeature(feedbackFeature);
|
|
211
|
+
}
|
|
212
|
+
|
|
147
213
|
protected focusOnElements(elementIDs: string[]): void {
|
|
148
214
|
const data = this.getElement2BoundsData();
|
|
149
215
|
if (data.size > 0) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2023-
|
|
2
|
+
* Copyright (c) 2023-2026 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,14 +21,16 @@ import {
|
|
|
21
21
|
ElementTemplate,
|
|
22
22
|
GChildElement,
|
|
23
23
|
GModelElementSchema,
|
|
24
|
+
GParentElement,
|
|
24
25
|
IActionDispatcher,
|
|
25
26
|
TYPES,
|
|
26
27
|
distinctAdd,
|
|
27
28
|
remove
|
|
28
29
|
} from '@eclipse-glsp/sprotty';
|
|
29
30
|
import { inject, injectable } from 'inversify';
|
|
31
|
+
import { feedbackFeature } from '../../base/feedback/feedback-action-dispatcher';
|
|
30
32
|
import { FeedbackCommand } from '../../base/feedback/feedback-command';
|
|
31
|
-
import { isNotUndefined } from '../../utils/gmodel-util';
|
|
33
|
+
import { enableFeatures, isNotUndefined } from '../../utils/gmodel-util';
|
|
32
34
|
import { LocalRequestBoundsAction } from '../bounds/local-bounds';
|
|
33
35
|
|
|
34
36
|
export interface AddTemplateElementsAction extends Action {
|
|
@@ -68,12 +70,25 @@ export class AddTemplateElementsFeedbackCommand extends FeedbackCommand {
|
|
|
68
70
|
.map(template => templateToSchema(template, context))
|
|
69
71
|
.filter(isNotUndefined)
|
|
70
72
|
.map(schema => context.modelFactory.createElement(schema))
|
|
73
|
+
.map(element => this.markAsFeedback(element))
|
|
71
74
|
.map(element => this.applyRootCssClasses(element, this.action.addClasses, this.action.removeClasses));
|
|
72
75
|
templateElements.forEach(templateElement => context.root.add(templateElement));
|
|
73
76
|
const templateElementIDs = templateElements.map(element => element.id);
|
|
74
77
|
return LocalRequestBoundsAction.fromCommand(context, this.actionDispatcher, this.action, templateElementIDs);
|
|
75
78
|
}
|
|
76
79
|
|
|
80
|
+
/**
|
|
81
|
+
* Marks the given template element as feedback to keep it out of the bounds reported to the
|
|
82
|
+
* server. The bounds pass tests every element on its own, so the whole subtree is marked.
|
|
83
|
+
*/
|
|
84
|
+
protected markAsFeedback(element: GChildElement): GChildElement {
|
|
85
|
+
enableFeatures(element, feedbackFeature);
|
|
86
|
+
if (element instanceof GParentElement) {
|
|
87
|
+
element.children.forEach(child => this.markAsFeedback(child));
|
|
88
|
+
}
|
|
89
|
+
return element;
|
|
90
|
+
}
|
|
91
|
+
|
|
77
92
|
protected applyRootCssClasses(element: GChildElement, addClasses?: string[], removeClasses?: string[]): GChildElement {
|
|
78
93
|
element.cssClasses = modifyCssClasses(element.cssClasses, addClasses, removeClasses);
|
|
79
94
|
return element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2026 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
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
import { inject, injectable } from 'inversify';
|
|
35
35
|
import { feedbackFeature } from '../../../base/feedback/feedback-action-dispatcher';
|
|
36
36
|
import { FeedbackCommand } from '../../../base/feedback/feedback-command';
|
|
37
|
-
import { isRoutable } from '../../../utils/gmodel-util';
|
|
37
|
+
import { enableFeatures, isRoutable } from '../../../utils/gmodel-util';
|
|
38
38
|
import { toAbsolutePosition } from '../../../utils/viewpoint-util';
|
|
39
39
|
import { FeedbackEdgeEndView } from './view';
|
|
40
40
|
|
|
@@ -162,6 +162,8 @@ export function drawFeedbackEdge(
|
|
|
162
162
|
|
|
163
163
|
const feedbackEdge = context.modelFactory.createElement(edgeSchema);
|
|
164
164
|
if (isRoutable(feedbackEdge)) {
|
|
165
|
+
// created from the adopter's own edge type, so it needs to be marked as feedback explicitly
|
|
166
|
+
enableFeatures(feedbackEdge, feedbackFeature);
|
|
165
167
|
edgeEnd.feedbackEdge = feedbackEdge;
|
|
166
168
|
root.add(edgeEnd);
|
|
167
169
|
root.add(feedbackEdge);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2026 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
|
|
@@ -42,10 +42,10 @@ import {
|
|
|
42
42
|
} from '@eclipse-glsp/sprotty';
|
|
43
43
|
import { inject, injectable } from 'inversify';
|
|
44
44
|
import { DragAwareMouseListener } from '../../../base/drag-aware-mouse-listener';
|
|
45
|
-
import { IFeedbackActionDispatcher } from '../../../base/feedback/feedback-action-dispatcher';
|
|
45
|
+
import { IFeedbackActionDispatcher, feedbackFeature } from '../../../base/feedback/feedback-action-dispatcher';
|
|
46
46
|
import { FeedbackCommand } from '../../../base/feedback/feedback-command';
|
|
47
47
|
import { FeedbackEmitter } from '../../../base/feedback/feedback-emitter';
|
|
48
|
-
import { forEachElement, getMatchingElements, isRoutable, isRoutingHandle } from '../../../utils/gmodel-util';
|
|
48
|
+
import { enableFeatures, forEachElement, getMatchingElements, isRoutable, isRoutingHandle } from '../../../utils/gmodel-util';
|
|
49
49
|
import { getAbsolutePosition, toAbsoluteBounds } from '../../../utils/viewpoint-util';
|
|
50
50
|
import { addReconnectHandles, removeReconnectHandles } from '../../reconnect/model';
|
|
51
51
|
import { IChangeBoundsManager } from '../change-bounds/change-bounds-manager';
|
|
@@ -375,6 +375,8 @@ export function drawFeedbackEdgeSource(context: CommandExecutionContext, targetI
|
|
|
375
375
|
|
|
376
376
|
const feedbackEdge = context.modelFactory.createElement(feedbackEdgeSchema);
|
|
377
377
|
if (isRoutable(feedbackEdge)) {
|
|
378
|
+
// created from the adopter's own edge type, so it needs to be marked as feedback explicitly
|
|
379
|
+
enableFeatures(feedbackEdge, feedbackFeature);
|
|
378
380
|
edgeEnd.feedbackEdge = feedbackEdge;
|
|
379
381
|
root.add(edgeEnd);
|
|
380
382
|
root.add(feedbackEdge);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2021-
|
|
2
|
+
* Copyright (c) 2021-2026 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,9 +14,10 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { boundsFeature, Point, RectangularNode } from '@eclipse-glsp/sprotty';
|
|
17
|
+
import { feedbackFeature } from '../../../base/feedback/feedback-action-dispatcher';
|
|
17
18
|
|
|
18
19
|
export class MarqueeNode extends RectangularNode {
|
|
19
|
-
static override readonly DEFAULT_FEATURES = [boundsFeature];
|
|
20
|
+
static override readonly DEFAULT_FEATURES = [boundsFeature, feedbackFeature];
|
|
20
21
|
startPoint: Point;
|
|
21
22
|
endPoint: Point;
|
|
22
23
|
}
|
|
@@ -16,11 +16,12 @@
|
|
|
16
16
|
|
|
17
17
|
import { Args, Dimension, FeatureSet, GNode, boundsFeature, createFeatureSet, generateUuid, moveFeature } from '@eclipse-glsp/sprotty';
|
|
18
18
|
import { ArgsAware, argsFeature } from '../../../base/args-feature';
|
|
19
|
+
import { feedbackFeature } from '../../../base/feedback/feedback-action-dispatcher';
|
|
19
20
|
|
|
20
21
|
export const ARG_LENGTH = 'length';
|
|
21
22
|
|
|
22
23
|
export class InsertIndicator extends GNode implements ArgsAware {
|
|
23
|
-
static override readonly DEFAULT_FEATURES = [boundsFeature, moveFeature, argsFeature];
|
|
24
|
+
static override readonly DEFAULT_FEATURES = [boundsFeature, moveFeature, argsFeature, feedbackFeature];
|
|
24
25
|
|
|
25
26
|
static TYPE = 'node:insert-indicator';
|
|
26
27
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2026 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
|
|
@@ -25,6 +25,8 @@ import {
|
|
|
25
25
|
SIssueMarkerImpl,
|
|
26
26
|
isBoundsAware
|
|
27
27
|
} from '@eclipse-glsp/sprotty';
|
|
28
|
+
import { feedbackFeature } from '../../base/feedback/feedback-action-dispatcher';
|
|
29
|
+
import { enableFeatures } from '../../utils/gmodel-util';
|
|
28
30
|
|
|
29
31
|
export class GIssueMarker extends SIssueMarkerImpl implements Projectable {
|
|
30
32
|
constructor() {
|
|
@@ -45,7 +47,7 @@ export class GIssueMarker extends SIssueMarkerImpl implements Projectable {
|
|
|
45
47
|
/**
|
|
46
48
|
* Retrieves the `GIssueMarker` contained by the provided model element as
|
|
47
49
|
* direct child or a newly instantiated `GIssueMarker` if no child
|
|
48
|
-
* `GIssueMarker` exists.
|
|
50
|
+
* `GIssueMarker` exists. A newly created marker is marked as client-side feedback.
|
|
49
51
|
* @param modelElement for which the `GIssueMarker` should be retrieved or created.
|
|
50
52
|
* @returns the child `GIssueMarker` or a new `GIssueMarker` if no such child exists.
|
|
51
53
|
*/
|
|
@@ -56,6 +58,9 @@ export function getOrCreateGIssueMarker(modelElement: GParentElement): GIssueMar
|
|
|
56
58
|
|
|
57
59
|
if (issueMarker === undefined) {
|
|
58
60
|
issueMarker = new GIssueMarker();
|
|
61
|
+
// a marker created here is unknown to the server, so it is kept out of server-bound
|
|
62
|
+
// requests. markers the server sends as part of the model keep reporting their bounds
|
|
63
|
+
enableFeatures(issueMarker, feedbackFeature);
|
|
59
64
|
if (isBoundsAware(modelElement)) {
|
|
60
65
|
issueMarker.projectedBounds = modelElement.parentToLocal(modelElement.bounds);
|
|
61
66
|
}
|
package/src/utils/gmodel-util.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2026 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
|
|
@@ -31,6 +31,7 @@ import {
|
|
|
31
31
|
RoutedPoint,
|
|
32
32
|
Selectable,
|
|
33
33
|
TypeGuard,
|
|
34
|
+
createFeatureSet,
|
|
34
35
|
distinctAdd,
|
|
35
36
|
getAbsoluteBounds,
|
|
36
37
|
getZoom,
|
|
@@ -250,6 +251,27 @@ export function toggleCssClass(element: GModelElement, cssClass: string, toggle:
|
|
|
250
251
|
return toggle ? addCssClasses(element, cssClass) : removeCssClasses(element, cssClass);
|
|
251
252
|
}
|
|
252
253
|
|
|
254
|
+
/**
|
|
255
|
+
* Enables the given model features on a single {@link GModelElement}.
|
|
256
|
+
*
|
|
257
|
+
* The feature set is shared by all instances of a registered element type, so the element is given
|
|
258
|
+
* a copy of it rather than having the shared one extended. A feature set that is not a `Set` cannot
|
|
259
|
+
* be enumerated and is left untouched.
|
|
260
|
+
*
|
|
261
|
+
* @param element The element for which the features should be enabled.
|
|
262
|
+
* @param features The features to enable.
|
|
263
|
+
*/
|
|
264
|
+
export function enableFeatures(element: GModelElement, features: symbol[]): void;
|
|
265
|
+
export function enableFeatures(element: GModelElement, ...features: symbol[]): void;
|
|
266
|
+
export function enableFeatures(element: GModelElement, ...features: symbol[] | [symbol[]]): void {
|
|
267
|
+
const toEnable = Array.isArray(features[0]) ? features[0] : (features as symbol[]);
|
|
268
|
+
if (element.features === undefined) {
|
|
269
|
+
element.features = createFeatureSet(toEnable);
|
|
270
|
+
} else if (element.features instanceof Set) {
|
|
271
|
+
element.features = createFeatureSet([...element.features], { enable: toEnable });
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
253
275
|
export function isNonRoutableSelectedMovableBoundsAware(element: GModelElement): element is SelectableBoundsAware {
|
|
254
276
|
return isNonRoutableSelectedBoundsAware(element) && isMoveable(element);
|
|
255
277
|
}
|