Disable Create button in template after initial click

Signed-off-by: hiba-aldalaty <hibaaldalaty@gmail.com>
This commit is contained in:
hiba-aldalaty
2021-09-03 09:57:03 +01:00
parent 0993a2df1a
commit 49c3f2bbbb
2 changed files with 16 additions and 1 deletions
+5
View File
@@ -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
@@ -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 = ({
<Box mb={4} />
<Button onClick={handleBack}>Back</Button>
<Button onClick={handleReset}>Reset</Button>
<Button variant="contained" color="primary" onClick={onFinish}>
<Button
variant="contained"
color="primary"
onClick={handleCreate}
disabled={disableCreateButton}
>
Create
</Button>
</Paper>