Files
bigcapital/src/hooks/utils/useAbilityContext.js
2021-11-26 19:37:36 +02:00

22 lines
474 B
JavaScript

import React from 'react';
import { useAbility } from '@casl/react';
import { AbilityContext } from '../../components';
export const useAbilityContext = () => useAbility(AbilityContext);
/**
*
*/
export const useAbilitiesFilter = () => {
const ability = useAbilityContext();
return React.useCallback(
(items) => {
return items.filter((item) =>
ability.can(item.permission.ability, item.permission.subject),
);
},
[ability],
);
};