Untitled
unknown
typescript
a year ago
5.8 kB
10
Indexable
// utils import MKV from "./index"; import * as KV from "../kodeverk"; export const erBehandlingAvSed = (sakstype, behandlingstema) => { switch (behandlingstema) { case MKV.Koder.behandlinger.behandlingstema.REGISTRERING_UNNTAK_NORSK_TRYGD_UTSTASJONERING: case MKV.Koder.behandlinger.behandlingstema.REGISTRERING_UNNTAK_NORSK_TRYGD_ØVRIGE: case MKV.Koder.behandlinger.behandlingstema.BESLUTNING_LOVVALG_NORGE: case MKV.Koder.behandlinger.behandlingstema.BESLUTNING_LOVVALG_ANNET_LAND: case MKV.Koder.behandlinger.behandlingstema.ANMODNING_OM_UNNTAK_HOVEDREGEL: return sakstype === MKV.Koder.sakstyper.EU_EOS; default: return false; } }; export const lovvalgsbestemmelseTilObjekt = (bestemmelseKode) => { return KV.kodeTilObjekt(bestemmelseKode, MKV.Kodekombinasjoner.alleLovvalg); }; export const erStorbritanniaKonvBestemmelse = (bestemmelseKode) => Boolean(MKV.Koder.lovvalgsbestemmelser.lovvalgbestemmelser_konv_efta_storbritannia[bestemmelseKode]); export const enesteLandErStorbritannia = (landkoder) => landkoder?.length === 1 && landkoder[0] === MKV.Koder.landkoder.GB; export const erUtsendt = (behandlingstema) => [ MKV.Koder.behandlinger.behandlingstema.UTSENDT_ARBEIDSTAKER, MKV.Koder.behandlinger.behandlingstema.UTSENDT_SELVSTENDIG, ].includes(behandlingstema); export const kanHaFlereSoknadsland = (behandlingstema) => [ MKV.Koder.behandlinger.behandlingstema.ARBEID_FLERE_LAND, MKV.Koder.behandlinger.behandlingstema.BESLUTNING_LOVVALG_NORGE, MKV.Koder.behandlinger.behandlingstema.BESLUTNING_LOVVALG_ANNET_LAND, ].includes(behandlingstema); export const erAvsluttetEllerMidlertidigBeslutning = (behandlingsstatus) => [ MKV.Koder.behandlinger.behandlingsstatus.AVSLUTTET, MKV.Koder.behandlinger.behandlingsstatus.MIDLERTIDIG_LOVVALGSBESLUTNING, ].includes(behandlingsstatus); export const erOpphørtEllerHenlagtEllerBortfaltEllerAnnullert = (saksstatus) => [ MKV.Koder.saksstatuser.OPPHØRT, MKV.Koder.saksstatuser.HENLAGT, MKV.Koder.saksstatuser.HENLAGT_BORTFALT, MKV.Koder.saksstatuser.ANNULLERT, ].includes(saksstatus); // varsler import * as Api from "../../../../services/api"; import { useFeatureToggle } from "../../../../featuretoggle"; import { MELOSYS_KONVENSJON_EFTA_LAND_OG_STORBRITANNIA } from "../../../../featuretoggle/toggleNavn"; import classNames from "classnames"; import * as Utils from "../../../../utils"; import MKV, { MKVUtils } from "../../../../melosyskodeverk"; import * as KV from "../../../../kodeverk"; import * as Nav from "../../../../navFrontend"; const { OVERSTYRT_AV_SAKSBEHANDLER } = MKV.Koder.begrunnelser.inngangsvilkaar; interface VarslerProps { oppfyllerInngangsvilkar: boolean; inngangsvilkaar: Api.Vilkar.Vilkaar | undefined; landkoder: Array<string>; behandlingstema: string; } const Varsler = ({ oppfyllerInngangsvilkar, inngangsvilkaar, landkoder, behandlingstema }: VarslerProps) => { const konvensjonStorbritanniaToggleEnabled = useFeatureToggle(MELOSYS_KONVENSJON_EFTA_LAND_OG_STORBRITANNIA); const inngangsvilkaarBegrunnelseKoder = inngangsvilkaar?.begrunnelseKoder || []; const inngangsvilkaarErOverstyrtAvSaksbehandler = inngangsvilkaarBegrunnelseKoder.includes(OVERSTYRT_AV_SAKSBEHANDLER); const inngangsvilkaarErOverstyrtEllerIkkeOppfylt = inngangsvilkaarErOverstyrtAvSaksbehandler || !oppfyllerInngangsvilkar; const inngangsvilkaarErOppfyltOgIkkeOverstyrt = oppfyllerInngangsvilkar && !inngangsvilkaarErOverstyrtAvSaksbehandler; const oppfyllerInngangsvilkarCl = classNames({ liste__element: true, "liste__element--oppfylt": inngangsvilkaarErOppfyltOgIkkeOverstyrt, "liste__element--ikkeoppfylt": inngangsvilkaarErOverstyrtEllerIkkeOppfylt, }); if (Utils._isEmpty(inngangsvilkaar)) { return ( <ul className="betingelser__liste"> <li className={oppfyllerInngangsvilkarCl}>Teknisk feil, finner ingen inngangsvilkår.</li> </ul> ); } const oppfyltTekst = `Søknaden oppfyller${ inngangsvilkaarErOppfyltOgIkkeOverstyrt ? " " : " ikke " }inngangsvilkårene for EU/EØS-saker etter forordning 883/2004.`; const visbareInngangsvilkaarBegrunnelseKoder = inngangsvilkaarBegrunnelseKoder.filter( (kode) => kode !== OVERSTYRT_AV_SAKSBEHANDLER ); const visStorbritanniaKonvensjonTekst = konvensjonStorbritanniaToggleEnabled && MKVUtils.erUtsendt(behandlingstema) && MKVUtils.enesteLandErStorbritannia(landkoder); return ( <div className="vurderinginngang_eu_eos"> <ul className="betingelser__liste"> <li className={oppfyllerInngangsvilkarCl}>{oppfyltTekst}</li> {inngangsvilkaarErOverstyrtEllerIkkeOppfylt && visbareInngangsvilkaarBegrunnelseKoder.map((begrunnelseKode) => ( <li key={begrunnelseKode} className={oppfyllerInngangsvilkarCl}> {KV.kodeTilTerm(begrunnelseKode, MKV.KTObjects.begrunnelser.inngangsvilkaar)} </li> ))} </ul> {inngangsvilkaarErOverstyrtEllerIkkeOppfylt && ( <Nav.Alert variant="info"> {visStorbritanniaKonvensjonTekst && ( <p className="storbritannia-konv-tekst"> Husk at du må vurdere om inngangsvilkårene i konvensjonen med Storbritannia av 30. juni 2023, eller separasjonsavtalen av 28. januar 2020, er oppfylt. </p> )} Du har to valg: <ul> <li>Hvis inngangsvilkår ikke er oppfylt, må du avslutte saken fra behandlingsmenyen</li> <li>Hvis inngangsvilkår er oppfylt, kan du fortsette behandlingen som normalt</li> </ul> </Nav.Alert> )} </div> ); }; export default Varsler;
Editor is loading...
Leave a Comment