Spaces:
Running
Running
Draw something with Sigma.
Browse files
web/src/NodeWithGraphVisualization.svelte
CHANGED
@@ -1,25 +1,29 @@
|
|
1 |
<script lang="ts">
|
2 |
-
import
|
3 |
import { Handle, type NodeProps, useSvelteFlow } from '@xyflow/svelte';
|
|
|
|
|
4 |
import LynxKiteNode from './LynxKiteNode.svelte';
|
5 |
type $$Props = NodeProps;
|
6 |
export let id: $$Props['id'];
|
7 |
export let data: $$Props['data'];
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
</script>
|
10 |
|
11 |
<LynxKiteNode id={id} data={data} {...$$restProps}>
|
12 |
-
|
|
|
13 |
</LynxKiteNode>
|
14 |
<style>
|
15 |
-
.param {
|
16 |
-
padding: 8px;
|
17 |
-
}
|
18 |
-
.param label {
|
19 |
-
font-size: 12px;
|
20 |
-
display: block;
|
21 |
-
}
|
22 |
-
.param input {
|
23 |
-
width: calc(100% - 8px);
|
24 |
-
}
|
25 |
</style>
|
|
|
1 |
<script lang="ts">
|
2 |
+
import { onMount } from 'svelte';
|
3 |
import { Handle, type NodeProps, useSvelteFlow } from '@xyflow/svelte';
|
4 |
+
import Sigma from 'sigma';
|
5 |
+
import * as graphology from 'graphology';
|
6 |
import LynxKiteNode from './LynxKiteNode.svelte';
|
7 |
type $$Props = NodeProps;
|
8 |
export let id: $$Props['id'];
|
9 |
export let data: $$Props['data'];
|
10 |
+
let sigmaCanvas: HTMLElement;
|
11 |
+
let sigmaInstance: Sigma;
|
12 |
+
|
13 |
+
const graph = new graphology.Graph();
|
14 |
+
graph.addNode("1", { label: "Node 1", x: 0, y: 0, size: 10, color: "blue" });
|
15 |
+
graph.addNode("2", { label: "Node 2", x: 1, y: 1, size: 20, color: "red" });
|
16 |
+
graph.addEdge("1", "2", { size: 5, color: "purple" });
|
17 |
+
|
18 |
+
onMount(async () => {
|
19 |
+
sigmaInstance = new Sigma(graph, sigmaCanvas);
|
20 |
+
});
|
21 |
+
|
22 |
</script>
|
23 |
|
24 |
<LynxKiteNode id={id} data={data} {...$$restProps}>
|
25 |
+
<div bind:this={sigmaCanvas} style="height: 200px; width: 200px;" >
|
26 |
+
</div>
|
27 |
</LynxKiteNode>
|
28 |
<style>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
</style>
|
web/src/NodeWithParams.svelte
CHANGED
@@ -1,5 +1,4 @@
|
|
1 |
<script lang="ts">
|
2 |
-
import type { ComponentProps } from 'svelte';
|
3 |
import { Handle, type NodeProps, useSvelteFlow } from '@xyflow/svelte';
|
4 |
import LynxKiteNode from './LynxKiteNode.svelte';
|
5 |
type $$Props = NodeProps;
|
|
|
1 |
<script lang="ts">
|
|
|
2 |
import { Handle, type NodeProps, useSvelteFlow } from '@xyflow/svelte';
|
3 |
import LynxKiteNode from './LynxKiteNode.svelte';
|
4 |
type $$Props = NodeProps;
|