Empty Trash: Visually remove deleted items, refresh icon (#2606)

There were a few problems causing the incorrect behavior:
1. Rows were being removed only if they had no non-deleted children, which
   wasn't the right check. We want to remove all rows with no *deleted*
   children.
2. Children of the removed rows weren't being removed with them.
3. We weren't invalidating the tree (which _removeRows() doesn't do).

Also:

* Erase trashed annotation after getAnnotations() test

Because ItemTree#notify() doesn't yet correctly handle refresh events on
parent items that are themselves children (three-level nesting: item ->
attachment -> annotation), this test was causing a failure in
itemTreeTest.js.
This commit is contained in:
Abe Jellinek 2022-08-18 21:14:34 -04:00
parent 40ae2e3246
commit 22b00c33de
5 changed files with 25 additions and 9 deletions

View file

@ -684,7 +684,7 @@ describe("Zotero.ItemTree", function() {
});
describe("Trash", function () {
it.skip("should remove untrashed parent item when last trashed child is deleted", function* () {
it("should remove untrashed parent item when last trashed child is deleted", function* () {
var userLibraryID = Zotero.Libraries.userLibraryID;
var item = yield createDataObject('item');
var note = yield createDataObject(