Project

General

Profile

1
<div id="tm-main" class="landing uk-section uk-padding-remove-top tm-middle">
2
  <div *ngIf="!showFeedback" 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

    
5
      <div id="datasource" class="uk-container uk-container-large uk-margin-medium-top datasource">
6
        <div *ngIf="warningMessage.length > 0" class="uk-alert uk-alert-warning  uk-margin-large-top"
7
             role="alert">{{warningMessage}}</div>
8
        <div *ngIf="errorMessage.length > 0" class="uk-alert uk-alert-danger  uk-margin-large-top"
9
             role="alert">{{errorMessage}}</div>
10
        <div [style.display]="showLoading ? 'inline' : 'none'"
11
             class="uk-animation-fade uk-margin-large-top  uk-width-1-1" role="alert"><span
12
          class="loading-gif  uk-align-center"></span></div>
13
        <helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
14
                [texts]="pageContents['top']"></helper>
15
        <div *ngIf="dataProviderInfo != null" class="uk-grid uk-margin-remove-left uk-margin-large-bottom">
16
          <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">
17
            <schema2jsonld *ngIf="dataProviderInfo" [data]=dataProviderInfo
18
                           [URL]="properties.domain+ properties.baseLink +properties.searchLinkToDataProvider +datasourceId"
19
                           type="datasource"
20
                           [otherURL]="(dataProviderInfo.openDoarId)?(properties.openDoarURL+dataProviderInfo.openDoarId):((dataProviderInfo.r3DataId)?properties.r3DataURL+dataProviderInfo.r3DataId:nul)"></schema2jsonld>
21

    
22
            <landing-header [properties]="properties" [title]="dataProviderInfo.title.name"
23
                            [subTitle]="(dataProviderInfo.officialName
24
                            && dataProviderInfo.title.name !== dataProviderInfo.officialName)?dataProviderInfo.officialName:null"
25
                            [types]="dataProviderInfo.type ? [dataProviderInfo.type] : null">
26
            </landing-header>
27

    
28
            <!-- Web Page -->
29
            <div class="uk-margin-top uk-margin-bottom">
30
              <div *ngIf="dataProviderInfo.title && dataProviderInfo.title.url">
31
                <span class="uk-text-muted">Web page: </span>
32
                <a [href]="dataProviderInfo.title.url" target="_blank">
33
                  <span>{{dataProviderInfo.title.url}}</span>
34
                  <span class="custom-external custom-icon space"></span>
35
                </a>
36
              </div>
37
              <!-- Labels -->
38
              <div class="uk-margin-small-top">
39
                <span *ngIf="dataProviderInfo.compatibility" class="uk-label custom-label label-compatibility"
40
                      title="Compatibility">
41
                  <a *ngIf="!dataProviderInfo.compatibility.name && dataProviderInfo.compatibility.id"
42
                     [queryParams]="{datasourceId: dataProviderInfo.compatibility.id}" routerLinkActive="router-link-active"
43
                     [routerLink]="properties.searchLinkToDataProvider.split('?')[0]">
44
                    {{dataProviderInfo.compatibility.info}}
45
                  </a>
46
                  <span *ngIf="dataProviderInfo.compatibility.name || !dataProviderInfo.compatibility.id">
47
                    {{dataProviderInfo.compatibility.info}}
48
                  </span>
49
                  <a *ngIf="dataProviderInfo.compatibility.name && dataProviderInfo.compatibility.id"
50
                     [queryParams]="{datasourceId: dataProviderInfo.compatibility.id}" routerLinkActive="router-link-active"
51
                     [routerLink]="properties.searchLinkToDataProvider.split('?')[0]">
52
                    {{dataProviderInfo.compatibility.name}}
53
                  </a>
54
                  <span *ngIf="dataProviderInfo.compatibility.name && !dataProviderInfo.compatibility.id">
55
                    {{dataProviderInfo.compatibility.name}}
56
                  </span>
57
                </span>{{" "}}
58
                <span *ngIf="dataProviderInfo.aggregationStatus && dataProviderInfo.aggregationStatus.fulltexts && dataProviderInfo.aggregationStatus.fulltexts > 0"
59
                      class="uk-label custom-label label-dataprovider ">OpenAIRE Text Mining
60
                </span>{{" "}}
61
                <span *ngIf="dataProviderInfo.countries &&
62
                            removeUnknown(dataProviderInfo.countries).length > 0">
