UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

90 lines (85 loc) 2.98 kB
import { useDataQuery } from "@dhis2/app-runtime"; import i18n from "@dhis2/d2-i18n"; import { IndicatorGroupContext } from "./../../../../../../components/DictionaryAnalysis/Store/IndicatorGroupContext"; import _ from "lodash"; import React, { useContext, useEffect } from "react"; import Error from "../../../../Shared/Componets/Error/ErrorAPIResult"; import IndicatorCount from "../../../../Shared/Componets/IndicatorCount"; import Loader from "../../../../Shared/Componets/Loaders/Loader"; const query = { sources: { resource: "indicatorGroups", id: _ref => { let { id } = _ref; return id; }, params: { fields: ["indicators"] } } }; export default function Facts(_ref2) { var _data$sources, _data$sources$indicat, _dataSets, _programs; let { id } = _ref2; const { loading, error, data, refetch } = useDataQuery(query, { variables: { id } }); useEffect(() => { refetch({ id }); }, [id]); const { values } = useContext(IndicatorGroupContext); let { dataSets, programs, programDataElements, aggregateDataElements } = values; if (loading) { return /*#__PURE__*/React.createElement(Loader, { text: "" }); } if (error) { return /*#__PURE__*/React.createElement(Error, { error: error }); } dataSets = _.uniqWith(dataSets, _.isEqual); programs = _.uniqWith(programs, _.isEqual); aggregateDataElements = _.uniqWith(aggregateDataElements, _.isEqual); programDataElements = programDataElements.map(e => { var _e$split$; return { id: (_e$split$ = e.split(".")[1]) !== null && _e$split$ !== void 0 ? _e$split$ : "" }; }); aggregateDataElements = aggregateDataElements.map(e => { return { id: e }; }); const allDataElements = [...programDataElements, ...aggregateDataElements]; return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", null, i18n.t("Indicator group Facts")), /*#__PURE__*/React.createElement("ul", null, /*#__PURE__*/React.createElement("li", null, " ", i18n.t(" It has {{variables}} indicators", { variables: data === null || data === void 0 ? void 0 : (_data$sources = data.sources) === null || _data$sources === void 0 ? void 0 : (_data$sources$indicat = _data$sources.indicators) === null || _data$sources$indicat === void 0 ? void 0 : _data$sources$indicat.length }), " "), /*#__PURE__*/React.createElement("li", null, i18n.t(" It\u2019s data elements belongs to {{variables}} datasets and {{variables2}} program sources of data", { variables: (_dataSets = dataSets) === null || _dataSets === void 0 ? void 0 : _dataSets.length, variables2: (_programs = programs) === null || _programs === void 0 ? void 0 : _programs.length })), /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement(IndicatorCount, { dataElementsArray: allDataElements })))); }