UNPKG

ze-react-component-library

Version:
186 lines (162 loc) 6.22 kB
"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("antd/lib/select/style"); var _select = _interopRequireDefault(require("antd/lib/select")); var _react = _interopRequireWildcard(require("react")); var _useLocale = _interopRequireDefault(require("../hooks/useLocale")); var _ValueHandler = _interopRequireDefault(require("./ValueHandler")); require("./ZEOperator.less"); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var __assign = void 0 && (void 0).__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); }; var operatorMap = { "=": { label: "等于", types: ["Number", "String", "Boolean"] }, $ne: { label: "不等于", types: ["Number", "String", "Boolean"] }, $in: { label: "等于任一个", types: ["String"] }, $nin: { label: "不等于任一个", types: ["String"] }, $contains: { label: "包含", types: ["String"] }, $gt: { label: "大于", types: ["Number", "Date", "Timestamp"] }, $gte: { label: "大于等于", types: ["Number", "Date", "Timestamp"] }, $lt: { label: "小于", types: ["Number", "Date", "Timestamp"] }, $lte: { label: "小于等于", types: ["Number", "Date", "Timestamp"] }, between: { label: "区间", types: ["Number", "Date", "Timestamp"] }, "is null": { label: "为空", types: ["Number", "Date", "Timestamp", "String", "Boolean"] }, "is not null": { label: "不为空", types: ["Number", "Date", "Timestamp", "String", "Boolean"] } }; var FormOperator = /*#__PURE__*/(0, _react.memo)(function (_a) { var type = _a.type, value = _a.value, initialValue = _a.initialValue, onChange = _a.onChange, operatorProps = _a.operatorProps, valueProps = _a.valueProps, disabled = _a.disabled, style = _a.style, _b = _a.className, className = _b === void 0 ? "" : _b; var _c = (0, _react.useState)(), operator = _c[0], setOperator = _c[1]; var _d = (0, _react.useState)(), innerValue = _d[0], setInnerValue = _d[1]; var t = (0, _useLocale.default)().t; var operatorOptions = ((operatorProps === null || operatorProps === void 0 ? void 0 : operatorProps.options) || Object.keys(operatorMap)).filter(function (f) { var _a, _b; return (_b = (_a = operatorMap[f]) === null || _a === void 0 ? void 0 : _a.types) === null || _b === void 0 ? void 0 : _b.includes(type); }).map(function (k) { var _a; return { label: (_a = operatorMap[k]) === null || _a === void 0 ? void 0 : _a.label, value: k }; }); var actualValue = value || { operator: operator, value: innerValue }; var actualChange = function actualChange(v) { setOperator(v.operator); setInnerValue(v.value); onChange === null || onChange === void 0 ? void 0 : onChange(v); }; (0, _react.useEffect)(function () { var _a; if (initialValue && !value) { actualChange(initialValue); } else if (!value) { actualChange({ operator: ((_a = operatorOptions[0]) === null || _a === void 0 ? void 0 : _a.value) || "=", value: undefined }); } }, []); return /*#__PURE__*/_react.default.createElement("div", { className: ["form-operator", className].join(" "), style: style }, /*#__PURE__*/_react.default.createElement(_select.default, __assign({}, operatorProps, { disabled: disabled, value: actualValue.operator, onChange: function onChange(v) { actualChange({ value: undefined, operator: v }); }, dropdownMatchSelectWidth: false, options: operatorOptions.map(function (d) { return __assign(__assign({}, d), { label: t(d.label) }); }) })), actualValue.operator && /*#__PURE__*/_react.default.createElement("div", { className: "form-operator-value-handler" }, /*#__PURE__*/_react.default.createElement(_ValueHandler.default, { type: type, operator: actualValue.operator, valueProps: __assign(__assign({}, valueProps), { disabled: disabled }), value: actualValue.value, onChange: function onChange(v) { actualChange({ value: v, operator: actualValue.operator }); } }))); }); var _default = FormOperator; exports.default = _default;