ze-react-component-library
Version:
ZeroETP React Component Library
234 lines (191 loc) • 8.89 kB
JavaScript
;
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;