1
|
<div id="tm-main" class=" uk-section uk-margin-small-top tm-middle" >
|
2
|
<div uk-grid uk-grid>
|
3
|
<div class="tm-main uk-width-1-1@s uk-width-1-1@m uk-width-1-1@l uk-row-first ">
|
4
|
<div [class]="'uk-background-norepeat uk-background-cover uk-section uk-flex uk-flex-middle '+searchFormClass" >
|
5
|
<div class="uk-width-1-1">
|
6
|
<div class="uk-width-1-1">
|
7
|
<search-form [isDisabled]="disableForms" [(keyword)]="searchUtils.keyword" (keywordChange)="keywordChanged($event)" [placeholderText]="formPlaceholderText"></search-form>
|
8
|
</div>
|
9
|
<div class="uk-width-1-1 uk-light">
|
10
|
<div *ngIf="isFiltered()" class = "uk-container uk-text-center ">
|
11
|
<span *ngIf = "searchUtils.keyword.length > 0">Keywords: <span>{{searchUtils.keyword}}<a (click) = "clearKeywords() " [class]="(disableForms)?'uk-icon-button uk-disabled':'uk-icon-button'"><span class=" clickable " aria-hidden="true"><span class="uk-icon">
|
12
|
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="close" ratio="1"><path fill="none" stroke="#000" stroke-width="1.06" d="M16,16 L4,4"></path><path fill="none" stroke="#000" stroke-width="1.06" d="M16,4 L4,16"></path></svg>
|
13
|
</span></span></a></span>
|
14
|
</span>
|
15
|
<span *ngFor="let filter of filters " >
|
16
|
<span *ngIf = "filter.countSelectedValues > 0"> {{filter.title}}:
|
17
|
<span *ngFor="let value of getSelectedValues(filter); let i = index; let end = last; " >{{value.name}}<a (click) = "removeFilter(value, filter) " [class]="(disableForms)?'uk-icon-button uk-disabled':'uk-icon-button'"><span class=" clickable" aria-hidden="true"><span class="uk-icon">
|
18
|
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="close" ratio="1"><path fill="none" stroke="#000" stroke-width="1.06" d="M16,16 L4,4"></path><path fill="none" stroke="#000" stroke-width="1.06" d="M16,4 L4,16"></path></svg>
|
19
|
</span></span></a>
|
20
|
<span *ngIf="!end">, </span>
|
21
|
</span>
|
22
|
</span>
|
23
|
</span>
|
24
|
|
25
|
<a (click)="clearFilters()" [class]="(disableForms)?'uk-disabled uk-link-muted':''">
|
26
|
Clear All
|
27
|
</a>
|
28
|
</div>
|
29
|
</div>
|
30
|
</div>
|
31
|
</div>
|
32
|
<div class="uk-container">
|
33
|
<helper position="top"></helper>
|
34
|
<div class="uk-width-2-3@m uk-width-2-3@l uk-width-1-1@s">
|
35
|
|
36
|
<div class="uk-offcanvas-content uk-hidden@m">
|
37
|
<a href="#offcanvas-usage" uk-toggle><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" ratio="1"><rect x="6" y="4" width="12" height="1"></rect><rect x="6" y="9" width="12" height="1"></rect><rect x="6" y="14" width="12" height="1"></rect><rect x="2" y="4" width="2" height="1"></rect><rect x="2" y="9" width="2" height="1"></rect><rect x="2" y="14" width="2" height="1"></rect></svg></a>
|
38
|
|
39
|
<div id="offcanvas-usage" uk-offcanvas>
|
40
|
<div class="uk-offcanvas-bar">
|
41
|
<button class="uk-offcanvas-close" type="button" uk-close></button>
|
42
|
<div class="uk-text-large">Filter By:</div>
|
43
|
<search-filter *ngFor="let filter of filters " [addShowMore]=false [isDisabled]="disableForms" [filter]="filter" [showResultCount]=showResultCount (change)="filterChanged($event)" (toggleModal)="toggleModal($event)"></search-filter>
|
44
|
</div>
|
45
|
</div>
|
46
|
|
47
|
</div>
|
48
|
</div>
|
49
|
|
50
|
<div class="uk-grid uk-width-1-1">
|
51
|
<div class="helper-left-right search-filters uk-width-1-6@m uk-visible@m">
|
52
|
<helper position="left"></helper>
|
53
|
<search-filter *ngFor="let filter of filters " [isDisabled]="disableForms" [filter]="filter" [showResultCount]=showResultCount (change)="filterChanged($event)" (toggleModal)="toggleModal($event)"></search-filter>
|
54
|
</div>
|
55
|
|
56
|
<div class="uk-width-expand@m uk-width-1-1@s uk-first-column" >
|
57
|
<div *ngIf="searchUtils.totalResults > 0" class="uk-align-center uk-margin-remove-bottom">
|
58
|
<div class="searchPaging uk-panel uk-margin-top uk-grid uk-margin-bottom">
|
59
|
<span class="uk-h6 uk-width-1-1@s uk-width-1-2@m">
|
60
|
{{searchUtils.totalResults}} content providers, page {{searchUtils.page}} of {{(totalPages())}}
|
61
|
</span>
|
62
|
<span class="float-children-right-at-medium margin-small-top-at-small uk-width-1-1@s uk-width-1-2@m">
|
63
|
<paging-no-load [currentPage]="searchUtils.page" [totalResults]="searchUtils.totalResults" [size]="rowsOnPage" (pageChange)="goTo($event.value, false)"></paging-no-load>
|
64
|
</span>
|
65
|
</div>
|
66
|
</div>
|
67
|
|
68
|
<div *ngIf="searchViewLink" class="uk-width-1-1@s uk-hidden@m">
|
69
|
<p>
|
70
|
<span class="uk-margin-small-right 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>
|
71
|
|
72
|
<a routerLinkActive="router-link-active" [class]="(disableForms)?'uk-disabled uk-link-muted':''" [routerLink]=searchViewLink >
|
73
|
<span 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>
|
74
|
</a>
|
75
|
</p>
|
76
|
</div>
|
77
|
|
78
|
<div *ngIf="searchUtils.totalResults <= 0" class="errors-in-searchTableView">
|
79
|
<errorMessages [status]="[searchUtils.status]" [type]="'results'"></errorMessages>
|
80
|
</div>
|
81
|
|
82
|
<div class="uk-overflow-container custom-dataTable-content">
|
83
|
<table class="uk-table uk-table-striped divider-table" #mf="mfDataTable" [mfRowsOnPage]="rowsOnPage"
|
84
|
[mfData]="results | contentProvidersDatatable : [searchUtils, filters, triggerPipe, cd]">
|
85
|
|
86
|
<thead *ngIf="searchUtils.totalResults > 0">
|
87
|
<tr>
|
88
|
<!-- Name Type Country Institution Compatibility -->
|
89
|
<th class="uk-text-left"><mfDefaultSorter by="title.name">Name</mfDefaultSorter>
|
90
|
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
91
|
<polygon fill="#767779" points="4 1 1 6 7 6"></polygon>
|
92
|
<polygon fill="#767779" points="4 13 1 8 7 8"></polygon>
|
93
|
</svg>
|
94
|
</th>
|
95
|
<th class="uk-text-center"><mfDefaultSorter by="type">Type</mfDefaultSorter>
|
96
|
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
97
|
<polygon fill="#767779" points="4 1 1 6 7 6"></polygon>
|
98
|
<polygon fill="#767779" points="4 13 1 8 7 8"></polygon>
|
99
|
</svg>
|
100
|
</th>
|
101
|
<th class="uk-text-center"><mfDefaultSorter by="countries">Country</mfDefaultSorter>
|
102
|
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
103
|
<polygon fill="#767779" points="4 1 1 6 7 6"></polygon>
|
104
|
<polygon fill="#767779" points="4 13 1 8 7 8"></polygon>
|
105
|
</svg>
|
106
|
</th>
|
107
|
<th class="uk-text-center"><mfDefaultSorter [by]="sortByOrganization">Institution</mfDefaultSorter>
|
108
|
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
109
|
<polygon fill="#767779" points="4 1 1 6 7 6"></polygon>
|
110
|
<polygon fill="#767779" points="4 13 1 8 7 8"></polygon>
|
111
|
</svg>
|
112
|
</th>
|
113
|
<th class="uk-text-center"><mfDefaultSorter by="compatibility">Compatibility</mfDefaultSorter>
|
114
|
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
115
|
<polygon fill="#767779" points="4 1 1 6 7 6"></polygon>
|
116
|
<polygon fill="#767779" points="4 13 1 8 7 8"></polygon>
|
117
|
</svg>
|
118
|
</th>
|
119
|
</tr>
|
120
|
</thead>
|
121
|
<tbody>
|
122
|
<tr class="uk-table-middle" *ngFor="let dataprovider of mf.data">
|
123
|
<td class="uk-width-1-5 uk-text-left">
|
124
|
<a [queryParams]="{datasourceId: dataprovider.id}" routerLinkActive="router-link-active" routerLink="/search/dataprovider">
|
125
|
<span *ngIf="dataprovider.title.name"
|
126
|
[innerHTML]="dataprovider.title.name">
|
127
|
</span>
|
128
|
<span *ngIf="!dataprovider.title.name">
|
129
|
[no title available]
|
130
|
</span>
|
131
|
</a>
|
132
|
</td>
|
133
|
<td class="uk-width-1-5 uk-text-center">
|
134
|
<span *ngIf="dataprovider.type">{{dataprovider.type}}</span>
|
135
|
<span *ngIf="!dataprovider.type">-</span>
|
136
|
</td>
|
137
|
<td class="uk-width-1-5 uk-text-center">
|
138
|
<span *ngFor="let country of dataprovider['countries'].slice(0,5) let i = index">{{country}}{{(i < ( dataprovider['countries'].slice(0,5).length-1))?", ":""}}{{(i == dataprovider['countries'].slice(0,5).length-1 && dataprovider['countries'].length > 5)?"...":""}}</span>
|
139
|
<span *ngIf="dataprovider.countries.length == 0">-</span>
|
140
|
</td>
|
141
|
<td class="uk-width-1-5 uk-text-center">
|
142
|
<span *ngFor="let org of dataprovider['organizations'].slice(0,5) let i = index">
|
143
|
<a *ngIf="org.id" [queryParams]="{organizationId: org.id}" routerLinkActive="router-link-active" routerLink="/search/organization">{{org.name}}</a><span *ngIf="!org.id">{{org.name}}</span>{{(i < ( dataprovider['organizations'].slice(0,5).length-1))?", ":""}}{{(i == dataprovider['organizations'].slice(0,5).length-1 && dataprovider['organizations'].length > 5)?"...":""}}
|
144
|
</span>
|
145
|
<span *ngIf="dataprovider.organizations.length == 0">-</span>
|
146
|
</td>
|
147
|
<td class="uk-width-1-5 uk-text-center">
|
148
|
<span *ngIf="dataprovider.compatibility">{{dataprovider.compatibility}}</span>
|
149
|
<span *ngIf="!dataprovider.compatibility">-</span>
|
150
|
</td>
|
151
|
</tr>
|
152
|
</tbody>
|
153
|
<!-- <thead *ngIf="searchUtils.totalResults > 0">
|
154
|
<tr><td colspan="5" class="uk-padding-remove-horizontal">
|
155
|
<span class="uk-h6">
|
156
|
{{searchUtils.totalResults}} content providers, page {{searchUtils.page}} of {{(totalPages())}}
|
157
|
</span>
|
158
|
<paging-no-load class="uk-float-right" [currentPage]="searchUtils.page" [totalResults]="searchUtils.totalResults" [size]="rowsOnPage" (pageChange)="goTo($event.value, false)"></paging-no-load>
|
159
|
</td></tr>
|
160
|
</thead> -->
|
161
|
</table>
|
162
|
</div>
|
163
|
|
164
|
<div *ngIf="searchUtils.totalResults > 0" class="uk-align-center uk-margin-remove-bottom">
|
165
|
<div class="searchPaging uk-panel uk-margin-top uk-grid uk-margin-bottom">
|
166
|
<span class="uk-h6 uk-width-1-1@s uk-width-1-2@m">
|
167
|
{{searchUtils.totalResults}} content providers, page {{searchUtils.page}} of {{(totalPages())}}
|
168
|
</span>
|
169
|
<span class="float-children-right-at-medium margin-small-top-at-small uk-width-1-1@s uk-width-1-2@m">
|
170
|
<paging-no-load [currentPage]="searchUtils.page" [totalResults]="searchUtils.totalResults" [size]="rowsOnPage" (pageChange)="goTo($event.value, false)"></paging-no-load>
|
171
|
</span>
|
172
|
</div>
|
173
|
</div>
|
174
|
|
175
|
<helper class="uk-hidden@m" position="left" styleName="uk-width-1-1@s"></helper>
|
176
|
<helper class="uk-hidden@m" position="right" styleName="uk-width-1-1@s"></helper>
|
177
|
</div>
|
178
|
|
179
|
<div *ngIf="searchViewLink" class="helper-left-right uk-width-1-6@m uk-visible@m">
|
180
|
<p>
|
181
|
<span class="uk-margin-small-right 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>
|
182
|
|
183
|
<a routerLinkActive="router-link-active" [class]="(disableForms)?'uk-disabled uk-link-muted':''" [routerLink]=searchViewLink >
|
184
|
<span 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>
|
185
|
</a>
|
186
|
</p>
|
187
|
|
188
|
<helper position="right"></helper>
|
189
|
</div>
|
190
|
</div>
|
191
|
|
192
|
<helper position="bottom"></helper>
|
193
|
</div>
|
194
|
<modal-search-filter [filter]="currentFilter" [showResultCount]=showResultCount (modalChange)="filterChanged($event)"></modal-search-filter>
|
195
|
</div>
|
196
|
</div>
|
197
|
</div>
|