@@ -42,6 +42,7 @@ export function ProjectTree(): JSX.Element {
42
42
onItemChecked,
43
43
moveCheckedItems,
44
44
linkCheckedItems,
45
+ deleteCheckedItems,
45
46
setCheckedItems,
46
47
assureVisibility,
47
48
} = useActions ( projectTreeLogic )
@@ -78,7 +79,7 @@ export function ProjectTree(): JSX.Element {
78
79
< ButtonPrimitive menuItem > { checkedItems [ item . id ] ? 'Deselect' : 'Select' } </ ButtonPrimitive >
79
80
</ MenuItem >
80
81
) : null }
81
- { checkedItemsCount !== '0' && item . record ?. type === 'folder' ? (
82
+ { checkedItemCountNumeric > 0 && item . record ?. type === 'folder' ? (
82
83
< MenuItem
83
84
asChild
84
85
onClick = { ( e : any ) => {
@@ -91,7 +92,7 @@ export function ProjectTree(): JSX.Element {
91
92
</ ButtonPrimitive >
92
93
</ MenuItem >
93
94
) : null }
94
- { checkedItemsCount !== '0' && item . record ?. type === 'folder' ? (
95
+ { checkedItemCountNumeric > 0 && item . record ?. type === 'folder' ? (
95
96
< MenuItem
96
97
asChild
97
98
onClick = { ( e : any ) => {
@@ -140,16 +141,24 @@ export function ProjectTree(): JSX.Element {
140
141
< ButtonPrimitive menuItem > Rename</ ButtonPrimitive >
141
142
</ MenuItem >
142
143
) : null }
143
- { item . record ?. created_at || item . record ?. type === 'folder' ? (
144
+ { item . record ?. id || item . record ?. type === 'folder' ? (
144
145
< MenuItem
145
146
asChild
146
147
onClick = { ( e : any ) => {
147
148
e . stopPropagation ( )
148
- deleteItem ( item . record as unknown as FileSystemEntry )
149
+ if ( checkedItemCountNumeric > 1 && checkedItems [ item . id ] ) {
150
+ deleteCheckedItems ( )
151
+ } else {
152
+ deleteItem ( item . record as unknown as FileSystemEntry )
153
+ }
149
154
} }
150
155
>
151
156
< ButtonPrimitive menuItem >
152
- { item . record ?. shortcut ? 'Remove shortcut' : "Delete and move back to 'Unfiled'" }
157
+ { checkedItemCountNumeric > 1 && checkedItems [ item . id ]
158
+ ? `Delete ${ checkedItemsCount } item${ checkedItemCountNumeric === 1 ? '' : 's' } `
159
+ : item . record ?. shortcut
160
+ ? 'Remove shortcut'
161
+ : "Delete and move back to 'Unfiled'" }
153
162
</ ButtonPrimitive >
154
163
</ MenuItem >
155
164
) : null }
@@ -197,7 +206,7 @@ export function ProjectTree(): JSX.Element {
197
206
< ButtonPrimitive onClick = { ( ) => createFolder ( '' ) } tooltip = "New root folder" >
198
207
< IconFolderPlus className = "text-tertiary" />
199
208
</ ButtonPrimitive >
200
- { checkedItemsCount !== '0' && checkedItemsCount !== '0+' ? (
209
+ { checkedItemCountNumeric > 0 && checkedItemsCount !== '0+' ? (
201
210
< ButtonPrimitive onClick = { ( ) => setCheckedItems ( { } ) } tooltip = "Clear" >
202
211
< LemonTag type = "highlight" > { checkedItemsCount } selected</ LemonTag >
203
212
</ ButtonPrimitive >
@@ -217,7 +226,7 @@ export function ProjectTree(): JSX.Element {
217
226
}
218
227
return window . location . href . endsWith ( item . record ?. href )
219
228
} }
220
- enableMultiSelection = { checkedItemsCount !== '0' }
229
+ enableMultiSelection = { checkedItemCountNumeric > 0 }
221
230
onItemChecked = { onItemChecked }
222
231
checkedItemCount = { checkedItemCountNumeric }
223
232
onNodeClick = { ( node ) => {
0 commit comments