File tree Expand file tree Collapse file tree 1 file changed +11
-1
lines changed
src/vs/workbench/browser/parts/views Expand file tree Collapse file tree 1 file changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -344,13 +344,20 @@ abstract class AbstractTreeView extends Disposable implements ITreeView {
344
344
345
345
async getChildren ( node ?: ITreeItem ) : Promise < ITreeItem [ ] > {
346
346
let children : ITreeItem [ ] ;
347
+ const checkboxesUpdated : ITreeItem [ ] = [ ] ;
347
348
if ( node && node . children ) {
348
349
children = node . children ;
349
350
} else {
350
351
node = node ?? self . root ;
351
352
node . children = await ( node instanceof Root ? dataProvider . getChildren ( ) : dataProvider . getChildren ( node ) ) ;
352
353
children = node . children ?? [ ] ;
353
- children . forEach ( child => child . parent = node ) ;
354
+ children . forEach ( child => {
355
+ child . parent = node ;
356
+ if ( ! self . manuallyManageCheckboxes && ( node ?. checkbox ?. isChecked === true ) && ( child . checkbox ?. isChecked === false ) ) {
357
+ child . checkbox . isChecked = true ;
358
+ checkboxesUpdated . push ( child ) ;
359
+ }
360
+ } ) ;
354
361
}
355
362
if ( node instanceof Root ) {
356
363
const oldEmpty = this . _isEmpty ;
@@ -359,6 +366,9 @@ abstract class AbstractTreeView extends Disposable implements ITreeView {
359
366
this . _onDidChangeEmpty . fire ( ) ;
360
367
}
361
368
}
369
+ if ( checkboxesUpdated . length > 0 ) {
370
+ self . _onDidChangeCheckboxState . fire ( checkboxesUpdated ) ;
371
+ }
362
372
return children ;
363
373
}
364
374
} ;
You can’t perform that action at this time.
0 commit comments