generamba_templates/touchin-stateful/Code/View/view_controller.swift.liquid

75 lines
1.4 KiB
Plaintext
Executable File

import UIKit
import LeadKit
import StatefulViewController
import RxSwift
import RxCocoa
final class {{ module_info.name }}ViewController: UIViewController,
StatefulViewController,
DisposeBagHolder {
let viewModel: {{ module_info.name }}ViewModel
init(viewModel: {{ module_info.name }}ViewModel) {
self.viewModel = viewModel
super.init(nibName: nil, bundle: nil)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
// MARK: - View Life Cycle
override func viewDidLoad() {
super.viewDidLoad()
initialLoadDataLoadingView()
}
}
extension {{ module_info.name }}ViewController: ConfigurableController {
func bindViews() {
<#code#>
}
func configureAppearance() {
<#code#>
}
func addViews() {
<#code#>
}
func configureBarButtons() {
<#code#>
}
func localize() {
<#code#>
}
}
extension {{ module_info.name }}ViewController: GeneralDataLoadingController {
func onLoadingState() {
startLoading(animated: false)
}
func onResultsState(result: <#ResultType#>) {
endLoading(animated: false)
}
func onEmptyState() {
endLoading(animated: false)
}
func onErrorState(error: Error) {
endLoading(animated: false, error: error)
}
}