refactored hasError

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2022-09-14 11:54:10 -05:00
parent 2e6bb6fbab
commit 9b22fb4e2f
2 changed files with 11 additions and 11 deletions

View File

@ -28,13 +28,16 @@ public class CheckboxGroupBase<GroupModelType: CheckboxGroupModel, ModelHandlerT
public var hasError: Bool { public var hasError: Bool {
get { model.hasError } get { model.hasError }
set { set {
let selectors = model.selectors.compactMap { existing in var newHasError = newValue
return existing.copyWith { let anySelected = selectorViews.filter { $0.isSelected == true }.count > 0
$0.hasError = newValue if anySelected && newHasError {
} newHasError = false
} }
model.hasError = newValue selectorViews.forEach { handler in
model.selectors = selectors handler.hasError = newHasError
}
model.hasError = newHasError
} }
} }

View File

@ -35,13 +35,10 @@ public class RadioButtonGroupBase<GroupModelType: RadioButtonGroupModel, ModelHa
if selectedModel != nil, newHasError { if selectedModel != nil, newHasError {
newHasError = false newHasError = false
} }
let selectors = model.selectors.compactMap { existing in selectorViews.forEach { handler in
return existing.copyWith { handler.hasError = newHasError
$0.hasError = newHasError
}
} }
model.hasError = newHasError model.hasError = newHasError
model.selectors = selectors
} }
} }