@hisptz/react-ui
Version:
A collection of reusable complex DHIS2 react ui components.
117 lines (101 loc) • 3.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useGetData = useGetData;
exports.useGetDataSet = useGetDataSet;
exports.useGetNumDenMatch = useGetNumDenMatch;
var _react = require("react");
var _DataElementGroupSetFunctions = require("../Functions/DataElementGroupSetFunctions");
var _FormulaFunctions = require("../Functions/FormulaFunctions");
var _Models = require("../Models");
function useGetData(formula, engine, loc) {
const [loading, setLoading] = (0, _react.useState)(true);
const [error, setError] = (0, _react.useState)(false);
const [data, setData] = (0, _react.useState)();
(0, _react.useEffect)(() => {
let arrDtEle = (0, _FormulaFunctions.getFormulaSources)(formula, _Models.dataTypesInitials.DATA_ELEMENT);
let arrProgInd = (0, _FormulaFunctions.getFormulaSources)(formula, _Models.dataTypesInitials.PROGRAM_INDICATOR);
let arrDtSetRep = (0, _FormulaFunctions.getFormulaSources)(formula, _Models.dataTypesInitials.DATASET_REPORTING_RATES);
let arrAttr = (0, _FormulaFunctions.getFormulaSources)(formula, _Models.dataTypesInitials.ATTRIBUTES);
let arrConst = (0, _FormulaFunctions.getFormulaSources)(formula, _Models.dataTypesInitials.CONSTANTS);
async function fetch() {
arrDtEle = await (0, _FormulaFunctions.getWordDataForAll)(engine, arrDtEle, loc);
arrProgInd = await (0, _FormulaFunctions.getWordDataForAll)(engine, arrProgInd, loc);
arrDtSetRep = await (0, _FormulaFunctions.getWordDataForAll)(engine, arrDtSetRep, loc);
arrAttr = await (0, _FormulaFunctions.getWordDataForAll)(engine, arrAttr, loc);
arrConst = await (0, _FormulaFunctions.getWordDataForAll)(engine, arrConst, loc);
}
fetch().then(() => {
const result = {
dataElements: arrDtEle,
programIndicators: arrProgInd,
dataSetReportingRates: arrDtSetRep,
attributes: arrAttr,
constants: arrConst
};
setData(result); // setData((prevState => {return prevState.concat(result) }))
setLoading(false);
}).catch(error => {
setLoading(false);
setError(error);
});
}, []);
return {
loading,
error,
data
};
}
function useGetDataSet(array, engine) {
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 tempArr;
async function fetch() {
tempArr = await (0, _DataElementGroupSetFunctions.getDataSetsArray)(engine, array);
}
fetch().then(() => {
const result = {
dataSets: tempArr
};
setData(result);
setLoading(false);
}).catch(error => {
setLoading(false);
setError(error);
});
}, []);
return {
loading,
error,
data
};
}
function useGetNumDenMatch(array, engine) {
const [loading, setLoading] = (0, _react.useState)(true);
const [error, setError] = (0, _react.useState)(false);
const [data, setData] = (0, _react.useState)();
(0, _react.useEffect)(() => {
let tempArr;
async function fetch() {
tempArr = await (0, _DataElementGroupSetFunctions.getNumDenMatch)(engine, array);
}
fetch().then(() => {
const result = {
matches: tempArr
};
setData(result);
setLoading(false);
}).catch(error => {
setLoading(false);
setError(error);
});
}, [array === null || array === void 0 ? void 0 : array.length]);
return {
loading,
error,
data
};
}