@aliretail/react-materials-components
Version:
81 lines (66 loc) • 2.52 kB
JavaScript
import { PreviewText } from "./PreviewText";
export var mapStyledProps = function mapStyledProps(props, fieldProps) {
var loading = fieldProps.loading,
errors = fieldProps.errors,
warnings = fieldProps.warnings;
if (loading) {
props.state = props.state || 'loading';
} else if (errors && errors.length) {
props.state = 'error';
} else if (warnings && warnings.length) {
props.state = 'warning';
}
if (fieldProps.props.disabled) {
props.disabled = true;
}
};
export var compose = function compose() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return function (payload) {
for (var _len2 = arguments.length, extra = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
extra[_key2 - 1] = arguments[_key2];
}
return args.reduce(function (buf, fn) {
return buf !== undefined ? fn.apply(void 0, [buf].concat(extra)) : fn.apply(void 0, [payload].concat(extra));
}, payload);
};
}; // 当组件自己没有 readOnly 展示
export var mapTextComponent = function mapTextComponent(Target, props, fieldProps) {
if (fieldProps === void 0) {
fieldProps = {};
}
var _fieldProps = fieldProps,
editable = _fieldProps.editable;
if (editable !== undefined) {
if (editable === false) {
var _props$xComponentPr;
// 进入到预览态
// 如果 props 中有 readOnlyRender,使用 readOnlyRender 的展示,否则使用 PreviewText
if ((_props$xComponentPr = props['x-component-props']) !== null && _props$xComponentPr !== void 0 && _props$xComponentPr.readOnlyRender) {
return props['x-component-props'].readOnlyRender;
}
return PreviewText;
}
}
return Target;
}; // 当组件自己有 readOnly 展示
export var mapCustomComponent = function mapCustomComponent(Target, props, fieldProps) {
if (fieldProps === void 0) {
fieldProps = {};
}
var _fieldProps2 = fieldProps,
editable = _fieldProps2.editable;
if (editable !== undefined) {
if (editable === false) {
var _props$xComponentPr2;
// 进入到预览态
// 如果 props 中有 readOnlyRender,使用 readOnlyRender 的展示
if ((_props$xComponentPr2 = props['x-component-props']) !== null && _props$xComponentPr2 !== void 0 && _props$xComponentPr2.readOnlyRender) {
return props['x-component-props'].readOnlyRender;
}
}
}
return Target;
};