@@ -5,7 +5,7 @@ import Fade from '@mui/material/Fade';
55import Skeleton from '@mui/material/Skeleton' ;
66
77import APIService from '../../services/APIService' ;
8- import { toParentURI } from '../../common/utils'
8+ import { toParentURI , dropVersion } from '../../common/utils'
99
1010import { OperationsContext } from '../app/LayoutContext' ;
1111import RetireConfirmDialog from '../common/RetireConfirmDialog'
@@ -27,6 +27,7 @@ const ConceptHome = props => {
2727 const [ versions , setVersions ] = React . useState ( [ ] )
2828
2929 const [ repo , setRepo ] = React . useState ( props . repo || { } )
30+ const [ repoVersions , setRepoVersions ] = React . useState ( props . repoVersions || [ ] )
3031 const [ tab , setTab ] = React . useState ( 'metadata' )
3132 const [ edit , setEdit ] = React . useState ( false )
3233
@@ -93,11 +94,24 @@ const ConceptHome = props => {
9394 const service = APIService . new ( ) . overrideURL ( _conceptURL )
9495 service . appendToUrl ( 'versions/' ) . get ( null , null , { includeCollectionVersions : true , includeSourceVersions : true } ) . then ( response => {
9596 setVersions ( response . data || [ ] )
96- setLoading ( false )
97+ if ( ! repoVersions ?. length )
98+ fetchRepoVersions ( _conceptURL )
99+ else
100+ setLoading ( false )
97101 } )
98102 }
99103 }
100104
105+ const fetchRepoVersions = conceptURL => {
106+ if ( repoVersions . length === 0 && conceptURL ) {
107+ let url = dropVersion ( toParentURI ( conceptURL ) )
108+ APIService . new ( ) . overrideURL ( url ) . appendToUrl ( 'versions/' ) . get ( ) . then ( response => {
109+ setRepoVersions ( response . data || [ ] )
110+ setLoading ( false )
111+ } )
112+ } else setLoading ( false )
113+ }
114+
101115 const onTabChange = newTab => {
102116 setTab ( newTab )
103117 if ( newTab === 'history' )
@@ -250,6 +264,7 @@ const ConceptHome = props => {
250264 {
251265 tab === 'history' &&
252266 < History
267+ repoVersions = { repoVersions }
253268 versions = { versions }
254269 loading = { loading }
255270 resource = 'concepts'
0 commit comments