change
This commit is contained in:
parent
bc375347db
commit
4f568ecbc8
@ -16,7 +16,7 @@ open class BaseItemPickerEntryField: BaseDropdownEntryField, UIPickerViewDelegat
|
|||||||
// MARK: - Outlets
|
// MARK: - Outlets
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
|
|
||||||
open var pickerView: UIPickerView?
|
open lazy var pickerView = UIPickerView.addPicker(to: textField, delegate: self, dismissAction: #selector(dismissFieldInput))
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Properties
|
// MARK: - Properties
|
||||||
@ -38,7 +38,6 @@ open class BaseItemPickerEntryField: BaseDropdownEntryField, UIPickerViewDelegat
|
|||||||
@objc open override func setupFieldContainerContent(_ container: UIView) {
|
@objc open override func setupFieldContainerContent(_ container: UIView) {
|
||||||
super.setupFieldContainerContent(container)
|
super.setupFieldContainerContent(container)
|
||||||
|
|
||||||
pickerView = UIPickerView.addPicker(to: textField, delegate: self, dismissAction: #selector(dismissFieldInput))
|
|
||||||
textField.hideBlinkingCaret = true
|
textField.hideBlinkingCaret = true
|
||||||
textField.autocorrectionType = .no
|
textField.autocorrectionType = .no
|
||||||
uiTextFieldDelegate = self
|
uiTextFieldDelegate = self
|
||||||
@ -46,8 +45,8 @@ open class BaseItemPickerEntryField: BaseDropdownEntryField, UIPickerViewDelegat
|
|||||||
|
|
||||||
@objc public func setPickerDelegates(delegate: UIPickerViewDelegate & UIPickerViewDataSource) {
|
@objc public func setPickerDelegates(delegate: UIPickerViewDelegate & UIPickerViewDataSource) {
|
||||||
|
|
||||||
pickerView?.delegate = delegate
|
pickerView.delegate = delegate
|
||||||
pickerView?.dataSource = delegate
|
pickerView.dataSource = delegate
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -57,8 +56,6 @@ open class BaseItemPickerEntryField: BaseDropdownEntryField, UIPickerViewDelegat
|
|||||||
public override func set(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
|
public override func set(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
|
||||||
super.set(with: model, delegateObject, additionalData)
|
super.set(with: model, delegateObject, additionalData)
|
||||||
|
|
||||||
guard let model = model as? BaseItemPickerEntryFieldModel else { return }
|
|
||||||
|
|
||||||
setPickerDelegates(delegate: self)
|
setPickerDelegates(delegate: self)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -54,7 +54,8 @@ open class ItemDropdownEntryField: BaseItemPickerEntryField {
|
|||||||
|
|
||||||
guard !pickerData.isEmpty else { return }
|
guard !pickerData.isEmpty else { return }
|
||||||
|
|
||||||
if setInitialValueInTextField, let pickerIndex = pickerView?.selectedRow(inComponent: 0) {
|
if setInitialValueInTextField {
|
||||||
|
let pickerIndex = pickerView.selectedRow(inComponent: 0)
|
||||||
observeDropdownChange?(text ?? "", pickerData[pickerIndex])
|
observeDropdownChange?(text ?? "", pickerData[pickerIndex])
|
||||||
text = pickerData[pickerIndex]
|
text = pickerData[pickerIndex]
|
||||||
itemDropdownEntryFieldModel?.selectedIndex = pickerIndex
|
itemDropdownEntryFieldModel?.selectedIndex = pickerIndex
|
||||||
@ -72,9 +73,7 @@ open class ItemDropdownEntryField: BaseItemPickerEntryField {
|
|||||||
|
|
||||||
guard !pickerData.isEmpty else { return }
|
guard !pickerData.isEmpty else { return }
|
||||||
|
|
||||||
if let pickerIndex = pickerView?.selectedRow(inComponent: 0) {
|
observeDropdownSelection?(pickerData[pickerView.selectedRow(inComponent: 0)])
|
||||||
observeDropdownSelection?(pickerData[pickerIndex])
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override func set(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
|
public override func set(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
|
||||||
@ -84,8 +83,8 @@ open class ItemDropdownEntryField: BaseItemPickerEntryField {
|
|||||||
|
|
||||||
pickerData = model.options
|
pickerData = model.options
|
||||||
|
|
||||||
if let pickerView = pickerView, let index = model.selectedIndex {
|
if let index = model.selectedIndex {
|
||||||
self.pickerView?.selectRow(index, inComponent: 0, animated: false)
|
self.pickerView.selectRow(index, inComponent: 0, animated: false)
|
||||||
self.pickerView(pickerView, didSelectRow: index, inComponent: 0)
|
self.pickerView(pickerView, didSelectRow: index, inComponent: 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -66,7 +66,7 @@ open class MultiItemDropdownEntryField: BaseItemPickerEntryField {
|
|||||||
|
|
||||||
// Set row index value of selected component.
|
// Set row index value of selected component.
|
||||||
for component in 0..<componentCount {
|
for component in 0..<componentCount {
|
||||||
let pickerIndex = pickerView?.selectedRow(inComponent: component)
|
let pickerIndex = pickerView.selectedRow(inComponent: component)
|
||||||
dropdownModel?.selectedIndexes[component] = pickerIndex
|
dropdownModel?.selectedIndexes[component] = pickerIndex
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -103,12 +103,10 @@ open class MultiItemDropdownEntryField: BaseItemPickerEntryField {
|
|||||||
|
|
||||||
guard let model = model as? MultiItemDropdownEntryFieldModel else { return }
|
guard let model = model as? MultiItemDropdownEntryFieldModel else { return }
|
||||||
|
|
||||||
if let pickerView = pickerView {
|
// Select initial rows if selectedIndexes retains value.
|
||||||
// Select initial rows if selectedIndexes retains value.
|
for (component, row) in model.selectedIndexes {
|
||||||
for (component, row) in model.selectedIndexes {
|
self.pickerView.selectRow(row, inComponent: component, animated: false)
|
||||||
self.pickerView?.selectRow(row, inComponent: component, animated: false)
|
self.pickerView(pickerView, didSelectRow: row, inComponent: component)
|
||||||
self.pickerView(pickerView, didSelectRow: row, inComponent: component)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user