63
                  <ng-container *ngFor="let country of removeUnknown(dataProviderInfo.countries)">
64
                    <span class="uk-label custom-label label-country" title="Country">{{country}}</span>
65
                    {{' '}}
66
                  </ng-container>
67
                </span>
68
              </div>
69
            </div>
70
          </div>
71

    
72
          <div class="uk-width-1-3@m uk-width-1-1@s uk-padding-remove">
73
            <ul class="user-actions uk-list uk-card uk-card-default uk-padding">
74
              <li><addThis></addThis></li>
75
              <!-- Metrics -->
76
              <li *ngIf="hasMetrics" class="uk-margin-medium-top">
77
                <div class="uk-text-center uk-flex uk-flex-middle uk-flex-center">
78
                  <div [class.uk-hidden]="!(totalViews && totalDownloads && pageViews)">
79
                    <metrics [pageViews]="pageViews"
80
                             [id]="datasourceId" [entityType]="'datasources'" [entity]="'Content Provider'"
81
                             [viewsFrameUrl]="viewsFrameUrl" [downloadsFrameUrl]="downloadsFrameUrl"
82
                             (metricsResults)="metricsResults($event)" [properties]=properties>
83
                    </metrics>
84
                  </div>
85
                </div>
86
              </li>
87
            </ul>
88
          </div>
89
        </div>
90
        <div *ngIf="dataProviderInfo != null">
91

    
92
<!--          *ngIf="numberOfTabs > 0; else loadingBlock"-->
93
          <div class="main-tabs-div">
94
            <ng-template #summary_tab>
95
              <div class="uk-grid uk-margin-remove">
96
                <div *ngIf="hasPrimaryInfo || (!aggregationStatusIsInitialized || hasAggregationStatusInfo)"
97
                     class="uk-width-expand uk-padding uk-inline">
98
                  <!-- Description -->
99
                  <div *ngIf="dataProviderInfo.description" class="uk-margin-medium-bottom">
100
                    <div class="uk-text-muted">Description</div>
101
                    <div class="uk-text-justify uk-height-max-medium uk-overflow-auto">
102
                      <span>{{dataProviderInfo.description.substring(0, showNumDescription)}}</span>
103
                      <span *ngIf="showNumDescription == thresholdDescription &&
104
                       dataProviderInfo.description.length > thresholdDescription">...</span>
105
                    </div>
106
                    <div *ngIf="showNumDescription == thresholdDescription &&
107
                                    dataProviderInfo.description.length > thresholdDescription" class="uk-text-right">
108
                      <a (click)="showNumDescription = dataProviderInfo.description.length;">
109
                        Read more
110
                      </a>
111
                    </div>
112
                    <div *ngIf="dataProviderInfo.description && showNumDescription > thresholdDescription"
113
                         class="uk-text-right">
114
                      <a (click)="showNumDescription = thresholdDescription;">
115
                        Read less
116
                      </a>
117
                    </div>
118
                  </div>
119

    
120
                  <ul *ngIf="hasJournalInfo" class="uk-list uk-margin-medium-bottom uk-margin-remove-top">
121
                    <showPublisher [journal]="dataProviderInfo.journal" [properties]="properties"></showPublisher>
122
                  </ul>
123

    
124
                  <div *ngIf="hasAggregationStatusInfo || dataProviderInfo.fundedContent"
125
                       class="uk-margin-medium-bottom uk-animation-fade uk-animation-fast">
126
                      <span *ngIf="dataProviderInfo.aggregationStatus?.fulltexts && dataProviderInfo.aggregationStatus?.fulltexts != -1"
127
                            class="uk-margin-right">
128
                        <span class="uk-text-muted">Collected full-texts: </span>
129
                        {{dataProviderInfo.aggregationStatus.fulltexts | number}}
130
                      </span>
131
                    <span *ngIf="dataProviderInfo.fundedContent && dataProviderInfo.fundedContent > 0"
132
                          class="uk-display-inline-block">
133
                        <span class="uk-text-muted">Results with funding information: </span>
134
                      {{dataProviderInfo.fundedContent | number}}
135
                      </span>
136
<!--                    <span *ngIf="dataProviderInfo.aggregationStatus.lastUpdateDate"-->
137
<!--                          class="uk-display-inline-block">-->
138
<!--                        <span class="uk-text-muted">Latest data aggregation: </span>-->
139
<!--                      {{dataProviderInfo.aggregationStatus.lastUpdateDate | date}}-->
140
<!--                      </span>-->
141
                  </div>
