diff --git a/ui/src/app/metadata/hoc/MetadataVersionsLoader.js b/ui/src/app/metadata/hoc/MetadataVersionsLoader.js
index 025cea743..f552db8c4 100644
--- a/ui/src/app/metadata/hoc/MetadataVersionsLoader.js
+++ b/ui/src/app/metadata/hoc/MetadataVersionsLoader.js
@@ -4,12 +4,15 @@ import { getMetadataPath } from '../hooks/api';
import API_BASE_PATH from '../../App.constant';
import useFetch from 'use-http';
import { last } from 'lodash';
+import Spinner from '../../core/components/Spinner';
export function MetadataVersionsLoader ({versions, children}) {
const ref = React.useRef({});
const [list, setList] = React.useState({});
+ const [loading, setLoading] = React.useState(false);
+
const { type, id } = useParams();
const { get, response } = useFetch(`/${API_BASE_PATH}${getMetadataPath(type)}/${id}/Versions`, {
@@ -22,6 +25,8 @@ export function MetadataVersionsLoader ({versions, children}) {
addToList(v, l);
if (last(versions) !== v) {
loadNext(versions[versions.indexOf(v) + 1]);
+ } else {
+ setLoading(false);
}
}
}
@@ -36,14 +41,19 @@ export function MetadataVersionsLoader ({versions, children}) {
function loadNext (v) {
loadVersion(v);
+
}
/*eslint-disable react-hooks/exhaustive-deps*/
React.useEffect(() => {
loadNext(versions[0]);
+ setLoading(true);
}, [versions]);
- return (
- {children(versions.map(v => list[v]).filter(v => !!v))}
- );
+ return (
+
+ {children(versions.map(v => list[v]).filter(v => !!v))}
+ {loading &&
}
+
+ );
}
\ No newline at end of file
diff --git a/ui/src/app/metadata/view/MetadataHistory.js b/ui/src/app/metadata/view/MetadataHistory.js
index 719ce8dc3..6df6a7c2e 100644
--- a/ui/src/app/metadata/view/MetadataHistory.js
+++ b/ui/src/app/metadata/view/MetadataHistory.js
@@ -9,6 +9,7 @@ import Translate from '../../i18n/components/translate';
import { useMetadataHistory } from '../hooks/api';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faUndo } from '@fortawesome/free-solid-svg-icons';
+import Spinner from '../../core/components/Spinner';
const sortVersionsByDate = (versions) => {
return versions.sort((a, b) => {
@@ -107,16 +108,13 @@ export function MetadataHistory () {
)}
+ {loading &&
}
>
}
- {loading &&
-
- Loading...
-
}
>
);
}
\ No newline at end of file
diff --git a/ui/src/app/metadata/view/MetadataWizard.js b/ui/src/app/metadata/view/MetadataWizard.js
index a95ca777c..8dc5a9d51 100644
--- a/ui/src/app/metadata/view/MetadataWizard.js
+++ b/ui/src/app/metadata/view/MetadataWizard.js
@@ -8,6 +8,7 @@ import { useMetadataEntity } from '../hooks/api';
import { createNotificationAction, NotificationTypes, useNotificationDispatcher } from '../../notifications/hoc/Notifications';
import { Prompt, useHistory } from 'react-router-dom';
import { useTranslator } from '../../i18n/hooks';
+import Spinner from '../../core/components/Spinner';
export function MetadataWizard ({type, data, onCallback}) {
@@ -61,6 +62,7 @@ export function MetadataWizard ({type, data, onCallback}) {
:
}
+ {loading &&
}
);