ze-react-component-library
Version:
ZeroETP React Component Library
61 lines (54 loc) • 2.03 kB
JavaScript
import React from "react";
import { isSimpleQuery } from "zeroetp-api-sdk";
import StatisticForValue from "../StatisticForValue";
import { useRequest } from "@umijs/hooks";
import { requestLogicform } from "../../request";
import "./index.less";
var TableSummary = function TableSummary(_a) {
var _b, _c, _d, _e, _f, _g;
var logicform = _a.logicform,
schema = _a.schema;
var measurements = [];
if (schema) {
if ((_d = (_c = (_b = schema.modality) === null || _b === void 0 ? void 0 : _b.list) === null || _c === void 0 ? void 0 : _c.config) === null || _d === void 0 ? void 0 : _d.summary) {
measurements = (_g = (_f = (_e = schema.modality) === null || _e === void 0 ? void 0 : _e.list) === null || _f === void 0 ? void 0 : _f.config) === null || _g === void 0 ? void 0 : _g.summary;
} else {
measurements = schema.properties.filter(function (p) {
return p.primal_type === "number" && p.is_additive !== false;
}).map(function (p) {
return {
operator: "$sum",
pred: p.name
};
});
}
}
var data = useRequest(function () {
if (!schema || !logicform) return Promise.resolve(null);
if (schema.type !== "event") return Promise.resolve(null);
if (!isSimpleQuery(logicform)) return Promise.resolve(null);
return requestLogicform({
query: logicform.query,
schema: schema._id,
preds: measurements
});
}, {
refreshDeps: [schema]
}).data;
if (!data) {
return null;
}
return /*#__PURE__*/React.createElement("div", {
className: "ze-table-summary ze-value-items"
}, data.columnProperties.map(function (property, i) {
return /*#__PURE__*/React.createElement("div", {
key: property.name,
className: "ze-value-item " + (i === 0 ? "ze-value-item-highlight" : "")
}, /*#__PURE__*/React.createElement(StatisticForValue, {
property: property,
title: property.name,
value: data.result[0][property.name]
}));
}));
};
export default TableSummary;