UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

89 lines (76 loc) 2.9 kB
import _ from "lodash"; import { dataSourceTypes } from "../Models"; import { getValueDataSourcePromise, isPureDataElement } from "./FormulaFunctions"; export default function IdentifiableObjectDataSource(engine, arrId) { //returns array of promises return arrId === null || arrId === void 0 ? void 0 : arrId.map(id => { return getValueDataSourcePromise(engine, id); }); } export function getDataSourceType(formula) { if ((formula === null || formula === void 0 ? void 0 : formula.search("dataElements")) >= 0) { return dataSourceTypes.DATA_ELEMENT; } if ((formula === null || formula === void 0 ? void 0 : formula.search("indicators")) >= 0) { return dataSourceTypes.INDICATOR; } if ((formula === null || formula === void 0 ? void 0 : formula.search("programIndicators")) >= 0) { return dataSourceTypes.PROGRAM_INDICATOR; } if ((formula === null || formula === void 0 ? void 0 : formula.search("dataElementGroups")) >= 0) { return dataSourceTypes.DATA_ELEMENT_GROUP; } if ((formula === null || formula === void 0 ? void 0 : formula.search("indicatorGroups")) >= 0) { return dataSourceTypes.INDICATOR_GROUP; } if ((formula === null || formula === void 0 ? void 0 : formula.search("dataStore/function")) >= 0) { return dataSourceTypes.FUNCTION; } if ((formula === null || formula === void 0 ? void 0 : formula.search("dataSets")) >= 0) { return dataSourceTypes.DATASET; } } export function displayNameSelector(id, obj) { if (isPureDataElement(id)) { return obj.displayName; } else { var _ruleObjectSelected$; const ruleId = id.split(".")[1]; const ruleObjectSelected = _.filter(obj === null || obj === void 0 ? void 0 : obj.rules, e => { return (e === null || e === void 0 ? void 0 : e.id) === ruleId; }); //will return matched object with one element return (_ruleObjectSelected$ = ruleObjectSelected[0]) === null || _ruleObjectSelected$ === void 0 ? void 0 : _ruleObjectSelected$.name; } } export function displayNameLength(name) { if ((name === null || name === void 0 ? void 0 : name.length) > 18) { return (name === null || name === void 0 ? void 0 : name.substr(0, 16)) + "..."; } else { return name; } } export function idOrRuleSelector(id, obj) { if (isPureDataElement(id)) { return obj.id; } else { const ruleId = id.split(".")[1]; const ruleObjectSelected = _.filter(obj === null || obj === void 0 ? void 0 : obj.rules, e => { return (e === null || e === void 0 ? void 0 : e.id) === ruleId; }); //will return matched object with one element return ruleObjectSelected[0]; } } export function typeOrFunctionSelector(id, obj) { if (isPureDataElement(id)) { return getDataSourceType(obj.href); } else { return obj; } } export function displayBool(val) { if (val) { return "Yes"; } else { return "No"; } }