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 = () => { onSubmit = () => {
const { onContinue, setIsVisibleModalLeave, setIsEditingForm } = this.props; const {
onContinue,
setIsVisibleModalLeave,
setIsEditingForm,
editingForm,
} = this.props;
setIsVisibleModalLeave(false); setIsVisibleModalLeave(false, null);
setIsEditingForm(false); setIsEditingForm(false);
onContinue && onContinue(); if (editingForm.callback) {
editingForm.callback();
} else {
onContinue && onContinue();
}
}; };
render() { render() {
const { t, isVisibleModalLeave } = this.props; const { t, editingForm } = this.props;
return ( return (
<ModalDialogContainer> <ModalDialogContainer>
<ModalDialog visible={isVisibleModalLeave} onClose={this.onClose}> <ModalDialog
visible={editingForm.isVisibleModalLeave}
onClose={this.onClose}
>
<ModalDialog.Header>{t("LeaveDialogHeader")}</ModalDialog.Header> <ModalDialog.Header>{t("LeaveDialogHeader")}</ModalDialog.Header>
<ModalDialog.Body> <ModalDialog.Body>
<Text fontSize="13px">{t("LeaveDialogBody")}</Text> <Text fontSize="13px">{t("LeaveDialogBody")}</Text>
@ -76,13 +88,13 @@ const LeaveFormDialog = (props) => (
); );
LeaveFormDialog.propTypes = { LeaveFormDialog.propTypes = {
isVisibleModalLeave: PropTypes.bool.isRequired, editingForm: PropTypes.object.isRequired,
onContinue: PropTypes.func.isRequired, onContinue: PropTypes.func.isRequired,
}; };
function mapStateToProps(state) { function mapStateToProps(state) {
return { 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 { return {
type: SET_IS_VISIBLE_MODAL_LEAVE, type: SET_IS_VISIBLE_MODAL_LEAVE,
isVisible, isVisible,
callback,
}; };
} }

View File

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