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
@ -12,26 +12,24 @@ class ListUnorderedViewController: BaseViewController<ListUnordered> {
|
|||||||
|
|
||||||
lazy var sizePickerView = {
|
lazy var sizePickerView = {
|
||||||
PickerSelectorView(title: "Large",
|
PickerSelectorView(title: "Large",
|
||||||
picker: self.picker,
|
picker: self.picker,
|
||||||
items: ListUnordered.Size.allCases)
|
items: ListUnordered.Size.allCases)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
lazy var spacingPickerView = {
|
lazy var spacingPickerView = {
|
||||||
PickerSelectorView(title:"standard",
|
PickerSelectorView(title:"Standard",
|
||||||
picker: self.picker,
|
picker: self.picker,
|
||||||
items: ListUnordered.Spacing.allCases)
|
items: ListUnordered.Spacing.allCases)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
var leadInTextField = TextField()
|
var leadInTextField = TextField()
|
||||||
// var listItemOneTextField = TextField()
|
var itemLevelTwoTextOne = TextField()
|
||||||
var listItemTwoLevelTwoTextOne = TextField()
|
var itemLevelTwoTextTwo = TextField()
|
||||||
var listItemTwoLevelTwoTextTwo = TextField()
|
|
||||||
|
|
||||||
var unorderedList: [ListUnordered.ListUnorderedItemModel]?
|
var unorderedList: [ListUnordered.ListUnorderedItemModel]?
|
||||||
|
|
||||||
override func viewDidLoad() {
|
override func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
// addContentTopView(view: .makeWrapper(for: component, edgeSpacing: 16.0), edgeSpacing: 0.0)
|
|
||||||
addContentTopView(view: component)
|
addContentTopView(view: component)
|
||||||
setupPicker()
|
setupPicker()
|
||||||
setupModel()
|
setupModel()
|
||||||
@ -49,8 +47,8 @@ class ListUnorderedViewController: BaseViewController<ListUnordered> {
|
|||||||
|
|
||||||
let form2 = FormSection()
|
let form2 = FormSection()
|
||||||
form2.title = "List Item Level 2 (Optional)"
|
form2.title = "List Item Level 2 (Optional)"
|
||||||
form2.addFormRow(label: "Level 2 Text 1", view: listItemTwoLevelTwoTextOne)
|
form2.addFormRow(label: "Subtext 1", view: itemLevelTwoTextOne)
|
||||||
form2.addFormRow(label: "Level 2 Text 2", view: listItemTwoLevelTwoTextTwo)
|
form2.addFormRow(label: "Subtext 2", view: itemLevelTwoTextTwo)
|
||||||
|
|
||||||
append(section: form1)
|
append(section: form1)
|
||||||
append(section: form2)
|
append(section: form2)
|
||||||
@ -61,27 +59,21 @@ class ListUnorderedViewController: BaseViewController<ListUnordered> {
|
|||||||
self?.component.leadInText = text
|
self?.component.leadInText = text
|
||||||
}.store(in: &subscribers)
|
}.store(in: &subscribers)
|
||||||
|
|
||||||
listItemTwoLevelTwoTextOne
|
itemLevelTwoTextOne
|
||||||
.textPublisher
|
.textPublisher
|
||||||
.sink { [weak self] text in
|
.sink { [weak self] text in
|
||||||
guard let self else { return }
|
guard let self else { return }
|
||||||
self.updateUnorderList()
|
self.updateUnorderList()
|
||||||
self.component.unorderedList = unorderedList ?? []
|
self.component.unorderedList = unorderedList ?? []
|
||||||
}.store(in: &subscribers)
|
}.store(in: &subscribers)
|
||||||
}
|
|
||||||
|
|
||||||
func updateUnorderList() {
|
itemLevelTwoTextTwo
|
||||||
if (listItemTwoLevelTwoTextOne.text == nil && listItemTwoLevelTwoTextTwo.text == nil) {
|
.textPublisher
|
||||||
unorderedList = [
|
.sink { [weak self] text in
|
||||||
.init(itemLevelOneText: "Call 800-435-7986 to have your PIN reset"),
|
guard let self else { return }
|
||||||
.init(itemLevelOneText: "To bypass Call Intercept")
|
self.updateUnorderList()
|
||||||
]
|
self.component.unorderedList = unorderedList ?? []
|
||||||
} else {
|
}.store(in: &subscribers)
|
||||||
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() {
|
func setupPicker() {
|
||||||
@ -103,12 +95,39 @@ class ListUnorderedViewController: BaseViewController<ListUnordered> {
|
|||||||
sizePickerView.text = component.size.rawValue
|
sizePickerView.text = component.size.rawValue
|
||||||
spacingPickerView.text = component.spacing.rawValue
|
spacingPickerView.text = component.spacing.rawValue
|
||||||
leadInTextField.text = "To manage your existing Call Intercept calling feature:"
|
leadInTextField.text = "To manage your existing Call Intercept calling feature:"
|
||||||
self.component.leadInText = "To manage your existing Call Intercept calling feature:"
|
self.component.leadInText = leadInTextField.text
|
||||||
listItemTwoLevelTwoTextOne.text = "Priority callers can bypass Call Intercept by entering your 4 digit Call Intercept Override Code."
|
itemLevelTwoTextOne.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"
|
itemLevelTwoTextTwo.text = "Your phone will alert you with a short-short-long ring and \"Priority Caller\" will appear on your display."
|
||||||
updateUnorderList()
|
updateUnorderList()
|
||||||
self.component.unorderedList = self.unorderedList ?? []
|
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 {
|
extension ListUnorderedViewController: ComponentSampleable {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user