rete-angular-plugin 2.0.0 → 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 (230) hide show
  1. package/12/bundles/rete-angular-plugin-ng12.umd.js +55 -23
  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/index.js +2 -1
  6. package/12/esm2015/module.js +3 -2
  7. package/12/esm2015/presets/classic/components/control/control.component.js +1 -1
  8. package/12/esm2015/presets/classic/components/node/node.component.js +4 -24
  9. package/12/esm2015/presets/classic/index.js +4 -1
  10. package/12/esm2015/presets/context-menu/index.js +4 -1
  11. package/12/esm2015/presets/index.js +5 -1
  12. package/12/esm2015/presets/minimap/index.js +4 -1
  13. package/12/esm2015/presets/reroute/index.js +4 -1
  14. package/12/esm2015/ref.js +27 -0
  15. package/12/fesm2015/rete-angular-plugin-ng12.js +57 -20
  16. package/12/fesm2015/rete-angular-plugin-ng12.js.map +1 -1
  17. package/12/index.d.ts +1 -0
  18. package/12/module.d.ts +8 -7
  19. package/12/presets/classic/components/node/node.component.d.ts +1 -10
  20. package/12/presets/classic/index.d.ts +3 -0
  21. package/12/presets/context-menu/index.d.ts +3 -0
  22. package/12/presets/index.d.ts +4 -0
  23. package/12/presets/minimap/index.d.ts +3 -0
  24. package/12/presets/reroute/index.d.ts +3 -0
  25. package/12/ref.d.ts +12 -0
  26. package/13/core.d.ts +21 -1
  27. package/13/esm2020/core.mjs +17 -1
  28. package/13/esm2020/index.mjs +2 -1
  29. package/13/esm2020/module.mjs +3 -2
  30. package/13/esm2020/presets/classic/components/control/control.component.mjs +1 -1
  31. package/13/esm2020/presets/classic/components/node/node.component.mjs +4 -24
  32. package/13/esm2020/presets/classic/index.mjs +4 -1
  33. package/13/esm2020/presets/context-menu/index.mjs +4 -1
  34. package/13/esm2020/presets/index.mjs +5 -1
  35. package/13/esm2020/presets/minimap/index.mjs +4 -1
  36. package/13/esm2020/presets/reroute/index.mjs +4 -1
  37. package/13/esm2020/ref.mjs +27 -0
  38. package/13/fesm2015/rete-angular-plugin-ng13.mjs +59 -22
  39. package/13/fesm2015/rete-angular-plugin-ng13.mjs.map +1 -1
  40. package/13/fesm2020/rete-angular-plugin-ng13.mjs +57 -20
  41. package/13/fesm2020/rete-angular-plugin-ng13.mjs.map +1 -1
  42. package/13/index.d.ts +1 -0
  43. package/13/module.d.ts +8 -7
  44. package/13/presets/classic/components/node/node.component.d.ts +1 -10
  45. package/13/presets/classic/index.d.ts +3 -0
  46. package/13/presets/context-menu/index.d.ts +3 -0
  47. package/13/presets/index.d.ts +4 -0
  48. package/13/presets/minimap/index.d.ts +3 -0
  49. package/13/presets/reroute/index.d.ts +3 -0
  50. package/13/ref.d.ts +12 -0
  51. package/14/core.d.ts +21 -1
  52. package/14/esm2020/core.mjs +17 -1
  53. package/14/esm2020/index.mjs +2 -1
  54. package/14/esm2020/module.mjs +3 -2
  55. package/14/esm2020/presets/classic/components/control/control.component.mjs +1 -1
  56. package/14/esm2020/presets/classic/components/node/node.component.mjs +4 -24
  57. package/14/esm2020/presets/classic/index.mjs +4 -1
  58. package/14/esm2020/presets/context-menu/index.mjs +4 -1
  59. package/14/esm2020/presets/index.mjs +5 -1
  60. package/14/esm2020/presets/minimap/index.mjs +4 -1
  61. package/14/esm2020/presets/reroute/index.mjs +4 -1
  62. package/14/esm2020/ref.mjs +27 -0
  63. package/14/fesm2015/rete-angular-plugin-ng14.mjs +59 -22
  64. package/14/fesm2015/rete-angular-plugin-ng14.mjs.map +1 -1
  65. package/14/fesm2020/rete-angular-plugin-ng14.mjs +57 -20
  66. package/14/fesm2020/rete-angular-plugin-ng14.mjs.map +1 -1
  67. package/14/index.d.ts +1 -0
  68. package/14/module.d.ts +8 -7
  69. package/14/presets/classic/components/node/node.component.d.ts +1 -10
  70. package/14/presets/classic/index.d.ts +3 -0
  71. package/14/presets/context-menu/index.d.ts +3 -0
  72. package/14/presets/index.d.ts +4 -0
  73. package/14/presets/minimap/index.d.ts +3 -0
  74. package/14/presets/reroute/index.d.ts +3 -0
  75. package/14/ref.d.ts +12 -0
  76. package/15/core.d.ts +21 -1
  77. package/15/esm2020/core.mjs +17 -1
  78. package/15/esm2020/index.mjs +2 -1
  79. package/15/esm2020/module.mjs +3 -2
  80. package/15/esm2020/presets/classic/components/control/control.component.mjs +1 -1
  81. package/15/esm2020/presets/classic/components/node/node.component.mjs +4 -24
  82. package/15/esm2020/presets/classic/index.mjs +4 -1
  83. package/15/esm2020/presets/context-menu/index.mjs +4 -1
  84. package/15/esm2020/presets/index.mjs +5 -1
  85. package/15/esm2020/presets/minimap/index.mjs +4 -1
  86. package/15/esm2020/presets/reroute/index.mjs +4 -1
  87. package/15/esm2020/ref.mjs +27 -0
  88. package/15/fesm2015/rete-angular-plugin-ng15.mjs +59 -22
  89. package/15/fesm2015/rete-angular-plugin-ng15.mjs.map +1 -1
  90. package/15/fesm2020/rete-angular-plugin-ng15.mjs +57 -20
  91. package/15/fesm2020/rete-angular-plugin-ng15.mjs.map +1 -1
  92. package/15/index.d.ts +1 -0
  93. package/15/module.d.ts +8 -7
  94. package/15/presets/classic/components/node/node.component.d.ts +1 -10
  95. package/15/presets/classic/index.d.ts +3 -0
  96. package/15/presets/context-menu/index.d.ts +3 -0
  97. package/15/presets/index.d.ts +4 -0
  98. package/15/presets/minimap/index.d.ts +3 -0
  99. package/15/presets/reroute/index.d.ts +3 -0
  100. package/15/ref.d.ts +12 -0
  101. package/16/core.d.ts +21 -1
  102. package/16/esm2022/core.mjs +17 -1
  103. package/16/esm2022/index.mjs +2 -1
  104. package/16/esm2022/module.mjs +3 -2
  105. package/16/esm2022/presets/classic/components/control/control.component.mjs +1 -1
  106. package/16/esm2022/presets/classic/components/node/node.component.mjs +4 -27
  107. package/16/esm2022/presets/classic/index.mjs +4 -1
  108. package/16/esm2022/presets/context-menu/index.mjs +4 -1
  109. package/16/esm2022/presets/index.mjs +5 -1
  110. package/16/esm2022/presets/minimap/index.mjs +4 -1
  111. package/16/esm2022/presets/reroute/index.mjs +4 -1
  112. package/16/esm2022/ref.mjs +30 -0
  113. package/16/fesm2022/rete-angular-plugin-ng16.mjs +60 -23
  114. package/16/fesm2022/rete-angular-plugin-ng16.mjs.map +1 -1
  115. package/16/index.d.ts +1 -0
  116. package/16/module.d.ts +8 -7
  117. package/16/presets/classic/components/node/node.component.d.ts +1 -10
  118. package/16/presets/classic/index.d.ts +3 -0
  119. package/16/presets/context-menu/index.d.ts +3 -0
  120. package/16/presets/index.d.ts +4 -0
  121. package/16/presets/minimap/index.d.ts +3 -0
  122. package/16/presets/reroute/index.d.ts +3 -0
  123. package/16/ref.d.ts +12 -0
  124. package/17/core.d.ts +68 -0
  125. package/17/esm2022/core.mjs +127 -0
  126. package/17/esm2022/index.mjs +12 -0
  127. package/17/esm2022/module.mjs +50 -0
  128. package/17/esm2022/presets/classic/components/connection/connection-wrapper.component.mjs +91 -0
  129. package/17/esm2022/presets/classic/components/connection/connection.component.mjs +33 -0
  130. package/17/esm2022/presets/classic/components/control/control.component.mjs +55 -0
  131. package/17/esm2022/presets/classic/components/index.mjs +6 -0
  132. package/17/esm2022/presets/classic/components/node/node.component.mjs +122 -0
  133. package/17/esm2022/presets/classic/components/socket/socket.component.mjs +35 -0
  134. package/17/esm2022/presets/classic/index.mjs +114 -0
  135. package/17/esm2022/presets/classic/types.mjs +2 -0
  136. package/17/esm2022/presets/context-menu/components/index.mjs +4 -0
  137. package/17/esm2022/presets/context-menu/components/item/item.component.mjs +115 -0
  138. package/17/esm2022/presets/context-menu/components/menu/menu.component.mjs +111 -0
  139. package/17/esm2022/presets/context-menu/components/search/search.component.mjs +24 -0
  140. package/17/esm2022/presets/context-menu/debounce.mjs +17 -0
  141. package/17/esm2022/presets/context-menu/index.mjs +41 -0
  142. package/17/esm2022/presets/context-menu/module.mjs +35 -0
  143. package/17/esm2022/presets/context-menu/types.mjs +2 -0
  144. package/17/esm2022/presets/index.mjs +9 -0
  145. package/17/esm2022/presets/minimap/components/index.mjs +4 -0
  146. package/17/esm2022/presets/minimap/components/mini-node/mini-node.component.mjs +55 -0
  147. package/17/esm2022/presets/minimap/components/mini-viewport/mini-viewport.component.mjs +81 -0
  148. package/17/esm2022/presets/minimap/components/minimap/minimap.component.mjs +110 -0
  149. package/17/esm2022/presets/minimap/index.mjs +45 -0
  150. package/17/esm2022/presets/minimap/module.mjs +35 -0
  151. package/17/esm2022/presets/minimap/types.mjs +2 -0
  152. package/17/esm2022/presets/reroute/components/index.mjs +3 -0
  153. package/17/esm2022/presets/reroute/components/pin/pin.component.mjs +86 -0
  154. package/17/esm2022/presets/reroute/components/pins/pins.component.mjs +58 -0
  155. package/17/esm2022/presets/reroute/index.mjs +43 -0
  156. package/17/esm2022/presets/reroute/module.mjs +30 -0
  157. package/17/esm2022/presets/reroute/types.mjs +2 -0
  158. package/17/esm2022/presets/types.mjs +2 -0
  159. package/17/esm2022/ref.mjs +30 -0
  160. package/17/esm2022/rete-angular-plugin-ng17.mjs +5 -0
  161. package/17/esm2022/shared/drag.mjs +23 -0
  162. package/17/esm2022/types.mjs +2 -0
  163. package/17/fesm2022/rete-angular-plugin-ng17.mjs +1527 -0
  164. package/17/fesm2022/rete-angular-plugin-ng17.mjs.map +1 -0
  165. package/17/index.d.ts +13 -0
  166. package/17/module.d.ts +13 -0
  167. package/17/package.json +24 -0
  168. package/17/presets/classic/components/connection/connection-wrapper.component.d.ts +30 -0
  169. package/17/presets/classic/components/connection/connection.component.d.ts +11 -0
  170. package/17/presets/classic/components/control/control.component.d.ts +14 -0
  171. package/17/presets/classic/components/index.d.ts +5 -0
  172. package/17/presets/classic/components/node/node.component.d.ts +19 -0
  173. package/17/presets/classic/components/socket/socket.component.d.ts +12 -0
  174. package/17/presets/classic/index.d.ts +21 -0
  175. package/17/presets/classic/types.d.ts +49 -0
  176. package/17/presets/context-menu/components/index.d.ts +3 -0
  177. package/17/presets/context-menu/components/item/item.component.d.ts +26 -0
  178. package/17/presets/context-menu/components/menu/menu.component.d.ts +27 -0
  179. package/17/presets/context-menu/components/search/search.component.d.ts +8 -0
  180. package/17/presets/context-menu/debounce.d.ts +5 -0
  181. package/17/presets/context-menu/index.d.ts +9 -0
  182. package/17/presets/context-menu/module.d.ts +10 -0
  183. package/17/presets/context-menu/types.d.ts +12 -0
  184. package/17/presets/index.d.ts +8 -0
  185. package/17/presets/minimap/components/index.d.ts +3 -0
  186. package/17/presets/minimap/components/mini-node/mini-node.component.d.ts +14 -0
  187. package/17/presets/minimap/components/mini-viewport/mini-viewport.component.d.ts +27 -0
  188. package/17/presets/minimap/components/minimap/minimap.component.d.ts +25 -0
  189. package/17/presets/minimap/index.d.ts +9 -0
  190. package/17/presets/minimap/module.d.ts +10 -0
  191. package/17/presets/minimap/types.d.ts +22 -0
  192. package/17/presets/reroute/components/index.d.ts +2 -0
  193. package/17/presets/reroute/components/pin/pin.component.d.ts +30 -0
  194. package/17/presets/reroute/components/pins/pins.component.d.ts +17 -0
  195. package/17/presets/reroute/index.d.ts +13 -0
  196. package/17/presets/reroute/module.d.ts +9 -0
  197. package/17/presets/reroute/types.d.ts +18 -0
  198. package/17/presets/types.d.ts +15 -0
  199. package/17/ref.d.ts +12 -0
  200. package/17/shared/drag.d.ts +10 -0
  201. package/17/types.d.ts +29 -0
  202. package/CHANGELOG.md +50 -0
  203. package/bundles/rete-angular-plugin.umd.js +66 -35
  204. package/bundles/rete-angular-plugin.umd.js.map +1 -1
  205. package/core.d.ts +21 -1
  206. package/esm2015/core.js +17 -1
  207. package/esm2015/index.js +2 -1
  208. package/esm2015/module.js +3 -2
  209. package/esm2015/presets/classic/components/control/control.component.js +1 -1
  210. package/esm2015/presets/classic/components/node/node.component.js +2 -23
  211. package/esm2015/presets/classic/index.js +4 -1
  212. package/esm2015/presets/context-menu/index.js +4 -1
  213. package/esm2015/presets/index.js +1 -1
  214. package/esm2015/presets/minimap/index.js +4 -1
  215. package/esm2015/presets/reroute/index.js +4 -1
  216. package/esm2015/ref.js +26 -0
  217. package/esm2015/rete-angular-plugin.js +14 -14
  218. package/fesm2015/rete-angular-plugin.js +54 -22
  219. package/fesm2015/rete-angular-plugin.js.map +1 -1
  220. package/index.d.ts +1 -0
  221. package/package.json +8 -8
  222. package/presets/classic/components/node/node.component.d.ts +1 -8
  223. package/presets/classic/index.d.ts +3 -0
  224. package/presets/context-menu/index.d.ts +3 -0
  225. package/presets/index.d.ts +4 -0
  226. package/presets/minimap/index.d.ts +3 -0
  227. package/presets/reroute/index.d.ts +3 -0
  228. package/ref.d.ts +9 -0
  229. package/rete-angular-plugin.d.ts +13 -13
  230. package/rete-angular-plugin.metadata.json +1 -1
