1
|
<div *ngIf="!simpleView">
|
2
|
<a *ngIf="showSwitchSearchLink && simpleSearchLink && simpleSearchLink.length > 0"
|
3
|
routerLinkActive="router-link-active"
|
4
|
[routerLink]=simpleSearchLink style="z-index:1;"
|
5
|
[queryParams]="customFilter?customFilter.getParameters():{}"
|
6
|
[class]="(isDisabled)?'uk-float-right uk-disabled uk-link-muted portal-link uk-margin-right ':'uk-float-right portal-link uk-margin-right '">Quick search
|
7
|
</a>
|
8
|
<h6 class="uk-margin-small-bottom">
|
9
|
Advanced search in
|
10
|
<entities-selection [simpleView]="false" [currentEntity]="entityType"
|
11
|
[properties]="properties" [customFilter]="customFilter" ></entities-selection>
|
12
|
|
13
|
</h6>
|
14
|
</div>
|
15
|
<form *ngIf="!simpleView"
|
16
|
[class]="((isDisabled )?'uk-disabled ':'')
|
17
|
+' advancedSearchForm uk-tile uk-padding-small uk-margin-medium-bottom'">
|
18
|
<div>
|
19
|
|
20
|
|
21
|
<!-- <quick-selections [resultTypes]="resultTypes" (typeChange)="queryChanged()" [isDisabled]="isDisabled"
|
22
|
[quickFilter]="quickFilter" [QFselected]="(quickFilter)?quickFilter.selected:null"
|
23
|
[properties]="properties" class="uk-grid "
|
24
|
></quick-selections>
|
25
|
<hr *ngIf="resultTypes || quickFilter" class="uk-margin-small">-->
|
26
|
<table class=" uk-table uk-table-responsive uk-table-small uk-margin-remove">
|
27
|
<tr>
|
28
|
<td class="uk-text-muted uk-text-uppercase">Field to search</td>
|
29
|
<td class="uk-text-muted uk-text-uppercase uk-width-1-2">Term</td>
|
30
|
</tr>
|
31
|
<tr *ngFor="let selectedField of selectedFields; let i = index">
|
32
|
<td><mat-select [(ngModel)]="selectedField.id" name="selectField_{{i}}" [disableOptionCentering]="true" class="matSelection" panelClass="matSelectionPanel"
|
33
|
(ngModelChange)="fieldIdsChanged(i,selectedField.id)"><!--(click)="fieldIdsChanged(i)" -->
|
34
|
<mat-option *ngFor="let id of fieldIds" [value]="id">{{fieldIdsMap[id].name}} </mat-option>
|
35
|
</mat-select></td>
|
36
|
<td *ngIf="selectedField.type == 'keyword'">
|
37
|
<div class="uk-inline uk-width-expand">
|
38
|
<a *ngIf="selectedField.value.length > 0" class="uk-form-icon uk-form-icon-flip"
|
39
|
(click)="selectedField.value = ''"
|
40
|
uk-icon="icon: close"></a>
|
41
|
<input type="text" class="form-control uk-input"
|
42
|
placeholder="Type keywords..."
|
43
|
[(ngModel)]="selectedField.value" name="value[{{i}}]">
|
44
|
</div>
|
45
|
|
46
|
|
47
|
</td>
|
48
|
<td *ngIf="selectedField.type == 'date'">
|
49
|
<date-filter [dateValue]=selectedField.dateValue [validDateFrom]=validDateFrom class="uk-width-expand"
|
50
|
[validDateTo]=validDateTo></date-filter>
|
51
|
</td>
|
52
|
<td *ngIf=" selectedField.id && selectedField.type == 'vocabulary'">
|
53
|
<static-autocomplete [properties]=properties *ngIf=" selectedField.id" [vocabularyId]=selectedField.param
|
54
|
[fieldId]=selectedField.id
|
55
|
[list]=this.fieldList[selectedField.id] [entityName]="entityType"
|
56
|
[selectedValue]=selectedField.value [showSelected]=true
|
57
|
[placeHolderMessage]="'Search for '+selectedField.name" [title]="selectedField.name"
|
58
|
[multipleSelections]=false
|
59
|
(selectedValueChanged)="valueChanged($event,i)"
|
60
|
(listUpdated)="listUpdated($event,selectedField.id)"></static-autocomplete>
|
61
|
</td>
|
62
|
<td *ngIf=" selectedField.id && selectedField.type == 'refine'" class="uk-width-1-3">
|
63
|
<static-autocomplete [properties]=properties [list]=this.fieldList[selectedField.id]
|
64
|
[fieldId]=selectedField.id [entityName]="entityType" [fieldName]=[selectedField.id]
|
65
|
[selectedValue]=selectedField.value [showSelected]=true
|
66
|
[placeHolderMessage]="'Search for '+selectedField.name" [title]="selectedField.name"
|
67
|
[multipleSelections]=false (selectedValueChanged)="valueChanged($event,i)"
|
68
|
(listUpdated)="listUpdated($event,selectedField.id)"
|
69
|
(updateValueLabel)="updatedValueLabel($event, i)"></static-autocomplete>
|
70
|
</td>
|
71
|
<td *ngIf="selectedField.type == 'entity'">
|
72
|
<entities-autocomplete [properties]=properties [fieldId]=selectedField.id [entityType]=selectedField.param
|
73
|
[selectedValue]=selectedField.value [showSelected]=true
|
74
|
[placeHolderMessage]="'Search for '+selectedField.name" [title]="selectedField.name"
|
75
|
[multipleSelections]=false
|
76
|
(selectedValueChanged)="valueChanged($event,i)"
|
77
|
(updateValueLabel)="updatedValueLabel($event, i)">
|
78
|
</entities-autocomplete>
|
79
|
</td>
|
80
|
|
81
|
<td *ngIf="selectedField.type == 'boolean'" class="input-group">
|
82
|
<span class="input-group-addon">
|
83
|
<input type="radio" [(ngModel)]="selectedField.value" [name]=selectedField.param
|
84
|
value="true">Yes<br>
|
85
|
</span>
|
86
|
<span class="input-group-addon">
|
87
|
<input type="radio" [(ngModel)]="selectedField.value" [name]=selectedField.param
|
88
|
value="false">No<br>
|
89
|
</span>
|
90
|
</td>
|
91
|
<td style="min-width: 75px;"><mat-select *ngIf="i+1 <selectedFields.length"
|
92
|
[(ngModel)]="selectedFields[i+1].operatorId"
|
93
|
name="selectOp_{{i}}" [disableOptionCentering]="true" class="matSelection uk-input" panelClass="matSelectionPanel">
|
94
|
<mat-option *ngFor="let op of operators" (change)="fieldOperatorChanged(i+1, op.id, op.id)"
|
95
|
(click)="fieldOperatorChanged(i+1, op.id, op.id)" [value]="op.id">{{op.id}}</mat-option>
|
96
|
</mat-select>
|
97
|
<div *ngIf="i == selectedFields.length-1 " class=" uk-text-right" style="margin-top: 55px;">
|
98
|
<span class="uk-text-muted uk-text-uppercase uk-margin-small-right " > Add rule</span>
|
99
|
</div>
|
100
|
</td>
|
101
|
<td class=" ">
|
102
|
<span type="button" class="uk-icon-button portal-button-reverse clickable "
|
103
|
(click)="removeField(i)">
|
104
|
<span class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
|
105
|
xmlns="http://www.w3.org/2000/svg" data-svg="minus"><rect height="1" width="18" y="9" x="1"></rect></svg></span>
|
106
|
</span>
|
107
|
<div *ngIf="i == selectedFields.length-1 " class="uk-margin-small-top">
|
108
|
<span type="button"
|
109
|
class="uk-icon-button portal-button clickable "
|
110
|
(click)="addField()">
|
111
|
<span class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20"
|
112
|
xmlns="http://www.w3.org/2000/svg" data-svg="plus"><rect x="9" y="1" width="1" height="17"></rect><rect x="1" y="9" width="17" height="1"></rect></svg></span>
|
113
|
</span>
|
114
|
</div>
|
115
|
</td>
|
116
|
</tr>
|
117
|
</table>
|
118
|
<div class=" uk-text-center">
|
119
|
<div *ngIf="!validDateFrom && validDateTo" class="uk-text-danger">
|
120
|
Please check your <u>from</u> date
|
121
|
</div>
|
122
|
<div *ngIf="!validDateTo && validDateFrom" class="uk-text-danger">
|
123
|
Please check your <u>to</u> date
|
124
|
</div>
|
125
|
<div *ngIf="!validDateFrom && !validDateTo" class="uk-text-danger">
|
126
|
Please check your dates
|
127
|
</div>
|
128
|
</div>
|
129
|
<button (click)="queryChanged()" type="submit"
|
130
|
class=" uk-button uk-padding uk-padding-remove-top uk-padding-remove-bottom portal-button uk-padding uk-padding-remove-top uk-padding-remove-bottom " style="position: absolute;bottom: -19px;left: 45%;"> Search
|
131
|
</button>
|
132
|
</div>
|
133
|
</form>
|
134
|
|
135
|
<div *ngIf="simpleView">
|
136
|
<form [class]="((isDisabled )?'uk-disabled ':'') + ' uk-margin-medium-bottom uk-margin-top' ">
|
137
|
<div class="uk-grid uk-margin-small-left uk-flex" [class.uk-flex-center]="entityType != 'community' && entityType !== 'stakeholder'">
|
138
|
<div
|
139
|
[class]="((entitiesSelection)?'':'uk-width-small@s')+' uk-margin-small-top uk-padding-remove-left'">
|
140
|
<entities-selection *ngIf="entitiesSelection" [simpleView]="true" [currentEntity]="entityType"
|
141
|
[properties]="properties"
|
142
|
(selectionChange)=" simpleEntityChanged($event)"
|
143
|
[onChangeNavigate]="true" [customFilter]="customFilter"></entities-selection>
|
144
|
</div>
|
145
|
<div class="uk-padding-remove-left uk-margin-small-top">
|
146
|
<div class="uk-inline">
|
147
|
<a *ngIf="selectedFields[0].value.length > 0" class="uk-form-icon uk-form-icon-flip"
|
148
|
(click)="selectedFields[0].value = ''"
|
149
|
uk-icon="icon: close"></a>
|
150
|
<input type="text" class="uk-input uk-width-xlarge@l uk-width-large@m uk-width-medium"
|
151
|
[placeholder]="formPlaceholderText" aria-describedby="sizing-addon2"
|
152
|
[(ngModel)]="selectedFields[0].value" name="keyword">
|
153
|
</div>
|
154
|
<!-- <div class=" uk-width-xlarge@l uk-width-large@m uk-width-medium" [class.quickSelectionsBox]="(resultTypes || quickFilter)">
|
155
|
<quick-selections [resultTypes]="resultTypes" (typeChange)="queryChanged()" [isDisabled]="isDisabled"
|
156
|
[quickFilter]="quickFilter" [QFselected]="(quickFilter)?quickFilter.selected:null"
|
157
|
[properties]="properties">
|
158
|
</quick-selections>
|
159
|
</div>-->
|
160
|
</div>
|
161
|
<div class="uk-padding-remove-left uk-margin-small-top">
|
162
|
<button (click)="simpleKeywordChanged(null)" type="submit"
|
163
|
class=" uk-button portal-button uk-margin-small-left uk-text-bold uk-padding uk-padding-remove-top uk-padding-remove-bottom">
|
164
|
Search
|
165
|
</button>
|
166
|
<div class="uk-margin-small-top" *ngIf="showSwitchSearchLink">
|
167
|
<a *ngIf ="this.entityType !='all' && this.entityType == this.selectedEntity && advancedSearchLink" routerLinkActive="router-link-active"
|
168
|
[routerLink]="advancedSearchLink" style="z-index:1;" [queryParams]="advancedSearchLinkParameters"
|
169
|
[class]="(isDisabled)?' uk-disabled uk-link-muted portal-link uk-margin-left ':' portal-link uk-margin-left '">Advanced search
|
170
|
</a>
|
171
|
<a *ngIf =" this.entityType !='all' && this.entityType != this.selectedEntity && selectedEntityAdvancedUrl "
|
172
|
routerLinkActive="router-link-active"
|
173
|
[routerLink]="selectedEntityAdvancedUrl" style="z-index:1;"
|
174
|
[queryParams]="{q:this.selectedFields[0].value,op:'and'}"
|
175
|
[class]="(isDisabled)?' uk-disabled uk-link-muted portal-link uk-margin-left ':' portal-link uk-margin-left '">Advanced search
|
176
|
</a>
|
177
|
<a *ngIf="this.entityType=='all'" class="portal-link uk-margin-left">Advanced Search</a>
|
178
|
<div *ngIf="this.entityType =='all'" uk-dropdown class="uk-dropdown default-dropdown">
|
179
|
<ul class="uk-list uk-margin-remove-bottom">
|
180
|
<li><a
|
181
|
[routerLink]="properties.searchLinkToAdvancedResults" [queryParams]="advancedSearchLinkParameters"
|
182
|
>Research
|
183
|
outcomes</a></li>
|
184
|
<li><a
|
185
|
[routerLink]="properties.searchLinkToAdvancedProjects" [queryParams]="advancedSearchLinkParameters" >
|
186
|
Projects</a></li>
|
187
|
<li><a
|
188
|
[routerLink]="properties.searchLinkToAdvancedDataProviders" [queryParams]="advancedSearchLinkParameters">
|
189
|
Content providers</a></li>
|
190
|
<li><a
|
191
|
[routerLink]="properties.searchLinkToAdvancedOrganizations" [queryParams]="advancedSearchLinkParameters">
|
192
|
Organizations</a></li>
|
193
|
</ul>
|
194
|
</div>
|
195
|
</div>
|
196
|
</div>
|
197
|
</div>
|
198
|
</form>
|
199
|
</div>
|