refactored viewcontroller

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2022-11-02 11:07:15 -05:00
parent edac86924a
commit b52b01ba58

View File

@ -11,7 +11,7 @@ import VDS
import VDSColorTokens
import Combine
class TextEntryFieldViewController: ModelScrollViewController<DefaultTextEntryField> {
class TextEntryFieldViewController: BaseViewController {
lazy var helperTextPlacementPickerSelectorView = {
PickerSelectorView(title: "",
@ -38,20 +38,7 @@ class TextEntryFieldViewController: ModelScrollViewController<DefaultTextEntryF
addContentTopView(view: textEntryField)
setupForm()
setupPicker()
setupModel(model: getModel())
}
func getModel() -> DefaultTextEntryField {
var defaultModel = DefaultTextEntryField()
defaultModel.type = .text
defaultModel.width = 328
defaultModel.labelText = "Street Address"
defaultModel.helperText = "For example: 123 Verizon St"
defaultModel.errorText = "Enter a valid address."
defaultModel.successText = "Good job entering a valid address!"
defaultModel.tooltipTitle = "Check the formatting of your address"
defaultModel.tooltipContent = "House/Building number then street name"
return defaultModel
setupModel()
}
func setupForm(){
@ -69,12 +56,6 @@ class TextEntryFieldViewController: ModelScrollViewController<DefaultTextEntryF
addFormRow(label: "ToolTip Title", view: tooltipTitleTextField)
addFormRow(label: "ToolTip Content", view: tooltipContentTextField)
textEntryField
.handlerPublisher()
.sink { [weak self] viewModel in
self?.model = viewModel
}.store(in: &subscribers)
requiredSwitch
.publisher(for: .valueChanged)
.sink { [weak self] sender in
@ -138,14 +119,15 @@ class TextEntryFieldViewController: ModelScrollViewController<DefaultTextEntryF
}
func setupModel(model: DefaultTextEntryField) {
set(with: model)
textEntryField
.handlerPublisher()
.sink { [weak self] viewModel in
self?.model = viewModel
}.store(in: &subscribers)
func setupModel() {
textEntryField.type = .text
textEntryField.width = 328
textEntryField.labelText = "Street Address"
textEntryField.helperText = "For example: 123 Verizon St"
textEntryField.errorText = "Enter a valid address."
textEntryField.successText = "Good job entering a valid address!"
textEntryField.tooltipTitle = "Check the formatting of your address"
textEntryField.tooltipContent = "House/Building number then street name"
textEntryField
.publisher(for: .valueChanged)
@ -158,29 +140,22 @@ class TextEntryFieldViewController: ModelScrollViewController<DefaultTextEntryF
}.store(in: &subscribers)
//setup UI
surfacePickerSelectorView.text = model.surface.rawValue
disabledSwitch.isOn = model.disabled
requiredSwitch.isOn = model.required
labelTextField.text = model.labelText
helperTextField.text = model.helperText
showErrorSwitch.isOn = model.showError
errorTextField.text = model.errorText
showSuccessSwitch.isOn = model.showSuccess
successTextField.text = model.successText
tooltipTitleTextField.text = model.tooltipTitle
tooltipContentTextField.text = model.tooltipContent
if let width = model.width {
surfacePickerSelectorView.text = textEntryField.surface.rawValue
disabledSwitch.isOn = textEntryField.disabled
requiredSwitch.isOn = textEntryField.required
labelTextField.text = textEntryField.labelText
helperTextField.text = textEntryField.helperText
showErrorSwitch.isOn = textEntryField.showError
errorTextField.text = textEntryField.errorText
showSuccessSwitch.isOn = textEntryField.showSuccess
successTextField.text = textEntryField.successText
tooltipTitleTextField.text = textEntryField.tooltipTitle
tooltipContentTextField.text = textEntryField.tooltipContent
if let width = textEntryField.width {
widthTextField.text = String(describing: width)
}
}
override func updateView(viewModel: ModelType) {
print("\(Self.self) updateView(viewModel)")
showErrorSwitch.isOn = viewModel.showError
disabledSwitch.isOn = viewModel.disabled
textEntryField.set(with: viewModel)
}
//Picker
func setupPicker(){
surfacePickerSelectorView.onPickerDidSelect = { [weak self] item in