Fix context pane unnecessary update

Fixes #4029
This commit is contained in:
windingwind 2024-05-10 10:59:42 +08:00 committed by Dan Stillman
parent 91c0c28b5d
commit 8b083aa426

View file

@ -97,19 +97,20 @@
_handleItemUpdate(action, type, ids, extraData) {
// Update, remove or re-create item panes
if (action === 'modify') {
for (let itemDetails of Array.from(this._itemPaneDeck.children)) {
let item = itemDetails.item;
let tabID = itemDetails.dataset.tabId;
if (!item) {
this._removeItemContext(tabID);
}
else if (item.parentID != itemDetails.parentID) {
let tabID = itemDetails.tabID;
let item = Zotero.Items.get(Zotero_Tabs._getTab(tabID)?.tab.data.itemID);
if ((item.parentID || itemDetails.parentID)
&& item.parentID !== itemDetails.parentID) {
this._removeItemContext(tabID);
this._addItemContext(tabID, item.itemID);
}
}
}
// Update notes lists for affected libraries
if (['add', 'delete', 'modify'].includes(action)) {
let libraryIDs = [];
for (let id of ids) {
let item = Zotero.Items.get(id);
@ -127,6 +128,7 @@
}
}
}
}
_handleTabAdd(action, type, ids, extraData) {
let data = extraData[ids[0]];