11import * as vscode from 'vscode' ;
22import * as path from 'path' ;
33
4- import { CodingServer } from '../codingServer' ;
5- import { RepoInfo } from '../typings/commonTypes' ;
6- import { IMRDiffStat , MRData , IMRPathItem } from '../typings/respResult' ;
4+ import { CodingServer } from '../codingServer' ;
5+ import { RepoInfo } from '../typings/commonTypes' ;
6+ import { IMRDiffStat , MRData , IMRPathItem } from '../typings/respResult' ;
77
88enum MRType {
99 Open = `open` ,
@@ -56,8 +56,16 @@ export class MRTreeDataProvider implements vscode.TreeDataProvider<ListItem<ITre
5656 throw new Error ( `team not exist.` ) ;
5757 }
5858
59- if ( element ) {
60- if ( element . contextValue === ItemType . CategoryItem ) {
59+ if ( ! element ) {
60+ return Promise . resolve ( [
61+ new CategoryItem ( MRType . Open . toUpperCase ( ) , MRType . Open , vscode . TreeItemCollapsibleState . Collapsed ) ,
62+ new CategoryItem ( MRType . Closed . toUpperCase ( ) , MRType . Closed , vscode . TreeItemCollapsibleState . Collapsed ) ,
63+ new CategoryItem ( MRType . All . toUpperCase ( ) , MRType . All , vscode . TreeItemCollapsibleState . Collapsed ) ,
64+ ] ) ;
65+ }
66+
67+ switch ( element . contextValue ) {
68+ case ItemType . CategoryItem : {
6169 return this . _service . getMRList ( `` , element . value as MRType )
6270 . then ( resp => {
6371 if ( resp . code ) {
@@ -66,7 +74,7 @@ export class MRTreeDataProvider implements vscode.TreeDataProvider<ListItem<ITre
6674 return [ ] ;
6775 }
6876
69- const { data : { list } } = resp ;
77+ const { data : { list} } = resp ;
7078 if ( ! list . length ) {
7179 return [
7280 new ListItem ( `0 merge requests in this category` , `noData` , vscode . TreeItemCollapsibleState . None ) ,
@@ -99,23 +107,19 @@ export class MRTreeDataProvider implements vscode.TreeDataProvider<ListItem<ITre
99107 . catch ( ( ) => {
100108 return [ ] ;
101109 } ) ;
102- } else if ( element . contextValue === ItemType . MRItem ) {
110+ }
111+ case ItemType . MRItem : {
103112 return this . _service . getMRDiff ( element . value as number )
104- . then ( ( { data : { diffStat } } ) => {
113+ . then ( ( { data : { diffStat} } ) => {
105114 return element . getChildren ( diffStat ) ;
106115 } ) ;
107- } else if ( element . contextValue === ItemType . Node ) {
116+ }
117+ case ItemType . Node : {
108118 return element . getChildren ( ) ;
109119 }
110-
111- return Promise . resolve ( [ ] ) ;
120+ default :
121+ return Promise . resolve ( [ ] ) ;
112122 }
113-
114- return Promise . resolve ( [
115- new CategoryItem ( MRType . Open . toUpperCase ( ) , MRType . Open , vscode . TreeItemCollapsibleState . Collapsed ) ,
116- new CategoryItem ( MRType . Closed . toUpperCase ( ) , MRType . Closed , vscode . TreeItemCollapsibleState . Collapsed ) ,
117- new CategoryItem ( MRType . All . toUpperCase ( ) , MRType . All , vscode . TreeItemCollapsibleState . Collapsed ) ,
118- ] ) ;
119123 }
120124}
121125
@@ -172,7 +176,7 @@ export class MRItem extends ListItem<string | number> {
172176 rawArr . forEach ( ( i , idx ) => {
173177 const curPath = rawArr . slice ( 0 , idx + 1 ) . join ( `/` ) ;
174178 const parentPath = rawArr . slice ( 0 , idx ) . join ( `/` ) ;
175- const f = { ...node , name : i , path : curPath , parentPath, children : [ ] } ;
179+ const f = { ...node , name : i , path : curPath , parentPath, children : [ ] } ;
176180 nodes = this . _insert ( f , nodes ) ;
177181 } ) ;
178182
0 commit comments