Don't select last item in list when item is removed from collection
This commit is contained in:
parent
9ecfc31fd4
commit
f98de97e4d
|
@ -487,7 +487,11 @@ Zotero.ItemTreeView.prototype.notify = Zotero.Promise.coroutine(function* (actio
|
|||
var sort = false;
|
||||
|
||||
var savedSelection = this.getSelectedItems(true);
|
||||
var previousFirstSelectedRow = this._rowMap[ids[0]];
|
||||
var previousFirstSelectedRow = this._rowMap[
|
||||
// 'collection-item' ids are in the form <collectionID>-<itemID>
|
||||
// 'item' events are just integers
|
||||
type == 'collection-item' ? ids[0].split('-')[1] : ids[0]
|
||||
];
|
||||
|
||||
// If there's not at least one new item to be selected, get a scroll position to restore later
|
||||
var scrollPosition = false;
|
||||
|
|
|
@ -242,7 +242,7 @@ describe("Zotero.ItemTreeView", function() {
|
|||
var items = [];
|
||||
var num = 6;
|
||||
for (let i = 0; i < num; i++) {
|
||||
let item = createUnsavedDataObject('item');
|
||||
let item = createUnsavedDataObject('item', { title: "" + i });
|
||||
item.addToCollection(collection.id);
|
||||
yield item.saveTx();
|
||||
items.push(item);
|
||||
|
@ -251,6 +251,17 @@ describe("Zotero.ItemTreeView", function() {
|
|||
|
||||
// Select the third item in the list
|
||||
itemsView.selection.select(2);
|
||||
|
||||
// Remove item
|
||||
var treeRow = itemsView.getRow(2);
|
||||
yield Zotero.DB.executeTransaction(function* () {
|
||||
yield collection.removeItems([treeRow.ref.id]);
|
||||
}.bind(this));
|
||||
|
||||
// Selection should stay on third row
|
||||
assert.equal(itemsView.selection.currentIndex, 2);
|
||||
|
||||
// Delete item
|
||||
var treeRow = itemsView.getRow(2);
|
||||
yield treeRow.ref.eraseTx();
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user