Refactor PasswordSetupUI, PassportUI, GalleryUI and related modules

This commit is contained in:
Peter
2019-08-12 19:18:43 +03:00
parent aa366dee27
commit a49f04203e
311 changed files with 11406 additions and 1899 deletions

View File

@@ -0,0 +1,37 @@
import Foundation
import UIKit
import AsyncDisplayKit
import Display
import TelegramPresentationData
import MergeLists
public protocol FormControllerEntry: Identifiable {
associatedtype ItemParams
func isEqual(to: Self) -> Bool
func item(params: ItemParams, strings: PresentationStrings) -> FormControllerItem
}
public enum FormControllerItemNeighbor {
case none
case spacer
case item(FormControllerItemNode)
}
public struct FormControllerItemPreLayout {
let aligningInset: CGFloat
}
public struct FormControllerItemLayoutParams {
let maxAligningInset: CGFloat
}
public protocol FormControllerItem {
func node() -> ASDisplayNode & FormControllerItemNode
func update(node: ASDisplayNode & FormControllerItemNode, theme: PresentationTheme, strings: PresentationStrings, dateTimeFormat: PresentationDateTimeFormat, width: CGFloat, previousNeighbor: FormControllerItemNeighbor, nextNeighbor: FormControllerItemNeighbor, transition: ContainedViewLayoutTransition) -> (FormControllerItemPreLayout, (FormControllerItemLayoutParams) -> CGFloat)
}
public protocol FormControllerItemNode {
var preventsTouchesToOtherItems: Bool { get }
func touchesToOtherItemsPrevented()
}