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.
61 lines
1.6 KiB
61 lines
1.6 KiB
//
|
|
// TablePresenterWireframe.swift
|
|
// GME Remit
|
|
//
|
|
// Created by InKwon Devik Kim on 26/06/2019.
|
|
//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
enum TablePresenterType {
|
|
case branches(countryCode: String, bankID: String)
|
|
case `default`
|
|
}
|
|
|
|
class TablePresenterWireframe {
|
|
weak var view: UIViewController!
|
|
private weak var delegate: TablePresenterDelegate?
|
|
private var model: [TablePresenterProtocol]?
|
|
private var type: TablePresenterType = .default
|
|
}
|
|
|
|
extension TablePresenterWireframe: TablePresenterWireframeInput {
|
|
|
|
var storyboardName: String {return "TablePresenter"}
|
|
|
|
func getMainView() -> UIViewController {
|
|
let service = TablePresenterService()
|
|
let interactor = TablePresenterInteractor(service: service, model: model)
|
|
let presenter = TablePresenterPresenter()
|
|
let viewController = viewControllerFromStoryboard(of: TablePresenterViewController.self)
|
|
|
|
viewController.presenter = presenter
|
|
viewController.delegate = delegate
|
|
viewController.type = type
|
|
interactor.output = presenter
|
|
presenter.interactor = interactor
|
|
presenter.wireframe = self
|
|
presenter.view = viewController
|
|
|
|
view = viewController
|
|
return viewController
|
|
}
|
|
|
|
func openWith(
|
|
tag: Int = 0,
|
|
type: TablePresenterType = .default,
|
|
delegate: TablePresenterDelegate?,
|
|
model: [TablePresenterProtocol]?,
|
|
source: UIViewController
|
|
) {
|
|
self.delegate = delegate
|
|
self.model = model
|
|
self.type = type
|
|
|
|
let vc = getMainView()
|
|
vc.view.tag = tag
|
|
|
|
source.present(vc, animated: true, completion: nil)
|
|
}
|
|
}
|