diff --git a/src/events.ts b/src/events.ts index 81a7b70..3d29c56 100644 --- a/src/events.ts +++ b/src/events.ts @@ -124,6 +124,7 @@ class AddonEvents extends AddonBase { if (state) { const noteTab = state.tabs.find((t) => t.type === "betternotes"); Zotero.debug(noteTab); + this._Addon.views.showProgressWindow("1", noteTab.select); if (noteTab) { let t = 0; while (t < 5) { @@ -132,7 +133,7 @@ class AddonEvents extends AddonBase { await this._Addon.knowledge.openWorkspaceWindow( "tab", false, - noteTab.selected + false ); break; } catch (e) { @@ -775,7 +776,7 @@ class AddonEvents extends AddonBase { message.content.params.item ); } - (_window as Window).focus(); + this._Addon.knowledge.openWorkspaceWindow(); } else { ZoteroPane.openNoteWindow(message.content.params.item.id); } diff --git a/src/knowledge.ts b/src/knowledge.ts index 5af1f0a..c98f1b7 100644 --- a/src/knowledge.ts +++ b/src/knowledge.ts @@ -170,7 +170,7 @@ class Knowledge extends AddonBase { noteEditor.viewMode = "library"; noteEditor.parent = null; noteEditor.item = note; - if (this.workspaceTabId) { + if (!noteEditor || !noteEditor.getCurrentInstance()) { noteEditor.initEditor(); } @@ -186,7 +186,9 @@ class Knowledge extends AddonBase { params: type, }) ); - this._Addon.views.updateOutline(); + if (type === "main") { + this._Addon.views.updateOutline(); + } } getLinesInNote(note: ZoteroItem): string[] {