added protocol/refactored to deal with RadiobuttonLabel
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
aa773dc8f5
commit
fa52fa8c12
@ -6,6 +6,10 @@
|
|||||||
// Copyright © 2019 Verizon Wireless. All rights reserved.
|
// Copyright © 2019 Verizon Wireless. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
public protocol RadioButtonSelectionHelperProtocol: AnyObject {
|
||||||
|
var isSelected: Bool { get set }
|
||||||
|
var radioButtonModel: RadioButtonModel { get }
|
||||||
|
}
|
||||||
|
|
||||||
@objcMembers public class RadioButtonSelectionHelper: FormFieldProtocol {
|
@objcMembers public class RadioButtonSelectionHelper: FormFieldProtocol {
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -14,7 +18,7 @@
|
|||||||
|
|
||||||
public var fieldKey: String?
|
public var fieldKey: String?
|
||||||
public var groupName: String = FormValidator.defaultGroupName
|
public var groupName: String = FormValidator.defaultGroupName
|
||||||
private var selectedRadioButton: RadioButton?
|
private var selectedRadioButton: RadioButtonSelectionHelperProtocol?
|
||||||
private var selectedRadioButtonModel: RadioButtonModel?
|
private var selectedRadioButtonModel: RadioButtonModel?
|
||||||
public var baseValue: AnyHashable?
|
public var baseValue: AnyHashable?
|
||||||
public var enabled: Bool = true
|
public var enabled: Bool = true
|
||||||
@ -24,7 +28,7 @@
|
|||||||
// MARK: - Initializer
|
// MARK: - Initializer
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
|
|
||||||
public func set(_ radioButtonModel: RadioButtonModel, _ radioButton: RadioButton) {
|
public func set(_ radioButtonModel: RadioButtonModel, _ radioButton: RadioButtonSelectionHelperProtocol) {
|
||||||
self.fieldKey = radioButtonModel.fieldKey
|
self.fieldKey = radioButtonModel.fieldKey
|
||||||
self.groupName = radioButtonModel.groupName
|
self.groupName = radioButtonModel.groupName
|
||||||
|
|
||||||
@ -49,7 +53,7 @@
|
|||||||
// MARK: - Functions
|
// MARK: - Functions
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
|
|
||||||
public static func setupForRadioButtonGroup(_ radioButtonModel: RadioButtonModel, _ radioButton: RadioButton, delegateObject: MVMCoreUIDelegateObject?) {
|
public static func setupForRadioButtonGroup(_ radioButtonModel: RadioButtonModel, _ radioButton: RadioButtonSelectionHelperProtocol, delegateObject: MVMCoreUIDelegateObject?) {
|
||||||
|
|
||||||
guard let groupName = radioButtonModel.fieldKey,
|
guard let groupName = radioButtonModel.fieldKey,
|
||||||
let formValidator = delegateObject?.formHolderDelegate?.formValidator
|
let formValidator = delegateObject?.formHolderDelegate?.formValidator
|
||||||
@ -61,10 +65,10 @@
|
|||||||
FormValidator.setupValidation(for: radioButtonSelectionHelper, delegate: delegateObject?.formHolderDelegate)
|
FormValidator.setupValidation(for: radioButtonSelectionHelper, delegate: delegateObject?.formHolderDelegate)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func selected(_ radioButton: RadioButton) {
|
public func selected(_ radioButton: RadioButtonSelectionHelperProtocol) {
|
||||||
|
|
||||||
// Checks because the view could be reused
|
// Checks because the view could be reused
|
||||||
if selectedRadioButton?.radioModel === selectedRadioButtonModel {
|
if selectedRadioButton?.radioButtonModel === selectedRadioButtonModel {
|
||||||
selectedRadioButton?.isSelected = false
|
selectedRadioButton?.isSelected = false
|
||||||
} else {
|
} else {
|
||||||
selectedRadioButtonModel?.state = false
|
selectedRadioButtonModel?.state = false
|
||||||
@ -72,7 +76,7 @@
|
|||||||
|
|
||||||
selectedRadioButton = radioButton
|
selectedRadioButton = radioButton
|
||||||
selectedRadioButton?.isSelected = true
|
selectedRadioButton?.isSelected = true
|
||||||
selectedRadioButtonModel = selectedRadioButton?.radioModel
|
selectedRadioButtonModel = selectedRadioButton?.radioButtonModel
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user