@xyo-network/react-node-renderer 2.47.38 → 2.47.39

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.
@@ -2,15 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CyIconSet = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const CallMergeRounded_1 = tslib_1.__importDefault(require("@mui/icons-material/CallMergeRounded"));
6
- const GridViewRounded_1 = tslib_1.__importDefault(require("@mui/icons-material/GridViewRounded"));
5
+ const BubbleChartRounded_1 = tslib_1.__importDefault(require("@mui/icons-material/BubbleChartRounded"));
7
6
  const Hub_1 = tslib_1.__importDefault(require("@mui/icons-material/Hub"));
7
+ const Inventory2Rounded_1 = tslib_1.__importDefault(require("@mui/icons-material/Inventory2Rounded"));
8
8
  const QuestionMarkRounded_1 = tslib_1.__importDefault(require("@mui/icons-material/QuestionMarkRounded"));
9
9
  const VisibilityRounded_1 = tslib_1.__importDefault(require("@mui/icons-material/VisibilityRounded"));
10
10
  // eslint-disable-next-line @typescript-eslint/ban-types
11
11
  exports.CyIconSet = {
12
- archivist: GridViewRounded_1.default,
13
- diviner: CallMergeRounded_1.default,
12
+ archivist: Inventory2Rounded_1.default,
13
+ diviner: BubbleChartRounded_1.default,
14
14
  module: QuestionMarkRounded_1.default,
15
15
  node: Hub_1.default,
16
16
  witness: VisibilityRounded_1.default,
@@ -1 +1 @@
1
- {"version":3,"file":"CytoscapeIcons.js","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeIcons.tsx"],"names":[],"mappings":";;;;AAAA,oGAAuE;AACvE,kGAAqE;AACrE,0EAA6C;AAC7C,0GAA6E;AAC7E,sGAAyE;AAMzE,wDAAwD;AAC3C,QAAA,SAAS,GAAyE;IAC7F,SAAS,EAAE,yBAAmB;IAC9B,OAAO,EAAE,0BAAoB;IAC7B,MAAM,EAAE,6BAAuB;IAC/B,IAAI,EAAE,aAAO;IACb,OAAO,EAAE,2BAAqB;CAC/B,CAAA"}
1
+ {"version":3,"file":"CytoscapeIcons.js","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeIcons.tsx"],"names":[],"mappings":";;;;AAAA,wGAA2E;AAC3E,0EAA6C;AAC7C,sGAAyE;AACzE,0GAA6E;AAC7E,sGAAyE;AAMzE,wDAAwD;AAC3C,QAAA,SAAS,GAAyE;IAC7F,SAAS,EAAE,2BAAqB;IAChC,OAAO,EAAE,4BAAsB;IAC/B,MAAM,EAAE,6BAAuB;IAC/B,IAAI,EAAE,aAAO;IACb,OAAO,EAAE,2BAAqB;CAC/B,CAAA"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useCytoscapeElements = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_shared_1 = require("@xylabs/react-shared");
6
+ const node_1 = require("@xyo-network/node");
6
7
  const react_node_1 = require("@xyo-network/react-node");
7
8
  const react_1 = require("react");
8
9
  const Cytoscape_1 = require("../../Cytoscape");
@@ -10,23 +11,32 @@ const Cytoscape_1 = require("../../Cytoscape");
10
11
  * Note: Relies on describe but could eventually be converted to a discover call
11
12
  * Logic would be similar to what the bridge does
12
13
  */
