ze-react-component-library
Version:
ZeroETP React Component Library
69 lines (64 loc) • 2.53 kB
JavaScript
import "antd/es/button/style";
import _Button from "antd/es/button";
import "antd/es/typography/style";
import _Typography from "antd/es/typography";
import React from "react";
import { getIDProperty } from "zeroetp-api-sdk";
import ZECard from ".";
import stringify from "fast-json-stable-stringify";
var MultiEntitySelector = function MultiEntitySelector(_a) {
var logicform = _a.logicform,
errorLogicform = _a.errorLogicform,
onSelectEntity = _a.onSelectEntity;
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Typography, null, /*#__PURE__*/React.createElement(_Typography.Title, {
level: 5
}, "\u627E\u5230\u591A\u4E2A\u540C\u540D\u5B9E\u4F53\uFF0C\u8BF7\u9009\u62E9\u4E00\u4E2A")), /*#__PURE__*/React.createElement(ZECard, {
logicform: {
query: errorLogicform.logicform.query || {},
schema: errorLogicform.schema._id
},
showMainContentOnly: true,
tableProps: {
additionalColumns: [{
title: "操作",
width: 100,
fixed: "right",
render: function render(_text, record) {
return /*#__PURE__*/React.createElement(_Button, {
type: "primary",
onClick: function onClick() {
// 找到对应的logicform,改掉
var fixedLF = JSON.parse(JSON.stringify(logicform));
var traverseQuery = function traverseQuery(LF) {
if (LF.query) {
Object.entries(LF.query).forEach(function (_a) {
var k = _a[0],
v = _a[1];
if (v.schema) {
if (v.entity_id && stringify({
query: v.query,
schema: v.schema
}) === stringify({
query: errorLogicform.logicform.query,
schema: errorLogicform.schema._id
})) {
var idProp = getIDProperty(errorLogicform.schema);
LF.query[k].query[idProp.name] = record._id;
delete LF.query[k].entity_id;
} else {
traverseQuery(v);
}
}
});
}
};
traverseQuery(fixedLF);
onSelectEntity(fixedLF);
}
}, "\u9009\u62E9\u8FD9\u4E2A");
}
}]
}
}));
};
export default MultiEntitySelector;