From 3732f98d7c99b270abf4af4f0cb4b562a9955410 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Thu, 1 Aug 2024 10:53:14 -0500 Subject: [PATCH] added override property to deal with oldvalue/newValue for the selected Item. Signed-off-by: Matt Bruce --- .../Item Dropdown/ItemDropdownEntryField.swift | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) 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]) } }