From 2100468899550ab04fa08fc86cfb9abf6389f8a7 Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Thu, 23 Jan 2020 12:32:33 -0500 Subject: [PATCH] disabled colors --- MVMCoreUI/Atoms/Views/Checkbox.swift | 8 ++++--- MVMCoreUI/Atoms/Views/CheckboxModel.swift | 24 +++++++++++++++---- .../Atoms/Views/CheckboxWithLabelView.swift | 7 ++---- 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/MVMCoreUI/Atoms/Views/Checkbox.swift b/MVMCoreUI/Atoms/Views/Checkbox.swift index a5820271..796496c8 100644 --- a/MVMCoreUI/Atoms/Views/Checkbox.swift +++ b/MVMCoreUI/Atoms/Views/Checkbox.swift @@ -86,13 +86,15 @@ import MVMCore backgroundColor = isSelected ? checkedBackgroundColor : unCheckedBackgroundColor setShapeLayerStrokeColor(checkColor) } else { - layer.borderColor = UIColor.mfSilver().cgColor - backgroundColor = .clear + layer.borderColor = disabledBorderColor.cgColor + backgroundColor = disabledBackgroundColor setShapeLayerStrokeColor(UIColor.mfSilver()) } } } - // public var disabledColor: (check: UIColor?, background: UIColor?, border: UIColor?) + + public var disabledBackgroundColor: UIColor = .clear + public var disabledBorderColor: UIColor = .mvmCoolGray3 /// Color of the check mark. public var checkColor: UIColor = .black { diff --git a/MVMCoreUI/Atoms/Views/CheckboxModel.swift b/MVMCoreUI/Atoms/Views/CheckboxModel.swift index 91a14a90..6ff55696 100644 --- a/MVMCoreUI/Atoms/Views/CheckboxModel.swift +++ b/MVMCoreUI/Atoms/Views/CheckboxModel.swift @@ -9,24 +9,34 @@ import Foundation @objcMembers public class CheckboxModel: MoleculeModelProtocol { + //-------------------------------------------------- + // MARK: - Properties + //-------------------------------------------------- + public static var identifier: String = "checkbox" public var backgroundColor: Color? public var groupName: String? public var value: String? public var fieldKey: String? - public var required: Bool - public var borderColor: Color + public var required: Bool = false + public var borderColor: Color = Color(uiColor: .black) public var borderWidth: CGFloat = 1 public var isChecked: Bool = false - public var checkColor: Color - public var unCheckedBackgroundColor: Color - public var checkedBackgroundColor: Color + public var checkColor: Color = Color(uiColor: .black) + public var unCheckedBackgroundColor: Color = Color(uiColor: .clear) + public var checkedBackgroundColor: Color = Color(uiColor: .clear) public var isAnimated: Bool = true public var isRound: Bool = false public var isEnabled: Bool = true public var action: ActionModelProtocol? + + public var disabledBackgroundColor: Color = Color(uiColor: .black) + public var disabledBorderColor: Color = Color(uiColor: .black) + //-------------------------------------------------- + // MARK: - Keys + //-------------------------------------------------- private enum CodingKeys: String, CodingKey { case groupName @@ -45,6 +55,10 @@ import Foundation case action } + //-------------------------------------------------- + // MARK: - Codec + //-------------------------------------------------- + required public init(from decoder: Decoder) throws { let typeContainer = try decoder.container(keyedBy: CodingKeys.self) groupName = try typeContainer.decodeIfPresent(String.self, forKey: .groupName) diff --git a/MVMCoreUI/Atoms/Views/CheckboxWithLabelView.swift b/MVMCoreUI/Atoms/Views/CheckboxWithLabelView.swift index e559069d..bc23db73 100644 --- a/MVMCoreUI/Atoms/Views/CheckboxWithLabelView.swift +++ b/MVMCoreUI/Atoms/Views/CheckboxWithLabelView.swift @@ -112,14 +112,11 @@ checkboxBottomConstraint?.isActive = true checkboxTopConstraint?.isActive = false checkboxCenterYConstraint?.isActive = false - } } - open override func setWithModel(_ model: MoleculeModelProtocol?, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable : Any]?) { - guard let checkBoxWithLabelModel = model as? CheckboxLabelModel else { - return - } + open override func setWithModel(_ model: MoleculeModelProtocol?, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) { + guard let checkBoxWithLabelModel = model as? CheckboxLabelModel else { return } if let checkboxAlignment = checkBoxWithLabelModel.checkboxAlignment { alignCheckbox(checkboxAlignment)