13
- const useCytoscapeElements = () => {
14
+ const useCytoscapeElements = (nodeAddressOrName, onModuleError) => {
14
15
  const [node] = (0, react_node_1.useProvidedWrappedNode)();
16
+ const [module, moduleError] = (0, react_node_1.useModule)(nodeAddressOrName);
15
17
  const [elements, setElements] = (0, react_1.useState)([]);
16
18
  const [refresh, setRefresh] = (0, react_1.useState)(1);
19
+ (0, react_1.useEffect)(() => {
20
+ if (moduleError)
21
+ onModuleError === null || onModuleError === void 0 ? void 0 : onModuleError(moduleError);
22
+ }, [moduleError, onModuleError]);
17
23
  (0, react_shared_1.useAsyncEffect)(
18
24
  // eslint-disable-next-line react-hooks/exhaustive-deps
19
25
  (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
20
26
  var _a;
21
- if (node && refresh) {
27
+ if ((node || module) && refresh) {
28
+ const wrappedNode = nodeAddressOrName ? node_1.NodeWrapper.wrap(module) : node;
29
+ if (!wrappedNode) {
30
+ return;
31
+ }
22
32
  try {
23
- const [description, newRootNode] = yield Cytoscape_1.CytoscapeElements.buildRootNode(node);
33
+ const [description, newRootNode] = yield Cytoscape_1.CytoscapeElements.buildRootNode(wrappedNode);
24
34
  if (mounted())
25
35
  setElements(() => [newRootNode]);
26
36
  const children = description.children;
27
37
  yield Promise.allSettled((_a = (children !== null && children !== void 0 ? children : [])) === null || _a === void 0 ? void 0 : _a.map((address) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
28
38
  try {
29
- const newNode = yield Cytoscape_1.CytoscapeElements.buildChild(node, address);
39
+ const newNode = yield Cytoscape_1.CytoscapeElements.buildChild(wrappedNode, address);
30
40
  if (mounted())
31
41
  setElements((previous) => [...previous, newNode]);
32
42
  const newEdge = Cytoscape_1.CytoscapeElements.buildEdge(newRootNode, newNode);
@@ -42,7 +52,7 @@ const useCytoscapeElements = () => {
42
52
  console.error('Error Getting initial description', e);
43
53
  }
44
54
  }
45
- }), [node, refresh]);
55
+ }), [module, node, nodeAddressOrName, refresh]);
46
56
  (0, react_1.useEffect)(() => {
47
57
  let listener;
48
58
  if (node) {
@@ -1 +1 @@
1
- {"version":3,"file":"useCytoscapeElements.js","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":";;;;AAAA,uDAAqD;AAErD,wDAAgE;AAEhE,iCAA2C;AAE3C,+CAAmD;AAEnD;;;GAGG;AACI,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,mCAAsB,GAAE,CAAA;IACvC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAsB,EAAE,CAAC,CAAA;IACjE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAA;IAEzC,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;;QAChB,IAAI,IAAI,IAAI,OAAO,EAAE;YACnB,IAAI;gBACF,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,6BAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;gBAC9E,IAAI,OAAO,EAAE;oBAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;gBAE/C,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;gBACrC,MAAM,OAAO,CAAC,UAAU,CACtB,MAAA,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,0CAAE,GAAG,CAAC,CAAO,OAAO,EAAE,EAAE;oBACtC,IAAI;wBACF,MAAM,OAAO,GAAG,MAAM,6BAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;wBACjE,IAAI,OAAO,EAAE;4BAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;wBAEhE,MAAM,OAAO,GAAG,6BAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;wBACjE,IAAI,OAAO,EAAE;4BAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;qBACjE;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;qBAC3C;gBACH,CAAC,CAAA,CAAC,CACH,CAAA;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAA;aACtD;SACF;IACH,CAAC,CAAA,EACD,CAAC,IAAI,EAAE,OAAO,CAAC,CAChB,CAAA;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,QAAkC,CAAA;QACtC,IAAI,IAAI,EAAE;YACR,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE;gBAClC,IAAI,SAAS,KAAK,gBAAgB;oBAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;YAC5E,CAAC,CAAC,CAAA;SACH;QACD,OAAO,GAAG,EAAE,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,EAAI,CAAA;IAC3B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AA9CY,QAAA,oBAAoB,wBA8ChC"}
1
+ {"version":3,"file":"useCytoscapeElements.js","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":"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"}
package/dist/docs.json CHANGED
@@ -12975,7 +12975,7 @@
12975
12975
  "fileName": "packages/sdk/packages/node-renderer/src/components/RelationalGraph.tsx",
12976
12976
  "line": 8,
12977
12977
  "character": 2,
12978
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c3ce641db/packages/sdk/packages/node-renderer/src/components/RelationalGraph.tsx#L8"
12978
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/3ea0026c4/packages/sdk/packages/node-renderer/src/components/RelationalGraph.tsx#L8"
12979
12979
  }
12980
12980
  ],
12981
12981
  "type": {
@@ -18398,13 +18398,13 @@
18398
18398
  "fileName": "packages/sdk/packages/node-renderer/src/components/RelationalGraph.tsx",
18399
18399
  "line": 7,
18400
18400
  "character": 17,
18401
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c3ce641db/packages/sdk/packages/node-renderer/src/components/RelationalGraph.tsx#L7"
18401
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/3ea0026c4/packages/sdk/packages/node-renderer/src/components/RelationalGraph.tsx#L7"
18402
18402
  },
18403
18403
  {
18404
18404
  "fileName": "packages/sdk/packages/node-renderer/src/components/RelationalGraph.tsx",
18405
18405
  "line": 11,
18406
18406
  "character": 13,
18407
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c3ce641db/packages/sdk/packages/node-renderer/src/components/RelationalGraph.tsx#L11"
18407
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/3ea0026c4/packages/sdk/packages/node-renderer/src/components/RelationalGraph.tsx#L11"
18408
18408
  }
18409
18409
  ],
18410
18410
  "extendedTypes": [
@@ -18427,13 +18427,13 @@
18427
18427
  "fileName": "packages/sdk/packages/node-renderer/src/components/RelationalGraph.tsx",
18428
18428
  "line": 7,
18429
18429
  "character": 17,
18430
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c3ce641db/packages/sdk/packages/node-renderer/src/components/RelationalGraph.tsx#L7"
18430
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/3ea0026c4/packages/sdk/packages/node-renderer/src/components/RelationalGraph.tsx#L7"
18431
18431
  },
18432
18432
  {
18433
18433
  "fileName": "packages/sdk/packages/node-renderer/src/components/RelationalGraph.tsx",
18434
18434
  "line": 11,
18435
18435
  "character": 13,
18436
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c3ce641db/packages/sdk/packages/node-renderer/src/components/RelationalGraph.tsx#L11"
18436
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/3ea0026c4/packages/sdk/packages/node-renderer/src/components/RelationalGraph.tsx#L11"
18437
18437
  }
18438
18438
  ],
18439
18439
  "signatures": [
@@ -18538,9 +18538,9 @@
18538
18538
  "sources": [
18539
18539
  {
18540
18540
  "fileName": "packages/sdk/packages/node-renderer/src/hooks/cytoscape/useCytoscapeElements.ts",
18541
- "line": 13,
18541
+ "line": 14,
18542
18542
  "character": 13,
18543
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c3ce641db/packages/sdk/packages/node-renderer/src/hooks/cytoscape/useCytoscapeElements.ts#L13"
18543
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/3ea0026c4/packages/sdk/packages/node-renderer/src/hooks/cytoscape/useCytoscapeElements.ts#L14"
18544
18544
  }
18545
18545
  ],
18546
18546
  "signatures": [
@@ -18558,6 +18558,76 @@
18558
18558
  }
18559
18559
  ]
18560
18560
  },
18561
+ "parameters": [
18562
+ {
18563
+ "id": 382,
18564
+ "name": "nodeAddressOrName",
18565
+ "kind": 32768,
18566
+ "kindString": "Parameter",
18567
+ "flags": {
18568
+ "isOptional": true
18569
+ },
18570
+ "type": {
18571
+ "type": "intrinsic",
18572
+ "name": "string"
18573
+ }
18574
+ },
18575
+ {
18576
+ "id": 383,
18577
+ "name": "onModuleError",
18578
+ "kind": 32768,
18579
+ "kindString": "Parameter",
18580
+ "flags": {
18581
+ "isOptional": true
18582
+ },
18583
+ "type": {
18584
+ "type": "reflection",
18585
+ "declaration": {
18586
+ "id": 384,
18587
+ "name": "__type",
18588
+ "kind": 65536,
18589
+ "kindString": "Type literal",
18590
+ "flags": {},
18591
+ "sources": [
18592
+ {
18593
+ "fileName": "packages/sdk/packages/node-renderer/src/hooks/cytoscape/useCytoscapeElements.ts",
18594
+ "line": 14,
18595
+ "character": 81,
18596
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/3ea0026c4/packages/sdk/packages/node-renderer/src/hooks/cytoscape/useCytoscapeElements.ts#L14"
18597
+ }
18598
+ ],
18599
+ "signatures": [
18600
+ {
18601
+ "id": 385,
18602
+ "name": "__type",
18603
+ "kind": 4096,
18604
+ "kindString": "Call signature",
18605
+ "flags": {},
18606
+ "parameters": [
18607
+ {
18608
+ "id": 386,
18609
+ "name": "error",
18610
+ "kind": 32768,
18611
+ "kindString": "Parameter",
18612
+ "flags": {},
18613
+ "type": {
18614
+ "type": "reference",
18615
+ "name": "Error",
18616
+ "qualifiedName": "Error",
18617
+ "package": "typescript"
18618
+ }
18619
+ }
18620
+ ],
18621
+ "type": {
18622
+ "type": "intrinsic",
18623
+ "name": "void"
18624
+ }
18625
+ }
18626
+ ]
18627
+ }
18628
+ }
18629
+ }
18630
+ ],
18561
18631
  "type": {
18562
18632
  "type": "array",
18563
18633
  "elementType": {
@@ -18571,7 +18641,7 @@
18571
18641
  ]
18572
18642
  },
18573
18643
  {
18574
- "id": 382,
18644
+ "id": 387,
18575
18645
  "name": "useCytoscapeOptions",
18576
18646
  "kind": 64,
18577
18647
  "kindString": "Function",
@@ -18581,19 +18651,19 @@
18581
18651
  "fileName": "packages/sdk/packages/node-renderer/src/hooks/cytoscape/useCytoscapeOptions.ts",
18582
18652
  "line": 7,
18583
18653
  "character": 13,
18584
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c3ce641db/packages/sdk/packages/node-renderer/src/hooks/cytoscape/useCytoscapeOptions.ts#L7"
18654
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/3ea0026c4/packages/sdk/packages/node-renderer/src/hooks/cytoscape/useCytoscapeOptions.ts#L7"
18585
18655
  }
18586
18656
  ],
