@linkdlab/funcnodes_react_flow 0.1.1 → 0.1.2

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 (198) hide show
  1. package/dist/frontend/datarenderer/images.d.ts +11 -0
  2. package/dist/frontend/datarenderer/images.js +13 -0
  3. package/dist/frontend/datarenderer/images.js.map +1 -0
  4. package/dist/frontend/datarenderer/index.d.ts +16 -0
  5. package/dist/frontend/datarenderer/index.js +26 -0
  6. package/dist/frontend/datarenderer/index.js.map +1 -0
  7. package/dist/frontend/datarenderer/plotly.d.ts +14 -0
  8. package/dist/frontend/datarenderer/plotly.js +53 -0
  9. package/dist/frontend/datarenderer/plotly.js.map +1 -0
  10. package/dist/frontend/dialog.d.ts +17 -0
  11. package/dist/frontend/dialog.js +26 -0
  12. package/dist/frontend/dialog.js.map +1 -0
  13. package/dist/frontend/edge.d.ts +5 -0
  14. package/dist/frontend/edge.js +40 -0
  15. package/dist/frontend/edge.js.map +1 -0
  16. package/dist/frontend/funcnodesreactflow/index.d.ts +6 -0
  17. package/dist/frontend/funcnodesreactflow/index.js +94 -0
  18. package/dist/frontend/funcnodesreactflow/index.js.map +1 -0
  19. package/dist/frontend/funcnodesreactflow/react_flow_layer.d.ts +5 -0
  20. package/dist/frontend/funcnodesreactflow/react_flow_layer.js +149 -0
  21. package/dist/frontend/funcnodesreactflow/react_flow_layer.js.map +1 -0
  22. package/dist/frontend/header/index.d.ts +4 -0
  23. package/dist/frontend/header/index.js +227 -0
  24. package/dist/frontend/header/index.js.map +1 -0
  25. package/{module/src/frontend/index.tsx → dist/frontend/index.d.ts} +1 -2
  26. package/dist/frontend/index.js +4 -0
  27. package/dist/frontend/index.js.map +1 -0
  28. package/dist/frontend/lib.d.ts +10 -0
  29. package/dist/frontend/lib.js +107 -0
  30. package/dist/frontend/lib.js.map +1 -0
  31. package/{module/src/frontend/node/index.tsx → dist/frontend/node/index.d.ts} +0 -1
  32. package/dist/frontend/node/index.js +3 -0
  33. package/dist/frontend/node/index.js.map +1 -0
  34. package/dist/frontend/node/io/default_input_renderer.d.ts +11 -0
  35. package/dist/frontend/node/io/default_input_renderer.js +235 -0
  36. package/dist/frontend/node/io/default_input_renderer.js.map +1 -0
  37. package/dist/frontend/node/io/default_output_render.d.ts +6 -0
  38. package/dist/frontend/node/io/default_output_render.js +23 -0
  39. package/dist/frontend/node/io/default_output_render.js.map +1 -0
  40. package/dist/frontend/node/io/handle_renderer.d.ts +6 -0
  41. package/dist/frontend/node/io/handle_renderer.js +70 -0
  42. package/dist/frontend/node/io/handle_renderer.js.map +1 -0
  43. package/{module/src/frontend/node/io/index.tsx → dist/frontend/node/io/index.d.ts} +0 -1
  44. package/dist/frontend/node/io/index.js +4 -0
  45. package/dist/frontend/node/io/index.js.map +1 -0
  46. package/dist/frontend/node/io/io.d.ts +16 -0
  47. package/dist/frontend/node/io/io.js +98 -0
  48. package/dist/frontend/node/io/io.js.map +1 -0
  49. package/dist/frontend/node/io/nodeinput.d.ts +6 -0
  50. package/dist/frontend/node/io/nodeinput.js +74 -0
  51. package/dist/frontend/node/io/nodeinput.js.map +1 -0
  52. package/dist/frontend/node/io/nodeoutput.d.ts +6 -0
  53. package/dist/frontend/node/io/nodeoutput.js +19 -0
  54. package/dist/frontend/node/io/nodeoutput.js.map +1 -0
  55. package/dist/frontend/node/node.d.ts +20 -0
  56. package/dist/frontend/node/node.js +118 -0
  57. package/dist/frontend/node/node.js.map +1 -0
  58. package/dist/frontend/utils/colorpicker.d.ts +19 -0
  59. package/dist/frontend/utils/colorpicker.js +209 -0
  60. package/dist/frontend/utils/colorpicker.js.map +1 -0
  61. package/dist/frontend/utils/jsondata.d.ts +6 -0
  62. package/dist/frontend/utils/jsondata.js +8 -0
  63. package/dist/frontend/utils/jsondata.js.map +1 -0
  64. package/dist/frontend/utils/table.d.ts +11 -0
  65. package/dist/frontend/utils/table.js +108 -0
  66. package/dist/frontend/utils/table.js.map +1 -0
  67. package/dist/funcnodes/funcnodesworker.d.ts +72 -0
  68. package/dist/funcnodes/funcnodesworker.js +532 -0
  69. package/dist/funcnodes/funcnodesworker.js.map +1 -0
  70. package/dist/funcnodes/index.js +5 -0
  71. package/dist/funcnodes/index.js.map +1 -0
  72. package/dist/funcnodes/websocketworker.d.ts +27 -0
  73. package/dist/funcnodes/websocketworker.js +224 -0
  74. package/dist/funcnodes/websocketworker.js.map +1 -0
  75. package/dist/funcnodes/workermanager.d.ts +32 -0
  76. package/dist/funcnodes/workermanager.js +241 -0
  77. package/dist/funcnodes/workermanager.js.map +1 -0
  78. package/dist/index.d.ts +2 -0
  79. package/dist/index.js +3 -0
  80. package/dist/index.js.map +1 -0
  81. package/dist/states/edge.d.ts +7 -0
  82. package/dist/states/edge.js +6 -0
  83. package/dist/states/edge.js.map +1 -0
  84. package/{module/src/states/edge.t.ts → dist/states/edge.t.d.ts} +8 -12
  85. package/dist/states/edge.t.js +2 -0
  86. package/dist/states/edge.t.js.map +1 -0
  87. package/dist/states/fnrfzst.d.ts +10 -0
  88. package/dist/states/fnrfzst.js +378 -0
  89. package/dist/states/fnrfzst.js.map +1 -0
  90. package/dist/states/fnrfzst.t.d.ts +100 -0
  91. package/dist/states/fnrfzst.t.js +2 -0
  92. package/dist/states/fnrfzst.t.js.map +1 -0
  93. package/dist/states/index.js +6 -0
  94. package/dist/states/index.js.map +1 -0
  95. package/dist/states/lib.d.ts +3 -0
  96. package/dist/states/lib.js +14 -0
  97. package/dist/states/lib.js.map +1 -0
  98. package/dist/states/lib.t.d.ts +24 -0
  99. package/dist/states/lib.t.js +2 -0
  100. package/dist/states/lib.t.js.map +1 -0
  101. package/dist/states/node.d.ts +4 -0
  102. package/dist/states/node.js +43 -0
  103. package/dist/states/node.js.map +1 -0
  104. package/{module/src/states/node.t.ts → dist/states/node.t.d.ts} +33 -58
  105. package/dist/states/node.t.js +2 -0
  106. package/dist/states/node.t.js.map +1 -0
  107. package/dist/states/nodeio.t.d.ts +67 -0
  108. package/dist/states/nodeio.t.js +2 -0
  109. package/dist/states/nodeio.t.js.map +1 -0
  110. package/dist/states/nodespace.d.ts +3 -0
  111. package/{module/src/states/nodespace.ts → dist/states/nodespace.js} +17 -30
  112. package/dist/states/nodespace.js.map +1 -0
  113. package/dist/states/nodespace.t.d.ts +16 -0
  114. package/dist/states/nodespace.t.js +2 -0
  115. package/dist/states/nodespace.t.js.map +1 -0
  116. package/dist/states/reactflow.d.ts +8 -0
  117. package/dist/states/reactflow.js +33 -0
  118. package/dist/states/reactflow.js.map +1 -0
  119. package/dist/states/reactflow.t.d.ts +11 -0
  120. package/dist/states/reactflow.t.js +2 -0
  121. package/dist/states/reactflow.t.js.map +1 -0
  122. package/{module/src/types/rendering.t.ts → dist/types/rendering.t.d.ts} +4 -7
  123. package/dist/types/rendering.t.js +2 -0
  124. package/dist/types/rendering.t.js.map +1 -0
  125. package/{module/src/utils/index.ts → dist/utils/index.d.ts} +0 -1
  126. package/dist/utils/index.js +3 -0
  127. package/dist/utils/index.js.map +1 -0
  128. package/dist/utils/objects.d.ts +19 -0
  129. package/dist/utils/objects.js +118 -0
  130. package/dist/utils/objects.js.map +1 -0
  131. package/package.json +32 -23
  132. package/app/public/favicon.ico +0 -0
  133. package/app/public/index.html +0 -43
  134. package/app/public/logo192.png +0 -0
  135. package/app/public/logo512.png +0 -0
  136. package/app/public/manifest.json +0 -25
  137. package/app/public/robots.txt +0 -3
  138. package/app/public/worker_manager +0 -1
  139. package/app/src/App.css +0 -38
  140. package/app/src/App.test.tsx +0 -9
  141. package/app/src/App.tsx +0 -22
  142. package/app/src/index.css +0 -13
  143. package/app/src/index.tsx +0 -19
  144. package/app/src/react-app-env.d.ts +0 -1
  145. package/app/src/reportWebVitals.ts +0 -15
  146. package/app/src/setupTests.ts +0 -5
  147. package/app/tsconfig.app.json +0 -10
  148. package/app/webpack.config.js +0 -143
  149. package/module/src/frontend/datarenderer/images.tsx +0 -28
  150. package/module/src/frontend/datarenderer/index.tsx +0 -54
  151. package/module/src/frontend/datarenderer/plotly.tsx +0 -82
  152. package/module/src/frontend/dialog.scss +0 -88
  153. package/module/src/frontend/dialog.tsx +0 -71
  154. package/module/src/frontend/edge.scss +0 -15
  155. package/module/src/frontend/edge.tsx +0 -32
  156. package/module/src/frontend/funcnodesreactflow/funcnodesreactflow.scss +0 -63
  157. package/module/src/frontend/funcnodesreactflow/index.tsx +0 -68
  158. package/module/src/frontend/funcnodesreactflow/react_flow_layer.tsx +0 -212
  159. package/module/src/frontend/header/header.scss +0 -48
  160. package/module/src/frontend/header/index.tsx +0 -269
  161. package/module/src/frontend/layout/htmlelements.scss +0 -63
  162. package/module/src/frontend/lib.scss +0 -157
  163. package/module/src/frontend/lib.tsx +0 -199
  164. package/module/src/frontend/node/io/default_input_renderer.tsx +0 -329
  165. package/module/src/frontend/node/io/default_output_render.tsx +0 -25
  166. package/module/src/frontend/node/io/handle_renderer.tsx +0 -94
  167. package/module/src/frontend/node/io/io.scss +0 -91
  168. package/module/src/frontend/node/io/io.tsx +0 -115
  169. package/module/src/frontend/node/io/nodeinput.tsx +0 -127
  170. package/module/src/frontend/node/io/nodeoutput.tsx +0 -43
  171. package/module/src/frontend/node/node.scss +0 -265
  172. package/module/src/frontend/node/node.tsx +0 -209
  173. package/module/src/frontend/utils/colorpicker.scss +0 -37
  174. package/module/src/frontend/utils/colorpicker.tsx +0 -342
  175. package/module/src/frontend/utils/jsondata.tsx +0 -19
  176. package/module/src/frontend/utils/table.scss +0 -22
  177. package/module/src/frontend/utils/table.tsx +0 -160
  178. package/module/src/funcnodes/funcnodesworker.ts +0 -456
  179. package/module/src/funcnodes/websocketworker.ts +0 -152
  180. package/module/src/funcnodes/workermanager.ts +0 -233
  181. package/module/src/index.tsx +0 -4
  182. package/module/src/states/edge.ts +0 -15
  183. package/module/src/states/fnrfzst.t.ts +0 -117
  184. package/module/src/states/fnrfzst.ts +0 -415
  185. package/module/src/states/lib.t.ts +0 -30
  186. package/module/src/states/lib.ts +0 -16
  187. package/module/src/states/node.ts +0 -46
  188. package/module/src/states/nodeio.t.ts +0 -103
  189. package/module/src/states/nodespace.t.ts +0 -57
  190. package/module/src/states/reactflow.t.ts +0 -27
  191. package/module/src/states/reactflow.ts +0 -49
  192. package/module/src/types/funcnodesreactflow.d.ts +0 -1
  193. package/module/src/utils/objects.ts +0 -131
  194. package/module/tsconfig.module.json +0 -15
  195. package/module/webpack.config.js +0 -140
  196. package/tsconfig.json +0 -18
  197. /package/{module/src/funcnodes/index.ts → dist/funcnodes/index.d.ts} +0 -0
  198. /package/{module/src/states/index.ts → dist/states/index.d.ts} +0 -0
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { BaseRenderOptions } from ".";
3
+ interface ImageRenderOptions extends BaseRenderOptions {
4
+ format?: "png" | "jpeg";
5
+ }
6
+ declare const Base64ImageRenderer: ({ value, renderoptions, }: {
7
+ value: string;
8
+ renderoptions?: ImageRenderOptions;
9
+ }) => import("react").JSX.Element;
10
+ export { Base64ImageRenderer };
11
+ export type { ImageRenderOptions };
@@ -0,0 +1,13 @@
1
+ var Base64ImageRenderer = function (_a) {
2
+ var value = _a.value, renderoptions = _a.renderoptions;
3
+ if (renderoptions === undefined)
4
+ renderoptions = {};
5
+ if (renderoptions.format === undefined)
6
+ renderoptions.format = "jpeg";
7
+ return (React.createElement("img", { src: "data:image/" + renderoptions.format + ";base64," + value, style: {
8
+ maxWidth: "100%",
9
+ maxHeight: "100%",
10
+ } }));
11
+ };
12
+ export { Base64ImageRenderer };
13
+ //# sourceMappingURL=images.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"images.js","sourceRoot":"","sources":["../../../src/frontend/datarenderer/images.tsx"],"names":[],"mappings":"AAKA,IAAM,mBAAmB,GAAG,UAAC,EAM5B;QALC,KAAK,WAAA,EACL,aAAa,mBAAA;IAKb,IAAI,aAAa,KAAK,SAAS;QAAE,aAAa,GAAG,EAAE,CAAC;IACpD,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS;QAAE,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;IAEtE,OAAO,CACL,6BACE,GAAG,EAAE,aAAa,GAAC,aAAa,CAAC,MAAM,GAAC,UAAU,GAAG,KAAK,EAC1D,KAAK,EAAE;YACL,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,MAAM;SAClB,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ import { RenderType } from "../../types/rendering.t";
3
+ import { ImageRenderOptions } from "./images";
4
+ interface BaseRenderOptions {
5
+ type?: RenderType;
6
+ }
7
+ interface StringRenderOptions extends BaseRenderOptions {
8
+ max_length?: number;
9
+ }
10
+ type RenderOptions = BaseRenderOptions | ImageRenderOptions | StringRenderOptions;
11
+ declare const get_rendertype: (rendertype: string) => ({ value, renderoptions, }: {
12
+ value: any;
13
+ renderoptions?: RenderOptions;
14
+ }) => JSX.Element;
15
+ export default get_rendertype;
16
+ export type { RenderOptions, BaseRenderOptions };
@@ -0,0 +1,26 @@
1
+ import { Base64ImageRenderer } from "./images";
2
+ import AnyPlot from "./plotly";
3
+ var StringRenderer = function (_a) {
4
+ var value = _a.value, renderoptions = _a.renderoptions;
5
+ var string = JSON.stringify(value, null, 2);
6
+ var max_length = (renderoptions === null || renderoptions === void 0 ? void 0 : renderoptions.max_length) || 1000;
7
+ // shorten string if too long
8
+ if (string.length > max_length) {
9
+ string = string.substring(0, max_length) + "...";
10
+ }
11
+ return React.createElement(React.Fragment, null, string);
12
+ };
13
+ var RENDERTYPES = {
14
+ image: Base64ImageRenderer,
15
+ string: StringRenderer,
16
+ str: StringRenderer,
17
+ plot: AnyPlot,
18
+ };
19
+ var get_rendertype = function (rendertype) {
20
+ var rt = RENDERTYPES[rendertype];
21
+ if (rt === undefined)
22
+ return RENDERTYPES["string"];
23
+ return rt;
24
+ };
25
+ export default get_rendertype;
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/frontend/datarenderer/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAsB,MAAM,UAAU,CAAC;AACnE,OAAO,OAAO,MAAM,UAAU,CAAC;AAc/B,IAAM,cAAc,GAAG,UAAC,EAMvB;QALC,KAAK,WAAA,EACL,aAAa,mBAAA;IAKb,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,IAAM,UAAU,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,KAAI,IAAI,CAAC;IACrD,6BAA6B;IAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC;IACnD,CAAC;IAED,OAAO,0CAAG,MAAM,CAAI,CAAC;AACvB,CAAC,CAAC;AACF,IAAM,WAAW,GAQb;IACF,KAAK,EAAE,mBAAmB;IAC1B,MAAM,EAAE,cAAc;IACtB,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,OAAO;CACd,CAAC;AACF,IAAM,cAAc,GAAG,UAAC,UAAkB;IACxC,IAAM,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { BaseRenderOptions } from ".";
3
+ interface PlotlyRenderOptions extends BaseRenderOptions {
4
+ plottype?: "line" | "scatter" | "imshow";
5
+ layout?: any;
6
+ colorscale?: string;
7
+ }
8
+ declare const AnyPlot: ({ value, renderoptions, }: {
9
+ value: any;
10
+ renderoptions?: PlotlyRenderOptions;
11
+ }) => import("react").JSX.Element;
12
+ export {};
13
+ export default AnyPlot;
14
+ export type { PlotlyRenderOptions };
@@ -0,0 +1,53 @@
1
+ import Plot from "react-plotly.js";
2
+ var AnyPlot = function (_a) {
3
+ var value = _a.value, renderoptions = _a.renderoptions;
4
+ if (renderoptions === undefined) {
5
+ renderoptions = {};
6
+ }
7
+ if (value === undefined) {
8
+ return React.createElement(React.Fragment, null);
9
+ }
10
+ renderoptions.plottype = renderoptions.plottype || "line";
11
+ var data = [];
12
+ var layout = renderoptions.layout || {};
13
+ // tight layout
14
+ layout.margin = { t: 50, r: 50, l: 50, b: 50 };
15
+ if (renderoptions.plottype === "imshow") {
16
+ // check if value is a 2D array
17
+ if (!Array.isArray(value) || !Array.isArray(value[0])) {
18
+ console.error("imshow plottype requires a 2D array");
19
+ return React.createElement(React.Fragment, null);
20
+ }
21
+ // if is 3data, aassume rgb
22
+ if (Array.isArray(value[0][0])) {
23
+ //check image colorchannel
24
+ if ((renderoptions === null || renderoptions === void 0 ? void 0 : renderoptions.colorscale) === "bgr") {
25
+ value = value.map(function (row) {
26
+ return row.map(function (pixel) { return [pixel[2], pixel[1], pixel[0]]; });
27
+ });
28
+ }
29
+ data.push({
30
+ z: value,
31
+ type: "image",
32
+ colorscale: "rgb",
33
+ });
34
+ // disable axis
35
+ layout.xaxis = { visible: false };
36
+ layout.yaxis = { visible: false };
37
+ layout.margin = { t: 0, r: 0, l: 0, b: 0 };
38
+ }
39
+ else {
40
+ data.push({
41
+ z: value,
42
+ type: "heatmap",
43
+ colorscale: (renderoptions === null || renderoptions === void 0 ? void 0 : renderoptions.colorscale) || "Viridis",
44
+ });
45
+ }
46
+ }
47
+ // auto resize
48
+ layout.autosize = true;
49
+ return (React.createElement("div", { style: { minWidth: 300, maxHeight: 300, maxWidth: 300, minHeight: 300 } },
50
+ React.createElement(Plot, { data: data, layout: layout, useResizeHandler: true, style: { width: "100%", height: "100%" } })));
51
+ };
52
+ export default AnyPlot;
53
+ //# sourceMappingURL=plotly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plotly.js","sourceRoot":"","sources":["../../../src/frontend/datarenderer/plotly.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ import "./dialog.scss";
3
+ interface CustomDialogProps {
4
+ trigger?: React.ReactNode;
5
+ title?: string;
6
+ description?: string | React.ReactNode;
7
+ children: React.ReactNode;
8
+ closebutton?: boolean;
9
+ onOpenChange?: (open: boolean) => void;
10
+ buttons?: {
11
+ text: string;
12
+ onClick: () => void;
13
+ }[];
14
+ }
15
+ declare const CustomDialog: ({ trigger, title, description, children, closebutton, onOpenChange, buttons, }: CustomDialogProps) => React.JSX.Element;
16
+ export default CustomDialog;
17
+ export type { CustomDialogProps };
@@ -0,0 +1,26 @@
1
+ import React from "react";
2
+ import * as Dialog from "@radix-ui/react-dialog";
3
+ import CloseIcon from "@mui/icons-material/Close";
4
+ import "./dialog.scss";
5
+ var CustomDialog = function (_a) {
6
+ var trigger = _a.trigger, title = _a.title, description = _a.description, children = _a.children, _b = _a.closebutton, closebutton = _b === void 0 ? true : _b, onOpenChange = _a.onOpenChange, _c = _a.buttons, buttons = _c === void 0 ? [] : _c;
7
+ return (React.createElement(Dialog.Root, { onOpenChange: onOpenChange },
8
+ trigger && React.createElement(Dialog.Trigger, { asChild: true }, trigger),
9
+ React.createElement(Dialog.Portal, null,
10
+ React.createElement(Dialog.Overlay, { className: "dialogoverlay" }),
11
+ React.createElement(Dialog.Content, { className: "dialogconent" },
12
+ title && (React.createElement(Dialog.Title, { className: "dialogtitle" }, title)),
13
+ description && (React.createElement(Dialog.Description, { className: "dialogdescription" }, description)),
14
+ React.createElement("div", { className: "dialogchildren" }, children),
15
+ React.createElement("div", { style: {
16
+ display: "flex",
17
+ marginTop: 25,
18
+ justifyContent: "flex-end",
19
+ } }, (buttons || []).map(function (button, index) { return (React.createElement(Dialog.Close, { asChild: true, key: index },
20
+ React.createElement("button", { className: "dialogsendbutton", onClick: button.onClick }, button.text))); })),
21
+ closebutton && (React.createElement(Dialog.Close, { asChild: true },
22
+ React.createElement("button", { className: "dialogclosebutton", "aria-label": "Close" },
23
+ React.createElement(CloseIcon, null))))))));
24
+ };
25
+ export default CustomDialog;
26
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/frontend/dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACjD,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,eAAe,CAAC;AAavB,IAAM,YAAY,GAAG,UAAC,EASF;QARlB,OAAO,aAAA,EACP,KAAK,WAAA,EACL,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,mBAAkB,EAAlB,WAAW,mBAAG,IAAI,KAAA,EAClB,YAAY,kBAAA,EAEZ,eAAY,EAAZ,OAAO,mBAAG,EAAE,KAAA;IAEZ,OAAO,CACL,oBAAC,MAAM,CAAC,IAAI,IAAC,YAAY,EAAE,YAAY;QACpC,OAAO,IAAI,oBAAC,MAAM,CAAC,OAAO,IAAC,OAAO,UAAE,OAAO,CAAkB;QAC9D,oBAAC,MAAM,CAAC,MAAM;YACZ,oBAAC,MAAM,CAAC,OAAO,IAAC,SAAS,EAAC,eAAe,GAAG;YAC5C,oBAAC,MAAM,CAAC,OAAO,IAAC,SAAS,EAAC,cAAc;gBACrC,KAAK,IAAI,CACR,oBAAC,MAAM,CAAC,KAAK,IAAC,SAAS,EAAC,aAAa,IAAE,KAAK,CAAgB,CAC7D;gBACA,WAAW,IAAI,CACd,oBAAC,MAAM,CAAC,WAAW,IAAC,SAAS,EAAC,mBAAmB,IAC9C,WAAW,CACO,CACtB;gBACD,6BAAK,SAAS,EAAC,gBAAgB,IAAE,QAAQ,CAAO;gBAChD,6BACE,KAAK,EAAE;wBACL,OAAO,EAAE,MAAM;wBACf,SAAS,EAAE,EAAE;wBACb,cAAc,EAAE,UAAU;qBAC3B,IAEA,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAK,IAAK,OAAA,CACtC,oBAAC,MAAM,CAAC,KAAK,IAAC,OAAO,QAAC,GAAG,EAAE,KAAK;oBAC9B,gCAAQ,SAAS,EAAC,kBAAkB,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,IACzD,MAAM,CAAC,IAAI,CACL,CACI,CAChB,EANuC,CAMvC,CAAC,CACE;gBACL,WAAW,IAAI,CACd,oBAAC,MAAM,CAAC,KAAK,IAAC,OAAO;oBACnB,gCAAQ,SAAS,EAAC,mBAAmB,gBAAY,OAAO;wBACtD,oBAAC,SAAS,OAAG,CACN,CACI,CAChB,CACc,CACH,CACJ,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { EdgeProps } from "reactflow";
2
+ import "./edge.scss";
3
+ import React from "react";
4
+ declare const DefaultEdge: ({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, data, ...props }: EdgeProps) => React.JSX.Element;
5
+ export default DefaultEdge;
@@ -0,0 +1,40 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { getBezierPath, BaseEdge } from "reactflow";
24
+ import "./edge.scss";
25
+ import React from "react";
26
+ var DefaultEdge = function (_a) {
27
+ var id = _a.id, sourceX = _a.sourceX, sourceY = _a.sourceY, targetX = _a.targetX, targetY = _a.targetY, sourcePosition = _a.sourcePosition, targetPosition = _a.targetPosition, data = _a.data, props = __rest(_a, ["id", "sourceX", "sourceY", "targetX", "targetY", "sourcePosition", "targetPosition", "data"]);
28
+ var _b = getBezierPath({
29
+ sourceX: sourceX,
30
+ sourceY: sourceY,
31
+ sourcePosition: sourcePosition,
32
+ targetX: targetX,
33
+ targetY: targetY,
34
+ targetPosition: targetPosition,
35
+ }), edgePath = _b[0], labelX = _b[1], labelY = _b[2];
36
+ return (React.createElement(React.Fragment, null,
37
+ React.createElement(BaseEdge, __assign({ id: id, path: edgePath }, props))));
38
+ };
39
+ export default DefaultEdge;
40
+ //# sourceMappingURL=edge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge.js","sourceRoot":"","sources":["../../src/frontend/edge.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAa,aAAa,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,aAAa,CAAC;AACrB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,IAAM,WAAW,GAAG,UAAC,EAUT;IATV,IAAA,EAAE,QAAA,EACF,OAAO,aAAA,EACP,OAAO,aAAA,EACP,OAAO,aAAA,EACP,OAAO,aAAA,EACP,cAAc,oBAAA,EACd,cAAc,oBAAA,EACd,IAAI,UAAA,EACD,KAAK,cATW,8FAUpB,CADS;IAEF,IAAA,KAA6B,aAAa,CAAC;QAC/C,OAAO,SAAA;QACP,OAAO,SAAA;QACP,cAAc,gBAAA;QACd,OAAO,SAAA;QACP,OAAO,SAAA;QACP,cAAc,gBAAA;KACf,CAAC,EAPK,QAAQ,QAAA,EAAE,MAAM,QAAA,EAAE,MAAM,QAO7B,CAAC;IAEH,OAAO,CACL;QACE,oBAAC,QAAQ,aAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,IAAM,KAAK,EAAI,CAC9C,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import { FuncNodesReactFlowZustandInterface } from "../../states/fnrfzst.t";
3
+ declare const FuncNodesContext: React.Context<FuncNodesReactFlowZustandInterface>;
4
+ declare const FuncnodesReactFlow: () => React.JSX.Element;
5
+ export default FuncnodesReactFlow;
6
+ export { FuncNodesContext };
@@ -0,0 +1,94 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { createContext, useEffect, useState } from "react";
38
+ import FuncNodesReactFlowZustand from "../../states/fnrfzst";
39
+ import React from "react";
40
+ import { WorkerManager } from "../../funcnodes";
41
+ import FuncnodesHeader from "../header";
42
+ import Library from "../lib";
43
+ import ReactFlowLayer from "./react_flow_layer";
44
+ var FuncNodesContext = createContext(FuncNodesReactFlowZustand());
45
+ var InnerFuncnodesReactFlow = function (_a) {
46
+ var fnrf_zst = _a.fnrf_zst;
47
+ var _b = useState(""), workermanageruri = _b[0], setWorkermanageruri = _b[1];
48
+ var _c = useState(undefined), worker = _c[0], setWorker = _c[1];
49
+ useEffect(function () {
50
+ function fetch_worker_manager() {
51
+ return __awaiter(this, void 0, void 0, function () {
52
+ var response, workerewsuri;
53
+ return __generator(this, function (_a) {
54
+ switch (_a.label) {
55
+ case 0: return [4 /*yield*/, fetch("/worker_manager")];
56
+ case 1:
57
+ response = _a.sent();
58
+ return [4 /*yield*/, response.text()];
59
+ case 2:
60
+ workerewsuri = _a.sent();
61
+ setWorkermanageruri(workerewsuri);
62
+ return [2 /*return*/];
63
+ }
64
+ });
65
+ });
66
+ }
67
+ fetch_worker_manager();
68
+ }, []);
69
+ useEffect(function () {
70
+ if (workermanageruri) {
71
+ var workermanager = new WorkerManager(workermanageruri, fnrf_zst);
72
+ workermanager.on_setWorker = setWorker;
73
+ fnrf_zst.workermanager = workermanager;
74
+ }
75
+ }, [workermanageruri]);
76
+ fnrf_zst.worker = worker;
77
+ // const worker = new WebSocketWorker("ws://localhost:9382", fnrf_zst);
78
+ // fnrf_zst.worker = worker;
79
+ return (React.createElement(FuncNodesContext.Provider, { value: fnrf_zst },
80
+ React.createElement("div", { className: "funcnodesreactflowcontainer" },
81
+ React.createElement(FuncnodesHeader, null),
82
+ React.createElement("div", { className: "funcnodesreactflowbody" },
83
+ React.createElement(Library, null),
84
+ React.createElement(ReactFlowLayer, null)))));
85
+ };
86
+ var FuncnodesReactFlow = function () {
87
+ var fnrf_zst = FuncNodesReactFlowZustand();
88
+ // @ts-ignore
89
+ window.fnrf_zst = fnrf_zst; // For debugging
90
+ return React.createElement(InnerFuncnodesReactFlow, { fnrf_zst: fnrf_zst });
91
+ };
92
+ export default FuncnodesReactFlow;
93
+ export { FuncNodesContext };
94
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/frontend/funcnodesreactflow/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,yBAAyB,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,eAAe,MAAM,WAAW,CAAC;AACxC,OAAO,OAAO,MAAM,QAAQ,CAAC;AAC7B,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAGhD,IAAM,gBAAgB,GAAG,aAAa,CACpC,yBAAyB,EAAE,CAC5B,CAAC;AAEF,IAAM,uBAAuB,GAAG,UAAC,EAIhC;QAHC,QAAQ,cAAA;IAIF,IAAA,KAA0C,QAAQ,CAAS,EAAE,CAAC,EAA7D,gBAAgB,QAAA,EAAE,mBAAmB,QAAwB,CAAC;IAC/D,IAAA,KAAsB,QAAQ,CAA8B,SAAS,CAAC,EAArE,MAAM,QAAA,EAAE,SAAS,QAAoD,CAAC;IAE7E,SAAS,CAAC;QACR,SAAe,oBAAoB;;;;;gCAClB,qBAAM,KAAK,CAAC,iBAAiB,CAAC,EAAA;;4BAAzC,QAAQ,GAAG,SAA8B;4BAC1B,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;4BAApC,YAAY,GAAG,SAAqB;4BACxC,mBAAmB,CAAC,YAAY,CAAC,CAAC;;;;;SACnC;QACD,oBAAoB,EAAE,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC;QACR,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAM,aAAa,GAAG,IAAI,aAAa,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YACpE,aAAa,CAAC,YAAY,GAAG,SAAS,CAAC;YACvC,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;QACzC,CAAC;IACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,uEAAuE;IACvE,4BAA4B;IAE5B,OAAO,CACL,oBAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ;QACxC,6BAAK,SAAS,EAAC,6BAA6B;YAC1C,oBAAC,eAAe,OAAmB;YAEnC,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,OAAO,OAAW;gBACnB,oBAAC,cAAc,OAAkB,CAC7B,CACF,CACoB,CAC7B,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,kBAAkB,GAAG;IACzB,IAAM,QAAQ,GAAG,yBAAyB,EAAE,CAAC;IAE7C,aAAa;IACb,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,gBAAgB;IAC5C,OAAO,oBAAC,uBAAuB,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC;AACzD,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import "reactflow/dist/style.css";
3
+ import "./funcnodesreactflow.scss";
4
+ declare const ReactFlowLayer: () => React.JSX.Element;
5
+ export default ReactFlowLayer;
@@ -0,0 +1,149 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import React, { useCallback, useContext, useEffect, useRef, useState, } from "react";
24
+ import ReactFlow, { Background, MiniMap, useEdges, useKeyPress, useNodes, useReactFlow, } from "reactflow";
25
+ import { FuncNodesContext } from "..";
26
+ import { useShallow } from "zustand/react/shallow";
27
+ import DefaultNode from "../node";
28
+ import DefaultEdge from "../edge";
29
+ import "reactflow/dist/style.css";
30
+ import "./funcnodesreactflow.scss";
31
+ var selector = function (state) { return ({
32
+ nodes: state.nodes,
33
+ edges: state.edges,
34
+ onNodesChange: state.onNodesChange,
35
+ onEdgesChange: state.onEdgesChange,
36
+ onConnect: state.onConnect,
37
+ }); };
38
+ var nodeTypes = { default: DefaultNode };
39
+ var edgeTypes = {
40
+ default: DefaultEdge,
41
+ };
42
+ var ReactFlowManager = function () {
43
+ var rfinstance = useReactFlow();
44
+ var fnrf_zst = useContext(FuncNodesContext);
45
+ fnrf_zst.rf_instance = rfinstance;
46
+ return React.createElement(React.Fragment, null);
47
+ };
48
+ var KeyHandler = function () {
49
+ var _a;
50
+ var fnrf_zst = useContext(FuncNodesContext);
51
+ var delPressed = useKeyPress("Delete");
52
+ var edges = useEdges();
53
+ var nodes = useNodes();
54
+ if (delPressed) {
55
+ for (var _i = 0, edges_1 = edges; _i < edges_1.length; _i++) {
56
+ var edge = edges_1[_i];
57
+ if (edge.selected) {
58
+ if (!fnrf_zst.worker)
59
+ return React.createElement(React.Fragment, null);
60
+ if (!edge.source || !edge.target)
61
+ return React.createElement(React.Fragment, null);
62
+ if (!edge.sourceHandle || !edge.targetHandle)
63
+ return React.createElement(React.Fragment, null);
64
+ (_a = fnrf_zst.worker) === null || _a === void 0 ? void 0 : _a.remove_edge({
65
+ src_nid: edge.source,
66
+ src_ioid: edge.sourceHandle,
67
+ trg_nid: edge.target,
68
+ trg_ioid: edge.targetHandle,
69
+ });
70
+ }
71
+ }
72
+ for (var _b = 0, nodes_1 = nodes; _b < nodes_1.length; _b++) {
73
+ var node = nodes_1[_b];
74
+ if (node.selected) {
75
+ if (!fnrf_zst.worker)
76
+ return React.createElement(React.Fragment, null);
77
+ fnrf_zst.worker.remove_node(node.id);
78
+ }
79
+ }
80
+ }
81
+ return React.createElement(React.Fragment, null);
82
+ };
83
+ var ContextMenu = function (_a) {
84
+ var id = _a.id, top = _a.top, left = _a.left, right = _a.right, bottom = _a.bottom, props = __rest(_a, ["id", "top", "left", "right", "bottom"]);
85
+ var _b = useReactFlow(), getNode = _b.getNode, setNodes = _b.setNodes, addNodes = _b.addNodes, setEdges = _b.setEdges;
86
+ var fnrf_zst = useContext(FuncNodesContext);
87
+ var duplicateNode = useCallback(function () {
88
+ var rfnode = getNode(id);
89
+ if (!rfnode)
90
+ return;
91
+ var position = {
92
+ x: rfnode.position.x + 50,
93
+ y: rfnode.position.y + 50,
94
+ };
95
+ addNodes(__assign(__assign({}, rfnode), { id: "".concat(rfnode.id, "-copy"), position: position }));
96
+ }, [id, getNode, addNodes]);
97
+ var deleteNode = useCallback(function () {
98
+ fnrf_zst.on_node_action({ type: "delete", id: id, from_remote: false });
99
+ }, [id, setNodes, setEdges]);
100
+ var nodestore = fnrf_zst.nodespace.get_node(id, false);
101
+ if (!nodestore)
102
+ return React.createElement(React.Fragment, null, " ");
103
+ var node = nodestore();
104
+ return (React.createElement("div", __assign({ style: { top: top, left: left, right: right, bottom: bottom }, className: "context-menu" }, props),
105
+ React.createElement("p", { style: { fontWeight: "bold" } },
106
+ React.createElement("small", null, node.name)),
107
+ React.createElement("button", { onClick: duplicateNode }, "duplicate"),
108
+ React.createElement("button", { onClick: deleteNode }, "delete")));
109
+ };
110
+ var ReactFlowLayer = function () {
111
+ var fnrf_zst = useContext(FuncNodesContext);
112
+ var reactflowRef = useRef(null);
113
+ useEffect(function () {
114
+ fnrf_zst.reactflowRef = reactflowRef.current;
115
+ }, [reactflowRef]);
116
+ var _a = useState(null), menu = _a[0], setMenu = _a[1];
117
+ var onNodeContextMenu = useCallback(function (event, node) {
118
+ if (!reactflowRef.current)
119
+ return;
120
+ // Prevent native context menu from showing
121
+ event.preventDefault();
122
+ // Calculate position of the context menu. We want to make sure it
123
+ // doesn't get positioned off-screen.
124
+ var pane = reactflowRef.current.getBoundingClientRect();
125
+ var clientX = event.clientX;
126
+ var clientY = event.clientY;
127
+ setMenu({
128
+ id: node.id,
129
+ top: clientY < pane.height - 200 ? clientY : undefined,
130
+ left: clientX < pane.width - 200 ? clientX : undefined,
131
+ right: clientX >= pane.width - 200 ? pane.width - clientX : undefined,
132
+ bottom: clientY >= pane.height - 200 ? pane.height - clientY : undefined,
133
+ });
134
+ }, [setMenu]);
135
+ var onPaneClick = useCallback(function () { return setMenu(null); }, [setMenu]);
136
+ var _b = fnrf_zst.useReactFlowStore(useShallow(selector)), nodes = _b.nodes, edges = _b.edges, onNodesChange = _b.onNodesChange, onEdgesChange = _b.onEdgesChange, onConnect = _b.onConnect;
137
+ return (React.createElement("div", { className: "reactflowlayer" },
138
+ React.createElement(ReactFlow, { nodes: nodes, edges: edges, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange, onConnect: onConnect, nodeTypes: nodeTypes, edgeTypes: edgeTypes, minZoom: 0.1, maxZoom: 2, fitView: true, ref: reactflowRef,
139
+ // onNodeContextMenu={onNodeContextMenu}
140
+ onPaneClick: onPaneClick },
141
+ React.createElement(ReactFlowManager, null),
142
+ React.createElement(KeyHandler, null),
143
+ React.createElement(Background, { color: "#888" // Color of the grid lines
144
+ , gap: 16, size: 1 }),
145
+ React.createElement(MiniMap, { nodeStrokeWidth: 3, pannable: true, zoomable: true, zoomStep: 3 }),
146
+ menu && React.createElement(ContextMenu, __assign({ onClick: onPaneClick }, menu)))));
147
+ };
148
+ export default ReactFlowLayer;
149
+ //# sourceMappingURL=react_flow_layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react_flow_layer.js","sourceRoot":"","sources":["../../../src/frontend/funcnodesreactflow/react_flow_layer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import "./header.scss";
2
+ import React from "react";
3
+ declare const FuncnodesHeader: () => React.JSX.Element;
4
+ export default FuncnodesHeader;