From 1a850d58c4cbe0e47663d2bba63fdf72a4e1e84b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adomas=20Ven=C4=8Dkauskas?= Date: Mon, 3 Jul 2023 14:53:35 +0300 Subject: [PATCH] Fix the column picker not working outside of zotero pane. Closes #3162 --- chrome/content/zotero/itemTree.jsx | 9 +++++++-- chrome/content/zotero/zoteroPane.xhtml | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/chrome/content/zotero/itemTree.jsx b/chrome/content/zotero/itemTree.jsx index 6df3fa1a50..c1c68a7e53 100644 --- a/chrome/content/zotero/itemTree.jsx +++ b/chrome/content/zotero/itemTree.jsx @@ -3553,7 +3553,12 @@ var ItemTree = class ItemTree extends LibraryTree { if (!this.props.columnPicker) return; const prefix = 'zotero-column-picker-'; const doc = document; - const popupset = doc.getElementById('trees-popupset'); + let popupset = document.querySelector('#zotero-column-picker-popupset'); + if (!popupset) { + popupset = doc.createXULElement('popupset'); + popupset.id = 'zotero-column-picker-popupset'; + document.children[0].appendChild(popupset); + } const menupopup = doc.createXULElement('menupopup'); menupopup.id = 'zotero-column-picker'; @@ -3702,7 +3707,7 @@ var ItemTree = class ItemTree extends LibraryTree { menuitem.setAttribute('anonid', prefix + 'restore-order'); menuitem.addEventListener('command', () => this.tree._columns.restoreDefaultOrder()); menupopup.appendChild(menuitem); - + popupset.appendChild(menupopup); menupopup.openPopupAtScreen( window.screenX + event.clientX + 2, diff --git a/chrome/content/zotero/zoteroPane.xhtml b/chrome/content/zotero/zoteroPane.xhtml index 837f2e962d..627a2ec2ec 100644 --- a/chrome/content/zotero/zoteroPane.xhtml +++ b/chrome/content/zotero/zoteroPane.xhtml @@ -889,7 +889,7 @@ - +