UNPKG

@mui/x-tree-view

Version:

The community edition of the MUI X Tree View components.

70 lines (69 loc) 2.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.itemsSelectors = void 0; var _store = require("@mui/x-internals/store"); var _useTreeViewItems = require("./useTreeViewItems.utils"); const EMPTY_CHILDREN = []; const itemsSelectors = exports.itemsSelectors = { /** * Gets the DOM structure of the Tree View. */ domStructure: (0, _store.createSelector)(state => state.items.domStructure), /** * Checks whether the disabled items are focusable. */ disabledItemFocusable: (0, _store.createSelector)(state => state.items.disabledItemsFocusable), /** * Gets the meta-information of all items. */ itemMetaLookup: (0, _store.createSelector)(state => state.items.itemMetaLookup), /** * Gets the ordered children ids of all items. */ itemOrderedChildrenIdsLookup: (0, _store.createSelector)(state => state.items.itemOrderedChildrenIdsLookup), /** * Gets the meta-information of an item. */ itemMeta: (0, _store.createSelector)((state, itemId) => state.items.itemMetaLookup[itemId ?? _useTreeViewItems.TREE_VIEW_ROOT_PARENT_ID] ?? null), /** * Gets the ordered children ids of an item. */ itemOrderedChildrenIds: (0, _store.createSelector)((state, itemId) => state.items.itemOrderedChildrenIdsLookup[itemId ?? _useTreeViewItems.TREE_VIEW_ROOT_PARENT_ID] ?? EMPTY_CHILDREN), /** * Gets the model of an item. */ itemModel: (0, _store.createSelector)((state, itemId) => state.items.itemModelLookup[itemId]), /** * Checks whether an item is disabled. */ isItemDisabled: (0, _store.createSelector)((state, itemId) => (0, _useTreeViewItems.isItemDisabled)(state.items.itemMetaLookup, itemId)), /** * Gets the index of an item in its parent's children. */ itemIndex: (0, _store.createSelector)((state, itemId) => { const itemMeta = state.items.itemMetaLookup[itemId]; if (itemMeta == null) { return -1; } const parentIndexes = state.items.itemChildrenIndexesLookup[itemMeta.parentId ?? _useTreeViewItems.TREE_VIEW_ROOT_PARENT_ID]; return parentIndexes[itemMeta.id]; }), /** * Gets the id of an item's parent. */ itemParentId: (0, _store.createSelector)((state, itemId) => state.items.itemMetaLookup[itemId]?.parentId ?? null), /** * Gets the depth of an item (items at the root level have a depth of 0). */ itemDepth: (0, _store.createSelector)((state, itemId) => state.items.itemMetaLookup[itemId]?.depth ?? 0), /** * Checks whether an item can be focused. */ canItemBeFocused: (0, _store.createSelector)((state, itemId) => state.items.disabledItemsFocusable || !(0, _useTreeViewItems.isItemDisabled)(state.items.itemMetaLookup, itemId)), /** * Checks whether an item is selectable based on the `isItemSelectionDisabled` prop. */ isItemSelectable: (0, _store.createSelector)((state, itemId) => state.items.itemMetaLookup[itemId]?.selectable ?? true) };