current
This commit is contained in:
parent
3efe4ae81f
commit
2e1e5772d7
@ -50,6 +50,18 @@ open class BaseItemPickerEntryField: BaseDropdownEntryField, UIPickerViewDelegat
|
|||||||
pickerView?.dataSource = delegate
|
pickerView?.dataSource = delegate
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------
|
||||||
|
// MARK: - Molecular
|
||||||
|
//--------------------------------------------------
|
||||||
|
|
||||||
|
public override func set(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
|
||||||
|
super.set(with: model, delegateObject, additionalData)
|
||||||
|
|
||||||
|
guard let model = model as? BaseItemPickerEntryFieldModel else { return }
|
||||||
|
|
||||||
|
setPickerDelegates(delegate: self)
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Picker Delegate to Override
|
// MARK: - Picker Delegate to Override
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -58,3 +70,19 @@ open class BaseItemPickerEntryField: BaseDropdownEntryField, UIPickerViewDelegat
|
|||||||
|
|
||||||
public func numberOfComponents(in pickerView: UIPickerView) -> Int { 0 }
|
public func numberOfComponents(in pickerView: UIPickerView) -> Int { 0 }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// MARK: - Accessibility
|
||||||
|
extension BaseItemPickerEntryField {
|
||||||
|
|
||||||
|
@objc open override func setAccessibilityString(_ accessibilityString: String?) {
|
||||||
|
|
||||||
|
var accessibilityString = accessibilityString ?? ""
|
||||||
|
|
||||||
|
if let textPickerItem = MVMCoreUIUtility.hardcodedString(withKey: "textfield_picker_item") {
|
||||||
|
accessibilityString += textPickerItem
|
||||||
|
}
|
||||||
|
|
||||||
|
textField.accessibilityLabel = "\(accessibilityString) \(textField.isEnabled ? "" : MVMCoreUIUtility.hardcodedString(withKey: "textfield_disabled_state") ?? "")"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -83,7 +83,6 @@ open class ItemDropdownEntryField: BaseItemPickerEntryField {
|
|||||||
guard let model = model as? ItemDropdownEntryFieldModel else { return }
|
guard let model = model as? ItemDropdownEntryFieldModel else { return }
|
||||||
|
|
||||||
pickerData = model.options
|
pickerData = model.options
|
||||||
setPickerDelegates(delegate: self)
|
|
||||||
|
|
||||||
if let pickerView = pickerView, let index = model.selectedIndex {
|
if let pickerView = pickerView, let index = model.selectedIndex {
|
||||||
self.pickerView(pickerView, didSelectRow: index, inComponent: 0)
|
self.pickerView(pickerView, didSelectRow: index, inComponent: 0)
|
||||||
@ -114,18 +113,3 @@ open class ItemDropdownEntryField: BaseItemPickerEntryField {
|
|||||||
itemDropdownEntryFieldModel?.selectedIndex = row
|
itemDropdownEntryFieldModel?.selectedIndex = row
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - Accessibility
|
|
||||||
extension ItemDropdownEntryField {
|
|
||||||
|
|
||||||
@objc open override func setAccessibilityString(_ accessibilityString: String?) {
|
|
||||||
|
|
||||||
var accessibilityString = accessibilityString ?? ""
|
|
||||||
|
|
||||||
if let textPickerItem = MVMCoreUIUtility.hardcodedString(withKey: "textfield_picker_item") {
|
|
||||||
accessibilityString += textPickerItem
|
|
||||||
}
|
|
||||||
|
|
||||||
textField.accessibilityLabel = "\(accessibilityString) \(textField.isEnabled ? "" : MVMCoreUIUtility.hardcodedString(withKey: "textfield_disabled_state") ?? "")"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -100,8 +100,6 @@ open class MultiItemDropdownEntryField: BaseItemPickerEntryField {
|
|||||||
|
|
||||||
guard let model = model as? MultiItemDropdownEntryFieldModel else { return }
|
guard let model = model as? MultiItemDropdownEntryFieldModel else { return }
|
||||||
|
|
||||||
setPickerDelegates(delegate: self)
|
|
||||||
|
|
||||||
if let pickerView = pickerView {
|
if let pickerView = pickerView {
|
||||||
for (component, index) in model.selectedIndexes {
|
for (component, index) in model.selectedIndexes {
|
||||||
self.pickerView(pickerView, didSelectRow: index, inComponent: component)
|
self.pickerView(pickerView, didSelectRow: index, inComponent: component)
|
||||||
@ -140,18 +138,3 @@ open class MultiItemDropdownEntryField: BaseItemPickerEntryField {
|
|||||||
dropdownModel?.selectedIndexes[component] = row
|
dropdownModel?.selectedIndexes[component] = row
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - Accessibility
|
|
||||||
extension MultiItemDropdownEntryField {
|
|
||||||
|
|
||||||
@objc open override func setAccessibilityString(_ accessibilityString: String?) {
|
|
||||||
|
|
||||||
var accessibilityString = accessibilityString ?? ""
|
|
||||||
|
|
||||||
if let textPickerItem = MVMCoreUIUtility.hardcodedString(withKey: "textfield_picker_item") {
|
|
||||||
accessibilityString += textPickerItem
|
|
||||||
}
|
|
||||||
|
|
||||||
textField.accessibilityLabel = "\(accessibilityString) \(textField.isEnabled ? "" : MVMCoreUIUtility.hardcodedString(withKey: "textfield_disabled_state") ?? "")"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -96,8 +96,25 @@ import UIKit
|
|||||||
open override var text: String? {
|
open override var text: String? {
|
||||||
get { textField.text }
|
get { textField.text }
|
||||||
set {
|
set {
|
||||||
textField.text = newValue
|
|
||||||
textEntryFieldModel?.text = newValue
|
textEntryFieldModel?.text = newValue
|
||||||
|
|
||||||
|
if let regex = textEntryFieldModel?.displayFormat,
|
||||||
|
let mask = textEntryFieldModel?.displayMask,
|
||||||
|
let newText = newValue {
|
||||||
|
|
||||||
|
let range = NSRange(newText.startIndex..., in: newText)
|
||||||
|
|
||||||
|
if let regex = try? NSRegularExpression(pattern: regex) {
|
||||||
|
let afterText = regex.stringByReplacingMatches(in: newText,
|
||||||
|
range: range,
|
||||||
|
withTemplate: mask
|
||||||
|
)
|
||||||
|
print(afterText)
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
textField.text = newValue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -35,7 +35,8 @@
|
|||||||
public var keyboardOverride: String?
|
public var keyboardOverride: String?
|
||||||
public var type: EntryType?
|
public var type: EntryType?
|
||||||
public var clearTextOnTap: Bool = false
|
public var clearTextOnTap: Bool = false
|
||||||
public var displayFormat: String?
|
public var displayFormat: String? = "(?=\\d{5})\\d"
|
||||||
|
public var displayMask: String? = "•"
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Methods
|
// MARK: - Methods
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user