Fix item selection that requires switching to library root

Broken in c7639f328f
This commit is contained in:
Dan Stillman 2017-10-07 05:05:34 -04:00
parent d4569d3640
commit 773a93f55d
2 changed files with 16 additions and 7 deletions

View File

@ -1180,10 +1180,9 @@ Zotero.CollectionTreeView.prototype.selectItem = Zotero.Promise.coroutine(functi
yield this.selectLibrary(item.libraryID); yield this.selectLibrary(item.libraryID);
} }
var itemTreeView = this.itemTreeView; yield this.itemTreeView.waitForLoad();
yield itemTreeView.waitForLoad();
var selected = yield itemTreeView.selectItem(itemID, expand); var selected = yield this.itemTreeView.selectItem(itemID, expand);
if (selected) { if (selected) {
return true; return true;
} }
@ -1197,9 +1196,9 @@ Zotero.CollectionTreeView.prototype.selectItem = Zotero.Promise.coroutine(functi
yield this.selectLibrary(item.libraryID); yield this.selectLibrary(item.libraryID);
} }
yield itemTreeView.waitForLoad(); yield this.itemTreeView.waitForLoad();
return itemTreeView.selectItem(itemID, expand); return this.itemTreeView.selectItem(itemID, expand);
}); });

View File

@ -481,8 +481,18 @@ describe("Zotero.CollectionTreeView", function() {
yield win.ZoteroPane.deleteSelectedCollection(); yield win.ZoteroPane.deleteSelectedCollection();
assert.isFalse(cv.getRowIndexByID(id)) assert.isFalse(cv.getRowIndexByID(id))
}) })
});
}) describe("#selectItem()", function () {
it("should switch to library root if item isn't in collection", async function () {
var item = await createDataObject('item');
var collection = await createDataObject('collection');
await cv.selectItem(item.id);
await waitForItemsLoad(win);
assert.equal(cv.selection.currentIndex, 0);
assert.sameMembers(zp.itemsView.getSelectedItems(), [item]);
});
});
describe("#drop()", function () { describe("#drop()", function () {
/** /**