@hisptz/react-ui
Version:
A collection of reusable complex DHIS2 react ui components.
69 lines (66 loc) • 2.55 kB
JavaScript
import { useDataQuery } from "@dhis2/app-runtime";
import i18n from "@dhis2/d2-i18n";
import PropTypes from "prop-types";
import React, { useEffect } from "react";
import Error from "../../../../Shared/Componets/Error/ErrorAPIResult";
import IdentifiedBy from "../../../../Shared/Componets/IdentifiedBy/Index";
import Loader from "../../../../Shared/Componets/Loaders/Loader";
const query = {
programIndicators: {
resource: "programIndicators",
id: _ref => {
let {
id
} = _ref;
return id;
},
params: {
fields: ["id", "displayName", "displayDescription", "aggregationType", "displayShortName", "code", "decimals", "displayInForm", "href"]
}
}
};
export default function Introduction(_ref2) {
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
});
}
const res = data === null || data === void 0 ? void 0 : data.programIndicators;
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h2", null, res === null || res === void 0 ? void 0 : res.displayName), /*#__PURE__*/React.createElement("h3", null, i18n.t("Introduction"), " "), /*#__PURE__*/React.createElement("p", null, i18n.t("{{variables1}} is a {{variables2}} indicator, described as {{variables3}}. It\u2019s labelled in short as {{variables4}} and has a code of {{variables5}}. In analytics it displays up to {{variables6}} decimals.", {
variables1: res === null || res === void 0 ? void 0 : res.displayName,
variables2: res === null || res === void 0 ? void 0 : res.aggregationType,
variables3: res === null || res === void 0 ? void 0 : res.displayDescription,
variables4: res === null || res === void 0 ? void 0 : res.displayShortName,
variables5: res === null || res === void 0 ? void 0 : res.code,
variables6: res === null || res === void 0 ? void 0 : res.decimals
}), res !== null && res !== void 0 && res.displayInForm ? i18n.t("It is also set to display in form") : ""), /*#__PURE__*/React.createElement(IdentifiedBy, {
href: res === null || res === void 0 ? void 0 : res.href,
id: res === null || res === void 0 ? void 0 : res.id
}));
}
Introduction.PropTypes = {
id: PropTypes.string.isRequired
};