@eclipse-glsp/server 2.1.0-next.75 → 2.1.0-next.78
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/common/features/model/gmodel-index.d.ts +6 -6
- package/lib/common/features/model/gmodel-index.d.ts.map +1 -1
- package/lib/common/features/model/gmodel-index.js +4 -4
- package/lib/common/features/model/gmodel-index.js.map +1 -1
- package/lib/common/gmodel/delete-operation-handler.d.ts +1 -2
- package/lib/common/gmodel/delete-operation-handler.d.ts.map +1 -1
- package/lib/common/gmodel/delete-operation-handler.js +14 -23
- package/lib/common/gmodel/delete-operation-handler.js.map +1 -1
- package/lib/common/gmodel/gmodel-create-node-operation-handler.d.ts +4 -1
- package/lib/common/gmodel/gmodel-create-node-operation-handler.d.ts.map +1 -1
- package/lib/common/gmodel/gmodel-create-node-operation-handler.js +10 -1
- package/lib/common/gmodel/gmodel-create-node-operation-handler.js.map +1 -1
- package/lib/common/operations/json-operation-handler.d.ts +4 -1
- package/lib/common/operations/json-operation-handler.d.ts.map +1 -1
- package/lib/common/operations/json-operation-handler.js +10 -1
- package/lib/common/operations/json-operation-handler.js.map +1 -1
- package/package.json +3 -3
- package/src/common/features/model/gmodel-index.ts +7 -7
- package/src/common/gmodel/delete-operation-handler.ts +15 -27
- package/src/common/gmodel/gmodel-create-node-operation-handler.ts +18 -2
- package/src/common/operations/json-operation-handler.ts +16 -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 { GEdge, GModelElement, GModelElementConstructor, GModelRoot
|
|
16
|
+
import { GEdge, GModelElement, GModelElementConstructor, GModelRoot } from '@eclipse-glsp/graph';
|
|
17
17
|
import { TypeGuard } from '@eclipse-glsp/protocol';
|
|
18
18
|
/**
|
|
19
19
|
* Is used to index all child elements of a {@link GModelRoot} by their id. Offers a set
|
|
@@ -72,17 +72,17 @@ export declare class GModelIndex {
|
|
|
72
72
|
*/
|
|
73
73
|
typeCount(type: string): number;
|
|
74
74
|
/**
|
|
75
|
-
* Returns all incoming edges for a node.
|
|
75
|
+
* Returns all incoming edges for a node (or port).
|
|
76
76
|
*
|
|
77
|
-
* @param node The node where the edges are connected.
|
|
77
|
+
* @param node The node (or port) where the edges are connected.
|
|
78
78
|
*
|
|
79
79
|
* @returns All incoming edges.
|
|
80
80
|
*/
|
|
81
|
-
getIncomingEdges(node:
|
|
81
|
+
getIncomingEdges(node: GModelElement): GEdge[];
|
|
82
82
|
/**
|
|
83
|
-
* Returns all outgoing edges for a node.
|
|
83
|
+
* Returns all outgoing edges for a node (or port).
|
|
84
84
|
*
|
|
85
|
-
* @param node The node where the edges are connected.
|
|
85
|
+
* @param node The node (or port) where the edges are connected.
|
|
86
86
|
*
|
|
87
87
|
* @returns All outgoing edges.
|
|
88
88
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmodel-index.d.ts","sourceRoot":"","sources":["../../../../src/common/features/model/gmodel-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"gmodel-index.d.ts","sourceRoot":"","sources":["../../../../src/common/features/model/gmodel-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAInD;;;GAGG;AACH,qBACa,WAAW;IACpB,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClD,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;;IAOvD,KAAK,IAAI,IAAI;IAKb,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAKjC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAiB/C,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,GAAG,aAAa,GAAG,SAAS;IAQhG,WAAW,CAAC,CAAC,SAAS,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAQpH;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IAIrC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE;IAI7C;;;;;;OAMG;IACH,aAAa,CAAC,CAAC,SAAS,aAAa,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;IAIrF;;;;OAIG;IACH,MAAM,IAAI,MAAM,EAAE;IAIlB;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE;IAI1C;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/B;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE;IAI9C;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE;IAI9C;;;;OAIG;IACH,WAAW,IAAI,KAAK,EAAE;IAItB;;;;;;;OAOG;IACH,iBAAiB,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAKjG,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;CAYxF"}
|
|
@@ -133,9 +133,9 @@ let GModelIndex = class GModelIndex {
|
|
|
133
133
|
return this.getElements(type).length;
|
|
134
134
|
}
|
|
135
135
|
/**
|
|
136
|
-
* Returns all incoming edges for a node.
|
|
136
|
+
* Returns all incoming edges for a node (or port).
|
|
137
137
|
*
|
|
138
|
-
* @param node The node where the edges are connected.
|
|
138
|
+
* @param node The node (or port) where the edges are connected.
|
|
139
139
|
*
|
|
140
140
|
* @returns All incoming edges.
|
|
141
141
|
*/
|
|
@@ -143,9 +143,9 @@ let GModelIndex = class GModelIndex {
|
|
|
143
143
|
return this.getAllEdges().filter(edge => edge.targetId === node.id);
|
|
144
144
|
}
|
|
145
145
|
/**
|
|
146
|
-
* Returns all outgoing edges for a node.
|
|
146
|
+
* Returns all outgoing edges for a node (or port).
|
|
147
147
|
*
|
|
148
|
-
* @param node The node where the edges are connected.
|
|
148
|
+
* @param node The node (or port) where the edges are connected.
|
|
149
149
|
*
|
|
150
150
|
* @returns All outgoing edges.
|
|
151
151
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmodel-index.js","sourceRoot":"","sources":["../../../../src/common/features/model/gmodel-index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,+
|
|
1
|
+
{"version":3,"file":"gmodel-index.js","sourceRoot":"","sources":["../../../../src/common/features/model/gmodel-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,6 @@ export declare class GModelDeleteOperationHandler extends GModelOperationHandler
|
|
|
26
26
|
createCommand(operation: DeleteElementOperation): MaybePromise<Command | undefined>;
|
|
27
27
|
deleteElements(elementIds: string[]): MaybePromise<void>;
|
|
28
28
|
protected delete(elementId: string, index: GModelIndex): boolean;
|
|
29
|
-
protected collectDependents(dependents: Set<GModelElement>,
|
|
30
|
-
protected findTopLevelElement(element: GModelElement): GModelElement;
|
|
29
|
+
protected collectDependents(dependents: Set<GModelElement>, elementToDelete: GModelElement, isChild: boolean): void;
|
|
31
30
|
}
|
|
32
31
|
//# sourceMappingURL=delete-operation-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-operation-handler.d.ts","sourceRoot":"","sources":["../../../src/common/gmodel/delete-operation-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,
|
|
1
|
+
{"version":3,"file":"delete-operation-handler.d.ts","sourceRoot":"","sources":["../../../src/common/gmodel/delete-operation-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,aAAa,EAAgB,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,qBACa,4BAA6B,SAAQ,sBAAsB;IAEpE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,aAAa,CAAC,SAAS,EAAE,sBAAsB,GAAG,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;IASnF,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;IAaxD,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO;IA8BhE,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;CAuBtH"}
|
|
@@ -63,49 +63,40 @@ let GModelDeleteOperationHandler = class GModelDeleteOperationHandler extends gm
|
|
|
63
63
|
this.logger.warn('Element not found: ' + elementId);
|
|
64
64
|
return false;
|
|
65
65
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
this.logger.warn("The requested node doesn't have a parent; it can't be deleted");
|
|
66
|
+
if (!element.parent) {
|
|
67
|
+
this.logger.warn("The requested element doesn't have a parent; it can't be deleted");
|
|
69
68
|
return false;
|
|
70
69
|
}
|
|
71
70
|
const dependents = new Set();
|
|
72
|
-
this.collectDependents(dependents,
|
|
71
|
+
this.collectDependents(dependents, element, false);
|
|
73
72
|
dependents.forEach(dependant => {
|
|
74
|
-
const index =
|
|
73
|
+
const index = dependant.parent.children.findIndex(element => element === dependant);
|
|
75
74
|
if (index > -1) {
|
|
76
|
-
|
|
75
|
+
dependant.parent.children.splice(index, 1);
|
|
77
76
|
}
|
|
78
77
|
this.allDependentsIds.add(dependant.id);
|
|
79
78
|
});
|
|
80
79
|
return true;
|
|
81
80
|
}
|
|
82
|
-
collectDependents(dependents,
|
|
83
|
-
if (dependents.has(
|
|
81
|
+
collectDependents(dependents, elementToDelete, isChild) {
|
|
82
|
+
if (dependents.has(elementToDelete)) {
|
|
84
83
|
return;
|
|
85
84
|
}
|
|
86
|
-
if (
|
|
87
|
-
|
|
85
|
+
if (elementToDelete.children.length > 0) {
|
|
86
|
+
elementToDelete.children.forEach(child => this.collectDependents(dependents, child, true));
|
|
88
87
|
}
|
|
89
|
-
if (
|
|
88
|
+
if (elementToDelete instanceof graph_1.GNode || elementToDelete instanceof graph_1.GPort) {
|
|
90
89
|
const index = this.modelState.index;
|
|
91
|
-
index.getIncomingEdges(
|
|
90
|
+
index.getIncomingEdges(elementToDelete).forEach(incoming => {
|
|
92
91
|
dependents.add(incoming);
|
|
93
92
|
});
|
|
94
|
-
index.getOutgoingEdges(
|
|
93
|
+
index.getOutgoingEdges(elementToDelete).forEach(outgoing => {
|
|
95
94
|
dependents.add(outgoing);
|
|
96
95
|
});
|
|
97
96
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
findTopLevelElement(element) {
|
|
101
|
-
if (element instanceof graph_1.GNode || element instanceof graph_1.GEdge) {
|
|
102
|
-
return element;
|
|
103
|
-
}
|
|
104
|
-
const parent = element.parent;
|
|
105
|
-
if (!parent) {
|
|
106
|
-
return element;
|
|
97
|
+
if (!isChild) {
|
|
98
|
+
dependents.add(elementToDelete);
|
|
107
99
|
}
|
|
108
|
-
return this.findTopLevelElement(parent);
|
|
109
100
|
}
|
|
110
101
|
};
|
|
111
102
|
exports.GModelDeleteOperationHandler = GModelDeleteOperationHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-operation-handler.js","sourceRoot":"","sources":["../../../src/common/gmodel/delete-operation-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,+CAAkE;AAClE,qDAA8E;AAC9E,yCAA+C;AAG/C,4CAAyC;AACzC,yEAAoE;AAG7D,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,iDAAsB;IAMpE,IAAI,aAAa;QACb,OAAO,iCAAsB,CAAC,IAAI,CAAC;IACvC,CAAC;IAED,aAAa,CAAC,SAAiC;QAC3C,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACzD,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,cAAc,CAAC,UAAoB;QAC/B,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACzD,OAAO;SACV;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;SACvG;IACL,CAAC;IAES,MAAM,CAAC,SAAiB,EAAE,KAAkB;QAClD,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC;SACf;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;YACpD,OAAO,KAAK,CAAC;SAChB;QAED,
|
|
1
|
+
{"version":3,"file":"delete-operation-handler.js","sourceRoot":"","sources":["../../../src/common/gmodel/delete-operation-handler.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 { GModelElement, GNode } from '@eclipse-glsp/graph';
|
|
17
|
-
import { CreateNodeOperation, MaybePromise, Point, TriggerNodeCreationAction } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { Args, CreateNodeOperation, GhostElement, MaybePromise, Point, TriggerNodeCreationAction } from '@eclipse-glsp/protocol';
|
|
18
18
|
import { ActionDispatcher } from '../actions/action-dispatcher';
|
|
19
19
|
import { Command } from '../command/command';
|
|
20
20
|
import { CreateNodeOperationHandler } from '../operations/create-operation-handler';
|
|
@@ -32,6 +32,9 @@ export declare abstract class GModelCreateNodeOperationHandler extends GModelOpe
|
|
|
32
32
|
createCommand(operation: CreateNodeOperation): MaybePromise<Command | undefined>;
|
|
33
33
|
executeCreation(operation: CreateNodeOperation): void;
|
|
34
34
|
getTriggerActions(): TriggerNodeCreationAction[];
|
|
35
|
+
protected createTriggerNodeCreationAction(elementTypeId: string): TriggerNodeCreationAction;
|
|
36
|
+
protected createTriggerGhostElement(elementTypeId: string): GhostElement | undefined;
|
|
37
|
+
protected createTriggerArgs(elementTypeId: string): Args | undefined;
|
|
35
38
|
/**
|
|
36
39
|
* Return the GModelElement that will contain the newly created node. It is usually
|
|
37
40
|
* the target element ({@link CreateNodeOperation.containerId}), but could also
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmodel-create-node-operation-handler.d.ts","sourceRoot":"","sources":["../../../src/common/gmodel/gmodel-create-node-operation-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"gmodel-create-node-operation-handler.d.ts","sourceRoot":"","sources":["../../../src/common/gmodel/gmodel-create-node-operation-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACH,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAC5D,yBAAyB,EAC5B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AAEpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE;;;;GAIG;AACH,8BACsB,gCAAiC,SAAQ,sBAAuB,YAAW,0BAA0B;IAEvH,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAE7C,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAElC,SAAkB,KAAK,EAAE,MAAM,CAAC;IAEhC,SAAkB,aAAa,gBAA4B;IAElD,aAAa,CAAC,SAAS,EAAE,mBAAmB,GAAG,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;IAIzF,eAAe,CAAC,SAAS,EAAE,mBAAmB,GAAG,IAAI;IAWrD,iBAAiB,IAAI,yBAAyB,EAAE;IAIhD,SAAS,CAAC,+BAA+B,CAAC,aAAa,EAAE,MAAM,GAAG,yBAAyB;IAK3F,SAAS,CAAC,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIpF,SAAS,CAAC,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIpE;;;;;;;OAOG;IACH,YAAY,CAAC,SAAS,EAAE,mBAAmB,GAAG,aAAa,GAAG,SAAS;IAKvE,WAAW,CAAC,SAAS,EAAE,mBAAmB,GAAG,KAAK,GAAG,SAAS;IAI9D;;;;;;;;;OASG;IACH,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,GAAG,KAAK,GAAG,SAAS;IAMtE,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS;CACnG"}
|
|
@@ -55,7 +55,16 @@ let GModelCreateNodeOperationHandler = class GModelCreateNodeOperationHandler ex
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
getTriggerActions() {
|
|
58
|
-
return this.elementTypeIds.map(
|
|
58
|
+
return this.elementTypeIds.map(elementTypeId => this.createTriggerNodeCreationAction(elementTypeId));
|
|
59
|
+
}
|
|
60
|
+
createTriggerNodeCreationAction(elementTypeId) {
|
|
61
|
+
return protocol_1.TriggerNodeCreationAction.create(elementTypeId, { ghostElement: this.createTriggerGhostElement(elementTypeId), args: this.createTriggerArgs(elementTypeId) });
|
|
62
|
+
}
|
|
63
|
+
createTriggerGhostElement(elementTypeId) {
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
createTriggerArgs(elementTypeId) {
|
|
67
|
+
return undefined;
|
|
59
68
|
}
|
|
60
69
|
/**
|
|
61
70
|
* Return the GModelElement that will contain the newly created node. It is usually
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmodel-create-node-operation-handler.js","sourceRoot":"","sources":["../../../src/common/gmodel/gmodel-create-node-operation-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAGlF,
|
|
1
|
+
{"version":3,"file":"gmodel-create-node-operation-handler.js","sourceRoot":"","sources":["../../../src/common/gmodel/gmodel-create-node-operation-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAGlF,qDAGgC;AAChC,yCAA+C;AAC/C,oEAAgE;AAGhE,sDAA2D;AAC3D,yEAAoE;AAEpE;;;;GAIG;AAEI,IAAe,gCAAgC,GAA/C,MAAe,gCAAiC,SAAQ,iDAAsB;IAA9E;;QAQe,kBAAa,GAAG,8BAAmB,CAAC,IAAI,CAAC;IAoE/D,CAAC;IAlEY,aAAa,CAAC,SAA8B;QACjD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,eAAe,CAAC,SAA8B;;QAC1C,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,mCAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACvE,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAC7D,IAAI,OAAO,EAAE;YACT,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,uBAAY,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC7G;IACL,CAAC;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,aAAa,CAAC,CAAC,CAAC;IACzG,CAAC;IAES,+BAA+B,CAAC,aAAqB;QAC3D,OAAO,oCAAyB,CAAC,MAAM,CAAC,aAAa,EACjD,EAAE,YAAY,EAAE,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAE,CAAC;IACvH,CAAC;IAES,yBAAyB,CAAC,aAAqB;QACrD,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,iBAAiB,CAAC,aAAqB;QAC7C,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,SAA8B;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,CAAC;IAED,WAAW,CAAC,SAA8B;QACtC,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACH,mBAAmB,CAAC,SAA8B;;QAC9C,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,mCAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACvE,MAAM,gBAAgB,GAAG,MAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,mCAAI,gBAAK,CAAC,MAAM,CAAC;QACrE,OAAO,IAAA,iCAAmB,EAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;CAGJ,CAAA;AA5EqB,4EAAgC;AAExC;IADT,IAAA,kBAAM,EAAC,oCAAgB,CAAC;;0EACoB;2CAF3B,gCAAgC;IADrD,IAAA,sBAAU,GAAE;GACS,gCAAgC,CA4ErD"}
|
|
@@ -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 { GModelElement } from '@eclipse-glsp/graph';
|
|
17
|
-
import { AnyObject, CreateEdgeOperation, CreateNodeOperation, MaybePromise, Point, TriggerEdgeCreationAction, TriggerNodeCreationAction } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { AnyObject, Args, CreateEdgeOperation, CreateNodeOperation, GhostElement, MaybePromise, Point, TriggerEdgeCreationAction, TriggerNodeCreationAction } from '@eclipse-glsp/protocol';
|
|
18
18
|
import { Command } from '../command/command';
|
|
19
19
|
import { AbstractRecordingCommand } from '../command/recording-command';
|
|
20
20
|
import { ModelState } from '../features/model/model-state';
|
|
@@ -59,6 +59,9 @@ export declare abstract class JsonCreateNodeOperationHandler extends JsonOperati
|
|
|
59
59
|
readonly operationType = "createNode";
|
|
60
60
|
abstract createCommand(operation: CreateNodeOperation): MaybePromise<Command | undefined>;
|
|
61
61
|
getTriggerActions(): TriggerNodeCreationAction[];
|
|
62
|
+
protected createTriggerNodeCreationAction(elementTypeId: string): TriggerNodeCreationAction;
|
|
63
|
+
protected createTriggerGhostElement(elementTypeId: string): GhostElement | undefined;
|
|
64
|
+
protected createTriggerArgs(elementTypeId: string): Args | undefined;
|
|
62
65
|
/**
|
|
63
66
|
* Return the GModelElement that will contain the newly created node. It is usually
|
|
64
67
|
* the target element ({@link CreateNodeOperation.containerId}), but could also
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-operation-handler.d.ts","sourceRoot":"","sources":["../../../src/common/operations/json-operation-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACH,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,KAAK,EACL,yBAAyB,EACzB,yBAAyB,EAG5B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,UAAU,SAAS,SAAS,GAAG,SAAS,CAAE,SAAQ,UAAU;IACxF,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAC/C,iBAAiB,CAAC,WAAW,EAAE,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CAClE;AAED,yBAAiB,cAAc,CAAC;IAC5B,SAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,IAAI,cAAc,CAEvE;CACJ;AAED;;;GAGG;AACH,qBAAa,oBAAoB,CAAC,UAAU,SAAS,SAAS,GAAG,SAAS,CAAE,SAAQ,wBAAwB,CAAC,UAAU,CAAC;IACxG,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC;IAAE,SAAS,CAAC,SAAS,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC;gBAArF,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC,EAAY,SAAS,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC;cAIxF,aAAa,IAAI,YAAY,CAAC,UAAU,CAAC;cAIzC,UAAU,CAAC,QAAQ,EAAE,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC;CAG1E;AAED;;;;GAIG;AACH,8BACsB,oBAAqB,SAAQ,gBAAgB;IAC/D,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO;CAMrD;AAED;;GAEG;AACH,8BACsB,8BAA+B,SAAQ,oBAAqB,YAAW,0BAA0B;IACnH,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAClC,SAAkB,KAAK,EAAE,MAAM,CAAC;IAChC,SAAkB,aAAa,gBAA4B;aAEzC,aAAa,CAAC,SAAS,EAAE,mBAAmB,GAAG,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;IAElG,iBAAiB,IAAI,yBAAyB,EAAE;IAIhD;;;;;;;OAOG;IACH,YAAY,CAAC,SAAS,EAAE,mBAAmB,GAAG,aAAa,GAAG,SAAS;IAKvE,WAAW,CAAC,SAAS,EAAE,mBAAmB,GAAG,KAAK,GAAG,SAAS;IAI9D;;;;;;;;;OASG;IACH,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,GAAG,KAAK,GAAG,SAAS;CAKzE;AAED;;GAEG;AACH,8BACsB,8BAA+B,SAAQ,oBAAqB,YAAW,0BAA0B;IACnH,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAClC,SAAkB,KAAK,EAAE,MAAM,CAAC;IAChC,SAAkB,aAAa,gBAA4B;aAEzC,aAAa,CAAC,SAAS,EAAE,mBAAmB,GAAG,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;IAElG,iBAAiB,IAAI,yBAAyB,EAAE;CAGnD"}
|
|
1
|
+
{"version":3,"file":"json-operation-handler.d.ts","sourceRoot":"","sources":["../../../src/common/operations/json-operation-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,7 +63,16 @@ let JsonCreateNodeOperationHandler = class JsonCreateNodeOperationHandler extend
|
|
|
63
63
|
this.operationType = protocol_1.CreateNodeOperation.KIND;
|
|
64
64
|
}
|
|
65
65
|
getTriggerActions() {
|
|
66
|
-
return this.elementTypeIds.map(
|
|
66
|
+
return this.elementTypeIds.map(elementTypeId => this.createTriggerNodeCreationAction(elementTypeId));
|
|
67
|
+
}
|
|
68
|
+
createTriggerNodeCreationAction(elementTypeId) {
|
|
69
|
+
return protocol_1.TriggerNodeCreationAction.create(elementTypeId, { ghostElement: this.createTriggerGhostElement(elementTypeId), args: this.createTriggerArgs(elementTypeId) });
|
|
70
|
+
}
|
|
71
|
+
createTriggerGhostElement(elementTypeId) {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
createTriggerArgs(elementTypeId) {
|
|
75
|
+
return undefined;
|
|
67
76
|
}
|
|
68
77
|
/**
|
|
69
78
|
* Return the GModelElement that will contain the newly created node. It is usually
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-operation-handler.js","sourceRoot":"","sources":["../../../src/common/operations/json-operation-handler.ts"],"names":[],"mappings":";;;;;;;;;AAgBA,
|
|
1
|
+
{"version":3,"file":"json-operation-handler.js","sourceRoot":"","sources":["../../../src/common/operations/json-operation-handler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-glsp/server",
|
|
3
|
-
"version": "2.1.0-next.
|
|
3
|
+
"version": "2.1.0-next.78+6db8ac8",
|
|
4
4
|
"description": "A js server framework for Eclipse GLSP",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eclipse",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"watch": "tsc -w"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@eclipse-glsp/graph": "2.1.0-next.
|
|
62
|
+
"@eclipse-glsp/graph": "2.1.0-next.78+6db8ac8",
|
|
63
63
|
"@eclipse-glsp/protocol": "next",
|
|
64
64
|
"@types/uuid": "8.3.1",
|
|
65
65
|
"commander": "^8.3.0",
|
|
@@ -76,5 +76,5 @@
|
|
|
76
76
|
"publishConfig": {
|
|
77
77
|
"access": "public"
|
|
78
78
|
},
|
|
79
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "6db8ac875b2714c17b314db076ca8edfc92706e5"
|
|
80
80
|
}
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { GEdge, GModelElement, GModelElementConstructor, GModelRoot
|
|
16
|
+
import { GEdge, GModelElement, GModelElementConstructor, GModelRoot } from '@eclipse-glsp/graph';
|
|
17
17
|
import { TypeGuard } from '@eclipse-glsp/protocol';
|
|
18
18
|
import { injectable } from 'inversify';
|
|
19
|
-
import {
|
|
19
|
+
import { GLSPServerError, getOrThrow } from '../../utils/glsp-server-error';
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Is used to index all child elements of a {@link GModelRoot} by their id. Offers a set
|
|
@@ -137,20 +137,20 @@ export class GModelIndex {
|
|
|
137
137
|
}
|
|
138
138
|
|
|
139
139
|
/**
|
|
140
|
-
* Returns all incoming edges for a node.
|
|
140
|
+
* Returns all incoming edges for a node (or port).
|
|
141
141
|
*
|
|
142
|
-
* @param node The node where the edges are connected.
|
|
142
|
+
* @param node The node (or port) where the edges are connected.
|
|
143
143
|
*
|
|
144
144
|
* @returns All incoming edges.
|
|
145
145
|
*/
|
|
146
|
-
getIncomingEdges(node:
|
|
146
|
+
getIncomingEdges(node: GModelElement): GEdge[] {
|
|
147
147
|
return this.getAllEdges().filter(edge => edge.targetId === node.id);
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
/**
|
|
151
|
-
* Returns all outgoing edges for a node.
|
|
151
|
+
* Returns all outgoing edges for a node (or port).
|
|
152
152
|
*
|
|
153
|
-
* @param node The node where the edges are connected.
|
|
153
|
+
* @param node The node (or port) where the edges are connected.
|
|
154
154
|
*
|
|
155
155
|
* @returns All outgoing edges.
|
|
156
156
|
*/
|
|
@@ -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 { GModelElement, GNode, GPort } from '@eclipse-glsp/graph';
|
|
17
17
|
import { DeleteElementOperation, MaybePromise } from '@eclipse-glsp/protocol';
|
|
18
18
|
import { inject, injectable } from 'inversify';
|
|
19
19
|
import { Command } from '../command/command';
|
|
@@ -65,19 +65,18 @@ export class GModelDeleteOperationHandler extends GModelOperationHandler {
|
|
|
65
65
|
return false;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
this.logger.warn("The requested node doesn't have a parent; it can't be deleted");
|
|
68
|
+
if (!element.parent) {
|
|
69
|
+
this.logger.warn("The requested element doesn't have a parent; it can't be deleted");
|
|
71
70
|
return false;
|
|
72
71
|
}
|
|
73
72
|
|
|
74
73
|
const dependents = new Set<GModelElement>();
|
|
75
|
-
this.collectDependents(dependents,
|
|
74
|
+
this.collectDependents(dependents, element, false);
|
|
76
75
|
|
|
77
76
|
dependents.forEach(dependant => {
|
|
78
|
-
const index =
|
|
77
|
+
const index = dependant.parent.children.findIndex(element => element === dependant);
|
|
79
78
|
if (index > -1) {
|
|
80
|
-
|
|
79
|
+
dependant.parent.children.splice(index, 1);
|
|
81
80
|
}
|
|
82
81
|
this.allDependentsIds.add(dependant.id);
|
|
83
82
|
});
|
|
@@ -85,38 +84,27 @@ export class GModelDeleteOperationHandler extends GModelOperationHandler {
|
|
|
85
84
|
return true;
|
|
86
85
|
}
|
|
87
86
|
|
|
88
|
-
protected collectDependents(dependents: Set<GModelElement>,
|
|
89
|
-
if (dependents.has(
|
|
87
|
+
protected collectDependents(dependents: Set<GModelElement>, elementToDelete: GModelElement, isChild: boolean): void {
|
|
88
|
+
if (dependents.has(elementToDelete)) {
|
|
90
89
|
return;
|
|
91
90
|
}
|
|
92
91
|
|
|
93
|
-
if (
|
|
94
|
-
|
|
92
|
+
if (elementToDelete.children.length > 0) {
|
|
93
|
+
elementToDelete.children.forEach(child => this.collectDependents(dependents, child, true));
|
|
95
94
|
}
|
|
96
95
|
|
|
97
|
-
if (
|
|
96
|
+
if (elementToDelete instanceof GNode || elementToDelete instanceof GPort) {
|
|
98
97
|
const index = this.modelState.index;
|
|
99
98
|
|
|
100
|
-
index.getIncomingEdges(
|
|
99
|
+
index.getIncomingEdges(elementToDelete).forEach(incoming => {
|
|
101
100
|
dependents.add(incoming);
|
|
102
101
|
});
|
|
103
|
-
index.getOutgoingEdges(
|
|
102
|
+
index.getOutgoingEdges(elementToDelete).forEach(outgoing => {
|
|
104
103
|
dependents.add(outgoing);
|
|
105
104
|
});
|
|
106
105
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
protected findTopLevelElement(element: GModelElement): GModelElement {
|
|
112
|
-
if (element instanceof GNode || element instanceof GEdge) {
|
|
113
|
-
return element;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
const parent = element.parent;
|
|
117
|
-
if (!parent) {
|
|
118
|
-
return element;
|
|
106
|
+
if (!isChild) {
|
|
107
|
+
dependents.add(elementToDelete);
|
|
119
108
|
}
|
|
120
|
-
return this.findTopLevelElement(parent);
|
|
121
109
|
}
|
|
122
110
|
}
|
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
|
|
17
17
|
import { GModelElement, GNode } from '@eclipse-glsp/graph';
|
|
18
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
Args, CreateNodeOperation, GhostElement, MaybePromise, Point, SelectAction,
|
|
20
|
+
TriggerNodeCreationAction
|
|
21
|
+
} from '@eclipse-glsp/protocol';
|
|
19
22
|
import { inject, injectable } from 'inversify';
|
|
20
23
|
import { ActionDispatcher } from '../actions/action-dispatcher';
|
|
21
24
|
import { Command } from '../command/command';
|
|
@@ -55,7 +58,20 @@ export abstract class GModelCreateNodeOperationHandler extends GModelOperationHa
|
|
|
55
58
|
}
|
|
56
59
|
|
|
57
60
|
getTriggerActions(): TriggerNodeCreationAction[] {
|
|
58
|
-
return this.elementTypeIds.map(
|
|
61
|
+
return this.elementTypeIds.map(elementTypeId => this.createTriggerNodeCreationAction(elementTypeId));
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
protected createTriggerNodeCreationAction(elementTypeId: string): TriggerNodeCreationAction {
|
|
65
|
+
return TriggerNodeCreationAction.create(elementTypeId,
|
|
66
|
+
{ ghostElement: this.createTriggerGhostElement(elementTypeId), args: this.createTriggerArgs(elementTypeId) } );
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
protected createTriggerGhostElement(elementTypeId: string): GhostElement | undefined {
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
protected createTriggerArgs(elementTypeId: string): Args | undefined {
|
|
74
|
+
return undefined;
|
|
59
75
|
}
|
|
60
76
|
|
|
61
77
|
/**
|
|
@@ -16,8 +16,10 @@
|
|
|
16
16
|
import { GModelElement } from '@eclipse-glsp/graph';
|
|
17
17
|
import {
|
|
18
18
|
AnyObject,
|
|
19
|
+
Args,
|
|
19
20
|
CreateEdgeOperation,
|
|
20
21
|
CreateNodeOperation,
|
|
22
|
+
GhostElement,
|
|
21
23
|
MaybePromise,
|
|
22
24
|
Point,
|
|
23
25
|
TriggerEdgeCreationAction,
|
|
@@ -93,7 +95,20 @@ export abstract class JsonCreateNodeOperationHandler extends JsonOperationHandle
|
|
|
93
95
|
abstract override createCommand(operation: CreateNodeOperation): MaybePromise<Command | undefined>;
|
|
94
96
|
|
|
95
97
|
getTriggerActions(): TriggerNodeCreationAction[] {
|
|
96
|
-
return this.elementTypeIds.map(
|
|
98
|
+
return this.elementTypeIds.map(elementTypeId => this.createTriggerNodeCreationAction(elementTypeId));
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
protected createTriggerNodeCreationAction(elementTypeId: string): TriggerNodeCreationAction {
|
|
102
|
+
return TriggerNodeCreationAction.create(elementTypeId,
|
|
103
|
+
{ ghostElement: this.createTriggerGhostElement(elementTypeId), args: this.createTriggerArgs(elementTypeId) } );
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
protected createTriggerGhostElement(elementTypeId: string): GhostElement | undefined {
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
protected createTriggerArgs(elementTypeId: string): Args | undefined {
|
|
111
|
+
return undefined;
|
|
97
112
|
}
|
|
98
113
|
|
|
99
114
|
/**
|