Skip to content

Commit

Permalink
[TreeView] Make label editing and items reordering stable (#16439)
Browse files Browse the repository at this point in the history
  • Loading branch information
flaviendelangle authored Feb 3, 2025
1 parent 7a96012 commit 29d6148
Show file tree
Hide file tree
Showing 66 changed files with 83 additions and 206 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ export default function CustomBehavior() {
<RichTreeView
items={MUI_X_PRODUCTS}
slots={{ item: CustomTreeItem }}
experimentalFeatures={{ labelEditing: true }}
isItemEditable
defaultExpandedItems={['grid', 'pickers']}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ export default function CustomBehavior() {
<RichTreeView
items={MUI_X_PRODUCTS}
slots={{ item: CustomTreeItem }}
experimentalFeatures={{ labelEditing: true }}
isItemEditable
defaultExpandedItems={['grid', 'pickers']}
/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<RichTreeView
items={MUI_X_PRODUCTS}
slots={{ item: CustomTreeItem }}
experimentalFeatures={{ labelEditing: true }}
isItemEditable
defaultExpandedItems={['grid', 'pickers']}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,6 @@ export default function CustomLabelInput() {
<RichTreeView
items={ITEMS}
slots={{ item: CustomTreeItem }}
experimentalFeatures={{ labelEditing: true }}
isItemEditable
defaultExpandedItems={['1', '2']}
getItemLabel={(item) => `${item.firstName} ${item.lastName}`}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,6 @@ export default function CustomLabelInput() {
<RichTreeView
items={ITEMS}
slots={{ item: CustomTreeItem }}
experimentalFeatures={{ labelEditing: true }}
isItemEditable
defaultExpandedItems={['1', '2']}
getItemLabel={(item) => `${item.firstName} ${item.lastName}`}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<RichTreeView
items={ITEMS}
slots={{ item: CustomTreeItem }}
experimentalFeatures={{ labelEditing: true }}
isItemEditable
defaultExpandedItems={['1', '2']}
getItemLabel={(item) => `${item.firstName} ${item.lastName}`}
Expand Down
1 change: 0 additions & 1 deletion docs/data/tree-view/rich-tree-view/editing/EditLeaves.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ export default function EditLeaves() {
<RichTreeView
items={MUI_X_PRODUCTS}
apiRef={apiRef}
experimentalFeatures={{ labelEditing: true }}
isItemEditable={(item) =>
apiRef.current.getItemOrderedChildrenIds(item.id).length === 0
}
Expand Down
1 change: 0 additions & 1 deletion docs/data/tree-view/rich-tree-view/editing/EditLeaves.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ export default function EditLeaves() {
<RichTreeView
items={MUI_X_PRODUCTS}
apiRef={apiRef}
experimentalFeatures={{ labelEditing: true }}
isItemEditable={(item) =>
apiRef.current!.getItemOrderedChildrenIds(item.id).length === 0
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<RichTreeView
items={MUI_X_PRODUCTS}
apiRef={apiRef}
experimentalFeatures={{ labelEditing: true }}
isItemEditable={(item) =>
apiRef.current!.getItemOrderedChildrenIds(item.id).length === 0
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@ export default function EditWithIcons() {
<RichTreeView
items={MUI_X_PRODUCTS}
slots={{ item: CustomTreeItem }}
experimentalFeatures={{ labelEditing: true }}
isItemEditable
defaultExpandedItems={['grid', 'pickers']}
expansionTrigger="iconContainer"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,6 @@ export default function EditWithIcons() {
<RichTreeView
items={MUI_X_PRODUCTS}
slots={{ item: CustomTreeItem }}
experimentalFeatures={{ labelEditing: true }}
isItemEditable
defaultExpandedItems={['grid', 'pickers']}
expansionTrigger="iconContainer"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<RichTreeView
items={MUI_X_PRODUCTS}
slots={{ item: CustomTreeItem }}
experimentalFeatures={{ labelEditing: true }}
isItemEditable
defaultExpandedItems={['grid', 'pickers']}
expansionTrigger="iconContainer"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ export default function EditingCallback() {
<Box sx={{ minHeight: 352, minWidth: 260 }}>
<RichTreeView
items={MUI_X_PRODUCTS}
experimentalFeatures={{ labelEditing: true }}
isItemEditable
defaultExpandedItems={['grid', 'pickers']}
onItemLabelChange={(itemId, label) => setLastEditedItem({ itemId, label })}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ export default function EditingCallback() {
<Box sx={{ minHeight: 352, minWidth: 260 }}>
<RichTreeView
items={MUI_X_PRODUCTS}
experimentalFeatures={{ labelEditing: true }}
isItemEditable
defaultExpandedItems={['grid', 'pickers']}
onItemLabelChange={(itemId, label) => setLastEditedItem({ itemId, label })}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{lastEditedItem ? (
<Typography>
The label of item with id <em>{lastEditedItem!.itemId}</em> has been edited
to <em>{lastEditedItem!.label}</em>
</Typography>
) : (
<Typography>No item has been edited yet</Typography>
)}
<Box sx={{ minHeight: 352, minWidth: 260 }}>
<RichTreeView
items={MUI_X_PRODUCTS}
isItemEditable
defaultExpandedItems={['grid', 'pickers']}
onItemLabelChange={(itemId, label) => setLastEditedItem({ itemId, label })}
/>
</Box>
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ export default function LabelEditingAllItems() {
<RichTreeView
items={MUI_X_PRODUCTS}
isItemEditable
experimentalFeatures={{ labelEditing: true }}
defaultExpandedItems={['grid', 'pickers']}
/>
</Box>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ export default function LabelEditingAllItems() {
<RichTreeView
items={MUI_X_PRODUCTS}
isItemEditable
experimentalFeatures={{ labelEditing: true }}
defaultExpandedItems={['grid', 'pickers']}
/>
</Box>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<RichTreeView
items={MUI_X_PRODUCTS}
isItemEditable
experimentalFeatures={{ labelEditing: true }}
defaultExpandedItems={['grid', 'pickers']}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ export default function LabelEditingSomeItems() {
<RichTreeView
items={MUI_X_PRODUCTS}
isItemEditable={(item) => Boolean(item?.editable)}
experimentalFeatures={{ labelEditing: true }}
defaultExpandedItems={['grid', 'pickers']}
/>
</Box>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ export default function LabelEditingSomeItems() {
<RichTreeView
items={MUI_X_PRODUCTS}
isItemEditable={(item) => Boolean(item?.editable)}
experimentalFeatures={{ labelEditing: true }}
defaultExpandedItems={['grid', 'pickers']}
/>
</Box>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<RichTreeView
items={MUI_X_PRODUCTS}
isItemEditable={(item) => Boolean(item?.editable)}
experimentalFeatures={{ labelEditing: true }}
defaultExpandedItems={['grid', 'pickers']}
/>
1 change: 0 additions & 1 deletion docs/data/tree-view/rich-tree-view/editing/Validation.js
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,6 @@ export default function Validation() {
items={MUI_X_PRODUCTS}
slots={{ item: CustomTreeItem }}
isItemEditable
experimentalFeatures={{ labelEditing: true }}
defaultExpandedItems={['grid', 'pickers']}
/>
</Box>
Expand Down
1 change: 0 additions & 1 deletion docs/data/tree-view/rich-tree-view/editing/Validation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ export default function Validation() {
items={MUI_X_PRODUCTS}
slots={{ item: CustomTreeItem }}
isItemEditable
experimentalFeatures={{ labelEditing: true }}
defaultExpandedItems={['grid', 'pickers']}
/>
</Box>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,5 @@
items={MUI_X_PRODUCTS}
slots={{ item: CustomTreeItem }}
isItemEditable
experimentalFeatures={{ labelEditing: true }}
defaultExpandedItems={['grid', 'pickers']}
/>
3 changes: 0 additions & 3 deletions docs/data/tree-view/rich-tree-view/ordering/DragAndDrop.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@ export default function DragAndDrop() {
items={ITEMS}
itemsReordering
defaultExpandedItems={['grid', 'pickers']}
experimentalFeatures={{
itemsReordering: true,
}}
/>
</Box>
);
Expand Down
3 changes: 0 additions & 3 deletions docs/data/tree-view/rich-tree-view/ordering/DragAndDrop.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@ export default function DragAndDrop() {
items={ITEMS}
itemsReordering
defaultExpandedItems={['grid', 'pickers']}
experimentalFeatures={{
itemsReordering: true,
}}
/>
</Box>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,4 @@
items={ITEMS}
itemsReordering
defaultExpandedItems={['grid', 'pickers']}
experimentalFeatures={{
itemsReordering: true,
}}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,6 @@ export default function FileExplorer() {
defaultExpandedItems={['1', '1.1']}
sx={{ height: 'fit-content', flexGrow: 1, maxWidth: 400, overflowY: 'auto' }}
slots={{ item: CustomTreeItem }}
experimentalFeatures={{ itemsReordering: true }}
itemsReordering
canMoveItemToNewPosition={(params) => {
return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,6 @@ export default function FileExplorer() {
defaultExpandedItems={['1', '1.1']}
sx={{ height: 'fit-content', flexGrow: 1, maxWidth: 400, overflowY: 'auto' }}
slots={{ item: CustomTreeItem }}
experimentalFeatures={{ itemsReordering: true }}
itemsReordering
canMoveItemToNewPosition={(params) => {
return (
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<RichTreeViewPro
items={ITEMS}
apiRef={apiRef}
defaultExpandedItems={['1', '1.1']}
sx={{ height: 'fit-content', flexGrow: 1, maxWidth: 400, overflowY: 'auto' }}
slots={{ item: CustomTreeItem }}
itemsReordering
canMoveItemToNewPosition={(params) => {
return (
params.newPosition.parentId === null ||
['folder', 'trash'].includes(
apiRef.current!.getItem(params.newPosition.parentId).fileType,
)
);
}}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,6 @@ export default function OnItemPositionChange() {
<RichTreeViewPro
items={MUI_X_PRODUCTS}
itemsReordering
experimentalFeatures={{
itemsReordering: true,
}}
defaultExpandedItems={['grid', 'pickers']}
onItemPositionChange={(params) => setLastReorder(params)}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,6 @@ export default function OnItemPositionChange() {
<RichTreeViewPro
items={MUI_X_PRODUCTS}
itemsReordering
experimentalFeatures={{
itemsReordering: true,
}}
defaultExpandedItems={['grid', 'pickers']}
onItemPositionChange={(params) => setLastReorder(params)}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,6 @@ export default function OnlyReorderFromDragHandle() {
<RichTreeViewPro
items={MUI_X_PRODUCTS}
defaultExpandedItems={['grid', 'pickers']}
experimentalFeatures={{
itemsReordering: true,
}}
itemsReordering
slots={{ item: CustomTreeItem }}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,9 +115,6 @@ export default function OnlyReorderFromDragHandle() {
<RichTreeViewPro
items={MUI_X_PRODUCTS}
defaultExpandedItems={['grid', 'pickers']}
experimentalFeatures={{
itemsReordering: true,
}}
itemsReordering
slots={{ item: CustomTreeItem }}
/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
<RichTreeViewPro
items={MUI_X_PRODUCTS}
defaultExpandedItems={['grid', 'pickers']}
experimentalFeatures={{
itemsReordering: true,
}}
itemsReordering
slots={{ item: CustomTreeItem }}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@ export default function OnlyReorderInSameParent() {
items={MUI_X_PRODUCTS}
itemsReordering
defaultExpandedItems={['grid', 'pickers']}
experimentalFeatures={{
itemsReordering: true,
}}
canMoveItemToNewPosition={(params) =>
params.oldPosition.parentId === params.newPosition.parentId
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@ export default function OnlyReorderInSameParent() {
items={MUI_X_PRODUCTS}
itemsReordering
defaultExpandedItems={['grid', 'pickers']}
experimentalFeatures={{
itemsReordering: true,
}}
canMoveItemToNewPosition={(params) =>
params.oldPosition.parentId === params.newPosition.parentId
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@
items={MUI_X_PRODUCTS}
itemsReordering
defaultExpandedItems={['grid', 'pickers']}
experimentalFeatures={{
itemsReordering: true,
}}
canMoveItemToNewPosition={(params) =>
params.oldPosition.parentId === params.newPosition.parentId
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,6 @@ export default function OnlyReorderLeaves() {
items={MUI_X_PRODUCTS}
itemsReordering
defaultExpandedItems={['grid', 'pickers']}
experimentalFeatures={{
itemsReordering: true,
}}
apiRef={apiRef}
isItemReorderable={(itemId) =>
apiRef.current.getItemOrderedChildrenIds(itemId).length === 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,6 @@ export default function OnlyReorderLeaves() {
items={MUI_X_PRODUCTS}
itemsReordering
defaultExpandedItems={['grid', 'pickers']}
experimentalFeatures={{
itemsReordering: true,
}}
apiRef={apiRef}
isItemReorderable={(itemId) =>
apiRef.current!.getItemOrderedChildrenIds(itemId).length === 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@
items={MUI_X_PRODUCTS}
itemsReordering
defaultExpandedItems={['grid', 'pickers']}
experimentalFeatures={{
itemsReordering: true,
}}
apiRef={apiRef}
isItemReorderable={(itemId) =>
apiRef.current!.getItemOrderedChildrenIds(itemId).length === 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,6 @@ export default function SendAllItemsToServer() {
items={MUI_X_PRODUCTS}
itemsReordering
defaultExpandedItems={['grid', 'pickers']}
experimentalFeatures={{
itemsReordering: true,
}}
onItemPositionChange={handleItemPositionChangeTreeViewA}
/>
</Box>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,6 @@ export default function SendAllItemsToServer() {
items={MUI_X_PRODUCTS}
itemsReordering
defaultExpandedItems={['grid', 'pickers']}
experimentalFeatures={{
itemsReordering: true,
}}
onItemPositionChange={handleItemPositionChangeTreeViewA}
/>
</Box>
Expand Down
Loading

0 comments on commit 29d6148

Please sign in to comment.