UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

68 lines (63 loc) 2.61 kB
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 Loader from "../../../../Shared/Componets/Loaders/Loader"; const query = { sources: { resource: "indicators", id: _ref => { let { id } = _ref; return id; }, params: { fields: ["id", "displayName", "dataSets[id,displayName,timelyDays,periodType]"] } } }; export default function DataSource(_ref2) { var _data$sources, _data$sources$dataSet, _data$sources2, _data$sources2$dataSe; let { id } = _ref2; const { loading, error, data, refetch } = useDataQuery(query, { variables: { id } }); useEffect(() => { refetch({ id }); }, [id]); if (loading) { return /*#__PURE__*/React.createElement(Loader, null); } if (error) { return /*#__PURE__*/React.createElement(Error, { error: error }); } if ((data === null || data === void 0 ? void 0 : (_data$sources = data.sources) === null || _data$sources === void 0 ? void 0 : (_data$sources$dataSet = _data$sources.dataSets) === null || _data$sources$dataSet === void 0 ? void 0 : _data$sources$dataSet.length) === 0) { return /*#__PURE__*/React.createElement("div", null); } return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", null, i18n.t("Data sources (Datasets/Programs)")), /*#__PURE__*/React.createElement("p", null, i18n.t("Indicator is captured from the following sources,")), /*#__PURE__*/React.createElement("h5", null, "Datasets"), /*#__PURE__*/React.createElement("ul", null, data === null || data === void 0 ? void 0 : (_data$sources2 = data.sources) === null || _data$sources2 === void 0 ? void 0 : (_data$sources2$dataSe = _data$sources2.dataSets) === null || _data$sources2$dataSe === void 0 ? void 0 : _data$sources2$dataSe.map(dataSet => { return /*#__PURE__*/React.createElement("li", { key: dataSet === null || dataSet === void 0 ? void 0 : dataSet.id }, /*#__PURE__*/React.createElement("b", null, dataSet === null || dataSet === void 0 ? void 0 : dataSet.displayName), " ", i18n.t("submitting {{variables1}} after every {{variables2}} days", { variables1: dataSet === null || dataSet === void 0 ? void 0 : dataSet.periodType, variables2: dataSet === null || dataSet === void 0 ? void 0 : dataSet.timelyDays })); }))); } DataSource.propTypes = { id: PropTypes.string.isRequired };