@mui/x-tree-view-pro 8.0.0-alpha.9 → 8.0.0-beta.1
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 +1523 -0
- package/README.md +1 -1
- package/RichTreeViewPro/RichTreeViewPro.d.ts +5 -5
- package/RichTreeViewPro/RichTreeViewPro.js +101 -89
- package/RichTreeViewPro/RichTreeViewPro.plugins.d.ts +4 -5
- package/RichTreeViewPro/RichTreeViewPro.plugins.js +10 -3
- package/RichTreeViewPro/RichTreeViewPro.types.d.ts +38 -38
- package/RichTreeViewPro/RichTreeViewPro.types.js +5 -1
- package/RichTreeViewPro/index.d.ts +3 -3
- package/RichTreeViewPro/index.js +27 -3
- package/RichTreeViewPro/richTreeViewProClasses.d.ts +3 -3
- package/RichTreeViewPro/richTreeViewProClasses.js +13 -5
- package/esm/RichTreeViewPro/RichTreeViewPro.d.ts +20 -0
- package/{node → esm}/RichTreeViewPro/RichTreeViewPro.js +95 -95
- package/esm/RichTreeViewPro/RichTreeViewPro.plugins.d.ts +7 -0
- package/esm/RichTreeViewPro/RichTreeViewPro.plugins.js +6 -0
- package/esm/RichTreeViewPro/RichTreeViewPro.types.d.ts +51 -0
- package/esm/RichTreeViewPro/RichTreeViewPro.types.js +1 -0
- package/esm/RichTreeViewPro/index.d.ts +3 -0
- package/esm/RichTreeViewPro/index.js +3 -0
- package/esm/RichTreeViewPro/richTreeViewProClasses.d.ts +7 -0
- package/esm/RichTreeViewPro/richTreeViewProClasses.js +6 -0
- package/esm/index.d.ts +12 -0
- package/esm/index.js +22 -0
- package/esm/internals/index.d.ts +1 -0
- package/esm/internals/index.js +1 -0
- package/esm/internals/plugins/useTreeViewItemsReordering/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewItemsReordering/index.js +1 -0
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.d.ts +3 -0
- package/{node → esm}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.js +13 -22
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +203 -0
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +417 -0
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +50 -0
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +127 -0
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.js +1 -0
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts +37 -0
- package/{node → esm}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.js +21 -31
- package/esm/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/index.js +1 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.js +288 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/utils.d.ts +32 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/utils.js +85 -0
- package/esm/internals/utils/releaseInfo.d.ts +1 -0
- package/esm/internals/utils/releaseInfo.js +13 -0
- package/esm/internals/zero-styled/index.d.ts +3 -0
- package/esm/internals/zero-styled/index.js +7 -0
- package/esm/package.json +1 -0
- package/esm/themeAugmentation/components.d.ts +11 -0
- package/esm/themeAugmentation/index.d.ts +3 -0
- package/esm/themeAugmentation/index.js +0 -0
- package/esm/themeAugmentation/overrides.d.ts +12 -0
- package/esm/themeAugmentation/props.d.ts +10 -0
- package/index.d.ts +2 -2
- package/index.js +147 -15
- package/internals/index.d.ts +1 -1
- package/internals/index.js +12 -1
- package/internals/plugins/useTreeViewItemsReordering/index.d.ts +2 -2
- package/internals/plugins/useTreeViewItemsReordering/index.js +12 -1
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.d.ts +2 -2
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.d.ts +1 -1
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.js +22 -13
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +81 -69
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +335 -97
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +30 -9
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +105 -119
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.js +5 -1
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts +28 -15
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.js +31 -21
- package/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
- package/internals/plugins/useTreeViewLazyLoading/index.js +12 -0
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.d.ts +3 -0
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.js +297 -0
- package/internals/plugins/useTreeViewLazyLoading/utils.d.ts +32 -0
- package/internals/plugins/useTreeViewLazyLoading/utils.js +89 -0
- package/internals/utils/releaseInfo.d.ts +1 -1
- package/internals/utils/releaseInfo.js +13 -5
- package/internals/zero-styled/index.d.ts +1 -1
- package/internals/zero-styled/index.js +14 -4
- package/modern/RichTreeViewPro/RichTreeViewPro.d.ts +20 -0
- package/modern/RichTreeViewPro/RichTreeViewPro.js +21 -15
- package/modern/RichTreeViewPro/RichTreeViewPro.plugins.d.ts +7 -0
- package/modern/RichTreeViewPro/RichTreeViewPro.plugins.js +2 -1
- package/modern/RichTreeViewPro/RichTreeViewPro.types.d.ts +51 -0
- package/modern/RichTreeViewPro/index.d.ts +3 -0
- package/modern/RichTreeViewPro/richTreeViewProClasses.d.ts +7 -0
- package/modern/index.d.ts +12 -0
- package/modern/index.js +1 -1
- package/modern/internals/index.d.ts +1 -0
- package/modern/internals/plugins/useTreeViewItemsReordering/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.js +6 -6
- package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +54 -51
- package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +417 -0
- package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +23 -8
- package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +127 -0
- package/modern/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts +37 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/index.js +1 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.js +288 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/utils.d.ts +32 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/utils.js +85 -0
- package/modern/internals/utils/releaseInfo.d.ts +1 -0
- package/modern/internals/utils/releaseInfo.js +1 -1
- package/modern/internals/zero-styled/index.d.ts +3 -0
- package/modern/package.json +1 -0
- package/modern/themeAugmentation/components.d.ts +11 -0
- package/modern/themeAugmentation/index.d.ts +3 -0
- package/modern/themeAugmentation/overrides.d.ts +12 -0
- package/modern/themeAugmentation/props.d.ts +10 -0
- package/package.json +43 -10
- package/themeAugmentation/components.d.ts +1 -3
- package/themeAugmentation/index.d.ts +1 -1
- package/themeAugmentation/index.js +1 -0
- package/themeAugmentation/overrides.d.ts +2 -3
- package/themeAugmentation/props.d.ts +2 -4
- package/tsconfig.build.tsbuildinfo +1 -0
- package/RichTreeViewPro/package.json +0 -6
- package/internals/package.json +0 -6
- package/node/RichTreeViewPro/RichTreeViewPro.plugins.js +0 -11
- package/node/RichTreeViewPro/RichTreeViewPro.types.js +0 -5
- package/node/RichTreeViewPro/index.js +0 -27
- package/node/RichTreeViewPro/richTreeViewProClasses.js +0 -14
- package/node/index.js +0 -154
- package/node/internals/index.js +0 -12
- package/node/internals/plugins/useTreeViewItemsReordering/index.js +0 -12
- package/node/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +0 -209
- package/node/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +0 -42
- package/node/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.js +0 -5
- package/node/internals/utils/releaseInfo.js +0 -21
- package/node/internals/zero-styled/index.js +0 -17
- package/node/themeAugmentation/index.js +0 -1
- package/themeAugmentation/package.json +0 -6
|
@@ -4,138 +4,124 @@ import { TreeViewPluginSignature, UseTreeViewItemsSignature } from '@mui/x-tree-
|
|
|
4
4
|
import { TreeViewItemId, TreeViewItemsReorderingAction, TreeViewCancellableEventHandler } from '@mui/x-tree-view/models';
|
|
5
5
|
import { TreeItemDragAndDropOverlayProps } from '@mui/x-tree-view/TreeItemDragAndDropOverlay';
|
|
6
6
|
export interface UseTreeViewItemsReorderingInstance {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Check if a given item can be dragged.
|
|
9
|
+
* @param {TreeViewItemId} itemId The id of the item to check.
|
|
10
|
+
* @returns {boolean} `true` if the item can be dragged, `false` otherwise.
|
|
11
|
+
*/
|
|
12
|
+
canItemBeDragged: (itemId: TreeViewItemId) => boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Get the valid reordering action if a given item is the target of the ongoing reordering.
|
|
15
|
+
* @param {TreeViewItemId} itemId The id of the item to get the action of.
|
|
16
|
+
* @returns {TreeViewItemItemReorderingValidActions} The valid actions for the item.
|
|
17
|
+
*/
|
|
18
|
+
getDroppingTargetValidActions: (itemId: TreeViewItemId) => TreeViewItemItemReorderingValidActions;
|
|
19
|
+
/**
|
|
20
|
+
* Start a reordering for the given item.
|
|
21
|
+
* @param {TreeViewItemId} itemId The id of the item to start the reordering for.
|
|
22
|
+
*/
|
|
23
|
+
startDraggingItem: (itemId: TreeViewItemId) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Stop the reordering of a given item.
|
|
26
|
+
* @param {TreeViewItemId} itemId The id of the item to stop the reordering for.
|
|
27
|
+
*/
|
|
28
|
+
stopDraggingItem: (itemId: TreeViewItemId) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Set the new target item for the ongoing reordering.
|
|
31
|
+
* The action will be determined based on the position of the cursor inside the target and the valid actions for this target.
|
|
32
|
+
* @param {object} params The params describing the new target item.
|
|
33
|
+
* @param {TreeViewItemId} params.itemId The id of the new target item.
|
|
34
|
+
* @param {TreeViewItemItemReorderingValidActions} params.validActions The valid actions for the new target item.
|
|
35
|
+
* @param {number} params.targetHeight The height of the target item.
|
|
36
|
+
* @param {number} params.cursorY The Y coordinate of the mouse cursor.
|
|
37
|
+
* @param {number} params.cursorX The X coordinate of the mouse cursor.
|
|
38
|
+
* @param {HTMLDivElement} params.contentElement The DOM element rendered for the content slot.
|
|
39
|
+
*/
|
|
40
|
+
setDragTargetItem: (params: {
|
|
41
|
+
itemId: TreeViewItemId;
|
|
42
|
+
validActions: TreeViewItemItemReorderingValidActions;
|
|
43
|
+
targetHeight: number;
|
|
44
|
+
cursorY: number;
|
|
45
|
+
cursorX: number;
|
|
46
|
+
contentElement: HTMLDivElement;
|
|
47
|
+
}) => void;
|
|
48
48
|
}
|
|
49
49
|
export interface TreeViewItemReorderPosition {
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
parentId: string | null;
|
|
51
|
+
index: number;
|
|
52
52
|
}
|
|
53
|
-
export type TreeViewItemItemReorderingValidActions = {
|
|
54
|
-
[key in TreeViewItemsReorderingAction]?: TreeViewItemReorderPosition;
|
|
55
|
-
};
|
|
53
|
+
export type TreeViewItemItemReorderingValidActions = { [key in TreeViewItemsReorderingAction]?: TreeViewItemReorderPosition };
|
|
56
54
|
export interface UseTreeViewItemsReorderingParameters {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
newPosition: TreeViewItemReorderPosition;
|
|
95
|
-
}) => void;
|
|
55
|
+
/**
|
|
56
|
+
* If `true`, the reordering of items is enabled.
|
|
57
|
+
* @default false
|
|
58
|
+
*/
|
|
59
|
+
itemsReordering?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Determine if a given item can be reordered.
|
|
62
|
+
* @param {string} itemId The id of the item to check.
|
|
63
|
+
* @returns {boolean} `true` if the item can be reordered.
|
|
64
|
+
* @default () => true
|
|
65
|
+
*/
|
|
66
|
+
isItemReorderable?: (itemId: string) => boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Used to determine if a given item can move to some new position.
|
|
69
|
+
* @param {object} params The params describing the item re-ordering.
|
|
70
|
+
* @param {string} params.itemId The id of the item that is being moved to a new position.
|
|
71
|
+
* @param {TreeViewItemReorderPosition} params.oldPosition The old position of the item.
|
|
72
|
+
* @param {TreeViewItemReorderPosition} params.newPosition The new position of the item.
|
|
73
|
+
* @returns {boolean} `true` if the item can move to the new position.
|
|
74
|
+
*/
|
|
75
|
+
canMoveItemToNewPosition?: (params: {
|
|
76
|
+
itemId: string;
|
|
77
|
+
oldPosition: TreeViewItemReorderPosition;
|
|
78
|
+
newPosition: TreeViewItemReorderPosition;
|
|
79
|
+
}) => boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Callback fired when a Tree Item is moved in the tree.
|
|
82
|
+
* @param {object} params The params describing the item re-ordering.
|
|
83
|
+
* @param {string} params.itemId The id of the item moved.
|
|
84
|
+
* @param {TreeViewItemReorderPosition} params.oldPosition The old position of the item.
|
|
85
|
+
* @param {TreeViewItemReorderPosition} params.newPosition The new position of the item.
|
|
86
|
+
*/
|
|
87
|
+
onItemPositionChange?: (params: {
|
|
88
|
+
itemId: string;
|
|
89
|
+
oldPosition: TreeViewItemReorderPosition;
|
|
90
|
+
newPosition: TreeViewItemReorderPosition;
|
|
91
|
+
}) => void;
|
|
96
92
|
}
|
|
97
93
|
export type UseTreeViewItemsReorderingDefaultizedParameters = DefaultizedProps<UseTreeViewItemsReorderingParameters, 'itemsReordering'>;
|
|
98
94
|
export interface UseTreeViewItemsReorderingState {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
95
|
+
itemsReordering: {
|
|
96
|
+
isItemReorderable: (itemId: string) => boolean;
|
|
97
|
+
currentReorder: {
|
|
98
|
+
draggedItemId: string;
|
|
99
|
+
targetItemId: string;
|
|
100
|
+
newPosition: TreeViewItemReorderPosition | null;
|
|
101
|
+
action: TreeViewItemsReorderingAction | null;
|
|
104
102
|
} | null;
|
|
105
|
-
}
|
|
106
|
-
interface UseTreeViewItemsReorderingContextValue {
|
|
107
|
-
itemsReordering: {
|
|
108
|
-
enabled: boolean;
|
|
109
|
-
isItemReorderable: ((itemId: string) => boolean) | undefined;
|
|
110
|
-
};
|
|
103
|
+
};
|
|
111
104
|
}
|
|
112
105
|
export type UseTreeViewItemsReorderingSignature = TreeViewPluginSignature<{
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
experimentalFeatures: 'itemsReordering';
|
|
119
|
-
dependencies: [UseTreeViewItemsSignature];
|
|
106
|
+
params: UseTreeViewItemsReorderingParameters;
|
|
107
|
+
defaultizedParams: UseTreeViewItemsReorderingDefaultizedParameters;
|
|
108
|
+
instance: UseTreeViewItemsReorderingInstance;
|
|
109
|
+
state: UseTreeViewItemsReorderingState;
|
|
110
|
+
dependencies: [UseTreeViewItemsSignature];
|
|
120
111
|
}>;
|
|
121
112
|
export interface UseTreeItemRootSlotPropsFromItemsReordering {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
113
|
+
draggable?: true;
|
|
114
|
+
onDragStart?: TreeViewCancellableEventHandler<React.DragEvent>;
|
|
115
|
+
onDragOver?: TreeViewCancellableEventHandler<React.DragEvent>;
|
|
116
|
+
onDragEnd?: TreeViewCancellableEventHandler<React.DragEvent>;
|
|
126
117
|
}
|
|
127
118
|
export interface UseTreeItemContentSlotPropsFromItemsReordering {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
export interface UseTreeItemDragAndDropOverlaySlotPropsFromItemsReordering extends TreeItemDragAndDropOverlayProps {
|
|
119
|
+
onDragEnter?: TreeViewCancellableEventHandler<React.DragEvent>;
|
|
120
|
+
onDragOver?: TreeViewCancellableEventHandler<React.DragEvent>;
|
|
132
121
|
}
|
|
122
|
+
export interface UseTreeItemDragAndDropOverlaySlotPropsFromItemsReordering extends TreeItemDragAndDropOverlayProps {}
|
|
133
123
|
declare module '@mui/x-tree-view/useTreeItem' {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
interface UseTreeItemDragAndDropOverlaySlotOwnProps extends UseTreeItemDragAndDropOverlaySlotPropsFromItemsReordering {
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
export {};
|
|
124
|
+
interface UseTreeItemRootSlotOwnProps extends UseTreeItemRootSlotPropsFromItemsReordering {}
|
|
125
|
+
interface UseTreeItemContentSlotOwnProps extends UseTreeItemContentSlotPropsFromItemsReordering {}
|
|
126
|
+
interface UseTreeItemDragAndDropOverlaySlotOwnProps extends UseTreeItemDragAndDropOverlaySlotPropsFromItemsReordering {}
|
|
127
|
+
}
|
|
@@ -1,24 +1,37 @@
|
|
|
1
1
|
import { TreeViewUsedStore, UseTreeViewItemsState } from '@mui/x-tree-view/internals';
|
|
2
2
|
import { TreeViewItemId, TreeViewItemsReorderingAction } from '@mui/x-tree-view/models';
|
|
3
|
-
import { TreeViewItemItemReorderingValidActions, TreeViewItemReorderPosition, UseTreeViewItemsReorderingSignature } from
|
|
3
|
+
import { TreeViewItemItemReorderingValidActions, TreeViewItemReorderPosition, UseTreeViewItemsReorderingSignature } from "./useTreeViewItemsReordering.types.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
7
|
export declare const isAncestor: (store: TreeViewUsedStore<UseTreeViewItemsReorderingSignature>, itemIdA: string, itemIdB: string) => boolean;
|
|
8
8
|
interface GetNewPositionParams {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
itemChildrenIndentation: string | number;
|
|
10
|
+
validActions: TreeViewItemItemReorderingValidActions;
|
|
11
|
+
targetHeight: number;
|
|
12
|
+
targetDepth: number;
|
|
13
|
+
cursorY: number;
|
|
14
|
+
cursorX: number;
|
|
15
|
+
contentElement: HTMLDivElement;
|
|
16
16
|
}
|
|
17
|
-
export declare const chooseActionToApply: ({
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
export declare const chooseActionToApply: ({
|
|
18
|
+
itemChildrenIndentation,
|
|
19
|
+
validActions,
|
|
20
|
+
targetHeight,
|
|
21
|
+
targetDepth,
|
|
22
|
+
cursorX,
|
|
23
|
+
cursorY,
|
|
24
|
+
contentElement
|
|
25
|
+
}: GetNewPositionParams) => TreeViewItemsReorderingAction | null;
|
|
26
|
+
export declare const moveItemInTree: <R extends {}>({
|
|
27
|
+
itemToMoveId,
|
|
28
|
+
oldPosition,
|
|
29
|
+
newPosition,
|
|
30
|
+
prevState
|
|
31
|
+
}: {
|
|
32
|
+
itemToMoveId: TreeViewItemId;
|
|
33
|
+
oldPosition: TreeViewItemReorderPosition;
|
|
34
|
+
newPosition: TreeViewItemReorderPosition;
|
|
35
|
+
prevState: UseTreeViewItemsState<R>["items"];
|
|
23
36
|
}) => UseTreeViewItemsState<R>["items"];
|
|
24
|
-
export {};
|
|
37
|
+
export {};
|
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.moveItemInTree = exports.isAncestor = exports.chooseActionToApply = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _internals = require("@mui/x-tree-view/internals");
|
|
3
10
|
/**
|
|
4
11
|
* Checks if the item with the id itemIdB is an ancestor of the item with the id itemIdA.
|
|
5
12
|
*/
|
|
6
|
-
|
|
7
|
-
const itemMetaA = selectorItemMeta(store.value, itemIdA);
|
|
13
|
+
const isAncestor = (store, itemIdA, itemIdB) => {
|
|
14
|
+
const itemMetaA = (0, _internals.selectorItemMeta)(store.value, itemIdA);
|
|
8
15
|
if (itemMetaA.parentId === itemIdB) {
|
|
9
16
|
return true;
|
|
10
17
|
}
|
|
@@ -19,6 +26,7 @@ export const isAncestor = (store, itemIdA, itemIdB) => {
|
|
|
19
26
|
* @param {string | null} itemChildrenIndentation The indentation as passed to the `itemChildrenIndentation` prop.
|
|
20
27
|
* @param {HTMLElement} contentElement The DOM element to which the indentation will be applied.
|
|
21
28
|
*/
|
|
29
|
+
exports.isAncestor = isAncestor;
|
|
22
30
|
const parseItemChildrenIndentation = (itemChildrenIndentation, contentElement) => {
|
|
23
31
|
if (typeof itemChildrenIndentation === 'number') {
|
|
24
32
|
return itemChildrenIndentation;
|
|
@@ -37,7 +45,7 @@ const parseItemChildrenIndentation = (itemChildrenIndentation, contentElement) =
|
|
|
37
45
|
contentElement.removeChild(tempElement);
|
|
38
46
|
return value;
|
|
39
47
|
};
|
|
40
|
-
|
|
48
|
+
const chooseActionToApply = ({
|
|
41
49
|
itemChildrenIndentation,
|
|
42
50
|
validActions,
|
|
43
51
|
targetHeight,
|
|
@@ -82,23 +90,24 @@ export const chooseActionToApply = ({
|
|
|
82
90
|
}
|
|
83
91
|
return action;
|
|
84
92
|
};
|
|
85
|
-
|
|
93
|
+
exports.chooseActionToApply = chooseActionToApply;
|
|
94
|
+
const moveItemInTree = ({
|
|
86
95
|
itemToMoveId,
|
|
87
96
|
oldPosition,
|
|
88
97
|
newPosition,
|
|
89
98
|
prevState
|
|
90
99
|
}) => {
|
|
91
100
|
const itemToMoveMeta = prevState.itemMetaLookup[itemToMoveId];
|
|
92
|
-
const oldParentId = oldPosition.parentId ?? TREE_VIEW_ROOT_PARENT_ID;
|
|
93
|
-
const newParentId = newPosition.parentId ?? TREE_VIEW_ROOT_PARENT_ID;
|
|
101
|
+
const oldParentId = oldPosition.parentId ?? _internals.TREE_VIEW_ROOT_PARENT_ID;
|
|
102
|
+
const newParentId = newPosition.parentId ?? _internals.TREE_VIEW_ROOT_PARENT_ID;
|
|
94
103
|
|
|
95
104
|
// 1. Update the `itemOrderedChildrenIds`.
|
|
96
|
-
const itemOrderedChildrenIds =
|
|
105
|
+
const itemOrderedChildrenIds = (0, _extends2.default)({}, prevState.itemOrderedChildrenIdsLookup);
|
|
97
106
|
if (oldParentId === newParentId) {
|
|
98
107
|
const updatedChildren = [...itemOrderedChildrenIds[oldParentId]];
|
|
99
108
|
updatedChildren.splice(oldPosition.index, 1);
|
|
100
109
|
updatedChildren.splice(newPosition.index, 0, itemToMoveId);
|
|
101
|
-
itemOrderedChildrenIds[itemToMoveMeta.parentId ?? TREE_VIEW_ROOT_PARENT_ID] = updatedChildren;
|
|
110
|
+
itemOrderedChildrenIds[itemToMoveMeta.parentId ?? _internals.TREE_VIEW_ROOT_PARENT_ID] = updatedChildren;
|
|
102
111
|
} else {
|
|
103
112
|
const updatedOldParentChildren = [...itemOrderedChildrenIds[oldParentId]];
|
|
104
113
|
updatedOldParentChildren.splice(oldPosition.index, 1);
|
|
@@ -109,50 +118,51 @@ export const moveItemInTree = ({
|
|
|
109
118
|
}
|
|
110
119
|
|
|
111
120
|
// 2. Update the `itemChildrenIndexes`
|
|
112
|
-
const itemChildrenIndexes =
|
|
113
|
-
itemChildrenIndexes[oldParentId] = buildSiblingIndexes(itemOrderedChildrenIds[oldParentId]);
|
|
121
|
+
const itemChildrenIndexes = (0, _extends2.default)({}, prevState.itemChildrenIndexesLookup);
|
|
122
|
+
itemChildrenIndexes[oldParentId] = (0, _internals.buildSiblingIndexes)(itemOrderedChildrenIds[oldParentId]);
|
|
114
123
|
if (newParentId !== oldParentId) {
|
|
115
|
-
itemChildrenIndexes[newParentId] = buildSiblingIndexes(itemOrderedChildrenIds[newParentId]);
|
|
124
|
+
itemChildrenIndexes[newParentId] = (0, _internals.buildSiblingIndexes)(itemOrderedChildrenIds[newParentId]);
|
|
116
125
|
}
|
|
117
126
|
|
|
118
127
|
// 3. Update the `itemMetaLookup`
|
|
119
|
-
const itemMetaLookup =
|
|
128
|
+
const itemMetaLookup = (0, _extends2.default)({}, prevState.itemMetaLookup);
|
|
120
129
|
|
|
121
130
|
// 3.1 Update the `expandable` property of the old and the new parent
|
|
122
131
|
function updateExpandable(itemId) {
|
|
123
132
|
const isExpandable = itemOrderedChildrenIds[itemId].length > 0;
|
|
124
133
|
if (itemMetaLookup[itemId].expandable !== isExpandable) {
|
|
125
|
-
itemMetaLookup[itemId] =
|
|
134
|
+
itemMetaLookup[itemId] = (0, _extends2.default)({}, itemMetaLookup[itemId], {
|
|
126
135
|
expandable: isExpandable
|
|
127
136
|
});
|
|
128
137
|
}
|
|
129
138
|
}
|
|
130
|
-
if (oldParentId !== TREE_VIEW_ROOT_PARENT_ID && oldParentId !== newParentId) {
|
|
139
|
+
if (oldParentId !== _internals.TREE_VIEW_ROOT_PARENT_ID && oldParentId !== newParentId) {
|
|
131
140
|
updateExpandable(oldParentId);
|
|
132
141
|
}
|
|
133
|
-
if (newParentId !== TREE_VIEW_ROOT_PARENT_ID && newParentId !== oldParentId) {
|
|
142
|
+
if (newParentId !== _internals.TREE_VIEW_ROOT_PARENT_ID && newParentId !== oldParentId) {
|
|
134
143
|
updateExpandable(newParentId);
|
|
135
144
|
}
|
|
136
145
|
|
|
137
146
|
// 3.2 Update the `parentId` and `depth` properties of the item to move
|
|
138
147
|
// The depth is always defined because drag&drop is only usable with Rich Tree View components.
|
|
139
148
|
const itemToMoveDepth = newPosition.parentId == null ? 0 : itemMetaLookup[newParentId].depth + 1;
|
|
140
|
-
itemMetaLookup[itemToMoveId] =
|
|
149
|
+
itemMetaLookup[itemToMoveId] = (0, _extends2.default)({}, itemToMoveMeta, {
|
|
141
150
|
parentId: newPosition.parentId,
|
|
142
151
|
depth: itemToMoveDepth
|
|
143
152
|
});
|
|
144
153
|
|
|
145
154
|
// 3.3 Update the depth of all the children of the item to move
|
|
146
155
|
const updateItemDepth = (itemId, depth) => {
|
|
147
|
-
itemMetaLookup[itemId] =
|
|
156
|
+
itemMetaLookup[itemId] = (0, _extends2.default)({}, itemMetaLookup[itemId], {
|
|
148
157
|
depth
|
|
149
158
|
});
|
|
150
159
|
itemOrderedChildrenIds[itemId]?.forEach(childId => updateItemDepth(childId, depth + 1));
|
|
151
160
|
};
|
|
152
161
|
itemOrderedChildrenIds[itemToMoveId]?.forEach(childId => updateItemDepth(childId, itemToMoveDepth + 1));
|
|
153
|
-
return
|
|
162
|
+
return (0, _extends2.default)({}, prevState, {
|
|
154
163
|
itemOrderedChildrenIdsLookup: itemOrderedChildrenIds,
|
|
155
164
|
itemChildrenIndexesLookup: itemChildrenIndexes,
|
|
156
165
|
itemMetaLookup
|
|
157
166
|
});
|
|
158
|
-
};
|
|
167
|
+
};
|
|
168
|
+
exports.moveItemInTree = moveItemInTree;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useTreeViewLazyLoading } from "./useTreeViewLazyLoading.js";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "useTreeViewLazyLoading", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useTreeViewLazyLoading.useTreeViewLazyLoading;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _useTreeViewLazyLoading = require("./useTreeViewLazyLoading");
|