From 751457268bd84e6c49d29044ca86d804db75cb13 Mon Sep 17 00:00:00 2001 From: windingwind <33902321+windingwind@users.noreply.github.com> Date: Mon, 1 Apr 2024 12:41:08 +0800 Subject: [PATCH] Fix ItemDetails pinned pane with custom sections --- chrome/content/zotero/elements/itemDetails.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/elements/itemDetails.js b/chrome/content/zotero/elements/itemDetails.js index a99e9559cd..f74a6cd62e 100644 --- a/chrome/content/zotero/elements/itemDetails.js +++ b/chrome/content/zotero/elements/itemDetails.js @@ -113,11 +113,14 @@ } set pinnedPane(val) { - if (!val || !this.getEnabledPane(val)) { + if (val && !this.getEnabledPane(val)) { + // Store pinned pane because custom sections may not be ready yet + this._pendingPinnedPane = val; val = ''; } this.setAttribute('pinnedPane', val); if (val) { + this._pendingPinnedPane = ''; this._pinnedPaneMinScrollHeight = this._getMinScrollHeightForPane(this.getEnabledPane(val)); } this.sidenav.updatePaneStatus(val); @@ -303,6 +306,10 @@ this._intersectionOb.observe(elem); this.sidenav.addPane(paneID); } + // Update pending pinned pane + if (this._pendingPinnedPane && this.getEnabledPane(this._pendingPinnedPane)) { + this.pinnedPane = this._pendingPinnedPane; + } } renderCustomHead(callback) {