From bd96705b4e987211346122396613f544eacf586b Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Wed, 7 Dec 2022 10:45:43 -0600 Subject: [PATCH] fixed bug in toggle being out of sync with isSelected Signed-off-by: Matt Bruce --- VDS/Components/Toggle/Toggle.swift | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/VDS/Components/Toggle/Toggle.swift b/VDS/Components/Toggle/Toggle.swift index ab7428f1..9f5e17e0 100644 --- a/VDS/Components/Toggle/Toggle.swift +++ b/VDS/Components/Toggle/Toggle.swift @@ -130,7 +130,15 @@ open class ToggleBase: Control, Accessable, DataTrackable, BinaryColorable { //-------------------------------------------------- // MARK: - Public Properties //-------------------------------------------------- - open var isOn: Bool = false { didSet { didChange() }} + open var isOn: Bool { + get { isSelected } + set { + if isSelected != newValue { + isSelected = newValue + } + didChange() + } + } open var isAnimated: Bool = true { didSet { didChange() }} @@ -292,7 +300,6 @@ open class ToggleBase: Control, Accessable, DataTrackable, BinaryColorable { public override func reset() { super.reset() label.reset() - isSelected = false isOn = false isAnimated = true @@ -313,7 +320,6 @@ open class ToggleBase: Control, Accessable, DataTrackable, BinaryColorable { /// This will toggle the state of the Toggle and execute the actionBlock if provided. open func toggle() { isOn.toggle() - isSelected = isOn sendActions(for: .valueChanged) }