Commit 3eb8475d by Olzhas Aldabergenov

mask +7 added for phone fields

parent b1c8e830
......@@ -7,12 +7,12 @@
<key>GoogleToolboxForMac.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>5</integer>
<integer>1</integer>
</dict>
<key>Pods-telecom.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>6</integer>
<integer>2</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
......
......@@ -83,6 +83,7 @@
3E197E611F44454A000BC88D /* FeedPackagesXIBView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E197E601F44454A000BC88D /* FeedPackagesXIBView.swift */; };
3E197E651F4563BB000BC88D /* FeedCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E197E641F4563BB000BC88D /* FeedCollectionViewCell.swift */; };
3E197E781F4D2C87000BC88D /* MainHelpViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E197E771F4D2C87000BC88D /* MainHelpViewController.swift */; };
3E1D32241F9F54CA00373ADA /* XCGLogger.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 984CED471D7F0AC20096B2BF /* XCGLogger.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
3E2C3E8E1EFA482D00E553CD /* GetCodeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E2C3E8D1EFA482D00E553CD /* GetCodeViewController.swift */; };
3E2C3E9B1EFCB17E00E553CD /* Validator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E2C3E9A1EFCB17E00E553CD /* Validator.swift */; };
3E2E1E821F84DB0100DC0FE5 /* LKSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E2E1E811F84DB0100DC0FE5 /* LKSettingsViewController.swift */; };
......@@ -523,6 +524,16 @@
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
3E1D32221F9F546700373ADA /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
3E1D32241F9F54CA00373ADA /* XCGLogger.framework in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
984CED8A1D7F15B80096B2BF /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
......@@ -2300,6 +2311,7 @@
984CED8A1D7F15B80096B2BF /* Embed Frameworks */,
50FC3F9466E4A5C981E595DE /* [CP] Embed Pods Frameworks */,
EEFCC45EB3F16D936889FAAA /* [CP] Copy Pods Resources */,
3E1D32221F9F546700373ADA /* CopyFiles */,
);
buildRules = (
);
......
......@@ -7,7 +7,7 @@
<key>telecom.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>4</integer>
<integer>0</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
......
......@@ -7,14 +7,16 @@
"EA320F6FA9588ABC7C644742C268D060B5B8C40A" : 9223372036854775807,
"CD1557C3AE966BEDF3490D85F9712687801B146C" : 9223372036854775807,
"5DF1EA6381DC40CE02B4EA5633CD220EAAC76936" : 9223372036854775807,
"8C8D20BEB1D39A3810EA64426626AEAC4A6D4E9B" : 9223372036854775807
"8C8D20BEB1D39A3810EA64426626AEAC4A6D4E9B" : 9223372036854775807,
"ED15D557B9B333C8B7761924B3DBF02994584ED6" : 9223372036854775807
},
"DVTSourceControlWorkspaceBlueprintIdentifierKey" : "443F5A42-E7E6-443D-8FC0-423FE8159820",
"DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : {
"EA320F6FA9588ABC7C644742C268D060B5B8C40A" : "KT\/",
"CD1557C3AE966BEDF3490D85F9712687801B146C" : "KT\/XCGLogger\/",
"5DF1EA6381DC40CE02B4EA5633CD220EAAC76936" : "kt-ios\/",
"8C8D20BEB1D39A3810EA64426626AEAC4A6D4E9B" : "KT2017\/"
"8C8D20BEB1D39A3810EA64426626AEAC4A6D4E9B" : "KT2017\/",
"ED15D557B9B333C8B7761924B3DBF02994584ED6" : "kt-ios\/input-mask-ios\/"
},
"DVTSourceControlWorkspaceBlueprintNameKey" : "kt",
"DVTSourceControlWorkspaceBlueprintVersion" : 204,
......@@ -39,6 +41,11 @@
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/gitlab.com\/Sofrano\/kazakhtelecom-2016-ios-swift.git",
"DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "EA320F6FA9588ABC7C644742C268D060B5B8C40A"
},
{
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/RedMadRobot\/input-mask-ios.git",
"DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "ED15D557B9B333C8B7761924B3DBF02994584ED6"
}
]
}
\ No newline at end of file
......@@ -10,12 +10,12 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "kt/ViewControllers/Cabinet/Login/FourthStepOfRegistrationVC.swift"
timestampString = "528700272.197197"
timestampString = "530688424.831032"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "88"
endingLineNumber = "88"
landmarkName = "registerTap(sender:)"
startingLineNumber = "107"
endingLineNumber = "107"
landmarkName = "registerTap(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
......@@ -90,11 +90,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "kt/ViewControllers/Cabinet/Login/LoginViewController.swift"
timestampString = "529493159.41857"
timestampString = "530690727.240538"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "579"
endingLineNumber = "579"
startingLineNumber = "601"
endingLineNumber = "601"
landmarkName = "applicationWillResignActive()"
landmarkType = "7">
</BreakpointContent>
......@@ -106,11 +106,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "kt/ViewControllers/Cabinet/Login/LoginViewController.swift"
timestampString = "529493159.41857"
timestampString = "530690727.240538"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "579"
endingLineNumber = "579"
startingLineNumber = "601"
endingLineNumber = "601"
landmarkName = "applicationWillResignActive()"
landmarkType = "7">
</BreakpointContent>
......@@ -122,11 +122,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "kt/ViewControllers/Cabinet/Login/LoginViewController.swift"
timestampString = "529493159.41857"
timestampString = "530690727.240538"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "549"
endingLineNumber = "549"
startingLineNumber = "571"
endingLineNumber = "571"
landmarkName = "showHelpAlert()"
landmarkType = "7">
</BreakpointContent>
......@@ -138,11 +138,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "kt/ViewControllers/Cabinet/Login/LoginViewController.swift"
timestampString = "529493159.41857"
timestampString = "530690727.240538"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "554"
endingLineNumber = "554"
startingLineNumber = "576"
endingLineNumber = "576"
landmarkName = "showHelpAlert()"
landmarkType = "7">
</BreakpointContent>
......@@ -185,22 +185,6 @@
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "kt/ViewControllers/Service/CallbackViewController.swift"
timestampString = "529839831.534665"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "166"
endingLineNumber = "166"
landmarkName = "sendButtonPressed(sender:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "kt/ViewControllers/Service/ServiceTariffController.swift"
timestampString = "529908968.759975"
startingColumnNumber = "9223372036854775807"
......
......@@ -229,7 +229,7 @@
<constraints>
<constraint firstAttribute="height" constant="77" id="xuL-7c-hsE"/>
</constraints>
<string key="text">Вы можете воспользоваться данным сервисом, в случае если указали свой ИИН при подписании договора. Для получения кода регистрации на E-mail, пожалуйста, заполните форму</string>
<string key="text">Вы можете воспользоваться данным сервисом, в случае если указали Ваш ИИН при подписании договора. Для получения кода регистрации на E-mail, пожалуйста, заполните форму</string>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
......@@ -553,7 +553,7 @@
"settings.your_login.placeholder" = "login";
"settings.your_guid_cash" = "Bank book";
"settings.your_guid_cash.placeholder" = "15-*******";
"settings.mobile_phone" = "Mobile phone in the format XX XXX XX XX";
"settings.mobile_phone" = "Mobile phone";
"settings.mobile_phone.placeholder" = "701 345 78 22";
"settings.email" = "Email";
"settings.email.placeholder" = "i.ivanov34@mail.ru";
......@@ -619,3 +619,6 @@
"fastPay_positive_balance" = "Оплата не требуется";
"fastPay_error_during_request" = "Ошибка получения данных";
"registration_placeholder_login" = "Придумайте Ваш логин";
"registration_placeholder_password" = "Придумайте Ваш пароль";
......@@ -548,7 +548,7 @@
"settings.your_login.placeholder" = "login";
"settings.your_guid_cash" = "Сіздің дербес шотыңыз";
"settings.your_guid_cash.placeholder" = "15-*******";
"settings.mobile_phone" = "Ұялы телефон келесі түрде: XXX XXX XX XX";
"settings.mobile_phone" = "Ұялы телефон";
"settings.mobile_phone.placeholder" = "701 345 78 22";
"settings.email" = "Электрондық жәшік";
"settings.email.placeholder" = "i.ivanov34@mail.ru";
......@@ -618,3 +618,6 @@
"fastPay_positive_balance" = "Оплата не требуется";
"fastPay_error_during_request" = "Ошибка получения данных";
"registration_placeholder_login" = "Придумайте Ваш логин";
"registration_placeholder_password" = "Придумайте Ваш пароль";
......@@ -463,7 +463,7 @@
"login.error.incorrect_login_or_password" = "Неверный логин или пароль";
"login.text_field.your_email.placeholder" = "Ваш e-mail";
"login.text_field.your_guid_number.placeholder" = "Номер вашего лицевого счета";
"login.text_field.your_phone_number.placeholder" = "без +7";
"login.text_field.your_phone_number.placeholder" = "+7 ";
// Registration
......@@ -555,7 +555,7 @@
"settings.your_login.placeholder" = "login";
"settings.your_guid_cash" = "Ваш лицевой счет";
"settings.your_guid_cash.placeholder" = "15-*******";
"settings.mobile_phone" = "Мобильный телефон в формате XXX XXX XX XX";
"settings.mobile_phone" = "Мобильный телефон";
"settings.mobile_phone.placeholder" = "701 345 78 22";
"settings.email" = "Электронная почта";
"settings.email.placeholder" = "i.ivanov34@mail.ru";
......@@ -620,3 +620,7 @@
"fastPayCell_accountNumber_title" = "Номер лицевого счета:";
"fastPay_positive_balance" = "Оплата не требуется";
"fastPay_error_during_request" = "Ошибка получения данных";
"registration_placeholder_login" = "Придумайте Ваш логин";
"registration_placeholder_password" = "Придумайте Ваш пароль";
......@@ -178,4 +178,16 @@ class CustomAlertViewController: ScrolledViewController, StoryboardFetchable {
closure(alertVC: self)
}
override func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let textFieldText: NSString = textField.text ?? ""
let txtAfterUpdate = textFieldText.stringByReplacingCharactersInRange(range, withString: string)
if ( textField.tag == 101 ) {
textField.text = (getFormattedPhone(txtAfterUpdate))
return false
} else {
return true
}
}
}
......@@ -25,3 +25,62 @@ func containsCharacter(checkString: String, containingCharacters: String) -> Boo
}
return false
}
// formats numbers into phone number with +7 prefix
func getFormattedPhone(phone: String) -> String {
//print("phone: \(phone)")
let decimalString = getDigitsFromString(phone)
//print ("decimalString: \(decimalString)")
let length = decimalString.length
let hasLeadingSeven = length > 0 && phone.hasPrefix("+7")
var index = 0 as Int
let formattedString = NSMutableString()
formattedString.appendString("+7 ")
if hasLeadingSeven {
index += 1
}
if (length - index) > 3 {
let areaCode = decimalString.substringWithRange(NSMakeRange(index, 3))
formattedString.appendFormat("%@ ", areaCode)
index += 3
}
if length - index > 3 {
let prefix = decimalString.substringWithRange(NSMakeRange(index, 3))
formattedString.appendFormat("%@-", prefix)
index += 3
}
let remainder = decimalString.substringFromIndex(index)
let first4 = String(remainder.characters.prefix(4))
formattedString.appendString(first4)
return formattedString as String
}
// returns digits from any string
func getDigitsFromString(str : String ) -> NSString {
let components = str.componentsSeparatedByCharactersInSet(NSCharacterSet.decimalDigitCharacterSet().invertedSet)
let decimalString = components.joinWithSeparator("") as NSString
return decimalString
}
// returns 7019995500
func getPhoneDigits(phone : String) -> String {
let decimalString = getDigitsFromString(phone)
if ( phone.hasPrefix("+7") ) {
return String(decimalString.substringFromIndex(1))
} else {
return String(decimalString.substringFromIndex(0))
}
}
......@@ -278,14 +278,21 @@ class LKSettingsViewController: ViewControllerWithCustomTitle, UITableViewDelega
apiField: "",
available: false
),
NumberField(
TextField(
text: (§"settings.mobile_phone").uppercaseString,
title: "settings.mobile_phone",
placeholder: §"settings.mobile_phone.placeholder",
apiField: "mobile_phone",
numberValues: [],
maxLength: 10
apiField: "",
available: true
),
// NumberField(
// text: (§"settings.mobile_phone").uppercaseString,
// title: "settings.mobile_phone",
// placeholder: §"settings.mobile_phone.placeholder",
// apiField: "mobile_phone",
// numberValues: [],
// maxLength: 10
// ),
TextField(
text: (§"settings.email").uppercaseString,
title: "settings.email",
......@@ -298,26 +305,26 @@ class LKSettingsViewController: ViewControllerWithCustomTitle, UITableViewDelega
apiField: "",
available: false)
],
// [
// NumberField(
// text: (§"settings.count_password_change").uppercaseString,
// title: "settings.count_password_change",
// placeholder: "7",
// apiField: "in_max_pswd_change_attempt",
// numberValues: [3,5,7,10]),
// NumberField(
// text: (§"settings.count_lk_login_before_change_password").uppercaseString,
// title: "settings.count_lk_login_before_change_password",
// placeholder: "60",
// apiField: "in_max_logon_count",
// numberValues: [10,20,30,40,50,60]),
// NumberField(
// text: (§"settings.count_unactiv_period").uppercaseString,
// title: "settings.count_unactiv_period",
// placeholder: "15",
// apiField: "out_idle_timeout",
// numberValues: [15,20,30,60]),
// ],
// [
// NumberField(
// text: (§"settings.count_password_change").uppercaseString,
// title: "settings.count_password_change",
// placeholder: "7",
// apiField: "in_max_pswd_change_attempt",
// numberValues: [3,5,7,10]),
// NumberField(
// text: (§"settings.count_lk_login_before_change_password").uppercaseString,
// title: "settings.count_lk_login_before_change_password",
// placeholder: "60",
// apiField: "in_max_logon_count",
// numberValues: [10,20,30,40,50,60]),
// NumberField(
// text: (§"settings.count_unactiv_period").uppercaseString,
// title: "settings.count_unactiv_period",
// placeholder: "15",
// apiField: "out_idle_timeout",
// numberValues: [15,20,30,60]),
// ],
[],
[
SwitchField(
......@@ -621,12 +628,21 @@ extension LKSettingsViewController {
(cell as! SettingSwitchFieldTableViewCell).switchAdv.tag = indexPath.row
}
setDataInCell(cell, forRowAtIndexPath: indexPath)
if ( indexPath.row == 3 ) {
if let cell = cell as? SettingTextFieldTableViewCell {
cell.getTextField().addTarget(self, action: #selector(textFieldDidChange(_:)), forControlEvents: UIControlEvents.EditingChanged)
cell.getTextField().keyboardType = .NumberPad
}
}
return cell
}
// MARK: Data helper
private func setDataInCell(cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
if let cell = cell as? SettingTextFieldTableViewCell,
let field = _fields[indexPath.section][indexPath.row] as? TextField {
cell.fillCell(field.text, fieldTitle: field.title, vc: self)
......@@ -636,8 +652,14 @@ extension LKSettingsViewController {
if !settingsArr.isEmpty {
cell.setTitle(field.text)
cell.setPlaceholder(field.placeholder)
cell.setMyTextField(settingsArr[indexPath.section][indexPath.row] as! String)
if( indexPath.row == 3 ) {
cell.setMyTextField(getFormattedPhone(settingsArr[indexPath.section][indexPath.row] as! String))
cell.getTextField().keyboardType = .NumberPad
} else {
cell.setMyTextField(settingsArr[indexPath.section][indexPath.row] as! String)
}
}
} else if let cell = cell as? SettingButtonTableViewCell, let field = _fields[indexPath.section][indexPath.row] as? TextField {
cell.fillCell(self)
field.withButton = true
......@@ -684,6 +706,13 @@ extension LKSettingsViewController {
cell.setSwitch(settingsArr[indexPath.section][indexPath.row] as! Bool)
}
}
}
func textFieldDidChange(textField: UITextField) {
let phone = textField.text! as String
textField.text = getFormattedPhone(phone)
}
private func cellIdentifierForIndexPath(indexPath: NSIndexPath) -> String {
......
......@@ -46,6 +46,7 @@ class FourthStepOfRegistrationVC : StepViewController, UIPickerViewDataSource {
questionField.inputView = gradePicker
questionField.text = questionsArray[0]
phoneField.tag = 101
setPhoneNumber("+7 ")
}
override func viewDidAppear(animated: Bool) {
......@@ -60,20 +61,38 @@ class FourthStepOfRegistrationVC : StepViewController, UIPickerViewDataSource {
answerField.setBottomBorder(Color.GrayTableCellSeparator)
}
override func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let textFieldText: NSString = textField.text ?? ""
let txtAfterUpdate = textFieldText.stringByReplacingCharactersInRange(range, withString: string)
if ( textField.tag == 101 ) {
setPhoneNumber(getFormattedPhone(txtAfterUpdate))
return false
} else {
return true
}
}
func setPhoneNumber(phone: String) {
phoneField.text = phone
}
@IBAction func registerTap(sender: AnyObject) {
if phoneField.text?.characters.count == 0 || answerField.text?.characters.count == 0 {
let phone = getPhoneDigits(self.phoneField.text!)
if phone.characters.count == 0 || answerField.text?.characters.count == 0 {
AlertViewUtil.showMessageAlert(LS("registration.enter_fields"), vc: self)
return;
}
if phoneField.text?.characters.count != 10 {
if phone.characters.count != 10 {
AlertViewUtil.showMessageAlert(LS("registration.incorrect_phone_number"), vc: self)
}
AbonentForRegister.sharedInstance().inControlQuestion = questionField.text!
AbonentForRegister.sharedInstance().inControlAnswer = answerField.text!
AbonentForRegister.sharedInstance().inMobile = phoneField.text!
AbonentForRegister.sharedInstance().inMobile = phone
AbonentForRegister.sharedInstance().inSms = smsSwitch.on ? 1 : 0
AbonentForRegister.sharedInstance().inAdv = advCheck.on ? 1 : 0
......
......@@ -262,6 +262,8 @@ class LoginViewController: ScrolledViewController, UIViewControllerTransitioning
if recoverType == "phone" {
textField.tag = 101
textField.text = "+7 "
textField.keyboardType = UIKeyboardType.NumberPad
}
alertVC.addTextField(textField)
......@@ -273,7 +275,7 @@ class LoginViewController: ScrolledViewController, UIViewControllerTransitioning
PKNotification.loading(true)
let params = [
"type": recoverType,
"data": textField.text!
"data": self.getDataFromTextField(textField)
] as [String: AnyObject]
self.forgetPasswordSend(params)
}
......@@ -286,6 +288,26 @@ class LoginViewController: ScrolledViewController, UIViewControllerTransitioning
}
}
override func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let textFieldText: NSString = textField.text ?? ""
let txtAfterUpdate = textFieldText.stringByReplacingCharactersInRange(range, withString: string)
if ( textField.tag == 101 ) {
textField.text = (getFormattedPhone(txtAfterUpdate))
return false
} else {
return true
}
}
func getDataFromTextField(textField : UITextField) -> String {
if ( textField.tag == 101 ) {
return getPhoneDigits(textField.text!)
} else {
return textField.text!
}
}
func hideShowedAlert() {
self.isShowedAlert = false
}
......
......@@ -26,6 +26,8 @@ class SecondStepOfRegistrationVC : StepViewController {
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
self.loginField.placeholder = LS("registration_placeholder_login")
self.passwordField.placeholder = LS("registration_placeholder_password")
}
override func viewWillAppear(animated: Bool) {
......
......@@ -76,6 +76,7 @@ class StepViewController : ScrolledViewController, UIAlertViewDelegate, UIPicker
break
case 1:
localizedId = "phone_number"
textField.text = "+7 "
break
default:
break
......@@ -98,15 +99,15 @@ class StepViewController : ScrolledViewController, UIAlertViewDelegate, UIPicker
}, rightButtonHandler: { (button) -> Void in
let fioTitle = alertVC.textFields[0].text
let phoneNumberTitle = alertVC.textFields[1].text
let phoneNumberTitle = getPhoneDigits(alertVC.textFields[1].text!)
if fioTitle == "" || phoneNumberTitle == "" || self.selectedRegion == nil {
AlertViewUtil.showIncorrectAlert()
} else if containsLetters(phoneNumberTitle!) || phoneNumberTitle?.characters.count != 10 {
} else if containsLetters(phoneNumberTitle) || phoneNumberTitle.characters.count != 10 {
AlertViewUtil.showAlert(LS("registration.label.check_phone_number"))
} else {
let params:[String: AnyObject] = ["region": self.selectedRegion!.id!,
"phone": phoneNumberTitle!,
"phone": phoneNumberTitle,
"type": 1,
"form_type": 1,
"name": fioTitle!,
......@@ -130,6 +131,22 @@ class StepViewController : ScrolledViewController, UIAlertViewDelegate, UIPicker
print("index: \(buttonIndex)")
}
// override func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
// let textFieldText: NSString = textField.text ?? ""
// let txtAfterUpdate = textFieldText.stringByReplacingCharactersInRange(range, withString: string)
//
// if ( textField.tag == 101 ) {
// setPhoneNumber(getFormattedPhone(txtAfterUpdate))
// return false
// } else {
// return true
// }
// }
//
// func setPhoneNumber(phone: String) {
// alertVC.textFields[0].text = phone
// }
}
extension StepViewController {
......
......@@ -24,8 +24,27 @@ class GetCodeViewController: KeyboardedViewController {
self.contentView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.nothing(_:))))
phoneField.tag = 101
iinField.tag = 102
}
override func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let textFieldText: NSString = textField.text ?? ""
let txtAfterUpdate = textFieldText.stringByReplacingCharactersInRange(range, withString: string)
if ( textField.tag == 101 ) {
setPhoneNumber(getFormattedPhone(txtAfterUpdate))
return false
} else {
return true
}
}
func setPhoneNumber(phone: String) {
phoneField.text = phone
}
//
func dismissVC(sender:UITapGestureRecognizer) {
self.dismissViewControllerAnimated(true, completion: {});
}
......@@ -46,6 +65,7 @@ class GetCodeViewController: KeyboardedViewController {
super.viewWillAppear(animated)
iinField.setBottomBorder(Color.GrayTableCellSeparator)
phoneField.setBottomBorder(Color.GrayTableCellSeparator)
setPhoneNumber("+7 ")
}
@IBAction func getCodeClicked(sender: AnyObject) {
......@@ -61,7 +81,9 @@ class GetCodeViewController: KeyboardedViewController {
errorMessage += LS("registration.incorrect_iin") + "\n"
}
if phoneField.text?.characters.count != 10 {
let phone = getPhoneDigits(phoneField.text!)
if phone.characters.count != 10 {
errorMessage += LS("registration.incorrect_phone_number") + "\n"
}
......@@ -71,7 +93,7 @@ class GetCodeViewController: KeyboardedViewController {
}
AbonentForRegister.sharedInstance().inIin = iinField.text!
AbonentForRegister.sharedInstance().inPhone = phoneField.text!
AbonentForRegister.sharedInstance().inPhone = phone
let params: [String : String] = [
"server_id" : AbonentForRegister.sharedInstance().inServerId,
......
......@@ -40,13 +40,13 @@ class CallbackViewController: KeyboardedViewController, UIPickerViewDataSource,
super.viewDidLoad()
self.navigationItem.title = "Обратный звонок"
self.navigationItem.title = LS("service.callback")//"Обратный звонок"
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(CallbackViewController.keyboardWillShow(_:)), name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(CallbackViewController.keyboardWillHide(_:)), name: UIKeyboardWillHideNotification, object: nil)
filoField.text = AbonentInfoManager.sharedInstance.abonentInfo?.name
phoneField.text = AbonentInfoManager.sharedInstance.abonentInfo?.mobilePhone!.stringValue
phoneField.text = getFormattedPhone( (AbonentInfoManager.sharedInstance.abonentInfo?.mobilePhone!.stringValue)! )
emailField.text = AbonentInfoManager.sharedInstance.abonentInfo?.email
gradePicker = UIPickerView()
......@@ -159,7 +159,7 @@ class CallbackViewController: KeyboardedViewController, UIPickerViewDataSource,
}
@IBAction func sendButtonPressed(sender: AnyObject) {
let request = ServiceCallbackRequest(cityId: self.serverItem.id, serviceId: service_id, fullName: filoField.text, phone: phoneField.text,
let request = ServiceCallbackRequest(cityId: self.serverItem.id, serviceId: service_id, fullName: filoField.text, phone: getPhoneDigits(phoneField.text!),
email: emailField.text, type: type, formType: formType, userComment: user_comment)
print(request.params)
//return;
......@@ -173,6 +173,19 @@ class CallbackViewController: KeyboardedViewController, UIPickerViewDataSource,
}) {
}
}
override func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let textFieldText: NSString = textField.text ?? ""
let txtAfterUpdate = textFieldText.stringByReplacingCharactersInRange(range, withString: string)
if ( textField.tag == 101 ) {
textField.text = (getFormattedPhone(txtAfterUpdate))
return false
} else {
return true
}
}
}
......
......@@ -9,96 +9,100 @@
import UIKit
protocol SettingsCellDelegate {
func onChangeText(text: String, cell: SettingTextFieldTableViewCell)
func onChangeText(text: String, cell: SettingTextFieldTableViewCell)
}
class SettingTextFieldTableViewCell: UITableViewCell {
@IBOutlet weak var textField: UITextField!
@IBOutlet private weak var _nameLabel: UILabel!
var vc: LKSettingsViewController!
// var delegate : SettingsCellDelegate!
var fieldTitle: String!
var changeListener: ((text: String?) -> Void)?
override func awakeFromNib() {
super.awakeFromNib()
// KeyboardUtil.changeKeyboardType(UIKeyboardType.NumberPad, textField: textField)
let tap = UITapGestureRecognizer(target: self, action: #selector(SettingTextFieldTableViewCell.labelTap(_:)))
_nameLabel.addGestureRecognizer(tap)
textField.applyUITextFieldStyle()
textField.addTarget(self, action: #selector(SettingTextFieldTableViewCell.textChanged(_:)), forControlEvents: UIControlEvents.EditingChanged)
}
func labelTap(sender:UITapGestureRecognizer) {
print("tap working")
textField.becomeFirstResponder()
}
func fillCell(text: String, fieldTitle: String, vc: LKSettingsViewController, maxLength: Int? = nil) {
// if !vc.textFields.keys.contains(fieldTitle) {
// vc.textFields[fieldTitle] = textField
// }
self.fieldTitle = fieldTitle
self.vc = vc
self.textField.delegate = vc
if let maxLength = maxLength {
self.textField.maxLength = maxLength
@IBOutlet weak var textField: UITextField!
@IBOutlet private weak var _nameLabel: UILabel!
var vc: LKSettingsViewController!
// var delegate : SettingsCellDelegate!
var fieldTitle: String!
var changeListener: ((text: String?) -> Void)?
override func awakeFromNib() {
super.awakeFromNib()
// KeyboardUtil.changeKeyboardType(UIKeyboardType.NumberPad, textField: textField)
let tap = UITapGestureRecognizer(target: self, action: #selector(SettingTextFieldTableViewCell.labelTap(_:)))
_nameLabel.addGestureRecognizer(tap)
textField.applyUITextFieldStyle()
textField.addTarget(self, action: #selector(SettingTextFieldTableViewCell.textChanged(_:)), forControlEvents: UIControlEvents.EditingChanged)
}
func labelTap(sender:UITapGestureRecognizer) {
print("tap working")
textField.becomeFirstResponder()
}
func fillCell(text: String, fieldTitle: String, vc: LKSettingsViewController, maxLength: Int? = nil) {
// if !vc.textFields.keys.contains(fieldTitle) {
// vc.textFields[fieldTitle] = textField
// }
self.fieldTitle = fieldTitle
self.vc = vc
self.textField.delegate = vc
if let maxLength = maxLength {
self.textField.maxLength = maxLength
}
// abonentSettings: self.abonentSettings!,
// email: email,
// maximumPasswordChangeAttempt: Int(maximumPasswordChangeAttempt
// maximumLoginCount: Int(maximumLoginCount),
// idleTimeout: Int(idleTimeout),
// isAdv: isAdv,
// mobilePhone: Int64(mobilePhone),
// oldPassword: oldPassword,
// newPassword: newPassword)
}
func setTitle(text: String) {
_nameLabel.text = text
}
func setPlaceholder(text: String) {
textField.placeholder = text
}
// abonentSettings: self.abonentSettings!,
// email: email,
// maximumPasswordChangeAttempt: Int(maximumPasswordChangeAttempt
// maximumLoginCount: Int(maximumLoginCount),
// idleTimeout: Int(idleTimeout),
// isAdv: isAdv,
// mobilePhone: Int64(mobilePhone),
// oldPassword: oldPassword,
// newPassword: newPassword)
}
func setTitle(text: String) {
_nameLabel.text = text
}
func setPlaceholder(text: String) {
textField.placeholder = text
}
func setStyle(style: UIKeyboardType) {
textField.keyboardType = style
}
func setSecure(secure: Bool) {
textField.secureTextEntry = secure
}
func setMyTextField(text: String) {
textField.text = text
}
func setAvailable(av: Bool) {
textField.userInteractionEnabled = av
}
func getText() -> String {
return textField.text!
}
func textChanged(textField: UITextField){
// delegate.onChangeText(textField.text!, cell: self)
if textField.text!.characters.count <= textField.maxLength {
vc.params[fieldTitle] = textField.text
self.vc.isChangedSettings()
func setStyle(style: UIKeyboardType) {
textField.keyboardType = style
}
func setSecure(secure: Bool) {
textField.secureTextEntry = secure
}
//changeListener?(text: textField.text)
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
func setMyTextField(text: String) {
textField.text = text
}
func setAvailable(av: Bool) {
textField.userInteractionEnabled = av
}
func getText() -> String {
return textField.text!
}
func textChanged(textField: UITextField){
// delegate.onChangeText(textField.text!, cell: self)
if textField.text!.characters.count <= textField.maxLength {
vc.params[fieldTitle] = getPhoneDigits(textField.text!)
self.vc.isChangedSettings()
}
//changeListener?(text: textField.text)
}
func getTextField() -> UITextField {
return textField
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
// Configure the view for the selected state
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment