Project

General

Profile

« Previous | Next » 

Revision 58789

[Trunk | Library]: Redesign of Dataprovider Landing Page.

View differences:

dataProvider.component.html
16 16
  </div>
17 17
</ng-template>
18 18

  
19
<ng-template #search_tab let-fetch="fetch" let-type="type" let-urlParam="urlParam"
20
             let-searchLinkToAdvancedPage="searchLinkToAdvancedPage" let-params="params">
21
  <errorMessages [status]="[fetch.searchUtils.status]" [type]="getEntityName(type, true, true)"
22
                 tab_error_class=true></errorMessages>
23

  
24
  <div *ngIf="fetch.searchUtils.status == errorCodes.DONE">
25
    <div *ngIf="fetch.searchUtils.totalResults > searchNumber" class="uk-inline uk-flex uk-flex-right">
26
      <span class="uk-text-uppercase uk-position-left uk-text-middle uk-flex-middle uk-flex">
27
        <span>Top {{searchNumber}}</span><span class="space uk-text-muted">{{getEntityName(type, true, true)}}</span>
28
      </span>
29
      <a [queryParams]="params" [routerLink]="searchLinkToAdvancedPage">
30
        <button class="uk-button uk-button-small portal-button">
31
          <span uk-icon="search"></span>
32
          View all
33
        </button>
34
      </a>
35

  
36
    </div>
37

  
38
    <ul class="uk-list-divider uk-list uk-margin uk-margin-top">
39
      <errorMessages [status]="[fetch.searchUtils.status]" [type]="'results'"></errorMessages>
40
      <li *ngFor="let result of fetch.results" class="uk-animation-fade">
41
        <div>
42
          <result-preview [properties]="properties" [showOrganizations]="true"
43
                          [showSubjects]="true" [result]="getResultPreview(result, type)">
44
          </result-preview>
45
        </div>
46
      </li>
47
    </ul>
48
  </div>
49
</ng-template>
50

  
19 51
<div id="tm-main" class="landing uk-section uk-padding-remove-top tm-middle">
20 52
  <div *ngIf="!showFeedback" uk-grid>
21 53
    <div class="tm-main uk-width-1-1@s uk-width-1-1@m  uk-width-1-1@l uk-row-first ">
......
30 62
          class="loading-gif  uk-align-center"></span></div>
31 63
        <helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
32 64
                [texts]="pageContents['top']"></helper>
33
        <div *ngIf="dataProviderInfo != null" class=" uk-grid">
34
          <div class=" uk-width-2-3@m uk-width-1-1@s uk-margin-bottom">
35
            <!--h3 *ngIf="dataProviderInfo.title != null">
65
        <div *ngIf="dataProviderInfo != null" class="uk-grid uk-margin-remove-left uk-margin-large-bottom">
66
          <div class="uk-width-2-3@m uk-width-1-1@s  uk-margin-bottom uk-padding uk-padding-remove-left uk-padding-remove-vertical">
67
          <!--h3 *ngIf="dataProviderInfo.title != null">
36 68
                <a *ngIf="dataProviderInfo.title['url'] != undefined && dataProviderInfo.title['url'] != null"
37 69
                    href="{{dataProviderInfo.title['url']}}" target="_blank" class="custom-external">
38 70
                    {{dataProviderInfo.title['name']}}
......
96 128
                </span>
97 129
              </div>
98 130
            </div>
99
            <ul class="uk-list">
100
              <showPublisher [journal]="dataProviderInfo.journal" [properties]="properties"></showPublisher>
101
              <li *ngIf="dataProviderInfo.aggregationStatus" class="uk-animation-fade uk-animation-fast">
102
                <span *ngIf="dataProviderInfo.aggregationStatus.fulltexts && dataProviderInfo.aggregationStatus.fulltexts != -1"
103
                      class="uk-margin-right">
104
                  <span class="uk-text-muted">Collected full-texts: </span>
105
                  {{dataProviderInfo.aggregationStatus.fulltexts | number}}
106
                </span>
107
                <span *ngIf="dataProviderInfo.aggregationStatus.fundedContent && dataProviderInfo.aggregationStatus.fundedContent != -1"
108
                      class="uk-display-inline-block">
109
                  <span class="uk-text-muted">Results with funding information: </span>
110
                  {{dataProviderInfo.aggregationStatus.fundedContent | number}}
111
                </span>
112
                <span *ngIf="dataProviderInfo.aggregationStatus.lastUpdateDate && dataProviderInfo.aggregationStatus.lastUpdateDate != null"
113
                      class="uk-display-inline-block">
114
                  <span class="uk-text-muted">Latest data aggregation: </span>
115
                  {{dataProviderInfo.aggregationStatus.lastUpdateDate | date}}
116
                </span>
117
              </li>
118
              <!-- Organizations -->
119
<!--              <li *ngIf="dataProviderInfo.organizations && dataProviderInfo.organizations.length > 0" class="uk-margin-small-bottom">-->
120
<!--                <div class="uk-height-max-medium uk-overflow-auto">-->
121
<!--                  <span class="uk-text-muted">Organizations: </span>-->
122
<!--                  <span *ngFor="let organization of dataProviderInfo.organizations.slice(0, showNumOrganizations) let i=index">-->
123
<!--                    <a *ngIf="organization.id"-->
124
<!--                       [queryParams]="{organizationId: organization.id}" routerLinkActive="router-link-active"-->
125
<!--                       routerLink="/search/organization">-->
126
<!--                      <u>{{organization.name}}</u>-->
127
<!--                    </a>-->
128
<!--                    <span *ngIf="!organization.id">-->
129
<!--                      <span>{{organization.name}}</span>-->
130
<!--                      <span *ngIf="(i < dataProviderInfo.organizations.length-1)">,</span>-->
131
<!--                    </span>-->
132
<!--                    <span *ngIf="(i < dataProviderInfo.organizations.length-1)">, </span>-->
133
<!--                  </span>-->
134
<!--                  <span *ngIf="showNumOrganizations == thresholdOrganizations &&  dataProviderInfo.organizations.length > thresholdOrganizations">	... </span>-->
135
<!--                </div>-->
136
<!--                <div *ngIf="showNumOrganizations == thresholdOrganizations && dataProviderInfo.organizations.length > thresholdOrganizations"-->
137
<!--                     class="uk-width-1-1 uk-text-right">-->
138
<!--                  <a (click)="showNumOrganizations = dataProviderInfo.organizations.length;">-->
139
<!--                    View all {{dataProviderInfo.organizations.length | number}} organizations-->
140
<!--                  </a>-->
141
<!--                </div>-->
142
<!--                <div *ngIf="showNumOrganizations > thresholdOrganizations" class="uk-width-1-1 uk-text-right">-->
143
<!--                  <a (click)="showNumOrganizations = thresholdOrganizations;">View less organizations</a>-->
144
<!--                </div>-->
145
<!--              </li>-->
146
              <li *ngIf="dataProviderInfo.organizations && dataProviderInfo.organizations.length > 0" class="uk-margin-bottom">
147
                <div class="uk-height-max-medium uk-overflow-auto">
148
                  <span class="uk-text-muted">Organizations: </span>
149
                  <span *ngFor="let organization of dataProviderInfo.organizations.slice(0, showNumOrganizations) let i=index"
