fixed table header

This commit is contained in:
Jan Prochazka
2022-06-30 21:46:45 +02:00
parent 34084d0e94
commit 34ca4c501a

View File

@@ -12,6 +12,7 @@
export let root: PerspectiveTreeNode; export let root: PerspectiveTreeNode;
let dataRows; let dataRows;
let domWrapper;
async function loadLevelData(node: PerspectiveTreeNode, parentRows: any[]) { async function loadLevelData(node: PerspectiveTreeNode, parentRows: any[]) {
// const loadProps: PerspectiveDataLoadPropsWithNode[] = []; // const loadProps: PerspectiveDataLoadPropsWithNode[] = [];
@@ -71,11 +72,16 @@
// } // }
} }
function handleScroll() {
const translate = 'translate(0,' + domWrapper.scrollTop + 'px)';
domWrapper.querySelector('thead').style.transform = translate;
}
$: loadData(root); $: loadData(root);
$: display = root && dataRows ? new PerspectiveDisplay(root, dataRows) : null; $: display = root && dataRows ? new PerspectiveDisplay(root, dataRows) : null;
</script> </script>
<div class="wrapper"> <div class="wrapper" on:scroll={handleScroll} bind:this={domWrapper}>
{#if display} {#if display}
<table> <table>
<thead> <thead>
@@ -111,13 +117,16 @@
<style> <style>
.wrapper { .wrapper {
overflow: scroll; overflow: scroll;
flex: 1;
display: flex;
} }
table { table {
/* position: absolute; /* position: absolute;
left: 0; left: 0;
top: 0; top: 0;
bottom: 20px; */ bottom: 0;
right: 0; */
overflow: scroll; overflow: scroll;
border-collapse: collapse; border-collapse: collapse;
outline: none; outline: none;
@@ -137,13 +146,12 @@
border: 1px solid var(--theme-border); border: 1px solid var(--theme-border);
background-color: var(--theme-bg-0); background-color: var(--theme-bg-0);
padding: 2px; padding: 2px;
white-space: nowrap;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
vertical-align: top; vertical-align: top;
} }
/* /*
table { table {
border: 1px solid; border: 1px solid;
border-collapse: collapse; border-collapse: collapse;