Fix items-count updating in right-hand pane
And some other tweaks to ZoteroPane.itemSelected()
This commit is contained in:
parent
84ff141edd
commit
a64282118b
3 changed files with 72 additions and 15 deletions
|
@ -48,16 +48,7 @@ var loadZoteroPane = Zotero.Promise.coroutine(function* () {
|
|||
// there or it should be good enough here.
|
||||
yield Zotero.Promise.delay(52);
|
||||
|
||||
var zp = win.ZoteroPane;
|
||||
var cv = zp.collectionsView;
|
||||
var resolve1, resolve2;
|
||||
var promise1 = new Zotero.Promise(() => resolve1 = arguments[0]);
|
||||
var promise2 = new Zotero.Promise(() => resolve2 = arguments[0]);
|
||||
cv.addEventListener('load', () => resolve1())
|
||||
yield promise1;
|
||||
cv.selection.select(0);
|
||||
zp.addEventListener('itemsLoaded', () => resolve2());
|
||||
yield promise2;
|
||||
yield waitForItemsLoad(win, 0);
|
||||
|
||||
return win;
|
||||
});
|
||||
|
@ -85,6 +76,22 @@ function waitForWindow(uri) {
|
|||
return deferred.promise;
|
||||
}
|
||||
|
||||
var waitForItemsLoad = function (win, collectionRowToSelect) {
|
||||
var resolve;
|
||||
var promise = new Zotero.Promise(() => resolve = arguments[0]);
|
||||
var zp = win.ZoteroPane;
|
||||
var cv = zp.collectionsView;
|
||||
cv.addEventListener('load', function () {
|
||||
if (collectionRowToSelect !== undefined) {
|
||||
cv.selection.select(collectionRowToSelect);
|
||||
}
|
||||
zp.addEventListener('itemsLoaded', function () {
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
return promise;
|
||||
}
|
||||
|
||||
/**
|
||||
* Waits for a single item event. Returns a promise for the item ID(s).
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue