mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-08 22:45:45 +01:00
go back to detail page after successfully modify
This commit is contained in:
@@ -1,27 +1,38 @@
|
||||
//@flow
|
||||
import React from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { withRouter } from "react-router-dom";
|
||||
import UserForm from "./../components/UserForm";
|
||||
import type { User } from "../types/User";
|
||||
import { modifyUser } from "../modules/users";
|
||||
import type { History } from "history";
|
||||
|
||||
type Props = {
|
||||
user: User,
|
||||
updateUser: User => void,
|
||||
loading: boolean
|
||||
modifyUser: (user: User, callback?: () => void) => void,
|
||||
loading: boolean,
|
||||
history: History
|
||||
};
|
||||
|
||||
class EditUser extends React.Component<Props> {
|
||||
userModified = (user: User) => () => {
|
||||
this.props.history.push(`/user/${user.name}`);
|
||||
};
|
||||
|
||||
modifyUser = (user: User) => {
|
||||
this.props.modifyUser(user, this.userModified(user));
|
||||
};
|
||||
|
||||
render() {
|
||||
const { user, updateUser } = this.props;
|
||||
return <UserForm submitForm={user => updateUser(user)} user={user} />;
|
||||
const { user } = this.props;
|
||||
return <UserForm submitForm={user => this.modifyUser(user)} user={user} />;
|
||||
}
|
||||
}
|
||||
|
||||
const mapDispatchToProps = dispatch => {
|
||||
return {
|
||||
updateUser: (user: User) => {
|
||||
dispatch(modifyUser(user));
|
||||
modifyUser: (user: User, callback?: () => void) => {
|
||||
dispatch(modifyUser(user, callback));
|
||||
}
|
||||
};
|
||||
};
|
||||
@@ -33,4 +44,4 @@ const mapStateToProps = (state, ownProps) => {
|
||||
export default connect(
|
||||
mapStateToProps,
|
||||
mapDispatchToProps
|
||||
)(EditUser);
|
||||
)(withRouter(EditUser));
|
||||
|
||||
Reference in New Issue
Block a user