From 613288d86d2ee3023d8dda362196a8fd01e6499d Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Tue, 14 May 2024 16:36:16 -0500 Subject: [PATCH] updated samples Signed-off-by: Matt Bruce --- .../CalendarViewController.swift | 34 +++++++++---------- .../DatePickerViewController.swift | 6 ++-- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/VDSSample/ViewControllers/CalendarViewController.swift b/VDSSample/ViewControllers/CalendarViewController.swift index 6b7b107..9d6ca4a 100644 --- a/VDSSample/ViewControllers/CalendarViewController.swift +++ b/VDSSample/ViewControllers/CalendarViewController.swift @@ -12,7 +12,7 @@ import Combine import VDSTokens class CalendarViewController: BaseViewController { - + let label = Label() var containerBorderSwitch = Toggle() var hideCurrentDateIndicatorSwitch = Toggle() var transparentBgSwitch = Toggle() @@ -32,8 +32,8 @@ class CalendarViewController: BaseViewController { private var indicatorOnePicker: UIDatePicker = UIDatePicker() private var indicatorTwoPicker: UIDatePicker = UIDatePicker() private var indicatorThreePicker: UIDatePicker = UIDatePicker() - private var activeDatePicker: UIDatePicker = UIDatePicker() - private var inactiveDatePicker: UIDatePicker = UIDatePicker() + private var activeDatePicker: UIDatePicker = UIDatePicker().with { $0.datePickerMode = .date } + private var inactiveDatePicker: UIDatePicker = UIDatePicker().with { $0.datePickerMode = .date } var indicators: [CalendarBase.CalendarIndicatorModel] = [] let indicatorOnePickerTag = 1 @@ -47,6 +47,13 @@ class CalendarViewController: BaseViewController { override func viewDidLoad() { super.viewDidLoad() addContentTopView(view: component) + component.minDate = Date().startOfMonth + component.maxDate = Date().endOfMonth + component.onChange = { [weak self] control in + self?.label.text = DateFormatter.localizedString(from: control.selectedDate, dateStyle: .short, timeStyle: .none) + } + minDatePicker.date = component.minDate + maxDatePicker.date = component.maxDate setupPicker() setupModel() } @@ -74,6 +81,7 @@ class CalendarViewController: BaseViewController { ] //add form rows + addFormRow(label: "onChange", view: label) addFormRow(label: "Surface", view: surfacePickerSelectorView) addFormRow(label: "Hide Container Border", view: containerBorderSwitch) addFormRow(label: "Hide Current Date Indicator", view: hideCurrentDateIndicatorSwitch) @@ -196,6 +204,8 @@ class CalendarViewController: BaseViewController { } func setupModel() { + let calendar = Calendar.current + let indicatorDate = calendar.startOfDay(for: calendar.date(byAdding: .day, value: 1, to: Date())!) component.indicators = indicators legendOneField.text = "Due Date" legendTwoField.text = "Auto Pay" @@ -204,9 +214,9 @@ class CalendarViewController: BaseViewController { indicatorTwoSwitch.isOn = true indicatorThreeSwitch.isOn = true hideCurrentDateIndicatorSwitch.isOn = false - indicatorOnePicker.date = Calendar.current.date(byAdding: .day, value: 1, to: Date())! - indicatorTwoPicker.date = Calendar.current.date(byAdding: .day, value: 1, to: Date())! - indicatorThreePicker.date = Calendar.current.date(byAdding: .day, value: 1, to: Date())! + indicatorOnePicker.date = indicatorDate + indicatorTwoPicker.date = indicatorDate + indicatorThreePicker.date = indicatorDate updateIndicatorData(label: legendOneField.text ?? "", date: indicatorOnePicker.date, index: 0) updateIndicatorData(label: legendTwoField.text ?? "", date: indicatorTwoPicker.date, index: 1) updateIndicatorData(label: legendThreeField.text ?? "", date: indicatorThreePicker.date, index: 2) @@ -248,17 +258,7 @@ class CalendarViewController: BaseViewController { } @objc func datePickerValueChanged(_ sender: UIDatePicker){ - - // Create date formatter - let dateFormatter: DateFormatter = DateFormatter() - - // Set date format - dateFormatter.dateFormat = "MM/dd/yyyy hh:mm a" - - // Apply date format - // let selectedDate: String = dateFormatter.string(from: sender.date) - // print("Selected value \(selectedDate)") - + switch sender.tag { case indicatorOnePickerTag: updateIndicatorData(label: legendOneField.text ?? "", date: sender.date, index: 0) diff --git a/VDSSample/ViewControllers/DatePickerViewController.swift b/VDSSample/ViewControllers/DatePickerViewController.swift index 654f2f3..7590e02 100644 --- a/VDSSample/ViewControllers/DatePickerViewController.swift +++ b/VDSSample/ViewControllers/DatePickerViewController.swift @@ -10,6 +10,7 @@ import VDS class DatePickerViewController: BaseViewController { + var label = Label() var disabledSwitch = Toggle() var requiredSwitch = Toggle() var labelTextField = TextField() @@ -35,6 +36,7 @@ class DatePickerViewController: BaseViewController { } override func setupForm(){ + addFormRow(label: "onChange", view: label) addFormRow(label: "Surface", view: surfacePickerSelectorView) addFormRow(label: "Disabled", view: disabledSwitch) addFormRow(label: "Required", view: requiredSwitch) @@ -113,8 +115,8 @@ class DatePickerViewController: BaseViewController { component.errorText = "Enter a date." component.tooltipModel = .init(title: "Check your date.", content:"Here is the content for your date component") - component.onChange = { c in - print("selected value: \(c.value ?? "no date selected")") + component.onChange = { [weak self] control in + self?.label.text = DateFormatter.localizedString(from: control.selectedDate!, dateStyle: .short, timeStyle: .none) } //setup UI