diff --git a/GME Remit.xcodeproj/project.pbxproj b/GME Remit.xcodeproj/project.pbxproj index d9c5cfe3..52e25854 100644 --- a/GME Remit.xcodeproj/project.pbxproj +++ b/GME Remit.xcodeproj/project.pbxproj @@ -292,6 +292,15 @@ 734DD31A2366881600BFA7EE /* VerificationAndBuy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 734DD3192366881600BFA7EE /* VerificationAndBuy.swift */; }; 734DD31C2366DA2700BFA7EE /* CheckMark.swift in Sources */ = {isa = PBXBuildFile; fileRef = 734DD31B2366DA2700BFA7EE /* CheckMark.swift */; }; 73538B2222EFC5FA00188CDD /* CommonServiceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73538B2122EFC5FA00188CDD /* CommonServiceType.swift */; }; + 73549BB2236FDD5600AD75D2 /* RechargeHistoryServiceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73549BA4236FDD5600AD75D2 /* RechargeHistoryServiceType.swift */; }; + 73549BB3236FDD5600AD75D2 /* RechargeHistoryService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73549BA5236FDD5600AD75D2 /* RechargeHistoryService.swift */; }; + 73549BB4236FDD5600AD75D2 /* RechargeHistoryInteractorIO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73549BA7236FDD5600AD75D2 /* RechargeHistoryInteractorIO.swift */; }; + 73549BB5236FDD5600AD75D2 /* RechargeHistoryInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73549BA8236FDD5600AD75D2 /* RechargeHistoryInteractor.swift */; }; + 73549BB6236FDD5600AD75D2 /* RechargeHistoryPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73549BAB236FDD5600AD75D2 /* RechargeHistoryPresenter.swift */; }; + 73549BB7236FDD5600AD75D2 /* RechargeHistoryWireframeInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73549BAD236FDD5600AD75D2 /* RechargeHistoryWireframeInput.swift */; }; + 73549BB8236FDD5600AD75D2 /* RechargeHistoryWireframe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73549BAE236FDD5600AD75D2 /* RechargeHistoryWireframe.swift */; }; + 73549BB9236FDD5600AD75D2 /* RechargeHistory.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 73549BB0236FDD5600AD75D2 /* RechargeHistory.storyboard */; }; + 73549BBA236FDD5600AD75D2 /* RechargeHistoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73549BB1236FDD5600AD75D2 /* RechargeHistoryViewController.swift */; }; 7366BECC235D326C00A8AE7C /* CardList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7366BECB235D326C00A8AE7C /* CardList.swift */; }; 7366BECE235D331B00A8AE7C /* PriceModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7366BECD235D331B00A8AE7C /* PriceModel.swift */; }; 7366BED0235D33A600A8AE7C /* CountryPriceModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7366BECF235D33A600A8AE7C /* CountryPriceModel.swift */; }; @@ -2570,6 +2579,15 @@ 734DD3192366881600BFA7EE /* VerificationAndBuy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerificationAndBuy.swift; sourceTree = ""; }; 734DD31B2366DA2700BFA7EE /* CheckMark.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckMark.swift; sourceTree = ""; }; 73538B2122EFC5FA00188CDD /* CommonServiceType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommonServiceType.swift; sourceTree = ""; }; + 73549BA4236FDD5600AD75D2 /* RechargeHistoryServiceType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RechargeHistoryServiceType.swift; sourceTree = ""; }; + 73549BA5236FDD5600AD75D2 /* RechargeHistoryService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RechargeHistoryService.swift; sourceTree = ""; }; + 73549BA7236FDD5600AD75D2 /* RechargeHistoryInteractorIO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RechargeHistoryInteractorIO.swift; sourceTree = ""; }; + 73549BA8236FDD5600AD75D2 /* RechargeHistoryInteractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RechargeHistoryInteractor.swift; sourceTree = ""; }; + 73549BAB236FDD5600AD75D2 /* RechargeHistoryPresenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RechargeHistoryPresenter.swift; sourceTree = ""; }; + 73549BAD236FDD5600AD75D2 /* RechargeHistoryWireframeInput.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RechargeHistoryWireframeInput.swift; sourceTree = ""; }; + 73549BAE236FDD5600AD75D2 /* RechargeHistoryWireframe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RechargeHistoryWireframe.swift; sourceTree = ""; }; + 73549BB0236FDD5600AD75D2 /* RechargeHistory.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = RechargeHistory.storyboard; sourceTree = ""; }; + 73549BB1236FDD5600AD75D2 /* RechargeHistoryViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RechargeHistoryViewController.swift; sourceTree = ""; }; 7366BECB235D326C00A8AE7C /* CardList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardList.swift; sourceTree = ""; }; 7366BECD235D331B00A8AE7C /* PriceModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PriceModel.swift; sourceTree = ""; }; 7366BECF235D33A600A8AE7C /* CountryPriceModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountryPriceModel.swift; sourceTree = ""; }; @@ -6498,6 +6516,86 @@ path = View; sourceTree = ""; }; + 73549BA0236FDD5600AD75D2 /* RechargeHistory */ = { + isa = PBXGroup; + children = ( + 73549BA1236FDD5600AD75D2 /* Application Logic */, + 73549BA9236FDD5600AD75D2 /* User Interface */, + ); + path = RechargeHistory; + sourceTree = ""; + }; + 73549BA1236FDD5600AD75D2 /* Application Logic */ = { + isa = PBXGroup; + children = ( + 73549BA2236FDD5600AD75D2 /* Model */, + 73549BA3236FDD5600AD75D2 /* Service */, + 73549BA6236FDD5600AD75D2 /* Interactor */, + ); + path = "Application Logic"; + sourceTree = ""; + }; + 73549BA2236FDD5600AD75D2 /* Model */ = { + isa = PBXGroup; + children = ( + ); + path = Model; + sourceTree = ""; + }; + 73549BA3236FDD5600AD75D2 /* Service */ = { + isa = PBXGroup; + children = ( + 73549BA4236FDD5600AD75D2 /* RechargeHistoryServiceType.swift */, + 73549BA5236FDD5600AD75D2 /* RechargeHistoryService.swift */, + ); + path = Service; + sourceTree = ""; + }; + 73549BA6236FDD5600AD75D2 /* Interactor */ = { + isa = PBXGroup; + children = ( + 73549BA7236FDD5600AD75D2 /* RechargeHistoryInteractorIO.swift */, + 73549BA8236FDD5600AD75D2 /* RechargeHistoryInteractor.swift */, + ); + path = Interactor; + sourceTree = ""; + }; + 73549BA9236FDD5600AD75D2 /* User Interface */ = { + isa = PBXGroup; + children = ( + 73549BAA236FDD5600AD75D2 /* Presenter */, + 73549BAC236FDD5600AD75D2 /* Wireframe */, + 73549BAF236FDD5600AD75D2 /* View */, + ); + path = "User Interface"; + sourceTree = ""; + }; + 73549BAA236FDD5600AD75D2 /* Presenter */ = { + isa = PBXGroup; + children = ( + 73549BAB236FDD5600AD75D2 /* RechargeHistoryPresenter.swift */, + ); + path = Presenter; + sourceTree = ""; + }; + 73549BAC236FDD5600AD75D2 /* Wireframe */ = { + isa = PBXGroup; + children = ( + 73549BAD236FDD5600AD75D2 /* RechargeHistoryWireframeInput.swift */, + 73549BAE236FDD5600AD75D2 /* RechargeHistoryWireframe.swift */, + ); + path = Wireframe; + sourceTree = ""; + }; + 73549BAF236FDD5600AD75D2 /* View */ = { + isa = PBXGroup; + children = ( + 73549BB0236FDD5600AD75D2 /* RechargeHistory.storyboard */, + 73549BB1236FDD5600AD75D2 /* RechargeHistoryViewController.swift */, + ); + path = View; + sourceTree = ""; + }; 736A8C262277EAC100337A50 /* BiometricAuthModules */ = { isa = PBXGroup; children = ( @@ -7487,6 +7585,7 @@ 73F7C592234C4FCB00176856 /* PowerCallModules */ = { isa = PBXGroup; children = ( + 73549BA0236FDD5600AD75D2 /* RechargeHistory */, 733E8F7A23580BDF0050E499 /* RechargeReceipt */, 733A3B8523554DAE00E6B87E /* RechargePayment */, 73EC6C1B236984BB00060448 /* LocalTopup */, @@ -13633,6 +13732,7 @@ D93C2A9A22000D650079BF03 /* iPad_transkey_number_cmd_1_mongolian.png in Resources */, D93C2BFB22000D660079BF03 /* pt-icon17.png in Resources */, D93C2B2522000D650079BF03 /* iPad_transkey_landscape_number_cmd_10_indonesian.png in Resources */, + 73549BB9236FDD5600AD75D2 /* RechargeHistory.storyboard in Resources */, D93C278922000D630079BF03 /* iPhone_transkey_alnum_key_15.png in Resources */, D93C26CA22000D630079BF03 /* iPhone_transkey_land_popup_left.png in Resources */, D93C292722000D640079BF03 /* iPhone_transkey_landscape_alnum_cmd_8_2_vietnamese.png in Resources */, @@ -14416,6 +14516,7 @@ 9FD260F81FD00458007A511D /* AppDelegate.swift in Sources */, D903113E214786EA00AD5BA9 /* ForgotPasswordService.swift in Sources */, 7301979222535135001954AB /* KycWireframeInput.swift in Sources */, + 73549BB7236FDD5600AD75D2 /* RechargeHistoryWireframeInput.swift in Sources */, 73B4C8C522A5F2440078D495 /* CouponCell.swift in Sources */, 730D78BC227A94F2007E517E /* SearchAddressWireframeInput.swift in Sources */, 73210DA222FBE73100715D6C /* RecipientsService.swift in Sources */, @@ -14501,6 +14602,7 @@ D923EBB9215C7421008A3026 /* HomeCollectionCollectionViewCell.swift in Sources */, 04E36E1C21AE585200783685 /* PennyTestSubmitInteractorIO.swift in Sources */, D96A4FFE2146625C00CFD507 /* RegisterViewInterface.swift in Sources */, + 73549BBA236FDD5600AD75D2 /* RechargeHistoryViewController.swift in Sources */, BE74AFC6227C8FF200F05CE7 /* AutoDebitModuleInterface.swift in Sources */, 7301979A22535135001954AB /* kycForm1Interactor.swift in Sources */, D922D98621351AAE00D43053 /* SendMoneyExchangeRateService.swift in Sources */, @@ -14539,6 +14641,7 @@ 73168A1F22F3CC4C00878038 /* NativeCountry.swift in Sources */, 73185351230EACA400BA9AE3 /* SendMoneyDistrictViewModel.swift in Sources */, 73B4C8BE22A5F2440078D495 /* SelectCouponService.swift in Sources */, + 73549BB3236FDD5600AD75D2 /* RechargeHistoryService.swift in Sources */, 739A7781228BB2B40018A1A9 /* DetailOrderModuleInterface.swift in Sources */, 733E8F9023580BE00050E499 /* RechargeReceiptPresenter.swift in Sources */, 73AEFF732334A13100A967FB /* TransactionHistoryGroupInteractor.swift in Sources */, @@ -14667,6 +14770,7 @@ 730D78B5227A94F2007E517E /* JusoContainer.swift in Sources */, D9B7ADF12130048E009B0564 /* ExchangeRatesService.swift in Sources */, 730197A322535135001954AB /* kycForm3Service.swift in Sources */, + 73549BB4236FDD5600AD75D2 /* RechargeHistoryInteractorIO.swift in Sources */, D922D96C2135145F00D43053 /* SendMoneyParentViewController.swift in Sources */, D922D98C21351AAE00D43053 /* SendMoneyExchangeRateViewController.swift in Sources */, 731627A52301009800BA48A8 /* ExchangeRateRequestModel.swift in Sources */, @@ -14766,12 +14870,14 @@ 730D78C0227A94F2007E517E /* SearchAddressViewController.swift in Sources */, 738FD48C2303E157008B144D /* FieldModel.swift in Sources */, 732D17972297899400ACEBF1 /* HotLineCell.swift in Sources */, + 73549BB2236FDD5600AD75D2 /* RechargeHistoryServiceType.swift in Sources */, 73AEFF762334A13100A967FB /* TransactionHistoryGroupWireframeInputOutput.swift in Sources */, 734BF6882353F7D8004E8D60 /* PhoneCardRechargeWireframeInputOutput.swift in Sources */, 73A621642330AD20000FFB5B /* RecentHistoriesPresenter.swift in Sources */, 73210DA722FBE73100715D6C /* RecipientsWireframe.swift in Sources */, BE74AFD1227C8FF200F05CE7 /* AutoDebitViewInterface.swift in Sources */, 734DD31C2366DA2700BFA7EE /* CheckMark.swift in Sources */, + 73549BB8236FDD5600AD75D2 /* RechargeHistoryWireframe.swift in Sources */, D922D9652135145F00D43053 /* SendMoneyParentInteractor.swift in Sources */, 73157BA222DC1EEC009B836F /* PopupNotificationWireframeInput.swift in Sources */, 73071ACB2296CF9B008840FD /* HotLineWireframe.swift in Sources */, @@ -14945,6 +15051,7 @@ 73EC6C16236984B200060448 /* InternationalTopupPresenter.swift in Sources */, 730D78B7227A94F2007E517E /* SearchAddressService.swift in Sources */, D92B80272140C3CB00A25B26 /* MainServiceType.swift in Sources */, + 73549BB6236FDD5600AD75D2 /* RechargeHistoryPresenter.swift in Sources */, 739A7782228BB2B40018A1A9 /* DetailOrderService.swift in Sources */, 043770ED21AD04240005B22D /* PennyTestWireframeInput.swift in Sources */, 7318534F230EACA400BA9AE3 /* SendMoneyRelationViewModel.swift in Sources */, @@ -15004,6 +15111,7 @@ 73149F6522E5AF8000D66B26 /* LauncherScreenService.swift in Sources */, D95B5E3B21311057000C0B33 /* GmeContactsServiceType.swift in Sources */, 730D7888227A94E1007E517E /* RewardModuleInterface.swift in Sources */, + 73549BB5236FDD5600AD75D2 /* RechargeHistoryInteractor.swift in Sources */, 730D788C227A94E1007E517E /* RewardService.swift in Sources */, D922D9672135145F00D43053 /* SendMoneyParentPresenter.swift in Sources */, D9B39678214F7DDC0072A9B8 /* MultiMediaManager.swift in Sources */, diff --git a/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/User Interface/View/PhoneCardRechargeViewController.swift b/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/User Interface/View/PhoneCardRechargeViewController.swift index decafae7..b14b1a4a 100644 --- a/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/User Interface/View/PhoneCardRechargeViewController.swift +++ b/GME Remit/Modules/PowerCallModules/LocalTopup/PhoneCardRecharge/User Interface/View/PhoneCardRechargeViewController.swift @@ -343,18 +343,15 @@ extension PhoneCardRechargeViewController { .disposed(by: disposeBag) mobileTextField.rx.controlEvent(.editingDidEnd) - .withLatestFrom(mobileTextField.valid) {$1} + .withLatestFrom(mobileTextField.valid) {!$1} .asDriverOnErrorJustComplete() - .drive(onNext: { [weak self] in - self?.menuContainerView.animateHidden(isHidden: !$0) - }) + .drive(menuContainerView.rx.isAnimateHidden) .disposed(by: disposeBag) mobileTextField.rx.controlEvent(.editingDidBegin) .asDriver() - .drive(onNext: { [weak self] in - self?.menuContainerView.animateHidden(isHidden: true) - }) + .map { true } + .drive(menuContainerView.rx.isAnimateHidden) .disposed(by: disposeBag) } } diff --git a/GME Remit/Modules/PowerCallModules/RechargeHistory/Application Logic/Interactor/RechargeHistoryInteractor.swift b/GME Remit/Modules/PowerCallModules/RechargeHistory/Application Logic/Interactor/RechargeHistoryInteractor.swift new file mode 100644 index 00000000..07b6708a --- /dev/null +++ b/GME Remit/Modules/PowerCallModules/RechargeHistory/Application Logic/Interactor/RechargeHistoryInteractor.swift @@ -0,0 +1,30 @@ +// +// RechargeHistoryInteractor.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/11/04. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +import Foundation + +class RechargeHistoryInteractor { + + // MARK: Properties + + weak var output: RechargeHistoryInteractorOutput? + private let service: RechargeHistoryServiceType + + // MARK: Initialization + + init(service: RechargeHistoryServiceType) { + self.service = service + } + +} + +// MARK: RechargeHistory interactor input interface + +extension RechargeHistoryInteractor: RechargeHistoryInteractorInput { + +} diff --git a/GME Remit/Modules/PowerCallModules/RechargeHistory/Application Logic/Interactor/RechargeHistoryInteractorIO.swift b/GME Remit/Modules/PowerCallModules/RechargeHistory/Application Logic/Interactor/RechargeHistoryInteractorIO.swift new file mode 100644 index 00000000..df693f34 --- /dev/null +++ b/GME Remit/Modules/PowerCallModules/RechargeHistory/Application Logic/Interactor/RechargeHistoryInteractorIO.swift @@ -0,0 +1,15 @@ +// +// RechargeHistoryInteractorIO.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/11/04. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +protocol RechargeHistoryInteractorInput: class { + +} + +protocol RechargeHistoryInteractorOutput: class { + +} diff --git a/GME Remit/Modules/PowerCallModules/RechargeHistory/Application Logic/Service/RechargeHistoryService.swift b/GME Remit/Modules/PowerCallModules/RechargeHistory/Application Logic/Service/RechargeHistoryService.swift new file mode 100644 index 00000000..aa89ec9d --- /dev/null +++ b/GME Remit/Modules/PowerCallModules/RechargeHistory/Application Logic/Service/RechargeHistoryService.swift @@ -0,0 +1,13 @@ +// +// RechargeHistoryService.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/11/04. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +import Foundation + +class RechargeHistoryService: RechargeHistoryServiceType { + +} diff --git a/GME Remit/Modules/PowerCallModules/RechargeHistory/Application Logic/Service/RechargeHistoryServiceType.swift b/GME Remit/Modules/PowerCallModules/RechargeHistory/Application Logic/Service/RechargeHistoryServiceType.swift new file mode 100644 index 00000000..998aac71 --- /dev/null +++ b/GME Remit/Modules/PowerCallModules/RechargeHistory/Application Logic/Service/RechargeHistoryServiceType.swift @@ -0,0 +1,11 @@ +// +// RechargeHistoryServiceType.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/11/04. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +protocol RechargeHistoryServiceType: class { + +} diff --git a/GME Remit/Modules/PowerCallModules/RechargeHistory/User Interface/Presenter/RechargeHistoryPresenter.swift b/GME Remit/Modules/PowerCallModules/RechargeHistory/User Interface/Presenter/RechargeHistoryPresenter.swift new file mode 100644 index 00000000..258bb4d9 --- /dev/null +++ b/GME Remit/Modules/PowerCallModules/RechargeHistory/User Interface/Presenter/RechargeHistoryPresenter.swift @@ -0,0 +1,39 @@ +// +// RechargeHistoryPresenter.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/11/04. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +import RxSwift +import RxCocoa + +class RechargeHistoryPresenter: ViewModelType { + var interactor: RechargeHistoryInteractorInput? + var wireframe: RechargeHistoryWireframeInput? + + struct Input {} + + struct Output { + let isError: Driver + let isProgress: Driver + } + + private let disposeBag = DisposeBag() + + private let progressLinker = PublishSubject() + private let errorLinker = PublishSubject() + + func transform(input: Input) -> Output { + return Output( + isError: errorLinker.asDriverOnErrorJustComplete(), + isProgress: progressLinker.asDriverOnErrorJustComplete() + ) + } +} + +// MARK: RechargeHistory interactor output interface +extension RechargeHistoryPresenter: RechargeHistoryInteractorOutput { + +} diff --git a/GME Remit/Modules/PowerCallModules/RechargeHistory/User Interface/View/RechargeHistory.storyboard b/GME Remit/Modules/PowerCallModules/RechargeHistory/User Interface/View/RechargeHistory.storyboard new file mode 100644 index 00000000..1660d550 --- /dev/null +++ b/GME Remit/Modules/PowerCallModules/RechargeHistory/User Interface/View/RechargeHistory.storyboard @@ -0,0 +1,212 @@ + + + + + + + + + + + + + SanFranciscoDisplay-Medium + + + SanFranciscoDisplay-Regular + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GME Remit/Modules/PowerCallModules/RechargeHistory/User Interface/View/RechargeHistoryViewController.swift b/GME Remit/Modules/PowerCallModules/RechargeHistory/User Interface/View/RechargeHistoryViewController.swift new file mode 100644 index 00000000..ee3ae281 --- /dev/null +++ b/GME Remit/Modules/PowerCallModules/RechargeHistory/User Interface/View/RechargeHistoryViewController.swift @@ -0,0 +1,72 @@ +// +// RechargeHistoryViewController.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/11/04. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +import UIKit +import RxSwift +import RxCocoa + +class RechargeHistoryViewController: UIViewController { + + // MARK: Properties + var presenter: RechargeHistoryPresenter! + + private let disposeBag = DisposeBag() + // MARK: Computed Properties + + // MARK: IBOutlets + + // MARK: VC's Life cycle + override func viewDidLoad() { + super.viewDidLoad() + setup() + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + } + + override func viewWillDisappear(_ animated: Bool) { + super.viewWillDisappear(animated) + } + + // MARK: IBActions + +} + +// MARK: Other Functions +extension RechargeHistoryViewController { + + private func setup() { + setUI() + setBinding() + setUIBinding() + } + + private func setUI() { + + } + + private func setUIBinding() { + + } + + private func setBinding() { + let input = RechargeHistoryPresenter.Input() + let output = presenter.transform(input: input) + + output.isError + .drive( + onNext: { self.alert(type: .error, message: $0.localizedDescription) } + ).disposed(by: disposeBag) + + output.isProgress + .drive( + onNext: { $0 ? self.showProgressHud() : self.hideProgressHud() } + ).disposed(by: disposeBag) + } +} diff --git a/GME Remit/Modules/PowerCallModules/RechargeHistory/User Interface/Wireframe/RechargeHistoryWireframe.swift b/GME Remit/Modules/PowerCallModules/RechargeHistory/User Interface/Wireframe/RechargeHistoryWireframe.swift new file mode 100644 index 00000000..0d5ac713 --- /dev/null +++ b/GME Remit/Modules/PowerCallModules/RechargeHistory/User Interface/Wireframe/RechargeHistoryWireframe.swift @@ -0,0 +1,33 @@ +// +// RechargeHistoryWireframe.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/11/04. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +import UIKit + +class RechargeHistoryWireframe { + weak var view: UIViewController! +} + +extension RechargeHistoryWireframe: RechargeHistoryWireframeInput { + + var storyboardName: String {return "RechargeHistory"} + + func getMainView() -> UIViewController { + let service = RechargeHistoryService() + let interactor = RechargeHistoryInteractor(service: service) + let presenter = RechargeHistoryPresenter() + let viewController = viewControllerFromStoryboard(of: RechargeHistoryViewController.self) + + viewController.presenter = presenter + interactor.output = presenter + presenter.interactor = interactor + presenter.wireframe = self + + view = viewController + return viewController + } +} diff --git a/GME Remit/Modules/PowerCallModules/RechargeHistory/User Interface/Wireframe/RechargeHistoryWireframeInput.swift b/GME Remit/Modules/PowerCallModules/RechargeHistory/User Interface/Wireframe/RechargeHistoryWireframeInput.swift new file mode 100644 index 00000000..3501e9c2 --- /dev/null +++ b/GME Remit/Modules/PowerCallModules/RechargeHistory/User Interface/Wireframe/RechargeHistoryWireframeInput.swift @@ -0,0 +1,13 @@ +// +// RechargeHistoryWireframeInput.swift +// GME Remit +// +// Created by InKwon James Kim on 2019/11/04. +//Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. +// + +import Foundation + +protocol RechargeHistoryWireframeInput: WireframeInput { + +} diff --git a/GME Remit/Modules/RemittanceModules/TransactionHistoryModules/TransactionHistory/User Interface/View/TransactionHistory.storyboard b/GME Remit/Modules/RemittanceModules/TransactionHistoryModules/TransactionHistory/User Interface/View/TransactionHistory.storyboard index 8686b995..d55db911 100644 --- a/GME Remit/Modules/RemittanceModules/TransactionHistoryModules/TransactionHistory/User Interface/View/TransactionHistory.storyboard +++ b/GME Remit/Modules/RemittanceModules/TransactionHistoryModules/TransactionHistory/User Interface/View/TransactionHistory.storyboard @@ -1,9 +1,9 @@ - + - + @@ -81,7 +81,7 @@