1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import * as React from 'react';
6 import IconBase, { IconTypes } from '../../icon/icon';
7 import Attribute from '../../attribute/attribute';
8 import AbstractItem from './abstract-item';
9 import { ProcessResource } from '../../../models/process';
10 import { formatDate } from '../../../common/formatters';
12 export default class ProcessItem extends AbstractItem<ProcessResource> {
14 getIcon(): IconTypes {
15 return IconTypes.PROCESS;
18 buildDetails(): React.ReactElement<any> {
20 <Attribute label='Type' value='Process' />
21 <Attribute label='Size' value='---' />
22 <Attribute label='Owner' value={this.item.ownerUuid} />
25 <Attribute label='Status' value={this.item.state} />
26 <Attribute label='Last modified' value={formatDate(this.item.modifiedAt)} />
29 <Attribute label='Started at' value={formatDate(this.item.createdAt)} />
30 <Attribute label='Finished at' value={formatDate(this.item.expiresAt)} />
32 {/* Links but we dont have view */}
33 <Attribute label='Outputs' link={this.item.outputPath} value={this.item.outputPath} />
34 <Attribute label='UUID' link={this.item.uuid} value={this.item.uuid} />
35 <Attribute label='Container UUID' link={this.item.containerUuid} value={this.item.containerUuid} />
37 <Attribute label='Priority' value={this.item.priority} />
38 <Attribute label='Runtime Constraints' value={this.item.runtimeConstraints} />
39 {/* Link but we dont have view */}
40 <Attribute label='Docker Image locator' link={this.item.containerImage} value={this.item.containerImage} />