Skip to content

Commit fc9b88c

Browse files
committed
重置所有砖头
1 parent 994538e commit fc9b88c

File tree

9 files changed

+75
-3
lines changed

9 files changed

+75
-3
lines changed

p.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
./c.sh
12
rm -rf out/
23
vsce package
34
rm -rf out

package.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,11 @@
253253
"command": "lcpr.simpleDebug",
254254
"title": "%main.contributes.commands.lcpr.simpleDebug.title%",
255255
"icon": "$(remove)"
256+
},
257+
{
258+
"command": "lcpr.removeBricksHave",
259+
"title": "%main.contributes.commands.lcpr.removeBricksHave.title%",
260+
"icon": "$(remove)"
256261
}
257262
],
258263
"viewsContainers": {
@@ -452,6 +457,11 @@
452457
"when": "view == BricksExplorer && viewItem != nodebricksdiy && viewItem != brickshave && viewItem != brickstoday && viewItem != bricksdiy",
453458
"group": "leetcode@5"
454459
},
460+
{
461+
"command": "lcpr.removeBricksHave",
462+
"when": "view == BricksExplorer && viewItem == brickshave",
463+
"group": "leetcode@5"
464+
},
455465
{
456466
"command": "lcpr.removeQidFromGroup",
457467
"when": "view == BricksExplorer && viewItem == nodebricksdiy",

package.nls.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
"main.contributes.commands.lcpr.newBrickGroup.title": "new category",
3838
"main.contributes.commands.lcpr.addQidToGroup.title": "add to category",
3939
"main.contributes.commands.lcpr.removeBrickGroup.title": "delete category",
40+
"main.contributes.commands.lcpr.removeBricksHave.title": "remove bricks have",
4041
"main.contributes.commands.lcpr.removeQidFromGroup.title": "remove this",
4142
"main.contributes.commands.lcpr.includeTemplates.title": "insert template",
4243
"main.contributes.commands.lcpr.simpleDebug.title": "simple debug",

package.nls.zh-cn.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
"main.contributes.commands.lcpr.newBrickGroup.title": "新建一个自定义分类",
3838
"main.contributes.commands.lcpr.addQidToGroup.title": "添加题目到自定义分类",
3939
"main.contributes.commands.lcpr.removeBrickGroup.title": "移除这个自定义分类",
40+
"main.contributes.commands.lcpr.removeBricksHave.title": "砖头太多搬不过来了,重置砖头",
4041
"main.contributes.commands.lcpr.removeQidFromGroup.title": "从分类中移除这个题目",
4142
"main.contributes.commands.lcpr.includeTemplates.title": "插入头文件模板",
4243
"main.contributes.commands.lcpr.simpleDebug.title": "简单调试",

src/BABA.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ export enum BabaStr {
101101
BABACMD_newBrickGroup = "BABACMD_newBrickGroup",
102102
BABACMD_addQidToGroup = "BABACMD_addQidToGroup",
103103
BABACMD_removeBrickGroup = "BABACMD_removeBrickGroup",
104+
BABACMD_removeBricksHave = "BABACMD_removeBricksHave",
105+
BricksData_removeBricksHaveFinish = "BricksData_removeBricksHaveFinish",
104106
BABACMD_removeQidFromGroup = "BABACMD_removeQidFromGroup",
105107
DebugProxy = "DebugProxy",
106108
DebugMediator = "DebugMediator",

src/bricksData/BricksDataService.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ export class BricksDataMediator extends BABAMediator {
204204
BabaStr.BricksData_addQidToGroupFinish,
205205
BabaStr.BricksData_removeQidFromGroupFinish,
206206
BabaStr.CommitResult_showFinish,
207+
BabaStr.BricksData_removeBricksHaveFinish,
208+
BabaStr.BABACMD_removeBricksHave,
207209
];
208210
}
209211
async handleNotification(_notification: BaseCC.BaseCC.INotification) {
@@ -231,6 +233,7 @@ export class BricksDataMediator extends BABAMediator {
231233
case BabaStr.ConfigChange_hideScore:
232234
case BabaStr.ConfigChange_SortStrategy:
233235
case BabaStr.TreeData_favoriteChange:
236+
case BabaStr.BricksData_removeBricksHaveFinish:
234237
bricksDataService.fire();
235238
break;
236239
case BabaStr.CommitResult_showFinish:
@@ -251,6 +254,9 @@ export class BricksDataMediator extends BABAMediator {
251254
case BabaStr.BABACMD_removeQidFromGroup:
252255
bricksViewController.removeQidFromGroup(body);
253256
break;
257+
case BabaStr.BABACMD_removeBricksHave:
258+
bricksViewController.removeBricksHave();
259+
break;
254260
default:
255261
break;
256262
}

src/controller/BricksViewController.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,20 @@ class BricksViewController implements Disposable {
2020
// 需要的
2121
public async getHaveNodes() {
2222
let all_qid: string[] = await bricksDao.getTodayBricks();
23+
let qid_tip = await bricksDao.getLastSubmitTimeToolTip(all_qid);
2324
const baseNode: TreeNodeModel[] = [];
2425
all_qid.forEach((qid) => {
2526
let node = BABA.getProxy(BabaStr.QuestionDataProxy).getNodeByQid(qid);
2627
if (node) {
27-
baseNode.push(node);
28+
let new_obj = new TreeNodeModel(
29+
Object.assign({}, node.get_data(), {
30+
collapsibleState: TreeItemCollapsibleState.None,
31+
groupTime: 0,
32+
toolTip: qid_tip.get(qid),
33+
}),
34+
TreeNodeType.BricksDataLeaf
35+
);
36+
baseNode.push(new_obj);
2837
}
2938
});
3039
return baseNode;
@@ -195,6 +204,12 @@ class BricksViewController implements Disposable {
195204
groupDao.removeQidFromTime(node.qid, node.groupTime);
196205
BABA.sendNotification(BabaStr.BricksData_removeQidFromGroupFinish);
197206
}
207+
208+
public async removeBricksHave() {
209+
let all_qid: string[] = await bricksDao.getTodayBricks();
210+
await bricksDao.addQidSubmitTime(all_qid);
211+
BABA.sendNotification(BabaStr.BricksData_removeBricksHaveFinish);
212+
}
198213
}
199214

200215
export const bricksViewController: BricksViewController = new BricksViewController();

src/dao/bricksDao.ts

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*/
99

1010
import { selectWorkspaceFolder } from "../utils/ConfigUtils";
11-
import { useWsl, toWinPath, getDayStart, getDayNow, getYMD } from "../utils/SystemUtils";
11+
import { useWsl, toWinPath, getDayStart, getDayNow, getYMD, getDayEnd } from "../utils/SystemUtils";
1212
import * as path from "path";
1313
import * as fse from "fs-extra";
1414
import { BricksType, BricksTypeName } from "../model/ConstDefind";
@@ -158,15 +158,34 @@ class BricksDao {
158158
return all_qid;
159159
}
160160

161+
public async getLastSubmitTimeToolTip(qid_list: Array<string>) {
162+
let all_bricks = await this.getAllBricks();
163+
let result: Map<string, string> = new Map<string, string>();
164+
qid_list.forEach((qid) => {
165+
const value = all_bricks[qid];
166+
const submit_time = value.submit_time || [];
167+
const submit_size = submit_time.length;
168+
if (submit_size >= 1) {
169+
result.set(qid, `${getYMD(submit_time[submit_size - 1])}日提交`);
170+
}
171+
});
172+
return result;
173+
}
174+
161175
public async getTodayBricksSubmit(): Promise<string[]> {
162176
let today_time = getDayStart();
177+
let today_time_end = getDayEnd();
163178
let all_bricks = await this.getAllBricks();
164179
let all_qid: Array<string> = [];
165180
for (const qid in all_bricks) {
166181
const value = all_bricks[qid];
167182
const submit_time = value.submit_time || [];
168183
let submit_size = submit_time.length;
169-
if (submit_size > 0 && submit_time[submit_size - 1] >= today_time) {
184+
if (
185+
submit_size > 0 &&
186+
submit_time[submit_size - 1] >= today_time &&
187+
submit_time[submit_size - 1] <= today_time_end
188+
) {
170189
all_qid.push(qid);
171190
}
172191
}
@@ -212,6 +231,20 @@ class BricksDao {
212231
all_data.all_bricks = temp;
213232
await this._write_data(all_data);
214233
}
234+
// 清空
235+
public async addQidSubmitTime(qid_list: string[]) {
236+
let all_data = await this._read_data();
237+
let temp = all_data.all_bricks || {};
238+
qid_list.forEach((qid) => {
239+
const value = temp[qid] || {};
240+
const submit_time = value.submit_time || [];
241+
submit_time.push(2012345678);
242+
value.submit_time = submit_time;
243+
temp[qid] = value;
244+
});
245+
all_data.all_bricks = temp;
246+
await this._write_data(all_data);
247+
}
215248

216249
public async addSubmitTimeByQid(qid: string) {
217250
let temp_data = await this.getInfoByQid(qid);

src/extension.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,9 @@ export async function activate(context: ExtensionContext): Promise<void> {
172172
commands.registerCommand("lcpr.removeBrickGroup", (a) =>
173173
BABA.sendNotification(BabaStr.BABACMD_removeBrickGroup, a)
174174
),
175+
commands.registerCommand("lcpr.removeBricksHave", (a) =>
176+
BABA.sendNotification(BabaStr.BABACMD_removeBricksHave, a)
177+
),
175178
commands.registerCommand("lcpr.removeQidFromGroup", (node) =>
176179
BABA.sendNotification(BabaStr.BABACMD_removeQidFromGroup, node)
177180
),

0 commit comments

Comments
 (0)