UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

117 lines (101 loc) 3.63 kB
"use strict"; 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 }; }