Skip to content

Commit 1b84906

Browse files
authored
Add basic multi-query support to MRVA results view header (#3286)
1 parent 1f24cd1 commit 1b84906

File tree

4 files changed

+37
-6
lines changed

4 files changed

+37
-6
lines changed

extensions/ql-vscode/src/variant-analysis/shared/variant-analysis.ts

+1
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ export interface VariantAnalysisSubmission {
159159
// unclear what it will look like in the future.
160160
export interface VariantAnalysisQueries {
161161
language: QueryLanguage;
162+
count: number;
162163
}
163164

164165
export async function isVariantAnalysisComplete(

extensions/ql-vscode/src/variant-analysis/variant-analysis-manager.ts

+1
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,7 @@ export class VariantAnalysisManager
405405
? undefined
406406
: {
407407
language: qlPackDetails.language,
408+
count: qlPackDetails.queryFiles.length,
408409
};
409410

410411
const variantAnalysisSubmission: VariantAnalysisSubmission = {

extensions/ql-vscode/src/variant-analysis/variant-analysis-view.ts

+9-3
Original file line numberDiff line numberDiff line change
@@ -218,9 +218,15 @@ export class VariantAnalysisView
218218
}
219219

220220
private getTitle(variantAnalysis: VariantAnalysis | undefined): string {
221-
return variantAnalysis
222-
? `${variantAnalysis.query.name} - Variant Analysis Results`
223-
: `Variant Analysis ${this.variantAnalysisId} - Results`;
221+
if (!variantAnalysis) {
222+
return `Variant Analysis ${this.variantAnalysisId} - Results`;
223+
}
224+
225+
if (variantAnalysis.queries) {
226+
return `Variant Analysis using multiple queries - Results`;
227+
} else {
228+
return `${variantAnalysis.query.name} - Variant Analysis Results`;
229+
}
224230
}
225231

226232
private async showDataFlows(dataFlows: DataFlowPaths): Promise<void> {

extensions/ql-vscode/src/view/variant-analysis/VariantAnalysisHeader.tsx

+26-3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
defaultFilterSortState,
2222
filterAndSortRepositoriesWithResults,
2323
} from "../../variant-analysis/shared/variant-analysis-filter-sort";
24+
import { ViewTitle } from "../common";
2425

2526
type VariantAnalysisHeaderProps = {
2627
variantAnalysis: VariantAnalysis;
@@ -50,6 +51,29 @@ const Row = styled.div`
5051
align-items: center;
5152
`;
5253

54+
const QueryInfo = ({
55+
variantAnalysis,
56+
onOpenQueryFileClick,
57+
onViewQueryTextClick,
58+
}: {
59+
variantAnalysis: VariantAnalysis;
60+
onOpenQueryFileClick: () => void;
61+
onViewQueryTextClick: () => void;
62+
}) => {
63+
if (variantAnalysis.queries) {
64+
return <ViewTitle>{variantAnalysis.queries?.count} queries</ViewTitle>;
65+
} else {
66+
return (
67+
<QueryDetails
68+
queryName={variantAnalysis.query.name}
69+
queryFileName={basename(variantAnalysis.query.filePath)}
70+
onOpenQueryFileClick={onOpenQueryFileClick}
71+
onViewQueryTextClick={onViewQueryTextClick}
72+
/>
73+
);
74+
}
75+
};
76+
5377
export const VariantAnalysisHeader = ({
5478
variantAnalysis,
5579
repositoryStates,
@@ -117,9 +141,8 @@ export const VariantAnalysisHeader = ({
117141
return (
118142
<Container>
119143
<Row>
120-
<QueryDetails
121-
queryName={variantAnalysis.query.name}
122-
queryFileName={basename(variantAnalysis.query.filePath)}
144+
<QueryInfo
145+
variantAnalysis={variantAnalysis}
123146
onOpenQueryFileClick={onOpenQueryFileClick}
124147
onViewQueryTextClick={onViewQueryTextClick}
125148
/>

0 commit comments

Comments
 (0)