1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import * as React from 'react';
9 FileCommandInputParameter,
12 } from '~/models/workflow';
13 import { Field } from 'redux-form';
14 import { require } from '~/validators/require';
15 import { Input } from '@material-ui/core';
16 import { GenericInputProps, GenericInput } from './generic-input';
18 export interface FileInputProps {
19 input: FileCommandInputParameter;
21 export const FileInput = ({ input }: FileInputProps) =>
25 component={FileInputComponent}
26 format={(value?: File) => value ? value.location : ''}
27 parse={(value: string): File => ({
30 basename: value.split('/').slice(1).join('/')
33 isRequiredInput(input)
38 const FileInputComponent = (props: GenericInputProps) =>
41 <Input readOnly fullWidth value={props.input.value} />}