From ec42be0fc0a70ed217bb8c5074a16cf1d7fa5aee Mon Sep 17 00:00:00 2001 From: vasavk Date: Tue, 2 Apr 2024 10:43:02 +0530 Subject: [PATCH 01/12] Digital ACT-191 ONEAPP-7135 story: added new controller --- VDSSample.xcodeproj/project.pbxproj | 4 ++++ .../DropdownSelectViewController.swift | 14 ++++++++++++++ VDSSample/ViewControllers/MenuViewController.swift | 1 + 3 files changed, 19 insertions(+) create mode 100644 VDSSample/ViewControllers/DropdownSelectViewController.swift diff --git a/VDSSample.xcodeproj/project.pbxproj b/VDSSample.xcodeproj/project.pbxproj index 8ff9437..c53ba00 100644 --- a/VDSSample.xcodeproj/project.pbxproj +++ b/VDSSample.xcodeproj/project.pbxproj @@ -34,6 +34,7 @@ /* Begin PBXBuildFile section */ 1808BEBE2BA4479500129230 /* CarouselScrollbarViewConttroller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1808BEBD2BA4479500129230 /* CarouselScrollbarViewConttroller.swift */; }; 1832AC5B2BA1347B008AE476 /* BreadcrumbsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1832AC5A2BA1347B008AE476 /* BreadcrumbsViewController.swift */; }; + 186D13CD2BBA990800986B53 /* DropdownSelectViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 186D13CC2BBA990800986B53 /* DropdownSelectViewController.swift */; }; 445BA07A29C088470036A7C5 /* NotificationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 445BA07929C088470036A7C5 /* NotificationViewController.swift */; }; 44604AD929CE1CF900E62B51 /* LineViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44604AD829CE1CF900E62B51 /* LineViewController.swift */; }; 5FC35BE928D5235A004EBEAC /* ButtonViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FC35BE828D5235A004EBEAC /* ButtonViewController.swift */; }; @@ -132,6 +133,7 @@ /* Begin PBXFileReference section */ 1808BEBD2BA4479500129230 /* CarouselScrollbarViewConttroller.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CarouselScrollbarViewConttroller.swift; sourceTree = ""; }; 1832AC5A2BA1347B008AE476 /* BreadcrumbsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BreadcrumbsViewController.swift; sourceTree = ""; }; + 186D13CC2BBA990800986B53 /* DropdownSelectViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DropdownSelectViewController.swift; sourceTree = ""; }; 445BA07929C088470036A7C5 /* NotificationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationViewController.swift; sourceTree = ""; }; 44604AD829CE1CF900E62B51 /* LineViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LineViewController.swift; sourceTree = ""; }; 5FC35BE828D5235A004EBEAC /* ButtonViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonViewController.swift; sourceTree = ""; }; @@ -328,6 +330,7 @@ EA89204D28B67332006B9984 /* CheckBoxGroupViewController.swift */, EAF7F09B2899B92400B287F5 /* CheckboxItemViewController.swift */, EA0D1C2E2A66CFE900E5C127 /* CheckboxViewController.swift */, + 186D13CC2BBA990800986B53 /* DropdownSelectViewController.swift */, EA985C00296CC21C00F2FF2E /* IconViewController.swift */, EAA5EEAC28EB6924003B3210 /* InputFieldViewController.swift */, EAB1D2D328AC409F00DAE764 /* LabelViewController.swift */, @@ -504,6 +507,7 @@ 44604AD929CE1CF900E62B51 /* LineViewController.swift in Sources */, 1808BEBE2BA4479500129230 /* CarouselScrollbarViewConttroller.swift in Sources */, EA3C3BB528996775000CA526 /* StoryboardInitable.swift in Sources */, + 186D13CD2BBA990800986B53 /* DropdownSelectViewController.swift in Sources */, EA89201928B56DF5006B9984 /* RadioBoxGroupViewController.swift in Sources */, EA3C3BB628996775000CA526 /* MenuViewController.swift in Sources */, EA3C3B9D289966EF000CA526 /* AppDelegate.swift in Sources */, diff --git a/VDSSample/ViewControllers/DropdownSelectViewController.swift b/VDSSample/ViewControllers/DropdownSelectViewController.swift new file mode 100644 index 0000000..51bbb2b --- /dev/null +++ b/VDSSample/ViewControllers/DropdownSelectViewController.swift @@ -0,0 +1,14 @@ +// +// DropdownSelectViewController.swift +// VDSSample +// +// Created by Kanamarlapudi, Vasavi on 28/03/24. +// + +import Foundation +import VDS + +class DropdownSelectViewController: BaseViewController { + + +} diff --git a/VDSSample/ViewControllers/MenuViewController.swift b/VDSSample/ViewControllers/MenuViewController.swift index 131b767..e4e4cb9 100644 --- a/VDSSample/ViewControllers/MenuViewController.swift +++ b/VDSSample/ViewControllers/MenuViewController.swift @@ -78,6 +78,7 @@ class MenuViewController: UITableViewController, TooltipLaunchable { MenuComponent(title: "Checkbox", completed: true, viewController: CheckboxViewController.self), MenuComponent(title: "CheckboxItem", completed: true, viewController: CheckboxItemViewController.self), MenuComponent(title: "CheckboxGroup", completed: true, viewController: CheckboxGroupViewController.self), + MenuComponent(title: "DropdownSelect", completed: false, viewController: DropdownSelectViewController.self), MenuComponent(title: "Icon", completed: true, viewController: IconViewController.self), MenuComponent(title: "InputField", completed: false, viewController: InputFieldViewController.self), MenuComponent(title: "Label", completed: true, viewController: LabelViewController.self), From 250a1b4e5f869e750b8e8ab7bccbd20f1e57940a Mon Sep 17 00:00:00 2001 From: vasavk Date: Tue, 2 Apr 2024 14:48:14 +0530 Subject: [PATCH 02/12] Digital ACT-191 ONEAPP-7135 story: added DropdownSelect component --- .../DropdownSelectViewController.swift | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) diff --git a/VDSSample/ViewControllers/DropdownSelectViewController.swift b/VDSSample/ViewControllers/DropdownSelectViewController.swift index 51bbb2b..8afdc2b 100644 --- a/VDSSample/ViewControllers/DropdownSelectViewController.swift +++ b/VDSSample/ViewControllers/DropdownSelectViewController.swift @@ -10,5 +10,128 @@ import VDS class DropdownSelectViewController: BaseViewController { + var disabledSwitch = Toggle() + var requiredSwitch = Toggle() + var labelTextField = TextField() + var errorTextField = TextField() + var helperTextField = TextField() + var inlineLabelSwitch = Toggle() + var errorSwitch = Toggle() + var tooltipTitleTextField = TextField() + var tooltipContentTextField = TextField() + var optionsField = TextField() + + override func viewDidLoad() { + super.viewDidLoad() + addContentTopView(view: component) + setupModel() + setupPicker() + } + + override func setupForm(){ + addFormRow(label: "Surface", view: surfacePickerSelectorView) + addFormRow(label: "Disabled", view: disabledSwitch) + addFormRow(label: "Required", view: requiredSwitch) + addFormRow(label: "Label Text", view: labelTextField) + addFormRow(label: "Helper Text", view: helperTextField) + addFormRow(label: "Inline Label", view: .makeWrapper(for: inlineLabelSwitch)) + addFormRow(label: "Error", view: .makeWrapper(for: errorSwitch)) + addFormRow(label: "Error Text", view: errorTextField) + addFormRow(label: "ToolTip Title", view: tooltipTitleTextField) + addFormRow(label: "ToolTip Content", view: tooltipContentTextField) + addFormRow(label: "Options", view: optionsField) + + disabledSwitch.onChange = { [weak self] sender in + self?.component.isEnabled = !sender.isOn + } + + requiredSwitch.onChange = { [weak self] sender in + self?.component.required = sender.isOn + } + + errorSwitch + .publisher(for: .valueChanged) + .sink { [weak self] sender in + guard let self else { return } + component.showError = sender.isOn + if component.showError != sender.isOn { + self.errorSwitch.isOn = self.component.showError + } + }.store(in: &subscribers) + + labelTextField + .textPublisher + .sink { [weak self] text in + self?.component.label = text + }.store(in: &subscribers) + + helperTextField + .textPublisher + .sink { [weak self] text in + self?.component.helperText = text + }.store(in: &subscribers) + + errorTextField + .textPublisher + .sink { [weak self] text in + self?.component.errorText = text + }.store(in: &subscribers) + + tooltipTitleTextField + .textPublisher + .sink { [weak self] text in + self?.component.tooltipTitle = text + }.store(in: &subscribers) + + tooltipContentTextField + .textPublisher + .sink { [weak self] text in + self?.component.tooltipContent = text + }.store(in: &subscribers) + + inlineLabelSwitch + .publisher(for: .valueChanged) + .sink { [weak self] sender in + guard let self else { return } + self.component.inlineLabel = sender.isOn + }.store(in: &subscribers) + + optionsField + .textPublisher + .sink { [weak self] options in + self?.component.options = options.components(separatedBy: ",") + }.store(in: &subscribers) + + } + + func setupModel() { + + component.label = "Street Address" + component.helperText = "For example: 123 Verizon St" + component.errorText = "Enter a valid address." + component.tooltipTitle = "Check the formatting of your address" + component.tooltipContent = "House/Building Number then street name" + component.options = ["One", "Two", "Three"] + + //setup UI + disabledSwitch.isOn = !component.isEnabled + requiredSwitch.isOn = component.required + surfacePickerSelectorView.text = component.surface.rawValue + labelTextField.text = component.label + helperTextField.text = component.helperText + errorSwitch.isOn = component.showError + errorTextField.text = component.errorText + tooltipTitleTextField.text = component.tooltipTitle + tooltipContentTextField.text = component.tooltipContent + optionsField.text = "One,Two,Three" + } + + //Picker + func setupPicker(){ + surfacePickerSelectorView.onPickerDidSelect = { [weak self] item in + self?.component.surface = item + self?.contentTopView.backgroundColor = item.color + } + } } From 873d4d33679b82018820f7232534cc09e4dffe88 Mon Sep 17 00:00:00 2001 From: vasavk Date: Tue, 2 Apr 2024 18:21:05 +0530 Subject: [PATCH 03/12] Digital ACT-191 ONEAPP-7135 story: changes for tooltip model --- .../DropdownSelectViewController.swift | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/VDSSample/ViewControllers/DropdownSelectViewController.swift b/VDSSample/ViewControllers/DropdownSelectViewController.swift index 8afdc2b..a7b5875 100644 --- a/VDSSample/ViewControllers/DropdownSelectViewController.swift +++ b/VDSSample/ViewControllers/DropdownSelectViewController.swift @@ -27,7 +27,7 @@ class DropdownSelectViewController: BaseViewController { setupModel() setupPicker() } - + override func setupForm(){ addFormRow(label: "Surface", view: surfacePickerSelectorView) addFormRow(label: "Disabled", view: disabledSwitch) @@ -80,13 +80,13 @@ class DropdownSelectViewController: BaseViewController { tooltipTitleTextField .textPublisher .sink { [weak self] text in - self?.component.tooltipTitle = text + self?.updateTooltip() }.store(in: &subscribers) tooltipContentTextField .textPublisher .sink { [weak self] text in - self?.component.tooltipContent = text + self?.updateTooltip() }.store(in: &subscribers) inlineLabelSwitch @@ -105,12 +105,10 @@ class DropdownSelectViewController: BaseViewController { } func setupModel() { - component.label = "Street Address" component.helperText = "For example: 123 Verizon St" component.errorText = "Enter a valid address." - component.tooltipTitle = "Check the formatting of your address" - component.tooltipContent = "House/Building Number then street name" + component.tooltipModel = .init(title: "Check the formatting of your address", content:"House/Building number then street name") component.options = ["One", "Two", "Three"] //setup UI @@ -121,17 +119,20 @@ class DropdownSelectViewController: BaseViewController { helperTextField.text = component.helperText errorSwitch.isOn = component.showError errorTextField.text = component.errorText - tooltipTitleTextField.text = component.tooltipTitle - tooltipContentTextField.text = component.tooltipContent + tooltipTitleTextField.text = component.tooltipModel?.title + tooltipContentTextField.text = component.tooltipModel?.content optionsField.text = "One,Two,Three" } - //Picker - func setupPicker(){ + func setupPicker() { surfacePickerSelectorView.onPickerDidSelect = { [weak self] item in self?.component.surface = item self?.contentTopView.backgroundColor = item.color } } + func updateTooltip() { + component.tooltipModel = .init(title: tooltipTitleTextField.text, + content: tooltipContentTextField.text) + } } From 23bf242cfee2aeba6287a98b21a91ddbce9b2a1e Mon Sep 17 00:00:00 2001 From: vasavk Date: Thu, 4 Apr 2024 11:35:23 +0530 Subject: [PATCH 04/12] Digital ACT-191 ONEAPP-7135 story: pass dropdown options in a structure --- .../DropdownSelectViewController.swift | 52 ++++++++++++++----- 1 file changed, 40 insertions(+), 12 deletions(-) diff --git a/VDSSample/ViewControllers/DropdownSelectViewController.swift b/VDSSample/ViewControllers/DropdownSelectViewController.swift index a7b5875..3b92fe0 100644 --- a/VDSSample/ViewControllers/DropdownSelectViewController.swift +++ b/VDSSample/ViewControllers/DropdownSelectViewController.swift @@ -19,7 +19,32 @@ class DropdownSelectViewController: BaseViewController { var errorSwitch = Toggle() var tooltipTitleTextField = TextField() var tooltipContentTextField = TextField() - var optionsField = TextField() + var optionsSwitch = Toggle() + var moreOptions: [DropdownSelect.DropdownOptionModel] = [ + .init(text: "Alabama"), + .init(text: "Alaska"), + .init(text: "Arizona"), + .init(text: "Arkansas"), + .init(text: "California"), + .init(text: "Colorado"), + .init(text: "Connecticut"), + .init(text: "Delaware"), + .init(text: "District of Columbia"), + .init(text: "Florida"), + .init(text: "Georgia"), + .init(text: "Hawaii"), + .init(text: "Idaho"), + .init(text: "Illinois"), + .init(text: "Indiana"), + .init(text: "Iowa") + ] + + var some: [DropdownSelect.DropdownOptionModel] = [ + .init(text: "Alabama"), + .init(text: "Alaska"), + .init(text: "Arizona"), + .init(text: "Arkansas") + ] override func viewDidLoad() { super.viewDidLoad() @@ -39,8 +64,8 @@ class DropdownSelectViewController: BaseViewController { addFormRow(label: "Error Text", view: errorTextField) addFormRow(label: "ToolTip Title", view: tooltipTitleTextField) addFormRow(label: "ToolTip Content", view: tooltipContentTextField) - addFormRow(label: "Options", view: optionsField) - + addFormRow(label: "More Options", view: optionsSwitch) + disabledSwitch.onChange = { [weak self] sender in self?.component.isEnabled = !sender.isOn } @@ -48,6 +73,11 @@ class DropdownSelectViewController: BaseViewController { requiredSwitch.onChange = { [weak self] sender in self?.component.required = sender.isOn } + + optionsSwitch.onChange = { [weak self] sender in + guard let self else { return } + self.component.options = sender.isOn ? self.moreOptions : self.some + } errorSwitch .publisher(for: .valueChanged) @@ -95,13 +125,6 @@ class DropdownSelectViewController: BaseViewController { guard let self else { return } self.component.inlineLabel = sender.isOn }.store(in: &subscribers) - - optionsField - .textPublisher - .sink { [weak self] options in - self?.component.options = options.components(separatedBy: ",") - }.store(in: &subscribers) - } func setupModel() { @@ -109,7 +132,12 @@ class DropdownSelectViewController: BaseViewController { component.helperText = "For example: 123 Verizon St" 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 = ["One", "Two", "Three"] + component.options = moreOptions + + /// callback to know which option chose + component.onDropdownItemSelect = { option in + print("selected option text: \(option.text)") + } //setup UI disabledSwitch.isOn = !component.isEnabled @@ -121,7 +149,7 @@ class DropdownSelectViewController: BaseViewController { errorTextField.text = component.errorText tooltipTitleTextField.text = component.tooltipModel?.title tooltipContentTextField.text = component.tooltipModel?.content - optionsField.text = "One,Two,Three" + optionsSwitch.isOn = true } func setupPicker() { From debc4a60a5a259e49b1860a6fd89ad4a05c18295 Mon Sep 17 00:00:00 2001 From: vasavk Date: Thu, 4 Apr 2024 11:42:24 +0530 Subject: [PATCH 05/12] Digital ACT-191 ONEAPP-7135 story: updated test setup with new row for readonly --- .../ViewControllers/DropdownSelectViewController.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/VDSSample/ViewControllers/DropdownSelectViewController.swift b/VDSSample/ViewControllers/DropdownSelectViewController.swift index 3b92fe0..7ca9190 100644 --- a/VDSSample/ViewControllers/DropdownSelectViewController.swift +++ b/VDSSample/ViewControllers/DropdownSelectViewController.swift @@ -16,6 +16,7 @@ class DropdownSelectViewController: BaseViewController { var errorTextField = TextField() var helperTextField = TextField() var inlineLabelSwitch = Toggle() + var readonlySwitch = Toggle() var errorSwitch = Toggle() var tooltipTitleTextField = TextField() var tooltipContentTextField = TextField() @@ -60,6 +61,7 @@ class DropdownSelectViewController: BaseViewController { addFormRow(label: "Label Text", view: labelTextField) addFormRow(label: "Helper Text", view: helperTextField) addFormRow(label: "Inline Label", view: .makeWrapper(for: inlineLabelSwitch)) + addFormRow(label: "Readonly", view: readonlySwitch) addFormRow(label: "Error", view: .makeWrapper(for: errorSwitch)) addFormRow(label: "Error Text", view: errorTextField) addFormRow(label: "ToolTip Title", view: tooltipTitleTextField) @@ -79,6 +81,10 @@ class DropdownSelectViewController: BaseViewController { self.component.options = sender.isOn ? self.moreOptions : self.some } + readonlySwitch.onChange = { [weak self] sender in + self?.component.readOnly = sender.isOn + } + errorSwitch .publisher(for: .valueChanged) .sink { [weak self] sender in @@ -145,6 +151,7 @@ class DropdownSelectViewController: BaseViewController { surfacePickerSelectorView.text = component.surface.rawValue labelTextField.text = component.label helperTextField.text = component.helperText + readonlySwitch.isOn = false errorSwitch.isOn = component.showError errorTextField.text = component.errorText tooltipTitleTextField.text = component.tooltipModel?.title From 35eff4c347ec33b7e59bebf595756161e5e707d8 Mon Sep 17 00:00:00 2001 From: vasavk Date: Thu, 4 Apr 2024 14:20:17 +0530 Subject: [PATCH 06/12] Digital ACT-191 ONEAPP-7135 story: new row for transparent background --- .../ViewControllers/DropdownSelectViewController.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/VDSSample/ViewControllers/DropdownSelectViewController.swift b/VDSSample/ViewControllers/DropdownSelectViewController.swift index 7ca9190..3e581a8 100644 --- a/VDSSample/ViewControllers/DropdownSelectViewController.swift +++ b/VDSSample/ViewControllers/DropdownSelectViewController.swift @@ -17,6 +17,7 @@ class DropdownSelectViewController: BaseViewController { var helperTextField = TextField() var inlineLabelSwitch = Toggle() var readonlySwitch = Toggle() + var transparentBgSwitch = Toggle() var errorSwitch = Toggle() var tooltipTitleTextField = TextField() var tooltipContentTextField = TextField() @@ -62,6 +63,7 @@ class DropdownSelectViewController: BaseViewController { addFormRow(label: "Helper Text", view: helperTextField) addFormRow(label: "Inline Label", view: .makeWrapper(for: inlineLabelSwitch)) addFormRow(label: "Readonly", view: readonlySwitch) + addFormRow(label: "Transparent Background", view: transparentBgSwitch) addFormRow(label: "Error", view: .makeWrapper(for: errorSwitch)) addFormRow(label: "Error Text", view: errorTextField) addFormRow(label: "ToolTip Title", view: tooltipTitleTextField) @@ -85,6 +87,10 @@ class DropdownSelectViewController: BaseViewController { self?.component.readOnly = sender.isOn } + transparentBgSwitch.onChange = { [weak self] sender in + self?.component.transparentBackground = sender.isOn + } + errorSwitch .publisher(for: .valueChanged) .sink { [weak self] sender in @@ -152,6 +158,7 @@ class DropdownSelectViewController: BaseViewController { labelTextField.text = component.label helperTextField.text = component.helperText readonlySwitch.isOn = false + transparentBgSwitch.isOn = false errorSwitch.isOn = component.showError errorTextField.text = component.errorText tooltipTitleTextField.text = component.tooltipModel?.title From be1c49ab8a3840a1f94f7e06565f93fb21c0097a Mon Sep 17 00:00:00 2001 From: vasavk Date: Fri, 5 Apr 2024 21:10:17 +0530 Subject: [PATCH 07/12] Digital ACT-191 ONEAPP-7135 story: changes to use error instead showerror --- .../ViewControllers/DropdownSelectViewController.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/VDSSample/ViewControllers/DropdownSelectViewController.swift b/VDSSample/ViewControllers/DropdownSelectViewController.swift index 3e581a8..c5011af 100644 --- a/VDSSample/ViewControllers/DropdownSelectViewController.swift +++ b/VDSSample/ViewControllers/DropdownSelectViewController.swift @@ -95,9 +95,9 @@ class DropdownSelectViewController: BaseViewController { .publisher(for: .valueChanged) .sink { [weak self] sender in guard let self else { return } - component.showError = sender.isOn - if component.showError != sender.isOn { - self.errorSwitch.isOn = self.component.showError + component.error = sender.isOn + if component.error != sender.isOn { + self.errorSwitch.isOn = self.component.error } }.store(in: &subscribers) @@ -159,7 +159,7 @@ class DropdownSelectViewController: BaseViewController { helperTextField.text = component.helperText readonlySwitch.isOn = false transparentBgSwitch.isOn = false - errorSwitch.isOn = component.showError + errorSwitch.isOn = component.error errorTextField.text = component.errorText tooltipTitleTextField.text = component.tooltipModel?.title tooltipContentTextField.text = component.tooltipModel?.content From a285fe853bde75a12f8757add09ae924c376408f Mon Sep 17 00:00:00 2001 From: vasavk Date: Fri, 5 Apr 2024 21:38:41 +0530 Subject: [PATCH 08/12] Digital ACT-191 ONEAPP-7135 story: pass selectedID for test setup --- VDSSample/ViewControllers/DropdownSelectViewController.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/VDSSample/ViewControllers/DropdownSelectViewController.swift b/VDSSample/ViewControllers/DropdownSelectViewController.swift index c5011af..87c96aa 100644 --- a/VDSSample/ViewControllers/DropdownSelectViewController.swift +++ b/VDSSample/ViewControllers/DropdownSelectViewController.swift @@ -145,6 +145,7 @@ 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 From 1c0213f9405b5837cacf760d2e2bba72c40d4154 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Mon, 8 Apr 2024 10:51:16 -0500 Subject: [PATCH 09/12] match for not showing tooltip Signed-off-by: Matt Bruce --- VDSSample/ViewControllers/InputFieldViewController.swift | 7 +++++-- VDSSample/ViewControllers/TextAreaViewController.swift | 8 ++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/VDSSample/ViewControllers/InputFieldViewController.swift b/VDSSample/ViewControllers/InputFieldViewController.swift index f82e09b..546b499 100644 --- a/VDSSample/ViewControllers/InputFieldViewController.swift +++ b/VDSSample/ViewControllers/InputFieldViewController.swift @@ -166,8 +166,11 @@ class InputFieldViewController: BaseViewController { } func updateTooltip() { - component.tooltipModel = .init(title: tooltipTitleTextField.text, - content: tooltipContentTextField.text) + let title = tooltipTitleTextField.text ?? "" + let content = tooltipContentTextField.text ?? "" + + component.tooltipModel = !title.isEmpty || !content.isEmpty ? .init(title: title, + content: content) : nil } } diff --git a/VDSSample/ViewControllers/TextAreaViewController.swift b/VDSSample/ViewControllers/TextAreaViewController.swift index a08f12e..6420088 100644 --- a/VDSSample/ViewControllers/TextAreaViewController.swift +++ b/VDSSample/ViewControllers/TextAreaViewController.swift @@ -166,8 +166,12 @@ class TextAreaViewController: BaseViewController