|
| 1 | +import { |
| 2 | + Tree, |
| 3 | + TreeItem, |
| 4 | + TreeItemLayout, |
| 5 | + useFlatTree_unstable, |
| 6 | + FlatTreeItemProps, |
| 7 | +} from '@fluentui/react-components/unstable'; |
1 | 8 | import * as React from 'react';
|
2 |
| -import { Tree, TreeItem, TreeItemLayout, useFlatTree_unstable, FlatTreeItemProps } from '@fluentui/react-tree'; |
3 |
| -import story from './useFlatTree.md'; |
4 | 9 |
|
5 |
| -type Item = FlatTreeItemProps & { content: string }; |
6 |
| - |
7 |
| -const defaultItems: Item[] = [ |
8 |
| - { value: '1', content: 'Level 1, item 1' }, |
9 |
| - { value: '1-1', parentValue: '1', content: 'Level 2, item 1' }, |
10 |
| - { value: '1-2', parentValue: '1', content: 'Level 2, item 2' }, |
11 |
| - { value: '1-3', parentValue: '1', content: 'Level 2, item 3' }, |
12 |
| - { value: '2', content: 'Level 1, item 2' }, |
13 |
| - { value: '2-1', parentValue: '2', content: 'Level 2, item 1' }, |
14 |
| - { value: '2-1-1', parentValue: '2-1', content: 'Level 3, item 1' }, |
15 |
| - { value: '2-2', parentValue: '2', content: 'Level 2, item 2' }, |
16 |
| - { value: '2-2-1', parentValue: '2-2', content: 'Level 3, item 1' }, |
17 |
| - { value: '2-2-2', parentValue: '2-2', content: 'Level 3, item 2' }, |
18 |
| - { value: '2-2-3', parentValue: '2-2', content: 'Level 3, item 3' }, |
19 |
| - { value: '3', content: 'Level 1, item 3' }, |
| 10 | +const defaultItems: FlatTreeItemProps[] = [ |
| 11 | + { |
| 12 | + value: '1', |
| 13 | + children: <TreeItemLayout>Level 1, item 1</TreeItemLayout>, |
| 14 | + }, |
| 15 | + { |
| 16 | + value: '1-1', |
| 17 | + parentValue: '1', |
| 18 | + children: <TreeItemLayout>Level 2, item 1</TreeItemLayout>, |
| 19 | + }, |
| 20 | + { |
| 21 | + value: '1-1-1', |
| 22 | + parentValue: '1-1', |
| 23 | + children: <TreeItemLayout>Level 3, item 1</TreeItemLayout>, |
| 24 | + }, |
| 25 | + { |
| 26 | + value: '1-1-1-1', |
| 27 | + parentValue: '1-1-1', |
| 28 | + children: <TreeItemLayout>Level 4, item 1</TreeItemLayout>, |
| 29 | + }, |
| 30 | + { |
| 31 | + value: '1-2', |
| 32 | + parentValue: '1', |
| 33 | + children: <TreeItemLayout>Level 2, item 2</TreeItemLayout>, |
| 34 | + }, |
| 35 | + { |
| 36 | + value: '2', |
| 37 | + children: <TreeItemLayout>Level 1, item 2</TreeItemLayout>, |
| 38 | + }, |
20 | 39 | ];
|
21 | 40 |
|
22 | 41 | export const UseFlatTree = () => {
|
23 | 42 | const flatTree = useFlatTree_unstable(defaultItems);
|
24 | 43 |
|
25 | 44 | return (
|
26 | 45 | <Tree {...flatTree.getTreeProps()} aria-label="Tree">
|
27 |
| - {Array.from(flatTree.items(), flatTreeItem => { |
28 |
| - const { content, ...treeItemProps } = flatTreeItem.getTreeItemProps(); |
29 |
| - return ( |
30 |
| - <TreeItem {...treeItemProps} key={flatTreeItem.value}> |
31 |
| - <TreeItemLayout>{content}</TreeItemLayout> |
32 |
| - </TreeItem> |
33 |
| - ); |
34 |
| - })} |
| 46 | + {Array.from(flatTree.items(), flatTreeItem => ( |
| 47 | + <TreeItem {...flatTreeItem.getTreeItemProps()} key={flatTreeItem.value} /> |
| 48 | + ))} |
35 | 49 | </Tree>
|
36 | 50 | );
|
37 | 51 | };
|
38 |
| - |
39 |
| -UseFlatTree.parameters = { |
40 |
| - docs: { |
41 |
| - description: { |
42 |
| - story, |
43 |
| - }, |
44 |
| - }, |
45 |
| -}; |
|
0 commit comments