diff --git a/VDS/Components/SelectorBase/SelectorBase.swift b/VDS/Components/SelectorBase/SelectorBase.swift index 0104c775..91db8efa 100644 --- a/VDS/Components/SelectorBase/SelectorBase.swift +++ b/VDS/Components/SelectorBase/SelectorBase.swift @@ -286,7 +286,7 @@ open class SelectorBase: Control, Changable /// Follow the SwiftUI View paradigm /// - Parameter viewModel: state open override func shouldUpdateView(viewModel: ModelType) -> Bool { - return true + fatalError("Must Override") } open override func updateView(viewModel: ModelType) { @@ -301,5 +301,13 @@ open class SelectorBase: Control, Changable setNeedsLayout() layoutIfNeeded() } + + public func selectedPublisher() -> AnyPublisher { + self.publisher(for: \.isSelected) + .map({ _ in + return self.model + }) + .eraseToAnyPublisher() + } }