UNPKG

strapi-plugin-content-manager

Version:

A powerful UI to easily manage your data.

46 lines (36 loc) 1.16 kB
import { useMemo } from 'react'; import { useContentManagerEditViewDataManager } from 'strapi-helper-plugin'; function useSelect({ isUserAllowedToEditField, isUserAllowedToReadField, name }) { const { isCreatingEntry, createActionAllowedFields, readActionAllowedFields, updateActionAllowedFields, } = useContentManagerEditViewDataManager(); const isFieldAllowed = useMemo(() => { if (isUserAllowedToEditField === true) { return true; } const allowedFields = isCreatingEntry ? createActionAllowedFields : updateActionAllowedFields; return allowedFields.includes(name); }, [ isCreatingEntry, createActionAllowedFields, name, isUserAllowedToEditField, updateActionAllowedFields, ]); const isFieldReadable = useMemo(() => { if (isUserAllowedToReadField) { return true; } const allowedFields = isCreatingEntry ? [] : readActionAllowedFields; return allowedFields.includes(name); }, [isCreatingEntry, isUserAllowedToReadField, name, readActionAllowedFields]); return { isCreatingEntry, isFieldAllowed, isFieldReadable, }; } export default useSelect;