Skip to content

Commit 80e0c29

Browse files
authored
Merge pull request #363 from navikt/sticky-header
Gjer tabell-header sticky
2 parents fafc6da + ad189fb commit 80e0c29

File tree

3 files changed

+28
-3
lines changed

3 files changed

+28
-3
lines changed

src/components/user-table/header/user-table-header.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
import { Table } from '@navikt/ds-react';
22
import { OrderByField } from '../../../rest/api';
33

4-
export const UserTableHeader = () => {
4+
interface Props {
5+
stickyHeader: boolean;
6+
}
7+
8+
export const UserTableHeader = ({ stickyHeader }: Props) => {
59
return (
6-
<Table.Header>
10+
<Table.Header className={stickyHeader ? 'sticky-table-header' : undefined}>
711
<Table.Row>
812
<Table.ColumnHeader sortKey={OrderByField.BRUKER_ETTERNAVN} sortable>
913
Etternavn, Fornavn

src/components/user-table/user-table.css

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,24 @@
1212
/* Set tekst i tabell-celler til 1rem, utan å miste padding-mengder frå tabellstorleik medium */
1313
font-size: var(--a-font-size-medium);
1414
}
15+
16+
/* Sticky header på tabell (start)*/
17+
table.user-table {
18+
/* Gjer at borders "heng fast" i dei sticky cellene */
19+
border-collapse: separate; /* Ikkje automagisk slå saman border-top og border-bottom */
20+
border-spacing: 0; /* Unngå mellomrom/"mini-gap" mellom celler */
21+
}
22+
23+
.user-table:has(.sticky-table-header) {
24+
/* For at sticky-header skal fungere må header-cellene ha ein forelder med position-relative */
25+
position: relative;
26+
}
27+
28+
.user-table .sticky-table-header th {
29+
/* Gjer header-cellene sticky og låsar dei til toppen av tabellen */
30+
position: sticky;
31+
top: 0;
32+
/* Gjev cellene kvit bakgrunn, slik at dei skjular innhaldet som scroller forbi under dei */
33+
background: var(--a-bg-default);
34+
}
35+
/* (end) Sticky headre på tabell */

src/components/user-table/user-table.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export const UserTable = () => {
4444
className="user-table"
4545
zebraStripes={true}
4646
>
47-
<UserTableHeader />
47+
<UserTableHeader stickyHeader={true} />
4848
<UserTableBody />
4949
</Table>
5050
</div>

0 commit comments

Comments
 (0)