Package Exports
- @brainhubeu/react-permissible
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@brainhubeu/react-permissible) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
react-permissible
Making the permission management for React components easier.
react-permissible is a React Component allowing to:
- manage visibility of particular components depending on users permissions
- replace particular component when the user isn't permitted to see it
- manage accessability to particular view depending on users permissions
- fire a callback when the user isn't allowed to go to access the component/route
Why?
Currently there's no permission management in React. The existing components are either over-engineered (full ACL support etc.), or limited to role-based management. react-permissible is simple at its core and solves only one problem. Access the Component if the permissions match, do something otherwise.
Live demo/ docs
You can access live demo/ docs at https://brainhubeu.github.io/react-permissible/.
Installation
npm i @brainhubeu/react-permissibleUsage
import { PermissibleRender } from '@brainhubeu/react-permissible';
...
render() {
  return (
    <PermissibleRender
      userPermissions={permissions}
      requiredPermissions={requiredPermissions}
    >
      <RestrictedComponent/>
    </PermissibleRender>
  );
}Where:
- userPermissionsis an array of permissions set for current user
- requiredPermissionsis an array of required permissions
More detailed documentation with several use cases covered is available here.
Running tests
npm testRoadmap
- Passing a callback function as a prop for PermissibleRendercomponent
License
React-permissible is copyright © 2017-2020 Brainhub It is free software, and may be redistributed under the terms specified in the license.
About
react-permissible is maintained by @kkoscielniak, @adam-golab, @Lukasz-pluszczewski and the Brainhub development team. It is funded by Brainhub and the names and logos for Brainhub are trademarks of Brainhub Sp. z o.o.. You can check other open-source projects supported/developed by our teammates here. 
We love open-source JavaScript software! See our other projects or hire us to build your next web, desktop and mobile application with JavaScript.