150
                        [attr.uk-tooltip]="organization.acronym && organization.name ? 'pos:right; delay:10' : 'cls: uk-invisible'"
151
                        [title]="organization.name">
152
                    <a *ngIf="organization.id"
153
                       [queryParams]="{organizationId: organization.id}" routerLinkActive="router-link-active"
154
                       routerLink="/search/organization">
155
                      <u>{{(organization.acronym) ? organization.acronym : ''}}</u>
156
                      <u>{{(!organization.acronym && organization.name) ? organization.name : ''}}</u>
157
                    </a>
158
                    <span *ngIf="!organization.id">
159
                      <span *ngIf="organization.acronym">{{organization.acronym}}</span>
160
                      <span *ngIf="!organization.acronym && organization.name">{{organization.name}}</span>
161
                      <span *ngIf="(i < dataProviderInfo.organizations.length-1)">,</span>
162
                    </span>
163
                    <span *ngIf="(i < dataProviderInfo.organizations.length-1)">, </span>
164
                  </span>
165
                  <span *ngIf="showNumOrganizations == thresholdOrganizations &&  dataProviderInfo.organizations.length > thresholdOrganizations">	... </span>
166
                </div>
167
                <div *ngIf="showNumOrganizations == thresholdOrganizations && dataProviderInfo.organizations.length > thresholdOrganizations"
168
                     class="uk-width-1-1 uk-text-right">
169
                  <a (click)="showNumOrganizations = dataProviderInfo.organizations.length;">
170
                    View all {{dataProviderInfo.organizations.length | number}} organizations
171
                  </a>
172
                </div>
173
                <div *ngIf="showNumOrganizations > thresholdOrganizations" class="uk-width-1-1 uk-text-right">
174
                  <a (click)="showNumOrganizations = thresholdOrganizations;">View less organizations</a>
175
                </div>
176
              </li>
177
              <li *ngIf="dataProviderInfo.oaiPmhURL || dataProviderInfo.openDoarId || dataProviderInfo.r3DataId">
178
                <span *ngIf="dataProviderInfo.oaiPmhURL" class="uk-margin-right">
179
                  <span class="uk-text-muted">OAI-PMH: </span>
180
                  <a target="_blank" href="{{dataProviderInfo.oaiPmhURL}}">
181
                    {{dataProviderInfo.oaiPmhURL}}
182
                    <span class="custom-external custom-icon space"></span>
183
                  </a>
184
                </span>
185
                <span *ngIf="dataProviderInfo.openDoarId" class="uk-display-inline-block">
186
                  <span class="uk-text-muted">Detailed content provider information at </span>
187
                  <a target="_blank" href="{{properties.openDoarURL+dataProviderInfo.openDoarId}}">
188
                    OpenDOAR
189
                    <span class="custom-external custom-icon space"></span>
190
                  </a>
191
                </span>
192
                <span *ngIf="dataProviderInfo.r3DataId" class="uk-display-inline-block">
193
                  <span class="uk-text-muted">Detailed content provider information at </span>
194
                  <a target="_blank" href="{{properties.r3DataURL+dataProviderInfo.r3DataId}}">
195
                    re3data.org
196
                    <span class="custom-external custom-icon space"></span>
197
                  </a>
198
                </span>
199
              </li>
200
              <li *ngIf="dataProviderInfo.countries != undefined && dataProviderInfo.countries.length > 0">
201
                <span class="uk-text-muted">Countries:</span>
202
                {{dataProviderInfo.countries.join(", ")}}
203
              </li>
204
            </ul>
205 131

  
206
            <!-- Description -->
207
            <div *ngIf="dataProviderInfo.description" class="uk-margin-bottom">
208
              <div class="uk-text-justify uk-text-small uk-height-max-medium uk-overflow-auto">
209
                <span class="uk-text-muted">Description: </span>
210
                <span>{{dataProviderInfo.description.substring(0, showNumDescription)}}</span>
211
                <span *ngIf="showNumDescription == thresholdDescription &&
212
                       dataProviderInfo.description.length > thresholdDescription">...</span>
213
              </div>
214
              <div *ngIf="showNumDescription == thresholdDescription &&
215
                    dataProviderInfo.description.length > thresholdDescription" class="uk-text-right">
216
                <a (click)="showNumDescription = dataProviderInfo.description.length;">
217
                  View more
218
                </a>
219
              </div>
220
              <div *ngIf="dataProviderInfo.description && showNumDescription > thresholdDescription"
221
                   class="uk-text-right">
222
                <a (click)="showNumDescription = thresholdDescription;">
223
                  View less
224
                </a>
225
              </div>
226
            </div>
227 132

  
228
            <!-- Subjects -->
229
            <div *ngIf="dataProviderInfo.subjects && dataProviderInfo.subjects.length > 0" class="uk-margin-bottom">
230
              <div class="uk-text-small uk-height-max-medium uk-overflow-auto">
231
                <span class="uk-text-muted">Subjects: </span>
232
  <!--              {{dataProviderInfo.countries.join(", ")}}-->
233
                <span *ngFor="let subject of dataProviderInfo.subjects.slice(0, showNumSubjects) let i=index">
234
                  <span>{{subject}}</span>
235
                  <span *ngIf="(i < dataProviderInfo.subjects.length-1)">, </span>
236
                </span>
237
                <span *ngIf="showNumSubjects == thresholdSubjects &&  dataProviderInfo.organizations.length > thresholdSubjects">	... </span>
238
              </div>
239
              <div *ngIf="showNumSubjects == thresholdSubjects && dataProviderInfo.organizations.length > thresholdSubjects"
240
                   class="uk-width-1-1 uk-text-right">
241
                <a (click)="showNumSubjects = dataProviderInfo.subjects.length;">
242
                  View all {{dataProviderInfo.subjects.length | number}} subjects
243
                </a>
244
              </div>
245
              <div *ngIf="showNumSubjects > thresholdSubjects" class="uk-width-1-1 uk-text-right">
246
                <a (click)="showNumSubjects = thresholdSubjects;">View less subjects</a>
247
              </div>
248
            </div>
249 133

  
250 134
<!--            <span *ngIf="dataProviderInfo.type" class="uk-label custom-label label-type label-dataprovider "-->
251 135
<!--                  title="Type">{{dataProviderInfo.type}}</span>{{" "}}-->
......
319 203
<!--            </ul>-->
320 204

  
321 205
<!--            && dataProviderInfo.tabs2 && dataProviderInfo.tabs2.length > 0-->
322
            <div *ngIf="showTabs"
323
                 class="uk-margin-medium-top">
324
<!--              *ngIf="dataProviderInfo.tabs2.indexOf('Statistics') != -1 || dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1"-->
325
              <div
326
                   class="uk-margin-top simple-buttons uk-flex uk-flex-middle">
327
<!--                *ngIf="dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1"-->
328
                <div *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
329
                            || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
330
                     (click)="openRelatedDatasources()" class="clickable uk-margin-right">
331
                  <span class="uk-text-middle">Related Content Providers</span>
332
                </div>
333
<!--                *ngIf="dataProviderInfo.tabs2.indexOf('Statistics') != -1"-->
334
                <div *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
335
                            || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
336
                    (click)="openStatistics()" class="clickable uk-margin-right">
337
                  <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">
338
                    <path d="M0 0h24v24H0z" fill="none"></path>
339
                    <path id="statistics-bars" d="M10 20h4V4h-4v16zm-6 0h4v-8H4v8zM16 9v11h4V9h-4z"></path>
340
                  </svg>
341
                  <span class="uk-text-middle space">View statistics</span>
342
                </div>
343
              </div>
206
<!--            <div *ngIf="showTabs"-->
207
<!--                 class="uk-margin-medium-top">-->
208
<!--&lt;!&ndash;              *ngIf="dataProviderInfo.tabs2.indexOf('Statistics') != -1 || dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1"&ndash;&gt;-->
209
<!--              <div-->
210
<!--                   class="uk-margin-top simple-buttons uk-flex uk-flex-middle">-->
211
<!--&lt;!&ndash;                *ngIf="dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1"&ndash;&gt;-->
212
<!--                <div *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0-->
213
<!--                            || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"-->
214
<!--                     (click)="openRelatedDatasources()" class="clickable uk-margin-right">-->
215
<!--                  <span class="uk-text-middle">Related Content Providers</span>-->
216
<!--                </div>-->
217
<!--&lt;!&ndash;                *ngIf="dataProviderInfo.tabs2.indexOf('Statistics') != -1"&ndash;&gt;-->
218
<!--                <div *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0-->
219
<!--                            || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"-->
220
<!--                    (click)="openStatistics()" class="clickable uk-margin-right">-->
221
<!--                  <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">-->
222
<!--                    <path d="M0 0h24v24H0z" fill="none"></path>-->
223
<!--                    <path id="statistics-bars" d="M10 20h4V4h-4v16zm-6 0h4v-8H4v8zM16 9v11h4V9h-4z"></path>-->
224
<!--                  </svg>-->
225
<!--                  <span class="uk-text-middle space">View statistics</span>-->
226
<!--                </div>-->
227
<!--              </div>-->
344 228

  
345
<!--              ||-->
346
<!--              dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1-->
229
<!--&lt;!&ndash;              ||&ndash;&gt;-->
230
<!--&lt;!&ndash;              dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1&ndash;&gt;-->
347 231

  
348
<!--              *ngIf="dataProviderInfo.tabs2.indexOf('Publications') != -1 ||-->
349
<!--              dataProviderInfo.tabs2.indexOf('Research Data') != -1 ||-->
350
<!--              dataProviderInfo.tabs2.indexOf('Software') != -1 ||-->
351
<!--              dataProviderInfo.tabs2.indexOf('Other Research Products') != -1 ||-->
352
<!--              dataProviderInfo.tabs2.indexOf('Projects') != -1 ||-->
353
<!--              dataProviderInfo.tabs2.indexOf('Content Providers') != -1 "-->
354
              <div
355
                   class="uk-margin-top advanced-buttons uk-grid-small uk-child-width-1-4@s uk-child-width-1-2"
356
                   uk-height-match="target: .target; row: false"
357
                   uk-grid>
358
<!--                && dataProviderInfo.relatedDatasources && dataProviderInfo.relatedDatasources.size > 0-->
359
<!--                <div *ngIf="dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1-->
360
<!--                            ">-->
361
<!--                  <div class="clickable" (click)="openRelatedDatasources()">-->
362
<!--                    <div class="header target uk-text-bold">Related Content Providers</div>-->
363
<!--                    <div class="footer target uk-position-relative">-->
364
<!--&lt;!&ndash;                      <span class="uk-text-bold uk-position-center">&ndash;&gt;-->
365
<!--&lt;!&ndash;                        {{dataProviderInfo.relatedDatasources?.size | number}}&ndash;&gt;-->
366
<!--&lt;!&ndash;                      </span>&ndash;&gt;-->
367
<!--                    </div>-->
368
<!--                  </div>-->
369
<!--                </div>-->
232
<!--&lt;!&ndash;              *ngIf="dataProviderInfo.tabs2.indexOf('Publications') != -1 ||&ndash;&gt;-->
233
<!--&lt;!&ndash;              dataProviderInfo.tabs2.indexOf('Research Data') != -1 ||&ndash;&gt;-->
234
<!--&lt;!&ndash;              dataProviderInfo.tabs2.indexOf('Software') != -1 ||&ndash;&gt;-->
235
<!--&lt;!&ndash;              dataProviderInfo.tabs2.indexOf('Other Research Products') != -1 ||&ndash;&gt;-->
236
<!--&lt;!&ndash;              dataProviderInfo.tabs2.indexOf('Projects') != -1 ||&ndash;&gt;-->
237
<!--&lt;!&ndash;              dataProviderInfo.tabs2.indexOf('Content Providers') != -1 "&ndash;&gt;-->
238
<!--              <div-->
239
<!--                   class="uk-margin-top advanced-buttons uk-grid-small uk-child-width-1-4@s uk-child-width-1-2"-->
240
<!--                   uk-height-match="target: .target; row: false"-->
241
<!--                   uk-grid>-->
242
<!--&lt;!&ndash;                && dataProviderInfo.relatedDatasources && dataProviderInfo.relatedDatasources.size > 0&ndash;&gt;-->
243
<!--&lt;!&ndash;                <div *ngIf="dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1&ndash;&gt;-->
244
<!--&lt;!&ndash;                            ">&ndash;&gt;-->
245
<!--&lt;!&ndash;                  <div class="clickable" (click)="openRelatedDatasources()">&ndash;&gt;-->
246
<!--&lt;!&ndash;                    <div class="header target uk-text-bold">Related Content Providers</div>&ndash;&gt;-->
247
<!--&lt;!&ndash;                    <div class="footer target uk-position-relative">&ndash;&gt;-->
248
<!--&lt;!&ndash;&lt;!&ndash;                      <span class="uk-text-bold uk-position-center">&ndash;&gt;&ndash;&gt;-->
249
<!--&lt;!&ndash;&lt;!&ndash;                        {{dataProviderInfo.relatedDatasources?.size | number}}&ndash;&gt;&ndash;&gt;-->
250
<!--&lt;!&ndash;&lt;!&ndash;                      </span>&ndash;&gt;&ndash;&gt;-->
251
<!--&lt;!&ndash;                    </div>&ndash;&gt;-->
252
<!--&lt;!&ndash;                  </div>&ndash;&gt;-->
253
<!--&lt;!&ndash;                </div>&ndash;&gt;-->
370 254

  
371
<!--                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Publications') != -1">-->
372
                  <ng-container *ngTemplateOutlet="search_box;
373
                              context: {  fetch: fetchPublications, type: 'publications', typeName: 'Publications',
374
                              searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults, params: getParamsForSearchLink('publications')}">
375
                  </ng-container>
376
<!--                  <a [queryParams]="routerHelper.createQueryParams(['f0', 'fv0', 'type', 'qf'], ['relprojectid', projectId, type, 'false'])"-->
377
<!--                     [routerLink]="properties.searchLinkToAdvancedResults">-->
378
<!--                </ng-container>-->
379
<!--                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Research Data') != -1">-->
380
                  <ng-container *ngTemplateOutlet="search_box;
381
                              context: {  fetch: fetchDatasets, type: 'datasets', typeName: 'Research Data',
382
                              searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults, params: getParamsForSearchLink('datasets')}">
383
                  </ng-container>
384
<!--                </ng-container>-->
385
<!--                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Software') != -1">-->
386
                  <ng-container *ngTemplateOutlet="search_box;
