Move context manipulation into store and fix initial state.
This commit is contained in:
@@ -1870,11 +1870,11 @@
|
||||
"codeQLDatabases.languages": [
|
||||
{
|
||||
"command": "codeQLDatabases.displayAllLanguages",
|
||||
"when": "codeQLDatabases.languageFilter != All"
|
||||
"when": "codeQLDatabases.languageFilter"
|
||||
},
|
||||
{
|
||||
"command": "codeQLDatabases.displayAllLanguagesSelected",
|
||||
"when": "codeQLDatabases.languageFilter == All"
|
||||
"when": "!codeQLDatabases.languageFilter"
|
||||
},
|
||||
{
|
||||
"command": "codeQLDatabases.displayCpp",
|
||||
|
||||
@@ -607,21 +607,11 @@ export class DatabaseUI extends DisposableObject {
|
||||
}
|
||||
|
||||
private async handleClearLanguageFilter() {
|
||||
this.languageContext.clearLanguageContext();
|
||||
await this.app.commands.execute(
|
||||
"setContext",
|
||||
"codeQLDatabases.languageFilter",
|
||||
"All",
|
||||
);
|
||||
await this.languageContext.clearLanguageContext();
|
||||
}
|
||||
|
||||
private async handleChangeLanguageFilter(languageFilter: QueryLanguage) {
|
||||
this.languageContext.setLanguageContext(languageFilter);
|
||||
await this.app.commands.execute(
|
||||
"setContext",
|
||||
"codeQLDatabases.languageFilter",
|
||||
languageFilter,
|
||||
);
|
||||
await this.languageContext.setLanguageContext(languageFilter);
|
||||
}
|
||||
|
||||
private async handleUpgradeCurrentDatabase(): Promise<void> {
|
||||
|
||||
@@ -11,7 +11,7 @@ export class LanguageContextStore extends DisposableObject {
|
||||
|
||||
private state: LanguageFilter;
|
||||
|
||||
constructor(app: App) {
|
||||
constructor(private readonly app: App) {
|
||||
super();
|
||||
// State initialization
|
||||
this.state = "All";
|
||||
@@ -23,14 +23,24 @@ export class LanguageContextStore extends DisposableObject {
|
||||
this.onLanguageContextChanged = this.onLanguageContextChangedEmitter.event;
|
||||
}
|
||||
|
||||
public clearLanguageContext() {
|
||||
public async clearLanguageContext() {
|
||||
this.state = "All";
|
||||
this.onLanguageContextChangedEmitter.fire();
|
||||
await this.app.commands.execute(
|
||||
"setContext",
|
||||
"codeQLDatabases.languageFilter",
|
||||
"",
|
||||
);
|
||||
}
|
||||
|
||||
public setLanguageContext(language: QueryLanguage) {
|
||||
public async setLanguageContext(language: QueryLanguage) {
|
||||
this.state = language;
|
||||
this.onLanguageContextChangedEmitter.fire();
|
||||
await this.app.commands.execute(
|
||||
"setContext",
|
||||
"codeQLDatabases.languageFilter",
|
||||
language,
|
||||
);
|
||||
}
|
||||
|
||||
// This method takes a string to allow it to be used in cases
|
||||
|
||||
Reference in New Issue
Block a user