use 'Overlay' instead if 'OverlayTrigger'

Этот коммит содержится в:
Florian Orben
2015-10-26 22:49:03 +01:00
родитель c753eacad0
Коммит 2008a20d9d

Просмотреть файл

@@ -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>
); );
} }
} }