18587
18657
  "signatures": [
18588
18658
  {
18589
- "id": 383,
18659
+ "id": 388,
18590
18660
  "name": "useCytoscapeOptions",
18591
18661
  "kind": 4096,
18592
18662
  "kindString": "Call signature",
18593
18663
  "flags": {},
18594
18664
  "parameters": [
18595
18665
  {
18596
- "id": 384,
18666
+ "id": 389,
18597
18667
  "name": "elements",
18598
18668
  "kind": 32768,
18599
18669
  "kindString": "Parameter",
@@ -18655,7 +18725,7 @@
18655
18725
  }
18656
18726
  },
18657
18727
  {
18658
- "id": 385,
18728
+ "id": 390,
18659
18729
  "name": "style",
18660
18730
  "kind": 32768,
18661
18731
  "kindString": "Parameter",
@@ -18695,7 +18765,7 @@
18695
18765
  }
18696
18766
  },
18697
18767
  {
18698
- "id": 386,
18768
+ "id": 391,
18699
18769
  "name": "layout",
18700
18770
  "kind": 32768,
18701
18771
  "kindString": "Parameter",
@@ -18732,7 +18802,7 @@
18732
18802
  "children": [
18733
18803
  1,
18734
18804
  380,
18735
- 382
18805
+ 387
18736
18806
  ]
18737
18807
  }
18738
18808
  ],
