@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.
Files changed (97) hide show
  1. package/lib/app.js +4 -4
  2. package/lib/app.js.map +1 -1
  3. package/lib/graph-extension.d.ts +1 -2
  4. package/lib/graph-extension.d.ts.map +1 -1
  5. package/lib/graph-extension.js +5 -23
  6. package/lib/graph-extension.js.map +1 -1
  7. package/lib/handler/create-activity-node-handler.d.ts +2 -2
  8. package/lib/handler/create-activity-node-handler.d.ts.map +1 -1
  9. package/lib/handler/create-activity-node-handler.js +3 -3
  10. package/lib/handler/create-activity-node-handler.js.map +1 -1
  11. package/lib/handler/create-automated-task-handler.d.ts +17 -2
  12. package/lib/handler/create-automated-task-handler.d.ts.map +1 -1
  13. package/lib/handler/create-automated-task-handler.js +2 -17
  14. package/lib/handler/create-automated-task-handler.js.map +1 -1
  15. package/lib/handler/create-category-handler.d.ts +1 -1
  16. package/lib/handler/create-category-handler.d.ts.map +1 -1
  17. package/lib/handler/create-category-handler.js +2 -1
  18. package/lib/handler/create-category-handler.js.map +1 -1
  19. package/lib/handler/create-decision-node-handler.d.ts +16 -1
  20. package/lib/handler/create-decision-node-handler.d.ts.map +1 -1
  21. package/lib/handler/create-decision-node-handler.js +2 -17
  22. package/lib/handler/create-decision-node-handler.js.map +1 -1
  23. package/lib/handler/create-fork-node-handler.js +1 -1
  24. package/lib/handler/create-fork-node-handler.js.map +1 -1
  25. package/lib/handler/create-fork-or-join-node-handler.d.ts +2 -2
  26. package/lib/handler/create-fork-or-join-node-handler.d.ts.map +1 -1
  27. package/lib/handler/create-fork-or-join-node-handler.js +2 -2
  28. package/lib/handler/create-fork-or-join-node-handler.js.map +1 -1
  29. package/lib/handler/create-join-node-handler.js +1 -1
  30. package/lib/handler/create-join-node-handler.js.map +1 -1
  31. package/lib/handler/create-manual-task-handler.d.ts +17 -2
  32. package/lib/handler/create-manual-task-handler.d.ts.map +1 -1
  33. package/lib/handler/create-manual-task-handler.js +2 -17
  34. package/lib/handler/create-manual-task-handler.js.map +1 -1
  35. package/lib/handler/create-merge-node-handler.d.ts +16 -1
  36. package/lib/handler/create-merge-node-handler.d.ts.map +1 -1
  37. package/lib/handler/create-merge-node-handler.js +2 -17
  38. package/lib/handler/create-merge-node-handler.js.map +1 -1
  39. package/lib/handler/create-task-handler.d.ts +1 -1
  40. package/lib/handler/create-task-handler.d.ts.map +1 -1
  41. package/lib/handler/create-task-handler.js +4 -4
  42. package/lib/handler/create-task-handler.js.map +1 -1
  43. package/lib/handler/create-workflow-node-operation-handler.d.ts.map +1 -1
  44. package/lib/handler/create-workflow-node-operation-handler.js +2 -2
  45. package/lib/handler/create-workflow-node-operation-handler.js.map +1 -1
  46. package/lib/index.js +1 -1
  47. package/lib/index.js.map +1 -1
  48. package/lib/labeledit/workflow-label-edit-validator.js +2 -2
  49. package/lib/labeledit/workflow-label-edit-validator.js.map +1 -1
  50. package/lib/layout/workflow-layout-configurator.d.ts.map +1 -1
  51. package/lib/layout/workflow-layout-configurator.js +1 -1
  52. package/lib/layout/workflow-layout-configurator.js.map +1 -1
  53. package/lib/marker/workflow-model-validator.js +2 -2
  54. package/lib/marker/workflow-model-validator.js.map +1 -1
  55. package/lib/model/workflow-navigation-target-resolver.js +2 -2
  56. package/lib/model/workflow-navigation-target-resolver.js.map +1 -1
  57. package/lib/provider/abstract-next-or-previous-navigation-target-provider.js +2 -2
  58. package/lib/provider/abstract-next-or-previous-navigation-target-provider.js.map +1 -1
  59. package/lib/provider/next-node-navigation-target-provider.js +1 -1
  60. package/lib/provider/next-node-navigation-target-provider.js.map +1 -1
  61. package/lib/provider/node-documentation-navigation-target-provider.js +2 -2
  62. package/lib/provider/node-documentation-navigation-target-provider.js.map +1 -1
  63. package/lib/provider/previous-node-navigation-target-provider.js +1 -1
  64. package/lib/provider/previous-node-navigation-target-provider.js.map +1 -1
  65. package/lib/provider/workflow-command-palette-action-provider.d.ts +5 -5
  66. package/lib/provider/workflow-command-palette-action-provider.d.ts.map +1 -1
  67. package/lib/provider/workflow-command-palette-action-provider.js +44 -11
  68. package/lib/provider/workflow-command-palette-action-provider.js.map +1 -1
  69. package/lib/provider/workflow-context-menu-item-provider.d.ts.map +1 -1
  70. package/lib/provider/workflow-context-menu-item-provider.js +21 -8
  71. package/lib/provider/workflow-context-menu-item-provider.js.map +1 -1
  72. package/lib/workflow-diagram-configuration.js +2 -2
  73. package/lib/workflow-diagram-configuration.js.map +1 -1
  74. package/lib/workflow-diagram-module.d.ts.map +1 -1
  75. package/lib/workflow-diagram-module.js +2 -2
  76. package/lib/workflow-diagram-module.js.map +1 -1
  77. package/lib/workflow-glsp-server.d.ts.map +1 -1
  78. package/lib/workflow-glsp-server.js +2 -2
  79. package/lib/workflow-glsp-server.js.map +1 -1
  80. package/lib/workflow-popup-factory.js +1 -1
  81. package/lib/workflow-popup-factory.js.map +1 -1
  82. package/package.json +5 -8
  83. package/src/graph-extension.ts +9 -28
  84. package/src/handler/create-activity-node-handler.ts +3 -3
  85. package/src/handler/create-automated-task-handler.ts +4 -4
  86. package/src/handler/create-category-handler.ts +3 -2
  87. package/src/handler/create-decision-node-handler.ts +4 -4
  88. package/src/handler/create-fork-or-join-node-handler.ts +3 -3
  89. package/src/handler/create-manual-task-handler.ts +4 -4
  90. package/src/handler/create-merge-node-handler.ts +4 -4
  91. package/src/handler/create-task-handler.ts +4 -4
  92. package/src/handler/create-workflow-node-operation-handler.ts +4 -4
  93. package/src/layout/workflow-layout-configurator.ts +1 -1
  94. package/src/provider/workflow-command-palette-action-provider.ts +52 -34
  95. package/src/provider/workflow-context-menu-item-provider.ts +19 -6
  96. package/src/workflow-diagram-module.ts +9 -4
  97. 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,EAAE;GACA,oBAAoB,CAuBhC;AAvBY,oDAAoB"}
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.95961ba.7+95961ba",
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.95961ba.7+95961ba",
41
- "@eclipse-glsp/server-node": "0.9.0-next.95961ba.7+95961ba"
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": "95961ba417aa103e0a7c59273daa6462ae538dde"
57
+ "gitHead": "a3fa8d1f014ad852b047c5d1cfa052127fd7cf51"
61
58
  }
