@eclipse-glsp-examples/workflow-server 0.9.0-next.397cddd.4

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 (167) hide show
  1. package/LICENSE +277 -0
  2. package/lib/app.d.ts +2 -0
  3. package/lib/app.d.ts.map +1 -0
  4. package/lib/app.js +37 -0
  5. package/lib/app.js.map +1 -0
  6. package/lib/graph-extension.d.ts +60 -0
  7. package/lib/graph-extension.d.ts.map +1 -0
  8. package/lib/graph-extension.js +156 -0
  9. package/lib/graph-extension.js.map +1 -0
  10. package/lib/handler/create-activity-node-handler.d.ts +23 -0
  11. package/lib/handler/create-activity-node-handler.d.ts.map +1 -0
  12. package/lib/handler/create-activity-node-handler.js +45 -0
  13. package/lib/handler/create-activity-node-handler.js.map +1 -0
  14. package/lib/handler/create-automated-task-handler.d.ts +9 -0
  15. package/lib/handler/create-automated-task-handler.d.ts.map +1 -0
  16. package/lib/handler/create-automated-task-handler.js +42 -0
  17. package/lib/handler/create-automated-task-handler.js.map +1 -0
  18. package/lib/handler/create-category-handler.d.ts +25 -0
  19. package/lib/handler/create-category-handler.d.ts.map +1 -0
  20. package/lib/handler/create-category-handler.js +41 -0
  21. package/lib/handler/create-category-handler.js.map +1 -0
  22. package/lib/handler/create-decision-node-handler.d.ts +9 -0
  23. package/lib/handler/create-decision-node-handler.d.ts.map +1 -0
  24. package/lib/handler/create-decision-node-handler.js +42 -0
  25. package/lib/handler/create-decision-node-handler.js.map +1 -0
  26. package/lib/handler/create-edge-handler.d.ts +22 -0
  27. package/lib/handler/create-edge-handler.d.ts.map +1 -0
  28. package/lib/handler/create-edge-handler.js +31 -0
  29. package/lib/handler/create-edge-handler.js.map +1 -0
  30. package/lib/handler/create-fork-node-handler.d.ts +6 -0
  31. package/lib/handler/create-fork-node-handler.d.ts.map +1 -0
  32. package/lib/handler/create-fork-node-handler.js +39 -0
  33. package/lib/handler/create-fork-node-handler.js.map +1 -0
  34. package/lib/handler/create-fork-or-join-node-handler.d.ts +22 -0
  35. package/lib/handler/create-fork-or-join-node-handler.d.ts.map +1 -0
  36. package/lib/handler/create-fork-or-join-node-handler.js +21 -0
  37. package/lib/handler/create-fork-or-join-node-handler.js.map +1 -0
  38. package/lib/handler/create-join-node-handler.d.ts +6 -0
  39. package/lib/handler/create-join-node-handler.d.ts.map +1 -0
  40. package/lib/handler/create-join-node-handler.js +39 -0
  41. package/lib/handler/create-join-node-handler.js.map +1 -0
  42. package/lib/handler/create-manual-task-handler.d.ts +9 -0
  43. package/lib/handler/create-manual-task-handler.d.ts.map +1 -0
  44. package/lib/handler/create-manual-task-handler.js +42 -0
  45. package/lib/handler/create-manual-task-handler.js.map +1 -0
  46. package/lib/handler/create-merge-node-handler.d.ts +9 -0
  47. package/lib/handler/create-merge-node-handler.d.ts.map +1 -0
  48. package/lib/handler/create-merge-node-handler.js +42 -0
  49. package/lib/handler/create-merge-node-handler.js.map +1 -0
  50. package/lib/handler/create-task-handler.d.ts +24 -0
  51. package/lib/handler/create-task-handler.d.ts.map +1 -0
  52. package/lib/handler/create-task-handler.js +48 -0
  53. package/lib/handler/create-task-handler.js.map +1 -0
  54. package/lib/handler/create-weighted-edge-handler.d.ts +22 -0
  55. package/lib/handler/create-weighted-edge-handler.d.ts.map +1 -0
  56. package/lib/handler/create-weighted-edge-handler.js +33 -0
  57. package/lib/handler/create-weighted-edge-handler.js.map +1 -0
  58. package/lib/handler/create-workflow-node-operation-handler.d.ts +24 -0
  59. package/lib/handler/create-workflow-node-operation-handler.d.ts.map +1 -0
  60. package/lib/handler/create-workflow-node-operation-handler.js +62 -0
  61. package/lib/handler/create-workflow-node-operation-handler.js.map +1 -0
  62. package/lib/handler/grid-snapper.d.ts +22 -0
  63. package/lib/handler/grid-snapper.d.ts.map +1 -0
  64. package/lib/handler/grid-snapper.js +20 -0
  65. package/lib/handler/grid-snapper.js.map +1 -0
  66. package/lib/index.d.ts +17 -0
  67. package/lib/index.d.ts.map +1 -0
  68. package/lib/index.js +21 -0
  69. package/lib/index.js.map +1 -0
  70. package/lib/labeledit/workflow-label-edit-validator.d.ts +21 -0
  71. package/lib/labeledit/workflow-label-edit-validator.d.ts.map +1 -0
  72. package/lib/labeledit/workflow-label-edit-validator.js +55 -0
  73. package/lib/labeledit/workflow-label-edit-validator.js.map +1 -0
  74. package/lib/layout/workflow-layout-configurator.d.ts +22 -0
  75. package/lib/layout/workflow-layout-configurator.d.ts.map +1 -0
  76. package/lib/layout/workflow-layout-configurator.js +38 -0
  77. package/lib/layout/workflow-layout-configurator.js.map +1 -0
  78. package/lib/marker/workflow-model-validator.d.ts +29 -0
  79. package/lib/marker/workflow-model-validator.d.ts.map +1 -0
  80. package/lib/marker/workflow-model-validator.js +150 -0
  81. package/lib/marker/workflow-model-validator.js.map +1 -0
  82. package/lib/model/workflow-navigation-target-resolver.d.ts +24 -0
  83. package/lib/model/workflow-navigation-target-resolver.d.ts.map +1 -0
  84. package/lib/model/workflow-navigation-target-resolver.js +40 -0
  85. package/lib/model/workflow-navigation-target-resolver.js.map +1 -0
  86. package/lib/provider/abstract-next-or-previous-navigation-target-provider.d.ts +29 -0
  87. package/lib/provider/abstract-next-or-previous-navigation-target-provider.d.ts.map +1 -0
  88. package/lib/provider/abstract-next-or-previous-navigation-target-provider.js +60 -0
  89. package/lib/provider/abstract-next-or-previous-navigation-target-provider.js.map +1 -0
  90. package/lib/provider/next-node-navigation-target-provider.d.ts +24 -0
  91. package/lib/provider/next-node-navigation-target-provider.d.ts.map +1 -0
  92. package/lib/provider/next-node-navigation-target-provider.js +28 -0
  93. package/lib/provider/next-node-navigation-target-provider.js.map +1 -0
  94. package/lib/provider/node-documentation-navigation-target-provider.d.ts +24 -0
  95. package/lib/provider/node-documentation-navigation-target-provider.d.ts.map +1 -0
  96. package/lib/provider/node-documentation-navigation-target-provider.js +50 -0
  97. package/lib/provider/node-documentation-navigation-target-provider.js.map +1 -0
  98. package/lib/provider/previous-node-navigation-target-provider.d.ts +24 -0
  99. package/lib/provider/previous-node-navigation-target-provider.d.ts.map +1 -0
  100. package/lib/provider/previous-node-navigation-target-provider.js +28 -0
  101. package/lib/provider/previous-node-navigation-target-provider.js.map +1 -0
  102. package/lib/provider/workflow-command-palette-action-provider.d.ts +25 -0
  103. package/lib/provider/workflow-command-palette-action-provider.d.ts.map +1 -0
  104. package/lib/provider/workflow-command-palette-action-provider.js +92 -0
  105. package/lib/provider/workflow-command-palette-action-provider.js.map +1 -0
  106. package/lib/provider/workflow-context-menu-item-provider.d.ts +21 -0
  107. package/lib/provider/workflow-context-menu-item-provider.d.ts.map +1 -0
  108. package/lib/provider/workflow-context-menu-item-provider.js +54 -0
  109. package/lib/provider/workflow-context-menu-item-provider.js.map +1 -0
  110. package/lib/util/model-types.d.ts +35 -0
  111. package/lib/util/model-types.d.ts.map +1 -0
  112. package/lib/util/model-types.js +60 -0
  113. package/lib/util/model-types.js.map +1 -0
  114. package/lib/workflow-diagram-configuration.d.ts +28 -0
  115. package/lib/workflow-diagram-configuration.d.ts.map +1 -0
  116. package/lib/workflow-diagram-configuration.js +125 -0
  117. package/lib/workflow-diagram-configuration.js.map +1 -0
  118. package/lib/workflow-diagram-module.d.ts +27 -0
  119. package/lib/workflow-diagram-module.d.ts.map +1 -0
  120. package/lib/workflow-diagram-module.js +99 -0
  121. package/lib/workflow-diagram-module.js.map +1 -0
  122. package/lib/workflow-glsp-server.d.ts +23 -0
  123. package/lib/workflow-glsp-server.d.ts.map +1 -0
  124. package/lib/workflow-glsp-server.js +54 -0
  125. package/lib/workflow-glsp-server.js.map +1 -0
  126. package/lib/workflow-model-index.d.ts +20 -0
  127. package/lib/workflow-model-index.d.ts.map +1 -0
  128. package/lib/workflow-model-index.js +43 -0
  129. package/lib/workflow-model-index.js.map +1 -0
  130. package/lib/workflow-popup-factory.d.ts +21 -0
  131. package/lib/workflow-popup-factory.d.ts.map +1 -0
  132. package/lib/workflow-popup-factory.js +54 -0
  133. package/lib/workflow-popup-factory.js.map +1 -0
  134. package/package.json +61 -0
  135. package/src/app.ts +35 -0
  136. package/src/graph-extension.ts +186 -0
  137. package/src/handler/create-activity-node-handler.ts +34 -0
  138. package/src/handler/create-automated-task-handler.ts +30 -0
  139. package/src/handler/create-category-handler.ts +36 -0
  140. package/src/handler/create-decision-node-handler.ts +30 -0
  141. package/src/handler/create-edge-handler.ts +25 -0
  142. package/src/handler/create-fork-node-handler.ts +24 -0
  143. package/src/handler/create-fork-or-join-node-handler.ts +26 -0
  144. package/src/handler/create-join-node-handler.ts +24 -0
  145. package/src/handler/create-manual-task-handler.ts +30 -0
  146. package/src/handler/create-merge-node-handler.ts +30 -0
  147. package/src/handler/create-task-handler.ts +38 -0
  148. package/src/handler/create-weighted-edge-handler.ts +27 -0
  149. package/src/handler/create-workflow-node-operation-handler.ts +56 -0
  150. package/src/handler/grid-snapper.ts +32 -0
  151. package/src/index.ts +19 -0
  152. package/src/labeledit/workflow-label-edit-validator.ts +39 -0
  153. package/src/layout/workflow-layout-configurator.ts +28 -0
  154. package/src/marker/workflow-model-validator.ts +137 -0
  155. package/src/model/workflow-navigation-target-resolver.ts +40 -0
  156. package/src/provider/abstract-next-or-previous-navigation-target-provider.ts +53 -0
  157. package/src/provider/next-node-navigation-target-provider.ts +31 -0
  158. package/src/provider/node-documentation-navigation-target-provider.ts +52 -0
  159. package/src/provider/previous-node-navigation-target-provider.ts +31 -0
  160. package/src/provider/workflow-command-palette-action-provider.ts +124 -0
  161. package/src/provider/workflow-context-menu-item-provider.ts +38 -0
  162. package/src/util/model-types.ts +55 -0
  163. package/src/workflow-diagram-configuration.ts +122 -0
  164. package/src/workflow-diagram-module.ts +107 -0
  165. package/src/workflow-glsp-server.ts +37 -0
  166. package/src/workflow-model-index.ts +31 -0
  167. package/src/workflow-popup-factory.ts +46 -0
