Skip to content

Commit 4571f00

Browse files
committed
OpenConceptLab/ocl_issues#2290 | version history with repo versions
1 parent c1f0866 commit 4571f00

5 files changed

Lines changed: 230 additions & 93 deletions

File tree

src/components/concepts/ConceptHome.jsx

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import Fade from '@mui/material/Fade';
55
import Skeleton from '@mui/material/Skeleton';
66

77
import APIService from '../../services/APIService';
8-
import { toParentURI } from '../../common/utils'
8+
import { toParentURI, dropVersion } from '../../common/utils'
99

1010
import { OperationsContext } from '../app/LayoutContext';
1111
import 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

Comments
 (0)