refactored radio
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
f2fc171914
commit
fb9b871345
@ -35,7 +35,20 @@ class RadioButtonViewController: UIViewController, StoryboardInitable {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
view.addGestureRecognizer(UITapGestureRecognizer(target: self.view, action: #selector(UIView.endEditing(_:))))
|
||||
|
||||
componentContainerView.addSubview(radioButtonGroup)
|
||||
radioButtonGroup.leadingAnchor.constraint(equalTo: componentContainerView.leadingAnchor, constant: 10).isActive = true
|
||||
radioButtonGroup.topAnchor.constraint(equalTo: componentContainerView.topAnchor, constant: 20).isActive = true
|
||||
radioButtonGroup.bottomAnchor.constraint(equalTo: componentContainerView.bottomAnchor, constant: -20).isActive = true
|
||||
radioButtonGroup.trailingAnchor.constraint(equalTo: componentContainerView.trailingAnchor, constant: 10).isActive = true
|
||||
setupPicker()
|
||||
|
||||
createModel()
|
||||
setupBinding()
|
||||
}
|
||||
|
||||
func createModel(){
|
||||
var model1 = DefaultRadioButtonModel()
|
||||
model1.value = "model 1 Value"
|
||||
model1.labelText = "Terms and conditions"
|
||||
@ -51,20 +64,19 @@ class RadioButtonViewController: UIViewController, StoryboardInitable {
|
||||
var model2 = DefaultRadioButtonModel()
|
||||
model2.value = "model 2 Value"
|
||||
model2.childText = "Radio Sample 2"
|
||||
|
||||
|
||||
surfaceLabel.text = model1.surface.rawValue
|
||||
disabledSwitch.isOn = model1.selected
|
||||
labelTextField.text = model1.labelText
|
||||
childTextField.text = model1.childText
|
||||
showErrorSwitch.isOn = model1.hasError
|
||||
|
||||
model.selectors = [model1, model2]
|
||||
|
||||
//set UI values
|
||||
surfaceLabel.text = model.surface.rawValue
|
||||
disabledSwitch.isOn = model.disabled
|
||||
showErrorSwitch.isOn = model.hasError
|
||||
labelTextField.text = model1.labelText
|
||||
childTextField.text = model1.childText
|
||||
|
||||
radioButtonGroup.set(with: model)
|
||||
|
||||
componentContainerView.addSubview(radioButtonGroup)
|
||||
|
||||
}
|
||||
|
||||
func setupBinding() {
|
||||
//create the subject
|
||||
let modelSubject = CurrentValueSubject<DefaultRadioButtonGroupModel, Never>(model)
|
||||
|
||||
@ -77,21 +89,13 @@ class RadioButtonViewController: UIViewController, StoryboardInitable {
|
||||
//print out on subject changes
|
||||
modelSubject.sink { [weak self] model in
|
||||
|
||||
self?.showErrorSwitch.isOn = model.hasError
|
||||
self?.showErrorSwitch.isOn = model.hasError
|
||||
print("RadioButtonViewController hasError: \(model.hasError)")
|
||||
|
||||
if let selectedModel = model.selectedModel {
|
||||
print("RadioButtonViewController selectedModel Id: \(selectedModel.id)")
|
||||
}
|
||||
}.store(in: &subscribers)
|
||||
|
||||
radioButtonGroup.leadingAnchor.constraint(equalTo: componentContainerView.leadingAnchor, constant: 10).isActive = true
|
||||
radioButtonGroup.topAnchor.constraint(equalTo: componentContainerView.topAnchor, constant: 20).isActive = true
|
||||
radioButtonGroup.bottomAnchor.constraint(equalTo: componentContainerView.bottomAnchor, constant: -20).isActive = true
|
||||
radioButtonGroup.trailingAnchor.constraint(equalTo: componentContainerView.trailingAnchor, constant: 10).isActive = true
|
||||
|
||||
view.addGestureRecognizer(UITapGestureRecognizer(target: self.view, action: #selector(UIView.endEditing(_:))))
|
||||
setupPicker()
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user