1
1
import React from 'react' ;
2
2
import cls from 'classnames' ;
3
- import {
4
- INITIAL_DIRECTION ,
5
- OnOrderByChanged ,
6
- OrderByData ,
7
- toggleOrderByDirection
8
- } from '../table-utils' ;
3
+ import { INITIAL_DIRECTION , OnOrderByChanged , OrderByData , toggleOrderByDirection } from '../table-utils' ;
9
4
import Show from '../../felles/show' ;
10
5
import arrowDownIcon from './arrow-down.svg' ;
11
6
import './user-table-header.less' ;
@@ -33,15 +28,17 @@ export const UserTableHeader = (props: UserTableHeaderProps) => {
33
28
}
34
29
35
30
return (
36
- < div className = "user-table-header" >
37
- < HeaderField name = { HeaderFieldName . BRUKER_ETTERNAVN } text = "Etternavn, Fornavn" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
38
- < HeaderField name = { HeaderFieldName . BRUKER_FNR } text = "Fødselsnummer" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
39
- < HeaderField name = { HeaderFieldName . VEDTAK_STARTET } text = "Vedtak startet" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
40
- < HeaderField name = { HeaderFieldName . STATUS } text = "Status" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
41
- < HeaderField name = { HeaderFieldName . BESLUTTER_NAVN } text = "Kvalitetssikrer" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
42
- < HeaderField name = { HeaderFieldName . VEILEDER_NAVN } text = "Veileder" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
43
- < HeaderField name = { HeaderFieldName . STATUS_ENDRET } text = "Status endret" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
44
- < HeaderField name = { HeaderFieldName . BRUKER_OPPFOLGINGSENHET_NAVN } text = "Enhet" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
31
+ < div role = "rowgroup" >
32
+ < div role = "row" className = "user-table-header" >
33
+ < HeaderField name = { HeaderFieldName . BRUKER_ETTERNAVN } text = "Etternavn, Fornavn" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
34
+ < HeaderField name = { HeaderFieldName . BRUKER_FNR } text = "Fødselsnummer" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
35
+ < HeaderField name = { HeaderFieldName . VEDTAK_STARTET } text = "Vedtak startet" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
36
+ < HeaderField name = { HeaderFieldName . STATUS } text = "Status" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
37
+ < HeaderField name = { HeaderFieldName . BESLUTTER_NAVN } text = "Kvalitetssikrer" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
38
+ < HeaderField name = { HeaderFieldName . VEILEDER_NAVN } text = "Veileder" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
39
+ < HeaderField name = { HeaderFieldName . STATUS_ENDRET } text = "Status endret" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
40
+ < HeaderField name = { HeaderFieldName . BRUKER_OPPFOLGINGSENHET_NAVN } text = "Enhet" orderByData = { orderByData } onOrderByChanged = { handleOnOrderByChanged } />
41
+ </ div >
45
42
</ div >
46
43
) ;
47
44
} ;
@@ -60,8 +57,12 @@ const HeaderField = (props: HeaderFieldProps) => {
60
57
'table-header-field__order-icon--asc' : orderByData . direction === OrderByDirection . ASC
61
58
} ) ;
62
59
60
+ const ariaSort = name === orderByData . field && orderByData . direction
61
+ ? ( orderByData . direction === OrderByDirection . ASC ? 'ascending' : 'descending' )
62
+ : 'none' ;
63
+
63
64
return (
64
- < button onClick = { ( ) => onOrderByChanged ( name ) } className = "table-header-field" >
65
+ < button role = "columnheader" aria-sort = { ariaSort } onClick = { ( ) => onOrderByChanged ( name ) } className = "table-header-field" >
65
66
{ text }
66
67
< Show if = { orderByData . field === name && orderByData . direction !== undefined } >
67
68
< img className = { iconClasses } src = { arrowDownIcon } alt = { alt } />
0 commit comments