fixed workspaces

This commit is contained in:
Zsolt Viczian
2022-05-14 21:52:55 +02:00
parent 22d1a9b90a
commit 2bd1f68276
2 changed files with 11 additions and 8 deletions

View File

@@ -903,28 +903,31 @@ export default class ExcalidrawView extends TextFileView {
}
const self = this;
this.app.workspace.onLayoutReady(() => {
self.addSlidingPanesListner();
this.app.workspace.onLayoutReady(async () => {
self.contentEl.addClass("excalidraw-view");
await self.addSlidingPanesListner(); //awaiting this because when using workspaces, onLayoutReady comes too early
self.addParentMoveObserver();
});
this.setupAutosaveTimer();
this.contentEl.addClass("excalidraw-view");
}
//this is to solve sliding panes bug
//https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/9
private slidingPanesListner: any;
private addSlidingPanesListner() {
private async addSlidingPanesListner() {
const self = this;
this.slidingPanesListner = () => {
if (self.refresh) {
self.refresh();
}
};
(
this.app.workspace.rootSplit as WorkspaceItem as WorkspaceItemExt
).containerEl.addEventListener("scroll", this.slidingPanesListner);
let rootSplit = this.app.workspace.rootSplit as WorkspaceItem as WorkspaceItemExt;
while(!rootSplit) {
await sleep(50);
rootSplit = this.app.workspace.rootSplit as WorkspaceItem as WorkspaceItemExt;
}
rootSplit.containerEl.addEventListener("scroll", this.slidingPanesListner);
}
private removeSlidingPanesListner() {

View File

@@ -14,7 +14,7 @@ export const getParentOfClass = (element: HTMLElement, cssClass: string):HTMLEle
) {
parent = parent.parentElement;
}
return parent.classList.contains(cssClass) ? parent : null;
return parent?.classList?.contains(cssClass) ? parent : null;
};
export const getNewOrAdjacentLeaf = (