mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-20 06:40:31 +00:00
22 lines
474 B
JavaScript
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],
|
|
);
|
|
};
|
|
|