Web: People: refactoring LeaveFormDialog

This commit is contained in:
Artem Tarasov 2020-10-05 18:12:32 +03:00
parent 5765475684
commit a0873f6db2
3 changed files with 22 additions and 8 deletions

View File

@ -30,19 +30,31 @@ class LeaveFormDialogComponent extends React.Component {
};
onSubmit = () => {
const { onContinue, setIsVisibleModalLeave, setIsEditingForm } = this.props;
const {
onContinue,
setIsVisibleModalLeave,
setIsEditingForm,
editingForm,
} = this.props;
setIsVisibleModalLeave(false);
setIsVisibleModalLeave(false, null);
setIsEditingForm(false);
onContinue && onContinue();
if (editingForm.callback) {
editingForm.callback();
} else {
onContinue && onContinue();
}
};
render() {
const { t, isVisibleModalLeave } = this.props;
const { t, editingForm } = this.props;
return (
<ModalDialogContainer>
<ModalDialog visible={isVisibleModalLeave} onClose={this.onClose}>
<ModalDialog
visible={editingForm.isVisibleModalLeave}
onClose={this.onClose}
>
<ModalDialog.Header>{t("LeaveDialogHeader")}</ModalDialog.Header>
<ModalDialog.Body>
<Text fontSize="13px">{t("LeaveDialogBody")}</Text>
@ -76,13 +88,13 @@ const LeaveFormDialog = (props) => (
);
LeaveFormDialog.propTypes = {
isVisibleModalLeave: PropTypes.bool.isRequired,
editingForm: PropTypes.object.isRequired,
onContinue: PropTypes.func.isRequired,
};
function mapStateToProps(state) {
return {
isVisibleModalLeave: state.people.editingForm.isVisibleModalLeave,
editingForm: state.people.editingForm,
};
}

View File

@ -143,10 +143,11 @@ export function setSelectorUsers(users) {
};
}
export function setIsVisibleModalLeave(isVisible) {
export function setIsVisibleModalLeave(isVisible, callback) {
return {
type: SET_IS_VISIBLE_MODAL_LEAVE,
isVisible,
callback,
};
}

View File

@ -88,6 +88,7 @@ const peopleReducer = (state = initialState, action) => {
editingForm: {
...state.editingForm,
isVisibleModalLeave: action.isVisible,
callback: action.callback,
},
});
case SET_IS_EDITING_FORM: