@ywfe/materials-design
Version:
YwDesign for lowcode
99 lines (97 loc) • 4.17 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _input = _interopRequireDefault(require("@alifd/next/lib/input"));
var _select = _interopRequireDefault(require("@alifd/next/lib/select"));
var _react = _interopRequireWildcard(require("react"));
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
// 根据指定字段获取数据
// const tempPlaceHolder = '${rule}';
var tempPlaceHolderReg = /\$\{rule\}/g;
var valueReg = /\{"var":".*"\}/g;
var defaultTempFunc = 'this.appHelper?.utils?.jsonLogic(${rule},${data})';
var defaultTempHolderReg = /\$\{data\}/g;
var FieldSetter = function FieldSetter(props) {
var _onChange = props.onChange,
field = props.field,
data = props.data,
template = props.template,
_props$defaultField = props.defaultField,
defaultField = _props$defaultField === void 0 ? '' : _props$defaultField;
var _template = template || defaultTempFunc.replace(defaultTempHolderReg, data.value);
var formatDefaultSetterVal = function formatDefaultSetterVal() {
var defaultValue = field.parent.getPropValue(field.name);
if (defaultValue !== null && defaultValue !== void 0 && defaultValue.value) {
var matchData = defaultValue.value.match(valueReg);
console.log(JSON.parse(matchData[0])["var"]);
if (matchData && matchData.length) {
return JSON.parse(matchData[0])["var"] || defaultField;
}
}
return defaultField;
};
var _useState = (0, _react.useState)(formatDefaultSetterVal()),
value = _useState[0],
setValue = _useState[1];
var items = [];
var formatFieldVal = function formatFieldVal(rule) {
var func = _template.replace(tempPlaceHolderReg, JSON.stringify(rule));
return {
type: 'JSExpression',
value: func
};
};
return /*#__PURE__*/_react["default"].createElement("div", {
className: "lc-field-setter"
}, items !== null && items !== void 0 && items.length ? /*#__PURE__*/_react["default"].createElement(_select["default"], {
value: value,
style: {
width: '100%'
},
placeholder: "\u8BF7\u9009\u62E9\u5B57\u6BB5",
dataSource: items,
onChange: function onChange(val) {
if (!val) return;
var rules = {
"var": val
};
_onChange(formatFieldVal(rules));
}
}) : /*#__PURE__*/_react["default"].createElement(_input["default"], {
style: {
width: '100%'
},
value: value,
onInput: function onInput(e) {
if (!e.target.value) return;
var rules = {
"var": e.target.value
};
setValue(e.target.value);
_onChange(formatFieldVal(rules));
}
}));
};
FieldSetter.defaultProps = {
value: undefined,
type: 'string',
defaultValue: null,
hasClear: true,
onChange: function onChange() {
return undefined;
}
};
var _default = exports["default"] = /*#__PURE__*/function (_Component) {
(0, _inheritsLoose2["default"])(_default, _Component);
function _default() {
return _Component.apply(this, arguments) || this;
}
var _proto = _default.prototype;
_proto.render = function render() {
return /*#__PURE__*/_react["default"].createElement(FieldSetter, this.props);
};
return _default;
}(_react.Component);