Files
bigcapital/src/components/Can.js
2021-11-23 16:51:40 +02:00

30 lines
686 B
JavaScript

import React from 'react';
import { Ability } from '@casl/ability';
import { createContextualCan } from '@casl/react';
import {
ItemAbility,
AbilitySubject,
InventoryAdjustment,
} from '../common/abilityOption';
export const AbilityContext = React.createContext();
export const Can = createContextualCan(AbilityContext.Consumer);
const AbilityContextProvider = (props) => {
const ability = new Ability([
{
subject: [AbilitySubject.Item],
action: [ItemAbility.Create, ItemAbility.Edit],
},
]);
return (
<AbilityContext.Provider value={ability}>
{props.children}
</AbilityContext.Provider>
);
};
export default AbilityContextProvider;