From a870ef5de11f5027f7d033af5055471d73fad0b5 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Tue, 9 Apr 2024 16:19:20 -0500 Subject: [PATCH] updated onChange Signed-off-by: Matt Bruce --- .../DropdownSelectViewController.swift | 10 +++++++--- .../InputFieldViewController.swift | 19 +++++++++---------- .../TextAreaViewController.swift | 19 +++++++++---------- 3 files changed, 25 insertions(+), 23 deletions(-) diff --git a/VDSSample/ViewControllers/DropdownSelectViewController.swift b/VDSSample/ViewControllers/DropdownSelectViewController.swift index a152f1f..177aa4c 100644 --- a/VDSSample/ViewControllers/DropdownSelectViewController.swift +++ b/VDSSample/ViewControllers/DropdownSelectViewController.swift @@ -145,11 +145,15 @@ class DropdownSelectViewController: BaseViewController { component.errorText = "Enter a valid address." component.tooltipModel = .init(title: "Check the formatting of your address", content:"House/Building number then street name") component.options = moreOptions - component.selectId = 0 /// callback to know which option chose - component.onDropdownItemSelect = { option in - print("selected option text: \(option.text)") + component.onItemSelected = { index, option in + print("selected index: \(index) text: \(option.text) value: \(option.value)") + } + + component.onChange = { dropdown in + guard let option = dropdown.selectedItem, let index = dropdown.selectId else { print("nothing selected"); return } + print("selected index: \(index) text: \(option.text) value: \(option.value)") } //setup UI diff --git a/VDSSample/ViewControllers/InputFieldViewController.swift b/VDSSample/ViewControllers/InputFieldViewController.swift index 546b499..4101b7e 100644 --- a/VDSSample/ViewControllers/InputFieldViewController.swift +++ b/VDSSample/ViewControllers/InputFieldViewController.swift @@ -119,22 +119,21 @@ class InputFieldViewController: BaseViewController { func setupModel() { component.fieldType = .text component.width = 328 + component.text = "Starting Text" component.labelText = "Street Address" component.helperText = "For example: 123 Verizon St" component.errorText = "Enter a valid address." component.successText = "Good job entering a valid address!" component.tooltipModel = .init(title: "Check the formatting of your address", content:"House/Building number then street name") - component - .publisher(for: .valueChanged) - .sink { component in - if let text = component.value { - print("text entry: \(text)") - } else { - print("text entry: null") - } - }.store(in: &subscribers) - + component.onChange = { component in + if let text = component.value { + print("text entry: \(text)") + } else { + print("text entry: null") + } + } + //setup UI surfacePickerSelectorView.text = component.surface.rawValue helperTextPlacementPickerSelectorView.text = component.helperTextPlacement.rawValue diff --git a/VDSSample/ViewControllers/TextAreaViewController.swift b/VDSSample/ViewControllers/TextAreaViewController.swift index 6420088..0f8bf5f 100644 --- a/VDSSample/ViewControllers/TextAreaViewController.swift +++ b/VDSSample/ViewControllers/TextAreaViewController.swift @@ -131,16 +131,15 @@ class TextAreaViewController: BaseViewController