refactored radiobuttongroup

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2022-09-08 16:29:57 -05:00
parent dcd8d6ef94
commit e9c5a14ac9

View File

@ -34,13 +34,11 @@ public class RadioButtonGroup: RadioButtonGroupBase<DefaultRadioButtonGroupModel
}
}
public class RadioButtonGroupBase<GroupModelType: RadioButtonGroupModel, ModelHandlerType: ModelHandlerable & UIControl>: Control<GroupModelType>, SelectorGroupSelectedModelHandlerable, Changable where GroupModelType.SelectorModelType == ModelHandlerType.ModelType {
public class RadioButtonGroupBase<GroupModelType: RadioButtonGroupModel, ModelHandlerType: ModelHandlerable & UIControl>: SelectorGroupSelectedHandlerBase<GroupModelType, ModelHandlerType>, SelectorGroupSelectedModelHandlerable where GroupModelType.SelectorModelType == ModelHandlerType.ModelType {
//--------------------------------------------------
// MARK: - Public Properties
//--------------------------------------------------
public var selectorViews: [ModelHandlerType] = []
public var hasError: Bool {
get { model.hasError }
set {
@ -58,9 +56,6 @@ public class RadioButtonGroupBase<GroupModelType: RadioButtonGroupModel, ModelHa
}
}
public var onChange: Blocks.ActionBlock?
//--------------------------------------------------
// MARK: - Private Properties
//--------------------------------------------------
@ -77,18 +72,6 @@ public class RadioButtonGroupBase<GroupModelType: RadioButtonGroupModel, ModelHa
//--------------------------------------------------
// MARK: - Overrides
//--------------------------------------------------
override public var disabled: Bool {
didSet {
updateSelectors()
}
}
override public var surface: Surface {
didSet {
updateSelectors()
}
}
open override func setup() {
super.setup()
@ -126,8 +109,11 @@ public class RadioButtonGroupBase<GroupModelType: RadioButtonGroupModel, ModelHa
}
}
}
public func didSelect(_ selectedControl: ModelHandlerType) {
fatalError("Must override didSelect")
}
public class SelectorGroupSelectedHandlerBase<GroupModelType: SelectorGroupSelectedModelable, ModelHandlerType: ModelHandlerable & UIControl>: SelectorGroupHandlerBase<GroupModelType, ModelHandlerType> where GroupModelType.SelectorModelType == ModelHandlerType.ModelType {
public var selectedModel: ModelHandlerType.ModelType? {
return model.selectedModel
}
}