387
                              context: {  fetch: fetchSoftware, type: 'software', typeName: 'Software',
388
                              searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults, params: getParamsForSearchLink('software')}">
389
                  </ng-container>
390
<!--                </ng-container>-->
391
<!--                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Other Research Products') != -1">-->
392
                  <ng-container *ngTemplateOutlet="search_box;
393
                              context: {  fetch: fetchOrps, type: 'other', typeName: 'Other Research Products',
394
                              searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults, params: getParamsForSearchLink('other')}">
395
                  </ng-container>
396
<!--                </ng-container>-->
397
<!--                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Projects') != -1">-->
398
                  <ng-container *ngTemplateOutlet="search_box;
399
                              context: {  fetch: fetchProjects, type: 'project', typeName: 'Projects',
400
                              searchLinkToAdvancedPage: properties.searchLinkToAdvancedProjects, params: getParamsForSearchLink()}">
401
                  </ng-container>
402
<!--                </ng-container>-->
403
<!--                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Content Providers') != -1">-->
404
                  <ng-container *ngTemplateOutlet="search_box;
405
                              context: {  fetch: fetchDataproviders, type: 'other', typeName: 'Content Providers',
406
                              searchLinkToAdvancedPage: properties.searchLinkToAdvancedDataProviders, params: getParamsForSearchLink()}">
407
                  </ng-container>
408
<!--                </ng-container>-->
409
              </div>
410
            </div>
411
            <div class="uk-margin-small-top uk-flex uk-flex-bottom">
412
              <img src="assets/common-assets/graph.svg" style="opacity: 0.4">
413
              <span class="uk-margin-small-left uk-text-small uk-text-baseline uk-text-muted">
414
                Powered by OpenAIRE Open Research Graph
415
              </span>
416
            </div>
255
<!--&lt;!&ndash;                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Publications') != -1">&ndash;&gt;-->
256
<!--                  <ng-container *ngTemplateOutlet="search_box;-->
257
<!--                              context: {  fetch: fetchPublications, type: 'publications', typeName: 'Publications',-->
258
<!--                              searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults, params: getParamsForSearchLink('publications')}">-->
259
<!--                  </ng-container>-->
260
<!--&lt;!&ndash;                  <a [queryParams]="routerHelper.createQueryParams(['f0', 'fv0', 'type', 'qf'], ['relprojectid', projectId, type, 'false'])"&ndash;&gt;-->
261
<!--&lt;!&ndash;                     [routerLink]="properties.searchLinkToAdvancedResults">&ndash;&gt;-->
262
<!--&lt;!&ndash;                </ng-container>&ndash;&gt;-->
263
<!--&lt;!&ndash;                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Research Data') != -1">&ndash;&gt;-->
264
<!--                  <ng-container *ngTemplateOutlet="search_box;-->
265
<!--                              context: {  fetch: fetchDatasets, type: 'datasets', typeName: 'Research Data',-->
266
<!--                              searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults, params: getParamsForSearchLink('datasets')}">-->
267
<!--                  </ng-container>-->
268
<!--&lt;!&ndash;                </ng-container>&ndash;&gt;-->
269
<!--&lt;!&ndash;                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Software') != -1">&ndash;&gt;-->
270
<!--                  <ng-container *ngTemplateOutlet="search_box;-->
271
<!--                              context: {  fetch: fetchSoftware, type: 'software', typeName: 'Software',-->
272
<!--                              searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults, params: getParamsForSearchLink('software')}">-->
273
<!--                  </ng-container>-->
274
<!--&lt;!&ndash;                </ng-container>&ndash;&gt;-->
275
<!--&lt;!&ndash;                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Other Research Products') != -1">&ndash;&gt;-->
276
<!--                  <ng-container *ngTemplateOutlet="search_box;-->
277
<!--                              context: {  fetch: fetchOrps, type: 'other', typeName: 'Other Research Products',-->
278
<!--                              searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults, params: getParamsForSearchLink('other')}">-->
279
<!--                  </ng-container>-->
280
<!--&lt;!&ndash;                </ng-container>&ndash;&gt;-->
281
<!--&lt;!&ndash;                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Projects') != -1">&ndash;&gt;-->
282
<!--                  <ng-container *ngTemplateOutlet="search_box;-->
283
<!--                              context: {  fetch: fetchProjects, type: 'project', typeName: 'Projects',-->
284
<!--                              searchLinkToAdvancedPage: properties.searchLinkToAdvancedProjects, params: getParamsForSearchLink()}">-->
285
<!--                  </ng-container>-->
286
<!--&lt;!&ndash;                </ng-container>&ndash;&gt;-->
287
<!--&lt;!&ndash;                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Content Providers') != -1">&ndash;&gt;-->
288
<!--                  <ng-container *ngTemplateOutlet="search_box;-->
289
<!--                              context: {  fetch: fetchDataproviders, type: 'other', typeName: 'Content Providers',-->
290
<!--                              searchLinkToAdvancedPage: properties.searchLinkToAdvancedDataProviders, params: getParamsForSearchLink()}">-->
291
<!--                  </ng-container>-->
292
<!--&lt;!&ndash;                </ng-container>&ndash;&gt;-->
293
<!--              </div>-->
294
<!--            </div>-->
417 295
          </div>
418 296

  
419 297
<!--            <div *ngIf="showTabs">-->
......
569 447
<!--              </ul>-->
570 448
<!--            </div>-->
571 449

  
572
          <div class=" uk-width-1-3@m uk-width-1-1@s">
573
            <div class="uk-card uk-card-default uk-padding-small">
574
              <div>
575
                <div class="sideInfoTitle uk-margin-small-bottom uk-margin-small-top">Share - Bookmark</div>
576
                <addThis></addThis>
577
              </div>
450
          <div class="uk-width-1-3@m uk-width-1-1@s uk-padding-remove">
451
            <ul class="user-actions uk-list uk-card uk-card-default uk-padding">
452
              <li><addThis></addThis></li>
578 453
              <!-- Metrics -->
579
              <div *ngIf="hasMetrics" class="uk-margin-top">
580
                <div class="sideInfoTitle uk-margin-small-bottom">Metrics</div>
581
                <div uk-grid class="uk-child-width-1-3 uk-text-center uk-flex uk-flex-middle">
582
                  <div></div><!-- Open Citations-->
454
              <li *ngIf="hasMetrics" class="uk-margin-medium-top">
455
                <div class="uk-text-center uk-flex uk-flex-middle uk-flex-center">
583 456
                  <div>
584 457
                    <metrics [pageViews]="pageViews"
585 458
                             [id]="datasourceId" [entityType]="'datasources'" [entity]="'Content Provider'"
......
588 461
                    </metrics>
589 462
                  </div>
590 463
                </div>
464
              </li>
465
            </ul>
466
          </div>
467
        </div>
468
        <div *ngIf="dataProviderInfo != null">
469

  
470
          <div *ngIf="numberOfTabs > 0; else loadingBlock" class="main-tabs-div">
471
            <ng-template #summary_tab>
472
              <div class="uk-grid uk-margin-remove">
473
                <div *ngIf="hasPrimaryInfo" class="uk-width-expand uk-padding uk-inline">
474
                  <!-- Description -->
475
                  <div *ngIf="dataProviderInfo.description" class="uk-margin-medium-bottom">
476
                    <div class="uk-text-muted">Description</div>
477
                    <div class="uk-text-justify uk-height-max-medium uk-overflow-auto">
478
                      <span>{{dataProviderInfo.description.substring(0, showNumDescription)}}</span>
479
                      <span *ngIf="showNumDescription == thresholdDescription &&
480
                       dataProviderInfo.description.length > thresholdDescription">...</span>
481
                    </div>
482
                    <div *ngIf="showNumDescription == thresholdDescription &&
483
                                    dataProviderInfo.description.length > thresholdDescription" class="uk-text-right">
484
                      <a (click)="showNumDescription = dataProviderInfo.description.length;">
485
                        Read more
486
                      </a>
487
                    </div>
488
                    <div *ngIf="dataProviderInfo.description && showNumDescription > thresholdDescription"
489
                         class="uk-text-right">
490
                      <a (click)="showNumDescription = thresholdDescription;">
491
                        Read less
492
                      </a>
493
                    </div>
494
                  </div>
495

  
496
                  <ul *ngIf="hasJournalInfo" class="uk-list uk-margin-medium-bottom uk-margin-remove-top">
497
                    <showPublisher [journal]="dataProviderInfo.journal" [properties]="properties"></showPublisher>
498
                  </ul>
499

  
500
                  <div *ngIf="hasAggregationStatusInfo"
501
                       class="uk-margin-medium-bottom uk-animation-fade uk-animation-fast">
502
                      <span *ngIf="dataProviderInfo.aggregationStatus.fulltexts && dataProviderInfo.aggregationStatus.fulltexts != -1"
503
                            class="uk-margin-right">
504
                        <span class="uk-text-muted">Collected full-texts: </span>
505
                        {{dataProviderInfo.aggregationStatus.fulltexts | number}}
506
                      </span>
507
                    <span *ngIf="dataProviderInfo.aggregationStatus.fundedContent && dataProviderInfo.aggregationStatus.fundedContent != -1"
508
                          class="uk-display-inline-block">
509
                        <span class="uk-text-muted">Results with funding information: </span>
510
                      {{dataProviderInfo.aggregationStatus.fundedContent | number}}
511
                      </span>
512
                    <span *ngIf="dataProviderInfo.aggregationStatus.lastUpdateDate"
513
                          class="uk-display-inline-block">
514
                        <span class="uk-text-muted">Latest data aggregation: </span>
515
                      {{dataProviderInfo.aggregationStatus.lastUpdateDate | date}}
516
                      </span>
517
                  </div>
518

  
519
                  <div *ngIf="dataProviderInfo.countries != undefined && dataProviderInfo.countries.length > 0"
520
                       class="uk-margin-medium-bottom">
521
                    <span class="uk-text-muted">Countries:</span>
522
                    {{dataProviderInfo.countries.join(", ")}}
523
                  </div>
524

  
525
                  <!-- Subjects -->
526
                  <div *ngIf="dataProviderInfo.subjects && dataProviderInfo.subjects.length > 0"
527
                       class="uk-margin-medium-bottom uk-margin-bottom">
528
                    <div class="uk-height-max-medium uk-overflow-auto">
529
                      <div class="uk-text-muted">Subjects </div>
530
                      <span *ngFor="let subject of dataProviderInfo.subjects.slice(0, showNumSubjects) let i=index">
531
                          <span>{{subject}}</span>
532
                          <span *ngIf="(i < dataProviderInfo.subjects.length-1)">, </span>
533
                        </span>
534
                      <span *ngIf="showNumSubjects == thresholdSubjects &&  dataProviderInfo.organizations.length > thresholdSubjects">	... </span>
535
                    </div>
536
                    <div *ngIf="showNumSubjects == thresholdSubjects && dataProviderInfo.organizations.length > thresholdSubjects"
537
                         class="uk-width-1-1 uk-text-right">
538
                      <a (click)="showNumSubjects = dataProviderInfo.subjects.length;">
539
                        View all {{dataProviderInfo.subjects.length | number}} subjects
540
                      </a>
541
                    </div>
542
                    <div *ngIf="showNumSubjects > thresholdSubjects" class="uk-width-1-1 uk-text-right">
543
                      <a (click)="showNumSubjects = thresholdSubjects;">View less subjects</a>
544
                    </div>
545
                  </div>
546
                </div>
547

  
548
                <div *ngIf="hasSecondaryInfo"
549
                     [class]="'uk-padding uk-inline ' + (hasPrimaryInfo?'uk-width-1-3@m right-column': 'uk-width-expand')">
550
                  <div *ngIf="dataProviderInfo.oaiPmhURL || dataProviderInfo.openDoarId || dataProviderInfo.r3DataId"
551
                       class="uk-margin-medium-bottom">
552
                    <div *ngIf="dataProviderInfo.oaiPmhURL">
553
                      <span class="uk-text-muted">OAI-PMH: </span>
554
                      <a target="_blank" href="{{dataProviderInfo.oaiPmhURL}}">
555
                        {{dataProviderInfo.oaiPmhURL}}
556
                        <span class="custom-external custom-icon space"></span>
557
                      </a>
558
                    </div>
559
                    <div *ngIf="dataProviderInfo.openDoarId" class="uk-display-inline-block">
560
                      <span class="uk-text-muted">Detailed information @ </span>
561
                      <a target="_blank" href="{{properties.openDoarURL+dataProviderInfo.openDoarId}}">
562
                        OpenDOAR
563
                        <span class="custom-external custom-icon space"></span>
564
                      </a>
565
                    </div>
566
                    <span *ngIf="dataProviderInfo.r3DataId" class="uk-display-inline-block">
567
                          <span class="uk-text-muted">Detailed information @ </span>
568
                          <a target="_blank" href="{{properties.r3DataURL+dataProviderInfo.r3DataId}}">
569
                            re3data.org
570
                            <span class="custom-external custom-icon space"></span>
571
                          </a>
572
                        </span>
573
                  </div>
574
                  <!-- Organizations -->
575
                  <!--                    <div class="uk-text-muted uk-text-small">Organizations</div>-->
576
                  <!--                    <div class="uk-height-max-medium uk-overflow-auto">-->
577
                  <div *ngIf="dataProviderInfo.organizations && dataProviderInfo.organizations.length > 0"
578
                       class="uk-margin-medium-bottom">
579
                    <div class="uk-height-max-medium uk-overflow-auto">
580
                      <span class="uk-text-muted">Organizations: </span>
581
                      <span *ngFor="let organization of dataProviderInfo.organizations.slice(0, showNumOrganizations) let i=index"
582
                            [attr.uk-tooltip]="organization.acronym && organization.name ? 'pos:right; delay:10' : 'cls: uk-invisible'"
583
                            [title]="organization.name">
584
                            <a *ngIf="organization.id"
585
                               [queryParams]="{organizationId: organization.id}" routerLinkActive="router-link-active"
586
                               routerLink="/search/organization">
587
                              <u>{{(organization.acronym) ? organization.acronym : ''}}</u>
588
                              <u>{{(!organization.acronym && organization.name) ? organization.name : ''}}</u>
589
                            </a>
590
                            <span *ngIf="!organization.id">
591
                              <span *ngIf="organization.acronym">{{organization.acronym}}</span>
592
                              <span *ngIf="!organization.acronym && organization.name">{{organization.name}}</span>
593
                              <span *ngIf="(i < dataProviderInfo.organizations.length-1)">,</span>
