openreplay/frontend/app/components/hocs/withPermissions.js
Shekar Siri 941c6c06fd
Roles UI (#223)
* feat(ui) - roles and permissions

* feat(ui) - roles and permissions assist check

* feat(ui) - roles and permissions dev tools

* feat(ui) - roles and permissions logs

* feat(ui) - roles and permissions logs

* feat(ui) - roles and permissions cleanup
2021-11-27 03:27:33 +05:30

15 lines
No EOL
622 B
JavaScript

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