UNPKG

@ywfe/materials-design

Version:
82 lines (80 loc) 3.67 kB
"use strict"; 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 _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 && {}.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 RuelsSetter = function RuelsSetter(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 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" }, /*#__PURE__*/_react["default"].createElement(_input["default"], { style: { width: '100%' }, value: value, onInput: function onInput(e) { if (!e.target.value) return; var rules = JSON.stringify(e.target.value); setValue(e.target.value); onChange(formatFieldVal(rules)); } })); }; RuelsSetter.defaultProps = { value: undefined, type: 'string', defaultValue: null, hasClear: true, onChange: function onChange() { return undefined; } }; var _default = exports["default"] = /*#__PURE__*/function (_Component) { function _default() { return _Component.apply(this, arguments) || this; } (0, _inheritsLoose2["default"])(_default, _Component); var _proto = _default.prototype; _proto.render = function render() { return /*#__PURE__*/_react["default"].createElement(RuelsSetter, this.props); }; return _default; }(_react.Component);