Files
bigcapital/client/src/connectors/UserFormDialog.connector.js
Ahmed Bouhuolia 73711384f6 WIP
2020-03-16 00:06:15 +02:00

32 lines
1.0 KiB
JavaScript

import {connect} from 'react-redux';
import {
submitUser,
editUser,
fetchUser,
} from 'store/users/users.actions';
import {
getUserDetails
} from 'store/users/users.reducer';
import { getDialogPayload } from 'store/dashboard/dashboard.reducer';
import t from 'store/types';
export const mapStateToProps = (state, props) => {
const dialogPayload = getDialogPayload(state, 'user-form');
return {
name: 'user-form',
payload: {action: 'new', id: null},
userDetails: dialogPayload.action === 'edit'
? getUserDetails(state, dialogPayload.user.id) : {},
};
};
export const mapDispatchToProps = (dispatch) => ({
openDialog: (name, payload) => dispatch({ type: t.OPEN_DIALOG, name, payload }),
closeDialog: (name, payload) => dispatch({ type: t.CLOSE_DIALOG, name, payload }),
submitUser: (form) => dispatch(submitUser({ form })),
editUser: (id, form) => dispatch(editUser({ form, id })),
fetchUser: (id) => dispatch(fetchUser({ id })),
});
export default connect(mapStateToProps, mapDispatchToProps);