1
|
<div class="uk-margin-small-bottom">
|
2
|
<div class="uk-margin-small-top uk-margin-bottom uk-grid uk-flex uk-flex-bottom">
|
3
|
<h6 class="uk-margin-bottom-remove">{{_formatTitle(filter.title)}}</h6>
|
4
|
<a *ngIf="filter.selectedFromValue || filter.selectedToValue" (click)="clearFilter()"
|
5
|
[class]="(isDisabled ? 'uk-disabled' : '') + ' portal-link'">
|
6
|
Clear
|
7
|
</a>
|
8
|
</div>
|
9
|
<div aria-expanded="false">
|
10
|
<div>
|
11
|
<div class = "uk-animation-fade filterItem searchFilterItem uk-text-small">
|
12
|
<div class="searchFilterBoxValues ">
|
13
|
<form [class]="(isDisabled ? 'uk-disabled' : '') + ' uk-inline uk-text-small form-group uk-margin-remove-bottom'"
|
14
|
#rangeForm="ngForm" fromYearAfterToYear [rangeRequired]="mandatoryRange">
|
15
|
<input class=" uk-input form-control uk-width-1-3 uk-form-small" (focus)="focusedInput = 'from'"
|
16
|
(blur)="focusedInput = ''"
|
17
|
[(ngModel)]="filter.selectedFromValue" name="yearFrom" #yearFrom="ngModel" inValidYear
|
18
|
[maxYear]="yearMax" [minYear]="yearMin"
|
19
|
[placeholder]="'e.g. ' + yearMin " />
|
20
|
<span class="uk-margin-small-left uk-margin-small-right">-</span>
|
21
|
<input class=" uk-input form-control uk-width-1-3 uk-form-small" (focus)="focusedInput = 'to'"
|
22
|
(blur)="focusedInput = ''"
|
23
|
[(ngModel)]="filter.selectedToValue" name="yearTo" #yearTo="ngModel" inValidYear
|
24
|
[maxYear]="yearMax" [minYear]="yearMin"
|
25
|
[placeholder]="'e.g. ' + yearMax "/>
|
26
|
<button type="submit" (click)="yearChanged()"
|
27
|
[ngStyle]="{'cursor': (rangeForm.valid && (yearFrom.dirty || yearTo.dirty)) ? 'pointer' : 'default'}"
|
28
|
class="uk-icon uk-icon-button uk-margin-small-left uk-text-right uk-button-default"
|
29
|
[disabled]="isDisabled || rangeForm.invalid || (!yearFrom.dirty && !yearTo.dirty)">
|
30
|
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"
|
31
|
icon="chevron-right" ratio="1">
|
32
|
<polyline fill="none" stroke="#000" stroke-width="1.03" points="7 4 13 10 7 16"></polyline>
|
33
|
</svg>
|
34
|
</button>
|
35
|
|
36
|
<div *ngIf="(yearFrom.invalid && focusedInput != 'from' && (yearFrom.dirty || yearFrom.touched)) ||
|
37
|
(yearTo.invalid && focusedInput != 'to' && (yearTo.dirty || yearTo.touched))"
|
38
|
class="alert alert-danger uk-margin-small-top uk-margin-remove-bottom">
|
39
|
<div *ngIf="(yearFrom.errors && yearFrom.errors.inValidYear) || (yearTo.errors && yearTo.errors.inValidYear)">
|
40
|
Year must be between {{yearMin}} and {{yearMax}}.
|
41
|
</div>
|
42
|
</div>
|
43
|
<div *ngIf="yearFrom.valid && yearTo.valid && rangeForm.errors?.fromYearAfterToYear && (rangeForm.touched || rangeForm.dirty)"
|
44
|
class="alert alert-danger uk-margin-small-top uk-margin-remove-bottom">
|
45
|
Starting year must be greater than or equal to ending year.
|
46
|
</div>
|
47
|
<div *ngIf="yearFrom.valid && yearTo.valid && !rangeForm.errors?.fromYearAfterToYear &&
|
48
|
(rangeForm.touched || rangeForm.dirty) && mandatoryRange && rangeForm.errors?.rangeRequired"
|
49
|
class="alert alert-danger uk-margin-small-top uk-margin-remove-bottom">
|
50
|
Both starting and ending year are required
|
51
|
</div>
|
52
|
|
53
|
<div *ngIf="showQuickButtons">
|
54
|
|
55
|
<!-- Natalia's suggestion-->
|
56
|
<div class="uk-margin-small uk-margin-top uk-text-left">
|
57
|
<ul class="uk-subnav uk-subnav-divider recentyears">
|
58
|
<!-- + (isDisabled ? ' uk-disabled uk-text-muted' : '')"-->
|
59
|
<li>
|
60
|
<a *ngIf="actionRoute" [routerLink]="getRoute()"
|
61
|
[queryParams]="getParams(0,(stringToNum(filter.selectedToValue) ==
|
62
|
currentYear
|
63
|
&&stringToNum(filter.selectedFromValue) == currentYear))"
|
64
|
[class]="'portal-link uk-text-center '
|
65
|
+ ((stringToNum(filter.selectedFromValue) == currentYear && stringToNum(filter.selectedToValue) == currentYear) ? ' uk-text-bold' : '')
|
66
|
"
|
67
|
(click)="yearChanged(0)"
|
68
|
>This year</a>
|
69
|
<a *ngIf="!actionRoute"
|
70
|
[class]="'portal-link uk-text-center '
|
71
|
+ ((stringToNum(filter.selectedFromValue) == currentYear && stringToNum(filter.selectedToValue) == currentYear) ? ' uk-text-bold' : '')
|
72
|
"
|
73
|
(click)="yearChanged(0)"
|
74
|
>This year</a>
|
75
|
</li>
|
76
|
<li><a *ngIf="actionRoute" [routerLink]="getRoute()"
|
77
|
[queryParams]="getParams(4,(stringToNum(filter.selectedToValue) == currentYear
|
78
|
&&stringToNum(filter.selectedFromValue) == currentYear-4))"
|
79
|
[class]="'portal-link uk-text-center '
|
80
|
+ ((stringToNum(filter.selectedToValue) == currentYear && stringToNum(filter.selectedFromValue) == currentYear-4) ? ' uk-text-bold' : '')
|
81
|
"
|
82
|
(click)="yearChanged(4)"
|
83
|
>Last 5 years</a>
|
84
|
<a *ngIf="!actionRoute"
|
85
|
[class]="'portal-link uk-text-center '
|
86
|
+ ((stringToNum(filter.selectedToValue) == currentYear && stringToNum(filter.selectedFromValue) == currentYear-4) ? ' uk-text-bold' : '')
|
87
|
"
|
88
|
(click)="yearChanged(4)"
|
89
|
>Last 5 years</a>
|
90
|
</li>
|
91
|
<li><a *ngIf="actionRoute" [routerLink]="getRoute()"
|
92
|
[queryParams]="getParams(9,(stringToNum(filter.selectedToValue) == currentYear &&stringToNum(filter.selectedFromValue) == currentYear-9))"
|
93
|
[class]="'portal-link uk-text-center '
|
94
|
+ ((stringToNum(filter.selectedToValue) == currentYear && stringToNum(filter.selectedFromValue) == currentYear-9) ? ' uk-text-bold' : '')
|
95
|
"
|
96
|
(click)="yearChanged(9)"
|
97
|
>Last 10 years</a>
|
98
|
<a *ngIf="!actionRoute"
|
99
|
[class]="'portal-link uk-text-center '
|
100
|
+ ((stringToNum(filter.selectedToValue) == currentYear && stringToNum(filter.selectedFromValue) == currentYear-9) ? ' uk-text-bold' : '')
|
101
|
"
|
102
|
(click)="yearChanged(9)"
|
103
|
>Last 10 years</a>
|
104
|
</li>
|
105
|
</ul>
|
106
|
</div>
|
107
|
<!-- End of Natalia's suggestion -->
|
108
|
|
109
|
</div>
|
110
|
</form>
|
111
|
</div>
|
112
|
</div>
|
113
|
</div>
|
114
|
</div>
|
115
|
</div>
|