rete-angular-plugin 2.0.2 → 2.1.0

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 (175) hide show
  1. package/12/bundles/rete-angular-plugin-ng12.umd.js +28 -0
  2. package/12/bundles/rete-angular-plugin-ng12.umd.js.map +1 -1
  3. package/12/core.d.ts +21 -1
  4. package/12/esm2015/core.js +17 -1
  5. package/12/esm2015/presets/classic/index.js +4 -1
  6. package/12/esm2015/presets/context-menu/index.js +4 -1
  7. package/12/esm2015/presets/index.js +5 -1
  8. package/12/esm2015/presets/minimap/index.js +4 -1
  9. package/12/esm2015/presets/reroute/index.js +4 -1
  10. package/12/fesm2015/rete-angular-plugin-ng12.js +33 -0
  11. package/12/fesm2015/rete-angular-plugin-ng12.js.map +1 -1
  12. package/12/presets/classic/index.d.ts +3 -0
  13. package/12/presets/context-menu/index.d.ts +3 -0
  14. package/12/presets/index.d.ts +4 -0
  15. package/12/presets/minimap/index.d.ts +3 -0
  16. package/12/presets/reroute/index.d.ts +3 -0
  17. package/13/core.d.ts +21 -1
  18. package/13/esm2020/core.mjs +17 -1
  19. package/13/esm2020/presets/classic/index.mjs +4 -1
  20. package/13/esm2020/presets/context-menu/index.mjs +4 -1
  21. package/13/esm2020/presets/index.mjs +5 -1
  22. package/13/esm2020/presets/minimap/index.mjs +4 -1
  23. package/13/esm2020/presets/reroute/index.mjs +4 -1
  24. package/13/fesm2015/rete-angular-plugin-ng13.mjs +33 -0
  25. package/13/fesm2015/rete-angular-plugin-ng13.mjs.map +1 -1
  26. package/13/fesm2020/rete-angular-plugin-ng13.mjs +33 -0
  27. package/13/fesm2020/rete-angular-plugin-ng13.mjs.map +1 -1
  28. package/13/presets/classic/index.d.ts +3 -0
  29. package/13/presets/context-menu/index.d.ts +3 -0
  30. package/13/presets/index.d.ts +4 -0
  31. package/13/presets/minimap/index.d.ts +3 -0
  32. package/13/presets/reroute/index.d.ts +3 -0
  33. package/14/core.d.ts +21 -1
  34. package/14/esm2020/core.mjs +17 -1
  35. package/14/esm2020/presets/classic/index.mjs +4 -1
  36. package/14/esm2020/presets/context-menu/index.mjs +4 -1
  37. package/14/esm2020/presets/index.mjs +5 -1
  38. package/14/esm2020/presets/minimap/index.mjs +4 -1
  39. package/14/esm2020/presets/reroute/index.mjs +4 -1
  40. package/14/fesm2015/rete-angular-plugin-ng14.mjs +33 -0
  41. package/14/fesm2015/rete-angular-plugin-ng14.mjs.map +1 -1
  42. package/14/fesm2020/rete-angular-plugin-ng14.mjs +33 -0
  43. package/14/fesm2020/rete-angular-plugin-ng14.mjs.map +1 -1
  44. package/14/presets/classic/index.d.ts +3 -0
  45. package/14/presets/context-menu/index.d.ts +3 -0
  46. package/14/presets/index.d.ts +4 -0
  47. package/14/presets/minimap/index.d.ts +3 -0
  48. package/14/presets/reroute/index.d.ts +3 -0
  49. package/15/core.d.ts +21 -1
  50. package/15/esm2020/core.mjs +17 -1
  51. package/15/esm2020/presets/classic/index.mjs +4 -1
  52. package/15/esm2020/presets/context-menu/index.mjs +4 -1
  53. package/15/esm2020/presets/index.mjs +5 -1
  54. package/15/esm2020/presets/minimap/index.mjs +4 -1
  55. package/15/esm2020/presets/reroute/index.mjs +4 -1
  56. package/15/fesm2015/rete-angular-plugin-ng15.mjs +33 -0
  57. package/15/fesm2015/rete-angular-plugin-ng15.mjs.map +1 -1
  58. package/15/fesm2020/rete-angular-plugin-ng15.mjs +33 -0
  59. package/15/fesm2020/rete-angular-plugin-ng15.mjs.map +1 -1
  60. package/15/presets/classic/index.d.ts +3 -0
  61. package/15/presets/context-menu/index.d.ts +3 -0
  62. package/15/presets/index.d.ts +4 -0
  63. package/15/presets/minimap/index.d.ts +3 -0
  64. package/15/presets/reroute/index.d.ts +3 -0
  65. package/16/core.d.ts +21 -1
  66. package/16/esm2022/core.mjs +17 -1
  67. package/16/esm2022/presets/classic/index.mjs +4 -1
  68. package/16/esm2022/presets/context-menu/index.mjs +4 -1
  69. package/16/esm2022/presets/index.mjs +5 -1
  70. package/16/esm2022/presets/minimap/index.mjs +4 -1
  71. package/16/esm2022/presets/reroute/index.mjs +4 -1
  72. package/16/fesm2022/rete-angular-plugin-ng16.mjs +33 -0
  73. package/16/fesm2022/rete-angular-plugin-ng16.mjs.map +1 -1
  74. package/16/presets/classic/index.d.ts +3 -0
  75. package/16/presets/context-menu/index.d.ts +3 -0
  76. package/16/presets/index.d.ts +4 -0
  77. package/16/presets/minimap/index.d.ts +3 -0
  78. package/16/presets/reroute/index.d.ts +3 -0
  79. package/17/core.d.ts +68 -0
  80. package/17/esm2022/core.mjs +127 -0
  81. package/17/esm2022/index.mjs +12 -0
  82. package/17/esm2022/module.mjs +50 -0
  83. package/17/esm2022/presets/classic/components/connection/connection-wrapper.component.mjs +91 -0
  84. package/17/esm2022/presets/classic/components/connection/connection.component.mjs +33 -0
  85. package/17/esm2022/presets/classic/components/control/control.component.mjs +55 -0
  86. package/17/esm2022/presets/classic/components/index.mjs +6 -0
  87. package/17/esm2022/presets/classic/components/node/node.component.mjs +122 -0
  88. package/17/esm2022/presets/classic/components/socket/socket.component.mjs +35 -0
  89. package/17/esm2022/presets/classic/index.mjs +114 -0
  90. package/17/esm2022/presets/classic/types.mjs +2 -0
  91. package/17/esm2022/presets/context-menu/components/index.mjs +4 -0
  92. package/17/esm2022/presets/context-menu/components/item/item.component.mjs +115 -0
  93. package/17/esm2022/presets/context-menu/components/menu/menu.component.mjs +111 -0
  94. package/17/esm2022/presets/context-menu/components/search/search.component.mjs +24 -0
  95. package/17/esm2022/presets/context-menu/debounce.mjs +17 -0
  96. package/17/esm2022/presets/context-menu/index.mjs +41 -0
  97. package/17/esm2022/presets/context-menu/module.mjs +35 -0
  98. package/17/esm2022/presets/context-menu/types.mjs +2 -0
  99. package/17/esm2022/presets/index.mjs +9 -0
  100. package/17/esm2022/presets/minimap/components/index.mjs +4 -0
  101. package/17/esm2022/presets/minimap/components/mini-node/mini-node.component.mjs +55 -0
  102. package/17/esm2022/presets/minimap/components/mini-viewport/mini-viewport.component.mjs +81 -0
  103. package/17/esm2022/presets/minimap/components/minimap/minimap.component.mjs +110 -0
  104. package/17/esm2022/presets/minimap/index.mjs +45 -0
  105. package/17/esm2022/presets/minimap/module.mjs +35 -0
  106. package/17/esm2022/presets/minimap/types.mjs +2 -0
  107. package/17/esm2022/presets/reroute/components/index.mjs +3 -0
  108. package/17/esm2022/presets/reroute/components/pin/pin.component.mjs +86 -0
  109. package/17/esm2022/presets/reroute/components/pins/pins.component.mjs +58 -0
  110. package/17/esm2022/presets/reroute/index.mjs +43 -0
  111. package/17/esm2022/presets/reroute/module.mjs +30 -0
  112. package/17/esm2022/presets/reroute/types.mjs +2 -0
  113. package/17/esm2022/presets/types.mjs +2 -0
  114. package/17/esm2022/ref.mjs +30 -0
  115. package/17/esm2022/rete-angular-plugin-ng17.mjs +5 -0
  116. package/17/esm2022/shared/drag.mjs +23 -0
  117. package/17/esm2022/types.mjs +2 -0
  118. package/17/fesm2022/rete-angular-plugin-ng17.mjs +1527 -0
  119. package/17/fesm2022/rete-angular-plugin-ng17.mjs.map +1 -0
  120. package/17/index.d.ts +13 -0
  121. package/17/module.d.ts +13 -0
  122. package/17/package.json +24 -0
  123. package/17/presets/classic/components/connection/connection-wrapper.component.d.ts +30 -0
  124. package/17/presets/classic/components/connection/connection.component.d.ts +11 -0
  125. package/17/presets/classic/components/control/control.component.d.ts +14 -0
  126. package/17/presets/classic/components/index.d.ts +5 -0
  127. package/17/presets/classic/components/node/node.component.d.ts +19 -0
  128. package/17/presets/classic/components/socket/socket.component.d.ts +12 -0
  129. package/17/presets/classic/index.d.ts +21 -0
  130. package/17/presets/classic/types.d.ts +49 -0
  131. package/17/presets/context-menu/components/index.d.ts +3 -0
  132. package/17/presets/context-menu/components/item/item.component.d.ts +26 -0
  133. package/17/presets/context-menu/components/menu/menu.component.d.ts +27 -0
  134. package/17/presets/context-menu/components/search/search.component.d.ts +8 -0
  135. package/17/presets/context-menu/debounce.d.ts +5 -0
  136. package/17/presets/context-menu/index.d.ts +9 -0
  137. package/17/presets/context-menu/module.d.ts +10 -0
  138. package/17/presets/context-menu/types.d.ts +12 -0
  139. package/17/presets/index.d.ts +8 -0
  140. package/17/presets/minimap/components/index.d.ts +3 -0
  141. package/17/presets/minimap/components/mini-node/mini-node.component.d.ts +14 -0
  142. package/17/presets/minimap/components/mini-viewport/mini-viewport.component.d.ts +27 -0
  143. package/17/presets/minimap/components/minimap/minimap.component.d.ts +25 -0
  144. package/17/presets/minimap/index.d.ts +9 -0
  145. package/17/presets/minimap/module.d.ts +10 -0
  146. package/17/presets/minimap/types.d.ts +22 -0
  147. package/17/presets/reroute/components/index.d.ts +2 -0
  148. package/17/presets/reroute/components/pin/pin.component.d.ts +30 -0
  149. package/17/presets/reroute/components/pins/pins.component.d.ts +17 -0
  150. package/17/presets/reroute/index.d.ts +13 -0
  151. package/17/presets/reroute/module.d.ts +9 -0
  152. package/17/presets/reroute/types.d.ts +18 -0
  153. package/17/presets/types.d.ts +15 -0
  154. package/17/ref.d.ts +12 -0
  155. package/17/shared/drag.d.ts +10 -0
  156. package/17/types.d.ts +29 -0
  157. package/CHANGELOG.md +7 -0
  158. package/bundles/rete-angular-plugin.umd.js +28 -0
  159. package/bundles/rete-angular-plugin.umd.js.map +1 -1
  160. package/core.d.ts +21 -1
  161. package/esm2015/core.js +17 -1
  162. package/esm2015/presets/classic/index.js +4 -1
  163. package/esm2015/presets/context-menu/index.js +4 -1
  164. package/esm2015/presets/index.js +1 -1
  165. package/esm2015/presets/minimap/index.js +4 -1
  166. package/esm2015/presets/reroute/index.js +4 -1
  167. package/fesm2015/rete-angular-plugin.js +28 -0
  168. package/fesm2015/rete-angular-plugin.js.map +1 -1
  169. package/package.json +5 -5
  170. package/presets/classic/index.d.ts +3 -0
  171. package/presets/context-menu/index.d.ts +3 -0
  172. package/presets/index.d.ts +4 -0
  173. package/presets/minimap/index.d.ts +3 -0
  174. package/presets/reroute/index.d.ts +3 -0
  175. package/rete-angular-plugin.metadata.json +1 -1
@@ -0,0 +1,127 @@
1
+ import { Scope } from 'rete';
2
+ import { createCustomElement } from '@angular/elements';
3
+ function getRenderer() {
4
+ const elements = new WeakMap();
5
+ return {
6
+ get(element) {
7
+ return elements.get(element);
8
+ },
9
+ mount(element, key, component, injector, props) {
10
+ // LIMITATION: If an element is remounted with the same identifier, the component cannot be replaced
11
+ const exists = customElements.get(key);
12
+ if (!exists) {
13
+ customElements.define(key, createCustomElement(component, { injector }));
14
+ }
15
+ const ngElement = document.createElement(key);
16
+ Object.keys(props).forEach(key => {
17
+ ngElement[key] = props[key];
18
+ });
19
+ element.appendChild(ngElement);
20
+ elements.set(element, { key, ngElement });
21
+ },
22
+ update({ ngElement }, props) {
23
+ Object.keys(props).forEach(key => {
24
+ ngElement.ngElementStrategy.setInputValue(key, props[key]);
25
+ });
26
+ ngElement.ngElementStrategy.setInputValue('seed', Math.random());
27
+ },
28
+ unmount(element) {
29
+ const existing = elements.get(element);
30
+ if (existing) {
31
+ existing.ngElement.remove();
32
+ elements.delete(element);
33
+ }
34
+ }
35
+ };
36
+ }
37
+ /**
38
+ * Angular plugin. Renders nodes, connections and other elements using React.
39
+ * @priority 9
40
+ * @emits connectionpath
41
+ * @listens render
42
+ * @listens unmount
43
+ */
44
+ export class AngularPlugin extends Scope {
45
+ params;
46
+ presets = [];
47
+ renderer;
48
+ owners = new WeakMap();
49
+ /**
50
+ * @constructor
51
+ * @param params Plugin properties
52
+ * @param params.injector Angular's Injector instance
53
+ */
54
+ constructor(params) {
55
+ super('angular-render');
56
+ this.params = params;
57
+ this.renderer = getRenderer();
58
+ this.addPipe(context => {
59
+ if (!context || typeof context !== 'object' || !('type' in context))
60
+ return context;
61
+ if (context.type === 'unmount') {
62
+ this.unmount(context.data.element);
63
+ }
64
+ else if (context.type === 'render') {
65
+ if ('filled' in context.data && context.data.filled) {
66
+ return context;
67
+ }
68
+ if (this.mount(context.data.element, context)) {
69
+ return {
70
+ ...context,
71
+ data: {
72
+ ...context.data,
73
+ filled: true
74
+ }
75
+ };
76
+ }
77
+ }
78
+ return context;
79
+ });
80
+ }
81
+ setParent(scope) {
82
+ super.setParent(scope);
83
+ this.presets.forEach(preset => {
84
+ if (preset.attach)
85
+ preset.attach(this);
86
+ });
87
+ }
88
+ unmount(element) {
89
+ this.owners.delete(element);
90
+ this.renderer.unmount(element);
91
+ }
92
+ mount(element, context) {
93
+ const existing = this.renderer.get(element);
94
+ if (existing) {
95
+ this.presets.forEach(preset => {
96
+ if (this.owners.get(element) !== preset)
97
+ return;
98
+ const result = preset.update(context, this);
99
+ if (result) {
100
+ this.renderer.update(existing, result);
101
+ }
102
+ });
103
+ return true;
104
+ }
105
+ for (const preset of this.presets) {
106
+ const result = preset.mount(context, this);
107
+ if (!result)
108
+ continue;
109
+ const { key, component, props } = result;
110
+ this.renderer.mount(element, key, component, this.params.injector, props);
111
+ this.owners.set(element, preset);
112
+ return true;
113
+ }
114
+ return;
115
+ }
116
+ /**
117
+ * Adds a preset to the plugin.
118
+ * @param preset Preset that can render nodes, connections and other elements.
119
+ */
120
+ addPreset(preset) {
121
+ const local = preset;
122
+ if (local.attach)
123
+ local.attach(this);
124
+ this.presets.push(local);
125
+ }
126
+ }
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25nMTcvLnNyYy9jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0MsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBYXhELFNBQVMsV0FBVztJQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBcUIsQ0FBQTtJQUVqRCxPQUFPO1FBQ0wsR0FBRyxDQUFDLE9BQU87WUFDVCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDOUIsQ0FBQztRQUNELEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSztZQUM1QyxvR0FBb0c7WUFDcEcsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUV0QyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTthQUN6RTtZQUVELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUF5QyxDQUFBO1lBRXJGLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUMvQixTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQzdCLENBQUMsQ0FBQyxDQUFBO1lBRUYsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtZQUM5QixRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFB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QUFBO1FBRTNELElBQUksS0FBSyxDQUFDLE1BQU07WUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzFCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlU2NoZW1lcywgQ2FuQXNzaWduU2lnbmFsLCBTY29wZSB9IGZyb20gJ3JldGUnXG5pbXBvcnQgeyBjcmVhdGVDdXN0b21FbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvZWxlbWVudHMnO1xuXG5pbXBvcnQgeyBOZ0VsZW1lbnQsIE5vZGVQcm9wcywgUG9zaXRpb24sIFJlbmRlclNpZ25hbCB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBSZW5kZXJQcmVzZXQgfSBmcm9tICcuL3ByZXNldHMvdHlwZXMnO1xuXG50eXBlIEl0ZW0gPSB7IGtleTogc3RyaW5nLCBuZ0VsZW1lbnQ6IE5nRWxlbWVudCB9XG5cbnR5cGUgUmVuZGVyZXIgPSB7XG4gIGdldChlbGVtZW50OiBIVE1MRWxlbWVudCk6IEl0ZW0gfCB1bmRlZmluZWRcbiAgbW91bnQoZWxlbWVudDogSFRNTEVsZW1lbnQsIGtleTogc3RyaW5nLCBjb21wb25lbnQ6IGFueSwgaW5qZWN0b3I6IEluamVjdG9yLCBwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB2b2lkXG4gIHVwZGF0ZShpdGVtOiBJdGVtLCBwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB2b2lkXG4gIHVubW91bnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkXG59XG5mdW5jdGlvbiBnZXRSZW5kZXJlcigpOiBSZW5kZXJlciB7XG4gIGNvbnN0IGVsZW1lbnRzID0gbmV3IFdlYWtNYXA8SFRNTEVsZW1lbnQsIEl0ZW0+KClcblxuICByZXR1cm4ge1xuICAgIGdldChlbGVtZW50KSB7XG4gICAgICByZXR1cm4gZWxlbWVudHMuZ2V0KGVsZW1lbnQpXG4gICAgfSxcbiAgICBtb3VudChlbGVtZW50LCBrZXksIGNvbXBvbmVudCwgaW5qZWN0b3IsIHByb3BzKSB7XG4gICAgICAvLyBMSU1JVEFUSU9OOiBJZiBhbiBlbGVtZW50IGlzIHJlbW91bnRlZCB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSBjb21wb25lbnQgY2Fubm90IGJlIHJlcGxhY2VkXG4gICAgICBjb25zdCBleGlzdHMgPSBjdXN0b21FbGVtZW50cy5nZXQoa2V5KVxuXG4gICAgICBpZiAoIWV4aXN0cykge1xuICAgICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoa2V5LCBjcmVhdGVDdXN0b21FbGVtZW50KGNvbXBvbmVudCwgeyBpbmplY3RvciB9KSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmdFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChrZXkpIGFzIE5vZGVQcm9wcyAmIE5nRWxlbWVudCAmIHR5cGVvZiBwcm9wc1xuXG4gICAgICBPYmplY3Qua2V5cyhwcm9wcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBuZ0VsZW1lbnRba2V5XSA9IHByb3BzW2tleV1cbiAgICAgIH0pXG5cbiAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQobmdFbGVtZW50KVxuICAgICAgZWxlbWVudHMuc2V0KGVsZW1lbnQsIHsga2V5LCBuZ0VsZW1lbnQgfSlcbiAgICB9LFxuICAgIHVwZGF0ZSh7IG5nRWxlbWVudCB9LCBwcm9wcykge1xuICAgICAgT2JqZWN0LmtleXMocHJvcHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgbmdFbGVtZW50Lm5nRWxlbWVudFN0cmF0ZWd5LnNldElucHV0VmFsdWUoa2V5LCBwcm9wc1trZXldKVxuICAgICAgfSlcbiAgICAgIG5nRWxlbWVudC5uZ0VsZW1lbnRTdHJhdGVneS5zZXRJbnB1dFZhbHVlKCdzZWVkJywgTWF0aC5yYW5kb20oKSlcbiAgICB9LFxuICAgIHVubW91bnQoZWxlbWVudCkge1xuICAgICAgY29uc3QgZXhpc3RpbmcgPSBlbGVtZW50cy5nZXQoZWxlbWVudClcblxuICAgICAgaWYgKGV4aXN0aW5nKSB7XG4gICAgICAgIGV4aXN0aW5nLm5nRWxlbWVudC5yZW1vdmUoKVxuICAgICAgICBlbGVtZW50cy5kZWxldGUoZWxlbWVudClcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBTaWduYWxzIHRoYXQgY2FuIGJlIGVtaXR0ZWQgYnkgdGhlIHBsdWdpblxuICogQHByaW9yaXR5IDEwXG4gKi9cbmV4cG9ydCB0eXBlIFByb2R1Y2VzPFNjaGVtZXMgZXh0ZW5kcyBCYXNlU2NoZW1lcz4gPVxuICB8IHsgdHlwZTogJ2Nvbm5lY3Rpb25wYXRoJywgZGF0YTogeyBwYXlsb2FkOiBTY2hlbWVzWydDb25uZWN0aW9uJ10sIHBhdGg/OiBzdHJpbmcsIHBvaW50czogUG9zaXRpb25bXSB9IH1cblxudHlwZSBSZXF1aXJlczxTY2hlbWVzIGV4dGVuZHMgQmFzZVNjaGVtZXM+ID1cbiAgfCBSZW5kZXJTaWduYWw8J25vZGUnLCB7IHBheWxvYWQ6IFNjaGVtZXNbJ05vZGUnXSB9PlxuICB8IFJlbmRlclNpZ25hbDwnY29ubmVjdGlvbicsIHsgcGF5bG9hZDogU2NoZW1lc1snQ29ubmVjdGlvbiddLCBzdGFydD86IFBvc2l0aW9uLCBlbmQ/OiBQb3NpdGlvbiB9PlxuICB8IHsgdHlwZTogJ3VubW91bnQnLCBkYXRhOiB7IGVsZW1lbnQ6IEhUTUxFbGVtZW50IH0gfVxuXG4vKipcbiAqIEFuZ3VsYXIgcGx1Z2luLiBSZW5kZXJzIG5vZGVzLCBjb25uZWN0aW9ucyBhbmQgb3RoZXIgZWxlbWVudHMgdXNpbmcgUmVhY3QuXG4gKiBAcHJpb3JpdHkgOVxuICogQGVtaXRzIGNvbm5lY3Rpb25wYXRoXG4gKiBAbGlzdGVucyByZW5kZXJcbiAqIEBsaXN0ZW5zIHVubW91bnRcbiAqL1xuZXhwb3J0IGNsYXNzIEFuZ3VsYXJQbHVnaW48U2NoZW1lcyBleHRlbmRzIEJhc2VTY2hlbWVzLCBUID0gUmVxdWlyZXM8U2NoZW1lcz4+IGV4dGVuZHMgU2NvcGU8UHJvZHVjZXM8U2NoZW1lcz4sIFtSZXF1aXJlczxTY2hlbWVzPiB8IFRdPiB7XG4gIHByZXNldHM6IFJlbmRlclByZXNldDxTY2hlbWVzLCBUPltdID0gW11cbiAgcmVuZGVyZXI6IFJlbmRlcmVyXG4gIG93bmVycyA9IG5ldyBXZWFrTWFwPEhUTUxFbGVtZW50LCBSZW5kZXJQcmVzZXQ8U2NoZW1lcywgVD4+KClcblxuICAvKipcbiAgICogQGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSBwYXJhbXMgUGx1Z2luIHByb3BlcnRpZXNcbiAgICogQHBhcmFtIHBhcmFtcy5pbmplY3RvciBBbmd1bGFyJ3MgSW5qZWN0b3IgaW5zdGFuY2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyYW1zOiB7IGluamVjdG9yOiBJbmplY3RvciB9KSB7XG4gICAgc3VwZXIoJ2FuZ3VsYXItcmVuZGVyJylcbiAgICB0aGlzLnJlbmRlcmVyID0gZ2V0UmVuZGVyZXIoKVxuXG4gICAgdGhpcy5hZGRQaXBlKGNvbnRleHQgPT4ge1xuICAgICAgaWYgKCFjb250ZXh0IHx8IHR5cGVvZiBjb250ZXh0ICE9PSAnb2JqZWN0JyB8fCAhKCd0eXBlJyBpbiBjb250ZXh0KSkgcmV0dXJuIGNvbnRleHRcbiAgICAgIGlmIChjb250ZXh0LnR5cGUgPT09ICd1bm1vdW50Jykge1xuICAgICAgICB0aGlzLnVubW91bnQoY29udGV4dC5kYXRhLmVsZW1lbnQpXG4gICAgICB9IGVsc2UgaWYgKGNvbnRleHQudHlwZSA9PT0gJ3JlbmRlcicpIHtcbiAgICAgICAgaWYgKCdmaWxsZWQnIGluIGNvbnRleHQuZGF0YSAmJiBjb250ZXh0LmRhdGEuZmlsbGVkKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnRleHRcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5tb3VudChjb250ZXh0LmRhdGEuZWxlbWVudCwgY29udGV4dCkpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgLi4uY29udGV4dC5kYXRhLFxuICAgICAgICAgICAgICBmaWxsZWQ6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGFzIHR5cGVvZiBjb250ZXh0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBjb250ZXh0XG4gICAgfSlcbiAgfVxuXG4gIHNldFBhcmVudChzY29wZTogU2NvcGU8UmVxdWlyZXM8U2NoZW1lcz4gfCBUPik6IHZvaWQge1xuICAgIHN1cGVyLnNldFBhcmVudChzY29wZSlcblxuICAgIHRoaXMucHJlc2V0cy5mb3JFYWNoKHByZXNldCA9PiB7XG4gICAgICBpZiAocHJlc2V0LmF0dGFjaCkgcHJlc2V0LmF0dGFjaCh0aGlzKVxuICAgIH0pXG4gIH1cblxuXG4gIHByaXZhdGUgdW5tb3VudChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIHRoaXMub3duZXJzLmRlbGV0ZShlbGVtZW50KVxuICAgIHRoaXMucmVuZGVyZXIudW5tb3VudChlbGVtZW50KVxuICB9XG5cbiAgcHJpdmF0ZSBtb3VudChlbGVtZW50OiBIVE1MRWxlbWVudCwgY29udGV4dDogUmVxdWlyZXM8U2NoZW1lcz4pIHtcbiAgICBjb25zdCBleGlzdGluZyA9IHRoaXMucmVuZGVyZXIuZ2V0KGVsZW1lbnQpXG5cbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgIHRoaXMucHJlc2V0cy5mb3JFYWNoKHByZXNldCA9PiB7XG4gICAgICAgIGlmICh0aGlzLm93bmVycy5nZXQoZWxlbWVudCkgIT09IHByZXNldCkgcmV0dXJuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHByZXNldC51cGRhdGUoY29udGV4dCBhcyB1bmtub3duIGFzIEV4dHJhY3Q8VCwgeyB0eXBlOiAncmVuZGVyJyB9PiwgdGhpcylcblxuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci51cGRhdGUoZXhpc3RpbmcsIHJlc3VsdClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcmVzZXQgb2YgdGhpcy5wcmVzZXRzKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBwcmVzZXQubW91bnQoY29udGV4dCBhcyB1bmtub3duIGFzIEV4dHJhY3Q8VCwgeyB0eXBlOiAncmVuZGVyJyB9PiwgdGhpcylcblxuICAgICAgaWYgKCFyZXN1bHQpIGNvbnRpbnVlXG5cbiAgICAgIGNvbnN0IHsga2V5LCBjb21wb25lbnQsIHByb3BzIH0gPSByZXN1bHRcblxuICAgICAgdGhpcy5yZW5kZXJlci5tb3VudChlbGVtZW50LCBrZXksIGNvbXBvbmVudCwgdGhpcy5wYXJhbXMuaW5qZWN0b3IsIHByb3BzKVxuXG4gICAgICB0aGlzLm93bmVycy5zZXQoZWxlbWVudCwgcHJlc2V0KVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcmV0dXJuXG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHByZXNldCB0byB0aGUgcGx1Z2luLlxuICAgKiBAcGFyYW0gcHJlc2V0IFByZXNldCB0aGF0IGNhbiByZW5kZXIgbm9kZXMsIGNvbm5lY3Rpb25zIGFuZCBvdGhlciBlbGVtZW50cy5cbiAgICovXG4gIHB1YmxpYyBhZGRQcmVzZXQ8Sz4ocHJlc2V0OiBSZW5kZXJQcmVzZXQ8U2NoZW1lcywgQ2FuQXNzaWduU2lnbmFsPFQsIEs+IGV4dGVuZHMgdHJ1ZSA/IEsgOiAnQ2Fubm90IGFwcGx5IHByZXNldC4gUHJvdmlkZWQgc2lnbmFscyBhcmUgbm90IGNvbXBhdGlibGUnPikge1xuICAgIGNvbnN0IGxvY2FsID0gcHJlc2V0IGFzIHVua25vd24gYXMgUmVuZGVyUHJlc2V0PFNjaGVtZXMsIFQ+XG5cbiAgICBpZiAobG9jYWwuYXR0YWNoKSBsb2NhbC5hdHRhY2godGhpcylcbiAgICB0aGlzLnByZXNldHMucHVzaChsb2NhbClcbiAgfVxufVxuIl19
@@ -0,0 +1,12 @@
1
+ export * as Presets from './presets';
2
+ export { ReteModule } from './module';
3
+ export { ReteContextMenuModule } from './presets/context-menu/module';
4
+ export { ReteMinimapModule } from './presets/minimap/module';
5
+ export { ReteRerouteModule } from './presets/reroute/module';
6
+ export * from './presets/classic/components';
7
+ export * from './presets/context-menu/components';
8
+ export * from './presets/minimap/components';
9
+ export * from './presets/reroute/components';
10
+ export * from './ref';
11
+ export * from './core';
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9uZzE3Ly5zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxXQUFXLENBQUE7QUFHcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUVyQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUM1RCxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYyw4QkFBOEIsQ0FBQTtBQUM1QyxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsT0FBTyxDQUFBO0FBQ3JCLGNBQWMsUUFBUSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogYXMgUHJlc2V0cyBmcm9tICcuL3ByZXNldHMnXG5cbmV4cG9ydCB7IEFuZ3VsYXJBcmVhMkQgfSBmcm9tICcuL3ByZXNldHMvY2xhc3NpYy90eXBlcydcbmV4cG9ydCB7IFJldGVNb2R1bGUgfSBmcm9tICcuL21vZHVsZSdcbmV4cG9ydCB7IFJlbmRlclByZXNldCB9IGZyb20gJy4vcHJlc2V0cy90eXBlcydcbmV4cG9ydCB7IFJldGVDb250ZXh0TWVudU1vZHVsZSB9IGZyb20gJy4vcHJlc2V0cy9jb250ZXh0LW1lbnUvbW9kdWxlJ1xuZXhwb3J0IHsgUmV0ZU1pbmltYXBNb2R1bGUgfSBmcm9tICcuL3ByZXNldHMvbWluaW1hcC9tb2R1bGUnXG5leHBvcnQgeyBSZXRlUmVyb3V0ZU1vZHVsZSB9IGZyb20gJy4vcHJlc2V0cy9yZXJvdXRlL21vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMnXG5leHBvcnQgKiBmcm9tICcuL3ByZXNldHMvY29udGV4dC1tZW51L2NvbXBvbmVudHMnXG5leHBvcnQgKiBmcm9tICcuL3ByZXNldHMvbWluaW1hcC9jb21wb25lbnRzJ1xuZXhwb3J0ICogZnJvbSAnLi9wcmVzZXRzL3Jlcm91dGUvY29tcG9uZW50cydcbmV4cG9ydCAqIGZyb20gJy4vcmVmJ1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlJ1xuIl19
@@ -0,0 +1,50 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NodeComponent } from './presets/classic/components/node/node.component';
4
+ import { ConnectionComponent } from './presets/classic/components/connection/connection.component';
5
+ import { SocketComponent } from './presets/classic/components/socket/socket.component';
6
+ import { ConnectionWrapperComponent } from './presets/classic/components/connection/connection-wrapper.component';
7
+ import { ControlComponent } from './presets/classic/components/control/control.component';
8
+ import { RefDirective } from './ref';
9
+ import * as i0 from "@angular/core";
10
+ export class ReteModule {
11
+ static ɵfac = function ReteModule_Factory(t) { return new (t || ReteModule)(); };
12
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ReteModule });
13
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule] });
14
+ }
15
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReteModule, [{
16
+ type: NgModule,
17
+ args: [{
18
+ declarations: [
19
+ RefDirective,
20
+ NodeComponent,
21
+ ConnectionComponent,
22
+ ConnectionWrapperComponent,
23
+ SocketComponent,
24
+ ControlComponent
25
+ ],
26
+ imports: [
27
+ CommonModule
28
+ ],
29
+ exports: [
30
+ RefDirective,
31
+ NodeComponent,
32
+ ConnectionComponent,
33
+ ConnectionWrapperComponent,
34
+ SocketComponent,
35
+ ControlComponent
36
+ ]
37
+ }]
38
+ }], null, null); })();
39
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ReteModule, { declarations: [RefDirective,
40
+ NodeComponent,
41
+ ConnectionComponent,
42
+ ConnectionWrapperComponent,
43
+ SocketComponent,
44
+ ControlComponent], imports: [CommonModule], exports: [RefDirective,
45
+ NodeComponent,
46
+ ConnectionComponent,
47
+ ConnectionWrapperComponent,
48
+ SocketComponent,
49
+ ControlComponent] }); })();
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbmcxNy8uc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDbkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxPQUFPLENBQUM7O0FBdUJyQyxNQUFNLE9BQU8sVUFBVTtvRUFBVixVQUFVOzREQUFWLFVBQVU7Z0VBWG5CLFlBQVk7O2lGQVdILFVBQVU7Y0FyQnRCLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osWUFBWTtvQkFDWixhQUFhO29CQUNiLG1CQUFtQjtvQkFDbkIsMEJBQTBCO29CQUMxQixlQUFlO29CQUNmLGdCQUFnQjtpQkFDakI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixtQkFBbUI7b0JBQ25CLDBCQUEwQjtvQkFDMUIsZUFBZTtvQkFDZixnQkFBZ0I7aUJBQ2pCO2FBQ0Y7O3dGQUNZLFVBQVUsbUJBbkJuQixZQUFZO1FBQ1osYUFBYTtRQUNiLG1CQUFtQjtRQUNuQiwwQkFBMEI7UUFDMUIsZUFBZTtRQUNmLGdCQUFnQixhQUdoQixZQUFZLGFBR1osWUFBWTtRQUNaLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsMEJBQTBCO1FBQzFCLGVBQWU7UUFDZixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTm9kZUNvbXBvbmVudCB9IGZyb20gJy4vcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvbm9kZS9ub2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25uZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9jb25uZWN0aW9uL2Nvbm5lY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNvY2tldENvbXBvbmVudCB9IGZyb20gJy4vcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvc29ja2V0L3NvY2tldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29ubmVjdGlvbldyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL3ByZXNldHMvY2xhc3NpYy9jb21wb25lbnRzL2Nvbm5lY3Rpb24vY29ubmVjdGlvbi13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9jb250cm9sL2NvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFJlZkRpcmVjdGl2ZSB9IGZyb20gJy4vcmVmJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUmVmRGlyZWN0aXZlLFxuICAgIE5vZGVDb21wb25lbnQsXG4gICAgQ29ubmVjdGlvbkNvbXBvbmVudCxcbiAgICBDb25uZWN0aW9uV3JhcHBlckNvbXBvbmVudCxcbiAgICBTb2NrZXRDb21wb25lbnQsXG4gICAgQ29udHJvbENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBSZWZEaXJlY3RpdmUsXG4gICAgTm9kZUNvbXBvbmVudCxcbiAgICBDb25uZWN0aW9uQ29tcG9uZW50LFxuICAgIENvbm5lY3Rpb25XcmFwcGVyQ29tcG9uZW50LFxuICAgIFNvY2tldENvbXBvbmVudCxcbiAgICBDb250cm9sQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmV0ZU1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,91 @@
1
+ import { Component, Input, ChangeDetectorRef, ViewContainerRef, ComponentFactoryResolver } from '@angular/core';
2
+ import { ClassicPreset } from 'rete';
3
+ import * as i0 from "@angular/core";
4
+ export class ConnectionWrapperComponent {
5
+ cdr;
6
+ viewContainerRef;
7
+ componentFactoryResolver;
8
+ data;
9
+ start;
10
+ end;
11
+ path;
12
+ rendered;
13
+ connectionComponent;
14
+ ref;
15
+ startOb = null;
16
+ get _start() {
17
+ return 'x' in this.start ? this.start : this.startOb;
18
+ }
19
+ endOb = null;
20
+ get _end() {
21
+ return 'x' in this.end ? this.end : this.endOb;
22
+ }
23
+ _path;
24
+ constructor(cdr, viewContainerRef, componentFactoryResolver) {
25
+ this.cdr = cdr;
26
+ this.viewContainerRef = viewContainerRef;
27
+ this.componentFactoryResolver = componentFactoryResolver;
28
+ this.cdr.detach();
29
+ }
30
+ async ngOnChanges() {
31
+ await this.updatePath();
32
+ requestAnimationFrame(() => this.rendered());
33
+ this.cdr.detectChanges();
34
+ this.update();
35
+ }
36
+ async updatePath() {
37
+ if (this._start && this._end) {
38
+ this._path = await this.path(this._start, this._end);
39
+ }
40
+ }
41
+ ngOnInit() {
42
+ if (typeof this.start === 'function') {
43
+ this.start(async (value) => {
44
+ this.startOb = value;
45
+ await this.updatePath();
46
+ this.cdr.detectChanges();
47
+ this.update();
48
+ });
49
+ }
50
+ if (typeof this.end === 'function') {
51
+ this.end(async (value) => {
52
+ this.endOb = value;
53
+ await this.updatePath();
54
+ this.cdr.detectChanges();
55
+ this.update();
56
+ });
57
+ }
58
+ const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.connectionComponent);
59
+ this.viewContainerRef.clear();
60
+ this.ref = this.viewContainerRef.createComponent(componentFactory);
61
+ this.update();
62
+ }
63
+ update() {
64
+ this.ref.instance.data = this.data;
65
+ this.ref.instance.start = this._start;
66
+ this.ref.instance.end = this._end;
67
+ this.ref.instance.path = this._path;
68
+ }
69
+ static ɵfac = function ConnectionWrapperComponent_Factory(t) { return new (t || ConnectionWrapperComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.ComponentFactoryResolver)); };
70
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConnectionWrapperComponent, selectors: [["ng-component"]], inputs: { data: "data", start: "start", end: "end", path: "path", rendered: "rendered", connectionComponent: "connectionComponent" }, features: [i0.ɵɵNgOnChangesFeature], decls: 0, vars: 0, template: function ConnectionWrapperComponent_Template(rf, ctx) { }, encapsulation: 2 });
71
+ }
72
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConnectionWrapperComponent, [{
73
+ type: Component,
74
+ args: [{
75
+ template: ''
76
+ }]
77
+ }], () => [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }], { data: [{
78
+ type: Input
79
+ }], start: [{
80
+ type: Input
81
+ }], end: [{
82
+ type: Input
83
+ }], path: [{
84
+ type: Input
85
+ }], rendered: [{
86
+ type: Input
87
+ }], connectionComponent: [{
88
+ type: Input
89
+ }] }); })();
90
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ConnectionWrapperComponent, { className: "ConnectionWrapperComponent", filePath: "presets/classic/components/connection/connection-wrapper.component.ts", lineNumber: 10 }); })();
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9jb25uZWN0aW9uL2Nvbm5lY3Rpb24td3JhcHBlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQWEsZ0JBQWdCLEVBQUUsd0JBQXdCLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2pKLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBUXJDLE1BQU0sT0FBTywwQkFBMEI7SUFvQmpCO0lBQStCO0lBQTRDO0lBbkJ0RixJQUFJLENBQW9FO0lBQ3hFLEtBQUssQ0FBNkI7SUFDbEMsR0FBRyxDQUE2QjtJQUNoQyxJQUFJLENBQXNEO0lBQzFELFFBQVEsQ0FBTTtJQUNkLG1CQUFtQixDQUFNO0lBRWxDLEdBQUcsQ0FBb0I7SUFFdkIsT0FBTyxHQUFvQixJQUFJLENBQUE7SUFDL0IsSUFBSSxNQUFNO1FBQ1IsT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUN0RCxDQUFDO0lBQ0QsS0FBSyxHQUFvQixJQUFJLENBQUE7SUFDN0IsSUFBSSxJQUFJO1FBQ04sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtJQUNoRCxDQUFDO0lBQ0QsS0FBSyxDQUFRO0lBRWIsWUFBb0IsR0FBc0IsRUFBUyxnQkFBa0MsRUFBVSx3QkFBa0Q7UUFBN0gsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxxQkFBZ0Is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dGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMsIFZpZXdDb250YWluZXJSZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGFzc2ljUHJlc2V0IH0gZnJvbSAncmV0ZSc7XG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcblxudHlwZSBQb3NpdGlvbldhdGNoZXIgPSAoY2I6ICh2YWx1ZTogUG9zaXRpb24pID0+IHZvaWQpID0+ICgoKSA9PiB2b2lkKVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25XcmFwcGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXN7XG4gIEBJbnB1dCgpIGRhdGEhOiBDbGFzc2ljUHJlc2V0LkNvbm5lY3Rpb248Q2xhc3NpY1ByZXNldC5Ob2RlLCBDbGFzc2ljUHJlc2V0Lk5vZGU+O1xuICBASW5wdXQoKSBzdGFydCE6IFBvc2l0aW9uIHwgUG9zaXRpb25XYXRjaGVyXG4gIEBJbnB1dCgpIGVuZCE6IFBvc2l0aW9uIHwgUG9zaXRpb25XYXRjaGVyXG4gIEBJbnB1dCgpIHBhdGghOiAoc3RhcnQ6IFBvc2l0aW9uLCBlbmQ6IFBvc2l0aW9uKSA9PiBQcm9taXNlPHN0cmluZz5cbiAgQElucHV0KCkgcmVuZGVyZWQhOiBhbnlcbiAgQElucHV0KCkgY29ubmVjdGlvbkNvbXBvbmVudCE6IGFueVxuXG4gIHJlZiE6IENvbXBvbmVudFJlZjxhbnk+XG5cbiAgc3RhcnRPYjogUG9zaXRpb24gfCBudWxsID0gbnVsbFxuICBnZXQgX3N0YXJ0KCk6IFBvc2l0aW9uIHwgbnVsbCB7XG4gICAgcmV0dXJuICd4JyBpbiB0aGlzLnN0YXJ0ID8gdGhpcy5zdGFydCA6IHRoaXMuc3RhcnRPYlxuICB9XG4gIGVuZE9iOiBQb3NpdGlvbiB8IG51bGwgPSBudWxsXG4gIGdldCBfZW5kKCk6IFBvc2l0aW9uIHwgbnVsbCB7XG4gICAgcmV0dXJuICd4JyBpbiB0aGlzLmVuZCA/IHRoaXMuZW5kIDogdGhpcy5lbmRPYlxuICB9XG4gIF9wYXRoOiBzdHJpbmdcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSAge1xuICAgIHRoaXMuY2RyLmRldGFjaCgpXG4gIH1cblxuICBhc3luYyBuZ09uQ2hhbmdlcygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZVBhdGgoKVxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB0aGlzLnJlbmRlcmVkKCkpXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgdGhpcy51cGRhdGUoKVxuICB9XG5cbiAgYXN5bmMgdXBkYXRlUGF0aCgpIHtcbiAgICBpZiAodGhpcy5fc3RhcnQgJiYgdGhpcy5fZW5kKSB7XG4gICAgICB0aGlzLl9wYXRoID0gYXdhaXQgdGhpcy5wYXRoKHRoaXMuX3N0YXJ0LCB0aGlzLl9lbmQpXG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnN0YXJ0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLnN0YXJ0KGFzeW5jIHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5zdGFydE9iID0gdmFsdWVcbiAgICAgICAgYXdhaXQgdGhpcy51cGRhdGVQYXRoKClcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgIHRoaXMudXBkYXRlKClcbiAgICAgIH0pXG4gICAgfVxuICAgIGlmICh0eXBlb2YgdGhpcy5lbmQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuZW5kKGFzeW5jIHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5lbmRPYiA9IHZhbHVlXG4gICAgICAgIGF3YWl0IHRoaXMudXBkYXRlUGF0aCgpXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICAgICAgICB0aGlzLnVwZGF0ZSgpXG4gICAgICB9KVxuICAgIH1cbiAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5jb25uZWN0aW9uQ29tcG9uZW50KTtcbiAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcblxuICAgIHRoaXMucmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcbiAgICB0aGlzLnVwZGF0ZSgpXG4gIH1cblxuICB1cGRhdGUoKSB7XG4gICAgdGhpcy5yZWYuaW5zdGFuY2UuZGF0YSA9IHRoaXMuZGF0YVxuICAgIHRoaXMucmVmLmluc3RhbmNlLnN0YXJ0ID0gdGhpcy5fc3RhcnRcbiAgICB0aGlzLnJlZi5pbnN0YW5jZS5lbmQgPSB0aGlzLl9lbmRcbiAgICB0aGlzLnJlZi5pbnN0YW5jZS5wYXRoID0gdGhpcy5fcGF0aFxuICB9XG59XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { ClassicPreset } from 'rete';
3
+ import * as i0 from "@angular/core";
4
+ export class ConnectionComponent {
5
+ data;
6
+ start;
7
+ end;
8
+ path;
9
+ static ɵfac = function ConnectionComponent_Factory(t) { return new (t || ConnectionComponent)(); };
10
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConnectionComponent, selectors: [["connection"]], inputs: { data: "data", start: "start", end: "end", path: "path" }, decls: 2, vars: 1, consts: [["data-testid", "connection"]], template: function ConnectionComponent_Template(rf, ctx) { if (rf & 1) {
11
+ i0.ɵɵnamespaceSVG();
12
+ i0.ɵɵelementStart(0, "svg", 0);
13
+ i0.ɵɵelement(1, "path");
14
+ i0.ɵɵelementEnd();
15
+ } if (rf & 2) {
16
+ i0.ɵɵadvance(1);
17
+ i0.ɵɵattribute("d", ctx.path);
18
+ } }, styles: ["svg[_ngcontent-%COMP%]{overflow:visible!important;position:absolute;pointer-events:none;width:9999px;height:9999px}svg[_ngcontent-%COMP%] path[_ngcontent-%COMP%]{fill:none;stroke-width:5px;stroke:#4682b4;pointer-events:auto}"] });
19
+ }
20
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConnectionComponent, [{
21
+ type: Component,
22
+ args: [{ selector: 'connection', template: "<svg data-testid=\"connection\">\n <path [attr.d]=\"path\" />\n</svg>\n", styles: ["svg{overflow:visible!important;position:absolute;pointer-events:none;width:9999px;height:9999px}svg path{fill:none;stroke-width:5px;stroke:#4682b4;pointer-events:auto}\n"] }]
23
+ }], null, { data: [{
24
+ type: Input
25
+ }], start: [{
26
+ type: Input
27
+ }], end: [{
28
+ type: Input
29
+ }], path: [{
30
+ type: Input
31
+ }] }); })();
32
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ConnectionComponent, { className: "ConnectionComponent", filePath: "presets/classic/components/connection/connection.component.ts", lineNumber: 12 }); })();
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvY29ubmVjdGlvbi9jb25uZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9jb25uZWN0aW9uL2Nvbm5lY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFVckMsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixJQUFJLENBQW9FO0lBQ3hFLEtBQUssQ0FBVTtJQUNmLEdBQUcsQ0FBVTtJQUNiLElBQUksQ0FBUTs2RUFKVixtQkFBbUI7NkRBQW5CLG1CQUFtQjtZQ1hoQyxtQkFBOEI7WUFBOUIsOEJBQThCO1lBQzFCLHVCQUF3QjtZQUM1QixpQkFBTTs7WUFESSxlQUFlO1lBQWYsNkJBQWU7OztpRkRVWixtQkFBbUI7Y0FML0IsU0FBUzsyQkFDRSxZQUFZO2dCQUtiLElBQUk7a0JBQVosS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUNHLEdBQUc7a0JBQVgsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSzs7a0ZBSkssbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xhc3NpY1ByZXNldCB9IGZyb20gJ3JldGUnO1xuaW1wb3J0IHsgY2xhc3NpY0Nvbm5lY3Rpb25QYXRoIH0gZnJvbSAncmV0ZS1yZW5kZXItdXRpbHMnXG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb25uZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nvbm5lY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb25uZWN0aW9uLmNvbXBvbmVudC5zYXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRhdGEhOiBDbGFzc2ljUHJlc2V0LkNvbm5lY3Rpb248Q2xhc3NpY1ByZXNldC5Ob2RlLCBDbGFzc2ljUHJlc2V0Lk5vZGU+O1xuICBASW5wdXQoKSBzdGFydDogUG9zaXRpb25cbiAgQElucHV0KCkgZW5kOiBQb3NpdGlvblxuICBASW5wdXQoKSBwYXRoOiBzdHJpbmdcbn1cbiIsIjxzdmcgZGF0YS10ZXN0aWQ9XCJjb25uZWN0aW9uXCI+XG4gICAgPHBhdGggW2F0dHIuZF09XCJwYXRoXCIgLz5cbjwvc3ZnPlxuIl19
@@ -0,0 +1,55 @@
1
+ import { Component, Input, ChangeDetectorRef, HostListener } from '@angular/core';
2
+ import { ClassicPreset } from 'rete';
3
+ import * as i0 from "@angular/core";
4
+ export class ControlComponent {
5
+ cdr;
6
+ data;
7
+ rendered;
8
+ pointerdown(event) {
9
+ event.stopPropagation();
10
+ }
11
+ constructor(cdr) {
12
+ this.cdr = cdr;
13
+ this.cdr.detach();
14
+ }
15
+ ngOnChanges(changes) {
16
+ const seed = changes['seed'];
17
+ const data = changes['data'];
18
+ if ((seed && seed.currentValue !== seed.previousValue)
19
+ || (data && data.currentValue !== data.previousValue)) {
20
+ this.cdr.detectChanges();
21
+ }
22
+ requestAnimationFrame(() => this.rendered());
23
+ }
24
+ onChange(e) {
25
+ const target = e.target;
26
+ const value = (this.data.type === 'number'
27
+ ? +target.value
28
+ : target.value);
29
+ this.data.setValue(value);
30
+ this.cdr.detectChanges();
31
+ }
32
+ static ɵfac = function ControlComponent_Factory(t) { return new (t || ControlComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
33
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ControlComponent, selectors: [["ng-component"]], hostBindings: function ControlComponent_HostBindings(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵlistener("pointerdown", function ControlComponent_pointerdown_HostBindingHandler($event) { return ctx.pointerdown($event); });
35
+ } }, inputs: { data: "data", rendered: "rendered" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 3, consts: [[3, "value", "readonly", "type", "input"]], template: function ControlComponent_Template(rf, ctx) { if (rf & 1) {
36
+ i0.ɵɵelementStart(0, "input", 0);
37
+ i0.ɵɵlistener("input", function ControlComponent_Template_input_input_0_listener($event) { return ctx.onChange($event); });
38
+ i0.ɵɵelementEnd();
39
+ } if (rf & 2) {
40
+ i0.ɵɵproperty("value", ctx.data.value)("readonly", ctx.data.readonly)("type", ctx.data.type);
41
+ } }, styles: ["input[_ngcontent-%COMP%]{width:130px;border-radius:30px;background-color:#fff;padding:2px 6px;border:1px solid #999;font-size:110%}"] });
42
+ }
43
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ControlComponent, [{
44
+ type: Component,
45
+ args: [{ template: "<input\n [value]=\"data.value\"\n [readonly]=\"data.readonly\"\n [type]=\"data.type\"\n (input)=\"onChange($event)\"\n/>\n", styles: ["input{width:130px;border-radius:30px;background-color:#fff;padding:2px 6px;border:1px solid #999;font-size:110%}\n"] }]
46
+ }], () => [{ type: i0.ChangeDetectorRef }], { data: [{
47
+ type: Input
48
+ }], rendered: [{
49
+ type: Input
50
+ }], pointerdown: [{
51
+ type: HostListener,
52
+ args: ['pointerdown', ['$event']]
53
+ }] }); })();
54
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ControlComponent, { className: "ControlComponent", filePath: "presets/classic/components/control/control.component.ts", lineNumber: 8 }); })();
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvY29udHJvbC9jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9jb250cm9sL2NvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU1yQyxNQUFNLE9BQU8sZ0JBQWdCO0lBVVA7SUFUWCxJQUFJLENBQWlDO0lBQ3JDLFFBQVEsQ0FBTztJQUlqQixXQUFXLENBQUMsS0FBVTtRQUMzQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDNUIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRTVCLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDO2VBQ2pELENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUE7U0FDekI7UUFDRCxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsUUFBUSxDQUFDLENBQVE7UUFDZixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBMEIsQ0FBQTtRQUMzQyxNQUFNLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFDeEMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDZixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBMkMsQ0FBQTtRQUUzRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQzFCLENBQUM7MEVBakNVLGdCQUFnQjs2REFBaEIsZ0JBQWdCO21IQUFoQix1QkFBbUI7O1lDUGhDLGdDQUtFO1lBREEsa0dBQVMsb0JBQWdCLElBQUM7WUFKNUIsaUJBS0U7O1lBSkEsc0NBQW9CLCtCQUFBLHVCQUFBOzs7aUZETVQsZ0JBQWdCO2NBSjVCLFNBQVM7O2tEQUtDLElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFJQyxXQUFXO2tCQURqQixZQUFZO21CQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7a0ZBTDVCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgQ2hhbmdlRGV0ZWN0b3JSZWYsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xhc3NpY1ByZXNldCB9IGZyb20gJ3JldGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6IGAuL2NvbnRyb2wuY29tcG9uZW50Lmh0bWxgLFxuICBzdHlsZVVybHM6IFsnLi9jb250cm9sLmNvbXBvbmVudC5zYXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29udHJvbENvbXBvbmVudDxUIGV4dGVuZHMgJ3RleHQnIHwgJ251bWJlcic+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZGF0YSE6IENsYXNzaWNQcmVzZXQuSW5wdXRDb250cm9sPFQ+O1xuICBASW5wdXQoKSByZW5kZXJlZCE6IGFueTtcblxuXG4gIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgWyckZXZlbnQnXSlcbiAgcHVibGljIHBvaW50ZXJkb3duKGV2ZW50OiBhbnkpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuY2RyLmRldGFjaCgpXG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3Qgc2VlZCA9IGNoYW5nZXNbJ3NlZWQnXVxuICAgIGNvbnN0IGRhdGEgPSBjaGFuZ2VzWydkYXRhJ11cblxuICAgIGlmICgoc2VlZCAmJiBzZWVkLmN1cnJlbnRWYWx1ZSAhPT0gc2VlZC5wcmV2aW91c1ZhbHVlKVxuICAgICAgfHwgKGRhdGEgJiYgZGF0YS5jdXJyZW50VmFsdWUgIT09IGRhdGEucHJldmlvdXNWYWx1ZSkpIHtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICAgIH1cbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5yZW5kZXJlZCgpKVxuICB9XG5cbiAgb25DaGFuZ2UoZTogRXZlbnQpIHtcbiAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50XG4gICAgY29uc3QgdmFsdWUgPSAodGhpcy5kYXRhLnR5cGUgPT09ICdudW1iZXInXG4gICAgICA/ICt0YXJnZXQudmFsdWVcbiAgICAgIDogdGFyZ2V0LnZhbHVlKSBhcyBDbGFzc2ljUHJlc2V0LklucHV0Q29udHJvbDxUPlsndmFsdWUnXVxuXG4gICAgdGhpcy5kYXRhLnNldFZhbHVlKHZhbHVlKVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG59XG4iLCI8aW5wdXRcbiAgW3ZhbHVlXT1cImRhdGEudmFsdWVcIlxuICBbcmVhZG9ubHldPVwiZGF0YS5yZWFkb25seVwiXG4gIFt0eXBlXT1cImRhdGEudHlwZVwiXG4gIChpbnB1dCk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbi8+XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export * from './node/node.component';
2
+ export * from './connection/connection-wrapper.component';
3
+ export * from './connection/connection.component';
4
+ export * from './control/control.component';
5
+ export * from './socket/socket.component';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLDJCQUEyQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgKiBmcm9tICcuL25vZGUvbm9kZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Nvbm5lY3Rpb24vY29ubmVjdGlvbi13cmFwcGVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vY29ubmVjdGlvbi9jb25uZWN0aW9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbC9jb250cm9sLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vc29ja2V0L3NvY2tldC5jb21wb25lbnQnXG4iXX0=
@@ -0,0 +1,122 @@
1
+ import { Component, Input, HostBinding, ChangeDetectorRef } from '@angular/core';
2
+ import { ClassicPreset as Classic } from 'rete';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../../../../ref";
6
+ const _c0 = (a2, a3, a4, a5) => ({ type: "socket", side: "output", key: a2, nodeId: a3, payload: a4, seed: a5 });
7
+ function NodeComponent_div_2_Template(rf, ctx) { if (rf & 1) {
8
+ i0.ɵɵelementStart(0, "div", 4)(1, "div", 5);
9
+ i0.ɵɵtext(2);
10
+ i0.ɵɵelementEnd();
11
+ i0.ɵɵelement(3, "div", 6);
12
+ i0.ɵɵelementEnd();
13
+ } if (rf & 2) {
14
+ const output_r3 = ctx.$implicit;
15
+ const ctx_r0 = i0.ɵɵnextContext();
16
+ i0.ɵɵattribute("data-testid", "output-" + output_r3.key);
17
+ i0.ɵɵadvance(2);
18
+ i0.ɵɵtextInterpolate(output_r3.value == null ? null : output_r3.value.label);
19
+ i0.ɵɵadvance(1);
20
+ i0.ɵɵproperty("data", i0.ɵɵpureFunction4(4, _c0, output_r3.key, ctx_r0.data.id, output_r3.value == null ? null : output_r3.value.socket, ctx_r0.seed))("emit", ctx_r0.emit);
21
+ } }
22
+ const _c1 = a1 => ({ type: "control", payload: a1 });
23
+ function NodeComponent_div_4_Template(rf, ctx) { if (rf & 1) {
24
+ i0.ɵɵelement(0, "div", 7);
25
+ } if (rf & 2) {
26
+ const control_r4 = ctx.$implicit;
27
+ const ctx_r1 = i0.ɵɵnextContext();
28
+ i0.ɵɵproperty("data", i0.ɵɵpureFunction1(3, _c1, control_r4.value))("emit", ctx_r1.emit);
29
+ i0.ɵɵattribute("data-testid", "control-" + control_r4.key);
30
+ } }
31
+ function NodeComponent_div_6_div_2_Template(rf, ctx) { if (rf & 1) {
32
+ i0.ɵɵelementStart(0, "div", 12);
33
+ i0.ɵɵtext(1);
34
+ i0.ɵɵelementEnd();
35
+ } if (rf & 2) {
36
+ const input_r5 = i0.ɵɵnextContext().$implicit;
37
+ i0.ɵɵadvance(1);
38
+ i0.ɵɵtextInterpolate(input_r5.value == null ? null : input_r5.value.label);
39
+ } }
40
+ const _c2 = (a2, a3, a4, a5) => ({ type: "socket", side: "input", key: a2, nodeId: a3, payload: a4, seed: a5 });
41
+ function NodeComponent_div_6_Template(rf, ctx) { if (rf & 1) {
42
+ i0.ɵɵelementStart(0, "div", 8);
43
+ i0.ɵɵelement(1, "div", 9);
44
+ i0.ɵɵtemplate(2, NodeComponent_div_6_div_2_Template, 2, 1, "div", 10);
45
+ i0.ɵɵelement(3, "div", 11);
46
+ i0.ɵɵelementEnd();
47
+ } if (rf & 2) {
48
+ const input_r5 = ctx.$implicit;
49
+ const ctx_r2 = i0.ɵɵnextContext();
50
+ i0.ɵɵattribute("data-testid", "input-" + input_r5.key);
51
+ i0.ɵɵadvance(1);
52
+ i0.ɵɵproperty("data", i0.ɵɵpureFunction4(8, _c2, input_r5.key, ctx_r2.data.id, input_r5.value == null ? null : input_r5.value.socket, ctx_r2.seed))("emit", ctx_r2.emit);
53
+ i0.ɵɵadvance(1);
54
+ i0.ɵɵproperty("ngIf", !(input_r5.value == null ? null : input_r5.value.control) || !(input_r5.value == null ? null : input_r5.value.showControl));
55
+ i0.ɵɵadvance(1);
56
+ i0.ɵɵstyleProp("display", (input_r5.value == null ? null : input_r5.value.control) && (input_r5.value == null ? null : input_r5.value.showControl) ? "" : "none");
57
+ i0.ɵɵproperty("data", i0.ɵɵpureFunction1(13, _c1, input_r5.value == null ? null : input_r5.value.control))("emit", ctx_r2.emit);
58
+ } }
59
+ export class NodeComponent {
60
+ cdr;
61
+ data;
62
+ emit;
63
+ rendered;
64
+ seed = 0;
65
+ get selected() {
66
+ return this.data.selected;
67
+ }
68
+ constructor(cdr) {
69
+ this.cdr = cdr;
70
+ this.cdr.detach();
71
+ }
72
+ ngOnChanges() {
73
+ this.cdr.detectChanges();
74
+ requestAnimationFrame(() => this.rendered());
75
+ this.seed++; // force render sockets
76
+ }
77
+ sortByIndex(a, b) {
78
+ const ai = a.value?.index || 0;
79
+ const bi = b.value?.index || 0;
80
+ return ai - bi;
81
+ }
82
+ static ɵfac = function NodeComponent_Factory(t) { return new (t || NodeComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
83
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NodeComponent, selectors: [["ng-component"]], hostAttrs: ["data-testid", "node"], hostVars: 2, hostBindings: function NodeComponent_HostBindings(rf, ctx) { if (rf & 2) {
84
+ i0.ɵɵclassProp("selected", ctx.selected);
85
+ } }, inputs: { data: "data", emit: "emit", rendered: "rendered" }, features: [i0.ɵɵNgOnChangesFeature], decls: 8, vars: 13, consts: [["data-testid", "title", 1, "title"], ["class", "output", 4, "ngFor", "ngForOf"], ["class", "control", "refComponent", "", 3, "data", "emit", 4, "ngFor", "ngForOf"], ["class", "input", 4, "ngFor", "ngForOf"], [1, "output"], ["data-testid", "output-title", 1, "output-title"], ["refComponent", "", "data-testid", "output-socket", 1, "output-socket", 3, "data", "emit"], ["refComponent", "", 1, "control", 3, "data", "emit"], [1, "input"], ["refComponent", "", "data-testid", "input-socket", 1, "input-socket", 3, "data", "emit"], ["class", "input-title", "data-testid", "input-title", 4, "ngIf"], ["refComponent", "", "data-testid", "input-control", 1, "input-control", 3, "data", "emit"], ["data-testid", "input-title", 1, "input-title"]], template: function NodeComponent_Template(rf, ctx) { if (rf & 1) {
86
+ i0.ɵɵelementStart(0, "div", 0);
87
+ i0.ɵɵtext(1);
88
+ i0.ɵɵelementEnd();
89
+ i0.ɵɵtemplate(2, NodeComponent_div_2_Template, 4, 9, "div", 1);
90
+ i0.ɵɵpipe(3, "keyvalue");
91
+ i0.ɵɵtemplate(4, NodeComponent_div_4_Template, 1, 5, "div", 2);
92
+ i0.ɵɵpipe(5, "keyvalue");
93
+ i0.ɵɵtemplate(6, NodeComponent_div_6_Template, 4, 15, "div", 3);
94
+ i0.ɵɵpipe(7, "keyvalue");
95
+ } if (rf & 2) {
96
+ i0.ɵɵadvance(1);
97
+ i0.ɵɵtextInterpolate(ctx.data.label);
98
+ i0.ɵɵadvance(1);
99
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(3, 4, ctx.data.outputs, ctx.sortByIndex));
100
+ i0.ɵɵadvance(2);
101
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(5, 7, ctx.data.controls, ctx.sortByIndex));
102
+ i0.ɵɵadvance(2);
103
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(7, 10, ctx.data.inputs, ctx.sortByIndex));
104
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i2.RefDirective, i1.KeyValuePipe], styles: ["[_nghost-%COMP%]{display:block;background:rgba(110,136,255,.8);border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;min-width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}[_nghost-%COMP%]:hover{background:rgba(130,153,255,.8)}.selected[_nghost-%COMP%]{background:#ffd92c;border-color:#e3c000}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}[_nghost-%COMP%] .output[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .input[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .input-title[_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[_ngcontent-%COMP%]{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}[_nghost-%COMP%] .input-title[hidden][_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[hidden][_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .output-socket[_ngcontent-%COMP%]{text-align:right;margin-right:-18px;display:inline-block}[_nghost-%COMP%] .input-socket[_ngcontent-%COMP%]{text-align:left;margin-left:-18px;display:inline-block}[_nghost-%COMP%] .input-control[_ngcontent-%COMP%]{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}[_nghost-%COMP%] .control[_ngcontent-%COMP%]{padding:6px 18px}"] });
105
+ }
106
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NodeComponent, [{
107
+ type: Component,
108
+ args: [{ host: {
109
+ 'data-testid': 'node'
110
+ }, template: "<div class=\"title\" data-testid=\"title\">{{data.label}}</div>\n<div class=\"output\" *ngFor=\"let output of data.outputs | keyvalue: sortByIndex\" [attr.data-testid]=\"'output-'+output.key\">\n <div class=\"output-title\" data-testid=\"output-title\">{{output.value?.label}}</div>\n <div\n class=\"output-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'output', key: output.key, nodeId: data.id, payload: output.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"output-socket\"\n ></div>\n</div>\n<div\n class=\"control\"\n *ngFor=\"let control of data.controls | keyvalue: sortByIndex\"\n refComponent\n [data]=\"{type: 'control', payload: control.value }\"\n [emit]=\"emit\"\n [attr.data-testid]=\"'control-'+control.key\"\n></div>\n<div class=\"input\" *ngFor=\"let input of data.inputs | keyvalue: sortByIndex\" [attr.data-testid]=\"'input-'+input.key\">\n <div\n class=\"input-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'input', key: input.key, nodeId: data.id, payload: input.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"input-socket\"\n ></div>\n <div class=\"input-title\" data-testid=\"input-title\" *ngIf=\"!input.value?.control || !input.value?.showControl\">{{input.value?.label}}</div>\n <div\n class=\"input-control\"\n [style.display]=\"input.value?.control && input.value?.showControl ? '' : 'none'\"\n refComponent\n [data]=\"{type: 'control', payload: input.value?.control }\"\n [emit]=\"emit\"\n data-testid=\"input-control\"\n ></div>\n</div>\n", styles: [":host{display:block;background:rgba(110,136,255,.8);border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;min-width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}:host:hover{background:rgba(130,153,255,.8)}:host.selected{background:#ffd92c;border-color:#e3c000}:host .title{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}:host .output{text-align:right}:host .input{text-align:left}:host .input-title,:host .output-title{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}:host .input-title[hidden],:host .output-title[hidden]{display:none}:host .output-socket{text-align:right;margin-right:-18px;display:inline-block}:host .input-socket{text-align:left;margin-left:-18px;display:inline-block}:host .input-control{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}:host .control{padding:6px 18px}\n"] }]
111
+ }], () => [{ type: i0.ChangeDetectorRef }], { data: [{
112
+ type: Input
113
+ }], emit: [{
114
+ type: Input
115
+ }], rendered: [{
116
+ type: Input
117
+ }], selected: [{
118
+ type: HostBinding,
119
+ args: ['class.selected']
120
+ }] }); })();
121
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NodeComponent, { className: "NodeComponent", filePath: "presets/classic/components/node/node.component.ts", lineNumber: 14 }); })();
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvbm9kZS9ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9ub2RlL25vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxhQUFhLElBQUksT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7SUNBaEQsOEJBQTBILGFBQUE7SUFDakUsWUFBdUI7SUFBQSxpQkFBTTtJQUNsRix5QkFNTztJQUNYLGlCQUFNOzs7O0lBVDBFLHdEQUF5QztJQUNoRSxlQUF1QjtJQUF2Qiw0RUFBdUI7SUFJeEUsZUFBdUg7SUFBdkgsc0pBQXVILHFCQUFBOzs7O0lBSy9ILHlCQU9POzs7O0lBSEgsbUVBQW1ELHFCQUFBO0lBRW5ELDBEQUEyQzs7O0lBVTNDLCtCQUE4RztJQUFBLFlBQXNCO0lBQUEsaUJBQU07OztJQUE1QixlQUFzQjtJQUF0QiwwRUFBc0I7Ozs7SUFSeEksOEJBQXFIO0lBQ2pILHlCQU1PO0lBQ1AscUVBQTBJO0lBQzFJLDBCQU9PO0lBQ1gsaUJBQU07Ozs7SUFqQnVFLHNEQUF1QztJQUk1RyxlQUFvSDtJQUFwSCxtSkFBb0gscUJBQUE7SUFJcEUsZUFBd0Q7SUFBeEQsaUpBQXdEO0lBR3hHLGVBQWdGO0lBQWhGLGlLQUFnRjtJQUVoRiwwR0FBMEQscUJBQUE7O0FEbkJsRSxNQUFNLE9BQU8sYUFBYTtJQVdKO0lBVlgsSUFBSSxDQUFnQjtJQUNwQixJQUFJLENBQXNCO0lBQzFCLFFBQVEsQ0FBYTtJQUU5QixJQUFJLEdBQUcsQ0FBQyxDQUFBO0lBRVIsSUFBbUMsUUFBUTtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQzNCLENBQUM7SUFFRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN4QixxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUEsQ0FBQyx1QkFBdUI7SUFDckMsQ0FBQztJQUVELFdBQVcsQ0FBbUUsQ0FBSSxFQUFFLENBQUk7UUFDdEYsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFBO1FBQzlCLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQTtRQUU5QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUE7SUFDaEIsQ0FBQzt1RUExQlUsYUFBYTs2REFBYixhQUFhOzs7WUNiMUIsOEJBQXVDO1lBQUEsWUFBYztZQUFBLGlCQUFNO1lBQzNELDhEQVNNOztZQUNOLDhEQU9POztZQUNQLCtEQWlCTTs7O1lBcENpQyxlQUFjO1lBQWQsb0NBQWM7WUFDZCxlQUF1QztZQUF2QyxpRkFBdUM7WUFZdEQsZUFBd0M7WUFBeEMsa0ZBQXdDO1lBTTNCLGVBQXNDO1lBQXRDLGlGQUFzQzs7O2lGRE45RCxhQUFhO2NBUHpCLFNBQVM7dUJBR0Y7b0JBQ0osYUFBYSxFQUFFLE1BQU07aUJBQ3RCO2tEQUdRLElBQUk7a0JBQVosS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFJNkIsUUFBUTtrQkFBMUMsV0FBVzttQkFBQyxnQkFBZ0I7O2tGQVBsQixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsYXNzaWNQcmVzZXQgYXMgQ2xhc3NpYyB9IGZyb20gJ3JldGUnO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG50eXBlIFNvcnRWYWx1ZTxOIGV4dGVuZHMgQ2xhc3NpYy5Ob2RlPiA9IChOWydjb250cm9scyddIHwgTlsnaW5wdXRzJ10gfCBOWydvdXRwdXRzJ10pW3N0cmluZ11cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9ub2RlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm9kZS5jb21wb25lbnQuc2FzcyddLFxuICBob3N0OiB7XG4gICAgJ2RhdGEtdGVzdGlkJzogJ25vZGUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTm9kZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGRhdGEhOiBDbGFzc2ljLk5vZGU7XG4gIEBJbnB1dCgpIGVtaXQhOiAoZGF0YTogYW55KSA9PiB2b2lkXG4gIEBJbnB1dCgpIHJlbmRlcmVkITogKCkgPT4gdm9pZFxuXG4gIHNlZWQgPSAwXG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIGdldCBzZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLnNlbGVjdGVkXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmNkci5kZXRhY2goKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMucmVuZGVyZWQoKSlcbiAgICB0aGlzLnNlZWQrKyAvLyBmb3JjZSByZW5kZXIgc29ja2V0c1xuICB9XG5cbiAgc29ydEJ5SW5kZXg8TiBleHRlbmRzIENsYXNzaWMuTm9kZSwgSSBleHRlbmRzIEtleVZhbHVlPHN0cmluZywgU29ydFZhbHVlPE4+Pj4oYTogSSwgYjogSSkge1xuICAgIGNvbnN0IGFpID0gYS52YWx1ZT8uaW5kZXggfHwgMFxuICAgIGNvbnN0IGJpID0gYi52YWx1ZT8uaW5kZXggfHwgMFxuXG4gICAgcmV0dXJuIGFpIC0gYmlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRpdGxlXCIgZGF0YS10ZXN0aWQ9XCJ0aXRsZVwiPnt7ZGF0YS5sYWJlbH19PC9kaXY+XG48ZGl2IGNsYXNzPVwib3V0cHV0XCIgKm5nRm9yPVwibGV0IG91dHB1dCBvZiBkYXRhLm91dHB1dHMgfCBrZXl2YWx1ZTogc29ydEJ5SW5kZXhcIiBbYXR0ci5kYXRhLXRlc3RpZF09XCInb3V0cHV0LScrb3V0cHV0LmtleVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvdXRwdXQtdGl0bGVcIiBkYXRhLXRlc3RpZD1cIm91dHB1dC10aXRsZVwiPnt7b3V0cHV0LnZhbHVlPy5sYWJlbH19PC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm91dHB1dC1zb2NrZXRcIlxuICAgICAgICByZWZDb21wb25lbnRcbiAgICAgICAgW2RhdGFdPVwie3R5cGU6ICdzb2NrZXQnLCBzaWRlOiAnb3V0cHV0Jywga2V5OiBvdXRwdXQua2V5LCBub2RlSWQ6IGRhdGEuaWQsIHBheWxvYWQ6IG91dHB1dC52YWx1ZT8uc29ja2V0LCBzZWVkOiBzZWVkIH1cIlxuICAgICAgICBbZW1pdF09XCJlbWl0XCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJvdXRwdXQtc29ja2V0XCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cbjxkaXZcbiAgICBjbGFzcz1cImNvbnRyb2xcIlxuICAgICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIGRhdGEuY29udHJvbHMgfCBrZXl2YWx1ZTogc29ydEJ5SW5kZXhcIlxuICAgIHJlZkNvbXBvbmVudFxuICAgIFtkYXRhXT1cInt0eXBlOiAnY29udHJvbCcsIHBheWxvYWQ6IGNvbnRyb2wudmFsdWUgfVwiXG4gICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ2NvbnRyb2wtJytjb250cm9sLmtleVwiXG4+PC9kaXY+XG48ZGl2IGNsYXNzPVwiaW5wdXRcIiAqbmdGb3I9XCJsZXQgaW5wdXQgb2YgZGF0YS5pbnB1dHMgfCBrZXl2YWx1ZTogc29ydEJ5SW5kZXhcIiBbYXR0ci5kYXRhLXRlc3RpZF09XCInaW5wdXQtJytpbnB1dC5rZXlcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaW5wdXQtc29ja2V0XCJcbiAgICAgICAgcmVmQ29tcG9uZW50XG4gICAgICAgIFtkYXRhXT1cInt0eXBlOiAnc29ja2V0Jywgc2lkZTogJ2lucHV0Jywga2V5OiBpbnB1dC5rZXksIG5vZGVJZDogZGF0YS5pZCwgcGF5bG9hZDogaW5wdXQudmFsdWU/LnNvY2tldCwgc2VlZDogc2VlZCB9XCJcbiAgICAgICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiaW5wdXQtc29ja2V0XCJcbiAgICA+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LXRpdGxlXCIgZGF0YS10ZXN0aWQ9XCJpbnB1dC10aXRsZVwiICpuZ0lmPVwiIWlucHV0LnZhbHVlPy5jb250cm9sIHx8ICFpbnB1dC52YWx1ZT8uc2hvd0NvbnRyb2xcIj57e2lucHV0LnZhbHVlPy5sYWJlbH19PC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImlucHV0LWNvbnRyb2xcIlxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJpbnB1dC52YWx1ZT8uY29udHJvbCAmJiBpbnB1dC52YWx1ZT8uc2hvd0NvbnRyb2wgPyAnJyA6ICdub25lJ1wiXG4gICAgICAgIHJlZkNvbXBvbmVudFxuICAgICAgICBbZGF0YV09XCJ7dHlwZTogJ2NvbnRyb2wnLCBwYXlsb2FkOiBpbnB1dC52YWx1ZT8uY29udHJvbCB9XCJcbiAgICAgICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiaW5wdXQtY29udHJvbFwiXG4gICAgPjwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { Component, Input, HostBinding, ChangeDetectorRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SocketComponent {
4
+ cdr;
5
+ data;
6
+ rendered;
7
+ get title() {
8
+ return this.data.name;
9
+ }
10
+ constructor(cdr) {
11
+ this.cdr = cdr;
12
+ this.cdr.detach();
13
+ }
14
+ ngOnChanges() {
15
+ this.cdr.detectChanges();
16
+ requestAnimationFrame(() => this.rendered());
17
+ }
18
+ static ɵfac = function SocketComponent_Factory(t) { return new (t || SocketComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
19
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SocketComponent, selectors: [["ng-component"]], hostVars: 1, hostBindings: function SocketComponent_HostBindings(rf, ctx) { if (rf & 2) {
20
+ i0.ɵɵhostProperty("title", ctx.title);
21
+ } }, inputs: { data: "data", rendered: "rendered" }, features: [i0.ɵɵNgOnChangesFeature], decls: 0, vars: 0, template: function SocketComponent_Template(rf, ctx) { }, styles: ["[_nghost-%COMP%]{display:inline-block;cursor:pointer;border:1px solid white;border-radius:12px;width:24px;height:24px;margin:6px;vertical-align:middle;background:#96b38a;z-index:2;box-sizing:border-box}[_nghost-%COMP%]:hover{border-width:4px}.multiple[_nghost-%COMP%]{border-color:#ff0}.output[_nghost-%COMP%]{margin-right:-12px}.input[_nghost-%COMP%]{margin-left:-12px}"] });
22
+ }
23
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SocketComponent, [{
24
+ type: Component,
25
+ args: [{ template: ``, styles: [":host{display:inline-block;cursor:pointer;border:1px solid white;border-radius:12px;width:24px;height:24px;margin:6px;vertical-align:middle;background:#96b38a;z-index:2;box-sizing:border-box}:host:hover{border-width:4px}:host.multiple{border-color:#ff0}:host.output{margin-right:-12px}:host.input{margin-left:-12px}\n"] }]
26
+ }], () => [{ type: i0.ChangeDetectorRef }], { data: [{
27
+ type: Input
28
+ }], rendered: [{
29
+ type: Input
30
+ }], title: [{
31
+ type: HostBinding,
32
+ args: ['title']
33
+ }] }); })();
34
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SocketComponent, { className: "SocketComponent", filePath: "presets/classic/components/socket/socket.component.ts", lineNumber: 7 }); })();
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9zb2NrZXQvc29ja2V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQW9CLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDOztBQU05RyxNQUFNLE9BQU8sZUFBZTtJQVNOO0lBUlgsSUFBSSxDQUFPO0lBQ1gsUUFBUSxDQUFPO0lBR3hCLElBQTBCLEtBQUs7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtJQUN2QixDQUFDO0lBRUQsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDeEIscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDOUMsQ0FBQzt5RUFoQlUsZUFBZTs2REFBZixlQUFlOzs7O2lGQUFmLGVBQWU7Y0FKM0IsU0FBUzsyQkFDRSxFQUFFO2tEQUlILElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFHb0IsS0FBSztrQkFBOUIsV0FBVzttQkFBQyxPQUFPOztrRkFMVCxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIEFmdGVyVmlld0NoZWNrZWQsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVVcmxzOiBbJy4vc29ja2V0LmNvbXBvbmVudC5zYXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgU29ja2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZGF0YSE6IGFueTtcbiAgQElucHV0KCkgcmVuZGVyZWQhOiBhbnk7XG5cblxuICBASG9zdEJpbmRpbmcoJ3RpdGxlJykgZ2V0IHRpdGxlKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEubmFtZVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSAge1xuICAgIHRoaXMuY2RyLmRldGFjaCgpXG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5yZW5kZXJlZCgpKVxuICB9XG59XG4iXX0=