refactored hasError to showError

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2022-10-03 12:21:27 -05:00
parent 1b75bfb369
commit fa3d139742
10 changed files with 42 additions and 42 deletions

View File

@ -82,8 +82,8 @@ open class CheckboxBase<ModelType: CheckboxModel>: Control<ModelType> {
@Proxy(\.model.childText) @Proxy(\.model.childText)
open var childText: String? open var childText: String?
@Proxy(\.model.hasError) @Proxy(\.model.showError)
open var hasError: Bool open var showError: Bool
@Proxy(\.model.errorText) @Proxy(\.model.errorText)
open var errorText: String? open var errorText: String?
@ -219,8 +219,8 @@ open class CheckboxBase<ModelType: CheckboxModel>: Control<ModelType> {
/// This will checkbox the state of the Selector and execute the actionBlock if provided. /// This will checkbox the state of the Selector and execute the actionBlock if provided.
open func toggle() { open func toggle() {
//removed error //removed error
if hasError && isSelected == false { if showError && isSelected == false {
hasError.toggle() showError.toggle()
} }
isSelected.toggle() isSelected.toggle()
sendActions(for: .valueChanged) sendActions(for: .valueChanged)
@ -354,7 +354,7 @@ open class CheckboxBase<ModelType: CheckboxModel>: Control<ModelType> {
public let error = BinarySurfaceColorConfiguration<ModelType>() public let error = BinarySurfaceColorConfiguration<ModelType>()
override func getColor(_ viewModel: ModelType) -> UIColor { override func getColor(_ viewModel: ModelType) -> UIColor {
//only show error is enabled and showError == true //only show error is enabled and showError == true
let showErrorColor = !viewModel.disabled && viewModel.hasError let showErrorColor = !viewModel.disabled && viewModel.showError
if showErrorColor { if showErrorColor {
return error.getColor(viewModel) return error.getColor(viewModel)

View File

@ -11,8 +11,8 @@ import UIKit
public class CheckboxGroup: CheckboxGroupBase<DefaultCheckboxGroupModel, Checkbox> { public class CheckboxGroup: CheckboxGroupBase<DefaultCheckboxGroupModel, Checkbox> {
public override func didSelect(_ selectedControl: Checkbox) { public override func didSelect(_ selectedControl: Checkbox) {
selectedControl.toggle() selectedControl.toggle()
if selectedControl.isSelected, hasError{ if selectedControl.isSelected, showError{
hasError.toggle() showError.toggle()
} }
valueChanged() valueChanged()
} }
@ -23,18 +23,18 @@ public class CheckboxGroupBase<GroupModelType: CheckboxGroupModel, ModelHandlerT
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Public Properties // MARK: - Public Properties
//-------------------------------------------------- //--------------------------------------------------
public var hasError: Bool { public var showError: Bool {
get { model.hasError } get { model.showError }
set { set {
var newHasError = newValue var newShowError = newValue
let anySelected = selectorViews.filter { $0.isSelected == true }.count > 0 let anySelected = selectorViews.filter { $0.isSelected == true }.count > 0
if anySelected && newHasError { if anySelected && newShowError {
newHasError = false newShowError = false
} }
selectorViews.forEach { handler in selectorViews.forEach { handler in
handler.hasError = newHasError handler.showError = newShowError
} }
model.hasError = newHasError model.showError = newShowError
} }
} }

View File

@ -19,7 +19,7 @@ public struct DefaultCheckboxGroupModel: CheckboxGroupModel {
public var surface: Surface = .light public var surface: Surface = .light
public var disabled: Bool = false public var disabled: Bool = false
public var selectors: [SelectorModelType] public var selectors: [SelectorModelType]
public var hasError: Bool = false public var showError: Bool = false
public var errorText: String? public var errorText: String?
public init() { selectors = [] } public init() { selectors = [] }
public init(selectors: [SelectorModelType]){ public init(selectors: [SelectorModelType]){

View File

@ -18,7 +18,7 @@ public protocol CheckboxModel: Modelable, FormFieldable, Errorable, DataTrackabl
extension CheckboxModel { extension CheckboxModel {
public var shouldShowError: Bool { public var shouldShowError: Bool {
guard hasError && !disabled && errorText?.isEmpty == false else { return false } guard showError && !disabled && errorText?.isEmpty == false else { return false }
return true return true
} }
@ -52,7 +52,7 @@ extension CheckboxModel {
} }
public var errorModel: DefaultLabelModel? { public var errorModel: DefaultLabelModel? {
guard let errorText = errorText, hasError else { return nil } guard let errorText = errorText, showError else { return nil }
var model = DefaultLabelModel() var model = DefaultLabelModel()
model.textPosition = .left model.textPosition = .left
model.typograpicalStyle = .BodyMedium model.typograpicalStyle = .BodyMedium
@ -71,7 +71,7 @@ public struct DefaultCheckboxModel: CheckboxModel {
public var childText: String? public var childText: String?
public var childTextAttributes: [any LabelAttributeModel]? public var childTextAttributes: [any LabelAttributeModel]?
public var hasError: Bool = false public var showError: Bool = false
public var errorText: String? public var errorText: String?
public var inputId: String? public var inputId: String?
@ -103,7 +103,7 @@ public struct DefaultCheckboxModel: CheckboxModel {
&& labelTextAttributes == equatable.labelTextAttributes && labelTextAttributes == equatable.labelTextAttributes
&& childText == equatable.childText && childText == equatable.childText
&& childTextAttributes == equatable.childTextAttributes && childTextAttributes == equatable.childTextAttributes
&& hasError == equatable.hasError && showError == equatable.showError
&& errorText == equatable.errorText && errorText == equatable.errorText
&& inputId == equatable.inputId && inputId == equatable.inputId
&& value == equatable.value && value == equatable.value

View File

@ -17,7 +17,7 @@ public struct DefaultRadioBoxGroupModel: RadioBoxGroupModel {
public var surface: Surface = .light public var surface: Surface = .light
public var disabled: Bool = false public var disabled: Bool = false
public var selectors: [SelectorModelType] public var selectors: [SelectorModelType]
public var hasError: Bool = false public var showError: Bool = false
public var errorText: String? public var errorText: String?
public init() { selectors = [] } public init() { selectors = [] }
public init(selectors: [SelectorModelType]){ public init(selectors: [SelectorModelType]){

View File

@ -14,8 +14,8 @@ public class RadioButton: RadioButtonBase<DefaultRadioButtonModel>{
//for groups allows "toggle" //for groups allows "toggle"
open override func toggle() { open override func toggle() {
//removed error //removed error
if hasError && isSelected == false { if showError && isSelected == false {
hasError.toggle() showError.toggle()
} }
isSelected.toggle() isSelected.toggle()
} }
@ -90,8 +90,8 @@ open class RadioButtonBase<ModelType: RadioButtonModel>: Control<ModelType> {
@Proxy(\.model.childText) @Proxy(\.model.childText)
open var childText: String? open var childText: String?
@Proxy(\.model.hasError) @Proxy(\.model.showError)
open var hasError: Bool open var showError: Bool
@Proxy(\.model.errorText) @Proxy(\.model.errorText)
open var errorText: String? open var errorText: String?
@ -229,8 +229,8 @@ open class RadioButtonBase<ModelType: RadioButtonModel>: Control<ModelType> {
guard !isSelected else { return } guard !isSelected else { return }
//removed error //removed error
if hasError && isSelected == false { if showError && isSelected == false {
hasError.toggle() showError.toggle()
} }
isSelected.toggle() isSelected.toggle()
sendActions(for: .valueChanged) sendActions(for: .valueChanged)
@ -346,7 +346,7 @@ open class RadioButtonBase<ModelType: RadioButtonModel>: Control<ModelType> {
public let error = BinarySurfaceColorConfiguration<ModelType>() public let error = BinarySurfaceColorConfiguration<ModelType>()
override func getColor(_ viewModel: ModelType) -> UIColor { override func getColor(_ viewModel: ModelType) -> UIColor {
//only show error is enabled and showError == true //only show error is enabled and showError == true
let showErrorColor = !viewModel.disabled && viewModel.hasError let showErrorColor = !viewModel.disabled && viewModel.showError
if showErrorColor { if showErrorColor {
return error.getColor(viewModel) return error.getColor(viewModel)

View File

@ -14,8 +14,8 @@ public class RadioButtonGroup: RadioButtonGroupBase<DefaultRadioButtonGroupModel
let oldSelectedControl = selectorViews.filter { $0.isSelected == true }.first let oldSelectedControl = selectorViews.filter { $0.isSelected == true }.first
oldSelectedControl?.toggle() oldSelectedControl?.toggle()
selectedControl.toggle() selectedControl.toggle()
if hasError { if showError {
hasError = false showError = false
} }
valueChanged() valueChanged()
} }
@ -26,17 +26,17 @@ public class RadioButtonGroupBase<GroupModelType: RadioButtonGroupModel, ModelHa
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Public Properties // MARK: - Public Properties
//-------------------------------------------------- //--------------------------------------------------
public var hasError: Bool { public var showError: Bool {
get { model.hasError } get { model.showError }
set { set {
var newHasError = newValue var newShowError = newValue
if selectedModel != nil, newHasError { if selectedModel != nil, newShowError {
newHasError = false newShowError = false
} }
selectorViews.forEach { handler in selectorViews.forEach { handler in
handler.hasError = newHasError handler.showError = newShowError
} }
model.hasError = newHasError model.showError = newShowError
} }
} }

View File

@ -21,7 +21,7 @@ public struct DefaultRadioButtonGroupModel: RadioButtonGroupModel {
public var surface: Surface = .light public var surface: Surface = .light
public var disabled: Bool = false public var disabled: Bool = false
public var selectors: [SelectorModelType] public var selectors: [SelectorModelType]
public var hasError: Bool = false public var showError: Bool = false
public var errorText: String? public var errorText: String?
public init() { selectors = [] } public init() { selectors = [] }
public init(selectors: [SelectorModelType]){ public init(selectors: [SelectorModelType]){

View File

@ -18,7 +18,7 @@ public protocol RadioButtonModel: Modelable, FormFieldable, Errorable, DataTrack
extension RadioButtonModel { extension RadioButtonModel {
public var shouldShowError: Bool { public var shouldShowError: Bool {
guard hasError && !disabled && errorText?.isEmpty == false else { return false } guard showError && !disabled && errorText?.isEmpty == false else { return false }
return true return true
} }
@ -52,7 +52,7 @@ extension RadioButtonModel {
} }
public var errorModel: DefaultLabelModel? { public var errorModel: DefaultLabelModel? {
guard let errorText = errorText, hasError else { return nil } guard let errorText = errorText, showError else { return nil }
var model = DefaultLabelModel() var model = DefaultLabelModel()
model.textPosition = .left model.textPosition = .left
model.typograpicalStyle = .BodyMedium model.typograpicalStyle = .BodyMedium
@ -72,7 +72,7 @@ public struct DefaultRadioButtonModel: RadioButtonModel {
public var childText: String? public var childText: String?
public var childTextAttributes: [any LabelAttributeModel]? public var childTextAttributes: [any LabelAttributeModel]?
public var hasError: Bool = false public var showError: Bool = false
public var errorText: String? public var errorText: String?
public var inputId: String? public var inputId: String?
@ -106,7 +106,7 @@ public struct DefaultRadioButtonModel: RadioButtonModel {
&& childText == equatable.childText && childText == equatable.childText
&& childTextAttributes == equatable.childTextAttributes && childTextAttributes == equatable.childTextAttributes
&& hasError == equatable.hasError && showError == equatable.showError
&& errorText == equatable.errorText && errorText == equatable.errorText
&& inputId == equatable.inputId && inputId == equatable.inputId

View File

@ -8,6 +8,6 @@
import Foundation import Foundation
public protocol Errorable { public protocol Errorable {
var hasError: Bool { get set } var showError: Bool { get set }
var errorText: String? { get set } var errorText: String? { get set }
} }