import React, { Component } from 'react'; import { Link, withRouter } from 'react-router-dom'; import { withI18n } from '@lingui/react'; import { t } from '@lingui/macro'; import { CardBody as PFCardBody, Button } from '@patternfly/react-core'; import styled from 'styled-components'; import { DetailList, Detail } from '../../../../components/DetailList'; import { ChipGroup, Chip } from '../../../../components/Chip'; import ContentError from '../../../../components/ContentError'; import ContentLoading from '../../../../components/ContentLoading'; import { OrganizationsAPI } from '../../../../api'; const CardBody = styled(PFCardBody)` padding-top: 20px; `; class OrganizationDetail extends Component { constructor (props) { super(props); this.state = { contentError: false, contentLoading: true, instanceGroups: [], }; this.loadInstanceGroups = this.loadInstanceGroups.bind(this); } componentDidMount () { this.loadInstanceGroups(); } async loadInstanceGroups () { const { match: { params: { id } } } = this.props; this.setState({ contentLoading: true }); try { const { data: { results = [] } } = await OrganizationsAPI.readInstanceGroups(id); this.setState({ instanceGroups: [...results] }); } catch (err) { this.setState({ contentError: true }); } finally { this.setState({ contentLoading: false }); } } render () { const { contentLoading, contentError, instanceGroups, } = this.state; const { organization: { name, description, custom_virtualenv, max_hosts, created, modified, summary_fields }, match, i18n } = this.props; if (contentLoading) { return (); } if (contentError) { return (); } return ( {(instanceGroups && instanceGroups.length > 0) && ( {instanceGroups.map(ig => ( {ig.name} ))} )} /> )} {summary_fields.user_capabilities.edit && (
)}
); } } export default withI18n()(withRouter(OrganizationDetail));