nuxeo-development-framework 4.0.2 → 4.0.3

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 (132) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +1637 -80
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/diagrams/components/base-node.component.js +41 -0
  4. package/esm2015/lib/components/diagrams/components/circle-node/circle-node.component.js +20 -0
  5. package/esm2015/lib/components/diagrams/components/content-node/content-node.component.js +21 -0
  6. package/esm2015/lib/components/diagrams/components/custom-connection.component.js +48 -0
  7. package/esm2015/lib/components/diagrams/components/custom-socket.component.js +34 -0
  8. package/esm2015/lib/components/diagrams/components/index.js +12 -0
  9. package/esm2015/lib/components/diagrams/components/node-icon.component.js +35 -0
  10. package/esm2015/lib/components/diagrams/components/node-inputs.component.js +62 -0
  11. package/esm2015/lib/components/diagrams/components/node-outputs.component.js +58 -0
  12. package/esm2015/lib/components/diagrams/components/remove-button.component.js +65 -0
  13. package/esm2015/lib/components/diagrams/components/status-icon.component.js +37 -0
  14. package/esm2015/lib/components/diagrams/components/template-node/template-node.component.js +41 -0
  15. package/esm2015/lib/components/diagrams/components/zoom-control.component.js +62 -0
  16. package/esm2015/lib/components/diagrams/constants/defaults.js +19 -0
  17. package/esm2015/lib/components/diagrams/constants/direction.js +7 -0
  18. package/esm2015/lib/components/diagrams/constants/index.js +8 -0
  19. package/esm2015/lib/components/diagrams/constants/message-type.js +5 -0
  20. package/esm2015/lib/components/diagrams/constants/node-type.js +7 -0
  21. package/esm2015/lib/components/diagrams/constants/notify-events.js +4 -0
  22. package/esm2015/lib/components/diagrams/constants/sizes.js +7 -0
  23. package/esm2015/lib/components/diagrams/constants/status.js +9 -0
  24. package/esm2015/lib/components/diagrams/diagrams.module.js +73 -0
  25. package/esm2015/lib/components/diagrams/directive/diagram.directive.js +83 -0
  26. package/esm2015/lib/components/diagrams/directive/index.js +2 -0
  27. package/esm2015/lib/components/diagrams/editor/customize.js +58 -0
  28. package/esm2015/lib/components/diagrams/editor/editor.js +95 -0
  29. package/esm2015/lib/components/diagrams/editor/index.js +5 -0
  30. package/esm2015/lib/components/diagrams/editor/overrides/connection-path.transformers.js +25 -0
  31. package/esm2015/lib/components/diagrams/editor/overrides/index.js +2 -0
  32. package/esm2015/lib/components/diagrams/editor/path-plugin.js +17 -0
  33. package/esm2015/lib/components/diagrams/editor/socket-position-watcher.js +7 -0
  34. package/esm2015/lib/components/diagrams/index.js +2 -0
  35. package/esm2015/lib/components/diagrams/models/base-node.model.js +25 -0
  36. package/esm2015/lib/components/diagrams/models/circle-node.model.js +10 -0
  37. package/esm2015/lib/components/diagrams/models/connection.model.js +8 -0
  38. package/esm2015/lib/components/diagrams/models/content-node.model.js +7 -0
  39. package/esm2015/lib/components/diagrams/models/index.js +7 -0
  40. package/esm2015/lib/components/diagrams/models/socket.model.js +8 -0
  41. package/esm2015/lib/components/diagrams/models/template-node.model.js +12 -0
  42. package/esm2015/lib/components/diagrams/public-api.js +9 -0
  43. package/esm2015/lib/components/diagrams/services/diagram-plugins.service.js +19 -0
  44. package/esm2015/lib/components/diagrams/services/diagram.service.js +174 -0
  45. package/esm2015/lib/components/diagrams/services/index.js +5 -0
  46. package/esm2015/lib/components/diagrams/services/message.service.js +24 -0
  47. package/esm2015/lib/components/diagrams/services/workflow.service.js +244 -0
  48. package/esm2015/lib/components/diagrams/types/common.type.js +2 -0
  49. package/esm2015/lib/components/diagrams/types/customization.type.js +2 -0
  50. package/esm2015/lib/components/diagrams/types/diagram-config.type.js +2 -0
  51. package/esm2015/lib/components/diagrams/types/diagram-editor.type.js +2 -0
  52. package/esm2015/lib/components/diagrams/types/emitter-type.js +2 -0
  53. package/esm2015/lib/components/diagrams/types/index.js +14 -0
  54. package/esm2015/lib/components/diagrams/types/layout.type.js +2 -0
  55. package/esm2015/lib/components/diagrams/types/node-content.js +2 -0
  56. package/esm2015/lib/components/diagrams/types/node-definition.js +2 -0
  57. package/esm2015/lib/components/diagrams/types/node-status.type.js +2 -0
  58. package/esm2015/lib/components/diagrams/types/node.type.js +2 -0
  59. package/esm2015/lib/components/diagrams/types/notify-event.type.js +2 -0
  60. package/esm2015/lib/components/diagrams/types/path.type.js +2 -0
  61. package/esm2015/lib/components/diagrams/types/schemes.type.js +2 -0
  62. package/esm2015/lib/components/diagrams/utilities/index.js +3 -0
  63. package/esm2015/lib/components/diagrams/utilities/remove.util.js +95 -0
  64. package/esm2015/lib/components/diagrams/utilities/serialize.js +23 -0
  65. package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +2 -1
  66. package/esm2015/public-api.js +3 -2
  67. package/fesm2015/nuxeo-development-framework.js +1537 -74
  68. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  69. package/lib/components/diagrams/components/base-node.component.d.ts +29 -0
  70. package/lib/components/diagrams/components/circle-node/circle-node.component.d.ts +7 -0
  71. package/lib/components/diagrams/components/content-node/content-node.component.d.ts +8 -0
  72. package/lib/components/diagrams/components/custom-connection.component.d.ts +8 -0
  73. package/lib/components/diagrams/components/custom-socket.component.d.ts +6 -0
  74. package/lib/components/diagrams/components/index.d.ts +11 -0
  75. package/lib/components/diagrams/components/node-icon.component.d.ts +8 -0
  76. package/lib/components/diagrams/components/node-inputs.component.d.ts +12 -0
  77. package/lib/components/diagrams/components/node-outputs.component.d.ts +12 -0
  78. package/lib/components/diagrams/components/remove-button.component.d.ts +7 -0
  79. package/lib/components/diagrams/components/status-icon.component.d.ts +8 -0
  80. package/lib/components/diagrams/components/template-node/template-node.component.d.ts +17 -0
  81. package/lib/components/diagrams/components/zoom-control.component.d.ts +11 -0
  82. package/lib/components/diagrams/constants/defaults.d.ts +2 -0
  83. package/lib/components/diagrams/constants/direction.d.ts +6 -0
  84. package/lib/components/diagrams/constants/index.d.ts +7 -0
  85. package/lib/components/diagrams/constants/message-type.d.ts +4 -0
  86. package/lib/components/diagrams/constants/node-type.d.ts +6 -0
  87. package/lib/components/diagrams/constants/notify-events.d.ts +3 -0
  88. package/lib/components/diagrams/constants/sizes.d.ts +6 -0
  89. package/lib/components/diagrams/constants/status.d.ts +8 -0
  90. package/lib/components/diagrams/diagrams.module.d.ts +25 -0
  91. package/lib/components/diagrams/directive/diagram.directive.d.ts +27 -0
  92. package/lib/components/diagrams/directive/index.d.ts +1 -0
  93. package/lib/components/diagrams/editor/customize.d.ts +25 -0
  94. package/lib/components/diagrams/editor/editor.d.ts +3 -0
  95. package/lib/components/diagrams/editor/index.d.ts +4 -0
  96. package/lib/components/diagrams/editor/overrides/connection-path.transformers.d.ts +7 -0
  97. package/lib/components/diagrams/editor/overrides/index.d.ts +1 -0
  98. package/lib/components/diagrams/editor/path-plugin.d.ts +4 -0
  99. package/lib/components/diagrams/editor/socket-position-watcher.d.ts +3 -0
  100. package/lib/components/diagrams/index.d.ts +1 -0
  101. package/lib/components/diagrams/models/base-node.model.d.ts +21 -0
  102. package/lib/components/diagrams/models/circle-node.model.d.ts +7 -0
  103. package/lib/components/diagrams/models/connection.model.d.ts +8 -0
  104. package/lib/components/diagrams/models/content-node.model.d.ts +5 -0
  105. package/lib/components/diagrams/models/index.d.ts +6 -0
  106. package/lib/components/diagrams/models/socket.model.d.ts +5 -0
  107. package/lib/components/diagrams/models/template-node.model.d.ts +8 -0
  108. package/lib/components/diagrams/public-api.d.ts +8 -0
  109. package/lib/components/diagrams/services/diagram-plugins.service.d.ts +16 -0
  110. package/lib/components/diagrams/services/diagram.service.d.ts +42 -0
  111. package/lib/components/diagrams/services/index.d.ts +4 -0
  112. package/lib/components/diagrams/services/message.service.d.ts +10 -0
  113. package/lib/components/diagrams/services/workflow.service.d.ts +81 -0
  114. package/lib/components/diagrams/types/common.type.d.ts +4 -0
  115. package/lib/components/diagrams/types/customization.type.d.ts +10 -0
  116. package/lib/components/diagrams/types/diagram-config.type.d.ts +36 -0
  117. package/lib/components/diagrams/types/diagram-editor.type.d.ts +25 -0
  118. package/lib/components/diagrams/types/emitter-type.d.ts +5 -0
  119. package/lib/components/diagrams/types/index.d.ts +13 -0
  120. package/lib/components/diagrams/types/layout.type.d.ts +13 -0
  121. package/lib/components/diagrams/types/node-content.d.ts +9 -0
  122. package/lib/components/diagrams/types/node-definition.d.ts +19 -0
  123. package/lib/components/diagrams/types/node-status.type.d.ts +2 -0
  124. package/lib/components/diagrams/types/node.type.d.ts +2 -0
  125. package/lib/components/diagrams/types/notify-event.type.d.ts +2 -0
  126. package/lib/components/diagrams/types/path.type.d.ts +17 -0
  127. package/lib/components/diagrams/types/schemes.type.d.ts +3 -0
  128. package/lib/components/diagrams/utilities/index.d.ts +2 -0
  129. package/lib/components/diagrams/utilities/remove.util.d.ts +30 -0
  130. package/lib/components/diagrams/utilities/serialize.d.ts +15 -0
  131. package/package.json +14 -2
  132. package/public-api.d.ts +2 -1
