1
1
import * as vscode from 'vscode' ;
2
2
import * as path from 'path' ;
3
3
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' ;
7
7
8
8
enum MRType {
9
9
Open = `open` ,
@@ -56,8 +56,16 @@ export class MRTreeDataProvider implements vscode.TreeDataProvider<ListItem<ITre
56
56
throw new Error ( `team not exist.` ) ;
57
57
}
58
58
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 : {
61
69
return this . _service . getMRList ( `` , element . value as MRType )
62
70
. then ( resp => {
63
71
if ( resp . code ) {
@@ -66,7 +74,7 @@ export class MRTreeDataProvider implements vscode.TreeDataProvider<ListItem<ITre
66
74
return [ ] ;
67
75
}
68
76
69
- const { data : { list } } = resp ;
77
+ const { data : { list} } = resp ;
70
78
if ( ! list . length ) {
71
79
return [
72
80
new ListItem ( `0 merge requests in this category` , `noData` , vscode . TreeItemCollapsibleState . None ) ,
@@ -99,23 +107,19 @@ export class MRTreeDataProvider implements vscode.TreeDataProvider<ListItem<ITre
99
107
. catch ( ( ) => {
100
108
return [ ] ;
101
109
} ) ;
102
- } else if ( element . contextValue === ItemType . MRItem ) {
110
+ }
111
+ case ItemType . MRItem : {
103
112
return this . _service . getMRDiff ( element . value as number )
104
- . then ( ( { data : { diffStat } } ) => {
113
+ . then ( ( { data : { diffStat} } ) => {
105
114
return element . getChildren ( diffStat ) ;
106
115
} ) ;
107
- } else if ( element . contextValue === ItemType . Node ) {
116
+ }
117
+ case ItemType . Node : {
108
118
return element . getChildren ( ) ;
109
119
}
110
-
111
- return Promise . resolve ( [ ] ) ;
120
+ default :
121
+ return Promise . resolve ( [ ] ) ;
112
122
}
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
- ] ) ;
119
123
}
120
124
}
121
125
@@ -172,7 +176,7 @@ export class MRItem extends ListItem<string | number> {
172
176
rawArr . forEach ( ( i , idx ) => {
173
177
const curPath = rawArr . slice ( 0 , idx + 1 ) . join ( `/` ) ;
174
178
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 : [ ] } ;
176
180
nodes = this . _insert ( f , nodes ) ;
177
181
} ) ;
178
182
0 commit comments