commit 96e96c0348d10643704b0a8d9c3b39b85b3501de
parent 6745ea9868c89621a51668110e3be62b3156dddc
Author: Dan Stillman <dstillman@zotero.org>
Date: Fri, 9 Mar 2018 14:24:26 -0500
Focus correct note window when multiple note windows are open
Probably broken by dcfaa5521e
Diffstat:
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/chrome/content/zotero/itemPane.js b/chrome/content/zotero/itemPane.js
@@ -25,6 +25,7 @@
var ZoteroItemPane = new function() {
var _lastItem, _itemBox, _notesLabel, _notesButton, _notesList, _tagsBox, _relatedBox;
+ var _selectedNote;
var _translationTarget;
var _noteIDs;
@@ -60,6 +61,8 @@ var ZoteroItemPane = new function() {
* Load a top-level item
*/
this.viewItem = Zotero.Promise.coroutine(function* (item, mode, index) {
+ _selectedNote = null;
+
if (!index) {
index = 0;
}
@@ -223,6 +226,8 @@ var ZoteroItemPane = new function() {
this.onNoteSelected = function (item, editable) {
+ _selectedNote = item;
+
// If an external note window is open for this item, don't show the editor
if (ZoteroPane.findNoteWindow(item.id)) {
this.showNoteWindowMessage();
@@ -258,20 +263,18 @@ var ZoteroItemPane = new function() {
* Select the parent item and open the note editor
*/
this.openNoteWindow = async function () {
- var noteEditor = document.getElementById('zotero-note-editor');
- var item = noteEditor.item;
// We don't want to show the note in two places, since it causes unnecessary UI updates
// and can result in weird bugs where note content gets lost.
//
// If this is a child note, select the parent
- if (item.parentID) {
- await ZoteroPane.selectItem(item.parentID);
+ if (_selectedNote.parentID) {
+ await ZoteroPane.selectItem(_selectedNote.parentID);
}
// Otherwise, hide note and replace with a message that we're editing externally
else {
this.showNoteWindowMessage();
}
- ZoteroPane.openNoteWindow(item.id);
+ ZoteroPane.openNoteWindow(_selectedNote.id);
};