X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/d1090c6a45ab8755220051cc018bda7597af613a..825ea4fce4ba3568f6105c17e83f4769a9323759:/src/views/run-process-panel/inputs/file-array-input.tsx diff --git a/src/views/run-process-panel/inputs/file-array-input.tsx b/src/views/run-process-panel/inputs/file-array-input.tsx index be58eee2..14d16824 100644 --- a/src/views/run-process-panel/inputs/file-array-input.tsx +++ b/src/views/run-process-panel/inputs/file-array-input.tsx @@ -11,7 +11,7 @@ import { } from '~/models/workflow'; import { Field } from 'redux-form'; import { ERROR_MESSAGE } from '~/validators/require'; -import { Input, Dialog, DialogTitle, DialogContent, DialogActions, Button, Divider, Grid, WithStyles, Typography } from '@material-ui/core'; +import { Input, Dialog, DialogTitle, DialogContent, DialogActions, Button, Divider, WithStyles, Typography } from '@material-ui/core'; import { GenericInputProps, GenericInput } from './generic-input'; import { ProjectsTreePicker } from '~/views-components/projects-tree-picker/projects-tree-picker'; import { connect, DispatchProp } from 'react-redux'; @@ -39,10 +39,10 @@ export const FileArrayInput = ({ input }: FileArrayInputProps) => format={formatFiles} validate={validationSelector(input)} />; -const parseFiles = (files: CollectionFile[]) => - files.length > 0 - ? files.map(parse) - : undefined; +const parseFiles = (files: CollectionFile[] | string) => + typeof files === 'string' + ? undefined + : files.map(parse); const parse = (file: CollectionFile): File => ({ class: CWLType.FILE, @@ -51,7 +51,8 @@ const parse = (file: CollectionFile): File => ({ path: file.path, }); -const formatFiles = (files: File[] = []) => files.map(format); +const formatFiles = (files: File[] = []) => + files.map(format); const format = (file: File): CollectionFile => ({ id: file.location @@ -116,7 +117,6 @@ const FileArrayInputComponent = connect(mapStateToProps)( this.setState({ open: true }); } - closeDialog = () => { this.setState({ open: false }); } @@ -193,7 +193,8 @@ const FileArrayInputComponent = connect(mapStateToProps)( chipsInput = () => file.name} @@ -204,8 +205,9 @@ const FileArrayInputComponent = connect(mapStateToProps)( {...props} error={this.props.meta.touched && !!this.props.meta.error} readOnly - onClick={this.openDialog} - onKeyPress={this.openDialog} + disabled={this.props.commandInput.disabled} + onClick={!this.props.commandInput.disabled ? this.openDialog : undefined} + onKeyPress={!this.props.commandInput.disabled ? this.openDialog : undefined} onBlur={this.props.input.onBlur} /> dialog = () => @@ -261,7 +263,7 @@ const FileArrayInputComponent = connect(mapStateToProps)(
- Selected files ({this.state.files.length}): + Selected files ({this.state.files.length}):