From c1c92f09268a79c118f369b35e268bf169540a36 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Fri, 20 Sep 2024 13:40:16 -0500 Subject: [PATCH 1/5] fixed sample for width updates Signed-off-by: Matt Bruce --- .../DatePickerViewController.swift | 10 ++++++++++ .../DropdownSelectViewController.swift | 1 + .../FootnoteGroupViewController.swift | 12 +++++++++++- .../FootnoteItemViewController.swift | 12 +++++++++++- .../InputFieldViewController.swift | 13 ++++--------- .../InputStepperViewController.swift | 10 ++++++++++ .../TextAreaViewController.swift | 18 +++++------------- 7 files changed, 52 insertions(+), 24 deletions(-) diff --git a/VDSSample/ViewControllers/DatePickerViewController.swift b/VDSSample/ViewControllers/DatePickerViewController.swift index 66f3591..ded68a1 100644 --- a/VDSSample/ViewControllers/DatePickerViewController.swift +++ b/VDSSample/ViewControllers/DatePickerViewController.swift @@ -171,6 +171,7 @@ class DatePickerViewController: BaseViewController { widthTextField .numberPublisher .sink { [weak self] number in + self?.updateComponentConstraint(pinTrailing: number == nil) self?.component.width = number?.cgFloatValue }.store(in: &subscribers) @@ -479,3 +480,12 @@ extension DatePickerViewController { } } + +extension DatePickerViewController: ComponentSampleable { + static func makeSample() -> ComponentSample { + let c = Self() + c.setupModel() + c.setupCalendar() + return ComponentSample(component: c.component) + } +} diff --git a/VDSSample/ViewControllers/DropdownSelectViewController.swift b/VDSSample/ViewControllers/DropdownSelectViewController.swift index 1178e6b..506df08 100644 --- a/VDSSample/ViewControllers/DropdownSelectViewController.swift +++ b/VDSSample/ViewControllers/DropdownSelectViewController.swift @@ -131,6 +131,7 @@ class DropdownSelectViewController: BaseViewController { widthTextField .numberPublisher .sink { [weak self] number in + self?.updateComponentConstraint(pinTrailing: number == nil) self?.component.width = number?.cgFloatValue }.store(in: &subscribers) diff --git a/VDSSample/ViewControllers/FootnoteGroupViewController.swift b/VDSSample/ViewControllers/FootnoteGroupViewController.swift index 65a4cb9..0aab2b8 100644 --- a/VDSSample/ViewControllers/FootnoteGroupViewController.swift +++ b/VDSSample/ViewControllers/FootnoteGroupViewController.swift @@ -17,7 +17,7 @@ class FootnoteGroupViewController: BaseViewController { override func viewDidLoad() { super.viewDidLoad() - addContentTopView(view: component, pinTrailing: false) + addContentTopView(view: component) setupPicker() setupModel() } @@ -31,6 +31,7 @@ class FootnoteGroupViewController: BaseViewController { widthTextField .numberPublisher .sink { [weak self] number in + self?.updateComponentConstraint(pinTrailing: number == nil) if let number { self?.component.width = .value(number.cgFloatValue) self?.percentageTextField.text = "" @@ -42,6 +43,7 @@ class FootnoteGroupViewController: BaseViewController { percentageTextField .numberPublisher .sink { [weak self] number in + self?.updateComponentConstraint(pinTrailing: number == nil) if let number, number.intValue > 9 { self?.component.width = .percentage(number.cgFloatValue) self?.widthTextField.text = "" @@ -67,3 +69,11 @@ class FootnoteGroupViewController: BaseViewController { } } } + +extension FootnoteGroupViewController: ComponentSampleable { + static func makeSample() -> ComponentSample { + let c = Self() + c.setupModel() + return ComponentSample(component: c.component) + } +} diff --git a/VDSSample/ViewControllers/FootnoteItemViewController.swift b/VDSSample/ViewControllers/FootnoteItemViewController.swift index 66eb76b..c5db75f 100644 --- a/VDSSample/ViewControllers/FootnoteItemViewController.swift +++ b/VDSSample/ViewControllers/FootnoteItemViewController.swift @@ -61,7 +61,7 @@ class FootnoteItemViewController: BaseViewController { override func viewDidLoad() { super.viewDidLoad() - addContentTopView(view: component, pinTrailing: false) + addContentTopView(view: component) setupPicker() setupModel() } @@ -92,6 +92,7 @@ class FootnoteItemViewController: BaseViewController { widthTextField .numberPublisher .sink { [weak self] number in + self?.updateComponentConstraint(pinTrailing: number == nil) if let number { self?.component.width = .value(number.cgFloatValue) self?.percentageTextField.text = "" @@ -103,6 +104,7 @@ class FootnoteItemViewController: BaseViewController { percentageTextField .numberPublisher .sink { [weak self] number in + self?.updateComponentConstraint(pinTrailing: number == nil) if let number, number.intValue > 9 { self?.component.width = .percentage(number.cgFloatValue) self?.widthTextField.text = "" @@ -164,3 +166,11 @@ class FootnoteItemViewController: BaseViewController { } } + +extension FootnoteItemViewController: ComponentSampleable { + static func makeSample() -> ComponentSample { + let c = Self() + c.setupModel() + return ComponentSample(component: c.component) + } +} diff --git a/VDSSample/ViewControllers/InputFieldViewController.swift b/VDSSample/ViewControllers/InputFieldViewController.swift index 89af3f5..3b8c638 100644 --- a/VDSSample/ViewControllers/InputFieldViewController.swift +++ b/VDSSample/ViewControllers/InputFieldViewController.swift @@ -181,6 +181,7 @@ class InputFieldViewController: BaseViewController { widthTextField .numberPublisher .sink { [weak self] number in + self?.updateComponentConstraint(pinTrailing: number == nil) self?.component.width = number?.cgFloatValue }.store(in: &subscribers) @@ -329,14 +330,8 @@ class InputFieldViewController: BaseViewController { extension InputFieldViewController: ComponentSampleable { static func makeSample() -> ComponentSample { - let component = Self.makeComponent() - component.fieldType = .text - component.width = 328 - 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") - return ComponentSample(component: component, trailingPinningType: .lessThanOrEqual) + let c = Self() + c.setupModel() + return ComponentSample(component: c.component) } } diff --git a/VDSSample/ViewControllers/InputStepperViewController.swift b/VDSSample/ViewControllers/InputStepperViewController.swift index b751e66..a4499d0 100644 --- a/VDSSample/ViewControllers/InputStepperViewController.swift +++ b/VDSSample/ViewControllers/InputStepperViewController.swift @@ -163,6 +163,7 @@ class InputStepperViewController: BaseViewController { widthTextField .numberPublisher .sink { [weak self] number in + self?.updateComponentConstraint(pinTrailing: number == nil) if let number { self?.component.widthPercentage = nil self?.component.width = number.cgFloatValue @@ -175,6 +176,7 @@ class InputStepperViewController: BaseViewController { widthPercentageTextField .numberPublisher .sink { [weak self] number in + self?.updateComponentConstraint(pinTrailing: number == nil) if let number, number.intValue > 10 { self?.component.width = nil self?.component.widthPercentage = number.cgFloatValue @@ -253,3 +255,11 @@ class InputStepperViewController: BaseViewController { helperTextPlacementPickerSelectorView.text = component.helperTextPlacement.rawValue } } + +extension InputStepperViewController: ComponentSampleable { + static func makeSample() -> ComponentSample { + let c = Self() + c.setupModel() + return ComponentSample(component: c.component) + } +} diff --git a/VDSSample/ViewControllers/TextAreaViewController.swift b/VDSSample/ViewControllers/TextAreaViewController.swift index 4ab696d..643572e 100644 --- a/VDSSample/ViewControllers/TextAreaViewController.swift +++ b/VDSSample/ViewControllers/TextAreaViewController.swift @@ -101,11 +101,8 @@ class TextAreaViewController: BaseViewController