Include libraryID in group.erase() notifier data
This commit is contained in:
parent
ec89a98f9d
commit
b43a735b93
|
@ -260,6 +260,8 @@ Zotero.Group.prototype.save = Zotero.Promise.coroutine(function* () {
|
|||
* Deletes group and all descendant objects
|
||||
**/
|
||||
Zotero.Group.prototype.erase = Zotero.Promise.coroutine(function* () {
|
||||
Zotero.debug("Removing group " + this.id);
|
||||
|
||||
Zotero.DB.requireTransaction();
|
||||
|
||||
// Delete items
|
||||
|
@ -291,7 +293,11 @@ Zotero.Group.prototype.erase = Zotero.Promise.coroutine(function* () {
|
|||
Zotero.Groups.unregister(this.id);
|
||||
//yield Zotero.purgeDataObjects();
|
||||
}.bind(this))
|
||||
Zotero.Notifier.queue('delete', 'group', this.id);
|
||||
var notifierData = {};
|
||||
notifierData[this.id] = {
|
||||
libraryID: this.libraryID
|
||||
};
|
||||
Zotero.Notifier.queue('delete', 'group', this.id, notifierData);
|
||||
});
|
||||
|
||||
|
||||
|
|
|
@ -10,6 +10,26 @@ describe("Zotero.Group", function () {
|
|||
}.bind(this));
|
||||
assert.isFalse(Zotero.Groups.exists(id));
|
||||
})
|
||||
|
||||
it("should provide libraryID in extraData", function* () {
|
||||
var group = yield createGroup();
|
||||
var libraryID = group.libraryID;
|
||||
|
||||
var deferred = Zotero.Promise.defer();
|
||||
var observerID = Zotero.Notifier.registerObserver({
|
||||
notify: function (event, type, ids, extraData) {
|
||||
deferred.resolve(extraData[ids[0]]);
|
||||
}
|
||||
}, ['group'], "test");
|
||||
try {
|
||||
yield group.eraseTx();
|
||||
let extraData = yield deferred.promise;
|
||||
assert.equal(extraData.libraryID, libraryID);
|
||||
}
|
||||
finally {
|
||||
Zotero.Notifier.unregisterObserver(observerID);
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
describe("#fromJSON()", function () {
|
||||
|
|
Loading…
Reference in New Issue
Block a user