Merge pull request #655 from yuya-oc/fix-permission-dialog-lag
Fix permission dialog lag
This commit is contained in:
commit
aa003c7207
|
@ -79,8 +79,8 @@ function PermissionRequestDialog(props) {
|
||||||
}
|
}
|
||||||
|
|
||||||
PermissionRequestDialog.propTypes = {
|
PermissionRequestDialog.propTypes = {
|
||||||
origin: PropTypes.string.isRequired,
|
origin: PropTypes.string,
|
||||||
permission: PropTypes.oneOf(['media', 'geolocation', 'notifications', 'midiSysex', 'pointerLock', 'fullscreen', 'openExternal']).isRequired,
|
permission: PropTypes.oneOf(['media', 'geolocation', 'notifications', 'midiSysex', 'pointerLock', 'fullscreen', 'openExternal']),
|
||||||
onClickAllow: PropTypes.func,
|
onClickAllow: PropTypes.func,
|
||||||
onClickBlock: PropTypes.func,
|
onClickBlock: PropTypes.func,
|
||||||
onClickClose: PropTypes.func
|
onClickClose: PropTypes.func
|
||||||
|
|
|
@ -31,24 +31,24 @@ class TabBar extends React.Component { // need "this"
|
||||||
</div>);
|
</div>);
|
||||||
}
|
}
|
||||||
const id = 'teamTabItem' + index;
|
const id = 'teamTabItem' + index;
|
||||||
const permissionOverlay = this.props.requestingPermission[index] ? (
|
const requestingPermission = this.props.requestingPermission[index];
|
||||||
|
const permissionOverlay = (
|
||||||
<Overlay
|
<Overlay
|
||||||
className='TabBar-permissionOverlay'
|
className='TabBar-permissionOverlay'
|
||||||
placement='bottom'
|
placement='bottom'
|
||||||
show={this.props.activeKey === index}
|
show={requestingPermission && this.props.activeKey === index}
|
||||||
target={() => findDOMNode(this.refs[id])}
|
target={() => this.refs[id]}
|
||||||
>
|
>
|
||||||
<PermissionRequestDialog
|
<PermissionRequestDialog
|
||||||
id={`${id}-permissionDialog`}
|
id={`${id}-permissionDialog`}
|
||||||
origin={this.props.requestingPermission[index].origin}
|
origin={requestingPermission ? requestingPermission.origin : null}
|
||||||
permission={this.props.requestingPermission[index].permission}
|
permission={requestingPermission ? requestingPermission.permission : null}
|
||||||
onClickAllow={this.props.onClickPermissionDialog.bind(null, index, 'allow')}
|
onClickAllow={this.props.onClickPermissionDialog.bind(null, index, 'allow')}
|
||||||
onClickBlock={this.props.onClickPermissionDialog.bind(null, index, 'block')}
|
onClickBlock={this.props.onClickPermissionDialog.bind(null, index, 'block')}
|
||||||
onClickClose={this.props.onClickPermissionDialog.bind(null, index, 'close')}
|
onClickClose={this.props.onClickPermissionDialog.bind(null, index, 'close')}
|
||||||
/>
|
/>
|
||||||
</Overlay>
|
</Overlay>
|
||||||
) : null;
|
);
|
||||||
if (unreadCount === 0) {
|
|
||||||
return (
|
return (
|
||||||
<NavItem
|
<NavItem
|
||||||
className='teamTabItem'
|
className='teamTabItem'
|
||||||
|
@ -57,23 +57,11 @@ class TabBar extends React.Component { // need "this"
|
||||||
eventKey={index}
|
eventKey={index}
|
||||||
ref={id}
|
ref={id}
|
||||||
>
|
>
|
||||||
{ team.name }
|
<span className={unreadCount === 0 ? '' : 'teamTabItem-label'}>{team.name}</span>
|
||||||
{ ' ' }
|
{ ' ' }
|
||||||
{ badgeDiv }
|
{ badgeDiv }
|
||||||
{permissionOverlay}
|
{permissionOverlay}
|
||||||
</NavItem>);
|
</NavItem>);
|
||||||
}
|
|
||||||
return (
|
|
||||||
<NavItem
|
|
||||||
className='teamTabItem'
|
|
||||||
key={id}
|
|
||||||
id={id}
|
|
||||||
eventKey={index}
|
|
||||||
>
|
|
||||||
<b>{ team.name }</b>
|
|
||||||
{ ' ' }
|
|
||||||
{ badgeDiv }
|
|
||||||
</NavItem>);
|
|
||||||
});
|
});
|
||||||
if (this.props.showAddServerButton === true) {
|
if (this.props.showAddServerButton === true) {
|
||||||
tabs.push(
|
tabs.push(
|
||||||
|
|
|
@ -37,3 +37,7 @@
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.TabBar .teamTabItem-label {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue