ra-core
Version:
Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React
31 lines • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useTranslateLabel = void 0;
const react_1 = require("react");
const useTranslate_1 = require("./useTranslate.cjs");
const util_1 = require("../util/index.cjs");
const core_1 = require("../core/index.cjs");
const useTranslateLabel = () => {
const translate = (0, useTranslate_1.useTranslate)();
const resourceFromContext = (0, core_1.useResourceContext)();
const sourceContext = (0, core_1.useOptionalSourceContext)();
return (0, react_1.useCallback)(({ source, label, resource, }) => {
if (label === false || label === '') {
return null;
}
if (label && typeof label !== 'string') {
return label;
}
return translate(...(0, util_1.getFieldLabelTranslationArgs)({
label: label,
defaultLabel: source
? sourceContext?.getLabel(source)
: undefined,
resource,
resourceFromContext,
source,
}));
}, [resourceFromContext, translate, sourceContext]);
};
exports.useTranslateLabel = useTranslateLabel;
//# sourceMappingURL=useTranslateLabel.js.map