Skip to content

Commit aa64732

Browse files
authored
Merge pull request #101 from Steven-L-42/master
Make notifyOnActiveDocumentChange async to prevent update conflicts
2 parents 5a69a6a + 253cbf1 commit aa64732

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/DockManager.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -752,12 +752,12 @@ export class DockManager {
752752
});
753753
}
754754

755-
notifyOnActiveDocumentChange(panel: PanelContainer, oldActive: PanelContainer) {
756-
this.layoutEventListeners.forEach((listener) => {
755+
async notifyOnActiveDocumentChange(panel: PanelContainer, oldActive: PanelContainer) {
756+
for (const listener of this.layoutEventListeners) {
757757
if (listener.onActiveDocumentChange) {
758-
listener.onActiveDocumentChange(this, panel, oldActive);
758+
await listener.onActiveDocumentChange(this, panel, oldActive);
759759
}
760-
});
760+
}
761761
}
762762

763763
saveState() {

src/interfaces/ILayoutEventListener.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ export interface ILayoutEventListener {
1717
onContainerResized?(dockManager: DockManager, dockContainer: IDockContainer): void;
1818
onTabChanged?(dockManager: DockManager, tabpage: TabPage): void;
1919
onActivePanelChange?(dockManager: DockManager, panel?: PanelContainer, previousPanel?: PanelContainer): void;
20-
onActiveDocumentChange?(dockManager: DockManager, panel?: PanelContainer, previousPanel?: PanelContainer): void;
20+
onActiveDocumentChange?(dockManager: DockManager, panel?: PanelContainer, previousPanel?: PanelContainer): Promise<void>;
2121

2222
/**
2323
* The Dock Manager notifies the listeners of layout changes so client containers that have
2424
* costly layout structures can detach and reattach themself to avoid reflow
2525
*/
2626
onSuspendLayout?(dockManager: DockManager, panel: IDockContainer): void;
2727
onResumeLayout?(dockManager: DockManager, panel: IDockContainer): void;
28-
}
28+
}

0 commit comments

Comments
 (0)