|
//
// GroupDetailCoordinator.swift
// Paiai_iOS
//
// Created by ffib on 2018/12/19.
// Copyright © 2018 yb. All rights reserved.
//
import UIKit
import PaiaiDataKit
class GroupDetailCoordinator: Coordinator {
let navigationController: UINavigationController
let groupDetailViewController: GroupDetailViewController
init(_ groupDetailVC: GroupDetailViewController, navigationController: UINavigationController) {
self.groupDetailViewController = groupDetailVC
self.navigationController = navigationController
groupDetailViewController.viewModel.delegate = self
}
}
extension GroupDetailCoordinator: GroupDetailViewModelDelegate {
func navigateToRootViewController() {
navigationController.popToRootViewController(animated: true)
}
func navigateToGroupMember(_ item: GroupDetailItem) {
navigationController.pushViewController(makeGroupMemberViewController(item))
}
func navigateToGroupNameModification(_ item: GroupDetailItem) {
navigationController.pushViewController(makeGroupNameModificationViewController(item))
}
}
extension GroupDetailCoordinator {
func makeGroupMemberViewController(_ item: GroupDetailItem) -> GroupMemberViewController {
let vc = UIStoryboard.groupDetail.instantiateController(GroupMemberViewController.self)
vc.viewModel = GroupMemberViewModel(item: item)
return vc
}
func makeGroupNameModificationViewController(_ item: GroupDetailItem) -> GroupNameModificationViewController {
let vc = UIStoryboard.groupDetail.instantiateController(GroupNameModificationViewController.self)
vc.item = item
return vc
}
}
extension UIStoryboard {
static var groupDetail: UIStoryboard {
return UIStoryboard(name: "GroupDetail", bundle: Bundle(identifier: "com.Paiai-iOS"))
}
}
|