mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Search filters fixes
This commit is contained in:
parent
c0e64535bf
commit
1d1e3de5d5
@ -564,6 +564,8 @@ public final class ChatListSearchContainerNode: SearchDisplayControllerContentNo
|
|||||||
} else {
|
} else {
|
||||||
transition.updateFrame(node: selectionPanelNode, frame: panelFrame)
|
transition.updateFrame(node: selectionPanelNode, frame: panelFrame)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bottomIntrinsicInset = panelHeight
|
||||||
} else if let selectionPanelNode = self.selectionPanelNode {
|
} else if let selectionPanelNode = self.selectionPanelNode {
|
||||||
self.selectionPanelNode = nil
|
self.selectionPanelNode = nil
|
||||||
transition.updateFrame(node: selectionPanelNode, frame: CGRect(origin: CGPoint(x: 0.0, y: layout.size.height), size: selectionPanelNode.bounds.size), completion: { [weak selectionPanelNode] _ in
|
transition.updateFrame(node: selectionPanelNode, frame: CGRect(origin: CGPoint(x: 0.0, y: layout.size.height), size: selectionPanelNode.bounds.size), completion: { [weak selectionPanelNode] _ in
|
||||||
@ -576,6 +578,8 @@ public final class ChatListSearchContainerNode: SearchDisplayControllerContentNo
|
|||||||
var bottomInset = layout.intrinsicInsets.bottom
|
var bottomInset = layout.intrinsicInsets.bottom
|
||||||
if let inputHeight = layout.inputHeight {
|
if let inputHeight = layout.inputHeight {
|
||||||
bottomInset = inputHeight
|
bottomInset = inputHeight
|
||||||
|
} else if let _ = self.selectionPanelNode {
|
||||||
|
bottomInset = bottomIntrinsicInset
|
||||||
} else if case .root = self.groupId {
|
} else if case .root = self.groupId {
|
||||||
bottomInset -= bottomIntrinsicInset
|
bottomInset -= bottomIntrinsicInset
|
||||||
}
|
}
|
||||||
|
@ -649,7 +649,8 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
|
|||||||
let currentViewVersion = Atomic<Int?>(value: nil)
|
let currentViewVersion = Atomic<Int?>(value: nil)
|
||||||
|
|
||||||
let historyViewUpdate: Signal<(ChatHistoryViewUpdate, Int), NoError>
|
let historyViewUpdate: Signal<(ChatHistoryViewUpdate, Int), NoError>
|
||||||
if case let .custom(messages, _, loadMore) = source {
|
var isFirstTime = true
|
||||||
|
if case let .custom(messages, at, _) = source {
|
||||||
historyViewUpdate = messages
|
historyViewUpdate = messages
|
||||||
|> map { messages, _, hasMore in
|
|> map { messages, _, hasMore in
|
||||||
let version = currentViewVersion.modify({ value in
|
let version = currentViewVersion.modify({ value in
|
||||||
@ -659,7 +660,16 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
})!
|
})!
|
||||||
return (ChatHistoryViewUpdate.HistoryView(view: MessageHistoryView(tagMask: nil, namespaces: .all, entries: messages.reversed().map { MessageHistoryEntry(message: $0, isRead: false, location: nil, monthLocation: nil, attributes: MutableMessageHistoryEntryAttributes(authorIsContact: false)) }, holeEarlier: hasMore), type: .Generic(type: ViewUpdateType.Initial), scrollPosition: nil, flashIndicators: false, originalScrollPosition: nil, initialData: ChatHistoryCombinedInitialData(initialData: nil, buttonKeyboardMessage: nil, cachedData: nil, cachedDataMessages: nil, readStateData: nil), id: 0), version)
|
|
||||||
|
let scrollPosition: ChatHistoryViewScrollPosition?
|
||||||
|
if isFirstTime, let messageIndex = messages.first(where: { $0.id == at })?.index {
|
||||||
|
scrollPosition = .index(index: .message(messageIndex), position: .center(.bottom), directionHint: .Down, animated: false, highlight: false)
|
||||||
|
isFirstTime = false
|
||||||
|
} else {
|
||||||
|
scrollPosition = nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return (ChatHistoryViewUpdate.HistoryView(view: MessageHistoryView(tagMask: nil, namespaces: .all, entries: messages.reversed().map { MessageHistoryEntry(message: $0, isRead: false, location: nil, monthLocation: nil, attributes: MutableMessageHistoryEntryAttributes(authorIsContact: false)) }, holeEarlier: hasMore), type: .Generic(type: ViewUpdateType.Initial), scrollPosition: scrollPosition, flashIndicators: false, originalScrollPosition: nil, initialData: ChatHistoryCombinedInitialData(initialData: nil, buttonKeyboardMessage: nil, cachedData: nil, cachedDataMessages: nil, readStateData: nil), id: 0), version)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
historyViewUpdate = self.chatHistoryLocationPromise.get()
|
historyViewUpdate = self.chatHistoryLocationPromise.get()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user