|
- import { h, Component } from 'preact';
- import makeArvadosRequest from 'make-arvados-request';
-
- function getAll(makeRequest) {
- let prom = makeRequest(0);
- prom = prom.then(xhr => {
- const { items, limit, items_available } = xhr.response;
- let res = [].concat(items);
- let prom_1 = new Promise(accept => accept());
- for (let ofs = limit; ofs < items_available; ofs += limit) {
- prom_1 = prom_1.then(() => makeRequest(ofs));
- prom_1 = prom_1.then(xhr_1 => {
- res = res.concat(xhr_1.response.items);
- });
- }
- prom_1 = prom_1.then(() => res);
- return prom_1;
- });
- return prom;
- }
-
- class WBProcessDashboard extends Component {
- fetchData() {
- const { app, uuid } = this.props;
- const { arvHost, arvToken } = app.state;
- let prom = new Promise(accept => accept());
- if (uuid) {
- prom = prom.then(() => {
- return makeArvadosRequest(arvHost, arvToken,
- '/arvados/v1/container_requests/' + encodeURIComponent(uuid));
- });
- prom = prom.then(xhr => {
- const cr = xhr.response;
- return makeArvadosRequest(arvHost, arvToken,
- '/arvados/v1/containers/' + encodeURIComponent(cr.container_uuid));
- });
- prom = prom.then(xhr => {
- const c = xhr.response;
- const filters = [ [ 'requesting_container_uuid', '=', c.uuid ] ];
- return makeArvadosRequest(arvHost, arvToken,
- '/arvados/v1/container_requests?filters=' +
- encodeURIComponent(JSON.stringify(filters)));
- });
- } else {
- prom = prom.then(() => {
- return makeArvadosRequest(arvHost, arvToken,
- '/arvados/v1/container_requests');
- });
- }
-
- }
-
- render() {
-
- }
- }
|