|
//
// PhotoDetailCoordinator.swift
// Paiai_iOS
//
// Created by FFIB on 2018/12/19.
// Copyright © 2018 FFIB. All rights reserved.
//
import UIKit
import RxSwift
import PaiaiDataKit
final class PhotoDetailCoordinator: BaseCoordinator<Void> {
let navigationController: UINavigationController
let photoDetailViewController: PhotoDetailViewController
let shareViewModel: PhotoDetailViewModel
init(_ photoDetailVC: PhotoDetailViewController,
nav: UINavigationController,
viewModel: PhotoDetailViewModel) {
photoDetailViewController = photoDetailVC
shareViewModel = viewModel
navigationController = nav
photoDetailViewController.viewModel = viewModel
}
override func start() -> Observable<Void> {
photoDetailViewController.viewModel.delegate = self
return .never()
}
}
extension PhotoDetailCoordinator: PhotoDetailViewModelDelegate {
func navigateToGroup(_ item: GroupItem) {
let vc = GroupViewController.instantiate()
vc.viewModel = GroupViewModel(groupItem: item)
let coordinator = GroupCoordinator(vc,
navigationController: navigationController,
navigationSource: .photoDetail)
coordinate(to: coordinator).subscribe().disposed(by: disposeBag)
navigationController.pushViewController(vc)
}
func didSelected() {
let vc = PhotoPreviewViewController.instantiate()
vc.viewModel = shareViewModel
photoDetailViewController.presentController(vc)
}
}
extension UIStoryboard {
static var photoDetail: UIStoryboard {
return UIStoryboard(name: "PhotoDetail", bundle: Bundle(identifier: "com.Paiai-iOS"))
}
}
|