From f22643ccc6bbc41bee1e36e8dab76a2e6833870b Mon Sep 17 00:00:00 2001 From: John Swanke Date: Wed, 7 May 2025 11:35:47 -0400 Subject: [PATCH 1/2] ACM-20347-difficult-to-edit-yaml Signed-off-by: John Swanke --- src/Wizard.tsx | 26 +++++++++++++++++++++++--- src/contexts/StringContext.tsx | 4 ++++ src/contexts/ValidationProvider.tsx | 25 ++++++++++++++++++++++--- src/inputs/WizKeyValue.tsx | 8 +++++++- src/inputs/WizStringsInput.tsx | 1 + src/inputs/WizTextInput.tsx | 1 + 6 files changed, 58 insertions(+), 7 deletions(-) diff --git a/src/Wizard.tsx b/src/Wizard.tsx index 0dd84da..ca559bc 100644 --- a/src/Wizard.tsx +++ b/src/Wizard.tsx @@ -24,7 +24,7 @@ import { ShowValidationProvider, useSetShowValidation, useShowValidation } from import { StepHasInputsProvider } from './contexts/StepHasInputsProvider' import { StepShowValidationProvider, useSetStepShowValidation, useStepShowValidation } from './contexts/StepShowValidationProvider' import { StepValidationProvider, useStepHasValidationError } from './contexts/StepValidationProvider' -import { useHasValidationError, ValidationProvider } from './contexts/ValidationProvider' +import { useHasValidationError, useEditorValidationStatus, ValidationProvider, EditorValidationStatus } from './contexts/ValidationProvider' import { Step } from './Step' export interface WizardProps { @@ -229,6 +229,7 @@ function MyFooter(props: { const setShowValidation = useSetShowValidation() const showWizardValidation = useShowValidation() const wizardHasValidationError = useHasValidationError() + const { editorValidationStatus } = useEditorValidationStatus() const firstStep = props.steps[0] const lastStep = props.steps[props.steps.length - 1] @@ -255,17 +256,36 @@ function MyFooter(props: { } }, [lastStep.name, setShowValidation, wizardContext.activeStep.name]) - const { fixValidationErrorsMsg, submitText, submittingText, cancelButtonText, backButtonText, nextButtonText } = useStringContext() + const { + fixValidationErrorsMsg, + fixEditorValidationErrorsMsg, + waitforEditorValidationErrorsMsg, + submitText, + submittingText, + cancelButtonText, + backButtonText, + nextButtonText, + } = useStringContext() if (wizardContext.activeStep.name === lastStep.name) { return (
+ {editorValidationStatus === EditorValidationStatus.failure && showWizardValidation && ( + + )} {wizardHasValidationError && showWizardValidation && } + {editorValidationStatus === EditorValidationStatus.pending && showWizardValidation && ( + + )} {submitError && }