diff options
Diffstat (limited to 'workflow-designer-ui/src/main/frontend/src/features/version/inputOutput/inputOutputSelectors.js')
-rw-r--r-- | workflow-designer-ui/src/main/frontend/src/features/version/inputOutput/inputOutputSelectors.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/workflow-designer-ui/src/main/frontend/src/features/version/inputOutput/inputOutputSelectors.js b/workflow-designer-ui/src/main/frontend/src/features/version/inputOutput/inputOutputSelectors.js index c37c9dbc..09dcc261 100644 --- a/workflow-designer-ui/src/main/frontend/src/features/version/inputOutput/inputOutputSelectors.js +++ b/workflow-designer-ui/src/main/frontend/src/features/version/inputOutput/inputOutputSelectors.js @@ -15,6 +15,7 @@ */ import { createSelector } from 'reselect'; +import { isEmpty } from 'lodash'; import { INPUTS } from 'features/version/inputOutput/inputOutputConstants'; @@ -60,3 +61,30 @@ export const getError = createSelector( [getInputOutput, getCurrent], (inputOutput, current) => inputOutput.error[current] ); + +export const getErrorsInputOutput = createSelector( + getInputOutput, + ({ error }) => error +); + +export const getInputErrors = createSelector( + getErrorsInputOutput, + ({ inputs }) => + !isEmpty(inputs) && + Boolean(inputs.alreadyExists.length || inputs.invalidCharacters.length) +); + +export const getOutputErrors = createSelector( + getErrorsInputOutput, + ({ outputs }) => + !isEmpty(outputs) && + Boolean( + outputs.alreadyExists.length || outputs.invalidCharacters.length + ) +); + +export const getIOErrors = createSelector( + getInputErrors, + getOutputErrors, + (inputsErrors, outputsErrors) => inputsErrors || outputsErrors +); |