From 0ded4d49712a782919828e3d6a2d258e71d3f8f3 Mon Sep 17 00:00:00 2001 From: Michal Klobukowski Date: Thu, 29 Nov 2018 14:37:32 +0100 Subject: [PATCH 1/1] Extract StringInput's getValidation function Feature #14524 Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski --- .../run-process-panel/inputs/string-input.tsx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/views/run-process-panel/inputs/string-input.tsx b/src/views/run-process-panel/inputs/string-input.tsx index f6b50a7c47..7fc74315e9 100644 --- a/src/views/run-process-panel/inputs/string-input.tsx +++ b/src/views/run-process-panel/inputs/string-input.tsx @@ -3,6 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; +import { memoize } from 'lodash/fp'; import { isRequiredInput, StringCommandInputParameter } from '~/models/workflow'; import { Field } from 'redux-form'; import { require } from '~/validators/require'; @@ -17,11 +18,14 @@ export const StringInput = ({ input }: StringInputProps) => name={input.id} commandInput={input} component={StringInputComponent} - validate={[ - isRequiredInput(input) - ? require - : () => undefined, - ]} />; + validate={getValidation(input)} />; + +const getValidation = memoize( + (input: StringCommandInputParameter) => ([ + isRequiredInput(input) + ? require + : () => undefined, + ])); const StringInputComponent = (props: GenericInputProps) =>