Asyncify various functions to fix cross-library drag-and-drop error
When dragging an item to another library, we have to check if there's a linked item in the target library, but items might not yet be laoded in the other library, so item.getLinkedItem() can fail with "Item [n] not yet loaded]. Fixing required asyncifying the follow functions: - Zotero.Item::getLinkedItem() - Zotero.Collection::getLinkedCollection() - Zotero.URI.getURIItem() - Zotero.URI.getURICollection() - Various integration functions
This commit is contained in:
parent
182b9a937b
commit
fe9fc8bc5a
9 changed files with 93 additions and 99 deletions
|
@ -451,7 +451,7 @@ describe("Zotero.DataObject", function() {
|
|||
var item2URI = Zotero.URI.getItemURI(item2);
|
||||
|
||||
yield item2.addLinkedItem(item1);
|
||||
var linkedItem = item1.getLinkedItem(item2.libraryID);
|
||||
var linkedItem = yield item1.getLinkedItem(item2.libraryID);
|
||||
assert.equal(linkedItem.id, item2.id);
|
||||
})
|
||||
|
||||
|
@ -462,7 +462,7 @@ describe("Zotero.DataObject", function() {
|
|||
var item2 = yield createDataObject('item', { libraryID: group.libraryID });
|
||||
|
||||
yield item2.addLinkedItem(item1);
|
||||
var linkedItem = item2.getLinkedItem(item1.libraryID);
|
||||
var linkedItem = yield item2.getLinkedItem(item1.libraryID);
|
||||
assert.isFalse(linkedItem);
|
||||
})
|
||||
|
||||
|
@ -473,7 +473,7 @@ describe("Zotero.DataObject", function() {
|
|||
var item2 = yield createDataObject('item', { libraryID: group.libraryID });
|
||||
|
||||
yield item2.addLinkedItem(item1);
|
||||
var linkedItem = item2.getLinkedItem(item1.libraryID, true);
|
||||
var linkedItem = yield item2.getLinkedItem(item1.libraryID, true);
|
||||
assert.equal(linkedItem.id, item1.id);
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue