diff --git a/MVMCoreUI/Atoms/TextFields/ItemDropdownEntryField.swift b/MVMCoreUI/Atoms/TextFields/ItemDropdownEntryField.swift index 71a3b35b..bf083af2 100644 --- a/MVMCoreUI/Atoms/TextFields/ItemDropdownEntryField.swift +++ b/MVMCoreUI/Atoms/TextFields/ItemDropdownEntryField.swift @@ -22,8 +22,12 @@ open class ItemDropdownEntryField: BaseDropdownEntryField { /// 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)->())? + /// Closure passed here will run upon dismissing the selection picker. + public var observeDropdownSelection: ((String)->())? + //-------------------------------------------------- // MARK: - Initializer //-------------------------------------------------- @@ -85,7 +89,7 @@ open class ItemDropdownEntryField: BaseDropdownEntryField { guard !pickerData.isEmpty else { return } if let pickerIndex = pickerView?.selectedRow(inComponent: 0) { - observeDropdownChange?(pickerData[pickerIndex]) + observeDropdownSelection?(pickerData[pickerIndex]) } } } @@ -107,6 +111,7 @@ extension ItemDropdownEntryField: UIPickerViewDelegate, UIPickerViewDataSource { @objc public func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { text = pickerData[row] + observeDropdownChange?(pickerData[row]) } }