diff --git a/VDS/Components/TextFields/EntryFieldBase.swift b/VDS/Components/TextFields/EntryFieldBase.swift index f6bba297..c57a3432 100644 --- a/VDS/Components/TextFields/EntryFieldBase.swift +++ b/VDS/Components/TextFields/EntryFieldBase.swift @@ -186,13 +186,7 @@ open class EntryFieldBase: Control, Changeable, FormFieldInternalValidatable { setNeedsUpdate() } } - - /// Override this to conveniently get/set the textfield(s). - open var text: String? { - get { nil } - set { fatalError("You MUST override EntryField's 'text' variable in your subclass.") } - } - + open var tooltipModel: Tooltip.TooltipModel? { didSet { setNeedsUpdate() } } open var transparentBackground: Bool = false { didSet { setNeedsUpdate() } } @@ -201,18 +195,7 @@ open class EntryFieldBase: Control, Changeable, FormFieldInternalValidatable { open var inputId: String? { didSet { setNeedsUpdate() } } - /// The text of this textField. - private var _value: String? - open var value: String? { - get { _value } - set { - if let newValue, newValue != _value { - _value = newValue - text = newValue - } - setNeedsUpdate() - } - } + open var value: String? { didSet { setNeedsUpdate() } } open var defaultValue: AnyHashable? { didSet { setNeedsUpdate() } } diff --git a/VDS/Components/TextFields/InputField/InputField.swift b/VDS/Components/TextFields/InputField/InputField.swift index ebd76525..b739b577 100644 --- a/VDS/Components/TextFields/InputField/InputField.swift +++ b/VDS/Components/TextFields/InputField/InputField.swift @@ -79,7 +79,7 @@ open class InputField: EntryFieldBase, UITextFieldDelegate { open var fieldType: FieldType = .text { didSet { setNeedsUpdate() } } /// The text of this textField. - open override var text: String? { + open var text: String? { get { textField.text } set { if let newValue, newValue != text { @@ -89,6 +89,19 @@ open class InputField: EntryFieldBase, UITextFieldDelegate { setNeedsUpdate() } } + + /// The value of this textField. + private var _value: String? + open override var value: String? { + get { _value } + set { + if let newValue, newValue != _value { + _value = newValue + text = newValue + } + setNeedsUpdate() + } + } var _showError: Bool = false /// Whether not to show the error. diff --git a/VDS/Components/TextFields/TextArea/TextArea.swift b/VDS/Components/TextFields/TextArea/TextArea.swift index 5ce47b1f..ee09ecb3 100644 --- a/VDS/Components/TextFields/TextArea/TextArea.swift +++ b/VDS/Components/TextFields/TextArea/TextArea.swift @@ -108,7 +108,7 @@ open class TextArea: EntryFieldBase { /// The text of this textView private var _text: String? - open override var text: String? { + open var text: String? { get { textView.text } set { if let newValue, newValue != _text { @@ -119,6 +119,19 @@ open class TextArea: EntryFieldBase { setNeedsUpdate() } } + + /// The text of this textField. + private var _value: String? + open override var value: String? { + get { _value } + set { + if let newValue, newValue != _value { + _value = newValue + text = newValue + } + setNeedsUpdate() + } + } /// UITextView shown in the TextArea. open var textView = TextView().with {