@eclipse-glsp-examples/workflow-server 0.9.0-next.fc2c95e.5 → 1.1.0-next.d0028ef.26
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 +4 -4
- package/lib/handler/create-activity-node-handler.d.ts.map +1 -1
- package/lib/handler/create-activity-node-handler.js +6 -6
- package/lib/handler/create-activity-node-handler.js.map +1 -1
- package/lib/handler/create-automated-task-handler.d.ts +18 -3
- package/lib/handler/create-automated-task-handler.d.ts.map +1 -1
- package/lib/handler/create-automated-task-handler.js +4 -19
- package/lib/handler/create-automated-task-handler.js.map +1 -1
- package/lib/handler/create-category-handler.d.ts +3 -3
- package/lib/handler/create-category-handler.d.ts.map +1 -1
- package/lib/handler/create-category-handler.js +5 -4
- package/lib/handler/create-category-handler.js.map +1 -1
- package/lib/handler/create-decision-node-handler.d.ts +18 -3
- package/lib/handler/create-decision-node-handler.d.ts.map +1 -1
- package/lib/handler/create-decision-node-handler.js +4 -19
- package/lib/handler/create-decision-node-handler.js.map +1 -1
- package/lib/handler/create-edge-handler.d.ts +3 -3
- package/lib/handler/create-edge-handler.d.ts.map +1 -1
- package/lib/handler/create-edge-handler.js +2 -2
- package/lib/handler/create-edge-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 +3 -3
- package/lib/handler/create-fork-or-join-node-handler.d.ts.map +1 -1
- package/lib/handler/create-fork-or-join-node-handler.js +4 -4
- 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 +18 -3
- package/lib/handler/create-manual-task-handler.d.ts.map +1 -1
- package/lib/handler/create-manual-task-handler.js +4 -19
- package/lib/handler/create-manual-task-handler.js.map +1 -1
- package/lib/handler/create-merge-node-handler.d.ts +18 -3
- package/lib/handler/create-merge-node-handler.d.ts.map +1 -1
- package/lib/handler/create-merge-node-handler.js +4 -19
- package/lib/handler/create-merge-node-handler.js.map +1 -1
- package/lib/handler/create-task-handler.d.ts +5 -5
- package/lib/handler/create-task-handler.d.ts.map +1 -1
- package/lib/handler/create-task-handler.js +7 -7
- package/lib/handler/create-task-handler.js.map +1 -1
- package/lib/handler/create-weighted-edge-handler.d.ts +3 -3
- package/lib/handler/create-weighted-edge-handler.d.ts.map +1 -1
- package/lib/handler/create-weighted-edge-handler.js +2 -2
- package/lib/handler/create-weighted-edge-handler.js.map +1 -1
- package/lib/handler/create-workflow-node-operation-handler.d.ts +3 -3
- package/lib/handler/create-workflow-node-operation-handler.d.ts.map +1 -1
- package/lib/handler/create-workflow-node-operation-handler.js +4 -4
- 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.d.ts +2 -2
- package/lib/labeledit/workflow-label-edit-validator.d.ts.map +1 -1
- package/lib/labeledit/workflow-label-edit-validator.js +3 -3
- 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.d.ts +2 -2
- package/lib/marker/workflow-model-validator.d.ts.map +1 -1
- package/lib/marker/workflow-model-validator.js +3 -3
- package/lib/marker/workflow-model-validator.js.map +1 -1
- package/lib/model/workflow-navigation-target-resolver.d.ts +2 -2
- package/lib/model/workflow-navigation-target-resolver.d.ts.map +1 -1
- package/lib/model/workflow-navigation-target-resolver.js +3 -3
- package/lib/model/workflow-navigation-target-resolver.js.map +1 -1
- package/lib/provider/abstract-next-or-previous-navigation-target-provider.d.ts +2 -2
- package/lib/provider/abstract-next-or-previous-navigation-target-provider.d.ts.map +1 -1
- package/lib/provider/abstract-next-or-previous-navigation-target-provider.js +4 -4
- 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.d.ts +2 -2
- package/lib/provider/node-documentation-navigation-target-provider.d.ts.map +1 -1
- package/lib/provider/node-documentation-navigation-target-provider.js +4 -4
- 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 +6 -6
- package/lib/provider/workflow-command-palette-action-provider.d.ts.map +1 -1
- package/lib/provider/workflow-command-palette-action-provider.js +45 -12
- package/lib/provider/workflow-command-palette-action-provider.js.map +1 -1
- package/lib/provider/workflow-context-menu-item-provider.d.ts +2 -2
- package/lib/provider/workflow-context-menu-item-provider.d.ts.map +1 -1
- package/lib/provider/workflow-context-menu-item-provider.js +22 -9
- 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 +11 -5
- package/lib/workflow-diagram-module.d.ts.map +1 -1
- package/lib/workflow-diagram-module.js +25 -18
- 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 +6 -6
- package/src/handler/create-automated-task-handler.ts +5 -5
- package/src/handler/create-category-handler.ts +6 -5
- package/src/handler/create-decision-node-handler.ts +5 -5
- package/src/handler/create-edge-handler.ts +3 -3
- package/src/handler/create-fork-or-join-node-handler.ts +4 -4
- package/src/handler/create-manual-task-handler.ts +5 -5
- package/src/handler/create-merge-node-handler.ts +5 -5
- package/src/handler/create-task-handler.ts +7 -7
- package/src/handler/create-weighted-edge-handler.ts +3 -3
- package/src/handler/create-workflow-node-operation-handler.ts +8 -8
- package/src/labeledit/workflow-label-edit-validator.ts +3 -3
- package/src/layout/workflow-layout-configurator.ts +1 -1
- package/src/marker/workflow-model-validator.ts +3 -3
- package/src/model/workflow-navigation-target-resolver.ts +3 -3
- package/src/provider/abstract-next-or-previous-navigation-target-provider.ts +3 -3
- package/src/provider/node-documentation-navigation-target-provider.ts +4 -4
- package/src/provider/workflow-command-palette-action-provider.ts +54 -36
- package/src/provider/workflow-context-menu-item-provider.ts +22 -9
- package/src/workflow-diagram-module.ts +36 -25
- package/src/workflow-glsp-server.ts +2 -2
|
@@ -13,21 +13,21 @@
|
|
|
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 { CreateNodeOperation, 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 {
|
|
24
|
-
createNode(
|
|
25
|
-
return this.builder(relativeLocation
|
|
24
|
+
createNode(operation: CreateNodeOperation, relativeLocation?: Point): GNode | undefined {
|
|
25
|
+
return this.builder(relativeLocation).build();
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
protected builder(point: Point | undefined
|
|
28
|
+
protected builder(point: Point | undefined): 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 { 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
|
|
28
|
-
return super.builder(point
|
|
27
|
+
protected override builder(point: Point | undefined): TaskNodeBuilder {
|
|
28
|
+
return super.builder(point).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 { ArgsUtil, CreateNodeOperation, 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';
|
|
@@ -22,15 +22,16 @@ export class CreateCategoryHandler extends CreateWorkflowNodeOperationHandler {
|
|
|
22
22
|
elementTypeIds = [ModelTypes.CATEGORY];
|
|
23
23
|
label = 'Category';
|
|
24
24
|
|
|
25
|
-
createNode(
|
|
26
|
-
return this.builder(relativeLocation
|
|
25
|
+
createNode(operation: CreateNodeOperation, relativeLocation?: Point): GNode | undefined {
|
|
26
|
+
return this.builder(relativeLocation).build();
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
protected builder(point: Point | undefined
|
|
29
|
+
protected builder(point: Point | undefined): 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 {
|
|
16
|
+
import { Point } from '@eclipse-glsp/server-node';
|
|
17
17
|
import { injectable } from 'inversify';
|
|
18
|
-
import { CreateActivityNodeHandler } from './create-activity-node-handler';
|
|
19
|
-
import { GModelState, Point } from '@eclipse-glsp/server-node';
|
|
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
|
|
28
|
-
return super.builder(point
|
|
27
|
+
protected override builder(point?: Point): ActivityNodeBuilder {
|
|
28
|
+
return super.builder(point).addCssClass('decision');
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -13,13 +13,13 @@
|
|
|
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 { DefaultTypes, GEdge, GEdgeBuilder, GModelCreateEdgeOperationHandler, GModelElement } from '@eclipse-glsp/server-node';
|
|
17
17
|
|
|
18
|
-
export class CreateEdgeHandler extends
|
|
18
|
+
export class CreateEdgeHandler extends GModelCreateEdgeOperationHandler {
|
|
19
19
|
label = 'Edge';
|
|
20
20
|
elementTypeIds = [DefaultTypes.EDGE];
|
|
21
21
|
|
|
22
|
-
createEdge(source: GModelElement, target: GModelElement
|
|
22
|
+
createEdge(source: GModelElement, target: GModelElement): GEdge | undefined {
|
|
23
23
|
return new GEdgeBuilder(GEdge).sourceId(source.id).targetId(target.id).build();
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -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
|
|
17
|
-
import { CreateActivityNodeHandler } from './create-activity-node-handler';
|
|
16
|
+
import { 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
|
|
24
|
-
return super.builder(point
|
|
23
|
+
protected override builder(point: Point | undefined): ActivityNodeBuilder {
|
|
24
|
+
return super.builder(point).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 { 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
|
|
28
|
-
return super.builder(point
|
|
27
|
+
protected override builder(point: Point | undefined): TaskNodeBuilder {
|
|
28
|
+
return super.builder(point).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 {
|
|
16
|
+
import { Point } from '@eclipse-glsp/server-node';
|
|
17
17
|
import { injectable } from 'inversify';
|
|
18
|
-
import { CreateActivityNodeHandler } from './create-activity-node-handler';
|
|
19
|
-
import { GModelState, Point } from '@eclipse-glsp/server-node';
|
|
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
|
|
28
|
-
return super.builder(point
|
|
27
|
+
protected override builder(point: Point | undefined): ActivityNodeBuilder {
|
|
28
|
+
return super.builder(point).addCssClass('merge');
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -13,22 +13,22 @@
|
|
|
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 { Point } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { CreateNodeOperation, GNode } from '@eclipse-glsp/server-node';
|
|
17
18
|
import { injectable } from 'inversify';
|
|
18
|
-
import { Args, ORIGIN_POINT, Point } from '@eclipse-glsp/protocol';
|
|
19
|
-
import { GModelState, GNode } from '@eclipse-glsp/server-node';
|
|
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 {
|
|
25
|
-
createNode(
|
|
26
|
-
return this.builder(relativeLocation
|
|
25
|
+
createNode(operation: CreateNodeOperation, relativeLocation?: Point): GNode | undefined {
|
|
26
|
+
return this.builder(relativeLocation).build();
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
protected builder(point: Point | undefined
|
|
29
|
+
protected builder(point: Point | undefined): 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])
|
|
@@ -13,15 +13,15 @@
|
|
|
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 { GEdge, GModelCreateEdgeOperationHandler, GModelElement } from '@eclipse-glsp/server-node';
|
|
17
17
|
import { WeightedEdge } from '../graph-extension';
|
|
18
18
|
import { ModelTypes } from '../util/model-types';
|
|
19
19
|
|
|
20
|
-
export class CreateWeightedEdgeHandler extends
|
|
20
|
+
export class CreateWeightedEdgeHandler extends GModelCreateEdgeOperationHandler {
|
|
21
21
|
elementTypeIds = [ModelTypes.WEIGHTED_EDGE];
|
|
22
22
|
label = 'Weighted edge';
|
|
23
23
|
|
|
24
|
-
createEdge(source: GModelElement, target: GModelElement
|
|
24
|
+
createEdge(source: GModelElement, target: GModelElement): GEdge | undefined {
|
|
25
25
|
return WeightedEdge.builder().sourceId(source.id).targetId(target.id).probability('medium').addCssClass('medium').build();
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -15,27 +15,27 @@
|
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import {
|
|
17
17
|
CreateNodeOperation,
|
|
18
|
-
CreateNodeOperationHandler,
|
|
19
18
|
GCompartment,
|
|
19
|
+
GModelCreateNodeOperationHandler,
|
|
20
20
|
GModelElement,
|
|
21
|
-
|
|
21
|
+
ModelState,
|
|
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';
|
|
28
28
|
|
|
29
29
|
@injectable()
|
|
30
|
-
export abstract class CreateWorkflowNodeOperationHandler extends
|
|
31
|
-
@inject(
|
|
32
|
-
protected modelState:
|
|
30
|
+
export abstract class CreateWorkflowNodeOperationHandler extends GModelCreateNodeOperationHandler {
|
|
31
|
+
@inject(ModelState)
|
|
32
|
+
protected override modelState: ModelState;
|
|
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) {
|
|
@@ -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 { GModelElement,
|
|
16
|
+
import { GModelElement, LabelEditValidator, ModelState, ValidationStatus } from '@eclipse-glsp/server-node';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
18
|
import { TaskNode } from '../graph-extension';
|
|
19
19
|
|
|
20
20
|
@injectable()
|
|
21
21
|
export class WorkflowLabelEditValidator implements LabelEditValidator {
|
|
22
|
-
@inject(
|
|
23
|
-
protected modelState:
|
|
22
|
+
@inject(ModelState)
|
|
23
|
+
protected modelState: ModelState;
|
|
24
24
|
|
|
25
25
|
validate(label: string, element: GModelElement): ValidationStatus {
|
|
26
26
|
if (label.length < 1) {
|
|
@@ -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
|
};
|
|
@@ -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 {
|
|
16
|
+
import { GCompartment, GLabel, GModelElement, Marker, MarkerKind, ModelState, ModelValidator } from '@eclipse-glsp/server-node';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
18
|
import { ActivityNode, TaskNode } from '../graph-extension';
|
|
19
19
|
|
|
20
20
|
@injectable()
|
|
21
21
|
export class WorkflowModelValidator implements ModelValidator {
|
|
22
|
-
@inject(
|
|
23
|
-
protected readonly modelState:
|
|
22
|
+
@inject(ModelState)
|
|
23
|
+
protected readonly modelState: ModelState;
|
|
24
24
|
|
|
25
25
|
validate(elements: GModelElement[]): Marker[] {
|
|
26
26
|
const markers: Marker[] = [];
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { NavigationTarget } from '@eclipse-glsp/protocol';
|
|
17
|
-
import {
|
|
17
|
+
import { ModelState } from '@eclipse-glsp/server-node';
|
|
18
18
|
import { NavigationTargetResolution } from '@eclipse-glsp/server-node/lib/features/navigation/navigation-target-resolution';
|
|
19
19
|
import { NavigationTargetResolver } from '@eclipse-glsp/server-node/lib/features/navigation/navigation-target-resolver';
|
|
20
20
|
import { inject, injectable } from 'inversify';
|
|
@@ -22,8 +22,8 @@ import { TaskNode } from '../graph-extension';
|
|
|
22
22
|
|
|
23
23
|
@injectable()
|
|
24
24
|
export class WorkflowNavigationTargetResolver extends NavigationTargetResolver {
|
|
25
|
-
@inject(
|
|
26
|
-
protected readonly modelState:
|
|
25
|
+
@inject(ModelState)
|
|
26
|
+
protected readonly modelState: ModelState;
|
|
27
27
|
|
|
28
28
|
async resolve(navigationTarget: NavigationTarget): Promise<NavigationTargetResolution> {
|
|
29
29
|
if (navigationTarget.args && navigationTarget.args['name']) {
|
|
@@ -14,17 +14,17 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { Args, EditorContext, NavigationTarget } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { GEdge, ModelState } from '@eclipse-glsp/server-node';
|
|
17
18
|
import { NavigationTargetProvider } from '@eclipse-glsp/server-node/lib/features/navigation/navigation-target-provider';
|
|
18
19
|
import { inject, injectable } from 'inversify';
|
|
19
|
-
import { GEdge, GModelState } from '@eclipse-glsp/server-node';
|
|
20
20
|
import { TaskNode } from '../graph-extension';
|
|
21
21
|
|
|
22
22
|
@injectable()
|
|
23
23
|
export abstract class AbstractNextOrPreviousNavigationTargetProvider implements NavigationTargetProvider {
|
|
24
24
|
abstract targetTypeId: string;
|
|
25
25
|
|
|
26
|
-
@inject(
|
|
27
|
-
protected readonly modelState:
|
|
26
|
+
@inject(ModelState)
|
|
27
|
+
protected readonly modelState: ModelState;
|
|
28
28
|
|
|
29
29
|
getTargets(editorContext: EditorContext): NavigationTarget[] {
|
|
30
30
|
const sourceUri = this.modelState.sourceUri;
|
|
@@ -14,18 +14,18 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { Args, EditorContext, NavigationTarget } from '@eclipse-glsp/protocol';
|
|
17
|
-
import {
|
|
17
|
+
import { ModelState } from '@eclipse-glsp/server-node';
|
|
18
|
+
import { JsonOpenerOptions } from '@eclipse-glsp/server-node/lib/features/navigation/json-opener-options';
|
|
18
19
|
import { NavigationTargetProvider } from '@eclipse-glsp/server-node/lib/features/navigation/navigation-target-provider';
|
|
19
20
|
import { inject, injectable } from 'inversify';
|
|
20
21
|
import { TaskNode } from '../graph-extension';
|
|
21
|
-
import { JsonOpenerOptions } from '@eclipse-glsp/server-node/lib/features/navigation/json-opener-options';
|
|
22
22
|
|
|
23
23
|
@injectable()
|
|
24
24
|
export class NodeDocumentationNavigationTargetProvider implements NavigationTargetProvider {
|
|
25
25
|
targetTypeId = 'documentation';
|
|
26
26
|
|
|
27
|
-
@inject(
|
|
28
|
-
protected readonly modelState:
|
|
27
|
+
@inject(ModelState)
|
|
28
|
+
protected readonly modelState: ModelState;
|
|
29
29
|
|
|
30
30
|
getTargets(editorContext: EditorContext): NavigationTarget[] {
|
|
31
31
|
if (editorContext.selectedElementIds.length === 1) {
|
|
@@ -21,10 +21,9 @@ import {
|
|
|
21
21
|
DefaultTypes,
|
|
22
22
|
DeleteElementOperation,
|
|
23
23
|
GModelElement,
|
|
24
|
-
GModelState,
|
|
25
24
|
GNode,
|
|
26
25
|
LabeledAction,
|
|
27
|
-
|
|
26
|
+
ModelState,
|
|
28
27
|
Point
|
|
29
28
|
} from '@eclipse-glsp/server-node';
|
|
30
29
|
import { inject, injectable } from 'inversify';
|
|
@@ -33,8 +32,8 @@ import { ModelTypes } from '../util/model-types';
|
|
|
33
32
|
|
|
34
33
|
@injectable()
|
|
35
34
|
export class WorkflowCommandPaletteActionProvider extends CommandPaletteActionProvider {
|
|
36
|
-
@inject(
|
|
37
|
-
protected modelState:
|
|
35
|
+
@inject(ModelState)
|
|
36
|
+
protected override modelState: ModelState;
|
|
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
|
}
|
|
@@ -13,26 +13,39 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Args, ContextMenuItemProvider, CreateNodeOperation,
|
|
16
|
+
import { Args, ContextMenuItemProvider, CreateNodeOperation, MenuItem, ModelState, Point } from '@eclipse-glsp/server-node';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
18
|
import { GridSnapper } from '../handler/grid-snapper';
|
|
19
19
|
import { ModelTypes } from '../util/model-types';
|
|
20
20
|
|
|
21
21
|
@injectable()
|
|
22
22
|
export class WorkflowContextMenuItemProvider extends ContextMenuItemProvider {
|
|
23
|
-
@inject(
|
|
24
|
-
protected modelState:
|
|
23
|
+
@inject(ModelState)
|
|
24
|
+
protected modelState: ModelState;
|
|
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
|
}
|