Skip to content

Commit 6140032

Browse files
committed
Fix updating the ER diagram webview. Refs #36
1 parent 8e0a75e commit 6140032

File tree

1 file changed

+17
-20
lines changed

1 file changed

+17
-20
lines changed

src/util/ERDiagramWebViewProvider.ts

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,11 @@ export class ERDiagramWebViewProvider extends Disposable {
88
constructor(
99
private readonly panel: vscode.WebviewPanel,
1010
private readonly extensionUri: vscode.Uri,
11-
dbContext: string,
12-
mermaidContent: string,
1311
) {
1412
super();
1513
this.setWebviewMessageListener(this.panel.webview);
1614
this.subscriptions.push(this.panel);
1715
this.panel.onDidDispose(() => this.dispose(), null, this.subscriptions);
18-
19-
const activeTheme = vscode.window.activeColorTheme;
20-
const mermaidTheme =
21-
activeTheme.kind === vscode.ColorThemeKind.Dark ? 'dark' : 'default';
22-
23-
this.panel.webview.html = getWebviewContent(
24-
dbContext,
25-
this.panel.webview,
26-
this.extensionUri,
27-
mermaidContent,
28-
mermaidTheme,
29-
);
3016
}
3117

3218
public dispose(): void {
@@ -39,11 +25,7 @@ export class ERDiagramWebViewProvider extends Disposable {
3925
dbContext: string,
4026
mermaidContent: string,
4127
) {
42-
if (ERDiagramWebViewProvider.currentProvider) {
43-
ERDiagramWebViewProvider.currentProvider.panel.reveal(
44-
vscode.ViewColumn.One,
45-
);
46-
} else {
28+
if (!ERDiagramWebViewProvider.currentProvider) {
4729
const panel = vscode.window.createWebviewPanel(
4830
`${EXTENSION_NAMESPACE}-dbcontext`,
4931
'Entity Relationship Diagram',
@@ -55,10 +37,25 @@ export class ERDiagramWebViewProvider extends Disposable {
5537
ERDiagramWebViewProvider.currentProvider = new ERDiagramWebViewProvider(
5638
panel,
5739
extensionUri,
40+
);
41+
}
42+
43+
const activeTheme = vscode.window.activeColorTheme;
44+
const mermaidTheme =
45+
activeTheme.kind === vscode.ColorThemeKind.Dark ? 'dark' : 'default';
46+
47+
ERDiagramWebViewProvider.currentProvider.panel.webview.html =
48+
getWebviewContent(
5849
dbContext,
50+
ERDiagramWebViewProvider.currentProvider.panel.webview,
51+
extensionUri,
5952
mermaidContent,
53+
mermaidTheme,
6054
);
61-
}
55+
56+
ERDiagramWebViewProvider.currentProvider.panel.reveal(
57+
vscode.ViewColumn.One,
58+
);
6259
}
6360

6461
private setWebviewMessageListener(webview: vscode.Webview) {

0 commit comments

Comments
 (0)