From 65586a7568bff8ddedef6098f893fd98e8a4a8b6 Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Mon, 2 Dec 2019 11:05:08 -0500 Subject: [PATCH] Adding another location to execute external code. --- MVMCoreUI/Atoms/TextFields/ItemDropdownEntryField.swift | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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]) } }