moved formvalidation to publisher
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
998ad97372
commit
57bec1ecec
@ -65,7 +65,17 @@ import VDS
|
||||
self.init(frame: .zero)
|
||||
isSelected = isChecked
|
||||
}
|
||||
|
||||
|
||||
open override func setup() {
|
||||
super.setup()
|
||||
publisher(for: .valueChanged)
|
||||
.sink { [weak self] control in
|
||||
guard let self, isEnabled else { return }
|
||||
viewModel?.selected = isSelected
|
||||
_ = FormValidator.validate(delegate: delegateObject?.formHolderDelegate)
|
||||
}.store(in: &subscribers)
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Actions
|
||||
//--------------------------------------------------
|
||||
@ -75,14 +85,6 @@ import VDS
|
||||
toggle()
|
||||
}
|
||||
|
||||
open override func toggle() {
|
||||
super.toggle()
|
||||
|
||||
guard isEnabled else { return }
|
||||
viewModel.selected = isSelected
|
||||
_ = FormValidator.validate(delegate: delegateObject?.formHolderDelegate)
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Methods
|
||||
//--------------------------------------------------
|
||||
|
||||
@ -26,15 +26,6 @@ import VDS
|
||||
open var fieldValue: JSONValue?
|
||||
open var groupName: String?
|
||||
|
||||
open override var isSelected: Bool {
|
||||
didSet {
|
||||
viewModel.state = isSelected
|
||||
if oldValue != isSelected {
|
||||
sendActions(for: .valueChanged)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
lazy public var radioGroupName: String? = { viewModel.fieldKey }()
|
||||
|
||||
lazy public var radioButtonSelectionHelper: RadioButtonSelectionHelper? = {
|
||||
@ -85,8 +76,18 @@ import VDS
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Lifecycle
|
||||
//--------------------------------------------------
|
||||
public func viewModelDidUpdate() {
|
||||
//--------------------------------------------------
|
||||
open override func setup() {
|
||||
super.setup()
|
||||
publisher(for: .valueChanged)
|
||||
.sink { [weak self] control in
|
||||
guard let self, isEnabled else { return }
|
||||
viewModel?.state = isSelected
|
||||
_ = FormValidator.validate(delegate: delegateObject?.formHolderDelegate)
|
||||
}.store(in: &subscribers)
|
||||
}
|
||||
|
||||
open func viewModelDidUpdate() {
|
||||
|
||||
//events
|
||||
viewModel.updateUI = {
|
||||
@ -119,7 +120,7 @@ import VDS
|
||||
if let radioButtonSelectionHelper {
|
||||
radioButtonSelectionHelper.selected(self)
|
||||
} else {
|
||||
isSelected = !isSelected
|
||||
isSelected.toggle()
|
||||
}
|
||||
|
||||
if let actionModel = viewModel.action, isSelected, !wasPreviouslySelected {
|
||||
@ -127,7 +128,7 @@ import VDS
|
||||
try await Button.performButtonAction(with: actionModel, button: self, delegateObject: delegateObject, additionalData: additionalData, sourceModel: viewModel)
|
||||
}
|
||||
}
|
||||
_ = FormValidator.validate(delegate: delegateObject?.formHolderDelegate)
|
||||
sendActions(for: .valueChanged)
|
||||
setNeedsUpdate()
|
||||
}
|
||||
|
||||
|
||||
@ -23,16 +23,18 @@ import VDS
|
||||
//--------------------------------------------------
|
||||
// MARK: - Life Cycle
|
||||
//--------------------------------------------------
|
||||
@objc open func updateView(_ size: CGFloat) {}
|
||||
|
||||
open override func toggle() {
|
||||
super.toggle()
|
||||
open override func setup() {
|
||||
super.setup()
|
||||
|
||||
guard isEnabled else { return }
|
||||
viewModel.checkbox.selected = isSelected
|
||||
_ = FormValidator.validate(delegate: delegateObject?.formHolderDelegate)
|
||||
publisher(for: .valueChanged)
|
||||
.sink { [weak self] control in
|
||||
guard let self, isEnabled else { return }
|
||||
viewModel?.checkbox.selected = isSelected
|
||||
_ = FormValidator.validate(delegate: delegateObject?.formHolderDelegate)
|
||||
}.store(in: &subscribers)
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Atomic
|
||||
//--------------------------------------------------
|
||||
@ -100,6 +102,8 @@ import VDS
|
||||
|
||||
}
|
||||
|
||||
@objc open func updateView(_ size: CGFloat) {}
|
||||
|
||||
open class func estimatedHeight(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?) -> CGFloat? {
|
||||
return 200
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user