openaire-library/sharedComponents/advanced-search-input/advanced-search-input.compo...

51 lines
1.3 KiB
TypeScript
Raw Normal View History

import {
AfterContentInit,
Component,
ContentChildren,
EventEmitter,
Input,
OnDestroy,
Output,
QueryList
} from "@angular/core";
import {InputComponent} from "../input/input.component";
@Component({
selector: 'advanced-search-input',
template: `
2022-04-06 17:24:14 +02:00
<div class="search-input" [ngClass]="searchInputClass" [class.small-vertical]="smallVertical">
<div class="uk-grid uk-flex-middle" uk-grid>
<div class="uk-width-expand">
<div class="uk-grid uk-grid-collapse inputs" uk-grid>
<ng-content></ng-content>
</div>
</div>
<div class="uk-width-auto">
2022-04-06 17:24:14 +02:00
<div class="search-icon" [class.disabled]="disabled" (click)="searchEmitter.emit()">
<icon name="search" [flex]="true" ratio="1.3"></icon>
</div>
</div>
</div>
</div>
`
})
export class AdvancedSearchInputComponent implements AfterContentInit, OnDestroy {
@ContentChildren(InputComponent) inputs: QueryList<InputComponent>;
@Input() disabled: boolean = false;
2022-04-06 17:24:14 +02:00
@Input() searchInputClass: string = 'inner'
@Input() smallVertical: boolean = false;
@Output() searchEmitter: EventEmitter<void> = new EventEmitter<void>();
constructor() {
}
ngAfterContentInit() {
this.inputs.forEach(input => {
2022-04-06 17:24:14 +02:00
input.inputClass = 'advanced-search';
});
}
ngOnDestroy() {
}
}