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}
+ | {col.header || ''} |
+ {/each}
+
+
+
+ {#each rows as row, index}
+ {
+ if (selectable) {
+ selectedIndex = index;
+ domTable.focus();
+ }
+ if (clickable) {
+ dispatch('clickrow', row);
+ }
+ }}
+ >
+ {#each columnList as col}
+ |
+ {#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}
+ |
+ {/each}
+
+ {/each}
+
+
+
+
+
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 @@