diff --git a/src/api/veilarbpersonflatefs.ts b/src/api/veilarbpersonflatefs.ts index 8f99a243..7a86869a 100644 --- a/src/api/veilarbpersonflatefs.ts +++ b/src/api/veilarbpersonflatefs.ts @@ -1,14 +1,11 @@ import { AxiosPromise } from 'axios'; import { axiosInstance } from './utils'; -export const PILOT_TOGGLE = 'pto.vedtaksstotte.pilot'; -export const ALL_TOGGLES = [PILOT_TOGGLE]; +export const ALL_TOGGLES = []; -export interface FeatureToggles { - [PILOT_TOGGLE]: boolean; -} +export interface FeatureToggles {} -export function fetchFeaturesToggles(): AxiosPromise { +export function fetchAllFeatureToggles(): AxiosPromise { const features = ALL_TOGGLES.map(element => 'feature=' + element).join('&'); return axiosInstance.get(`/veilarbpersonflatefs/api/feature?${features}`); } diff --git a/src/component/data-fetcher.tsx b/src/component/data-fetcher.tsx index 31f5e6d3..fdd18c37 100644 --- a/src/component/data-fetcher.tsx +++ b/src/component/data-fetcher.tsx @@ -1,6 +1,6 @@ import React, { useEffect } from 'react'; import { useDataStore } from '../store/data-store'; -import { fetchFeaturesToggles } from '../api/veilarbpersonflatefs'; +import { ALL_TOGGLES, fetchAllFeatureToggles } from '../api/veilarbpersonflatefs'; import { useAppStore } from '../store/app-store'; import { fetchOppfolging, fetchOppfolgingsstatus, fetchTilgangTilBrukersKontor } from '../api/veilarboppfolging'; import { fetchPersonalia, fetchSpraakTolk, fetchVergeOgFullmakt } from '../api/veilarbperson'; @@ -35,7 +35,7 @@ export function DataFetcher(props: { children: any }) { const oppfolgingFetcher = useAxiosFetcher(fetchOppfolging); const oppfolgingstatusFetcher = useAxiosFetcher(fetchOppfolgingsstatus); const innloggetVeilederFetcher = useAxiosFetcher(fetchInnloggetVeileder); - const featureToggleFetcher = useAxiosFetcher(fetchFeaturesToggles); + const featureToggleFetcher = useAxiosFetcher(fetchAllFeatureToggles); const personaliaFetcher = useAxiosFetcher(fetchPersonalia); const tilgangTilBrukersKontorFetcher = useAxiosFetcher(fetchTilgangTilBrukersKontor); const arbeidslisteFetcher = useAxiosFetcher(fetchArbeidsliste); @@ -46,6 +46,7 @@ export function DataFetcher(props: { children: any }) { const veilarbvedtaksstotteUtrulletTilKontorFetcher = useAxiosFetcher(fetchErUtrullet); const oppfolgingsEnhet = oppfolgingstatusFetcher.data?.oppfolgingsenhet.enhetId || ''; + const harFeatureTogglesAaHente = ALL_TOGGLES.length > 0; useEffect(() => { oppfolgingFetcher.fetch(brukerFnr).then(ifResponseHasData(setOppfolging)).catch(); @@ -68,7 +69,10 @@ export function DataFetcher(props: { children: any }) { useEffect(() => { innloggetVeilederFetcher.fetch().then(ifResponseHasData(setInnloggetVeileder)).catch(); - featureToggleFetcher.fetch().then(ifResponseHasData(setFeatures)).catch(); + + if(harFeatureTogglesAaHente) { + featureToggleFetcher.fetch().then(ifResponseHasData(setFeatures)).catch(); + } // eslint-disable-next-line react-hooks/exhaustive-deps }, []); @@ -99,18 +103,18 @@ export function DataFetcher(props: { children: any }) { // eslint-disable-next-line react-hooks/exhaustive-deps }, [enhetId, setVeilarbvedtaksstotteUtrulletTilKontor]); - if ( + const laster = isAnyLoading(veilarbvedtaksstotteUtrulletTilKontorFetcher) || isAnyLoadingOrNotStarted( oppfolgingstatusFetcher, oppfolgingFetcher, innloggetVeilederFetcher, personaliaFetcher, - featureToggleFetcher, tilgangTilBrukersKontorFetcher - // trenger ikke vente på vergeOgFullmaktFetcher eller spraakTolkFetcher - ) - ) { + ) || + (harFeatureTogglesAaHente && featureToggleFetcher.loading); + + if (laster) { return ; } diff --git a/src/mock/api/veilarbpersonflatefs.ts b/src/mock/api/veilarbpersonflatefs.ts index c0dd271c..7263af4a 100644 --- a/src/mock/api/veilarbpersonflatefs.ts +++ b/src/mock/api/veilarbpersonflatefs.ts @@ -1,11 +1,9 @@ import { rest } from 'msw'; import { RequestHandlersList } from 'msw/lib/types/setupWorker/glossary'; -import { FeatureToggles, PILOT_TOGGLE } from '../../api/veilarbpersonflatefs'; +import { FeatureToggles } from '../../api/veilarbpersonflatefs'; import { defaultNetworkResponseDelay } from '../config'; -const mockFeatures: FeatureToggles = { - [PILOT_TOGGLE]: true -}; +const mockFeatures: FeatureToggles = {}; export const veilarbpersonflatefsHandlers: RequestHandlersList = [ rest.get('/veilarbpersonflatefs/api/feature', (req, res, ctx) => {