@mui/x-tree-view-pro 8.18.0 → 8.19.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 +113 -0
- package/RichTreeViewPro/RichTreeViewPro.js +1 -1
- package/esm/RichTreeViewPro/RichTreeViewPro.js +1 -1
- package/esm/index.js +1 -1
- package/esm/internals/plugins/useTreeViewItemsReordering/itemPlugin.js +6 -9
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +0 -11
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +2 -2
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +2 -5
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +0 -6
- package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts +2 -2
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.js +1 -1
- package/index.js +1 -1
- package/internals/plugins/useTreeViewItemsReordering/itemPlugin.js +6 -9
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +0 -11
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts +2 -2
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js +2 -5
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +0 -6
- package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts +2 -2
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.js +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,119 @@
|
|
|
5
5
|
All notable changes to this project will be documented in this file.
|
|
6
6
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
7
7
|
|
|
8
|
+
## 8.19.0
|
|
9
|
+
|
|
10
|
+
_Nov 20, 2025_
|
|
11
|
+
|
|
12
|
+
We'd like to extend a big thank you to the 15 contributors who made this release possible. Here are some highlights ✨:
|
|
13
|
+
|
|
14
|
+
- 🔎 Add pan on `wheel` to the charts zoom
|
|
15
|
+
- ⌨️ Allow opt-in to [tab navigation](https://mui.com/x/react-data-grid/accessibility/#tab-navigation) inside the Data Grid.
|
|
16
|
+
- ⚙️ New way of defining [action columns](https://mui.com/x/react-data-grid/column-definition/#ActionsWithModalGrid.tsx) in the Data Grid that makes it easier to keep `columns` prop stable.
|
|
17
|
+
- 🐞 Bugfixes
|
|
18
|
+
- 📚 Documentation improvements
|
|
19
|
+
|
|
20
|
+
Special thanks go out to these community members for their valuable contributions:
|
|
21
|
+
@lauri865, @noobyogi0010, @sai6855
|
|
22
|
+
|
|
23
|
+
The following team members contributed to this release:
|
|
24
|
+
@alexfauquette, @arminmeh, @bernardobelchior, @cherniavskii, @flaviendelangle, @Janpot, @JCQuintas, @mj12albert, @noraleonte, @rita-codes, @siriwatknp, @ZeeshanTamboli
|
|
25
|
+
|
|
26
|
+
### Data Grid
|
|
27
|
+
|
|
28
|
+
#### `@mui/x-data-grid@8.19.0`
|
|
29
|
+
|
|
30
|
+
- [DataGrid] Add `tabNavigation` prop to control tab navigation in the grid (#20286) @arminmeh
|
|
31
|
+
- [DataGrid] Allow to focus disabled checkbox cells (#19959) @mj12albert
|
|
32
|
+
- [DataGrid] Alternative actions column definition API (#15041) @cherniavskii
|
|
33
|
+
- [DataGrid] Fix failing tests (#20332) @cherniavskii
|
|
34
|
+
- [DataGrid] Prevent Safari 26 error in the event handler (#20369) @arminmeh
|
|
35
|
+
- [DataGrid] Undeprecate the `autoHeight` prop (#20363) @cherniavskii
|
|
36
|
+
- [DataGrid] Fix print export grid dimensions with dynamic row height and print styles (#19835) @cherniavskii
|
|
37
|
+
|
|
38
|
+
#### `@mui/x-data-grid-pro@8.19.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
39
|
+
|
|
40
|
+
Same changes as in `@mui/x-data-grid@8.19.0`.
|
|
41
|
+
|
|
42
|
+
#### `@mui/x-data-grid-premium@8.19.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
43
|
+
|
|
44
|
+
Same changes as in `@mui/x-data-grid-pro@8.19.0`, plus:
|
|
45
|
+
|
|
46
|
+
- [DataGridPremium] Fix aggregation with sorting (#19892) @lauri865
|
|
47
|
+
- [DataGridPremium] Lock `ExcelJS` version (#20329) @cherniavskii
|
|
48
|
+
|
|
49
|
+
### Date and Time Pickers
|
|
50
|
+
|
|
51
|
+
#### `@mui/x-date-pickers@8.19.0`
|
|
52
|
+
|
|
53
|
+
- [pickers] Do not loose `slotProps.field.slotProps` (#20322) @flaviendelangle
|
|
54
|
+
|
|
55
|
+
#### `@mui/x-date-pickers-pro@8.19.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
56
|
+
|
|
57
|
+
Same changes as in `@mui/x-date-pickers@8.19.0`.
|
|
58
|
+
|
|
59
|
+
### Charts
|
|
60
|
+
|
|
61
|
+
#### `@mui/x-charts@8.19.0`
|
|
62
|
+
|
|
63
|
+
- [charts] Expose `niceDomain` utility (#20250) @bernardobelchior
|
|
64
|
+
- [charts] Fix benchmark regression by downgrading to JSDOM v26 (#20405) @bernardobelchior
|
|
65
|
+
- [charts] Fix Pie Chart keyboard focus highlight (#20358) @JCQuintas
|
|
66
|
+
- [charts] Memoize series selectors (#20326) @JCQuintas
|
|
67
|
+
- [charts] Relax dataset type (#20294) @bernardobelchior
|
|
68
|
+
- [charts] Remove `touch-action: pan-y` when zoom is disabled (#20204) @bernardobelchior
|
|
69
|
+
- [charts] Use `getBBox()` for correct SVG sizes in firefox (#20309) @JCQuintas
|
|
70
|
+
- [charts] Use directly selector from `@mui/x-internals` (#20365) @alexfauquette
|
|
71
|
+
- [charts] Fix unnecessary errors in dev mode (#20380) @JCQuintas
|
|
72
|
+
|
|
73
|
+
#### `@mui/x-charts-pro@8.19.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
74
|
+
|
|
75
|
+
Same changes as in `@mui/x-charts@8.19.0`, plus:
|
|
76
|
+
|
|
77
|
+
- [charts-pro] Add pan on `wheel` to zoom (#19998) @JCQuintas
|
|
78
|
+
- [charts-pro] Fix zoom slider preview having an opaque background in dark mode (#20367) @bernardobelchior
|
|
79
|
+
|
|
80
|
+
#### `@mui/x-charts-premium@8.19.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
81
|
+
|
|
82
|
+
Same changes as in `@mui/x-charts-pro@8.19.0`.
|
|
83
|
+
|
|
84
|
+
### Tree View
|
|
85
|
+
|
|
86
|
+
#### `@mui/x-tree-view@8.19.0`
|
|
87
|
+
|
|
88
|
+
- [tree view] Enable lazy load when children count is not know in tree view (#18680) @noobyogi0010
|
|
89
|
+
- [tree view] Fix unwanted behaviors on the item re-ordering (#20368) @flaviendelangle
|
|
90
|
+
|
|
91
|
+
#### `@mui/x-tree-view-pro@8.19.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
92
|
+
|
|
93
|
+
Same changes as in `@mui/x-tree-view@8.19.0`.
|
|
94
|
+
|
|
95
|
+
### Codemod
|
|
96
|
+
|
|
97
|
+
#### `@mui/x-codemod@8.19.0`
|
|
98
|
+
|
|
99
|
+
Internal changes.
|
|
100
|
+
|
|
101
|
+
### Docs
|
|
102
|
+
|
|
103
|
+
- [docs] Add minimum Typescript version to migration guide (#20320) @siriwatknp
|
|
104
|
+
- [docs] Fix Autosizing documentation (#20348) @siriwatknp
|
|
105
|
+
- [docs] Fix separator opacity in demo (#20293) @sai6855
|
|
106
|
+
- [docs] Replace deprecated `LoadingButton` with `Button` component (#20208) @Janpot
|
|
107
|
+
|
|
108
|
+
### Core
|
|
109
|
+
|
|
110
|
+
- [code-infra] Add new broken links checker (#20120) @Janpot
|
|
111
|
+
- [code-infra] Disable Codspeed pipeline (#20370) @JCQuintas
|
|
112
|
+
- [code-infra] Optimize `checkMaterialVersion` (#20307) @Janpot
|
|
113
|
+
- [code-infra] Use utils from code-infra for changelog and PR creation (#20406) @brijeshb42
|
|
114
|
+
- [docs-infra] Revert `@docsearch/react` (#20313) @Janpot
|
|
115
|
+
|
|
116
|
+
### Miscellaneous
|
|
117
|
+
|
|
118
|
+
- [test] Fix browser tests skipping some projects (#20318) @cherniavskii
|
|
119
|
+
- [test] Update `use-react-version` pnpm script (#20319) @cherniavskii
|
|
120
|
+
|
|
8
121
|
## 8.18.0
|
|
9
122
|
|
|
10
123
|
<!-- generated comparing v8.17.0..master -->
|
package/esm/index.js
CHANGED
|
@@ -16,7 +16,7 @@ export const useTreeViewItemsReorderingItemPlugin = ({
|
|
|
16
16
|
const validActionsRef = React.useRef(null);
|
|
17
17
|
const draggedItemProperties = useStore(store, itemsReorderingSelectors.draggedItemProperties, itemId);
|
|
18
18
|
const canItemBeReordered = useStore(store, itemsReorderingSelectors.canItemBeReordered, itemId);
|
|
19
|
-
const
|
|
19
|
+
const isDragging = useStore(store, itemsReorderingSelectors.isDragging, itemId);
|
|
20
20
|
return {
|
|
21
21
|
propsEnhancers: {
|
|
22
22
|
root: ({
|
|
@@ -24,12 +24,9 @@ export const useTreeViewItemsReorderingItemPlugin = ({
|
|
|
24
24
|
contentRefObject,
|
|
25
25
|
externalEventHandlers
|
|
26
26
|
}) => {
|
|
27
|
-
if (!canItemBeReordered) {
|
|
28
|
-
return {};
|
|
29
|
-
}
|
|
30
27
|
const handleDragStart = event => {
|
|
31
28
|
externalEventHandlers.onDragStart?.(event);
|
|
32
|
-
if (event.defaultMuiPrevented || event.defaultPrevented) {
|
|
29
|
+
if (!canItemBeReordered || event.defaultMuiPrevented || event.defaultPrevented) {
|
|
33
30
|
return;
|
|
34
31
|
}
|
|
35
32
|
|
|
@@ -75,7 +72,7 @@ export const useTreeViewItemsReorderingItemPlugin = ({
|
|
|
75
72
|
instance.completeDraggingItem(itemId);
|
|
76
73
|
};
|
|
77
74
|
return {
|
|
78
|
-
draggable: true,
|
|
75
|
+
draggable: canItemBeReordered ? true : undefined,
|
|
79
76
|
onDragStart: handleDragStart,
|
|
80
77
|
onDragOver: handleRootDragOver,
|
|
81
78
|
onDragEnd: handleRootDragEnd
|
|
@@ -85,15 +82,15 @@ export const useTreeViewItemsReorderingItemPlugin = ({
|
|
|
85
82
|
externalEventHandlers,
|
|
86
83
|
contentRefObject
|
|
87
84
|
}) => {
|
|
88
|
-
if (!
|
|
85
|
+
if (!isDragging) {
|
|
89
86
|
return {};
|
|
90
87
|
}
|
|
91
88
|
const handleDragOver = event => {
|
|
92
89
|
externalEventHandlers.onDragOver?.(event);
|
|
93
|
-
if (event.defaultMuiPrevented || validActionsRef.current == null) {
|
|
90
|
+
if (event.defaultMuiPrevented || validActionsRef.current == null || !contentRefObject.current) {
|
|
94
91
|
return;
|
|
95
92
|
}
|
|
96
|
-
const rect =
|
|
93
|
+
const rect = contentRefObject.current.getBoundingClientRect();
|
|
97
94
|
const y = event.clientY - rect.top;
|
|
98
95
|
const x = event.clientX - rect.left;
|
|
99
96
|
instance.setDragTargetItem({
|
|
@@ -9,16 +9,6 @@ export const useTreeViewItemsReordering = ({
|
|
|
9
9
|
params,
|
|
10
10
|
store
|
|
11
11
|
}) => {
|
|
12
|
-
const canItemBeDragged = React.useCallback(itemId => {
|
|
13
|
-
if (!params.itemsReordering) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
const isItemReorderable = params.isItemReorderable;
|
|
17
|
-
if (isItemReorderable) {
|
|
18
|
-
return isItemReorderable(itemId);
|
|
19
|
-
}
|
|
20
|
-
return true;
|
|
21
|
-
}, [params.itemsReordering, params.isItemReorderable]);
|
|
22
12
|
const getDroppingTargetValidActions = React.useCallback(itemId => {
|
|
23
13
|
const currentReorder = itemsReorderingSelectors.currentReorder(store.state);
|
|
24
14
|
if (!currentReorder) {
|
|
@@ -178,7 +168,6 @@ export const useTreeViewItemsReordering = ({
|
|
|
178
168
|
}, [store, params.itemsReordering, params.isItemReorderable]);
|
|
179
169
|
return {
|
|
180
170
|
instance: {
|
|
181
|
-
canItemBeDragged,
|
|
182
171
|
getDroppingTargetValidActions,
|
|
183
172
|
startDraggingItem,
|
|
184
173
|
cancelDraggingItem,
|
package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts
CHANGED
|
@@ -20,9 +20,9 @@ export declare const itemsReorderingSelectors: {
|
|
|
20
20
|
targetDepth: number;
|
|
21
21
|
} | null;
|
|
22
22
|
/**
|
|
23
|
-
* Checks whether an item is
|
|
23
|
+
* Checks whether an item is being dragged.
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
isDragging: (state: TreeViewState<[UseTreeViewItemsReorderingSignature]>) => boolean;
|
|
26
26
|
/**
|
|
27
27
|
* Checks whether an item can be reordered.
|
|
28
28
|
*/
|
package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js
CHANGED
|
@@ -22,12 +22,9 @@ export const itemsReorderingSelectors = {
|
|
|
22
22
|
};
|
|
23
23
|
}),
|
|
24
24
|
/**
|
|
25
|
-
* Checks whether an item is
|
|
25
|
+
* Checks whether an item is being dragged.
|
|
26
26
|
*/
|
|
27
|
-
|
|
28
|
-
const draggedItemId = state.itemsReordering.currentReorder?.draggedItemId;
|
|
29
|
-
return draggedItemId != null && draggedItemId !== itemId;
|
|
30
|
-
}),
|
|
27
|
+
isDragging: createSelector(state => !!state.itemsReordering.currentReorder?.draggedItemId),
|
|
31
28
|
/**
|
|
32
29
|
* Checks whether an item can be reordered.
|
|
33
30
|
*/
|
package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts
CHANGED
|
@@ -2,12 +2,6 @@ import { DefaultizedProps } from '@mui/x-internals/types';
|
|
|
2
2
|
import { TreeViewPluginSignature, UseTreeViewItemsSignature } from '@mui/x-tree-view/internals';
|
|
3
3
|
import { TreeViewItemId, TreeViewItemsReorderingAction } from '@mui/x-tree-view/models';
|
|
4
4
|
export interface UseTreeViewItemsReorderingInstance {
|
|
5
|
-
/**
|
|
6
|
-
* Check if a given item can be dragged.
|
|
7
|
-
* @param {TreeViewItemId} itemId The id of the item to check.
|
|
8
|
-
* @returns {boolean} `true` if the item can be dragged, `false` otherwise.
|
|
9
|
-
*/
|
|
10
|
-
canItemBeDragged: (itemId: TreeViewItemId) => boolean;
|
|
11
5
|
/**
|
|
12
6
|
* Get the valid reordering action if a given item is the target of the ongoing reordering.
|
|
13
7
|
* @param {TreeViewItemId} itemId The id of the item to get the action of.
|
package/esm/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { TreeViewItemItemReorderingValidActions, TreeViewItemReorderPosition, Us
|
|
|
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
|
-
interface
|
|
8
|
+
interface GetNewPositionParameters {
|
|
9
9
|
itemChildrenIndentation: string | number;
|
|
10
10
|
validActions: TreeViewItemItemReorderingValidActions;
|
|
11
11
|
targetHeight: number;
|
|
@@ -22,7 +22,7 @@ export declare const chooseActionToApply: ({
|
|
|
22
22
|
cursorX,
|
|
23
23
|
cursorY,
|
|
24
24
|
contentElement
|
|
25
|
-
}:
|
|
25
|
+
}: GetNewPositionParameters) => TreeViewItemsReorderingAction | null;
|
|
26
26
|
export declare const moveItemInTree: <R extends {}>({
|
|
27
27
|
itemToMoveId,
|
|
28
28
|
oldPosition,
|
|
@@ -247,5 +247,5 @@ function useLazyLoadOnMount({
|
|
|
247
247
|
}, [instance, params.items, params.dataSource, store]);
|
|
248
248
|
}
|
|
249
249
|
function getExpandableItemsFromDataSource(store, dataSource) {
|
|
250
|
-
return Object.values(store.state.items.itemMetaLookup).filter(itemMeta => !itemMeta.expandable && dataSource.getChildrenCount(store.state.items.itemModelLookup[itemMeta.id])
|
|
250
|
+
return Object.values(store.state.items.itemMetaLookup).filter(itemMeta => !itemMeta.expandable && dataSource.getChildrenCount(store.state.items.itemModelLookup[itemMeta.id]) !== 0).map(item => item.id);
|
|
251
251
|
}
|
package/index.js
CHANGED
|
@@ -24,7 +24,7 @@ const useTreeViewItemsReorderingItemPlugin = ({
|
|
|
24
24
|
const validActionsRef = React.useRef(null);
|
|
25
25
|
const draggedItemProperties = (0, _store.useStore)(store, _useTreeViewItemsReordering.itemsReorderingSelectors.draggedItemProperties, itemId);
|
|
26
26
|
const canItemBeReordered = (0, _store.useStore)(store, _useTreeViewItemsReordering.itemsReorderingSelectors.canItemBeReordered, itemId);
|
|
27
|
-
const
|
|
27
|
+
const isDragging = (0, _store.useStore)(store, _useTreeViewItemsReordering.itemsReorderingSelectors.isDragging, itemId);
|
|
28
28
|
return {
|
|
29
29
|
propsEnhancers: {
|
|
30
30
|
root: ({
|
|
@@ -32,12 +32,9 @@ const useTreeViewItemsReorderingItemPlugin = ({
|
|
|
32
32
|
contentRefObject,
|
|
33
33
|
externalEventHandlers
|
|
34
34
|
}) => {
|
|
35
|
-
if (!canItemBeReordered) {
|
|
36
|
-
return {};
|
|
37
|
-
}
|
|
38
35
|
const handleDragStart = event => {
|
|
39
36
|
externalEventHandlers.onDragStart?.(event);
|
|
40
|
-
if (event.defaultMuiPrevented || event.defaultPrevented) {
|
|
37
|
+
if (!canItemBeReordered || event.defaultMuiPrevented || event.defaultPrevented) {
|
|
41
38
|
return;
|
|
42
39
|
}
|
|
43
40
|
|
|
@@ -83,7 +80,7 @@ const useTreeViewItemsReorderingItemPlugin = ({
|
|
|
83
80
|
instance.completeDraggingItem(itemId);
|
|
84
81
|
};
|
|
85
82
|
return {
|
|
86
|
-
draggable: true,
|
|
83
|
+
draggable: canItemBeReordered ? true : undefined,
|
|
87
84
|
onDragStart: handleDragStart,
|
|
88
85
|
onDragOver: handleRootDragOver,
|
|
89
86
|
onDragEnd: handleRootDragEnd
|
|
@@ -93,15 +90,15 @@ const useTreeViewItemsReorderingItemPlugin = ({
|
|
|
93
90
|
externalEventHandlers,
|
|
94
91
|
contentRefObject
|
|
95
92
|
}) => {
|
|
96
|
-
if (!
|
|
93
|
+
if (!isDragging) {
|
|
97
94
|
return {};
|
|
98
95
|
}
|
|
99
96
|
const handleDragOver = event => {
|
|
100
97
|
externalEventHandlers.onDragOver?.(event);
|
|
101
|
-
if (event.defaultMuiPrevented || validActionsRef.current == null) {
|
|
98
|
+
if (event.defaultMuiPrevented || validActionsRef.current == null || !contentRefObject.current) {
|
|
102
99
|
return;
|
|
103
100
|
}
|
|
104
|
-
const rect =
|
|
101
|
+
const rect = contentRefObject.current.getBoundingClientRect();
|
|
105
102
|
const y = event.clientY - rect.top;
|
|
106
103
|
const x = event.clientX - rect.left;
|
|
107
104
|
instance.setDragTargetItem({
|
|
@@ -17,16 +17,6 @@ const useTreeViewItemsReordering = ({
|
|
|
17
17
|
params,
|
|
18
18
|
store
|
|
19
19
|
}) => {
|
|
20
|
-
const canItemBeDragged = React.useCallback(itemId => {
|
|
21
|
-
if (!params.itemsReordering) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
const isItemReorderable = params.isItemReorderable;
|
|
25
|
-
if (isItemReorderable) {
|
|
26
|
-
return isItemReorderable(itemId);
|
|
27
|
-
}
|
|
28
|
-
return true;
|
|
29
|
-
}, [params.itemsReordering, params.isItemReorderable]);
|
|
30
20
|
const getDroppingTargetValidActions = React.useCallback(itemId => {
|
|
31
21
|
const currentReorder = _useTreeViewItemsReordering2.itemsReorderingSelectors.currentReorder(store.state);
|
|
32
22
|
if (!currentReorder) {
|
|
@@ -186,7 +176,6 @@ const useTreeViewItemsReordering = ({
|
|
|
186
176
|
}, [store, params.itemsReordering, params.isItemReorderable]);
|
|
187
177
|
return {
|
|
188
178
|
instance: {
|
|
189
|
-
canItemBeDragged,
|
|
190
179
|
getDroppingTargetValidActions,
|
|
191
180
|
startDraggingItem,
|
|
192
181
|
cancelDraggingItem,
|
package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.d.ts
CHANGED
|
@@ -20,9 +20,9 @@ export declare const itemsReorderingSelectors: {
|
|
|
20
20
|
targetDepth: number;
|
|
21
21
|
} | null;
|
|
22
22
|
/**
|
|
23
|
-
* Checks whether an item is
|
|
23
|
+
* Checks whether an item is being dragged.
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
isDragging: (state: TreeViewState<[UseTreeViewItemsReorderingSignature]>) => boolean;
|
|
26
26
|
/**
|
|
27
27
|
* Checks whether an item can be reordered.
|
|
28
28
|
*/
|
package/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.selectors.js
CHANGED
|
@@ -28,12 +28,9 @@ const itemsReorderingSelectors = exports.itemsReorderingSelectors = {
|
|
|
28
28
|
};
|
|
29
29
|
}),
|
|
30
30
|
/**
|
|
31
|
-
* Checks whether an item is
|
|
31
|
+
* Checks whether an item is being dragged.
|
|
32
32
|
*/
|
|
33
|
-
|
|
34
|
-
const draggedItemId = state.itemsReordering.currentReorder?.draggedItemId;
|
|
35
|
-
return draggedItemId != null && draggedItemId !== itemId;
|
|
36
|
-
}),
|
|
33
|
+
isDragging: (0, _store.createSelector)(state => !!state.itemsReordering.currentReorder?.draggedItemId),
|
|
37
34
|
/**
|
|
38
35
|
* Checks whether an item can be reordered.
|
|
39
36
|
*/
|
|
@@ -2,12 +2,6 @@ import { DefaultizedProps } from '@mui/x-internals/types';
|
|
|
2
2
|
import { TreeViewPluginSignature, UseTreeViewItemsSignature } from '@mui/x-tree-view/internals';
|
|
3
3
|
import { TreeViewItemId, TreeViewItemsReorderingAction } from '@mui/x-tree-view/models';
|
|
4
4
|
export interface UseTreeViewItemsReorderingInstance {
|
|
5
|
-
/**
|
|
6
|
-
* Check if a given item can be dragged.
|
|
7
|
-
* @param {TreeViewItemId} itemId The id of the item to check.
|
|
8
|
-
* @returns {boolean} `true` if the item can be dragged, `false` otherwise.
|
|
9
|
-
*/
|
|
10
|
-
canItemBeDragged: (itemId: TreeViewItemId) => boolean;
|
|
11
5
|
/**
|
|
12
6
|
* Get the valid reordering action if a given item is the target of the ongoing reordering.
|
|
13
7
|
* @param {TreeViewItemId} itemId The id of the item to get the action of.
|
|
@@ -5,7 +5,7 @@ import { TreeViewItemItemReorderingValidActions, TreeViewItemReorderPosition, Us
|
|
|
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
|
-
interface
|
|
8
|
+
interface GetNewPositionParameters {
|
|
9
9
|
itemChildrenIndentation: string | number;
|
|
10
10
|
validActions: TreeViewItemItemReorderingValidActions;
|
|
11
11
|
targetHeight: number;
|
|
@@ -22,7 +22,7 @@ export declare const chooseActionToApply: ({
|
|
|
22
22
|
cursorX,
|
|
23
23
|
cursorY,
|
|
24
24
|
contentElement
|
|
25
|
-
}:
|
|
25
|
+
}: GetNewPositionParameters) => TreeViewItemsReorderingAction | null;
|
|
26
26
|
export declare const moveItemInTree: <R extends {}>({
|
|
27
27
|
itemToMoveId,
|
|
28
28
|
oldPosition,
|
|
@@ -255,5 +255,5 @@ function useLazyLoadOnMount({
|
|
|
255
255
|
}, [instance, params.items, params.dataSource, store]);
|
|
256
256
|
}
|
|
257
257
|
function getExpandableItemsFromDataSource(store, dataSource) {
|
|
258
|
-
return Object.values(store.state.items.itemMetaLookup).filter(itemMeta => !itemMeta.expandable && dataSource.getChildrenCount(store.state.items.itemModelLookup[itemMeta.id])
|
|
258
|
+
return Object.values(store.state.items.itemMetaLookup).filter(itemMeta => !itemMeta.expandable && dataSource.getChildrenCount(store.state.items.itemModelLookup[itemMeta.id]) !== 0).map(item => item.id);
|
|
259
259
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-tree-view-pro",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.19.0",
|
|
4
4
|
"author": "MUI Team",
|
|
5
5
|
"description": "The Pro plan edition of the MUI X Tree View components.",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
"react-transition-group": "^4.4.5",
|
|
41
41
|
"reselect": "^5.1.1",
|
|
42
42
|
"use-sync-external-store": "^1.6.0",
|
|
43
|
-
"@mui/x-
|
|
44
|
-
"@mui/x-
|
|
45
|
-
"@mui/x-
|
|
43
|
+
"@mui/x-internals": "8.19.0",
|
|
44
|
+
"@mui/x-license": "8.19.0",
|
|
45
|
+
"@mui/x-tree-view": "8.19.0"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"@emotion/react": "^11.9.0",
|