@@ -15,6 +15,8 @@ declare const chrome, browser;
1515@autoinject
1616export class GitLabTree
1717{
18+ isOn : boolean = true ; // are all files displayed (false) or single selected (true)?
19+
1820 pathPrefix : string ;
1921 fileHolders : NodeList ;
2022 fileNames : string [ ] ;
@@ -36,8 +38,9 @@ export class GitLabTree
3638 {
3739 this . init ( ) ;
3840
39- this . pubsub . subscribe ( 'settings-changed' , this . settingsChanged . bind ( this ) )
41+ this . pubsub . subscribe ( 'settings-changed' , ( action , data ) => this . settingsChanged ( action , data ) )
4042 this . pubsub . subscribe ( 'toggle-navigation' , ( action , isOpen ) => this . toggleNavigation ( isOpen ) )
43+ this . pubsub . subscribe ( 'toggle-extension-is-on' , ( ) => this . toggleExtensionIsOn ( ) ) ;
4144
4245
4346 // Detection if we have any files to generate tree from
@@ -86,7 +89,7 @@ export class GitLabTree
8689
8790 // Apply settings
8891
89- this . settingsChanged ( 'internal' , this . settingStore . getAll ( ) )
92+ this . settingsChanged ( 'internal' , this . settingStore . getAll ( ) ) ;
9093
9194
9295 // Show file based on hash id
@@ -122,21 +125,21 @@ export class GitLabTree
122125 document . body . appendChild ( this . settingsElement ) ;
123126
124127 this . wrapperElement . classList . add ( CSS_PREFIX + '-wrapper' ) ;
125- this . leftElement . classList . add ( CSS_PREFIX + '-left ' ) ;
126- this . rightElement . classList . add ( CSS_PREFIX + '-right ' ) ;
128+ this . leftElement . classList . add ( CSS_PREFIX + '__left ' ) ;
129+ this . rightElement . classList . add ( CSS_PREFIX + '__right ' ) ;
127130 this . settingsElement . classList . add ( CSS_PREFIX + '-settings' ) ;
128131 }
129132
130133
131- settingsChanged ( action : string , data : any ) : void
134+ settingsChanged ( action ? : string , data ? : any ) : void
132135 {
133136 this . leftElement . style . flexBasis = data [ 'panel-width' ] + 'px' ;
134137 }
135138
136139
137140 toggleNavigation ( isOpen : boolean )
138141 {
139- const className = 'gitlab-tree-plugin__collapsed ' ;
142+ const className = 'gitlab-tree-plugin__left--is-collapsed ' ;
140143 this . leftElement . classList . remove ( className )
141144
142145 if ( ! isOpen )
@@ -160,7 +163,7 @@ export class GitLabTree
160163 files . removeChild ( fileHolder ) ;
161164 this . rightElement . appendChild ( fileHolder ) ;
162165
163- fileHolder . classList . add ( CSS_PREFIX + '-hidden' ) ;
166+ fileHolder . classList . add ( CSS_PREFIX + '--is- hidden' , CSS_PREFIX + '__file-holder ' ) ;
164167 }
165168 }
166169
@@ -248,6 +251,32 @@ export class GitLabTree
248251 this . showFile ( newHash ) ;
249252 }
250253
254+
255+ turnExtensionOff ( )
256+ {
257+ this . isOn = false ;
258+ const fileHolders = this . rightElement . querySelectorAll ( `.${ CSS_PREFIX } --is-hidden` ) ;
259+ console . log ( fileHolders ) ;
260+ fileHolders . forEach ( file => file . classList . remove ( `${ CSS_PREFIX } --is-hidden` ) )
261+ }
262+
263+
264+ turnExtensionOn ( )
265+ {
266+ this . isOn = true ;
267+ const fileHolders = this . rightElement . querySelectorAll ( `.${ CSS_PREFIX } __file-holder` ) ;
268+ fileHolders . forEach ( file => file . classList . add ( `${ CSS_PREFIX } --is-hidden` ) )
269+
270+ this . showFile ( this . lastActive ) ;
271+ }
272+
273+
274+ toggleExtensionIsOn ( )
275+ {
276+ console . log ( 'yah yah' , this . isOn )
277+ return this . isOn ? this . turnExtensionOff ( ) : this . turnExtensionOn ( ) ;
278+ }
279+
251280
252281 /**
253282 * Shows file based on id.
@@ -265,13 +294,13 @@ export class GitLabTree
265294
266295 if ( this . lastActive )
267296 {
268- this . getFileHolderByHash ( this . lastActive ) . classList . add ( CSS_PREFIX + '-hidden' ) ;
297+ this . getFileHolderByHash ( this . lastActive ) . classList . add ( CSS_PREFIX + '--is- hidden' ) ;
269298 this . getFileLinkByHash ( this . lastActive ) . setInactive ( ) ;
270299 }
271300
272301 hash = metadata . getAll ( ) . filter ( m => m . hash === hash ) . length > 0 ? hash : metadata . getAll ( ) [ 0 ] . hash ; // if hash is invalid use default hash
273302
274- this . getFileHolderByHash ( hash ) . classList . remove ( CSS_PREFIX + '-hidden' ) ;
303+ this . getFileHolderByHash ( hash ) . classList . remove ( CSS_PREFIX + '--is- hidden' ) ;
275304 this . getFileLinkByHash ( hash ) . setActive ( ) ;
276305
277306 this . lastActive = hash ;
0 commit comments