|
|
@@ -58,6 +58,12 @@ function uuidsToCwl(obj, isFile) { |
|
|
|
throw Error('Expected Arvados path or array of paths');
|
|
|
|
}
|
|
|
|
|
|
|
|
function parseKeepRef(value) {
|
|
|
|
if (typeof(value) === 'object' && 'location' in value && value.location.startsWith('keep:'))
|
|
|
|
return value.location.substr(5);
|
|
|
|
return value;
|
|
|
|
}
|
|
|
|
|
|
|
|
class WBPathDisplay extends Component {
|
|
|
|
fetchData() {
|
|
|
|
const { app, path } = this.props;
|
|
|
@@ -72,6 +78,7 @@ class WBPathDisplay extends Component { |
|
|
|
item: xhr.response,
|
|
|
|
tail: path.substr(m[0].length)
|
|
|
|
}));
|
|
|
|
prom = prom.catch(() => this.setState({ 'error': 'Cannot load' }));
|
|
|
|
}
|
|
|
|
|
|
|
|
componentDidMount() {
|
|
|
@@ -83,7 +90,10 @@ class WBPathDisplay extends Component { |
|
|
|
this.fetchData();
|
|
|
|
}
|
|
|
|
|
|
|
|
render({}, { item, tail }) {
|
|
|
|
render({}, { item, tail, error }) {
|
|
|
|
if (error)
|
|
|
|
return error;
|
|
|
|
|
|
|
|
if (!item)
|
|
|
|
return 'Loading...';
|
|
|
|
|
|
|
@@ -180,12 +190,12 @@ class WBLaunchWorkflowPage extends Component { |
|
|
|
<ul class="mb-0">
|
|
|
|
{ value.map(path => (
|
|
|
|
<li>
|
|
|
|
<WBPathDisplay app={ app } path={ path } />
|
|
|
|
<WBPathDisplay app={ app } path={ parseKeepRef(path) } />
|
|
|
|
</li>
|
|
|
|
)) }
|
|
|
|
</ul>
|
|
|
|
) : (
|
|
|
|
<WBPathDisplay app={ app } path={ value } />
|
|
|
|
<WBPathDisplay app={ app } path={ parseKeepRef(value) } />
|
|
|
|
) : null }
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|