connect/src/app/statistics/statistics.component.html

153 lines
11 KiB
HTML

<div class=" uk-section uk-margin-small-top tm-middle uk-container" id="tm-main">
<div class="uk-container uk-margin-bottom">
<article class="uk-article ">
<div *ngIf="!statisticsSum || (statisticsSum.total_projects==0)" class="uk-alert uk-alert-info" style="margin-top:40px; padding-left:40px;">
No statistics are available for {{ communityId.toUpperCase() }}
</div>
<div *ngIf="statisticsSum && (statisticsSum.total_projects>0) && statisticsDisplay && chartsUrlMap" class="uk-margin uk-margin-top">
<div class="uk-grid">
<ul class="uk-tab uk-tab-left uk-width-1-6 uk-margin-top" data-uk-tab="{connect:'#tabs'}">
<li *ngFor="let entity of entitiesList"
(click)="onChangeEntity(entity)">
<a href="#">{{ entity+(entity=='software'?'':'s') }}</a>
</li>
</ul>
<ul id="tabs" class="uk-switcher uk-margin uk-width-5-6" style="min-height:450px; padding-left:40px;">
<li *ngFor="let entity of entitiesList">
<div *ngIf="!statisticsSum[entity] ||
!statisticsDisplay.entities[entity]"
class="uk-alert uk-alert-info">
No {{ entity }}{{ entity == 'software' ? '' : 's' }} statistics available
</div>
<div *ngIf="(displayedEntity == entity) && statisticsSum[entity]">
<div class="uk-text-uppercase uk-text-bold uk-heading-divider">
<h2>{{ getCamelCaseString(entity) }}{{ entity == 'software' ? '' : 's' }} statistics</h2>
<div *ngIf="statisticsDisplay.entities[entity]">
<span *ngIf="statisticsDisplay.entities[entity].numbers.map['total'][currentMode]">
{{statisticsSum[entity].total}} {{ entity + ( (entity == 'software' || statisticsSum[entity].total == 1) ? '' : 's') }}
</span>
<span *ngIf="statisticsDisplay.entities[entity].numbers.map['total'][currentMode] &&
statisticsDisplay.entities[entity].numbers.map['project'][currentMode]">
from
</span>
<span *ngIf="statisticsDisplay.entities[entity].numbers.map['project'][currentMode]">
{{statisticsSum[entity].projects}} project{{ statisticsSum[entity].projects == 1 ? '' : 's' }}.
</span><br>
<span *ngIf="statisticsDisplay.entities[entity].numbers.map['open'][currentMode]">
{{statisticsSum[entity].open_access}}
{{statisticsSum[entity].open_access == 1 ? 'is' : 'are'}} OA
</span>
<span *ngIf="statisticsDisplay.entities[entity].numbers.map['closed'][currentMode]">
<span *ngIf="statisticsDisplay.entities[entity].numbers.map['open'][currentMode]">
,
</span>
{{statisticsSum[entity].closed_access}}
{{statisticsSum[entity].closed_access == 1 ? 'is' : 'are'}} closed
</span>
<span *ngIf="statisticsDisplay.entities[entity].numbers.map['restricted'][currentMode]">
<span *ngIf="statisticsDisplay.entities[entity].numbers.map['open'][currentMode] ||
statisticsDisplay.entities[entity].numbers.map['closed'][currentMode]">
,
</span>
{{statisticsSum[entity].restricted}}
{{statisticsSum[entity].restricted == 1 ? 'is' : 'are'}} restricted
</span>
<span *ngIf="statisticsDisplay.entities[entity].numbers.map['embargo'][currentMode]">
<span *ngIf="statisticsDisplay.entities[entity].numbers.map['open'][currentMode] ||
statisticsDisplay.entities[entity].numbers.map['closed'][currentMode] ||
statisticsDisplay.entities[entity].numbers.map['restricted'][currentMode]">
and
</span>
{{statisticsSum[entity].embargo}}
{{statisticsSum[entity].embargo == 1 ? 'is' : 'are'}} still in embargo.
</span>
</div>
</div>
<div *ngIf="statisticsSum[entity].total>0 && !allowedCharts[entity]"
class="uk-alert uk-alert-info">
No charts available
</div>
<div *ngIf="statisticsSum[entity].total>0 && allowedCharts[entity]">
<div class="uk-grid">
<div *ngIf="statisticsDisplay.entities[entity].charts.map['timeline'] &&
statisticsDisplay.entities[entity].charts.map['timeline'][currentMode] &&
chartsUrlMap[entity + 'Timeline'] &&
(displayedTimeline == (entity + 'Timeline'))">
<iframe [src]=displayedTimelineUrl width="1000" height="450"></iframe>
</div>
<div *ngIf="statisticsDisplay.entities[entity].charts.map['graph'] &&
statisticsDisplay.entities[entity].charts.map['graph'][currentMode] &&
chartsUrlMap[entity + 'Graph'] &&
(displayedGraph == (entity + 'Graph'))">
<iframe [src]=displayedGraphUrl width="1000" height="450"></iframe>
</div>
</div>
<hr>
<div>
<h4 class="uk-text-uppercase uk-text-bold">{{ getCamelCaseString(entity) }}{{ entity == 'software' ? '' : 's' }} per project</h4>
</div>
<div>
<ul class="uk-tab uk-margin-top" data-uk-tab="{connect: '#projectChartTabs'">
<li *ngIf=" statisticsDisplay.entities[entity].charts.map['projectColumn'] &&
statisticsDisplay.entities[entity].charts.map['projectColumn'][currentMode] &&
chartsUrlMap[entity + 'Projectcolumn']"
(click)="changeDisplayedProjectChart(entity + 'Projectcolumn')">
<a href="#">Columns</a>
</li>
<li *ngIf=" statisticsDisplay.entities[entity].charts.map['projectPie'] &&
statisticsDisplay.entities[entity].charts.map['projectPie'][currentMode] &&
chartsUrlMap[entity + 'Projectpie']"
(click)="changeDisplayedProjectChart(entity + 'Projectpie')">
<a href="#">Pie</a>
</li>
<li *ngIf=" statisticsDisplay.entities[entity].charts.map['projectTable'] &&
statisticsDisplay.entities[entity].charts.map['projectTable'][currentMode] &&
chartsUrlMap[entity + 'Projecttable']"
(click)="changeDisplayedProjectChart(entity + 'Projecttable')">
<a href="#">Table</a>
</li>
</ul>
<ul id="projectChartTabs" class="uk-switcher uk-margin">
<li *ngIf="statisticsDisplay.entities[entity].charts.map['projectColumn'][currentMode]">
<div *ngIf="displayedProjectChart == (entity + 'Projectcolumn')">
<iframe [src]=displayedProjectChartUrl width="1000" height="450"></iframe>
</div>
</li>
<li *ngIf="statisticsDisplay.entities[entity].charts.map['projectPie'][currentMode]">
<div *ngIf="displayedProjectChart == (entity + 'Projectpie')">
<iframe [src]=displayedProjectChartUrl width="1000" height="450"></iframe>
</div>
</li>
<li *ngIf="statisticsDisplay.entities[entity].charts.map['projectTable'][currentMode]">
<div *ngIf="displayedProjectChart == (entity + 'Projecttable')">
<iframe [src]=displayedProjectChartUrl width="1000" height="450"></iframe>
</div>
</li>
</ul>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
</article>
</div>
</div>