// // Copyright (C) Stanislaw Adaszewski, 2020 // Contact: s.adaszewski@gmail.com // Website: https://adared.ch/wba // License: GNU Affero General Public License, Version 3 // import { h, Component } from 'preact'; import WBNavbarCommon from 'wb-navbar-common'; import WBArvadosCrumbs from 'wb-arvados-crumbs'; import makeArvadosRequest from 'make-arvados-request'; import WBCommonFields from 'wb-common-fields'; import WBContainerRequestFields from 'wb-container-request-fields'; import WBProcessListing from 'wb-process-listing'; import WBProcessDashboard from 'wb-process-dashboard'; class WBProcessView extends Component { constructor(...args) { super(...args); this.state.objectUrls = []; } getUrl(props) { const page = ('page' in props ? props.page : this.props.page); return ('/process/' + this.props.uuid + (page ? '/' + page : '')); } fetchData() { let { arvHost, arvToken } = this.props.app.state; let prom = makeArvadosRequest(arvHost, arvToken, '/arvados/v1/container_requests/' + this.props.uuid); let req; let cont; prom = prom.then(xhr => { req = xhr.response; if (req.container_uuid) { let prom_1 = makeArvadosRequest(arvHost, arvToken, '/arvados/v1/containers/' + req.container_uuid); prom_1 = prom_1.then(xhr => (cont = xhr.response)); return prom_1; } }); prom = prom.then(() => { this.setState({ 'request': req, 'container': cont }); }); } componentDidMount() { this.fetchData(); } componentWillReceiveProps(nextProps) { this.props = nextProps; this.setState({ 'objectUrls': [], 'request': null, 'container': null }); this.fetchData(); } render({ app, uuid, page }, { container }) { return (
This is the process view for { uuid }

Children Dashboard

Common Fields

Container Request Fields

Children

this.getUrl({ page }) } />
); } } export default WBProcessView;