From 4f568ecbc8e90f0d08316fe9adeee731e1dd9095 Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Tue, 16 Feb 2021 10:38:43 -0500 Subject: [PATCH] change --- .../Item Dropdown/BaseItemPickerEntryField.swift | 9 +++------ .../Item Dropdown/ItemDropdownEntryField.swift | 11 +++++------ .../Item Dropdown/MultiItemDropdownEntryField.swift | 12 +++++------- 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/BaseItemPickerEntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/BaseItemPickerEntryField.swift index 320c8684..00b5a072 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/BaseItemPickerEntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/BaseItemPickerEntryField.swift @@ -16,7 +16,7 @@ open class BaseItemPickerEntryField: BaseDropdownEntryField, UIPickerViewDelegat // MARK: - Outlets //-------------------------------------------------- - open var pickerView: UIPickerView? + open lazy var pickerView = UIPickerView.addPicker(to: textField, delegate: self, dismissAction: #selector(dismissFieldInput)) //-------------------------------------------------- // MARK: - Properties @@ -38,7 +38,6 @@ open class BaseItemPickerEntryField: BaseDropdownEntryField, UIPickerViewDelegat @objc open override func setupFieldContainerContent(_ container: UIView) { super.setupFieldContainerContent(container) - pickerView = UIPickerView.addPicker(to: textField, delegate: self, dismissAction: #selector(dismissFieldInput)) textField.hideBlinkingCaret = true textField.autocorrectionType = .no uiTextFieldDelegate = self @@ -46,8 +45,8 @@ open class BaseItemPickerEntryField: BaseDropdownEntryField, UIPickerViewDelegat @objc public func setPickerDelegates(delegate: UIPickerViewDelegate & UIPickerViewDataSource) { - pickerView?.delegate = delegate - pickerView?.dataSource = delegate + pickerView.delegate = 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]?) { super.set(with: model, delegateObject, additionalData) - guard let model = model as? BaseItemPickerEntryFieldModel else { return } - setPickerDelegates(delegate: self) } diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/ItemDropdownEntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/ItemDropdownEntryField.swift index 0782f8f3..b3aeb172 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/ItemDropdownEntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/ItemDropdownEntryField.swift @@ -54,7 +54,8 @@ open class ItemDropdownEntryField: BaseItemPickerEntryField { 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]) text = pickerData[pickerIndex] itemDropdownEntryFieldModel?.selectedIndex = pickerIndex @@ -72,9 +73,7 @@ open class ItemDropdownEntryField: BaseItemPickerEntryField { guard !pickerData.isEmpty else { return } - if let pickerIndex = pickerView?.selectedRow(inComponent: 0) { - observeDropdownSelection?(pickerData[pickerIndex]) - } + observeDropdownSelection?(pickerData[pickerView.selectedRow(inComponent: 0)]) } public override func set(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) { @@ -84,8 +83,8 @@ open class ItemDropdownEntryField: BaseItemPickerEntryField { pickerData = model.options - if let pickerView = pickerView, let index = model.selectedIndex { - self.pickerView?.selectRow(index, inComponent: 0, animated: false) + if let index = model.selectedIndex { + self.pickerView.selectRow(index, inComponent: 0, animated: false) self.pickerView(pickerView, didSelectRow: index, inComponent: 0) } } diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/MultiItemDropdownEntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/MultiItemDropdownEntryField.swift index 7a493075..2c509bb3 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/MultiItemDropdownEntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/MultiItemDropdownEntryField.swift @@ -66,7 +66,7 @@ open class MultiItemDropdownEntryField: BaseItemPickerEntryField { // Set row index value of selected component. for component in 0..