@eclipse-glsp-examples/workflow-glsp 0.9.0-next.f6bfed94 → 0.10.0-next.ca17587.154
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/README.md +5 -2
- package/css/diagram.css +28 -14
- package/lib/di.config.d.ts +2 -17
- package/lib/di.config.d.ts.map +1 -1
- package/lib/di.config.js +8 -7
- 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 +4 -3
- package/src/di.config.ts +12 -83
- package/src/model.ts +25 -0
- package/src/workflow-views.tsx +2 -3
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# workflow-glsp
|
|
2
2
|
|
|
3
|
-
This package contains the configuration for the GLSP diagrams of the Workflow example language.
|
|
3
|
+
This package contains the configuration for the GLSP diagrams of the Workflow example language.
|
|
4
|
+
It contains the base code that is independent from the actual application framework and integration variant.
|
|
5
|
+
Separating this base configuration and the actual integration code means that it can be reused for various different integration variants of the GLSP Workflow example language e.g in a Theia application, Standalone application, VS Code plugin or integrated into the Eclipse IDE.
|
|
4
6
|
|
|
5
7
|
## Building
|
|
6
8
|
|
|
@@ -8,6 +10,7 @@ This package is built with `yarn` and is available from npm via [@eclipse-glsp-e
|
|
|
8
10
|
|
|
9
11
|
## More information
|
|
10
12
|
|
|
11
|
-
For more information, please visit the [Eclipse GLSP Umbrella repository](https://github.com/eclipse-glsp/glsp) and the [Eclipse GLSP Website](https://www.eclipse.org/glsp/).
|
|
13
|
+
For more information, please visit the [Eclipse GLSP Umbrella repository](https://github.com/eclipse-glsp/glsp) and the [Eclipse GLSP Website](https://www.eclipse.org/glsp/).
|
|
14
|
+
If you have questions, contact us on our [spectrum chat](https://spectrum.chat/glsp/) and have a look at our [communication and support options](https://www.eclipse.org/glsp/contact/).
|
|
12
15
|
|
|
13
16
|

|
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
CHANGED
|
@@ -1,21 +1,6 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-2021 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
import '../css/diagram.css';
|
|
17
1
|
import 'balloon-css/balloon.min.css';
|
|
18
|
-
import 'sprotty/css/edit-label.css';
|
|
19
2
|
import { Container } from 'inversify';
|
|
3
|
+
import 'sprotty/css/edit-label.css';
|
|
4
|
+
import '../css/diagram.css';
|
|
20
5
|
export default function createContainer(widgetId: string): Container;
|
|
21
6
|
//# sourceMappingURL=di.config.d.ts.map
|
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
|
@@ -15,18 +15,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
*
|
|
16
16
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
17
17
|
********************************************************************************/
|
|
18
|
-
require("../css/diagram.css");
|
|
19
|
-
require("balloon-css/balloon.min.css");
|
|
20
|
-
require("sprotty/css/edit-label.css");
|
|
21
18
|
const client_1 = require("@eclipse-glsp/client");
|
|
19
|
+
const protocol_1 = require("@eclipse-glsp/protocol");
|
|
20
|
+
require("balloon-css/balloon.min.css");
|
|
22
21
|
const inversify_1 = require("inversify");
|
|
22
|
+
require("sprotty/css/edit-label.css");
|
|
23
|
+
require("../css/diagram.css");
|
|
23
24
|
const di_config_1 = require("./direct-task-editing/di.config");
|
|
24
25
|
const model_1 = require("./model");
|
|
25
26
|
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,17 +38,18 @@ 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
|
-
const container =
|
|
51
|
-
container.load(client_1.defaultModule, client_1.defaultGLSPModule, client_1.glspMouseToolModule, client_1.validationModule, client_1.glspSelectModule, client_1.boundsModule, client_1.glspViewportModule, client_1.toolsModule, client_1.glspHoverModule, client_1.fadeModule, client_1.exportModule, client_1.expandModule, client_1.openModule, client_1.buttonModule, client_1.modelSourceModule, client_1.labelEditUiModule, client_1.glspEditLabelModule, workflowDiagramModule, client_1.toolFeedbackModule, client_1.modelHintsModule, client_1.glspContextMenuModule, client_1.glspServerCopyPasteModule, client_1.modelSourceWatcherModule, client_1.glspCommandPaletteModule, client_1.paletteModule, client_1.routingModule, client_1.glspDecorationModule, client_1.edgeLayoutModule, client_1.zorderModule, client_1.edgeIntersectionModule, client_1.layoutCommandsModule, di_config_1.directTaskEditor, client_1.navigationModule, client_1.markerNavigatorModule);
|
|
52
|
+
const container = client_1.createClientContainer(workflowDiagramModule, di_config_1.directTaskEditor);
|
|
52
53
|
client_1.overrideViewerOptions(container, {
|
|
53
54
|
baseDiv: widgetId,
|
|
54
55
|
hiddenDiv: widgetId + '_hidden'
|
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.
|
|
3
|
+
"version": "0.10.0-next.ca17587.154+ca17587",
|
|
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.
|
|
29
|
+
"@eclipse-glsp/client": "0.10.0-next.ca17587.154+ca17587",
|
|
30
30
|
"balloon-css": "^0.5.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
@@ -52,5 +52,6 @@
|
|
|
52
52
|
"types": "lib/index",
|
|
53
53
|
"publishConfig": {
|
|
54
54
|
"access": "public"
|
|
55
|
-
}
|
|
55
|
+
},
|
|
56
|
+
"gitHead": "ca1758788eff5c6f3dafc8f4ca96b0d3bf8adc10"
|
|
56
57
|
}
|
package/src/di.config.ts
CHANGED
|
@@ -13,75 +13,40 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import '../css/diagram.css';
|
|
17
|
-
import 'balloon-css/balloon.min.css';
|
|
18
|
-
import 'sprotty/css/edit-label.css';
|
|
19
|
-
|
|
20
16
|
import {
|
|
21
|
-
boundsModule,
|
|
22
|
-
buttonModule,
|
|
23
17
|
configureDefaultModelElements,
|
|
24
18
|
configureModelElement,
|
|
25
19
|
ConsoleLogger,
|
|
26
|
-
|
|
27
|
-
defaultModule,
|
|
28
|
-
DefaultTypes,
|
|
20
|
+
createClientContainer,
|
|
29
21
|
DeleteElementContextMenuItemProvider,
|
|
30
22
|
DiamondNodeView,
|
|
31
|
-
edgeIntersectionModule,
|
|
32
|
-
edgeLayoutModule,
|
|
33
23
|
editLabelFeature,
|
|
34
|
-
expandModule,
|
|
35
|
-
exportModule,
|
|
36
|
-
fadeModule,
|
|
37
|
-
GLSP_TYPES,
|
|
38
|
-
glspCommandPaletteModule,
|
|
39
|
-
glspContextMenuModule,
|
|
40
|
-
glspDecorationModule,
|
|
41
|
-
glspEditLabelModule,
|
|
42
|
-
glspHoverModule,
|
|
43
|
-
glspMouseToolModule,
|
|
44
|
-
glspSelectModule,
|
|
45
|
-
glspServerCopyPasteModule,
|
|
46
|
-
glspViewportModule,
|
|
47
24
|
GridSnapper,
|
|
48
|
-
labelEditUiModule,
|
|
49
|
-
layoutCommandsModule,
|
|
50
25
|
LogLevel,
|
|
51
|
-
markerNavigatorModule,
|
|
52
|
-
modelHintsModule,
|
|
53
|
-
modelSourceModule,
|
|
54
|
-
modelSourceWatcherModule,
|
|
55
|
-
navigationModule,
|
|
56
|
-
NoOverlapMovmentRestrictor,
|
|
57
|
-
openModule,
|
|
58
26
|
overrideViewerOptions,
|
|
59
|
-
paletteModule,
|
|
60
27
|
RectangularNodeView,
|
|
61
28
|
RevealNamedElementActionProvider,
|
|
62
29
|
RoundedCornerNodeView,
|
|
63
|
-
routingModule,
|
|
64
30
|
SCompartment,
|
|
65
31
|
SCompartmentView,
|
|
66
32
|
SEdge,
|
|
67
33
|
SLabel,
|
|
68
34
|
SLabelView,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
TYPES,
|
|
72
|
-
validationModule,
|
|
73
|
-
zorderModule
|
|
35
|
+
StructureCompartmentView,
|
|
36
|
+
TYPES
|
|
74
37
|
} from '@eclipse-glsp/client';
|
|
38
|
+
import { DefaultTypes } from '@eclipse-glsp/protocol';
|
|
39
|
+
import 'balloon-css/balloon.min.css';
|
|
75
40
|
import { Container, ContainerModule } from 'inversify';
|
|
76
|
-
|
|
41
|
+
import 'sprotty/css/edit-label.css';
|
|
42
|
+
import '../css/diagram.css';
|
|
77
43
|
import { directTaskEditor } from './direct-task-editing/di.config';
|
|
78
|
-
import { ActivityNode, Icon, TaskNode, WeightedEdge } from './model';
|
|
44
|
+
import { ActivityNode, CategoryNode, Icon, TaskNode, WeightedEdge } from './model';
|
|
79
45
|
import { IconView, WorkflowEdgeView } from './workflow-views';
|
|
80
46
|
|
|
81
47
|
const workflowDiagramModule = new ContainerModule((bind, unbind, isBound, rebind) => {
|
|
82
48
|
rebind(TYPES.ILogger).to(ConsoleLogger).inSingletonScope();
|
|
83
49
|
rebind(TYPES.LogLevel).toConstantValue(LogLevel.warn);
|
|
84
|
-
bind(GLSP_TYPES.IMovementRestrictor).to(NoOverlapMovmentRestrictor).inSingletonScope();
|
|
85
50
|
bind(TYPES.ISnapper).to(GridSnapper);
|
|
86
51
|
bind(TYPES.ICommandPaletteActionProvider).to(RevealNamedElementActionProvider);
|
|
87
52
|
bind(TYPES.IContextMenuItemProvider).to(DeleteElementContextMenuItemProvider);
|
|
@@ -101,52 +66,16 @@ const workflowDiagramModule = new ContainerModule((bind, unbind, isBound, rebind
|
|
|
101
66
|
configureModelElement(context, 'activityNode:decision', ActivityNode, DiamondNodeView);
|
|
102
67
|
configureModelElement(context, 'activityNode:fork', ActivityNode, RectangularNodeView);
|
|
103
68
|
configureModelElement(context, 'activityNode:join', ActivityNode, RectangularNodeView);
|
|
69
|
+
|
|
70
|
+
configureModelElement(context, 'category', CategoryNode, RoundedCornerNodeView);
|
|
71
|
+
configureModelElement(context, 'struct', SCompartment, StructureCompartmentView);
|
|
104
72
|
});
|
|
105
73
|
|
|
106
74
|
export default function createContainer(widgetId: string): Container {
|
|
107
|
-
const container =
|
|
108
|
-
|
|
109
|
-
container.load(
|
|
110
|
-
defaultModule,
|
|
111
|
-
defaultGLSPModule,
|
|
112
|
-
glspMouseToolModule,
|
|
113
|
-
validationModule,
|
|
114
|
-
glspSelectModule,
|
|
115
|
-
boundsModule,
|
|
116
|
-
glspViewportModule,
|
|
117
|
-
toolsModule,
|
|
118
|
-
glspHoverModule,
|
|
119
|
-
fadeModule,
|
|
120
|
-
exportModule,
|
|
121
|
-
expandModule,
|
|
122
|
-
openModule,
|
|
123
|
-
buttonModule,
|
|
124
|
-
modelSourceModule,
|
|
125
|
-
labelEditUiModule,
|
|
126
|
-
glspEditLabelModule,
|
|
127
|
-
workflowDiagramModule,
|
|
128
|
-
toolFeedbackModule,
|
|
129
|
-
modelHintsModule,
|
|
130
|
-
glspContextMenuModule,
|
|
131
|
-
glspServerCopyPasteModule,
|
|
132
|
-
modelSourceWatcherModule,
|
|
133
|
-
glspCommandPaletteModule,
|
|
134
|
-
paletteModule,
|
|
135
|
-
routingModule,
|
|
136
|
-
glspDecorationModule,
|
|
137
|
-
edgeLayoutModule,
|
|
138
|
-
zorderModule,
|
|
139
|
-
edgeIntersectionModule,
|
|
140
|
-
layoutCommandsModule,
|
|
141
|
-
directTaskEditor,
|
|
142
|
-
navigationModule,
|
|
143
|
-
markerNavigatorModule
|
|
144
|
-
);
|
|
145
|
-
|
|
75
|
+
const container = createClientContainer(workflowDiagramModule, directTaskEditor);
|
|
146
76
|
overrideViewerOptions(container, {
|
|
147
77
|
baseDiv: widgetId,
|
|
148
78
|
hiddenDiv: widgetId + '_hidden'
|
|
149
79
|
});
|
|
150
|
-
|
|
151
80
|
return container;
|
|
152
81
|
}
|
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
|
}
|