Skip to content

Commit a0a4a06

Browse files
Convert handleItemClicked to use createSingleSelectionCommand
1 parent b17251b commit a0a4a06

3 files changed

Lines changed: 17 additions & 48 deletions

File tree

extensions/ql-vscode/src/query-history/query-history-manager.ts

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,10 @@ export class QueryHistoryManager extends DisposableObject {
268268
"codeQLQueryHistory.viewSarifAlerts":
269269
this.handleViewSarifAlerts.bind(this),
270270
"codeQLQueryHistory.viewDil": this.handleViewDil.bind(this),
271-
"codeQLQueryHistory.itemClicked": this.handleItemClicked.bind(this),
271+
"codeQLQueryHistory.itemClicked": createSingleSelectionCommand(
272+
this.handleItemClicked.bind(this),
273+
"query",
274+
),
272275
"codeQLQueryHistory.openOnGithub": this.handleOpenOnGithub.bind(this),
273276
"codeQLQueryHistory.copyRepoList": this.handleCopyRepoList.bind(this),
274277

@@ -598,33 +601,26 @@ export class QueryHistoryManager extends DisposableObject {
598601
}
599602
}
600603

601-
async handleItemClicked(
602-
singleItem: QueryHistoryInfo,
603-
multiSelect: QueryHistoryInfo[] | undefined,
604-
) {
605-
if (!this.assertSingleQuery(multiSelect)) {
606-
return;
607-
}
608-
609-
this.treeDataProvider.setCurrentItem(singleItem);
604+
async handleItemClicked(item: QueryHistoryInfo) {
605+
this.treeDataProvider.setCurrentItem(item);
610606

611607
const now = new Date();
612608
const prevItemClick = this.lastItemClick;
613-
this.lastItemClick = { time: now, item: singleItem };
609+
this.lastItemClick = { time: now, item };
614610

615611
if (
616612
prevItemClick !== undefined &&
617613
now.valueOf() - prevItemClick.time.valueOf() < DOUBLE_CLICK_TIME &&
618-
singleItem === prevItemClick.item
614+
item === prevItemClick.item
619615
) {
620616
// show original query file on double click
621-
await this.handleOpenQuery(singleItem);
617+
await this.handleOpenQuery(item);
622618
} else if (
623-
singleItem.t === "variant-analysis" ||
624-
singleItem.status === QueryStatus.Completed
619+
item.t === "variant-analysis" ||
620+
item.status === QueryStatus.Completed
625621
) {
626622
// show results on single click (if results view is available)
627-
await this.openQueryResults(singleItem);
623+
await this.openQueryResults(item);
628624
}
629625
}
630626

extensions/ql-vscode/test/vscode-tests/no-workspace/query-history/query-history-manager.test.ts

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,7 @@ describe("QueryHistoryManager", () => {
155155
it("should show results", async () => {
156156
queryHistoryManager = await createMockQueryHistory(allHistory);
157157
const itemClicked = localQueryHistory[0];
158-
await queryHistoryManager.handleItemClicked(itemClicked, [
159-
itemClicked,
160-
]);
158+
await queryHistoryManager.handleItemClicked(itemClicked);
161159

162160
expect(
163161
localQueriesResultsViewStub.showResults,
@@ -175,9 +173,7 @@ describe("QueryHistoryManager", () => {
175173
it("should do nothing", async () => {
176174
queryHistoryManager = await createMockQueryHistory(allHistory);
177175
const itemClicked = localQueryHistory[2];
178-
await queryHistoryManager.handleItemClicked(itemClicked, [
179-
itemClicked,
180-
]);
176+
await queryHistoryManager.handleItemClicked(itemClicked);
181177

182178
expect(
183179
localQueriesResultsViewStub.showResults,
@@ -191,9 +187,7 @@ describe("QueryHistoryManager", () => {
191187
it("should show results", async () => {
192188
queryHistoryManager = await createMockQueryHistory(allHistory);
193189
const itemClicked = variantAnalysisHistory[0];
194-
await queryHistoryManager.handleItemClicked(itemClicked, [
195-
itemClicked,
196-
]);
190+
await queryHistoryManager.handleItemClicked(itemClicked);
197191

198192
expect(variantAnalysisManagerStub.showView).toHaveBeenCalledTimes(
199193
1,
@@ -211,9 +205,7 @@ describe("QueryHistoryManager", () => {
211205
it("should show results", async () => {
212206
queryHistoryManager = await createMockQueryHistory(allHistory);
213207
const itemClicked = variantAnalysisHistory[1];
214-
await queryHistoryManager.handleItemClicked(itemClicked, [
215-
itemClicked,
216-
]);
208+
await queryHistoryManager.handleItemClicked(itemClicked);
217209

218210
expect(variantAnalysisManagerStub.showView).toHaveBeenCalledTimes(
219211
1,
@@ -228,25 +220,6 @@ describe("QueryHistoryManager", () => {
228220
});
229221
});
230222
});
231-
232-
describe("double click", () => {
233-
it("should do nothing", async () => {
234-
queryHistoryManager = await createMockQueryHistory(allHistory);
235-
const itemClicked = allHistory[0];
236-
const secondItemClicked = allHistory[1];
237-
238-
await queryHistoryManager.handleItemClicked(itemClicked, [
239-
itemClicked,
240-
secondItemClicked,
241-
]);
242-
243-
expect(localQueriesResultsViewStub.showResults).not.toHaveBeenCalled();
244-
expect(variantAnalysisManagerStub.showView).not.toBeCalled();
245-
expect(
246-
queryHistoryManager.treeDataProvider.getCurrent(),
247-
).toBeUndefined();
248-
});
249-
});
250223
});
251224

252225
describe("handleRemoveHistoryItem", () => {

extensions/ql-vscode/test/vscode-tests/no-workspace/query-history/variant-analysis-history.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ describe("Variant Analyses and QueryHistoryManager", () => {
177177
it("should handle a click", async () => {
178178
await qhm.readQueryHistory();
179179

180-
await qhm.handleItemClicked(qhm.treeDataProvider.allHistory[0], []);
180+
await qhm.handleItemClicked(qhm.treeDataProvider.allHistory[0]);
181181
expect(showViewStub).toBeCalledWith(rawQueryHistory[0].variantAnalysis.id);
182182
});
183183

0 commit comments

Comments
 (0)