Skip to content

Commit f920607

Browse files
committed
refactor(mr tree): nodes & its children.
1 parent 3c8f689 commit f920607

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

src/tree/mr-tree.ts

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import * as vscode from 'vscode';
22
import * 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

88
enum 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

Comments
 (0)