@mui/x-tree-view
Version:
The community edition of the MUI X Tree View components.
24 lines • 878 B
JavaScript
import { createSelector } from '@mui/x-internals/store';
import { itemsSelectors } from "../useTreeViewItems/useTreeViewItems.selectors.js";
export const labelSelectors = {
/**
* Checks whether an item is editable.
*/
isItemEditable: createSelector(state => state.label?.isItemEditable, itemsSelectors.itemModel, (isItemEditable, itemModel, _itemId) => {
if (!itemModel || isItemEditable == null) {
return false;
}
if (typeof isItemEditable === 'boolean') {
return isItemEditable;
}
return isItemEditable(itemModel);
}),
/**
* Checks whether an item is being edited.
*/
isItemBeingEdited: createSelector((state, itemId) => itemId == null ? false : state.label?.editedItemId === itemId),
/**
* Checks whether any item is being edited.
*/
isAnyItemBeingEdited: createSelector(state => !!state.label?.editedItemId)
};