UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

47 lines (40 loc) 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useGetIndicatorProgramSource = useGetIndicatorProgramSource; var _react = require("react"); var _IndicatorDataSourceFunction = require("../../Functions/IndicatorDataSourceFunction"); function useGetIndicatorProgramSource(obj, engine) { //obj strcture is { attr: [], prgInd: [] , prgDtEl: [] } const [loading, setLoading] = (0, _react.useState)(true); const [error, setError] = (0, _react.useState)(false); const [data, setData] = (0, _react.useState)(); //{"dataSetName:[dataElements in {id:"",displname:""}]} (0, _react.useEffect)(() => { let attrArr = obj === null || obj === void 0 ? void 0 : obj.attr; let proDtElArr = obj === null || obj === void 0 ? void 0 : obj.prgDtEl; let prgIndArr = obj === null || obj === void 0 ? void 0 : obj.prgInd; async function fetch() { attrArr = await (0, _IndicatorDataSourceFunction.getProgramFromAttributesOrDtElPrg)(engine, attrArr); proDtElArr = await (0, _IndicatorDataSourceFunction.getProgramFromAttributesOrDtElPrg)(engine, proDtElArr); prgIndArr = await (0, _IndicatorDataSourceFunction.getProgramFromProgramIndicator)(engine, prgIndArr); } fetch().then(() => { const result = { attr: attrArr, prgInd: prgIndArr, prgDtEl: proDtElArr }; setData(result); setLoading(false); }).catch(error => { setLoading(false); setError(error); }); }, []); return { loading, error, data }; }