Project

General

Profile

1

    
2
<div *ngIf="!includeOnlyResultsAndFilter" class="image-front-topbar  uk-section-default uk-position-relative"
3
      uk-scrollspy="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-fade&quot;,&quot;delay&quot;:false}" tm-header-transparent="light">
4
  <div  style="box-sizing: border-box;  " [class]="' uk-background-norepeat uk-background-cover uk-background-bottom-center uk-section uk-padding-remove-bottom uk-flex uk-flex-middle uk-background-fixed advancedSearchFormBackground '+searchFormClass">
5
    <div class="uk-position-cover" style="/*background-color: rgba(255, 255, 255, 0.37);*/"></div>
6
    <div class="uk-width-1-1">
7
        <div class="uk-position-relative">
8
           <div   class="uk-container uk-margin-large-top">
9
                <advanced-search-form
10
                   [entityType] = "entityType"
11
                   [fieldIds]="fieldIds"
12
                   [fieldIdsMap]="fieldIdsMap"
13
                   [selectedFields]="selectedFields"
14
                   (queryChange)="queryChanged()"
15
                   [isDisabled]="disableForms"
16
                   [simpleSearchLink]="simpleSearchLink"
17
                   [advancedSearchLink]="advancedSearchLink"
18
                   [advancedSearchLinkParameters]
19
                     ="this.routerHelper.createQueryParams(this.parameterNames, this.parameterValues)"
20
                   [pageTitle]=pageTitle [simpleView]="simpleView" [formPlaceholderText]="formPlaceholderText"
21
                   [resultTypes]="resultTypes" [quickFilter]="quickFilter"
22
                   >
23
               </advanced-search-form>
24
           </div>
25
        </div>
26
     </div>
27
  </div>
28
</div>
29
<schema2jsonld *ngIf="!includeOnlyResultsAndFilter && url"  [URL]="url" type="search" [name]=pageTitle
30
               [searchAction]=false></schema2jsonld>
31

    
32

    
33

    
34
<div id="tm-main" class="   tm-middle">
35
  <div uk-grid>
36
    <div class="tm-main uk-width-1-1@s uk-width-1-1@m  uk-width-1-1@l uk-row-first ">
37
      <div class="uk-container uk-container-large uk-margin-medium-top">
38
        <div>
39

    
40
          <helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0" [texts]="pageContents['top']"></helper>
41
          <div  [class]="(showRefine)? 'uk-width-4-5@m  uk-width-4-5@l  uk-width-1-1@s' :'uk-width-1-1'">
42
            <div  *ngIf="showRefine" class="uk-offcanvas-content uk-hidden@m  uk-margin-top">
43

    
44
              <a href="#offcanvas-usage" uk-toggle>
45
                <span class="uk-icon uk-margin-small-right uk-margin-small-left">
46
                  <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="settings">
47
                    <ellipse fill="none" stroke="#000" cx="6.11" cy="3.55" rx="2.11" ry="2.15"></ellipse>
48
                    <ellipse fill="none" stroke="#000" cx="6.11" cy="15.55" rx="2.11" ry="2.15"></ellipse>
49
                    <circle fill="none" stroke="#000" cx="13.15" cy="9.55" r="2.15"></circle>
50
                    <rect x="1" y="3" width="3" height="1"></rect>
51
                    <rect x="10" y="3" width="8" height="1"></rect>
52
                    <rect x="1" y="9" width="8" height="1"></rect>
53
                    <rect x="15" y="9" width="3" height="1"></rect>
54
                    <rect x="1" y="15" width="3" height="1"></rect>
55
                    <rect x="10" y="15" width="8" height="1"></rect>
56
                  </svg>
57
                </span>
58
                <span>Filters <span *ngIf="(selectedRangeFilters+selectedFilters) > 0">({{(selectedRangeFilters+selectedFilters)}})</span></span>
