mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-24 04:48:03 +00:00
fix refresh group member (#8103)
This commit is contained in:
@@ -7,11 +7,13 @@ import { Utils } from '../../utils/utils';
|
|||||||
import toaster from '../toast';
|
import toaster from '../toast';
|
||||||
import EmptyTip from '../empty-tip';
|
import EmptyTip from '../empty-tip';
|
||||||
import Loading from '../loading';
|
import Loading from '../loading';
|
||||||
|
import { eventBus } from '../common/event-bus';
|
||||||
import Department from '../../models/department';
|
import Department from '../../models/department';
|
||||||
import SeahubModalHeader from '../common/seahub-modal-header';
|
import SeahubModalHeader from '../common/seahub-modal-header';
|
||||||
import DepartmentGroup from './department-detail-widget/department-group';
|
import DepartmentGroup from './department-detail-widget/department-group';
|
||||||
import DepartmentGroupMembers from './department-detail-widget/department-group-members';
|
import DepartmentGroupMembers from './department-detail-widget/department-group-members';
|
||||||
import DepartmentGroupMemberSelected from './department-detail-widget/department-group-member-selected';
|
import DepartmentGroupMemberSelected from './department-detail-widget/department-group-member-selected';
|
||||||
|
|
||||||
import '../../css/manage-members-dialog.css';
|
import '../../css/manage-members-dialog.css';
|
||||||
import '../../css/group-departments.css';
|
import '../../css/group-departments.css';
|
||||||
|
|
||||||
@@ -149,6 +151,7 @@ class DepartmentDetailDialog extends React.Component {
|
|||||||
let emails = Object.keys(this.state.newMembersTempObj);
|
let emails = Object.keys(this.state.newMembersTempObj);
|
||||||
seafileAPI.addGroupMembers(this.props.groupID, emails).then((res) => {
|
seafileAPI.addGroupMembers(this.props.groupID, emails).then((res) => {
|
||||||
this.toggle();
|
this.toggle();
|
||||||
|
eventBus.dispatch('updateGroupList');
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
this.onError(error);
|
this.onError(error);
|
||||||
});
|
});
|
||||||
|
@@ -9,6 +9,7 @@ import toaster from './toast';
|
|||||||
import Loading from './loading';
|
import Loading from './loading';
|
||||||
import GroupMembers from './group-members';
|
import GroupMembers from './group-members';
|
||||||
import SelectUsersIcon from './select-members-to-share-with';
|
import SelectUsersIcon from './select-members-to-share-with';
|
||||||
|
import { eventBus } from './common/event-bus';
|
||||||
|
|
||||||
const propTypes = {
|
const propTypes = {
|
||||||
toggleManageMembersDialog: PropTypes.func,
|
toggleManageMembersDialog: PropTypes.func,
|
||||||
@@ -39,11 +40,12 @@ class ManageMembersDialog extends React.Component {
|
|||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
this.listGroupMembers(this.state.page);
|
this.listGroupMembers(this.state.page);
|
||||||
|
eventBus.subscribe('updateGroupList', this.listGroupMembers);
|
||||||
}
|
}
|
||||||
|
|
||||||
listGroupMembers = (page) => {
|
listGroupMembers = (page = 1, initGroupMembers = []) => {
|
||||||
const { groupID } = this.props;
|
const { groupID } = this.props;
|
||||||
const { perPage, groupMembers } = this.state;
|
const { perPage } = this.state;
|
||||||
seafileAPI.listGroupMembers(groupID, page, perPage).then((res) => {
|
seafileAPI.listGroupMembers(groupID, page, perPage).then((res) => {
|
||||||
const members = res.data;
|
const members = res.data;
|
||||||
this.setState({
|
this.setState({
|
||||||
@@ -51,7 +53,7 @@ class ManageMembersDialog extends React.Component {
|
|||||||
isLoadingMore: false,
|
isLoadingMore: false,
|
||||||
page: page,
|
page: page,
|
||||||
hasNextPage: members.length < perPage ? false : true,
|
hasNextPage: members.length < perPage ? false : true,
|
||||||
groupMembers: groupMembers.concat(members)
|
groupMembers: initGroupMembers.concat(members)
|
||||||
});
|
});
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
let errMessage = Utils.getErrorMsg(error);
|
let errMessage = Utils.getErrorMsg(error);
|
||||||
@@ -109,7 +111,7 @@ class ManageMembersDialog extends React.Component {
|
|||||||
const isBottom = (clientHeight + scrollTop + 1 >= scrollHeight);
|
const isBottom = (clientHeight + scrollTop + 1 >= scrollHeight);
|
||||||
if (isBottom) { // scroll to the bottom
|
if (isBottom) { // scroll to the bottom
|
||||||
this.setState({ isLoadingMore: true }, () => {
|
this.setState({ isLoadingMore: true }, () => {
|
||||||
this.listGroupMembers(page + 1);
|
this.listGroupMembers(page + 1, this.state.groupMembers);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user