@@ -18741,7 +18811,7 @@
18741
18811
  "fileName": "packages/sdk/packages/node-renderer/src/index.ts",
18742
18812
  "line": 1,
18743
18813
  "character": 0,
18744
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/c3ce641db/packages/sdk/packages/node-renderer/src/index.ts#L1"
18814
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/3ea0026c4/packages/sdk/packages/node-renderer/src/index.ts#L1"
18745
18815
  }
18746
18816
  ]
18747
18817
  }
@@ -1,12 +1,12 @@
1
- import CallMergeRoundedIcon from '@mui/icons-material/CallMergeRounded';
2
- import GridViewRoundedIcon from '@mui/icons-material/GridViewRounded';
1
+ import BubbleChartRoundedIcon from '@mui/icons-material/BubbleChartRounded';
3
2
  import HubIcon from '@mui/icons-material/Hub';
3
+ import Inventory2RoundedIcon from '@mui/icons-material/Inventory2Rounded';
4
4
  import QuestionMarkRoundedIcon from '@mui/icons-material/QuestionMarkRounded';
5
5
  import VisibilityRoundedIcon from '@mui/icons-material/VisibilityRounded';
6
6
  // eslint-disable-next-line @typescript-eslint/ban-types
7
7
  export const CyIconSet = {
8
- archivist: GridViewRoundedIcon,
9
- diviner: CallMergeRoundedIcon,
8
+ archivist: Inventory2RoundedIcon,
9
+ diviner: BubbleChartRoundedIcon,
10
10
  module: QuestionMarkRoundedIcon,
11
11
  node: HubIcon,
12
12
  witness: VisibilityRoundedIcon,
@@ -1 +1 @@
1
- {"version":3,"file":"CytoscapeIcons.js","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeIcons.tsx"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,sCAAsC,CAAA;AACvE,OAAO,mBAAmB,MAAM,qCAAqC,CAAA;AACrE,OAAO,OAAO,MAAM,yBAAyB,CAAA;AAC7C,OAAO,uBAAuB,MAAM,yCAAyC,CAAA;AAC7E,OAAO,qBAAqB,MAAM,uCAAuC,CAAA;AAMzE,wDAAwD;AACxD,MAAM,CAAC,MAAM,SAAS,GAAyE;IAC7F,SAAS,EAAE,mBAAmB;IAC9B,OAAO,EAAE,oBAAoB;IAC7B,MAAM,EAAE,uBAAuB;IAC/B,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,qBAAqB;CAC/B,CAAA"}
1
+ {"version":3,"file":"CytoscapeIcons.js","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeIcons.tsx"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,wCAAwC,CAAA;AAC3E,OAAO,OAAO,MAAM,yBAAyB,CAAA;AAC7C,OAAO,qBAAqB,MAAM,uCAAuC,CAAA;AACzE,OAAO,uBAAuB,MAAM,yCAAyC,CAAA;AAC7E,OAAO,qBAAqB,MAAM,uCAAuC,CAAA;AAMzE,wDAAwD;AACxD,MAAM,CAAC,MAAM,SAAS,GAAyE;IAC7F,SAAS,EAAE,qBAAqB;IAChC,OAAO,EAAE,sBAAsB;IAC/B,MAAM,EAAE,uBAAuB;IAC/B,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,qBAAqB;CAC/B,CAAA"}
@@ -1,27 +1,37 @@
1
1
  import { useAsyncEffect } from '@xylabs/react-shared';
2
- import { useProvidedWrappedNode } from '@xyo-network/react-node';
2
+ import { NodeWrapper } from '@xyo-network/node';
3
+ import { useModule, useProvidedWrappedNode } from '@xyo-network/react-node';
3
4
  import { useEffect, useState } from 'react';
4
5
  import { CytoscapeElements } from '../../Cytoscape';
5
6
  /**
6
7
  * Note: Relies on describe but could eventually be converted to a discover call
7
8
  * Logic would be similar to what the bridge does
8
9
  */
9
- export const useCytoscapeElements = () => {
10
+ export const useCytoscapeElements = (nodeAddressOrName, onModuleError) => {
10
11
  const [node] = useProvidedWrappedNode();
12
+ const [module, moduleError] = useModule(nodeAddressOrName);
11
13
  const [elements, setElements] = useState([]);
12
14
  const [refresh, setRefresh] = useState(1);
15
+ useEffect(() => {
16
+ if (moduleError)
17
+ onModuleError?.(moduleError);
18
+ }, [moduleError, onModuleError]);
13
19
  useAsyncEffect(
14
20
  // eslint-disable-next-line react-hooks/exhaustive-deps
15
21
  async (mounted) => {
16
- if (node && refresh) {
22
+ if ((node || module) && refresh) {
23
+ const wrappedNode = nodeAddressOrName ? NodeWrapper.wrap(module) : node;
24
+ if (!wrappedNode) {
25
+ return;
26
+ }
17
27
  try {
18
- const [description, newRootNode] = await CytoscapeElements.buildRootNode(node);
28
+ const [description, newRootNode] = await CytoscapeElements.buildRootNode(wrappedNode);
19
29
  if (mounted())
20
30
  setElements(() => [newRootNode]);
21
31
  const children = description.children;
22
32
  await Promise.allSettled((children ?? [])?.map(async (address) => {
23
33
  try {
24
- const newNode = await CytoscapeElements.buildChild(node, address);
34
+ const newNode = await CytoscapeElements.buildChild(wrappedNode, address);
25
35
  if (mounted())
26
36
  setElements((previous) => [...previous, newNode]);
27
37
  const newEdge = CytoscapeElements.buildEdge(newRootNode, newNode);
@@ -37,7 +47,7 @@ export const useCytoscapeElements = () => {
37
47
  console.error('Error Getting initial description', e);
38
48
  }
39
49
  }
40
- }, [node, refresh]);
50
+ }, [module, node, nodeAddressOrName, refresh]);
41
51
  useEffect(() => {
42
52
  let listener;
43
53
  if (node) {
@@ -1 +1 @@
1
- {"version":3,"file":"useCytoscapeElements.js","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,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,GAAG,EAAE;IACvC,MAAM,CAAC,IAAI,CAAC,GAAG,sBAAsB,EAAE,CAAA;IACvC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAsB,EAAE,CAAC,CAAA;IACjE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEzC,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,IAAI,IAAI,OAAO,EAAE;YACnB,IAAI;gBACF,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;gBAC9E,IAAI,OAAO,EAAE;oBAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;gBAE/C,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;gBACrC,MAAM,OAAO,CAAC,UAAU,CACtB,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;oBACtC,IAAI;wBACF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;wBACjE,IAAI,OAAO,EAAE;4BAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;wBAEhE,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;wBACjE,IAAI,OAAO,EAAE;4BAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;qBACjE;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;qBAC3C;gBACH,CAAC,CAAC,CACH,CAAA;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAA;aACtD;SACF;IACH,CAAC,EACD,CAAC,IAAI,EAAE,OAAO,CAAC,CAChB,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAkC,CAAA;QACtC,IAAI,IAAI,EAAE;YACR,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE;gBAClC,IAAI,SAAS,KAAK,gBAAgB;oBAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;YAC5E,CAAC,CAAC,CAAA;SACH;QACD,OAAO,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAA;IAC3B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
1
+ {"version":3,"file":"useCytoscapeElements.js","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAE3E,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,iBAA0B,EAAE,aAAsC,EAAE,EAAE;IACzG,MAAM,CAAC,IAAI,CAAC,GAAG,sBAAsB,EAAE,CAAA;IACvC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAA;IAC1D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAsB,EAAE,CAAC,CAAA;IACjE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW;YAAE,aAAa,EAAE,CAAC,WAAW,CAAC,CAAA;IAC/C,CAAC,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAA;IAEhC,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,OAAO,EAAE;YAC/B,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACvE,IAAI,CAAC,WAAW,EAAE;gBAChB,OAAM;aACP;YACD,IAAI;gBACF,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;gBACrF,IAAI,OAAO,EAAE;oBAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;gBAE/C,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;gBACrC,MAAM,OAAO,CAAC,UAAU,CACtB,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;oBACtC,IAAI;wBACF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;wBACxE,IAAI,OAAO,EAAE;4BAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;wBAEhE,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;wBACjE,IAAI,OAAO,EAAE;4BAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;qBACjE;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;qBAC3C;gBACH,CAAC,CAAC,CACH,CAAA;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAA;aACtD;SACF;IACH,CAAC,EACD,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAC3C,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAkC,CAAA;QACtC,IAAI,IAAI,EAAE;YACR,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE;gBAClC,IAAI,SAAS,KAAK,gBAAgB;oBAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;YAC5E,CAAC,CAAC,CAAA;SACH;QACD,OAAO,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAA;IAC3B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
@@ -3,5 +3,5 @@ import { ElementDefinition } from 'cytoscape';
3
3
  * Note: Relies on describe but could eventually be converted to a discover call
4
4
  * Logic would be similar to what the bridge does
5
5
  */
6
- export declare const useCytoscapeElements: () => ElementDefinition[];
6
+ export declare const useCytoscapeElements: (nodeAddressOrName?: string, onModuleError?: ((error: Error) => void) | undefined) => ElementDefinition[];
7
7
  //# sourceMappingURL=useCytoscapeElements.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCytoscapeElements.d.ts","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAK7C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,2BA8ChC,CAAA"}
1
+ {"version":3,"file":"useCytoscapeElements.d.ts","sourceRoot":"","sources":["../../../../src/hooks/cytoscape/useCytoscapeElements.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAK7C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,uBAAwB,MAAM,2BAA0B,KAAK,KAAK,IAAI,qCAuDtG,CAAA"}
package/package.json CHANGED
@@ -14,8 +14,8 @@
14
14
  "@xylabs/react-shared": "^2.16.14",
15
15
  "@xyo-network/module": "^2.53.36",
16
16
  "@xyo-network/node": "^2.53.36",
17
- "@xyo-network/react-node": "^2.47.38",
18
- "@xyo-network/react-shared": "^2.47.38",
17
+ "@xyo-network/react-node": "^2.47.39",
18
+ "@xyo-network/react-shared": "^2.47.39",
19
19
  "cytoscape": "^3.23.0"
20
20
  },
21
21
  "peerDependencies": {
@@ -39,9 +39,9 @@
39
39
  "@xyo-network/id-plugin": "^2.53.34",
40
40
  "@xyo-network/module": "^2.53.34",
41
41
  "@xyo-network/node": "^2.53.34",
42
- "@xyo-network/react-node": "^2.47.38",
43
- "@xyo-network/react-storybook": "^2.47.38",
44
- "@xyo-network/react-wallet": "^2.47.38",
42
+ "@xyo-network/react-node": "^2.47.39",
43
+ "@xyo-network/react-storybook": "^2.47.39",
44
+ "@xyo-network/react-wallet": "^2.47.39",
45
45
  "require-from-string": "^2.0.2",
46
46
  "typescript": "^4.9.5"
47
47
  },
@@ -88,5 +88,5 @@
88
88
  },
89
89
  "sideEffects": false,
90
90
  "types": "dist/types/index.d.ts",
91
- "version": "2.47.38"
91
+ "version": "2.47.39"
92
92
  }
@@ -1,6 +1,6 @@
1
- import CallMergeRoundedIcon from '@mui/icons-material/CallMergeRounded'
2
- import GridViewRoundedIcon from '@mui/icons-material/GridViewRounded'
1
+ import BubbleChartRoundedIcon from '@mui/icons-material/BubbleChartRounded'
3
2
  import HubIcon from '@mui/icons-material/Hub'
3
+ import Inventory2RoundedIcon from '@mui/icons-material/Inventory2Rounded'
4
4
  import QuestionMarkRoundedIcon from '@mui/icons-material/QuestionMarkRounded'
5
5
  import VisibilityRoundedIcon from '@mui/icons-material/VisibilityRounded'
6
6
  import { SvgIconTypeMap } from '@mui/material'
@@ -10,8 +10,8 @@ export type CyNodeIcons = 'archivist' | 'diviner' | 'module' | 'node' | 'witness
10
10
 
11
11
  // eslint-disable-next-line @typescript-eslint/ban-types
12
12
  export const CyIconSet: Record<CyNodeIcons, OverridableComponent<SvgIconTypeMap<{}, 'svg'>>> = {
13
- archivist: GridViewRoundedIcon,
14
- diviner: CallMergeRoundedIcon,
13
+ archivist: Inventory2RoundedIcon,
14
+ diviner: BubbleChartRoundedIcon,
15
15
  module: QuestionMarkRoundedIcon,
16
16
  node: HubIcon,
17
17
  witness: VisibilityRoundedIcon,
@@ -67,12 +67,19 @@ export default {
67
67
  } as Meta
68
68
 
69
69
  const Template: ComponentStory<typeof NodeRelationalGraph> = (props) => <NodeRelationalGraph {...props} />
70
+
70
71
  const TemplateDescribe: ComponentStory<typeof NodeRelationalGraph> = (props) => {
71
72
  const elements = useCytoscapeElements()
72
73
  const options = useCytoscapeOptions(elements)
73
74
  return <NodeRelationalGraph options={options} {...props} />
74
75
  }
75
76
 
77
+ const TemplateCustomAddress: ComponentStory<typeof NodeRelationalGraph> = (props) => {
78
+ const elements = useCytoscapeElements('ChildNode')
79
+ const options = useCytoscapeOptions(elements)
80
+ return <NodeRelationalGraph options={options} {...props} />
81
+ }
82
+
76
83
  const defaultProps = {
77
84
  height: 'calc(100vh - 20px)',
78
85
  width: '100%',
@@ -88,4 +95,8 @@ const WithDescribe = TemplateDescribe.bind({})
88
95
  WithDescribe.args = { ...defaultProps }
89
96
  WithDescribe.decorators = [MemoryNodeDecorator]
90
97
 
91
- export { Default, WithData, WithDescribe }
98
+ const WithCustomAddress = TemplateCustomAddress.bind({})
99
+ WithCustomAddress.args = { ...defaultProps }
100
+ WithCustomAddress.decorators = [MemoryNodeDecorator]
101
+
102
+ export { Default, WithCustomAddress, WithData, WithDescribe }
@@ -1,6 +1,7 @@
1
1
  import { useAsyncEffect } from '@xylabs/react-shared'
2
2
  import { EventUnsubscribeFunction } from '@xyo-network/module'
3
- import { useProvidedWrappedNode } from '@xyo-network/react-node'
3
+ import { NodeWrapper } from '@xyo-network/node'
4
+ import { useModule, useProvidedWrappedNode } from '@xyo-network/react-node'
4
5
  import { ElementDefinition } from 'cytoscape'
5
6
  import { useEffect, useState } from 'react'
6
7
 
@@ -10,24 +11,33 @@ import { CytoscapeElements } from '../../Cytoscape'
10
11
  * Note: Relies on describe but could eventually be converted to a discover call
11
12
  * Logic would be similar to what the bridge does
12
13
  */
13
- export const useCytoscapeElements = () => {
14
+ export const useCytoscapeElements = (nodeAddressOrName?: string, onModuleError?: (error: Error) => void) => {
14
15
  const [node] = useProvidedWrappedNode()
16
+ const [module, moduleError] = useModule(nodeAddressOrName)
15
17
  const [elements, setElements] = useState<ElementDefinition[]>([])
16
18
  const [refresh, setRefresh] = useState(1)
17
19
 
20
+ useEffect(() => {
21
+ if (moduleError) onModuleError?.(moduleError)
22
+ }, [moduleError, onModuleError])
23
+
18
24
  useAsyncEffect(
19
25
  // eslint-disable-next-line react-hooks/exhaustive-deps
20
26
  async (mounted) => {
21
- if (node && refresh) {
27
+ if ((node || module) && refresh) {
28
+ const wrappedNode = nodeAddressOrName ? NodeWrapper.wrap(module) : node
29
+ if (!wrappedNode) {
30
+ return
31
+ }
22
32
  try {
23
- const [description, newRootNode] = await CytoscapeElements.buildRootNode(node)
33
+ const [description, newRootNode] = await CytoscapeElements.buildRootNode(wrappedNode)
24
34
  if (mounted()) setElements(() => [newRootNode])
25
35
 
26
36
  const children = description.children
27
37
  await Promise.allSettled(
28
38
  (children ?? [])?.map(async (address) => {
29
39
  try {
30
- const newNode = await CytoscapeElements.buildChild(node, address)
40
+ const newNode = await CytoscapeElements.buildChild(wrappedNode, address)
31
41
  if (mounted()) setElements((previous) => [...previous, newNode])
32
42
 
33
43
  const newEdge = CytoscapeElements.buildEdge(newRootNode, newNode)
@@ -42,7 +52,7 @@ export const useCytoscapeElements = () => {
42
52
  }
43
53
  }
44
54
  },
45
- [node, refresh],
55
+ [module, node, nodeAddressOrName, refresh],
46
56
  )
47
57
 
48
58
  useEffect(() => {