59
<!--                <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" ratio="1">-->
60
<!--                  <rect x="6" y="4" width="12" height="1"></rect><rect x="6" y="9" width="12" height="1"></rect>-->
61
<!--                  <rect x="6" y="14" width="12" height="1"></rect>-->
62
<!--                  <rect x="2" y="4" width="2" height="1"></rect>-->
63
<!--                  <rect x="2" y="9" width="2" height="1"></rect>-->
64
<!--                  <rect x="2" y="14" width="2" height="1"></rect>-->
65
<!--                </svg>-->
66
              </a>
67

    
68
              <div id="offcanvas-usage" uk-offcanvas overlay style="z-index:10000;">
69
                <div class="uk-offcanvas-bar">
70
                  <button class="uk-offcanvas-close" type="button" uk-close></button>
71
                  <div   class="uk-width-1-1   uk-margin-small-bottom  uk-margin-top">
72

    
73
                    <span *ngIf="tableViewLink " class="uk-width-expand">
74
                      <span *ngIf="tableViewLink">
75
                        <a uk-tooltip="title: Table view" routerLinkActive="router-link-active" [class]="(disableForms)?'uk-disabled uk-link-muted':''" [routerLink]=tableViewLink >
76
                          <span class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" ratio="1"><rect x="2" y="2" width="3" height="3"></rect><rect x="8" y="2" width="3" height="3"></rect><rect x="14" y="2" width="3" height="3"></rect><rect x="2" y="8" width="3" height="3"></rect><rect x="8" y="8" width="3" height="3"></rect><rect x="14" y="8" width="3" height="3"></rect><rect x="2" y="14" width="3" height="3"></rect><rect x="8" y="14" width="3" height="3"></rect><rect x="14" y="14" width="3" height="3"></rect></svg></span>
77
                        </a>
78
                        <span uk-tooltip="title: List view" class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="table" ratio="1"><rect x="1" y="3" width="18" height="1"></rect><rect x="1" y="7" width="18" height="1"></rect><rect x="1" y="11" width="18" height="1"></rect><rect x="1" y="15" width="18" height="1"></rect></svg></span>
79
                      </span>
80
                    </span>
81
                    <search-download *ngIf= "!showUnknownFilters && searchUtils.totalResults > 0 && ( entityType !=
82
                    'community' && entityType != 'funder') && usedBy == 'search'"
