Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. @discardableResult
  2. func assembleInterations(with topDisposer: DisposeBag = .init()) -> CustomerNoteListIneractor {
  3. let noteListController = CustomerNoteListViewController()
  4.  
  5. noteListController.modalPresentationStyle = .pageSheet
  6. noteListController.preferredContentSize = noteListController.view.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize)
  7.  
  8. let interactor = CustomerNoteListIneractor()
  9. let useCase = CustomerNoteUseCase()
  10.  
  11. let back = backButton()
  12. back.rx.controlEvent(.touchUpInside).bind(to: interactor.onTakeMeBackSelected).disposed(by: topDisposer)
  13.  
  14. let create = createNoteButton()
  15. create.rx.controlEvent(.touchUpInside).bind(to: interactor.onCreateNoteSelected).disposed(by: topDisposer)
  16.  
  17.  
  18. configureBottomView(with: [back, create])
  19. showController(noteListController)
  20.  
  21. //TODO: make more handy chaining
  22. interactor.setCustomerId.subscribe(onNext: {
  23. useCase.customerNotes(by: $0).bind { models in
  24. noteListController.load(models)
  25. }.disposed(by: topDisposer)
  26. }).disposed(by: topDisposer)
  27.  
  28. return interactor
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement