@mui/x-tree-view
Version:
The community edition of the MUI X Tree View components.
20 lines • 827 B
JavaScript
import { createSelector } from '@mui/x-internals/store';
import { TREE_VIEW_ROOT_PARENT_ID } from "../useTreeViewItems/index.js";
export const lazyLoadingSelectors = {
/**
* Gets the data source used to lazy load items.
*/
dataSource: createSelector(state => state.lazyLoading?.dataSource),
/**
* Checks whether an item is loading.
*/
isItemLoading: createSelector((state, itemId) => state.lazyLoading?.dataSource.loading[itemId ?? TREE_VIEW_ROOT_PARENT_ID] ?? false),
/**
* Checks whether an item has errors.
*/
itemHasError: createSelector((state, itemId) => !!state.lazyLoading?.dataSource.errors[itemId ?? TREE_VIEW_ROOT_PARENT_ID]),
/**
* Get an item error.
*/
itemError: createSelector((state, itemId) => state.lazyLoading?.dataSource.errors[itemId ?? TREE_VIEW_ROOT_PARENT_ID])
};