This commit is contained in:
Kevin G Christiano 2021-02-10 14:22:47 -05:00
parent ee95db5116
commit 746daa9cd2
6 changed files with 30 additions and 23 deletions

View File

@ -55,7 +55,7 @@ import UIKit
@objc required public init?(coder: NSCoder) { @objc required public init?(coder: NSCoder) {
super.init(coder: coder) super.init(coder: coder)
fatalError("DropdownEntryField does not support xib.") fatalError("\(String(describing: Self.self)) does not support xib.")
} }
required public init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) { required public init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {

View File

@ -8,8 +8,23 @@
import UIKit import UIKit
class BaseItemPickerField: BaseDropdownField { open class BaseItemPickerField: BaseDropdownField {
//--------------------------------------------------
// MARK: - Outlets
//--------------------------------------------------
open var pickerView: UIPickerView?
//--------------------------------------------------
// MARK: - Properties
//--------------------------------------------------
/// Closure passed here will run as picker changes items.
public var observeDropdownChange: ((String, String) -> ())?
/// Closure passed here will run upon dismissing the selection picker.
public var observeDropdownSelection: ((String) -> ())?
/// When selecting for first responder, allow initial selected value to appear in empty text field.
public var setInitialValueInTextField = true
} }

View File

@ -8,6 +8,11 @@
import UIKit import UIKit
class BaseItemPickerFieldModel: BaseDropdownEntryFieldModel {
open class BaseItemPickerFieldModel: BaseDropdownEntryFieldModel {
//--------------------------------------------------
// MARK: - Properties
//--------------------------------------------------
public override class var identifier: String { "" }
} }

View File

@ -9,13 +9,7 @@
import UIKit import UIKit
open class MultiItemDropdownEntryField: BaseDropdownField { open class MultiItemDropdownEntryField: BaseItemPickerField {
//--------------------------------------------------
// MARK: - Outlets
//--------------------------------------------------
open var pickerView: UIPickerView?
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Properties // MARK: - Properties
//-------------------------------------------------- //--------------------------------------------------
@ -25,15 +19,6 @@ open class MultiItemDropdownEntryField: BaseDropdownField {
dropdownModel?.components ?? [[]] dropdownModel?.components ?? [[]]
} }
/// When selecting for first responder, allow initial selected value to appear in empty text field.
public var setInitialValueInTextField = true
/// Closure passed here will run as picker changes items.
// public var observeDropdownChange: ((String, String) -> ())?
/// Closure passed here will run upon dismissing the selection picker.
// public var observeDropdownSelection: ((String) -> ())?
public var dropdownModel: MultiItemDropdownEntryFieldModel? { public var dropdownModel: MultiItemDropdownEntryFieldModel? {
model as? MultiItemDropdownEntryFieldModel model as? MultiItemDropdownEntryFieldModel
} }

View File

@ -9,7 +9,7 @@
import Foundation import Foundation
@objcMembers open class MultiItemDropdownEntryFieldModel: BaseDropdownEntryFieldModel { @objcMembers open class MultiItemDropdownEntryFieldModel: BaseItemPickerFieldModel {
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Properties // MARK: - Properties
//-------------------------------------------------- //--------------------------------------------------

View File

@ -96,6 +96,8 @@ import UIKit
open override var text: String? { open override var text: String? {
get { textField.text } get { textField.text }
set { set {
NSRegularExpression(pattern: <#T##String#>, options: [])
textField.text = newValue textField.text = newValue
textEntryFieldModel?.text = newValue textEntryFieldModel?.text = newValue
} }