Make delete animation correct for deletes and restores by wrapping them in BatchUpdates. Issue #667
This commit is contained in:
parent
8e7b1c8454
commit
31cc3b609c
@ -837,18 +837,14 @@ private extension FeedbinAccountDelegate {
|
|||||||
|
|
||||||
if editedName != nil {
|
if editedName != nil {
|
||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
BatchUpdate.shared.perform {
|
|
||||||
account.removeFeed(feed)
|
account.removeFeed(feed)
|
||||||
folder.addFeed(feed)
|
folder.addFeed(feed)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
self?.processRestoredFeedName(for: account, feed: feed, editedName: editedName!, completion: completion)
|
self?.processRestoredFeedName(for: account, feed: feed, editedName: editedName!, completion: completion)
|
||||||
} else {
|
} else {
|
||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
BatchUpdate.shared.perform {
|
|
||||||
account.removeFeed(feed)
|
account.removeFeed(feed)
|
||||||
folder.addFeed(feed)
|
folder.addFeed(feed)
|
||||||
}
|
|
||||||
completion(.success(()))
|
completion(.success(()))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -869,6 +865,10 @@ private extension FeedbinAccountDelegate {
|
|||||||
|
|
||||||
if editedName != nil {
|
if editedName != nil {
|
||||||
processRestoredFeedName(for: account, feed: feed, editedName: editedName!, completion: completion)
|
processRestoredFeedName(for: account, feed: feed, editedName: editedName!, completion: completion)
|
||||||
|
} else {
|
||||||
|
DispatchQueue.main.async {
|
||||||
|
completion(.success(()))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -135,11 +135,15 @@ private struct SidebarItemSpecifier {
|
|||||||
func delete() {
|
func delete() {
|
||||||
|
|
||||||
if let feed = feed {
|
if let feed = feed {
|
||||||
|
BatchUpdate.shared.start()
|
||||||
account?.deleteFeed(feed) { result in
|
account?.deleteFeed(feed) { result in
|
||||||
|
BatchUpdate.shared.end()
|
||||||
self.checkResult(result)
|
self.checkResult(result)
|
||||||
}
|
}
|
||||||
} else if let folder = folder {
|
} else if let folder = folder {
|
||||||
|
BatchUpdate.shared.start()
|
||||||
account?.deleteFolder(folder) { result in
|
account?.deleteFolder(folder) { result in
|
||||||
|
BatchUpdate.shared.end()
|
||||||
self.checkResult(result)
|
self.checkResult(result)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -161,7 +165,9 @@ private struct SidebarItemSpecifier {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BatchUpdate.shared.start()
|
||||||
account.restoreFeed(feed, folder: resolvedFolder()) { result in
|
account.restoreFeed(feed, folder: resolvedFolder()) { result in
|
||||||
|
BatchUpdate.shared.end()
|
||||||
self.checkResult(result)
|
self.checkResult(result)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -173,7 +179,9 @@ private struct SidebarItemSpecifier {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BatchUpdate.shared.start()
|
||||||
account.restoreFolder(folder) { result in
|
account.restoreFolder(folder) { result in
|
||||||
|
BatchUpdate.shared.end()
|
||||||
self.checkResult(result)
|
self.checkResult(result)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user