@mui/x-tree-view-pro 8.23.0 → 8.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +111 -1
- package/RichTreeViewPro/RichTreeViewPro.js +32 -29
- package/RichTreeViewPro/RichTreeViewPro.types.d.ts +6 -5
- package/RichTreeViewPro/index.d.ts +1 -2
- package/RichTreeViewPro/useExtractRichTreeViewProParameters.d.ts +294 -0
- package/RichTreeViewPro/useExtractRichTreeViewProParameters.js +107 -0
- package/esm/RichTreeViewPro/RichTreeViewPro.js +32 -29
- package/esm/RichTreeViewPro/RichTreeViewPro.types.d.ts +6 -5
- package/esm/RichTreeViewPro/index.d.ts +1 -2
- package/esm/RichTreeViewPro/useExtractRichTreeViewProParameters.d.ts +294 -0
- package/esm/RichTreeViewPro/useExtractRichTreeViewProParameters.js +99 -0
- package/esm/hooks/useRichTreeViewProApiRef.d.ts +2 -2
- package/esm/index.d.ts +0 -1
- package/esm/index.js +1 -2
- package/esm/internals/RichTreeViewProStore/RichTreeViewProStore.d.ts +49 -0
- package/esm/internals/RichTreeViewProStore/RichTreeViewProStore.js +15 -0
- package/esm/internals/RichTreeViewProStore/RichTreeViewProStore.types.d.ts +69 -0
- package/esm/internals/RichTreeViewProStore/RichTreeViewProStore.utils.d.ts +3 -0
- package/esm/internals/RichTreeViewProStore/RichTreeViewProStore.utils.js +18 -0
- package/esm/internals/RichTreeViewProStore/index.d.ts +2 -0
- package/esm/internals/RichTreeViewProStore/index.js +2 -0
- package/esm/internals/plugins/itemsReordering/TreeViewItemsReorderingPlugin.d.ts +53 -0
- package/esm/internals/plugins/itemsReordering/TreeViewItemsReorderingPlugin.js +180 -0
- package/esm/internals/plugins/itemsReordering/index.d.ts +3 -0
- package/esm/internals/plugins/itemsReordering/index.js +3 -0
- package/esm/internals/plugins/{useTreeViewItemsReordering → itemsReordering}/itemPlugin.js +6 -7
- package/esm/internals/plugins/itemsReordering/selectors.d.ts +29 -0
- package/esm/internals/plugins/{useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js → itemsReordering/selectors.js} +4 -4
- package/esm/internals/plugins/itemsReordering/types.d.ts +6 -0
- package/{internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts → esm/internals/plugins/itemsReordering/utils.d.ts} +7 -7
- package/esm/internals/plugins/{useTreeViewItemsReordering/useTreeViewItemsReordering.utils.js → itemsReordering/utils.js} +2 -2
- package/esm/internals/plugins/lazyLoading/TreeViewLazyLoadingPlugin.d.ts +51 -0
- package/esm/internals/plugins/lazyLoading/TreeViewLazyLoadingPlugin.js +230 -0
- package/esm/internals/plugins/lazyLoading/index.d.ts +2 -0
- package/esm/internals/plugins/lazyLoading/index.js +2 -0
- package/esm/internals/plugins/lazyLoading/types.d.ts +21 -0
- package/esm/internals/plugins/lazyLoading/types.js +1 -0
- package/{internals/plugins/useTreeViewLazyLoading → esm/internals/plugins/lazyLoading}/utils.d.ts +3 -7
- package/esm/internals/plugins/{useTreeViewLazyLoading → lazyLoading}/utils.js +3 -11
- package/hooks/useRichTreeViewProApiRef.d.ts +2 -2
- package/index.d.ts +0 -1
- package/index.js +1 -23
- package/internals/RichTreeViewProStore/RichTreeViewProStore.d.ts +49 -0
- package/internals/RichTreeViewProStore/RichTreeViewProStore.js +23 -0
- package/internals/RichTreeViewProStore/RichTreeViewProStore.types.d.ts +69 -0
- package/internals/RichTreeViewProStore/RichTreeViewProStore.utils.d.ts +3 -0
- package/internals/RichTreeViewProStore/RichTreeViewProStore.utils.js +25 -0
- package/internals/RichTreeViewProStore/index.d.ts +2 -0
- package/internals/RichTreeViewProStore/index.js +27 -0
- package/internals/plugins/itemsReordering/TreeViewItemsReorderingPlugin.d.ts +53 -0
- package/internals/plugins/itemsReordering/TreeViewItemsReorderingPlugin.js +188 -0
- package/internals/plugins/itemsReordering/index.d.ts +3 -0
- package/internals/plugins/itemsReordering/index.js +27 -0
- package/internals/plugins/{useTreeViewItemsReordering → itemsReordering}/itemPlugin.js +9 -10
- package/internals/plugins/itemsReordering/selectors.d.ts +29 -0
- package/internals/plugins/{useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js → itemsReordering/selectors.js} +4 -4
- package/internals/plugins/itemsReordering/types.d.ts +6 -0
- package/{esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts → internals/plugins/itemsReordering/utils.d.ts} +7 -7
- package/internals/plugins/{useTreeViewItemsReordering/useTreeViewItemsReordering.utils.js → itemsReordering/utils.js} +2 -2
- package/internals/plugins/lazyLoading/TreeViewLazyLoadingPlugin.d.ts +51 -0
- package/internals/plugins/lazyLoading/TreeViewLazyLoadingPlugin.js +238 -0
- package/internals/plugins/lazyLoading/index.d.ts +2 -0
- package/internals/plugins/lazyLoading/index.js +27 -0
- package/internals/plugins/lazyLoading/types.d.ts +21 -0
- package/internals/plugins/lazyLoading/types.js +5 -0
- package/{esm/internals/plugins/useTreeViewLazyLoading → internals/plugins/lazyLoading}/utils.d.ts +3 -7
- package/internals/plugins/{useTreeViewLazyLoading → lazyLoading}/utils.js +3 -9
- package/package.json +4 -4
- package/RichTreeViewPro/RichTreeViewPro.plugins.d.ts +0 -5
- package/RichTreeViewPro/RichTreeViewPro.plugins.js +0 -12
- package/esm/RichTreeViewPro/RichTreeViewPro.plugins.d.ts +0 -5
- package/esm/RichTreeViewPro/RichTreeViewPro.plugins.js +0 -6
- package/esm/internals/index.d.ts +0 -1
- package/esm/internals/plugins/useTreeViewItemsReordering/index.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewItemsReordering/index.js +0 -2
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +0 -196
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +0 -30
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +0 -107
- package/esm/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -1
- package/esm/internals/plugins/useTreeViewLazyLoading/index.js +0 -1
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.d.ts +0 -2
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.js +0 -251
- package/internals/index.d.ts +0 -1
- package/internals/plugins/useTreeViewItemsReordering/index.d.ts +0 -3
- package/internals/plugins/useTreeViewItemsReordering/index.js +0 -19
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.d.ts +0 -3
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +0 -205
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +0 -30
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +0 -107
- package/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -1
- package/internals/plugins/useTreeViewLazyLoading/index.js +0 -12
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.d.ts +0 -2
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.js +0 -259
- /package/esm/internals/{index.js → RichTreeViewProStore/RichTreeViewProStore.types.js} +0 -0
- /package/esm/internals/plugins/{useTreeViewItemsReordering → itemsReordering}/itemPlugin.d.ts +0 -0
- /package/esm/internals/plugins/{useTreeViewItemsReordering/useTreeViewItemsReordering.types.js → itemsReordering/types.js} +0 -0
- /package/internals/{index.js → RichTreeViewProStore/RichTreeViewProStore.types.js} +0 -0
- /package/internals/plugins/{useTreeViewItemsReordering → itemsReordering}/itemPlugin.d.ts +0 -0
- /package/internals/plugins/{useTreeViewItemsReordering/useTreeViewItemsReordering.types.js → itemsReordering/types.js} +0 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TreeViewItemsReorderingAction } from '@mui/x-tree-view/models';
|
|
2
|
+
export interface TreeViewItemReorderPosition {
|
|
3
|
+
parentId: string | null;
|
|
4
|
+
index: number;
|
|
5
|
+
}
|
|
6
|
+
export type TreeViewItemItemReorderingValidActions = { [key in TreeViewItemsReorderingAction]?: TreeViewItemReorderPosition };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { TreeViewItemId, TreeViewItemsReorderingAction, TreeViewValidItem } from '@mui/x-tree-view/models';
|
|
2
|
+
import { TreeViewItemItemReorderingValidActions, TreeViewItemReorderPosition } from "./types.js";
|
|
3
|
+
import { RichTreeViewProState, RichTreeViewProStore } from "../../RichTreeViewProStore/index.js";
|
|
4
4
|
/**
|
|
5
5
|
* Checks if the item with the id itemIdB is an ancestor of the item with the id itemIdA.
|
|
6
6
|
*/
|
|
7
|
-
export declare const isAncestor: (store:
|
|
7
|
+
export declare const isAncestor: (store: RichTreeViewProStore<any, any>, itemIdA: string, itemIdB: string) => boolean;
|
|
8
8
|
interface GetNewPositionParameters {
|
|
9
9
|
itemChildrenIndentation: string | number;
|
|
10
10
|
validActions: TreeViewItemItemReorderingValidActions;
|
|
@@ -23,7 +23,7 @@ export declare const chooseActionToApply: ({
|
|
|
23
23
|
cursorY,
|
|
24
24
|
contentElement
|
|
25
25
|
}: GetNewPositionParameters) => TreeViewItemsReorderingAction | null;
|
|
26
|
-
export declare const moveItemInTree: <R extends
|
|
26
|
+
export declare const moveItemInTree: <R extends TreeViewValidItem<R>>({
|
|
27
27
|
itemToMoveId,
|
|
28
28
|
oldPosition,
|
|
29
29
|
newPosition,
|
|
@@ -32,6 +32,6 @@ export declare const moveItemInTree: <R extends {}>({
|
|
|
32
32
|
itemToMoveId: TreeViewItemId;
|
|
33
33
|
oldPosition: TreeViewItemReorderPosition;
|
|
34
34
|
newPosition: TreeViewItemReorderPosition;
|
|
35
|
-
prevState:
|
|
36
|
-
}) =>
|
|
35
|
+
prevState: RichTreeViewProState<R, any>;
|
|
36
|
+
}) => Pick<RichTreeViewProState<R, any>, "itemOrderedChildrenIdsLookup" | "itemChildrenIndexesLookup" | "itemMetaLookup">;
|
|
37
37
|
export {};
|
|
@@ -150,9 +150,9 @@ export const moveItemInTree = ({
|
|
|
150
150
|
itemOrderedChildrenIds[itemId]?.forEach(childId => updateItemDepth(childId, depth + 1));
|
|
151
151
|
};
|
|
152
152
|
itemOrderedChildrenIds[itemToMoveId]?.forEach(childId => updateItemDepth(childId, itemToMoveDepth + 1));
|
|
153
|
-
return
|
|
153
|
+
return {
|
|
154
154
|
itemOrderedChildrenIdsLookup: itemOrderedChildrenIds,
|
|
155
155
|
itemChildrenIndexesLookup: itemChildrenIndexes,
|
|
156
156
|
itemMetaLookup
|
|
157
|
-
}
|
|
157
|
+
};
|
|
158
158
|
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { TreeViewItemId } from '@mui/x-tree-view/models';
|
|
2
|
+
import { RichTreeViewProStore } from "../../RichTreeViewProStore/RichTreeViewProStore.js";
|
|
3
|
+
export declare const TREE_VIEW_LAZY_LOADED_ITEMS_INITIAL_STATE: {
|
|
4
|
+
loading: {};
|
|
5
|
+
errors: {};
|
|
6
|
+
};
|
|
7
|
+
export declare class TreeViewLazyLoadingPlugin {
|
|
8
|
+
private store;
|
|
9
|
+
private nestedDataManager;
|
|
10
|
+
private cache;
|
|
11
|
+
constructor(store: RichTreeViewProStore<any, any>);
|
|
12
|
+
private init;
|
|
13
|
+
private handleBeforeItemToggleExpansion;
|
|
14
|
+
private setItemLoading;
|
|
15
|
+
private setItemError;
|
|
16
|
+
buildPublicAPI: () => {
|
|
17
|
+
updateItemChildren: (itemId: TreeViewItemId | null) => Promise<void>;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Method used for fetching multiple items concurrently.
|
|
21
|
+
* Only relevant for lazy-loaded tree views.
|
|
22
|
+
*
|
|
23
|
+
* @param {TreeViewItemId[]} parentIds The ids of the items to fetch the children of.
|
|
24
|
+
* @returns {Promise<void>} The promise resolved when the items are fetched.
|
|
25
|
+
*/
|
|
26
|
+
fetchItems: (parentIds: TreeViewItemId[]) => Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Method used for updating an item's children.
|
|
29
|
+
* Only relevant for lazy-loaded tree views.
|
|
30
|
+
*
|
|
31
|
+
* @param {TreeViewItemId | null} itemId The id of the item to update the children of. If null is passed, it will update the root's children.
|
|
32
|
+
* @returns {Promise<void>} The promise resolved when the items are fetched.
|
|
33
|
+
*/
|
|
34
|
+
updateItemChildren: (itemId: TreeViewItemId | null) => Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Method used for fetching an item's children.
|
|
37
|
+
* Only relevant for lazy-loaded tree views.
|
|
38
|
+
*
|
|
39
|
+
* @param {object} parameters The parameters of the method.
|
|
40
|
+
* @param {TreeViewItemId} parameters.itemId The The id of the item to fetch the children of.
|
|
41
|
+
* @param {boolean} [parameters.forceRefresh] Whether to force a refresh of the children when the cache already contains some data.
|
|
42
|
+
* @returns {Promise<void>} The promise resolved when the items are fetched.
|
|
43
|
+
*/
|
|
44
|
+
fetchItemChildren: ({
|
|
45
|
+
itemId,
|
|
46
|
+
forceRefresh
|
|
47
|
+
}: {
|
|
48
|
+
itemId: TreeViewItemId | null;
|
|
49
|
+
forceRefresh?: boolean;
|
|
50
|
+
}) => Promise<void>;
|
|
51
|
+
}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import { itemsSelectors, lazyLoadingSelectors, TREE_VIEW_ROOT_PARENT_ID, expansionSelectors, selectionSelectors } from '@mui/x-tree-view/internals';
|
|
3
|
+
import { DataSourceCacheDefault } from '@mui/x-tree-view/utils';
|
|
4
|
+
import { NestedDataManager } from "./utils.js";
|
|
5
|
+
export const TREE_VIEW_LAZY_LOADED_ITEMS_INITIAL_STATE = {
|
|
6
|
+
loading: {},
|
|
7
|
+
errors: {}
|
|
8
|
+
};
|
|
9
|
+
export class TreeViewLazyLoadingPlugin {
|
|
10
|
+
nestedDataManager = (() => new NestedDataManager(this))();
|
|
11
|
+
constructor(store) {
|
|
12
|
+
this.store = store;
|
|
13
|
+
this.cache = store.parameters.dataSourceCache ?? new DataSourceCacheDefault({});
|
|
14
|
+
if (store.parameters.dataSource != null) {
|
|
15
|
+
this.init();
|
|
16
|
+
store.subscribeEvent('beforeItemToggleExpansion', this.handleBeforeItemToggleExpansion);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
init = () => {
|
|
20
|
+
const store = this.store;
|
|
21
|
+
// eslint-disable-next-line consistent-this
|
|
22
|
+
const plugin = this;
|
|
23
|
+
const fetchAllExpandedItems = async () => {
|
|
24
|
+
async function fetchChildrenIfExpanded(parentIds) {
|
|
25
|
+
const expandedItems = parentIds.filter(id => expansionSelectors.isItemExpanded(store.state, id));
|
|
26
|
+
if (expandedItems.length > 0) {
|
|
27
|
+
const itemsToLazyLoad = expandedItems.filter(id => itemsSelectors.itemOrderedChildrenIds(store.state, id).length === 0);
|
|
28
|
+
if (itemsToLazyLoad.length > 0) {
|
|
29
|
+
await plugin.fetchItems(itemsToLazyLoad);
|
|
30
|
+
}
|
|
31
|
+
const childrenIds = expandedItems.flatMap(id => itemsSelectors.itemOrderedChildrenIds(store.state, id));
|
|
32
|
+
await fetchChildrenIfExpanded(childrenIds);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (store.parameters.items.length) {
|
|
36
|
+
const newlyExpandableItems = getExpandableItemsFromDataSource(store, store.parameters.dataSource);
|
|
37
|
+
if (newlyExpandableItems.length > 0) {
|
|
38
|
+
store.expansion.addExpandableItems(newlyExpandableItems);
|
|
39
|
+
}
|
|
40
|
+
} else {
|
|
41
|
+
await plugin.fetchItemChildren({
|
|
42
|
+
itemId: null
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
await fetchChildrenIfExpanded(itemsSelectors.itemOrderedChildrenIds(store.state, null));
|
|
46
|
+
};
|
|
47
|
+
fetchAllExpandedItems();
|
|
48
|
+
};
|
|
49
|
+
handleBeforeItemToggleExpansion = async (eventParameters, event) => {
|
|
50
|
+
if (!this.store.parameters.dataSource || !eventParameters.shouldBeExpanded) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// prevent the default expansion behavior
|
|
55
|
+
eventParameters.isExpansionPrevented = true;
|
|
56
|
+
await this.fetchItems([eventParameters.itemId]);
|
|
57
|
+
const hasError = lazyLoadingSelectors.itemHasError(this.store.state, eventParameters.itemId);
|
|
58
|
+
if (!hasError) {
|
|
59
|
+
this.store.expansion.applyItemExpansion({
|
|
60
|
+
itemId: eventParameters.itemId,
|
|
61
|
+
shouldBeExpanded: true,
|
|
62
|
+
event
|
|
63
|
+
});
|
|
64
|
+
if (selectionSelectors.isItemSelected(this.store.state, eventParameters.itemId)) {
|
|
65
|
+
// make sure selection propagation works correctly
|
|
66
|
+
this.store.selection.setItemSelection({
|
|
67
|
+
event,
|
|
68
|
+
itemId: eventParameters.itemId,
|
|
69
|
+
keepExistingSelection: true,
|
|
70
|
+
shouldBeSelected: true
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
setItemLoading = (itemId, isLoading) => {
|
|
76
|
+
if (!this.store.parameters.dataSource || !this.store.state.lazyLoadedItems) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (lazyLoadingSelectors.isItemLoading(this.store.state, itemId) === isLoading) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const itemIdWithDefault = itemId ?? TREE_VIEW_ROOT_PARENT_ID;
|
|
83
|
+
const loading = _extends({}, this.store.state.lazyLoadedItems.loading);
|
|
84
|
+
if (isLoading === false) {
|
|
85
|
+
delete loading[itemIdWithDefault];
|
|
86
|
+
} else {
|
|
87
|
+
loading[itemIdWithDefault] = isLoading;
|
|
88
|
+
}
|
|
89
|
+
this.store.set('lazyLoadedItems', _extends({}, this.store.state.lazyLoadedItems, {
|
|
90
|
+
loading
|
|
91
|
+
}));
|
|
92
|
+
};
|
|
93
|
+
setItemError = (itemId, error) => {
|
|
94
|
+
if (!this.store.parameters.dataSource || !this.store.state.lazyLoadedItems) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
if (lazyLoadingSelectors.itemError(this.store.state, itemId) === error) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const itemIdWithDefault = itemId ?? TREE_VIEW_ROOT_PARENT_ID;
|
|
101
|
+
const errors = _extends({}, this.store.state.lazyLoadedItems.errors);
|
|
102
|
+
if (error === null && errors[itemIdWithDefault] !== undefined) {
|
|
103
|
+
delete errors[itemIdWithDefault];
|
|
104
|
+
} else {
|
|
105
|
+
errors[itemIdWithDefault] = error;
|
|
106
|
+
}
|
|
107
|
+
this.store.set('lazyLoadedItems', _extends({}, this.store.state.lazyLoadedItems, {
|
|
108
|
+
errors
|
|
109
|
+
}));
|
|
110
|
+
};
|
|
111
|
+
buildPublicAPI = () => {
|
|
112
|
+
return {
|
|
113
|
+
updateItemChildren: this.updateItemChildren
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Method used for fetching multiple items concurrently.
|
|
119
|
+
* Only relevant for lazy-loaded tree views.
|
|
120
|
+
*
|
|
121
|
+
* @param {TreeViewItemId[]} parentIds The ids of the items to fetch the children of.
|
|
122
|
+
* @returns {Promise<void>} The promise resolved when the items are fetched.
|
|
123
|
+
*/
|
|
124
|
+
fetchItems = parentIds => this.nestedDataManager.queue(parentIds);
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Method used for updating an item's children.
|
|
128
|
+
* Only relevant for lazy-loaded tree views.
|
|
129
|
+
*
|
|
130
|
+
* @param {TreeViewItemId | null} itemId The id of the item to update the children of. If null is passed, it will update the root's children.
|
|
131
|
+
* @returns {Promise<void>} The promise resolved when the items are fetched.
|
|
132
|
+
*/
|
|
133
|
+
updateItemChildren = itemId => this.fetchItemChildren({
|
|
134
|
+
itemId,
|
|
135
|
+
forceRefresh: true
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Method used for fetching an item's children.
|
|
140
|
+
* Only relevant for lazy-loaded tree views.
|
|
141
|
+
*
|
|
142
|
+
* @param {object} parameters The parameters of the method.
|
|
143
|
+
* @param {TreeViewItemId} parameters.itemId The The id of the item to fetch the children of.
|
|
144
|
+
* @param {boolean} [parameters.forceRefresh] Whether to force a refresh of the children when the cache already contains some data.
|
|
145
|
+
* @returns {Promise<void>} The promise resolved when the items are fetched.
|
|
146
|
+
*/
|
|
147
|
+
fetchItemChildren = async ({
|
|
148
|
+
itemId,
|
|
149
|
+
forceRefresh
|
|
150
|
+
}) => {
|
|
151
|
+
if (!this.store.parameters.dataSource) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const {
|
|
155
|
+
getChildrenCount,
|
|
156
|
+
getTreeItems
|
|
157
|
+
} = this.store.parameters.dataSource;
|
|
158
|
+
// clear the request if the item is not in the tree
|
|
159
|
+
if (itemId != null && !itemsSelectors.itemMeta(this.store.state, itemId)) {
|
|
160
|
+
this.nestedDataManager.clearPendingRequest(itemId);
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// reset the state if we are fetching the root items
|
|
165
|
+
if (itemId == null && !lazyLoadingSelectors.isEmpty(this.store.state)) {
|
|
166
|
+
this.store.set('lazyLoadedItems', TREE_VIEW_LAZY_LOADED_ITEMS_INITIAL_STATE);
|
|
167
|
+
}
|
|
168
|
+
const cacheKey = itemId ?? TREE_VIEW_ROOT_PARENT_ID;
|
|
169
|
+
if (!forceRefresh) {
|
|
170
|
+
// reads from the value from the cache
|
|
171
|
+
const cachedData = this.cache.get(cacheKey);
|
|
172
|
+
if (cachedData !== undefined && cachedData !== -1) {
|
|
173
|
+
if (itemId != null) {
|
|
174
|
+
this.nestedDataManager.setRequestSettled(itemId);
|
|
175
|
+
}
|
|
176
|
+
this.store.items.setItemChildren({
|
|
177
|
+
items: cachedData,
|
|
178
|
+
parentId: itemId,
|
|
179
|
+
getChildrenCount
|
|
180
|
+
});
|
|
181
|
+
this.setItemLoading(itemId, false);
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// set the item loading status to true
|
|
186
|
+
this.setItemLoading(itemId, true);
|
|
187
|
+
if (cachedData === -1) {
|
|
188
|
+
this.store.items.removeChildren(itemId);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
// reset existing error if any
|
|
193
|
+
if (lazyLoadingSelectors.itemError(this.store.state, itemId)) {
|
|
194
|
+
this.setItemError(itemId, null);
|
|
195
|
+
}
|
|
196
|
+
try {
|
|
197
|
+
let response;
|
|
198
|
+
if (itemId == null) {
|
|
199
|
+
response = await getTreeItems();
|
|
200
|
+
} else {
|
|
201
|
+
response = await getTreeItems(itemId);
|
|
202
|
+
this.nestedDataManager.setRequestSettled(itemId);
|
|
203
|
+
}
|
|
204
|
+
// save the response in the cache
|
|
205
|
+
this.cache.set(cacheKey, response);
|
|
206
|
+
// update the items in the state
|
|
207
|
+
this.store.items.setItemChildren({
|
|
208
|
+
items: response,
|
|
209
|
+
parentId: itemId,
|
|
210
|
+
getChildrenCount
|
|
211
|
+
});
|
|
212
|
+
} catch (error) {
|
|
213
|
+
const childrenFetchError = error;
|
|
214
|
+
// set the item error in the state
|
|
215
|
+
this.setItemError(itemId, childrenFetchError);
|
|
216
|
+
if (forceRefresh) {
|
|
217
|
+
this.store.items.removeChildren(itemId);
|
|
218
|
+
}
|
|
219
|
+
} finally {
|
|
220
|
+
// set the item loading status to false
|
|
221
|
+
this.setItemLoading(itemId, false);
|
|
222
|
+
if (itemId != null) {
|
|
223
|
+
this.nestedDataManager.setRequestSettled(itemId);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
function getExpandableItemsFromDataSource(store, dataSource) {
|
|
229
|
+
return Object.values(store.state.itemMetaLookup).filter(itemMeta => !itemMeta.expandable && dataSource.getChildrenCount(store.state.itemModelLookup[itemMeta.id]) !== 0).map(item => item.id);
|
|
230
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { TreeViewItemId } from '@mui/x-tree-view/models';
|
|
2
|
+
export type DataSource<R extends {}> = {
|
|
3
|
+
/**
|
|
4
|
+
* Used to determine the number of children the item has.
|
|
5
|
+
* Only relevant for lazy-loaded trees.
|
|
6
|
+
*
|
|
7
|
+
* @template R
|
|
8
|
+
* @param {R} item The item to check.
|
|
9
|
+
* @returns {number} The number of children.
|
|
10
|
+
*/
|
|
11
|
+
getChildrenCount: (item: R) => number;
|
|
12
|
+
/**
|
|
13
|
+
* Method used for fetching the items.
|
|
14
|
+
* Only relevant for lazy-loaded tree views.
|
|
15
|
+
*
|
|
16
|
+
* @template R
|
|
17
|
+
* @param {TreeViewItemId} parentId The id of the item the children belong to.
|
|
18
|
+
* @returns { Promise<R[]>} The children of the item.
|
|
19
|
+
*/
|
|
20
|
+
getTreeItems: (parentId?: TreeViewItemId) => Promise<R[]>;
|
|
21
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/{internals/plugins/useTreeViewLazyLoading → esm/internals/plugins/lazyLoading}/utils.d.ts
RENAMED
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
import { TreeViewInstance, UseTreeViewLazyLoadingSignature } from '@mui/x-tree-view/internals';
|
|
2
1
|
import { TreeViewItemId } from '@mui/x-tree-view/models';
|
|
2
|
+
import { TreeViewLazyLoadingPlugin } from "./TreeViewLazyLoadingPlugin.js";
|
|
3
3
|
export declare enum RequestStatus {
|
|
4
4
|
QUEUED = 0,
|
|
5
5
|
PENDING = 1,
|
|
6
6
|
SETTLED = 2,
|
|
7
7
|
UNKNOWN = 3,
|
|
8
8
|
}
|
|
9
|
-
/**
|
|
10
|
-
* Plugins that the `NestedDataManager` class can use if they are present, but are not required.
|
|
11
|
-
*/
|
|
12
|
-
export type NestedDataManagerOptionalPlugins = readonly [];
|
|
13
9
|
/**
|
|
14
10
|
* Fetches row children from the server with option to limit the number of concurrent requests
|
|
15
11
|
* Determines the status of a request based on the enum `RequestStatus`
|
|
@@ -19,9 +15,9 @@ export declare class NestedDataManager {
|
|
|
19
15
|
private pendingRequests;
|
|
20
16
|
private queuedRequests;
|
|
21
17
|
private settledRequests;
|
|
22
|
-
private
|
|
18
|
+
private lazyLoadingPlugin;
|
|
23
19
|
private maxConcurrentRequests;
|
|
24
|
-
constructor(
|
|
20
|
+
constructor(lazyLoadingPlugin: TreeViewLazyLoadingPlugin, maxConcurrentRequests?: number);
|
|
25
21
|
private processQueue;
|
|
26
22
|
queue: (ids: TreeViewItemId[]) => Promise<void>;
|
|
27
23
|
setRequestSettled: (id: TreeViewItemId) => Promise<void>;
|
|
@@ -7,14 +7,6 @@ export let RequestStatus = /*#__PURE__*/function (RequestStatus) {
|
|
|
7
7
|
return RequestStatus;
|
|
8
8
|
}({});
|
|
9
9
|
|
|
10
|
-
/**
|
|
11
|
-
* Plugins that need to be present in the Tree View in order for the `NestedDataManager` class to work correctly.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Plugins that the `NestedDataManager` class can use if they are present, but are not required.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
10
|
/**
|
|
19
11
|
* Fetches row children from the server with option to limit the number of concurrent requests
|
|
20
12
|
* Determines the status of a request based on the enum `RequestStatus`
|
|
@@ -24,8 +16,8 @@ export class NestedDataManager {
|
|
|
24
16
|
pendingRequests = (() => new Set())();
|
|
25
17
|
queuedRequests = (() => new Set())();
|
|
26
18
|
settledRequests = (() => new Set())();
|
|
27
|
-
constructor(
|
|
28
|
-
this.
|
|
19
|
+
constructor(lazyLoadingPlugin, maxConcurrentRequests = MAX_CONCURRENT_REQUESTS) {
|
|
20
|
+
this.lazyLoadingPlugin = lazyLoadingPlugin;
|
|
29
21
|
this.maxConcurrentRequests = maxConcurrentRequests;
|
|
30
22
|
}
|
|
31
23
|
processQueue = async () => {
|
|
@@ -42,7 +34,7 @@ export class NestedDataManager {
|
|
|
42
34
|
const id = fetchQueue[i];
|
|
43
35
|
this.queuedRequests.delete(id);
|
|
44
36
|
this.pendingRequests.add(id);
|
|
45
|
-
fetchPromises.push(this.
|
|
37
|
+
fetchPromises.push(this.lazyLoadingPlugin.fetchItemChildren({
|
|
46
38
|
itemId: id
|
|
47
39
|
}));
|
|
48
40
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { TreeViewPublicAPI } from '@mui/x-tree-view/internals';
|
|
3
3
|
import { TreeViewDefaultItemModelProperties, TreeViewValidItem } from '@mui/x-tree-view/models';
|
|
4
|
-
import {
|
|
4
|
+
import { RichTreeViewProStore } from "../internals/RichTreeViewProStore/index.js";
|
|
5
5
|
/**
|
|
6
6
|
* Creates the ref to pass to the `apiRef` prop of the `RichTreeViewPro` component.
|
|
7
7
|
*/
|
|
8
|
-
export declare function useRichTreeViewProApiRef<R extends TreeViewValidItem<R> = TreeViewDefaultItemModelProperties>(): React.RefObject<TreeViewPublicAPI<
|
|
8
|
+
export declare function useRichTreeViewProApiRef<R extends TreeViewValidItem<R> = TreeViewDefaultItemModelProperties>(): React.RefObject<TreeViewPublicAPI<RichTreeViewProStore<R, boolean>> | undefined>;
|
package/index.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ export * from '@mui/x-tree-view/TreeItemIcon';
|
|
|
6
6
|
export * from '@mui/x-tree-view/TreeItemProvider';
|
|
7
7
|
export * from '@mui/x-tree-view/TreeItemDragAndDropOverlay';
|
|
8
8
|
export * from '@mui/x-tree-view/TreeItemLabelInput';
|
|
9
|
-
export { unstable_resetCleanupTracking } from '@mui/x-tree-view/internals';
|
|
10
9
|
export * from '@mui/x-tree-view/models';
|
|
11
10
|
export * from '@mui/x-tree-view/icons';
|
|
12
11
|
export * from '@mui/x-tree-view/hooks';
|
package/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-tree-view-pro v8.
|
|
2
|
+
* @mui/x-tree-view-pro v8.24.0
|
|
3
3
|
*
|
|
4
4
|
* @license SEE LICENSE IN LICENSE
|
|
5
5
|
* This source code is licensed under the SEE LICENSE IN LICENSE license found in the
|
|
@@ -10,19 +10,9 @@
|
|
|
10
10
|
Object.defineProperty(exports, "__esModule", {
|
|
11
11
|
value: true
|
|
12
12
|
});
|
|
13
|
-
var _exportNames = {
|
|
14
|
-
unstable_resetCleanupTracking: true
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "unstable_resetCleanupTracking", {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: function () {
|
|
19
|
-
return _internals.unstable_resetCleanupTracking;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
13
|
var _SimpleTreeView = require("@mui/x-tree-view/SimpleTreeView");
|
|
23
14
|
Object.keys(_SimpleTreeView).forEach(function (key) {
|
|
24
15
|
if (key === "default" || key === "__esModule") return;
|
|
25
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
26
16
|
if (key in exports && exports[key] === _SimpleTreeView[key]) return;
|
|
27
17
|
Object.defineProperty(exports, key, {
|
|
28
18
|
enumerable: true,
|
|
@@ -34,7 +24,6 @@ Object.keys(_SimpleTreeView).forEach(function (key) {
|
|
|
34
24
|
var _RichTreeViewPro = require("./RichTreeViewPro");
|
|
35
25
|
Object.keys(_RichTreeViewPro).forEach(function (key) {
|
|
36
26
|
if (key === "default" || key === "__esModule") return;
|
|
37
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
38
27
|
if (key in exports && exports[key] === _RichTreeViewPro[key]) return;
|
|
39
28
|
Object.defineProperty(exports, key, {
|
|
40
29
|
enumerable: true,
|
|
@@ -46,7 +35,6 @@ Object.keys(_RichTreeViewPro).forEach(function (key) {
|
|
|
46
35
|
var _TreeItem = require("@mui/x-tree-view/TreeItem");
|
|
47
36
|
Object.keys(_TreeItem).forEach(function (key) {
|
|
48
37
|
if (key === "default" || key === "__esModule") return;
|
|
49
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
50
38
|
if (key in exports && exports[key] === _TreeItem[key]) return;
|
|
51
39
|
Object.defineProperty(exports, key, {
|
|
52
40
|
enumerable: true,
|
|
@@ -58,7 +46,6 @@ Object.keys(_TreeItem).forEach(function (key) {
|
|
|
58
46
|
var _useTreeItem = require("@mui/x-tree-view/useTreeItem");
|
|
59
47
|
Object.keys(_useTreeItem).forEach(function (key) {
|
|
60
48
|
if (key === "default" || key === "__esModule") return;
|
|
61
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
62
49
|
if (key in exports && exports[key] === _useTreeItem[key]) return;
|
|
63
50
|
Object.defineProperty(exports, key, {
|
|
64
51
|
enumerable: true,
|
|
@@ -70,7 +57,6 @@ Object.keys(_useTreeItem).forEach(function (key) {
|
|
|
70
57
|
var _TreeItemIcon = require("@mui/x-tree-view/TreeItemIcon");
|
|
71
58
|
Object.keys(_TreeItemIcon).forEach(function (key) {
|
|
72
59
|
if (key === "default" || key === "__esModule") return;
|
|
73
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
74
60
|
if (key in exports && exports[key] === _TreeItemIcon[key]) return;
|
|
75
61
|
Object.defineProperty(exports, key, {
|
|
76
62
|
enumerable: true,
|
|
@@ -82,7 +68,6 @@ Object.keys(_TreeItemIcon).forEach(function (key) {
|
|
|
82
68
|
var _TreeItemProvider = require("@mui/x-tree-view/TreeItemProvider");
|
|
83
69
|
Object.keys(_TreeItemProvider).forEach(function (key) {
|
|
84
70
|
if (key === "default" || key === "__esModule") return;
|
|
85
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
86
71
|
if (key in exports && exports[key] === _TreeItemProvider[key]) return;
|
|
87
72
|
Object.defineProperty(exports, key, {
|
|
88
73
|
enumerable: true,
|
|
@@ -94,7 +79,6 @@ Object.keys(_TreeItemProvider).forEach(function (key) {
|
|
|
94
79
|
var _TreeItemDragAndDropOverlay = require("@mui/x-tree-view/TreeItemDragAndDropOverlay");
|
|
95
80
|
Object.keys(_TreeItemDragAndDropOverlay).forEach(function (key) {
|
|
96
81
|
if (key === "default" || key === "__esModule") return;
|
|
97
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
98
82
|
if (key in exports && exports[key] === _TreeItemDragAndDropOverlay[key]) return;
|
|
99
83
|
Object.defineProperty(exports, key, {
|
|
100
84
|
enumerable: true,
|
|
@@ -106,7 +90,6 @@ Object.keys(_TreeItemDragAndDropOverlay).forEach(function (key) {
|
|
|
106
90
|
var _TreeItemLabelInput = require("@mui/x-tree-view/TreeItemLabelInput");
|
|
107
91
|
Object.keys(_TreeItemLabelInput).forEach(function (key) {
|
|
108
92
|
if (key === "default" || key === "__esModule") return;
|
|
109
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
110
93
|
if (key in exports && exports[key] === _TreeItemLabelInput[key]) return;
|
|
111
94
|
Object.defineProperty(exports, key, {
|
|
112
95
|
enumerable: true,
|
|
@@ -115,11 +98,9 @@ Object.keys(_TreeItemLabelInput).forEach(function (key) {
|
|
|
115
98
|
}
|
|
116
99
|
});
|
|
117
100
|
});
|
|
118
|
-
var _internals = require("@mui/x-tree-view/internals");
|
|
119
101
|
var _models = require("@mui/x-tree-view/models");
|
|
120
102
|
Object.keys(_models).forEach(function (key) {
|
|
121
103
|
if (key === "default" || key === "__esModule") return;
|
|
122
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
123
104
|
if (key in exports && exports[key] === _models[key]) return;
|
|
124
105
|
Object.defineProperty(exports, key, {
|
|
125
106
|
enumerable: true,
|
|
@@ -131,7 +112,6 @@ Object.keys(_models).forEach(function (key) {
|
|
|
131
112
|
var _icons = require("@mui/x-tree-view/icons");
|
|
132
113
|
Object.keys(_icons).forEach(function (key) {
|
|
133
114
|
if (key === "default" || key === "__esModule") return;
|
|
134
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
135
115
|
if (key in exports && exports[key] === _icons[key]) return;
|
|
136
116
|
Object.defineProperty(exports, key, {
|
|
137
117
|
enumerable: true,
|
|
@@ -143,7 +123,6 @@ Object.keys(_icons).forEach(function (key) {
|
|
|
143
123
|
var _hooks = require("@mui/x-tree-view/hooks");
|
|
144
124
|
Object.keys(_hooks).forEach(function (key) {
|
|
145
125
|
if (key === "default" || key === "__esModule") return;
|
|
146
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
147
126
|
if (key in exports && exports[key] === _hooks[key]) return;
|
|
148
127
|
Object.defineProperty(exports, key, {
|
|
149
128
|
enumerable: true,
|
|
@@ -155,7 +134,6 @@ Object.keys(_hooks).forEach(function (key) {
|
|
|
155
134
|
var _hooks2 = require("./hooks");
|
|
156
135
|
Object.keys(_hooks2).forEach(function (key) {
|
|
157
136
|
if (key === "default" || key === "__esModule") return;
|
|
158
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
159
137
|
if (key in exports && exports[key] === _hooks2[key]) return;
|
|
160
138
|
Object.defineProperty(exports, key, {
|
|
161
139
|
enumerable: true,
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ExtendableRichTreeViewStore } from '@mui/x-tree-view/internals';
|
|
2
|
+
import { TreeViewValidItem } from '@mui/x-tree-view/models';
|
|
3
|
+
import { RichTreeViewProStoreParameters, RichTreeViewProState } from "./RichTreeViewProStore.types.js";
|
|
4
|
+
import { TreeViewLazyLoadingPlugin } from "../plugins/lazyLoading/index.js";
|
|
5
|
+
import { TreeViewItemsReorderingPlugin } from "../plugins/itemsReordering/index.js";
|
|
6
|
+
export declare class RichTreeViewProStore<R extends TreeViewValidItem<R>, Multiple extends boolean | undefined> extends ExtendableRichTreeViewStore<R, Multiple, RichTreeViewProState<R, Multiple>, RichTreeViewProStoreParameters<R, Multiple>> {
|
|
7
|
+
lazyLoading: TreeViewLazyLoadingPlugin;
|
|
8
|
+
itemsReordering: TreeViewItemsReorderingPlugin;
|
|
9
|
+
constructor(parameters: RichTreeViewProStoreParameters<R, Multiple>);
|
|
10
|
+
buildPublicAPI(): {
|
|
11
|
+
updateItemChildren: (itemId: import("@mui/x-tree-view").TreeViewItemId | null) => Promise<void>;
|
|
12
|
+
setEditedItem: (itemId: import("@mui/x-tree-view").TreeViewItemId | null) => void;
|
|
13
|
+
updateItemLabel: (itemId: import("@mui/x-tree-view").TreeViewItemId, label: string) => void;
|
|
14
|
+
setItemSelection: ({
|
|
15
|
+
itemId,
|
|
16
|
+
event,
|
|
17
|
+
keepExistingSelection,
|
|
18
|
+
shouldBeSelected
|
|
19
|
+
}: {
|
|
20
|
+
itemId: string;
|
|
21
|
+
event?: React.SyntheticEvent | null;
|
|
22
|
+
shouldBeSelected?: boolean;
|
|
23
|
+
keepExistingSelection?: boolean;
|
|
24
|
+
}) => void;
|
|
25
|
+
isItemExpanded: (itemId: import("@mui/x-tree-view").TreeViewItemId) => boolean;
|
|
26
|
+
setItemExpansion: ({
|
|
27
|
+
itemId,
|
|
28
|
+
event,
|
|
29
|
+
shouldBeExpanded
|
|
30
|
+
}: {
|
|
31
|
+
itemId: import("@mui/x-tree-view").TreeViewItemId;
|
|
32
|
+
event?: React.SyntheticEvent | null;
|
|
33
|
+
shouldBeExpanded?: boolean;
|
|
34
|
+
}) => void;
|
|
35
|
+
focusItem: (event: React.SyntheticEvent | null, itemId: import("@mui/x-tree-view").TreeViewItemId) => void;
|
|
36
|
+
getItem: (itemId: import("@mui/x-tree-view").TreeViewItemId) => R;
|
|
37
|
+
getItemDOMElement: (itemId: import("@mui/x-tree-view").TreeViewItemId) => HTMLElement | null;
|
|
38
|
+
getItemOrderedChildrenIds: (itemId: import("@mui/x-tree-view").TreeViewItemId | null) => import("@mui/x-tree-view").TreeViewItemId[];
|
|
39
|
+
getItemTree: () => R[];
|
|
40
|
+
getParentId: (itemId: import("@mui/x-tree-view").TreeViewItemId) => import("@mui/x-tree-view").TreeViewItemId | null;
|
|
41
|
+
setIsItemDisabled: ({
|
|
42
|
+
itemId,
|
|
43
|
+
shouldBeDisabled
|
|
44
|
+
}: {
|
|
45
|
+
itemId: import("@mui/x-tree-view").TreeViewItemId;
|
|
46
|
+
shouldBeDisabled?: boolean;
|
|
47
|
+
}) => void;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.RichTreeViewProStore = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _internals = require("@mui/x-tree-view/internals");
|
|
10
|
+
var _lazyLoading = require("../plugins/lazyLoading");
|
|
11
|
+
var _itemsReordering = require("../plugins/itemsReordering");
|
|
12
|
+
var _RichTreeViewProStore = require("./RichTreeViewProStore.utils");
|
|
13
|
+
class RichTreeViewProStore extends _internals.ExtendableRichTreeViewStore {
|
|
14
|
+
itemsReordering = new _itemsReordering.TreeViewItemsReorderingPlugin(this);
|
|
15
|
+
constructor(parameters) {
|
|
16
|
+
super(parameters, 'RichTreeViewPro', _RichTreeViewProStore.parametersToStateMapper);
|
|
17
|
+
this.lazyLoading = new _lazyLoading.TreeViewLazyLoadingPlugin(this);
|
|
18
|
+
}
|
|
19
|
+
buildPublicAPI() {
|
|
20
|
+
return (0, _extends2.default)({}, super.buildPublicAPI(), this.lazyLoading.buildPublicAPI());
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.RichTreeViewProStore = RichTreeViewProStore;
|