UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

97 lines (93 loc) 3.86 kB
import { useDataQuery } from "@dhis2/app-runtime"; import i18n from "@dhis2/d2-i18n"; 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 { lowerCaseAllWordsExceptFirstLetters } from "../../../../Utils/Functions/FormulaFunctions"; const query = { sources: { resource: "dataElements", id: _ref => { let { id } = _ref; return id; }, params: { fields: ["valueType"] } }, expressionMatch: { resource: "validationRules", params: _ref2 => { let { id } = _ref2; return { fields: ["id"], filter: ["leftSide.expression:like:".concat(id), "rightSide.expression:like:".concat(id)], rootJunction: "OR" }; } }, numeratorMatch: { resource: "indicators", params: _ref3 => { let { id } = _ref3; return { fields: ["id"], filter: ["numerator:like:".concat(id)] }; } }, denominatorMatch: { resource: "indicators", params: _ref4 => { let { id } = _ref4; return { fields: ["id"], filter: ["denominator:like:".concat(id)] }; } } }; export default function Facts(_ref5) { var _lowerCaseAllWordsExc, _data$sources, _data$expressionMatch, _data$expressionMatch2, _data$numeratorMatch, _data$numeratorMatch$, _data$denominatorMatc, _data$denominatorMatc2; let { id } = _ref5; const { loading, error, data, refetch } = useDataQuery(query, { variables: { id } }); useEffect(() => { refetch({ id }); }, [id]); if (loading) { return /*#__PURE__*/React.createElement(Loader, { text: "" }); } if (error) { return /*#__PURE__*/React.createElement(Error, { error: error }); } return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", null, " ", i18n.t("Data element Facts"), " "), /*#__PURE__*/React.createElement("ul", null, /*#__PURE__*/React.createElement("li", null, i18n.t("Accepts only"), " ", (_lowerCaseAllWordsExc = lowerCaseAllWordsExceptFirstLetters(data === null || data === void 0 ? void 0 : (_data$sources = data.sources) === null || _data$sources === void 0 ? void 0 : _data$sources.valueType)) === null || _lowerCaseAllWordsExc === void 0 ? void 0 : _lowerCaseAllWordsExc.replace(/_/g, " "), " ", i18n.t("to enforce validation"), " "), /*#__PURE__*/React.createElement("li", null, i18n.t("Has"), " ", data === null || data === void 0 ? void 0 : (_data$expressionMatch = data.expressionMatch) === null || _data$expressionMatch === void 0 ? void 0 : (_data$expressionMatch2 = _data$expressionMatch.validationRules) === null || _data$expressionMatch2 === void 0 ? void 0 : _data$expressionMatch2.length, " ", i18n.t("related validation rules")), /*#__PURE__*/React.createElement("li", null, i18n.t("Part of numerators of"), " ", data === null || data === void 0 ? void 0 : (_data$numeratorMatch = data.numeratorMatch) === null || _data$numeratorMatch === void 0 ? void 0 : (_data$numeratorMatch$ = _data$numeratorMatch.indicators) === null || _data$numeratorMatch$ === void 0 ? void 0 : _data$numeratorMatch$.length, " ", i18n.t("indicators")), /*#__PURE__*/React.createElement("li", null, i18n.t("Part of denominators of"), " ", data === null || data === void 0 ? void 0 : (_data$denominatorMatc = data.denominatorMatch) === null || _data$denominatorMatc === void 0 ? void 0 : (_data$denominatorMatc2 = _data$denominatorMatc.indicators) === null || _data$denominatorMatc2 === void 0 ? void 0 : _data$denominatorMatc2.length, " ", i18n.t("indicators")))); } Facts.propTypes = { id: PropTypes.string.isRequired };