UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

68 lines (63 loc) 2.55 kB
import { useDataQuery } from "@dhis2/app-runtime"; import i18n from "@dhis2/d2-i18n"; import React, { useEffect } from "react"; import Error from "../../../../Shared/Componets/Error/ErrorAPIResult"; import Loader from "../../../../Shared/Componets/Loaders/Loader"; import Legend from "./legend"; const query = { legendAnalysis: { resource: "programIndicators", id: _ref => { let { id } = _ref; return id; }, params: { fields: ["id", "displayName", "legendSets[id,displayName,legends[id,displayName,startValue,endValue,color]]"] } } }; export default function LegendsAnalysis(_ref2) { var _data$legendAnalysis, _data$legendAnalysis$, _data$legendAnalysis2; let { id } = _ref2; 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 }); } if ((data === null || data === void 0 ? void 0 : (_data$legendAnalysis = data.legendAnalysis) === null || _data$legendAnalysis === void 0 ? void 0 : (_data$legendAnalysis$ = _data$legendAnalysis.legendSets) === null || _data$legendAnalysis$ === void 0 ? void 0 : _data$legendAnalysis$.length) === 0) { return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", null, i18n.t("There are no legends associated with these Program Indicator"), " ")); //no legends sets } const legendSet = data === null || data === void 0 ? void 0 : (_data$legendAnalysis2 = data.legendAnalysis) === null || _data$legendAnalysis2 === void 0 ? void 0 : _data$legendAnalysis2.legendSets; return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", null, i18n.t("Legends for analysis"), " "), /*#__PURE__*/React.createElement("p", null, i18n.t("Uses {{variables}} legends for for analysis, spread across multiple cut-off points of interest, existing legends are:", { variables: legendSet === null || legendSet === void 0 ? void 0 : legendSet.length })), /*#__PURE__*/React.createElement("ul", null, legendSet === null || legendSet === void 0 ? void 0 : legendSet.map(legendSet => { return /*#__PURE__*/React.createElement(Legend, { key: legendSet === null || legendSet === void 0 ? void 0 : legendSet.id, legendSet: legendSet }); }))); }