You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.7 KiB

5 years ago
5 years ago
  1. //
  2. // ManageAgreementWireframe.swift
  3. // GME Remit
  4. //
  5. // Created by InKwon James Kim on 2019/12/23.
  6. //Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import UIKit
  9. enum PDFType {
  10. case test1
  11. }
  12. class ManageAgreementWireframe {
  13. weak var view: UIViewController!
  14. }
  15. extension ManageAgreementWireframe: ManageAgreementWireframeInput {
  16. var storyboardName: String {return "ManageAgreement"}
  17. func getMainView() -> UIViewController {
  18. let service = ManageAgreementService()
  19. let interactor = ManageAgreementInteractor(service: service)
  20. let presenter = ManageAgreementPresenter()
  21. let viewController = viewControllerFromStoryboard(of: ManageAgreementViewController.self)
  22. viewController.presenter = presenter
  23. interactor.output = presenter
  24. presenter.interactor = interactor
  25. presenter.wireframe = self
  26. view = viewController
  27. return viewController
  28. }
  29. func pushWithNavigation(on source: UIViewController) {
  30. let vc = getMainView()
  31. source.navigationController?.pushViewController(vc, animated: true)
  32. }
  33. func goAgreementPDF(type: PDFType) {
  34. let pdfVC = PDFViewController(nibName: "PDFViewController", bundle: nil)
  35. view.navigationController?.pushViewController(pdfVC, animated: true)
  36. }
  37. func goNewRegistration() {
  38. if let navigation = self.view.navigationController {
  39. NewRegisterWireframe().pushMainView(in: navigation)
  40. }
  41. }
  42. func open(on source: UIViewController) {
  43. let vc = getMainView()
  44. let naviVC = UINavigationController(rootViewController: vc)
  45. naviVC.modalPresentationStyle = .fullScreen
  46. source.present(naviVC, animated: true, completion: nil)
  47. }
  48. }