From 3f12510db4d80ba0088f3aa9227bfe7a096461c4 Mon Sep 17 00:00:00 2001 From: Hallvard Andreas Stark <57254397+hallvardastark@users.noreply.github.com> Date: Mon, 16 Oct 2023 13:07:22 +0200 Subject: [PATCH] Legger ut redesign av fakta beregning i Q (#5121) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Legger ut redesign av fakta beregning i Q * yarn.lock * La til manglende featureToggles * fikser test * Lurt å returnere komponenten --- deploy/dev-fss-k9saksbehandling.yml | 2 + deploy/prod-fss-k9saksbehandling.yml | 2 + feature-toggles.json | 4 ++ package.json | 2 +- packages/behandling-frisinn/package.json | 1 + .../src/components/FrisinnFakta.spec.tsx | 2 + .../src/components/FrisinnFakta.tsx | 12 ++++- .../src/components/FrisinnPaneler.tsx | 1 + .../faktaPaneler/BeregningFaktaPanelDef.tsx | 18 +++++++ .../behandling-omsorgspenger/package.json | 1 + .../src/components/OmsorgspengerFakta.tsx | 9 ++-- .../faktaPaneler/BeregningFaktaPanelDef.tsx | 17 +++++++ .../behandling-opplaeringspenger/package.json | 1 + .../faktaPaneler/BeregningFaktaPanelDef.tsx | 17 +++++++ .../package.json | 1 + .../components/PleiepengerSluttfaseFakta.tsx | 1 + .../faktaPaneler/BeregningFaktaPanelDef.tsx | 17 +++++++ packages/behandling-pleiepenger/package.json | 1 + .../faktaPaneler/BeregningFaktaPanelDef.tsx | 17 +++++++ packages/sak-app/package.json | 1 + packages/sak-app/src/app/AppIndex.tsx | 1 + webpack/mocks/feature-toggles.js | 4 ++ yarn.lock | 49 +++++++++++++++++++ 23 files changed, 176 insertions(+), 5 deletions(-) diff --git a/deploy/dev-fss-k9saksbehandling.yml b/deploy/dev-fss-k9saksbehandling.yml index eb03d4e588..e233a31440 100644 --- a/deploy/dev-fss-k9saksbehandling.yml +++ b/deploy/dev-fss-k9saksbehandling.yml @@ -113,3 +113,5 @@ spec: value: "true" - name: OVERSTYR_BEREGNING value: "true" + - name: FAKTA_BEREGNING_REDESIGN + value: "true" diff --git a/deploy/prod-fss-k9saksbehandling.yml b/deploy/prod-fss-k9saksbehandling.yml index 354a65da5d..81ccc860cc 100644 --- a/deploy/prod-fss-k9saksbehandling.yml +++ b/deploy/prod-fss-k9saksbehandling.yml @@ -113,3 +113,5 @@ spec: value: "true" - name: OVERSTYR_BEREGNING value: "false" + - name: FAKTA_BEREGNING_REDESIGN + value: "false" diff --git a/feature-toggles.json b/feature-toggles.json index 6c124c8467..da5bbce04f 100644 --- a/feature-toggles.json +++ b/feature-toggles.json @@ -70,5 +70,9 @@ { "key": "OVERSTYR_BEREGNING", "value": "${OVERSTYR_BEREGNING}" + }, + { + "key": "FAKTA_BEREGNING_REDESIGN", + "value": "${FAKTA_BEREGNING_REDESIGN}" } ] diff --git a/package.json b/package.json index c76b2fad92..5b12f607e1 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "lint:fix": "eslint --fix --cache packages --ext .ts,.tsx,.js,.jsx", "css:lint": "stylelint \"packages/**/*.css\"", "dev": "yarn dev-env-variables cross-env NODE_ENV=development APP_URL_K9FORMIDLING=http://localhost:8060/rest/dummy webpack serve --config webpack/webpack.dev.ts", - "dev-env-variables": "cross-env KLAGE_KABAL=true VARSELTEKST=true DOKUMENTDATA=true UNNTAKSBEHANDLING=true UTENLANDSOPPHOLD=true SOKNADPERIODESTRIPE=false TYPE_MEDISINSKE_OPPLYSNINGER_BREV=true LOS_MARKER_BEHANDLING=true LOS_MARKER_BEHANDLING_SUBMIT=true AKSJONSPUNKT_9014=true AKSJONSPUNKT_9015=true FRITEKST_REDIGERING=true FIX_SOKNADSFRIST_KALENDER_OG_READONLY=true INKLUDER_KALENDER_PILS=true", + "dev-env-variables": "cross-env KLAGE_KABAL=true VARSELTEKST=true DOKUMENTDATA=true UNNTAKSBEHANDLING=true UTENLANDSOPPHOLD=true SOKNADPERIODESTRIPE=false TYPE_MEDISINSKE_OPPLYSNINGER_BREV=true LOS_MARKER_BEHANDLING=true LOS_MARKER_BEHANDLING_SUBMIT=true AKSJONSPUNKT_9014=true AKSJONSPUNKT_9015=true FRITEKST_REDIGERING=true FIX_SOKNADSFRIST_KALENDER_OG_READONLY=true INKLUDER_KALENDER_PILS=true FAKTA_BEREGNING_REDESIGN=true", "dev-lokal": "cross-env NODE_ENV=development APP_URL_SAK=http://k9-sak:8080 APP_URL_K9OPPDRAG=http://k9-oppdrag:8070 APP_URL_K9FORMIDLING_DD=http://k9-formidling-dokumentdata:8294 APP_URL_K9FORMIDLING=http://k9-formidling:8290 SPLITTET_SAMMENLINGNING_BEREGNING=true webpack serve --config webpack/webpack.dev.ts", "dev-med-formidling": "cross-env NODE_ENV=development webpack serve --config webpack/webpack.dev.ts", "build": "cross-env NODE_ENV=production SENTRY_RELEASE=$(git rev-parse --short HEAD) webpack --config webpack/webpack.prod.ts", diff --git a/packages/behandling-frisinn/package.json b/packages/behandling-frisinn/package.json index 9f68514cc9..f01ab2c4e6 100644 --- a/packages/behandling-frisinn/package.json +++ b/packages/behandling-frisinn/package.json @@ -24,6 +24,7 @@ "@k9-sak-web/rest-api-hooks": "1.0.0", "@k9-sak-web/types": "1.0.0", "@navikt/ft-fakta-beregning": "5.0.7", + "@navikt/ft-fakta-beregning-redesign": "1.0.4", "@navikt/ft-prosess-beregningsgrunnlag": "6.3.11", "react": "17.0.2", "react-intl": "6.4.7", diff --git a/packages/behandling-frisinn/src/components/FrisinnFakta.spec.tsx b/packages/behandling-frisinn/src/components/FrisinnFakta.spec.tsx index a6454a6c55..3c1db124ef 100644 --- a/packages/behandling-frisinn/src/components/FrisinnFakta.spec.tsx +++ b/packages/behandling-frisinn/src/components/FrisinnFakta.spec.tsx @@ -146,6 +146,7 @@ describe('', () => { setApentFaktaPanel={sinon.spy()} setBehandling={sinon.spy()} arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} + featureToggles={{ FAKTA_BEREGNING_REDESIGN: true }} />, ); @@ -187,6 +188,7 @@ describe('', () => { setApentFaktaPanel={sinon.spy()} setBehandling={sinon.spy()} arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} + featureToggles={{ FAKTA_BEREGNING_REDESIGN: true }} />, ); diff --git a/packages/behandling-frisinn/src/components/FrisinnFakta.tsx b/packages/behandling-frisinn/src/components/FrisinnFakta.tsx index 268f8bbad2..8f35323446 100644 --- a/packages/behandling-frisinn/src/components/FrisinnFakta.tsx +++ b/packages/behandling-frisinn/src/components/FrisinnFakta.tsx @@ -1,7 +1,14 @@ import React, { useEffect, useState } from 'react'; import { Rettigheter, SideMenuWrapper, faktaHooks, useSetBehandlingVedEndring } from '@k9-sak-web/behandling-felles'; -import { KodeverkMedNavn, Behandling, Fagsak, FagsakPerson, ArbeidsgiverOpplysningerPerId } from '@k9-sak-web/types'; +import { + KodeverkMedNavn, + Behandling, + Fagsak, + FagsakPerson, + ArbeidsgiverOpplysningerPerId, + FeatureToggles, +} from '@k9-sak-web/types'; import { RestApiState, useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; import ErrorBoundary from '@k9-sak-web/sak-app/src/app/ErrorBoundary'; import ac from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; @@ -27,6 +34,7 @@ interface OwnProps { setApentFaktaPanel: (faktaPanelInfo: { urlCode: string; textCode: string }) => void; setBehandling: (behandling: Behandling) => void; arbeidsgiverOpplysningerPerId: ArbeidsgiverOpplysningerPerId; + featureToggles: FeatureToggles; } const FrisinnFakta = ({ @@ -43,6 +51,7 @@ const FrisinnFakta = ({ setApentFaktaPanel, setBehandling, arbeidsgiverOpplysningerPerId, + featureToggles, }: OwnProps) => { const { aksjonspunkter, ...rest } = data; const { addErrorMessage } = useRestApiErrorDispatcher(); @@ -72,6 +81,7 @@ const FrisinnFakta = ({ rettigheter, aksjonspunkter, valgtFaktaSteg, + featureToggles, ); faktaHooks.useFaktaAksjonspunktNotifikator(faktaPaneler, setApentFaktaPanel, behandling.versjon); diff --git a/packages/behandling-frisinn/src/components/FrisinnPaneler.tsx b/packages/behandling-frisinn/src/components/FrisinnPaneler.tsx index 763691a016..7619e1f2dd 100644 --- a/packages/behandling-frisinn/src/components/FrisinnPaneler.tsx +++ b/packages/behandling-frisinn/src/components/FrisinnPaneler.tsx @@ -98,6 +98,7 @@ const FrisinnPaneler = ({ setApentFaktaPanel={setApentFaktaPanel} setBehandling={setBehandling} arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} + featureToggles={featureToggles} /> ); diff --git a/packages/behandling-frisinn/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx b/packages/behandling-frisinn/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx index 3633f1aebe..99b43bb812 100644 --- a/packages/behandling-frisinn/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx +++ b/packages/behandling-frisinn/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx @@ -6,6 +6,7 @@ import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; import { konverterKodeverkTilKode, mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import { BeregningFaktaIndex } from '@navikt/ft-fakta-beregning'; +import { BeregningFaktaIndex as BeregningFaktaIndexRedesign } from '@navikt/ft-fakta-beregning-redesign'; class BeregningFaktaPanelDef extends FaktaPanelDef { getUrlKode = () => faktaPanelCodes.BEREGNING; @@ -18,6 +19,23 @@ class BeregningFaktaPanelDef extends FaktaPanelDef { const deepCopyProps = JSON.parse(JSON.stringify(props)); konverterKodeverkTilKode(deepCopyProps); const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + if (props.featureToggles?.FAKTA_BEREGNING_REDESIGN) { + return ( + props.submitCallback(transformBeregningValues(aksjonspunktData))} + formData={props.formData} + setFormData={props.setFormData} + vilkar={mapVilkar(bgVilkaret, props.beregningreferanserTilVurdering)} + kodeverkSamling={deepCopyProps.alleKodeverk} + erOverstyrer={false} + submittable={deepCopyProps.submittable} + readOnly={deepCopyProps.isReadOnly} + skalKunneOverstyreAktiviteter={false} + skalKunneAvbryteOverstyring + /> + ); + } return ( { if (data?.behandlingPerioderårsakMedVilkår?.perioderMedÅrsak?.perioderTilVurdering) { - return data.behandlingPerioderårsakMedVilkår.perioderMedÅrsak.perioderTilVurdering.filter(periode => - isBefore(parse(periode.tom, 'yyyy-MM-dd', new Date()), parse('2023-01-01', 'yyyy-MM-dd', new Date())), - ).length > 0; + return ( + data.behandlingPerioderårsakMedVilkår.perioderMedÅrsak.perioderTilVurdering.filter(periode => + isBefore(parse(periode.tom, 'yyyy-MM-dd', new Date()), parse('2023-01-01', 'yyyy-MM-dd', new Date())), + ).length > 0 + ); } return false; }; @@ -98,6 +100,7 @@ const OmsorgspengerFakta = ({ rettigheter, aksjonspunkter, valgtFaktaSteg, + featureToggles, ); faktaHooks.useFaktaAksjonspunktNotifikator(faktaPaneler, setApentFaktaPanel, behandling.versjon); diff --git a/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx b/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx index af7079c352..30e5e8dcdf 100644 --- a/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx +++ b/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx @@ -6,6 +6,7 @@ import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; import { konverterKodeverkTilKode, mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import { BeregningFaktaIndex } from '@navikt/ft-fakta-beregning'; +import { BeregningFaktaIndex as BeregningFaktaIndexRedesign } from '@navikt/ft-fakta-beregning-redesign'; class BeregningFaktaPanelDef extends FaktaPanelDef { getUrlKode = () => faktaPanelCodes.BEREGNING; @@ -23,6 +24,22 @@ class BeregningFaktaPanelDef extends FaktaPanelDef { const deepCopyProps = JSON.parse(JSON.stringify(props)); konverterKodeverkTilKode(deepCopyProps); const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + if (props.featureToggles?.FAKTA_BEREGNING_REDESIGN) { + return ( + props.submitCallback(transformBeregningValues(aksjonspunktData))} + formData={props.formData} + setFormData={props.setFormData} + vilkar={mapVilkar(bgVilkaret, props.beregningreferanserTilVurdering)} + skalKunneOverstyreAktiviteter={false} + skalKunneAvbryteOverstyring + /> + ); + } return ( v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + if (props.featureToggles?.FAKTA_BEREGNING_REDESIGN) { + return ( + props.submitCallback(transformBeregningValues(aksjonspunktData))} + formData={props.formData} + setFormData={props.setFormData} + vilkar={mapVilkar(bgVilkaret, props.beregningreferanserTilVurdering)} + skalKunneOverstyreAktiviteter={false} + skalKunneAvbryteOverstyring + /> + ); + } return ( faktaPanelCodes.BEREGNING; @@ -23,6 +24,22 @@ class BeregningFaktaPanelDef extends FaktaPanelDef { const deepCopyProps = JSON.parse(JSON.stringify(props)); konverterKodeverkTilKode(deepCopyProps); const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + if (props.featureToggles?.FAKTA_BEREGNING_REDESIGN) { + return ( + props.submitCallback(transformBeregningValues(aksjonspunktData))} + formData={props.formData} + setFormData={props.setFormData} + vilkar={mapVilkar(bgVilkaret, props.beregningreferanserTilVurdering)} + skalKunneOverstyreAktiviteter={false} + skalKunneAvbryteOverstyring + /> + ); + } return ( v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + if (props.featureToggles?.FAKTA_BEREGNING_REDESIGN) { + return ( + props.submitCallback(transformBeregningValues(aksjonspunktData))} + formData={props.formData} + setFormData={props.setFormData} + vilkar={mapVilkar(bgVilkaret, props.beregningreferanserTilVurdering)} + skalKunneOverstyreAktiviteter={props.featureToggles && props.featureToggles.OVERSTYR_BEREGNING} + skalKunneAvbryteOverstyring + /> + ); + } return (