// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; import { isRequiredInput, StringArrayCommandInputParameter } from '~/models/workflow'; import { Field } from 'redux-form'; import { ERROR_MESSAGE } from '~/validators/require'; import { GenericInputProps, GenericInput } from '~/views/run-process-panel/inputs/generic-input'; import { ChipsInput } from '~/components/chips-input/chips-input'; import { identity } from 'lodash'; import { createSelector } from 'reselect'; import { Input } from '@material-ui/core'; export interface StringArrayInputProps { input: StringArrayCommandInputParameter; } export const StringArrayInput = ({ input }: StringArrayInputProps) => ; const validationSelector = createSelector( isRequiredInput, isRequired => isRequired ? [required] : undefined ); const required = (value: string[]) => value.length > 0 ? undefined : ERROR_MESSAGE; const StringArrayInputComponent = (props: GenericInputProps) => ; class InputComponent extends React.PureComponent{ render() { const { commandInput, input, meta } = this.props; return ; } handleChange = (values: {}[]) => { const { input, meta } = this.props; if (!meta.touched) { input.onBlur(values); } input.onChange(values); } }