// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; import { isRequiredInput, IntArrayCommandInputParameter } 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 { createSelector } from 'reselect'; import { IntInput } from '~/components/int-input/int-input'; export interface IntArrayInputProps { input: IntArrayCommandInputParameter; } export const IntArrayInput = ({ input }: IntArrayInputProps) => ; const validationSelector = createSelector( isRequiredInput, isRequired => isRequired ? [required] : undefined ); const required = (value: string[]) => value.length > 0 ? undefined : ERROR_MESSAGE; const IntArrayInputComponent = (props: GenericInputProps) => ; class InputComponent extends React.PureComponent{ render() { const { commandInput, input, meta } = this.props; return parseInt(value, 10)} inputComponent={IntInput} inputProps={{ error: meta.error, }} />; } handleChange = (values: {}[]) => { const { input, meta } = this.props; if (!meta.touched) { input.onBlur(values); } input.onChange(values); } }