UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

66 lines (62 loc) 2.66 kB
import { useDataEngine } from "@dhis2/app-runtime"; import i18n from "@dhis2/d2-i18n"; import CountContext from "../../../../../../../components/DictionaryAnalysis/Store/CountContext"; import PropTypes from "prop-types"; import React, { useContext, useEffect } from "react"; import Error from "../../../../../Shared/Componets/Error/ErrorAPIResult"; import Loader from "../../../../../Shared/Componets/Loaders/Loader"; import { useGetDataSet } from "../../../../../Utils/Hooks"; export default function DataSets(_ref) { let { aggregate } = _ref; const { values, setValues } = useContext(CountContext); const engine = useDataEngine(); const onlyIds = aggregate === null || aggregate === void 0 ? void 0 : aggregate.map(el => { return el === null || el === void 0 ? void 0 : el.id; }); const { loading, error, data } = useGetDataSet(onlyIds, engine); const res = data === null || data === void 0 ? void 0 : data.dataSets; useEffect(() => { let totalCount = 0; res === null || res === void 0 ? void 0 : res.map(e => { totalCount += e === null || e === void 0 ? void 0 : e.length; }); setValues({ ...values, ...{ dataSetCount: totalCount } }); return () => {}; }, [data]); 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("ul", null, aggregate === null || aggregate === void 0 ? void 0 : aggregate.map((el, index) => { var _res$index, _res$index2; return /*#__PURE__*/React.createElement("li", { key: (el === null || el === void 0 ? void 0 : el.id) + index }, el === null || el === void 0 ? void 0 : el.displayName, /*#__PURE__*/React.createElement("ul", null, " ", ((_res$index = res[index]) === null || _res$index === void 0 ? void 0 : _res$index.length) > 1 ? i18n.t("sources") : "", (_res$index2 = res[index]) === null || _res$index2 === void 0 ? void 0 : _res$index2.map(datset => { return /*#__PURE__*/React.createElement("li", { key: datset === null || datset === void 0 ? void 0 : datset.id }, datset === null || datset === void 0 ? void 0 : datset.displayName, " ", i18n.t(" submitting "), " ", datset === null || datset === void 0 ? void 0 : datset.periodType, " ", i18n.t(" after every "), " ", datset === null || datset === void 0 ? void 0 : datset.timelyDays, " ", i18n.t("days"), " "); }))); }))); } DataSets.propTypes = { aggregate: PropTypes.array.isRequired };