Merge branch 'feature/VDS-RadioButton' into 'develop'

Feature/vds radio button

See merge request BPHV_MIPS/mvm_core_ui!892
This commit is contained in:
Bruce, Matt R 2022-08-03 18:01:12 +00:00
commit 3d807a4ac6
2 changed files with 18 additions and 8 deletions

View File

@ -7,14 +7,15 @@
//
import UIKit
import VDSColorTokens
import VDSFormControlsTokens
@objcMembers open class RadioButton: Control, MFButtonProtocol {
//--------------------------------------------------
// MARK: - Properties
//--------------------------------------------------
public var diameter: CGFloat = 30 {
public var diameter: CGFloat = 20 {
didSet { widthConstraint?.constant = diameter }
}
@ -24,9 +25,12 @@ import UIKit
updateAccessibilityLabel()
}
}
public var enabledColor: UIColor = .mvmBlack
public var disabledColor: UIColor = .mvmCoolGray3
public var enabledColor: UIColor {
return radioModel?.inverted ?? false ? VDSFormControlsColor.borderOndark : VDSFormControlsColor.borderOnlight
}
public var disabledColor: UIColor {
return radioModel?.inverted ?? false ? VDSColor.interactiveDisabledOndark : VDSColor.interactiveDisabledOnlight
}
public var delegateObject: MVMCoreUIDelegateObject?
var additionalData: [AnyHashable: Any]?
@ -141,9 +145,9 @@ import UIKit
open override func setupView() {
super.setupView()
backgroundColor = .mvmWhite
backgroundColor = .clear
clipsToBounds = true
widthConstraint = widthAnchor.constraint(equalToConstant: 30)
widthConstraint = widthAnchor.constraint(equalToConstant: 20)
widthConstraint?.isActive = true
heightConstraint = heightAnchor.constraint(equalTo: widthAnchor, multiplier: 1)
heightConstraint?.isActive = true
@ -169,6 +173,6 @@ import UIKit
public override func reset() {
super.reset()
backgroundColor = .mvmWhite
backgroundColor = .clear
}
}

View File

@ -28,6 +28,7 @@ open class RadioButtonModel: MoleculeModelProtocol, FormFieldProtocol {
public var groupName: String = FormValidator.defaultGroupName
public var fieldKey: String?
public var action: ActionModelProtocol?
public var inverted: Bool = false
//--------------------------------------------------
// MARK: - Keys
@ -44,6 +45,7 @@ open class RadioButtonModel: MoleculeModelProtocol, FormFieldProtocol {
case groupName
case action
case readOnly
case inverted
}
//--------------------------------------------------
@ -94,6 +96,9 @@ open class RadioButtonModel: MoleculeModelProtocol, FormFieldProtocol {
}
fieldValue = try typeContainer.decodeIfPresent(String.self, forKey: .fieldValue)
action = try typeContainer.decodeModelIfPresent(codingKey: .action)
if let inverted = try typeContainer.decodeIfPresent(Bool.self, forKey: .inverted) {
self.inverted = inverted
}
}
public func encode(to encoder: Encoder) throws {
@ -108,5 +113,6 @@ open class RadioButtonModel: MoleculeModelProtocol, FormFieldProtocol {
try container.encodeIfPresent(groupName, forKey: .groupName)
try container.encodeIfPresent(fieldValue, forKey: .fieldValue)
try container.encodeModelIfPresent(action, forKey: .action)
try container.encodeIfPresent(inverted, forKey: .inverted)
}
}