UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

74 lines (71 loc) 2.58 kB
import { useDataQuery } from "@dhis2/app-runtime"; import i18n from "@dhis2/d2-i18n"; import { DataTable, DataTableCell, DataTableColumnHeader, DataTableRow, TableBody, TableHead } from "@dhis2/ui"; import PropTypes from "prop-types"; import React, { useEffect } from "react"; import Error from "../../../../Shared/Componets/Error/ErrorAPIResult"; import Loader from "../../../../Shared/Componets/Loaders/Loader"; import CalculationDetailRow from "./Components/Row"; const query = { calculation: { resource: "indicators", id: _ref => { let { id } = _ref; return id; }, params: { fields: ["numerator", "denominator"] } } }; export default function CalculationDetails(_ref2) { let { id } = _ref2; const { loading, error, data, refetch } = useDataQuery(query, { variables: { id } }); useEffect(() => { refetch({ id }); }, [id]); if (loading) { return /*#__PURE__*/React.createElement(Loader, null); } if (error) { return /*#__PURE__*/React.createElement(Error, { error: error }); } const numDen = data.calculation; return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", null, " ", i18n.t("Calculation details")), /*#__PURE__*/React.createElement("p", null, " ", i18n.t("Below are expression computing numerator and denominator, and related sources"), " "), /*#__PURE__*/React.createElement(DataTable, null, /*#__PURE__*/React.createElement(TableHead, null, /*#__PURE__*/React.createElement(DataTableRow, null, /*#__PURE__*/React.createElement(DataTableColumnHeader, { bordered: true }, i18n.t("Expression")), /*#__PURE__*/React.createElement(DataTableColumnHeader, { bordered: true }, i18n.t("Formula")), /*#__PURE__*/React.createElement(DataTableColumnHeader, { bordered: true }, i18n.t("Sources")))), /*#__PURE__*/React.createElement(TableBody, null, /*#__PURE__*/React.createElement(DataTableRow, null, /*#__PURE__*/React.createElement(DataTableCell, { bordered: true }, i18n.t("Numerator")), /*#__PURE__*/React.createElement(CalculationDetailRow, { formula: numDen.numerator, location: "numerator" })), /*#__PURE__*/React.createElement(DataTableRow, null, /*#__PURE__*/React.createElement(DataTableCell, { bordered: true }, i18n.t("Denominator")), /*#__PURE__*/React.createElement(CalculationDetailRow, { formula: numDen.denominator, location: "denominator" }))))); } CalculationDetails.propTypes = { id: PropTypes.string.isRequired };