|
//
// PhotoDetailCoordinator.swift
// Paiai_iOS
//
// Created by ffib on 2018/12/19.
// Copyright © 2018 yb. All rights reserved.
//
import Foundation
import PaiaiDataKit
final class PhotoDetailCoordinator: Coordinator {
let navigationController: UINavigationController
let photoDetailViewController: PhotoDetailViewController
let shareListViewModel: PhotoDetailListViewModel
fileprivate var coordinators = [CoordinatorKey: Coordinator]()
init(_ photoDetailVC: PhotoDetailViewController,
nav: UINavigationController,
viewModel: PhotoDetailViewModel,
listViewModel: PhotoDetailListViewModel) {
photoDetailViewController = photoDetailVC
shareListViewModel = listViewModel
navigationController = nav
photoDetailViewController.listViewModel = shareListViewModel
photoDetailViewController.viewModel = viewModel
viewModel.delegate = self
shareListViewModel.synchronization = viewModel
shareListViewModel.delegate = self
}
func start() {
}
}
extension PhotoDetailCoordinator: PhotoDetailViewModelDelegate {
func navigateToGroup(_ item: GroupItem) {
let vc = GroupViewController.instantiate()
vc.viewModel = GroupViewModel(groupItem: item)
let coordinator = GroupCoordinator(vc,
navigationController: navigationController)
coordinators[.group] = coordinator
navigationController.pushViewController(vc)
}
}
extension PhotoDetailCoordinator: PhotoDetailListViewModelDelegate {
func didSelected() {
let vc = UIStoryboard.photoDetail.instantiateController(PhotoPreviewViewController.self)
vc.viewModel = shareListViewModel
navigationController.pushViewController(vc, animated: true)
}
}
extension UIStoryboard {
static var photoDetail: UIStoryboard {
return UIStoryboard(name: "PhotoDetail", bundle: Bundle(identifier: "com.Paiai-iOS"))
}
}
|