ze-react-component-library
Version:
ZeroETP React Component Library
128 lines (116 loc) • 3.82 kB
JavaScript
import "antd/es/tabs/style";
import _Tabs from "antd/es/tabs";
import "antd/es/typography/style";
import _Typography from "antd/es/typography";
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 React from "react";
import { useRequest } from "@umijs/hooks";
import { commonRequest, getIDProperty, getNameProperty } from "zeroetp-api-sdk";
import ZECard from "../../ZECard";
import ZEDescription from "../../ZEDescription";
import TableSummary from "../TableSummary";
var Title = _Typography.Title;
var Detail = function Detail(_a) {
var schema = _a.schema,
columnProperties = _a.columnProperties,
item = _a.item,
_b = _a.tableProps,
tableProps = _b === void 0 ? {} : _b,
_c = _a.showRefDetail,
showRefDetail = _c === void 0 ? true : _c;
var refSchemas = useRequest(function () {
return commonRequest("/schemas?properties.ref=" + schema._id + "&type=event");
}, {
initialData: [],
formatResult: function formatResult(res) {
return (res.schemas || []).filter(function (s) {
return s._id !== "dashboard";
}).map(function (s) {
return __assign(__assign({}, s), {
refProperty: s.properties.find(function (p) {
return p.ref === schema._id;
})
});
}).sort(function (a, b) {
return (a.order || 0) - (b.order || 0);
});
}
}).data;
var idProp = getIDProperty(schema);
var nameProp = getNameProperty(schema);
var showProp = nameProp || idProp;
var getQuery = function getQuery(refSchema) {
var query = {};
if (idProp) {
query[refSchema.refProperty.name + "_" + idProp.name] = item[idProp.name];
}
if (nameProp) {
// 为了在表格的筛选项上默认展示出来
query[refSchema.refProperty.name + "_" + nameProp.name] = item[nameProp.name];
}
return query;
};
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
style: {
maxHeight: 280,
flexShrink: 0,
overflow: "auto"
}
}, /*#__PURE__*/React.createElement(ZEDescription, {
schema: schema,
columnProperties: columnProperties,
item: item
})), refSchemas.length > 0 && showProp && item && /*#__PURE__*/React.createElement("div", {
style: {
marginTop: 20,
flex: 1,
minHeight: 0,
display: "flex",
flexDirection: "column"
}
}, /*#__PURE__*/React.createElement(Title, {
level: 5
}, "\u76F8\u5173\u6570\u636E"), /*#__PURE__*/React.createElement(_Tabs, {
className: "ze-card-detail-tabs",
destroyInactiveTabPane: true,
defaultActiveKey: refSchemas[0]._id,
items: refSchemas.map(function (refSchema) {
return {
label: refSchema.name,
key: refSchema._id,
children: /*#__PURE__*/React.createElement(React.Fragment, null, showRefDetail && /*#__PURE__*/React.createElement(ZECard, {
tableProps: __assign({
size: "small",
height: 300,
options: {
reload: false
}
}, tableProps),
showMainContentOnly: true,
logicform: {
schema: refSchema._id,
query: getQuery(refSchema)
}
}), !showRefDetail && /*#__PURE__*/React.createElement(TableSummary, {
logicform: {
schema: refSchema._id,
query: getQuery(refSchema)
},
schema: refSchema
}))
};
})
})));
};
export default Detail;