Skip to content

Commit 7e00062

Browse files
committed
Show AC/NotAC problems in treeview
1 parent 86f17ac commit 7e00062

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

src/leetCodeExplorer.ts

+23-1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
4444
Tag: Map<string, list.IProblem[]>,
4545
Company: Map<string, list.IProblem[]>,
4646
Favorite: list.IProblem[],
47+
Accepted: list.IProblem[],
48+
NotAccepted: list.IProblem[],
4749
};
4850

4951
private onDidChangeTreeDataEvent: vscode.EventEmitter<any> = new vscode.EventEmitter<any>();
@@ -109,6 +111,14 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
109111
id: "Root",
110112
name: "Favorite",
111113
}), false),
114+
new LeetCodeNode(Object.assign({}, list.IProblemDefault, {
115+
id: "Root",
116+
name: "Accepted",
117+
}), false),
118+
new LeetCodeNode(Object.assign({}, list.IProblemDefault, {
119+
id: "Root",
120+
name: "Not Accepted",
121+
}), false),
112122
]);
113123
});
114124
} else {
@@ -119,6 +129,10 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
119129
return this.composeCategoryNodes(element);
120130
case "Favorite":
121131
return this.treeData.Favorite.map((p: list.IProblem) => new LeetCodeNode(p));
132+
case "Accepted":
133+
return this.treeData.Accepted.map((p: list.IProblem) => new LeetCodeNode(p));
134+
case "Not Accepted":
135+
return this.treeData.NotAccepted.map((p: list.IProblem) => new LeetCodeNode(p));
122136
default: // Second and lower levels
123137
return element.isProblem ? [] : this.composeProblemNodes(element);
124138
}
@@ -131,6 +145,8 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
131145
Tag: new Map(),
132146
Company: new Map(),
133147
Favorite: [],
148+
Accepted: [],
149+
NotAccepted: [],
134150
};
135151
for (const problem of await list.listProblems()) {
136152
// Add problems according to category
@@ -151,10 +167,16 @@ export class LeetCodeTreeDataProvider implements vscode.TreeDataProvider<LeetCod
151167
}
152168
}
153169
}
154-
// Add favorite problems
170+
// Filter by favorite problems
155171
if (problem.favorite) {
156172
this.treeData.Favorite.push(problem);
157173
}
174+
// Filter by problem state
175+
if (problem.state === ProblemState.AC) {
176+
this.treeData.Accepted.push(problem);
177+
} else if (problem.state === ProblemState.NotAC) {
178+
this.treeData.NotAccepted.push(problem);
179+
}
158180
}
159181
}
160182

0 commit comments

Comments
 (0)