Skip to content

Commit

Permalink
Merge pull request #1066 from navikt/tiltakshendelser-kolonner
Browse files Browse the repository at this point in the history
Vis kolonner med info om tiltakshendelse
  • Loading branch information
ingfo authored Sep 5, 2024
2 parents 85a7378 + 9dace20 commit 77012dc
Show file tree
Hide file tree
Showing 13 changed files with 169 additions and 22 deletions.
42 changes: 42 additions & 0 deletions src/components/tabell/kolonner/tiltakshendelse-lenke-kolonne.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import {BrukerModell} from '../../../model-interfaces';
import {oppdaterBrukerIKontekstOgNavigerTilLenke} from '../../../utils/utils';
import {AksjonKnappMedPopoverFeilmelding} from '../../aksjon-knapp-med-popover-feilmelding/aksjon-knapp-med-popover-feilmelding';
import {getVeilarbpersonflateUrl} from '../../../utils/url-utils';

interface LenkeKolonneProps {
bruker: BrukerModell;
skalVises: boolean;
enhetId: string;
className?: string;
}

export const TiltakshendelseLenkeKolonne = ({bruker, skalVises, enhetId, className}: LenkeKolonneProps) => {
if (!skalVises || !bruker.tiltakshendelse) {
return null;
}

const tiltakshendelse = bruker.tiltakshendelse;

const handterKlikk = () =>
oppdaterBrukerIKontekstOgNavigerTilLenke(bruker.fnr, getVeilarbpersonflateUrl(tiltakshendelse.lenke, enhetId));

const handterKlikkNyFane = () =>
oppdaterBrukerIKontekstOgNavigerTilLenke(
bruker.fnr,
getVeilarbpersonflateUrl(tiltakshendelse.lenke, enhetId),
true
);

return (
<div className={className}>
{tiltakshendelse && (
<AksjonKnappMedPopoverFeilmelding
klikkAksjon={handterKlikk}
ctrlklikkAksjon={handterKlikkNyFane}
knappStil="juster-tekst-venstre"
knappTekst={tiltakshendelse.tekst}
/>
)}
</div>
);
};
2 changes: 2 additions & 0 deletions src/components/toolbar/listevisning/listevisning-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,5 @@ alternativerConfig.set(Kolonne.HAR_BARN_UNDER_18, {tekstlabel: 'Barn under 18 å
alternativerConfig.set(Kolonne.UTDANNING_OG_SITUASJON_SIST_ENDRET, {tekstlabel: 'Dato sist endret'});
alternativerConfig.set(Kolonne.HUSKELAPP_KOMMENTAR, {tekstlabel: 'Huskelapp'});
alternativerConfig.set(Kolonne.HUSKELAPP_FRIST, {tekstlabel: 'Frist huskelapp'});
alternativerConfig.set(Kolonne.TILTAKSHENDELSE_LENKE, {tekstlabel: 'Tiltakshendelse lenke'});
alternativerConfig.set(Kolonne.TILTAKSHENDELSE_DATO_OPPRETTET, {tekstlabel: 'Tiltakshendelse opprettet'});
6 changes: 4 additions & 2 deletions src/ducks/features.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import {
PORTEFOLJE_FEATURES,
SPOR_OM_TILBAKEMELDING,
VEDTAKSTOTTE,
HUSKELAPP
HUSKELAPP,
VIS_STATUSFILTER_TILTAKSHENDELSE
} from '../konstanter';

const ADD_FEATURE = 'veilarbportefoljeflatefs/features/ADD_FEATURE';
Expand All @@ -24,7 +25,8 @@ const initalState: FeaturesState = {
[ALERTSTRIPE_FEILMELDING]: false,
[VIS_AAP_VURDERINGSFRISTKOLONNER]: false,
[FILTER_FOR_PERSONER_MED_BARN_UNDER_18]: false,
[HUSKELAPP]: false
[HUSKELAPP]: false,
[VIS_STATUSFILTER_TILTAKSHENDELSE]: false
};

// Reducer
Expand Down
5 changes: 5 additions & 0 deletions src/ducks/ui/listevisning-selectors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import {
I_AVTALT_AKTIVITET,
MIN_ARBEIDSLISTE,
MOTER_IDAG,
TILTAKSHENDELSER,
TILTAKSPENGER_YTELSE,
UNDER_VURDERING,
UTLOPTE_AKTIVITETER,
Expand Down Expand Up @@ -138,6 +139,8 @@ export function getMuligeKolonner(filtervalg: FiltervalgModell, oversiktType: Ov

const filtrertPaHuskelapp = filtervalg.ferdigfilterListe.includes(HUSKELAPP);

const filtrertPaTiltakshendelse = filtervalg.ferdigfilterListe.includes(TILTAKSHENDELSER);

return ([] as Kolonne[])
.concat(addHvis(Kolonne.FODELAND, filtrertPaLandgruppeEllerFoedeland))
.concat(addHvis(Kolonne.STATSBORGERSKAP, filtrertPaLandgruppeEllerFoedeland))
Expand All @@ -153,6 +156,8 @@ export function getMuligeKolonner(filtervalg: FiltervalgModell, oversiktType: Ov
.concat(addHvis(Kolonne.UTLOPTE_AKTIVITETER, filtervalg.ferdigfilterListe.includes(UTLOPTE_AKTIVITETER)))
.concat(addHvis(Kolonne.AVTALT_AKTIVITET, filtervalg.ferdigfilterListe.includes(I_AVTALT_AKTIVITET)))
.concat(addHvis(Kolonne.VENTER_SVAR, filtrertPaVenterSvarFraNavEllerBruker))
.concat(addHvis(Kolonne.TILTAKSHENDELSE_LENKE, filtrertPaTiltakshendelse))
.concat(addHvis(Kolonne.TILTAKSHENDELSE_DATO_OPPRETTET, filtrertPaTiltakshendelse))
.concat(addHvis(Kolonne.VEDTAKSTATUS, filtrertPaUnderVurdering))
.concat(addHvis(Kolonne.VEDTAKSTATUS_ENDRET, filtrertPaUnderVurdering))
.concat(addHvis(Kolonne.ANSVARLIG_VEILEDER_FOR_VEDTAK, filtrertPaUnderVurdering))
Expand Down
4 changes: 3 additions & 1 deletion src/ducks/ui/listevisning.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,9 @@ export enum Kolonne {
HAR_BARN_UNDER_18 = 'har_barn_under_18',
UTDANNING_OG_SITUASJON_SIST_ENDRET = 'utdanning_og_situasjon_sist_endret',
HUSKELAPP_FRIST = 'huskelapp_frist',
HUSKELAPP_KOMMENTAR = 'huskelapp_kommentar'
HUSKELAPP_KOMMENTAR = 'huskelapp_kommentar',
TILTAKSHENDELSE_LENKE = 'tiltakshendelse_lenke',
TILTAKSHENDELSE_DATO_OPPRETTET = 'tiltakshendelse_dato_opprettet'
}

export enum OversiktType {
Expand Down
27 changes: 23 additions & 4 deletions src/enhetsportefolje/enhet-kolonner.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import * as React from 'react';
import React from 'react';
import moment from 'moment';
import BrukerNavn from '../components/tabell/brukernavn';
import BrukerFnr from '../components/tabell/brukerfnr';
import UkeKolonne from '../components/tabell/kolonner/ukekolonne';
import {
avvik14aVedtakAvhengigeFilter,
I_AVTALT_AKTIVITET,
MOTER_IDAG,
TILTAKSHENDELSER,
UNDER_VURDERING,
UTLOPTE_AKTIVITETER,
VENTER_PA_SVAR_FRA_BRUKER,
Expand Down Expand Up @@ -42,16 +44,16 @@ import {
toDateString
} from '../utils/dato-utils';
import VarighetKolonne from '../components/tabell/kolonner/varighetkolonne';
import './enhetsportefolje.css';
import './brukerliste.css';
import {DagerSidenKolonne} from '../components/tabell/kolonner/dagersidenkolonne';
import {TekstKolonne} from '../components/tabell/kolonner/tekstkolonne';
import SisteEndringKategori from '../components/tabell/sisteendringkategori';
import moment from 'moment';
import {useGeografiskbostedSelector} from '../hooks/redux/use-geografiskbosted-selector';
import {useTolkbehovSelector} from '../hooks/redux/use-tolkbehovspraak-selector';
import {useFeatureSelector} from '../hooks/redux/use-feature-selector';
import {VIS_AAP_VURDERINGSFRISTKOLONNER} from '../konstanter';
import {TiltakshendelseLenkeKolonne} from '../components/tabell/kolonner/tiltakshendelse-lenke-kolonne';
import './enhetsportefolje.css';
import './brukerliste.css';

interface EnhetKolonnerProps {
className?: string;
Expand Down Expand Up @@ -272,6 +274,23 @@ function EnhetKolonner({className, bruker, enhetId, filtervalg, valgteKolonner,
valgteKolonner.includes(Kolonne.VENTER_SVAR)
}
/>
<TiltakshendelseLenkeKolonne
className="col col-xs-2"
bruker={bruker}
skalVises={
!!ferdigfilterListe?.includes(TILTAKSHENDELSER) &&
valgteKolonner.includes(Kolonne.TILTAKSHENDELSE_LENKE)
}
enhetId={enhetId}
/>
<DatoKolonne
className="col col-xs-2"
dato={bruker.tiltakshendelse ? new Date(bruker.tiltakshendelse.opprettet) : null}
skalVises={
!!ferdigfilterListe?.includes(TILTAKSHENDELSER) &&
valgteKolonner.includes(Kolonne.TILTAKSHENDELSE_DATO_OPPRETTET)
}
/>
<DatoKolonne
className="col col-xs-2"
dato={nyesteUtlopteAktivitet}
Expand Down
24 changes: 23 additions & 1 deletion src/enhetsportefolje/enhet-listehode.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
DAGPENGER_YTELSE_PERMITTERING_FISKEINDUSTRI,
I_AVTALT_AKTIVITET,
MOTER_IDAG,
TILTAKSHENDELSER,
UNDER_VURDERING,
UTLOPTE_AKTIVITETER,
VENTER_PA_SVAR_FRA_BRUKER,
Expand Down Expand Up @@ -125,7 +126,6 @@ function EnhetListehode({
headerId="statsborgerskap"
skalVises={valgteKolonner.includes(Kolonne.STATSBORGERSKAP)}
/>

<SorteringHeader
sortering={Sorteringsfelt.STATSBORGERSKAP_GYLDIG_FRA}
onClick={sorteringOnClick}
Expand Down Expand Up @@ -556,6 +556,28 @@ function EnhetListehode({
headerId="dato-sist-endret-utdanning-og-situasjon"
skalVises={valgteKolonner.includes(Kolonne.UTDANNING_OG_SITUASJON_SIST_ENDRET)}
/>
<Header
className="col col-xs-2"
title="Lenke til hendelsen"
headerId="tiltakshendelse-lenke"
skalVises={
!!ferdigfilterListe?.includes(TILTAKSHENDELSER) &&
valgteKolonner.includes(Kolonne.TILTAKSHENDELSE_LENKE)
}
>
Hendelse på tiltak
</Header>
<Header
className="col col-xs-2"
title="Dato da hendelsen ble opprettet"
headerId="tiltakshendelse-dato-opprettet"
skalVises={
!!ferdigfilterListe?.includes(TILTAKSHENDELSER) &&
valgteKolonner.includes(Kolonne.TILTAKSHENDELSE_DATO_OPPRETTET)
}
>
Dato for hendelse
</Header>
</div>
<div className="brukerliste__gutter-right" />
</div>
Expand Down
2 changes: 1 addition & 1 deletion src/filtrering/filter-konstanter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ export const ferdigfilterListeLabelTekst = {
VENTER_PA_SVAR_FRA_NAV: 'Venter på svar fra NAV',
VENTER_PA_SVAR_FRA_BRUKER: 'Venter på svar fra bruker',
MOTER_IDAG: 'Møte med NAV i dag',
TILTAKSHENDELSER: 'Tiltaksdeltakelse',
TILTAKSHENDELSER: 'Hendelser på tiltak',
UTLOPTE_AKTIVITETER: 'Utløpte aktiviteter',
IKKE_I_AVTALT_AKTIVITET: 'Ikke i avtalt aktivitet',
I_AVTALT_AKTIVITET: 'I avtalt aktivitet',
Expand Down
25 changes: 22 additions & 3 deletions src/minoversikt/minoversikt-kolonner.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import * as React from 'react';
import React from 'react';
import moment from 'moment';
import {
aapRettighetsperiode,
aapVurderingsfrist,
Expand All @@ -22,6 +23,7 @@ import {
I_AVTALT_AKTIVITET,
MIN_ARBEIDSLISTE,
MOTER_IDAG,
TILTAKSHENDELSER,
UNDER_VURDERING,
UTLOPTE_AKTIVITETER,
VENTER_PA_SVAR_FRA_BRUKER,
Expand All @@ -42,16 +44,16 @@ import {
toDateString
} from '../utils/dato-utils';
import VarighetKolonne from '../components/tabell/kolonner/varighetkolonne';
import './minoversikt.css';
import {DagerSidenKolonne} from '../components/tabell/kolonner/dagersidenkolonne';
import {TekstKolonne} from '../components/tabell/kolonner/tekstkolonne';
import SisteEndringKategori from '../components/tabell/sisteendringkategori';
import moment from 'moment';
import {useGeografiskbostedSelector} from '../hooks/redux/use-geografiskbosted-selector';
import {useTolkbehovSelector} from '../hooks/redux/use-tolkbehovspraak-selector';
import {useFeatureSelector} from '../hooks/redux/use-feature-selector';
import {VIS_AAP_VURDERINGSFRISTKOLONNER} from '../konstanter';
import {truncateTekst} from '../utils/tekst-utils';
import {TiltakshendelseLenkeKolonne} from '../components/tabell/kolonner/tiltakshendelse-lenke-kolonne';
import './minoversikt.css';

interface MinOversiktKolonnerProps {
className?: string;
Expand Down Expand Up @@ -290,6 +292,23 @@ function MinoversiktDatokolonner({className, bruker, enhetId, filtervalg, valgte
tekst={moteErAvtaltMedNAV ? 'Avtalt med NAV' : '-'}
skalVises={!!ferdigfilterListe?.includes(MOTER_IDAG) && valgteKolonner.includes(Kolonne.MOTE_ER_AVTALT)}
/>
<TiltakshendelseLenkeKolonne
className="col col-xs-2"
bruker={bruker}
skalVises={
!!ferdigfilterListe?.includes(TILTAKSHENDELSER) &&
valgteKolonner.includes(Kolonne.TILTAKSHENDELSE_LENKE)
}
enhetId={enhetId}
/>
<DatoKolonne
className="col col-xs-2"
dato={bruker.tiltakshendelse ? new Date(bruker.tiltakshendelse.opprettet) : null}
skalVises={
!!ferdigfilterListe?.includes(TILTAKSHENDELSER) &&
valgteKolonner.includes(Kolonne.TILTAKSHENDELSE_DATO_OPPRETTET)
}
/>
<DatoKolonne
className="col col-xs-2"
dato={nesteUtlopsdatoEllerNull(bruker.aktiviteter)}
Expand Down
23 changes: 23 additions & 0 deletions src/minoversikt/minoversikt-listehode.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import {
I_AVTALT_AKTIVITET,
MIN_ARBEIDSLISTE,
MOTER_IDAG,
TILTAKSHENDELSER,
UNDER_VURDERING,
UTLOPTE_AKTIVITETER,
VENTER_PA_SVAR_FRA_BRUKER,
Expand Down Expand Up @@ -676,6 +677,28 @@ function MinOversiktListeHode({
headerId="huskelapp-frist"
skalVises={valgteKolonner.includes(Kolonne.HUSKELAPP_FRIST)}
/>
<Header
className="col col-xs-2"
title="Lenke til hendelsen"
headerId="tiltakshendelse-lenke"
skalVises={
!!ferdigfilterListe?.includes(TILTAKSHENDELSER) &&
valgteKolonner.includes(Kolonne.TILTAKSHENDELSE_LENKE)
}
>
Hendelse på tiltak
</Header>
<Header
className="col col-xs-2"
title="Dato da hendelsen ble opprettet"
headerId="tiltakshendelse-dato-opprettet"
skalVises={
!!ferdigfilterListe?.includes(TILTAKSHENDELSER) &&
valgteKolonner.includes(Kolonne.TILTAKSHENDELSE_DATO_OPPRETTET)
}
>
Dato for hendelse
</Header>
</div>
</div>
);
Expand Down
2 changes: 1 addition & 1 deletion src/mocks/data/features.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const toggles = {
[VIS_AAP_VURDERINGSFRISTKOLONNER]: true,
[FILTER_FOR_PERSONER_MED_BARN_UNDER_18]: true,
[HUSKELAPP]: true,
[VIS_STATUSFILTER_TILTAKSHENDELSE]: false
[VIS_STATUSFILTER_TILTAKSHENDELSE]: true
};

export default toggles;
12 changes: 11 additions & 1 deletion src/mocks/data/portefolje.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ import {
BarnUnder18Aar,
EnsligeForsorgereOvergangsstonad,
FargekategoriModell,
KategoriModell
KategoriModell,
TiltakshendelseModell
} from '../../model-interfaces';
import moment from 'moment';
import {rnd} from '../utils';
Expand Down Expand Up @@ -200,6 +201,14 @@ const lagHuskelapp = fnr => {
};
};

const lagTiltakshendelse = (): TiltakshendelseModell => ({
id: '54f06061-4383-417d-a063-1c4fc4701a78',
opprettet: new Date(),
tekst: 'Utkast til påmelding',
lenke: 'https://www.nav.no',
tiltakstype: 'ARBFORB'
});

function lagBruker(sikkerhetstiltak = []) {
const grunndata = lagGrunndata();

Expand Down Expand Up @@ -231,6 +240,7 @@ function lagBruker(sikkerhetstiltak = []) {
sikkerhetstiltak,
venterPaSvarFraBruker: grunndata.venterPaSvarFraBruker,
venterPaSvarFraNAV: grunndata.venterPaSvarFraNAV,
tiltakshendelse: lagTiltakshendelse(),
nyesteUtlopteAktivitet: grunndata.nesteUtlopteAktivitet,
egenAnsatt: random_egenAnsatt ? true : '',
skjermetTil: random_harSkjermetTil ? randomDateInNearFuture() : '',
Expand Down
17 changes: 9 additions & 8 deletions src/model-interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,9 @@ export enum Sorteringsfelt {
UTDANNING_OG_SITUASJON_SIST_ENDRET = 'utdanningOgSituasjonSistEndret',
HUSKELAPP_KOMMENTAR = 'huskelapp_kommentar',
HUSKELAPP_FRIST = 'huskelapp_frist',
HUSKELAPP = 'huskelapp'
HUSKELAPP = 'huskelapp',
TILTAKSHENDELSE_LENKE = 'tiltakshendelse_lenke',
TILTAKSHENDELSE_DATO_OPPRETTET = 'tiltakshendelse_dato_opprettet'
}

export interface FiltervalgModell {
Expand Down Expand Up @@ -167,7 +169,7 @@ export interface BrukerModell {
nyesteUtlopteAktivitet?: string; // dato
veilederNavn?: string;
brukertiltak?: string[];
tiltakshendelser?: TiltakshendelseModell[];
tiltakshendelse: TiltakshendelseModell | null;
aktiviteter?: AktiviteterModell; // kun avtalte aktiviteter
alleAktiviteter?: AktiviteterModell;
aktivitetStart?: string; // dato
Expand Down Expand Up @@ -292,12 +294,11 @@ export interface HuskelappModell {
}

export interface TiltakshendelseModell {
hendelseId: string;
hendelseOpprettet: Date;
hendelseTekst: string;
hendelseLenke: string;
tiltakstypeKode: string | null;
sistEndret: Date;
id: string;
opprettet: Date;
tekst: string;
lenke: string;
tiltakstype: string | null;
}

export enum Status {
Expand Down

0 comments on commit 77012dc

Please sign in to comment.