@mui/x-tree-view
Version:
The community edition of the MUI X Tree View components.
25 lines • 956 B
JavaScript
import { createSelector } from '@mui/x-internals/store';
import { TREE_VIEW_ROOT_PARENT_ID } from "../items/index.js";
export const lazyLoadingSelectors = {
/**
* Checks if the lazy loaded state is empty.
*/
isEmpty: createSelector(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: createSelector((state, itemId) => state.lazyLoadedItems?.loading[itemId ?? TREE_VIEW_ROOT_PARENT_ID] ?? false),
/**
* Checks whether an item has errors.
*/
itemHasError: createSelector((state, itemId) => !!state.lazyLoadedItems?.errors[itemId ?? TREE_VIEW_ROOT_PARENT_ID]),
/**
* Get an item error.
*/
itemError: createSelector((state, itemId) => state.lazyLoadedItems?.errors[itemId ?? TREE_VIEW_ROOT_PARENT_ID])
};