mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-12 01:10:49 +00:00
git-subtree-dir: submodules/TelegramUI git-subtree-mainline: 5c1613d1048026b9e00a6ce753775cef87eb53fa git-subtree-split: fa3ac0b61a27c8dd3296518a15891a6f9750cbf2
32 lines
896 B
Swift
32 lines
896 B
Swift
import Foundation
|
|
import UIKit
|
|
import AsyncDisplayKit
|
|
import Postbox
|
|
import SwiftSignalKit
|
|
import Display
|
|
|
|
public enum ChatHistoryNodeHistoryState: Equatable {
|
|
case loading
|
|
case loaded(isEmpty: Bool)
|
|
}
|
|
|
|
public enum ChatHistoryNodeLoadState {
|
|
case loading
|
|
case empty
|
|
case messages
|
|
}
|
|
|
|
public protocol ChatHistoryNode: class {
|
|
var historyState: ValuePromise<ChatHistoryNodeHistoryState> { get }
|
|
var preloadPages: Bool { get set }
|
|
|
|
var loadState: ChatHistoryNodeLoadState? { get }
|
|
func setLoadStateUpdated(_ f: @escaping (ChatHistoryNodeLoadState, Bool) -> Void)
|
|
|
|
func messageInCurrentHistoryView(_ id: MessageId) -> Message?
|
|
func updateLayout(transition: ContainedViewLayoutTransition, updateSizeAndInsets: ListViewUpdateSizeAndInsets)
|
|
func forEachItemNode(_ f: (ASDisplayNode) -> Void)
|
|
func disconnect()
|
|
func scrollToEndOfHistory()
|
|
}
|