@xyo-network/react-node-renderer 2.58.0-rc.2 → 2.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Cytoscape/CytoscapeElements.js +2 -8
- package/dist/cjs/Cytoscape/CytoscapeElements.js.map +1 -1
- package/dist/cjs/components/ProvidedNodeRenderer.js +2 -4
- package/dist/cjs/components/ProvidedNodeRenderer.js.map +1 -1
- package/dist/cjs/hooks/cytoscape/useCytoscapeElements.js +6 -6
- package/dist/cjs/hooks/cytoscape/useCytoscapeElements.js.map +1 -1
- package/dist/docs.json +49029 -0
- package/dist/esm/Cytoscape/CytoscapeElements.js +2 -6
- package/dist/esm/Cytoscape/CytoscapeElements.js.map +1 -1
- package/dist/esm/components/ProvidedNodeRenderer.js +2 -4
- package/dist/esm/components/ProvidedNodeRenderer.js.map +1 -1
- package/dist/esm/hooks/cytoscape/useCytoscapeElements.js +6 -6
- package/dist/esm/hooks/cytoscape/useCytoscapeElements.js.map +1 -1
- package/dist/types/Cytoscape/CytoscapeElements.d.ts +1 -2
- package/dist/types/Cytoscape/CytoscapeElements.d.ts.map +1 -1
- package/dist/types/components/ProvidedNodeRenderer.d.ts.map +1 -1
- package/dist/types/hooks/cytoscape/useCytoscapeElements.d.ts +1 -2
- package/dist/types/hooks/cytoscape/useCytoscapeElements.d.ts.map +1 -1
- package/package.json +23 -24
- package/src/Cytoscape/CytoscapeElements.ts +2 -7
- package/src/components/ProvidedNodeRenderer.tsx +2 -4
- package/src/hooks/cytoscape/useCytoscapeElements.ts +6 -7
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { isModuleInstance, ModuleWrapper } from '@xyo-network/module';
|
|
2
1
|
import { parseModuleType } from './lib';
|
|
3
2
|
export class CytoscapeElements {
|
|
4
3
|
static MaxNameLength = 20;
|
|
@@ -11,14 +10,11 @@ export class CytoscapeElements {
|
|
|
11
10
|
},
|
|
12
11
|
};
|
|
13
12
|
}
|
|
14
|
-
static async buildElements(node
|
|
13
|
+
static async buildElements(node) {
|
|
15
14
|
try {
|
|
16
15
|
const [, newRootNode] = await CytoscapeElements.buildRootNode(node);
|
|
17
16
|
const newElements = [newRootNode];
|
|
18
|
-
const children = await Promise.all((await node.resolve()).map(async (child) => [
|
|
19
|
-
await (isModuleInstance(child) ? child.manifest() : ModuleWrapper.wrap(child, account).manifest()),
|
|
20
|
-
child.address,
|
|
21
|
-
]));
|
|
17
|
+
const children = await Promise.all((await node.resolve()).map(async (child) => [await child.manifest(), child.address]));
|
|
22
18
|
await Promise.allSettled((children ?? [])?.map(async ([child, address]) => {
|
|
23
19
|
try {
|
|
24
20
|
const newNode = await CytoscapeElements.buildNode(child, address);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CytoscapeElements.js","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeElements.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CytoscapeElements.js","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeElements.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAEvC,MAAM,OAAO,iBAAiB;IAC5B,MAAM,CAAC,aAAa,GAAG,EAAE,CAAA;IAEzB,MAAM,CAAC,SAAS,CAAC,QAA2B,EAAE,OAA0B;QACtE,OAAO;YACL,IAAI,EAAE;gBACJ,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;gBAC5C,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACxB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;aACxB;SACF,CAAA;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAkB;QAC3C,IAAI;YACF,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;YACnE,MAAM,WAAW,GAAwB,CAAC,WAAW,CAAC,CAAA;YAEtD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAoC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CACxH,CAAA;YACD,MAAM,OAAO,CAAC,UAAU,CACtB,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;gBAC/C,IAAI;oBACF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;oBACjE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBAEzB,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;oBACjE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;iBAC1B;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;iBAC3C;YACH,CAAC,CAAC,CACH,CAAA;YACD,OAAO,WAAW,CAAA;SACnB;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAA;SACtD;IACH,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,QAAwB,EAAE,OAAe;QACxD,MAAM,SAAS,GAAG,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAClG,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO;gBACP,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;aAC9C;SACF,CAAA;IACH,CAAC;IAED,MAAM,CAAC,aAAa,GAAG,KAAK,EAAE,IAAkB,EAAgD,EAAE;QAChG,MAAM,QAAQ,GAAG,MAAM,IAAI,EAAE,QAAQ,EAAE,CAAA;QACvC,OAAO,CAAC,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;IACxE,CAAC,CAAA;IAED,MAAM,CAAC,aAAa,CAAC,IAAa;QAChC,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa;YAAE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAA;QAC1E,OAAO,IAAI,CAAA;IACb,CAAC"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useProvidedNode } from '@xyo-network/react-node';
|
|
3
|
-
import { useWallet } from '@xyo-network/react-wallet';
|
|
4
3
|
import { useCytoscapeElements, useCytoscapeOptions } from '../hooks';
|
|
5
4
|
import { NodeRelationalGraph } from './RelationalGraph';
|
|
6
|
-
export const ProvidedNodeRenderer = ({ node,
|
|
5
|
+
export const ProvidedNodeRenderer = ({ node, ...props }) => {
|
|
7
6
|
const [providedNode] = useProvidedNode();
|
|
8
|
-
const
|
|
9
|
-
const elements = useCytoscapeElements(node ?? providedNode, account ?? wallet);
|
|
7
|
+
const elements = useCytoscapeElements(node ?? providedNode);
|
|
10
8
|
const options = useCytoscapeOptions(elements);
|
|
11
9
|
return _jsx(NodeRelationalGraph, { alignItems: "stretch", flexGrow: 1, height: "100%", options: options, ...props });
|
|
12
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProvidedNodeRenderer.js","sourceRoot":"","sources":["../../../src/components/ProvidedNodeRenderer.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"ProvidedNodeRenderer.js","sourceRoot":"","sources":["../../../src/components/ProvidedNodeRenderer.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAOvD,MAAM,CAAC,MAAM,oBAAoB,GAAwC,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC9F,MAAM,CAAC,YAAY,CAAC,GAAG,eAAe,EAAE,CAAA;IACxC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,IAAI,YAAY,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAE7C,OAAO,KAAC,mBAAmB,IAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAC,MAAM,EAAC,OAAO,EAAE,OAAO,KAAM,KAAK,GAAI,CAAA;AAC7G,CAAC,CAAA"}
|
|
@@ -5,26 +5,26 @@ import { CytoscapeElements } from '../../Cytoscape';
|
|
|
5
5
|
* Note: Relies on describe but could eventually be converted to a discover call
|
|
6
6
|
* Logic would be similar to what the bridge does
|
|
7
7
|
*/
|
|
8
|
-
export const useCytoscapeElements = (targetNode
|
|
8
|
+
export const useCytoscapeElements = (targetNode) => {
|
|
9
9
|
const [elements, setElements] = useState([]);
|
|
10
10
|
useAsyncEffect(
|
|
11
11
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12
12
|
async () => {
|
|
13
|
-
if (targetNode
|
|
14
|
-
const newElements = (await CytoscapeElements.buildElements(targetNode
|
|
13
|
+
if (targetNode) {
|
|
14
|
+
const newElements = (await CytoscapeElements.buildElements(targetNode)) ?? [];
|
|
15
15
|
setElements(newElements);
|
|
16
16
|
}
|
|
17
17
|
}, [targetNode]);
|
|
18
18
|
useEffect(() => {
|
|
19
19
|
let attachedListener = undefined;
|
|
20
20
|
let detachedListener = undefined;
|
|
21
|
-
if (targetNode
|
|
21
|
+
if (targetNode) {
|
|
22
22
|
attachedListener = targetNode.on('moduleAttached', async () => {
|
|
23
|
-
const newElements = (await CytoscapeElements.buildElements(targetNode
|
|
23
|
+
const newElements = (await CytoscapeElements.buildElements(targetNode)) ?? [];
|
|
24
24
|
setElements(newElements);
|
|
25
25
|
});
|
|
26
26
|
detachedListener = targetNode.on('moduleDetached', async () => {
|
|
27
|
-
const newElements = (await CytoscapeElements.buildElements(targetNode
|
|
27
|
+
const newElements = (await CytoscapeElements.buildElements(targetNode)) ?? [];
|
|
28
28
|
setElements(newElements);
|
|
29
29
|
});
|
|
30
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCytoscapeElements.js","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"useCytoscapeElements.js","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAI3D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAA2C,EAAE,EAAE;IAClF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAsB,EAAE,CAAC,CAAA;IAEjE,cAAc;IACZ,uDAAuD;IACvD,KAAK,IAAI,EAAE;QACT,IAAI,UAAU,EAAE;YACd,MAAM,WAAW,GAAG,CAAC,MAAM,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;YAC7E,WAAW,CAAC,WAAW,CAAC,CAAA;SACzB;IACH,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,gBAAgB,GAAyC,SAAS,CAAA;QACtE,IAAI,gBAAgB,GAAyC,SAAS,CAAA;QAEtE,IAAI,UAAU,EAAE;YACd,gBAAgB,GAAG,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBAC5D,MAAM,WAAW,GAAG,CAAC,MAAM,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC7E,WAAW,CAAC,WAAW,CAAC,CAAA;YAC1B,CAAC,CAAC,CAAA;YACF,gBAAgB,GAAG,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBAC5D,MAAM,WAAW,GAAG,CAAC,MAAM,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC7E,WAAW,CAAC,WAAW,CAAC,CAAA;YAC1B,CAAC,CAAC,CAAA;SACH;QAED,OAAO,GAAG,EAAE;YACV,gBAAgB,EAAE,EAAE,CAAA;YACpB,gBAAgB,EAAE,EAAE,CAAA;QACtB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { AccountInstance } from '@xyo-network/account-model';
|
|
2
1
|
import { ModuleManifest } from '@xyo-network/manifest-model';
|
|
3
2
|
import { NodeInstance } from '@xyo-network/node';
|
|
4
3
|
import { ElementDefinition } from 'cytoscape';
|
|
@@ -11,7 +10,7 @@ export declare class CytoscapeElements {
|
|
|
11
10
|
target: string | undefined;
|
|
12
11
|
};
|
|
13
12
|
};
|
|
14
|
-
static buildElements(node: NodeInstance
|
|
13
|
+
static buildElements(node: NodeInstance): Promise<ElementDefinition[] | undefined>;
|
|
15
14
|
static buildNode(manifest: ModuleManifest, address: string): ElementDefinition;
|
|
16
15
|
static buildRootNode: (node: NodeInstance) => Promise<[ModuleManifest, ElementDefinition]>;
|
|
17
16
|
static normalizeName(name?: string): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CytoscapeElements.d.ts","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeElements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CytoscapeElements.d.ts","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeElements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAI7C,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,aAAa,SAAK;IAEzB,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;;;;;;;WAU3D,aAAa,CAAC,IAAI,EAAE,YAAY;IA2B7C,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB;IAW9E,MAAM,CAAC,aAAa,SAAgB,YAAY,KAAG,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAG9F;IAED,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM;CAKnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProvidedNodeRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/ProvidedNodeRenderer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"ProvidedNodeRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/ProvidedNodeRenderer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIhD,OAAO,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAA;AAGhD,MAAM,WAAW,yBAA0B,SAAQ,wBAAwB;IACzE,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAMpE,CAAA"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { AccountInstance } from '@xyo-network/account-model';
|
|
2
1
|
import { NodeInstance } from '@xyo-network/node';
|
|
3
2
|
import { ElementDefinition } from 'cytoscape';
|
|
4
3
|
/**
|
|
5
4
|
* Note: Relies on describe but could eventually be converted to a discover call
|
|
6
5
|
* Logic would be similar to what the bridge does
|
|
7
6
|
*/
|
|
8
|
-
export declare const useCytoscapeElements: (targetNode: NodeInstance | undefined | null
|
|
7
|
+
export declare const useCytoscapeElements: (targetNode: NodeInstance | undefined | null) => ElementDefinition[];
|
|
9
8
|
//# sourceMappingURL=useCytoscapeElements.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCytoscapeElements.d.ts","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useCytoscapeElements.d.ts","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAK7C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,eAAgB,YAAY,GAAG,SAAS,GAAG,IAAI,wBAoC/E,CAAA"}
|
package/package.json
CHANGED
|
@@ -10,19 +10,19 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/react-async-effect": "~2.17.
|
|
14
|
-
"@xylabs/react-flexbox": "~2.17.
|
|
15
|
-
"@xylabs/react-shared": "~2.17.
|
|
16
|
-
"@xyo-network/account-model": "^2.67.0
|
|
17
|
-
"@xyo-network/archivist-model": "^2.67.0
|
|
18
|
-
"@xyo-network/diviner-model": "^2.67.0
|
|
19
|
-
"@xyo-network/manifest-model": "^2.67.0
|
|
20
|
-
"@xyo-network/module": "^2.67.0
|
|
21
|
-
"@xyo-network/node": "^2.67.0
|
|
22
|
-
"@xyo-network/react-archivist": "~2.58.0
|
|
23
|
-
"@xyo-network/react-module": "~2.58.0
|
|
24
|
-
"@xyo-network/react-node": "~2.58.0
|
|
25
|
-
"@xyo-network/react-shared": "~2.58.0
|
|
13
|
+
"@xylabs/react-async-effect": "~2.17.7",
|
|
14
|
+
"@xylabs/react-flexbox": "~2.17.7",
|
|
15
|
+
"@xylabs/react-shared": "~2.17.7",
|
|
16
|
+
"@xyo-network/account-model": "^2.67.0",
|
|
17
|
+
"@xyo-network/archivist-model": "^2.67.0",
|
|
18
|
+
"@xyo-network/diviner-model": "^2.67.0",
|
|
19
|
+
"@xyo-network/manifest-model": "^2.67.0",
|
|
20
|
+
"@xyo-network/module": "^2.67.0",
|
|
21
|
+
"@xyo-network/node": "^2.67.0",
|
|
22
|
+
"@xyo-network/react-archivist": "~2.58.0",
|
|
23
|
+
"@xyo-network/react-module": "~2.58.0",
|
|
24
|
+
"@xyo-network/react-node": "~2.58.0",
|
|
25
|
+
"@xyo-network/react-shared": "~2.58.0",
|
|
26
26
|
"cytoscape": "^3.25.0"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
@@ -40,15 +40,15 @@
|
|
|
40
40
|
"@types/react-dom": "^18.2.7",
|
|
41
41
|
"@xylabs/ts-scripts-yarn3": "^2.19.0",
|
|
42
42
|
"@xylabs/tsconfig-react": "^2.19.0",
|
|
43
|
-
"@xyo-network/archivist": "^2.67.0
|
|
44
|
-
"@xyo-network/http-bridge": "^2.67.0
|
|
45
|
-
"@xyo-network/id-plugin": "^2.67.0
|
|
46
|
-
"@xyo-network/module": "^2.67.0
|
|
47
|
-
"@xyo-network/node": "^2.67.0
|
|
48
|
-
"@xyo-network/react-node": "~2.58.0
|
|
49
|
-
"@xyo-network/react-storybook": "~2.58.0
|
|
50
|
-
"@xyo-network/react-wallet": "~2.58.0
|
|
51
|
-
"@xyo-network/sentinel": "^2.67.0
|
|
43
|
+
"@xyo-network/archivist": "^2.67.0",
|
|
44
|
+
"@xyo-network/http-bridge": "^2.67.0",
|
|
45
|
+
"@xyo-network/id-plugin": "^2.67.0",
|
|
46
|
+
"@xyo-network/module": "^2.67.0",
|
|
47
|
+
"@xyo-network/node": "^2.67.0",
|
|
48
|
+
"@xyo-network/react-node": "~2.58.0",
|
|
49
|
+
"@xyo-network/react-storybook": "~2.58.0",
|
|
50
|
+
"@xyo-network/react-wallet": "~2.58.0",
|
|
51
|
+
"@xyo-network/sentinel": "^2.67.0",
|
|
52
52
|
"typescript": "^5.1.6"
|
|
53
53
|
},
|
|
54
54
|
"description": "Common React library for all XYO projects that use React",
|
|
@@ -94,6 +94,5 @@
|
|
|
94
94
|
},
|
|
95
95
|
"sideEffects": false,
|
|
96
96
|
"types": "dist/types/index.d.ts",
|
|
97
|
-
"version": "2.58.0
|
|
98
|
-
"stableVersion": "2.57.7"
|
|
97
|
+
"version": "2.58.0"
|
|
99
98
|
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { AccountInstance } from '@xyo-network/account-model'
|
|
2
1
|
import { ModuleManifest } from '@xyo-network/manifest-model'
|
|
3
|
-
import { isModuleInstance, ModuleWrapper } from '@xyo-network/module'
|
|
4
2
|
import { NodeInstance } from '@xyo-network/node'
|
|
5
3
|
import { ElementDefinition } from 'cytoscape'
|
|
6
4
|
|
|
@@ -19,16 +17,13 @@ export class CytoscapeElements {
|
|
|
19
17
|
}
|
|
20
18
|
}
|
|
21
19
|
|
|
22
|
-
static async buildElements(node: NodeInstance
|
|
20
|
+
static async buildElements(node: NodeInstance) {
|
|
23
21
|
try {
|
|
24
22
|
const [, newRootNode] = await CytoscapeElements.buildRootNode(node)
|
|
25
23
|
const newElements: ElementDefinition[] = [newRootNode]
|
|
26
24
|
|
|
27
25
|
const children = await Promise.all(
|
|
28
|
-
(await node.resolve()).map<Promise<[ModuleManifest, string]>>(async (child) => [
|
|
29
|
-
await (isModuleInstance(child) ? child.manifest() : ModuleWrapper.wrap(child, account).manifest()),
|
|
30
|
-
child.address,
|
|
31
|
-
]),
|
|
26
|
+
(await node.resolve()).map<Promise<[ModuleManifest, string]>>(async (child) => [await child.manifest(), child.address]),
|
|
32
27
|
)
|
|
33
28
|
await Promise.allSettled(
|
|
34
29
|
(children ?? [])?.map(async ([child, address]) => {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { AccountInstance } from '@xyo-network/account-model'
|
|
2
2
|
import { NodeInstance } from '@xyo-network/node'
|
|
3
3
|
import { useProvidedNode } from '@xyo-network/react-node'
|
|
4
|
-
import { useWallet } from '@xyo-network/react-wallet'
|
|
5
4
|
|
|
6
5
|
import { useCytoscapeElements, useCytoscapeOptions } from '../hooks'
|
|
7
6
|
import { NodeRelationalGraphProps } from './lib'
|
|
@@ -12,10 +11,9 @@ export interface ProvidedNodeRendererProps extends NodeRelationalGraphProps {
|
|
|
12
11
|
node?: NodeInstance
|
|
13
12
|
}
|
|
14
13
|
|
|
15
|
-
export const ProvidedNodeRenderer: React.FC<ProvidedNodeRendererProps> = ({ node,
|
|
14
|
+
export const ProvidedNodeRenderer: React.FC<ProvidedNodeRendererProps> = ({ node, ...props }) => {
|
|
16
15
|
const [providedNode] = useProvidedNode()
|
|
17
|
-
const
|
|
18
|
-
const elements = useCytoscapeElements(node ?? providedNode, account ?? wallet)
|
|
16
|
+
const elements = useCytoscapeElements(node ?? providedNode)
|
|
19
17
|
const options = useCytoscapeOptions(elements)
|
|
20
18
|
|
|
21
19
|
return <NodeRelationalGraph alignItems="stretch" flexGrow={1} height="100%" options={options} {...props} />
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { useAsyncEffect } from '@xylabs/react-async-effect'
|
|
2
|
-
import { AccountInstance } from '@xyo-network/account-model'
|
|
3
2
|
import { EventUnsubscribeFunction } from '@xyo-network/module'
|
|
4
3
|
import { NodeInstance } from '@xyo-network/node'
|
|
5
4
|
import { ElementDefinition } from 'cytoscape'
|
|
@@ -11,14 +10,14 @@ import { CytoscapeElements } from '../../Cytoscape'
|
|
|
11
10
|
* Note: Relies on describe but could eventually be converted to a discover call
|
|
12
11
|
* Logic would be similar to what the bridge does
|
|
13
12
|
*/
|
|
14
|
-
export const useCytoscapeElements = (targetNode: NodeInstance | undefined | null
|
|
13
|
+
export const useCytoscapeElements = (targetNode: NodeInstance | undefined | null) => {
|
|
15
14
|
const [elements, setElements] = useState<ElementDefinition[]>([])
|
|
16
15
|
|
|
17
16
|
useAsyncEffect(
|
|
18
17
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
19
18
|
async () => {
|
|
20
|
-
if (targetNode
|
|
21
|
-
const newElements = (await CytoscapeElements.buildElements(targetNode
|
|
19
|
+
if (targetNode) {
|
|
20
|
+
const newElements = (await CytoscapeElements.buildElements(targetNode)) ?? []
|
|
22
21
|
setElements(newElements)
|
|
23
22
|
}
|
|
24
23
|
},
|
|
@@ -29,13 +28,13 @@ export const useCytoscapeElements = (targetNode: NodeInstance | undefined | null
|
|
|
29
28
|
let attachedListener: EventUnsubscribeFunction | undefined = undefined
|
|
30
29
|
let detachedListener: EventUnsubscribeFunction | undefined = undefined
|
|
31
30
|
|
|
32
|
-
if (targetNode
|
|
31
|
+
if (targetNode) {
|
|
33
32
|
attachedListener = targetNode.on('moduleAttached', async () => {
|
|
34
|
-
const newElements = (await CytoscapeElements.buildElements(targetNode
|
|
33
|
+
const newElements = (await CytoscapeElements.buildElements(targetNode)) ?? []
|
|
35
34
|
setElements(newElements)
|
|
36
35
|
})
|
|
37
36
|
detachedListener = targetNode.on('moduleDetached', async () => {
|
|
38
|
-
const newElements = (await CytoscapeElements.buildElements(targetNode
|
|
37
|
+
const newElements = (await CytoscapeElements.buildElements(targetNode)) ?? []
|
|
39
38
|
setElements(newElements)
|
|
40
39
|
})
|
|
41
40
|
}
|