diff --git a/frontend/src/pages/org-admin/org-department-item.js b/frontend/src/pages/org-admin/org-department-item.js index 5304cd6acd..ec1374b3a3 100644 --- a/frontend/src/pages/org-admin/org-department-item.js +++ b/frontend/src/pages/org-admin/org-department-item.js @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { Link } from '@reach/router'; import { seafileAPI } from '../../utils/seafile-api'; @@ -11,6 +11,7 @@ import DeleteMemberDialog from '../../components/dialog/org-delete-member-dialog import AddRepoDialog from '../../components/dialog/org-add-repo-dialog'; import DeleteRepoDialog from '../../components/dialog/org-delete-repo-dialog'; import RoleEditor from '../../components/select-editor/role-editor'; +import MainPanelTopbar from './main-panel-topbar'; import '../../css/org-department-item.css'; class OrgDepartmentItem extends React.Component { @@ -96,143 +97,152 @@ class OrgDepartmentItem extends React.Component { const { members, repos } = this.state; const groupID = this.props.groupID; return ( -
-
-
-
-

- {groupID ? - {gettext('Departments')} - : {gettext('Departments')} - } - {this.state.ancestorGroups.map(ancestor => { - let newHref = siteRoot + 'org/departmentadmin/groups/' + ancestor.id + '/'; - return {' / '}{ancestor.name}; - })} - {groupID && {' / '}{this.state.groupName}} -

-
-
- -
- -
- -
+ + +
+
-

{gettext('Members')}

+

+ {groupID ? + {gettext('Departments')} + : {gettext('Departments')} + } + {this.state.ancestorGroups.map(ancestor => { + let newHref = siteRoot + 'org/departmentadmin/groups/' + ancestor.id + '/'; + return {' / '}{ancestor.name}; + })} + {groupID && {' / '}{this.state.groupName}} +

