terriajs
Version:
Geospatial data visualization platform.
37 lines (31 loc) • 1.17 kB
JSX
;
import React from 'react';
import createReactClass from 'create-react-class';
import PropTypes from 'prop-types';
import ObserveModelMixin from '../ObserveModelMixin';
import DataCatalogItem from './DataCatalogItem.jsx';
import DataCatalogGroup from './DataCatalogGroup.jsx';
/**
* Component that is either a {@link CatalogItem} or a {@link DataCatalogMember} and encapsulated this choosing logic.
*/
export default createReactClass({
mixins: [ObserveModelMixin],
displayName: 'DataCatalogMember',
propTypes: {
member: PropTypes.object.isRequired,
viewState: PropTypes.object.isRequired,
manageIsOpenLocally: PropTypes.bool
},
render() {
if (this.props.member.isGroup) {
return (
<DataCatalogGroup group={this.props.member} viewState={this.props.viewState}
manageIsOpenLocally={this.props.manageIsOpenLocally} />
);
} else {
return (
<DataCatalogItem item={this.props.member} viewState={this.props.viewState} />
);
}
}
});