Spaces:
Running
Running
Format Markdown in single-entry view.
Browse files
web/src/NodeWithTableView.svelte
CHANGED
@@ -2,10 +2,20 @@
|
|
2 |
import { type NodeProps } from '@xyflow/svelte';
|
3 |
import LynxKiteNode from './LynxKiteNode.svelte';
|
4 |
import Table from './Table.svelte';
|
|
|
5 |
type $$Props = NodeProps;
|
6 |
export let data: $$Props['data'];
|
7 |
const open = {};
|
8 |
$: single = data.display?.dataframes && Object.keys(data.display.dataframes).length === 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
</script>
|
10 |
|
11 |
<LynxKiteNode {...$$props}>
|
@@ -19,7 +29,7 @@
|
|
19 |
<dl>
|
20 |
{#each df.columns as c, i}
|
21 |
<dt>{c}</dt>
|
22 |
-
<dd><
|
23 |
{/each}
|
24 |
</dl>
|
25 |
{/if}
|
@@ -40,9 +50,6 @@
|
|
40 |
background: #f0f0f0;
|
41 |
cursor: pointer;
|
42 |
}
|
43 |
-
table {
|
44 |
-
table-layout: fixed;
|
45 |
-
}
|
46 |
dl {
|
47 |
margin: 10px;
|
48 |
}
|
|
|
2 |
import { type NodeProps } from '@xyflow/svelte';
|
3 |
import LynxKiteNode from './LynxKiteNode.svelte';
|
4 |
import Table from './Table.svelte';
|
5 |
+
import SvelteMarkdown from 'svelte-markdown'
|
6 |
type $$Props = NodeProps;
|
7 |
export let data: $$Props['data'];
|
8 |
const open = {};
|
9 |
$: single = data.display?.dataframes && Object.keys(data.display.dataframes).length === 1;
|
10 |
+
function toMD(v) {
|
11 |
+
if (typeof v === 'string') {
|
12 |
+
return v;
|
13 |
+
}
|
14 |
+
if (Array.isArray(v)) {
|
15 |
+
return v.map(toMD).join('\n\n');
|
16 |
+
}
|
17 |
+
return JSON.stringify(v);
|
18 |
+
}
|
19 |
</script>
|
20 |
|
21 |
<LynxKiteNode {...$$props}>
|
|
|
29 |
<dl>
|
30 |
{#each df.columns as c, i}
|
31 |
<dt>{c}</dt>
|
32 |
+
<dd><SvelteMarkdown source={toMD(df.data[0][i])} /></dd>
|
33 |
{/each}
|
34 |
</dl>
|
35 |
{/if}
|
|
|
50 |
background: #f0f0f0;
|
51 |
cursor: pointer;
|
52 |
}
|
|
|
|
|
|
|
53 |
dl {
|
54 |
margin: 10px;
|
55 |
}
|