diff --git a/src/felles-komponenter/utils/logging.ts b/src/felles-komponenter/utils/logging.ts index 103dde9cf..ec96e704c 100644 --- a/src/felles-komponenter/utils/logging.ts +++ b/src/felles-komponenter/utils/logging.ts @@ -7,8 +7,8 @@ import { hash } from './hash'; interface FrontendEvent { name: string; - fields?: {}; - tags?: {}; + fields?: object; + tags?: object; } export default function loggEvent(eventNavn: string, feltObjekt?: object, tagObjekt?: object) { @@ -40,7 +40,7 @@ const STILLING_FRA_NAV_AAPNE_STILLINGSLENKE = 'aktivitetsplan.stillingfranav.sti export const LOGGING_ANTALLBRUKERE = 'aktivitetsplan.antallSluttBrukere'; export const ANTALL_VEILEDERE = 'aktivitetsplan.antallVeiledere'; export const LOGG_BRUKER_IKKE_OPPFOLGING = 'aktivitetsplan.antallBrukerIkkeOppfolging'; -export const PRINT_MODSAL_OPEN = 'aktivitetsplan.printmodal'; +export const PRINT_MODAL_OPEN = 'aktivitetsplan.printmodal'; export const TRYK_PRINT = 'aktivitetsplan.printmodalprint'; export const APNE_NY_AKTIVITET = 'aktivitetsplan.nyAktivitet.trykk'; diff --git a/src/hovedside/tavle/Aktivitetstavle.tsx b/src/hovedside/tavle/Aktivitetstavle.tsx index 04081d9ca..37c4ca512 100644 --- a/src/hovedside/tavle/Aktivitetstavle.tsx +++ b/src/hovedside/tavle/Aktivitetstavle.tsx @@ -18,7 +18,7 @@ import { selectAktivitetStatus } from '../../moduler/aktivitet/aktivitet-selecto import { selectSistVisteAktivitet } from '../../moduler/aktivitet/aktivitetview-selector'; import { selectArenaAktivitetStatus } from '../../moduler/aktivitet/arena-aktivitet-selector'; import { hentArenaAktiviteter } from '../../moduler/aktivitet/arena-aktiviteter-slice'; -import { selectUnderOppfolging } from '../../moduler/oppfolging-status/oppfolging-selector'; +import { selectErUnderOppfolging } from '../../moduler/oppfolging-status/oppfolging-selector'; import { hentNivaa4 } from '../../moduler/tilgang/tilgang-slice'; import { hentVeilederInfo } from '../../moduler/veileder/veileder-slice'; import { useErVeileder } from '../../Provider'; @@ -46,7 +46,7 @@ const Aktivitetstavle = () => { const statusArenaAktiviteter = useSelector(selectArenaAktivitetStatus); const erVeileder = useErVeileder(); const draggingAktivitet = useSelector(selectDraggingAktivitet, shallowEqual); - const underOppfolging = useSelector(selectUnderOppfolging); + const underOppfolging = useSelector(selectErUnderOppfolging); const aktivitetNotStarted = statusAktiviteter === Status.NOT_STARTED && statusArenaAktiviteter === Status.NOT_STARTED; diff --git a/src/mocks/demo/DemoBanner.tsx b/src/mocks/demo/DemoBanner.tsx index 0ee4f5fba..f72bb5435 100644 --- a/src/mocks/demo/DemoBanner.tsx +++ b/src/mocks/demo/DemoBanner.tsx @@ -1,7 +1,7 @@ import { Modal } from '@navikt/ds-react'; import React, { useState } from 'react'; -import DemoDashboard from './demoDashboard'; +import DemoDashboard from './DemoDashboard'; import DemoIkon from './DemoIkon'; const DemoBanner = () => { diff --git a/src/mocks/demo/DemoDashboard.tsx b/src/mocks/demo/DemoDashboard.tsx new file mode 100644 index 000000000..c95965386 --- /dev/null +++ b/src/mocks/demo/DemoDashboard.tsx @@ -0,0 +1,237 @@ +import { Checkbox, CheckboxGroup, Heading, Radio, RadioGroup } from '@navikt/ds-react'; +import React from 'react'; + +import Hurtigfilter from './Hurtigfilter'; +import { + LocalStorageElement, + aktivitetFeilet, + arenaFeilet, + dialogFeilet, + erEksternBruker, + erEskalertBruker, + erEskalertBrukerGammel, + erKRRBruker, + erManuellBruker, + erPrivatBruker, + ikkeLoggetInnNivaa4, + ingenMal, + ingenOppfPerioder, + maalFeilet, + nivaa4Feilet, + oppdateringKunFeiler, + oppfFeilet, + settLocalStorage, + ulesteDialoger, + visArenaAktiviteter, + visAutomatiskeAktiviteter, + visEksterneAktiviteter, + visTestAktiviteter, +} from './localStorage'; + +const brukertype = { + ekstern: 'eksternbruker', + veileder: 'veilederbruker', +}; + +interface Checkable { + label: string; + id: string; + checked: boolean; +} + +const getChecked = (values: Checkable[]): string[] => { + return values.filter((it) => it.checked).map((it) => it.id); +}; + +const DemoDashboard = () => { + const radios = [ + { + label: 'Veileder', + id: brukertype.veileder, + value: brukertype.veileder, + }, + { + label: 'Eksternbruker', + id: brukertype.ekstern, + value: brukertype.ekstern, + }, + ]; + const features = [ + { + label: 'Ikke under oppfølging', + id: LocalStorageElement.PRIVAT_BRUKER, + checked: erPrivatBruker(), + }, + { + label: 'Manuell', + id: LocalStorageElement.MANUELL_BRUKER, + checked: erManuellBruker(), + }, + { + label: 'KRR', + id: LocalStorageElement.KRR_BRUKER, + checked: erKRRBruker(), + }, + { + label: 'Ikke innlogget med nivå 4', + id: LocalStorageElement.INNLOGGET_NIVAA4, + checked: ikkeLoggetInnNivaa4(), + }, + { + label: 'Ingen oppfølgingsperioder', + id: LocalStorageElement.INGEN_OPPF_PERIODER, + checked: ingenOppfPerioder(), + }, + { + label: 'Gammel eskaleringsvarsel', + id: LocalStorageElement.GAMMEL_ESKALERT_BRUKER, + checked: erEskalertBrukerGammel(), + }, + { + label: 'Eskaleringsvarsel', + id: LocalStorageElement.ESKALERT_BRUKER, + checked: erEskalertBruker(), + }, + { + label: 'Uleste dialoger', + id: LocalStorageElement.ULESTE_DIALOGER, + checked: ulesteDialoger(), + }, + ]; + const aktivitetTilstand = [ + { + label: 'Automatiske aktiviteter', + id: LocalStorageElement.AUTOMATISKE_AKTIVITETER, + checked: visAutomatiskeAktiviteter(), + }, + { + label: 'Arenaaktiviteter', + id: LocalStorageElement.ARENA_AKTIVITETER, + checked: visArenaAktiviteter(), + }, + { + label: 'Testaktiviteter', + id: LocalStorageElement.TEST_AKTIVITETER, + checked: visTestAktiviteter(), + }, + { + label: 'Eksterne aktiviteter', + id: LocalStorageElement.EKSTERNE_AKTIVITETER, + checked: visEksterneAktiviteter(), + }, + ]; + const feiltilstander = [ + { + label: 'Oppfølging feiler', + id: LocalStorageElement.OPPF_FEILET, + checked: oppfFeilet(), + }, + { + label: 'Dialog feiler', + id: LocalStorageElement.DIALOG_FEILET, + checked: dialogFeilet(), + }, + { + label: 'Aktivitet feiler', + id: LocalStorageElement.AKTIVITET_FEILET, + checked: aktivitetFeilet(), + }, + { + label: 'Arena feiler', + id: LocalStorageElement.ARENA_FEILET, + checked: arenaFeilet(), + }, + { + label: 'Mål feiler', + id: LocalStorageElement.MAAL_FEILET, + checked: maalFeilet(), + }, + { + label: 'Kun oppdatering feiler', + id: LocalStorageElement.OPPDATERING_KUN_FEILER, + checked: oppdateringKunFeiler(), + }, + { + label: 'Nivå 4 feiler', + id: LocalStorageElement.NIVAA4_FEILET, + checked: nivaa4Feilet(), + }, + ]; + + const endreTilstand = (e: React.MouseEvent) => { + const checkbox = e.currentTarget; + settLocalStorage(checkbox.id, checkbox.checked); + window.location.reload(); + }; + + const endreBrukerType = (value: 'eksternbruker' | 'veilederbruker') => { + const erVeileder = value === brukertype.veileder; + settLocalStorage(LocalStorageElement.EKSTERN_BRUKER, !erVeileder); + window.location.reload(); + }; + + const getBrukerType = () => { + if (erEksternBruker()) { + return brukertype.ekstern; + } else return brukertype.veileder; + }; + + return ( +
+ + Demo innstillinger + +
+ + {radios.map(({ id, label }) => ( + + {label} + + ))} + + + {features.map(({ id, label }) => ( + + {label} + + ))} + + + {aktivitetTilstand.map(({ id, label }) => ( + + {label} + + ))} + + + {[ + { + label: 'Ingen mål', + id: LocalStorageElement.INGEN_MAL, + checked: ingenMal(), + }, + ].map(({ id, label }) => ( + + {label} + + ))} + + + {feiltilstander.map(({ id, label }) => ( + + {label} + + ))} + + +
+
+ ); +}; + +export default DemoDashboard; diff --git a/src/mocks/demo/demoDashboard.tsx b/src/mocks/demo/demoDashboard.tsx deleted file mode 100644 index bbb017f4a..000000000 --- a/src/mocks/demo/demoDashboard.tsx +++ /dev/null @@ -1,240 +0,0 @@ -import { Checkbox, CheckboxGroup, Heading, Radio, RadioGroup } from '@navikt/ds-react'; -import React from 'react'; - -import Hurtigfilter from './Hurtigfilter'; -import { - LocalStorageElement, - aktivitetFeilet, - arenaFeilet, - dialogFeilet, - erEksternBruker, - erEskalertBruker, - erEskalertBrukerGammel, - erKRRBruker, - erManuellBruker, - erPrivatBruker, - ikkeLoggetInnNivaa4, - ingenMal, - ingenOppfPerioder, - maalFeilet, - nivaa4Feilet, - oppdateringKunFeiler, - oppfFeilet, - settLocalStorage, - ulesteDialoger, - visArenaAktiviteter, - visAutomatiskeAktiviteter, - visEksterneAktiviteter, - visTestAktiviteter, -} from './localStorage'; - -const brukertype = { - ekstern: 'eksternbruker', - veileder: 'veilederbruker', -}; - -interface Checkable { - label: string; - id: string; - checked: boolean; -} - -const getChecked = (values: Checkable[]): string[] => { - return values.filter((it) => it.checked).map((it) => it.id); -}; - -class DemoDashboard extends React.Component { - endreTilstand: React.MouseEventHandler = (e) => { - const checkbox = e.currentTarget; - const saveInSessionStorage = Object.values(LocalStorageElement).indexOf(checkbox.id) > -1; - if (saveInSessionStorage) { - settLocalStorage(checkbox.id, checkbox.checked); - window.location.reload(); - } - }; - - endreBrukerType = (value: 'eksternbruker' | 'veilederbruker') => { - const erVeileder = value === brukertype.veileder; - settLocalStorage(LocalStorageElement.EKSTERN_BRUKER, !erVeileder); - window.location.reload(); - }; - - getBrukerType = () => { - if (erEksternBruker()) { - return brukertype.ekstern; - } else return brukertype.veileder; - }; - render() { - const radios = [ - { - label: 'Veileder', - id: brukertype.veileder, - value: brukertype.veileder, - }, - { - label: 'Eksternbruker', - id: brukertype.ekstern, - value: brukertype.ekstern, - }, - ]; - const features = [ - { - label: 'Ikke under oppfølging', - id: LocalStorageElement.PRIVAT_BRUKER, - checked: erPrivatBruker(), - }, - { - label: 'Manuell', - id: LocalStorageElement.MANUELL_BRUKER, - checked: erManuellBruker(), - }, - { - label: 'KRR', - id: LocalStorageElement.KRR_BRUKER, - checked: erKRRBruker(), - }, - { - label: 'Ikke innlogget med nivå 4', - id: LocalStorageElement.INNLOGGET_NIVAA4, - checked: ikkeLoggetInnNivaa4(), - }, - { - label: 'Ingen oppfølgingsperioder', - id: LocalStorageElement.INGEN_OPPF_PERIODER, - checked: ingenOppfPerioder(), - }, - { - label: 'Gammel eskaleringsvarsel', - id: LocalStorageElement.GAMMEL_ESKALERT_BRUKER, - checked: erEskalertBrukerGammel(), - }, - { - label: 'Eskaleringsvarsel', - id: LocalStorageElement.ESKALERT_BRUKER, - checked: erEskalertBruker(), - }, - { - label: 'Uleste dialoger', - id: LocalStorageElement.ULESTE_DIALOGER, - checked: ulesteDialoger(), - }, - ]; - const aktivitetTilstand = [ - { - label: 'Automatiske aktiviteter', - id: LocalStorageElement.AUTOMATISKE_AKTIVITETER, - checked: visAutomatiskeAktiviteter(), - }, - { - label: 'Arenaaktiviteter', - id: LocalStorageElement.ARENA_AKTIVITETER, - checked: visArenaAktiviteter(), - }, - { - label: 'Testaktiviteter', - id: LocalStorageElement.TEST_AKTIVITETER, - checked: visTestAktiviteter(), - }, - { - label: 'Eksterne aktiviteter', - id: LocalStorageElement.EKSTERNE_AKTIVITETER, - checked: visEksterneAktiviteter(), - }, - ]; - const feiltilstander = [ - { - label: 'Oppfølging feiler', - id: LocalStorageElement.OPPF_FEILET, - checked: oppfFeilet(), - }, - { - label: 'Dialog feiler', - id: LocalStorageElement.DIALOG_FEILET, - checked: dialogFeilet(), - }, - { - label: 'Aktivitet feiler', - id: LocalStorageElement.AKTIVITET_FEILET, - checked: aktivitetFeilet(), - }, - { - label: 'Arena feiler', - id: LocalStorageElement.ARENA_FEILET, - checked: arenaFeilet(), - }, - { - label: 'Mål feiler', - id: LocalStorageElement.MAAL_FEILET, - checked: maalFeilet(), - }, - { - label: 'Kun oppdatering feiler', - id: LocalStorageElement.OPPDATERING_KUN_FEILER, - checked: oppdateringKunFeiler(), - }, - { - label: 'Nivå 4 feiler', - id: LocalStorageElement.NIVAA4_FEILET, - checked: nivaa4Feilet(), - }, - ]; - return ( -
- - Demo innstillinger - -
- - {radios.map(({ id, label, value }) => ( - - {label} - - ))} - - - {features.map(({ id, label, checked }) => ( - - {label} - - ))} - - - {aktivitetTilstand.map(({ id, label, checked }) => ( - - {label} - - ))} - - - {[ - { - label: 'Ingen mål', - id: LocalStorageElement.INGEN_MAL, - checked: ingenMal(), - }, - ].map(({ id, label, checked }) => ( - - {label} - - ))} - - - {feiltilstander.map(({ id, label, checked }) => ( - - {label} - - ))} - - -
-
- ); - } -} - -export default DemoDashboard; diff --git a/src/moduler/aktivitet/aktivitet-kort/Aktivitetskort.tsx b/src/moduler/aktivitet/aktivitet-kort/Aktivitetskort.tsx index 2258ec652..03e927165 100644 --- a/src/moduler/aktivitet/aktivitet-kort/Aktivitetskort.tsx +++ b/src/moduler/aktivitet/aktivitet-kort/Aktivitetskort.tsx @@ -39,10 +39,10 @@ const Aktivitetskort = (props: Props) => { const aktiviteterSomHarBlittVist = useSelector(selectAktiviteterSomHarBlittVist, shallowEqual); const aktivitetHarIkkeBlittVist = !aktiviteterSomHarBlittVist.find( - (vistAktivitet: VeilarbAktivitet) => aktivitet.id === vistAktivitet.id + (vistAktivitet) => aktivitet.id === vistAktivitet.id ); - const aktivitetBleVistSist: boolean = aktivitet.id === useSelector((state) => selectSistVisteAktivitet(state))?.id; + const aktivitetBleVistSist: boolean = aktivitet.id === useSelector(selectSistVisteAktivitet)?.id; const me = useSelector(selectIdentitetData, shallowEqual); diff --git a/src/moduler/aktivitet/aktivitet-kort/DragbartAktivitetskort.tsx b/src/moduler/aktivitet/aktivitet-kort/DragbartAktivitetskort.tsx index f1d83a6d2..d7642f565 100644 --- a/src/moduler/aktivitet/aktivitet-kort/DragbartAktivitetskort.tsx +++ b/src/moduler/aktivitet/aktivitet-kort/DragbartAktivitetskort.tsx @@ -30,7 +30,7 @@ function DragbartAktivitetskort(props: Props) { }), }); - const className = classNames((collectedProps as any).isDragging && styles.drag, styles.flyttbar); + const className = classNames(collectedProps.isDragging && styles.drag, styles.flyttbar); return (
diff --git a/src/moduler/aktivitet/aktivitet-util.ts b/src/moduler/aktivitet/aktivitet-util.ts index 5565d0a6d..412e2c8a4 100644 --- a/src/moduler/aktivitet/aktivitet-util.ts +++ b/src/moduler/aktivitet/aktivitet-util.ts @@ -76,7 +76,7 @@ export function delCvikkeSvartSkalVises(aktivitet: StillingFraNavAktivitet): boo const harIkkeSvart = !aktivitet.stillingFraNavData?.cvKanDelesData; const status = aktivitet.status; const historisk = aktivitet.historisk; - const ikkeAktiv = status === AktivitetStatus.FULLFOERT || status === AktivitetStatus.AVBRUTT || !!historisk; + const ikkeAktiv = status === AktivitetStatus.FULLFOERT || status === AktivitetStatus.AVBRUTT || historisk; return erStillingFraNav && harIkkeSvart && !ikkeAktiv; } @@ -205,7 +205,6 @@ export function manglerPubliseringAvSamtaleReferat( ): aktivitet is MoteAktivitet | SamtalereferatAktivitet { const { type, erReferatPublisert } = aktivitet; return ( - !type || (moteManglerPubliseringAvSamtalereferat(type, erReferatPublisert) && status !== AktivitetStatus.AVBRUTT) || samtalreferatManglerPublisering(type, erReferatPublisert) ); diff --git a/src/moduler/aktivitet/avslutt/FullforAktivitet.tsx b/src/moduler/aktivitet/avslutt/FullforAktivitet.tsx index 68da20207..28bbed209 100644 --- a/src/moduler/aktivitet/avslutt/FullforAktivitet.tsx +++ b/src/moduler/aktivitet/avslutt/FullforAktivitet.tsx @@ -5,10 +5,12 @@ import { Navigate, useNavigate, useParams } from 'react-router-dom'; import { MOTE_TYPE, SAMTALEREFERAT_TYPE } from '../../../constant'; import { Status } from '../../../createGenericSlice'; import { AktivitetStatus, AlleAktiviteter } from '../../../datatypes/aktivitetTypes'; +import { VeilarbAktivitet } from '../../../datatypes/internAktivitetTypes'; import useAppDispatch from '../../../felles-komponenter/hooks/useAppDispatch'; import Modal from '../../../felles-komponenter/modal/Modal'; import ModalHeader from '../../../felles-komponenter/modal/ModalHeader'; import { useRoutes } from '../../../routes'; +import { RootState } from '../../../store'; import { fullforAktivitet } from '../aktivitet-actions'; import { selectAktivitetListeStatus, selectAktivitetMedId } from '../aktivitetlisteSelector'; import BegrunnelseForm from './BegrunnelseForm'; @@ -22,11 +24,14 @@ const beskrivelseTekst = const FullforAktivitet = () => { const { id: aktivitetId } = useParams<{ id: string }>(); - const valgtAktivitet = useSelector((state) => (aktivitetId ? selectAktivitetMedId(state, aktivitetId) : undefined)); - const lagrer = useSelector((state) => selectAktivitetListeStatus(state)) !== Status.OK; + const valgtAktivitet = useSelector((state: RootState) => + aktivitetId ? selectAktivitetMedId(state, aktivitetId) : undefined + ); + console.log({ valgtAktivitet }); + const lagrer = useSelector((state: RootState) => selectAktivitetListeStatus(state)) !== Status.OK; const dispatch = useAppDispatch(); - const doAvsluttOppfolging = (aktivitet: AlleAktiviteter, begrunnelse: string | null) => + const doAvsluttOppfolging = (aktivitet: VeilarbAktivitet, begrunnelse: string | null) => dispatch(fullforAktivitet(aktivitet, begrunnelse)); const navigate = useNavigate(); diff --git a/src/moduler/aktivitet/visning/referat/ReferatContainer.tsx b/src/moduler/aktivitet/visning/referat/ReferatContainer.tsx index 898aad621..79a9c45af 100644 --- a/src/moduler/aktivitet/visning/referat/ReferatContainer.tsx +++ b/src/moduler/aktivitet/visning/referat/ReferatContainer.tsx @@ -8,7 +8,7 @@ import { AktivitetStatus } from '../../../../datatypes/aktivitetTypes'; import { MoteAktivitet, SamtalereferatAktivitet } from '../../../../datatypes/internAktivitetTypes'; import useAppDispatch from '../../../../felles-komponenter/hooks/useAppDispatch'; import { useErVeileder } from '../../../../Provider'; -import { selectUnderOppfolging } from '../../../oppfolging-status/oppfolging-selector'; +import { selectErUnderOppfolging } from '../../../oppfolging-status/oppfolging-selector'; import { publiserReferat } from '../../aktivitet-actions'; import { selectAktivitetStatus } from '../../aktivitet-selector'; import OppdaterReferatForm from './OppdaterReferatForm'; @@ -26,7 +26,7 @@ const ReferatContainer = (props: Props) => { const publiserer = useSelector(selectAktivitetStatus) === (Status.PENDING || Status.RELOADING); const erVeileder = useErVeileder(); - const underOppfolging = useSelector(selectUnderOppfolging); + const underOppfolging = useSelector(selectErUnderOppfolging); const { referat, erReferatPublisert, type: aktivitetType } = aktivitet; diff --git a/src/moduler/mal/mal.tsx b/src/moduler/mal/mal.tsx index e6bbededd..61475f031 100644 --- a/src/moduler/mal/mal.tsx +++ b/src/moduler/mal/mal.tsx @@ -8,7 +8,7 @@ import { CONFIRM } from '../../felles-komponenter/hooks/useConfirmOnBeforeUnload import Innholdslaster from '../../felles-komponenter/utils/Innholdslaster'; import { useRoutes } from '../../routes'; import { selectViserHistoriskPeriode } from '../filtrering/filter/filter-selector'; -import { selectHarSkriveTilgang, selectUnderOppfolging } from '../oppfolging-status/oppfolging-selector'; +import { selectErUnderOppfolging, selectHarSkriveTilgang } from '../oppfolging-status/oppfolging-selector'; import { selectMalStatus } from './aktivitetsmal-selector'; import { hentMal } from './aktivitetsmal-slice'; import MalContainer from './mal-container'; @@ -21,7 +21,7 @@ const Mal = () => { const malStatus = useSelector(selectMalStatus, shallowEqual); const malListeStatus = useSelector(selectMalListeStatus, shallowEqual); const viserHistoriskPeriode = useSelector(selectViserHistoriskPeriode, shallowEqual); - const underOppfolging = useSelector(selectUnderOppfolging, shallowEqual); + const underOppfolging = useSelector(selectErUnderOppfolging, shallowEqual); const harSkriveTilgang = useSelector(selectHarSkriveTilgang, shallowEqual); const historiskeMal = useSelector(selectMalListe, shallowEqual); diff --git a/src/moduler/oppfolging-status/oppfolging-selector.ts b/src/moduler/oppfolging-status/oppfolging-selector.ts index 69ea7ef79..0d921778f 100644 --- a/src/moduler/oppfolging-status/oppfolging-selector.ts +++ b/src/moduler/oppfolging-status/oppfolging-selector.ts @@ -73,10 +73,6 @@ export function selectAktorId(state: RootState) { return selectOppfolgingData(state)?.aktorId; } -export function selectUnderOppfolging(state: RootState) { - return selectOppfolgingData(state)?.underOppfolging; -} - export function selectErUnderKvp(state: RootState) { return selectOppfolgingData(state)?.underKvp; } diff --git a/src/moduler/utskrift/AktivitetsplanPrint.tsx b/src/moduler/utskrift/AktivitetsplanPrint.tsx index a383795ff..5d8305b31 100644 --- a/src/moduler/utskrift/AktivitetsplanPrint.tsx +++ b/src/moduler/utskrift/AktivitetsplanPrint.tsx @@ -1,16 +1,13 @@ import { Loader, Modal } from '@navikt/ds-react'; import React, { useEffect, useState } from 'react'; -import { connect } from 'react-redux'; +import { useSelector } from 'react-redux'; import { useNavigate } from 'react-router-dom'; import { hentAdresse, hentPerson } from '../../api/personAPI'; -import { AlleAktiviteter } from '../../datatypes/aktivitetTypes'; -import { Dialog } from '../../datatypes/dialogTypes'; -import { KvpPeriode, Mal } from '../../datatypes/oppfolgingTypes'; import { Bruker, Postadresse } from '../../datatypes/types'; -import { AppDispatch } from '../../felles-komponenter/hooks/useAppDispatch'; -import Innholdslaster, { InnholdslasterProps } from '../../felles-komponenter/utils/Innholdslaster'; -import loggEvent, { PRINT_MODSAL_OPEN } from '../../felles-komponenter/utils/logging'; +import useAppDispatch from '../../felles-komponenter/hooks/useAppDispatch'; +import Innholdslaster from '../../felles-komponenter/utils/Innholdslaster'; +import loggEvent, { PRINT_MODAL_OPEN } from '../../felles-komponenter/utils/logging'; import { useErVeileder } from '../../Provider'; import { hentFnrFraUrl } from '../../utils/fnr-util'; import { selectAktivitetListe, selectAktivitetListeStatus } from '../aktivitet/aktivitetlisteSelector'; @@ -47,24 +44,27 @@ function getSteps(kanHaPrintValg?: boolean, kanHaPrintMelding?: boolean): string return steps; } -interface Props { - doHentMal: () => void; - doHentMalListe: () => void; - avhengigheter: InnholdslasterProps['avhengigheter']; - kvpPerioder?: KvpPeriode[]; - dialoger?: Dialog[]; - mittMal?: Mal; - aktiviteter?: AlleAktiviteter[]; - erManuell?: boolean; -} +const AktivitetsplanPrint = () => { + const aktiviteter = useSelector(selectAktivitetListe); + const kvpPerioder = useSelector(selectKvpPeriodeForValgteOppfolging); + const dialoger = useSelector(selectDialoger); + const mittMal = useSelector(selectGjeldendeMal); + const erManuell = useSelector(selectErBrukerManuell); + + const avhengigheter = [ + useSelector(selectMalStatus), + useSelector(selectOppfolgingStatus), + useSelector(selectAktivitetListeStatus), + useSelector(selectDialogStatus), + ]; + + const dispatch = useAppDispatch(); -const AktivitetsplanPrint = (props: Props) => { - const { doHentMal, doHentMalListe, avhengigheter, kvpPerioder, dialoger, mittMal, aktiviteter, erManuell } = props; const erVeileder = useErVeileder(); useEffect(() => { - doHentMal(); - doHentMalListe(); - loggEvent(PRINT_MODSAL_OPEN); + dispatch(hentMal()); + dispatch(hentMalListe()); + loggEvent(PRINT_MODAL_OPEN); }, []); const fnr = hentFnrFraUrl(); @@ -164,34 +164,4 @@ const AktivitetsplanPrint = (props: Props) => { ); }; -const mapStateToProps = (state: any) => { - const aktiviteter = selectAktivitetListe(state); - const kvpPerioder = selectKvpPeriodeForValgteOppfolging(state); - const dialoger = selectDialoger(state); - - const mittMal = selectGjeldendeMal(state); - const erManuell = selectErBrukerManuell(state); - - return { - avhengigheter: [ - selectMalStatus(state), - selectOppfolgingStatus(state), - selectAktivitetListeStatus(state), - selectDialogStatus(state), - ], - aktiviteter, - dialoger, - mittMal, - erManuell, - kvpPerioder, - }; -}; - -function mapDispatchToProps(dispatch: AppDispatch) { - return { - doHentMal: () => dispatch(hentMal()), - doHentMalListe: () => dispatch(hentMalListe()), - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(AktivitetsplanPrint); +export default AktivitetsplanPrint;