// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import React from 'react'; import { DefaultIcon, WorkflowIcon } from 'components/icon/icon'; import { WorkflowResource } from 'models/workflow'; import { DetailsData } from "./details-data"; import { DefaultView } from 'components/default-view/default-view'; import { DetailsAttribute } from 'components/details-attribute/details-attribute'; import { ResourceOwnerWithName } from 'views-components/data-explorer/renderers'; import { formatDate } from "common/formatters"; import { Grid } from '@material-ui/core'; import { withStyles, StyleRulesCallback, WithStyles, Button } from '@material-ui/core'; import { openRunProcess } from "store/workflow-panel/workflow-panel-actions"; import { Dispatch } from 'redux'; import { connect } from 'react-redux'; import { ArvadosTheme } from 'common/custom-theme'; export interface WorkflowDetailsCardDataProps { workflow?: WorkflowResource; } export interface WorkflowDetailsCardActionProps { onClick: (wf: WorkflowResource) => () => void; } const mapDispatchToProps = (dispatch: Dispatch) => ({ onClick: (wf: WorkflowResource) => () => wf && dispatch(openRunProcess(wf.uuid, wf.ownerUuid, wf.name)), }); type CssRules = 'runButton'; const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ runButton: { boxShadow: 'none', padding: '2px 10px 2px 5px', fontSize: '0.75rem' }, }); export const WorkflowDetailsAttributes = connect(null, mapDispatchToProps)( withStyles(styles)( ({ workflow, onClick, classes }: WorkflowDetailsCardDataProps & WorkflowDetailsCardActionProps & WithStyles) => { return {workflow && workflow.description !== "" && } } /> } /> ; })); export class WorkflowDetails extends DetailsData { getIcon(className?: string) { return ; } getDetails() { return ; } }