@mui/x-tree-view
Version:
The community edition of the MUI X Tree View components.
29 lines • 1.12 kB
JavaScript
import { TREE_VIEW_ROOT_PARENT_ID } from "../items/index.mjs";
export const lazyLoadingSelectors = {
/**
* Checks if the lazy loaded state is empty.
*/
isEmpty: state => {
if (state.lazyLoadedItems == null) {
return true;
}
return Object.keys(state.lazyLoadedItems.loading).length === 0 && Object.keys(state.lazyLoadedItems.errors).length === 0;
},
/**
* Checks whether an item is loading.
*/
isItemLoading: (state, itemId) => state.lazyLoadedItems?.loading[itemId ?? TREE_VIEW_ROOT_PARENT_ID] != null,
/**
* Gets the expected children count of an item currently loading its children.
* Returns `-1` when the count is unknown or the item is not loading.
*/
itemLoadingChildrenCount: (state, itemId) => state.lazyLoadedItems?.loading[itemId ?? TREE_VIEW_ROOT_PARENT_ID] ?? -1,
/**
* Checks whether an item has errors.
*/
itemHasError: (state, itemId) => !!state.lazyLoadedItems?.errors[itemId ?? TREE_VIEW_ROOT_PARENT_ID],
/**
* Get an item error.
*/
itemError: (state, itemId) => state.lazyLoadedItems?.errors[itemId ?? TREE_VIEW_ROOT_PARENT_ID]
};