@@ -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
- protected createCompartment(): GCompartment {
83
- const layoutOptions: Args = {};
84
- return new GCompartmentBuilder(GCompartment)
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 new GCompartmentBuilder(GCompartment)
104
- .type(ModelTypes.ICON)
95
+ return GCompartment.builder()
105
96
  .id(this.proxy.id + '_icon')
106
- .layout('stack')
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 { Point, Args, GNode, GModelState, ORIGIN_POINT } from '@eclipse-glsp/server-node';
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 ?? ORIGIN_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 { ModelTypes } from '../util/model-types';
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 { Point, Args, GNode, GModelState, ORIGIN_POINT } from '@eclipse-glsp/server-node';
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 ?? ORIGIN_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 { Point, GModelState } from '@eclipse-glsp/server-node';
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 { ModelTypes } from '../util/model-types';
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 { CreateWorkflowNodeOperationHandler } from './create-workflow-node-operation-handler';
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 ?? ORIGIN_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 { injectable, inject } from 'inversify';
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
- new LabeledAction(
48
- 'Create Automated Task',
49
- [new CreateNodeOperation(ModelTypes.AUTOMATED_TASK, position ?? ORIGIN_POINT)],
50
- 'fa-plus-square'
51
- ),
52
- new LabeledAction(
53
- 'Create Manual Task',
54
- [new CreateNodeOperation(ModelTypes.MANUAL_TASK, position ?? ORIGIN_POINT)],
55
- 'fa-plus-square'
56
- ),
57
- new LabeledAction(
58
- 'Create Merge Node',
59
- [new CreateNodeOperation(ModelTypes.MERGE_NODE, position ?? ORIGIN_POINT)],
60
- 'fa-plus-square'
61
- ),
62
- new LabeledAction(
63
- 'Create Decision Node',
64
- [new CreateNodeOperation(ModelTypes.DECISION_NODE, position ?? ORIGIN_POINT)],
65
- 'fa-plus-square'
66
- ),
67
- new LabeledAction('Create Category', [new CreateNodeOperation(ModelTypes.CATEGORY, position ?? ORIGIN_POINT)], 'fa-plus-square')
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
- if (selectedElements.length === 1) {
93
- actions.push(new LabeledAction('Delete', [new DeleteElementOperation(selectedElementIds)], 'fa-minus-square'));
94
- } else if (selectedElements.length > 1) {
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
- private createEdgeActions(source: GNode, targets: GNode[]): LabeledAction[] {
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
- private createWeightedEdgeAction(label: string, source: GNode, node: GNode): LabeledAction {
111
- return new LabeledAction(label, [new CreateEdgeOperation(ModelTypes.WEIGHTED_EDGE, source.id, node.id)], 'fa-plus-square');
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
- private createEdgeAction(label: string, source: GNode, node: GNode): LabeledAction {
115
- return new LabeledAction(label, [new CreateEdgeOperation(DefaultTypes.EDGE, source.id, node.id)], 'fa-plus-square');
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
- private getLabel(node: GNode): string {
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 = new MenuItem('newAutoTask', 'Automated Task', [
32
- new CreateNodeOperation(ModelTypes.AUTOMATED_TASK, snappedPosition)
33
- ]);
34
- const newManTask = new MenuItem('newManualTask', 'Manual Task', [new CreateNodeOperation(ModelTypes.MANUAL_TASK, snappedPosition)]);
35
- const newChildMenu = new MenuItem('new', 'New', undefined, [newAutTask, newManTask], 'add', '0_new');
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(bind: interfaces.Bind, unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind): void {
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
  }