@hisptz/react-ui
Version:
A collection of reusable complex DHIS2 react ui components.
33 lines (28 loc) • 1.11 kB
JavaScript
import { compact, find, isArray, isEmpty, map } from "lodash";
import { DATA_SOURCES } from "../constants";
import CustomFunctions from "../models/customFunctions";
import DataElements from "../models/dataElements";
import DataSets from "../models/dataSets";
import NativeDataSource from "../models/nativeDataSource";
export function getDataSourcesList(dataSourcesConfig) {
if (isArray(dataSourcesConfig) && !isEmpty(dataSourcesConfig)) {
return compact(map(dataSourcesConfig, dataSourceType => {
const dataSourceConfig = find(DATA_SOURCES, ["type", dataSourceType]);
if (dataSourceConfig) {
if (dataSourceConfig.native) {
return new NativeDataSource(dataSourceConfig);
}
if (dataSourceConfig.type === "dataElement") {
return new DataElements(dataSourceConfig);
}
if (dataSourceConfig.type === "customFunction") {
return new CustomFunctions(dataSourceConfig);
}
if (dataSourceConfig.type === "dataSet") {
return new DataSets(dataSourceConfig);
}
}
}));
}
return [];
}