Fix unloaded tab context menu actions

Show in Library and Move to New Window.

Will fix zotero/zotero#2685
This commit is contained in:
Abe Jellinek 2023-07-03 15:01:38 -04:00 committed by Dan Stillman
parent 98fceea06d
commit 7791779289

View file

@ -498,9 +498,9 @@ var Zotero_Tabs = new function () {
menuitem = document.createXULElement('menuitem');
menuitem.setAttribute('label', Zotero.getString('general.showInLibrary'));
menuitem.addEventListener('command', () => {
var reader = Zotero.Reader.getByTabID(id);
if (reader) {
let itemID = reader.itemID;
let { tab } = this._getTab(id);
if (tab && (tab.type === 'reader' || tab.type === 'reader-unloaded')) {
let itemID = tab.data.itemID;
let item = Zotero.Items.get(itemID);
if (item && item.parentItemID) {
itemID = item.parentItemID;
@ -537,11 +537,11 @@ var Zotero_Tabs = new function () {
menuitem.setAttribute('label', Zotero.getString('tabs.moveToWindow'));
menuitem.setAttribute('disabled', false);
menuitem.addEventListener('command', () => {
var reader = Zotero.Reader.getByTabID(id);
if (reader) {
let { tab } = this._getTab(id);
if (tab && (tab.type === 'reader' || tab.type === 'reader-unloaded')) {
this.close(id);
let { secondViewState } = tab.data;
Zotero.Reader.open(reader.itemID, null, { openInWindow: true, secondViewState });
let { itemID, secondViewState } = tab.data;
Zotero.Reader.open(itemID, null, { openInWindow: true, secondViewState });
}
});
menupopup.appendChild(menuitem);