142
                  <div *ngIf="!aggregationStatusIsInitialized || !dataProviderInfo.fundedContent"
143
                       class="uk-animation-fade uk-margin-top  uk-width-1-1" role="alert">
144
                    <span class="loading-gif  uk-align-center"></span>
145
                  </div>
146

    
147
                  <div *ngIf="dataProviderInfo.countries != undefined && dataProviderInfo.countries.length > 0"
148
                       class="uk-margin-medium-bottom">
149
                    <span class="uk-text-muted">Countries:</span>
150
                    {{dataProviderInfo.countries.join(", ")}}
151
                  </div>
152

    
153
                  <!-- Subjects -->
154
                  <div *ngIf="dataProviderInfo.subjects && dataProviderInfo.subjects.length > 0"
155
                       class="uk-margin-medium-bottom uk-margin-bottom">
156
                    <div class="uk-height-max-medium uk-overflow-auto">
157
                      <div class="uk-text-muted">Subjects </div>
158
                      <span *ngFor="let subject of dataProviderInfo.subjects.slice(0, showNumSubjects) let i=index">
159
                          <span>{{subject}}</span>
160
                          <span *ngIf="(i < dataProviderInfo.subjects.length-1)">, </span>
161
                        </span>
162
                      <span *ngIf="showNumSubjects == thresholdSubjects &&  dataProviderInfo.organizations.length > thresholdSubjects">	... </span>
163
                    </div>
164
                    <div *ngIf="showNumSubjects == thresholdSubjects && dataProviderInfo.organizations.length > thresholdSubjects"
165
                         class="uk-width-1-1 uk-text-right">
166
                      <a (click)="showNumSubjects = dataProviderInfo.subjects.length;">
167
                        View all {{dataProviderInfo.subjects.length | number}} subjects
168
                      </a>
169
                    </div>
170
                    <div *ngIf="showNumSubjects > thresholdSubjects" class="uk-width-1-1 uk-text-right">
171
                      <a (click)="showNumSubjects = thresholdSubjects;">View less subjects</a>
172
                    </div>
173
                  </div>
174
                </div>
175

    
176
                <div *ngIf="hasSecondaryInfo"
177
                     [class]="'uk-padding uk-inline ' + (hasPrimaryInfo?'uk-width-1-3@m right-column': 'uk-width-expand')">
178
                  <div *ngIf="dataProviderInfo.oaiPmhURL || dataProviderInfo.openDoarId || dataProviderInfo.r3DataId"
179
                       class="uk-margin-medium-bottom">
180
                    <div *ngIf="dataProviderInfo.oaiPmhURL">
181
                      <span class="uk-text-muted">OAI-PMH: </span>
182
                      <a target="_blank" href="{{dataProviderInfo.oaiPmhURL}}">
183
                        {{dataProviderInfo.oaiPmhURL}}
184
                        <span class="custom-external custom-icon space"></span>
185
                      </a>
186
                    </div>
187
                    <div *ngIf="dataProviderInfo.openDoarId" class="uk-display-inline-block">
188
                      <span class="uk-text-muted">Detailed information @ </span>
189
                      <a target="_blank" href="{{properties.openDoarURL+dataProviderInfo.openDoarId}}">
190
                        OpenDOAR
191
                        <span class="custom-external custom-icon space"></span>
192
                      </a>
193
                    </div>
194
                    <span *ngIf="dataProviderInfo.r3DataId" class="uk-display-inline-block">
195
                          <span class="uk-text-muted">Detailed information @ </span>
196
                          <a target="_blank" href="{{properties.r3DataURL+dataProviderInfo.r3DataId}}">
197
                            re3data.org
198
                            <span class="custom-external custom-icon space"></span>
199
                          </a>
200
                        </span>
201
                  </div>
202
                  <!-- Organizations -->
203
                  <!--                    <div class="uk-text-muted uk-text-small">Organizations</div>-->
204
                  <!--                    <div class="uk-height-max-medium uk-overflow-auto">-->
205
                  <div *ngIf="dataProviderInfo.organizations && dataProviderInfo.organizations.length > 0"
206
                       class="uk-margin-medium-bottom">
207
                    <div class="uk-height-max-medium uk-overflow-auto">
208
                      <span class="uk-text-muted">Organizations: </span>
