|
|
@ -42,6 +42,10 @@ class KycForm1ViewController: UIViewController { |
|
|
|
struct Constants { |
|
|
|
static let segmentBackgroundViewColor = UIColor.init(hex: "E7EDF2") |
|
|
|
static let stateRedColor = UIColor.init(hex: "#EC1C24") |
|
|
|
static let male = "Male" |
|
|
|
static let female = "Female" |
|
|
|
static let other = "Other" |
|
|
|
static let cancelTitleString = "Cancel" |
|
|
|
} |
|
|
|
|
|
|
|
// MARK: IBOutlets |
|
|
@ -77,6 +81,7 @@ class KycForm1ViewController: UIViewController { |
|
|
|
|
|
|
|
var presenter: KycForm1ModuleInterface? |
|
|
|
var kycModel: kycForm1Model = kycForm1Model() |
|
|
|
let datePicker = UIDatePicker() |
|
|
|
|
|
|
|
var errorTextFieldDict: [String: UITextField] = [:] |
|
|
|
var errorLabelsDict: [String: UILabel] = [:] |
|
|
@ -117,6 +122,7 @@ class KycForm1ViewController: UIViewController { |
|
|
|
setupErrorLabels() |
|
|
|
setupErrorTextFields() |
|
|
|
setupDelegates() |
|
|
|
self.setupDatePicker() |
|
|
|
} |
|
|
|
|
|
|
|
private func setupDelegates() { |
|
|
@ -133,6 +139,47 @@ class KycForm1ViewController: UIViewController { |
|
|
|
self.provinceTextField.delegate = self |
|
|
|
} |
|
|
|
|
|
|
|
private func setupDatePicker() { |
|
|
|
self.datePicker.datePickerMode = .date |
|
|
|
self.dobTextField.inputView = datePicker |
|
|
|
datePicker.maximumDate = Date() |
|
|
|
self.datePicker.addTarget(self, action: #selector(handleDatePicker(sender:)), for: .valueChanged) |
|
|
|
} |
|
|
|
|
|
|
|
@objc private func handleDatePicker(sender: UIDatePicker) { |
|
|
|
let dateFormatter = DateFormatter() |
|
|
|
dateFormatter.dateFormat = "yyyy-MM-dd" |
|
|
|
self.dobTextField.text = dateFormatter.string(from: sender.date) |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private func showGenderPicker() { |
|
|
|
|
|
|
|
|
|
|
|
let alertcontroller = UIAlertController.init(title: "Gender", message: nil, preferredStyle: .actionSheet) |
|
|
|
alertcontroller.view.tintColor = UIColor.init(hex: "#7b7a7a") |
|
|
|
let maleAction = UIAlertAction(title: Constants.male, style: .default, handler: { _ in |
|
|
|
self.genderTextField.text = Constants.male |
|
|
|
}) |
|
|
|
|
|
|
|
let femaleAction = UIAlertAction(title: Constants.female, style: .default, handler: { _ in |
|
|
|
self.genderTextField.text = Constants.female |
|
|
|
}) |
|
|
|
|
|
|
|
let otherAction = UIAlertAction(title: Constants.other, style: .default, handler: { _ in |
|
|
|
self.genderTextField.text = Constants.other |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
let cancelAction = UIAlertAction(title: Constants.cancelTitleString, style: .cancel, handler: nil) |
|
|
|
|
|
|
|
alertcontroller.addAction(maleAction) |
|
|
|
alertcontroller.addAction(femaleAction) |
|
|
|
alertcontroller.addAction(otherAction) |
|
|
|
alertcontroller.addAction(cancelAction) |
|
|
|
self.present(alertcontroller, animated: true, completion: nil) |
|
|
|
} |
|
|
|
|
|
|
|
private func validate() { |
|
|
|
self.presenter?.validate(model: self.kycModel) |
|
|
|
} |
|
|
@ -220,7 +267,33 @@ extension KycForm1ViewController: IndicatorInfoProvider { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
extension KycForm1ViewController: UITextFieldDelegate { |
|
|
|
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { |
|
|
|
switch textField { |
|
|
|
case genderTextField: |
|
|
|
self.genderErrorLabel.isHidden = true |
|
|
|
genderTextField.layer.borderWidth = 0 |
|
|
|
self.showGenderPicker() |
|
|
|
return false |
|
|
|
case nativeCountryTextField: |
|
|
|
self.nativeCountryErrorLabel.isHidden = true |
|
|
|
nativeCountryTextField.layer.borderWidth = 0 |
|
|
|
return false |
|
|
|
case provinceTextField: |
|
|
|
self.provinceErrorLabel.isHidden = true |
|
|
|
provinceTextField.layer.borderWidth = 0 |
|
|
|
return false |
|
|
|
case occupationTextField: |
|
|
|
self.occupationErrorLabel.isHidden = true |
|
|
|
occupationTextField.layer.borderWidth = 0 |
|
|
|
return false |
|
|
|
default: |
|
|
|
return true |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func textFieldDidBeginEditing(_ textField: UITextField) { |
|
|
|
switch textField { |
|
|
|
case firstNameTextField: |
|
|
@ -261,3 +334,5 @@ extension KycForm1ViewController: UITextFieldDelegate { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|