594
                            </span>
595
                            <span *ngIf="(i < dataProviderInfo.organizations.length-1)">, </span>
596
                          </span>
597
                      <span *ngIf="showNumOrganizations == thresholdOrganizations &&  dataProviderInfo.organizations.length > thresholdOrganizations">	... </span>
598
                    </div>
599
                    <div *ngIf="showNumOrganizations == thresholdOrganizations && dataProviderInfo.organizations.length > thresholdOrganizations"
600
                         class="uk-width-1-1 uk-text-right">
601
                      <a (click)="showNumOrganizations = dataProviderInfo.organizations.length;">
602
                        View all {{dataProviderInfo.organizations.length | number}} organizations
603
                      </a>
604
                    </div>
605
                    <div *ngIf="showNumOrganizations > thresholdOrganizations" class="uk-width-1-1 uk-text-right">
606
                      <a (click)="showNumOrganizations = thresholdOrganizations;">View less organizations</a>
607
                    </div>
608
                  </div>
609

  
610
                </div>
591 611
              </div>
592
<!--              <metrics [pageViews]="pageViews" shortView=true-->
593
<!--                       [id]="datasourceId" [entityType]="'datasources'" [entity]="'Content Provider'"-->
594
<!--                       (metricsResults)="metricsResults($event)" [properties]=properties>-->
595
<!--              </metrics>-->
596
              <!-- Metrics -->
597
<!--              <div class="uk-margin-top">-->
598
<!--                <div class="sideInfoTitle uk-margin-small-bottom">Metrics</div>-->
599
<!--                <div uk-grid class="uk-child-width-1-3 uk-text-center uk-flex uk-flex-middle">-->
600
<!--                  <div></div>&lt;!&ndash; OpenAIRE Metrics &ndash;&gt;-->
601
<!--                </div>-->
602
<!--              </div>-->
612
            </ng-template>
613
            <ng-template #projects_tab>
614
              <div class="uk-grid uk-margin-remove">
615
                <div class="uk-width-expand uk-padding">
616
                  <ng-container *ngTemplateOutlet="search_tab;
617
                                context: {  fetch: fetchProjects, type: 'project', urlParam: 'projectId',
618
                                            searchLinkToAdvancedPage: properties.searchLinkToAdvancedProjects,
619
                                            params: getParamsForSearchLink()}">
620
                  </ng-container>
621
                </div>
622
              </div>
623
            </ng-template>
624
            <ng-template #datasources_tab>
625
              <div class="uk-grid uk-margin-remove">
626
                <div class="uk-width-expand uk-padding">
627
                  <ng-container *ngTemplateOutlet="search_tab;
628
                                context: {  fetch: fetchDataproviders, type: 'dataprovider', urlParam: 'datasourceId',
629
                                            searchLinkToAdvancedPage: properties.searchLinkToAdvancedDataProviders,
630
                                            params: getParamsForSearchLink()}">
631
                  </ng-container>
632
                </div>
633
              </div>
634
            </ng-template>
635
            <ng-template #relatedDatasources_tab>
636
              <div class="uk-grid uk-margin-remove">
637
                <div class="uk-width-expand uk-padding">
638
                  <relatedDatasourcesTab
639
                    [dataproviderId]="datasourceId"
640
                    [results]="dataProviderInfo.relatedDatasources"
641
                    [loading]="loadingRelatedDatasources"
642
                    [fetchResults]="fetchAggregatorsResults"
643
                    [collectedFromName]="dataProviderInfo.title.name"
644
                    [properties]=properties
645
                    [modal]="relatedDatasourcesModal">
646
                  </relatedDatasourcesTab>
647
                </div>
648
              </div>
649
            </ng-template>
650
            <ng-template #publications_tab>
651
              <div class="uk-grid uk-margin-remove">
652
                <div class="uk-width-expand uk-padding">
653
                  <ng-container *ngTemplateOutlet="search_tab;
654
                                context: {  fetch: fetchPublications, type: 'publication', urlParam: 'articleId',
655
                                            searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults,
656
                                            params: getParamsForSearchLink('publications')}">
657
                  </ng-container>
658
                </div>
659
              </div>
660
            </ng-template>
661
            <ng-template #datasets_tab>
662
              <div class="uk-grid uk-margin-remove">
663
                <div class="uk-width-expand uk-padding">
664
                  <ng-container *ngTemplateOutlet="search_tab;
665
                                context: {  fetch: fetchDatasets, type: 'dataset', urlParam: 'datasetId',
666
                                            searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults,
667
                                            params: getParamsForSearchLink('datasets')}">
668
                  </ng-container>
669
                </div>
670
              </div>
671
            </ng-template>
672
            <ng-template #software_tab>
673
              <div class="uk-grid uk-margin-remove">
674
                <div class="uk-width-expand uk-padding">
675
                  <ng-container *ngTemplateOutlet="search_tab;
676
                                context: {  fetch: fetchSoftware, type: 'software', urlParam: 'softwareId',
677
                                            searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults,
678
                                            params: getParamsForSearchLink('software')}">
679
                  </ng-container>
680
                </div>
681
              </div>
682
            </ng-template>
683
            <ng-template #other_tab>
684
              <div class="uk-grid uk-margin-remove">
685
                <div class="uk-width-expand uk-padding">
686
                  <ng-container *ngTemplateOutlet="search_tab;
687
                                context: {  fetch: fetchOrps, type: 'other', urlParam: 'orpId',
688
                                            searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults,
689
                                            params: getParamsForSearchLink('other')}">
690
                  </ng-container>
691
                </div>
692
              </div>
693
            </ng-template>
694
            <ng-template #statistics_tab>
695
              <div class="">
696
                <div class="uk-width-expand uk-padding">
697
                  <errorMessages [status]="[fetchPublications.searchUtils.status, fetchDatasets.searchUtils.status,
698
                                  fetchSoftware.searchUtils.status, fetchOrps.searchUtils.status]"
699
                                 [type]="'statistics'" tab_error_class=true></errorMessages>
700

  
701
                  <div
702
                    *ngIf="statsClicked &&
703
                              (fetchPublications.searchUtils.status == errorCodes.DONE || fetchDatasets.searchUtils.status == errorCodes.DONE
704
                              || fetchSoftware.searchUtils.status == errorCodes.DONE || fetchOrps.searchUtils.status == errorCodes.DONE)">
705
                    <statisticsTab [fetchPublications]="fetchPublications" [fetchDatasets]="fetchDatasets"
706
                                   [fetchSoftware]="fetchSoftware" [fetchOther]="fetchOrps"
707
                                   [datasourceId]="datasourceId">
708
                    </statisticsTab>
709
                  </div>
710
                </div>
711
              </div>
712
            </ng-template>
713

  
714
            <my-tabs [class]="numberOfTabs > 2 ? 'uk-visible@m' : ''" (selectedActiveTab)="onSelectActiveTab($event)">
715
              <my-tab *ngIf="hasPrimaryInfo || hasSecondaryInfo"
716
                      [tabTitle]="'Summary'" [tabId]="'summary'" [class]="(firstTab === 'summary')?'uk-active':''">
717
                <ng-container *ngTemplateOutlet="summary_tab;"></ng-container>
718
              </my-tab>
719
              <my-tab  *ngIf="fetchProjects.searchUtils.totalResults > 0"
720
                       [tabTitle]="'Projects'" [tabNumber]="fetchProjects.searchUtils.totalResults"
721
                       [tabId]="'projects'" [class]="(firstTab === 'projects')?'uk-active':''">
722
                <ng-container *ngTemplateOutlet="projects_tab;"></ng-container>
723
              </my-tab>
724
              <my-tab  *ngIf="fetchDataproviders.searchUtils.totalResults > 0"
725
                       [tabTitle]="'Content Providers'" [tabNumber]="fetchDataproviders.searchUtils.totalResults"
726
                       [tabId]="'datasources'" [class]="(firstTab === 'datasources')?'uk-active':''">
727
                <ng-container *ngTemplateOutlet="datasources_tab;"></ng-container>
728
              </my-tab>
729
              <my-tab *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
730
                            || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
731
                      [tabTitle]="'Related Content Providers'" [tabId]="'relatedDatasources'"
732
                      [class]="(firstTab === 'relatedDatasources')?'uk-active':''">
733
                <ng-container *ngTemplateOutlet="relatedDatasources_tab;"></ng-container>
734
              </my-tab>
735
              <my-tab  *ngIf="fetchPublications.searchUtils.totalResults > 0"
736
                       [tabTitle]="'Publications'" [tabNumber]="fetchPublications.searchUtils.totalResults"
737
                       [tabId]="'publications'" [class]="(firstTab === 'publications')?'uk-active':''">
738
                <ng-container *ngTemplateOutlet="publications_tab;"></ng-container>
739
              </my-tab>
740
              <my-tab  *ngIf="fetchDatasets.searchUtils.totalResults > 0"
741
                       [tabTitle]="'Research Data'" [tabNumber]="fetchDatasets.searchUtils.totalResults"
742
                       [tabId]="'datasets'" [class]="(firstTab === 'datasets')?'uk-active':''">
743
                <ng-container *ngTemplateOutlet="datasets_tab;"></ng-container>
744
              </my-tab>
745
              <my-tab  *ngIf="fetchSoftware.searchUtils.totalResults > 0"
746
                       [tabTitle]="'Software'" [tabNumber]="fetchSoftware.searchUtils.totalResults"
747
                       [tabId]="'software'" [class]="(firstTab === 'software')?'uk-active':''">
748
                <ng-container *ngTemplateOutlet="software_tab;"></ng-container>
749
              </my-tab>
750
              <my-tab  *ngIf="fetchOrps.searchUtils.totalResults > 0"
751
                       [tabTitle]="'Other Research'" [tabNumber]="fetchOrps.searchUtils.totalResults"
752
                       [tabId]="'other'" [class]="(firstTab === 'other')?'uk-active':''">
753
                <ng-container *ngTemplateOutlet="other_tab;"></ng-container>
754
              </my-tab>
755
              <my-tab *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
756
                       || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
757
                      [tabTitle]="'Statistics'" [statistics]="true" [tabId]="'statistics'"
758
                      [class]="(firstTab === 'statistics')?'uk-active':''">
759
                <ng-container *ngTemplateOutlet="statistics_tab;"></ng-container>
760
              </my-tab>
761
            </my-tabs>
762

  
763
            <my-small-tabs *ngIf="numberOfTabs > 2" class="uk-hidden@m" (selectedActiveTab)="onSelectActiveTab($event)">
764
              <my-tab *ngIf="hasPrimaryInfo || hasSecondaryInfo"
765
                      [tabTitle]="'Summary'" [tabId]="'summary'" [class]="(firstTab === 'summary')?'uk-active':''">
766
                <ng-container *ngTemplateOutlet="summary_tab;"></ng-container>
767
              </my-tab>
768
              <my-tab  *ngIf="fetchProjects.searchUtils.totalResults > 0"
769
                       [tabTitle]="'Projects'" [tabNumber]="fetchProjects.searchUtils.totalResults"
770
                       [tabId]="'projects'" [class]="(firstTab === 'projects')?'uk-active':''">
771
                <ng-container *ngTemplateOutlet="projects_tab;"></ng-container>
772
              </my-tab>
773
              <my-tab  *ngIf="fetchDataproviders.searchUtils.totalResults > 0"
774
                       [tabTitle]="'Content Providers'" [tabNumber]="fetchDataproviders.searchUtils.totalResults"
775
                       [tabId]="'datasources'" [class]="(firstTab === 'datasources')?'uk-active':''">
776
                <ng-container *ngTemplateOutlet="datasources_tab;"></ng-container>
777
              </my-tab>
778
              <my-tab *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
779
                            || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
780
                      [tabTitle]="'Related Content Providers'" [tabId]="'relatedDatasources'"
781
                      [class]="(firstTab === 'relatedDatasources')?'uk-active':''">
782
                <ng-container *ngTemplateOutlet="relatedDatasources_tab;"></ng-container>
783
              </my-tab>
784
              <my-tab  *ngIf="fetchPublications.searchUtils.totalResults > 0"
785
                       [tabTitle]="'Publications'" [tabNumber]="fetchPublications.searchUtils.totalResults"
786
                       [tabId]="'publications'" [class]="(firstTab === 'publications')?'uk-active':''">
787
                <ng-container *ngTemplateOutlet="publications_tab;"></ng-container>
788
              </my-tab>
789
              <my-tab  *ngIf="fetchDatasets.searchUtils.totalResults > 0"
790
                       [tabTitle]="'Research Data'" [tabNumber]="fetchDatasets.searchUtils.totalResults"
791
                       [tabId]="'datasets'" [class]="(firstTab === 'datasets')?'uk-active':''">
792
                <ng-container *ngTemplateOutlet="datasets_tab;"></ng-container>
793
              </my-tab>
794
              <my-tab  *ngIf="fetchSoftware.searchUtils.totalResults > 0"
795
                       [tabTitle]="'Software'" [tabNumber]="fetchSoftware.searchUtils.totalResults"
796
                       [tabId]="'software'" [class]="(firstTab === 'software')?'uk-active':''">
797
                <ng-container *ngTemplateOutlet="software_tab;"></ng-container>
798
              </my-tab>
799
              <my-tab  *ngIf="fetchOrps.searchUtils.totalResults > 0"
800
                       [tabTitle]="'Other Research'" [tabNumber]="fetchOrps.searchUtils.totalResults"
801
                       [tabId]="'other'" [class]="(firstTab === 'other')?'uk-active':''">
802
                <ng-container *ngTemplateOutlet="other_tab;"></ng-container>
803
              </my-tab>
804
              <my-tab *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
805
                       || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
806
                      [tabTitle]="'Statistics'" [statistics]="true" [tabId]="'statistics'"
807
                      [class]="(firstTab === 'statistics')?'uk-active':''">
808
                <ng-container *ngTemplateOutlet="statistics_tab;"></ng-container>
809
              </my-tab>
810
            </my-small-tabs>
811
          </div>
812
          <ng-template #loadingBlock>
813
            <div class="uk-animation-fade uk-margin-top  uk-width-1-1" role="alert">
814
              <span class="loading-gif  uk-align-center" ></span>
603 815
            </div>
604
            <div class="uk-margin-small-top uk-text-muted uk-text-small uk-text-right">
605
              Last update of records in OpenAIRE: {{indexUpdateDate | date: 'MMM dd, yyyy'}}
816
          </ng-template>
