提交 03711748 编写于 作者: R rebornix

💄

上级 2d367a50
......@@ -124,7 +124,6 @@ export class NotebookEditor extends BaseEditor {
// set a new input, let's hide previous input
this.saveEditorViewState(this.input as NotebookEditorInput);
this._widget?.onWillHide();
this._widget?.onBeforeDetached();
}
}
......@@ -134,7 +133,6 @@ export class NotebookEditor extends BaseEditor {
Event.once(input.onDispose)(() => {
// make sure the editor widget is removed from the view
const existingEditorWidgetForInput = NotebookRegistry.getNotebookEditorWidget(this.input as NotebookEditorInput);
// this.saveEditorViewState(this.input as NotebookEditorInput);
existingEditorWidgetForInput?.getDomNode().remove();
existingEditorWidgetForInput?.dispose();
NotebookRegistry.releaseNotebookEditorWidget(this.input as NotebookEditorInput);
......@@ -145,10 +143,15 @@ export class NotebookEditor extends BaseEditor {
const viewState = this.loadTextEditorViewState(input);
const existingEditorWidgetForInput = NotebookRegistry.getNotebookEditorWidget(input);
if (existingEditorWidgetForInput) {
// hide current widget
this._widget?.onWillHide();
this._widget?.onBeforeDetached();
// previous widget is then detached
// set the new one
this._widget = existingEditorWidgetForInput;
} else {
// hide current widget
this._widget?.onWillHide();
// create a new widget
this._widget = this.instantiationService.createInstance(NotebookEditorWidget);
this._widget.createEditor();
NotebookRegistry.claimNotebookEditorWidget(input, this._widget);
......@@ -158,13 +161,11 @@ export class NotebookEditor extends BaseEditor {
this._widget.layout(this.dimension, this._rootElement);
}
this._widget.onBeforeAttached();
this._widget.setModel(model.notebook, viewState, options);
}
clearInput(): void {
this._widget?.onWillHide();
this._widget?.onBeforeDetached();
this._widget = undefined;
super.clearInput();
}
......
......@@ -92,9 +92,6 @@ export class NotebookEditorWidget extends Disposable implements INotebookEditor
protected readonly _contributions: { [key: string]: INotebookEditorContribution; };
private scrollBeyondLastLine: boolean;
private readonly memento: Memento;
private _attachedEditorCount: number;
private readonly _onDidChangeAttached: Emitter<void> = this._register(new Emitter<void>());
public readonly onDidChangeAttached: Event<void> = this._onDidChangeAttached.event;
constructor(
......@@ -108,7 +105,6 @@ export class NotebookEditorWidget extends Disposable implements INotebookEditor
super();
this.memento = new Memento(NotebookEditorWidget.ID, storageService);
this._attachedEditorCount = 0;
this.outputRenderer = new OutputRenderer(this, this.instantiationService);
this._contributions = {};
this.scrollBeyondLastLine = this.configurationService.getValue<boolean>('editor.scrollBeyondLastLine');
......@@ -123,24 +119,6 @@ export class NotebookEditorWidget extends Disposable implements INotebookEditor
});
}
public onBeforeAttached(): void {
this._attachedEditorCount++;
if (this._attachedEditorCount === 1) {
this._onDidChangeAttached.fire(undefined);
}
}
public onBeforeDetached(): void {
this._attachedEditorCount--;
if (this._attachedEditorCount === 0) {
this._onDidChangeAttached.fire(undefined);
}
}
public isAttachedToEditor(): boolean {
return this._attachedEditorCount > 0;
}
private readonly _onDidChangeModel = new Emitter<void>();
readonly onDidChangeModel: Event<void> = this._onDidChangeModel.event;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册