UNPKG

ra-core

Version:

Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React

43 lines (37 loc) 1.17 kB
import { useCallback, ReactElement } from 'react'; import { useTranslate } from './useTranslate'; import { useLabelPrefix, getFieldLabelTranslationArgs } from '../util'; import { useResourceContext } from '../core'; export const useTranslateLabel = () => { const translate = useTranslate(); const prefix = useLabelPrefix(); const resourceFromContext = useResourceContext(); return useCallback( ({ source, label, resource, }: { source?: string; label?: string | false | ReactElement; resource?: string; }) => { if (label === false || label === '') { return null; } if (label && typeof label !== 'string') { return label; } return translate( ...getFieldLabelTranslationArgs({ label: label as string, prefix, resource, resourceFromContext, source, }) ); }, [prefix, resourceFromContext, translate] ); };