From 350704ab13b17952eb02ddde3e5bce5a61bb5f14 Mon Sep 17 00:00:00 2001 From: "eddyverbruggen@gmail.com" Date: Wed, 29 Mar 2017 17:08:47 +0200 Subject: [PATCH] #3889 Add a 'blur' event to text input fields --- .../ui/editable-text-base/editable-text-base-common.ts | 2 +- .../ui/editable-text-base/editable-text-base.android.ts | 2 ++ tns-core-modules/ui/editable-text-base/editable-text-base.d.ts | 2 ++ .../ui/editable-text-base/editable-text-base.ios.ts | 1 + 4 files changed, 6 insertions(+), 1 deletion(-) 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 eb5e5f0972..aad4feeba7 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 @@ -4,7 +4,7 @@ import { TextBase, Property, CssProperty, Style, Color, booleanConverter } from export * from "../text-base"; export abstract class EditableTextBase extends TextBase implements EditableTextBaseDefinition { - + public static blurEvent = "blur"; public keyboardType: "datetime" | "phone" | "number" | "url" | "email"; public returnKeyType: "done" | "next" | "go" | "search" | "send"; public updateTextTrigger: "focusLost" | "textChanged"; diff --git a/tns-core-modules/ui/editable-text-base/editable-text-base.android.ts b/tns-core-modules/ui/editable-text-base/editable-text-base.android.ts index 4c0a62d24a..dabc636449 100644 --- a/tns-core-modules/ui/editable-text-base/editable-text-base.android.ts +++ b/tns-core-modules/ui/editable-text-base/editable-text-base.android.ts @@ -90,6 +90,8 @@ function initializeEditTextListeners(): void { owner.dismissSoftInput(); dismissKeyboardTimeoutId = null; }, 1); + + owner.notify({ eventName: EditableTextBase.blurEvent, object: owner }); } } diff --git a/tns-core-modules/ui/editable-text-base/editable-text-base.d.ts b/tns-core-modules/ui/editable-text-base/editable-text-base.d.ts index 3001787d42..c9028b037f 100644 --- a/tns-core-modules/ui/editable-text-base/editable-text-base.d.ts +++ b/tns-core-modules/ui/editable-text-base/editable-text-base.d.ts @@ -13,6 +13,8 @@ export const placeholderColorProperty: CssProperty; * Represents the base class for all editable text views. */ export class EditableTextBase extends TextBase { + public static blurEvent: string; + /** * Gets or sets the soft keyboard type. Possible values are contained in the [KeyboardType enumeration](../enums/KeyboardType/README.md). */ diff --git a/tns-core-modules/ui/editable-text-base/editable-text-base.ios.ts b/tns-core-modules/ui/editable-text-base/editable-text-base.ios.ts index b34f03e57f..e3a26d3f7e 100644 --- a/tns-core-modules/ui/editable-text-base/editable-text-base.ios.ts +++ b/tns-core-modules/ui/editable-text-base/editable-text-base.ios.ts @@ -10,6 +10,7 @@ export abstract class EditableTextBase extends EditableTextBaseCommon { public nativeView: UITextField | UITextView; public dismissSoftInput() { this.nativeView.resignFirstResponder(); + this.notify({ eventName: EditableTextBase.blurEvent, object: this }); } [keyboardTypeProperty.getDefault](): "datetime"| "phone" | "number" | "url" | "email" | string {