Skip to content

Commit

Permalink
Setter inputfelter i lesevisning ved read only (#6801)
Browse files Browse the repository at this point in the history
* Setter inputfelter i lesevisning ved read only

* Sender ned props for alle relevante ytelser

* Gjør at man slipper å trykke på rediger for å se vurdering
  • Loading branch information
hallvardastark authored Nov 8, 2024
1 parent 1f1aa90 commit 6707a81
Show file tree
Hide file tree
Showing 12 changed files with 57 additions and 38 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
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 { Aksjonspunkt, AlleKodeverk, ArbeidsgiverOpplysningerPerId } from '@k9-sak-web/types';

interface UttakProps {
uuid: string;
Expand All @@ -15,6 +13,7 @@ interface UttakProps {
alleKodeverk: AlleKodeverk;
submitCallback: (data: { kode: string; begrunnelse: string; virkningsdato: string }[]) => void;
virkningsdatoUttakNyeRegler?: string;
readOnly: boolean;
}

export default ({
Expand All @@ -27,6 +26,7 @@ export default ({
alleKodeverk,
submitCallback,
virkningsdatoUttakNyeRegler,
readOnly,
}: UttakProps) => {
const relevanteAksjonspunkter = [aksjonspunktCodes.VENT_ANNEN_PSB_SAK, aksjonspunktCodes.VURDER_DATO_NY_REGEL_UTTAK];
const funnedeRelevanteAksjonspunkter = aksjonspunkter.filter(aksjonspunkt =>
Expand All @@ -53,6 +53,7 @@ export default ({
løsAksjonspunktVurderDatoNyRegelUttak,
virkningsdatoUttakNyeRegler,
erOverstyrer: false, // Overstyring er ikke implementert for Pleiepenger
readOnly,
}}
/>
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes';
import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType';
import { ProsessStegDef, ProsessStegPanelDef } from '@k9-sak-web/behandling-felles';
import { prosessStegCodes } from '@k9-sak-web/konstanter';
import React from 'react';
import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes';
import Uttak from '../../components/Uttak';
import { OpplaeringspengerBehandlingApiKeys } from '../../data/opplaeringspengerBehandlingApi';

Expand All @@ -16,6 +15,7 @@ class PanelDef extends ProsessStegPanelDef {
alleKodeverk,
submitCallback,
virkningsdatoUttakNyeRegler,
isReadOnly,
}) => (
<Uttak
uuid={behandling.uuid}
Expand All @@ -26,6 +26,7 @@ class PanelDef extends ProsessStegPanelDef {
alleKodeverk={alleKodeverk}
submitCallback={submitCallback}
virkningsdatoUttakNyeRegler={virkningsdatoUttakNyeRegler}
readOnly={isReadOnly}
/>
);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
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 { Aksjonspunkt, AlleKodeverk, ArbeidsgiverOpplysningerPerId } from '@k9-sak-web/types';

interface UttakProps {
uuid: string;
Expand All @@ -16,6 +14,7 @@ interface UttakProps {
erFagytelsetypeLivetsSluttfase: boolean;
submitCallback: (data: { kode: string; begrunnelse: string; virkningsdato: string }[]) => void;
virkningsdatoUttakNyeRegler?: string;
readOnly: boolean;
}

export default ({
Expand All @@ -29,6 +28,7 @@ export default ({
erFagytelsetypeLivetsSluttfase,
submitCallback,
virkningsdatoUttakNyeRegler,
readOnly,
}: UttakProps) => {
const relevanteAksjonspunkter = [aksjonspunktCodes.VENT_ANNEN_PSB_SAK, aksjonspunktCodes.VURDER_DATO_NY_REGEL_UTTAK];
const funnedeRelevanteAksjonspunkter = aksjonspunkter.filter(aksjonspunkt =>
Expand Down Expand Up @@ -56,6 +56,7 @@ export default ({
virkningsdatoUttakNyeRegler,
aksjonspunkter: funnedeRelevanteAksjonspunkter,
erOverstyrer: false, // Overstyring er ikke implementert for PILS
readOnly,
}}
/>
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes';
import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType';
import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType';
import { ProsessStegDef, ProsessStegPanelDef } from '@k9-sak-web/behandling-felles';
import { prosessStegCodes } from '@k9-sak-web/konstanter';
import React from 'react';
import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes';
import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType';
import AntallDagerLivetsSluttfaseIndex from '@k9-sak-web/prosess-uttak-antall-dager-sluttfase';
import Uttak from '../../components/Uttak';
import { PleiepengerSluttfaseBehandlingApiKeys } from '../../data/pleiepengerSluttfaseBehandlingApi';
Expand All @@ -20,6 +19,7 @@ class PanelDef extends ProsessStegPanelDef {
erFagytelsetypeLivetsSluttfase,
submitCallback,
virkningsdatoUttakNyeRegler,
isReadOnly,
}) => (
<>
<AntallDagerLivetsSluttfaseIndex kvoteInfo={kvoteInfo} />
Expand All @@ -33,6 +33,7 @@ class PanelDef extends ProsessStegPanelDef {
erFagytelsetypeLivetsSluttfase={erFagytelsetypeLivetsSluttfase}
submitCallback={submitCallback}
virkningsdatoUttakNyeRegler={virkningsdatoUttakNyeRegler}
readOnly={isReadOnly}
/>
</>
);
Expand Down
11 changes: 6 additions & 5 deletions packages/behandling-pleiepenger/src/components/Uttak.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +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, Behandling } from '@k9-sak-web/types';
import { Uttak } from '@k9-sak-web/prosess-uttak';
import { useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks';
import { findEndpointsForMicrofrontend, httpErrorHandler } from '@fpsak-frontend/utils';
import { VilkarResultPicker } from '@k9-sak-web/prosess-felles';
import { Uttak } from '@k9-sak-web/prosess-uttak';
import { useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks';
import { Aksjonspunkt, AlleKodeverk, ArbeidsgiverOpplysningerPerId, Behandling } from '@k9-sak-web/types';
import { OverstyringUttakRequest } from '../types';

interface UttakProps {
Expand All @@ -23,6 +21,7 @@ interface UttakProps {
lagreOverstyringUttak: (values: any) => void;
relevanteAksjonspunkter: string[];
erOverstyrer: boolean;
readOnly: boolean;
}

export default ({
Expand All @@ -39,6 +38,7 @@ export default ({
lagreOverstyringUttak,
relevanteAksjonspunkter,
erOverstyrer,
readOnly,
}: UttakProps) => {
const { versjon, links, status: behandlingStatus } = behandling;
const { addErrorMessage } = useRestApiErrorDispatcher();
Expand Down Expand Up @@ -86,6 +86,7 @@ export default ({
versjon,
erOverstyrer,
status: behandlingStatus.kode,
readOnly,
}}
/>
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes';
import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType';
import { ProsessStegDef, ProsessStegPanelDef } from '@k9-sak-web/behandling-felles';
import { prosessStegCodes } from '@k9-sak-web/konstanter';
import React from 'react';
import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes';
import Uttak from '../../components/Uttak';
import { PleiepengerBehandlingApiKeys } from '../../data/pleiepengerBehandlingApi';

Expand All @@ -20,6 +19,7 @@ class PanelDef extends ProsessStegPanelDef {
virkningsdatoUttakNyeRegler,
relevanteAksjonspunkter,
erOverstyrer,
isReadOnly,
}) => (
<Uttak
uuid={behandling.uuid}
Expand All @@ -35,6 +35,7 @@ class PanelDef extends ProsessStegPanelDef {
virkningsdatoUttakNyeRegler={virkningsdatoUttakNyeRegler}
relevanteAksjonspunkter={relevanteAksjonspunkter}
erOverstyrer={erOverstyrer}
readOnly={isReadOnly}
/>
);

Expand Down
5 changes: 3 additions & 2 deletions packages/prosess-uttak/src/types/ContainerContract.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Aksjonspunkt } from '@k9-sak-web/types';
import { OverstyringUttakRequest } from '@k9-sak-web/behandling-pleiepenger';
import Uttaksperioder from './Uttaksperioder';
import { Aksjonspunkt } from '@k9-sak-web/types';
import ArbeidsgiverOpplysninger from './ArbeidsgiverOpplysninger';
import KodeverkMedNavn from './kodeverkMedNavnTsType';
import Uttaksperioder from './Uttaksperioder';

interface ContainerContract {
httpErrorHandler?: (status: number, locationHeader?: string) => void;
Expand Down Expand Up @@ -31,6 +31,7 @@ interface ContainerContract {
versjon?: number;
erOverstyrer?: boolean;
status?: string | false;
readOnly: boolean;
}

export default ContainerContract;
1 change: 1 addition & 0 deletions packages/prosess-uttak/src/ui/Uttak.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@ export const Uttak: Story = {
erFagytelsetypeLivetsSluttfase: false,
løsAksjonspunktVurderDatoNyRegelUttak: undefined,
virkningsdatoUttakNyeRegler: '',
readOnly: false,
},
},
};
8 changes: 6 additions & 2 deletions packages/prosess-uttak/src/ui/UttakContainer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ interface MainComponentProps {
}

const UttakContainer = ({ containerData }: MainComponentProps): JSX.Element => {
const { uttaksperioder, aksjonspunktkoder, aksjonspunkter, virkningsdatoUttakNyeRegler, erOverstyrer } =
const { uttaksperioder, aksjonspunktkoder, aksjonspunkter, virkningsdatoUttakNyeRegler, erOverstyrer, readOnly } =
containerData;
const [redigerVirkningsdato, setRedigervirkningsdato] = React.useState<boolean>(false);
const aksjonspunktVurderDato = aksjonspunkter?.find(ap => ap.definisjon.kode === aksjonspunktVurderDatoKode);
Expand Down Expand Up @@ -52,7 +52,9 @@ const UttakContainer = ({ containerData }: MainComponentProps): JSX.Element => {

<UtsattePerioderStripe />
{/* Allerede løst og har klikket rediger, eller har uløst aksjonspunkt */}
{((virkningsdatoUttakNyeRegler && redigerVirkningsdato) || harAksjonspunktVurderDatoMedStatusOpprettet) && (
{((virkningsdatoUttakNyeRegler && redigerVirkningsdato) ||
harAksjonspunktVurderDatoMedStatusOpprettet ||
readOnly) && (
<VurderDato
avbryt={
virkningsdatoUttakNyeRegler && redigerVirkningsdato ? () => setRedigervirkningsdato(false) : undefined
Expand All @@ -61,13 +63,15 @@ const UttakContainer = ({ containerData }: MainComponentProps): JSX.Element => {
begrunnelse: aksjonspunktVurderDato?.begrunnelse,
virkningsdato: virkningsdatoUttakNyeRegler,
}}
readOnly={readOnly}
/>
)}
{!harVentAnnenPSBSakAksjonspunkt && (
<UttaksperiodeListe
uttaksperioder={lagUttaksperiodeliste(uttaksperioder)}
redigerVirkningsdatoFunc={() => setRedigervirkningsdato(true)}
redigerVirkningsdato={redigerVirkningsdato}
readOnly={readOnly}
/>
)}
</ContainerContext.Provider>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ interface UttaksperiodeListeProps {
uttaksperioder: Uttaksperiode[];
redigerVirkningsdatoFunc: () => void;
redigerVirkningsdato: boolean;
readOnly: boolean;
}

const splitUttakByDate = (
Expand Down Expand Up @@ -52,7 +53,7 @@ const UttaksperiodeListe = (props: UttaksperiodeListeProps): JSX.Element => {
virkningsdatoUttakNyeRegler,
status = false,
} = React.useContext(ContainerContext);
const { uttaksperioder, redigerVirkningsdatoFunc, redigerVirkningsdato } = props;
const { uttaksperioder, redigerVirkningsdatoFunc, redigerVirkningsdato, readOnly } = props;

const [before, afterOrCovering] = splitUttakByDate(uttaksperioder, virkningsdatoUttakNyeRegler);

Expand Down Expand Up @@ -111,7 +112,7 @@ const UttaksperiodeListe = (props: UttaksperiodeListeProps): JSX.Element => {
size="small"
className={styles.redigerDato}
onClick={redigerVirkningsdatoFunc}
disabled={status === behandlingStatus.AVSLUTTET}
disabled={status === behandlingStatus.AVSLUTTET || readOnly}
>
Rediger
</Button>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import { Accordion, Alert, BodyLong, Label } from '@navikt/ds-react';
import React, { useEffect } from 'react';
import VurderDatoAksjonspunkt from './VurderDatoAksjonspunkt';
import { useEffect } from 'react';
import styles from './VurderDato.module.css';
import VurderDatoAksjonspunkt from './VurderDatoAksjonspunkt';

interface Props {
avbryt?: () => void;
initialValues?: {
virkningsdato: string;
begrunnelse: string;
};
readOnly: boolean;
}

// eslint-disable-next-line consistent-return
Expand All @@ -27,7 +28,7 @@ const scrollToVurderDatoContainer = () => {
};
}
};
const VurderDato = ({ avbryt, initialValues }: Props) => {
const VurderDato = ({ avbryt, initialValues, readOnly }: Props) => {
useEffect(() => {
// avbryt er kun definert når vi skal redigere et løst aksjonspunkt
if (typeof avbryt === 'function') {
Expand Down Expand Up @@ -73,7 +74,7 @@ const VurderDato = ({ avbryt, initialValues }: Props) => {
</Accordion.Item>
</Accordion>
</Alert>
<VurderDatoAksjonspunkt avbryt={avbryt} initialValues={initialValues} />
<VurderDatoAksjonspunkt avbryt={avbryt} initialValues={initialValues} readOnly={readOnly} />
</div>
);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@ interface Props {
virkningsdato: string;
begrunnelse: string;
};
readOnly: boolean;
}

const VurderDatoAksjonspunkt = ({ avbryt, initialValues }: Props) => {
const VurderDatoAksjonspunkt = ({ avbryt, initialValues, readOnly }: Props) => {
const { løsAksjonspunktVurderDatoNyRegelUttak } = React.useContext(ContainerContext);
const formMethods = useForm<FormData>({
defaultValues: initialValues,
Expand All @@ -39,24 +40,28 @@ const VurderDatoAksjonspunkt = ({ avbryt, initialValues }: Props) => {
fromDate={new Date('1 Jan 2019')}
toDate={new Date('31 Dec 2025')}
validate={[required, hasValidDate]}
isReadOnly={readOnly}
/>
<TextAreaField
name="begrunnelse"
label="Begrunnelse"
size="small"
maxLength={1500}
validate={[required, minLength(5), maxLength(1500)]}
readOnly={readOnly}
/>
<div className={styles.knapper}>
<Button size="small" type="submit" className={styles.bekreft}>
Bekreft og fortsett
</Button>
{avbryt && (
<Button variant="secondary" type="button" size="small" onClick={avbryt}>
Avbryt
{!readOnly && (
<div className={styles.knapper}>
<Button size="small" type="submit" className={styles.bekreft}>
Bekreft og fortsett
</Button>
)}
</div>
{avbryt && (
<Button variant="secondary" type="button" size="small" onClick={avbryt}>
Avbryt
</Button>
)}
</div>
)}
</div>
</Form>
);
Expand Down

0 comments on commit 6707a81

Please sign in to comment.