File tree Expand file tree Collapse file tree
workbench/parts/preferences/browser Expand file tree Collapse file tree Original file line number Diff line number Diff line change 66
77import * as _ from 'vs/base/parts/tree/browser/tree' ;
88
9- export function collapseAll ( tree : _ . ITree ) : void {
9+ export function collapseAll ( tree : _ . ITree , except ?: any ) : void {
1010 const nav = tree . getNavigator ( ) ;
1111 let cur ;
1212 while ( cur = nav . next ( ) ) {
13- tree . collapse ( cur ) ;
13+ if ( ! except || ! isEqualOrParent ( tree , except , cur ) ) {
14+ tree . collapse ( cur ) ;
15+ }
1416 }
1517}
1618
19+ export function isEqualOrParent ( tree : _ . ITree , element : any , candidateParent : any ) : boolean {
20+ const nav = tree . getNavigator ( element ) ;
21+
22+ do {
23+ if ( element === candidateParent ) {
24+ return true ;
25+ }
26+ } while ( element = nav . parent ( ) ) ;
27+
28+ return false ;
29+ }
30+
1731export function expandAll ( tree : _ . ITree ) : void {
1832 const nav = tree . getNavigator ( ) ;
1933 let cur ;
Original file line number Diff line number Diff line change 133133 display : flex;
134134 margin : auto;
135135 max-width : 1000px ;
136- justify-content : space-between;
137136}
138137
139138.settings-editor .search-mode > .settings-body .settings-tree-container .monaco-tree-wrapper ,
142141 margin-left : 0px ;
143142}
144143
144+ .settings-editor .narrow > .settings-body .settings-tree-container .monaco-tree-wrapper ,
145+ .settings-editor .narrow > .settings-body > .settings-tree-container .setting-measure-container {
146+ width : calc (100% - 11px );
147+ margin-left : 0px ;
148+ }
149+
145150.settings-editor > .settings-body .settings-tree-container .monaco-tree-wrapper ,
146151.settings-editor > .settings-body > .settings-tree-container .setting-measure-container {
147152 /** 11px for scrollbar + 208px for TOC margin */
148153 width : calc (100% - 219px );
149154 margin-left : 208px ;
150155}
151156
152-
153157.settings-editor > .settings-body .settings-toc-container {
154158 position : absolute;
155159 width : 160px ;
Original file line number Diff line number Diff line change @@ -437,11 +437,9 @@ export class SettingsEditor2 extends BaseEditor {
437437 if ( element && this . tocTree . getSelection ( ) [ 0 ] !== element ) {
438438 this . tocTree . reveal ( element ) ;
439439 const elementTop = this . tocTree . getRelativeTop ( element ) ;
440- collapseAll ( this . tocTree ) ;
441- if ( elementTop < 0 ) {
442- this . tocTree . reveal ( element , 0 ) ;
443- } else if ( elementTop > 1 ) {
444- this . tocTree . reveal ( element , 1 ) ;
440+ collapseAll ( this . tocTree , element ) ;
441+ if ( elementTop < 0 || elementTop > 1 ) {
442+ this . tocTree . reveal ( element ) ;
445443 } else {
446444 this . tocTree . reveal ( element , elementTop ) ;
447445 }
You can’t perform that action at this time.
0 commit comments