UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

108 lines (92 loc) 3.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = Row; var _react = _interopRequireDefault(require("react")); var _appRuntime = require("@dhis2/app-runtime"); var _ui = require("@dhis2/ui"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const query = { dataElementInIndicator: { resource: "dataElements", id: _ref => { let { id } = _ref; return id; }, params: { fields: ["id", "aggregationType", "valueType", "zeroIsSignificant", "dataSetElements[dataSet[id,displayName]]", "dataElementGroups[id,displayName]", "categoryCombo[categories[id,displayName]]"] } } }; function Row(props) { const datElement = props.datEl; function isPureDataElement(str) { if ((str === null || str === void 0 ? void 0 : str.indexOf(".")) == -1) { //didnt find return true; } else { return false; } } function getData(id) { const { loading, error, data } = (0, _appRuntime.useDataQuery)(query, { variables: { id } }); if (loading) { return /*#__PURE__*/_react.default.createElement(_ui.CircularLoader, null); } if (error) { return /*#__PURE__*/_react.default.createElement("p", null, " ", error.message, " "); } return data; } function theRow(datEle) { let data; if (isPureDataElement(datEle.id)) { data = getData(datEle.id).dataElementInIndicator; } else { const arr = datEle.id.split("."); data = getData(arr[0]).dataElementInIndicator; } return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.DataTableCell, { bordered: true }, typeof data !== "undefined" ? data.valueType : "some value"), /*#__PURE__*/_react.default.createElement(_ui.DataTableCell, { bordered: true }, typeof data !== "undefined" ? JSON.stringify(data.zeroIsSignificant) : null), /*#__PURE__*/_react.default.createElement(_ui.DataTableCell, { bordered: true }, /*#__PURE__*/_react.default.createElement("ol", null, typeof data !== "undefined" ? data.categoryCombo.categories.map(cat => { return /*#__PURE__*/_react.default.createElement("li", { key: cat.id }, cat.displayName); }) : null)), /*#__PURE__*/_react.default.createElement(_ui.DataTableCell, { bordered: true }, /*#__PURE__*/_react.default.createElement("ol", null, typeof data !== "undefined" ? data.dataSetElements.map(dataSet => { return /*#__PURE__*/_react.default.createElement("li", { key: dataSet.dataSet.id }, dataSet.dataSet.displayName); }) : null)), /*#__PURE__*/_react.default.createElement(_ui.DataTableCell, { bordered: true }, /*#__PURE__*/_react.default.createElement("ol", null, typeof data !== "undefined" ? data.dataElementGroups.map(group => { return /*#__PURE__*/_react.default.createElement("li", { key: group.id }, group.displayName); }) : null))); } return /*#__PURE__*/_react.default.createElement(_ui.DataTableRow, null, /*#__PURE__*/_react.default.createElement(_ui.DataTableCell, { bordered: true }, datElement.val), /*#__PURE__*/_react.default.createElement(_ui.DataTableCell, { bordered: true }, datElement.location), theRow(datElement)); } // RowAggregate.prototype={ // datEl:PropTypes. // // }