1
|
import {Component, Input, Output, EventEmitter} from '@angular/core';
|
2
|
import {RouterHelper} from '../../utils/routerHelper.class';
|
3
|
import {Router} from '@angular/router';
|
4
|
|
5
|
@Component({
|
6
|
selector: 'search-form',
|
7
|
template: `
|
8
|
|
9
|
<form [class]="((isDisabled)?'uk-disabled':'')+(setFormCentered?' uk-text-center':'')">
|
10
|
<div class="uk-inline">
|
11
|
<a *ngIf="keyword.length > 0" class="uk-form-icon uk-form-icon-flip"
|
12
|
(click)="keyword = ''; keywordChanged()"
|
13
|
uk-icon="icon: close"></a>
|
14
|
<input type="text" class="uk-input text-input-box uk-width-xlarge@l uk-width-large@m uk-width-medium"
|
15
|
[placeholder]="placeholderText" aria-describedby="sizing-addon2"
|
16
|
[(ngModel)]="keyword" name="keyword">
|
17
|
</div>
|
18
|
<button *ngIf="!link" (click)="keywordChanged()" type="submit" class=" uk-button portal-button uk-margin-small-left">
|
19
|
Search
|
20
|
</button>
|
21
|
<button *ngIf="link" (click)="goTo()" type="submit" class="uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-small-left">
|
22
|
Search
|
23
|
</button>
|
24
|
</form>
|
25
|
`
|
26
|
})
|
27
|
|
28
|
export class SearchFormComponent {
|
29
|
@Input() isDisabled: boolean = false;
|
30
|
@Input() keyword: string = '';
|
31
|
@Input() generalSearch: boolean = false;
|
32
|
@Input() placeholderText: string = "Type keywords";
|
33
|
@Input() link: string = "";
|
34
|
@Input() setFormCentered: boolean = true;
|
35
|
public routerHelper:RouterHelper = new RouterHelper();
|
36
|
|
37
|
@Output() keywordChange = new EventEmitter();
|
38
|
|
39
|
constructor (private _router:Router) {
|
40
|
}
|
41
|
|
42
|
ngOnInit() {
|
43
|
|
44
|
}
|
45
|
|
46
|
keywordChanged() {
|
47
|
//console.info("inside form: "+this.keyword);
|
48
|
this.keywordChange.emit({
|
49
|
value: this.keyword
|
50
|
});
|
51
|
}
|
52
|
goTo() {
|
53
|
//this._router.navigate(['/search/find'], { queryParams: this.routerHelper.createQueryParam('keyword',this.keyword) });
|
54
|
this._router.navigate([this.link], { queryParams: this.routerHelper.createQueryParam('keyword',this.keyword) });
|
55
|
}
|
56
|
}
|