package/16/module.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./presets/classic/components/node/node.component";
3
- import * as i2 from "./presets/classic/components/connection/connection.component";
4
- import * as i3 from "./presets/classic/components/connection/connection-wrapper.component";
5
- import * as i4 from "./presets/classic/components/socket/socket.component";
6
- import * as i5 from "./presets/classic/components/control/control.component";
7
- import * as i6 from "@angular/common";
2
+ import * as i1 from "./ref";
3
+ import * as i2 from "./presets/classic/components/node/node.component";
4
+ import * as i3 from "./presets/classic/components/connection/connection.component";
5
+ import * as i4 from "./presets/classic/components/connection/connection-wrapper.component";
6
+ import * as i5 from "./presets/classic/components/socket/socket.component";
7
+ import * as i6 from "./presets/classic/components/control/control.component";
8
+ import * as i7 from "@angular/common";
8
9
  export declare class ReteModule {
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<ReteModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<ReteModule, [typeof i1.RefDirective, typeof i1.NodeComponent, typeof i2.ConnectionComponent, typeof i3.ConnectionWrapperComponent, typeof i4.SocketComponent, typeof i5.ControlComponent], [typeof i6.CommonModule], [typeof i1.RefDirective, typeof i1.NodeComponent, typeof i2.ConnectionComponent, typeof i3.ConnectionWrapperComponent, typeof i4.SocketComponent, typeof i5.ControlComponent]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ReteModule, [typeof i1.RefDirective, typeof i2.NodeComponent, typeof i3.ConnectionComponent, typeof i4.ConnectionWrapperComponent, typeof i5.SocketComponent, typeof i6.ControlComponent], [typeof i7.CommonModule], [typeof i1.RefDirective, typeof i2.NodeComponent, typeof i3.ConnectionComponent, typeof i4.ConnectionWrapperComponent, typeof i5.SocketComponent, typeof i6.ControlComponent]>;
11
12
  static ɵinj: i0.ɵɵInjectorDeclaration<ReteModule>;
12
13
  }