209
                      <span *ngFor="let organization of dataProviderInfo.organizations.slice(0, showNumOrganizations) let i=index"
210
                            [attr.uk-tooltip]="organization.acronym && organization.name ? 'pos:right; delay:10' : 'cls: uk-invisible'"
211
                            [title]="organization.name">
212
                            <a *ngIf="organization.id"
213
                               [queryParams]="{organizationId: organization.id}" routerLinkActive="router-link-active"
214
                               [routerLink]="properties.searchLinkToOrganization.split('?')[0]">
215
                              <u>{{(organization.acronym) ? organization.acronym : ''}}</u>
216
                              <u>{{(!organization.acronym && organization.name) ? organization.name : ''}}</u>
217
                            </a>
218
                            <span *ngIf="!organization.id">
219
                              <span *ngIf="organization.acronym">{{organization.acronym}}</span>
220
                              <span *ngIf="!organization.acronym && organization.name">{{organization.name}}</span>
221
                              <span *ngIf="(i < dataProviderInfo.organizations.length-1)">,</span>
222
                            </span>
223
                            <span *ngIf="(i < dataProviderInfo.organizations.length-1)">, </span>
224
                          </span>
225
                      <span *ngIf="showNumOrganizations == thresholdOrganizations &&  dataProviderInfo.organizations.length > thresholdOrganizations">	... </span>
226
                    </div>
227
                    <div *ngIf="showNumOrganizations == thresholdOrganizations && dataProviderInfo.organizations.length > thresholdOrganizations"
228
                         class="uk-width-1-1 uk-text-right">
229
                      <a (click)="showNumOrganizations = dataProviderInfo.organizations.length;">
230
                        View all {{dataProviderInfo.organizations.length | number}} organizations
231
                      </a>
232
                    </div>
233
                    <div *ngIf="showNumOrganizations > thresholdOrganizations" class="uk-width-1-1 uk-text-right">
234
                      <a (click)="showNumOrganizations = thresholdOrganizations;">View less organizations</a>
235
                    </div>
236
                  </div>
237
                </div>
238
                <div *ngIf="!hasPrimaryInfo && (aggregationStatusIsInitialized && !hasAggregationStatusInfo) && !hasSecondaryInfo" class="uk-width-expand uk-padding">
239
                  <div class="uk-animation-fade uk-alert uk-alert-primary" role="alert">
240
                    No summary information available
241
                  </div>
242
                </div>
243
              </div>
244
            </ng-template>
245
            <ng-template #projects_tab>
246
              <div class="uk-grid uk-margin-remove">
247
                <div class="uk-width-expand uk-padding">
248
                  <search-tab [fetch]="fetchProjects" resultType="project"
249
                              [params]="getParamsForSearchLink()"
250
                              [searchLinkToAdvancedPage]="properties.searchLinkToAdvancedProjects"
251
                              [properties]="properties">
252
                  </search-tab>
253
                </div>
254
<!--                <div class="uk-width-1-3@m uk-padding right-column"></div>-->
255
              </div>
256
            </ng-template>
257
            <ng-template #datasources_tab>
258
              <div class="uk-grid uk-margin-remove">
259
                <div class="uk-width-expand uk-padding">
260
                  <search-tab [fetch]="fetchDataproviders" resultType="dataprovider"
261
                              [params]="getParamsForSearchLink()"
262
                              [searchLinkToAdvancedPage]="properties.searchLinkToAdvancedDataProviders"
263
                              [properties]="properties">
264
                  </search-tab>
265
                </div>
266
<!--                <div class="uk-width-1-3@m uk-padding right-column"></div>-->
267
              </div>
268
            </ng-template>
269
            <ng-template #relatedDatasources_tab>
270
              <div class="uk-grid uk-margin-remove">
271
                <div class="uk-width-expand uk-padding">
272
                  <relatedDatasourcesTab
273
                    [dataproviderId]="datasourceId"
274
                    [results]="dataProviderInfo.relatedDatasources"
275
                    [loading]="loadingRelatedDatasources"
276
                    [fetchResults]="fetchAggregatorsResults"
277
                    [collectedFromName]="dataProviderInfo.title.name"
278
                    [properties]=properties
279
                    [modal]="relatedDatasourcesModal">
280
                  </relatedDatasourcesTab>
281
                </div>
282
              </div>
283
            </ng-template>
284
            <ng-template #publications_tab>
285
              <div class="uk-grid uk-margin-remove">
