|
@@ -4,6 +4,8 @@ import { withTranslation } from 'react-i18next';
|
|
|
|
|
|
|
|
import { createSubscribedElement } from '../../UnstatedUtils';
|
|
import { createSubscribedElement } from '../../UnstatedUtils';
|
|
|
import AppContainer from '../../../services/AppContainer';
|
|
import AppContainer from '../../../services/AppContainer';
|
|
|
|
|
+import UsersContainer from '../../../services/UsersContainer';
|
|
|
|
|
+import { toastSuccess, toastError } from '../../../util/apiNotification';
|
|
|
|
|
|
|
|
class UserRemoveButton extends React.Component {
|
|
class UserRemoveButton extends React.Component {
|
|
|
|
|
|
|
@@ -13,8 +15,14 @@ class UserRemoveButton extends React.Component {
|
|
|
this.onClickDeleteBtn = this.onClickDeleteBtn.bind(this);
|
|
this.onClickDeleteBtn = this.onClickDeleteBtn.bind(this);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- onClickDeleteBtn() {
|
|
|
|
|
- this.props.removeUser(this.props.user);
|
|
|
|
|
|
|
+ async onClickDeleteBtn() {
|
|
|
|
|
+ try {
|
|
|
|
|
+ const username = await this.props.usersContainer.removeUser(this.props.user._id);
|
|
|
|
|
+ toastSuccess(`Delete ${username} success`);
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (err) {
|
|
|
|
|
+ toastError(err);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
render() {
|
|
render() {
|
|
@@ -33,15 +41,15 @@ class UserRemoveButton extends React.Component {
|
|
|
* Wrapper component for using unstated
|
|
* Wrapper component for using unstated
|
|
|
*/
|
|
*/
|
|
|
const UserRemoveButtonWrapper = (props) => {
|
|
const UserRemoveButtonWrapper = (props) => {
|
|
|
- return createSubscribedElement(UserRemoveButton, props, [AppContainer]);
|
|
|
|
|
|
|
+ return createSubscribedElement(UserRemoveButton, props, [AppContainer, UsersContainer]);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
UserRemoveButton.propTypes = {
|
|
UserRemoveButton.propTypes = {
|
|
|
t: PropTypes.func.isRequired, // i18next
|
|
t: PropTypes.func.isRequired, // i18next
|
|
|
appContainer: PropTypes.instanceOf(AppContainer).isRequired,
|
|
appContainer: PropTypes.instanceOf(AppContainer).isRequired,
|
|
|
|
|
+ usersContainer: PropTypes.instanceOf(UsersContainer).isRequired,
|
|
|
|
|
|
|
|
user: PropTypes.object.isRequired,
|
|
user: PropTypes.object.isRequired,
|
|
|
- removeUser: PropTypes.func.isRequired,
|
|
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
export default withTranslation()(UserRemoveButtonWrapper);
|
|
export default withTranslation()(UserRemoveButtonWrapper);
|