UNPKG

@wufengteam/inputs

Version:

平台提供的右侧属性编辑器,需要在主工程中注册

134 lines 5.02 kB
// @ts-ignore import React, { useEffect } from 'react'; import { Form, Checkbox as AntdCheckbox, Row, InputNumber, Space, Typography } from 'antd'; var Group = AntdCheckbox.Group; var Text = Typography.Text; var InnerCheck = function InnerCheck(_ref) { var value = _ref.value, onChange = _ref.onChange, options = _ref.options, showInputKey = _ref.showInputKey, showFileNumKey = _ref.showFileNumKey, showFileSizeKey = _ref.showFileSizeKey, minMinValue = _ref.minMinValue, minDefaultValue = _ref.minDefaultValue, maxDefaultValue = _ref.maxDefaultValue; var innerOnChange = function innerOnChange(changeValue) { if (onChange) { var newValue = Object.assign(Object.assign({}, value), changeValue); var checkedValue = newValue.checkedValue || []; if (showFileNumKey && checkedValue.indexOf(showFileNumKey) === -1) { delete newValue[showFileNumKey]; } if (showFileSizeKey && checkedValue.indexOf(showFileSizeKey) === -1) { delete newValue[showFileSizeKey]; } if (showInputKey && checkedValue.indexOf(showInputKey) === -1) { delete newValue.minNum; delete newValue.maxNum; } onChange(newValue); } }; useEffect(function () { if (!value && (minDefaultValue || maxDefaultValue)) { innerOnChange({ minNum: minDefaultValue, maxNum: maxDefaultValue }); } // eslint-disable-next-line react-hooks/exhaustive-deps }, [minDefaultValue, maxDefaultValue]); return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Group, { value: value === null || value === void 0 ? void 0 : value.checkedValue, onChange: function onChange(checkValue) { innerOnChange({ checkedValue: checkValue }); } }, options.map(function (item) { var optionLabel = item.label, optionValue = item.value; return /*#__PURE__*/React.createElement(Row, { key: optionLabel }, /*#__PURE__*/React.createElement(AntdCheckbox, { value: optionValue }, optionLabel), optionValue === showInputKey && ((value === null || value === void 0 ? void 0 : value.checkedValue) || []).indexOf("".concat(showInputKey)) !== -1 && ( /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(InputNumber, { value: value === null || value === void 0 ? void 0 : value.minNum, min: minMinValue, onChange: function onChange(num) { innerOnChange({ minNum: num }); }, placeholder: "\u6700\u5C0F", style: { width: '35%', marginRight: 5 } }), "~", /*#__PURE__*/React.createElement(InputNumber, { value: value === null || value === void 0 ? void 0 : value.maxNum, onChange: function onChange(num) { innerOnChange({ maxNum: num }); }, placeholder: "\u6700\u5927", style: { width: '35%', marginLeft: 5 } }))), optionValue === showFileNumKey && ((value === null || value === void 0 ? void 0 : value.checkedValue) || []).indexOf("".concat(showFileNumKey)) !== -1 && ( /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(InputNumber, { value: value === null || value === void 0 ? void 0 : value.limitFileNum, onChange: function onChange(fileNum) { innerOnChange({ limitFileNum: fileNum }); }, precision: 0, style: { width: '50%' }, min: 0 }))), optionValue === showFileSizeKey && ((value === null || value === void 0 ? void 0 : value.checkedValue) || []).indexOf("".concat(showFileSizeKey)) !== -1 && ( /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Space, { align: "center", style: { width: '50%' } }, /*#__PURE__*/React.createElement(InputNumber, { min: 0, value: value === null || value === void 0 ? void 0 : value.limitFileSize, onChange: function onChange(e) { innerOnChange({ limitFileSize: e }); } }), /*#__PURE__*/React.createElement(Text, null, "MB"))))); }))); }; var VerifyNumberValue = function VerifyNumberValue(_ref2) { var name = _ref2.name, label = _ref2.label, rules = _ref2.rules, options = _ref2.options, showInputKey = _ref2.showInputKey, showFileNumKey = _ref2.showFileNumKey, showFileSizeKey = _ref2.showFileSizeKey, minMinValue = _ref2.minMinValue, minDefaultValue = _ref2.minDefaultValue, maxDefaultValue = _ref2.maxDefaultValue; return /*#__PURE__*/React.createElement(Form.Item, { name: name, label: label, rules: rules }, /*#__PURE__*/React.createElement(InnerCheck, { options: options, showInputKey: showInputKey, showFileNumKey: showFileNumKey, showFileSizeKey: showFileSizeKey, minDefaultValue: minDefaultValue, minMinValue: minMinValue, maxDefaultValue: maxDefaultValue })); }; export default VerifyNumberValue;