added selectedModelHandler/Handler
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
d671492d72
commit
8f63017ce9
@ -11,6 +11,9 @@ import UIKit
|
||||
public class CheckboxGroup: CheckboxGroupBase<DefaultCheckboxGroupModel, Checkbox> {
|
||||
public override func didSelect(_ selectedControl: Checkbox) {
|
||||
selectedControl.toggle()
|
||||
if selectedControl.isSelected, hasError{
|
||||
hasError.toggle()
|
||||
}
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + Constants.ModelStateDebounce) { [weak self] in
|
||||
self?.sendActions(for: .valueChanged)
|
||||
}
|
||||
@ -87,5 +90,11 @@ public class CheckboxGroupBase<GroupModelType: CheckboxGroupModel, ModelHandlerT
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public var selectedModelHandlers: [ModelHandlerType]? {
|
||||
let selected = selectorViews.filter{ $0.isSelected == true }
|
||||
guard selected.count > 0 else { return nil }
|
||||
return selected
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -95,4 +95,14 @@ public class RadioBoxGroupBase<GroupModelType: RadioBoxGroupModel, ModelHandlerT
|
||||
}
|
||||
}
|
||||
|
||||
public var selectedModelHandler: ModelHandlerType? {
|
||||
if let index = selectorViews.firstIndex(where: { element in
|
||||
return element.isSelected == true
|
||||
}) {
|
||||
return selectorViews[index]
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -98,4 +98,14 @@ public class RadioButtonGroupBase<GroupModelType: RadioButtonGroupModel, ModelHa
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public var selectedModelHandler: ModelHandlerType? {
|
||||
if let index = selectorViews.firstIndex(where: { element in
|
||||
return element.isSelected == true
|
||||
}) {
|
||||
return selectorViews[index]
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -225,4 +225,12 @@ public class RadioSwatchGroupBase<GroupModelType: RadioSwatchGroupModel, ModelHa
|
||||
open func didSelect(selector: ModelHandlerType) {
|
||||
fatalError("Must override didSelect")
|
||||
}
|
||||
|
||||
public var selectedModelHandler: ModelHandlerType? {
|
||||
guard let index = model.selectors.firstIndex(where: {$0.selected == true }),
|
||||
let cell = collectionView.cellForItem(at: IndexPath(item: index, section: 0)) as? CollectionViewCell<ModelHandlerType> else {
|
||||
return nil
|
||||
}
|
||||
return cell.modelHandler
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user