mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2026-01-04 04:05:00 +00:00
Dismiss input in group member search
This commit is contained in:
@@ -1300,6 +1300,7 @@ public func groupInfoController(context: AccountContext, peerId originalPeerId:
|
||||
var removePeerChatImpl: ((Peer, Bool) -> Void)?
|
||||
var errorImpl: (() -> Void)?
|
||||
var clearHighlightImpl: (() -> Void)?
|
||||
var dismissInputImpl: (() -> Void)?
|
||||
|
||||
let actionsDisposable = DisposableSet()
|
||||
|
||||
@@ -2264,6 +2265,8 @@ public func groupInfoController(context: AccountContext, peerId originalPeerId:
|
||||
}
|
||||
}, pushController: { c in
|
||||
pushControllerImpl?(c)
|
||||
}, dismissInput: {
|
||||
dismissInputImpl?()
|
||||
})
|
||||
}
|
||||
|
||||
@@ -2306,6 +2309,9 @@ public func groupInfoController(context: AccountContext, peerId originalPeerId:
|
||||
controller?.view.endEditing(true)
|
||||
controller?.present(value, in: .window(.root), with: presentationArguments, blockInteraction: true)
|
||||
}
|
||||
dismissInputImpl = { [weak controller] in
|
||||
controller?.view.endEditing(true)
|
||||
}
|
||||
upgradedToSupergroupImpl = { [weak controller] upgradedPeerId, f in
|
||||
let _ = (context.account.postbox.transaction { transaction -> Peer? in
|
||||
return transaction.getPeer(upgradedPeerId)
|
||||
|
||||
@@ -17,19 +17,21 @@ final class ChannelMembersSearchItem: ItemListControllerSearch {
|
||||
let cancel: () -> Void
|
||||
let openPeer: (Peer, RenderedChannelParticipant?) -> Void
|
||||
let pushController: (ViewController) -> Void
|
||||
let dismissInput: () -> Void
|
||||
let searchMode: ChannelMembersSearchMode
|
||||
|
||||
private var updateActivity: ((Bool) -> Void)?
|
||||
private var activity: ValuePromise<Bool> = ValuePromise(ignoreRepeated: false)
|
||||
private let activityDisposable = MetaDisposable()
|
||||
|
||||
init(context: AccountContext, peerId: PeerId, searchContext: GroupMembersSearchContext?, searchMode: ChannelMembersSearchMode = .searchMembers, cancel: @escaping () -> Void, openPeer: @escaping (Peer, RenderedChannelParticipant?) -> Void, pushController: @escaping (ViewController) -> Void) {
|
||||
init(context: AccountContext, peerId: PeerId, searchContext: GroupMembersSearchContext?, searchMode: ChannelMembersSearchMode = .searchMembers, cancel: @escaping () -> Void, openPeer: @escaping (Peer, RenderedChannelParticipant?) -> Void, pushController: @escaping (ViewController) -> Void, dismissInput: @escaping () -> Void) {
|
||||
self.context = context
|
||||
self.peerId = peerId
|
||||
self.searchContext = searchContext
|
||||
self.cancel = cancel
|
||||
self.openPeer = openPeer
|
||||
self.pushController = pushController
|
||||
self.dismissInput = dismissInput
|
||||
self.searchMode = searchMode
|
||||
activityDisposable.set((activity.get() |> mapToSignal { value -> Signal<Bool, NoError> in
|
||||
if value {
|
||||
@@ -77,14 +79,14 @@ final class ChannelMembersSearchItem: ItemListControllerSearch {
|
||||
self?.activity.set(value)
|
||||
}, pushController: { [weak self] c in
|
||||
self?.pushController(c)
|
||||
})
|
||||
}, dismissInput: self.dismissInput)
|
||||
}
|
||||
}
|
||||
|
||||
private final class ChannelMembersSearchItemNode: ItemListControllerSearchNode {
|
||||
private let containerNode: ChannelMembersSearchContainerNode
|
||||
|
||||
init(context: AccountContext, peerId: PeerId, searchMode: ChannelMembersSearchMode, searchContext: GroupMembersSearchContext?, openPeer: @escaping (Peer, RenderedChannelParticipant?) -> Void, cancel: @escaping () -> Void, updateActivity: @escaping(Bool) -> Void, pushController: @escaping (ViewController) -> Void) {
|
||||
init(context: AccountContext, peerId: PeerId, searchMode: ChannelMembersSearchMode, searchContext: GroupMembersSearchContext?, openPeer: @escaping (Peer, RenderedChannelParticipant?) -> Void, cancel: @escaping () -> Void, updateActivity: @escaping(Bool) -> Void, pushController: @escaping (ViewController) -> Void, dismissInput: @escaping () -> Void) {
|
||||
self.containerNode = ChannelMembersSearchContainerNode(context: context, peerId: peerId, mode: searchMode, filters: [], searchContext: searchContext, openPeer: { peer, participant in
|
||||
openPeer(peer, participant)
|
||||
}, updateActivity: updateActivity, pushController: pushController)
|
||||
@@ -95,6 +97,10 @@ private final class ChannelMembersSearchItemNode: ItemListControllerSearchNode {
|
||||
super.init()
|
||||
|
||||
self.addSubnode(self.containerNode)
|
||||
|
||||
self.containerNode.dismissInput = {
|
||||
dismissInput()
|
||||
}
|
||||
}
|
||||
|
||||
override func queryUpdated(_ query: String) {
|
||||
|
||||
Reference in New Issue
Block a user