Dismiss context menu when message gets deleted

This commit is contained in:
Ali
2021-02-18 23:21:58 +04:00
parent 20d620d630
commit a46bfa8265
4 changed files with 50 additions and 7 deletions

View File

@@ -3,6 +3,7 @@ import UIKit
import Display
import ContextUI
import Postbox
import SwiftSignalKit
final class ChatMessageContextExtractedContentSource: ContextExtractedContentSource {
let keepInPlace: Bool = false
@@ -10,11 +11,29 @@ final class ChatMessageContextExtractedContentSource: ContextExtractedContentSou
let blurBackground: Bool = true
private weak var chatNode: ChatControllerNode?
private let postbox: Postbox
private let message: Message
private let selectAll: Bool
init(chatNode: ChatControllerNode, message: Message, selectAll: Bool) {
var shouldBeDismissed: Signal<Bool, NoError> {
let viewKey = PostboxViewKey.messages(Set([self.message.id]))
return self.postbox.combinedView(keys: [viewKey])
|> map { views -> Bool in
guard let view = views.views[viewKey] as? MessagesView else {
return false
}
if view.messages.isEmpty {
return true
} else {
return false
}
}
|> distinctUntilChanged
}
init(chatNode: ChatControllerNode, postbox: Postbox, message: Message, selectAll: Bool) {
self.chatNode = chatNode
self.postbox = postbox
self.message = message
self.selectAll = selectAll
}