Merge remote-tracking branch 'origin/main' into 18207-Workbench2-is-not-clearing...
[arvados-workbench2.git] / src / views / run-process-panel / inputs / float-array-input.tsx
index 6e546ec844524c279bb6d1fdb0e17bf57a94cd7a..3f0a5334fa468c2deba7095435937bd0e2ef3bac 100644 (file)
@@ -2,15 +2,14 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-import * as React from 'react';
-import { isRequiredInput, FloatArrayCommandInputParameter } from '~/models/workflow';
+import React from 'react';
+import { isRequiredInput, FloatArrayCommandInputParameter } 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 { 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 { FloatInput } from '~/components/float-input/float-input';
+import { FloatInput } from 'components/float-input/float-input';
 
 export interface FloatArrayInputProps {
     input: FloatArrayCommandInputParameter;
@@ -31,7 +30,7 @@ const validationSelector = createSelector(
 );
 
 const required = (value: string[]) =>
-    value.length > 0
+    value && value.length > 0
         ? undefined
         : ERROR_MESSAGE;
 
@@ -42,15 +41,17 @@ const FloatArrayInputComponent = (props: GenericInputProps) =>
 
 class InputComponent extends React.PureComponent<GenericInputProps>{
     render() {
+        const { commandInput, input, meta } = this.props;
         return <ChipsInput
-            deletable
-            orderable
-            value={this.props.input.value}
+            deletable={!commandInput.disabled}
+            orderable={!commandInput.disabled}
+            disabled={commandInput.disabled}
+            values={input.value}
             onChange={this.handleChange}
             createNewValue={parseFloat}
             inputComponent={FloatInput}
             inputProps={{
-                error: this.props.meta.error,
+                error: meta.error,
             }} />;
     }