Asyncify Zotero.CollectionTreeCache.clear()

This commit is contained in:
Dan Stillman 2015-05-04 02:37:14 -04:00
parent 8ec248f7ec
commit ef91299951

View File

@ -2163,15 +2163,16 @@ Zotero.CollectionTreeCache = {
"lastSearch":null,
"lastResults":null,
"clear":function() {
"clear": Zotero.Promise.coroutine(function* () {
this.lastTreeRow = null;
this.lastSearch = null;
yield Zotero.DB.waitForTransaction();
if(this.lastTempTable) {
Zotero.DB.queryAsync("DROP TABLE " + this.lastTempTable);
yield Zotero.DB.queryAsync("DROP TABLE IF EXISTS " + this.lastTempTable);
}
this.lastTempTable = null;
this.lastResults = null;
}
})
};
Zotero.CollectionTreeRow = function(type, ref)
@ -2374,7 +2375,7 @@ Zotero.CollectionTreeRow.prototype.getItems = Zotero.Promise.coroutine(function*
Zotero.CollectionTreeRow.prototype.getSearchResults = Zotero.Promise.coroutine(function* (asTempTable) {
if(Zotero.CollectionTreeCache.lastTreeRow !== this) {
Zotero.CollectionTreeCache.clear();
yield Zotero.CollectionTreeCache.clear();
}
if(!Zotero.CollectionTreeCache.lastResults) {
@ -2399,7 +2400,7 @@ Zotero.CollectionTreeRow.prototype.getSearchResults = Zotero.Promise.coroutine(f
*/
Zotero.CollectionTreeRow.prototype.getSearchObject = Zotero.Promise.coroutine(function* () {
if(Zotero.CollectionTreeCache.lastTreeRow !== this) {
Zotero.CollectionTreeCache.clear();
yield Zotero.CollectionTreeCache.clear();
}
if(Zotero.CollectionTreeCache.lastSearch) {
@ -2484,17 +2485,15 @@ Zotero.CollectionTreeRow.prototype.getChildTags = Zotero.Promise.method(function
});
Zotero.CollectionTreeRow.prototype.setSearch = function(searchText)
{
Zotero.CollectionTreeCache.clear();
Zotero.CollectionTreeRow.prototype.setSearch = Zotero.Promise.coroutine(function* (searchText) {
yield Zotero.CollectionTreeCache.clear();
this.searchText = searchText;
}
});
Zotero.CollectionTreeRow.prototype.setTags = function(tags)
{
Zotero.CollectionTreeCache.clear();
Zotero.CollectionTreeRow.prototype.setTags = Zotero.Promise.coroutine(function* (tags) {
yield Zotero.CollectionTreeCache.clear();
this.tags = tags;
}
});
/*
* Returns TRUE if saved search, quicksearch or tag filter