UNPKG

ze-react-component-library

Version:
234 lines (191 loc) 8.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.ObjectArrayFormRenderItem = exports.ObjectFormRenderItem = void 0; require("antd/lib/button/style"); var _button = _interopRequireDefault(require("antd/lib/button")); require("antd/lib/select/style"); var _select = _interopRequireDefault(require("antd/lib/select")); require("antd/lib/auto-complete/style"); var _autoComplete = _interopRequireDefault(require("antd/lib/auto-complete")); var _react = _interopRequireWildcard(require("react")); var _zeroetpApiSdk = require("zeroetp-api-sdk"); var _hooks = require("@umijs/hooks"); var _request = require("../../request"); require("./index.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 }; } 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); } 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 __spreadArray = void 0 && (void 0).__spreadArray || function (to, from) { for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) { to[j] = from[i]; } return to; }; // 不带Hierarchy的,渲染object类型的 var ObjectFormRenderItem = /*#__PURE__*/(0, _react.memo)(function (_a) { var _b; var schema = _a.schema, props = _a.props, queryProperty = _a.queryProperty, groupby = _a.groupby, _c = _a.type, type = _c === void 0 ? "select" : _c, hideIdInLabel = _a.hideIdInLabel, showTotal = _a.showTotal; var _d = (0, _react.useState)(), search = _d[0], setSearch = _d[1]; var data = (0, _hooks.useRequest)(function () { var _a; // console.log(props); var limit = 20; var query = __assign({}, (_a = props === null || props === void 0 ? void 0 : props.fieldProps) === null || _a === void 0 ? void 0 : _a.query); if (search) { query[queryProperty.name] = { $contains: search }; limit = 100; } return (0, _request.requestLogicform)({ schema: schema._id, groupby: groupby, query: query, limit: limit }); }, { formatResult: function formatResult(res) { return res ? res.result : []; }, initialData: [], refreshDeps: [search] }).data; var optionsData = data.map(function (i) { return __assign(__assign({}, i), { value: i._id, label: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, i[queryProperty.name], !hideIdInLabel && "\uFF08" + i._id + "\uFF09") }); }); if (showTotal) { optionsData = __spreadArray([{ value: "全部", label: "全部" }], optionsData); } if (type === "autocomplete") { return /*#__PURE__*/_react.default.createElement(_autoComplete.default, __assign({ showSearch: true, defaultActiveFirstOption: false, showArrow: false, filterOption: false, onSearch: setSearch, placeholder: "\u8BF7\u8F93\u5165", allowClear: true, dropdownMatchSelectWidth: false }, props === null || props === void 0 ? void 0 : props.fieldProps, { options: optionsData })); } return /*#__PURE__*/_react.default.createElement(_select.default, __assign({ showSearch: true, defaultActiveFirstOption: false, showArrow: false, filterOption: false, onSearch: setSearch, placeholder: "\u8BF7\u9009\u62E9", allowClear: true, dropdownMatchSelectWidth: false }, props === null || props === void 0 ? void 0 : props.fieldProps, { labelInValue: true, options: optionsData, value: ((_b = props === null || props === void 0 ? void 0 : props.fieldProps) === null || _b === void 0 ? void 0 : _b.value) ? optionsData.find(function (d) { var _a, _b, _c; return _typeof((_a = props === null || props === void 0 ? void 0 : props.fieldProps) === null || _a === void 0 ? void 0 : _a.value) === "object" ? ((_b = props === null || props === void 0 ? void 0 : props.fieldProps) === null || _b === void 0 ? void 0 : _b.value._id) === d.value : ((_c = props === null || props === void 0 ? void 0 : props.fieldProps) === null || _c === void 0 ? void 0 : _c.value) === d.value; }) : undefined, onChange: function onChange(v) { var _a, _b; var value = v === null || v === void 0 ? void 0 : v.value; var isTotal = (v === null || v === void 0 ? void 0 : v.value) === "全部"; // 为了便于前端显示,这里需要返回整个object。 var entity = data.find(function (i) { return i._id === value; }); (_b = (_a = props === null || props === void 0 ? void 0 : props.fieldProps) === null || _a === void 0 ? void 0 : _a.onChange) === null || _b === void 0 ? void 0 : _b.call(_a, isTotal ? v : entity); } })); }); exports.ObjectFormRenderItem = ObjectFormRenderItem; var ObjectArrayFormRenderItem = /*#__PURE__*/(0, _react.memo)(function (_a) { var schema = _a.schema, props = _a.props; var _b = (props === null || props === void 0 ? void 0 : props.fieldProps) || {}, _c = _b.value, value = _c === void 0 ? [] : _c, onChange = _b.onChange; var onItemChange = function onItemChange(v, index) { var newValue = __spreadArray([], value); newValue[index] = v; onChange === null || onChange === void 0 ? void 0 : onChange(newValue); }; var onItemDelete = function onItemDelete(index) { var newValue = value === null || value === void 0 ? void 0 : value.filter(function (d, i) { return index !== i; }); onChange === null || onChange === void 0 ? void 0 : onChange(newValue); }; var onItemCreate = function onItemCreate() { onChange === null || onChange === void 0 ? void 0 : onChange(__spreadArray(__spreadArray([], value), [undefined])); }; return /*#__PURE__*/_react.default.createElement("div", { className: "ze-object-field-item" }, value === null || value === void 0 ? void 0 : value.map(function (d, i) { return /*#__PURE__*/_react.default.createElement("div", { key: i, style: { display: "flex", alignItems: "center", marginBottom: 12 } }, /*#__PURE__*/_react.default.createElement(ObjectFormRenderItem, { schema: schema, queryProperty: (0, _zeroetpApiSdk.getNameProperty)(schema), props: __assign(__assign({}, props), { fieldProps: __assign(__assign({}, props === null || props === void 0 ? void 0 : props.fieldProps), { value: d, onChange: function onChange(v) { // console.log(v); onItemChange(v, i); } }) }) }), /*#__PURE__*/_react.default.createElement(_button.default, { size: "small", type: "link", danger: true, onClick: function onClick() { onItemDelete(i); } }, "\u5220\u9664")); }), /*#__PURE__*/_react.default.createElement(_button.default, { type: "dashed", style: { width: "100%" }, onClick: onItemCreate }, "\u65B0\u589E")); }); exports.ObjectArrayFormRenderItem = ObjectArrayFormRenderItem; var _default = ObjectFormRenderItem; exports.default = _default;