@xyo-network/react-node-renderer 2.58.0-rc.2 → 2.58.0-rc.3
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 +4 -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/esm/Cytoscape/CytoscapeElements.js +4 -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 +20 -20
- package/src/Cytoscape/CytoscapeElements.ts +4 -7
- package/src/components/ProvidedNodeRenderer.tsx +2 -4
- package/src/hooks/cytoscape/useCytoscapeElements.ts +6 -7
|
@@ -3,7 +3,6 @@ var _a;
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.CytoscapeElements = void 0;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
|
-
const module_1 = require("@xyo-network/module");
|
|
7
6
|
const lib_1 = require("./lib");
|
|
8
7
|
class CytoscapeElements {
|
|
9
8
|
static buildEdge(rootNode, newNode) {
|
|
@@ -15,18 +14,15 @@ class CytoscapeElements {
|
|
|
15
14
|
},
|
|
16
15
|
};
|
|
17
16
|
}
|
|
18
|
-
static buildElements(node
|
|
17
|
+
static buildElements(node) {
|
|
19
18
|
var _b;
|
|
20
19
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
console.log('buildElements: Start');
|
|
21
21
|
try {
|
|
22
22
|
const [, newRootNode] = yield CytoscapeElements.buildRootNode(node);
|
|
23
23
|
const newElements = [newRootNode];
|
|
24
|
-
const children = yield Promise.all((yield node.resolve()).map((child) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
|
|
26
|
-
yield ((0, module_1.isModuleInstance)(child) ? child.manifest() : module_1.ModuleWrapper.wrap(child, account).manifest()),
|
|
27
|
-
child.address,
|
|
28
|
-
];
|
|
29
|
-
})));
|
|
24
|
+
const children = yield Promise.all((yield node.resolve()).map((child) => tslib_1.__awaiter(this, void 0, void 0, function* () { return [yield child.manifest(), child.address]; })));
|
|
25
|
+
console.log(`buildElements: ${JSON.stringify(children[0], null, 2)}`);
|
|
30
26
|
yield Promise.allSettled((_b = (children !== null && children !== void 0 ? children : [])) === null || _b === void 0 ? void 0 : _b.map(([child, address]) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
31
27
|
try {
|
|
32
28
|
const newNode = yield 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,+BAAuC;AAEvC,MAAa,iBAAiB;IAG5B,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,CAAO,aAAa,CAAC,IAAkB;;;YAC3C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;YACnC,IAAI;gBACF,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;gBACnE,MAAM,WAAW,GAAwB,CAAC,WAAW,CAAC,CAAA;gBAEtD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAoC,CAAO,KAAK,EAAE,EAAE,wDAAC,OAAA,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA,GAAA,CAAC,CACxH,CAAA;gBACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;gBACrE,MAAM,OAAO,CAAC,UAAU,CACtB,MAAA,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,0CAAE,GAAG,CAAC,CAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;oBAC/C,IAAI;wBACF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;wBACjE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;wBAEzB,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;wBACjE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;qBAC1B;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;qBAC3C;gBACH,CAAC,CAAA,CAAC,CACH,CAAA;gBACD,OAAO,WAAW,CAAA;aACnB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAA;aACtD;;KACF;IAED,MAAM,CAAC,SAAS,CAAC,QAAwB,EAAE,OAAe;;QACxD,MAAM,SAAS,GAAG,MAAA,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAI,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAClG,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO;gBACP,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,IAAA,qBAAe,EAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;aAC9C;SACF,CAAA;IACH,CAAC;IAOD,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;;AA9DH,8CA+DC;;AA9DQ,+BAAa,GAAG,EAAE,CAAA;AAoDlB,+BAAa,GAAG,CAAO,IAAkB,EAAgD,EAAE;IAChG,MAAM,QAAQ,GAAG,MAAM,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,EAAE,CAAA,CAAA;IACvC,OAAO,CAAC,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;AACxE,CAAC,CAAA,CAAA"}
|
|
@@ -4,14 +4,12 @@ exports.ProvidedNodeRenderer = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const react_node_1 = require("@xyo-network/react-node");
|
|
7
|
-
const react_wallet_1 = require("@xyo-network/react-wallet");
|
|
8
7
|
const hooks_1 = require("../hooks");
|
|
9
8
|
const RelationalGraph_1 = require("./RelationalGraph");
|
|
10
9
|
const ProvidedNodeRenderer = (_a) => {
|
|
11
|
-
var { node
|
|
10
|
+
var { node } = _a, props = tslib_1.__rest(_a, ["node"]);
|
|
12
11
|
const [providedNode] = (0, react_node_1.useProvidedNode)();
|
|
13
|
-
const
|
|
14
|
-
const elements = (0, hooks_1.useCytoscapeElements)(node !== null && node !== void 0 ? node : providedNode, account !== null && account !== void 0 ? account : wallet);
|
|
12
|
+
const elements = (0, hooks_1.useCytoscapeElements)(node !== null && node !== void 0 ? node : providedNode);
|
|
15
13
|
const options = (0, hooks_1.useCytoscapeOptions)(elements);
|
|
16
14
|
return (0, jsx_runtime_1.jsx)(RelationalGraph_1.NodeRelationalGraph, Object.assign({ alignItems: "stretch", flexGrow: 1, height: "100%", options: options }, props));
|
|
17
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProvidedNodeRenderer.js","sourceRoot":"","sources":["../../../src/components/ProvidedNodeRenderer.tsx"],"names":[],"mappings":";;;;;AAEA,wDAAyD;
|
|
1
|
+
{"version":3,"file":"ProvidedNodeRenderer.js","sourceRoot":"","sources":["../../../src/components/ProvidedNodeRenderer.tsx"],"names":[],"mappings":";;;;;AAEA,wDAAyD;AAEzD,oCAAoE;AAEpE,uDAAuD;AAOhD,MAAM,oBAAoB,GAAwC,CAAC,EAAkB,EAAE,EAAE;QAAtB,EAAE,IAAI,OAAY,EAAP,KAAK,sBAAhB,QAAkB,CAAF;IACxF,MAAM,CAAC,YAAY,CAAC,GAAG,IAAA,4BAAe,GAAE,CAAA;IACxC,MAAM,QAAQ,GAAG,IAAA,4BAAoB,EAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,YAAY,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,IAAA,2BAAmB,EAAC,QAAQ,CAAC,CAAA;IAE7C,OAAO,uBAAC,qCAAmB,kBAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAC,MAAM,EAAC,OAAO,EAAE,OAAO,IAAM,KAAK,EAAI,CAAA;AAC7G,CAAC,CAAA;AANY,QAAA,oBAAoB,wBAMhC"}
|
|
@@ -9,29 +9,29 @@ const Cytoscape_1 = require("../../Cytoscape");
|
|
|
9
9
|
* Note: Relies on describe but could eventually be converted to a discover call
|
|
10
10
|
* Logic would be similar to what the bridge does
|
|
11
11
|
*/
|
|
12
|
-
const useCytoscapeElements = (targetNode
|
|
12
|
+
const useCytoscapeElements = (targetNode) => {
|
|
13
13
|
const [elements, setElements] = (0, react_1.useState)([]);
|
|
14
14
|
(0, react_async_effect_1.useAsyncEffect)(
|
|
15
15
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
16
16
|
() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
17
17
|
var _a;
|
|
18
|
-
if (targetNode
|
|
19
|
-
const newElements = (_a = (yield Cytoscape_1.CytoscapeElements.buildElements(targetNode
|
|
18
|
+
if (targetNode) {
|
|
19
|
+
const newElements = (_a = (yield Cytoscape_1.CytoscapeElements.buildElements(targetNode))) !== null && _a !== void 0 ? _a : [];
|
|
20
20
|
setElements(newElements);
|
|
21
21
|
}
|
|
22
22
|
}), [targetNode]);
|
|
23
23
|
(0, react_1.useEffect)(() => {
|
|
24
24
|
let attachedListener = undefined;
|
|
25
25
|
let detachedListener = undefined;
|
|
26
|
-
if (targetNode
|
|
26
|
+
if (targetNode) {
|
|
27
27
|
attachedListener = targetNode.on('moduleAttached', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
28
28
|
var _a;
|
|
29
|
-
const newElements = (_a = (yield Cytoscape_1.CytoscapeElements.buildElements(targetNode
|
|
29
|
+
const newElements = (_a = (yield Cytoscape_1.CytoscapeElements.buildElements(targetNode))) !== null && _a !== void 0 ? _a : [];
|
|
30
30
|
setElements(newElements);
|
|
31
31
|
}));
|
|
32
32
|
detachedListener = targetNode.on('moduleDetached', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
33
33
|
var _b;
|
|
34
|
-
const newElements = (_b = (yield Cytoscape_1.CytoscapeElements.buildElements(targetNode
|
|
34
|
+
const newElements = (_b = (yield Cytoscape_1.CytoscapeElements.buildElements(targetNode))) !== null && _b !== void 0 ? _b : [];
|
|
35
35
|
setElements(newElements);
|
|
36
36
|
}));
|
|
37
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCytoscapeElements.js","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":";;;;AAAA,mEAA2D;
|
|
1
|
+
{"version":3,"file":"useCytoscapeElements.js","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":";;;;AAAA,mEAA2D;AAI3D,iCAA2C;AAE3C,+CAAmD;AAEnD;;;GAGG;AACI,MAAM,oBAAoB,GAAG,CAAC,UAA2C,EAAE,EAAE;IAClF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAsB,EAAE,CAAC,CAAA;IAEjE,IAAA,mCAAc;IACZ,uDAAuD;IACvD,GAAS,EAAE;;QACT,IAAI,UAAU,EAAE;YACd,MAAM,WAAW,GAAG,MAAA,CAAC,MAAM,6BAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,mCAAI,EAAE,CAAA;YAC7E,WAAW,CAAC,WAAW,CAAC,CAAA;SACzB;IACH,CAAC,CAAA,EACD,CAAC,UAAU,CAAC,CACb,CAAA;IAED,IAAA,iBAAS,EAAC,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,GAAS,EAAE;;gBAC5D,MAAM,WAAW,GAAG,MAAA,CAAC,MAAM,6BAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,mCAAI,EAAE,CAAA;gBAC7E,WAAW,CAAC,WAAW,CAAC,CAAA;YAC1B,CAAC,CAAA,CAAC,CAAA;YACF,gBAAgB,GAAG,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAS,EAAE;;gBAC5D,MAAM,WAAW,GAAG,MAAA,CAAC,MAAM,6BAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,mCAAI,EAAE,CAAA;gBAC7E,WAAW,CAAC,WAAW,CAAC,CAAA;YAC1B,CAAC,CAAA,CAAC,CAAA;SACH;QAED,OAAO,GAAG,EAAE;YACV,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,EAAI,CAAA;YACpB,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,EAAI,CAAA;QACtB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AApCY,QAAA,oBAAoB,wBAoChC"}
|
|
@@ -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,13 @@ export class CytoscapeElements {
|
|
|
11
10
|
},
|
|
12
11
|
};
|
|
13
12
|
}
|
|
14
|
-
static async buildElements(node
|
|
13
|
+
static async buildElements(node) {
|
|
14
|
+
console.log('buildElements: Start');
|
|
15
15
|
try {
|
|
16
16
|
const [, newRootNode] = await CytoscapeElements.buildRootNode(node);
|
|
17
17
|
const newElements = [newRootNode];
|
|
18
|
-
const children = await Promise.all((await node.resolve()).map(async (child) => [
|
|
19
|
-
|
|
20
|
-
child.address,
|
|
21
|
-
]));
|
|
18
|
+
const children = await Promise.all((await node.resolve()).map(async (child) => [await child.manifest(), child.address]));
|
|
19
|
+
console.log(`buildElements: ${JSON.stringify(children[0], null, 2)}`);
|
|
22
20
|
await Promise.allSettled((children ?? [])?.map(async ([child, address]) => {
|
|
23
21
|
try {
|
|
24
22
|
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":"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"}
|
|
@@ -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;IA6B7C,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
|
@@ -13,16 +13,16 @@
|
|
|
13
13
|
"@xylabs/react-async-effect": "~2.17.6",
|
|
14
14
|
"@xylabs/react-flexbox": "~2.17.6",
|
|
15
15
|
"@xylabs/react-shared": "~2.17.6",
|
|
16
|
-
"@xyo-network/account-model": "^2.67.0-rc.
|
|
17
|
-
"@xyo-network/archivist-model": "^2.67.0-rc.
|
|
18
|
-
"@xyo-network/diviner-model": "^2.67.0-rc.
|
|
19
|
-
"@xyo-network/manifest-model": "^2.67.0-rc.
|
|
20
|
-
"@xyo-network/module": "^2.67.0-rc.
|
|
21
|
-
"@xyo-network/node": "^2.67.0-rc.
|
|
22
|
-
"@xyo-network/react-archivist": "~2.58.0-rc.
|
|
23
|
-
"@xyo-network/react-module": "~2.58.0-rc.
|
|
24
|
-
"@xyo-network/react-node": "~2.58.0-rc.
|
|
25
|
-
"@xyo-network/react-shared": "~2.58.0-rc.
|
|
16
|
+
"@xyo-network/account-model": "^2.67.0-rc.4",
|
|
17
|
+
"@xyo-network/archivist-model": "^2.67.0-rc.4",
|
|
18
|
+
"@xyo-network/diviner-model": "^2.67.0-rc.4",
|
|
19
|
+
"@xyo-network/manifest-model": "^2.67.0-rc.4",
|
|
20
|
+
"@xyo-network/module": "^2.67.0-rc.4",
|
|
21
|
+
"@xyo-network/node": "^2.67.0-rc.4",
|
|
22
|
+
"@xyo-network/react-archivist": "~2.58.0-rc.3",
|
|
23
|
+
"@xyo-network/react-module": "~2.58.0-rc.3",
|
|
24
|
+
"@xyo-network/react-node": "~2.58.0-rc.3",
|
|
25
|
+
"@xyo-network/react-shared": "~2.58.0-rc.3",
|
|
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-rc.
|
|
44
|
-
"@xyo-network/http-bridge": "^2.67.0-rc.
|
|
45
|
-
"@xyo-network/id-plugin": "^2.67.0-rc.
|
|
46
|
-
"@xyo-network/module": "^2.67.0-rc.
|
|
47
|
-
"@xyo-network/node": "^2.67.0-rc.
|
|
48
|
-
"@xyo-network/react-node": "~2.58.0-rc.
|
|
49
|
-
"@xyo-network/react-storybook": "~2.58.0-rc.
|
|
50
|
-
"@xyo-network/react-wallet": "~2.58.0-rc.
|
|
51
|
-
"@xyo-network/sentinel": "^2.67.0-rc.
|
|
43
|
+
"@xyo-network/archivist": "^2.67.0-rc.4",
|
|
44
|
+
"@xyo-network/http-bridge": "^2.67.0-rc.4",
|
|
45
|
+
"@xyo-network/id-plugin": "^2.67.0-rc.4",
|
|
46
|
+
"@xyo-network/module": "^2.67.0-rc.4",
|
|
47
|
+
"@xyo-network/node": "^2.67.0-rc.4",
|
|
48
|
+
"@xyo-network/react-node": "~2.58.0-rc.3",
|
|
49
|
+
"@xyo-network/react-storybook": "~2.58.0-rc.3",
|
|
50
|
+
"@xyo-network/react-wallet": "~2.58.0-rc.3",
|
|
51
|
+
"@xyo-network/sentinel": "^2.67.0-rc.4",
|
|
52
52
|
"typescript": "^5.1.6"
|
|
53
53
|
},
|
|
54
54
|
"description": "Common React library for all XYO projects that use React",
|
|
@@ -94,6 +94,6 @@
|
|
|
94
94
|
},
|
|
95
95
|
"sideEffects": false,
|
|
96
96
|
"types": "dist/types/index.d.ts",
|
|
97
|
-
"version": "2.58.0-rc.
|
|
97
|
+
"version": "2.58.0-rc.3",
|
|
98
98
|
"stableVersion": "2.57.7"
|
|
99
99
|
}
|
|
@@ -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,17 +17,16 @@ export class CytoscapeElements {
|
|
|
19
17
|
}
|
|
20
18
|
}
|
|
21
19
|
|
|
22
|
-
static async buildElements(node: NodeInstance
|
|
20
|
+
static async buildElements(node: NodeInstance) {
|
|
21
|
+
console.log('buildElements: Start')
|
|
23
22
|
try {
|
|
24
23
|
const [, newRootNode] = await CytoscapeElements.buildRootNode(node)
|
|
25
24
|
const newElements: ElementDefinition[] = [newRootNode]
|
|
26
25
|
|
|
27
26
|
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
|
-
]),
|
|
27
|
+
(await node.resolve()).map<Promise<[ModuleManifest, string]>>(async (child) => [await child.manifest(), child.address]),
|
|
32
28
|
)
|
|
29
|
+
console.log(`buildElements: ${JSON.stringify(children[0], null, 2)}`)
|
|
33
30
|
await Promise.allSettled(
|
|
34
31
|
(children ?? [])?.map(async ([child, address]) => {
|
|
35
32
|
try {
|
|
@@ -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
|
}
|