From 2e830473e1e133ce27d9d41b0f09cbc9ecff48a4 Mon Sep 17 00:00:00 2001 From: Viktor Solberg Date: Tue, 5 Nov 2024 15:03:13 +0100 Subject: [PATCH] =?UTF-8?q?skal=20ikke=20kunne=20vurdere=20historiske=20de?= =?UTF-8?q?lvilk=C3=A5r.=20Skal=20vise=20historiske=20delvilk=C3=A5r=20i?= =?UTF-8?q?=20historisk=20visning=20dersom=20de=20har=20blitt=20besvart=20?= =?UTF-8?q?tidligere.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Aleneomsorg/Aleneomsorg.tsx" | 1 + .../Vurdering/EndreVurderingComponent.tsx | 13 +++++++----- .../Komponenter/Behandling/Vurdering/typer.ts | 6 ++++++ .../Komponenter/Behandling/Vurdering/utils.ts | 20 ++++++++++++++++++- 4 files changed, 34 insertions(+), 6 deletions(-) diff --git "a/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Aleneomsorg/Aleneomsorg.tsx" "b/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Aleneomsorg/Aleneomsorg.tsx" index 668ecc897..5f4f36b11 100644 --- "a/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Aleneomsorg/Aleneomsorg.tsx" +++ "b/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Aleneomsorg/Aleneomsorg.tsx" @@ -57,6 +57,7 @@ export const Aleneomsorg: React.FC = ({ if (!vurdering) return null; const erSisteBarn = indeks === grunnlag.barnMedSamvær.length - 1; + return ( ( - vurdering.delvilkårsvurderinger + filtrerHistoriskeDelvilkår(vurdering.delvilkårsvurderinger, regler) ); const oppdaterVilkårsvar = (index: number, nySvarArray: Vurdering[]) => { @@ -141,21 +142,22 @@ const EndreVurderingComponent: FC<{ }); }} > - {delvilkårsvurderinger.map((delvikår, delvikårIndex) => { - return delvikår.vurderinger.map((svar) => { + {delvilkårsvurderinger.map((delvilkår, delvilkårIndex) => { + return delvilkår.vurderinger.map((svar) => { const regel = regler[svar.regelId]; + return ( - oppdaterSvar(delvikår.vurderinger, delvikårIndex, nyVurdering) + oppdaterSvar(delvilkår.vurderinger, delvilkårIndex, nyVurdering) } /> - oppdaterBegrunnelse(delvikår.vurderinger, delvikårIndex, { + oppdaterBegrunnelse(delvilkår.vurderinger, delvilkårIndex, { ...svar, begrunnelse, }) @@ -175,4 +177,5 @@ const EndreVurderingComponent: FC<{ ); }; + export default EndreVurderingComponent; diff --git a/src/frontend/Komponenter/Behandling/Vurdering/typer.ts b/src/frontend/Komponenter/Behandling/Vurdering/typer.ts index cab4cbaff..44ddc8dba 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/typer.ts +++ b/src/frontend/Komponenter/Behandling/Vurdering/typer.ts @@ -18,9 +18,15 @@ export interface Svarsalternativ { export type SvarMapping = Record; +export enum RegelVersjon { + GJELDENDE = 'GJELDENDE', + HISTORISK = 'HISTORISK', +} + export interface Regel { regelId: string; svarMapping: SvarMapping; + versjon: RegelVersjon; } export type Regler = { diff --git a/src/frontend/Komponenter/Behandling/Vurdering/utils.ts b/src/frontend/Komponenter/Behandling/Vurdering/utils.ts index b00bfc1f0..3c294d9e3 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/utils.ts +++ b/src/frontend/Komponenter/Behandling/Vurdering/utils.ts @@ -1,4 +1,12 @@ -import { Begrunnelse, BegrunnelseRegel, Regel, RegelId, Regler, Svarsalternativ } from './typer'; +import { + Begrunnelse, + BegrunnelseRegel, + Regel, + RegelId, + RegelVersjon, + Regler, + Svarsalternativ, +} from './typer'; import { IDelvilkår, Vurdering } from '../Inngangsvilkår/vilkår'; import { harIkkeVerdi, harVerdi } from '../../../App/utils/utils'; @@ -79,6 +87,16 @@ export function erAlleDelvilkårBesvarte( return erPåSisteNod && harBesvartAllePåkrevdeBegrunnelser; } +export const filtrerHistoriskeDelvilkår = ( + delvilkårListe: IDelvilkår[], + regler: Regler +): IDelvilkår[] => + delvilkårListe.filter((delvilkår) => + delvilkår.vurderinger.every( + (vurdering) => regler[vurdering.regelId].versjon === RegelVersjon.GJELDENDE + ) + ); + export function leggTilNesteIdHvis( nesteRegelId: RegelId, nySvarArray: Vurdering[],