diff --git a/packages/web/src/elements/ScrollableTableControl.svelte b/packages/web/src/elements/ScrollableTableControl.svelte new file mode 100644 index 000000000..d5931a404 --- /dev/null +++ b/packages/web/src/elements/ScrollableTableControl.svelte @@ -0,0 +1,204 @@ + + + + +
{ + // @ts-ignore + clientHeight = e.detail.height; + }} +> + + { + // @ts-ignore + headerHeight = e.detail.height; + }} + > + + {#each columnList as col} + + {/each} + + + + {#each rows as row, index} + { + if (selectable) { + selectedIndex = index; + domTable.focus(); + } + if (clickable) { + dispatch('clickrow', row); + } + }} + > + {#each columnList as col} + + {/each} + + {/each} + +
{col.header || ''}
+ {#if col.component} + + {:else if col.formatter} + {col.formatter(row)} + {:else if col.slot != null} + {#if col.slot == -1} + {:else if col.slot == 0} + {:else if col.slot == 1} + {:else if col.slot == 2} + {:else if col.slot == 3} + {:else if col.slot == 4} + {:else if col.slot == 5} + {:else if col.slot == 6} + {:else if col.slot == 7} + {/if} + {:else} + {row[col.fieldName] || ''} + {/if} +
+
+ + diff --git a/packages/web/src/elements/TableControl.svelte b/packages/web/src/elements/TableControl.svelte index 3654e87fd..e68377345 100644 --- a/packages/web/src/elements/TableControl.svelte +++ b/packages/web/src/elements/TableControl.svelte @@ -25,7 +25,7 @@ export let clickable = false; export let disableFocusOutline = false; - export let domTable; + export let domTable = undefined; const dispatch = createEventDispatcher(); diff --git a/packages/web/src/tabs/CompareModelTab.svelte b/packages/web/src/tabs/CompareModelTab.svelte index 247c6dcab..cf2deba81 100644 --- a/packages/web/src/tabs/CompareModelTab.svelte +++ b/packages/web/src/tabs/CompareModelTab.svelte @@ -7,6 +7,7 @@ import _ from 'lodash'; import { derived, writable } from 'svelte/store'; + import ScrollableTableControl from '../elements/ScrollableTableControl.svelte'; import TabControl from '../elements/TabControl.svelte'; import TableControl from '../elements/TableControl.svelte'; import VerticalSplitter from '../elements/VerticalSplitter.svelte'; @@ -116,16 +117,16 @@
-