1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-17 16:52:09 +00:00
seahub/frontend/src/pages/markdown-editor/header-toolbar/collab-users-button.js
Michael An 14ce391007
Fix eslint warnings (#5635)
* 01 fix eslint warnings

* fix code warnings

* fix code warnings

* fix code warnings

* fix code warnings

* fix code warnings
2023-09-13 08:40:50 +08:00

44 lines
1.2 KiB
JavaScript

import React from 'react';
import PropTypes from 'prop-types';
import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';
class CollabUsersButton extends React.PureComponent {
constructor(props) {
super(props);
this.state = {
dropdownOpen: false,
};
}
dropdownToggle = () => {
this.setState({dropdownOpen: !this.state.dropdownOpen});
};
render() {
return (
<Dropdown className={this.props.className} isOpen={this.state.dropdownOpen} toggle={this.dropdownToggle}>
<DropdownToggle id={this.props.id}>
<i className="iconfont icon-users"></i> {this.props.users.length}
</DropdownToggle>
<DropdownMenu className={'drop-list'}>
{this.props.users.map((ele, idx) => (
<DropdownItem key={idx}>
<i className={ele.is_editing ? 'iconfont icon-edit' : 'iconfont icon-user'}></i> {ele.user.name} {ele.myself ? '(you)' : ''}
</DropdownItem>
))}
</DropdownMenu>
</Dropdown>
);
}
}
CollabUsersButton.propTypes = {
className: PropTypes.string.isRequired,
id: PropTypes.string.isRequired,
users: PropTypes.array.isRequired,
};
export default CollabUsersButton;