@eclipse-glsp-examples/workflow-server 0.9.0-next.95961ba.7 → 0.9.0-next.a3fa8d1.14
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/app.js +4 -4
- package/lib/app.js.map +1 -1
- package/lib/graph-extension.d.ts +1 -2
- package/lib/graph-extension.d.ts.map +1 -1
- package/lib/graph-extension.js +5 -23
- package/lib/graph-extension.js.map +1 -1
- package/lib/handler/create-activity-node-handler.d.ts +2 -2
- package/lib/handler/create-activity-node-handler.d.ts.map +1 -1
- package/lib/handler/create-activity-node-handler.js +3 -3
- package/lib/handler/create-activity-node-handler.js.map +1 -1
- package/lib/handler/create-automated-task-handler.d.ts +17 -2
- package/lib/handler/create-automated-task-handler.d.ts.map +1 -1
- package/lib/handler/create-automated-task-handler.js +2 -17
- package/lib/handler/create-automated-task-handler.js.map +1 -1
- package/lib/handler/create-category-handler.d.ts +1 -1
- package/lib/handler/create-category-handler.d.ts.map +1 -1
- package/lib/handler/create-category-handler.js +2 -1
- package/lib/handler/create-category-handler.js.map +1 -1
- package/lib/handler/create-decision-node-handler.d.ts +16 -1
- package/lib/handler/create-decision-node-handler.d.ts.map +1 -1
- package/lib/handler/create-decision-node-handler.js +2 -17
- package/lib/handler/create-decision-node-handler.js.map +1 -1
- package/lib/handler/create-fork-node-handler.js +1 -1
- package/lib/handler/create-fork-node-handler.js.map +1 -1
- package/lib/handler/create-fork-or-join-node-handler.d.ts +2 -2
- package/lib/handler/create-fork-or-join-node-handler.d.ts.map +1 -1
- package/lib/handler/create-fork-or-join-node-handler.js +2 -2
- package/lib/handler/create-fork-or-join-node-handler.js.map +1 -1
- package/lib/handler/create-join-node-handler.js +1 -1
- package/lib/handler/create-join-node-handler.js.map +1 -1
- package/lib/handler/create-manual-task-handler.d.ts +17 -2
- package/lib/handler/create-manual-task-handler.d.ts.map +1 -1
- package/lib/handler/create-manual-task-handler.js +2 -17
- package/lib/handler/create-manual-task-handler.js.map +1 -1
- package/lib/handler/create-merge-node-handler.d.ts +16 -1
- package/lib/handler/create-merge-node-handler.d.ts.map +1 -1
- package/lib/handler/create-merge-node-handler.js +2 -17
- package/lib/handler/create-merge-node-handler.js.map +1 -1
- package/lib/handler/create-task-handler.d.ts +1 -1
- package/lib/handler/create-task-handler.d.ts.map +1 -1
- package/lib/handler/create-task-handler.js +4 -4
- package/lib/handler/create-task-handler.js.map +1 -1
- package/lib/handler/create-workflow-node-operation-handler.d.ts.map +1 -1
- package/lib/handler/create-workflow-node-operation-handler.js +2 -2
- package/lib/handler/create-workflow-node-operation-handler.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/labeledit/workflow-label-edit-validator.js +2 -2
- package/lib/labeledit/workflow-label-edit-validator.js.map +1 -1
- package/lib/layout/workflow-layout-configurator.d.ts.map +1 -1
- package/lib/layout/workflow-layout-configurator.js +1 -1
- package/lib/layout/workflow-layout-configurator.js.map +1 -1
- package/lib/marker/workflow-model-validator.js +2 -2
- package/lib/marker/workflow-model-validator.js.map +1 -1
- package/lib/model/workflow-navigation-target-resolver.js +2 -2
- package/lib/model/workflow-navigation-target-resolver.js.map +1 -1
- package/lib/provider/abstract-next-or-previous-navigation-target-provider.js +2 -2
- package/lib/provider/abstract-next-or-previous-navigation-target-provider.js.map +1 -1
- package/lib/provider/next-node-navigation-target-provider.js +1 -1
- package/lib/provider/next-node-navigation-target-provider.js.map +1 -1
- package/lib/provider/node-documentation-navigation-target-provider.js +2 -2
- package/lib/provider/node-documentation-navigation-target-provider.js.map +1 -1
- package/lib/provider/previous-node-navigation-target-provider.js +1 -1
- package/lib/provider/previous-node-navigation-target-provider.js.map +1 -1
- package/lib/provider/workflow-command-palette-action-provider.d.ts +5 -5
- package/lib/provider/workflow-command-palette-action-provider.d.ts.map +1 -1
- package/lib/provider/workflow-command-palette-action-provider.js +44 -11
- package/lib/provider/workflow-command-palette-action-provider.js.map +1 -1
- package/lib/provider/workflow-context-menu-item-provider.d.ts.map +1 -1
- package/lib/provider/workflow-context-menu-item-provider.js +21 -8
- package/lib/provider/workflow-context-menu-item-provider.js.map +1 -1
- package/lib/workflow-diagram-configuration.js +2 -2
- package/lib/workflow-diagram-configuration.js.map +1 -1
- package/lib/workflow-diagram-module.d.ts.map +1 -1
- package/lib/workflow-diagram-module.js +2 -2
- package/lib/workflow-diagram-module.js.map +1 -1
- package/lib/workflow-glsp-server.d.ts.map +1 -1
- package/lib/workflow-glsp-server.js +2 -2
- package/lib/workflow-glsp-server.js.map +1 -1
- package/lib/workflow-popup-factory.js +1 -1
- package/lib/workflow-popup-factory.js.map +1 -1
- package/package.json +5 -8
- package/src/graph-extension.ts +9 -28
- package/src/handler/create-activity-node-handler.ts +3 -3
- package/src/handler/create-automated-task-handler.ts +4 -4
- package/src/handler/create-category-handler.ts +3 -2
- package/src/handler/create-decision-node-handler.ts +4 -4
- package/src/handler/create-fork-or-join-node-handler.ts +3 -3
- package/src/handler/create-manual-task-handler.ts +4 -4
- package/src/handler/create-merge-node-handler.ts +4 -4
- package/src/handler/create-task-handler.ts +4 -4
- package/src/handler/create-workflow-node-operation-handler.ts +4 -4
- package/src/layout/workflow-layout-configurator.ts +1 -1
- package/src/provider/workflow-command-palette-action-provider.ts +52 -34
- package/src/provider/workflow-context-menu-item-provider.ts +19 -6
- package/src/workflow-diagram-module.ts +9 -4
- package/src/workflow-glsp-server.ts +2 -2
|
@@ -48,7 +48,7 @@ let WorkflowPopupFactory = class WorkflowPopupFactory {
|
|
|
48
48
|
}
|
|
49
49
|
};
|
|
50
50
|
WorkflowPopupFactory = __decorate([
|
|
51
|
-
inversify_1.injectable()
|
|
51
|
+
(0, inversify_1.injectable)()
|
|
52
52
|
], WorkflowPopupFactory);
|
|
53
53
|
exports.WorkflowPopupFactory = WorkflowPopupFactory;
|
|
54
54
|
//# sourceMappingURL=workflow-popup-factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-popup-factory.js","sourceRoot":"","sources":["../src/workflow-popup-factory.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,2DAAuI;AACvI,uDAA6C;AAC7C,yCAAuC;AAEvC,MAAM,EAAE,GAAG,OAAO,CAAC;AAGnB,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAC7B,gBAAgB,CAAC,OAAsB,EAAE,MAA+B;QACpE,IAAI,OAAO,IAAI,OAAO,YAAY,0BAAQ,EAAE;YACxC,MAAM,UAAU,GAAG,iCAAmB,CAAC,OAAO,EAAE;iBAC3C,EAAE,CAAC,aAAa,CAAC;iBACjB,IAAI,CAAC,oCAAoC,OAAO,CAAC,IAAI,QAAQ,CAAC;iBAC9D,KAAK,EAAE,CAAC;YAEb,MAAM,SAAS,GAAG,iCAAmB,CAAC,OAAO,EAAE;iBAC1C,EAAE,CAAC,YAAY,CAAC;iBAChB,IAAI,CAAC,mCAAmC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;iBAC3E,KAAK,EAAE,CAAC;YAEb,OAAO,wBAAU,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;SACnI;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,YAAY,CAAC,IAAc;QAC/B,OAAO,SAAS,IAAI,CAAC,QAAQ,IAAI,EAAE;wBACnB,IAAI,CAAC,QAAQ,IAAI,EAAE;yBAClB,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;IAC7C,CAAC;CACJ,CAAA;AAvBY,oBAAoB;IADhC,sBAAU,
|
|
1
|
+
{"version":3,"file":"workflow-popup-factory.js","sourceRoot":"","sources":["../src/workflow-popup-factory.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,2DAAuI;AACvI,uDAA6C;AAC7C,yCAAuC;AAEvC,MAAM,EAAE,GAAG,OAAO,CAAC;AAGnB,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAC7B,gBAAgB,CAAC,OAAsB,EAAE,MAA+B;QACpE,IAAI,OAAO,IAAI,OAAO,YAAY,0BAAQ,EAAE;YACxC,MAAM,UAAU,GAAG,iCAAmB,CAAC,OAAO,EAAE;iBAC3C,EAAE,CAAC,aAAa,CAAC;iBACjB,IAAI,CAAC,oCAAoC,OAAO,CAAC,IAAI,QAAQ,CAAC;iBAC9D,KAAK,EAAE,CAAC;YAEb,MAAM,SAAS,GAAG,iCAAmB,CAAC,OAAO,EAAE;iBAC1C,EAAE,CAAC,YAAY,CAAC;iBAChB,IAAI,CAAC,mCAAmC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;iBAC3E,KAAK,EAAE,CAAC;YAEb,OAAO,wBAAU,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;SACnI;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,YAAY,CAAC,IAAc;QAC/B,OAAO,SAAS,IAAI,CAAC,QAAQ,IAAI,EAAE;wBACnB,IAAI,CAAC,QAAQ,IAAI,EAAE;yBAClB,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;IAC7C,CAAC;CACJ,CAAA;AAvBY,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CAuBhC;AAvBY,oDAAoB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-glsp-examples/workflow-server",
|
|
3
|
-
"version": "0.9.0-next.
|
|
3
|
+
"version": "0.9.0-next.a3fa8d1.14+a3fa8d1",
|
|
4
4
|
"description": "GLSP node server for the workflow example",
|
|
5
5
|
"license": "(EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0)",
|
|
6
6
|
"keywords": [
|
|
@@ -37,14 +37,11 @@
|
|
|
37
37
|
"src"
|
|
38
38
|
],
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@eclipse-glsp/layout-elk": "0.9.0-next.
|
|
41
|
-
"@eclipse-glsp/server-node": "0.9.0-next.
|
|
42
|
-
},
|
|
43
|
-
"devDependencies": {
|
|
44
|
-
"typescript": "^3.9.2"
|
|
40
|
+
"@eclipse-glsp/layout-elk": "0.9.0-next.a3fa8d1.14+a3fa8d1",
|
|
41
|
+
"@eclipse-glsp/server-node": "0.9.0-next.a3fa8d1.14+a3fa8d1"
|
|
45
42
|
},
|
|
46
43
|
"scripts": {
|
|
47
|
-
"clean": "rimraf lib",
|
|
44
|
+
"clean": "rimraf tsconfig.tsbuildinfo lib",
|
|
48
45
|
"build": "yarn run clean && tsc",
|
|
49
46
|
"test": "",
|
|
50
47
|
"lint": "eslint -c ../../.eslintrc.js --ext .ts,.tsx ./src",
|
|
@@ -57,5 +54,5 @@
|
|
|
57
54
|
},
|
|
58
55
|
"main": "lib/index",
|
|
59
56
|
"types": "lib/index",
|
|
60
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "a3fa8d1f014ad852b047c5d1cfa052127fd7cf51"
|
|
61
58
|
}
|
package/src/graph-extension.ts
CHANGED
|
@@ -30,7 +30,7 @@ import { ModelTypes } from './util/model-types';
|
|
|
30
30
|
export class ActivityNode extends GNode {
|
|
31
31
|
nodeType: string;
|
|
32
32
|
|
|
33
|
-
static builder(): ActivityNodeBuilder {
|
|
33
|
+
static override builder(): ActivityNodeBuilder {
|
|
34
34
|
return new ActivityNodeBuilder(ActivityNode);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -48,7 +48,7 @@ export class TaskNode extends GNode {
|
|
|
48
48
|
taskType: string;
|
|
49
49
|
references: string;
|
|
50
50
|
|
|
51
|
-
static builder(): TaskNodeBuilder {
|
|
51
|
+
static override builder(): TaskNodeBuilder {
|
|
52
52
|
return new TaskNodeBuilder(TaskNode).layout('vbox').addArgs(ArgsUtil.cornerRadius(5));
|
|
53
53
|
}
|
|
54
54
|
}
|
|
@@ -75,20 +75,12 @@ export class TaskNodeBuilder<T extends TaskNode = TaskNode> extends GNodeBuilder
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
children(): this {
|
|
78
|
-
this.proxy.children.push(this.createCompartment());
|
|
79
78
|
return this;
|
|
80
79
|
}
|
|
81
80
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
return
|
|
85
|
-
.type(ModelTypes.COMP_HEADER)
|
|
86
|
-
.id(this.proxy.id + '_header')
|
|
87
|
-
.layout('hbox')
|
|
88
|
-
.addLayoutOptions(layoutOptions)
|
|
89
|
-
.add(this.createCompartmentIcon())
|
|
90
|
-
.add(this.createCompartmentHeader())
|
|
91
|
-
.build();
|
|
81
|
+
override build(): T {
|
|
82
|
+
this.layout('hbox').addLayoutOption('paddingRight', 10).add(this.createCompartmentIcon()).add(this.createCompartmentHeader());
|
|
83
|
+
return super.build();
|
|
92
84
|
}
|
|
93
85
|
|
|
94
86
|
protected createCompartmentHeader(): GLabel {
|
|
@@ -100,20 +92,9 @@ export class TaskNodeBuilder<T extends TaskNode = TaskNode> extends GNodeBuilder
|
|
|
100
92
|
}
|
|
101
93
|
|
|
102
94
|
protected createCompartmentIcon(): GCompartment {
|
|
103
|
-
return
|
|
104
|
-
.type(ModelTypes.ICON)
|
|
95
|
+
return GCompartment.builder()
|
|
105
96
|
.id(this.proxy.id + '_icon')
|
|
106
|
-
.
|
|
107
|
-
.addLayoutOptions({ hAlign: 'center', resizeContainer: false })
|
|
108
|
-
.add(this.createCompartmentIconLabel())
|
|
109
|
-
.build();
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
protected createCompartmentIconLabel(): GLabel {
|
|
113
|
-
return new GLabelBuilder(GLabel)
|
|
114
|
-
.type(ModelTypes.LABEL_ICON)
|
|
115
|
-
.id(this.proxy.id + '_ticon')
|
|
116
|
-
.text(`${this.proxy.taskType.toUpperCase().charAt(0)}`)
|
|
97
|
+
.type(ModelTypes.ICON)
|
|
117
98
|
.build();
|
|
118
99
|
}
|
|
119
100
|
}
|
|
@@ -121,7 +102,7 @@ export class TaskNodeBuilder<T extends TaskNode = TaskNode> extends GNodeBuilder
|
|
|
121
102
|
export class WeightedEdge extends GEdge {
|
|
122
103
|
probability?: string;
|
|
123
104
|
|
|
124
|
-
static builder(): WeightedEdgeBuilder {
|
|
105
|
+
static override builder(): WeightedEdgeBuilder {
|
|
125
106
|
return new WeightedEdgeBuilder(WeightedEdge).type(ModelTypes.WEIGHTED_EDGE);
|
|
126
107
|
}
|
|
127
108
|
}
|
|
@@ -136,7 +117,7 @@ export class WeightedEdgeBuilder<E extends WeightedEdge = WeightedEdge> extends
|
|
|
136
117
|
export class Category extends ActivityNode {
|
|
137
118
|
name: string;
|
|
138
119
|
|
|
139
|
-
static builder(): CategoryNodeBuilder {
|
|
120
|
+
static override builder(): CategoryNodeBuilder {
|
|
140
121
|
return new CategoryNodeBuilder(Category)
|
|
141
122
|
.layout('vbox')
|
|
142
123
|
.addLayoutOptions({ hAlign: 'center', hGrab: false, vGrab: false })
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
17
|
-
import { CreateWorkflowNodeOperationHandler } from './create-workflow-node-operation-handler';
|
|
16
|
+
import { Args, GModelState, GNode, Point } from '@eclipse-glsp/server-node';
|
|
18
17
|
import { injectable } from 'inversify';
|
|
19
18
|
import { ActivityNode, ActivityNodeBuilder } from '../graph-extension';
|
|
20
19
|
import { ModelTypes } from '../util/model-types';
|
|
20
|
+
import { CreateWorkflowNodeOperationHandler } from './create-workflow-node-operation-handler';
|
|
21
21
|
|
|
22
22
|
@injectable()
|
|
23
23
|
export abstract class CreateActivityNodeHandler extends CreateWorkflowNodeOperationHandler {
|
|
@@ -27,7 +27,7 @@ export abstract class CreateActivityNodeHandler extends CreateWorkflowNodeOperat
|
|
|
27
27
|
|
|
28
28
|
protected builder(point: Point | undefined, modelState: GModelState): ActivityNodeBuilder {
|
|
29
29
|
return ActivityNode.builder()
|
|
30
|
-
.position(point ??
|
|
30
|
+
.position(point ?? Point.ORIGIN)
|
|
31
31
|
.type(this.elementTypeIds[0])
|
|
32
32
|
.nodeType(ModelTypes.toNodeType(this.elementTypeIds[0]));
|
|
33
33
|
}
|
|
@@ -13,18 +13,18 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
17
|
-
import { CreateTaskHandler } from './create-task-handler';
|
|
16
|
+
import { GModelState, Point } from '@eclipse-glsp/server-node';
|
|
18
17
|
import { injectable } from 'inversify';
|
|
19
|
-
import { Point, GModelState } from '@eclipse-glsp/server-node';
|
|
20
18
|
import { TaskNodeBuilder } from '../graph-extension';
|
|
19
|
+
import { ModelTypes } from '../util/model-types';
|
|
20
|
+
import { CreateTaskHandler } from './create-task-handler';
|
|
21
21
|
|
|
22
22
|
@injectable()
|
|
23
23
|
export class CreateAutomatedTaskHandler extends CreateTaskHandler {
|
|
24
24
|
elementTypeIds = [ModelTypes.AUTOMATED_TASK];
|
|
25
25
|
label = 'Automated Task';
|
|
26
26
|
|
|
27
|
-
protected builder(point: Point | undefined, modelState: GModelState): TaskNodeBuilder {
|
|
27
|
+
protected override builder(point: Point | undefined, modelState: GModelState): TaskNodeBuilder {
|
|
28
28
|
return super.builder(point, modelState).addCssClass('automated');
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -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 { Args, ArgsUtil, GModelState, GNode, Point } from '@eclipse-glsp/server-node';
|
|
17
17
|
import { Category, CategoryNodeBuilder } from '../graph-extension';
|
|
18
18
|
import { ModelTypes } from '../util/model-types';
|
|
19
19
|
import { CreateWorkflowNodeOperationHandler } from './create-workflow-node-operation-handler';
|
|
@@ -29,8 +29,9 @@ export class CreateCategoryHandler extends CreateWorkflowNodeOperationHandler {
|
|
|
29
29
|
protected builder(point: Point | undefined, modelState: GModelState): CategoryNodeBuilder {
|
|
30
30
|
return Category.builder()
|
|
31
31
|
.type(this.elementTypeIds[0])
|
|
32
|
-
.position(point ??
|
|
32
|
+
.position(point ?? Point.ORIGIN)
|
|
33
33
|
.name(this.label.replace(' ', '') + this.modelState.index.getAllByClass(Category).length)
|
|
34
|
+
.addArgs(ArgsUtil.cornerRadius(5))
|
|
34
35
|
.children();
|
|
35
36
|
}
|
|
36
37
|
}
|
|
@@ -13,18 +13,18 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { ModelTypes } from '../util/model-types';
|
|
17
|
-
import { injectable } from 'inversify';
|
|
18
|
-
import { CreateActivityNodeHandler } from './create-activity-node-handler';
|
|
19
16
|
import { GModelState, Point } from '@eclipse-glsp/server-node';
|
|
17
|
+
import { injectable } from 'inversify';
|
|
20
18
|
import { ActivityNodeBuilder } from '../graph-extension';
|
|
19
|
+
import { ModelTypes } from '../util/model-types';
|
|
20
|
+
import { CreateActivityNodeHandler } from './create-activity-node-handler';
|
|
21
21
|
|
|
22
22
|
@injectable()
|
|
23
23
|
export class CreateDecisionNodeHandler extends CreateActivityNodeHandler {
|
|
24
24
|
elementTypeIds = [ModelTypes.DECISION_NODE];
|
|
25
25
|
label = 'Decision Node';
|
|
26
26
|
|
|
27
|
-
protected builder(point: Point | undefined, modelState: GModelState): ActivityNodeBuilder {
|
|
27
|
+
protected override builder(point: Point | undefined, modelState: GModelState): ActivityNodeBuilder {
|
|
28
28
|
return super.builder(point, modelState).addCssClass('decision');
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
17
|
-
import { CreateActivityNodeHandler } from './create-activity-node-handler';
|
|
16
|
+
import { GModelState, Point } from '@eclipse-glsp/server-node';
|
|
18
17
|
import { injectable } from 'inversify';
|
|
19
18
|
import { ActivityNodeBuilder } from '../graph-extension';
|
|
19
|
+
import { CreateActivityNodeHandler } from './create-activity-node-handler';
|
|
20
20
|
|
|
21
21
|
@injectable()
|
|
22
22
|
export abstract class CreateForkOrJoinNodeHandler extends CreateActivityNodeHandler {
|
|
23
|
-
protected builder(point: Point | undefined, modelState: GModelState): ActivityNodeBuilder {
|
|
23
|
+
protected override builder(point: Point | undefined, modelState: GModelState): ActivityNodeBuilder {
|
|
24
24
|
return super.builder(point, modelState).addCssClass('forkOrJoin').size(10, 50);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -13,18 +13,18 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
17
|
-
import { CreateTaskHandler } from './create-task-handler';
|
|
16
|
+
import { GModelState, Point } from '@eclipse-glsp/server-node';
|
|
18
17
|
import { injectable } from 'inversify';
|
|
19
|
-
import { Point, GModelState } from '@eclipse-glsp/server-node';
|
|
20
18
|
import { TaskNodeBuilder } from '../graph-extension';
|
|
19
|
+
import { ModelTypes } from '../util/model-types';
|
|
20
|
+
import { CreateTaskHandler } from './create-task-handler';
|
|
21
21
|
|
|
22
22
|
@injectable()
|
|
23
23
|
export class CreateManualTaskHandler extends CreateTaskHandler {
|
|
24
24
|
elementTypeIds = [ModelTypes.MANUAL_TASK];
|
|
25
25
|
label = 'Manual Task';
|
|
26
26
|
|
|
27
|
-
protected builder(point: Point | undefined, modelState: GModelState): TaskNodeBuilder {
|
|
27
|
+
protected override builder(point: Point | undefined, modelState: GModelState): TaskNodeBuilder {
|
|
28
28
|
return super.builder(point, modelState).addCssClass('manual');
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -13,18 +13,18 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { ModelTypes } from '../util/model-types';
|
|
17
|
-
import { injectable } from 'inversify';
|
|
18
|
-
import { CreateActivityNodeHandler } from './create-activity-node-handler';
|
|
19
16
|
import { GModelState, Point } from '@eclipse-glsp/server-node';
|
|
17
|
+
import { injectable } from 'inversify';
|
|
20
18
|
import { ActivityNodeBuilder } from '../graph-extension';
|
|
19
|
+
import { ModelTypes } from '../util/model-types';
|
|
20
|
+
import { CreateActivityNodeHandler } from './create-activity-node-handler';
|
|
21
21
|
|
|
22
22
|
@injectable()
|
|
23
23
|
export class CreateMergeNodeHandler extends CreateActivityNodeHandler {
|
|
24
24
|
elementTypeIds = [ModelTypes.MERGE_NODE];
|
|
25
25
|
label = 'Merge Node';
|
|
26
26
|
|
|
27
|
-
protected builder(point: Point | undefined, modelState: GModelState): ActivityNodeBuilder {
|
|
27
|
+
protected override builder(point: Point | undefined, modelState: GModelState): ActivityNodeBuilder {
|
|
28
28
|
return super.builder(point, modelState).addCssClass('merge');
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import {
|
|
17
|
-
import { injectable } from 'inversify';
|
|
18
|
-
import { Args, ORIGIN_POINT, Point } from '@eclipse-glsp/protocol';
|
|
16
|
+
import { Args, Point } from '@eclipse-glsp/protocol';
|
|
19
17
|
import { GModelState, GNode } from '@eclipse-glsp/server-node';
|
|
18
|
+
import { injectable } from 'inversify';
|
|
20
19
|
import { TaskNode, TaskNodeBuilder } from '../graph-extension';
|
|
21
20
|
import { ModelTypes } from '../util/model-types';
|
|
21
|
+
import { CreateWorkflowNodeOperationHandler } from './create-workflow-node-operation-handler';
|
|
22
22
|
|
|
23
23
|
@injectable()
|
|
24
24
|
export abstract class CreateTaskHandler extends CreateWorkflowNodeOperationHandler {
|
|
@@ -28,7 +28,7 @@ export abstract class CreateTaskHandler extends CreateWorkflowNodeOperationHandl
|
|
|
28
28
|
|
|
29
29
|
protected builder(point: Point | undefined, modelState: GModelState): TaskNodeBuilder {
|
|
30
30
|
return TaskNode.builder()
|
|
31
|
-
.position(point ??
|
|
31
|
+
.position(point ?? Point.ORIGIN)
|
|
32
32
|
.addCssClass('task')
|
|
33
33
|
.name(this.label.replace(' ', '') + this.modelState.index.getAllByClass(TaskNode).length)
|
|
34
34
|
.type(this.elementTypeIds[0])
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
GModelState,
|
|
22
22
|
Point
|
|
23
23
|
} from '@eclipse-glsp/server-node';
|
|
24
|
-
import {
|
|
24
|
+
import { inject, injectable } from 'inversify';
|
|
25
25
|
import { Category } from '../graph-extension';
|
|
26
26
|
import { ModelTypes } from '../util/model-types';
|
|
27
27
|
import { GridSnapper } from './grid-snapper';
|
|
@@ -29,13 +29,13 @@ import { GridSnapper } from './grid-snapper';
|
|
|
29
29
|
@injectable()
|
|
30
30
|
export abstract class CreateWorkflowNodeOperationHandler extends CreateNodeOperationHandler {
|
|
31
31
|
@inject(GModelState)
|
|
32
|
-
protected modelState: GModelState;
|
|
32
|
+
protected override modelState: GModelState;
|
|
33
33
|
|
|
34
|
-
getLocation(operation: CreateNodeOperation): Point | undefined {
|
|
34
|
+
override getLocation(operation: CreateNodeOperation): Point | undefined {
|
|
35
35
|
return GridSnapper.snap(operation.location);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
getContainer(operation: CreateNodeOperation): GModelElement | undefined {
|
|
38
|
+
override getContainer(operation: CreateNodeOperation): GModelElement | undefined {
|
|
39
39
|
const container = super.getContainer(operation);
|
|
40
40
|
|
|
41
41
|
if (container instanceof Category) {
|
|
@@ -19,7 +19,7 @@ import { injectable } from 'inversify';
|
|
|
19
19
|
|
|
20
20
|
@injectable()
|
|
21
21
|
export class WorkflowLayoutConfigurator extends AbstractLayoutConfigurator {
|
|
22
|
-
protected graphOptions(graph: GGraph): LayoutOptions | undefined {
|
|
22
|
+
protected override graphOptions(graph: GGraph): LayoutOptions | undefined {
|
|
23
23
|
return {
|
|
24
24
|
'elk.algorithm': 'layered'
|
|
25
25
|
};
|
|
@@ -24,7 +24,6 @@ import {
|
|
|
24
24
|
GModelState,
|
|
25
25
|
GNode,
|
|
26
26
|
LabeledAction,
|
|
27
|
-
ORIGIN_POINT,
|
|
28
27
|
Point
|
|
29
28
|
} from '@eclipse-glsp/server-node';
|
|
30
29
|
import { inject, injectable } from 'inversify';
|
|
@@ -34,7 +33,7 @@ import { ModelTypes } from '../util/model-types';
|
|
|
34
33
|
@injectable()
|
|
35
34
|
export class WorkflowCommandPaletteActionProvider extends CommandPaletteActionProvider {
|
|
36
35
|
@inject(GModelState)
|
|
37
|
-
protected modelState: GModelState;
|
|
36
|
+
protected override modelState: GModelState;
|
|
38
37
|
|
|
39
38
|
getPaletteActions(selectedElementIds: string[], selectedElements: GModelElement[], position: Point, args?: Args): LabeledAction[] {
|
|
40
39
|
const actions: LabeledAction[] = [];
|
|
@@ -43,28 +42,33 @@ export class WorkflowCommandPaletteActionProvider extends CommandPaletteActionPr
|
|
|
43
42
|
}
|
|
44
43
|
const index = this.modelState.index;
|
|
45
44
|
// Create actions
|
|
45
|
+
const location = position ?? Point.ORIGIN;
|
|
46
46
|
actions.push(
|
|
47
|
-
|
|
48
|
-
'Create Automated Task',
|
|
49
|
-
[
|
|
50
|
-
'fa-plus-square'
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
'Create Manual Task',
|
|
54
|
-
[
|
|
55
|
-
'fa-plus-square'
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
'Create Merge Node',
|
|
59
|
-
[
|
|
60
|
-
'fa-plus-square'
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
'Create Decision Node',
|
|
64
|
-
[
|
|
65
|
-
'fa-plus-square'
|
|
66
|
-
|
|
67
|
-
|
|
47
|
+
{
|
|
48
|
+
label: 'Create Automated Task',
|
|
49
|
+
actions: [CreateNodeOperation.create(ModelTypes.AUTOMATED_TASK, { location })],
|
|
50
|
+
icon: 'fa-plus-square'
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
label: 'Create Manual Task',
|
|
54
|
+
actions: [CreateNodeOperation.create(ModelTypes.MANUAL_TASK, { location })],
|
|
55
|
+
icon: 'fa-plus-square'
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
label: 'Create Merge Node',
|
|
59
|
+
actions: [CreateNodeOperation.create(ModelTypes.MERGE_NODE, { location })],
|
|
60
|
+
icon: 'fa-plus-square'
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
label: 'Create Decision Node',
|
|
64
|
+
actions: [CreateNodeOperation.create(ModelTypes.DECISION_NODE, { location })],
|
|
65
|
+
icon: 'fa-plus-square'
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
label: 'Create Category',
|
|
69
|
+
actions: [CreateNodeOperation.create(ModelTypes.CATEGORY, { location })],
|
|
70
|
+
icon: 'fa-plus-square'
|
|
71
|
+
}
|
|
68
72
|
);
|
|
69
73
|
// Create edge action between two nodes
|
|
70
74
|
if (selectedElements.length === 1) {
|
|
@@ -89,16 +93,14 @@ export class WorkflowCommandPaletteActionProvider extends CommandPaletteActionPr
|
|
|
89
93
|
}
|
|
90
94
|
}
|
|
91
95
|
// Delete action
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
actions.push(new LabeledAction('Delete All', [new DeleteElementOperation(selectedElementIds)], 'fa-minus-square'));
|
|
96
|
-
}
|
|
96
|
+
|
|
97
|
+
const label = selectedElementIds.length === 1 ? 'Delete' : 'Delete All';
|
|
98
|
+
actions.push({ label, actions: [DeleteElementOperation.create(selectedElementIds)], icon: 'fa-minus-square' });
|
|
97
99
|
|
|
98
100
|
return actions;
|
|
99
101
|
}
|
|
100
102
|
|
|
101
|
-
|
|
103
|
+
protected createEdgeActions(source: GNode, targets: GNode[]): LabeledAction[] {
|
|
102
104
|
const actions: LabeledAction[] = [];
|
|
103
105
|
targets.forEach(node => actions.push(this.createEdgeAction(`Create Edge to ${this.getLabel(node)}`, source, node)));
|
|
104
106
|
targets.forEach(node =>
|
|
@@ -107,15 +109,31 @@ export class WorkflowCommandPaletteActionProvider extends CommandPaletteActionPr
|
|
|
107
109
|
return actions;
|
|
108
110
|
}
|
|
109
111
|
|
|
110
|
-
|
|
111
|
-
return
|
|
112
|
+
protected createWeightedEdgeAction(label: string, source: GNode, node: GNode): LabeledAction {
|
|
113
|
+
return {
|
|
114
|
+
label,
|
|
115
|
+
actions: [
|
|
116
|
+
CreateEdgeOperation.create({
|
|
117
|
+
elementTypeId: ModelTypes.WEIGHTED_EDGE,
|
|
118
|
+
sourceElementId: source.id,
|
|
119
|
+
targetElementId: node.id
|
|
120
|
+
})
|
|
121
|
+
],
|
|
122
|
+
icon: 'fa-plus-square'
|
|
123
|
+
};
|
|
112
124
|
}
|
|
113
125
|
|
|
114
|
-
|
|
115
|
-
return
|
|
126
|
+
protected createEdgeAction(label: string, source: GNode, node: GNode): LabeledAction {
|
|
127
|
+
return {
|
|
128
|
+
label,
|
|
129
|
+
actions: [
|
|
130
|
+
CreateEdgeOperation.create({ elementTypeId: DefaultTypes.EDGE, sourceElementId: source.id, targetElementId: node.id })
|
|
131
|
+
],
|
|
132
|
+
icon: 'fa-plus-square'
|
|
133
|
+
};
|
|
116
134
|
}
|
|
117
135
|
|
|
118
|
-
|
|
136
|
+
protected getLabel(node: GNode): string {
|
|
119
137
|
if (node instanceof TaskNode) {
|
|
120
138
|
return node.name;
|
|
121
139
|
}
|
|
@@ -24,15 +24,28 @@ export class WorkflowContextMenuItemProvider extends ContextMenuItemProvider {
|
|
|
24
24
|
protected modelState: GModelState;
|
|
25
25
|
|
|
26
26
|
getItems(selectedElementIds: string[], position: Point, args?: Args): MenuItem[] {
|
|
27
|
-
if (this.modelState.isReadonly) {
|
|
27
|
+
if (this.modelState.isReadonly || selectedElementIds.length !== 0) {
|
|
28
28
|
return [];
|
|
29
29
|
}
|
|
30
30
|
const snappedPosition = GridSnapper.snap(position);
|
|
31
|
-
const newAutTask
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
const newAutTask: MenuItem = {
|
|
32
|
+
id: 'newAutoTask',
|
|
33
|
+
label: 'Automated Task',
|
|
34
|
+
actions: [CreateNodeOperation.create(ModelTypes.AUTOMATED_TASK, { location: snappedPosition })]
|
|
35
|
+
};
|
|
36
|
+
const newManTask: MenuItem = {
|
|
37
|
+
id: 'newManualTask',
|
|
38
|
+
label: 'Manual Task',
|
|
39
|
+
actions: [CreateNodeOperation.create(ModelTypes.MANUAL_TASK, { location: snappedPosition })]
|
|
40
|
+
};
|
|
41
|
+
const newChildMenu: MenuItem = {
|
|
42
|
+
id: 'new',
|
|
43
|
+
label: 'New',
|
|
44
|
+
actions: [],
|
|
45
|
+
children: [newAutTask, newManTask],
|
|
46
|
+
icon: 'add',
|
|
47
|
+
group: '0_new'
|
|
48
|
+
};
|
|
36
49
|
return [newChildMenu];
|
|
37
50
|
}
|
|
38
51
|
}
|
|
@@ -56,7 +56,7 @@ import { WorkflowPopupFactory } from './workflow-popup-factory';
|
|
|
56
56
|
|
|
57
57
|
@injectable()
|
|
58
58
|
export class WorkflowServerModule extends ServerModule {
|
|
59
|
-
configure(bind: interfaces.Bind, unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind): void {
|
|
59
|
+
override configure(bind: interfaces.Bind, unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind): void {
|
|
60
60
|
super.configure(bind, unbind, isBound, rebind);
|
|
61
61
|
bind(WorkflowGLSPServer).toSelf().inSingletonScope();
|
|
62
62
|
rebind(GLSPServer).toService(WorkflowGLSPServer);
|
|
@@ -70,7 +70,12 @@ export class WorkflowDiagramModule extends GModelDiagramModule {
|
|
|
70
70
|
return 'workflow-diagram';
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
protected configure(
|
|
73
|
+
protected override configure(
|
|
74
|
+
bind: interfaces.Bind,
|
|
75
|
+
unbind: interfaces.Unbind,
|
|
76
|
+
isBound: interfaces.IsBound,
|
|
77
|
+
rebind: interfaces.Rebind
|
|
78
|
+
): void {
|
|
74
79
|
super.configure(bind, unbind, isBound, rebind);
|
|
75
80
|
bind(DiagramConfiguration).to(WorkflowDiagramConfiguration).inSingletonScope();
|
|
76
81
|
bind(NavigationTargetResolver).to(WorkflowNavigationTargetResolver).inSingletonScope();
|
|
@@ -82,7 +87,7 @@ export class WorkflowDiagramModule extends GModelDiagramModule {
|
|
|
82
87
|
bind(ToolPaletteItemProvider).to(DefaultToolPaletteItemProvider).inSingletonScope();
|
|
83
88
|
}
|
|
84
89
|
|
|
85
|
-
protected configureOperationHandlers(binding: InstanceMultiBinding<OperationHandlerConstructor>): void {
|
|
90
|
+
protected override configureOperationHandlers(binding: InstanceMultiBinding<OperationHandlerConstructor>): void {
|
|
86
91
|
super.configureOperationHandlers(binding);
|
|
87
92
|
binding.add(CreateAutomatedTaskHandler);
|
|
88
93
|
binding.add(CreateManualTaskHandler);
|
|
@@ -95,7 +100,7 @@ export class WorkflowDiagramModule extends GModelDiagramModule {
|
|
|
95
100
|
binding.add(CreateCategoryHandler);
|
|
96
101
|
}
|
|
97
102
|
|
|
98
|
-
protected configureNavigationTargetProviders(binding: ClassMultiBinding<NavigationTargetProvider>): void {
|
|
103
|
+
protected override configureNavigationTargetProviders(binding: ClassMultiBinding<NavigationTargetProvider>): void {
|
|
99
104
|
super.configureNavigationTargetProviders(binding);
|
|
100
105
|
binding.add(NextNodeNavigationTargetProvider);
|
|
101
106
|
binding.add(PreviousNodeNavigationTargetProvider);
|
|
@@ -22,9 +22,9 @@ export class WorkflowGLSPServer extends DefaultGLSPServer {
|
|
|
22
22
|
TIMESTAMP_KEY = 'timestamp';
|
|
23
23
|
|
|
24
24
|
@inject(Logger)
|
|
25
|
-
protected logger: Logger;
|
|
25
|
+
protected override logger: Logger;
|
|
26
26
|
|
|
27
|
-
protected handleInitializeArgs(result: InitializeResult, args: Args | undefined): MaybePromise<InitializeResult> {
|
|
27
|
+
protected override handleInitializeArgs(result: InitializeResult, args: Args | undefined): MaybePromise<InitializeResult> {
|
|
28
28
|
if (!args) {
|
|
29
29
|
return result;
|
|
30
30
|
}
|