|
//
// MessageCoordinator.swift
// Paiai_iOS
//
// Created by FFIB on 2018/12/7.
// Copyright © 2018 FFIB. All rights reserved.
//
import UIKit
import RxSwift
import PaiaiDataKit
class MessageCoordinator: BaseCoordinator<Void> {
fileprivate let messageViewController: MessageViewController
init(_ viewController: MessageViewController,
navigationController: UINavigationController,
containerViewController: ContainerViewController) {
messageViewController = viewController
super.init(navigationController: navigationController, viewController: viewController)
}
override func start() -> Observable<Void> {
messageViewController.viewModel.delegate = self
return Observable.never()
}
}
extension MessageCoordinator {
fileprivate func makeMessageListViewContorller(type: MessageType) -> MessageListViewController {
let vc = MessageListViewController.instantiate()
vc.type = type
vc.viewModel = MessageListViewModel(type: type)
vc.viewModel.delegate = self
/// 已读消息,红点提示显示与否
vc.viewModel.messageReaded.subscribe(onNext: { isReaded in
self.messageViewController.viewModel.readedTip.accept(!isReaded)
}).disposed(by: disposeBag)
return vc
}
}
extension MessageCoordinator: MessageViewModelDelegate {
func didSelect(type: MessageType) {
let messageListVC = makeMessageListViewContorller(type: type)
navigationController.pushViewController(messageListVC)
}
}
extension MessageCoordinator: MessageListViewModelDelegate {
func didSelect(item: MessageListItem) {
}
}
extension UIStoryboard {
static var message: UIStoryboard {
return UIStoryboard(name: "Message", bundle: Bundle(identifier: "com.Paiai-iOS"))
}
}
|