Browse Source

Enable push notification to be filtered by date

pull/1/head
Jeongbae Kong 5 years ago
parent
commit
3be422ae0f
  1. 12
      GME Remit/Modules/Notice/NotificationHistory/User Interface/Presenter/NotificationHistoryPresenter.swift
  2. 14
      GME Remit/Modules/Notice/NotificationHistory/User Interface/View/NotificationHistoryViewController.swift

12
GME Remit/Modules/Notice/NotificationHistory/User Interface/Presenter/NotificationHistoryPresenter.swift

@ -23,12 +23,12 @@ class NotificationHistoryPresenter: ViewModelType {
let isProgress: Driver<Bool>
let models: Driver<[NoticeModel]>
}
private let disposeBag = DisposeBag()
private let progressLinker = PublishSubject<Bool>()
private let errorLinker = PublishSubject<Error>()
private let model = PublishSubject<[NoticeModel]>()
func transform(input: Input) -> Output {
@ -45,7 +45,7 @@ class NotificationHistoryPresenter: ViewModelType {
.drive(onNext: {[weak self] in
self?.wireframe?.detail(index: $0.key ?? "")
}).disposed(by: disposeBag)
return Output(
isError: errorLinker.asDriverOnErrorJustComplete(),
isProgress: progressLinker.asDriverOnErrorJustComplete(),
@ -58,7 +58,11 @@ class NotificationHistoryPresenter: ViewModelType {
extension NotificationHistoryPresenter: NotificationHistoryInteractorOutput {
func setNotices(with model: [NoticeModel]) {
progressLinker.onNext(false)
self.model.onNext(model)
let filteredDate = model.sorted(by: { (noticeModel1, noticeModel2) -> Bool in
return noticeModel1.date ?? "" > noticeModel2.date ?? ""
})
self.model.onNext(filteredDate)
}
func setError(with error: Error) {

14
GME Remit/Modules/Notice/NotificationHistory/User Interface/View/NotificationHistoryViewController.swift

@ -45,7 +45,7 @@ class NotificationHistoryViewController: UIViewController {
}
// MARK: IBActions
}
// MARK: Other Functions
@ -66,7 +66,7 @@ extension NotificationHistoryViewController {
self?.dismiss(animated: true)
}.disposed(by: disposeBag)
}
private func setBinding() {
let viewWillAppear = rx.sentMessage(#selector(UIViewController.viewWillAppear(_:)))
.mapToVoid().asDriverOnErrorJustComplete()
@ -77,15 +77,15 @@ extension NotificationHistoryViewController {
)
let output = presenter.transform(input: input)
output.isError
.drive(
onNext: { self.alert(type: .error, message: $0.localizedDescription) }
.drive(
onNext: { self.alert(type: .error, message: $0.localizedDescription) }
).disposed(by: disposeBag)
output.isProgress
.drive(
onNext: { $0 ? self.showProgressHud() : self.hideProgressHud() }
.drive(
onNext: { $0 ? self.showProgressHud() : self.hideProgressHud() }
).disposed(by: disposeBag)
output

Loading…
Cancel
Save