@talend/react-containers
Version:
Provide connected components aka containers for @talend/react-cmf based on @talend/react-components.
40 lines (39 loc) • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = withNameResolver;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactForms = _interopRequireDefault(require("@talend/react-forms"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function withNameResolver(WrappedComponent) {
function NameResolver(props) {
function resolveName(value) {
// create schema to get entry name from internal properties
const key = Array.from(props.schema.key);
key[key.length - 1] = `$${key[key.length - 1]}_name`;
const nameSchema = {
...props.schema,
key
};
const {
getValue
} = _reactForms.default.UIForm.utils.properties;
return getValue(props.properties, nameSchema) || value;
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
...props,
resolveName: resolveName
});
}
NameResolver.displayName = `NameResolver(${WrappedComponent.displayName})`;
NameResolver.propTypes = {
properties: _propTypes.default.object,
schema: _propTypes.default.shape({
key: _propTypes.default.array
})
};
return NameResolver;
}
//# sourceMappingURL=NameResolver.component.js.map