83
                                     class="uk-width-1-2" [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils" [type]="csvPath" [csvParams]="csvParams" [totalResults]="searchUtils.totalResults">
84
                    </search-download>
85

    
86
                    <div *ngIf="selectedRangeFilters > 0 || selectedFilters > 0" class="uk-margin-small-bottom">
87
<!--                      <div class="uk-grid uk-margin-bottom uk-margin-top">-->
88
<!--                        <span class="uk-text-bold uk-text-large">Filters</span>-->
89
<!--                        <a  *ngIf="selectedFilters>1" (click)="clearFilters()" [class]="((disableForms)?'uk-disabled uk-link-muted':'')+'  portal-link ' + 'uk-width-1-2'">-->
90
<!--                          Clear All-->
91
<!--                        </a>-->
92
<!--                      </div>-->
93
                      <div class="uk-grid uk-flex uk-flex-bottom uk-margin-top">
94
                        <h5 class="uk-text-bold">Filters</h5>
95
                        <a  *ngIf="(selectedRangeFilters+selectedFilters)>1" (click)="clearFilters()" [class]="((disableForms)?'uk-disabled uk-link-muted':'')+'  portal-link ' + 'uk-width-1-2'">
96
                          Clear All
97
                        </a>
98
                      </div>
99
                    </div>
100

    
101
                    <div   *ngIf="selectedRangeFilters > 0 || selectedFilters>0"  class="uk-margin-medium-bottom uk-grid uk-grid-small uk-text-small" uk-grid>
102
                      <ng-container *ngIf="selectedRangeFilters > 0">
103
                        <ng-container *ngFor="let filter of rangeFilters " >
104
                          <ng-container *ngIf = "filter.selectedFromAndToValues">
105
                        <span [title]="'Remove '+ filter.selectedFromAndToValues" (click) = "removeRangeFilter(filter) " >
106
                          <span class="selectedFilterLabel ">
107
                            <a [class]="((disableForms)?'  uk-disabled':'  ')+' uk-link-text '">
108
                              <span class=" clickable" aria-hidden="true">
109
                                <span class="uk-icon">
110
                                  <svg width="16" height="16" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="close" ratio="0.8"><path fill="none" stroke="#000" stroke-width="1.6" d="M16,16 L4,4"></path><path fill="none" stroke="#000" stroke-width="1.6" d="M16,4 L4,16"></path></svg>
111
                                </span>
112
                              </span>
113
                              <span class="uk-margin-small-left">{{filter.selectedFromAndToValues}}</span>
114
                            </a>
115
                          </span>
116
                        </span>
117
                          </ng-container>
118
                        </ng-container>
119
                      </ng-container>
120
                      <ng-container *ngFor="let filter of filters " >
121
                        <ng-container *ngIf = "filter.countSelectedValues > 0">
122

    
123
                          <!--                       <span class="uk-text-bold">{{filter.title}}:</span>-->
124
                          <!--                      uk-margin-small-top uk-margin-small-right--> <!-- if no grid on the div above, add it -->
125
                          <!--                        uk-label -->
126
                          <span *ngFor="let value of getSelectedValues(filter); let i = index;  let end = last; "
127
                                [title]="'Remove '+value.name" (click) = "removeFilter(value, filter) " >
128
                            <!-- if no grid on the div above, remove it and move class 'selectedFilterLabel' on top span -->
129
                            <span class="selectedFilterLabel ">
130
                              <a [class]="((disableForms)?'  uk-disabled':'  ')+' uk-link-text '">
131
                                <span class=" clickable" aria-hidden="true">
132
                                  <span class="uk-icon">
133
                                    <svg width="16" height="16" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="close" ratio="0.8"><path fill="none" stroke="#000" stroke-width="1.6" d="M16,16 L4,4"></path><path fill="none" stroke="#000" stroke-width="1.6" d="M16,4 L4,16"></path></svg>
134
                                  </span>
135
                                </span>
136
                                <span class="uk-margin-small-left" [innerHtml]="(value.name.length > 34)?value.name.substring(0,34)+'...':value.name"></span>
137
                              </a>
138
                            </span>
139
                          </span>
140
                        </ng-container>
141
                      </ng-container>
142

    
143

    
144
                    </div>
145

    
146
<!--                    <div class="uk-margin-small-bottom uk-margin-small-top uk-grid">-->
147
<!--                      <a  *ngIf= "showUnknownFilters" class = "  portal-link" (click) = "clearFilters() " >Try new Query</a>-->
148
<!--                    </div>-->
149

    
150
                  </div>
151
                  <div *ngIf="filters.length === 0 && searchUtils.keyword.length === 0 && results.length > 0" class="uk-margin-top">
152
                    <span class="uk-text-meta">No filters available</span>
153
                  </div>
154
                  <ul *ngIf="!showUnknownFilters" class="uk-list uk-list-divider">
155
                    <ng-container *ngFor="let filter of rangeFilters">
156
                      <li>
157
                        <range-filter [isDisabled]="disableForms" [filter]="filter" (onFilterChange)="filterChanged($event)"></range-filter>
158
                      </li>
159
                    </ng-container>
160
                    <ng-container *ngFor="let filter of filters ">
161
                      <li *ngIf= "filter.values.length >0">
162
                        <search-filter  [filterValuesNum]="filterValuesNum" [showMoreInline]="showMoreFilterValuesInline" [isDisabled]="disableForms" [filter]="filter"  [showResultCount]=showResultCount (onFilterChange)="filterChanged($event)"  ></search-filter>
163
                      </li>
164
                    </ng-container>
165
                  </ul>
166
                </div>
167
              </div>
168

    
169
            </div>
170
          </div>
171
          <div class="uk-grid helper-grid uk-padding-small uk-padding-remove-vertical uk-margin-large-bottom" >
172
            <div *ngIf="showRefine" class="uk-width-1-4@m search-filters uk-visible@m">
173
              <!-- top: #container-1; bottom: #true; -->
174
              <!-- <div id="container-1" style="z-index: -1;" uk-sticky="top: #container-1; offset: 120; "> -->
175
              <span *ngIf="tableViewLink" class="uk-width-expand">
176
                  <span *ngIf="tableViewLink">
177
                    <a uk-tooltip="title: Table view" routerLinkActive="router-link-active" [class]="(disableForms)?'uk-disabled uk-link-muted':''" [routerLink]=tableViewLink >
178
                      <span class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" ratio="1"><rect x="2" y="2" width="3" height="3"></rect><rect x="8" y="2" width="3" height="3"></rect><rect x="14" y="2" width="3" height="3"></rect><rect x="2" y="8" width="3" height="3"></rect><rect x="8" y="8" width="3" height="3"></rect><rect x="14" y="8" width="3" height="3"></rect><rect x="2" y="14" width="3" height="3"></rect><rect x="8" y="14" width="3" height="3"></rect><rect x="14" y="14" width="3" height="3"></rect></svg></span>
179
                    </a>
180
                    <span uk-tooltip="title: List view" class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="table" ratio="1"><rect x="1" y="3" width="18" height="1"></rect><rect x="1" y="7" width="18" height="1"></rect><rect x="1" y="11" width="18" height="1"></rect><rect x="1" y="15" width="18" height="1"></rect></svg></span>
181
                  </span>
182
                </span>
183
<!--              <search-download *ngIf= "!showUnknownFilters && searchUtils.totalResults > 0 && ( entityType !=-->
184
<!--                'community' && entityType != 'funder') && usedBy == 'search'"-->
185
<!--                               class="uk-width-1-2" [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils" [type]="csvPath" [csvParams]="csvParams" [totalResults]="searchUtils.totalResults">-->
186
<!--              </search-download>-->
187
              <div  *ngIf="selectedRangeFilters > 0 || selectedFilters > 0" class="uk-width-1-1 uk-margin-top  uk-margin-small-bottom ">
188
                <div  class="uk-grid uk-flex uk-flex-bottom uk-margin-small-top">
189
                  <h5 class="uk-text-bold">Filters</h5>
190
                  <a  *ngIf="(selectedRangeFilters+selectedFilters)>1" (click)="clearFilters()" [class]="((disableForms)?'uk-disabled uk-link-muted':'')+'  portal-link ' + 'uk-width-1-2'">
191
                    Clear All
192
                  </a>
193
                </div>
194
<!--                uk-grid uk-grid-small" uk-grid-->
195
<!--                uk-margin-left-->
196
                <div   *ngIf="selectedRangeFilters > 0 || selectedFilters>0"  class="uk-margin-medium-bottom uk-grid uk-grid-small uk-text-small" uk-grid>
197
                  <ng-container *ngIf="selectedRangeFilters > 0">
198
                    <ng-container *ngFor="let filter of rangeFilters " >
199
                      <ng-container *ngIf = "filter.selectedFromAndToValues">
200
                        <span [title]="'Remove '+ filter.selectedFromAndToValues" (click) = "removeRangeFilter(filter) " >
201
                          <span class="selectedFilterLabel ">
202
                            <a [class]="((disableForms)?'  uk-disabled':'  ')+' uk-link-text '">
203
                              <span class=" clickable" aria-hidden="true">
204
                                <span class="uk-icon">
205
                                  <svg width="16" height="16" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="close" ratio="0.8"><path fill="none" stroke="#000" stroke-width="1.6" d="M16,16 L4,4"></path><path fill="none" stroke="#000" stroke-width="1.6" d="M16,4 L4,16"></path></svg>
206
                                </span>
207
                              </span>
208
                              <span class="uk-margin-small-left">{{filter.selectedFromAndToValues}}</span>
209
                            </a>
210
                          </span>
211
                        </span>
212
                      </ng-container>
213
                    </ng-container>
214
                  </ng-container>
215
                  <ng-container *ngFor="let filter of filters " >
216
                    <ng-container *ngIf = "filter.countSelectedValues > 0">
217

    
218
                      <!--                       <span class="uk-text-bold">{{filter.title}}:</span>-->
219
<!--                      uk-margin-small-top uk-margin-small-right--> <!-- if no grid on the div above, add it -->
220
<!--                        uk-label -->
221
                      <span *ngFor="let value of getSelectedValues(filter); let i = index;  let end = last; "
222
                            [title]="'Remove '+value.name" (click) = "removeFilter(value, filter) " >
223
                        <!-- if no grid on the div above, remove it and move class 'selectedFilterLabel' on top span -->
224
                        <span class="selectedFilterLabel ">
225
                          <a [class]="((disableForms)?'  uk-disabled':'  ')+' uk-link-text '">
226
                            <span class=" clickable" aria-hidden="true">
227
                              <span class="uk-icon">
228
                                <svg width="16" height="16" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="close" ratio="0.8"><path fill="none" stroke="#000" stroke-width="1.6" d="M16,16 L4,4"></path><path fill="none" stroke="#000" stroke-width="1.6" d="M16,4 L4,16"></path></svg>
229
                              </span>
230
                            </span>
231
                            <span class="uk-margin-small-left" [innerHtml]="(value.name.length > 34)?value.name.substring(0,34)+'...':value.name"></span>
232
                          </a>
233
                        </span>
234
                      </span>
235
                    </ng-container>
236
                  </ng-container>
237
                </div>
238

    
239
<!--                <div class="uk-margin-small-bottom uk-margin-small-top uk-grid">-->
240
<!--                  <a  *ngIf= "showUnknownFilters" class = "  portal-link" (click) = "clearFilters() " >Try new Query</a>-->
241
<!--                </div>-->
242
              </div>
243
              <div *ngIf="filters.length === 0 && results.length > 0" class="uk-margin-top">
244
                <span class="uk-text-meta">No filters available</span>
245
              </div>
246
              <ul *ngIf="!showUnknownFilters" class="uk-list uk-list-divider">
247
                <ng-container *ngFor="let filter of rangeFilters">
248
                  <li>
249
                    <range-filter [isDisabled]="disableForms" [filter]="filter" (onFilterChange)="filterChanged($event)"></range-filter>
250
                  </li>
251
                </ng-container>
252
                <ng-container *ngFor="let filter of filters ">
253
                  <li *ngIf= "filter.values.length >0">
254
                    <search-filter  [filterValuesNum]="filterValuesNum" [showMoreInline]="showMoreFilterValuesInline" [isDisabled]="disableForms" [filter]="filter"  [showResultCount]=showResultCount (onFilterChange)="filterChanged($event)"  ></search-filter>
255
                  </li>
256
                </ng-container>
257
              </ul>
258
            </div>
259
            <div class="uk-width-expand@m uk-with-1-1@s">
260
              <div *ngIf="openaireLink"> <a class="uk-margin-top   uk-button uk-button-text"  [href]=openaireLink target="_blank" >Results in OpenAIRE</a></div>
261
              <div  class="uk-align-center uk-margin-remove-bottom">
262
                <div *ngIf="(results && searchUtils.totalResults > 0) || (!loadPaging && oldTotalResults > 0 && searchUtils.status == errorCodes.LOADING)"
263
                      class="uk-grid uk-margin-small-top uk-margin-bottom">
264
                  <div class="uk-width-expand@m uk-grid uk-grid-medium uk-margin-small-bottom">
265
                    <search-results-per-page [(size)]="searchUtils.size" (sizeChange)="sizeChanged($event)"></search-results-per-page>
266
                    <search-sorting *ngIf="sort" [(sortBy)]="searchUtils.sortBy" (sortByChange)="sortByChanged($event)"></search-sorting>
267
                  </div>
268
                  <div class="uk-flex uk-flex-middle uk-width-auto@m uk-margin-small-bottom">
269
                    <search-download *ngIf= "!showUnknownFilters && searchUtils.totalResults > 0
270
                                            && ( entityType !='community' && entityType != 'funder') && usedBy == 'search'"
271
                                     [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils"
272
                                     [type]="csvPath" [csvParams]="csvParams" [totalResults]="searchUtils.totalResults">
273
                    </search-download>
274
                  </div>
275
                </div>
276
                <search-paging [type]="type" [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils"  [(results)] = "results" [(baseUrl)] = "searchUtils.baseUrl"  [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues"   ></search-paging>
277
              </div>
278

    
279
              <search-download class="uk-width-1-1@s uk-hidden@m" [type]="csvPath" [csvParams]="csvParams" [totalResults]="searchUtils.totalResults" ></search-download>
280

    
281
              <div *ngIf="(searchUtils.page <= pagingLimit)" class="uk-margin-large-bottom">
282
                <search-result  [results]="results"
283
                                [status]=searchUtils.status
284
                                [type]="entityType"
285
                                [showLoading]="true" [(properties)]=properties>
286
                </search-result>
287
              </div>
288

    
289
              <div [class]="searchUtils.page > pagingLimit ? 'search-results' : ''" *ngIf="(searchUtils.page >= pagingLimit) && (searchUtils.totalResults > searchUtils.size*pagingLimit)">
290
                  <p class="uk-alert-warning" uk-alert>For more results please try a new, more specific query</p>
291
              </div>
292

    
293
              <div  class="uk-align-center uk-margin-remove-bottom">
294
<!--                <div *ngIf="(results && searchUtils.totalResults > 0) || (!loadPaging && oldTotalResults > 0 && searchUtils.status == errorCodes.LOADING)"-->
295
<!--                      class="uk-grid uk-margin-top uk-margin-bottom">-->
296
<!--                  <search-results-per-page class="uk-width-1-2@m uk-width-1-1" [(size)]="searchUtils.size" (sizeChange)="sizeChanged($event)"></search-results-per-page>-->
297
<!--                  <search-sorting class="uk-width-1-2@m uk-width-1-1" *ngIf="sort" [(sortBy)]="searchUtils.sortBy" (sortByChange)="sortByChanged($event)"></search-sorting>-->
298
<!--                </div>-->
299
                <search-paging [type]="type" [loadPaging]="loadPaging" [oldTotalResults]="oldTotalResults" [(searchUtils)] = "searchUtils"  [(results)] = "results" [(baseUrl)] = "searchUtils.baseUrl"  [(parameterNames)] = "parameterNames" [(parameterValues)] = "parameterValues"   ></search-paging>
300
              </div>
301

    
302
              <a *ngIf="properties.showLastIndexInformationLink" class="last_index_info uk-button-text"
303
                  [href]="properties.lastIndexInformationLink" target="_blank">
304
                  Last index information
305
              </a>
306
            </div>
307
<!--            <div class="uk-visible@m uk-margin-top uk-width-1-5">-->
308
<!--              <search-download [type]="csvPath" [csvParams]="csvParams" [totalResults]="searchUtils.totalResults" ></search-download>-->
309
<!--            </div>-->
310
            <!-- <helper *ngIf="searchUtils.totalResults > csvLimit" class="uk-margin-top helper-left-right uk-visible@m" position="right"></helper> -->
311
          </div>
312

    
313
          <helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0" [texts]="pageContents['bottom']"></helper>
314
        </div>
315
      </div>
316
    </div>
317
  </div>
318
</div>
(18-18/54)