Skip to content

Commit b14e7ee

Browse files
committed
FO-2760 La til filtrering på status
1 parent 20e62b7 commit b14e7ee

File tree

15 files changed

+103
-36
lines changed

15 files changed

+103
-36
lines changed

src/components/filter-etiketter/filter-etiketter.tsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import { Filters, useFilterStore } from '../../stores/filter-store';
2+
import { Filters, StatusFilter, useFilterStore } from '../../stores/filter-store';
33
import { FilterEtikett } from './etikett/filter-etikett';
44
import './filter-etiketter.less';
55
import { isEmpty } from '../../utils';
@@ -8,9 +8,10 @@ export type OnRemoveClicked = (id: string) => void;
88

99
const NAVN_ELLER_FNR_FILTER = 'NAVN_ELLER_FNR_FILTER';
1010
const ENHET_FILTER = 'ENHET_FILTER';
11+
const STATUS_FILTER = 'STATUS_FILTER';
1112

1213
function lagFilterEtiketter(filters: Filters, onRemoveClicked: OnRemoveClicked) {
13-
const { fnrOrName, enheter } = filters;
14+
const { fnrOrName, enheter, status } = filters;
1415
const filterEtiketter = [];
1516

1617
if (!isEmpty(fnrOrName)) {
@@ -25,17 +26,25 @@ function lagFilterEtiketter(filters: Filters, onRemoveClicked: OnRemoveClicked)
2526
);
2627
}
2728

29+
if (status !== StatusFilter.ALLE) {
30+
filterEtiketter.push(
31+
<FilterEtikett key={STATUS_FILTER} id={STATUS_FILTER} tekst="Søk på status" onRemoveClicked={onRemoveClicked} />
32+
);
33+
}
34+
2835
return filterEtiketter;
2936
}
3037

3138
export const FilterEtiketter = () => {
32-
const { filters, setFnrOrNameFilter, setEnheterFilter } = useFilterStore();
39+
const { filters, setFnrOrNameFilter, setEnheterFilter, setStatusFilter } = useFilterStore();
3340

3441
function handleOnRemoveClicked(id: string) {
3542
if (id === NAVN_ELLER_FNR_FILTER) {
3643
setFnrOrNameFilter('');
3744
} else if (id === ENHET_FILTER) {
3845
setEnheterFilter([]);
46+
} else if (id === STATUS_FILTER) {
47+
setStatusFilter(StatusFilter.ALLE);
3948
}
4049
}
4150

src/components/filter-paneler/enhet-filter/enhet-dropdown/enhet-dropdown.less renamed to src/components/filter-paneler/enhet-filter-panel/enhet-dropdown/enhet-dropdown.less

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
@import "~nav-frontend-core/less/_variabler";
22

33
.enhet-dropdown {
4-
margin-top: 1rem;
54
font-family: 'Source Sans Pro', Arial, sans-serif;
65

76
.enhet-dropdown__control {
File renamed without changes.

src/components/filter-paneler/enhet-filter/enhet-filter.tsx renamed to src/components/filter-paneler/enhet-filter-panel/enhet-filter-panel.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ import {
88
} from './enhet-dropdown/enhet-dropdown';
99
import { useFetchStore } from '../../../stores/fetch-store';
1010
import { useFilterStore } from '../../../stores/filter-store';
11-
import './enhet-filter.less';
1211

13-
export const EnhetFilter = () => {
12+
export const EnhetFilterPanel = () => {
1413
const { filters, setEnheterFilter } = useFilterStore();
1514
const { innloggetVeileder } = useFetchStore();
1615

src/components/filter-paneler/filter-panel/filter-panel.less

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,8 @@
44

55
margin-bottom: 1rem;
66
border-radius: 4px;
7+
8+
&__innhold {
9+
margin-top: 1rem;
10+
}
711
}

src/components/filter-paneler/filter-panel/filter-panel.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ export const FilterPanel = (props: FilterPanelProps) => {
1111
return (
1212
<div className="filter-panel">
1313
<Undertittel>{props.tittel}</Undertittel>
14-
{props.children}
14+
<div className="filter-panel__innhold">
15+
{props.children}
16+
</div>
1517
</div>
1618
);
1719
};
File renamed without changes.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import React, { ChangeEvent } from 'react';
2+
import { FilterPanel } from '../filter-panel/filter-panel';
3+
import { Radio, RadioGruppe } from 'nav-frontend-skjema';
4+
import './status-filter-panel.less';
5+
import { StatusFilter, useFilterStore } from '../../../stores/filter-store';
6+
7+
export const StatusFilterPanel = () => {
8+
const { filters, setStatusFilter } = useFilterStore();
9+
const statusFilter = filters.status;
10+
11+
function handleOnStatusRadioChanged(e: ChangeEvent<HTMLInputElement>) {
12+
if (e.target.checked) {
13+
console.log('setting status', e.target.value); // tslint:disable-line
14+
setStatusFilter(e.target.value as StatusFilter);
15+
}
16+
}
17+
18+
return (
19+
<FilterPanel tittel="Status">
20+
<RadioGruppe>
21+
<Radio label="Alle" name="status-filter" checked={statusFilter === StatusFilter.ALLE} value={StatusFilter.ALLE} onChange={handleOnStatusRadioChanged}/>
22+
<Radio label="Venter på beslutter" name="status-filter" checked={statusFilter === StatusFilter.VENTER_PA_BESLUTTER} value={StatusFilter.VENTER_PA_BESLUTTER} onChange={handleOnStatusRadioChanged}/>
23+
<Radio label="Venter på veileder" name="status-filter" checked={statusFilter === StatusFilter.VENTER_PA_VEILEDER} value={StatusFilter.VENTER_PA_VEILEDER} onChange={handleOnStatusRadioChanged}/>
24+
<Radio label="Klar til utsending" name="status-filter" checked={statusFilter === StatusFilter.KLAR_TIL_UTSENDING} value={StatusFilter.KLAR_TIL_UTSENDING} onChange={handleOnStatusRadioChanged}/>
25+
</RadioGruppe>
26+
</FilterPanel>
27+
);
28+
};
File renamed without changes.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import React from 'react';
2+
3+
export const StatusRadio = () => {
4+
return null;
5+
};

0 commit comments

Comments
 (0)