提交 91635e83 编写于 作者: B Benjamin Pasero

grid - add onDidOpen event to groups

上级 e4740f3f
......@@ -78,15 +78,18 @@ export class NextEditorGroupView extends Themable implements INextEditorGroupVie
private _onWillOpenEditor: Emitter<IEditorOpeningEvent> = this._register(new Emitter<IEditorOpeningEvent>());
get onWillOpenEditor(): Event<IEditorOpeningEvent> { return this._onWillOpenEditor.event; }
private _onDidOpenEditor: Emitter<EditorInput> = this._register(new Emitter<EditorInput>());
get onDidOpenEditor(): Event<EditorInput> { return this._onDidOpenEditor.event; }
private _onDidOpenEditorFail: Emitter<EditorInput> = this._register(new Emitter<EditorInput>());
get onDidOpenEditorFail(): Event<EditorInput> { return this._onDidOpenEditorFail.event; }
private _onWillCloseEditor: Emitter<IEditorCloseEvent> = this._register(new Emitter<IEditorCloseEvent>());
get onWillCloseEditor(): Event<IEditorCloseEvent> { return this._onWillCloseEditor.event; }
private _onDidCloseEditor: Emitter<IEditorCloseEvent> = this._register(new Emitter<IEditorCloseEvent>());
get onDidCloseEditor(): Event<IEditorCloseEvent> { return this._onDidCloseEditor.event; }
private _onDidOpenEditorFail: Emitter<EditorInput> = this._register(new Emitter<EditorInput>());
get onDidOpenEditorFail(): Event<EditorInput> { return this._onDidOpenEditorFail.event; }
//#endregion
private _group: EditorGroup;
......@@ -365,6 +368,9 @@ export class NextEditorGroupView extends Themable implements INextEditorGroupVie
// Update container
this.updateContainer();
// Event
this._onDidOpenEditor.fire(editor);
}
private onDidEditorClose(event: EditorCloseEvent): void {
......@@ -389,9 +395,6 @@ export class NextEditorGroupView extends Themable implements INextEditorGroupVie
}
});
// After close
this._onDidCloseEditor.fire(event);
/* __GDPR__
"editorClosed" : {
"${include}": [
......@@ -403,6 +406,9 @@ export class NextEditorGroupView extends Themable implements INextEditorGroupVie
// Update container
this.updateContainer();
// Event
this._onDidCloseEditor.fire(event);
}
private onDidEditorDispose(editor: EditorInput): void {
......
......@@ -287,6 +287,22 @@ export interface INextEditorGroup {
*/
readonly onDidActiveEditorChange: Event<void>;
/**
* Emitted when an editor is about to open. This can be prevented from
* the provided event.
*/
readonly onWillOpenEditor: Event<IEditorOpeningEvent>;
/**
* Emitted when an editor has opened successfully.
*/
readonly onDidOpenEditor: Event<IEditorInput>;
/**
* Emitted when an editor failed to open.
*/
readonly onDidOpenEditorFail: Event<IEditorInput>;
/**
* Emitted when an editor of this group is about to get closed.
*
......@@ -300,17 +316,6 @@ export interface INextEditorGroup {
*/
readonly onDidCloseEditor: Event<IEditorCloseEvent>;
/**
* Emitted when an editor is about to open. This can be prevented from
* the provided event.
*/
readonly onWillOpenEditor: Event<IEditorOpeningEvent>;
/**
* Emitted when an editor failed to open.
*/
readonly onDidOpenEditorFail: Event<IEditorInput>;
/**
* An event for when the label of the group changes.
*/
......
......@@ -356,6 +356,16 @@ suite('Editor groups service (editor2)', () => {
activeEditorChangeCounter++;
});
let editorWillOpenCounter = 0;
const editorWillOpenListener = group.onWillOpenEditor(() => {
editorWillOpenCounter++;
});
let editorDidOpenCounter = 0;
const editorDidOpenListener = group.onDidOpenEditor(() => {
editorDidOpenCounter++;
});
let editorCloseCounter = 0;
const editorCloseListener = group.onDidCloseEditor(() => {
editorCloseCounter++;
......@@ -365,10 +375,6 @@ suite('Editor groups service (editor2)', () => {
const editorWillCloseListener = group.onWillCloseEditor(() => {
editorWillCloseCounter++;
});
let editorWillOpenCounter = 0;
const editorWillOpenListener = group.onWillOpenEditor(() => {
editorWillOpenCounter++;
});
const input = new TestEditorInput(URI.file('foo/bar'));
const inputInactive = new TestEditorInput(URI.file('foo/bar/inactive'));
......@@ -382,6 +388,7 @@ suite('Editor groups service (editor2)', () => {
assert.equal(group.isEmpty(), false);
assert.equal(group.count, 2);
assert.equal(editorWillOpenCounter, 2);
assert.equal(editorDidOpenCounter, 2);
assert.equal(activeEditorChangeCounter, 1);
assert.equal(group.getEditor(0), input);
assert.equal(group.getEditor(1), inputInactive);
......@@ -413,6 +420,7 @@ suite('Editor groups service (editor2)', () => {
editorCloseListener.dispose();
editorWillCloseListener.dispose();
editorWillOpenListener.dispose();
editorDidOpenListener.dispose();
part.dispose();
});
});
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册