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 |
}
|