@@ -13,6 +13,7 @@ import { AbstractWebviewViewProvider } from "../../common/vscode/abstract-webvie
1313import { assertNever } from "../../common/helpers-pure" ;
1414import { ModelEditorViewTracker } from "../model-editor-view-tracker" ;
1515import { ModelConfigListener } from "../../config" ;
16+ import { DatabaseItem } from "../../databases/local-databases" ;
1617
1718export class MethodModelingViewProvider extends AbstractWebviewViewProvider <
1819 ToMethodModelingMessage ,
@@ -21,6 +22,7 @@ export class MethodModelingViewProvider extends AbstractWebviewViewProvider<
2122 public static readonly viewType = "codeQLMethodModeling" ;
2223
2324 private method : Method | undefined = undefined ;
25+ private databaseItem : DatabaseItem | undefined = undefined ;
2426
2527 constructor (
2628 app : App ,
@@ -46,8 +48,12 @@ export class MethodModelingViewProvider extends AbstractWebviewViewProvider<
4648 } ) ;
4749 }
4850
49- public async setMethod ( method : Method ) : Promise < void > {
51+ public async setMethod (
52+ databaseItem : DatabaseItem | undefined ,
53+ method : Method | undefined ,
54+ ) : Promise < void > {
5055 this . method = method ;
56+ this . databaseItem = databaseItem ;
5157
5258 if ( this . isShowingView ) {
5359 await this . postMessage ( {
@@ -174,6 +180,8 @@ export class MethodModelingViewProvider extends AbstractWebviewViewProvider<
174180 this . modelingStore . onSelectedMethodChanged ( async ( e ) => {
175181 if ( this . webviewView ) {
176182 this . method = e . method ;
183+ this . databaseItem = e . databaseItem ;
184+
177185 await this . postMessage ( {
178186 t : "setSelectedMethod" ,
179187 method : e . method ,
@@ -194,13 +202,17 @@ export class MethodModelingViewProvider extends AbstractWebviewViewProvider<
194202 ) ;
195203
196204 this . push (
197- this . modelingStore . onDbClosed ( async ( ) => {
205+ this . modelingStore . onDbClosed ( async ( dbUri ) => {
198206 if ( ! this . modelingStore . anyDbsBeingModeled ( ) ) {
199207 await this . postMessage ( {
200208 t : "setInModelingMode" ,
201209 inModelingMode : false ,
202210 } ) ;
203211 }
212+
213+ if ( dbUri === this . databaseItem ?. databaseUri . toString ( ) ) {
214+ await this . setMethod ( undefined , undefined ) ;
215+ }
204216 } ) ,
205217 ) ;
206218 }
0 commit comments