-
- {(members && members.length === 1 && members[0].role === 'Owner') ? -

{gettext('No members')}

: - - - - - - - - - - - {members.map((member, index) => { - return ( - - - - ); - })} - -
{gettext('Name')}{gettext('Role')}
+ +
+ +
+ +
+
+
+

{gettext('Members')}

+
+
+
+ {(members && members.length === 1 && members[0].role === 'Owner') ? +

{gettext('No members')}

: + + + + + + + + + + + {members.map((member, index) => { + return ( + + + + ); + })} + +
{gettext('Name')}{gettext('Role')}
+ } +
+
+ +
+
+

{gettext('Libraries')}

+
+ { repos.length > 0 ? +
+ + + + + + + + + + + {repos.map((repo, index) => { + return( + + + + ); + })} + +
{gettext('Name')}{gettext('Size')}
+
+ :

{gettext('No libraries')}

}
-
-
-
-

{gettext('Libraries')}

-
- { repos.length > 0 ? -
- - - - - - - - - - - {repos.map((repo, index) => { - return( - - - - ); - })} - -
{gettext('Name')}{gettext('Size')}
-
- :

{gettext('No libraries')}

- }
- + + {this.state.showDeleteMemberDialog && ( + + + + )} + {this.state.showDeleteRepoDialog && ( + + + + )} + {this.props.isShowAddMemberDialog && ( + + + + )} + {this.props.isShowAddRepoDialog && ( + + + + )} +
- - {this.state.showDeleteMemberDialog && ( - - - - )} - {this.state.showDeleteRepoDialog && ( - - - - )} - {this.props.isShowAddMemberDialog && ( - - - - )} - {this.props.isShowAddRepoDialog && ( - - - - )} - -
+
); } } diff --git a/frontend/src/pages/org-admin/org-departments-list.js b/frontend/src/pages/org-admin/org-departments-list.js index 5f3df45d8e..45c758f42e 100644 --- a/frontend/src/pages/org-admin/org-departments-list.js +++ b/frontend/src/pages/org-admin/org-departments-list.js @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import moment from 'moment'; import { Link } from '@reach/router'; @@ -9,6 +9,7 @@ import ModalPortal from '../../components/modal-portal'; import AddDepartDialog from '../../components/dialog/org-add-department-dialog'; import DeleteDepartDialog from '../../components/dialog/org-delete-department-dialog'; import SetGroupQuotaDialog from '../../components/dialog/org-set-group-quota-dialog'; +import MainPanelTopbar from './main-panel-topbar'; import '../../css/org-department-item.css'; moment.locale(lang); @@ -73,73 +74,84 @@ class OrgDepartmentsList extends React.Component { let header = isSub ? gettext('Sub-departments') : gettext('Departments'); let noGroup = isSub ? gettext('No sub-departments') : gettext('No departments'); return ( -
-
-
-

{header}

+ + {!isSub && + + } +
+
+
+

{header}

+
+
+ {groups && groups.length > 0 ? + + + + + + + + + + + {groups.map((group, index) => { + return( + + + + ); + })} + +
{gettext('Name')}{gettext('Created At')}{gettext('Quota')}
+ : +

{noGroup}

+ } +
+ + {this.props.isShowAddDepartDialog && ( + + + + )} + {this.state.showDeleteDepartDialog && ( + + + + )} + {this.state.showSetGroupQuotaDialog && ( + + + + )} +
-
- {groups && groups.length > 0 ? - - - - - - - - - - - {groups.map((group, index) => { - return( - - - - ); - })} - -
{gettext('Name')}{gettext('Created At')}{gettext('Quota')}
- : -

{noGroup}

- } -
- - {this.props.isShowAddDepartDialog && ( - - - - )} - {this.state.showDeleteDepartDialog && ( - - - - )} - {this.state.showSetGroupQuotaDialog && ( - - - - )} -
-
+ ); } } diff --git a/frontend/src/pages/org-admin/org-groups.js b/frontend/src/pages/org-admin/org-groups.js index 5debbf3335..13290fc2dc 100644 --- a/frontend/src/pages/org-admin/org-groups.js +++ b/frontend/src/pages/org-admin/org-groups.js @@ -1,9 +1,8 @@ -import React, { Component } from 'react'; +import React, { Component, Fragment } from 'react'; import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap'; - import OrgGroupInfo from '../../models/org-group'; import Toast from '../../components/toast'; - +import MainPanelTopbar from './main-panel-topbar'; import { seafileAPI } from '../../utils/seafile-api'; import { siteRoot, gettext, orgID } from '../../utils/constants'; @@ -73,43 +72,46 @@ class OrgGroups extends Component { render() { let groups = this.state.orgGroups; return ( -
-
-
-

{gettext('All Groups')}

-
-
- - - - - - - - - - - {groups.map(item => { - return ( - - )})} - -
{gettext('Name')}{gettext('Creator')}{gettext('Created At')}{gettext('Operations')}
-
- {this.state.page != 1 && this.onChangePageNum(e, -1)}>{gettext('Previous')}} - {(this.state.page != 1 && this.state.pageNext) && | } - {this.state.pageNext && this.onChangePageNum(e, 1)}>{gettext('Next')}} + + +
+
+
+

{gettext('All Groups')}

