@hisptz/react-ui
Version:
A collection of reusable complex DHIS2 react ui components.
47 lines (40 loc) • 1.55 kB
JavaScript
;
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
};
}