From 0af2fbf0f62d57c2e5ad45714fec1a2f38e64561 Mon Sep 17 00:00:00 2001 From: Mads Lee Giil Date: Mon, 18 Nov 2024 12:03:35 +0100 Subject: [PATCH] =?UTF-8?q?WIP:=20Sett=20eier=20p=C3=A5=20state?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/datatypes/internAktivitetTypes.ts | 7 ++++--- src/moduler/aktivitet/aktivitet-slice.ts | 3 ++- .../aktivitet/aktivitetlisteSelector.ts | 2 ++ .../visning/AktivitetvisningContainer.tsx | 4 ++++ src/moduler/feilmelding/feil-slice.ts | 18 ++++++++++++++---- 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/datatypes/internAktivitetTypes.ts b/src/datatypes/internAktivitetTypes.ts index 7df29fa17..39176a4f8 100644 --- a/src/datatypes/internAktivitetTypes.ts +++ b/src/datatypes/internAktivitetTypes.ts @@ -142,6 +142,7 @@ export function isSamtaleOrMote(aktivitet: AlleAktiviteter): aktivitet is Samtal aktivitet.type === VeilarbAktivitetType.SAMTALEREFERAT_TYPE || aktivitet.type === VeilarbAktivitetType.MOTE_TYPE ); } + export const isEksternAktivitet = (aktivitet: AlleAktiviteter): aktivitet is EksternAktivitet => { return aktivitet.type === VeilarbAktivitetType.EKSTERN_AKTIVITET_TYPE; }; @@ -164,12 +165,12 @@ export enum EksternAktivitetType { MIDL_LONNSTILSKUDD_TYPE = 'MIDLERTIDIG_LONNSTILSKUDD', VARIG_LONNSTILSKUDD_TYPE = 'VARIG_LONNSTILSKUDD', INDOPPFAG = 'INDOPPFAG', - ARBFORB = 'ARBFORB', - AVKLARAG = 'AVKLARAG', + ARBFORB = 'ARBFORB', + AVKLARAG = 'AVKLARAG', VASV = 'VASV', ARBRRHDAG = 'ARBRRHDAG', DIGIOPPARB = 'DIGIOPPARB', JOBBK = 'JOBBK', GRUPPEAMO = 'GRUPPEAMO', - GRUFAGYRKE = 'GRUFAGYRKE' + GRUFAGYRKE = 'GRUFAGYRKE', } diff --git a/src/moduler/aktivitet/aktivitet-slice.ts b/src/moduler/aktivitet/aktivitet-slice.ts index dbdcc55f6..bf66be19a 100644 --- a/src/moduler/aktivitet/aktivitet-slice.ts +++ b/src/moduler/aktivitet/aktivitet-slice.ts @@ -35,6 +35,7 @@ export const aktivitetAdapter = createEntityAdapter({ export const oppfolgingsdperiodeAdapter = createEntityAdapter({ selectId: (model) => model.id, }); + const { selectById: selectOppfolgingsperiodeById, selectAll: selectAllOppfolgingsperioder } = oppfolgingsdperiodeAdapter.getSelectors(); const { selectById: selectAktivitetById, selectAll: selectAlleAktiviter } = aktivitetAdapter.getSelectors(); @@ -111,7 +112,7 @@ const aktivitetSlice = createSlice({ builder.addCase(hentAktivitet.fulfilled, (state, action) => { const aktivitet = action.payload.data.aktivitet; const eier = action.payload.data.eier; - //TODO - implementer eier + console.log('Setter eier på state', eier); nyStateMedOppdatertAktivitet(state, aktivitet); }); builder.addCase(lagNyAktivitet.fulfilled, (state, action) => { diff --git a/src/moduler/aktivitet/aktivitetlisteSelector.ts b/src/moduler/aktivitet/aktivitetlisteSelector.ts index fd7c2fc4e..f244bd74c 100644 --- a/src/moduler/aktivitet/aktivitetlisteSelector.ts +++ b/src/moduler/aktivitet/aktivitetlisteSelector.ts @@ -58,6 +58,8 @@ export const selectAktivitetMedId = (state: RootState, aktivitetId: string) => return aktivitet.id === aktivitetId; }); +// TODO: export const selectEier = + export const selectAktivitetListeSlice = (state: RootState) => { const status = aggregerStatus( selectOppfolgingStatus(state), diff --git a/src/moduler/aktivitet/visning/AktivitetvisningContainer.tsx b/src/moduler/aktivitet/visning/AktivitetvisningContainer.tsx index 3f4cb4dbf..b0a67c60e 100644 --- a/src/moduler/aktivitet/visning/AktivitetvisningContainer.tsx +++ b/src/moduler/aktivitet/visning/AktivitetvisningContainer.tsx @@ -16,6 +16,7 @@ import { selectArenaAktivitetStatus } from '../arena-aktivitet-selector'; import Aktivitetvisning from './Aktivitetvisning'; import AktivitetvisningModal from './AktivitetvisningModal'; import { createSelector } from 'reselect'; +import { setErPåAnnenBrukersResssurs } from '../../feilmelding/feil-slice'; const selectAvhengigheter = createSelector( selectOppfolgingStatus, @@ -35,6 +36,9 @@ const AktivitetvisningContainer = () => { const { id } = useParams<{ id: string }>(); const aktivitetId = id; + // TODO: IMplementer + setErPåAnnenBrukersResssurs(); + const erVeileder = useErVeileder(); const valgtAktivitet = useSelector((state: RootState) => aktivitetId ? selectAktivitetMedId(state, aktivitetId) : undefined, diff --git a/src/moduler/feilmelding/feil-slice.ts b/src/moduler/feilmelding/feil-slice.ts index 619177622..11526707c 100644 --- a/src/moduler/feilmelding/feil-slice.ts +++ b/src/moduler/feilmelding/feil-slice.ts @@ -1,4 +1,12 @@ -import { createSlice, isAnyOf, isAsyncThunkAction, isFulfilled, isPending, isRejected } from '@reduxjs/toolkit'; +import { + createSlice, + isAnyOf, + isAsyncThunkAction, + isFulfilled, + isPending, + isRejected, + PayloadAction, +} from '@reduxjs/toolkit'; import { AnyAction } from 'redux'; import { SerializedError } from '../../api/utils'; @@ -36,6 +44,9 @@ const errorSlice = createSlice({ name: 'feil', initialState: {} as ErrorSliceType, reducers: { + setErPåAnnenBrukersResssurs: (state, payload: PayloadAction) => { + console.log('Setter feil'); + }, fjernDismissableErrors: (state) => { dismissableErrors.forEach((type) => { delete state[type]; @@ -47,7 +58,7 @@ const errorSlice = createSlice({ (action: AnyAction) => isAsyncThunkAction(action) && isRejected(action), (state, action) => { state[action.type] = { ...action.error, type: action.type }; - } + }, ); builder.addMatcher(isAnyOf(isFulfilled, isPending), (state, action) => { const type = action.type.replace('pending', 'rejected').replace('fulfilled', 'rejected'); @@ -56,6 +67,5 @@ const errorSlice = createSlice({ }, }); -export const { fjernDismissableErrors } = errorSlice.actions; - +export const { fjernDismissableErrors, setErPåAnnenBrukersResssurs } = errorSlice.actions; export default errorSlice.reducer;