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