Skip to content

Commit 78001dc

Browse files
committed
KAIZEN-0 Hent aktiv enhet for redirect til vedtaksstøtte
1 parent 9aa3541 commit 78001dc

File tree

9 files changed

+44
-11
lines changed

9 files changed

+44
-11
lines changed

src/components/datafetcher.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,20 @@ import { AlertStripeFeil } from 'nav-frontend-alertstriper';
55
import Spinner from './felles/spinner/spinner';
66

77
export function DataFetcher(props: { children: any }) {
8-
const { innloggetVeilederFetcher } = useDataFetcherStore();
8+
const { innloggetVeilederFetcher, aktivEnhetFetcher } = useDataFetcherStore();
99

1010
useEffect(() => {
1111
if (isNotStarted(innloggetVeilederFetcher)) {
1212
innloggetVeilederFetcher.fetch(null);
1313
}
14+
15+
if (isNotStarted(aktivEnhetFetcher)) {
16+
aktivEnhetFetcher.fetch(null);
17+
}
1418
// eslint-disable-next-line react-hooks/exhaustive-deps
1519
}, [innloggetVeilederFetcher]);
1620

21+
// Trenger ikke å sjekke om aktivEnhetFetcher er ferdig
1722
if (isAnyNotStartedOrPending([innloggetVeilederFetcher])) {
1823
return <Spinner />;
1924
} else if (hasAnyFailed([innloggetVeilederFetcher])) {
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
import React from 'react';
22
import { UserRow } from './user-table-row';
33
import { Bruker } from '../../../rest/data/bruker';
4+
import { OrNothing } from '../../../utils/types/ornothing';
45
import './user-table-body.less';
56

67
interface UserTableBodyProps {
78
brukere: Bruker[];
9+
aktivEnhet: OrNothing<string>;
810
}
911

1012
export const UserTableBody = (props: UserTableBodyProps) => {
1113
return (
1214
<ul className="user-table-body">
13-
{props.brukere.map((bruker, idx) => <UserRow bruker={bruker} key={idx} />)}
15+
{props.brukere.map((bruker, idx) => <UserRow bruker={bruker} aktivEnhet={props.aktivEnhet} key={idx} />)}
1416
</ul>
1517
);
1618
};

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,18 @@ import klarForUtsendelseIcon from './status/klar_for_utsendelse.svg';
77
import trengerBeslutterIcon from './status/trenger_beslutter.svg';
88
import trengerTilbakemeldingIcon from './status/trenger_tilbakemelding.svg';
99
import venterPaResponsIcon from './status/venter_pa_respons.svg';
10+
import { OrNothing } from '../../../utils/types/ornothing';
1011

11-
export const UserRow = (props: {bruker: Bruker}) => {
12+
export const UserRow = (props: {bruker: Bruker, aktivEnhet: OrNothing<string>}) => {
1213
const {
1314
brukerFnr, brukerFornavn, brukerEtternavn, statusEndret,
1415
brukerOppfolgingsenhetNavn, vedtakStartet,
1516
beslutterNavn, veilederNavn, status
1617
} = props.bruker;
1718

1819
function handleOnUserRowClicked() {
19-
window.location.href = `/veilarbpersonflatefs/${brukerFnr}#visVedtaksstotte`;
20+
const enhetQueryParam = props.aktivEnhet ? `?enhet=${props.aktivEnhet}` : '';
21+
window.location.href = `/veilarbpersonflatefs/${brukerFnr}${enhetQueryParam}#visVedtaksstotte`;
2022
}
2123

2224
return (

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@ import Show from '../felles/show';
1111
import Spinner from '../felles/spinner/spinner';
1212

1313
export const UserTable = () => {
14-
const { brukereFetcher } = useDataFetcherStore();
14+
const { brukereFetcher, aktivEnhetFetcher } = useDataFetcherStore();
1515
const { orderByField, orderByDirection, setOrderByField, setOrderByDirection } = useSokStore();
1616
const tableBrukere = brukereFetcher.data || [];
17+
const aktivEnhet = aktivEnhetFetcher.data ? aktivEnhetFetcher.data.aktivEnhet : undefined;
1718
const orderByData: OrderByData = {
1819
field: orderByField,
1920
direction: orderByDirection
@@ -38,7 +39,7 @@ export const UserTable = () => {
3839
Fant ingen brukere
3940
</AlertStripeInfo>
4041
)
41-
: <UserTableBody brukere={tableBrukere} />
42+
: <UserTableBody brukere={tableBrukere} aktivEnhet={aktivEnhet} />
4243
}
4344
</section>
4445
);

src/mock/data/aktiv-enhet.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { AktivEnhet } from '../../rest/data/aktiv-enhet';
2+
3+
export const aktivEnhet: AktivEnhet = {
4+
aktivEnhet: '1234'
5+
};

src/mock/index.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import FetchMock, { HandlerArgument, MiddlewareUtils, ResponseData } from 'yet-another-fetch-mock';
22
import { mockBeslutteroversiktSok } from './sok-mock';
3-
import { VEILARBVEILEDER_API } from '../rest/api';
3+
import { MODIACONTEXTHOLDER_API, VEILARBVEILEDER_API } from '../rest/api';
44
import { innloggetVeileder } from './data/innlogget-veileder';
5+
import { aktivEnhet } from './data/aktiv-enhet';
56

67
export interface Mock {
78
url: string;
@@ -14,4 +15,5 @@ const fetchMock = FetchMock.configure({
1415
});
1516

1617
fetchMock.post(mockBeslutteroversiktSok.url, mockBeslutteroversiktSok.handler);
17-
fetchMock.get(`${VEILARBVEILEDER_API}/veileder/v2/me`, innloggetVeileder as any);
18+
fetchMock.get(`${VEILARBVEILEDER_API}/veileder/v2/me`, innloggetVeileder as any);
19+
fetchMock.get(`${MODIACONTEXTHOLDER_API}/context/aktivenhet`, aktivEnhet as any);

src/rest/api.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { UtkastStatus } from './data/bruker';
44

55
export const VEILARBVEDTAKSSTOTTE_API = '/veilarbvedtaksstotte/api';
66
export const VEILARBVEILEDER_API = '/veilarbveileder/api';
7+
export const MODIACONTEXTHOLDER_API = '/modiacontextholder/api';
78

89
export interface BeslutteroversiktSok {
910
fra: number;
@@ -45,4 +46,8 @@ export const lagHentBrukereFetchInfo = (params: { sok: BeslutteroversiktSok }):
4546

4647
export const lagHentInnloggetVeilederFetchInfo = (): FetchInfo => ({
4748
url: `${VEILARBVEILEDER_API}/veileder/v2/me`
48-
});
49+
});
50+
51+
export const lagHentAktivEnhetFetchInfo = (): FetchInfo => ({
52+
url: `${MODIACONTEXTHOLDER_API}/context/aktivenhet`
53+
});

src/rest/data/aktiv-enhet.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export interface AktivEnhet {
2+
aktivEnhet: string;
3+
}

src/stores/data-fetcher-store.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,20 @@
11
import createUseContext from 'constate';
22
import useFetch from '../rest/use-fetch';
3-
import { BeslutteroversiktSok, lagHentBrukereFetchInfo, lagHentInnloggetVeilederFetchInfo } from '../rest/api';
3+
import {
4+
BeslutteroversiktSok,
5+
lagHentAktivEnhetFetchInfo,
6+
lagHentBrukereFetchInfo,
7+
lagHentInnloggetVeilederFetchInfo
8+
} from '../rest/api';
49
import { Bruker } from '../rest/data/bruker';
510
import { InnloggetVeileder } from '../rest/data/innlogget-veileder';
11+
import { AktivEnhet } from '../rest/data/aktiv-enhet';
12+
import { OrNothing } from '../utils/types/ornothing';
613

714
export const useDataFetcherStore = createUseContext(() => {
815
const brukereFetcher = useFetch<Bruker[], { sok: BeslutteroversiktSok }>(lagHentBrukereFetchInfo);
916
const innloggetVeilederFetcher = useFetch<InnloggetVeileder>(lagHentInnloggetVeilederFetchInfo);
17+
const aktivEnhetFetcher = useFetch<OrNothing<AktivEnhet>>(lagHentAktivEnhetFetchInfo);
1018

11-
return { brukereFetcher, innloggetVeilederFetcher };
19+
return { brukereFetcher, innloggetVeilederFetcher, aktivEnhetFetcher };
1220
});

0 commit comments

Comments
 (0)