added more logic to the text/value properties

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2024-02-29 14:19:51 -06:00
parent e7a1698602
commit c75064e84e
3 changed files with 24 additions and 6 deletions

View File

@ -198,8 +198,20 @@ open class EntryFieldBase: Control, Changeable, FormFieldable {
open var maxLength: Int? { didSet { setNeedsUpdate() } }
open var inputId: String? { didSet { setNeedsUpdate() } }
/// The text of this textField.
private var _value: AnyHashable?
open var value: AnyHashable? {
get { _value }
set {
if let newValue, newValue != _value {
_value = newValue
text = newValue as? String
}
setNeedsUpdate()
}
}
open var value: AnyHashable? { didSet { setNeedsUpdate() } }
open var defaultValue: AnyHashable? { didSet { setNeedsUpdate() } }

View File

@ -82,8 +82,11 @@ open class InputField: EntryFieldBase, UITextFieldDelegate {
open override var text: String? {
get { textField.text }
set {
textField.text = newValue
value = newValue
if let newValue, newValue != text {
textField.text = newValue
value = newValue
}
setNeedsUpdate()
}
}

View File

@ -107,12 +107,15 @@ open class TextArea: EntryFieldBase {
}
}
/// The text of this textField.
/// The text of this textView
open override var text: String? {
get { textView.text }
set {
textView.text = newValue
value = newValue
if let newValue, newValue != text {
textView.text = newValue
value = newValue
}
setNeedsUpdate()
}
}