UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

91 lines (73 loc) 5.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = CalculationDetails; var _appRuntime = require("@dhis2/app-runtime"); var _d2I18n = _interopRequireDefault(require("@dhis2/d2-i18n")); var _react = _interopRequireWildcard(require("react")); var _ErrorAPIResult = _interopRequireDefault(require("../../../../Shared/Componets/Error/ErrorAPIResult")); var _Loader = _interopRequireDefault(require("../../../../Shared/Componets/Loaders/Loader")); var _FormulaFunctions = require("../../../../Utils/Functions/FormulaFunctions"); var _Models = require("../../../../Utils/Models"); var _BoundaryTable = _interopRequireDefault(require("./Components/BoundaryTable/BoundaryTable")); var _ExpressionDetailTable = _interopRequireDefault(require("./Components/ExpressionDetailTable")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const query = { calculation: { resource: "programIndicators", id: _ref => { let { id } = _ref; return id; }, params: { fields: ["analyticsType", "aggregationType", "expression", "filter", "analyticsPeriodBoundaries[id,boundaryTarget,analyticsPeriodBoundaryType,offsetPeriods,offsetPeriodType]"] } } }; function CalculationDetails(_ref2) { let { id } = _ref2; const { loading, error, data, refetch } = (0, _appRuntime.useDataQuery)(query, { variables: { id } }); (0, _react.useEffect)(() => { refetch({ id }); }, [id]); if (loading) { return /*#__PURE__*/_react.default.createElement(_Loader.default, { text: "" }); } if (error) { return /*#__PURE__*/_react.default.createElement(_ErrorAPIResult.default, { error: error }); } const res = data === null || data === void 0 ? void 0 : data.calculation; return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h3", null, _d2I18n.default.t(" Calculation details")), /*#__PURE__*/_react.default.createElement("p", null, _d2I18n.default.t("Calculation of the values will be {{variables}} of {{variables2}} across orgunit and period.", { variables: res === null || res === void 0 ? void 0 : res.aggregationType, variables2: res === null || res === void 0 ? void 0 : res.analyticsType })), /*#__PURE__*/_react.default.createElement("p", null, _d2I18n.default.t("Program indicator calculation will be based on Analytics Type, for distinction purposes:")), /*#__PURE__*/_react.default.createElement("ul", null, (res === null || res === void 0 ? void 0 : res.analyticsType) === _Models.analyticsTypes.EVENT ? /*#__PURE__*/_react.default.createElement("li", null, _d2I18n.default.t(" Events implies, each event from data source is considered as independent row to be counted, and properties and details of the event are used to filter events.")) : (res === null || res === void 0 ? void 0 : res.analyticsType) === _Models.analyticsTypes.ENROLLMENT ? /*#__PURE__*/_react.default.createElement("li", null, _d2I18n.default.t("Enrollment implies, each enrollment from data source is considered as independent row to be counted, and events from any stage and other properties and details of enrollment are used to filter enrollments.")) : ""), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("p", null, _d2I18n.default.t("Below are expression details on computing program indicator and it\u2019s related data source"))), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_ExpressionDetailTable.default, { expression: res === null || res === void 0 ? void 0 : res.expression, filter: res === null || res === void 0 ? void 0 : res.filter })), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("p", null, _d2I18n.default.t("Below are period boundaries that determines which {{variables}} will be included in calculations of the program indicators, where for", { variables: (0, _FormulaFunctions.lowerCaseAllWordsExceptFirstLetters)(res === null || res === void 0 ? void 0 : res.analyticsType) }), (res === null || res === void 0 ? void 0 : res.analyticsType) === _Models.analyticsTypes.EVENT ? _d2I18n.default.t(" event date will be used.") : (res === null || res === void 0 ? void 0 : res.analyticsType) === _Models.analyticsTypes.ENROLLMENT ? _d2I18n.default.t("enrollment analytics will be used.") : "")), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_BoundaryTable.default, { rows: res === null || res === void 0 ? void 0 : res.analyticsPeriodBoundaries }))); }