ra-core
Version:
Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React
27 lines • 1.04 kB
JavaScript
import { useCallback } from 'react';
import { useTranslate } from "./useTranslate.js";
import { getFieldLabelTranslationArgs } from "../util/index.js";
import { useResourceContext, useOptionalSourceContext } from "../core/index.js";
export const useTranslateLabel = () => {
const translate = useTranslate();
const resourceFromContext = useResourceContext();
const sourceContext = useOptionalSourceContext();
return useCallback(({ source, label, resource, }) => {
if (label === false || label === '') {
return null;
}
if (label && typeof label !== 'string') {
return label;
}
return translate(...getFieldLabelTranslationArgs({
label: label,
defaultLabel: source
? sourceContext?.getLabel(source)
: undefined,
resource,
resourceFromContext,
source,
}));
}, [resourceFromContext, translate, sourceContext]);
};
//# sourceMappingURL=useTranslateLabel.js.map