Skip to content

Commit

Permalink
Overstyring uttak overforing (#5408)
Browse files Browse the repository at this point in the history
* Bruk relevanteAksjonspunkter fra ProsessStegPanelDef

* Relevante aksjonspunkter (#5383)

* Unngå doble serverkall pga <LoadingPanel /> (#5380)

Fikser nokon stader der sidekomponenter som laster data frå server vart rendra eit lite øyeblikk, før dei vart erstatta med visning av LoadingPanel pga datalasting frå server lenger ute i komponenthierarkiet. Slik rendering medføre at serverkall for datalasting frå komponenter lenger nede i hierarkiet skjer fleire ganger uten nokon god grunn.

Det er sannsynlegvis fleire stader i koden der dette er eit problem. Sjå etter kode som sjekker på xxx === RestApiState.LOADING uten å sjekke xxx === RestApiState.NOT_STARTED.

* relevanteAksjonspunkter

---------

Co-authored-by: Jostein Stuhaug <[email protected]>

* Klargjøring for overstyring i uttak

* Omstrukturering av types og constants, og nye types og constants

* Nye Utils

* Create OverstyrUttakContext.tsx

* Oppdater ContainerContract

* Legg til OverstyrUttakForm

* Feature toggle overstyring uttak

* Overstyring oiverført

* Rydde

* Overflødig komponent

* Ikke påkrevde props

* Button istedenfor lenke

* Forhindre potensiell visning av spinner før kall er initiert

* Rydde i types

* Rydde opp

* Import type

* erOverstyrer fra rettigheter

* erOVerstyrer

* Update PleiepengerProsess.spec.tsx

* CSS-lint

---------

Co-authored-by: Jostein Stuhaug <[email protected]>
  • Loading branch information
thomashwi and josstn authored Dec 12, 2023
1 parent b646ac7 commit dd025dd
Show file tree
Hide file tree
Showing 69 changed files with 1,292 additions and 136 deletions.
2 changes: 2 additions & 0 deletions deploy/dev-fss-k9saksbehandling.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,3 +101,5 @@ spec:
value: "true"
- name: LOKALE_PAKKER
value: "true"
- name: "OVERSTYRING_UTTAK"
value: "true"
2 changes: 2 additions & 0 deletions deploy/prod-fss-k9saksbehandling.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,3 +101,5 @@ spec:
value: "true"
- name: LOKALE_PAKKER
value: "false"
- name: "OVERSTYRING_UTTAK"
value: "false"
4 changes: 4 additions & 0 deletions feature-toggles.json
Original file line number Diff line number Diff line change
Expand Up @@ -74,5 +74,9 @@
{
"key": "LOKALE_PAKKER",
"value": "${LOKALE_PAKKER}"
},
{
"key": "OVERSTYRING_UTTAK",
"value": "${OVERSTYRING_UTTAK}"
}
]
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
"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 FAKTA_BEREGNING_REDESIGN=true LOKALE_PAKKER=true",
"dev-env-variables": "cross-env OVERSTYRING_UTTAK=true 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 LOKALE_PAKKER=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",
"dev-med-formidling": "yarn dev-env-variables 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",
"build-ci": "cross-env NODE_ENV=development webpack --env ci='true' --config webpack/webpack.dev.ts",
"lerna": "lerna",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ interface OwnProps {
lagreOverstyrteAksjonspunkter?: (params: any, keepData?: boolean) => Promise<any>;
useMultipleRestApi: (endpoints: EndpointData[], options: Options) => RestApiData<any>;
featureToggles?: FeatureToggles;
lagreOverstyringUttak?: (params: any) => void;
erOverstyrer?: boolean;
}

const ProsessStegPanel = ({
Expand All @@ -42,6 +44,8 @@ const ProsessStegPanel = ({
lagreOverstyrteAksjonspunkter,
useMultipleRestApi,
featureToggles,
lagreOverstyringUttak,
erOverstyrer = false,
}: OwnProps) => {
const erHenlagtOgVedtakStegValgt =
behandling.behandlingHenlagt && valgtProsessSteg && valgtProsessSteg.getUrlKode() === prosessStegCodes.VEDTAK;
Expand Down Expand Up @@ -119,6 +123,8 @@ const ProsessStegPanel = ({
formData,
setFormData,
submitCallback: bekreftAksjonspunktCallback,
lagreOverstyringUttak,
erOverstyrer,
...delPaneler[0].getKomponentData(),
...data,
})}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import React from 'react';

import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes';
import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus';
import { Aksjonspunkt, AlleKodeverk, ArbeidsgiverOpplysningerPerId } from '@k9-sak-web/types';
import { Uttak } from '@k9-sak-web/prosess-uttak';
import React from 'react';
import { useFeatureToggles } from '@fpsak-frontend/shared-components';

interface UttakProps {
uuid: string;
Expand All @@ -25,6 +27,7 @@ export default ({
submitCallback,
virkningsdatoUttakNyeRegler,
}: UttakProps) => {
const [featureToggles] = useFeatureToggles();
const relevanteAksjonspunkter = [aksjonspunktCodes.VENT_ANNEN_PSB_SAK, aksjonspunktCodes.VURDER_DATO_NY_REGEL_UTTAK];
const funnedeRelevanteAksjonspunkter = aksjonspunkter.filter(aksjonspunkt =>
relevanteAksjonspunkter.some(relevantAksjonspunkt => relevantAksjonspunkt === aksjonspunkt.definisjon.kode),
Expand All @@ -48,6 +51,8 @@ export default ({
kodeverkUtenlandsoppholdÅrsak: alleKodeverk?.UtenlandsoppholdÅrsak,
løsAksjonspunktVurderDatoNyRegelUttak,
virkningsdatoUttakNyeRegler,
featureToggles,
erOverstyrer: false, // Overstyring er ikke implementert for Pleiepenger
}}
/>
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import React from 'react';

import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes';
import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus';
import { Aksjonspunkt, AlleKodeverk, ArbeidsgiverOpplysningerPerId } from '@k9-sak-web/types';
import { Uttak } from '@k9-sak-web/prosess-uttak';
import React from 'react';
import { useFeatureToggles } from '@fpsak-frontend/shared-components';

interface UttakProps {
uuid: string;
Expand All @@ -27,6 +29,7 @@ export default ({
submitCallback,
virkningsdatoUttakNyeRegler,
}: UttakProps) => {
const [featureToggles] = useFeatureToggles();
const relevanteAksjonspunkter = [aksjonspunktCodes.VENT_ANNEN_PSB_SAK, aksjonspunktCodes.VURDER_DATO_NY_REGEL_UTTAK];
const funnedeRelevanteAksjonspunkter = aksjonspunkter.filter(aksjonspunkt =>
relevanteAksjonspunkter.some(relevantAksjonspunkt => relevantAksjonspunkt === aksjonspunkt.definisjon.kode),
Expand All @@ -51,6 +54,8 @@ export default ({
løsAksjonspunktVurderDatoNyRegelUttak,
virkningsdatoUttakNyeRegler,
aksjonspunkter: funnedeRelevanteAksjonspunkter,
featureToggles,
erOverstyrer: false, // Overstyring er ikke implementert for PILS
}}
/>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import {
requestPleiepengerApi,
restApiPleiepengerHooks,
} from './data/pleiepengerBehandlingApi';
import FetchedData from './types/fetchedDataTsType';
import { OverstyringUttakRequest, FetchedData } from './types';

const pleiepengerData = [
{ key: PleiepengerBehandlingApiKeys.AKSJONSPUNKTER },
Expand Down Expand Up @@ -133,6 +133,21 @@ const BehandlingPleiepengerIndex = ({
PleiepengerBehandlingApiKeys.SAVE_AKSJONSPUNKT,
);

const { startRequest: lagreOverstyringUttakRequest } = restApiPleiepengerHooks.useRestApiRunner(
PleiepengerBehandlingApiKeys.SAVE_OVERSTYRT_AKSJONSPUNKT,
);

const lagreOverstyringUttak = async (values: OverstyringUttakRequest): Promise<void> => {
lagreOverstyringUttakRequest({
saksnummer: fagsak.saksnummer,
behandlingId: behandling.id,
behandlingVersjon: behandling.versjon,
overstyrteAksjonspunktDtoer: [values],
})
.then(() => hentBehandling({ behandlingId }, true))
.then(() => window.scroll(0, 0));
};

useEffect(() => {
behandlingEventHandler.setHandler({
endreBehandlendeEnhet: params => nyBehandlendeEnhet(params).then(() => hentBehandling({ behandlingId }, true)),
Expand Down Expand Up @@ -191,6 +206,7 @@ const BehandlingPleiepengerIndex = ({
arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysninger ? arbeidsgiverOpplysninger.arbeidsgivere : {}}
featureToggles={featureToggles}
dokumenter={alleDokumenter}
lagreOverstyringUttak={lagreOverstyringUttak}
/>
</>
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react';
import { arbeidstypeTilVisning, Arbeidstype } from '../types/Arbeidstype';
import { arbeidstypeTilVisning, Arbeidstype } from '../types';

interface ArbeidsgiverMedPerioder {
arbeidsgiverNavn: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { Behandling, Fagsak } from '@k9-sak-web/types';
import sivilstandType from '@fpsak-frontend/kodeverk/src/sivilstandType';
import opplysningAdresseType from '@fpsak-frontend/kodeverk/src/opplysningAdresseType';
import ForeldrepengerFakta from './PleiepengerFakta';
import FetchedData from '../types/fetchedDataTsType';
import FetchedData from '../types/FetchedData';
import { PleiepengerBehandlingApiKeys, requestPleiepengerApi } from '../data/pleiepengerBehandlingApi';

describe('<PleiepengerFakta>', () => {
Expand Down Expand Up @@ -99,7 +99,7 @@ describe('<PleiepengerFakta>', () => {
statsborgerskap: {
kode: '',
kodeverk: '',
navn: ''
navn: '',
},
diskresjonskode: {
kode: '',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { LoadingPanel } from '@fpsak-frontend/shared-components';
import { RestApiState, useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks';

import faktaPanelDefinisjoner from '../panelDefinisjoner/faktaPleiepengerPanelDefinisjoner';
import FetchedData from '../types/fetchedDataTsType';
import FetchedData from '../types/FetchedData';
import { restApiPleiepengerHooks, PleiepengerBehandlingApiKeys } from '../data/pleiepengerBehandlingApi';

const overstyringApCodes = [ac.OVERSTYRING_AV_BEREGNINGSAKTIVITETER, ac.OVERSTYRING_AV_BEREGNINGSGRUNNLAG];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,13 @@ import {
} from '@k9-sak-web/types';
import moment from 'moment';
import React, { useState } from 'react';
import { Arbeidstype } from '../types/Arbeidstype';
import FetchedData from '../types/fetchedDataTsType';
import { Arbeidstype } from '../types';
import FetchedData from '../types/FetchedData';
import ArbeidsgiverMedManglendePerioderListe from './ArbeidsgiverMedManglendePerioderListe';
import DataFetcher from './DataFetcher';
import PleiepengerFakta from './PleiepengerFakta';
import PleiepengerProsess from './PleiepengerProsess';
import { OverstyringUttakRequest } from '../types/OverstyringUttakRequest';

interface OwnProps {
fetchedData: FetchedData;
Expand All @@ -43,6 +44,7 @@ interface OwnProps {
arbeidsgiverOpplysningerPerId: ArbeidsgiverOpplysningerPerId;
featureToggles: FeatureToggles;
dokumenter: Dokument[];
lagreOverstyringUttak: (values: OverstyringUttakRequest) => void;
}

interface FaktaPanelInfo {
Expand Down Expand Up @@ -79,6 +81,7 @@ const PleiepengerPaneler = ({
arbeidsgiverOpplysningerPerId,
featureToggles,
dokumenter,
lagreOverstyringUttak,
}: OwnProps) => {
const [apentFaktaPanelInfo, setApentFaktaPanel] = useState<FaktaPanelInfo>();
const [beregningErBehandlet, setBeregningErBehandlet] = useState<boolean>(false);
Expand Down Expand Up @@ -152,6 +155,7 @@ const PleiepengerPaneler = ({
arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId}
featureToggles={featureToggles}
setBeregningErBehandlet={setBeregningErBehandlet}
lagreOverstyringUttak={lagreOverstyringUttak}
/>
<PleiepengerFakta
behandling={behandling}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import { Behandling, Fagsak, Soknad } from '@k9-sak-web/types';

import { K9sakApiKeys, requestApi } from '@k9-sak-web/sak-app/src/data/k9sakApi';
import { PleiepengerBehandlingApiKeys, requestPleiepengerApi } from '../data/pleiepengerBehandlingApi';
import FetchedData from '../types/fetchedDataTsType';
import FetchedData from '../types/FetchedData';
import PleiepengerProsess from './PleiepengerProsess';

describe('<PleiepengerProsess>', () => {
Expand Down Expand Up @@ -199,6 +199,7 @@ describe('<PleiepengerProsess>', () => {
arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId}
featureToggles={{}}
setBeregningErBehandlet={() => {}}
lagreOverstyringUttak={sinon.spy()}
/>,
);

Expand Down Expand Up @@ -294,6 +295,7 @@ describe('<PleiepengerProsess>', () => {
arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId}
featureToggles={{}}
setBeregningErBehandlet={() => {}}
lagreOverstyringUttak={sinon.spy()}
/>,
);

Expand Down Expand Up @@ -353,6 +355,7 @@ describe('<PleiepengerProsess>', () => {
arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId}
featureToggles={{}}
setBeregningErBehandlet={() => {}}
lagreOverstyringUttak={sinon.spy()}
/>,
);

Expand Down Expand Up @@ -416,6 +419,7 @@ describe('<PleiepengerProsess>', () => {
arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId}
featureToggles={{}}
setBeregningErBehandlet={() => {}}
lagreOverstyringUttak={sinon.spy()}
/>,
);

Expand Down Expand Up @@ -477,6 +481,7 @@ describe('<PleiepengerProsess>', () => {
arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId}
featureToggles={{}}
setBeregningErBehandlet={() => {}}
lagreOverstyringUttak={sinon.spy()}
/>,
);

Expand Down Expand Up @@ -514,6 +519,7 @@ describe('<PleiepengerProsess>', () => {
arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId}
featureToggles={{}}
setBeregningErBehandlet={() => {}}
lagreOverstyringUttak={sinon.spy()}
/>,
);

Expand Down Expand Up @@ -554,6 +560,7 @@ describe('<PleiepengerProsess>', () => {
arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId}
featureToggles={{}}
setBeregningErBehandlet={() => {}}
lagreOverstyringUttak={sinon.spy()}
/>,
);

Expand Down Expand Up @@ -599,6 +606,7 @@ describe('<PleiepengerProsess>', () => {
arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId}
featureToggles={{}}
setBeregningErBehandlet={() => {}}
lagreOverstyringUttak={sinon.spy()}
/>,
);

Expand Down
Loading

0 comments on commit dd025dd

Please sign in to comment.