Fix subcollections being shown at top level of groups

Fixes #1065
This commit is contained in:
Dan Stillman 2016-07-18 17:15:48 -04:00
parent ab10d1617e
commit 2d39614143
2 changed files with 21 additions and 1 deletions

View File

@ -1220,7 +1220,7 @@ Zotero.CollectionTreeView.prototype._expandRow = Zotero.Promise.coroutine(functi
}
if (isLibrary) {
var collections = Zotero.Collections.getByLibrary(libraryID, treeRow.ref.id);
var collections = Zotero.Collections.getByLibrary(libraryID);
}
else if (isCollection) {
var collections = Zotero.Collections.getByParent(treeRow.ref.id);

View File

@ -139,6 +139,26 @@ describe("Zotero.CollectionTreeView", function() {
assert.ok(cv.getRowIndexByID(col2.treeViewID))
assert.ok(cv.getRowIndexByID(col3.treeViewID))
});
it("should open a group and show top-level collections", function* () {
var group = yield createGroup();
var libraryID = group.libraryID;
var col1 = yield createDataObject('collection', { libraryID });
var col2 = yield createDataObject('collection', { libraryID });
var col3 = yield createDataObject('collection', { libraryID });
var col4 = yield createDataObject('collection', { libraryID, parentID: col1.id });
var col5 = yield createDataObject('collection', { libraryID, parentID: col4.id });
// Close everything
[col4, col1, group].forEach(o => cv._closeContainer(cv.getRowIndexByID(o.treeViewID)));
yield cv.expandLibrary(libraryID);
assert.isNumber(cv.getRowIndexByID(col1.treeViewID));
assert.isNumber(cv.getRowIndexByID(col2.treeViewID));
assert.isNumber(cv.getRowIndexByID(col3.treeViewID));
assert.isFalse(cv.getRowIndexByID(col4.treeViewID));
assert.isFalse(cv.getRowIndexByID(col5.treeViewID));
});
});
describe("#expandToCollection()", function () {