@@ -0,0 +1,25 @@
1
+ import { ClassicPreset } from 'rete';
2
+ import { IN_OUT_DIRECTION, NODE_HEIGHT, NODE_TYPE, NODE_WIDTH } from '../constants';
3
+ export class BaseNodeClass extends ClassicPreset.Node {
4
+ constructor(config) {
5
+ super(config.label);
6
+ this.type = NODE_TYPE.content;
7
+ this.width = NODE_WIDTH;
8
+ this.height = NODE_HEIGHT;
9
+ this.directions = {
10
+ inputs: IN_OUT_DIRECTION.start,
11
+ outputs: IN_OUT_DIRECTION.end,
12
+ };
13
+ this.name = config === null || config === void 0 ? void 0 : config.name;
14
+ this.directions = (config === null || config === void 0 ? void 0 : config.directions) || this.directions;
15
+ this.type = config.type || NODE_TYPE.content;
16
+ this.description = config === null || config === void 0 ? void 0 : config.description;
17
+ this.status = config === null || config === void 0 ? void 0 : config.status;
18
+ this.width = (config === null || config === void 0 ? void 0 : config.width) || NODE_WIDTH;
19
+ this.height = (config === null || config === void 0 ? void 0 : config.height) || NODE_HEIGHT;
20
+ this.content = config === null || config === void 0 ? void 0 : config.content;
21
+ this.config = config === null || config === void 0 ? void 0 : config.config;
22
+ this.styleClass = config === null || config === void 0 ? void 0 : config.styleClass;
23
+ }
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1ub2RlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kaWFncmFtcy9tb2RlbHMvYmFzZS1ub2RlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBV3BGLE1BQU0sT0FBZ0IsYUFDcEIsU0FBUSxhQUFhLENBQUMsSUFBSTtJQXNCMUIsWUFBWSxNQUEwQjtRQUNwQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBaEJ0QixTQUFJLEdBQWEsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUVuQyxVQUFLLEdBQVcsVUFBVSxDQUFDO1FBQzNCLFdBQU0sR0FBVyxXQUFXLENBQUM7UUFNN0IsZUFBVSxHQUFnRDtZQUN4RCxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsS0FBSztZQUM5QixPQUFPLEVBQUUsZ0JBQWdCLENBQUMsR0FBRztTQUM5QixDQUFDO1FBS0EsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsVUFBVSxLQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDeEQsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDN0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsV0FBVyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLEtBQUssS0FBSSxVQUFVLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxNQUFNLEtBQUksV0FBVyxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsVUFBVSxDQUFDO0lBQ3ZDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDbGFzc2ljUHJlc2V0IH0gZnJvbSAncmV0ZSc7XHJcbmltcG9ydCB7IElOX09VVF9ESVJFQ1RJT04sIE5PREVfSEVJR0hULCBOT0RFX1RZUEUsIE5PREVfV0lEVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQge1xyXG4gIERpYWdyYW1Db25maWcsXHJcbiAgRGlyZWN0aW9uVHlwZSxcclxuICBOb2RlQ29udGVudCxcclxuICBOb2RlRGVmaW5pdGlvbkRhdGEsXHJcbiAgTm9kZVR5cGUsXHJcbiAgTm90aWZ5RXZlbnRUeXBlLFxyXG4gIE9wdGlvbmFsLFxyXG59IGZyb20gJy4uL3R5cGVzJztcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTm9kZUNsYXNzPFQgPSB1bmtub3duPlxyXG4gIGV4dGVuZHMgQ2xhc3NpY1ByZXNldC5Ob2RlXHJcbiAgaW1wbGVtZW50cyBOb2RlRGVmaW5pdGlvbkRhdGFcclxue1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgdGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIG5hbWU/OiBPcHRpb25hbDxzdHJpbmc+O1xyXG4gIGRlc2NyaXB0aW9uPzogT3B0aW9uYWw8c3RyaW5nPjtcclxuICB0eXBlOiBOb2RlVHlwZSA9IE5PREVfVFlQRS5jb250ZW50O1xyXG4gIHN0YXR1cz86IHN0cmluZztcclxuICB3aWR0aDogbnVtYmVyID0gTk9ERV9XSURUSDtcclxuICBoZWlnaHQ6IG51bWJlciA9IE5PREVfSEVJR0hUO1xyXG4gIGNvbnRlbnQ/OiBPcHRpb25hbDxOb2RlQ29udGVudDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pj47XHJcbiAgcGFyZW50PzogT3B0aW9uYWw8c3RyaW5nPjtcclxuICBjb25maWc/OiBPcHRpb25hbDxEaWFncmFtQ29uZmlnWydub2RlJ10+O1xyXG4gIGNoaWxkcmVuPzogQmFzZU5vZGVDbGFzczxUPltdO1xyXG4gIHN0eWxlQ2xhc3M/OiBzdHJpbmc7XHJcbiAgZGlyZWN0aW9uczogUmVjb3JkPCdpbnB1dHMnIHwgJ291dHB1dHMnLCBEaXJlY3Rpb25UeXBlPiA9IHtcclxuICAgIGlucHV0czogSU5fT1VUX0RJUkVDVElPTi5zdGFydCxcclxuICAgIG91dHB1dHM6IElOX09VVF9ESVJFQ1RJT04uZW5kLFxyXG4gIH07XHJcbiAgbm90aWZ5ITogKGV2ZW50VHlwZTogTm90aWZ5RXZlbnRUeXBlLCBwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiB2b2lkO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb25maWc6IE5vZGVEZWZpbml0aW9uRGF0YSkge1xyXG4gICAgc3VwZXIoY29uZmlnLmxhYmVsKTtcclxuICAgIHRoaXMubmFtZSA9IGNvbmZpZz8ubmFtZTtcclxuICAgIHRoaXMuZGlyZWN0aW9ucyA9IGNvbmZpZz8uZGlyZWN0aW9ucyB8fCB0aGlzLmRpcmVjdGlvbnM7XHJcbiAgICB0aGlzLnR5cGUgPSBjb25maWcudHlwZSB8fCBOT0RFX1RZUEUuY29udGVudDtcclxuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBjb25maWc/LmRlc2NyaXB0aW9uO1xyXG4gICAgdGhpcy5zdGF0dXMgPSBjb25maWc/LnN0YXR1cztcclxuICAgIHRoaXMud2lkdGggPSBjb25maWc/LndpZHRoIHx8IE5PREVfV0lEVEg7XHJcbiAgICB0aGlzLmhlaWdodCA9IGNvbmZpZz8uaGVpZ2h0IHx8IE5PREVfSEVJR0hUO1xyXG4gICAgdGhpcy5jb250ZW50ID0gY29uZmlnPy5jb250ZW50O1xyXG4gICAgdGhpcy5jb25maWcgPSBjb25maWc/LmNvbmZpZztcclxuICAgIHRoaXMuc3R5bGVDbGFzcyA9IGNvbmZpZz8uc3R5bGVDbGFzcztcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,10 @@
1
+ import { NODE_CIRCLE_SIZE } from '../constants';
2
+ import { BaseNodeClass } from './base-node.model';
3
+ export class CircleNode extends BaseNodeClass {
4
+ constructor(config) {
5
+ super(config);
6
+ this.width = NODE_CIRCLE_SIZE;
7
+ this.height = NODE_CIRCLE_SIZE;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lyY2xlLW5vZGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW1zL21vZGVscy9jaXJjbGUtbm9kZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE1BQU0sT0FBTyxVQUF3QixTQUFRLGFBQWdCO0lBSTNELFlBQVksTUFBMEI7UUFDcEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSmhCLFVBQUssR0FBVyxnQkFBZ0IsQ0FBQztRQUNqQyxXQUFNLEdBQVcsZ0JBQWdCLENBQUM7SUFJbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTk9ERV9DSVJDTEVfU0laRSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IE5vZGVEZWZpbml0aW9uRGF0YSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgQmFzZU5vZGVDbGFzcyB9IGZyb20gJy4vYmFzZS1ub2RlLm1vZGVsJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDaXJjbGVOb2RlPFQgPSB1bmtub3duPiBleHRlbmRzIEJhc2VOb2RlQ2xhc3M8VD4ge1xyXG4gIHdpZHRoOiBudW1iZXIgPSBOT0RFX0NJUkNMRV9TSVpFO1xyXG4gIGhlaWdodDogbnVtYmVyID0gTk9ERV9DSVJDTEVfU0laRTtcclxuXHJcbiAgY29uc3RydWN0b3IoY29uZmlnOiBOb2RlRGVmaW5pdGlvbkRhdGEpIHtcclxuICAgIHN1cGVyKGNvbmZpZyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { ClassicPreset } from 'rete';
2
+ export class Connection extends ClassicPreset.Connection {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.renderType = 'default';
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZGlhZ3JhbXMvbW9kZWxzL2Nvbm5lY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdyQyxNQUFNLE9BQU8sVUFFWCxTQUFRLGFBQWEsQ0FBQyxVQUFvQjtJQUY1Qzs7UUFJRSxlQUFVLEdBQTBCLFNBQVMsQ0FBQztJQUVoRCxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJ2ZUZhY3RvcnkgfSBmcm9tICdkMy1zaGFwZSc7XHJcbmltcG9ydCB7IENsYXNzaWNQcmVzZXQgfSBmcm9tICdyZXRlJztcclxuaW1wb3J0IHsgQmFzZU5vZGVDbGFzcyB9IGZyb20gJy4vYmFzZS1ub2RlLm1vZGVsJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uPFxyXG4gIE5PRCBleHRlbmRzIEJhc2VOb2RlQ2xhc3MgPSBCYXNlTm9kZUNsYXNzXHJcbj4gZXh0ZW5kcyBDbGFzc2ljUHJlc2V0LkNvbm5lY3Rpb248Tk9ELCBOT0Q+IHtcclxuICBjdXJ2ZT86IEN1cnZlRmFjdG9yeTtcclxuICByZW5kZXJUeXBlPzogJ2RlZmF1bHQnIHwgJ2N1c3RvbScgPSAnZGVmYXVsdCc7XHJcbiAgc3RhdHVzPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { BaseNodeClass } from './base-node.model';
2
+ export class ContentNode extends BaseNodeClass {
3
+ constructor(config) {
4
+ super(config);
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1ub2RlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kaWFncmFtcy9tb2RlbHMvY29udGVudC1ub2RlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUlsRCxNQUFNLE9BQU8sV0FBeUIsU0FBUSxhQUFnQjtJQUM1RCxZQUFZLE1BQTBCO1FBQ3BDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIE5vZGVEZWZpbml0aW9uRGF0YVxyXG59IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgQmFzZU5vZGVDbGFzcyB9IGZyb20gJy4vYmFzZS1ub2RlLm1vZGVsJztcclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIENvbnRlbnROb2RlPFQgPSB1bmtub3duPiBleHRlbmRzIEJhc2VOb2RlQ2xhc3M8VD4ge1xyXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogTm9kZURlZmluaXRpb25EYXRhKSB7XHJcbiAgICBzdXBlcihjb25maWcpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,7 @@
1
+ export * from './base-node.model';
2
+ export * from './circle-node.model';
3
+ export * from './connection.model';
4
+ export * from './content-node.model';
5
+ export * from './socket.model';
6
+ export * from './template-node.model';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW1zL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmFzZS1ub2RlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9jaXJjbGUtbm9kZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29ubmVjdGlvbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udGVudC1ub2RlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9zb2NrZXQubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RlbXBsYXRlLW5vZGUubW9kZWwnO1xyXG4iXX0=
@@ -0,0 +1,8 @@
1
+ import { ClassicPreset } from 'rete';
2
+ export class Socket extends ClassicPreset.Socket {
3
+ constructor(name, renderType = 'default') {
4
+ super(name);
5
+ this.renderType = renderType;
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kaWFncmFtcy9tb2RlbHMvc29ja2V0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsTUFBTSxPQUFPLE1BQU8sU0FBUSxhQUFhLENBQUMsTUFBTTtJQUM5QyxZQUFZLElBQVksRUFBUyxhQUFtQyxTQUFTO1FBQzNFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURtQixlQUFVLEdBQVYsVUFBVSxDQUFrQztJQUU3RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGFzc2ljUHJlc2V0IH0gZnJvbSAncmV0ZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgU29ja2V0IGV4dGVuZHMgQ2xhc3NpY1ByZXNldC5Tb2NrZXQge1xyXG4gIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgcHVibGljIHJlbmRlclR5cGU6ICdkZWZhdWx0JyB8ICdjdXN0b20nID0gJ2RlZmF1bHQnKSB7XHJcbiAgICBzdXBlcihuYW1lKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,12 @@
1
+ import { NODE_TYPE } from '../constants';
2
+ import { BaseNodeClass } from './base-node.model';
3
+ export class TemplateNode extends BaseNodeClass {
4
+ constructor(config) {
5
+ super(config);
6
+ this.type = NODE_TYPE.template;
7
+ if (config.template) {
8
+ this.template = config.template;
9
+ }
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbm9kZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZGlhZ3JhbXMvbW9kZWxzL3RlbXBsYXRlLW5vZGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxPQUFPLFlBQTBCLFNBQVEsYUFBZ0I7SUFJN0QsWUFBWSxNQUEwQjtRQUNwQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFIaEIsU0FBSSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFJeEIsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztTQUNqQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5PREVfVFlQRSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IE5vZGVEZWZpbml0aW9uRGF0YSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgQmFzZU5vZGVDbGFzcyB9IGZyb20gJy4vYmFzZS1ub2RlLm1vZGVsJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZU5vZGU8VCA9IHVua25vd24+IGV4dGVuZHMgQmFzZU5vZGVDbGFzczxUPiB7XHJcbiAgdGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxUPjtcclxuICB0eXBlID0gTk9ERV9UWVBFLnRlbXBsYXRlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb25maWc6IE5vZGVEZWZpbml0aW9uRGF0YSkge1xyXG4gICAgc3VwZXIoY29uZmlnKTtcclxuICAgIGlmIChjb25maWcudGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy50ZW1wbGF0ZSA9IGNvbmZpZy50ZW1wbGF0ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,9 @@
1
+ export * from './components';
2
+ export * from './constants';
3
+ export * from './diagrams.module';
4
+ export * from './directive';
5
+ export * from './models';
6
+ export * from './services';
7
+ export * from './types';
8
+ export * from './utilities';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZGlhZ3JhbXMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpYWdyYW1zLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzJztcclxuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXRpbGl0aWVzJztcclxuIl19
@@ -0,0 +1,19 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DiagramPluginsService {
4
+ setPlugins({ plugins, layout }) {
5
+ this.area = plugins.area;
6
+ this.readonly = plugins.readonly;
7
+ this.arrange = plugins.arrange;
8
+ this.reroute = plugins.reroute;
9
+ }
10
+ destroy() {
11
+ this.area.destroy();
12
+ }
13
+ }
14
+ DiagramPluginsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramPluginsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
15
+ DiagramPluginsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramPluginsService });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramPluginsService, decorators: [{
17
+ type: Injectable
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3JhbS1wbHVnaW5zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW1zL3NlcnZpY2VzL2RpYWdyYW0tcGx1Z2lucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBWTNDLE1BQU0sT0FBTyxxQkFBcUI7SUFNaEMsVUFBVSxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBNEI7UUFDdEQsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QixDQUFDOzttSEFmVSxxQkFBcUI7dUhBQXJCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcmVhUGx1Z2luIH0gZnJvbSAncmV0ZS1hcmVhLXBsdWdpbic7XHJcbmltcG9ydCB7IEF1dG9BcnJhbmdlUGx1Z2luIH0gZnJvbSAncmV0ZS1hdXRvLWFycmFuZ2UtcGx1Z2luJztcclxuaW1wb3J0IHsgUmVyb3V0ZVBsdWdpbiB9IGZyb20gJ3JldGUtY29ubmVjdGlvbi1yZXJvdXRlLXBsdWdpbic7XHJcbmltcG9ydCB7IFJlYWRvbmx5UGx1Z2luIH0gZnJvbSAncmV0ZS1yZWFkb25seS1wbHVnaW4nO1xyXG5pbXBvcnQge1xyXG4gIEFyZWFFeHRyYSxcclxuICBEaWFncmFtRWRpdG9yV2l0aFBsdWdpbnMsXHJcbiAgU2NoZW1lc1xyXG59IGZyb20gJy4uL3R5cGVzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERpYWdyYW1QbHVnaW5zU2VydmljZSB7XHJcbiAgYXJlYSE6IEFyZWFQbHVnaW48U2NoZW1lcywgQXJlYUV4dHJhPjtcclxuICByZWFkb25seSE6IFJlYWRvbmx5UGx1Z2luPFNjaGVtZXM+O1xyXG4gIGFycmFuZ2UhOiBBdXRvQXJyYW5nZVBsdWdpbjxTY2hlbWVzLCBuZXZlcj47XHJcbiAgcmVyb3V0ZSE6IFJlcm91dGVQbHVnaW48U2NoZW1lcz47XHJcblxyXG4gIHNldFBsdWdpbnMoeyBwbHVnaW5zLCBsYXlvdXQgfTogRGlhZ3JhbUVkaXRvcldpdGhQbHVnaW5zKSB7XHJcbiAgICB0aGlzLmFyZWEgPSBwbHVnaW5zLmFyZWE7XHJcbiAgICB0aGlzLnJlYWRvbmx5ID0gcGx1Z2lucy5yZWFkb25seTtcclxuICAgIHRoaXMuYXJyYW5nZSA9IHBsdWdpbnMuYXJyYW5nZTtcclxuICAgIHRoaXMucmVyb3V0ZSA9IHBsdWdpbnMucmVyb3V0ZTtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmFyZWEuZGVzdHJveSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,174 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { ClassicPreset } from 'rete';
4
+ import { Subject } from 'rxjs';
5
+ import { NODE_CIRCLE_SIZE, NODE_TYPE, NOTIFY_EVENT } from '../constants';
6
+ import { initNodeByType } from '../editor';
7
+ import { Connection } from '../models';
8
+ import { removeNode } from '../utilities';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "./diagram-plugins.service";
11
+ export class DiagramService {
12
+ /**
13
+ *
14
+ */
15
+ constructor(plugins) {
16
+ this.plugins = plugins;
17
+ this._editorSub = new Subject();
18
+ this.onReady$ = this._editorSub.asObservable();
19
+ }
20
+ setEditor(editor) {
21
+ this._editorSub.next(editor);
22
+ this.editor = editor.editor;
23
+ this.socket = editor.socket;
24
+ this.destroy = editor.destroy;
25
+ this.fitToZoom = editor.fitToZoom;
26
+ }
27
+ getContentNodes() {
28
+ return this.editor
29
+ .getNodes()
30
+ .filter((nd) => ![NODE_TYPE.start, NODE_TYPE.end].includes(nd.type));
31
+ }
32
+ getNodesData() {
33
+ return this.getContentNodes().map((node) => node.content.data);
34
+ }
35
+ canAddNode(nodeType) {
36
+ if (nodeType === NODE_TYPE.content) {
37
+ return true;
38
+ }
39
+ const _nodes = this.editor.getNodes();
40
+ const _isExist = _nodes.some((nd) => nd.type === nodeType);
41
+ return !_isExist;
42
+ }
43
+ addNode(node) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ yield this.editor.addNode(node);
46
+ });
47
+ }
48
+ createNode(type = NODE_TYPE.content, config) {
49
+ const _node = initNodeByType(type, config);
50
+ if (config.type !== NODE_TYPE.start) {
51
+ this.createInputs(_node);
52
+ }
53
+ if (config.type !== NODE_TYPE.end) {
54
+ this.createOutputs(_node);
55
+ }
56
+ _node.notify = this.notifyListener(_node);
57
+ return _node;
58
+ }
59
+ shouldAddStart(nodeType) {
60
+ if (nodeType === NODE_TYPE.start) {
61
+ return false;
62
+ }
63
+ const _nodes = this.editor.getNodes();
64
+ const _isExist = _nodes.some((nd) => nd.type === NODE_TYPE.start);
65
+ return !_isExist;
66
+ }
67
+ getLastNode() {
68
+ const nodes = this.editor.getNodes();
69
+ return nodes.length ? nodes[nodes.length - 1] : null;
70
+ }
71
+ getNodesByType(type) {
72
+ return this.editor.getNodes().filter((nd) => nd.type === type);
73
+ }
74
+ getLastViewNode() {
75
+ const nodes = Array.from(this.plugins.area.nodeViews.values());
76
+ return nodes.length ? nodes[nodes.length - 1] : null;
77
+ }
78
+ createInputs(node) {
79
+ node.addInput(`${node.id}-input`, new ClassicPreset.Input(this.socket));
80
+ return node;
81
+ }
82
+ createOutputs(node) {
83
+ node.addOutput(`${node.id}-output`, new ClassicPreset.Output(this.socket, '', false));
84
+ return node;
85
+ }
86
+ addConnection(sourceNode, targetNode) {
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ yield this.editor.addConnection(this.createConnection(sourceNode, targetNode));
89
+ });
90
+ }
91
+ createConnection(sourceNode, targetNode) {
92
+ const connection = new Connection(sourceNode, `${sourceNode.id}-output`, targetNode, `${targetNode.id}-input`);
93
+ connection.status = targetNode.status;
94
+ return connection;
95
+ }
96
+ appendConnection(connection) {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ yield this.editor.addConnection(connection);
99
+ });
100
+ }
101
+ clear() {
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ return yield this.editor.clear();
104
+ });
105
+ }
106
+ redraw() {
107
+ this.editor.getNodes().forEach((node) => {
108
+ this.plugins.area.update('node', node.id);
109
+ });
110
+ }
111
+ notifyListener(node) {
112
+ return (eventType, payload) => {
113
+ var _a;
114
+ const _actions = {
115
+ [NOTIFY_EVENT.remove]: this._removeNode.bind(this),
116
+ };
117
+ return (_a = _actions[eventType]) === null || _a === void 0 ? void 0 : _a.call(_actions, payload);
118
+ };
119
+ }
120
+ _removeNode(data) {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ const node = this.editor.getNode(data.nodeId);
123
+ if (!node) {
124
+ return;
125
+ }
126
+ const viewNode = (id) => this.plugins.area.nodeViews.get(id);
127
+ let config = node.config;
128
+ let index = null;
129
+ let position = null;
130
+ let direction = null;
131
+ if (config.isLinked) {
132
+ index = this.editor.getNodes().findIndex((nd) => nd.id === data.nodeId);
133
+ position = viewNode(data.nodeId).position;
134
+ direction = node.directions;
135
+ }
136
+ this.plugins.readonly.disable();
137
+ yield removeNode(data, this.editor);
138
+ if (config.isLinked) {
139
+ const nodes = this.editor.getNodes().slice(index);
140
+ while (nodes.length) {
141
+ const _node = nodes.shift();
142
+ const _dir = Object.assign({}, _node.directions);
143
+ const _position = Object.assign({}, viewNode(_node.id).position);
144
+ _node.directions = direction;
145
+ if (_node.type == NODE_TYPE.end) {
146
+ position.y = Math.abs(Math.floor(position.y - (_node.height - NODE_CIRCLE_SIZE) / 2));
147
+ }
148
+ yield this.plugins.area.translate(_node.id, position);
149
+ yield this.plugins.area.update('node', _node.id);
150
+ position = _position;
151
+ direction = _dir;
152
+ }
153
+ }
154
+ this.plugins.readonly.enable();
155
+ });
156
+ }
157
+ translateView() {
158
+ return __awaiter(this, void 0, void 0, function* () {
159
+ const { container, area } = this.plugins.area;
160
+ const rect = container.getBoundingClientRect();
161
+ const k = area.transform.k;
162
+ const delta = -0.2;
163
+ const ox = Math.max(0, (rect.left - container.clientWidth / 2) * k);
164
+ const oy = Math.max(0, (rect.top - container.clientHeight / 2) * k);
165
+ area.zoom(Math.max(0.1, k * (1 + delta)), ox * delta, oy * delta);
166
+ });
167
+ }
168
+ }
169
+ DiagramService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramService, deps: [{ token: i1.DiagramPluginsService }], target: i0.ɵɵFactoryTarget.Injectable });
170
+ DiagramService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramService });
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DiagramService, decorators: [{
172
+ type: Injectable
173
+ }], ctorParameters: function () { return [{ type: i1.DiagramPluginsService }]; } });
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3JhbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kaWFncmFtcy9zZXJ2aWNlcy9kaWFncmFtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0MsT0FBTyxFQUFpQixVQUFVLEVBQWUsTUFBTSxXQUFXLENBQUM7QUFRbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBSTFDLE1BQU0sT0FBTyxjQUFjO0lBVXpCOztPQUVHO0lBQ0gsWUFBbUIsT0FBOEI7UUFBOUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFaekMsZUFBVSxHQUFHLElBQUksT0FBTyxFQUE0QixDQUFDO1FBSzdELGFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBT1UsQ0FBQztJQUVyRCxTQUFTLENBQUMsTUFBZ0M7UUFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFP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UyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUVwRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxLQUFLLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3BFLENBQUM7S0FBQTs7NEdBaE1VLGNBQWM7Z0hBQWQsY0FBYzs0RkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDbGFzc2ljUHJlc2V0LCBOb2RlRWRpdG9yIH0gZnJvbSAncmV0ZSc7XHJcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAncmV0ZS1hcmVhLXBsdWdpbi9fdHlwZXMvdHlwZXMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE5PREVfQ0lSQ0xFX1NJWkUsIE5PREVfVFlQRSwgTk9USUZZX0VWRU5UIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgaW5pdE5vZGVCeVR5cGUgfSBmcm9tICcuLi9lZGl0b3InO1xyXG5pbXBvcnQgeyBCYXNlTm9kZUNsYXNzLCBDb25uZWN0aW9uLCBDb250ZW50Tm9kZSB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7XHJcbiAgRGlhZ3JhbUVkaXRvcldpdGhQbHVnaW5zLFxyXG4gIE5vZGVEZWZpbml0aW9uRGF0YSxcclxuICBOb2RlVHlwZSxcclxuICBOb3RpZnlFdmVudFR5cGUsXHJcbiAgU2NoZW1lcyxcclxufSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCB7IHJlbW92ZU5vZGUgfSBmcm9tICcuLi91dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBEaWFncmFtUGx1Z2luc1NlcnZpY2UgfSBmcm9tICcuL2RpYWdyYW0tcGx1Z2lucy5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERpYWdyYW1TZXJ2aWNlIHtcclxuICBwcml2YXRlIF9lZGl0b3JTdWIgPSBuZXcgU3ViamVjdDxEaWFncmFtRWRpdG9yV2l0aFBsdWdpbnM+KCk7XHJcblxyXG4gIHB1YmxpYyBlZGl0b3IhOiBOb2RlRWRpdG9yPFNjaGVtZXM+O1xyXG4gIHB1YmxpYyBzb2NrZXQhOiBDbGFzc2ljUHJlc2V0LlNvY2tldDtcclxuXHJcbiAgb25SZWFkeSQgPSB0aGlzLl9lZGl0b3JTdWIuYXNPYnNlcnZhYmxlKCk7XHJcbiAgZGVzdHJveSE6ICgpID0+IHZvaWQ7XHJcbiAgZml0VG9ab29tITogKCkgPT4gdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGx1Z2luczogRGlhZ3JhbVBsdWdpbnNTZXJ2aWNlKSB7fVxyXG5cclxuICBzZXRFZGl0b3IoZWRpdG9yOiBEaWFncmFtRWRpdG9yV2l0aFBsdWdpbnMpIHtcclxuICAgIHRoaXMuX2VkaXRvclN1Yi5uZXh0KGVkaXRvcik7XHJcbiAgICB0aGlzLmVkaXRvciA9IGVkaXRvci5lZGl0b3I7XHJcbiAgICB0aGlzLnNvY2tldCA9IGVkaXRvci5zb2NrZXQ7XHJcbiAgICB0aGlzLmRlc3Ryb3kgPSBlZGl0b3IuZGVzdHJveTtcclxuICAgIHRoaXMuZml0VG9ab29tID0gZWRpdG9yLmZpdFRvWm9vbTtcclxuICB9XHJcblxyXG4gIGdldENvbnRlbnROb2RlcygpIHtcclxuICAgIHJldHVybiB0aGlzLmVkaXRvclxyXG4gICAgICAuZ2V0Tm9kZXMoKVxyXG4gICAgICAuZmlsdGVyKChuZCkgPT4gIVtOT0RFX1RZUEUuc3RhcnQsIE5PREVfVFlQRS5lbmRdLmluY2x1ZGVzKG5kLnR5cGUgYXMgYW55KSk7XHJcbiAgfVxyXG5cclxuICBnZXROb2Rlc0RhdGEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRDb250ZW50Tm9kZXMoKS5tYXAoKG5vZGUpID0+IG5vZGUuY29udGVudC5kYXRhKTtcclxuICB9XHJcblxyXG4gIGNhbkFkZE5vZGUobm9kZVR5cGU6IE5vZGVUeXBlKSB7XHJcbiAgICBpZiAobm9kZVR5cGUgPT09IE5PREVfVFlQRS5jb250ZW50KSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgX25vZGVzID0gdGhpcy5lZGl0b3IuZ2V0Tm9kZXMoKTtcclxuICAgIGNvbnN0IF9pc0V4aXN0ID0gX25vZGVzLnNvbWUoKG5kKSA9PiAobmQgYXMgQmFzZU5vZGVDbGFzcykudHlwZSA9PT0gbm9kZVR5cGUpO1xyXG4gICAgcmV0dXJuICFfaXNFeGlzdDtcclxuICB9XHJcblxyXG4gIGFzeW5jIGFkZE5vZGUobm9kZTogQmFzZU5vZGVDbGFzcykge1xyXG4gICAgYXdhaXQgdGhpcy5lZGl0b3IuYWRkTm9kZShub2RlKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZU5vZGU8VCBleHRlbmRzIEJhc2VOb2RlQ2xhc3MgPSBDb250ZW50Tm9kZT4oXHJcbiAgICB0eXBlOiBOb2RlVHlwZSA9IE5PREVfVFlQRS5jb250ZW50LFxyXG4gICAgY29uZmlnOiBOb2RlRGVmaW5pdGlvbkRhdGFcclxuICApOiBUIHtcclxuICAgIGNvbnN0IF9ub2RlID0gaW5pdE5vZGVCeVR5cGUodHlwZSwgY29uZmlnKTtcclxuXHJcbiAgICBpZiAoY29uZmlnLnR5cGUgIT09IE5PREVfVFlQRS5zdGFydCkge1xyXG4gICAgICB0aGlzLmNyZWF0ZUlucHV0cyhfbm9kZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbmZpZy50eXBlICE9PSBOT0RFX1RZUEUuZW5kKSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlT3V0cHV0cyhfbm9kZSk7XHJcbiAgICB9XHJcblxyXG4gICAgX25vZGUubm90aWZ5ID0gdGhpcy5ub3RpZnlMaXN0ZW5lcihfbm9kZSk7XHJcblxyXG4gICAgcmV0dXJuIF9ub2RlIGFzIFQ7XHJcbiAgfVxyXG5cclxuICBzaG91bGRBZGRTdGFydChub2RlVHlwZTogc3RyaW5nKSB7XHJcbiAgICBpZiAobm9kZVR5cGUgPT09IE5PREVfVFlQRS5zdGFydCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBjb25zdCBfbm9kZXMgPSB0aGlzLmVkaXRvci5nZXROb2RlcygpO1xyXG4gICAgY29uc3QgX2lzRXhpc3QgPSBfbm9kZXMuc29tZSgobmQpID0+IChuZCBhcyBCYXNlTm9kZUNsYXNzKS50eXBlID09PSBOT0RFX1RZUEUuc3RhcnQpO1xyXG5cclxuICAgIHJldHVybiAhX2lzRXhpc3Q7XHJcbiAgfVxyXG5cclxuICBnZXRMYXN0Tm9kZSgpIHtcclxuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5lZGl0b3IuZ2V0Tm9kZXMoKTtcclxuICAgIHJldHVybiBub2Rlcy5sZW5ndGggPyBub2Rlc1tub2Rlcy5sZW5ndGggLSAxXSA6IG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXROb2Rlc0J5VHlwZSh0eXBlOiBOb2RlVHlwZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZWRpdG9yLmdldE5vZGVzKCkuZmlsdGVyKChuZCkgPT4gbmQudHlwZSA9PT0gdHlwZSk7XHJcbiAgfVxyXG5cclxuICBnZXRMYXN0Vmlld05vZGUoKSB7XHJcbiAgICBjb25zdCBub2RlcyA9IEFycmF5LmZyb20odGhpcy5wbHVnaW5zLmFyZWEubm9kZVZpZXdzLnZhbHVlcygpKTtcclxuICAgIHJldHVybiBub2Rlcy5sZW5ndGggPyBub2Rlc1tub2Rlcy5sZW5ndGggLSAxXSA6IG51bGw7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVJbnB1dHMobm9kZTogQmFzZU5vZGVDbGFzcykge1xyXG4gICAgbm9kZS5hZGRJbnB1dChgJHtub2RlLmlkfS1pbnB1dGAsIG5ldyBDbGFzc2ljUHJlc2V0LklucHV0KHRoaXMuc29ja2V0KSk7XHJcbiAgICByZXR1cm4gbm9kZTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZU91dHB1dHMobm9kZTogQmFzZU5vZGVDbGFzcykge1xyXG4gICAgbm9kZS5hZGRPdXRwdXQoYCR7bm9kZS5pZH0tb3V0cHV0YCwgbmV3IENsYXNzaWNQcmVzZXQuT3V0cHV0KHRoaXMuc29ja2V0LCAnJywgZmFsc2UpKTtcclxuICAgIHJldHVybiBub2RlO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgYWRkQ29ubmVjdGlvbihzb3VyY2VOb2RlOiBCYXNlTm9kZUNsYXNzLCB0YXJnZXROb2RlOiBCYXNlTm9kZUNsYXNzKSB7XHJcbiAgICBhd2FpdCB0aGlzLmVkaXRvci5hZGRDb25uZWN0aW9uKHRoaXMuY3JlYXRlQ29ubmVjdGlvbihzb3VyY2VOb2RlLCB0YXJnZXROb2RlKSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVDb25uZWN0aW9uKHNvdXJjZU5vZGU6IEJhc2VOb2RlQ2xhc3MsIHRhcmdldE5vZGU6IEJhc2VOb2RlQ2xhc3MpIHtcclxuICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBuZXcgQ29ubmVjdGlvbihcclxuICAgICAgc291cmNlTm9kZSxcclxuICAgICAgYCR7c291cmNlTm9kZS5pZH0tb3V0cHV0YCxcclxuICAgICAgdGFyZ2V0Tm9kZSxcclxuICAgICAgYCR7dGFyZ2V0Tm9kZS5pZH0taW5wdXRgXHJcbiAgICApO1xyXG4gICAgY29ubmVjdGlvbi5zdGF0dXMgPSB0YXJnZXROb2RlLnN0YXR1cztcclxuICAgIHJldHVybiBjb25uZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgYXBwZW5kQ29ubmVjdGlvbihjb25uZWN0aW9uOiBDb25uZWN0aW9uKSB7XHJcbiAgICBhd2FpdCB0aGlzLmVkaXRvci5hZGRDb25uZWN0aW9uKGNvbm5lY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgY2xlYXIoKSB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5lZGl0b3IuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIHJlZHJhdygpIHtcclxuICAgIHRoaXMuZWRpdG9yLmdldE5vZGVzKCkuZm9yRWFjaCgobm9kZSkgPT4ge1xyXG4gICAgICB0aGlzLnBsdWdpbnMuYXJlYS51cGRhdGUoJ25vZGUnLCBub2RlLmlkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbm90aWZ5TGlzdGVuZXIobm9kZTogQmFzZU5vZGVDbGFzcykge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgZXZlbnRUeXBlOiBOb3RpZnlFdmVudFR5cGUsXHJcbiAgICAgIHBheWxvYWQ6IE5vdGlmeUV2ZW50VHlwZSBleHRlbmRzICdyZW1vdmUnID8geyBub2RlSWQ6IHN0cmluZyB9IDogUmVjb3JkPHN0cmluZywgYW55PlxyXG4gICAgKSA9PiB7XHJcbiAgICAgIGNvbnN0IF9hY3Rpb25zID0ge1xyXG4gICAgICAgIFtOT1RJRllfRVZFTlQucmVtb3ZlXTogdGhpcy5fcmVtb3ZlTm9kZS5iaW5kKHRoaXMpLFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgcmV0dXJuIF9hY3Rpb25zW2V2ZW50VHlwZV0/LihwYXlsb2FkIGFzIHsgbm9kZUlkOiBzdHJpbmcgfSk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfcmVtb3ZlTm9kZShkYXRhOiB7IG5vZGVJZDogc3RyaW5nIH0pIHtcclxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmVkaXRvci5nZXROb2RlKGRhdGEubm9kZUlkKTtcclxuICAgIGlmICghbm9kZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgdmlld05vZGUgPSAoaWQ6IHN0cmluZykgPT4gdGhpcy5wbHVnaW5zLmFyZWEubm9kZVZpZXdzLmdldChpZCk7XHJcblxyXG4gICAgbGV0IGNvbmZpZyA9IG5vZGUuY29uZmlnO1xyXG4gICAgbGV0IGluZGV4ID0gbnVsbDtcclxuICAgIGxldCBwb3NpdGlvbjogUG9zaXRpb24gPSBudWxsO1xyXG4gICAgbGV0IGRpcmVjdGlvbiA9IG51bGw7XHJcbiAgICBpZiAoY29uZmlnLmlzTGlua2VkKSB7XHJcbiAgICAgIGluZGV4ID0gdGhpcy5lZGl0b3IuZ2V0Tm9kZXMoKS5maW5kSW5kZXgoKG5kKSA9PiBuZC5pZCA9PT0gZGF0YS5ub2RlSWQpO1xyXG4gICAgICBwb3NpdGlvbiA9IHZpZXdOb2RlKGRhdGEubm9kZUlkKS5wb3NpdGlvbjtcclxuICAgICAgZGlyZWN0aW9uID0gbm9kZS5kaXJlY3Rpb25zO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wbHVnaW5zLnJlYWRvbmx5LmRpc2FibGUoKTtcclxuICAgIGF3YWl0IHJlbW92ZU5vZGUoZGF0YSwgdGhpcy5lZGl0b3IpO1xyXG5cclxuICAgIGlmIChjb25maWcuaXNMaW5rZWQpIHtcclxuICAgICAgY29uc3Qgbm9kZXMgPSB0aGlzLmVkaXRvci5nZXROb2RlcygpLnNsaWNlKGluZGV4KTtcclxuXHJcbiAgICAgIHdoaWxlIChub2Rlcy5sZW5ndGgpIHtcclxuICAgICAgICBjb25zdCBfbm9kZSA9IG5vZGVzLnNoaWZ0KCk7XHJcbiAgICAgICAgY29uc3QgX2RpciA9IHsgLi4uX25vZGUuZGlyZWN0aW9ucyB9O1xyXG4gICAgICAgIGNvbnN0IF9wb3NpdGlvbiA9IHsgLi4udmlld05vZGUoX25vZGUuaWQpLnBvc2l0aW9uIH07XHJcbiAgICAgICAgX25vZGUuZGlyZWN0aW9ucyA9IGRpcmVjdGlvbjtcclxuICAgICAgICBpZiAoX25vZGUudHlwZSA9PSBOT0RFX1RZUEUuZW5kKSB7XHJcbiAgICAgICAgICBwb3NpdGlvbi55ID0gTWF0aC5hYnMoXHJcbiAgICAgICAgICAgIE1hdGguZmxvb3IocG9zaXRpb24ueSAtIChfbm9kZS5oZWlnaHQgLSBOT0RFX0NJUkNMRV9TSVpFKSAvIDIpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCB0aGlzLnBsdWdpbnMuYXJlYS50cmFuc2xhdGUoX25vZGUuaWQsIHBvc2l0aW9uKTtcclxuICAgICAgICBhd2FpdCB0aGlzLnBsdWdpbnMuYXJlYS51cGRhdGUoJ25vZGUnLCBfbm9kZS5pZCk7XHJcbiAgICAgICAgcG9zaXRpb24gPSBfcG9zaXRpb247XHJcbiAgICAgICAgZGlyZWN0aW9uID0gX2RpcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5wbHVnaW5zLnJlYWRvbmx5LmVuYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgdHJhbnNsYXRlVmlldygpIHtcclxuICAgIGNvbnN0IHsgY29udGFpbmVyLCBhcmVhIH0gPSB0aGlzLnBsdWdpbnMuYXJlYTtcclxuICAgIGNvbnN0IHJlY3QgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBrID0gYXJlYS50cmFuc2Zvcm0uaztcclxuICAgIGNvbnN0IGRlbHRhID0gLTAuMjtcclxuICAgIGNvbnN0IG94ID0gTWF0aC5tYXgoMCwgKHJlY3QubGVmdCAtIGNvbnRhaW5lci5jbGllbnRXaWR0aCAvIDIpICogayk7XHJcbiAgICBjb25zdCBveSA9IE1hdGgubWF4KDAsIChyZWN0LnRvcCAtIGNvbnRhaW5lci5jbGllbnRIZWlnaHQgLyAyKSAqIGspO1xyXG5cclxuICAgIGFyZWEuem9vbShNYXRoLm1heCgwLjEsIGsgKiAoMSArIGRlbHRhKSksIG94ICogZGVsdGEsIG95ICogZGVsdGEpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './diagram-plugins.service';
2
+ export * from './diagram.service';
3
+ export * from './message.service';
4
+ export * from './workflow.service';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW1zL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpYWdyYW0tcGx1Z2lucy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaWFncmFtLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vd29ya2Zsb3cuc2VydmljZSc7XHJcbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { filter, map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ export class MessageService {
6
+ constructor() {
7
+ this.messageSubject = new Subject();
8
+ }
9
+ sendMessage(key, payload) {
10
+ this.messageSubject.next({ key, payload });
11
+ }
12
+ onMessage(key) {
13
+ return this.messageSubject.asObservable().pipe(filter((data) => data.key === key), map((data) => data.payload));
14
+ }
15
+ }
16
+ MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
17
+ MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MessageService, providedIn: 'root' });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MessageService, decorators: [{
19
+ type: Injectable,
20
+ args: [{
21
+ providedIn: 'root',
22
+ }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kaWFncmFtcy9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTTdDLE1BQU0sT0FBTyxjQUFjO0lBSDNCO1FBSVUsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBaUMsQ0FBQztLQVl2RTtJQVZDLFdBQVcsQ0FBQyxHQUFnQixFQUFFLE9BQVk7UUFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQWdCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQzVDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsRUFDbEMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQzVCLENBQUM7SUFDSixDQUFDOzs0R0FaVSxjQUFjO2dIQUFkLGNBQWMsY0FGYixNQUFNOzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlVHlwZSB9IGZyb20gJy4uL3R5cGVzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBtZXNzYWdlU3ViamVjdCA9IG5ldyBTdWJqZWN0PHsga2V5OiBzdHJpbmc7IHBheWxvYWQ6IGFueSB9PigpO1xyXG5cclxuICBzZW5kTWVzc2FnZShrZXk6IE1lc3NhZ2VUeXBlLCBwYXlsb2FkOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMubWVzc2FnZVN1YmplY3QubmV4dCh7IGtleSwgcGF5bG9hZCB9KTtcclxuICB9XHJcblxyXG4gIG9uTWVzc2FnZShrZXk6IE1lc3NhZ2VUeXBlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoXHJcbiAgICAgIGZpbHRlcigoZGF0YSkgPT4gZGF0YS5rZXkgPT09IGtleSksXHJcbiAgICAgIG1hcCgoZGF0YSkgPT4gZGF0YS5wYXlsb2FkKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19