libs/facet-search/src/lib/components/result-list/result-list.component.ts
selector | n52-result-list |
styleUrls | ./result-list.component.scss |
templateUrl | ./result-list.component.html |
Properties |
|
Methods |
Inputs |
Outputs |
constructor()
|
facetSearchService | |
Type : FacetSearchService
|
|
selected | |
Type : EventEmitter<HelgolandTimeseries>
|
|
ngOnDestroy |
ngOnDestroy()
|
Returns :
void
|
ngOnInit |
ngOnInit()
|
Returns :
void
|
Public timeseriesSelected | ||||||
timeseriesSelected(ts: HelgolandTimeseries)
|
||||||
Parameters :
Returns :
void
|
Private resultSubs |
Type : Subscription
|
Public timeseries |
Type : HelgolandTimeseries[]
|
import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';
import { HelgolandTimeseries, Required } from '@helgoland/core';
import { Subscription } from 'rxjs';
import { FacetSearchService } from '../../facet-search.service';
@Component({
selector: 'n52-result-list',
templateUrl: './result-list.component.html',
styleUrls: ['./result-list.component.scss']
})
export class ResultListComponent implements OnInit, OnDestroy {
@Input() @Required public facetSearchService: FacetSearchService;
@Output() public selected: EventEmitter<HelgolandTimeseries> = new EventEmitter();
public timeseries: HelgolandTimeseries[];
private resultSubs: Subscription;
constructor() { }
ngOnInit() {
this.resultSubs = this.facetSearchService.getResults().subscribe(ts => this.timeseries = ts);
this.timeseries = this.facetSearchService.getFilteredResults();
}
ngOnDestroy(): void {
this.resultSubs.unsubscribe();
}
public timeseriesSelected(ts: HelgolandTimeseries) {
this.selected.emit(ts);
}
}
<div *ngFor="let ts of timeseries" (click)="timeseriesSelected(ts)">
<div>{{ts.label}}</div>
<div class="small">{{ts.firstValue.timestamp | tzDate: 'L LT z'}} - {{ts.lastValue.timestamp | tzDate: 'L LT z'}}</div>
</div>
./result-list.component.scss