diff --git a/tns-core-modules/ui/editable-text-base/editable-text-base-common.ts b/tns-core-modules/ui/editable-text-base/editable-text-base-common.ts index 495df9f91..04d3400b7 100644 --- a/tns-core-modules/ui/editable-text-base/editable-text-base-common.ts +++ b/tns-core-modules/ui/editable-text-base/editable-text-base-common.ts @@ -1,5 +1,5 @@ import { EditableTextBase as EditableTextBaseDefinition, KeyboardType, ReturnKeyType, UpdateTextTrigger, AutocapitalizationType } from "."; -import { TextBase, Property, CssProperty, Style, Color, booleanConverter, makeValidator, makeParser } from "../text-base"; +import { TextBase, Property, CssProperty, Style, Color, booleanConverter, makeValidator, makeParser, PseudoClassHandler } from "../text-base"; export * from "../text-base"; @@ -18,6 +18,17 @@ export abstract class EditableTextBase extends TextBase implements EditableTextB public abstract dismissSoftInput(); public abstract _setInputType(inputType: number): void; + + private _focusHandler = () => this._goToVisualState("focus"); + private _blurHandler = () => this._goToVisualState("blur"); + + @PseudoClassHandler("focus", "blur") + _updateHandler(subscribe) { + const method = subscribe ? "on" : "off"; + + this[method]("focus", this._focusHandler); + this[method]("blur", this._blurHandler); + }; } // TODO: Why not name it - hintColor property??