1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-24 12:58:34 +00:00

fix refresh group member (#8103)

This commit is contained in:
Michael An
2025-08-04 11:29:31 +08:00
committed by GitHub
parent 622d7c1c3f
commit 12d24f6f2c
2 changed files with 9 additions and 4 deletions

View File

@@ -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);
}); });

View File

@@ -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);
}); });
} }
} }