Digital ACT-191 ONEAPP-11355 story: code refactored and updating test data when text fields edits
This commit is contained in:
parent
fd47fde62e
commit
e27b421311
@ -9,29 +9,27 @@ import Foundation
|
||||
import VDS
|
||||
|
||||
class ListUnorderedViewController: BaseViewController<ListUnordered> {
|
||||
|
||||
|
||||
lazy var sizePickerView = {
|
||||
PickerSelectorView(title: "Large",
|
||||
picker: self.picker,
|
||||
picker: self.picker,
|
||||
items: ListUnordered.Size.allCases)
|
||||
}()
|
||||
|
||||
|
||||
lazy var spacingPickerView = {
|
||||
PickerSelectorView(title:"standard",
|
||||
picker: self.picker,
|
||||
PickerSelectorView(title:"Standard",
|
||||
picker: self.picker,
|
||||
items: ListUnordered.Spacing.allCases)
|
||||
}()
|
||||
|
||||
var leadInTextField = TextField()
|
||||
// var listItemOneTextField = TextField()
|
||||
var listItemTwoLevelTwoTextOne = TextField()
|
||||
var listItemTwoLevelTwoTextTwo = TextField()
|
||||
|
||||
var itemLevelTwoTextOne = TextField()
|
||||
var itemLevelTwoTextTwo = TextField()
|
||||
|
||||
var unorderedList: [ListUnordered.ListUnorderedItemModel]?
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
// addContentTopView(view: .makeWrapper(for: component, edgeSpacing: 16.0), edgeSpacing: 0.0)
|
||||
addContentTopView(view: component)
|
||||
setupPicker()
|
||||
setupModel()
|
||||
@ -49,39 +47,33 @@ class ListUnorderedViewController: BaseViewController<ListUnordered> {
|
||||
|
||||
let form2 = FormSection()
|
||||
form2.title = "List Item Level 2 (Optional)"
|
||||
form2.addFormRow(label: "Level 2 Text 1", view: listItemTwoLevelTwoTextOne)
|
||||
form2.addFormRow(label: "Level 2 Text 2", view: listItemTwoLevelTwoTextTwo)
|
||||
|
||||
form2.addFormRow(label: "Subtext 1", view: itemLevelTwoTextOne)
|
||||
form2.addFormRow(label: "Subtext 2", view: itemLevelTwoTextTwo)
|
||||
|
||||
append(section: form1)
|
||||
append(section: form2)
|
||||
|
||||
|
||||
leadInTextField
|
||||
.textPublisher
|
||||
.sink { [weak self] text in
|
||||
self?.component.leadInText = text
|
||||
}.store(in: &subscribers)
|
||||
|
||||
listItemTwoLevelTwoTextOne
|
||||
itemLevelTwoTextOne
|
||||
.textPublisher
|
||||
.sink { [weak self] text in
|
||||
guard let self else { return }
|
||||
self.updateUnorderList()
|
||||
self.component.unorderedList = unorderedList ?? []
|
||||
}.store(in: &subscribers)
|
||||
|
||||
itemLevelTwoTextTwo
|
||||
.textPublisher
|
||||
.sink { [weak self] text in
|
||||
guard let self else { return }
|
||||
self.updateUnorderList()
|
||||
self.component.unorderedList = unorderedList ?? []
|
||||
}.store(in: &subscribers)
|
||||
}
|
||||
|
||||
func updateUnorderList() {
|
||||
if (listItemTwoLevelTwoTextOne.text == nil && listItemTwoLevelTwoTextTwo.text == nil) {
|
||||
unorderedList = [
|
||||
.init(itemLevelOneText: "Call 800-435-7986 to have your PIN reset"),
|
||||
.init(itemLevelOneText: "To bypass Call Intercept")
|
||||
]
|
||||
} else {
|
||||
unorderedList = [
|
||||
.init(itemLevelOneText: "Call 800-435-7986 to have your PIN reset"),
|
||||
.init(itemLevelOneText: "To bypass Call Intercept", itemLevelTwoTexts: [listItemTwoLevelTwoTextOne.text ?? "", listItemTwoLevelTwoTextTwo.text ?? ""])
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
func setupPicker() {
|
||||
@ -103,12 +95,39 @@ class ListUnorderedViewController: BaseViewController<ListUnordered> {
|
||||
sizePickerView.text = component.size.rawValue
|
||||
spacingPickerView.text = component.spacing.rawValue
|
||||
leadInTextField.text = "To manage your existing Call Intercept calling feature:"
|
||||
self.component.leadInText = "To manage your existing Call Intercept calling feature:"
|
||||
listItemTwoLevelTwoTextOne.text = "Priority callers can bypass Call Intercept by entering your 4 digit Call Intercept Override Code."
|
||||
listItemTwoLevelTwoTextTwo.text = "Your phone will alert you with a short-short-long ring and \"Priority Caller\" will appear on your display"
|
||||
self.component.leadInText = leadInTextField.text
|
||||
itemLevelTwoTextOne.text = "Priority callers can bypass Call Intercept by entering your 4 digit Call Intercept Override Code."
|
||||
itemLevelTwoTextTwo.text = "Your phone will alert you with a short-short-long ring and \"Priority Caller\" will appear on your display."
|
||||
updateUnorderList()
|
||||
self.component.unorderedList = self.unorderedList ?? []
|
||||
}
|
||||
|
||||
// Update test data
|
||||
func updateUnorderList() {
|
||||
if (itemLevelTwoTextOne.text?.isEmpty == true) {
|
||||
itemLevelTwoTextOne.text = nil
|
||||
}
|
||||
if (itemLevelTwoTextTwo.text?.isEmpty == true) {
|
||||
itemLevelTwoTextTwo.text = nil
|
||||
}
|
||||
var levelTwoSubTexts : [String?]? = nil
|
||||
if let subtextOneEmpty = itemLevelTwoTextOne.text?.isEmpty, let subtextTwoEmpty = itemLevelTwoTextTwo.text?.isEmpty {
|
||||
if !subtextOneEmpty && !subtextTwoEmpty {
|
||||
levelTwoSubTexts = [itemLevelTwoTextOne.text, itemLevelTwoTextTwo.text]
|
||||
} else if !subtextOneEmpty || !subtextTwoEmpty {
|
||||
if subtextOneEmpty {
|
||||
levelTwoSubTexts = [itemLevelTwoTextTwo.text]
|
||||
} else if subtextTwoEmpty {
|
||||
levelTwoSubTexts = [itemLevelTwoTextOne.text]
|
||||
}
|
||||
}
|
||||
unorderedList = [
|
||||
.init(itemLevelOneText: "Call 800-435-7986 to have your PIN reset."),
|
||||
.init(itemLevelOneText: "To bypass Call Intercept",
|
||||
itemLevelTwoTexts: levelTwoSubTexts)
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension ListUnorderedViewController: ComponentSampleable {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user