//
// MessageViewController.swift
// Paiai_iOS
//
// Created by FFIB on 2018/6/14.
// Copyright © 2018 FFIB. All rights reserved.
//
import UIKit
import RxSwift
import PaiaiUIKit
import PaiaiDataKit
final class MessageViewController: UIViewController {
@IBOutlet weak var sysUnreadTip: UIView!
@IBOutlet weak var thumbupUnreadTip: UIView!
@IBOutlet weak var commentUnreadTip: UIView!
@IBOutlet weak var sysBtn: UIButton!
@IBOutlet weak var thumbupBtn: UIButton!
@IBOutlet weak var commentBtn: UIButton!
var viewModel: MessageViewModel!
var userInfoViewModel: UserInfoViewModel!
private var disposeBag = DisposeBag()
override func viewDidLoad() {
super.viewDidLoad()
binding()
}
override func didMove(toParent parent: UIViewController?) {
self.viewModel.reload()
}
}
extension MessageViewController {
func binding() {
bindInteraction()
bindViewModelToTipView()
bindUerInfoViewModelToView()
}
func bindInteraction() {
sysBtn.rx.tap.bind(to: viewModel.sysBtnTapped).disposed(by: disposeBag)
thumbupBtn.rx.tap.bind(to: viewModel.thumbupBtnTapped).disposed(by: disposeBag)
commentBtn.rx.tap.bind(to: viewModel.commentBtnTapped).disposed(by: disposeBag)
}
func bindViewModelToTipView() {
viewModel.sysReadedTip.bind(to: sysUnreadTip.rx.isHidden).disposed(by: disposeBag)
viewModel.commentReadedTip.bind(to: commentUnreadTip.rx.isHidden).disposed(by: disposeBag)
viewModel.thumbupReadedTip.bind(to: thumbupUnreadTip.rx.isHidden).disposed(by: disposeBag)
}
func bindUerInfoViewModelToView() {
userInfoViewModel.isLoggedIn
.asDriver(onErrorJustReturn: ())
.drive(onNext: {[unowned self] (_) in
self.viewModel.clear()
self.viewModel.reload()
}).disposed(by: disposeBag)
}
}
extension MessageViewController: Storyboarded {
static func instantiate() -> MessageViewController {
return UIStoryboard.message.instantiateViewController(type: MessageViewController.self)
}
}
|