created protocols for control/view
refactored to use protocols Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
d00a219ebb
commit
12771fa0f2
@ -9,8 +9,7 @@ import Foundation
|
||||
import UIKit
|
||||
import Combine
|
||||
|
||||
|
||||
open class Control<ModelType: Modelable>: UIControl, ModelHandlerable, ViewProtocol, Resettable {
|
||||
open class Control<ModelType: Modelable>: UIControl, ModelHandlerControlable, ViewProtocol, Resettable {
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Combine Properties
|
||||
|
||||
@ -10,7 +10,7 @@ import UIKit
|
||||
import Combine
|
||||
|
||||
|
||||
open class View<ModelType: Modelable>: UIView, ModelHandlerable, ViewProtocol, Resettable {
|
||||
open class View<ModelType: Modelable>: UIView, ModelHandlerViewable, ViewProtocol, Resettable {
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Combine Properties
|
||||
|
||||
@ -23,7 +23,7 @@ public class CheckboxGroup: CheckboxGroupBase<DefaultCheckboxGroupModel, Checkbo
|
||||
}
|
||||
}
|
||||
|
||||
public class CheckboxGroupBase<GroupModelType: CheckboxGroupModel, ModelHandlerType: ModelHandlerable<GroupModelType.SelectorModelType> & UIControl>: SelectorGroupHandlerBase<GroupModelType, ModelHandlerType> {
|
||||
public class CheckboxGroupBase<GroupModelType: CheckboxGroupModel, ModelHandlerType: ModelHandlerControlable<GroupModelType.SelectorModelType>>: SelectorGroupHandlerBase<GroupModelType, ModelHandlerType> {
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Public Properties
|
||||
|
||||
@ -31,7 +31,7 @@ public class RadioBoxGroup: RadioBoxGroupBase<DefaultRadioBoxGroupModel, RadioBo
|
||||
}
|
||||
}
|
||||
|
||||
public class RadioBoxGroupBase<GroupModelType: RadioBoxGroupModel, ModelHandlerType: ModelHandlerable<GroupModelType.SelectorModelType> & UIControl>: SelectorGroupSelectedHandlerBase<GroupModelType, ModelHandlerType> {
|
||||
public class RadioBoxGroupBase<GroupModelType: RadioBoxGroupModel, ModelHandlerType: ModelHandlerControlable<GroupModelType.SelectorModelType>>: SelectorGroupSelectedHandlerBase<GroupModelType, ModelHandlerType> {
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Private Properties
|
||||
|
||||
@ -34,7 +34,7 @@ public class RadioButtonGroup: RadioButtonGroupBase<DefaultRadioButtonGroupModel
|
||||
}
|
||||
}
|
||||
|
||||
public class RadioButtonGroupBase<GroupModelType: RadioButtonGroupModel, ModelHandlerType: ModelHandlerable<GroupModelType.SelectorModelType> & UIControl>: SelectorGroupSelectedHandlerBase<GroupModelType, ModelHandlerType> {
|
||||
public class RadioButtonGroupBase<GroupModelType: RadioButtonGroupModel, ModelHandlerType: ModelHandlerControlable<GroupModelType.SelectorModelType>>: SelectorGroupSelectedHandlerBase<GroupModelType, ModelHandlerType> {
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Public Properties
|
||||
|
||||
@ -32,7 +32,7 @@ public class RadioSwatchGroup: RadioSwatchGroupBase<DefaultRadioSwatchGroupModel
|
||||
|
||||
}
|
||||
|
||||
public class RadioSwatchGroupBase<GroupModelType: RadioSwatchGroupModel, ModelHandlerType: ModelHandlerable<GroupModelType.SelectorModelType> & UIControl>: Control<GroupModelType>, Changable, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout, UICollectionViewDelegate {
|
||||
public class RadioSwatchGroupBase<GroupModelType: RadioSwatchGroupModel, ModelHandlerType: ModelHandlerControlable<GroupModelType.SelectorModelType>>: Control<GroupModelType>, Changable, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout, UICollectionViewDelegate {
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Public Properties
|
||||
|
||||
@ -42,3 +42,7 @@ extension ModelHandlerable {
|
||||
.store(in: &subscribers)
|
||||
}
|
||||
}
|
||||
|
||||
public protocol ModelHandlerControlable<ModelType>: ModelHandlerable & UIControl {}
|
||||
|
||||
public protocol ModelHandlerViewable<ModelType>: ModelHandlerable & UIView {}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user