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