286
                <div class="uk-width-expand uk-padding">
287
                  <search-tab [fetch]="fetchPublications" resultType="publication"
288
                              [params]="getParamsForSearchLink('publications')"
289
                              [searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
290
                              [properties]="properties">
291
                  </search-tab>
292
                </div>
293
<!--                <div class="uk-width-1-3@m uk-padding right-column"></div>-->
294
              </div>
295
            </ng-template>
296
            <ng-template #datasets_tab>
297
              <div class="uk-grid uk-margin-remove">
298
                <div class="uk-width-expand uk-padding">
299
                  <search-tab [fetch]="fetchDatasets" resultType="dataset"
300
                              [params]="getParamsForSearchLink('datasets')"
301
                              [searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
302
                              [properties]="properties">
303
                  </search-tab>
304
                </div>
305
<!--                <div class="uk-width-1-3@m uk-padding right-column"></div>-->
306
              </div>
307
            </ng-template>
308
            <ng-template #software_tab>
309
              <div class="uk-grid uk-margin-remove">
310
                <div class="uk-width-expand uk-padding">
311
                  <search-tab [fetch]="fetchSoftware" resultType="software"
312
                              [params]="getParamsForSearchLink('software')"
313
                              [searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
314
                              [properties]="properties">
315
                  </search-tab>
316
                </div>
317
<!--                <div class="uk-width-1-3@m uk-padding right-column"></div>-->
318
              </div>
319
            </ng-template>
320
            <ng-template #other_tab>
321
              <div class="uk-grid uk-margin-remove">
322
                <div class="uk-width-expand uk-padding">
323
                  <search-tab [fetch]="fetchOrps" resultType="other"
324
                              [params]="getParamsForSearchLink('other')"
325
                              [searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
326
                              [properties]="properties">
327
                  </search-tab>
328
                </div>
329
<!--                <div class="uk-width-1-3@m uk-padding right-column"></div>-->
330
              </div>
331
            </ng-template>
332
            <ng-template #statistics_tab>
333
              <div class="">
334
                <div class="uk-width-expand uk-padding">
335
                  <errorMessages [status]="[fetchPublications.searchUtils.status, fetchDatasets.searchUtils.status,
336
                                  fetchSoftware.searchUtils.status, fetchOrps.searchUtils.status]"
337
                                 [type]="'statistics'" tab_error_class=true></errorMessages>
338

    
339
                  <div
340
                    *ngIf="statsClicked &&
341
                              (fetchPublications.searchUtils.status == errorCodes.DONE || fetchDatasets.searchUtils.status == errorCodes.DONE
342
                              || fetchSoftware.searchUtils.status == errorCodes.DONE || fetchOrps.searchUtils.status == errorCodes.DONE)">
343
                    <statisticsTab [fetchPublications]="fetchPublications" [fetchDatasets]="fetchDatasets"
344
                                   [fetchSoftware]="fetchSoftware" [fetchOther]="fetchOrps"
345
                                   [datasourceId]="datasourceId">
346
                    </statisticsTab>
347
                  </div>
348
                </div>
349
              </div>
350
            </ng-template>
351

    
352
<!--            [class]="numberOfTabs > 2 ? 'uk-visible@m' : ''"-->
353
            <my-tabs  (selectedActiveTab)="onSelectActiveTab($event)">
354
<!--              *ngIf="hasPrimaryInfo || hasSecondaryInfo"-->
355
<!--              [class]="(firstTab === 'summary')?'uk-active':''"-->
356
              <my-tab
357
                      [tabTitle]="'Summary'" [tabId]="'summary'" class="uk-active">
358
                <ng-container *ngTemplateOutlet="summary_tab;"></ng-container>
359
              </my-tab>
360
<!--              [class]="(firstTab === 'projects')?'uk-active':''"-->
361
              <my-tab  *ngIf="fetchProjects.searchUtils.totalResults > 0"
362
                       [tabTitle]="'Projects'" [tabNumber]="fetchProjects.searchUtils.totalResults"
363
                       [tabId]="'projects'" >
364
                <ng-container *ngTemplateOutlet="projects_tab;"></ng-container>
365
              </my-tab>
366
<!--              [class]="(firstTab === 'datasources')?'uk-active':''"-->
367
              <my-tab  *ngIf="fetchDataproviders.searchUtils.totalResults > 0"
368
                       [tabTitle]="'Content Providers'" [tabNumber]="fetchDataproviders.searchUtils.totalResults"
369
                       [tabId]="'datasources'" >
370
                <ng-container *ngTemplateOutlet="datasources_tab;"></ng-container>
371
              </my-tab>
372
<!--              [class]="(firstTab === 'relatedDatasources')?'uk-active':''"-->
373
              <my-tab *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
374
                            || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
375
                      [tabTitle]="'Related Content Providers'" [tabId]="'relatedDatasources'"
376
                      >
377
                <ng-container *ngTemplateOutlet="relatedDatasources_tab;"></ng-container>
378
              </my-tab>
379
<!--              [class]="(firstTab === 'publications')?'uk-active':''"-->
380
              <my-tab  *ngIf="fetchPublications.searchUtils.totalResults > 0"
381
                       [tabTitle]="'Publications'" [tabNumber]="fetchPublications.searchUtils.totalResults"
382
                       [tabId]="'publications'" >
383
                <ng-container *ngTemplateOutlet="publications_tab;"></ng-container>
384
              </my-tab>
385
<!--              [class]="(firstTab === 'datasets')?'uk-active':''"-->
386
              <my-tab  *ngIf="fetchDatasets.searchUtils.totalResults > 0"
387
                       [tabTitle]="'Research Data'" [tabNumber]="fetchDatasets.searchUtils.totalResults"
388
                       [tabId]="'datasets'" >
389
                <ng-container *ngTemplateOutlet="datasets_tab;"></ng-container>
390
              </my-tab>
391
<!--              [class]="(firstTab === 'software')?'uk-active':''"-->
392
              <my-tab  *ngIf="fetchSoftware.searchUtils.totalResults > 0"
393
                       [tabTitle]="'Software'" [tabNumber]="fetchSoftware.searchUtils.totalResults"
394
                       [tabId]="'software'">
395
                <ng-container *ngTemplateOutlet="software_tab;"></ng-container>
396
              </my-tab>
397
<!--              [class]="(firstTab === 'other')?'uk-active':''"-->
398
              <my-tab  *ngIf="fetchOrps.searchUtils.totalResults > 0"
399
                       [tabTitle]="'Other Research'" [tabNumber]="fetchOrps.searchUtils.totalResults"
400
                       [tabId]="'other'">
401
                <ng-container *ngTemplateOutlet="other_tab;"></ng-container>
402
              </my-tab>
403
<!--              [class]="(firstTab === 'statistics')?'uk-active':''"-->
404
              <my-tab *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
405
                       || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
406
                      [tabTitle]="'Statistics'" customClass="statistics" [tabId]="'statistics'"
407
                      >
408
                <ng-container *ngTemplateOutlet="statistics_tab;"></ng-container>
409
              </my-tab>
410
            </my-tabs>
411

    
412
<!--            <div *ngIf="numberOfTabs() > 2">TEST!!!</div>-->
413

    
414
<!--            *ngIf="numberOfTabs > 2"-->
415
            <my-small-tabs (selectedActiveTab)="onSelectActiveTab($event)">
416
              <!--              *ngIf="hasPrimaryInfo || hasSecondaryInfo"-->
417
              <!--              [class]="(firstTab === 'summary')?'uk-active':''"-->
418
              <my-tab
419
                [tabTitle]="'Summary'" [tabId]="'summary'" class="uk-active">
420
                <ng-container *ngTemplateOutlet="summary_tab;"></ng-container>
421
              </my-tab>
422
              <!--              [class]="(firstTab === 'projects')?'uk-active':''"-->
423
              <my-tab  *ngIf="fetchProjects.searchUtils.totalResults > 0"
424
                       [tabTitle]="'Projects'" [tabNumber]="fetchProjects.searchUtils.totalResults"
425
                       [tabId]="'projects'" >
426
                <ng-container *ngTemplateOutlet="projects_tab;"></ng-container>
427
              </my-tab>
428
              <!--              [class]="(firstTab === 'datasources')?'uk-active':''"-->
429
              <my-tab  *ngIf="fetchDataproviders.searchUtils.totalResults > 0"
430
                       [tabTitle]="'Content Providers'" [tabNumber]="fetchDataproviders.searchUtils.totalResults"
431
                       [tabId]="'datasources'" >
432
                <ng-container *ngTemplateOutlet="datasources_tab;"></ng-container>
433
              </my-tab>
434
              <!--              [class]="(firstTab === 'relatedDatasources')?'uk-active':''"-->
435
              <my-tab *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
436
                            || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
437
                      [tabTitle]="'Related Content Providers'" [tabId]="'relatedDatasources'"
438
              >
439
                <ng-container *ngTemplateOutlet="relatedDatasources_tab;"></ng-container>
440
              </my-tab>
441
              <!--              [class]="(firstTab === 'publications')?'uk-active':''"-->
442
              <my-tab  *ngIf="fetchPublications.searchUtils.totalResults > 0"
443
                       [tabTitle]="'Publications'" [tabNumber]="fetchPublications.searchUtils.totalResults"
444
                       [tabId]="'publications'" >
445
                <ng-container *ngTemplateOutlet="publications_tab;"></ng-container>
446
              </my-tab>
447
              <!--              [class]="(firstTab === 'datasets')?'uk-active':''"-->
448
              <my-tab  *ngIf="fetchDatasets.searchUtils.totalResults > 0"
449
                       [tabTitle]="'Research Data'" [tabNumber]="fetchDatasets.searchUtils.totalResults"
450
                       [tabId]="'datasets'" >
451
                <ng-container *ngTemplateOutlet="datasets_tab;"></ng-container>
452
              </my-tab>
453
              <!--              [class]="(firstTab === 'software')?'uk-active':''"-->
454
              <my-tab  *ngIf="fetchSoftware.searchUtils.totalResults > 0"
455
                       [tabTitle]="'Software'" [tabNumber]="fetchSoftware.searchUtils.totalResults"
456
                       [tabId]="'software'">
457
                <ng-container *ngTemplateOutlet="software_tab;"></ng-container>
458
              </my-tab>
459
              <!--              [class]="(firstTab === 'other')?'uk-active':''"-->
460
              <my-tab  *ngIf="fetchOrps.searchUtils.totalResults > 0"
461
                       [tabTitle]="'Other Research'" [tabNumber]="fetchOrps.searchUtils.totalResults"
462
                       [tabId]="'other'">
463
                <ng-container *ngTemplateOutlet="other_tab;"></ng-container>
464
              </my-tab>
465
              <!--              [class]="(firstTab === 'statistics')?'uk-active':''"-->
466
              <my-tab *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
467
                       || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
468
                      [tabTitle]="'Statistics'" customClass="statistics" [tabId]="'statistics'"
469
              >
470
                <ng-container *ngTemplateOutlet="statistics_tab;"></ng-container>
471
              </my-tab>
472
            </my-small-tabs>
473
          </div>
474
<!--          <ng-template #loadingBlock>-->
475
<!--            <div *ngIf="!tabsAreInitialized" class="uk-animation-fade uk-margin-top  uk-width-1-1" role="alert">-->
476
<!--              <span class="loading-gif  uk-align-center" ></span>-->
477
<!--            </div>-->
478
<!--          </ng-template>-->
479

    
480
          <div class="uk-margin-small-top uk-flex">
481
            <!-- Last Index Info-->
482
            <div class="uk-width-2-3@m uk-width-1-2">
483
              <img src="assets/common-assets/graph.svg" style="opacity: 0.4" loading="lazy">
484
              <span class="uk-margin-small-left uk-text-baseline uk-text-muted">Powered by <a href="https://graph.openaire.eu" class="graph-color">OpenAIRE Research Graph</a></span>
485
              <span *ngIf="indexUpdateDate" class="uk-text-baseline uk-text-muted">
486
                . Last update of records in OpenAIRE: {{indexUpdateDate | date: 'MMM dd, yyyy'}}
487
              </span>
488
            </div>
489
            <!--Feedback-->
490
            <div class="uk-width-expand uk-text-right">
491
              <span class="uk-text-muted">Any information missing or wrong?</span>
492
              <a (click)="showFeedback = true; scroll()" class="portal-link space">Report an Issue</a>
493
            </div>
494
          </div>
495
        </div>
496
        <helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
497
                [texts]="pageContents['bottom']"></helper>
498
      </div>
499
    </div>
500
  </div>
501
  <feedback *ngIf="dataProviderInfo" [dataProviderInfo]="dataProviderInfo"
502
            [properties]="properties" [entityType]="'content provider'" [fields]="feedbackFields"
503
            [showForm]="showFeedback" (show)="showFeedback = $event"></feedback>
504
</div>
(1-1/13)