@xyo-network/react-node 2.64.8 → 2.64.10
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/browser/hooks/useModuleFilterOptions.d.cts +2 -2
- package/dist/browser/hooks/useModuleFilterOptions.d.mts +2 -2
- package/dist/browser/hooks/useModuleFilterOptions.d.ts +2 -2
- package/dist/docs.json +4345 -1093
- package/dist/node/hooks/useModuleFilterOptions.d.cts +2 -2
- package/dist/node/hooks/useModuleFilterOptions.d.mts +2 -2
- package/dist/node/hooks/useModuleFilterOptions.d.ts +2 -2
- package/package.json +18 -18
- package/dist/browser/components/Node.cjs +0 -88
- package/dist/browser/components/Node.cjs.map +0 -1
- package/dist/browser/components/Node.js +0 -65
- package/dist/browser/components/Node.js.map +0 -1
- package/dist/browser/components/NodeDescriptionBox.cjs +0 -76
- package/dist/browser/components/NodeDescriptionBox.cjs.map +0 -1
- package/dist/browser/components/NodeDescriptionBox.js +0 -55
- package/dist/browser/components/NodeDescriptionBox.js.map +0 -1
- package/dist/browser/components/NodeDrawer.cjs +0 -116
- package/dist/browser/components/NodeDrawer.cjs.map +0 -1
- package/dist/browser/components/NodeDrawer.js +0 -95
- package/dist/browser/components/NodeDrawer.js.map +0 -1
- package/dist/browser/components/NodeModulesBox.cjs +0 -104
- package/dist/browser/components/NodeModulesBox.cjs.map +0 -1
- package/dist/browser/components/NodeModulesBox.js +0 -83
- package/dist/browser/components/NodeModulesBox.js.map +0 -1
- package/dist/browser/components/TestModule.cjs +0 -39
- package/dist/browser/components/TestModule.cjs.map +0 -1
- package/dist/browser/components/TestModule.js +0 -18
- package/dist/browser/components/TestModule.js.map +0 -1
- package/dist/browser/components/index.cjs +0 -173
- package/dist/browser/components/index.cjs.map +0 -1
- package/dist/browser/components/index.js +0 -150
- package/dist/browser/components/index.js.map +0 -1
- package/dist/browser/components/render/ModuleDescriptionBox.cjs +0 -90
- package/dist/browser/components/render/ModuleDescriptionBox.cjs.map +0 -1
- package/dist/browser/components/render/ModuleDescriptionBox.js +0 -69
- package/dist/browser/components/render/ModuleDescriptionBox.js.map +0 -1
- package/dist/browser/components/render/RenderModule.cjs +0 -61
- package/dist/browser/components/render/RenderModule.cjs.map +0 -1
- package/dist/browser/components/render/RenderModule.js +0 -40
- package/dist/browser/components/render/RenderModule.js.map +0 -1
- package/dist/browser/components/render/index.cjs +0 -93
- package/dist/browser/components/render/index.cjs.map +0 -1
- package/dist/browser/components/render/index.js +0 -70
- package/dist/browser/components/render/index.js.map +0 -1
- package/dist/browser/hooks/ModuleFromNodeConfig.cjs +0 -29
- package/dist/browser/hooks/ModuleFromNodeConfig.cjs.map +0 -1
- package/dist/browser/hooks/ModuleFromNodeConfig.js +0 -8
- package/dist/browser/hooks/ModuleFromNodeConfig.js.map +0 -1
- package/dist/browser/hooks/index.cjs +0 -174
- package/dist/browser/hooks/index.cjs.map +0 -1
- package/dist/browser/hooks/index.js +0 -151
- package/dist/browser/hooks/index.js.map +0 -1
- package/dist/browser/hooks/provided/index.cjs +0 -34
- package/dist/browser/hooks/provided/index.cjs.map +0 -1
- package/dist/browser/hooks/provided/index.js +0 -11
- package/dist/browser/hooks/provided/index.js.map +0 -1
- package/dist/browser/hooks/provided/useProvidedNode.cjs +0 -32
- package/dist/browser/hooks/provided/useProvidedNode.cjs.map +0 -1
- package/dist/browser/hooks/provided/useProvidedNode.js +0 -11
- package/dist/browser/hooks/provided/useProvidedNode.js.map +0 -1
- package/dist/browser/hooks/useModuleFilterOptions.cjs +0 -30
- package/dist/browser/hooks/useModuleFilterOptions.cjs.map +0 -1
- package/dist/browser/hooks/useModuleFilterOptions.js +0 -9
- package/dist/browser/hooks/useModuleFilterOptions.js.map +0 -1
- package/dist/browser/hooks/useModuleFromNode.cjs +0 -109
- package/dist/browser/hooks/useModuleFromNode.cjs.map +0 -1
- package/dist/browser/hooks/useModuleFromNode.js +0 -88
- package/dist/browser/hooks/useModuleFromNode.js.map +0 -1
- package/dist/browser/hooks/useModulesFromNode.cjs +0 -96
- package/dist/browser/hooks/useModulesFromNode.cjs.map +0 -1
- package/dist/browser/hooks/useModulesFromNode.js +0 -75
- package/dist/browser/hooks/useModulesFromNode.js.map +0 -1
- package/dist/browser/hooks/useNode.cjs +0 -56
- package/dist/browser/hooks/useNode.cjs.map +0 -1
- package/dist/browser/hooks/useNode.js +0 -35
- package/dist/browser/hooks/useNode.js.map +0 -1
- package/dist/browser/hooks/useNodeConfigNodeField.cjs +0 -32
- package/dist/browser/hooks/useNodeConfigNodeField.cjs.map +0 -1
- package/dist/browser/hooks/useNodeConfigNodeField.js +0 -11
- package/dist/browser/hooks/useNodeConfigNodeField.js.map +0 -1
- package/dist/browser/hooks/useNodeDescription.cjs +0 -68
- package/dist/browser/hooks/useNodeDescription.cjs.map +0 -1
- package/dist/browser/hooks/useNodeDescription.js +0 -47
- package/dist/browser/hooks/useNodeDescription.js.map +0 -1
- package/dist/browser/hooks/useNodeFromNode.cjs +0 -124
- package/dist/browser/hooks/useNodeFromNode.cjs.map +0 -1
- package/dist/browser/hooks/useNodeFromNode.js +0 -103
- package/dist/browser/hooks/useNodeFromNode.js.map +0 -1
- package/dist/browser/hooks/useNodesFromNode.cjs +0 -120
- package/dist/browser/hooks/useNodesFromNode.cjs.map +0 -1
- package/dist/browser/hooks/useNodesFromNode.js +0 -99
- package/dist/browser/hooks/useNodesFromNode.js.map +0 -1
- package/dist/node/components/Node.cjs +0 -92
- package/dist/node/components/Node.cjs.map +0 -1
- package/dist/node/components/Node.js +0 -65
- package/dist/node/components/Node.js.map +0 -1
- package/dist/node/components/NodeDescriptionBox.cjs +0 -80
- package/dist/node/components/NodeDescriptionBox.cjs.map +0 -1
- package/dist/node/components/NodeDescriptionBox.js +0 -55
- package/dist/node/components/NodeDescriptionBox.js.map +0 -1
- package/dist/node/components/NodeDrawer.cjs +0 -120
- package/dist/node/components/NodeDrawer.cjs.map +0 -1
- package/dist/node/components/NodeDrawer.js +0 -95
- package/dist/node/components/NodeDrawer.js.map +0 -1
- package/dist/node/components/NodeModulesBox.cjs +0 -108
- package/dist/node/components/NodeModulesBox.cjs.map +0 -1
- package/dist/node/components/NodeModulesBox.js +0 -83
- package/dist/node/components/NodeModulesBox.js.map +0 -1
- package/dist/node/components/TestModule.cjs +0 -45
- package/dist/node/components/TestModule.cjs.map +0 -1
- package/dist/node/components/TestModule.js +0 -18
- package/dist/node/components/TestModule.js.map +0 -1
- package/dist/node/components/index.cjs +0 -178
- package/dist/node/components/index.cjs.map +0 -1
- package/dist/node/components/index.js +0 -150
- package/dist/node/components/index.js.map +0 -1
- package/dist/node/components/render/ModuleDescriptionBox.cjs +0 -94
- package/dist/node/components/render/ModuleDescriptionBox.cjs.map +0 -1
- package/dist/node/components/render/ModuleDescriptionBox.js +0 -69
- package/dist/node/components/render/ModuleDescriptionBox.js.map +0 -1
- package/dist/node/components/render/RenderModule.cjs +0 -65
- package/dist/node/components/render/RenderModule.cjs.map +0 -1
- package/dist/node/components/render/RenderModule.js +0 -40
- package/dist/node/components/render/RenderModule.js.map +0 -1
- package/dist/node/components/render/index.cjs +0 -98
- package/dist/node/components/render/index.cjs.map +0 -1
- package/dist/node/components/render/index.js +0 -70
- package/dist/node/components/render/index.js.map +0 -1
- package/dist/node/hooks/ModuleFromNodeConfig.cjs +0 -33
- package/dist/node/hooks/ModuleFromNodeConfig.cjs.map +0 -1
- package/dist/node/hooks/ModuleFromNodeConfig.js +0 -8
- package/dist/node/hooks/ModuleFromNodeConfig.js.map +0 -1
- package/dist/node/hooks/index.cjs +0 -189
- package/dist/node/hooks/index.cjs.map +0 -1
- package/dist/node/hooks/index.js +0 -154
- package/dist/node/hooks/index.js.map +0 -1
- package/dist/node/hooks/provided/index.cjs +0 -38
- package/dist/node/hooks/provided/index.cjs.map +0 -1
- package/dist/node/hooks/provided/index.js +0 -11
- package/dist/node/hooks/provided/index.js.map +0 -1
- package/dist/node/hooks/provided/useProvidedNode.cjs +0 -36
- package/dist/node/hooks/provided/useProvidedNode.cjs.map +0 -1
- package/dist/node/hooks/provided/useProvidedNode.js +0 -11
- package/dist/node/hooks/provided/useProvidedNode.js.map +0 -1
- package/dist/node/hooks/useModuleFilterOptions.cjs +0 -34
- package/dist/node/hooks/useModuleFilterOptions.cjs.map +0 -1
- package/dist/node/hooks/useModuleFilterOptions.js +0 -9
- package/dist/node/hooks/useModuleFilterOptions.js.map +0 -1
- package/dist/node/hooks/useModuleFromNode.cjs +0 -115
- package/dist/node/hooks/useModuleFromNode.cjs.map +0 -1
- package/dist/node/hooks/useModuleFromNode.js +0 -90
- package/dist/node/hooks/useModuleFromNode.js.map +0 -1
- package/dist/node/hooks/useModulesFromNode.cjs +0 -100
- package/dist/node/hooks/useModulesFromNode.cjs.map +0 -1
- package/dist/node/hooks/useModulesFromNode.js +0 -75
- package/dist/node/hooks/useModulesFromNode.js.map +0 -1
- package/dist/node/hooks/useNode.cjs +0 -60
- package/dist/node/hooks/useNode.cjs.map +0 -1
- package/dist/node/hooks/useNode.js +0 -35
- package/dist/node/hooks/useNode.js.map +0 -1
- package/dist/node/hooks/useNodeConfigNodeField.cjs +0 -36
- package/dist/node/hooks/useNodeConfigNodeField.cjs.map +0 -1
- package/dist/node/hooks/useNodeConfigNodeField.js +0 -11
- package/dist/node/hooks/useNodeConfigNodeField.js.map +0 -1
- package/dist/node/hooks/useNodeDescription.cjs +0 -72
- package/dist/node/hooks/useNodeDescription.cjs.map +0 -1
- package/dist/node/hooks/useNodeDescription.js +0 -47
- package/dist/node/hooks/useNodeDescription.js.map +0 -1
- package/dist/node/hooks/useNodeFromNode.cjs +0 -131
- package/dist/node/hooks/useNodeFromNode.cjs.map +0 -1
- package/dist/node/hooks/useNodeFromNode.js +0 -106
- package/dist/node/hooks/useNodeFromNode.js.map +0 -1
- package/dist/node/hooks/useNodesFromNode.cjs +0 -124
- package/dist/node/hooks/useNodesFromNode.cjs.map +0 -1
- package/dist/node/hooks/useNodesFromNode.js +0 -99
- package/dist/node/hooks/useNodesFromNode.js.map +0 -1
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
// src/components/NodeDrawer.tsx
|
|
2
|
-
import { Close as CloseIcon } from "@mui/icons-material";
|
|
3
|
-
import { ClickAwayListener, Drawer, IconButton } from "@mui/material";
|
|
4
|
-
import { FlexGrowCol, FlexRow } from "@xylabs/react-flexbox";
|
|
5
|
-
import { useNodeDrawer } from "@xyo-network/react-node-provider";
|
|
6
|
-
|
|
7
|
-
// src/hooks/provided/useProvidedNode.tsx
|
|
8
|
-
import { NodeContext } from "@xyo-network/react-node-context";
|
|
9
|
-
import { useContext } from "react";
|
|
10
|
-
var useProvidedNode = () => {
|
|
11
|
-
const { node } = useContext(NodeContext);
|
|
12
|
-
return [node];
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
// src/components/render/ModuleDescriptionBox.tsx
|
|
16
|
-
import { ChevronRight as ChevronRightIcon, ExpandMore as ExpandMoreIcon } from "@mui/icons-material";
|
|
17
|
-
import { styled as styled2, Typography } from "@mui/material";
|
|
18
|
-
import { TreeView } from "@mui/x-tree-view";
|
|
19
|
-
import { useRef } from "react";
|
|
20
|
-
|
|
21
|
-
// src/components/render/RenderModule.tsx
|
|
22
|
-
import { styled } from "@mui/material";
|
|
23
|
-
import { TreeItem } from "@mui/x-tree-view";
|
|
24
|
-
import { useAsyncEffect } from "@xylabs/react-async-effect";
|
|
25
|
-
import { useState } from "react";
|
|
26
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
27
|
-
var RenderModule = ({ module, idRef }) => {
|
|
28
|
-
const { address, queries } = module ?? {};
|
|
29
|
-
const [childModules, setChildModules] = useState();
|
|
30
|
-
useAsyncEffect(
|
|
31
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
32
|
-
async (mounted) => {
|
|
33
|
-
const children = (await module.resolve()).filter((childModule) => childModule.address !== address);
|
|
34
|
-
if (mounted()) {
|
|
35
|
-
setChildModules(children);
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
[module, address]
|
|
39
|
-
);
|
|
40
|
-
const increment = () => {
|
|
41
|
-
const newId = (idRef.current.idIncrementor++).toString();
|
|
42
|
-
idRef.current.ids.push(newId);
|
|
43
|
-
return newId;
|
|
44
|
-
};
|
|
45
|
-
return /* @__PURE__ */ jsxs(StyledAddressTreeItem, { nodeId: increment(), label: `address: ${address}`, children: [
|
|
46
|
-
queries.map((query, index) => {
|
|
47
|
-
return /* @__PURE__ */ jsx(TreeItem, { nodeId: increment(), label: `query : ${query}`, sx: { mb: index === queries.length - 1 ? 1.5 : 0.5 } }, query);
|
|
48
|
-
}),
|
|
49
|
-
childModules && childModules.length > 0 ? /* @__PURE__ */ jsx(TreeItem, { nodeId: increment(), label: "children", sx: { mb: 0.5 }, children: childModules.map((childModule) => /* @__PURE__ */ jsx(RenderModule, { module: childModule, idRef }, childModule.address)) }) : null
|
|
50
|
-
] });
|
|
51
|
-
};
|
|
52
|
-
var StyledAddressTreeItem = styled(TreeItem, { name: "StyledAddressTreeItem" })(({ theme }) => ({
|
|
53
|
-
"& .MuiTreeItem-content": {
|
|
54
|
-
marginBottom: theme.spacing(0.25)
|
|
55
|
-
}
|
|
56
|
-
}));
|
|
57
|
-
|
|
58
|
-
// src/components/render/ModuleDescriptionBox.tsx
|
|
59
|
-
import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
60
|
-
var ModuleDescriptionBox = ({ module }) => {
|
|
61
|
-
const idRef = useRef({ idIncrementor: 0, ids: [] });
|
|
62
|
-
return /* @__PURE__ */ jsx2(Fragment, { children: module ? /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
63
|
-
/* @__PURE__ */ jsx2(Typography, { variant: "h4", children: "Node Configuration" }),
|
|
64
|
-
/* @__PURE__ */ jsx2(
|
|
65
|
-
StyledTreeView,
|
|
66
|
-
{
|
|
67
|
-
"aria-label": "file system navigator",
|
|
68
|
-
defaultCollapseIcon: /* @__PURE__ */ jsx2(ExpandMoreIcon, {}),
|
|
69
|
-
defaultExpandIcon: /* @__PURE__ */ jsx2(ChevronRightIcon, {}),
|
|
70
|
-
sx: { flexGrow: 1 },
|
|
71
|
-
children: /* @__PURE__ */ jsx2(RenderModule, { module, idRef })
|
|
72
|
-
}
|
|
73
|
-
)
|
|
74
|
-
] }) : module === null ? /* @__PURE__ */ jsx2(Typography, { variant: "h4", children: "Node loading..." }) : /* @__PURE__ */ jsx2(Typography, { variant: "h4", children: "Node not found" }) });
|
|
75
|
-
};
|
|
76
|
-
var StyledTreeView = styled2(TreeView, { name: "StyledTreeView" })(() => ({
|
|
77
|
-
height: "auto",
|
|
78
|
-
maxWidth: "auto"
|
|
79
|
-
}));
|
|
80
|
-
|
|
81
|
-
// src/components/NodeDrawer.tsx
|
|
82
|
-
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
83
|
-
var NodeDrawer = ({ children, ...props }) => {
|
|
84
|
-
const { open, setOpen } = useNodeDrawer();
|
|
85
|
-
const [node] = useProvidedNode();
|
|
86
|
-
return /* @__PURE__ */ jsx3(Drawer, { open: open ?? false, anchor: "right", ...props, children: /* @__PURE__ */ jsx3(ClickAwayListener, { onClickAway: () => setOpen?.(false), children: /* @__PURE__ */ jsxs3(FlexGrowCol, { role: "presentation", justifyContent: "start", p: 2, rowGap: 2, minWidth: "33vw", children: [
|
|
87
|
-
/* @__PURE__ */ jsx3(FlexRow, { alignContent: "start", justifyContent: "start", width: "100%", children: /* @__PURE__ */ jsx3(IconButton, { onClick: () => setOpen?.(false), children: /* @__PURE__ */ jsx3(CloseIcon, {}) }) }),
|
|
88
|
-
/* @__PURE__ */ jsx3(ModuleDescriptionBox, { module: node }),
|
|
89
|
-
children
|
|
90
|
-
] }) }) });
|
|
91
|
-
};
|
|
92
|
-
export {
|
|
93
|
-
NodeDrawer
|
|
94
|
-
};
|
|
95
|
-
//# sourceMappingURL=NodeDrawer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/NodeDrawer.tsx","../../../src/hooks/provided/useProvidedNode.tsx","../../../src/components/render/ModuleDescriptionBox.tsx","../../../src/components/render/RenderModule.tsx"],"sourcesContent":["import { Close as CloseIcon } from '@mui/icons-material'\nimport { ClickAwayListener, Drawer, DrawerProps, IconButton } from '@mui/material'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { useNodeDrawer } from '@xyo-network/react-node-provider'\n\nimport { useProvidedNode } from '../hooks'\nimport { ModuleDescriptionBox } from './render'\n\nexport interface NodeDrawerProps extends WithChildren, Omit<DrawerProps, 'open'> {}\n\nexport const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) => {\n const { open, setOpen } = useNodeDrawer()\n const [node] = useProvidedNode()\n\n return (\n <Drawer open={open ?? false} anchor=\"right\" {...props}>\n <ClickAwayListener onClickAway={() => setOpen?.(false)}>\n <FlexGrowCol role=\"presentation\" justifyContent=\"start\" p={2} rowGap={2} minWidth=\"33vw\">\n <FlexRow alignContent=\"start\" justifyContent=\"start\" width=\"100%\">\n <IconButton onClick={() => setOpen?.(false)}>\n <CloseIcon />\n </IconButton>\n </FlexRow>\n <ModuleDescriptionBox module={node} />\n {children}\n </FlexGrowCol>\n </ClickAwayListener>\n </Drawer>\n )\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","import { ChevronRight as ChevronRightIcon, ExpandMore as ExpandMoreIcon } from '@mui/icons-material'\nimport { styled, Typography } from '@mui/material'\nimport { TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { ModuleInstance } from '@xyo-network/module'\nimport { useRef } from 'react'\n\nimport { RenderModule } from './RenderModule'\n\nexport interface ModuleDescriptionProps extends FlexBoxProps {\n module?: ModuleInstance | null\n}\nexport const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ module }) => {\n const idRef = useRef<{ idIncrementor: number; ids: string[] }>({ idIncrementor: 0, ids: [] })\n\n return (\n <>\n {module ? (\n <>\n <Typography variant=\"h4\">Node Configuration</Typography>\n <StyledTreeView\n aria-label=\"file system navigator\"\n defaultCollapseIcon={<ExpandMoreIcon />}\n defaultExpandIcon={<ChevronRightIcon />}\n sx={{ flexGrow: 1 }}\n >\n <RenderModule module={module} idRef={idRef} />\n </StyledTreeView>\n </>\n ) : module === null ? (\n <Typography variant=\"h4\">Node loading...</Typography>\n ) : (\n <Typography variant=\"h4\">Node not found</Typography>\n )}\n </>\n )\n}\n\nconst StyledTreeView = styled(TreeView, { name: 'StyledTreeView' })(() => ({\n height: 'auto',\n maxWidth: 'auto',\n}))\n","import { styled } from '@mui/material'\nimport { TreeItem } from '@mui/x-tree-view'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ModuleInstance } from '@xyo-network/module'\nimport { MutableRefObject, useState } from 'react'\n\ninterface RenderModuleProps {\n idRef: MutableRefObject<{\n idIncrementor: number\n ids: string[]\n }>\n module: ModuleInstance\n}\n\nexport const RenderModule: React.FC<RenderModuleProps> = ({ module, idRef }) => {\n const { address, queries } = module ?? {}\n const [childModules, setChildModules] = useState<ModuleInstance[]>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const children = (await module.resolve()).filter((childModule) => childModule.address !== address)\n if (mounted()) {\n setChildModules(children)\n }\n },\n [module, address],\n )\n\n const increment = () => {\n const newId = (idRef.current.idIncrementor++).toString()\n idRef.current.ids.push(newId)\n return newId\n }\n\n return (\n <StyledAddressTreeItem nodeId={increment()} label={`address: ${address}`}>\n {queries.map((query, index) => {\n return <TreeItem key={query} nodeId={increment()} label={`query : ${query}`} sx={{ mb: index === queries.length - 1 ? 1.5 : 0.5 }} />\n })}\n {childModules && childModules.length > 0 ? (\n <TreeItem nodeId={increment()} label={'children'} sx={{ mb: 0.5 }}>\n {childModules.map((childModule) => (\n <RenderModule key={childModule.address} module={childModule} idRef={idRef} />\n ))}\n </TreeItem>\n ) : null}\n </StyledAddressTreeItem>\n )\n}\n\nconst StyledAddressTreeItem = styled(TreeItem, { name: 'StyledAddressTreeItem' })(({ theme }) => ({\n '& .MuiTreeItem-content': {\n marginBottom: theme.spacing(0.25),\n },\n}))\n"],"mappings":"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","names":["styled","jsx","jsxs","styled","jsx","jsxs"]}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/components/NodeModulesBox.tsx
|
|
21
|
-
var NodeModulesBox_exports = {};
|
|
22
|
-
__export(NodeModulesBox_exports, {
|
|
23
|
-
NodeDescriptionBox: () => NodeDescriptionBox
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(NodeModulesBox_exports);
|
|
26
|
-
var import_react_flexbox = require("@xylabs/react-flexbox");
|
|
27
|
-
|
|
28
|
-
// src/hooks/provided/useProvidedNode.tsx
|
|
29
|
-
var import_react_node_context = require("@xyo-network/react-node-context");
|
|
30
|
-
var import_react = require("react");
|
|
31
|
-
var useProvidedNode = () => {
|
|
32
|
-
const { node } = (0, import_react.useContext)(import_react_node_context.NodeContext);
|
|
33
|
-
return [node];
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
// src/hooks/useModuleFilterOptions.ts
|
|
37
|
-
var useModuleFilterOptions = (config) => {
|
|
38
|
-
const { direction, identity, maxDepth, visibility } = config ?? {};
|
|
39
|
-
return { direction, identity, maxDepth, visibility };
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
// src/hooks/useNode.ts
|
|
43
|
-
var import_react_promise = require("@xylabs/react-promise");
|
|
44
|
-
var import_node_model = require("@xyo-network/node-model");
|
|
45
|
-
|
|
46
|
-
// src/hooks/useNodeConfigNodeField.ts
|
|
47
|
-
var import_react2 = require("react");
|
|
48
|
-
var useNodeConfigNodeField = (config) => {
|
|
49
|
-
const nodeAddress = (0, import_react2.useMemo)(() => typeof config?.node === "string" ? config?.node : void 0, [config?.node]);
|
|
50
|
-
const nodeInstance = (0, import_react2.useMemo)(() => typeof config?.node === "object" ? config?.node : void 0, [config?.node]);
|
|
51
|
-
return [nodeAddress, nodeInstance];
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
// src/hooks/useNode.ts
|
|
55
|
-
var useNode = (config) => {
|
|
56
|
-
const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config);
|
|
57
|
-
const [providedNode] = useProvidedNode();
|
|
58
|
-
const [nodeAddressNode, error] = (0, import_react_promise.usePromise)(async () => {
|
|
59
|
-
if (providedNode && nodeAddress) {
|
|
60
|
-
return (0, import_node_model.asNodeInstance)(await providedNode.resolve(nodeAddress), "Module is not a node");
|
|
61
|
-
}
|
|
62
|
-
}, [providedNode, nodeAddress]);
|
|
63
|
-
return [nodeAddressNode ?? nodeInstance ?? providedNode ?? void 0, error];
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
// src/hooks/useModulesFromNode.ts
|
|
67
|
-
var import_react_promise2 = require("@xylabs/react-promise");
|
|
68
|
-
var import_react3 = require("react");
|
|
69
|
-
var useModulesFromNode = (filter, config) => {
|
|
70
|
-
const [node, nodeError] = useNode(config);
|
|
71
|
-
const logger = config?.logger;
|
|
72
|
-
const filterOptions = useModuleFilterOptions();
|
|
73
|
-
const [result, setResult] = (0, import_react3.useState)();
|
|
74
|
-
const [, error] = (0, import_react_promise2.usePromise)(async () => {
|
|
75
|
-
logger?.debug("useModuleFromNode: resolving");
|
|
76
|
-
if (node) {
|
|
77
|
-
node.on("moduleAttached", async ({ module: module2 }) => {
|
|
78
|
-
logger?.debug(`useModuleFromNode: moduleAttached [${module2.config.name ?? module2.address}]`);
|
|
79
|
-
const moduleInstances2 = await node.resolve(filter, filterOptions);
|
|
80
|
-
setResult(moduleInstances2);
|
|
81
|
-
});
|
|
82
|
-
node.on("moduleDetached", async ({ module: module2 }) => {
|
|
83
|
-
logger?.debug(`useModuleFromNode: moduleDetached [${module2.config.name ?? module2.address}]`);
|
|
84
|
-
const moduleInstances2 = await node.resolve(filter, filterOptions);
|
|
85
|
-
setResult(moduleInstances2);
|
|
86
|
-
});
|
|
87
|
-
const moduleInstances = await node.resolve(filter, filterOptions);
|
|
88
|
-
setResult(moduleInstances);
|
|
89
|
-
setResult(moduleInstances);
|
|
90
|
-
return moduleInstances;
|
|
91
|
-
}
|
|
92
|
-
console.log("Result: No Node");
|
|
93
|
-
return void 0;
|
|
94
|
-
}, [node, filter]);
|
|
95
|
-
return [result, nodeError ?? error];
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
// src/components/NodeModulesBox.tsx
|
|
99
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
100
|
-
var NodeDescriptionBox = ({ node, ...props }) => {
|
|
101
|
-
const [description, error] = useModulesFromNode(void 0, { node });
|
|
102
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_flexbox.FlexCol, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", { color: error ? "red" : void 0, children: error ? error.message : JSON.stringify(description, null, 2) }) });
|
|
103
|
-
};
|
|
104
|
-
//# sourceMappingURL=NodeModulesBox.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/NodeModulesBox.tsx","../../../src/hooks/provided/useProvidedNode.tsx","../../../src/hooks/useModuleFilterOptions.ts","../../../src/hooks/useNode.ts","../../../src/hooks/useNodeConfigNodeField.ts","../../../src/hooks/useModulesFromNode.ts"],"sourcesContent":["import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { useModulesFromNode } from '../hooks'\n\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n node?: string | NodeInstance\n}\n\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n const [description, error] = useModulesFromNode(undefined, { node })\n\n return (\n <FlexCol {...props}>\n <code color={error ? 'red' : undefined}>{error ? error.message : JSON.stringify(description, null, 2)}</code>\n </FlexCol>\n )\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","import { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useModuleFilterOptions = (config?: ModuleFromNodeConfig) => {\n const { direction, identity, maxDepth, visibility } = config ?? {}\n return { direction, identity, maxDepth, visibility }\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useProvidedNode } from './provided'\nimport { useNodeConfigNodeField } from './useNodeConfigNodeField'\n\nexport const useNode = (config?: ModuleFromNodeConfig | undefined): [NodeInstance | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config)\n const [providedNode] = useProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n if (providedNode && nodeAddress) {\n return asNodeInstance(await providedNode.resolve(nodeAddress), 'Module is not a node')\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useNodeConfigNodeField = (config?: ModuleFromNodeConfig | undefined): [string | undefined, NodeInstance | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleFilter } from '@xyo-network/module'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\nexport const useModulesFromNode = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [ModuleInstance[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\n const [result, setResult] = useState<ModuleInstance[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n if (node) {\n node.on('moduleAttached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n const moduleInstances = await node.resolve(filter, filterOptions)\n setResult(moduleInstances)\n })\n node.on('moduleDetached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n const moduleInstances = await node.resolve(filter, filterOptions)\n setResult(moduleInstances)\n })\n const moduleInstances = await node.resolve(filter, filterOptions)\n setResult(moduleInstances)\n setResult(moduleInstances)\n return moduleInstances\n }\n console.log('Result: No Node')\n return undefined\n }, [node, filter])\n return [result, nodeError ?? error]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAsC;;;ACCtC,gCAA4B;AAC5B,mBAA2B;AAEpB,IAAM,kBAAkB,MAAyC;AACtE,QAAM,EAAE,KAAK,QAAI,yBAAW,qCAAW;AACvC,SAAO,CAAC,IAAI;AACd;;;ACLO,IAAM,yBAAyB,CAAC,WAAkC;AACvE,QAAM,EAAE,WAAW,UAAU,UAAU,WAAW,IAAI,UAAU,CAAC;AACjE,SAAO,EAAE,WAAW,UAAU,UAAU,WAAW;AACrD;;;ACLA,2BAA2B;AAC3B,wBAA6C;;;ACA7C,IAAAA,gBAAwB;AAIjB,IAAM,yBAAyB,CAAC,WAA8F;AACnI,QAAM,kBAAc,uBAAQ,MAAO,OAAO,QAAQ,SAAS,WAAW,QAAQ,OAAO,QAAY,CAAC,QAAQ,IAAI,CAAC;AAC/G,QAAM,mBAAe,uBAAQ,MAAO,OAAO,QAAQ,SAAS,WAAW,QAAQ,OAAO,QAAY,CAAC,QAAQ,IAAI,CAAC;AAChH,SAAO,CAAC,aAAa,YAAY;AACnC;;;ADFO,IAAM,UAAU,CAAC,WAA6F;AACnH,QAAM,CAAC,aAAa,YAAY,IAAI,uBAAuB,MAAM;AACjE,QAAM,CAAC,YAAY,IAAI,gBAAgB;AACvC,QAAM,CAAC,iBAAiB,KAAK,QAAI,iCAAW,YAAY;AACtD,QAAI,gBAAgB,aAAa;AAC/B,iBAAO,kCAAe,MAAM,aAAa,QAAQ,WAAW,GAAG,sBAAsB;AAAA,IACvF;AAAA,EACF,GAAG,CAAC,cAAc,WAAW,CAAC;AAC9B,SAAO,CAAC,mBAAmB,gBAAgB,gBAAgB,QAAW,KAAK;AAC7E;;;AEhBA,IAAAC,wBAA2B;AAG3B,IAAAC,gBAAyB;AAMlB,IAAM,qBAAqB,CAAC,QAAuB,WAAqF;AAC7I,QAAM,CAAC,MAAM,SAAS,IAAI,QAAQ,MAAM;AACxC,QAAM,SAAS,QAAQ;AACvB,QAAM,gBAAgB,uBAAuB;AAC7C,QAAM,CAAC,QAAQ,SAAS,QAAI,wBAAuC;AACnE,QAAM,CAAC,EAAE,KAAK,QAAI,kCAAW,YAAY;AACvC,YAAQ,MAAM,8BAA8B;AAC5C,QAAI,MAAM;AACR,WAAK,GAAG,kBAAkB,OAAO,EAAE,QAAAC,QAAO,MAAM;AAC9C,gBAAQ,MAAM,sCAAsCA,QAAO,OAAO,QAAQA,QAAO,OAAO,GAAG;AAC3F,cAAMC,mBAAkB,MAAM,KAAK,QAAQ,QAAQ,aAAa;AAChE,kBAAUA,gBAAe;AAAA,MAC3B,CAAC;AACD,WAAK,GAAG,kBAAkB,OAAO,EAAE,QAAAD,QAAO,MAAM;AAC9C,gBAAQ,MAAM,sCAAsCA,QAAO,OAAO,QAAQA,QAAO,OAAO,GAAG;AAC3F,cAAMC,mBAAkB,MAAM,KAAK,QAAQ,QAAQ,aAAa;AAChE,kBAAUA,gBAAe;AAAA,MAC3B,CAAC;AACD,YAAM,kBAAkB,MAAM,KAAK,QAAQ,QAAQ,aAAa;AAChE,gBAAU,eAAe;AACzB,gBAAU,eAAe;AACzB,aAAO;AAAA,IACT;AACA,YAAQ,IAAI,iBAAiB;AAC7B,WAAO;AAAA,EACT,GAAG,CAAC,MAAM,MAAM,CAAC;AACjB,SAAO,CAAC,QAAQ,aAAa,KAAK;AACpC;;;ALtBM;AALC,IAAM,qBAAwD,CAAC,EAAE,MAAM,GAAG,MAAM,MAAM;AAC3F,QAAM,CAAC,aAAa,KAAK,IAAI,mBAAmB,QAAW,EAAE,KAAK,CAAC;AAEnE,SACE,4CAAC,gCAAS,GAAG,OACX,sDAAC,UAAK,OAAO,QAAQ,QAAQ,QAAY,kBAAQ,MAAM,UAAU,KAAK,UAAU,aAAa,MAAM,CAAC,GAAE,GACxG;AAEJ;","names":["import_react","import_react_promise","import_react","module","moduleInstances"]}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
// src/components/NodeModulesBox.tsx
|
|
2
|
-
import { FlexCol } from "@xylabs/react-flexbox";
|
|
3
|
-
|
|
4
|
-
// src/hooks/provided/useProvidedNode.tsx
|
|
5
|
-
import { NodeContext } from "@xyo-network/react-node-context";
|
|
6
|
-
import { useContext } from "react";
|
|
7
|
-
var useProvidedNode = () => {
|
|
8
|
-
const { node } = useContext(NodeContext);
|
|
9
|
-
return [node];
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
// src/hooks/useModuleFilterOptions.ts
|
|
13
|
-
var useModuleFilterOptions = (config) => {
|
|
14
|
-
const { direction, identity, maxDepth, visibility } = config ?? {};
|
|
15
|
-
return { direction, identity, maxDepth, visibility };
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
// src/hooks/useNode.ts
|
|
19
|
-
import { usePromise } from "@xylabs/react-promise";
|
|
20
|
-
import { asNodeInstance } from "@xyo-network/node-model";
|
|
21
|
-
|
|
22
|
-
// src/hooks/useNodeConfigNodeField.ts
|
|
23
|
-
import { useMemo } from "react";
|
|
24
|
-
var useNodeConfigNodeField = (config) => {
|
|
25
|
-
const nodeAddress = useMemo(() => typeof config?.node === "string" ? config?.node : void 0, [config?.node]);
|
|
26
|
-
const nodeInstance = useMemo(() => typeof config?.node === "object" ? config?.node : void 0, [config?.node]);
|
|
27
|
-
return [nodeAddress, nodeInstance];
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
// src/hooks/useNode.ts
|
|
31
|
-
var useNode = (config) => {
|
|
32
|
-
const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config);
|
|
33
|
-
const [providedNode] = useProvidedNode();
|
|
34
|
-
const [nodeAddressNode, error] = usePromise(async () => {
|
|
35
|
-
if (providedNode && nodeAddress) {
|
|
36
|
-
return asNodeInstance(await providedNode.resolve(nodeAddress), "Module is not a node");
|
|
37
|
-
}
|
|
38
|
-
}, [providedNode, nodeAddress]);
|
|
39
|
-
return [nodeAddressNode ?? nodeInstance ?? providedNode ?? void 0, error];
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
// src/hooks/useModulesFromNode.ts
|
|
43
|
-
import { usePromise as usePromise2 } from "@xylabs/react-promise";
|
|
44
|
-
import { useState } from "react";
|
|
45
|
-
var useModulesFromNode = (filter, config) => {
|
|
46
|
-
const [node, nodeError] = useNode(config);
|
|
47
|
-
const logger = config?.logger;
|
|
48
|
-
const filterOptions = useModuleFilterOptions();
|
|
49
|
-
const [result, setResult] = useState();
|
|
50
|
-
const [, error] = usePromise2(async () => {
|
|
51
|
-
logger?.debug("useModuleFromNode: resolving");
|
|
52
|
-
if (node) {
|
|
53
|
-
node.on("moduleAttached", async ({ module }) => {
|
|
54
|
-
logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`);
|
|
55
|
-
const moduleInstances2 = await node.resolve(filter, filterOptions);
|
|
56
|
-
setResult(moduleInstances2);
|
|
57
|
-
});
|
|
58
|
-
node.on("moduleDetached", async ({ module }) => {
|
|
59
|
-
logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`);
|
|
60
|
-
const moduleInstances2 = await node.resolve(filter, filterOptions);
|
|
61
|
-
setResult(moduleInstances2);
|
|
62
|
-
});
|
|
63
|
-
const moduleInstances = await node.resolve(filter, filterOptions);
|
|
64
|
-
setResult(moduleInstances);
|
|
65
|
-
setResult(moduleInstances);
|
|
66
|
-
return moduleInstances;
|
|
67
|
-
}
|
|
68
|
-
console.log("Result: No Node");
|
|
69
|
-
return void 0;
|
|
70
|
-
}, [node, filter]);
|
|
71
|
-
return [result, nodeError ?? error];
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
// src/components/NodeModulesBox.tsx
|
|
75
|
-
import { jsx } from "react/jsx-runtime";
|
|
76
|
-
var NodeDescriptionBox = ({ node, ...props }) => {
|
|
77
|
-
const [description, error] = useModulesFromNode(void 0, { node });
|
|
78
|
-
return /* @__PURE__ */ jsx(FlexCol, { ...props, children: /* @__PURE__ */ jsx("code", { color: error ? "red" : void 0, children: error ? error.message : JSON.stringify(description, null, 2) }) });
|
|
79
|
-
};
|
|
80
|
-
export {
|
|
81
|
-
NodeDescriptionBox
|
|
82
|
-
};
|
|
83
|
-
//# sourceMappingURL=NodeModulesBox.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/NodeModulesBox.tsx","../../../src/hooks/provided/useProvidedNode.tsx","../../../src/hooks/useModuleFilterOptions.ts","../../../src/hooks/useNode.ts","../../../src/hooks/useNodeConfigNodeField.ts","../../../src/hooks/useModulesFromNode.ts"],"sourcesContent":["import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { useModulesFromNode } from '../hooks'\n\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n node?: string | NodeInstance\n}\n\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n const [description, error] = useModulesFromNode(undefined, { node })\n\n return (\n <FlexCol {...props}>\n <code color={error ? 'red' : undefined}>{error ? error.message : JSON.stringify(description, null, 2)}</code>\n </FlexCol>\n )\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","import { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useModuleFilterOptions = (config?: ModuleFromNodeConfig) => {\n const { direction, identity, maxDepth, visibility } = config ?? {}\n return { direction, identity, maxDepth, visibility }\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useProvidedNode } from './provided'\nimport { useNodeConfigNodeField } from './useNodeConfigNodeField'\n\nexport const useNode = (config?: ModuleFromNodeConfig | undefined): [NodeInstance | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config)\n const [providedNode] = useProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n if (providedNode && nodeAddress) {\n return asNodeInstance(await providedNode.resolve(nodeAddress), 'Module is not a node')\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useNodeConfigNodeField = (config?: ModuleFromNodeConfig | undefined): [string | undefined, NodeInstance | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleFilter } from '@xyo-network/module'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\nexport const useModulesFromNode = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [ModuleInstance[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\n const [result, setResult] = useState<ModuleInstance[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n if (node) {\n node.on('moduleAttached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n const moduleInstances = await node.resolve(filter, filterOptions)\n setResult(moduleInstances)\n })\n node.on('moduleDetached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n const moduleInstances = await node.resolve(filter, filterOptions)\n setResult(moduleInstances)\n })\n const moduleInstances = await node.resolve(filter, filterOptions)\n setResult(moduleInstances)\n setResult(moduleInstances)\n return moduleInstances\n }\n console.log('Result: No Node')\n return undefined\n }, [node, filter])\n return [result, nodeError ?? error]\n}\n"],"mappings":";AAAA,SAAuB,eAAe;;;ACCtC,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAEpB,IAAM,kBAAkB,MAAyC;AACtE,QAAM,EAAE,KAAK,IAAI,WAAW,WAAW;AACvC,SAAO,CAAC,IAAI;AACd;;;ACLO,IAAM,yBAAyB,CAAC,WAAkC;AACvE,QAAM,EAAE,WAAW,UAAU,UAAU,WAAW,IAAI,UAAU,CAAC;AACjE,SAAO,EAAE,WAAW,UAAU,UAAU,WAAW;AACrD;;;ACLA,SAAS,kBAAkB;AAC3B,SAAS,sBAAoC;;;ACA7C,SAAS,eAAe;AAIjB,IAAM,yBAAyB,CAAC,WAA8F;AACnI,QAAM,cAAc,QAAQ,MAAO,OAAO,QAAQ,SAAS,WAAW,QAAQ,OAAO,QAAY,CAAC,QAAQ,IAAI,CAAC;AAC/G,QAAM,eAAe,QAAQ,MAAO,OAAO,QAAQ,SAAS,WAAW,QAAQ,OAAO,QAAY,CAAC,QAAQ,IAAI,CAAC;AAChH,SAAO,CAAC,aAAa,YAAY;AACnC;;;ADFO,IAAM,UAAU,CAAC,WAA6F;AACnH,QAAM,CAAC,aAAa,YAAY,IAAI,uBAAuB,MAAM;AACjE,QAAM,CAAC,YAAY,IAAI,gBAAgB;AACvC,QAAM,CAAC,iBAAiB,KAAK,IAAI,WAAW,YAAY;AACtD,QAAI,gBAAgB,aAAa;AAC/B,aAAO,eAAe,MAAM,aAAa,QAAQ,WAAW,GAAG,sBAAsB;AAAA,IACvF;AAAA,EACF,GAAG,CAAC,cAAc,WAAW,CAAC;AAC9B,SAAO,CAAC,mBAAmB,gBAAgB,gBAAgB,QAAW,KAAK;AAC7E;;;AEhBA,SAAS,cAAAA,mBAAkB;AAG3B,SAAS,gBAAgB;AAMlB,IAAM,qBAAqB,CAAC,QAAuB,WAAqF;AAC7I,QAAM,CAAC,MAAM,SAAS,IAAI,QAAQ,MAAM;AACxC,QAAM,SAAS,QAAQ;AACvB,QAAM,gBAAgB,uBAAuB;AAC7C,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAuC;AACnE,QAAM,CAAC,EAAE,KAAK,IAAIC,YAAW,YAAY;AACvC,YAAQ,MAAM,8BAA8B;AAC5C,QAAI,MAAM;AACR,WAAK,GAAG,kBAAkB,OAAO,EAAE,OAAO,MAAM;AAC9C,gBAAQ,MAAM,sCAAsC,OAAO,OAAO,QAAQ,OAAO,OAAO,GAAG;AAC3F,cAAMC,mBAAkB,MAAM,KAAK,QAAQ,QAAQ,aAAa;AAChE,kBAAUA,gBAAe;AAAA,MAC3B,CAAC;AACD,WAAK,GAAG,kBAAkB,OAAO,EAAE,OAAO,MAAM;AAC9C,gBAAQ,MAAM,sCAAsC,OAAO,OAAO,QAAQ,OAAO,OAAO,GAAG;AAC3F,cAAMA,mBAAkB,MAAM,KAAK,QAAQ,QAAQ,aAAa;AAChE,kBAAUA,gBAAe;AAAA,MAC3B,CAAC;AACD,YAAM,kBAAkB,MAAM,KAAK,QAAQ,QAAQ,aAAa;AAChE,gBAAU,eAAe;AACzB,gBAAU,eAAe;AACzB,aAAO;AAAA,IACT;AACA,YAAQ,IAAI,iBAAiB;AAC7B,WAAO;AAAA,EACT,GAAG,CAAC,MAAM,MAAM,CAAC;AACjB,SAAO,CAAC,QAAQ,aAAa,KAAK;AACpC;;;ALtBM;AALC,IAAM,qBAAwD,CAAC,EAAE,MAAM,GAAG,MAAM,MAAM;AAC3F,QAAM,CAAC,aAAa,KAAK,IAAI,mBAAmB,QAAW,EAAE,KAAK,CAAC;AAEnE,SACE,oBAAC,WAAS,GAAG,OACX,8BAAC,UAAK,OAAO,QAAQ,QAAQ,QAAY,kBAAQ,MAAM,UAAU,KAAK,UAAU,aAAa,MAAM,CAAC,GAAE,GACxG;AAEJ;","names":["usePromise","usePromise","moduleInstances"]}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/components/TestModule.ts
|
|
21
|
-
var TestModule_exports = {};
|
|
22
|
-
__export(TestModule_exports, {
|
|
23
|
-
TestModule: () => TestModule,
|
|
24
|
-
TestModuleConfigSchema: () => TestModuleConfigSchema,
|
|
25
|
-
init: () => init
|
|
26
|
-
});
|
|
27
|
-
module.exports = __toCommonJS(TestModule_exports);
|
|
28
|
-
var import_module = require("@xyo-network/module");
|
|
29
|
-
var TestModuleConfigSchema = "network.xyo.test.module";
|
|
30
|
-
var TestModule = class extends import_module.AbstractModuleInstance {
|
|
31
|
-
static configSchemas = [TestModuleConfigSchema];
|
|
32
|
-
get _queryAccountPaths() {
|
|
33
|
-
return {};
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
var init = async () => {
|
|
37
|
-
await TestModule.create({ config: { name: "TestModule", schema: TestModuleConfigSchema } });
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=TestModule.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/TestModule.ts"],"sourcesContent":["import { AbstractModuleInstance, ModuleConfig, ModuleParams } from '@xyo-network/module'\nimport { Query } from '@xyo-network/payload-model'\n\nexport type TestModuleConfigSchema = 'network.xyo.test.module'\nexport const TestModuleConfigSchema: TestModuleConfigSchema = 'network.xyo.test.module'\n\nexport class TestModule extends AbstractModuleInstance<ModuleParams<ModuleConfig<{ schema: TestModuleConfigSchema }>>> {\n static override readonly configSchemas: string[] = [TestModuleConfigSchema]\n get _queryAccountPaths(): Record<Query['schema'], string> {\n return {}\n }\n}\n\nexport const init = async () => {\n await TestModule.create({ config: { name: 'TestModule', schema: TestModuleConfigSchema } })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmE;AAI5D,IAAM,yBAAiD;AAEvD,IAAM,aAAN,cAAyB,qCAAuF;AAAA,EACrH,OAAyB,gBAA0B,CAAC,sBAAsB;AAAA,EAC1E,IAAI,qBAAsD;AACxD,WAAO,CAAC;AAAA,EACV;AACF;AAEO,IAAM,OAAO,YAAY;AAC9B,QAAM,WAAW,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,QAAQ,uBAAuB,EAAE,CAAC;AAC5F;","names":[]}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
// src/components/TestModule.ts
|
|
2
|
-
import { AbstractModuleInstance } from "@xyo-network/module";
|
|
3
|
-
var TestModuleConfigSchema = "network.xyo.test.module";
|
|
4
|
-
var TestModule = class extends AbstractModuleInstance {
|
|
5
|
-
static configSchemas = [TestModuleConfigSchema];
|
|
6
|
-
get _queryAccountPaths() {
|
|
7
|
-
return {};
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
var init = async () => {
|
|
11
|
-
await TestModule.create({ config: { name: "TestModule", schema: TestModuleConfigSchema } });
|
|
12
|
-
};
|
|
13
|
-
export {
|
|
14
|
-
TestModule,
|
|
15
|
-
TestModuleConfigSchema,
|
|
16
|
-
init
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=TestModule.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/TestModule.ts"],"sourcesContent":["import { AbstractModuleInstance, ModuleConfig, ModuleParams } from '@xyo-network/module'\nimport { Query } from '@xyo-network/payload-model'\n\nexport type TestModuleConfigSchema = 'network.xyo.test.module'\nexport const TestModuleConfigSchema: TestModuleConfigSchema = 'network.xyo.test.module'\n\nexport class TestModule extends AbstractModuleInstance<ModuleParams<ModuleConfig<{ schema: TestModuleConfigSchema }>>> {\n static override readonly configSchemas: string[] = [TestModuleConfigSchema]\n get _queryAccountPaths(): Record<Query['schema'], string> {\n return {}\n }\n}\n\nexport const init = async () => {\n await TestModule.create({ config: { name: 'TestModule', schema: TestModuleConfigSchema } })\n}\n"],"mappings":";AAAA,SAAS,8BAA0D;AAI5D,IAAM,yBAAiD;AAEvD,IAAM,aAAN,cAAyB,uBAAuF;AAAA,EACrH,OAAyB,gBAA0B,CAAC,sBAAsB;AAAA,EAC1E,IAAI,qBAAsD;AACxD,WAAO,CAAC;AAAA,EACV;AACF;AAEO,IAAM,OAAO,YAAY;AAC9B,QAAM,WAAW,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,QAAQ,uBAAuB,EAAE,CAAC;AAC5F;","names":[]}
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/components/index.ts
|
|
21
|
-
var components_exports = {};
|
|
22
|
-
__export(components_exports, {
|
|
23
|
-
NodeBox: () => NodeBox,
|
|
24
|
-
NodeDrawer: () => NodeDrawer
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(components_exports);
|
|
27
|
-
|
|
28
|
-
// src/components/NodeDescriptionBox.tsx
|
|
29
|
-
var import_react_flexbox = require("@xylabs/react-flexbox");
|
|
30
|
-
|
|
31
|
-
// src/hooks/provided/useProvidedNode.tsx
|
|
32
|
-
var import_react_node_context = require("@xyo-network/react-node-context");
|
|
33
|
-
var import_react = require("react");
|
|
34
|
-
var useProvidedNode = () => {
|
|
35
|
-
const { node } = (0, import_react.useContext)(import_react_node_context.NodeContext);
|
|
36
|
-
return [node];
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
// src/hooks/useNode.ts
|
|
40
|
-
var import_react_promise = require("@xylabs/react-promise");
|
|
41
|
-
var import_node_model = require("@xyo-network/node-model");
|
|
42
|
-
|
|
43
|
-
// src/hooks/useNodeConfigNodeField.ts
|
|
44
|
-
var import_react2 = require("react");
|
|
45
|
-
var useNodeConfigNodeField = (config) => {
|
|
46
|
-
const nodeAddress = (0, import_react2.useMemo)(() => typeof config?.node === "string" ? config?.node : void 0, [config?.node]);
|
|
47
|
-
const nodeInstance = (0, import_react2.useMemo)(() => typeof config?.node === "object" ? config?.node : void 0, [config?.node]);
|
|
48
|
-
return [nodeAddress, nodeInstance];
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
// src/hooks/useNode.ts
|
|
52
|
-
var useNode = (config) => {
|
|
53
|
-
const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config);
|
|
54
|
-
const [providedNode] = useProvidedNode();
|
|
55
|
-
const [nodeAddressNode, error] = (0, import_react_promise.usePromise)(async () => {
|
|
56
|
-
if (providedNode && nodeAddress) {
|
|
57
|
-
return (0, import_node_model.asNodeInstance)(await providedNode.resolve(nodeAddress), "Module is not a node");
|
|
58
|
-
}
|
|
59
|
-
}, [providedNode, nodeAddress]);
|
|
60
|
-
return [nodeAddressNode ?? nodeInstance ?? providedNode ?? void 0, error];
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
// src/hooks/useNodeDescription.ts
|
|
64
|
-
var import_react_promise2 = require("@xylabs/react-promise");
|
|
65
|
-
var useNodeDescription = (config) => {
|
|
66
|
-
const [activeNode, nodeError] = useNode(config);
|
|
67
|
-
const [description, error] = (0, import_react_promise2.usePromise)(async () => {
|
|
68
|
-
return await activeNode?.describe();
|
|
69
|
-
}, [activeNode]);
|
|
70
|
-
return [description, nodeError ?? error];
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
// src/components/NodeDescriptionBox.tsx
|
|
74
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
75
|
-
var NodeDescriptionBox = ({ node, ...props }) => {
|
|
76
|
-
const [description, error] = useNodeDescription({ node });
|
|
77
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_flexbox.FlexCol, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", { color: error ? "red" : void 0, children: error ? error.message : JSON.stringify(description, null, 2) }) });
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
// src/components/Node.tsx
|
|
81
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
82
|
-
var NodeBox = ({ variant, ...props }) => {
|
|
83
|
-
switch (variant) {
|
|
84
|
-
case "description":
|
|
85
|
-
default:
|
|
86
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(NodeDescriptionBox, { ...props });
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
// src/components/NodeDrawer.tsx
|
|
91
|
-
var import_icons_material2 = require("@mui/icons-material");
|
|
92
|
-
var import_material3 = require("@mui/material");
|
|
93
|
-
var import_react_flexbox2 = require("@xylabs/react-flexbox");
|
|
94
|
-
var import_react_node_provider = require("@xyo-network/react-node-provider");
|
|
95
|
-
|
|
96
|
-
// src/components/render/ModuleDescriptionBox.tsx
|
|
97
|
-
var import_icons_material = require("@mui/icons-material");
|
|
98
|
-
var import_material2 = require("@mui/material");
|
|
99
|
-
var import_x_tree_view2 = require("@mui/x-tree-view");
|
|
100
|
-
var import_react4 = require("react");
|
|
101
|
-
|
|
102
|
-
// src/components/render/RenderModule.tsx
|
|
103
|
-
var import_material = require("@mui/material");
|
|
104
|
-
var import_x_tree_view = require("@mui/x-tree-view");
|
|
105
|
-
var import_react_async_effect = require("@xylabs/react-async-effect");
|
|
106
|
-
var import_react3 = require("react");
|
|
107
|
-
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
108
|
-
var RenderModule = ({ module: module2, idRef }) => {
|
|
109
|
-
const { address, queries } = module2 ?? {};
|
|
110
|
-
const [childModules, setChildModules] = (0, import_react3.useState)();
|
|
111
|
-
(0, import_react_async_effect.useAsyncEffect)(
|
|
112
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
113
|
-
async (mounted) => {
|
|
114
|
-
const children = (await module2.resolve()).filter((childModule) => childModule.address !== address);
|
|
115
|
-
if (mounted()) {
|
|
116
|
-
setChildModules(children);
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
[module2, address]
|
|
120
|
-
);
|
|
121
|
-
const increment = () => {
|
|
122
|
-
const newId = (idRef.current.idIncrementor++).toString();
|
|
123
|
-
idRef.current.ids.push(newId);
|
|
124
|
-
return newId;
|
|
125
|
-
};
|
|
126
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(StyledAddressTreeItem, { nodeId: increment(), label: `address: ${address}`, children: [
|
|
127
|
-
queries.map((query, index) => {
|
|
128
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_x_tree_view.TreeItem, { nodeId: increment(), label: `query : ${query}`, sx: { mb: index === queries.length - 1 ? 1.5 : 0.5 } }, query);
|
|
129
|
-
}),
|
|
130
|
-
childModules && childModules.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_x_tree_view.TreeItem, { nodeId: increment(), label: "children", sx: { mb: 0.5 }, children: childModules.map((childModule) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(RenderModule, { module: childModule, idRef }, childModule.address)) }) : null
|
|
131
|
-
] });
|
|
132
|
-
};
|
|
133
|
-
var StyledAddressTreeItem = (0, import_material.styled)(import_x_tree_view.TreeItem, { name: "StyledAddressTreeItem" })(({ theme }) => ({
|
|
134
|
-
"& .MuiTreeItem-content": {
|
|
135
|
-
marginBottom: theme.spacing(0.25)
|
|
136
|
-
}
|
|
137
|
-
}));
|
|
138
|
-
|
|
139
|
-
// src/components/render/ModuleDescriptionBox.tsx
|
|
140
|
-
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
141
|
-
var ModuleDescriptionBox = ({ module: module2 }) => {
|
|
142
|
-
const idRef = (0, import_react4.useRef)({ idIncrementor: 0, ids: [] });
|
|
143
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: module2 ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
|
|
144
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material2.Typography, { variant: "h4", children: "Node Configuration" }),
|
|
145
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
146
|
-
StyledTreeView,
|
|
147
|
-
{
|
|
148
|
-
"aria-label": "file system navigator",
|
|
149
|
-
defaultCollapseIcon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons_material.ExpandMore, {}),
|
|
150
|
-
defaultExpandIcon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons_material.ChevronRight, {}),
|
|
151
|
-
sx: { flexGrow: 1 },
|
|
152
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(RenderModule, { module: module2, idRef })
|
|
153
|
-
}
|
|
154
|
-
)
|
|
155
|
-
] }) : module2 === null ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material2.Typography, { variant: "h4", children: "Node loading..." }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material2.Typography, { variant: "h4", children: "Node not found" }) });
|
|
156
|
-
};
|
|
157
|
-
var StyledTreeView = (0, import_material2.styled)(import_x_tree_view2.TreeView, { name: "StyledTreeView" })(() => ({
|
|
158
|
-
height: "auto",
|
|
159
|
-
maxWidth: "auto"
|
|
160
|
-
}));
|
|
161
|
-
|
|
162
|
-
// src/components/NodeDrawer.tsx
|
|
163
|
-
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
164
|
-
var NodeDrawer = ({ children, ...props }) => {
|
|
165
|
-
const { open, setOpen } = (0, import_react_node_provider.useNodeDrawer)();
|
|
166
|
-
const [node] = useProvidedNode();
|
|
167
|
-
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material3.Drawer, { open: open ?? false, anchor: "right", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material3.ClickAwayListener, { onClickAway: () => setOpen?.(false), children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react_flexbox2.FlexGrowCol, { role: "presentation", justifyContent: "start", p: 2, rowGap: 2, minWidth: "33vw", children: [
|
|
168
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_flexbox2.FlexRow, { alignContent: "start", justifyContent: "start", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material3.IconButton, { onClick: () => setOpen?.(false), children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_icons_material2.Close, {}) }) }),
|
|
169
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ModuleDescriptionBox, { module: node }),
|
|
170
|
-
children
|
|
171
|
-
] }) }) });
|
|
172
|
-
};
|
|
173
|
-
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/index.ts","../../../src/components/NodeDescriptionBox.tsx","../../../src/hooks/provided/useProvidedNode.tsx","../../../src/hooks/useNode.ts","../../../src/hooks/useNodeConfigNodeField.ts","../../../src/hooks/useNodeDescription.ts","../../../src/components/Node.tsx","../../../src/components/NodeDrawer.tsx","../../../src/components/render/ModuleDescriptionBox.tsx","../../../src/components/render/RenderModule.tsx"],"sourcesContent":["export * from './Node'\nexport * from './NodeDrawer'\n","import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { useNodeDescription } from '../hooks'\n\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n node?: string | NodeInstance\n}\n\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n const [description, error] = useNodeDescription({ node })\n\n return (\n <FlexCol {...props}>\n <code color={error ? 'red' : undefined}>{error ? error.message : JSON.stringify(description, null, 2)}</code>\n </FlexCol>\n )\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useProvidedNode } from './provided'\nimport { useNodeConfigNodeField } from './useNodeConfigNodeField'\n\nexport const useNode = (config?: ModuleFromNodeConfig | undefined): [NodeInstance | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config)\n const [providedNode] = useProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n if (providedNode && nodeAddress) {\n return asNodeInstance(await providedNode.resolve(nodeAddress), 'Module is not a node')\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useNodeConfigNodeField = (config?: ModuleFromNodeConfig | undefined): [string | undefined, NodeInstance | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleDescription } from '@xyo-network/module-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useNode } from './useNode'\n\nexport const useNodeDescription = (config?: ModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useNode(config)\n const [description, error] = usePromise(async () => {\n return await activeNode?.describe()\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { NodeDescriptionBox } from './NodeDescriptionBox'\n\nexport interface NodeBoxProps extends FlexBoxProps {\n node?: string | NodeInstance\n variant?: 'description'\n}\n\nexport const NodeBox: React.FC<NodeBoxProps> = ({ variant, ...props }) => {\n switch (variant) {\n case 'description':\n default:\n return <NodeDescriptionBox {...props} />\n }\n}\n","import { Close as CloseIcon } from '@mui/icons-material'\nimport { ClickAwayListener, Drawer, DrawerProps, IconButton } from '@mui/material'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { useNodeDrawer } from '@xyo-network/react-node-provider'\n\nimport { useProvidedNode } from '../hooks'\nimport { ModuleDescriptionBox } from './render'\n\nexport interface NodeDrawerProps extends WithChildren, Omit<DrawerProps, 'open'> {}\n\nexport const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) => {\n const { open, setOpen } = useNodeDrawer()\n const [node] = useProvidedNode()\n\n return (\n <Drawer open={open ?? false} anchor=\"right\" {...props}>\n <ClickAwayListener onClickAway={() => setOpen?.(false)}>\n <FlexGrowCol role=\"presentation\" justifyContent=\"start\" p={2} rowGap={2} minWidth=\"33vw\">\n <FlexRow alignContent=\"start\" justifyContent=\"start\" width=\"100%\">\n <IconButton onClick={() => setOpen?.(false)}>\n <CloseIcon />\n </IconButton>\n </FlexRow>\n <ModuleDescriptionBox module={node} />\n {children}\n </FlexGrowCol>\n </ClickAwayListener>\n </Drawer>\n )\n}\n","import { ChevronRight as ChevronRightIcon, ExpandMore as ExpandMoreIcon } from '@mui/icons-material'\nimport { styled, Typography } from '@mui/material'\nimport { TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { ModuleInstance } from '@xyo-network/module'\nimport { useRef } from 'react'\n\nimport { RenderModule } from './RenderModule'\n\nexport interface ModuleDescriptionProps extends FlexBoxProps {\n module?: ModuleInstance | null\n}\nexport const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ module }) => {\n const idRef = useRef<{ idIncrementor: number; ids: string[] }>({ idIncrementor: 0, ids: [] })\n\n return (\n <>\n {module ? (\n <>\n <Typography variant=\"h4\">Node Configuration</Typography>\n <StyledTreeView\n aria-label=\"file system navigator\"\n defaultCollapseIcon={<ExpandMoreIcon />}\n defaultExpandIcon={<ChevronRightIcon />}\n sx={{ flexGrow: 1 }}\n >\n <RenderModule module={module} idRef={idRef} />\n </StyledTreeView>\n </>\n ) : module === null ? (\n <Typography variant=\"h4\">Node loading...</Typography>\n ) : (\n <Typography variant=\"h4\">Node not found</Typography>\n )}\n </>\n )\n}\n\nconst StyledTreeView = styled(TreeView, { name: 'StyledTreeView' })(() => ({\n height: 'auto',\n maxWidth: 'auto',\n}))\n","import { styled } from '@mui/material'\nimport { TreeItem } from '@mui/x-tree-view'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ModuleInstance } from '@xyo-network/module'\nimport { MutableRefObject, useState } from 'react'\n\ninterface RenderModuleProps {\n idRef: MutableRefObject<{\n idIncrementor: number\n ids: string[]\n }>\n module: ModuleInstance\n}\n\nexport const RenderModule: React.FC<RenderModuleProps> = ({ module, idRef }) => {\n const { address, queries } = module ?? {}\n const [childModules, setChildModules] = useState<ModuleInstance[]>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const children = (await module.resolve()).filter((childModule) => childModule.address !== address)\n if (mounted()) {\n setChildModules(children)\n }\n },\n [module, address],\n )\n\n const increment = () => {\n const newId = (idRef.current.idIncrementor++).toString()\n idRef.current.ids.push(newId)\n return newId\n }\n\n return (\n <StyledAddressTreeItem nodeId={increment()} label={`address: ${address}`}>\n {queries.map((query, index) => {\n return <TreeItem key={query} nodeId={increment()} label={`query : ${query}`} sx={{ mb: index === queries.length - 1 ? 1.5 : 0.5 }} />\n })}\n {childModules && childModules.length > 0 ? (\n <TreeItem nodeId={increment()} label={'children'} sx={{ mb: 0.5 }}>\n {childModules.map((childModule) => (\n <RenderModule key={childModule.address} module={childModule} idRef={idRef} />\n ))}\n </TreeItem>\n ) : null}\n </StyledAddressTreeItem>\n )\n}\n\nconst StyledAddressTreeItem = styled(TreeItem, { name: 'StyledAddressTreeItem' })(({ theme }) => ({\n '& .MuiTreeItem-content': {\n marginBottom: theme.spacing(0.25),\n },\n}))\n"],"mappings":"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","names":["import_react","import_react_promise","import_jsx_runtime","import_icons_material","import_material","import_react_flexbox","import_material","import_x_tree_view","import_react","import_react","import_jsx_runtime","module","import_jsx_runtime","module","ExpandMoreIcon","ChevronRightIcon","import_jsx_runtime","CloseIcon"]}
|