Digital ACT-191 ONEAPP-7016 story: passing updated text for indicators

This commit is contained in:
vasavk 2024-04-30 11:26:14 +05:30
parent 15f39526d3
commit 75310e1c4d

View File

@ -27,7 +27,7 @@ class CalendarViewController: BaseViewController<CalendarBase> {
private var datePickerOne: UIDatePicker = UIDatePicker()
private var datePickerTwo: UIDatePicker = UIDatePicker()
private var datePickerThree: UIDatePicker = UIDatePicker()
var indicators: [CalendarBase.CalendarIndicatorModel] = []
var indicators: [CalendarIndicatorModel] = []
override func viewDidLoad() {
super.viewDidLoad()
@ -76,21 +76,21 @@ class CalendarViewController: BaseViewController<CalendarBase> {
.textPublisher
.sink {
[weak self] text in
self?.updateIndicatorData(label: text, index: 0)
self?.updateIndicatorData(label: text, date: self?.datePickerOne.date, index: 0)
}.store(in: &subscribers)
legendTwoField
.textPublisher
.sink {
[weak self] text in
self?.updateIndicatorData(label: text, index: 1)
self?.updateIndicatorData(label: text, date: self?.datePickerTwo.date, index: 1)
}.store(in: &subscribers)
legendThreeField
.textPublisher
.sink {
[weak self] text in
self?.updateIndicatorData(label: text, index: 2)
self?.updateIndicatorData(label: text, date: self?.datePickerThree.date, index: 2)
}.store(in: &subscribers)
}
@ -102,14 +102,16 @@ class CalendarViewController: BaseViewController<CalendarBase> {
}
func setupModel() {
component.indicators = indicators
legendOneField.text = "Due Date"
legendTwoField.text = "Auto Pay"
legendThreeField.text = "Scheduled"
}
func updateIndicatorData(label: String = "", date: Date = Date(), index:Int) {
print("Indicator data here >>> ")
func updateIndicatorData(label: String = "", date: Date?, index:Int) {
indicators[index].label = label
indicators[index].date = date ?? Date()
component.indicators = indicators
}
func configurePicker(_ sender:UIDatePicker) {
@ -131,16 +133,13 @@ class CalendarViewController: BaseViewController<CalendarBase> {
// Apply date format
let selectedDate: String = dateFormatter.string(from: sender.date)
let date: Date = dateFormatter.date(from: selectedDate) ?? sender.date //TO DO: check is this required?
switch sender.tag {
case 1: updateIndicatorData(date: sender.date, index: 0)
case 2: updateIndicatorData(date: sender.date, index: 1)
case 3: updateIndicatorData(date: sender.date, index: 2)
case 1: updateIndicatorData(label: legendOneField.text ?? "", date: sender.date, index: 0)
case 2: updateIndicatorData(label: legendTwoField.text ?? "", date: sender.date, index: 1)
case 3: updateIndicatorData(label: legendThreeField.text ?? "", date: sender.date, index: 2)
default: break
}
print("Selected value \(selectedDate)")
// print("Selected value \(selectedDate)")
}
}