+
+
+ + + + + + + + + + + {groups.map(item => { + return ( + + )})} + +
{gettext('Name')}{gettext('Creator')}{gettext('Created At')}{gettext('Operations')}
+
+ {this.state.page != 1 && this.onChangePageNum(e, -1)}>{gettext('Previous')}} + {(this.state.page != 1 && this.state.pageNext) && | } + {this.state.pageNext && this.onChangePageNum(e, 1)}>{gettext('Next')}} +
-
+ ); } } diff --git a/frontend/src/pages/org-admin/org-info.js b/frontend/src/pages/org-admin/org-info.js index 131df26a15..8d70c22ca8 100644 --- a/frontend/src/pages/org-admin/org-info.js +++ b/frontend/src/pages/org-admin/org-info.js @@ -1,7 +1,8 @@ -import React, { Component } from 'react'; +import React, { Component, Fragment } from 'react'; import { seafileAPI } from '../../utils/seafile-api'; import { gettext, orgMemberQuotaEnabled} from '../../utils/constants'; import { Utils } from '../../utils/utils'; +import MainPanelTopbar from './main-panel-topbar'; class OrgInfo extends Component { @@ -30,25 +31,28 @@ class OrgInfo extends Component { render() { return ( -
-
-
-

{gettext('Info')}

-
-
-
-
{gettext('Space Used')}
+ + +
+
+
+

{gettext('Info')}

+
+
+
+
{gettext('Space Used')}
- {(this.state.storage_quota > 0) ?
{Utils.bytesToSize(this.state.storage_usage)} / {Utils.bytesToSize(this.state.storage_quota)}
:
{Utils.bytesToSize(this.state.storage_usage)}
} + {(this.state.storage_quota > 0) ?
{Utils.bytesToSize(this.state.storage_usage)} / {Utils.bytesToSize(this.state.storage_quota)}
:
{Utils.bytesToSize(this.state.storage_usage)}
} - {orgMemberQuotaEnabled ?
{gettext('Active Users')} / {gettext('Total Users')} / {gettext('Limits')}
:
{gettext('Active Users')} / {gettext('Total Users')}
} + {orgMemberQuotaEnabled ?
{gettext('Active Users')} / {gettext('Total Users')} / {gettext('Limits')}
:
{gettext('Active Users')} / {gettext('Total Users')}
} - {orgMemberQuotaEnabled ?
{(this.state.active_members > 0) ? this.state.active_members : '--'} / {(this.state.member_usage > 0) ? this.state.member_usage : '--'} / {(this.state.member_quota > 0) ? this.state.member_quota : '--'}
:
{this.state.active_members > 0 ? this.state.active_members : '--'} / {this.state.member_usage > 0 ? this.state.member_usage : '--'}
} + {orgMemberQuotaEnabled ?
{(this.state.active_members > 0) ? this.state.active_members : '--'} / {(this.state.member_usage > 0) ? this.state.member_usage : '--'} / {(this.state.member_quota > 0) ? this.state.member_quota : '--'}
:
{this.state.active_members > 0 ? this.state.active_members : '--'} / {this.state.member_usage > 0 ? this.state.member_usage : '--'}
} -
+
+
-
+ ); } } diff --git a/frontend/src/pages/org-admin/org-libraries.js b/frontend/src/pages/org-admin/org-libraries.js index 8d42b6ac92..6877e7ea9f 100644 --- a/frontend/src/pages/org-admin/org-libraries.js +++ b/frontend/src/pages/org-admin/org-libraries.js @@ -1,7 +1,7 @@ import React, { Fragment, Component } from 'react'; import PropTypes from 'prop-types'; import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap'; - +import MainPanelTopbar from './main-panel-topbar'; import OrgAdminRepo from '../../models/org-admin-repo'; import toaster from '../../components/toast'; import TransferDialog from '../../components/dialog/transfer-dialog'; @@ -87,46 +87,49 @@ class OrgLibraries extends Component { render() { let repos = this.state.orgRepos; return ( -
-
-
-

{gettext('All Libraries')}

-
-
- - - - - - - - - - - - {repos.map(item => { - return ( - - );} - )} - -
{gettext('Name')}ID{gettext('Owner')}{gettext('Operations')}
-
- {this.state.page != 1 && this.onChangePageNum(e, -1)}>{gettext('Previous')}} - {(this.state.page != 1 && this.state.pageNext) && | } - {this.state.pageNext && this.onChangePageNum(e, 1)}>{gettext('Next')}} + + +
+
+
+

{gettext('All Libraries')}

+
+
+ + + + + + + + + + + + {repos.map(item => { + return ( + + );} + )} + +
{gettext('Name')}ID{gettext('Owner')}{gettext('Operations')}
+
+ {this.state.page != 1 && this.onChangePageNum(e, -1)}>{gettext('Previous')}} + {(this.state.page != 1 && this.state.pageNext) && | } + {this.state.pageNext && this.onChangePageNum(e, 1)}>{gettext('Next')}} +
-
+ ); } } diff --git a/frontend/src/pages/org-admin/org-links.js b/frontend/src/pages/org-admin/org-links.js index 177986b305..5f43855c52 100644 --- a/frontend/src/pages/org-admin/org-links.js +++ b/frontend/src/pages/org-admin/org-links.js @@ -1,9 +1,10 @@ -import React from 'react'; +import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import moment from 'moment'; import { seafileAPI } from '../../utils/seafile-api'; import { siteRoot, gettext } from '../../utils/constants'; import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap'; +import MainPanelTopbar from './main-panel-topbar'; class OrgLinks extends React.Component { @@ -62,46 +63,49 @@ class OrgLinks extends React.Component { render() { const linkList = this.state.linkList; return ( -
-
-
-

