|
|
@ -18,6 +18,8 @@ class KycForm2Model { |
|
|
|
var expiryDate = "" |
|
|
|
var sourceOfFund = "" |
|
|
|
var issueDate = "" |
|
|
|
var checkIssueDate = false |
|
|
|
var checkExpiryDate = false |
|
|
|
} |
|
|
|
|
|
|
|
struct KycForm2FieldKeys { |
|
|
@ -33,9 +35,15 @@ struct KycForm2FieldKeys { |
|
|
|
class KycForm2ViewController: UIViewController { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
struct Constants { |
|
|
|
static let stateRedColor = UIColor.init(hex: "#EC1C24") |
|
|
|
static let clearColor = UIColor.clear |
|
|
|
static let issueDateText = "docIssueDate" |
|
|
|
static let expiryDateText = "docExpiryDate" |
|
|
|
static let issueDateTag = 30001 |
|
|
|
static let expiryDateTag = 30002 |
|
|
|
} |
|
|
|
|
|
|
|
// MARK: IBOutlets |
|
|
@ -62,6 +70,10 @@ class KycForm2ViewController: UIViewController { |
|
|
|
@IBOutlet weak var issueDateTextField: UITextField! |
|
|
|
|
|
|
|
|
|
|
|
// stackViews |
|
|
|
@IBOutlet weak var expiryDateStackView: UIStackView! |
|
|
|
@IBOutlet weak var issueDateStackView: UIStackView! |
|
|
|
|
|
|
|
// MARK: Properties |
|
|
|
|
|
|
|
var errorLabels: [UILabel] = [] |
|
|
@ -70,6 +82,10 @@ class KycForm2ViewController: UIViewController { |
|
|
|
var errorTextFieldDict: [String: UITextField] = [:] |
|
|
|
var errorLabelsDict: [String: UILabel] = [:] |
|
|
|
|
|
|
|
|
|
|
|
var hiddenFieldsDict: [String: UIStackView]? |
|
|
|
var hiddenFields: [UIStackView]? |
|
|
|
|
|
|
|
var kycModel: KycModel? { |
|
|
|
didSet { |
|
|
|
self.banks = kycModel?.bank |
|
|
@ -80,7 +96,12 @@ class KycForm2ViewController: UIViewController { |
|
|
|
|
|
|
|
|
|
|
|
var banks: [KeyValueModel]? |
|
|
|
var verificationIdTypes: [KeyValueModel]? |
|
|
|
|
|
|
|
var verificationIdTypes: [VerificationIdType]? { |
|
|
|
didSet { |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
var sourceOfFunds:[KeyValueModel]? |
|
|
|
|
|
|
|
|
|
|
@ -91,10 +112,26 @@ class KycForm2ViewController: UIViewController { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
var slectedVerificationIdType: KeyValueModel? { |
|
|
|
var selectedVerificationIdType: VerificationIdType? { |
|
|
|
didSet { |
|
|
|
self.verificationIdTextField.text = self.slectedVerificationIdType?.text |
|
|
|
self.kycForm2Model.verificationId = self.slectedVerificationIdType?.id ?? "" |
|
|
|
self.verificationIdTextField.text = self.selectedVerificationIdType?.text |
|
|
|
self.kycForm2Model.verificationId = self.selectedVerificationIdType?.id ?? "" |
|
|
|
var _views: [UIStackView] = [] |
|
|
|
_views = (self.selectedVerificationIdType?.dependent ?? []).compactMap({ |
|
|
|
print($0) |
|
|
|
return self.hiddenFieldsDict?[$0] |
|
|
|
}) |
|
|
|
self.hiddenFields?.forEach({ |
|
|
|
if _views.contains($0) { |
|
|
|
self.kycForm2Model.checkIssueDate = $0.tag == Constants.issueDateTag |
|
|
|
self.kycForm2Model.checkExpiryDate = $0.tag == Constants.expiryDateTagi |
|
|
|
$0.isHidden = false |
|
|
|
}else { |
|
|
|
$0.isHidden = true |
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -150,6 +187,20 @@ class KycForm2ViewController: UIViewController { |
|
|
|
setupErrorTextFields() |
|
|
|
setupDatePicker() |
|
|
|
setupDelegates() |
|
|
|
setupHiddenFields() |
|
|
|
} |
|
|
|
|
|
|
|
private func setupHiddenFields() { |
|
|
|
self.hiddenFields = [issueDateStackView, expiryDateStackView] |
|
|
|
issueDateStackView.tag = Constants.issueDateTag |
|
|
|
expiryDateStackView.tag = Constants.expiryDateTag |
|
|
|
self.hiddenFieldsDict = [ |
|
|
|
Constants.issueDateText : issueDateStackView, |
|
|
|
Constants.expiryDateText: expiryDateStackView |
|
|
|
] |
|
|
|
self.hiddenFieldsDict?.forEach({ |
|
|
|
$0.value.isHidden = true |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
private func validate() { |
|
|
@ -383,7 +434,7 @@ extension KycForm2ViewController { |
|
|
|
|
|
|
|
func cardTypeSelected(models: [String]) { |
|
|
|
let _model = self.verificationIdTypes?.filter({($0.text ?? "") == (models.first ?? "") }).first |
|
|
|
self.slectedVerificationIdType = _model |
|
|
|
self.selectedVerificationIdType = _model |
|
|
|
} |
|
|
|
|
|
|
|
private func showSourceOfFundPicker() { |
|
|
|