UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

67 lines (61 loc) 2.65 kB
import { useDataEngine } 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 Loader from "../../../../../Shared/Componets/Loaders/Loader"; import { useGetIndicatorProgramSource } from "../../../../../Utils/Hooks/DataSource"; export default function Programs(_ref) { var _res; let { sources } = _ref; const engine = useDataEngine(); const { values, setValues } = useContext(IndicatorGroupContext); const { loading, error, data } = useGetIndicatorProgramSource(sources, engine); let res = []; let allProgram = []; useEffect(() => { var _data$attr, _data$prgInd, _data$prgDtEl; setValues({ ...values, ...{ programDataElements: _.concat(values === null || values === void 0 ? void 0 : values.programDataElements, sources === null || sources === void 0 ? void 0 : sources.prgDtEl) } }); res = _.concat([], (_data$attr = data === null || data === void 0 ? void 0 : data.attr) !== null && _data$attr !== void 0 ? _data$attr : [], (_data$prgInd = data === null || data === void 0 ? void 0 : data.prgInd) !== null && _data$prgInd !== void 0 ? _data$prgInd : [], (_data$prgDtEl = data === null || data === void 0 ? void 0 : data.prgDtEl) !== null && _data$prgDtEl !== void 0 ? _data$prgDtEl : []); allProgram = _.uniqWith(res, _.isEqual); setValues({ ...values, ...{ programs: _.concat(values === null || values === void 0 ? void 0 : values.programs, allProgram) } }); }, [data]); if (loading) { return /*#__PURE__*/React.createElement(Loader, { text: "" }); } if (error) { return /*#__PURE__*/React.createElement(Error, { error: error }); } if (((_res = res) === null || _res === void 0 ? void 0 : _res.length) > 0) { var _allProgram; return /*#__PURE__*/React.createElement("div", null, "Programs", /*#__PURE__*/React.createElement("ul", null, (_allProgram = allProgram) === null || _allProgram === void 0 ? void 0 : _allProgram.map((dt, index) => { return /*#__PURE__*/React.createElement("li", { key: index }, /*#__PURE__*/React.createElement("b", null, dt === null || dt === void 0 ? void 0 : dt.displayName), " ", i18n.t("submitting records on every event(case or individual)"), " "); }))); } else { return /*#__PURE__*/React.createElement(React.Fragment, null); } }