reverted code in case the isSelected is set directly
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
c2cb8781d6
commit
5e116e3c91
@ -38,6 +38,23 @@ import VDS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Disables all selection logic when setting the value of isSelected, reducing it to a stored property.
|
||||||
|
open var updateSelectionOnly: Bool = false
|
||||||
|
|
||||||
|
/**
|
||||||
|
The represented state of the Checkbox.
|
||||||
|
|
||||||
|
Setting updateSelectionOnly to true bypasses the animation logic inherent with setting this property.
|
||||||
|
*/
|
||||||
|
override open var isSelected: Bool {
|
||||||
|
didSet {
|
||||||
|
if !updateSelectionOnly {
|
||||||
|
viewModel.selected = isSelected
|
||||||
|
_ = FormValidator.validate(delegate: delegateObject?.formHolderDelegate)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Initializers
|
// MARK: - Initializers
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -66,16 +83,6 @@ 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
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -136,7 +143,12 @@ import VDS
|
|||||||
//properties
|
//properties
|
||||||
isEnabled = viewModel.enabled && !viewModel.readOnly
|
isEnabled = viewModel.enabled && !viewModel.readOnly
|
||||||
isAnimated = viewModel.animated
|
isAnimated = viewModel.animated
|
||||||
isSelected = viewModel.selected
|
|
||||||
|
if viewModel.selected {
|
||||||
|
updateSelectionOnly = true
|
||||||
|
isSelected = viewModel.selected
|
||||||
|
updateSelectionOnly = false
|
||||||
|
}
|
||||||
|
|
||||||
//events
|
//events
|
||||||
viewModel.updateUI = {
|
viewModel.updateUI = {
|
||||||
|
|||||||
@ -20,19 +20,21 @@ import VDS
|
|||||||
var fieldValue: JSONValue?
|
var fieldValue: JSONValue?
|
||||||
var groupName: String?
|
var groupName: String?
|
||||||
|
|
||||||
//--------------------------------------------------
|
/// Disables all selection logic when setting the value of isSelected, reducing it to a stored property.
|
||||||
// MARK: - Life Cycle
|
open var updateSelectionOnly: Bool = false
|
||||||
//--------------------------------------------------
|
|
||||||
|
|
||||||
open override func setup() {
|
/**
|
||||||
super.setup()
|
The represented state of the Checkbox.
|
||||||
|
|
||||||
publisher(for: .valueChanged)
|
Setting updateSelectionOnly to true bypasses the animation logic inherent with setting this property.
|
||||||
.sink { [weak self] control in
|
*/
|
||||||
guard let self, isEnabled else { return }
|
override open var isSelected: Bool {
|
||||||
viewModel?.checkbox.selected = isSelected
|
didSet {
|
||||||
|
if !updateSelectionOnly {
|
||||||
|
viewModel.checkbox.selected = isSelected
|
||||||
_ = FormValidator.validate(delegate: delegateObject?.formHolderDelegate)
|
_ = FormValidator.validate(delegate: delegateObject?.formHolderDelegate)
|
||||||
}.store(in: &subscribers)
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -73,7 +75,12 @@ import VDS
|
|||||||
//properties
|
//properties
|
||||||
isAnimated = viewModel.checkbox.animated
|
isAnimated = viewModel.checkbox.animated
|
||||||
isEnabled = viewModel.checkbox.enabled && !viewModel.checkbox.readOnly
|
isEnabled = viewModel.checkbox.enabled && !viewModel.checkbox.readOnly
|
||||||
isSelected = viewModel.checkbox.selected
|
|
||||||
|
if viewModel.checkbox.selected {
|
||||||
|
updateSelectionOnly = false
|
||||||
|
isSelected = viewModel.checkbox.selected
|
||||||
|
updateSelectionOnly = true
|
||||||
|
}
|
||||||
|
|
||||||
//events
|
//events
|
||||||
viewModel.checkbox.updateUI = {
|
viewModel.checkbox.updateUI = {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user