@linkdlab/funcnodes_react_flow 0.1.0 → 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.
- package/dist/frontend/datarenderer/images.d.ts +11 -0
- package/dist/frontend/datarenderer/images.js +13 -0
- package/dist/frontend/datarenderer/images.js.map +1 -0
- package/dist/frontend/datarenderer/index.d.ts +16 -0
- package/dist/frontend/datarenderer/index.js +26 -0
- package/dist/frontend/datarenderer/index.js.map +1 -0
- package/dist/frontend/datarenderer/plotly.d.ts +14 -0
- package/dist/frontend/datarenderer/plotly.js +53 -0
- package/dist/frontend/datarenderer/plotly.js.map +1 -0
- package/dist/frontend/dialog.d.ts +17 -0
- package/dist/frontend/dialog.js +26 -0
- package/dist/frontend/dialog.js.map +1 -0
- package/dist/frontend/edge.d.ts +5 -0
- package/dist/frontend/edge.js +40 -0
- package/dist/frontend/edge.js.map +1 -0
- package/dist/frontend/funcnodesreactflow/index.d.ts +6 -0
- package/dist/frontend/funcnodesreactflow/index.js +94 -0
- package/dist/frontend/funcnodesreactflow/index.js.map +1 -0
- package/dist/frontend/funcnodesreactflow/react_flow_layer.d.ts +5 -0
- package/dist/frontend/funcnodesreactflow/react_flow_layer.js +149 -0
- package/dist/frontend/funcnodesreactflow/react_flow_layer.js.map +1 -0
- package/dist/frontend/header/index.d.ts +4 -0
- package/dist/frontend/header/index.js +227 -0
- package/dist/frontend/header/index.js.map +1 -0
- package/{src/frontend/index.tsx → dist/frontend/index.d.ts} +0 -1
- package/dist/frontend/index.js +4 -0
- package/dist/frontend/index.js.map +1 -0
- package/dist/frontend/lib.d.ts +10 -0
- package/dist/frontend/lib.js +107 -0
- package/dist/frontend/lib.js.map +1 -0
- package/{src/frontend/node/index.tsx → dist/frontend/node/index.d.ts} +0 -1
- package/dist/frontend/node/index.js +3 -0
- package/dist/frontend/node/index.js.map +1 -0
- package/dist/frontend/node/io/default_input_renderer.d.ts +11 -0
- package/dist/frontend/node/io/default_input_renderer.js +235 -0
- package/dist/frontend/node/io/default_input_renderer.js.map +1 -0
- package/dist/frontend/node/io/default_output_render.d.ts +6 -0
- package/dist/frontend/node/io/default_output_render.js +23 -0
- package/dist/frontend/node/io/default_output_render.js.map +1 -0
- package/dist/frontend/node/io/handle_renderer.d.ts +6 -0
- package/dist/frontend/node/io/handle_renderer.js +70 -0
- package/dist/frontend/node/io/handle_renderer.js.map +1 -0
- package/{src/frontend/node/io/index.tsx → dist/frontend/node/io/index.d.ts} +0 -1
- package/dist/frontend/node/io/index.js +4 -0
- package/dist/frontend/node/io/index.js.map +1 -0
- package/dist/frontend/node/io/io.d.ts +16 -0
- package/dist/frontend/node/io/io.js +98 -0
- package/dist/frontend/node/io/io.js.map +1 -0
- package/dist/frontend/node/io/nodeinput.d.ts +6 -0
- package/dist/frontend/node/io/nodeinput.js +74 -0
- package/dist/frontend/node/io/nodeinput.js.map +1 -0
- package/dist/frontend/node/io/nodeoutput.d.ts +6 -0
- package/dist/frontend/node/io/nodeoutput.js +19 -0
- package/dist/frontend/node/io/nodeoutput.js.map +1 -0
- package/dist/frontend/node/node.d.ts +20 -0
- package/dist/frontend/node/node.js +118 -0
- package/dist/frontend/node/node.js.map +1 -0
- package/dist/frontend/utils/colorpicker.d.ts +19 -0
- package/dist/frontend/utils/colorpicker.js +209 -0
- package/dist/frontend/utils/colorpicker.js.map +1 -0
- package/dist/frontend/utils/jsondata.d.ts +6 -0
- package/dist/frontend/utils/jsondata.js +8 -0
- package/dist/frontend/utils/jsondata.js.map +1 -0
- package/dist/frontend/utils/table.d.ts +11 -0
- package/dist/frontend/utils/table.js +108 -0
- package/dist/frontend/utils/table.js.map +1 -0
- package/dist/funcnodes/funcnodesworker.d.ts +72 -0
- package/dist/funcnodes/funcnodesworker.js +532 -0
- package/dist/funcnodes/funcnodesworker.js.map +1 -0
- package/dist/funcnodes/index.js +5 -0
- package/dist/funcnodes/index.js.map +1 -0
- package/dist/funcnodes/websocketworker.d.ts +27 -0
- package/dist/funcnodes/websocketworker.js +224 -0
- package/dist/funcnodes/websocketworker.js.map +1 -0
- package/dist/funcnodes/workermanager.d.ts +32 -0
- package/dist/funcnodes/workermanager.js +241 -0
- package/dist/funcnodes/workermanager.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/states/edge.d.ts +7 -0
- package/dist/states/edge.js +6 -0
- package/dist/states/edge.js.map +1 -0
- package/dist/states/edge.t.d.ts +16 -0
- package/dist/states/edge.t.js +2 -0
- package/dist/states/edge.t.js.map +1 -0
- package/dist/states/fnrfzst.d.ts +10 -0
- package/dist/states/fnrfzst.js +378 -0
- package/dist/states/fnrfzst.js.map +1 -0
- package/dist/states/fnrfzst.t.d.ts +100 -0
- package/dist/states/fnrfzst.t.js +2 -0
- package/dist/states/fnrfzst.t.js.map +1 -0
- package/dist/states/index.d.ts +7 -0
- package/dist/states/index.js +6 -0
- package/dist/states/index.js.map +1 -0
- package/dist/states/lib.d.ts +3 -0
- package/dist/states/lib.js +14 -0
- package/dist/states/lib.js.map +1 -0
- package/dist/states/lib.t.d.ts +24 -0
- package/dist/states/lib.t.js +2 -0
- package/dist/states/lib.t.js.map +1 -0
- package/dist/states/node.d.ts +4 -0
- package/dist/states/node.js +43 -0
- package/dist/states/node.js.map +1 -0
- package/dist/states/node.t.d.ts +73 -0
- package/dist/states/node.t.js +2 -0
- package/dist/states/node.t.js.map +1 -0
- package/dist/states/nodeio.t.d.ts +67 -0
- package/dist/states/nodeio.t.js +2 -0
- package/dist/states/nodeio.t.js.map +1 -0
- package/dist/states/nodespace.d.ts +3 -0
- package/dist/states/nodespace.js +77 -0
- package/dist/states/nodespace.js.map +1 -0
- package/dist/states/nodespace.t.d.ts +16 -0
- package/dist/states/nodespace.t.js +2 -0
- package/dist/states/nodespace.t.js.map +1 -0
- package/dist/states/reactflow.d.ts +8 -0
- package/dist/states/reactflow.js +33 -0
- package/dist/states/reactflow.js.map +1 -0
- package/dist/states/reactflow.t.d.ts +11 -0
- package/dist/states/reactflow.t.js +2 -0
- package/dist/states/reactflow.t.js.map +1 -0
- package/dist/types/rendering.t.d.ts +10 -0
- package/dist/types/rendering.t.js +2 -0
- package/dist/types/rendering.t.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/objects.d.ts +19 -0
- package/dist/utils/objects.js +118 -0
- package/dist/utils/objects.js.map +1 -0
- package/package.json +52 -21
- package/package copy.json +0 -63
- package/public/favicon.ico +0 -0
- package/public/index.html +0 -43
- package/public/logo192.png +0 -0
- package/public/logo512.png +0 -0
- package/public/manifest.json +0 -25
- package/public/robots.txt +0 -3
- package/public/worker_manager +0 -1
- package/src/App.css +0 -38
- package/src/App.test.tsx +0 -9
- package/src/App.tsx +0 -22
- package/src/frontend/datarenderer/images.tsx +0 -28
- package/src/frontend/datarenderer/index.tsx +0 -53
- package/src/frontend/datarenderer/plotly.tsx +0 -82
- package/src/frontend/dialog.scss +0 -88
- package/src/frontend/dialog.tsx +0 -70
- package/src/frontend/edge.scss +0 -15
- package/src/frontend/edge.tsx +0 -31
- package/src/frontend/funcnodesreactflow.scss +0 -63
- package/src/frontend/funcnodesreactflow.tsx +0 -283
- package/src/frontend/header/header.scss +0 -48
- package/src/frontend/header/index.tsx +0 -268
- package/src/frontend/layout/htmlelements.scss +0 -63
- package/src/frontend/lib.scss +0 -157
- package/src/frontend/lib.tsx +0 -198
- package/src/frontend/node/io/default_input_renderer.tsx +0 -327
- package/src/frontend/node/io/default_output_render.tsx +0 -26
- package/src/frontend/node/io/handle_renderer.tsx +0 -89
- package/src/frontend/node/io/io.scss +0 -91
- package/src/frontend/node/io/io.tsx +0 -114
- package/src/frontend/node/io/nodeinput.tsx +0 -125
- package/src/frontend/node/io/nodeoutput.tsx +0 -37
- package/src/frontend/node/node.scss +0 -265
- package/src/frontend/node/node.tsx +0 -208
- package/src/frontend/nodecontextmenu.scss +0 -18
- package/src/frontend/utils/colorpicker.scss +0 -37
- package/src/frontend/utils/colorpicker.tsx +0 -342
- package/src/frontend/utils/jsondata.tsx +0 -19
- package/src/frontend/utils/table.scss +0 -22
- package/src/frontend/utils/table.tsx +0 -159
- package/src/funcnodes/funcnodesworker.ts +0 -455
- package/src/funcnodes/websocketworker.ts +0 -153
- package/src/funcnodes/workermanager.ts +0 -229
- package/src/index.css +0 -13
- package/src/index.tsx +0 -19
- package/src/logo.svg +0 -1
- package/src/react-app-env.d.ts +0 -1
- package/src/reportWebVitals.ts +0 -15
- package/src/setupTests.ts +0 -5
- package/src/state/edge.ts +0 -35
- package/src/state/fnrfzst.ts +0 -440
- package/src/state/index.ts +0 -139
- package/src/state/lib.ts +0 -26
- package/src/state/node.ts +0 -118
- package/src/state/nodespace.ts +0 -151
- package/src/state/reactflow.ts +0 -65
- package/src/types/lib.d.ts +0 -16
- package/src/types/node.d.ts +0 -29
- package/src/types/nodeio.d.ts +0 -82
- package/src/types/worker.d.ts +0 -56
- package/tsconfig.json +0 -20
- /package/{src/funcnodes/index.ts → dist/funcnodes/index.d.ts} +0 -0
package/src/state/node.ts
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { useStore, create, UseBoundStore, StoreApi } from "zustand";
|
|
2
|
-
import { DeepPartial, deep_merge } from "./";
|
|
3
|
-
|
|
4
|
-
type PartialIOType = DeepPartial<IOType>;
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Interface for the NodeActionAdd.
|
|
8
|
-
* This interface is used when a new node is being added.
|
|
9
|
-
* It has a type property set to "add" and a node property of NodeType.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
interface BaseNodeAction {
|
|
13
|
-
type: string;
|
|
14
|
-
from_remote: boolean;
|
|
15
|
-
id: string;
|
|
16
|
-
immediate?: boolean;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
interface NodeActionAdd extends BaseNodeAction {
|
|
20
|
-
type: "add";
|
|
21
|
-
node: NodeType;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Interface for the NodeActionUpdate.
|
|
26
|
-
* This interface is used when an existing node is being updated.
|
|
27
|
-
* It has a type property set to "update", an id property for the node to be updated,
|
|
28
|
-
* and a node property of PartialNodeType which contains the properties to be updated.
|
|
29
|
-
*/
|
|
30
|
-
interface NodeActionUpdate extends BaseNodeAction {
|
|
31
|
-
type: "update";
|
|
32
|
-
node: PartialNodeType;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Interface for the NodeActionDelete.
|
|
37
|
-
* This interface is used when a node is being deleted.
|
|
38
|
-
* It has a type property set to "delete" and an id property for the node to be deleted.
|
|
39
|
-
*/
|
|
40
|
-
interface NodeActionDelete extends BaseNodeAction {
|
|
41
|
-
type: "delete";
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
interface NodeActionError extends BaseNodeAction {
|
|
45
|
-
type: "error";
|
|
46
|
-
errortype: string;
|
|
47
|
-
error: string;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
interface NodeTrigger extends BaseNodeAction {
|
|
51
|
-
type: "trigger";
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Type alias for NodeAction.
|
|
56
|
-
* A NodeAction can be either a NodeActionAdd, NodeActionUpdate, or NodeActionDelete.
|
|
57
|
-
*/
|
|
58
|
-
type NodeAction =
|
|
59
|
-
| NodeActionAdd
|
|
60
|
-
| NodeActionUpdate
|
|
61
|
-
| NodeActionDelete
|
|
62
|
-
| NodeActionError
|
|
63
|
-
| NodeTrigger;
|
|
64
|
-
|
|
65
|
-
type NodeStore = UseBoundStore<StoreApi<NodeType>>;
|
|
66
|
-
|
|
67
|
-
const dummy_node: NodeType = {
|
|
68
|
-
id: "dummy",
|
|
69
|
-
node_name: "dummy",
|
|
70
|
-
frontend: {
|
|
71
|
-
pos: [0, 0],
|
|
72
|
-
size: [200, 100],
|
|
73
|
-
collapsed: false,
|
|
74
|
-
},
|
|
75
|
-
io: {},
|
|
76
|
-
name: "dummy",
|
|
77
|
-
in_trigger: false,
|
|
78
|
-
io_order: [],
|
|
79
|
-
};
|
|
80
|
-
const assert_full_node = (node: PartialNodeType): NodeType => {
|
|
81
|
-
if (!node.id) {
|
|
82
|
-
throw new Error("Node must have an id");
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
const { new_obj } = deep_merge(dummy_node, node);
|
|
86
|
-
return new_obj;
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
const createNodeStore = (node: NodeType): NodeStore => {
|
|
90
|
-
// check if node is Object
|
|
91
|
-
|
|
92
|
-
if (node.io === undefined) {
|
|
93
|
-
node.io = {};
|
|
94
|
-
}
|
|
95
|
-
if (Array.isArray(node.io)) {
|
|
96
|
-
node.io_order = node.io.map((io) => io.id);
|
|
97
|
-
const new_io: { [key: string]: IOType } = {};
|
|
98
|
-
for (const io of node.io) {
|
|
99
|
-
new_io[io.id] = io;
|
|
100
|
-
}
|
|
101
|
-
node.io = new_io;
|
|
102
|
-
} else {
|
|
103
|
-
node.io_order = Object.keys(node.io);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
return create<NodeType>((set, get) => node);
|
|
107
|
-
};
|
|
108
|
-
export { createNodeStore, assert_full_node };
|
|
109
|
-
|
|
110
|
-
export type {
|
|
111
|
-
NodeStore,
|
|
112
|
-
NodeAction,
|
|
113
|
-
NodeActionUpdate,
|
|
114
|
-
NodeActionDelete,
|
|
115
|
-
NodeActionAdd,
|
|
116
|
-
NodeActionError,
|
|
117
|
-
PartialIOType,
|
|
118
|
-
};
|
package/src/state/nodespace.ts
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import React, { useRef, useState } from "react";
|
|
2
|
-
import { useStore, create, UseBoundStore, StoreApi } from "zustand";
|
|
3
|
-
import {
|
|
4
|
-
NodeStore,
|
|
5
|
-
createNodeStore,
|
|
6
|
-
NodeAction,
|
|
7
|
-
assert_full_node,
|
|
8
|
-
} from "./node";
|
|
9
|
-
import { deep_merge } from "./";
|
|
10
|
-
import { RefObject } from "react";
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Interface for the NodeSpaceZustand state management.
|
|
14
|
-
* This interface is used to define the shape of the state and the actions that can be performed on it.
|
|
15
|
-
*/
|
|
16
|
-
interface NodeSpaceZustandInterface {
|
|
17
|
-
// A Map object that holds NodeStore objects. The key is a string (node id), and the value is a NodeStore.
|
|
18
|
-
nodesstates: Map<string, NodeStore>;
|
|
19
|
-
|
|
20
|
-
get_node: (nid: string, raise?: boolean) => NodeStore | undefined;
|
|
21
|
-
|
|
22
|
-
// A function to add a new node to the nodesstates Map. It takes a NodeType object as a parameter.
|
|
23
|
-
// add_node: ({
|
|
24
|
-
// node,
|
|
25
|
-
// from_remote,
|
|
26
|
-
// }: {
|
|
27
|
-
// node: NodeType;
|
|
28
|
-
// from_remote: boolean;
|
|
29
|
-
// }) => void;
|
|
30
|
-
|
|
31
|
-
// // A function to update an existing node in the nodesstates Map.
|
|
32
|
-
// // It takes a node id (string) and a PartialNodeType object (which contains the properties to be updated) as parameters.
|
|
33
|
-
// update_node: ({
|
|
34
|
-
// nid,
|
|
35
|
-
// node,
|
|
36
|
-
// from_remote,
|
|
37
|
-
// }: {
|
|
38
|
-
// nid: string;
|
|
39
|
-
// node: PartialNodeType;
|
|
40
|
-
// from_remote: boolean;
|
|
41
|
-
// }) => void;
|
|
42
|
-
|
|
43
|
-
// set_value: ({
|
|
44
|
-
// node,
|
|
45
|
-
// io,
|
|
46
|
-
// value,
|
|
47
|
-
// set_default,
|
|
48
|
-
// }: {
|
|
49
|
-
// node: string;
|
|
50
|
-
// io: string;
|
|
51
|
-
// value: any;
|
|
52
|
-
// set_default?: boolean | undefined;
|
|
53
|
-
// }) => void;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Interface for the NodeSpaceZustandProps.
|
|
58
|
-
* This interface is used to define the properties that can be passed to the NodeSpaceZustand component.
|
|
59
|
-
*/
|
|
60
|
-
interface NodeSpaceZustandProps {
|
|
61
|
-
// Optional callback function that is invoked when a node action occurs.
|
|
62
|
-
// The function takes a NodeAction object as a parameter.
|
|
63
|
-
// on_node_action?: (action: NodeAction) => void;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
const NodeSpaceZustand =
|
|
67
|
-
({}: NodeSpaceZustandProps): NodeSpaceZustandInterface => {
|
|
68
|
-
const nodesstates = new Map<string, NodeStore>();
|
|
69
|
-
|
|
70
|
-
// const update_node = ({
|
|
71
|
-
// nid,
|
|
72
|
-
// node,
|
|
73
|
-
// from_remote,
|
|
74
|
-
// }: {
|
|
75
|
-
// nid: string;
|
|
76
|
-
// node: PartialNodeType;
|
|
77
|
-
// from_remote: boolean;
|
|
78
|
-
// }) => {};
|
|
79
|
-
// const add_node = ({
|
|
80
|
-
// node,
|
|
81
|
-
// from_remote,
|
|
82
|
-
// }: {
|
|
83
|
-
// node: NodeType;
|
|
84
|
-
// from_remote: boolean;
|
|
85
|
-
// }) => {
|
|
86
|
-
// node = assert_full_node(node);
|
|
87
|
-
// const store = nodesstates.get(node.id);
|
|
88
|
-
|
|
89
|
-
// if (store) {
|
|
90
|
-
// update_node({ nid: node.id, node: node, from_remote });
|
|
91
|
-
// } else {
|
|
92
|
-
// nodesstates.set(node.id, createNodeStore(node));
|
|
93
|
-
|
|
94
|
-
// _on_node_action({
|
|
95
|
-
// type: "add",
|
|
96
|
-
// node: node,
|
|
97
|
-
// id: node.id,
|
|
98
|
-
// from_remote: from_remote,
|
|
99
|
-
// });
|
|
100
|
-
// }
|
|
101
|
-
// };
|
|
102
|
-
|
|
103
|
-
// const set_value = ({
|
|
104
|
-
// node,
|
|
105
|
-
// io,
|
|
106
|
-
// value,
|
|
107
|
-
// set_default,
|
|
108
|
-
// }: {
|
|
109
|
-
// node: string;
|
|
110
|
-
// io: string;
|
|
111
|
-
// value: any;
|
|
112
|
-
// set_default?: boolean;
|
|
113
|
-
// }) => {
|
|
114
|
-
// const store = nodesstates.get(node);
|
|
115
|
-
// if (store) {
|
|
116
|
-
// const state = store.getState();
|
|
117
|
-
// if (!state.io[io]) {
|
|
118
|
-
// throw new Error(`IO ${io} not found in node ${node}`);
|
|
119
|
-
// }
|
|
120
|
-
// const new_state: PartialNodeType = {
|
|
121
|
-
// io: {
|
|
122
|
-
// [io]: {
|
|
123
|
-
// value: value,
|
|
124
|
-
// },
|
|
125
|
-
// },
|
|
126
|
-
// };
|
|
127
|
-
|
|
128
|
-
// update_node({ nid: node, node: new_state, from_remote: false });
|
|
129
|
-
// }
|
|
130
|
-
// };
|
|
131
|
-
|
|
132
|
-
return {
|
|
133
|
-
nodesstates: nodesstates,
|
|
134
|
-
get_node: (nid: string, raise: boolean = true) => {
|
|
135
|
-
const store = nodesstates.get(nid);
|
|
136
|
-
if (!store && raise) {
|
|
137
|
-
const keys = nodesstates.keys();
|
|
138
|
-
throw new Error(
|
|
139
|
-
`Node ${nid} not found, available nodes: ${Array.from(keys)}`
|
|
140
|
-
);
|
|
141
|
-
}
|
|
142
|
-
return store;
|
|
143
|
-
},
|
|
144
|
-
// add_node: add_node,
|
|
145
|
-
// update_node: update_node,
|
|
146
|
-
// set_value: set_value,
|
|
147
|
-
};
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
export default NodeSpaceZustand;
|
|
151
|
-
export type { NodeSpaceZustandInterface };
|
package/src/state/reactflow.ts
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { create, UseBoundStore, StoreApi } from "zustand";
|
|
2
|
-
import {
|
|
3
|
-
Connection,
|
|
4
|
-
Edge,
|
|
5
|
-
EdgeChange,
|
|
6
|
-
Node,
|
|
7
|
-
NodeChange,
|
|
8
|
-
addEdge,
|
|
9
|
-
OnNodesChange,
|
|
10
|
-
OnEdgesChange,
|
|
11
|
-
OnConnect,
|
|
12
|
-
applyNodeChanges,
|
|
13
|
-
applyEdgeChanges,
|
|
14
|
-
} from "reactflow";
|
|
15
|
-
|
|
16
|
-
type RFState = {
|
|
17
|
-
nodes: Node[];
|
|
18
|
-
edges: Edge[];
|
|
19
|
-
onNodesChange: OnNodesChange;
|
|
20
|
-
onEdgesChange: OnEdgesChange;
|
|
21
|
-
onConnect: OnConnect;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
// this is our useStore hook that we can use in our components to get parts of the store and call actions
|
|
25
|
-
type RFStore = UseBoundStore<StoreApi<RFState>>;
|
|
26
|
-
const reactflowstore = ({
|
|
27
|
-
on_node_change,
|
|
28
|
-
on_edge_change,
|
|
29
|
-
on_connect,
|
|
30
|
-
}: {
|
|
31
|
-
on_node_change?: (changes: NodeChange[]) => void;
|
|
32
|
-
on_edge_change?: (changes: EdgeChange[]) => void;
|
|
33
|
-
on_connect?: (connection: Connection) => void;
|
|
34
|
-
}): RFStore => {
|
|
35
|
-
const _on_node_change = on_node_change || ((changes: NodeChange[]) => {});
|
|
36
|
-
const _on_edge_change = on_edge_change || ((changes: EdgeChange[]) => {});
|
|
37
|
-
const _on_connect = on_connect || ((connection: Connection) => {});
|
|
38
|
-
const useStore = create<RFState>((set, get) => ({
|
|
39
|
-
nodes: [],
|
|
40
|
-
edges: [],
|
|
41
|
-
onNodesChange: (changes: NodeChange[]) => {
|
|
42
|
-
set({
|
|
43
|
-
nodes: applyNodeChanges(changes, get().nodes),
|
|
44
|
-
});
|
|
45
|
-
_on_node_change(changes);
|
|
46
|
-
},
|
|
47
|
-
onEdgesChange: (changes: EdgeChange[]) => {
|
|
48
|
-
set({
|
|
49
|
-
edges: applyEdgeChanges(changes, get().edges),
|
|
50
|
-
});
|
|
51
|
-
_on_edge_change(changes);
|
|
52
|
-
},
|
|
53
|
-
onConnect: (connection: Connection) => {
|
|
54
|
-
if (connection.source == null || connection.target == null) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
_on_connect(connection);
|
|
59
|
-
},
|
|
60
|
-
}));
|
|
61
|
-
return useStore;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
export default reactflowstore;
|
|
65
|
-
export type { RFState, RFStore };
|
package/src/types/lib.d.ts
DELETED
package/src/types/node.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
type RenderType = "string" | "number" | "boolean" | "image";
|
|
2
|
-
|
|
3
|
-
interface DataRenderOptions extends BaseRenderOptions {
|
|
4
|
-
src?: string;
|
|
5
|
-
type?: RenderType;
|
|
6
|
-
preview_type?: string;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
interface NodeRenderOptions {
|
|
10
|
-
data?: DataRenderOptions;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
interface NodeType {
|
|
14
|
-
id: string;
|
|
15
|
-
node_name: string;
|
|
16
|
-
io: { [key: string]: IOType };
|
|
17
|
-
frontend: {
|
|
18
|
-
pos: [number, number];
|
|
19
|
-
size: [number, number];
|
|
20
|
-
collapsed: boolean;
|
|
21
|
-
};
|
|
22
|
-
name: string;
|
|
23
|
-
in_trigger: boolean;
|
|
24
|
-
error?: string;
|
|
25
|
-
render_options?: NodeRenderOptions;
|
|
26
|
-
io_order: string[];
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
type PartialNodeType = DeepPartial<NodeType>;
|
package/src/types/nodeio.d.ts
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
interface AllOf {
|
|
2
|
-
allOf: SerializedType[];
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
interface AnyOf {
|
|
6
|
-
anyOf: SerializedType[];
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
interface ArrayOf {
|
|
10
|
-
type: "array";
|
|
11
|
-
items: SerializedType;
|
|
12
|
-
uniqueItems: boolean;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
interface DictOf {
|
|
16
|
-
type: "object";
|
|
17
|
-
keys: SerializedType;
|
|
18
|
-
values: SerializedType;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
interface EnumOf {
|
|
22
|
-
type: "enum";
|
|
23
|
-
values: (number | string | boolean | null)[];
|
|
24
|
-
keys: string[];
|
|
25
|
-
nullable: boolean;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
interface TypeOf {
|
|
29
|
-
type: "type";
|
|
30
|
-
value: SerializedType;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// SerializedType represents a union of different possible types.
|
|
34
|
-
type SerializedType =
|
|
35
|
-
| string
|
|
36
|
-
| AllOf
|
|
37
|
-
| AnyOf
|
|
38
|
-
| ArrayOf
|
|
39
|
-
| DictOf
|
|
40
|
-
| EnumOf
|
|
41
|
-
| TypeOf;
|
|
42
|
-
|
|
43
|
-
interface IORenderOptions extends BaseRenderOptions {
|
|
44
|
-
step?: number;
|
|
45
|
-
set_default?: boolean;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
interface IOValueOptions {
|
|
49
|
-
min?: number;
|
|
50
|
-
max?: number;
|
|
51
|
-
step?: number;
|
|
52
|
-
options?: (string | number)[] | EnumOf;
|
|
53
|
-
colorspace?: string;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
interface IOType {
|
|
57
|
-
connected: boolean;
|
|
58
|
-
does_trigger: boolean;
|
|
59
|
-
full_id: string;
|
|
60
|
-
id: string;
|
|
61
|
-
is_input: boolean;
|
|
62
|
-
name: string;
|
|
63
|
-
node: string;
|
|
64
|
-
type: SerializedType;
|
|
65
|
-
value: any;
|
|
66
|
-
fullvalue?: any;
|
|
67
|
-
render_options?: IORenderOptions;
|
|
68
|
-
value_options?: IOValueOptions;
|
|
69
|
-
valuepreview_type?: string;
|
|
70
|
-
try_get_full_value: () => void;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
type OutputRendererType = ({ io }: { io: IOType }) => JSX.Element;
|
|
74
|
-
|
|
75
|
-
interface InputRendererProps {
|
|
76
|
-
io: IOType;
|
|
77
|
-
inputconverter: (v: any) => any;
|
|
78
|
-
}
|
|
79
|
-
type InputRendererType = ({
|
|
80
|
-
io,
|
|
81
|
-
inputconverter,
|
|
82
|
-
}: InputRendererProps) => JSX.Element;
|
package/src/types/worker.d.ts
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
interface RenderOptions {
|
|
2
|
-
typemap?: { [key: string]: string };
|
|
3
|
-
inputconverter?: { [key: string]: string };
|
|
4
|
-
}
|
|
5
|
-
interface ViewState {
|
|
6
|
-
nodes: { [key: string]: NodeViewState };
|
|
7
|
-
renderoptions?: RenderOptions;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
interface FullNodeSpaceJSON {
|
|
11
|
-
nodes: NodeType[];
|
|
12
|
-
edges: [str, str, str, str][];
|
|
13
|
-
prop: { [key: string]: any };
|
|
14
|
-
lib: LibType;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
interface FullState {
|
|
18
|
-
backend: FullNodeSpaceJSON;
|
|
19
|
-
view: ViewState;
|
|
20
|
-
worker: { [key: string]: string[] };
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
interface ProgressState {
|
|
24
|
-
message: string;
|
|
25
|
-
status: string;
|
|
26
|
-
progress: number;
|
|
27
|
-
blocking: boolean;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
interface ProgressStateMessage extends ProgressState {
|
|
31
|
-
type: "progress";
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
interface ResultMessage {
|
|
35
|
-
type: "result";
|
|
36
|
-
id?: string;
|
|
37
|
-
result: any;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
interface ErrorMessage {
|
|
41
|
-
type: "error";
|
|
42
|
-
error: string;
|
|
43
|
-
tb: string[];
|
|
44
|
-
id?: string;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
interface NodeSpaceEvent {
|
|
48
|
-
type: "nsevent";
|
|
49
|
-
event: string;
|
|
50
|
-
data: { [key: string]: any };
|
|
51
|
-
}
|
|
52
|
-
type JSONMessage =
|
|
53
|
-
| ProgressStateMessage
|
|
54
|
-
| ResultMessage
|
|
55
|
-
| ErrorMessage
|
|
56
|
-
| NodeSpaceEvent;
|
package/tsconfig.json
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "es5",
|
|
4
|
-
"lib": ["dom", "dom.iterable", "esnext"],
|
|
5
|
-
"allowJs": true,
|
|
6
|
-
"skipLibCheck": true,
|
|
7
|
-
"esModuleInterop": true,
|
|
8
|
-
"allowSyntheticDefaultImports": true,
|
|
9
|
-
"strict": true,
|
|
10
|
-
"forceConsistentCasingInFileNames": true,
|
|
11
|
-
"noFallthroughCasesInSwitch": true,
|
|
12
|
-
"module": "esnext",
|
|
13
|
-
"moduleResolution": "node",
|
|
14
|
-
"resolveJsonModule": true,
|
|
15
|
-
"isolatedModules": true,
|
|
16
|
-
"noEmit": true,
|
|
17
|
-
"jsx": "react-jsx"
|
|
18
|
-
},
|
|
19
|
-
"include": ["./src/**/*"]
|
|
20
|
-
}
|
|
File without changes
|