import { Component, HostBinding, ViewChild, Input, OnInit, ElementRef, AfterViewInit } from '@angular/core'; 
 | 
  
 | 
@Component({ 
 | 
    selector: 'header-search', 
 | 
    template: ` 
 | 
    <nz-input nzPlaceHolder='{{ "top-search-ph" | translate}}' [(ngModel)]="q" 
 | 
        (nzFocus)="qFocus()" (nzBlur)="qBlur()"> 
 | 
        <ng-template #prefix> 
 | 
            <i class="anticon anticon-search"></i> 
 | 
        </ng-template> 
 | 
    </nz-input> 
 | 
    ` 
 | 
}) 
 | 
export class HeaderSearchComponent implements AfterViewInit { 
 | 
  
 | 
    q: string; 
 | 
  
 | 
    qIpt: HTMLInputElement; 
 | 
  
 | 
    @HostBinding('class.header-search__focus') 
 | 
    focus = false; 
 | 
  
 | 
    @HostBinding('class.header-search__toggled') 
 | 
    searchToggled = false; 
 | 
  
 | 
    @Input() 
 | 
    set toggleChange(value: boolean) { 
 | 
        if (typeof value === 'undefined') return; 
 | 
        console.log('toggleChange', value); 
 | 
        this.searchToggled = true; 
 | 
        this.focus = true; 
 | 
        setTimeout(() => this.qIpt.focus(), 300); 
 | 
    } 
 | 
  
 | 
    constructor(private el: ElementRef) {} 
 | 
  
 | 
    ngAfterViewInit() { 
 | 
        this.qIpt = (this.el.nativeElement as HTMLElement).querySelector('.ant-input') as HTMLInputElement; 
 | 
    } 
 | 
  
 | 
    qFocus() { 
 | 
        this.focus = true; 
 | 
    } 
 | 
  
 | 
    qBlur() { 
 | 
        this.focus = false; 
 | 
        this.searchToggled = false; 
 | 
    } 
 | 
} 
 |