@hisptz/react-ui
Version:
A collection of reusable complex DHIS2 react ui components.
39 lines (37 loc) • 1.43 kB
JavaScript
import { useDataQuery } from "@dhis2/app-runtime";
import { useContext } from "react";
import { orgUnitLevelAndGroupsQuery, orgUnitRootsQuery } from "../services";
import { FilterState } from "../states/filter";
import { isEmpty } from "lodash";
export function useOrgUnitsRoot(defaultRoots) {
var _data$orgUnitRoots;
const {
loading,
error,
data
} = useDataQuery(orgUnitRootsQuery, {
lazy: !isEmpty(defaultRoots)
});
return {
roots: defaultRoots !== null && defaultRoots !== void 0 ? defaultRoots : data === null || data === void 0 ? void 0 : (_data$orgUnitRoots = data.orgUnitRoots) === null || _data$orgUnitRoots === void 0 ? void 0 : _data$orgUnitRoots.organisationUnits,
loading,
error
};
}
export function useOrgUnitLevelsAndGroups() {
var _data$orgUnitLevels, _data$orgUnitGroups;
const {
loading,
error,
data
} = useDataQuery(orgUnitLevelAndGroupsQuery);
return {
levels: data === null || data === void 0 ? void 0 : (_data$orgUnitLevels = data.orgUnitLevels) === null || _data$orgUnitLevels === void 0 ? void 0 : _data$orgUnitLevels.organisationUnitLevels,
groups: data === null || data === void 0 ? void 0 : (_data$orgUnitGroups = data.orgUnitGroups) === null || _data$orgUnitGroups === void 0 ? void 0 : _data$orgUnitGroups.organisationUnitGroups,
error,
loading
};
}
export function useFilterOrgUnits() {
return useContext(FilterState);
}