vds_ios/VDS/Components/RadioButton/RadioButtonGroupModel.swift
Matt Bruce 844aa13277 refactored out selector base selector group base class
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
2022-08-23 14:49:00 -05:00

34 lines
970 B
Swift

//
// RadioButtonGroupModel.swift
// VDS
//
// Created by Matt Bruce on 8/11/22.
//
import Foundation
public protocol RadioButtonGroupModel: SelectorGroupModelable where SelectorModelType: RadioButtonModel {
var selectedModel: SelectorModelType? { get set }
}
extension RadioButtonGroupModel {
public var errorText: String? { return nil }
}
public struct DefaultRadioButtonGroupModel: RadioButtonGroupModel {
public typealias SelectorModelType = DefaultRadioButtonModel
public var id: UUID = UUID()
public var inputId: String?
public var value: AnyHashable?
public var surface: Surface = .light
public var disabled: Bool = false
public var selectedModel: DefaultRadioButtonModel?
public var selectors: [SelectorModelType]
public var hasError: Bool = false
public var errorText: String?
public init() { selectors = [] }
public init(selectors: [SelectorModelType]){
self.selectors = selectors
}
}