UNPKG

ze-react-component-library

Version:
159 lines (144 loc) 4.99 kB
import "antd/es/date-picker/style"; import _DatePicker from "antd/es/date-picker"; import "antd/es/auto-complete/style"; import _AutoComplete from "antd/es/auto-complete"; import "antd/es/select/style"; import _Select from "antd/es/select"; import "antd/es/input-number/style"; import _InputNumber from "antd/es/input-number"; var __assign = this && this.__assign || function () { __assign = Object.assign || function (t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) { if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } } return t; }; return __assign.apply(this, arguments); }; import moment from "moment"; import React, { memo } from "react"; var ValueHandler = /*#__PURE__*/memo(function (_a) { var type = _a.type, operator = _a.operator, valueProps = _a.valueProps, _onChange = _a.onChange, value = _a.value, tip = _a.tip; if (operator === "is not null" || operator === "is null") { return null; } if (type === "Number") { if (operator === "between") { var startValue_1 = value === null || value === void 0 ? void 0 : value[0]; var endValue_1 = value === null || value === void 0 ? void 0 : value[1]; return /*#__PURE__*/React.createElement("div", { className: "form-operator-value-handler-inner-wrapper" }, tip, /*#__PURE__*/React.createElement(_InputNumber, __assign({ placeholder: "\u6700\u5C0F\u503C" }, valueProps, { value: startValue_1, max: endValue_1, onChange: function onChange(v) { _onChange([v, endValue_1]); } })), /*#__PURE__*/React.createElement("span", null, "~"), /*#__PURE__*/React.createElement(_InputNumber, __assign({ placeholder: "\u6700\u5927\u503C" }, valueProps, { value: endValue_1, min: startValue_1, onChange: function onChange(v) { _onChange([startValue_1, v]); } }))); } return /*#__PURE__*/React.createElement(React.Fragment, null, tip, /*#__PURE__*/React.createElement(_InputNumber, __assign({ placeholder: "\u8BF7\u8F93\u5165" }, valueProps, { value: value, onChange: function onChange(v) { _onChange(v); } }))); } if (type === "String") { if (operator && ["$in"].includes(operator)) { return /*#__PURE__*/React.createElement(React.Fragment, null, tip, /*#__PURE__*/React.createElement(_Select, __assign({ placeholder: "请选择或输入后回车", style: { minWidth: 160 } }, valueProps, { mode: "tags", value: value, onChange: function onChange(v) { _onChange(v); } }))); } return /*#__PURE__*/React.createElement(React.Fragment, null, tip, /*#__PURE__*/React.createElement(_AutoComplete, { placeholder: "\u8BF7\u8F93\u5165", style: { minWidth: 100 }, options: valueProps === null || valueProps === void 0 ? void 0 : valueProps.options, dropdownMatchSelectWidth: false, value: value, onChange: function onChange(v) { _onChange(v); } })); } if (type === "Boolean") { return /*#__PURE__*/React.createElement(React.Fragment, null, tip, /*#__PURE__*/React.createElement(_Select, __assign({ placeholder: "\u8BF7\u9009\u62E9" }, valueProps, { options: [{ label: "是", value: true }, { label: "否", value: false }], value: value, onChange: function onChange(v) { _onChange(v); } }))); } if (type === "Date" || type === "Timestamp") { var props = valueProps || {}; var _b = props.format, format_1 = _b === void 0 ? "YYYY-MM-DD" : _b; if (operator === "between") { return /*#__PURE__*/React.createElement(React.Fragment, null, tip, /*#__PURE__*/React.createElement(_DatePicker.RangePicker, __assign({ placeholder: ["开始时间", "结束时间"] }, valueProps, { allowClear: false, value: value instanceof Array ? value.map(function (v) { return v ? moment(v, format_1) : undefined; }) : undefined, onChange: function onChange(v) { if (v instanceof Array) { _onChange(v.map(function (m) { return m === null || m === void 0 ? void 0 : m.format(format_1); })); } } }))); } return /*#__PURE__*/React.createElement(React.Fragment, null, tip, /*#__PURE__*/React.createElement(_DatePicker, __assign({ placeholder: "\u8BF7\u9009\u62E9" }, valueProps, { allowClear: false, value: typeof value === "string" ? moment(value, format_1) : undefined, onChange: function onChange(v) { _onChange(v === null || v === void 0 ? void 0 : v.format(format_1)); } }))); } return null; }); export default ValueHandler;