Skip to content

Commit 6e91cce

Browse files
committed
FO-2760 Fetch innlogget veileder og brukere
1 parent 8409ba5 commit 6e91cce

File tree

18 files changed

+218
-15
lines changed

18 files changed

+218
-15
lines changed

package-lock.json

Lines changed: 37 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,18 @@
4242
"craco-less": "1.9.0",
4343
"dayjs": "^1.8.17",
4444
"lodash.throttle": "^4.1.1",
45+
"nav-frontend-alertstriper": "^3.0.11",
46+
"nav-frontend-alertstriper-style": "^2.0.9",
4547
"nav-frontend-core": "^4.0.11",
48+
"nav-frontend-ikoner-assets": "^1.0.5",
4649
"nav-frontend-js-utils": "^1.0.8",
4750
"nav-frontend-lenker": "^1.0.33",
4851
"nav-frontend-lenker-style": "^0.2.24",
4952
"nav-frontend-paneler-style": "^0.3.17",
5053
"nav-frontend-skjema": "^2.0.11",
5154
"nav-frontend-skjema-style": "^2.0.3",
55+
"nav-frontend-spinner": "^2.0.1",
56+
"nav-frontend-spinner-style": "^0.2.5",
5257
"nav-frontend-typografi": "^2.0.17",
5358
"nav-frontend-typografi-style": "^1.0.18",
5459
"prop-types": "^15.7.2",
@@ -59,6 +64,7 @@
5964
},
6065
"devDependencies": {
6166
"@types/classnames": "^2.2.9",
67+
"@types/faker": "^4.1.10",
6268
"@types/jest": "^24.0.22",
6369
"@types/lodash.debounce": "^4.0.6",
6470
"@types/node": "^12.12.6",
@@ -67,6 +73,7 @@
6773
"@types/react-modal": "^3.10.0",
6874
"@types/react-select": "^3.0.8",
6975
"cross-env": "^7.0.0",
76+
"faker": "^4.1.0",
7077
"husky": "^3.0.9",
7178
"lint-staged": "^9.4.2",
7279
"prettier": "^1.18.2",

src/components/datafetcher.tsx

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,33 @@
1-
import React from 'react';
1+
import React, { useEffect } from 'react';
2+
import { useFetchStore } from '../stores/fetch-store';
3+
import { hasAnyFailed, isAnyNotStartedOrPending, isNotStarted } from '../rest/utils';
4+
import { AlertStripeFeil } from 'nav-frontend-alertstriper';
5+
import Spinner from './felles/spinner/spinner';
26

37
export function DataFetcher(props: { children: any }) {
8+
const { brukere, innloggetVeileder } = useFetchStore();
9+
10+
useEffect(() => {
11+
if (isNotStarted(brukere)) {
12+
brukere.fetch(null);
13+
}
14+
15+
if (isNotStarted(innloggetVeileder)) {
16+
innloggetVeileder.fetch(null);
17+
}
18+
// eslint-disable-next-line react-hooks/exhaustive-deps
19+
}, [brukere, innloggetVeileder]);
20+
21+
if (isAnyNotStartedOrPending([brukere, innloggetVeileder])) {
22+
return <Spinner />;
23+
} else if (hasAnyFailed([brukere, innloggetVeileder])) {
24+
return (
25+
<AlertStripeFeil className="vedtaksstotte-alert">
26+
Det oppnås for tiden ikke kontakt med alle baksystemer.
27+
Vi jobber med å løse saken. Vennligst prøv igjen senere.
28+
</AlertStripeFeil>
29+
);
30+
}
31+
432
return props.children;
533
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
.vedtaksstotte-spinner {
3+
display: flex;
4+
justify-content: center;
5+
margin: 3rem 0;
6+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import React from 'react';
2+
import NavFrontendSpinner from 'nav-frontend-spinner';
3+
import './spinner.less';
4+
5+
function Spinner() {
6+
return (
7+
<div className="vedtaksstotte-spinner">
8+
<NavFrontendSpinner type="XL" />
9+
</div>
10+
);
11+
}
12+
13+
export default Spinner;

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33
background-color: white;
44

55
margin-bottom: 2rem;
6+
border-radius: 4px;
67
}

src/components/header/header.less

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
.header {
33
width: 100%;
4-
padding: 2rem;
4+
padding: 2rem 2.5rem;
55
background-color: white;
66
}

src/components/sokefelt/sokefelt.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
import React, { useState } from 'react';
1+
import React from 'react';
22
import { Input } from 'nav-frontend-skjema';
33
import './sokefelt.less';
4+
import { useFilterStore } from '../../stores/filter-store';
45

56
export const Sokefelt = () => {
6-
const [query, setQuery] = useState('');
7+
const { fnrOrNameFilter, setFnrOrNameFilter } = useFilterStore();
78

89
function handleOnQueryChanged(e: React.ChangeEvent<HTMLInputElement>) {
9-
setQuery(e.target.value);
10+
setFnrOrNameFilter(e.target.value);
1011
}
1112

1213
return (
@@ -15,7 +16,7 @@ export const Sokefelt = () => {
1516
label=""
1617
placeholder="Søk etter navn eller fødselsnummer"
1718
onChange={handleOnQueryChanged}
18-
value={query}
19+
value={fnrOrNameFilter}
1920
/>
2021
</div>
2122
);

src/mock/data/brukere.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import faker from 'faker';
2+
import { Bruker, BrukerStatus } from '../../rest/data/bruker';
3+
import { enheter } from './enheter';
4+
5+
export const lagBrukere = (antallBrukere: number): Bruker[] => {
6+
const brukere: Bruker[] = [];
7+
8+
for (let i = 0; i < antallBrukere; i++) {
9+
const randomEnhet = faker.random.arrayElement(enheter);
10+
11+
const bruker: Bruker = {
12+
beslutterNavn: faker.name.firstName() + ' ' + faker.name.lastName(),
13+
fnr: faker.random.number(1231999999999).toString(),
14+
fornavn: faker.name.firstName(),
15+
etternavn: faker.name.lastName(),
16+
oppfolgingStartet: faker.date.recent().toISOString(),
17+
oppfolgingsenhetId: randomEnhet.enhetId,
18+
oppfolgingsenhetNavn: randomEnhet.navn,
19+
status: BrukerStatus.KLAR_TIL_UTSENDING,
20+
utkastSistEndret: faker.date.recent().toISOString()
21+
};
22+
23+
brukere.push(bruker);
24+
}
25+
26+
return brukere;
27+
};

src/mock/data/enheter.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { Enhet } from '../../rest/data/innlogget-veileder';
2+
3+
export const enheter: Enhet[] = [
4+
{ enhetId: '1234', navn: 'NAV Testheim' },
5+
{ enhetId: '0234', navn: 'NAV Gjerdrum' },
6+
{ enhetId: '0219', navn: 'NAV Bærum' },
7+
{ enhetId: '0335', navn: 'NAV Ullern' },
8+
{ enhetId: '0604', navn: 'NAV Kongsberg' },
9+
{ enhetId: '1525', navn: 'NAV Stranda' }
10+
];

0 commit comments

Comments
 (0)