Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
db018ac32b
commit
036d9462a8
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
import UIKit
|
import UIKit
|
||||||
|
import Combine
|
||||||
|
|
||||||
public protocol SelectorGroupModel<SelectorType>: Modelable, FormFieldable {
|
public protocol SelectorGroupModel<SelectorType>: Modelable, FormFieldable {
|
||||||
associatedtype SelectorType: SelectorModel
|
associatedtype SelectorType: SelectorModel
|
||||||
@ -37,7 +37,7 @@ open class SelectorGroup<SelectorType, SelectorGroupType: SelectorGroupModel<Sel
|
|||||||
// MARK: - Private Properties
|
// MARK: - Private Properties
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
private var mainStackView: UIStackView = {
|
private var mainStackView: UIStackView = {
|
||||||
let stackView = UIStackView()
|
let stackView = UIStackView()
|
||||||
stackView.translatesAutoresizingMaskIntoConstraints = false
|
stackView.translatesAutoresizingMaskIntoConstraints = false
|
||||||
stackView.alignment = .top
|
stackView.alignment = .top
|
||||||
stackView.axis = .vertical
|
stackView.axis = .vertical
|
||||||
@ -109,8 +109,8 @@ open class SelectorGroup<SelectorType, SelectorGroupType: SelectorGroupModel<Sel
|
|||||||
self?.didSelect(selected: model)
|
self?.didSelect(selected: model)
|
||||||
}.store(in: &cancellables)
|
}.store(in: &cancellables)
|
||||||
|
|
||||||
|
//add model update to the subscribers
|
||||||
newSelectorView.$model.sink { [weak self] model in
|
newSelectorView.$model.sink { [weak self] model in
|
||||||
//should replace
|
|
||||||
if let cached = self?.getCachedSelector(viewModel: model), newSelectorView.shouldUpdateView(viewModel: cached) {
|
if let cached = self?.getCachedSelector(viewModel: model), newSelectorView.shouldUpdateView(viewModel: cached) {
|
||||||
self?.replace(viewModel: model)
|
self?.replace(viewModel: model)
|
||||||
}
|
}
|
||||||
@ -142,4 +142,5 @@ open class SelectorGroup<SelectorType, SelectorGroupType: SelectorGroupModel<Sel
|
|||||||
}
|
}
|
||||||
|
|
||||||
open func didSelect(selected: SelectorType) { }
|
open func didSelect(selected: SelectorType) { }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user