@@ -23,6 +23,7 @@ import EditableName from '../EditableName/EditableName';
23
23
import {
24
24
iconContainerClassName ,
25
25
iconClassName ,
26
+ getDefaultIcon ,
26
27
} from '../../utils/iconUtils' ;
27
28
28
29
const TreeNode = ( {
@@ -33,6 +34,10 @@ const TreeNode = ({
33
34
children,
34
35
...restData
35
36
} ) => {
37
+ const nodeData = {
38
+ path, name, checked, isOpen, ...restData ,
39
+ } ;
40
+
36
41
const {
37
42
handleCheck,
38
43
handleRename,
@@ -56,17 +61,17 @@ const TreeNode = ({
56
61
const [ isEditing , setIsEditing ] = useState ( false ) ;
57
62
58
63
const {
59
- FileIcon = AiOutlineFile ,
60
- FolderIcon = AiOutlineFolder ,
61
- FolderOpenIcon = AiOutlineFolderOpen ,
62
- EditIcon = AiOutlineEdit ,
63
- DeleteIcon = AiOutlineDelete ,
64
- CancelIcon = AiOutlineClose ,
65
- AddFileIcon = AiOutlineFileAdd ,
66
- AddFolderIcon = AiOutlineFolderAdd ,
67
- CaretRightIcon = AiFillCaretRight ,
68
- CaretDownIcon = AiFillCaretDown ,
69
- OKIcon = AiOutlineCheck ,
64
+ FileIcon = getDefaultIcon ( AiOutlineFile ) ,
65
+ FolderIcon = getDefaultIcon ( AiOutlineFolder ) ,
66
+ FolderOpenIcon = getDefaultIcon ( AiOutlineFolderOpen ) ,
67
+ EditIcon = getDefaultIcon ( AiOutlineEdit ) ,
68
+ DeleteIcon = getDefaultIcon ( AiOutlineDelete ) ,
69
+ CancelIcon = getDefaultIcon ( AiOutlineClose ) ,
70
+ AddFileIcon = getDefaultIcon ( AiOutlineFileAdd ) ,
71
+ AddFolderIcon = getDefaultIcon ( AiOutlineFolderAdd ) ,
72
+ CaretRightIcon = getDefaultIcon ( AiFillCaretRight ) ,
73
+ CaretDownIcon = getDefaultIcon ( AiFillCaretDown ) ,
74
+ OKIcon = getDefaultIcon ( AiOutlineCheck ) ,
70
75
} = iconComponents ;
71
76
72
77
let TypeIcon = FileIcon ;
@@ -107,9 +112,6 @@ const TreeNode = ({
107
112
const handleNameClick = ( ) => {
108
113
const defaultOnClick = selectMe ;
109
114
if ( onNameClick && typeof onNameClick === 'function' ) {
110
- const nodeData = {
111
- path, name, checked, isOpen, ...restData ,
112
- } ;
113
115
! isEditing && onNameClick ( defaultOnClick , nodeData ) ;
114
116
} else {
115
117
defaultOnClick ( ) ;
@@ -121,29 +123,25 @@ const TreeNode = ({
121
123
< EditIcon
122
124
className = { iconClassName ( 'EditIcon' ) }
123
125
onClick = { editMe }
124
- path = { path }
125
- name = { name }
126
+ nodeData = { nodeData }
126
127
/>
127
128
< DeleteIcon
128
129
className = { iconClassName ( 'DeleteIcon' ) }
129
130
onClick = { deleteMe }
130
- path = { path }
131
- name = { name }
131
+ nodeData = { nodeData }
132
132
/>
133
133
{
134
134
isFolder && (
135
135
< >
136
136
< AddFileIcon
137
137
className = { iconClassName ( 'AddFileIcon' ) }
138
138
onClick = { addFile }
139
- path = { path }
140
- name = { name }
139
+ nodeData = { nodeData }
141
140
/>
142
141
< AddFolderIcon
143
142
className = { iconClassName ( 'AddFolderIcon' ) }
144
143
onClick = { addFolder }
145
- path = { path }
146
- name = { name }
144
+ nodeData = { nodeData }
147
145
/>
148
146
</ >
149
147
)
@@ -152,8 +150,7 @@ const TreeNode = ({
152
150
< CancelIcon
153
151
className = { iconClassName ( 'CancelIcon' ) }
154
152
onClick = { unSelectMe }
155
- path = { path }
156
- name = { name }
153
+ nodeData = { nodeData }
157
154
/>
158
155
</ span >
159
156
) ;
@@ -168,16 +165,14 @@ const TreeNode = ({
168
165
< CaretDownIcon
169
166
className = { iconClassName ( 'CaretDownIcon' ) }
170
167
onClick = { closeMe }
171
- path = { path }
172
- name = { name }
168
+ nodeData = { nodeData }
173
169
/>
174
170
)
175
171
: (
176
172
< CaretRightIcon
177
173
className = { iconClassName ( 'CaretRightIcon' ) }
178
174
onClick = { openMe }
179
- path = { path }
180
- name = { name }
175
+ nodeData = { nodeData }
181
176
/>
182
177
)
183
178
}
@@ -200,8 +195,7 @@ const TreeNode = ({
200
195
< TypeIcon
201
196
className = { iconClassName ( TypeIconType ) }
202
197
onClick = { selectMe }
203
- path = { path }
204
- name = { name }
198
+ nodeData = { nodeData }
205
199
/>
206
200
</ span >
207
201
@@ -210,13 +204,12 @@ const TreeNode = ({
210
204
onClick = { handleNameClick }
211
205
>
212
206
< EditableName
213
- name = { name }
214
207
isEditing = { isEditing }
215
208
setIsEditing = { setIsEditing }
216
209
onNameChange = { onNameChange }
217
210
OKIcon = { OKIcon }
218
211
CancelIcon = { CancelIcon }
219
- path = { path }
212
+ nodeData = { nodeData }
220
213
/>
221
214
</ span >
222
215
{ isSelected && TreeNodeToolBar }
0 commit comments