UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

82 lines (76 loc) 2.81 kB
import { useDataQuery } 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"; const query = { programs: { resource: "programStages", params: _ref => { let { dataElementId } = _ref; return { fields: ["program[id,displayName]"], filter: ["programStageDataElements.dataElement.id:eq:".concat(dataElementId)] }; } } }; export default function Programs(_ref2) { var _data$programs2, _data$programs2$progr; let { id, name } = _ref2; const dataElementId = id; const { values, setValues } = useContext(CountContext); const { loading, error, data, refetch } = useDataQuery(query, { variables: { dataElementId } }); useEffect(() => { refetch({ id }); }, [id]); useEffect(() => { var _data$programs, _data$programs$progra; setValues({ ...values, ...{ programCount: (values === null || values === void 0 ? void 0 : values.programCount) + (data === null || data === void 0 ? void 0 : (_data$programs = data.programs) === null || _data$programs === void 0 ? void 0 : (_data$programs$progra = _data$programs.programStages) === null || _data$programs$progra === void 0 ? void 0 : _data$programs$progra.length) } }); }, [data]); if (loading) { return /*#__PURE__*/React.createElement(Loader, { text: "" }); } if (error) { return /*#__PURE__*/React.createElement(Error, { error: error }); } return /*#__PURE__*/React.createElement("div", null, name, /*#__PURE__*/React.createElement("ul", null, data === null || data === void 0 ? void 0 : (_data$programs2 = data.programs) === null || _data$programs2 === void 0 ? void 0 : (_data$programs2$progr = _data$programs2.programStages) === null || _data$programs2$progr === void 0 ? void 0 : _data$programs2$progr.map(dt => { var _dt$program, _dt$program2; return /*#__PURE__*/React.createElement("li", { key: dt === null || dt === void 0 ? void 0 : (_dt$program = dt.program) === null || _dt$program === void 0 ? void 0 : _dt$program.id }, /*#__PURE__*/React.createElement("b", null, dt === null || dt === void 0 ? void 0 : (_dt$program2 = dt.program) === null || _dt$program2 === void 0 ? void 0 : _dt$program2.displayName), " ", i18n.t("submitting records on every event(case or individual)")); }))); } Programs.propTypes = { id: PropTypes.string.isRequired, name: PropTypes.string.isRequired };