UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

86 lines (84 loc) 2.06 kB
const query = { dataSets: { resource: "dataSets", params: _ref => { let { id } = _ref; return { fields: ["id", "displayName", "periodType", "timelyDays"], filter: ["dataSetElements.dataElement.id:eq:".concat(id)] }; } } }; const query2 = { numeratorMatch: { resource: "indicators", params: _ref2 => { let { id } = _ref2; return { fields: ["id"], filter: ["numerator:like:".concat(id)] }; } }, denominatorMatch: { resource: "indicators", params: _ref3 => { let { id } = _ref3; return { fields: ["id"], filter: ["denominator:like:".concat(id)] }; } } }; export async function getNumDenMatch(engine, arr) { const allPromises = arr === null || arr === void 0 ? void 0 : arr.map(id => { return new Promise((resolve, reject) => { resolve(getMatch(engine, id)); }); }); return await Promise.all(allPromises).then(value => { return value.map((val, index) => { //We always return array just for uniformity return val; }); }); } export async function getDataSetsArray(engine, arr) { if ((arr === null || arr === void 0 ? void 0 : arr.length) > 0) { const allPromises = arr === null || arr === void 0 ? void 0 : arr.map(id => { return new Promise((resolve, reject) => { resolve(getDataSetsFromApi(engine, id)); }); }); return await Promise.all(allPromises).then(value => { return value.map((val, index) => { //We always return array just for uniformity return val === null || val === void 0 ? void 0 : val.dataSets; }); }); } } async function getDataSetsFromApi(engine, id) { const data = await engine.query(query, { variables: { id } }); return data === null || data === void 0 ? void 0 : data.dataSets; } async function getMatch(engine, id) { const data = await engine.query(query2, { variables: { id } }); return data; }