-
Notifications
You must be signed in to change notification settings - Fork 12
/
ConceptHomeTabs.jsx
50 lines (46 loc) · 1.93 KB
/
ConceptHomeTabs.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import React from 'react';
import { Tabs, Tab } from '@material-ui/core';
import ConceptHomeDetails from './ConceptHomeDetails';
import VersionList from '../common/VersionList';
const ConceptHomeTabs = props => {
const {
tab, concept, versions, mappings, isVersionedObject, isLoadingMappings, noRedirect,
onTabChange, collections, isLoadingCollections, source, isLoadingParents, isLoadingChildren,
parentConcepts, childConcepts
} = props;
const resourceRelativeURL = isVersionedObject ? concept.url : concept.version_url;
const conceptWithMappings = {...concept, mappings: mappings, collections: collections}
const detailsRedirectionProps = noRedirect ? {} : {component: "a", href: `#${resourceRelativeURL}details/`}
const historyRedirectionProps = noRedirect ? {} : {component: "a", href: `#${resourceRelativeURL}history/`}
return (
<div className='col-md-12 sub-tab'>
<Tabs className='sub-tab-header col-md-8 no-side-padding' value={tab} aria-label="concept-home-tabs" classes={{indicator: 'hidden'}} onChange={onTabChange}>
<Tab label="Details" {...detailsRedirectionProps} />
<Tab label="History" {...historyRedirectionProps} />
</Tabs>
<div className='sub-tab-container' style={{display: 'flex', height: 'auto', width: '100%', minHeight: '100vh'}}>
{
tab === 0 &&
<ConceptHomeDetails
source={source}
concept={conceptWithMappings}
parentConcepts={parentConcepts}
childConcepts={childConcepts}
isLoadingMappings={isLoadingMappings}
isLoadingCollections={isLoadingCollections}
isLoadingChildren={isLoadingChildren}
isLoadingParents={isLoadingParents}
/>
}
{
tab === 1 &&
<VersionList
versions={versions}
resource='concept'
/>
}
</div>
</div>
);
}
export default ConceptHomeTabs;