From: Michal Klobukowski Date: Thu, 29 Nov 2018 13:31:13 +0000 (+0100) Subject: Extract FloatInput's getValidation function X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/2759843b203ee1b3db4da0d2326319e072c3bf33 Extract FloatInput's getValidation function Feature #14524 Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski --- diff --git a/src/views/run-process-panel/inputs/float-input.tsx b/src/views/run-process-panel/inputs/float-input.tsx index fae8f605e4..a5905dc586 100644 --- a/src/views/run-process-panel/inputs/float-input.tsx +++ b/src/views/run-process-panel/inputs/float-input.tsx @@ -3,6 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; +import { memoize } from 'lodash/fp'; import { FloatCommandInputParameter, isRequiredInput } from '~/models/workflow'; import { Field } from 'redux-form'; import { isNumber } from '~/validators/is-number'; @@ -18,13 +19,17 @@ export const FloatInput = ({ input }: FloatInputProps) => component={Input} parse={parseFloat} format={format} - validate={[ - isRequiredInput(input) - ? isNumber - : () => undefined,]} />; + validate={getValidation(input)} />; const format = (value: any) => isNaN(value) ? '' : JSON.stringify(value); +const getValidation = memoize( + (input: FloatCommandInputParameter) => ([ + isRequiredInput(input) + ? isNumber + : () => undefined,]) +); + const Input = (props: GenericInputProps) =>