Use constant for selected db item resource uri (#1908)

This commit is contained in:
Charis Kyriakou
2022-12-23 08:34:16 +00:00
committed by GitHub
parent 3234f0afe1
commit 31b80efc56
3 changed files with 11 additions and 5 deletions

View File

@@ -5,13 +5,14 @@ import {
ProviderResult,
Uri,
} from "vscode";
import { SELECTED_DB_ITEM_RESOURCE_URI } from "./db-tree-view-item";
export class DbSelectionDecorationProvider implements FileDecorationProvider {
provideFileDecoration(
uri: Uri,
_token: CancellationToken,
): ProviderResult<FileDecoration> {
if (uri?.query === "selected=true") {
if (uri.toString(true) === SELECTED_DB_ITEM_RESOURCE_URI) {
return {
badge: "✓",
tooltip: "Currently selected",

View File

@@ -12,6 +12,8 @@ import {
RootRemoteDbItem,
} from "../db-item";
export const SELECTED_DB_ITEM_RESOURCE_URI = "codeql://databases?selected=true";
/**
* Represents an item in the database tree view. This item could be
* representing an actual database item or a warning.
@@ -33,7 +35,7 @@ export class DbTreeViewItem extends vscode.TreeItem {
if (dbItem && isSelectableDbItem(dbItem)) {
if (dbItem.selected) {
// Define the resource id to drive the UI to render this item as selected.
this.resourceUri = vscode.Uri.parse("codeql://databases?selected=true");
this.resourceUri = vscode.Uri.parse(SELECTED_DB_ITEM_RESOURCE_URI);
} else {
// Define a context value to drive the UI to show an action to select the item.
this.contextValue = "selectableDbItem";

View File

@@ -13,7 +13,10 @@ import {
DbListKind,
LocalDatabaseDbItem,
} from "../../../databases/db-item";
import { DbTreeViewItem } from "../../../databases/ui/db-tree-view-item";
import {
DbTreeViewItem,
SELECTED_DB_ITEM_RESOURCE_URI,
} from "../../../databases/ui/db-tree-view-item";
import { ExtensionApp } from "../../../common/vscode/vscode-app";
import { createMockExtensionContext } from "../../factories/extension-context";
import { createDbConfig } from "../../factories/db-config-factories";
@@ -831,8 +834,8 @@ describe("db panel", () => {
function isTreeViewItemSelected(treeViewItem: DbTreeViewItem) {
return (
treeViewItem.resourceUri?.query === "selected=true" &&
treeViewItem.contextValue === undefined
treeViewItem.resourceUri?.toString(true) ===
SELECTED_DB_ITEM_RESOURCE_URI && treeViewItem.contextValue === undefined
);
}
});