Skip to content

Commit

Permalink
Laget en hook for å hente IDer på vilkårsvurderinger som kan gjenbruk…
Browse files Browse the repository at this point in the history
…es. Bruker hooken i BehandlingContext. Sjekker om en ID til en vilkårsvurdering finnes i listen for gjenbrukbare vilkår.
  • Loading branch information
gunnsteingarmo committed Dec 6, 2024
1 parent 1aa9a38 commit 85ae32d
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 4 deletions.
13 changes: 13 additions & 0 deletions src/frontend/App/context/BehandlingContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import { useApp } from './AppContext';
import { ModalState, utledModalState } from '../../Komponenter/Behandling/Modal/NyEierModal';
import { useHentVedtak } from '../hooks/useHentVedtak';
import { useHentFagsak } from '../hooks/useHentFagsak';
import { useHentAlleGjenbrukbareVilkårsvurderinger } from '../hooks/useHentAlleGjenbrukbareVilkårsvurderinger';

const [BehandlingProvider, useBehandling] = constate(() => {
const { innloggetSaksbehandler } = useApp();
Expand Down Expand Up @@ -63,6 +64,9 @@ const [BehandlingProvider, useBehandling] = constate(() => {
const [visSettPåVent, settVisSettPåVent] = useState(false);
const [åpenHøyremeny, settÅpenHøyremeny] = useState(true);

const { gjenbrukbareVilkårsvurderinger, hentAlleGjenbrukbareVilkårsvurderinger } =
useHentAlleGjenbrukbareVilkårsvurderinger();

const {
endringerPersonopplysninger,
nullstillGrunnlagsendringer,
Expand Down Expand Up @@ -117,6 +121,14 @@ const [BehandlingProvider, useBehandling] = constate(() => {
}
}, [behandling, ansvarligSaksbehandler, innloggetSaksbehandler]);

useEffect(() => {
const delayFetch = setTimeout(() => {
hentAlleGjenbrukbareVilkårsvurderinger(behandlingId);
}, 1000);

return () => clearTimeout(delayFetch);
}, [hentAlleGjenbrukbareVilkårsvurderinger, behandlingId]);

const vilkårState = useVilkår();

return {
Expand Down Expand Up @@ -147,6 +159,7 @@ const [BehandlingProvider, useBehandling] = constate(() => {
vedtak,
vedtaksresultat,
fagsak,
gjenbrukbareVilkårsvurderinger,
};
});

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { useCallback, useState } from 'react';
import { RessursStatus } from '../typer/ressurs';
import { useApp } from '../context/AppContext';

interface Props {
gjenbrukbareVilkårsvurderinger: string[];
hentAlleGjenbrukbareVilkårsvurderinger: (behandlingId: string) => Promise<void>;
}

export const useHentAlleGjenbrukbareVilkårsvurderinger = (): Props => {
const [gjenbrukbareVilkårsvurderinger, settGjenbrukbareVilkårsvurderinger] = useState<string[]>(
[]
);

const { axiosRequest } = useApp();

const hentAlleGjenbrukbareVilkårsvurderinger = useCallback(
async (behandlingId: string): Promise<void> => {
const respons = await axiosRequest<string[], void>({
method: 'GET',
url: `/familie-ef-sak/api/vurdering/${behandlingId}/gjenbrukbare-vilkår`,
});
if (respons.status === RessursStatus.SUKSESS) {
settGjenbrukbareVilkårsvurderinger(respons.data);
} else {
settGjenbrukbareVilkårsvurderinger([]);
}
},
[axiosRequest]
);

return {
gjenbrukbareVilkårsvurderinger,
hentAlleGjenbrukbareVilkårsvurderinger,
};
};
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ const VisEllerEndreVurdering: FC<Props> = ({
hentBehandling,
settNyEierModalState,
vilkårState,
gjenbrukbareVilkårsvurderinger,
} = useBehandling();

const { gjenbrukEnkelVilkårsvurdering } = vilkårState;
Expand Down Expand Up @@ -154,7 +155,7 @@ const VisEllerEndreVurdering: FC<Props> = ({
<Button onClick={ikkeVurder} variant={'tertiary'} type={'button'}>
{høyreKnappetekst ? høyreKnappetekst : 'Ikke vurder vilkår'}
</Button>
{skalViseGjenbrukKnapp(vurdering) && (
{skalViseGjenbrukKnapp(vurdering, gjenbrukbareVilkårsvurderinger) && (
<Button
onClick={gjenbrukVilkårsvurdering}
variant={'tertiary'}
Expand Down Expand Up @@ -185,6 +186,7 @@ const VisEllerEndreVurdering: FC<Props> = ({
behandlingErRedigerbar={behandlingErRedigerbar && erSaksbehandler}
tittelTekst={tittelTekstVisVurdering}
gjenbrukVilkårsvurdering={gjenbrukVilkårsvurdering}
gjenbrukbareVilkårsvurderinger={gjenbrukbareVilkårsvurderinger}
/>
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ interface Props {
behandlingErRedigerbar: boolean;
tittelTekst?: string;
gjenbrukVilkårsvurdering: () => void;
gjenbrukbareVilkårsvurderinger: string[];
}

const VisVurdering: FC<Props> = ({
Expand All @@ -75,6 +76,7 @@ const VisVurdering: FC<Props> = ({
behandlingErRedigerbar,
tittelTekst,
gjenbrukVilkårsvurdering,
gjenbrukbareVilkårsvurderinger,
}) => {
const [visModal, settVisModal] = React.useState<boolean>(false);
const vilkårsresultat = vurdering.resultat;
Expand Down Expand Up @@ -129,7 +131,7 @@ const VisVurdering: FC<Props> = ({
>
<span>Slett</span>
</Button>
{skalViseGjenbrukKnapp(vurdering) && (
{skalViseGjenbrukKnapp(vurdering, gjenbrukbareVilkårsvurderinger) && (
<Button
type={'button'}
variant={'tertiary'}
Expand Down
7 changes: 5 additions & 2 deletions src/frontend/Komponenter/Behandling/Vurdering/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -186,8 +186,11 @@ const sjekkErInngangsvilkårType = (vilkårtype: VilkårType): vilkårtype is In
return Object.values(InngangsvilkårType).includes(vilkårtype as InngangsvilkårType);
};

export const skalViseGjenbrukKnapp = (vurdering: IVurdering) => {
export const skalViseGjenbrukKnapp = (
vurdering: IVurdering,
gjenbrukbareVilkårsvurderinger: string[]
) => {
const erInngangsvilkårType = sjekkErInngangsvilkårType(vurdering.vilkårType);
const kanGjenbruke = vurdering.kanGjenbrukes;
const kanGjenbruke = gjenbrukbareVilkårsvurderinger?.includes(vurdering.id);
return erInngangsvilkårType && kanGjenbruke;
};

0 comments on commit 85ae32d

Please sign in to comment.