From 400f4e4aea33d7592f3c3d56d7b7a04f15843431 Mon Sep 17 00:00:00 2001
From: Michael An <1822852997@qq.com>
Date: Thu, 2 May 2019 19:25:56 +0800
Subject: [PATCH] use Link instead A tag
---
.../pages/org-admin/org-department-item.js | 18 ++++++++++-----
.../pages/org-admin/org-departments-list.js | 23 ++++++++++++-------
2 files changed, 27 insertions(+), 14 deletions(-)
diff --git a/frontend/src/pages/org-admin/org-department-item.js b/frontend/src/pages/org-admin/org-department-item.js
index 2190965f0d..5304cd6acd 100644
--- a/frontend/src/pages/org-admin/org-department-item.js
+++ b/frontend/src/pages/org-admin/org-department-item.js
@@ -1,8 +1,9 @@
import React from 'react';
import PropTypes from 'prop-types';
+import { Link } from '@reach/router';
import { seafileAPI } from '../../utils/seafile-api';
import { Utils } from '../../utils/utils.js';
-import { serviceURL, gettext, orgID } from '../../utils/constants';
+import { serviceURL, siteRoot, gettext, orgID } from '../../utils/constants';
import OrgDepartmentsList from './org-departments-list';
import ModalPortal from '../../components/modal-portal';
import AddMemberDialog from '../../components/dialog/org-add-member-dialog';
@@ -84,6 +85,13 @@ class OrgDepartmentItem extends React.Component {
this.listOrgMembers(groupID);
}
+ componentWillReceiveProps(nextProps) {
+ if (this.props.groupID !== nextProps.groupID) {
+ this.listOrgGroupRepo(nextProps.groupID);
+ this.listOrgMembers(nextProps.groupID);
+ }
+ }
+
render() {
const { members, repos } = this.state;
const groupID = this.props.groupID;
@@ -94,14 +102,12 @@ class OrgDepartmentItem extends React.Component {
{groupID ?
- {gettext('Departments')}
+ {gettext('Departments')}
: {gettext('Departments')}
}
{this.state.ancestorGroups.map(ancestor => {
- let newHref = serviceURL + '/org/departmentadmin/groups/' + ancestor.id + '/';
- return (
- {' / '}{ancestor.name}
- );
+ let newHref = siteRoot + 'org/departmentadmin/groups/' + ancestor.id + '/';
+ return {' / '}{ancestor.name};
})}
{groupID && {' / '}{this.state.groupName}}
diff --git a/frontend/src/pages/org-admin/org-departments-list.js b/frontend/src/pages/org-admin/org-departments-list.js
index c38b751778..5f3df45d8e 100644
--- a/frontend/src/pages/org-admin/org-departments-list.js
+++ b/frontend/src/pages/org-admin/org-departments-list.js
@@ -1,8 +1,9 @@
import React from 'react';
import PropTypes from 'prop-types';
import moment from 'moment';
+import { Link } from '@reach/router';
import { seafileAPI } from '../../utils/seafile-api';
-import { serviceURL, gettext, orgID, lang } from '../../utils/constants';
+import { serviceURL, siteRoot, gettext, orgID, lang } from '../../utils/constants';
import { Utils } from '../../utils/utils.js';
import ModalPortal from '../../components/modal-portal';
import AddDepartDialog from '../../components/dialog/org-add-department-dialog';
@@ -25,9 +26,9 @@ class OrgDepartmentsList extends React.Component {
};
}
- listDepartGroups = () => {
- if (this.props.groupID) {
- seafileAPI.orgAdminListGroupInfo(orgID, this.props.groupID, true).then(res => {
+ listDepartGroups = (groupID) => {
+ if (groupID) {
+ seafileAPI.orgAdminListGroupInfo(orgID, groupID, true).then(res => {
this.setState({ groups: res.data.groups });
});
} else {
@@ -53,11 +54,17 @@ class OrgDepartmentsList extends React.Component {
}
onDepartChanged = () => {
- this.listDepartGroups();
+ this.listDepartGroups(this.props.groupID);
}
componentWillMount() {
- this.listDepartGroups();
+ this.listDepartGroups(this.props.groupID);
+ }
+
+ componentWillReceiveProps(nextProps) {
+ if (this.props.groupID !== nextProps.groupID) {
+ this.listDepartGroups(nextProps.groupID);
+ }
}
render() {
@@ -165,10 +172,10 @@ class GroupItem extends React.Component {
render() {
const group = this.props.group;
const highlight = this.state.highlight;
- const newHref = serviceURL + '/org/departmentadmin/groups/' + group.id + '/';
+ const newHref = siteRoot+ 'org/departmentadmin/groups/' + group.id + '/';
return (
- {group.name} |
+ {group.name} |
{moment(group.created_at).fromNow()} |
{Utils.bytesToSize(group.quota)}{' '}
|