{gettext('All Public Links')}

-
-
- - - - - - - - - - - - {linkList && linkList.map((item, index) => { - return( - - - - ); - })} - -
{gettext('Name')}{gettext('Owner')}{gettext('Created At')}{gettext('Count')}
-
- {this.state.page != 1 && this.onChangePageNum(e, -1)}>{gettext('Previous')}} - {(this.state.page != 1 && this.state.pageNext) && | } - {this.state.pageNext && this.onChangePageNum(e, 1)}>{gettext('Next')}} + + +
+
+
+

{gettext('All Public Links')}

+
+
+ + + + + + + + + + + + {linkList && linkList.map((item, index) => { + return( + + + + ); + })} + +
{gettext('Name')}{gettext('Owner')}{gettext('Created At')}{gettext('Count')}
+
+ {this.state.page != 1 && this.onChangePageNum(e, -1)}>{gettext('Previous')}} + {(this.state.page != 1 && this.state.pageNext) && | } + {this.state.pageNext && this.onChangePageNum(e, 1)}>{gettext('Next')}} +
-
+ ); } } diff --git a/frontend/src/pages/org-admin/org-logs.js b/frontend/src/pages/org-admin/org-logs.js index 7487f5a204..43d6807347 100644 --- a/frontend/src/pages/org-admin/org-logs.js +++ b/frontend/src/pages/org-admin/org-logs.js @@ -1,6 +1,7 @@ -import React, { Component } from 'react'; +import React, { Component, Fragment } from 'react'; import { Link } from '@reach/router'; import { siteRoot, gettext } from '../../utils/constants'; +import MainPanelTopbar from './main-panel-topbar'; class OrgLogs extends Component { @@ -14,24 +15,27 @@ class OrgLogs extends Component { render() { return ( -
-
-
-
    -
  • this.tabItemClick('logadmin')}> - {gettext('File Access')} -
  • -
  • this.tabItemClick('file-update')}> - {gettext('File Update')} -
  • -
  • this.tabItemClick('perm-audit')}> - {gettext('Permission')} -
  • -
+ + +
+
+
+
    +
  • this.tabItemClick('logadmin')}> + {gettext('File Access')} +
  • +
  • this.tabItemClick('file-update')}> + {gettext('File Update')} +
  • +
  • this.tabItemClick('perm-audit')}> + {gettext('Permission')} +
  • +
+
+ {this.props.children}
- {this.props.children}
-
+ ); } } diff --git a/frontend/src/pages/org-admin/org-users.js b/frontend/src/pages/org-admin/org-users.js index 1227beb2b8..3be281939d 100644 --- a/frontend/src/pages/org-admin/org-users.js +++ b/frontend/src/pages/org-admin/org-users.js @@ -1,6 +1,7 @@ -import React, { Component } from 'react'; +import React, { Component, Fragment } from 'react'; import { Link } from '@reach/router'; import { siteRoot, gettext } from '../../utils/constants'; +import MainPanelTopbar from './main-panel-topbar'; class OrgUsers extends Component { @@ -14,21 +15,29 @@ class OrgUsers extends Component { render() { return ( -
-
-
-
    -
  • this.tabItemClick('users')}> - {gettext('All')} -
  • -
  • this.tabItemClick('admins')}> - {gettext('Admin')} -
  • -
+ + +
+
+
+
    +
  • this.tabItemClick('users')}> + {gettext('All')} +
  • +
  • this.tabItemClick('admins')}> + {gettext('Admin')} +
  • +
+
+ {this.props.children}
- {this.props.children}
-
+ ); } }