@linkdlab/funcnodes_react_flow 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/style.css +37 -0
- package/dist/frontend/datarenderer/images.d.ts +11 -11
- package/dist/frontend/datarenderer/index.d.ts +16 -16
- package/dist/frontend/datarenderer/plotly.d.ts +14 -14
- package/dist/frontend/dialog.d.ts +17 -17
- package/dist/frontend/edge.d.ts +5 -5
- package/dist/frontend/funcnodesreactflow/index.d.ts +6 -6
- package/dist/frontend/funcnodesreactflow/react_flow_layer.d.ts +5 -5
- package/dist/frontend/header/index.d.ts +4 -4
- package/dist/frontend/index.d.ts +3 -3
- package/dist/frontend/lib.d.ts +10 -10
- package/dist/frontend/node/index.d.ts +2 -2
- package/dist/frontend/node/io/default_input_renderer.d.ts +11 -11
- package/dist/frontend/node/io/default_output_render.d.ts +6 -6
- package/dist/frontend/node/io/handle_renderer.d.ts +5 -6
- package/dist/frontend/node/io/index.d.ts +3 -3
- package/dist/frontend/node/io/io.d.ts +16 -16
- package/dist/frontend/node/io/nodeinput.d.ts +6 -6
- package/dist/frontend/node/io/nodeoutput.d.ts +6 -6
- package/dist/frontend/node/node.d.ts +20 -20
- package/dist/frontend/utils/colorpicker.d.ts +19 -19
- package/dist/frontend/utils/jsondata.d.ts +6 -6
- package/dist/frontend/utils/table.d.ts +11 -11
- package/dist/funcnodes/funcnodesworker.d.ts +72 -72
- package/dist/funcnodes/index.d.ts +4 -4
- package/dist/funcnodes/websocketworker.d.ts +27 -27
- package/dist/funcnodes/workermanager.d.ts +32 -32
- package/dist/index.d.ts +2 -2
- package/dist/index.js +790 -3
- package/dist/states/edge.d.ts +7 -7
- package/dist/states/edge.t.d.ts +16 -16
- package/dist/states/fnrfzst.d.ts +10 -10
- package/dist/states/fnrfzst.t.d.ts +100 -100
- package/dist/states/index.d.ts +7 -7
- package/dist/states/lib.d.ts +3 -3
- package/dist/states/lib.t.d.ts +24 -24
- package/dist/states/node.d.ts +4 -4
- package/dist/states/node.t.d.ts +73 -73
- package/dist/states/nodeio.t.d.ts +67 -67
- package/dist/states/nodespace.d.ts +3 -3
- package/dist/states/nodespace.t.d.ts +16 -16
- package/dist/states/reactflow.d.ts +8 -8
- package/dist/states/reactflow.t.d.ts +11 -11
- package/dist/types/rendering.t.d.ts +10 -10
- package/dist/utils/index.d.ts +3 -3
- package/dist/utils/objects.d.ts +19 -19
- package/package.json +8 -6
- package/dist/frontend/datarenderer/images.js +0 -13
- package/dist/frontend/datarenderer/images.js.map +0 -1
- package/dist/frontend/datarenderer/index.js +0 -26
- package/dist/frontend/datarenderer/index.js.map +0 -1
- package/dist/frontend/datarenderer/plotly.js +0 -53
- package/dist/frontend/datarenderer/plotly.js.map +0 -1
- package/dist/frontend/dialog.js +0 -26
- package/dist/frontend/dialog.js.map +0 -1
- package/dist/frontend/edge.js +0 -40
- package/dist/frontend/edge.js.map +0 -1
- package/dist/frontend/funcnodesreactflow/index.js +0 -94
- package/dist/frontend/funcnodesreactflow/index.js.map +0 -1
- package/dist/frontend/funcnodesreactflow/react_flow_layer.js +0 -149
- package/dist/frontend/funcnodesreactflow/react_flow_layer.js.map +0 -1
- package/dist/frontend/header/index.js +0 -227
- package/dist/frontend/header/index.js.map +0 -1
- package/dist/frontend/index.js +0 -4
- package/dist/frontend/index.js.map +0 -1
- package/dist/frontend/lib.js +0 -107
- package/dist/frontend/lib.js.map +0 -1
- package/dist/frontend/node/index.js +0 -3
- package/dist/frontend/node/index.js.map +0 -1
- package/dist/frontend/node/io/default_input_renderer.js +0 -235
- package/dist/frontend/node/io/default_input_renderer.js.map +0 -1
- package/dist/frontend/node/io/default_output_render.js +0 -23
- package/dist/frontend/node/io/default_output_render.js.map +0 -1
- package/dist/frontend/node/io/handle_renderer.js +0 -70
- package/dist/frontend/node/io/handle_renderer.js.map +0 -1
- package/dist/frontend/node/io/index.js +0 -4
- package/dist/frontend/node/io/index.js.map +0 -1
- package/dist/frontend/node/io/io.js +0 -98
- package/dist/frontend/node/io/io.js.map +0 -1
- package/dist/frontend/node/io/nodeinput.js +0 -74
- package/dist/frontend/node/io/nodeinput.js.map +0 -1
- package/dist/frontend/node/io/nodeoutput.js +0 -19
- package/dist/frontend/node/io/nodeoutput.js.map +0 -1
- package/dist/frontend/node/node.js +0 -118
- package/dist/frontend/node/node.js.map +0 -1
- package/dist/frontend/utils/colorpicker.js +0 -209
- package/dist/frontend/utils/colorpicker.js.map +0 -1
- package/dist/frontend/utils/jsondata.js +0 -8
- package/dist/frontend/utils/jsondata.js.map +0 -1
- package/dist/frontend/utils/table.js +0 -108
- package/dist/frontend/utils/table.js.map +0 -1
- package/dist/funcnodes/funcnodesworker.js +0 -532
- package/dist/funcnodes/funcnodesworker.js.map +0 -1
- package/dist/funcnodes/index.js +0 -5
- package/dist/funcnodes/index.js.map +0 -1
- package/dist/funcnodes/websocketworker.js +0 -224
- package/dist/funcnodes/websocketworker.js.map +0 -1
- package/dist/funcnodes/workermanager.js +0 -241
- package/dist/funcnodes/workermanager.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/states/edge.js +0 -6
- package/dist/states/edge.js.map +0 -1
- package/dist/states/edge.t.js +0 -2
- package/dist/states/edge.t.js.map +0 -1
- package/dist/states/fnrfzst.js +0 -378
- package/dist/states/fnrfzst.js.map +0 -1
- package/dist/states/fnrfzst.t.js +0 -2
- package/dist/states/fnrfzst.t.js.map +0 -1
- package/dist/states/index.js +0 -6
- package/dist/states/index.js.map +0 -1
- package/dist/states/lib.js +0 -14
- package/dist/states/lib.js.map +0 -1
- package/dist/states/lib.t.js +0 -2
- package/dist/states/lib.t.js.map +0 -1
- package/dist/states/node.js +0 -43
- package/dist/states/node.js.map +0 -1
- package/dist/states/node.t.js +0 -2
- package/dist/states/node.t.js.map +0 -1
- package/dist/states/nodeio.t.js +0 -2
- package/dist/states/nodeio.t.js.map +0 -1
- package/dist/states/nodespace.js +0 -77
- package/dist/states/nodespace.js.map +0 -1
- package/dist/states/nodespace.t.js +0 -2
- package/dist/states/nodespace.t.js.map +0 -1
- package/dist/states/reactflow.js +0 -33
- package/dist/states/reactflow.js.map +0 -1
- package/dist/states/reactflow.t.js +0 -2
- package/dist/states/reactflow.t.js.map +0 -1
- package/dist/types/rendering.t.js +0 -2
- package/dist/types/rendering.t.js.map +0 -1
- package/dist/utils/index.js +0 -3
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/objects.js +0 -118
- package/dist/utils/objects.js.map +0 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { NodeStore } from "./node.t";
|
|
2
|
-
/**
|
|
3
|
-
* Interface for the NodeSpaceZustand state management.
|
|
4
|
-
* This interface is used to define the shape of the state and the actions that can be performed on it.
|
|
5
|
-
*/
|
|
6
|
-
interface NodeSpaceZustandInterface {
|
|
7
|
-
nodesstates: Map<string, NodeStore>;
|
|
8
|
-
get_node: (nid: string, raise?: boolean) => NodeStore | undefined;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Interface for the NodeSpaceZustandProps.
|
|
12
|
-
* This interface is used to define the properties that can be passed to the NodeSpaceZustand component.
|
|
13
|
-
*/
|
|
14
|
-
interface NodeSpaceZustandProps {
|
|
15
|
-
}
|
|
16
|
-
export type { NodeSpaceZustandProps, NodeSpaceZustandInterface };
|
|
1
|
+
import { NodeStore } from "./node.t";
|
|
2
|
+
/**
|
|
3
|
+
* Interface for the NodeSpaceZustand state management.
|
|
4
|
+
* This interface is used to define the shape of the state and the actions that can be performed on it.
|
|
5
|
+
*/
|
|
6
|
+
interface NodeSpaceZustandInterface {
|
|
7
|
+
nodesstates: Map<string, NodeStore>;
|
|
8
|
+
get_node: (nid: string, raise?: boolean) => NodeStore | undefined;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Interface for the NodeSpaceZustandProps.
|
|
12
|
+
* This interface is used to define the properties that can be passed to the NodeSpaceZustand component.
|
|
13
|
+
*/
|
|
14
|
+
interface NodeSpaceZustandProps {
|
|
15
|
+
}
|
|
16
|
+
export type { NodeSpaceZustandProps, NodeSpaceZustandInterface };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Connection, EdgeChange, NodeChange } from
|
|
2
|
-
import { RFStore } from
|
|
3
|
-
declare const reactflowstore: ({ on_node_change, on_edge_change, on_connect
|
|
4
|
-
on_node_change?: (changes: NodeChange[]) => void;
|
|
5
|
-
on_edge_change?: (changes: EdgeChange[]) => void;
|
|
6
|
-
on_connect?: (connection: Connection) => void;
|
|
7
|
-
}) => RFStore;
|
|
8
|
-
export default reactflowstore;
|
|
1
|
+
import { Connection, EdgeChange, NodeChange } from 'reactflow';
|
|
2
|
+
import { RFStore } from './reactflow.t';
|
|
3
|
+
declare const reactflowstore: ({ on_node_change, on_edge_change, on_connect }: {
|
|
4
|
+
on_node_change?: ((changes: NodeChange[]) => void) | undefined;
|
|
5
|
+
on_edge_change?: ((changes: EdgeChange[]) => void) | undefined;
|
|
6
|
+
on_connect?: ((connection: Connection) => void) | undefined;
|
|
7
|
+
}) => RFStore;
|
|
8
|
+
export default reactflowstore;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { UseBoundStore, StoreApi } from
|
|
2
|
-
import { Edge, Node, OnNodesChange, OnEdgesChange, OnConnect } from
|
|
3
|
-
type RFState = {
|
|
4
|
-
nodes: Node[];
|
|
5
|
-
edges: Edge[];
|
|
6
|
-
onNodesChange: OnNodesChange;
|
|
7
|
-
onEdgesChange: OnEdgesChange;
|
|
8
|
-
onConnect: OnConnect;
|
|
9
|
-
};
|
|
10
|
-
type RFStore = UseBoundStore<StoreApi<RFState>>;
|
|
11
|
-
export type { RFState, RFStore };
|
|
1
|
+
import { UseBoundStore, StoreApi } from 'zustand';
|
|
2
|
+
import { Edge, Node, OnNodesChange, OnEdgesChange, OnConnect } from 'reactflow';
|
|
3
|
+
type RFState = {
|
|
4
|
+
nodes: Node[];
|
|
5
|
+
edges: Edge[];
|
|
6
|
+
onNodesChange: OnNodesChange;
|
|
7
|
+
onEdgesChange: OnEdgesChange;
|
|
8
|
+
onConnect: OnConnect;
|
|
9
|
+
};
|
|
10
|
+
type RFStore = UseBoundStore<StoreApi<RFState>>;
|
|
11
|
+
export type { RFState, RFStore };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
type RenderType = "string" | "number" | "boolean" | "image";
|
|
2
|
-
interface BaseRenderOptions {
|
|
3
|
-
type?: RenderType;
|
|
4
|
-
}
|
|
5
|
-
interface DataRenderOptions extends BaseRenderOptions {
|
|
6
|
-
src?: string;
|
|
7
|
-
type?: RenderType;
|
|
8
|
-
preview_type?: string;
|
|
9
|
-
}
|
|
10
|
-
export type { DataRenderOptions, RenderType, BaseRenderOptions };
|
|
1
|
+
type RenderType = "string" | "number" | "boolean" | "image";
|
|
2
|
+
interface BaseRenderOptions {
|
|
3
|
+
type?: RenderType;
|
|
4
|
+
}
|
|
5
|
+
interface DataRenderOptions extends BaseRenderOptions {
|
|
6
|
+
src?: string;
|
|
7
|
+
type?: RenderType;
|
|
8
|
+
preview_type?: string;
|
|
9
|
+
}
|
|
10
|
+
export type { DataRenderOptions, RenderType, BaseRenderOptions };
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { deep_merge, deep_compare_objects, DeepPartial } from "./objects";
|
|
2
|
-
export { deep_merge, deep_compare_objects };
|
|
3
|
-
export type { DeepPartial };
|
|
1
|
+
import { deep_merge, deep_compare_objects, DeepPartial } from "./objects";
|
|
2
|
+
export { deep_merge, deep_compare_objects };
|
|
3
|
+
export type { DeepPartial };
|
package/dist/utils/objects.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
type DeepPartial<T> = T extends object ? {
|
|
2
|
-
[P in keyof T]?: DeepPartial<T[P]>;
|
|
3
|
-
} : T;
|
|
4
|
-
declare function deep_compare_objects(a: any, b: any): boolean;
|
|
5
|
-
/**
|
|
6
|
-
*
|
|
7
|
-
* function to deeply merge two objects of type T.
|
|
8
|
-
*
|
|
9
|
-
* @param {T} target - The target object to be merged.
|
|
10
|
-
* @param {DeepPartial<T>} source - The source object to merge into the target. All properties of this object are optional.
|
|
11
|
-
*
|
|
12
|
-
* @returns {T} An object containing the merged object (new_obj) and a boolean indicating if there was a change (change).
|
|
13
|
-
*/
|
|
14
|
-
declare const deep_merge: <T extends {}>(target: T, source: DeepPartial<T>) => {
|
|
15
|
-
new_obj: T;
|
|
16
|
-
change: boolean;
|
|
17
|
-
};
|
|
18
|
-
export { deep_merge, deep_compare_objects };
|
|
19
|
-
export type { DeepPartial };
|
|
1
|
+
type DeepPartial<T> = T extends object ? {
|
|
2
|
+
[P in keyof T]?: DeepPartial<T[P]>;
|
|
3
|
+
} : T;
|
|
4
|
+
declare function deep_compare_objects(a: any, b: any): boolean;
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* function to deeply merge two objects of type T.
|
|
8
|
+
*
|
|
9
|
+
* @param {T} target - The target object to be merged.
|
|
10
|
+
* @param {DeepPartial<T>} source - The source object to merge into the target. All properties of this object are optional.
|
|
11
|
+
*
|
|
12
|
+
* @returns {T} An object containing the merged object (new_obj) and a boolean indicating if there was a change (change).
|
|
13
|
+
*/
|
|
14
|
+
declare const deep_merge: <T extends {}>(target: T, source: DeepPartial<T>) => {
|
|
15
|
+
new_obj: T;
|
|
16
|
+
change: boolean;
|
|
17
|
+
};
|
|
18
|
+
export { deep_merge, deep_compare_objects };
|
|
19
|
+
export type { DeepPartial };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@linkdlab/funcnodes_react_flow",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,6 +14,9 @@
|
|
|
14
14
|
"homepage": "https://github.com/Linkdlab/FuncNodesReact#readme",
|
|
15
15
|
"main": "dist/index.js",
|
|
16
16
|
"source": "src/index.tsx",
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
17
20
|
"engines": {
|
|
18
21
|
"node": ">=10"
|
|
19
22
|
},
|
|
@@ -23,7 +26,8 @@
|
|
|
23
26
|
"test": "react-scripts test",
|
|
24
27
|
"eject": "react-scripts eject",
|
|
25
28
|
"buildmod": "tsc -p tsconfig.esm.json",
|
|
26
|
-
"webpack": "cd app && webpack",
|
|
29
|
+
"webpack:app": "cd app && webpack",
|
|
30
|
+
"webpack:module": "cd module && webpack",
|
|
27
31
|
"serve": "cd app && webpack serve --mode=development"
|
|
28
32
|
},
|
|
29
33
|
"dependencies": {
|
|
@@ -60,9 +64,6 @@
|
|
|
60
64
|
"web-vitals": "^2.1.0",
|
|
61
65
|
"zustand": "^4.5.0"
|
|
62
66
|
},
|
|
63
|
-
"files": [
|
|
64
|
-
"dist"
|
|
65
|
-
],
|
|
66
67
|
"eslintConfig": {
|
|
67
68
|
"extends": [
|
|
68
69
|
"react-app",
|
|
@@ -101,6 +102,7 @@
|
|
|
101
102
|
"ts-loader": "^9.5.1",
|
|
102
103
|
"tsup": "^8.0.2",
|
|
103
104
|
"webpack": "^5.91.0",
|
|
104
|
-
"webpack-cli": "^5.1.4"
|
|
105
|
+
"webpack-cli": "^5.1.4",
|
|
106
|
+
"webpack-node-externals": "^3.0.0"
|
|
105
107
|
}
|
|
106
108
|
}
|
|
@@ -1,13 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,53 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plotly.js","sourceRoot":"","sources":["../../../src/frontend/datarenderer/plotly.tsx"],"names":[],"mappings":"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"}
|
package/dist/frontend/dialog.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/dist/frontend/edge.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,94 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,149 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react_flow_layer.js","sourceRoot":"","sources":["../../../src/frontend/funcnodesreactflow/react_flow_layer.tsx"],"names":[],"mappings":"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"}
|