22 lines
No EOL
781 B
JavaScript
22 lines
No EOL
781 B
JavaScript
import React from 'react';
|
|
import { connect } from 'react-redux';
|
|
import { NoPermission, NoSessionPermission } from 'UI';
|
|
|
|
export default (requiredPermissions, className, isReplay = false) => BaseComponent =>
|
|
@connect((state, props) => ({
|
|
permissions: state.getIn([ 'user', 'account', 'permissions' ]) || [],
|
|
isEnterprise: state.getIn([ 'user', 'account', 'edition' ]) === 'ee',
|
|
}))
|
|
class extends React.PureComponent {
|
|
render() {
|
|
const hasPermission = requiredPermissions.every(permission => this.props.permissions.includes(permission));
|
|
|
|
return (
|
|
(!this.props.isEnterprise || hasPermission) ?
|
|
<BaseComponent {...this.props} /> :
|
|
<div className={className}>
|
|
{ isReplay ? <NoSessionPermission /> : <NoPermission /> }
|
|
</div>
|
|
)
|
|
}
|
|
} |