@@ -1,16 +1,7 @@
1
- import { ElementRef, ChangeDetectorRef, OnChanges } from '@angular/core';
1
+ import { ChangeDetectorRef, OnChanges } from '@angular/core';
2
2
  import { ClassicPreset as Classic } from 'rete';
3
3
  import { KeyValue } from '@angular/common';
4
4
  import * as i0 from "@angular/core";
5
- export declare class RefDirective implements OnChanges {
6
- private el;
7
- data: any;
8
- emit: any;
9
- constructor(el: ElementRef);
10
- ngOnChanges(): void;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<RefDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<RefDirective, "[refComponent]", never, { "data": { "alias": "data"; "required": false; }; "emit": { "alias": "emit"; "required": false; }; }, {}, never, never, false, never>;
13
- }
14
5
  type SortValue<N extends Classic.Node> = (N['controls'] | N['inputs'] | N['outputs'])[string];
15
6
  export declare class NodeComponent implements OnChanges {
16
7
  private cdr;
@@ -14,5 +14,8 @@ type ClassicProps<Schemes extends ClassicScheme, K> = {
14
14
  socketPositionWatcher?: SocketPositionWatcher<Scope<never, [K]>>;
15
15
  customize?: CustomizationProps<Schemes>;
16
16
  };
17
+ /**
18
+ * Classic preset for rendering nodes, connections, controls and sockets.
19
+ */
17
20
  export declare function setup<Schemes extends ClassicScheme, K extends AngularArea2D<Schemes>>(props?: ClassicProps<Schemes, K>): RenderPreset<Schemes, K>;
18
21
  export {};
@@ -1,6 +1,9 @@
1
1
  import { BaseSchemes } from 'rete';
2
2
  import { ContextMenuRender } from './types';
3
3
  import { RenderPreset } from '../types';
4
+ /**
5
+ * Preset for rendering context menu.
6
+ */
4
7
  export declare function setup<Schemes extends BaseSchemes, K extends ContextMenuRender>(props?: {
5
8
  delay?: number;
6
9
  }): RenderPreset<Schemes, K>;
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Built-in presets, responsible for rendering different parts of the editor.
3
+ * @module
4
+ */
1
5
  export * as classic from './classic';
2
6
  export * as contextMenu from './context-menu';
3
7
  export * as minimap from './minimap';
@@ -1,6 +1,9 @@
1
1
  import { BaseSchemes } from 'rete';
2
2
  import { RenderPreset } from '../types';
3
3
  import { MinimapRender } from './types';
4
+ /**
5
+ * Preset for rendering minimap.
6
+ */
4
7
  export declare function setup<Schemes extends BaseSchemes, K extends MinimapRender>(props?: {
5
8
  size?: number;
6
9
  }): RenderPreset<Schemes, K>;
@@ -6,5 +6,8 @@ type Props = {
6
6
  contextMenu?: (id: string) => void;
7
7
  pointerdown?: (id: string) => void;
8
8
  };
9
+ /**
10
+ * Preset for rendering pins.
11
+ */
9
12
  export declare function setup<Schemes extends BaseSchemes, K extends PinsRender>(props?: Props): RenderPreset<Schemes, K>;
10
13
  export {};
package/16/ref.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { ElementRef, OnChanges, OnDestroy } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class RefDirective implements OnChanges, OnDestroy {
4
+ private el;
5
+ data: any;
6
+ emit: any;
7
+ constructor(el: ElementRef);
8
+ ngOnChanges(): void;
9
+ ngOnDestroy(): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<RefDirective, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RefDirective, "[refComponent]", never, { "data": { "alias": "data"; "required": false; }; "emit": { "alias": "emit"; "required": false; }; }, {}, never, never, false, never>;
12
+ }
package/17/core.d.ts ADDED
@@ -0,0 +1,68 @@
1
+ import { Injector } from '@angular/core';
2
+ import { BaseSchemes, CanAssignSignal, Scope } from 'rete';
3
+ import { NgElement, Position, RenderSignal } from './types';
4
+ import { RenderPreset } from './presets/types';
5
+ type Item = {
6
+ key: string;
7
+ ngElement: NgElement;
8
+ };
9
+ type Renderer = {
10
+ get(element: HTMLElement): Item | undefined;
11
+ mount(element: HTMLElement, key: string, component: any, injector: Injector, props: Record<string, unknown>): void;
12
+ update(item: Item, props: Record<string, unknown>): void;
13
+ unmount(element: HTMLElement): void;
14
+ };
15
+ /**
16
+ * Signals that can be emitted by the plugin
17
+ * @priority 10
18
+ */
19
+ export type Produces<Schemes extends BaseSchemes> = {
20
+ type: 'connectionpath';
21
+ data: {
22
+ payload: Schemes['Connection'];
23
+ path?: string;
24
+ points: Position[];
25
+ };
26
+ };
27
+ type Requires<Schemes extends BaseSchemes> = RenderSignal<'node', {
28
+ payload: Schemes['Node'];
29
+ }> | RenderSignal<'connection', {
30
+ payload: Schemes['Connection'];
31
+ start?: Position;
32
+ end?: Position;
33
+ }> | {
34
+ type: 'unmount';
35
+ data: {
36
+ element: HTMLElement;
37
+ };
38
+ };
39
+ /**
40
+ * Angular plugin. Renders nodes, connections and other elements using React.
41
+ * @priority 9
42
+ * @emits connectionpath
43
+ * @listens render
44
+ * @listens unmount
45
+ */
46
+ export declare class AngularPlugin<Schemes extends BaseSchemes, T = Requires<Schemes>> extends Scope<Produces<Schemes>, [Requires<Schemes> | T]> {
47
+ private params;
48
+ presets: RenderPreset<Schemes, T>[];
49
+ renderer: Renderer;
50
+ owners: WeakMap<HTMLElement, RenderPreset<Schemes, T>>;
51
+ /**
52
+ * @constructor
53
+ * @param params Plugin properties
54
+ * @param params.injector Angular's Injector instance
55
+ */
56
+ constructor(params: {
57
+ injector: Injector;
58
+ });
59
+ setParent(scope: Scope<Requires<Schemes> | T>): void;
60
+ private unmount;
61
+ private mount;
62
+ /**
63
+ * Adds a preset to the plugin.
64
+ * @param preset Preset that can render nodes, connections and other elements.
65
+ */
66
+ addPreset<K>(preset: RenderPreset<Schemes, CanAssignSignal<T, K> extends true ? K : 'Cannot apply preset. Provided signals are not compatible'>): void;
67
+ }
68
+ export {};
@@ -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=