},
lastButton: {
marginLeft: theme.spacing.unit,
- marginRight: "20px",
+ marginRight: "0",
},
formContainer: {
display: "flex",
flexDirection: "column",
- marginTop: "20px",
+ paddingBottom: "0",
},
dialogTitle: {
- paddingBottom: "0"
+ paddingTop: theme.spacing.unit,
+ paddingBottom: theme.spacing.unit,
},
progressIndicator: {
position: "absolute",
minWidth: "20px",
},
dialogActions: {
- marginBottom: theme.spacing.unit * 3
+ marginBottom: theme.spacing.unit,
+ marginRight: theme.spacing.unit * 3,
}
});
dialogTitle: string;
formFields: React.ComponentType<InjectedFormProps<any> & WithDialogProps<any>>;
submitLabel?: string;
+ enableWhenPristine?: boolean;
}
type DialogProjectProps = DialogProjectDataProps & WithDialogProps<{}> & InjectedFormProps<any> & WithStyles<CssRules>;
<Dialog
open={props.open}
onClose={props.closeDialog}
- disableBackdropClick={props.submitting}
+ disableBackdropClick
disableEscapeKeyDown={props.submitting}
fullWidth
- maxWidth='sm'>
- <form>
+ maxWidth='md'>
+ <form data-cy='form-dialog'>
<DialogTitle className={props.classes.dialogTitle}>
{props.dialogTitle}
</DialogTitle>
</DialogContent>
<DialogActions className={props.classes.dialogActions}>
<Button
+ data-cy='form-cancel-btn'
onClick={props.closeDialog}
className={props.classes.button}
color="primary"
{props.cancelLabel || 'Cancel'}
</Button>
<Button
+ data-cy='form-submit-btn'
type="submit"
onClick={props.handleSubmit}
className={props.classes.lastButton}
color="primary"
- disabled={props.invalid || props.submitting || props.pristine}
+ disabled={props.invalid || props.submitting || (props.pristine && !props.enableWhenPristine)}
variant="contained">
{props.submitLabel || 'Submit'}
{props.submitting && <CircularProgress size={20} className={props.classes.progressIndicator} />}
</form>
</Dialog>
);
-
-