817

  
818
          <div class="uk-margin-small-top uk-flex">
819
            <!-- Last Index Info-->
820
            <div class="uk-width-2-3@m uk-width-1-2">
821
              <img src="assets/common-assets/graph.svg" style="opacity: 0.4">
822
              <span class="uk-margin-small-left uk-text-baseline uk-text-muted">Powered by OpenAIRE Open Research Graph</span>
823
              <span class="uk-text-baseline uk-text-muted">
824
                . Last update of records in OpenAIRE: {{indexUpdateDate | date: 'MMM dd, yyyy'}}
825
              </span>
606 826
            </div>
827
            <!--Feedback-->
828
            <div class="uk-width-expand uk-text-right">
829
              <span class="uk-text-muted">Any information missing or wrong?</span>
830
              <a (click)="showFeedback = true; scroll()" class="portal-link space">Report an Issue</a>
831
            </div>
607 832
          </div>
608 833
        </div>
609 834
        <helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
......
616 841
            [showForm]="showFeedback" (show)="showFeedback = $event"></feedback>
617 842
  <!-- Statistics -->
618 843
<!--   && dataProviderInfo.tabs2 && dataProviderInfo.tabs2.indexOf('Statistics') != -1-->
619
  <modal-alert *ngIf="dataProviderInfo &&
620
                      (fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
621
                      || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
622
               classBody="uk-width-xxlarge uk-padding-remove-right" #statisticsModal>
623
    <landing-header [properties]="properties" [title]="dataProviderInfo.title.name"
624
                    [subTitle]="(dataProviderInfo.officialName
625
                            && dataProviderInfo.title.name !== dataProviderInfo.officialName)?dataProviderInfo.officialName:null"
626
                    [entityType]="'content provider'"
627
                    [types]="dataProviderInfo.type ? [dataProviderInfo.type] : null">
628
    </landing-header>
629
    <div *ngIf="statsClicked" class="uk-margin-medium-top uk-margin-medium-right">
630
      <statisticsTab [fetchPublications]="fetchPublications" [fetchDatasets]="fetchDatasets"
631
                     [fetchSoftware]="fetchSoftware" [fetchOther]="fetchOrps"
632
                     [datasourceId]="datasourceId"></statisticsTab>
633
    </div>
634
  </modal-alert>
844
<!--  <modal-alert *ngIf="dataProviderInfo &&-->
845
<!--                      (fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0-->
846
<!--                      || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"-->
847
<!--               classBody="uk-width-xxlarge uk-padding-remove-right" #statisticsModal>-->
848
<!--    <landing-header [properties]="properties" [title]="dataProviderInfo.title.name"-->
849
<!--                    [subTitle]="(dataProviderInfo.officialName-->
850
<!--                            && dataProviderInfo.title.name !== dataProviderInfo.officialName)?dataProviderInfo.officialName:null"-->
851
<!--                    [entityType]="'content provider'"-->
852
<!--                    [types]="dataProviderInfo.type ? [dataProviderInfo.type] : null">-->
853
<!--    </landing-header>-->
854
<!--    <div *ngIf="statsClicked" class="uk-margin-medium-top uk-margin-medium-right">-->
855
<!--      <statisticsTab [fetchPublications]="fetchPublications" [fetchDatasets]="fetchDatasets"-->
856
<!--                     [fetchSoftware]="fetchSoftware" [fetchOther]="fetchOrps"-->
857
<!--                     [datasourceId]="datasourceId"></statisticsTab>-->
858
<!--    </div>-->
859
<!--  </modal-alert>-->
635 860

  
636 861
  <!-- Related Content Providers -->
637 862
<!--  && dataProviderInfo.relatedDatasources && dataProviderInfo.relatedDatasources.size > 0-->
638 863

  
639 864
<!--  && dataProviderInfo.tabs2 && dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1-->
640
  <modal-alert *ngIf="dataProviderInfo &&
641
                    (fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
642
                    || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
643
               classBody="uk-width-xxlarge uk-padding-remove-right" #relatedDatasourcesModal>
644
    <landing-header [properties]="properties" [title]="dataProviderInfo.title.name"
645
                    [subTitle]="(dataProviderInfo.officialName
646
                            && dataProviderInfo.title.name !== dataProviderInfo.officialName)?dataProviderInfo.officialName:null"
647
                    [entityType]="'content provider'"
648
                    [types]="dataProviderInfo.type ? [dataProviderInfo.type] : null">
649
    </landing-header>
650
    <div class="uk-margin-medium-top uk-margin-medium-right">
651
<!--      [fetchPublications]="fetchAggregatorsPublications"-->
652
<!--      [fetchDatasets]="fetchAggregatorsDatasets"-->
653
<!--      [fetchSoftware]="fetchAggregatorsSoftware"-->
654
<!--      [fetchOrps]="fetchAggregatorsOrps"-->
655
      <relatedDatasourcesTab
656
                             [dataproviderId]="datasourceId"
657
                             [results]="dataProviderInfo.relatedDatasources"
658
                             [loading]="loadingRelatedDatasources"
659
                             [fetchResults]="fetchAggregatorsResults"
660
                             [collectedFromName]="dataProviderInfo.title.name"
661
                             [properties]=properties
662
                             [modal]="relatedDatasourcesModal">
663
      </relatedDatasourcesTab>
664
    </div>
665
  </modal-alert>
865
<!--  <modal-alert *ngIf="dataProviderInfo &&-->
866
<!--                    (fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0-->
867
<!--                    || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"-->
868
<!--               classBody="uk-width-xxlarge uk-padding-remove-right" #relatedDatasourcesModal>-->
869
<!--    <landing-header [properties]="properties" [title]="dataProviderInfo.title.name"-->
870
<!--                    [subTitle]="(dataProviderInfo.officialName-->
871
<!--                            && dataProviderInfo.title.name !== dataProviderInfo.officialName)?dataProviderInfo.officialName:null"-->
872
<!--                    [entityType]="'content provider'"-->
873
<!--                    [types]="dataProviderInfo.type ? [dataProviderInfo.type] : null">-->
874
<!--    </landing-header>-->
875
<!--    <div class="uk-margin-medium-top uk-margin-medium-right">-->
876
<!--&lt;!&ndash;      [fetchPublications]="fetchAggregatorsPublications"&ndash;&gt;-->
877
<!--&lt;!&ndash;      [fetchDatasets]="fetchAggregatorsDatasets"&ndash;&gt;-->
878
<!--&lt;!&ndash;      [fetchSoftware]="fetchAggregatorsSoftware"&ndash;&gt;-->
879
<!--&lt;!&ndash;      [fetchOrps]="fetchAggregatorsOrps"&ndash;&gt;-->
880
<!--      <relatedDatasourcesTab-->
881
<!--                             [dataproviderId]="datasourceId"-->
882
<!--                             [results]="dataProviderInfo.relatedDatasources"-->
883
<!--                             [loading]="loadingRelatedDatasources"-->
884
<!--                             [fetchResults]="fetchAggregatorsResults"-->
885
<!--                             [collectedFromName]="dataProviderInfo.title.name"-->
886
<!--                             [properties]=properties-->
887
<!--                             [modal]="relatedDatasourcesModal">-->
888
<!--      </relatedDatasourcesTab>-->
889
<!--    </div>-->
890
<!--  </modal-alert>-->
666 891
</div>

Also available in: Unified diff