@eclipse-glsp-examples/workflow-glsp 0.9.0-next.c9ea4e00 → 0.9.0-next.d3c64530
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/LICENSE +642 -277
- package/css/diagram.css +28 -14
- package/lib/di.config.d.ts.map +1 -1
- package/lib/di.config.js +4 -2
- package/lib/di.config.js.map +1 -1
- package/lib/model.d.ts +5 -0
- package/lib/model.d.ts.map +1 -1
- package/lib/model.js +27 -1
- package/lib/model.js.map +1 -1
- package/lib/workflow-views.d.ts.map +1 -1
- package/lib/workflow-views.js +2 -2
- package/lib/workflow-views.js.map +1 -1
- package/package.json +2 -2
- package/src/di.config.ts +6 -5
- package/src/model.ts +25 -0
- package/src/workflow-views.tsx +2 -3
package/css/diagram.css
CHANGED
|
@@ -35,12 +35,11 @@
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
.sprotty-node.mouseover:not(.selected) {
|
|
38
|
-
stroke-width:
|
|
38
|
+
stroke-width: 2;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
.sprotty-comp {
|
|
42
42
|
line-height: 3px;
|
|
43
|
-
font-weight: normal;
|
|
44
43
|
text-align: left;
|
|
45
44
|
}
|
|
46
45
|
|
|
@@ -53,16 +52,18 @@
|
|
|
53
52
|
}
|
|
54
53
|
|
|
55
54
|
.sprotty-label.heading {
|
|
56
|
-
font-weight:
|
|
55
|
+
font-weight: normal;
|
|
57
56
|
}
|
|
58
57
|
|
|
59
58
|
.sprotty-icon {
|
|
60
|
-
|
|
61
|
-
stroke-width: 0;
|
|
59
|
+
stroke: black;
|
|
60
|
+
stroke-width: 0.5;
|
|
61
|
+
fill: #ffffff;
|
|
62
|
+
opacity: 0.5;
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
.sprotty-label.icon {
|
|
65
|
-
fill:
|
|
66
|
+
fill: black;
|
|
66
67
|
}
|
|
67
68
|
|
|
68
69
|
.sprotty-button {
|
|
@@ -72,15 +73,15 @@
|
|
|
72
73
|
|
|
73
74
|
.sprotty-edge {
|
|
74
75
|
fill: none;
|
|
75
|
-
stroke-width:
|
|
76
|
+
stroke-width: 1px;
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
.sprotty-edge.selected {
|
|
79
|
-
stroke-width:
|
|
80
|
+
stroke-width: 3px;
|
|
80
81
|
}
|
|
81
82
|
|
|
82
83
|
.sprotty-edge.mouseover:not(.selected) {
|
|
83
|
-
stroke-width:
|
|
84
|
+
stroke-width: 2px;
|
|
84
85
|
}
|
|
85
86
|
|
|
86
87
|
.sprotty-edge > .sprotty-routing-handle {
|
|
@@ -116,18 +117,22 @@
|
|
|
116
117
|
}
|
|
117
118
|
|
|
118
119
|
.sprotty-node.marquee {
|
|
119
|
-
fill:
|
|
120
|
+
fill: lightgray;
|
|
120
121
|
opacity: 0.2;
|
|
121
122
|
}
|
|
122
123
|
|
|
123
124
|
.task.automated > .sprotty-node {
|
|
124
|
-
fill:
|
|
125
|
+
fill: lightgray;
|
|
125
126
|
}
|
|
126
127
|
|
|
127
128
|
.task.manual > .sprotty-node {
|
|
128
129
|
fill: lightblue;
|
|
129
130
|
}
|
|
130
131
|
|
|
132
|
+
.category > .sprotty-node {
|
|
133
|
+
fill: lightblue;
|
|
134
|
+
}
|
|
135
|
+
|
|
131
136
|
text {
|
|
132
137
|
stroke-width: 0;
|
|
133
138
|
stroke: #000;
|
|
@@ -150,12 +155,12 @@ text {
|
|
|
150
155
|
.sprotty-edge.weighted .arrow,
|
|
151
156
|
.sprotty-edge.weighted.medium,
|
|
152
157
|
.sprotty-edge.weighted.medium .arrow {
|
|
153
|
-
stroke:
|
|
158
|
+
stroke: #007fd4;
|
|
154
159
|
}
|
|
155
160
|
|
|
156
161
|
.sprotty-edge.weighted .arrow,
|
|
157
162
|
.sprotty-edge.weighted.medium .arrow {
|
|
158
|
-
fill:
|
|
163
|
+
fill: #007fd4;
|
|
159
164
|
}
|
|
160
165
|
|
|
161
166
|
.sprotty-edge.weighted.high,
|
|
@@ -173,7 +178,16 @@ polygon.sprotty-node {
|
|
|
173
178
|
}
|
|
174
179
|
|
|
175
180
|
.sprotty-node.selected {
|
|
176
|
-
stroke-width:
|
|
181
|
+
stroke-width: 3px;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.sprotty-comp {
|
|
185
|
+
stroke: transparent;
|
|
186
|
+
fill: transparent;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.sprotty-comp.debug {
|
|
190
|
+
stroke: deepskyblue;
|
|
177
191
|
}
|
|
178
192
|
|
|
179
193
|
svg {
|
package/lib/di.config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di.config.d.ts","sourceRoot":"","sources":["../src/di.config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"di.config.d.ts","sourceRoot":"","sources":["../src/di.config.ts"],"names":[],"mappings":"AAsCA,OAAO,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAmB,MAAM,WAAW,CAAC;AACvD,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAgC5B,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAOnE"}
|
package/lib/di.config.js
CHANGED
|
@@ -16,6 +16,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
16
16
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
17
17
|
********************************************************************************/
|
|
18
18
|
const client_1 = require("@eclipse-glsp/client");
|
|
19
|
+
const protocol_1 = require("@eclipse-glsp/protocol");
|
|
19
20
|
require("balloon-css/balloon.min.css");
|
|
20
21
|
const inversify_1 = require("inversify");
|
|
21
22
|
require("sprotty/css/edit-label.css");
|
|
@@ -26,7 +27,6 @@ const workflow_views_1 = require("./workflow-views");
|
|
|
26
27
|
const workflowDiagramModule = new inversify_1.ContainerModule((bind, unbind, isBound, rebind) => {
|
|
27
28
|
rebind(client_1.TYPES.ILogger).to(client_1.ConsoleLogger).inSingletonScope();
|
|
28
29
|
rebind(client_1.TYPES.LogLevel).toConstantValue(client_1.LogLevel.warn);
|
|
29
|
-
bind(client_1.GLSP_TYPES.IMovementRestrictor).to(client_1.NoOverlapMovmentRestrictor).inSingletonScope();
|
|
30
30
|
bind(client_1.TYPES.ISnapper).to(client_1.GridSnapper);
|
|
31
31
|
bind(client_1.TYPES.ICommandPaletteActionProvider).to(client_1.RevealNamedElementActionProvider);
|
|
32
32
|
bind(client_1.TYPES.IContextMenuItemProvider).to(client_1.DeleteElementContextMenuItemProvider);
|
|
@@ -38,13 +38,15 @@ const workflowDiagramModule = new inversify_1.ContainerModule((bind, unbind, isB
|
|
|
38
38
|
client_1.configureModelElement(context, 'comp:comp', client_1.SCompartment, client_1.SCompartmentView);
|
|
39
39
|
client_1.configureModelElement(context, 'comp:header', client_1.SCompartment, client_1.SCompartmentView);
|
|
40
40
|
client_1.configureModelElement(context, 'label:icon', client_1.SLabel, client_1.SLabelView);
|
|
41
|
-
client_1.configureModelElement(context,
|
|
41
|
+
client_1.configureModelElement(context, protocol_1.DefaultTypes.EDGE, client_1.SEdge, workflow_views_1.WorkflowEdgeView);
|
|
42
42
|
client_1.configureModelElement(context, 'edge:weighted', model_1.WeightedEdge, workflow_views_1.WorkflowEdgeView);
|
|
43
43
|
client_1.configureModelElement(context, 'icon', model_1.Icon, workflow_views_1.IconView);
|
|
44
44
|
client_1.configureModelElement(context, 'activityNode:merge', model_1.ActivityNode, client_1.DiamondNodeView);
|
|
45
45
|
client_1.configureModelElement(context, 'activityNode:decision', model_1.ActivityNode, client_1.DiamondNodeView);
|
|
46
46
|
client_1.configureModelElement(context, 'activityNode:fork', model_1.ActivityNode, client_1.RectangularNodeView);
|
|
47
47
|
client_1.configureModelElement(context, 'activityNode:join', model_1.ActivityNode, client_1.RectangularNodeView);
|
|
48
|
+
client_1.configureModelElement(context, 'category', model_1.CategoryNode, client_1.RoundedCornerNodeView);
|
|
49
|
+
client_1.configureModelElement(context, 'struct', client_1.SCompartment, client_1.StructureCompartmentView);
|
|
48
50
|
});
|
|
49
51
|
function createContainer(widgetId) {
|
|
50
52
|
const container = client_1.createClientContainer(workflowDiagramModule, di_config_1.directTaskEditor);
|
package/lib/di.config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di.config.js","sourceRoot":"","sources":["../src/di.config.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,
|
|
1
|
+
{"version":3,"file":"di.config.js","sourceRoot":"","sources":["../src/di.config.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iDAqB8B;AAC9B,qDAAsD;AACtD,uCAAqC;AACrC,yCAAuD;AACvD,sCAAoC;AACpC,8BAA4B;AAC5B,+DAAmE;AACnE,mCAAmF;AACnF,qDAA8D;AAE9D,MAAM,qBAAqB,GAAG,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAChF,MAAM,CAAC,cAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,sBAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC3D,MAAM,CAAC,cAAK,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,iBAAQ,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,cAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,oBAAW,CAAC,CAAC;IACrC,IAAI,CAAC,cAAK,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,yCAAgC,CAAC,CAAC;IAC/E,IAAI,CAAC,cAAK,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,6CAAoC,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAElD,sCAA6B,CAAC,OAAO,CAAC,CAAC;IACvC,8BAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,gBAAQ,EAAE,8BAAqB,CAAC,CAAC;IAClF,8BAAqB,CAAC,OAAO,EAAE,aAAa,EAAE,gBAAQ,EAAE,8BAAqB,CAAC,CAAC;IAC/E,8BAAqB,CAAC,OAAO,EAAE,eAAe,EAAE,eAAM,EAAE,mBAAU,EAAE,EAAE,MAAM,EAAE,CAAC,yBAAgB,CAAC,EAAE,CAAC,CAAC;IACpG,8BAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,qBAAY,EAAE,yBAAgB,CAAC,CAAC;IAC5E,8BAAqB,CAAC,OAAO,EAAE,aAAa,EAAE,qBAAY,EAAE,yBAAgB,CAAC,CAAC;IAC9E,8BAAqB,CAAC,OAAO,EAAE,YAAY,EAAE,eAAM,EAAE,mBAAU,CAAC,CAAC;IACjE,8BAAqB,CAAC,OAAO,EAAE,uBAAY,CAAC,IAAI,EAAE,cAAK,EAAE,iCAAgB,CAAC,CAAC;IAC3E,8BAAqB,CAAC,OAAO,EAAE,eAAe,EAAE,oBAAY,EAAE,iCAAgB,CAAC,CAAC;IAChF,8BAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAI,EAAE,yBAAQ,CAAC,CAAC;IACvD,8BAAqB,CAAC,OAAO,EAAE,oBAAoB,EAAE,oBAAY,EAAE,wBAAe,CAAC,CAAC;IACpF,8BAAqB,CAAC,OAAO,EAAE,uBAAuB,EAAE,oBAAY,EAAE,wBAAe,CAAC,CAAC;IACvF,8BAAqB,CAAC,OAAO,EAAE,mBAAmB,EAAE,oBAAY,EAAE,4BAAmB,CAAC,CAAC;IACvF,8BAAqB,CAAC,OAAO,EAAE,mBAAmB,EAAE,oBAAY,EAAE,4BAAmB,CAAC,CAAC;IAEvF,8BAAqB,CAAC,OAAO,EAAE,UAAU,EAAE,oBAAY,EAAE,8BAAqB,CAAC,CAAC;IAChF,8BAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,qBAAY,EAAE,iCAAwB,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC;AAEH,SAAwB,eAAe,CAAC,QAAgB;IACpD,MAAM,SAAS,GAAG,8BAAqB,CAAC,qBAAqB,EAAE,4BAAgB,CAAC,CAAC;IACjF,8BAAqB,CAAC,SAAS,EAAE;QAC7B,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE,QAAQ,GAAG,SAAS;KAClC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACrB,CAAC;AAPD,kCAOC"}
|
package/lib/model.d.ts
CHANGED
|
@@ -56,4 +56,9 @@ export declare class Icon extends SShapeElement implements LayoutContainer {
|
|
|
56
56
|
height: number;
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
|
+
export declare class CategoryNode extends RectangularNode implements Nameable, WithEditableLabel {
|
|
60
|
+
static readonly DEFAULT_FEATURES: symbol[];
|
|
61
|
+
name: string;
|
|
62
|
+
get editableLabel(): (SChildElement & EditableLabel) | undefined;
|
|
63
|
+
}
|
|
59
64
|
//# sourceMappingURL=model.d.ts.map
|
package/lib/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAIH,WAAW,EACX,aAAa,EAKb,eAAe,EAGf,QAAQ,EAGR,eAAe,EACf,aAAa,EACb,KAAK,EAEL,aAAa,EACb,aAAa,EACb,iBAAiB,EAEpB,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,QAAS,SAAQ,eAAgB,YAAW,QAAQ,EAAE,iBAAiB;IAChF,MAAM,CAAC,QAAQ,CAAC,gBAAgB,WAY9B;IACF,IAAI,SAAM;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,IAAI,aAAa,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,GAAG,SAAS,CAS/D;CACJ;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,IAAI,QAAQ,CAEtE;AAED,qBAAa,YAAa,SAAQ,KAAK;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,YAAa,SAAQ,WAAW;IACzC,QAAQ,EAAE,MAAM,CAA+B;IAC/C,IAAI;;;MAGF;IACF,WAAW,SAAK;CACnB;AAED,yBAAiB,YAAY,CAAC;IAC1B,UAAiB,IAAI,CAAC;QACX,MAAM,OAAO,eAAe,CAAC;QAC7B,MAAM,KAAK,cAAc,CAAC;QAC1B,MAAM,QAAQ,iBAAiB,CAAC;QAChC,MAAM,KAAK,cAAc,CAAC;QAC1B,MAAM,IAAI,aAAa,CAAC;QACxB,MAAM,IAAI,aAAa,CAAC;QACxB,MAAM,SAAS,cAAc,CAAC;KACxC;CACJ;AAED,qBAAa,IAAK,SAAQ,aAAc,YAAW,eAAe;IAC9D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,WAAgF;IAEhH,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC7D,IAAI;;;MAGF;CACL"}
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAIH,WAAW,EACX,aAAa,EAKb,eAAe,EAGf,QAAQ,EAGR,eAAe,EACf,aAAa,EACb,KAAK,EAEL,aAAa,EACb,aAAa,EACb,iBAAiB,EAEpB,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,QAAS,SAAQ,eAAgB,YAAW,QAAQ,EAAE,iBAAiB;IAChF,MAAM,CAAC,QAAQ,CAAC,gBAAgB,WAY9B;IACF,IAAI,SAAM;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,IAAI,aAAa,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,GAAG,SAAS,CAS/D;CACJ;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,IAAI,QAAQ,CAEtE;AAED,qBAAa,YAAa,SAAQ,KAAK;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,YAAa,SAAQ,WAAW;IACzC,QAAQ,EAAE,MAAM,CAA+B;IAC/C,IAAI;;;MAGF;IACF,WAAW,SAAK;CACnB;AAED,yBAAiB,YAAY,CAAC;IAC1B,UAAiB,IAAI,CAAC;QACX,MAAM,OAAO,eAAe,CAAC;QAC7B,MAAM,KAAK,cAAc,CAAC;QAC1B,MAAM,QAAQ,iBAAiB,CAAC;QAChC,MAAM,KAAK,cAAc,CAAC;QAC1B,MAAM,IAAI,aAAa,CAAC;QACxB,MAAM,IAAI,aAAa,CAAC;QACxB,MAAM,SAAS,cAAc,CAAC;KACxC;CACJ;AAED,qBAAa,IAAK,SAAQ,aAAc,YAAW,eAAe;IAC9D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,WAAgF;IAEhH,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC7D,IAAI;;;MAGF;CACL;AAED,qBAAa,YAAa,SAAQ,eAAgB,YAAW,QAAQ,EAAE,iBAAiB;IACpF,MAAM,CAAC,QAAQ,CAAC,gBAAgB,WAW9B;IAEF,IAAI,SAAM;IAEV,IAAI,aAAa,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,GAAG,SAAS,CAM/D;CACJ"}
|
package/lib/model.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Icon = exports.ActivityNode = exports.WeightedEdge = exports.isTaskNode = exports.TaskNode = void 0;
|
|
3
|
+
exports.CategoryNode = exports.Icon = exports.ActivityNode = exports.WeightedEdge = exports.isTaskNode = exports.TaskNode = void 0;
|
|
4
4
|
/********************************************************************************
|
|
5
5
|
* Copyright (c) 2020-2021 EclipseSource and others.
|
|
6
6
|
*
|
|
@@ -89,4 +89,30 @@ class Icon extends client_1.SShapeElement {
|
|
|
89
89
|
}
|
|
90
90
|
exports.Icon = Icon;
|
|
91
91
|
Icon.DEFAULT_FEATURES = [client_1.boundsFeature, client_1.layoutContainerFeature, client_1.layoutableChildFeature, client_1.fadeFeature];
|
|
92
|
+
class CategoryNode extends client_1.RectangularNode {
|
|
93
|
+
constructor() {
|
|
94
|
+
super(...arguments);
|
|
95
|
+
this.name = '';
|
|
96
|
+
}
|
|
97
|
+
get editableLabel() {
|
|
98
|
+
const label = this.children.find(element => element.type === 'label:heading');
|
|
99
|
+
if (label && client_1.isEditableLabel(label)) {
|
|
100
|
+
return label;
|
|
101
|
+
}
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.CategoryNode = CategoryNode;
|
|
106
|
+
CategoryNode.DEFAULT_FEATURES = [
|
|
107
|
+
client_1.deletableFeature,
|
|
108
|
+
client_1.selectFeature,
|
|
109
|
+
client_1.boundsFeature,
|
|
110
|
+
client_1.moveFeature,
|
|
111
|
+
client_1.layoutContainerFeature,
|
|
112
|
+
client_1.fadeFeature,
|
|
113
|
+
client_1.hoverFeedbackFeature,
|
|
114
|
+
client_1.popupFeature,
|
|
115
|
+
client_1.nameFeature,
|
|
116
|
+
client_1.withEditLabelFeature
|
|
117
|
+
];
|
|
92
118
|
//# sourceMappingURL=model.js.map
|
package/lib/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iDAwB8B;AAE9B,MAAa,QAAS,SAAQ,wBAAe;IAA7C;;QAcI,SAAI,GAAG,EAAE,CAAC;IAed,CAAC;IAVG,IAAI,aAAa;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QACjF,IAAI,UAAU,EAAE;YACZ,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;YACpF,IAAI,KAAK,IAAI,wBAAe,CAAC,KAAK,CAAC,EAAE;gBACjC,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;;AA5BL,4BA6BC;AA5BmB,yBAAgB,GAAG;IAC/B,2BAAkB;IAClB,yBAAgB;IAChB,sBAAa;IACb,sBAAa;IACb,oBAAW;IACX,+BAAsB;IACtB,oBAAW;IACX,6BAAoB;IACpB,qBAAY;IACZ,oBAAW;IACX,6BAAoB;CACvB,CAAC;AAkBN,SAAgB,UAAU,CAAC,OAAsB;IAC7C,OAAO,OAAO,YAAY,QAAQ,IAAI,KAAK,CAAC;AAChD,CAAC;AAFD,gCAEC;AAED,MAAa,YAAa,SAAQ,cAAK;CAEtC;AAFD,oCAEC;AAED,MAAa,YAAa,SAAQ,oBAAW;IAA7C;;QACI,aAAQ,GAAW,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;QAC/C,SAAI,GAAG;YACH,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;SACb,CAAC;QACF,gBAAW,GAAG,CAAC,CAAC;IACpB,CAAC;CAAA;AAPD,oCAOC;AAED,WAAiB,YAAY;IACzB,IAAiB,IAAI,CAQpB;IARD,WAAiB,IAAI;QACJ,YAAO,GAAG,YAAY,CAAC;QACvB,UAAK,GAAG,WAAW,CAAC;QACpB,aAAQ,GAAG,cAAc,CAAC;QAC1B,UAAK,GAAG,WAAW,CAAC;QACpB,SAAI,GAAG,UAAU,CAAC;QAClB,SAAI,GAAG,UAAU,CAAC;QAClB,cAAS,GAAG,WAAW,CAAC;IACzC,CAAC,EARgB,IAAI,GAAJ,iBAAI,KAAJ,iBAAI,QAQpB;AACL,CAAC,EAVgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAU5B;AAED,MAAa,IAAK,SAAQ,sBAAa;IAAvC;;QAKI,SAAI,GAAG;YACH,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;SACb,CAAC;IACN,CAAC;;AATD,oBASC;AARmB,qBAAgB,GAAG,CAAC,sBAAa,EAAE,+BAAsB,EAAE,+BAAsB,EAAE,oBAAW,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iDAwB8B;AAE9B,MAAa,QAAS,SAAQ,wBAAe;IAA7C;;QAcI,SAAI,GAAG,EAAE,CAAC;IAed,CAAC;IAVG,IAAI,aAAa;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QACjF,IAAI,UAAU,EAAE;YACZ,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;YACpF,IAAI,KAAK,IAAI,wBAAe,CAAC,KAAK,CAAC,EAAE;gBACjC,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;;AA5BL,4BA6BC;AA5BmB,yBAAgB,GAAG;IAC/B,2BAAkB;IAClB,yBAAgB;IAChB,sBAAa;IACb,sBAAa;IACb,oBAAW;IACX,+BAAsB;IACtB,oBAAW;IACX,6BAAoB;IACpB,qBAAY;IACZ,oBAAW;IACX,6BAAoB;CACvB,CAAC;AAkBN,SAAgB,UAAU,CAAC,OAAsB;IAC7C,OAAO,OAAO,YAAY,QAAQ,IAAI,KAAK,CAAC;AAChD,CAAC;AAFD,gCAEC;AAED,MAAa,YAAa,SAAQ,cAAK;CAEtC;AAFD,oCAEC;AAED,MAAa,YAAa,SAAQ,oBAAW;IAA7C;;QACI,aAAQ,GAAW,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;QAC/C,SAAI,GAAG;YACH,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;SACb,CAAC;QACF,gBAAW,GAAG,CAAC,CAAC;IACpB,CAAC;CAAA;AAPD,oCAOC;AAED,WAAiB,YAAY;IACzB,IAAiB,IAAI,CAQpB;IARD,WAAiB,IAAI;QACJ,YAAO,GAAG,YAAY,CAAC;QACvB,UAAK,GAAG,WAAW,CAAC;QACpB,aAAQ,GAAG,cAAc,CAAC;QAC1B,UAAK,GAAG,WAAW,CAAC;QACpB,SAAI,GAAG,UAAU,CAAC;QAClB,SAAI,GAAG,UAAU,CAAC;QAClB,cAAS,GAAG,WAAW,CAAC;IACzC,CAAC,EARgB,IAAI,GAAJ,iBAAI,KAAJ,iBAAI,QAQpB;AACL,CAAC,EAVgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAU5B;AAED,MAAa,IAAK,SAAQ,sBAAa;IAAvC;;QAKI,SAAI,GAAG;YACH,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;SACb,CAAC;IACN,CAAC;;AATD,oBASC;AARmB,qBAAgB,GAAG,CAAC,sBAAa,EAAE,+BAAsB,EAAE,+BAAsB,EAAE,oBAAW,CAAC,CAAC;AAUpH,MAAa,YAAa,SAAQ,wBAAe;IAAjD;;QAcI,SAAI,GAAG,EAAE,CAAC;IASd,CAAC;IAPG,IAAI,aAAa;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QAC9E,IAAI,KAAK,IAAI,wBAAe,CAAC,KAAK,CAAC,EAAE;YACjC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;;AAtBL,oCAuBC;AAtBmB,6BAAgB,GAAG;IAC/B,yBAAgB;IAChB,sBAAa;IACb,sBAAa;IACb,oBAAW;IACX,+BAAsB;IACtB,oBAAW;IACX,6BAAoB;IACpB,qBAAY;IACZ,oBAAW;IACX,6BAAoB;CACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-views.d.ts","sourceRoot":"","sources":["../src/workflow-views.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAEH,KAAK,EACL,KAAK,EACL,uCAAuC,EACvC,gBAAgB,EAChB,KAAK,EAER,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-views.d.ts","sourceRoot":"","sources":["../src/workflow-views.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAEH,KAAK,EACL,KAAK,EACL,uCAAuC,EACvC,gBAAgB,EAChB,KAAK,EAER,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAK/B,qBACa,gBAAiB,SAAQ,uCAAuC;IACzE,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,KAAK,EAAE;CAiBlG;AAED,qBACa,QAAS,YAAW,KAAK;IAClC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,GAAG,KAAK;IAUvD,SAAS,IAAI,MAAM;CAGtB"}
|
package/lib/workflow-views.js
CHANGED
|
@@ -45,11 +45,11 @@ let IconView = class IconView {
|
|
|
45
45
|
render(element, context) {
|
|
46
46
|
const radius = this.getRadius();
|
|
47
47
|
return (JSX.createElement("g", null,
|
|
48
|
-
JSX.createElement("circle", { "class-sprotty-icon": true, r: radius, cx: radius, cy: radius }),
|
|
48
|
+
JSX.createElement("circle", { "class-sprotty-icon": true, r: radius, cx: radius + 2, cy: radius + 2 }),
|
|
49
49
|
context.renderChildren(element)));
|
|
50
50
|
}
|
|
51
51
|
getRadius() {
|
|
52
|
-
return
|
|
52
|
+
return 14;
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
55
|
IconView = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-views.js","sourceRoot":"","sources":["../src/workflow-views.tsx"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iDAQ8B;AAC9B,yCAAuC;AAEvC,qCAA8B;
|
|
1
|
+
{"version":3,"file":"workflow-views.js","sourceRoot":"","sources":["../src/workflow-views.tsx"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iDAQ8B;AAC9B,yCAAuC;AAEvC,qCAA8B;AAG9B,6DAA6D;AAC7D,MAAM,GAAG,GAAG,EAAE,aAAa,EAAE,aAAG,EAAE,CAAC;AAGnC,IAAa,gBAAgB,GAA7B,MAAa,gBAAiB,SAAQ,gDAAuC;IAC/D,iBAAiB,CAAC,IAAW,EAAE,QAAiB,EAAE,OAAyB;QACjF,MAAM,WAAW,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,CACV,kDACwB,IAAI,iBACX,IAAI,EACjB,CAAC,EAAC,0BAA0B,EAC5B,SAAS,EAAE,UAAU,kBAAS,CAAC,qBAAY,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,IAC/G,EAAE,CAAC,CACP,GAAG,GACL,CACL,CAAC;QACF,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ,CAAA;AAlBY,gBAAgB;IAD5B,sBAAU,EAAE;GACA,gBAAgB,CAkB5B;AAlBY,4CAAgB;AAqB7B,IAAa,QAAQ,GAArB,MAAa,QAAQ;IACjB,MAAM,CAAC,OAAa,EAAE,OAAyB;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,CACH;YACI,oDAA4B,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,GAAW;YACrF,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAChC,CACP,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC;IACd,CAAC;CACJ,CAAA;AAdY,QAAQ;IADpB,sBAAU,EAAE;GACA,QAAQ,CAcpB;AAdY,4BAAQ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-glsp-examples/workflow-glsp",
|
|
3
|
-
"version": "0.9.0-next.
|
|
3
|
+
"version": "0.9.0-next.d3c64530",
|
|
4
4
|
"description": "GLSP diagrams for the Workflow DSL",
|
|
5
5
|
"license": "(EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0)",
|
|
6
6
|
"keywords": [
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
}
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@eclipse-glsp/client": "0.9.0-next.
|
|
29
|
+
"@eclipse-glsp/client": "0.9.0-next.d3c64530",
|
|
30
30
|
"balloon-css": "^0.5.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
package/src/di.config.ts
CHANGED
|
@@ -18,14 +18,11 @@ import {
|
|
|
18
18
|
configureModelElement,
|
|
19
19
|
ConsoleLogger,
|
|
20
20
|
createClientContainer,
|
|
21
|
-
DefaultTypes,
|
|
22
21
|
DeleteElementContextMenuItemProvider,
|
|
23
22
|
DiamondNodeView,
|
|
24
23
|
editLabelFeature,
|
|
25
|
-
GLSP_TYPES,
|
|
26
24
|
GridSnapper,
|
|
27
25
|
LogLevel,
|
|
28
|
-
NoOverlapMovmentRestrictor,
|
|
29
26
|
overrideViewerOptions,
|
|
30
27
|
RectangularNodeView,
|
|
31
28
|
RevealNamedElementActionProvider,
|
|
@@ -35,20 +32,21 @@ import {
|
|
|
35
32
|
SEdge,
|
|
36
33
|
SLabel,
|
|
37
34
|
SLabelView,
|
|
35
|
+
StructureCompartmentView,
|
|
38
36
|
TYPES
|
|
39
37
|
} from '@eclipse-glsp/client';
|
|
38
|
+
import { DefaultTypes } from '@eclipse-glsp/protocol';
|
|
40
39
|
import 'balloon-css/balloon.min.css';
|
|
41
40
|
import { Container, ContainerModule } from 'inversify';
|
|
42
41
|
import 'sprotty/css/edit-label.css';
|
|
43
42
|
import '../css/diagram.css';
|
|
44
43
|
import { directTaskEditor } from './direct-task-editing/di.config';
|
|
45
|
-
import { ActivityNode, Icon, TaskNode, WeightedEdge } from './model';
|
|
44
|
+
import { ActivityNode, CategoryNode, Icon, TaskNode, WeightedEdge } from './model';
|
|
46
45
|
import { IconView, WorkflowEdgeView } from './workflow-views';
|
|
47
46
|
|
|
48
47
|
const workflowDiagramModule = new ContainerModule((bind, unbind, isBound, rebind) => {
|
|
49
48
|
rebind(TYPES.ILogger).to(ConsoleLogger).inSingletonScope();
|
|
50
49
|
rebind(TYPES.LogLevel).toConstantValue(LogLevel.warn);
|
|
51
|
-
bind(GLSP_TYPES.IMovementRestrictor).to(NoOverlapMovmentRestrictor).inSingletonScope();
|
|
52
50
|
bind(TYPES.ISnapper).to(GridSnapper);
|
|
53
51
|
bind(TYPES.ICommandPaletteActionProvider).to(RevealNamedElementActionProvider);
|
|
54
52
|
bind(TYPES.IContextMenuItemProvider).to(DeleteElementContextMenuItemProvider);
|
|
@@ -68,6 +66,9 @@ const workflowDiagramModule = new ContainerModule((bind, unbind, isBound, rebind
|
|
|
68
66
|
configureModelElement(context, 'activityNode:decision', ActivityNode, DiamondNodeView);
|
|
69
67
|
configureModelElement(context, 'activityNode:fork', ActivityNode, RectangularNodeView);
|
|
70
68
|
configureModelElement(context, 'activityNode:join', ActivityNode, RectangularNodeView);
|
|
69
|
+
|
|
70
|
+
configureModelElement(context, 'category', CategoryNode, RoundedCornerNodeView);
|
|
71
|
+
configureModelElement(context, 'struct', SCompartment, StructureCompartmentView);
|
|
71
72
|
});
|
|
72
73
|
|
|
73
74
|
export default function createContainer(widgetId: string): Container {
|
package/src/model.ts
CHANGED
|
@@ -109,3 +109,28 @@ export class Icon extends SShapeElement implements LayoutContainer {
|
|
|
109
109
|
height: 32
|
|
110
110
|
};
|
|
111
111
|
}
|
|
112
|
+
|
|
113
|
+
export class CategoryNode extends RectangularNode implements Nameable, WithEditableLabel {
|
|
114
|
+
static readonly DEFAULT_FEATURES = [
|
|
115
|
+
deletableFeature,
|
|
116
|
+
selectFeature,
|
|
117
|
+
boundsFeature,
|
|
118
|
+
moveFeature,
|
|
119
|
+
layoutContainerFeature,
|
|
120
|
+
fadeFeature,
|
|
121
|
+
hoverFeedbackFeature,
|
|
122
|
+
popupFeature,
|
|
123
|
+
nameFeature,
|
|
124
|
+
withEditLabelFeature
|
|
125
|
+
];
|
|
126
|
+
|
|
127
|
+
name = '';
|
|
128
|
+
|
|
129
|
+
get editableLabel(): (SChildElement & EditableLabel) | undefined {
|
|
130
|
+
const label = this.children.find(element => element.type === 'label:heading');
|
|
131
|
+
if (label && isEditableLabel(label)) {
|
|
132
|
+
return label;
|
|
133
|
+
}
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
}
|
package/src/workflow-views.tsx
CHANGED
|
@@ -25,7 +25,6 @@ import {
|
|
|
25
25
|
import { injectable } from 'inversify';
|
|
26
26
|
import { VNode } from 'snabbdom';
|
|
27
27
|
import { svg } from 'sprotty';
|
|
28
|
-
|
|
29
28
|
import { Icon } from './model';
|
|
30
29
|
|
|
31
30
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -58,13 +57,13 @@ export class IconView implements IView {
|
|
|
58
57
|
const radius = this.getRadius();
|
|
59
58
|
return (
|
|
60
59
|
<g>
|
|
61
|
-
<circle class-sprotty-icon={true} r={radius} cx={radius} cy={radius}></circle>
|
|
60
|
+
<circle class-sprotty-icon={true} r={radius} cx={radius + 2} cy={radius + 2}></circle>
|
|
62
61
|
{context.renderChildren(element)}
|
|
63
62
|
</g>
|
|
64
63
|
);
|
|
65
64
|
}
|
|
66
65
|
|
|
67
66
|
getRadius(): number {
|
|
68
|
-
return
|
|
67
|
+
return 14;
|
|
69
68
|
}
|
|
70
69
|
}
|