diff --git a/ui/src/app/dashboard/view/Dashboard.js b/ui/src/app/dashboard/view/Dashboard.js index 74e1b6452..37cd5931f 100644 --- a/ui/src/app/dashboard/view/Dashboard.js +++ b/ui/src/app/dashboard/view/Dashboard.js @@ -14,7 +14,7 @@ import { ActionsTab } from './ActionsTab'; import { useIsAdmin } from '../../core/user/UserContext'; import useFetch from 'use-http'; import API_BASE_PATH from '../../App.constant'; -import { getMetadataPath } from '../../metadata/hooks/api'; +import { useNonAdminSources } from '../../metadata/hooks/api'; export function Dashboard () { @@ -30,6 +30,8 @@ export function Dashboard () { cachePolicy: 'no-cache' }); + const sourceLoader = useNonAdminSources(); + async function loadUsers() { const users = await get('/admin/users') if (response.ok) { @@ -38,7 +40,7 @@ export function Dashboard () { } async function loadSources() { - const s = await get(`/${getMetadataPath('source')}/disabledNonAdmin`); + const s = sourceLoader.get(); if (response.ok) { setSources(s); } diff --git a/ui/src/app/metadata/hooks/api.js b/ui/src/app/metadata/hooks/api.js index 5e224812e..d951b66a4 100644 --- a/ui/src/app/metadata/hooks/api.js +++ b/ui/src/app/metadata/hooks/api.js @@ -23,6 +23,10 @@ export function getMetadataPath(type) { return `/${details[type]}`; } +export function useNonAdminSources() { + return useFetch(`/${getMetadataPath('source')}/disabledNonAdmin`); +} + export function getMetadataListPath(type) { return `/${lists[type]}`; }