diff --git a/ionic/components/searchbar/searchbar.ts b/ionic/components/searchbar/searchbar.ts index 33a5f101b9..47bf07d433 100644 --- a/ionic/components/searchbar/searchbar.ts +++ b/ionic/components/searchbar/searchbar.ts @@ -47,6 +47,8 @@ export class SearchbarInput { * @property {string} [placeholder=Search] - Sets input placeholder to the value passed in * * @property {Any} [input] - Expression to evaluate when the Searchbar input has changed + * @property {Any} [blur] - Expression to evaluate when the Searchbar input has blurred + * @property {Any} [focus] - Expression to evaluate when the Searchbar input has focused * @property {Any} [cancel] - Expression to evaluate when the cancel button is clicked. * @property {Any} [clear] - Expression to evaluate when the clear input button is clicked. * @@ -75,6 +77,8 @@ export class Searchbar extends Ion { @Input() ngModel: any; @Output() input: EventEmitter = new EventEmitter(); + @Output() blur: EventEmitter = new EventEmitter(); + @Output() focus: EventEmitter = new EventEmitter(); @Output() cancel: EventEmitter = new EventEmitter(); @Output() clear: EventEmitter = new EventEmitter(); @@ -147,6 +151,8 @@ export class Searchbar extends Ion { * Sets the Searchbar to focused and aligned left on input focus. */ inputFocused() { + this.focus.emit(this); + this.isFocused = true; this.shouldLeftAlign = true; } @@ -164,6 +170,8 @@ export class Searchbar extends Ion { this.blurInput = true; return; } + this.blur.emit(this); + this.isFocused = false; this.shouldLeftAlign = this.value && this.value.trim() != ''; } diff --git a/ionic/components/searchbar/test/floating/index.ts b/ionic/components/searchbar/test/floating/index.ts index d13a79cb3d..c2b119d666 100644 --- a/ionic/components/searchbar/test/floating/index.ts +++ b/ionic/components/searchbar/test/floating/index.ts @@ -27,4 +27,12 @@ class E2EApp { triggerInput(searchbar) { console.log("Triggered input", searchbar); } + + inputBlurred(searchbar) { + console.log("Blurred input", searchbar); + } + + inputFocused(searchbar) { + console.log("Focused input", searchbar); + } } diff --git a/ionic/components/searchbar/test/floating/main.html b/ionic/components/searchbar/test/floating/main.html index 49fde59f8c..cc832ce813 100644 --- a/ionic/components/searchbar/test/floating/main.html +++ b/ionic/components/searchbar/test/floating/main.html @@ -1,6 +1,6 @@
Search - Default
- +

defaultSearch: {{ defaultSearch }}