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 0986a092..819a7b19 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 @@ -29,7 +29,20 @@ open class ItemDropdownEntryField: VDS.DropdownSelect, VDSMoleculeViewProtocol, } private var isEditting: Bool = false - + + //override for to deal with getting the + //old selectedItem to pass down to the observeDropdownChange + open override var selectId: Int? { + didSet { + guard let observeDropdownChange, let selectedItem else { return } + var oldSelectedItem: DropdownOptionModel? + if let oldValue { + oldSelectedItem = options[oldValue] + } + observeDropdownChange(oldSelectedItem?.text, selectedItem.text) + } + } + //-------------------------------------------------- // MARK: - Properties //-------------------------------------------------- @@ -184,7 +197,7 @@ open class ItemDropdownEntryField: VDS.DropdownSelect, VDSMoleculeViewProtocol, } } - + public func updateView(_ size: CGFloat) { } /// Sets the textField with the first value of the available picker data. @@ -196,7 +209,6 @@ open class ItemDropdownEntryField: VDS.DropdownSelect, VDSMoleculeViewProtocol, let pickerIndex = optionsPicker.selectedRow(inComponent: 0) viewModel.selectedIndex = pickerIndex selectId = pickerIndex - observeDropdownChange?(selectedItem?.text, pickerData[pickerIndex]) } }