2018-11-21 16:24:14 +01:00
|
|
|
import {Component, Input, Output, EventEmitter} from '@angular/core';
|
|
|
|
|
|
|
|
@Component({
|
|
|
|
selector: 'search-sorting',
|
2020-03-13 17:11:36 +01:00
|
|
|
template: `
|
|
|
|
<div>
|
|
|
|
<mat-form-field class="matSelectionFormField">
|
|
|
|
<mat-label>Sort by:</mat-label>
|
2020-06-05 14:56:28 +02:00
|
|
|
<mat-select *ngIf="(entityType != 'community' && entityType != 'stakeholder' )"
|
2020-03-13 17:11:36 +01:00
|
|
|
[(ngModel)]="sortBy" (ngModelChange)="sortByChanged()"
|
|
|
|
[disableOptionCentering]="true"
|
|
|
|
panelClass="matSelectionPanel"
|
|
|
|
class="uk-text-bold matSelection">
|
2020-07-14 15:13:44 +02:00
|
|
|
<mat-option value="" [disabled]="isDisabled">Relevance</mat-option>
|
|
|
|
<mat-option value="resultdateofacceptance,descending" [disabled]="isDisabled">Date (most recent)</mat-option>
|
|
|
|
<mat-option value="resultdateofacceptance,ascending" [disabled]="isDisabled">Date (least recent)</mat-option>
|
2020-03-13 17:11:36 +01:00
|
|
|
</mat-select>
|
|
|
|
|
2020-06-05 14:56:28 +02:00
|
|
|
<mat-select *ngIf="(entityType == 'community' || entityType == 'stakeholder')"
|
2020-03-13 17:11:36 +01:00
|
|
|
class="uk-text-bold matSelection"
|
|
|
|
id="form-horizontal-select" name="select_results_per_page"
|
|
|
|
[(ngModel)]="sortBy" (ngModelChange)="sortByChanged()"
|
|
|
|
[disableOptionCentering]="true"
|
|
|
|
panelClass="matSelectionPanel">
|
2020-07-14 15:13:44 +02:00
|
|
|
<mat-option value="" [disabled]="isDisabled">Title</mat-option>
|
|
|
|
<mat-option value="creationdate,descending" [disabled]="isDisabled">Creation Date (most recent)</mat-option>
|
|
|
|
<mat-option value="creationdate,ascending" [disabled]="isDisabled">Creation Date (least recent)</mat-option>
|
2020-03-13 17:11:36 +01:00
|
|
|
</mat-select>
|
|
|
|
</mat-form-field>
|
|
|
|
</div>
|
2018-11-21 16:24:14 +01:00
|
|
|
`
|
|
|
|
})
|
|
|
|
|
|
|
|
export class SearchSortingComponent {
|
2020-07-14 15:13:44 +02:00
|
|
|
@Input() isDisabled: boolean = false;
|
2019-04-05 19:21:23 +02:00
|
|
|
@Input() sortBy: string = '';
|
|
|
|
@Input() entityType: string = '';
|
2018-11-21 16:24:14 +01:00
|
|
|
@Output() sortByChange = new EventEmitter();
|
|
|
|
|
|
|
|
|
2019-04-05 19:21:23 +02:00
|
|
|
constructor () {}
|
2018-11-21 16:24:14 +01:00
|
|
|
|
|
|
|
ngOnInit() {}
|
|
|
|
|
|
|
|
|
|
|
|
sortByChanged() {
|
|
|
|
this.sortByChange.emit({
|
|
|
|
value: this.sortBy
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|