@@ -183,53 +183,42 @@ function isAgeInFilters(
183
183
} ) ;
184
184
}
185
185
186
- type HendelseTypeFilterKey = keyof HendelseTypeFilter ;
187
-
188
- const matchesFilter = (
189
- key : HendelseTypeFilterKey ,
186
+ function isPersonVisible (
190
187
filters : HendelseTypeFilter ,
191
188
personData : PersonData
192
- ) : boolean => {
193
- switch ( key ) {
194
- case 'onskerMote' :
195
- return ! filters [ key ] || personData . harMotebehovUbehandlet ;
196
- case 'arbeidsgiverOnskerMote' :
197
- return ! filters [ key ] || personData . harOppfolgingsplanLPSBistandUbehandlet ;
198
- case 'dialogmotekandidat' :
199
- return ! filters [ key ] || personData . dialogmotekandidat === true ;
200
- case 'dialogmotesvar' :
201
- return ! filters [ key ] || personData . harDialogmotesvar ;
202
- case 'behandlerdialog' :
203
- return ! filters [ key ] || personData . harBehandlerdialogUbehandlet ;
204
- case 'oppfolgingsoppgave' :
205
- return ! filters [ key ] || personData . oppfolgingsoppgave !== null ;
206
- case 'behandlerBerOmBistand' :
207
- return ! filters [ key ] || personData . behandlerBerOmBistandUbehandlet ;
208
- case 'isAktivArbeidsuforhetvurdering' :
209
- return ! filters [ key ] || ! ! personData . arbeidsuforhetvurdering ;
210
- case 'harFriskmeldingTilArbeidsformidling' :
211
- return ! filters [ key ] || ! ! personData . friskmeldingTilArbeidsformidlingFom ;
212
- case 'isSenOppfolgingChecked' :
213
- return ! filters [ key ] || ! ! personData . senOppfolgingKandidat ;
214
- case 'isManglendeMedvirkningChecked' :
215
- return ! filters [ key ] || ! ! personData . manglendeMedvirkning ;
216
- case 'isAktivitetskravChecked' :
217
- return ! filters [ key ] || personData . aktivitetskravvurdering !== null ;
218
- case 'isAktivitetskravVurderStansChecked' :
219
- const isExpiredVarsel =
220
- ! ! personData ?. aktivitetskravvurdering ?. vurderinger [ 0 ] ?. varsel
221
- ?. svarfrist &&
222
- isPast (
223
- personData ?. aktivitetskravvurdering . vurderinger [ 0 ] ?. varsel ?. svarfrist
224
- ) ;
225
- return ! filters [ key ] || isExpiredVarsel ;
226
- }
227
- } ;
189
+ ) : boolean {
190
+ const isExpiredVarsel =
191
+ ! ! personData ?. aktivitetskravvurdering ?. vurderinger [ 0 ] ?. varsel ?. svarfrist &&
192
+ isPast (
193
+ personData ?. aktivitetskravvurdering . vurderinger [ 0 ] ?. varsel ?. svarfrist
194
+ ) ;
195
+ return (
196
+ ( filters . onskerMote && personData . harDialogmotesvar ) ||
197
+ ( filters . arbeidsgiverOnskerMote &&
198
+ personData . harOppfolgingsplanLPSBistandUbehandlet ) ||
199
+ ( filters . dialogmotekandidat && personData . dialogmotekandidat === true ) ||
200
+ ( filters . dialogmotesvar && personData . harDialogmotesvar ) ||
201
+ ( filters . behandlerdialog && personData . harBehandlerdialogUbehandlet ) ||
202
+ ( filters . oppfolgingsoppgave && personData . oppfolgingsoppgave !== null ) ||
203
+ ( filters . behandlerBerOmBistand &&
204
+ personData . behandlerBerOmBistandUbehandlet ) ||
205
+ ( filters . isAktivArbeidsuforhetvurdering &&
206
+ ! ! personData . arbeidsuforhetvurdering ) ||
207
+ ( filters . harFriskmeldingTilArbeidsformidling &&
208
+ ! ! personData . friskmeldingTilArbeidsformidlingFom ) ||
209
+ ( filters . isSenOppfolgingChecked && ! ! personData . senOppfolgingKandidat ) ||
210
+ ( filters . isManglendeMedvirkningChecked &&
211
+ ! ! personData . manglendeMedvirkning ) ||
212
+ ( filters . isAktivitetskravChecked &&
213
+ personData . aktivitetskravvurdering !== null ) ||
214
+ ( filters . isAktivitetskravVurderStansChecked && isExpiredVarsel )
215
+ ) ;
216
+ }
228
217
229
- export const filterOnPersonregister = (
218
+ export function filterHendelser (
230
219
personregister : PersonregisterState ,
231
220
filter ?: HendelseTypeFilter
232
- ) : PersonregisterState => {
221
+ ) : PersonregisterState {
233
222
if ( ! filter ) return personregister ;
234
223
235
224
const erTomtFilter = Object . entries ( filter ) . every (
@@ -241,13 +230,11 @@ export const filterOnPersonregister = (
241
230
}
242
231
243
232
const filtered = Object . entries ( personregister ) . filter ( ( [ , personData ] ) => {
244
- return Object . keys ( filter ) . every ( ( key ) =>
245
- matchesFilter ( key as HendelseTypeFilterKey , filter , personData )
246
- ) ;
233
+ return isPersonVisible ( filter , personData ) ;
247
234
} ) ;
248
235
249
236
return Object . fromEntries ( filtered ) ;
250
- } ;
237
+ }
251
238
252
239
export const filterEventsOnVeileder = (
253
240
personregister : PersonregisterState ,
0 commit comments