use 'Overlay' instead if 'OverlayTrigger'
Этот коммит содержится в:
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
var UserStore = require('../stores/user_store.jsx');
|
var UserStore = require('../stores/user_store.jsx');
|
||||||
var Popover = ReactBootstrap.Popover;
|
var Popover = ReactBootstrap.Popover;
|
||||||
var OverlayTrigger = ReactBootstrap.OverlayTrigger;
|
var Overlay = ReactBootstrap.Overlay;
|
||||||
const Utils = require('../utils/utils.jsx');
|
const Utils = require('../utils/utils.jsx');
|
||||||
|
|
||||||
const ChannelStore = require('../stores/channel_store.jsx');
|
const ChannelStore = require('../stores/channel_store.jsx');
|
||||||
@@ -22,6 +22,10 @@ export default class PopoverListMembers extends React.Component {
|
|||||||
this.closePopover = this.closePopover.bind(this);
|
this.closePopover = this.closePopover.bind(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
componentWillMount() {
|
||||||
|
this.setState({showPopover: false});
|
||||||
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
const originalLeave = $.fn.popover.Constructor.prototype.leave;
|
const originalLeave = $.fn.popover.Constructor.prototype.leave;
|
||||||
$.fn.popover.Constructor.prototype.leave = function onLeave(obj) {
|
$.fn.popover.Constructor.prototype.leave = function onLeave(obj) {
|
||||||
@@ -85,10 +89,7 @@ export default class PopoverListMembers extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
closePopover() {
|
closePopover() {
|
||||||
var overlay = this.refs.overlay;
|
this.setState({showPopover: false});
|
||||||
if (overlay.state.isOverlayShown) {
|
|
||||||
overlay.setState({isOverlayShown: false});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
@@ -188,12 +189,27 @@ export default class PopoverListMembers extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<OverlayTrigger
|
<div>
|
||||||
ref='overlay'
|
<div
|
||||||
trigger='click'
|
id='member_popover'
|
||||||
placement='bottom'
|
ref='member_popover_target'
|
||||||
rootClose={true}
|
onClick={(e) => this.setState({popoverTarget: e.target, showPopover: !this.state.showPopover})}
|
||||||
overlay={
|
>
|
||||||
|
<div>
|
||||||
|
{countText}
|
||||||
|
<span
|
||||||
|
className='fa fa-user'
|
||||||
|
aria-hidden='true'
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<Overlay
|
||||||
|
rootClose={true}
|
||||||
|
onHide={this.closePopover}
|
||||||
|
show={this.state.showPopover}
|
||||||
|
target={() => this.state.popoverTarget}
|
||||||
|
placement='bottom'
|
||||||
|
>
|
||||||
<Popover
|
<Popover
|
||||||
title='Members'
|
title='Members'
|
||||||
id='member-list-popover'
|
id='member-list-popover'
|
||||||
@@ -202,18 +218,8 @@ export default class PopoverListMembers extends React.Component {
|
|||||||
{popoverHtml}
|
{popoverHtml}
|
||||||
</div>
|
</div>
|
||||||
</Popover>
|
</Popover>
|
||||||
}
|
</Overlay>
|
||||||
>
|
|
||||||
<div id='member_popover'>
|
|
||||||
<div>
|
|
||||||
{countText}
|
|
||||||
<span
|
|
||||||
className='fa fa-user'
|
|
||||||
aria-hidden='true'
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</OverlayTrigger>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user