mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-06 17:33:18 +00:00
Revert "Revert "[library list] added 'plus' icon to the toggle of the dropdow…" (#7412)
This reverts commit b606f65f4e
.
This commit is contained in:
@@ -2,6 +2,8 @@ import React, { Fragment } from 'react';
|
|||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';
|
import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';
|
||||||
|
|
||||||
|
import '../../css/single-dropdown-toolbar.css';
|
||||||
|
|
||||||
const propTypes = {
|
const propTypes = {
|
||||||
opList: PropTypes.array.isRequired
|
opList: PropTypes.array.isRequired
|
||||||
};
|
};
|
||||||
@@ -32,19 +34,23 @@ class SingleDropdownToolbar extends React.Component {
|
|||||||
};
|
};
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { opList } = this.props;
|
const { opList, withPlusIcon = false } = this.props;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Fragment>
|
<Fragment>
|
||||||
<Dropdown isOpen={this.state.isDropdownMenuOpen} toggle={this.toggleDropdownMenu}>
|
<Dropdown isOpen={this.state.isDropdownMenuOpen} toggle={this.toggleDropdownMenu}>
|
||||||
<DropdownToggle
|
<DropdownToggle
|
||||||
tag="i"
|
tag="span"
|
||||||
role="button"
|
role="button"
|
||||||
className="sf3-font-down sf3-font ml-1 sf-dropdown-toggle"
|
className={withPlusIcon ? 'ml-2 sf-dropdown-combined-toggle' : 'ml-1 sf-dropdown-toggle'}
|
||||||
onClick={this.toggleDropdownMenu}
|
onClick={this.toggleDropdownMenu}
|
||||||
onKeyDown={this.onDropdownToggleKeyDown}
|
onKeyDown={this.onDropdownToggleKeyDown}
|
||||||
data-toggle="dropdown"
|
data-toggle="dropdown"
|
||||||
>
|
>
|
||||||
|
{withPlusIcon
|
||||||
|
? (<><i className="sf3-font-new sf3-font main-icon"></i><i className="sf3-font-down sf3-font"></i></>)
|
||||||
|
: <i className="sf3-font-down sf3-font"></i>
|
||||||
|
}
|
||||||
</DropdownToggle>
|
</DropdownToggle>
|
||||||
<DropdownMenu>
|
<DropdownMenu>
|
||||||
{opList.map((item, index) => {
|
{opList.map((item, index) => {
|
||||||
|
14
frontend/src/css/single-dropdown-toolbar.css
Normal file
14
frontend/src/css/single-dropdown-toolbar.css
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
.sf-dropdown-combined-toggle {
|
||||||
|
color: #666;
|
||||||
|
padding: 2px 4px;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sf-dropdown-combined-toggle:hover {
|
||||||
|
background: #efefef;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sf-dropdown-combined-toggle .main-icon {
|
||||||
|
margin-right: 2px;
|
||||||
|
}
|
||||||
|
|
@@ -104,6 +104,7 @@ class GroupItem extends React.Component {
|
|||||||
<a href={`${siteRoot}group/${group.id}/`} title={group.name} className="ellipsis">{group.name}</a>
|
<a href={`${siteRoot}group/${group.id}/`} title={group.name} className="ellipsis">{group.name}</a>
|
||||||
{isDeptAdmin && (
|
{isDeptAdmin && (
|
||||||
<SingleDropdownToolbar
|
<SingleDropdownToolbar
|
||||||
|
withPlusIcon={true}
|
||||||
opList={[{ 'text': gettext('New Library'), 'onClick': this.toggleCreateRepoDialog }]}
|
opList={[{ 'text': gettext('New Library'), 'onClick': this.toggleCreateRepoDialog }]}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
@@ -369,6 +369,7 @@ class GroupView extends React.Component {
|
|||||||
const opList = [];
|
const opList = [];
|
||||||
if ((!isDepartmentGroup && canAddRepo) ||
|
if ((!isDepartmentGroup && canAddRepo) ||
|
||||||
(isDepartmentGroup && isStaff)) {
|
(isDepartmentGroup && isStaff)) {
|
||||||
|
this.newLibraryEnalbed = true;
|
||||||
opList.push({ 'text': gettext('New Library'), 'onClick': this.onCreateRepoToggle }, 'Divider');
|
opList.push({ 'text': gettext('New Library'), 'onClick': this.onCreateRepoToggle }, 'Divider');
|
||||||
}
|
}
|
||||||
opList.push({ 'text': gettext('Members'), 'onClick': this.toggleMembersDialog });
|
opList.push({ 'text': gettext('Members'), 'onClick': this.toggleMembersDialog });
|
||||||
@@ -440,7 +441,10 @@ class GroupView extends React.Component {
|
|||||||
<span className="sf3-font-department sf3-font nav-icon" title={gettext('This is a special group representing a department.')}></span>
|
<span className="sf3-font-department sf3-font nav-icon" title={gettext('This is a special group representing a department.')}></span>
|
||||||
}
|
}
|
||||||
<span>{currentGroup.name}</span>
|
<span>{currentGroup.name}</span>
|
||||||
<SingleDropdownToolbar opList={opList} />
|
<SingleDropdownToolbar
|
||||||
|
withPlusIcon={this.newLibraryEnalbed}
|
||||||
|
opList={opList}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="path-tool d-flex align-items-center">
|
<div className="path-tool d-flex align-items-center">
|
||||||
{isDepartmentGroup && (
|
{isDepartmentGroup && (
|
||||||
|
@@ -440,6 +440,7 @@ class Libraries extends Component {
|
|||||||
<span className="sf3-font-mine sf3-font nav-icon" aria-hidden="true"></span>
|
<span className="sf3-font-mine sf3-font nav-icon" aria-hidden="true"></span>
|
||||||
{gettext('My Libraries')}
|
{gettext('My Libraries')}
|
||||||
<SingleDropdownToolbar
|
<SingleDropdownToolbar
|
||||||
|
withPlusIcon={true}
|
||||||
opList={[{ 'text': gettext('New Library'), 'onClick': this.toggleCreateRepoDialog }]}
|
opList={[{ 'text': gettext('New Library'), 'onClick': this.toggleCreateRepoDialog }]}
|
||||||
/>
|
/>
|
||||||
</h4>
|
</h4>
|
||||||
|
@@ -167,6 +167,7 @@ class MyLibraries extends Component {
|
|||||||
<h3 className="sf-heading m-0">
|
<h3 className="sf-heading m-0">
|
||||||
{gettext('My Libraries')}
|
{gettext('My Libraries')}
|
||||||
<SingleDropdownToolbar
|
<SingleDropdownToolbar
|
||||||
|
withPlusIcon={true}
|
||||||
opList={[
|
opList={[
|
||||||
{ 'text': gettext('New Library'), 'onClick': this.toggleCreateRepoDialog },
|
{ 'text': gettext('New Library'), 'onClick': this.toggleCreateRepoDialog },
|
||||||
{ 'text': gettext('Deleted Libraries'), 'onClick': this.toggleDeletedReposDialog }
|
{ 'text': gettext('Deleted Libraries'), 'onClick': this.toggleDeletedReposDialog }
|
||||||
|
@@ -250,10 +250,11 @@ class SharedWithAll extends React.Component {
|
|||||||
<div className="main-panel-center">
|
<div className="main-panel-center">
|
||||||
<div className="cur-view-container">
|
<div className="cur-view-container">
|
||||||
<div className="cur-view-path">
|
<div className="cur-view-path">
|
||||||
<h3 className="sf-heading m-0">
|
<h3 className="sf-heading m-0 d-flex align-items-center">
|
||||||
{gettext('Shared with all')}
|
{gettext('Shared with all')}
|
||||||
{canAddPublicRepo &&
|
{canAddPublicRepo &&
|
||||||
<SingleDropdownToolbar
|
<SingleDropdownToolbar
|
||||||
|
withPlusIcon={true}
|
||||||
opList={[
|
opList={[
|
||||||
{ 'text': gettext('Share existing libraries'), 'onClick': this.onSelectRepoToggle },
|
{ 'text': gettext('Share existing libraries'), 'onClick': this.onSelectRepoToggle },
|
||||||
{ 'text': gettext('New Library'), 'onClick': this.onCreateRepoToggle }
|
{ 'text': gettext('New Library'), 'onClick': this.onCreateRepoToggle }
|
||||||
|
Reference in New Issue
Block a user