vds_ios/VDS/Protocols/SelectorGroupModelable.swift
Matt Bruce 2148014664 removed selected inputId
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
2022-09-08 14:35:09 -05:00

32 lines
853 B
Swift

//
// SelectorGroupModel.swift
// VDS
//
// Created by Matt Bruce on 8/11/22.
//
import Foundation
///MARK: Groups that allow anything selected
public protocol SelectorGroupModelable: Modelable, FormFieldable {
associatedtype SelectorModelType: Modelable where SelectorModelType: FormFieldable & Selectable
var selectors: [SelectorModelType] { get set }
}
///MARK: Groups that allow single selections
public protocol SelectorGroupSelectedModelable: SelectorGroupModelable {
var selectedModel: SelectorModelType? { get }
}
extension SelectorGroupSelectedModelable {
public var selectedModel: SelectorModelType? {
if let index = selectors.firstIndex(where: { element in
return element.selected == true
}) {
return selectors[index]
} else {
return nil
}
}
}