1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-14 06:11:16 +00:00
Files
seahub/frontend/src/pages/org-admin/index.js

105 lines
4.0 KiB
JavaScript
Raw Normal View History

import React from 'react';
import ReactDOM from 'react-dom';
import { Router } from '@reach/router';
import { siteRoot } from '../../utils/constants';
import SidePanel from './side-panel';
import OrgUsers from './org-users-users';
2021-07-22 11:54:10 +08:00
import OrgUsersSearchUsers from './org-users-search-users';
import OrgAdmins from './org-users-admins';
import OrgUserProfile from './org-user-profile';
import OrgUserRepos from './org-user-repos';
import OrgUserSharedRepos from './org-user-shared-repos';
import OrgGroups from './org-groups';
2021-07-22 16:48:38 +08:00
import OrgGroupsSearchGroups from './org-groups-search-groups';
import OrgGroupInfo from './org-group-info';
import OrgGroupRepos from './org-group-repos';
import OrgGroupMembers from './org-group-members';
import OrgLibraries from './org-libraries';
2019-03-18 13:15:08 +08:00
import OrgInfo from './org-info';
2019-03-26 16:56:15 +08:00
import OrgLinks from './org-links';
import OrgDepartments from './org-departments';
import OrgDepartmentsList from './org-departments-list';
import OrgDepartmentItem from './org-department-item';
import OrgLogs from './org-logs';
import OrgLogsFileAudit from './org-logs-file-audit';
import OrgLogsFileUpdate from './org-logs-file-update';
import OrgLogsPermAudit from './org-logs-perm-audit';
import '../../css/layout.css';
import '../../css/toolbar.css';
class Org extends React.Component {
constructor(props) {
super(props);
this.state = {
isSidePanelClosed: false,
currentTab: 'users'
};
}
componentDidMount() {
let href = window.location.href.split('/');
let currentTab = href[href.length - 2];
2019-08-06 14:59:49 +08:00
if (location.href.indexOf(`${siteRoot}org/useradmin`) != -1) {
currentTab = 'users';
}
2019-08-06 14:59:49 +08:00
if (location.href.indexOf(`${siteRoot}org/groupadmin`) != -1) {
currentTab = 'groupadmin';
}
if (location.href.indexOf(`${siteRoot}org/departmentadmin`) != -1) {
currentTab = 'departmentadmin';
}
this.setState({currentTab: currentTab});
}
onCloseSidePanel = () => {
this.setState({isSidePanelClosed: !this.state.isSidePanelClosed});
}
tabItemClick = (param) => {
this.setState({currentTab: param});
2019-05-02 20:37:09 +08:00
}
2019-04-29 22:20:56 +08:00
render() {
2019-05-05 15:18:54 +08:00
let { isSidePanelClosed, currentTab } = this.state;
return (
<div id="main">
<SidePanel isSidePanelClosed={isSidePanelClosed} onCloseSidePanel={this.onCloseSidePanel} currentTab={currentTab} tabItemClick={this.tabItemClick}/>
2019-05-02 20:37:09 +08:00
<div className="main-panel o-hidden">
<Router className="reach-router">
2019-05-05 15:18:54 +08:00
<OrgInfo path={siteRoot + 'org/orgmanage'}/>
<OrgUsers path={siteRoot + 'org/useradmin'} />
2021-07-22 11:54:10 +08:00
<OrgUsersSearchUsers path={siteRoot + 'org/useradmin/search-users'} />
<OrgAdmins path={siteRoot + 'org/useradmin/admins/'} />
<OrgUserProfile path={siteRoot + 'org/useradmin/info/:email/'} />
<OrgUserRepos path={siteRoot + 'org/useradmin/info/:email/repos/'} />
<OrgUserSharedRepos path={siteRoot + 'org/useradmin/info/:email/shared-repos/'} />
<OrgGroups path={siteRoot + 'org/groupadmin'} />
2021-07-22 16:48:38 +08:00
<OrgGroupsSearchGroups path={siteRoot + 'org/groupadmin/search-groups'} />
<OrgGroupInfo path={siteRoot + 'org/groupadmin/:groupID/'} />
<OrgGroupRepos path={siteRoot + 'org/groupadmin/:groupID/repos/'} />
<OrgGroupMembers path={siteRoot + 'org/groupadmin/:groupID/members/'} />
2019-05-05 15:18:54 +08:00
<OrgLibraries path={siteRoot + 'org/repoadmin'}/>
<OrgLinks path={siteRoot + 'org/publinkadmin'}/>
<OrgDepartments path={siteRoot + 'org/departmentadmin'}>
<OrgDepartmentsList path='/'/>
<OrgDepartmentItem path='groups/:groupID'/>
</OrgDepartments>
2019-05-05 18:29:06 +08:00
<OrgLogs path={siteRoot + 'org/logadmin'} currentTab={currentTab} tabItemClick={this.tabItemClick}>
2019-08-06 14:59:49 +08:00
<OrgLogsFileAudit path='/' />
<OrgLogsFileUpdate path='file-update' />
<OrgLogsPermAudit path='perm-audit' />
</OrgLogs>
</Router>
2019-05-02 20:37:09 +08:00
</div>
</div>
);
}
}
ReactDOM.render(
<Org />,
document.getElementById('wrapper')
);