@xyo-network/react-node-renderer 2.48.0 → 2.48.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Cytoscape/CytoscapeElements.js +33 -6
- package/dist/cjs/Cytoscape/CytoscapeElements.js.map +1 -1
- package/dist/cjs/Cytoscape/CytoscapeIcons.js +2 -0
- package/dist/cjs/Cytoscape/CytoscapeIcons.js.map +1 -1
- package/dist/cjs/Cytoscape/CytoscapeStyles.js.map +1 -1
- package/dist/cjs/Cytoscape/index.js +1 -0
- package/dist/cjs/Cytoscape/index.js.map +1 -1
- package/dist/cjs/Cytoscape/lib/CyNodeModuleTypes.js +3 -0
- package/dist/cjs/Cytoscape/lib/CyNodeModuleTypes.js.map +1 -0
- package/dist/cjs/Cytoscape/lib/encodeSvg.js +19 -0
- package/dist/cjs/Cytoscape/lib/encodeSvg.js.map +1 -0
- package/dist/cjs/Cytoscape/lib/iconMap.js +14 -0
- package/dist/cjs/Cytoscape/lib/iconMap.js.map +1 -0
- package/dist/cjs/Cytoscape/lib/index.js +8 -0
- package/dist/cjs/Cytoscape/lib/index.js.map +1 -0
- package/dist/cjs/{lib/utils.js → Cytoscape/lib/parseModuleType.js} +6 -17
- package/dist/cjs/Cytoscape/lib/parseModuleType.js.map +1 -0
- package/dist/cjs/hooks/cytoscape/useCytoscapeElements.js +11 -28
- package/dist/cjs/hooks/cytoscape/useCytoscapeElements.js.map +1 -1
- package/dist/cjs/hooks/cytoscape/useIcons.js +2 -3
- package/dist/cjs/hooks/cytoscape/useIcons.js.map +1 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +442 -136
- package/dist/esm/Cytoscape/CytoscapeElements.js +25 -3
- package/dist/esm/Cytoscape/CytoscapeElements.js.map +1 -1
- package/dist/esm/Cytoscape/CytoscapeIcons.js +2 -0
- package/dist/esm/Cytoscape/CytoscapeIcons.js.map +1 -1
- package/dist/esm/Cytoscape/CytoscapeStyles.js.map +1 -1
- package/dist/esm/Cytoscape/index.js +1 -0
- package/dist/esm/Cytoscape/index.js.map +1 -1
- package/dist/esm/Cytoscape/lib/CyNodeModuleTypes.js +2 -0
- package/dist/esm/Cytoscape/lib/CyNodeModuleTypes.js.map +1 -0
- package/dist/esm/Cytoscape/lib/encodeSvg.js +15 -0
- package/dist/esm/Cytoscape/lib/encodeSvg.js.map +1 -0
- package/dist/esm/Cytoscape/lib/iconMap.js +10 -0
- package/dist/esm/Cytoscape/lib/iconMap.js.map +1 -0
- package/dist/esm/Cytoscape/lib/index.js +5 -0
- package/dist/esm/Cytoscape/lib/index.js.map +1 -0
- package/dist/esm/{lib/utils.js → Cytoscape/lib/parseModuleType.js} +5 -15
- package/dist/esm/Cytoscape/lib/parseModuleType.js.map +1 -0
- package/dist/esm/hooks/cytoscape/useCytoscapeElements.js +9 -28
- package/dist/esm/hooks/cytoscape/useCytoscapeElements.js.map +1 -1
- package/dist/esm/hooks/cytoscape/useIcons.js +2 -3
- package/dist/esm/hooks/cytoscape/useIcons.js.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/types/Cytoscape/CytoscapeElements.d.ts +2 -1
- package/dist/types/Cytoscape/CytoscapeElements.d.ts.map +1 -1
- package/dist/types/Cytoscape/CytoscapeIcons.d.ts +2 -2
- package/dist/types/Cytoscape/CytoscapeIcons.d.ts.map +1 -1
- package/dist/types/Cytoscape/CytoscapeStyles.d.ts +2 -2
- package/dist/types/Cytoscape/CytoscapeStyles.d.ts.map +1 -1
- package/dist/types/Cytoscape/index.d.ts +1 -0
- package/dist/types/Cytoscape/index.d.ts.map +1 -1
- package/dist/types/Cytoscape/lib/CyNodeModuleTypes.d.ts +2 -0
- package/dist/types/Cytoscape/lib/CyNodeModuleTypes.d.ts.map +1 -0
- package/dist/types/Cytoscape/lib/encodeSvg.d.ts +3 -0
- package/dist/types/Cytoscape/lib/encodeSvg.d.ts.map +1 -0
- package/dist/types/Cytoscape/lib/iconMap.d.ts +3 -0
- package/dist/types/Cytoscape/lib/iconMap.d.ts.map +1 -0
- package/dist/types/Cytoscape/lib/index.d.ts +5 -0
- package/dist/types/Cytoscape/lib/index.d.ts.map +1 -0
- package/dist/types/Cytoscape/lib/parseModuleType.d.ts +3 -0
- package/dist/types/Cytoscape/lib/parseModuleType.d.ts.map +1 -0
- package/dist/types/hooks/cytoscape/useCytoscapeElements.d.ts.map +1 -1
- package/dist/types/hooks/cytoscape/useIcons.d.ts +2 -2
- package/dist/types/hooks/cytoscape/useIcons.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/Cytoscape/CytoscapeElements.ts +27 -2
- package/src/Cytoscape/CytoscapeIcons.tsx +4 -2
- package/src/Cytoscape/CytoscapeStyles.ts +3 -3
- package/src/Cytoscape/index.ts +1 -0
- package/src/Cytoscape/lib/CyNodeModuleTypes.ts +1 -0
- package/src/Cytoscape/lib/encodeSvg.ts +19 -0
- package/src/Cytoscape/lib/iconMap.ts +11 -0
- package/src/Cytoscape/lib/index.ts +4 -0
- package/src/Cytoscape/lib/parseModuleType.ts +36 -0
- package/src/components/RelationalGraph.stories.tsx +3 -1
- package/src/hooks/cytoscape/useCytoscapeElements.ts +9 -31
- package/src/hooks/cytoscape/useIcons.tsx +3 -4
- package/src/index.ts +0 -1
- package/dist/cjs/lib/index.js +0 -5
- package/dist/cjs/lib/index.js.map +0 -1
- package/dist/cjs/lib/utils.js.map +0 -1
- package/dist/esm/lib/index.js +0 -2
- package/dist/esm/lib/index.js.map +0 -1
- package/dist/esm/lib/utils.js.map +0 -1
- package/dist/types/lib/index.d.ts +0 -2
- package/dist/types/lib/index.d.ts.map +0 -1
- package/dist/types/lib/utils.d.ts +0 -5
- package/dist/types/lib/utils.d.ts.map +0 -1
- package/src/lib/index.ts +0 -1
- package/src/lib/utils.ts +0 -52
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ReactElement } from 'react'
|
|
2
|
+
// eslint-disable-next-line import/no-internal-modules
|
|
3
|
+
import { renderToStaticMarkup } from 'react-dom/server'
|
|
4
|
+
|
|
5
|
+
const dataUri = 'data:image/svg+xml,'
|
|
6
|
+
|
|
7
|
+
export const encodeSvg = (reactElement: ReactElement, color?: string) => {
|
|
8
|
+
const svgString = renderToStaticMarkup(reactElement)
|
|
9
|
+
|
|
10
|
+
const doc = new DOMParser().parseFromString(svgString, 'text/html')
|
|
11
|
+
const svgElement = doc.getElementsByTagName('svg')[0]
|
|
12
|
+
if (svgElement) {
|
|
13
|
+
svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg')
|
|
14
|
+
svgElement.setAttribute('height', '100')
|
|
15
|
+
svgElement.style.fill = color ?? 'black'
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return `${dataUri}${window.encodeURIComponent(svgElement.outerHTML)}`
|
|
19
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { CyNodeModuleTypes } from './CyNodeModuleTypes'
|
|
2
|
+
|
|
3
|
+
export const parseModuleType = (queries?: string[]): CyNodeModuleTypes => {
|
|
4
|
+
let type: CyNodeModuleTypes = 'module'
|
|
5
|
+
if (queries) {
|
|
6
|
+
for (let i = 0; i < queries.length; i++) {
|
|
7
|
+
if (queries[i].includes('archivist')) {
|
|
8
|
+
type = 'archivist'
|
|
9
|
+
break
|
|
10
|
+
}
|
|
11
|
+
if (queries[i].includes('bridge')) {
|
|
12
|
+
type = 'bridge'
|
|
13
|
+
break
|
|
14
|
+
}
|
|
15
|
+
if (queries[i].includes('diviner')) {
|
|
16
|
+
type = 'diviner'
|
|
17
|
+
break
|
|
18
|
+
}
|
|
19
|
+
if (queries[i].includes('node')) {
|
|
20
|
+
type = 'node'
|
|
21
|
+
break
|
|
22
|
+
}
|
|
23
|
+
if (queries[i].includes('sentinel')) {
|
|
24
|
+
type = 'sentinel'
|
|
25
|
+
break
|
|
26
|
+
}
|
|
27
|
+
if (queries[i].includes('witness')) {
|
|
28
|
+
type = 'witness'
|
|
29
|
+
break
|
|
30
|
+
}
|
|
31
|
+
type = 'module'
|
|
32
|
+
}
|
|
33
|
+
return type
|
|
34
|
+
}
|
|
35
|
+
return 'module'
|
|
36
|
+
}
|
|
@@ -116,7 +116,9 @@ const TemplateAttachDetach: ComponentStory<typeof NodeRelationalGraph> = (props)
|
|
|
116
116
|
const handleRemoveWitness = async () => {
|
|
117
117
|
if (wrappedNode && idWitness) {
|
|
118
118
|
const memoryNode = wrappedNode as NodeWrapper<MemoryNode>
|
|
119
|
-
await memoryNode.
|
|
119
|
+
if (await (await memoryNode.registered()).includes(idWitness.address)) {
|
|
120
|
+
await memoryNode.module.unregister(idWitness)
|
|
121
|
+
}
|
|
120
122
|
}
|
|
121
123
|
}
|
|
122
124
|
|
|
@@ -2,7 +2,7 @@ import { useAsyncEffect } from '@xylabs/react-shared'
|
|
|
2
2
|
import { EventUnsubscribeFunction } from '@xyo-network/module'
|
|
3
3
|
import { NodeWrapper } from '@xyo-network/node'
|
|
4
4
|
import { ElementDefinition } from 'cytoscape'
|
|
5
|
-
import {
|
|
5
|
+
import { useEffect, useState } from 'react'
|
|
6
6
|
|
|
7
7
|
import { CytoscapeElements } from '../../Cytoscape'
|
|
8
8
|
|
|
@@ -13,39 +13,15 @@ import { CytoscapeElements } from '../../Cytoscape'
|
|
|
13
13
|
export const useCytoscapeElements = (targetNode?: NodeWrapper) => {
|
|
14
14
|
const [elements, setElements] = useState<ElementDefinition[]>([])
|
|
15
15
|
|
|
16
|
-
const buildElements = useCallback(async (wrapper: NodeWrapper) => {
|
|
17
|
-
try {
|
|
18
|
-
const [description, newRootNode] = await CytoscapeElements.buildRootNode(wrapper)
|
|
19
|
-
const newElements = [newRootNode]
|
|
20
|
-
|
|
21
|
-
const children = description.children
|
|
22
|
-
await Promise.allSettled(
|
|
23
|
-
(children ?? [])?.map(async (address) => {
|
|
24
|
-
try {
|
|
25
|
-
const newNode = await CytoscapeElements.buildChild(wrapper, address)
|
|
26
|
-
newElements.push(newNode)
|
|
27
|
-
|
|
28
|
-
const newEdge = CytoscapeElements.buildEdge(newRootNode, newNode)
|
|
29
|
-
newElements.push(newEdge)
|
|
30
|
-
} catch (e) {
|
|
31
|
-
console.error('Error parsing children', e)
|
|
32
|
-
}
|
|
33
|
-
}),
|
|
34
|
-
)
|
|
35
|
-
setElements(newElements)
|
|
36
|
-
} catch (e) {
|
|
37
|
-
console.error('Error Getting initial description', e)
|
|
38
|
-
}
|
|
39
|
-
}, [])
|
|
40
|
-
|
|
41
16
|
useAsyncEffect(
|
|
42
17
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
43
18
|
async () => {
|
|
44
19
|
if (targetNode) {
|
|
45
|
-
await buildElements(targetNode)
|
|
20
|
+
const newElements = (await CytoscapeElements.buildElements(targetNode)) ?? []
|
|
21
|
+
setElements(newElements)
|
|
46
22
|
}
|
|
47
23
|
},
|
|
48
|
-
[
|
|
24
|
+
[targetNode],
|
|
49
25
|
)
|
|
50
26
|
|
|
51
27
|
useEffect(() => {
|
|
@@ -54,10 +30,12 @@ export const useCytoscapeElements = (targetNode?: NodeWrapper) => {
|
|
|
54
30
|
|
|
55
31
|
if (targetNode) {
|
|
56
32
|
attachedListener = targetNode.on('moduleAttached', async () => {
|
|
57
|
-
await buildElements(targetNode)
|
|
33
|
+
const newElements = (await CytoscapeElements.buildElements(targetNode)) ?? []
|
|
34
|
+
setElements(newElements)
|
|
58
35
|
})
|
|
59
36
|
detachedListener = targetNode.on('moduleDetached', async () => {
|
|
60
|
-
await buildElements(targetNode)
|
|
37
|
+
const newElements = (await CytoscapeElements.buildElements(targetNode)) ?? []
|
|
38
|
+
setElements(newElements)
|
|
61
39
|
})
|
|
62
40
|
}
|
|
63
41
|
|
|
@@ -65,7 +43,7 @@ export const useCytoscapeElements = (targetNode?: NodeWrapper) => {
|
|
|
65
43
|
attachedListener?.()
|
|
66
44
|
detachedListener?.()
|
|
67
45
|
}
|
|
68
|
-
}, [
|
|
46
|
+
}, [targetNode])
|
|
69
47
|
|
|
70
48
|
return elements
|
|
71
49
|
}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { useTheme } from '@mui/material'
|
|
2
2
|
import { useMemo } from 'react'
|
|
3
3
|
|
|
4
|
-
import { CyIconSet,
|
|
5
|
-
import { encodeSvg } from '../../lib'
|
|
4
|
+
import { CyIconSet, CyNodeModuleTypes, encodeSvg, generateIconMap } from '../../Cytoscape'
|
|
6
5
|
|
|
7
6
|
export const useIcons = () => {
|
|
8
7
|
const theme = useTheme()
|
|
9
8
|
const icons = useMemo(() => {
|
|
10
|
-
const iconMap
|
|
9
|
+
const iconMap = generateIconMap()
|
|
11
10
|
return Object.entries(CyIconSet).reduce((acc, [name, IconComponent]) => {
|
|
12
11
|
const icon = <IconComponent fontSize="small" />
|
|
13
|
-
acc[name as
|
|
12
|
+
acc[name as CyNodeModuleTypes] = encodeSvg(icon, theme.palette.getContrastText(theme.palette.text.primary))
|
|
14
13
|
return acc
|
|
15
14
|
}, iconMap)
|
|
16
15
|
}, [theme.palette])
|
package/src/index.ts
CHANGED
package/dist/cjs/lib/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":";;;AAAA,kDAAuB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":";;;AACA,sDAAsD;AACtD,6CAAuD;AAIvD,MAAM,OAAO,GAAG,qBAAqB,CAAA;AAE9B,MAAM,SAAS,GAAG,CAAC,YAA0B,EAAE,KAAc,EAAE,EAAE;IACtE,MAAM,SAAS,GAAG,IAAA,6BAAoB,EAAC,YAAY,CAAC,CAAA;IAEpD,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IACnE,MAAM,UAAU,GAAG,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,IAAI,UAAU,EAAE;QACd,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAA;QAC9D,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACxC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,OAAO,CAAA;KACzC;IAED,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAA;AACvE,CAAC,CAAA;AAZY,QAAA,SAAS,aAYrB;AAEM,MAAM,eAAe,GAAG,CAAC,OAAkB,EAAe,EAAE;IACjE,IAAI,IAAI,GAAgB,QAAQ,CAAA;IAChC,IAAI,OAAO,EAAE;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBACpC,IAAI,GAAG,WAAW,CAAA;gBAClB,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAClC,IAAI,GAAG,SAAS,CAAA;gBAChB,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC/B,IAAI,GAAG,MAAM,CAAA;gBACb,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBACnC,IAAI,GAAG,UAAU,CAAA;gBACjB,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAClC,IAAI,GAAG,SAAS,CAAA;gBAChB,MAAK;aACN;YACD,IAAI,GAAG,QAAQ,CAAA;SAChB;QACD,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AA7BY,QAAA,eAAe,mBA6B3B"}
|
package/dist/esm/lib/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AACA,sDAAsD;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAIvD,MAAM,OAAO,GAAG,qBAAqB,CAAA;AAErC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,YAA0B,EAAE,KAAc,EAAE,EAAE;IACtE,MAAM,SAAS,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAA;IAEpD,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IACnE,MAAM,UAAU,GAAG,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,IAAI,UAAU,EAAE;QACd,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAA;QAC9D,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACxC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,IAAI,OAAO,CAAA;KACzC;IAED,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAA;AACvE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAkB,EAAe,EAAE;IACjE,IAAI,IAAI,GAAgB,QAAQ,CAAA;IAChC,IAAI,OAAO,EAAE;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBACpC,IAAI,GAAG,WAAW,CAAA;gBAClB,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAClC,IAAI,GAAG,SAAS,CAAA;gBAChB,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC/B,IAAI,GAAG,MAAM,CAAA;gBACb,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBACnC,IAAI,GAAG,UAAU,CAAA;gBACjB,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAClC,IAAI,GAAG,SAAS,CAAA;gBAChB,MAAK;aACN;YACD,IAAI,GAAG,QAAQ,CAAA;SAChB;QACD,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from 'react';
|
|
2
|
-
import { CyNodeIcons } from '../Cytoscape';
|
|
3
|
-
export declare const encodeSvg: (reactElement: ReactElement, color?: string) => string;
|
|
4
|
-
export declare const parseModuleType: (queries?: string[]) => CyNodeIcons;
|
|
5
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAIpC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAI1C,eAAO,MAAM,SAAS,iBAAkB,YAAY,UAAU,MAAM,WAYnE,CAAA;AAED,eAAO,MAAM,eAAe,aAAc,MAAM,EAAE,KAAG,WA6BpD,CAAA"}
|
package/src/lib/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './utils'
|
package/src/lib/utils.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from 'react'
|
|
2
|
-
// eslint-disable-next-line import/no-internal-modules
|
|
3
|
-
import { renderToStaticMarkup } from 'react-dom/server'
|
|
4
|
-
|
|
5
|
-
import { CyNodeIcons } from '../Cytoscape'
|
|
6
|
-
|
|
7
|
-
const dataUri = 'data:image/svg+xml,'
|
|
8
|
-
|
|
9
|
-
export const encodeSvg = (reactElement: ReactElement, color?: string) => {
|
|
10
|
-
const svgString = renderToStaticMarkup(reactElement)
|
|
11
|
-
|
|
12
|
-
const doc = new DOMParser().parseFromString(svgString, 'text/html')
|
|
13
|
-
const svgElement = doc.getElementsByTagName('svg')[0]
|
|
14
|
-
if (svgElement) {
|
|
15
|
-
svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg')
|
|
16
|
-
svgElement.setAttribute('height', '100')
|
|
17
|
-
svgElement.style.fill = color ?? 'black'
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
return `${dataUri}${window.encodeURIComponent(svgElement.outerHTML)}`
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export const parseModuleType = (queries?: string[]): CyNodeIcons => {
|
|
24
|
-
let type: CyNodeIcons = 'module'
|
|
25
|
-
if (queries) {
|
|
26
|
-
for (let i = 0; i < queries.length; i++) {
|
|
27
|
-
if (queries[i].includes('archivist')) {
|
|
28
|
-
type = 'archivist'
|
|
29
|
-
break
|
|
30
|
-
}
|
|
31
|
-
if (queries[i].includes('diviner')) {
|
|
32
|
-
type = 'diviner'
|
|
33
|
-
break
|
|
34
|
-
}
|
|
35
|
-
if (queries[i].includes('node')) {
|
|
36
|
-
type = 'node'
|
|
37
|
-
break
|
|
38
|
-
}
|
|
39
|
-
if (queries[i].includes('sentinel')) {
|
|
40
|
-
type = 'sentinel'
|
|
41
|
-
break
|
|
42
|
-
}
|
|
43
|
-
if (queries[i].includes('witness')) {
|
|
44
|
-
type = 'witness'
|
|
45
|
-
break
|
|
46
|
-
}
|
|
47
|
-
type = 'module'
|
|
48
|
-
}
|
|
49
|
-
return type
|
|
50
|
-
}
|
|
51
|
-
return 'module'
|
|
52
|
-
}
|