From 49c3f2bbbbeacc798881141321f8e55fbe332286 Mon Sep 17 00:00:00 2001 From: hiba-aldalaty Date: Fri, 3 Sep 2021 09:57:03 +0100 Subject: [PATCH] Disable Create button in template after initial click Signed-off-by: hiba-aldalaty --- .changeset/sixty-carrots-marry.md | 5 +++++ .../MultistepJsonForm/MultistepJsonForm.tsx | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 .changeset/sixty-carrots-marry.md diff --git a/.changeset/sixty-carrots-marry.md b/.changeset/sixty-carrots-marry.md new file mode 100644 index 0000000000..414c41c645 --- /dev/null +++ b/.changeset/sixty-carrots-marry.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder': patch +--- + +Disable 'Create' button in template after initial click to avoid confusion when there is slowness in template execution diff --git a/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.tsx b/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.tsx index cdcc22da29..ef7e74f2f1 100644 --- a/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.tsx +++ b/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.tsx @@ -112,6 +112,7 @@ export const MultistepJsonForm = ({ widgets, }: Props) => { const [activeStep, setActiveStep] = useState(0); + const [disableCreateButton, setDisableCreateButton] = useState(false); const handleReset = () => { setActiveStep(0); @@ -121,6 +122,10 @@ export const MultistepJsonForm = ({ setActiveStep(Math.min(activeStep + 1, steps.length)); }; const handleBack = () => setActiveStep(Math.max(activeStep - 1, 0)); + const handleCreate = () => { + setDisableCreateButton(true); + onFinish(); + }; return ( <> @@ -174,7 +179,12 @@ export const MultistepJsonForm = ({ -