@@ -0,0 +1,24 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2022 STMicroelectronics and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { NavigationTarget } from '@eclipse-glsp/protocol';
17
+ import { GModelState } from '@eclipse-glsp/server-node';
18
+ import { NavigationTargetResolution } from '@eclipse-glsp/server-node/lib/features/navigation/navigation-target-resolution';
19
+ import { NavigationTargetResolver } from '@eclipse-glsp/server-node/lib/features/navigation/navigation-target-resolver';
20
+ export declare class WorkflowNavigationTargetResolver extends NavigationTargetResolver {
21
+ protected readonly modelState: GModelState;
22
+ resolve(navigationTarget: NavigationTarget): Promise<NavigationTargetResolution>;
23
+ }
24
+ //# sourceMappingURL=workflow-navigation-target-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-navigation-target-resolver.d.ts","sourceRoot":"","sources":["../../src/model/workflow-navigation-target-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,gFAAgF,CAAC;AAC5H,OAAO,EAAE,wBAAwB,EAAE,MAAM,8EAA8E,CAAC;AAIxH,qBACa,gCAAiC,SAAQ,wBAAwB;IAE1E,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IAErC,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,0BAA0B,CAAC;CAYzF"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WorkflowNavigationTargetResolver = void 0;
13
+ const server_node_1 = require("@eclipse-glsp/server-node");
14
+ const navigation_target_resolution_1 = require("@eclipse-glsp/server-node/lib/features/navigation/navigation-target-resolution");
15
+ const navigation_target_resolver_1 = require("@eclipse-glsp/server-node/lib/features/navigation/navigation-target-resolver");
16
+ const inversify_1 = require("inversify");
17
+ const graph_extension_1 = require("../graph-extension");
18
+ let WorkflowNavigationTargetResolver = class WorkflowNavigationTargetResolver extends navigation_target_resolver_1.NavigationTargetResolver {
19
+ async resolve(navigationTarget) {
20
+ if (navigationTarget.args && navigationTarget.args['name']) {
21
+ const name = navigationTarget.args['name'];
22
+ const taskNodes = this.modelState.index.getAllByClass(graph_extension_1.TaskNode);
23
+ const element = taskNodes.find(node => name === node.name);
24
+ if (element) {
25
+ return new navigation_target_resolution_1.NavigationTargetResolution([element.id]);
26
+ }
27
+ return new navigation_target_resolution_1.NavigationTargetResolution([], this.createArgsWithWarning(`Couldn't find element with name ${name}`));
28
+ }
29
+ return navigation_target_resolution_1.NavigationTargetResolution.EMPTY;
30
+ }
31
+ };
32
+ __decorate([
33
+ inversify_1.inject(server_node_1.GModelState),
34
+ __metadata("design:type", server_node_1.GModelState)
35
+ ], WorkflowNavigationTargetResolver.prototype, "modelState", void 0);
36
+ WorkflowNavigationTargetResolver = __decorate([
37
+ inversify_1.injectable()
38
+ ], WorkflowNavigationTargetResolver);
39
+ exports.WorkflowNavigationTargetResolver = WorkflowNavigationTargetResolver;
40
+ //# sourceMappingURL=workflow-navigation-target-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-navigation-target-resolver.js","sourceRoot":"","sources":["../../src/model/workflow-navigation-target-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAgBA,2DAAwD;AACxD,iIAA4H;AAC5H,6HAAwH;AACxH,yCAA+C;AAC/C,wDAA8C;AAG9C,IAAa,gCAAgC,GAA7C,MAAa,gCAAiC,SAAQ,qDAAwB;IAI1E,KAAK,CAAC,OAAO,CAAC,gBAAkC;QAC5C,IAAI,gBAAgB,CAAC,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACxD,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAW,0BAAQ,CAAC,CAAC;YAC1E,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,OAAO,EAAE;gBACT,OAAO,IAAI,yDAA0B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;aACvD;YACD,OAAO,IAAI,yDAA0B,CAAC,EAAE,EAAE,IAAI,CAAC,qBAAqB,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC,CAAC;SACpH;QACD,OAAO,yDAA0B,CAAC,KAAK,CAAC;IAC5C,CAAC;CACJ,CAAA;AAdG;IADC,kBAAM,CAAC,yBAAW,CAAC;8BACW,yBAAW;oEAAC;AAFlC,gCAAgC;IAD5C,sBAAU,EAAE;GACA,gCAAgC,CAgB5C;AAhBY,4EAAgC"}
@@ -0,0 +1,29 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2022 STMicroelectronics and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { Args, EditorContext, NavigationTarget } from '@eclipse-glsp/protocol';
17
+ import { NavigationTargetProvider } from '@eclipse-glsp/server-node/lib/features/navigation/navigation-target-provider';
18
+ import { GEdge, GModelState } from '@eclipse-glsp/server-node';
19
+ import { TaskNode } from '../graph-extension';
20
+ export declare abstract class AbstractNextOrPreviousNavigationTargetProvider implements NavigationTargetProvider {
21
+ abstract targetTypeId: string;
22
+ protected readonly modelState: GModelState;
23
+ getTargets(editorContext: EditorContext): NavigationTarget[];
24
+ protected createNavigationTarget(sourceURI: string | undefined, id: string): NavigationTarget;
25
+ protected createElementIdMap(id: string): Args;
26
+ protected abstract getEdges(taskNode: TaskNode): GEdge[];
27
+ protected abstract getSourceOrTarget(edge: GEdge): string;
28
+ }
29
+ //# sourceMappingURL=abstract-next-or-previous-navigation-target-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-next-or-previous-navigation-target-provider.d.ts","sourceRoot":"","sources":["../../src/provider/abstract-next-or-previous-navigation-target-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8EAA8E,CAAC;AAExH,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,8BACsB,8CAA+C,YAAW,wBAAwB;IACpG,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAG9B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IAE3C,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,gBAAgB,EAAE;IAW5D,SAAS,CAAC,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,gBAAgB;IAI7F,SAAS,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAM9C,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE;IAExD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM;CAC5D"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AbstractNextOrPreviousNavigationTargetProvider = void 0;
13
+ /********************************************************************************
14
+ * Copyright (c) 2022 STMicroelectronics and others.
15
+ *
16
+ * This program and the accompanying materials are made available under the
17
+ * terms of the Eclipse Public License v. 2.0 which is available at
18
+ * http://www.eclipse.org/legal/epl-2.0.
19
+ *
20
+ * This Source Code may also be made available under the following Secondary
21
+ * Licenses when the conditions for such availability set forth in the Eclipse
22
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
23
+ * with the GNU Classpath Exception which is available at
24
+ * https://www.gnu.org/software/classpath/license.html.
25
+ *
26
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
27
+ ********************************************************************************/
28
+ const protocol_1 = require("@eclipse-glsp/protocol");
29
+ const inversify_1 = require("inversify");
30
+ const server_node_1 = require("@eclipse-glsp/server-node");
31
+ const graph_extension_1 = require("../graph-extension");
32
+ let AbstractNextOrPreviousNavigationTargetProvider = class AbstractNextOrPreviousNavigationTargetProvider {
33
+ getTargets(editorContext) {
34
+ const sourceUri = this.modelState.sourceUri;
35
+ const edges = [];
36
+ editorContext.selectedElementIds
37
+ .map(id => this.modelState.index.get(id))
38
+ .filter(e => e instanceof graph_extension_1.TaskNode)
39
+ .map(e => e)
40
+ .map(taskNode => edges.push(...this.getEdges(taskNode)));
41
+ return edges.map(edge => this.getSourceOrTarget(edge)).map(id => this.createNavigationTarget(sourceUri, id));
42
+ }
43
+ createNavigationTarget(sourceURI, id) {
44
+ return { uri: sourceURI !== null && sourceURI !== void 0 ? sourceURI : '', args: this.createElementIdMap(id) };
45
+ }
46
+ createElementIdMap(id) {
47
+ const map = {};
48
+ map[protocol_1.NavigationTarget.ELEMENT_IDS] = id;
49
+ return map;
50
+ }
51
+ };
52
+ __decorate([
53
+ inversify_1.inject(server_node_1.GModelState),
54
+ __metadata("design:type", server_node_1.GModelState)
55
+ ], AbstractNextOrPreviousNavigationTargetProvider.prototype, "modelState", void 0);
56
+ AbstractNextOrPreviousNavigationTargetProvider = __decorate([
57
+ inversify_1.injectable()
58
+ ], AbstractNextOrPreviousNavigationTargetProvider);
59
+ exports.AbstractNextOrPreviousNavigationTargetProvider = AbstractNextOrPreviousNavigationTargetProvider;
60
+ //# sourceMappingURL=abstract-next-or-previous-navigation-target-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-next-or-previous-navigation-target-provider.js","sourceRoot":"","sources":["../../src/provider/abstract-next-or-previous-navigation-target-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAA+E;AAE/E,yCAA+C;AAC/C,2DAA+D;AAC/D,wDAA8C;AAG9C,IAAsB,8CAA8C,GAApE,MAAsB,8CAA8C;IAMhE,UAAU,CAAC,aAA4B;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAC5C,MAAM,KAAK,GAAY,EAAE,CAAC;QAC1B,aAAa,CAAC,kBAAkB;aAC3B,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACxC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,0BAAQ,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAa,CAAC;aACvB,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IACjH,CAAC;IAES,sBAAsB,CAAC,SAA6B,EAAE,EAAU;QACtE,OAAO,EAAE,GAAG,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;IACvE,CAAC;IAES,kBAAkB,CAAC,EAAU;QACnC,MAAM,GAAG,GAAS,EAAE,CAAC;QACrB,GAAG,CAAC,2BAAgB,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC;IACf,CAAC;CAKJ,CAAA;AA1BG;IADC,kBAAM,CAAC,yBAAW,CAAC;8BACW,yBAAW;kFAAC;AAJzB,8CAA8C;IADnE,sBAAU,EAAE;GACS,8CAA8C,CA8BnE;AA9BqB,wGAA8C"}
@@ -0,0 +1,24 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2022 STMicroelectronics and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { GEdge } from '@eclipse-glsp/graph';
17
+ import { TaskNode } from '../graph-extension';
18
+ import { AbstractNextOrPreviousNavigationTargetProvider } from './abstract-next-or-previous-navigation-target-provider';
19
+ export declare class NextNodeNavigationTargetProvider extends AbstractNextOrPreviousNavigationTargetProvider {
20
+ targetTypeId: string;
21
+ protected getEdges(taskNode: TaskNode): GEdge[];
22
+ protected getSourceOrTarget(edge: GEdge): string;
23
+ }
24
+ //# sourceMappingURL=next-node-navigation-target-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-node-navigation-target-provider.d.ts","sourceRoot":"","sources":["../../src/provider/next-node-navigation-target-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,8CAA8C,EAAE,MAAM,wDAAwD,CAAC;AAGxH,qBACa,gCAAiC,SAAQ,8CAA8C;IAChG,YAAY,SAAU;IACtB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE;IAI/C,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM;CAGnD"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.NextNodeNavigationTargetProvider = void 0;
10
+ const abstract_next_or_previous_navigation_target_provider_1 = require("./abstract-next-or-previous-navigation-target-provider");
11
+ const inversify_1 = require("inversify");
12
+ let NextNodeNavigationTargetProvider = class NextNodeNavigationTargetProvider extends abstract_next_or_previous_navigation_target_provider_1.AbstractNextOrPreviousNavigationTargetProvider {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.targetTypeId = 'next';
16
+ }
17
+ getEdges(taskNode) {
18
+ return this.modelState.index.getOutgoingEdges(taskNode);
19
+ }
20
+ getSourceOrTarget(edge) {
21
+ return edge.targetId;
22
+ }
23
+ };
24
+ NextNodeNavigationTargetProvider = __decorate([
25
+ inversify_1.injectable()
26
+ ], NextNodeNavigationTargetProvider);
27
+ exports.NextNodeNavigationTargetProvider = NextNodeNavigationTargetProvider;
28
+ //# sourceMappingURL=next-node-navigation-target-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-node-navigation-target-provider.js","sourceRoot":"","sources":["../../src/provider/next-node-navigation-target-provider.ts"],"names":[],"mappings":";;;;;;;;;AAiBA,iIAAwH;AACxH,yCAAuC;AAGvC,IAAa,gCAAgC,GAA7C,MAAa,gCAAiC,SAAQ,qGAA8C;IAApG;;QACI,iBAAY,GAAG,MAAM,CAAC;IAQ1B,CAAC;IAPa,QAAQ,CAAC,QAAkB;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAES,iBAAiB,CAAC,IAAW;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ,CAAA;AATY,gCAAgC;IAD5C,sBAAU,EAAE;GACA,gCAAgC,CAS5C;AATY,4EAAgC"}
@@ -0,0 +1,24 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2022 STMicroelectronics and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { EditorContext, NavigationTarget } from '@eclipse-glsp/protocol';
17
+ import { GModelState } from '@eclipse-glsp/server-node';
18
+ import { NavigationTargetProvider } from '@eclipse-glsp/server-node/lib/features/navigation/navigation-target-provider';
19
+ export declare class NodeDocumentationNavigationTargetProvider implements NavigationTargetProvider {
20
+ targetTypeId: string;
21
+ protected readonly modelState: GModelState;
22
+ getTargets(editorContext: EditorContext): NavigationTarget[];
23
+ }
24
+ //# sourceMappingURL=node-documentation-navigation-target-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-documentation-navigation-target-provider.d.ts","sourceRoot":"","sources":["../../src/provider/node-documentation-navigation-target-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAQ,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8EAA8E,CAAC;AAKxH,qBACa,yCAA0C,YAAW,wBAAwB;IACtF,YAAY,SAAmB;IAG/B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IAE3C,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,gBAAgB,EAAE;CAsB/D"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.NodeDocumentationNavigationTargetProvider = void 0;
13
+ const server_node_1 = require("@eclipse-glsp/server-node");
14
+ const inversify_1 = require("inversify");
15
+ const graph_extension_1 = require("../graph-extension");
16
+ const json_opener_options_1 = require("@eclipse-glsp/server-node/lib/features/navigation/json-opener-options");
17
+ let NodeDocumentationNavigationTargetProvider = class NodeDocumentationNavigationTargetProvider {
18
+ constructor() {
19
+ this.targetTypeId = 'documentation';
20
+ }
21
+ getTargets(editorContext) {
22
+ if (editorContext.selectedElementIds.length === 1) {
23
+ const taskNode = this.modelState.index.findByClass(editorContext.selectedElementIds[0], graph_extension_1.TaskNode);
24
+ if (!taskNode || !(taskNode.id === 'task0')) {
25
+ return [];
26
+ }
27
+ const sourceUri = this.modelState.sourceUri;
28
+ if (!sourceUri) {
29
+ return [];
30
+ }
31
+ const docUri = sourceUri.replace('.wf', '.md');
32
+ const args = {};
33
+ args['jsonOpenerOptions'] = new json_opener_options_1.JsonOpenerOptions({
34
+ start: { line: 2, character: 3 },
35
+ end: { line: 2, character: 7 }
36
+ }).toJson();
37
+ return [{ uri: docUri, args: args }];
38
+ }
39
+ return [];
40
+ }
41
+ };
42
+ __decorate([
43
+ inversify_1.inject(server_node_1.GModelState),
44
+ __metadata("design:type", server_node_1.GModelState)
45
+ ], NodeDocumentationNavigationTargetProvider.prototype, "modelState", void 0);
46
+ NodeDocumentationNavigationTargetProvider = __decorate([
47
+ inversify_1.injectable()
48
+ ], NodeDocumentationNavigationTargetProvider);
49
+ exports.NodeDocumentationNavigationTargetProvider = NodeDocumentationNavigationTargetProvider;
50
+ //# sourceMappingURL=node-documentation-navigation-target-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-documentation-navigation-target-provider.js","sourceRoot":"","sources":["../../src/provider/node-documentation-navigation-target-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAgBA,2DAAwD;AAExD,yCAA+C;AAC/C,wDAA8C;AAC9C,+GAA0G;AAG1G,IAAa,yCAAyC,GAAtD,MAAa,yCAAyC;IAAtD;QACI,iBAAY,GAAG,eAAe,CAAC;IA2BnC,CAAC;IAtBG,UAAU,CAAC,aAA4B;QACnC,IAAI,aAAa,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,0BAAQ,CAAC,CAAC;YAClG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE;gBACzC,OAAO,EAAE,CAAC;aACb;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAC5C,IAAI,CAAC,SAAS,EAAE;gBACZ,OAAO,EAAE,CAAC;aACb;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAS,EAAE,CAAC;YACtB,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,uCAAiB,CAAC;gBAC9C,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;gBAChC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;aACjC,CAAC,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;SACxC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ,CAAA;AAxBG;IADC,kBAAM,CAAC,yBAAW,CAAC;8BACW,yBAAW;6EAAC;AAJlC,yCAAyC;IADrD,sBAAU,EAAE;GACA,yCAAyC,CA4BrD;AA5BY,8FAAyC"}
@@ -0,0 +1,24 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2022 STMicroelectronics and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { GEdge } from '@eclipse-glsp/graph';
17
+ import { TaskNode } from '../graph-extension';
18
+ import { AbstractNextOrPreviousNavigationTargetProvider } from './abstract-next-or-previous-navigation-target-provider';
19
+ export declare class PreviousNodeNavigationTargetProvider extends AbstractNextOrPreviousNavigationTargetProvider {
20
+ targetTypeId: string;
21
+ protected getEdges(taskNode: TaskNode): GEdge[];
22
+ protected getSourceOrTarget(edge: GEdge): string;
23
+ }
24
+ //# sourceMappingURL=previous-node-navigation-target-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previous-node-navigation-target-provider.d.ts","sourceRoot":"","sources":["../../src/provider/previous-node-navigation-target-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,8CAA8C,EAAE,MAAM,wDAAwD,CAAC;AAGxH,qBACa,oCAAqC,SAAQ,8CAA8C;IACpG,YAAY,SAAc;IAC1B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE;IAI/C,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM;CAGnD"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.PreviousNodeNavigationTargetProvider = void 0;
10
+ const abstract_next_or_previous_navigation_target_provider_1 = require("./abstract-next-or-previous-navigation-target-provider");
11
+ const inversify_1 = require("inversify");
12
+ let PreviousNodeNavigationTargetProvider = class PreviousNodeNavigationTargetProvider extends abstract_next_or_previous_navigation_target_provider_1.AbstractNextOrPreviousNavigationTargetProvider {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.targetTypeId = 'previous';
16
+ }
17
+ getEdges(taskNode) {
18
+ return this.modelState.index.getIncomingEdges(taskNode);
19
+ }
20
+ getSourceOrTarget(edge) {
21
+ return edge.sourceId;
22
+ }
23
+ };
24
+ PreviousNodeNavigationTargetProvider = __decorate([
25
+ inversify_1.injectable()
26
+ ], PreviousNodeNavigationTargetProvider);
27
+ exports.PreviousNodeNavigationTargetProvider = PreviousNodeNavigationTargetProvider;
28
+ //# sourceMappingURL=previous-node-navigation-target-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previous-node-navigation-target-provider.js","sourceRoot":"","sources":["../../src/provider/previous-node-navigation-target-provider.ts"],"names":[],"mappings":";;;;;;;;;AAiBA,iIAAwH;AACxH,yCAAuC;AAGvC,IAAa,oCAAoC,GAAjD,MAAa,oCAAqC,SAAQ,qGAA8C;IAAxG;;QACI,iBAAY,GAAG,UAAU,CAAC;IAQ9B,CAAC;IAPa,QAAQ,CAAC,QAAkB;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAES,iBAAiB,CAAC,IAAW;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ,CAAA;AATY,oCAAoC;IADhD,sBAAU,EAAE;GACA,oCAAoC,CAShD;AATY,oFAAoC"}
@@ -0,0 +1,25 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2022 STMicroelectronics and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { Args, CommandPaletteActionProvider, GModelElement, GModelState, LabeledAction, Point } from '@eclipse-glsp/server-node';
17
+ export declare class WorkflowCommandPaletteActionProvider extends CommandPaletteActionProvider {
18
+ protected modelState: GModelState;
19
+ getPaletteActions(selectedElementIds: string[], selectedElements: GModelElement[], position: Point, args?: Args): LabeledAction[];
20
+ private createEdgeActions;
21
+ private createWeightedEdgeAction;
22
+ private createEdgeAction;
23
+ private getLabel;
24
+ }
25
+ //# sourceMappingURL=workflow-command-palette-action-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-command-palette-action-provider.d.ts","sourceRoot":"","sources":["../../src/provider/workflow-command-palette-action-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,IAAI,EACJ,4BAA4B,EAK5B,aAAa,EACb,WAAW,EAEX,aAAa,EAEb,KAAK,EACR,MAAM,2BAA2B,CAAC;AAKnC,qBACa,oCAAqC,SAAQ,4BAA4B;IAElF,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC;IAElC,iBAAiB,CAAC,kBAAkB,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,aAAa,EAAE;IA8DjI,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,QAAQ;CAMnB"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WorkflowCommandPaletteActionProvider = void 0;
13
+ /********************************************************************************
14
+ * Copyright (c) 2022 STMicroelectronics and others.
15
+ *
16
+ * This program and the accompanying materials are made available under the
17
+ * terms of the Eclipse Public License v. 2.0 which is available at
18
+ * http://www.eclipse.org/legal/epl-2.0.
19
+ *
20
+ * This Source Code may also be made available under the following Secondary
21
+ * Licenses when the conditions for such availability set forth in the Eclipse
22
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
23
+ * with the GNU Classpath Exception which is available at
24
+ * https://www.gnu.org/software/classpath/license.html.
25
+ *
26
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
27
+ ********************************************************************************/
28
+ const server_node_1 = require("@eclipse-glsp/server-node");
29
+ const inversify_1 = require("inversify");
30
+ const graph_extension_1 = require("../graph-extension");
31
+ const model_types_1 = require("../util/model-types");
32
+ let WorkflowCommandPaletteActionProvider = class WorkflowCommandPaletteActionProvider extends server_node_1.CommandPaletteActionProvider {
33
+ getPaletteActions(selectedElementIds, selectedElements, position, args) {
34
+ const actions = [];
35
+ if (this.modelState.isReadonly) {
36
+ return actions;
37
+ }
38
+ const index = this.modelState.index;
39
+ // Create actions
40
+ actions.push(new server_node_1.LabeledAction('Create Automated Task', [new server_node_1.CreateNodeOperation(model_types_1.ModelTypes.AUTOMATED_TASK, position !== null && position !== void 0 ? position : server_node_1.ORIGIN_POINT)], 'fa-plus-square'), new server_node_1.LabeledAction('Create Manual Task', [new server_node_1.CreateNodeOperation(model_types_1.ModelTypes.MANUAL_TASK, position !== null && position !== void 0 ? position : server_node_1.ORIGIN_POINT)], 'fa-plus-square'), new server_node_1.LabeledAction('Create Merge Node', [new server_node_1.CreateNodeOperation(model_types_1.ModelTypes.MERGE_NODE, position !== null && position !== void 0 ? position : server_node_1.ORIGIN_POINT)], 'fa-plus-square'), new server_node_1.LabeledAction('Create Decision Node', [new server_node_1.CreateNodeOperation(model_types_1.ModelTypes.DECISION_NODE, position !== null && position !== void 0 ? position : server_node_1.ORIGIN_POINT)], 'fa-plus-square'), new server_node_1.LabeledAction('Create Category', [new server_node_1.CreateNodeOperation(model_types_1.ModelTypes.CATEGORY, position !== null && position !== void 0 ? position : server_node_1.ORIGIN_POINT)], 'fa-plus-square'));
41
+ // Create edge action between two nodes
42
+ if (selectedElements.length === 1) {
43
+ const element = selectedElements[0];
44
+ if (element instanceof server_node_1.GNode) {
45
+ actions.push(...this.createEdgeActions(element, index.getAllByClass(graph_extension_1.TaskNode)));
46
+ }
47
+ }
48
+ else if (selectedElements.length === 2) {
49
+ const source = selectedElements[0];
50
+ const target = selectedElements[1];
51
+ if (source instanceof graph_extension_1.TaskNode && target instanceof graph_extension_1.TaskNode) {
52
+ actions.push(this.createEdgeAction(`Create Edge from ${this.getLabel(source)} to ${this.getLabel(target)}`, source, target));
53
+ actions.push(this.createWeightedEdgeAction(`Create Weighted Edge from ${this.getLabel(source)} to ${this.getLabel(target)}`, source, target));
54
+ }
55
+ }
56
+ // Delete action
57
+ if (selectedElements.length === 1) {
58
+ actions.push(new server_node_1.LabeledAction('Delete', [new server_node_1.DeleteElementOperation(selectedElementIds)], 'fa-minus-square'));
59
+ }
60
+ else if (selectedElements.length > 1) {
61
+ actions.push(new server_node_1.LabeledAction('Delete All', [new server_node_1.DeleteElementOperation(selectedElementIds)], 'fa-minus-square'));
62
+ }
63
+ return actions;
64
+ }
65
+ createEdgeActions(source, targets) {
66
+ const actions = [];
67
+ targets.forEach(node => actions.push(this.createEdgeAction(`Create Edge to ${this.getLabel(node)}`, source, node)));
68
+ targets.forEach(node => actions.push(this.createWeightedEdgeAction(`Create Weighted Edge to ${this.getLabel(node)}`, source, node)));
69
+ return actions;
70
+ }
71
+ createWeightedEdgeAction(label, source, node) {
72
+ return new server_node_1.LabeledAction(label, [new server_node_1.CreateEdgeOperation(model_types_1.ModelTypes.WEIGHTED_EDGE, source.id, node.id)], 'fa-plus-square');
73
+ }
74
+ createEdgeAction(label, source, node) {
75
+ return new server_node_1.LabeledAction(label, [new server_node_1.CreateEdgeOperation(server_node_1.DefaultTypes.EDGE, source.id, node.id)], 'fa-plus-square');
76
+ }
77
+ getLabel(node) {
78
+ if (node instanceof graph_extension_1.TaskNode) {
79
+ return node.name;
80
+ }
81
+ return node.id;
82
+ }
83
+ };
84
+ __decorate([
85
+ inversify_1.inject(server_node_1.GModelState),
86
+ __metadata("design:type", server_node_1.GModelState)
87
+ ], WorkflowCommandPaletteActionProvider.prototype, "modelState", void 0);
88
+ WorkflowCommandPaletteActionProvider = __decorate([
89
+ inversify_1.injectable()
90
+ ], WorkflowCommandPaletteActionProvider);
91
+ exports.WorkflowCommandPaletteActionProvider = WorkflowCommandPaletteActionProvider;
92
+ //# sourceMappingURL=workflow-command-palette-action-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-command-palette-action-provider.js","sourceRoot":"","sources":["../../src/provider/workflow-command-palette-action-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2022 STMicroelectronics and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { Args, ContextMenuItemProvider, GModelState, MenuItem, Point } from '@eclipse-glsp/server-node';
17
+ export declare class WorkflowContextMenuItemProvider extends ContextMenuItemProvider {
18
+ protected modelState: GModelState;
19
+ getItems(selectedElementIds: string[], position: Point, args?: Args): MenuItem[];
20
+ }
21
+ //# sourceMappingURL=workflow-context-menu-item-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-context-menu-item-provider.d.ts","sourceRoot":"","sources":["../../src/provider/workflow-context-menu-item-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAuB,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAK7H,qBACa,+BAAgC,SAAQ,uBAAuB;IAExE,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC;IAElC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE;CAYnF"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WorkflowContextMenuItemProvider = void 0;
13
+ /********************************************************************************
14
+ * Copyright (c) 2022 STMicroelectronics and others.
15
+ *
16
+ * This program and the accompanying materials are made available under the
17
+ * terms of the Eclipse Public License v. 2.0 which is available at
18
+ * http://www.eclipse.org/legal/epl-2.0.
19
+ *
20
+ * This Source Code may also be made available under the following Secondary
21
+ * Licenses when the conditions for such availability set forth in the Eclipse
22
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
23
+ * with the GNU Classpath Exception which is available at
24
+ * https://www.gnu.org/software/classpath/license.html.
25
+ *
26
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
27
+ ********************************************************************************/
28
+ const server_node_1 = require("@eclipse-glsp/server-node");
29
+ const inversify_1 = require("inversify");
30
+ const grid_snapper_1 = require("../handler/grid-snapper");
31
+ const model_types_1 = require("../util/model-types");
32
+ let WorkflowContextMenuItemProvider = class WorkflowContextMenuItemProvider extends server_node_1.ContextMenuItemProvider {
33
+ getItems(selectedElementIds, position, args) {
34
+ if (this.modelState.isReadonly) {
35
+ return [];
36
+ }
37
+ const snappedPosition = grid_snapper_1.GridSnapper.snap(position);
38
+ const newAutTask = new server_node_1.MenuItem('newAutoTask', 'Automated Task', [
39
+ new server_node_1.CreateNodeOperation(model_types_1.ModelTypes.AUTOMATED_TASK, snappedPosition)
40
+ ]);
41
+ const newManTask = new server_node_1.MenuItem('newManualTask', 'Manual Task', [new server_node_1.CreateNodeOperation(model_types_1.ModelTypes.MANUAL_TASK, snappedPosition)]);
42
+ const newChildMenu = new server_node_1.MenuItem('new', 'New', undefined, [newAutTask, newManTask], 'add', '0_new');
43
+ return [newChildMenu];
44
+ }
45
+ };
46
+ __decorate([
47
+ inversify_1.inject(server_node_1.GModelState),
48
+ __metadata("design:type", server_node_1.GModelState)
49
+ ], WorkflowContextMenuItemProvider.prototype, "modelState", void 0);
50
+ WorkflowContextMenuItemProvider = __decorate([
51
+ inversify_1.injectable()
52
+ ], WorkflowContextMenuItemProvider);
53
+ exports.WorkflowContextMenuItemProvider = WorkflowContextMenuItemProvider;
54
+ //# sourceMappingURL=workflow-context-menu-item-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-context-menu-item-provider.js","sourceRoot":"","sources":["../../src/provider/workflow-context-menu-item-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,2DAA6H;AAC7H,yCAA+C;AAC/C,0DAAsD;AACtD,qDAAiD;AAGjD,IAAa,+BAA+B,GAA5C,MAAa,+BAAgC,SAAQ,qCAAuB;IAIxE,QAAQ,CAAC,kBAA4B,EAAE,QAAe,EAAE,IAAW;QAC/D,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;YAC5B,OAAO,EAAE,CAAC;SACb;QACD,MAAM,eAAe,GAAG,0BAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,sBAAQ,CAAC,aAAa,EAAE,gBAAgB,EAAE;YAC7D,IAAI,iCAAmB,CAAC,wBAAU,CAAC,cAAc,EAAE,eAAe,CAAC;SACtE,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,sBAAQ,CAAC,eAAe,EAAE,aAAa,EAAE,CAAC,IAAI,iCAAmB,CAAC,wBAAU,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;QACpI,MAAM,YAAY,GAAG,IAAI,sBAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACrG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;CACJ,CAAA;AAdG;IADC,kBAAM,CAAC,yBAAW,CAAC;8BACE,yBAAW;mEAAC;AAFzB,+BAA+B;IAD3C,sBAAU,EAAE;GACA,+BAA+B,CAgB3C;AAhBY,0EAA+B"}