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