From e9fb9f52d875500e68d8d7dc4d4a92373ceaf594 Mon Sep 17 00:00:00 2001 From: Charis Kyriakou Date: Wed, 1 Nov 2023 08:52:44 +0000 Subject: [PATCH 1/2] Update method modeling panel language when new db opened --- .../method-modeling/method-modeling-view-provider.ts | 5 ++++- .../ql-vscode/src/model-editor/modeling-events.ts | 12 +++++++----- .../ql-vscode/src/model-editor/modeling-store.ts | 2 +- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/extensions/ql-vscode/src/model-editor/method-modeling/method-modeling-view-provider.ts b/extensions/ql-vscode/src/model-editor/method-modeling/method-modeling-view-provider.ts index 6df5b423140..d23a576cfd6 100644 --- a/extensions/ql-vscode/src/model-editor/method-modeling/method-modeling-view-provider.ts +++ b/extensions/ql-vscode/src/model-editor/method-modeling/method-modeling-view-provider.ts @@ -208,11 +208,14 @@ export class MethodModelingViewProvider extends AbstractWebviewViewProvider< ); this.push( - this.modelingEvents.onDbOpened(async () => { + this.modelingEvents.onDbOpened(async (e) => { await this.postMessage({ t: "setInModelingMode", inModelingMode: true, }); + + this.language = tryGetQueryLanguage(e.language); + await this.setViewState(); }), ); diff --git a/extensions/ql-vscode/src/model-editor/modeling-events.ts b/extensions/ql-vscode/src/model-editor/modeling-events.ts index 86691692ef1..795a8d9d27f 100644 --- a/extensions/ql-vscode/src/model-editor/modeling-events.ts +++ b/extensions/ql-vscode/src/model-editor/modeling-events.ts @@ -50,7 +50,7 @@ interface InProgressMethodsChangedEvent { export class ModelingEvents extends DisposableObject { public readonly onActiveDbChanged: AppEvent; - public readonly onDbOpened: AppEvent; + public readonly onDbOpened: AppEvent; public readonly onDbClosed: AppEvent; public readonly onMethodsChanged: AppEvent; public readonly onHideModeledMethodsChanged: AppEvent; @@ -61,7 +61,7 @@ export class ModelingEvents extends DisposableObject { public readonly onInProgressMethodsChanged: AppEvent; private readonly onActiveDbChangedEventEmitter: AppEventEmitter; - private readonly onDbOpenedEventEmitter: AppEventEmitter; + private readonly onDbOpenedEventEmitter: AppEventEmitter; private readonly onDbClosedEventEmitter: AppEventEmitter; private readonly onMethodsChangedEventEmitter: AppEventEmitter; private readonly onHideModeledMethodsChangedEventEmitter: AppEventEmitter; @@ -79,7 +79,9 @@ export class ModelingEvents extends DisposableObject { ); this.onActiveDbChanged = this.onActiveDbChangedEventEmitter.event; - this.onDbOpenedEventEmitter = this.push(app.createEventEmitter()); + this.onDbOpenedEventEmitter = this.push( + app.createEventEmitter(), + ); this.onDbOpened = this.onDbOpenedEventEmitter.event; this.onDbClosedEventEmitter = this.push(app.createEventEmitter()); @@ -130,8 +132,8 @@ export class ModelingEvents extends DisposableObject { this.onActiveDbChangedEventEmitter.fire(); } - public fireDbOpenedEvent(dbUri: string) { - this.onDbOpenedEventEmitter.fire(dbUri); + public fireDbOpenedEvent(databaseItem: DatabaseItem) { + this.onDbOpenedEventEmitter.fire(databaseItem); } public fireDbClosedEvent(dbUri: string) { diff --git a/extensions/ql-vscode/src/model-editor/modeling-store.ts b/extensions/ql-vscode/src/model-editor/modeling-store.ts index 0b3bfdf93f6..537dd9b7214 100644 --- a/extensions/ql-vscode/src/model-editor/modeling-store.ts +++ b/extensions/ql-vscode/src/model-editor/modeling-store.ts @@ -64,7 +64,7 @@ export class ModelingStore extends DisposableObject { inProgressMethods: new Set(), }); - this.modelingEvents.fireDbOpenedEvent(dbUri); + this.modelingEvents.fireDbOpenedEvent(databaseItem); } public setActiveDb(databaseItem: DatabaseItem) { From 57fbb8e2e630592a5a60c36a67ec634c175eeeca Mon Sep 17 00:00:00 2001 From: Charis Kyriakou Date: Wed, 1 Nov 2023 09:09:25 +0000 Subject: [PATCH 2/2] Update method modeling panel database item when new db opened --- .../method-modeling/method-modeling-view-provider.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/extensions/ql-vscode/src/model-editor/method-modeling/method-modeling-view-provider.ts b/extensions/ql-vscode/src/model-editor/method-modeling/method-modeling-view-provider.ts index d23a576cfd6..60038174b0a 100644 --- a/extensions/ql-vscode/src/model-editor/method-modeling/method-modeling-view-provider.ts +++ b/extensions/ql-vscode/src/model-editor/method-modeling/method-modeling-view-provider.ts @@ -208,13 +208,15 @@ export class MethodModelingViewProvider extends AbstractWebviewViewProvider< ); this.push( - this.modelingEvents.onDbOpened(async (e) => { + this.modelingEvents.onDbOpened(async (databaseItem) => { + this.databaseItem = databaseItem; + await this.postMessage({ t: "setInModelingMode", inModelingMode: true, }); - this.language = tryGetQueryLanguage(e.language); + this.language = tryGetQueryLanguage(databaseItem.language); await this.setViewState(); }), );