Move webview to use onDidChangeViewState event

After discussions, we settled on making the webview private unlike `TextEditors`. This means that webview events will live on the webview object itself

Fixes #44571
This commit is contained in:
Matt Bierner
2018-03-20 13:40:24 -07:00
parent 54f1a18020
commit 27a17935b8
7 changed files with 60 additions and 69 deletions

View File

@@ -56,8 +56,8 @@ export class MarkdownPreview {
this.dispose();
}, null, this.disposables);
this.webview.onDidChangeViewColumn(() => {
this._onDidChangeViewColumnEmitter.fire();
this.webview.onDidChangeViewState(e => {
this._onDidChangeViewStateEmitter.fire(e);
}, null, this.disposables);
this.webview.onDidReceiveMessage(e => {
@@ -107,8 +107,8 @@ export class MarkdownPreview {
private readonly _onDisposeEmitter = new vscode.EventEmitter<void>();
public readonly onDispose = this._onDisposeEmitter.event;
private readonly _onDidChangeViewColumnEmitter = new vscode.EventEmitter<vscode.ViewColumn>();
public readonly onDidChangeViewColumn = this._onDidChangeViewColumnEmitter.event;
private readonly _onDidChangeViewStateEmitter = new vscode.EventEmitter<vscode.WebViewOnDidChangeViewStateEvent>();
public readonly onDidChangeViewState = this._onDidChangeViewStateEmitter.event;
public get resource(): vscode.Uri {
return this._resource;
@@ -118,7 +118,7 @@ export class MarkdownPreview {
this._onDisposeEmitter.fire();
this._onDisposeEmitter.dispose();
this._onDidChangeViewColumnEmitter.dispose();
this._onDidChangeViewStateEmitter.dispose();
this.webview.dispose();
disposeAll(this.disposables);