connect/src/app/community/community.component.html

275 lines
18 KiB
HTML
Raw Normal View History

<div id="stickhere">
</div>
<div *ngIf="communityInfo"
class="uk-section uk-margin-top uk-padding-remove-bottom uk-visible@m communityToolBarSection"
uk-sticky="top: #stickhere; show-on-up: true; animation: uk-animation-slide-top; ">
<div class="communityToolBar uk-padding-small uk-margin-small-top">
<div class="uk-container uk-text-center uk-margin-small-top uk-margin-small-bottom">
<manage *ngIf="communityId != null && communityId != '' && isManager()" [communityId]="communityId" class=" " [buttonSizeSmall]=false></manage>
<subscribe *ngIf="communityId != null && communityId != ''" [communityId]="communityId" class=""></subscribe>
<invite *ngIf="showInvite()" [longView]=false [buttonSizeSmall]=false></invite>
</div>
</div>
</div>
<div *ngIf="communityInfo" class="uk-section uk-margin-top uk-padding-remove-bottom uk-hidden@m communityToolBarSection" >
<div class="communityToolBar uk-padding-small">
<div class="uk-container uk-text-center uk-margin-small-top uk-margin-small-bottom">
<manage *ngIf="communityId != null && communityId != ''" [communityId]="communityId" class=" " [buttonSizeSmall]=false></manage>
<subscribe *ngIf="communityId != null && communityId != ''" [communityId]="communityId" class=""></subscribe>
<invite *ngIf="showInvite()" [longView]=false [buttonSizeSmall]=false></invite>
</div>
</div>
</div>
<div *ngIf="communityInfo" class=" " >
<div class="uk-background-muted uk-padding-small">
<div class="uk-container uk-margin-bottom " *ngIf="communityId != null && communityId != '' && community != null">
<div *ngIf="community.title != null" class="uk-text-bold uk-h5 uk-margin-remove">
{{community.title}}
</div>
<div *ngIf="community.title == null && community.shortTitle != null" class="uk-text-bold uk-h5 uk-margin-remove">
{{community.shortTitle}}
</div>
<div *ngIf="community.description != null" class="">
<p class=""> {{community.description}}</p>
</div>
<div class="uk-grid uk-grid-divider">
<div class="uk-width-1-3@m uk-width-1-1@s uk-first-column uk-margin-top">
<div *ngIf="community.date != null" > <span class="uk-text-bold">Created:</span> {{community.date | date:'dd-MM-yyyy'}}</div>
<subscribe *ngIf="communityId != null" [communityId]="communityId" showNumbers=true class=""></subscribe>
<div *ngIf="community.managers != null && community.managers[0] != '' && community.managers[0] != null"><span class="uk-text-bold"> Curated by:</span>
<span *ngFor='let manager of community.managers; let i = index' >{{manager.substr(0, manager.indexOf('@'))}}<span *ngIf="manager.includes('@') == 0">{{manager}}</span><span *ngIf="i<(community.managers.length-1)">,</span>
</span>
</div>
<div *ngIf=" isRouteEnabled('/participate/share-zenodo')" class="uk-margin-top">
<a [queryParams]=params routerLinkActive="router-link-active" routerLink="/participate/share-zenodo" >
Zenodo communities:<span> {{zenodoCommunityIdS.length + ((masterZenodoCommunity)?1:0)}}</span>
<span class="uk-icon" uk-tooltip="title:<div class='uk-pargin'>Zenodo is a catch-all repository for OpenAIRE<hr>A zenodo community is created and curated by Zenodo users</div>">
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="question" ratio="1"><circle fill="none" stroke="#000" stroke-width="1.1" cx="10" cy="10" r="9"></circle><circle cx="10.44" cy="14.42" r="1.05"></circle><path fill="none" stroke="#000" stroke-width="1.2" d="M8.17,7.79 C8.17,4.75 12.72,4.73 12.72,7.72 C12.72,8.67 11.81,9.15 11.23,9.75 C10.75,10.24 10.51,10.73 10.45,11.4 C10.44,11.53 10.43,11.64 10.43,11.75"></path></svg>
</span>
</a>
</div>
</div>
<div class="uk-width-2-3@m uk-width-1-1@s">
<div>
<!-- <div class=" uk-text-large uk-margin-bottom">Statistics</div>-->
<div *ngIf="communityId != null && communityId != ''" class="uk-child-width-1-6@l uk-child-width-1-6@m uk-child-width-1-3@s uk-text-center uk-grid uk-margin-remove"
uk-scrollspy="cls: uk-animation-fade; target: > div > .uk-card; delay: 450; repeat: false">
<div *ngIf="publicationTotal != null && publicationTotal > 0 && isEntityEnabled('publication') && isRouteEnabled('/search/find/publications')" class="uk-padding-remove-left">
<div class="uk-card uk-card-default uk-card-body uk-padding-remove uk-margin-small-right uk-height-1-1 uk-margin-bottom ">
<div class="uk-margin-top uk-margin-bottom">
<a class="uk-margin-auto-vertical uk-margin-auto" [queryParams]=params routerLinkActive="router-link-active" routerLink="/search/find/publications" ><span class="uk-text-bold">{{publicationTotal|number}}</span>
<p class="uk-text-small uk-margin-remove">publications</p></a>
</div>
</div>
</div>
<div *ngIf="researchDataTotal != null && researchDataTotal > 0 && isEntityEnabled('dataset') && isRouteEnabled('/search/find/datasets')" class="uk-padding-remove-left">
<div class="uk-card uk-card-default uk-card-body uk-padding-remove uk-margin-small-right uk-height-1-1 uk-margin-bottom">
<div class="uk-margin-top uk-margin-bottom">
<a class="uk-margin-auto-vertical uk-margin-auto" [queryParams]=params routerLinkActive="router-link-active" routerLink="/search/find/datasets"><span class="uk-text-bold">{{researchDataTotal|number}}</span>
<p class="uk-text-small uk-margin-remove">research data</p></a>
</div>
</div>
</div>
<div *ngIf="softwareTotal != null && softwareTotal > 0 && isEntityEnabled('software') && isRouteEnabled('/search/find/software')" class="uk-padding-remove-left">
<div class="uk-card uk-card-default uk-card-body uk-padding-remove uk-margin-small-right uk-height-1-1 uk-margin-bottom ">
<div class="uk-margin-top uk-margin-bottom">
<a class="uk-margin-auto-vertical uk-margin-auto" [queryParams]=params routerLinkActive="router-link-active" routerLink="/search/find/software"><span class="uk-text-bold">{{softwareTotal|number}}</span>
<p class="uk-text-small uk-margin-remove">software</p></a>
</div>
</div>
</div>
<div *ngIf="orpTotal != null && orpTotal > 0 && isEntityEnabled('orp') && isRouteEnabled('/search/find/other')" class="uk-padding-remove-left">
<div class="uk-card uk-card-default uk-card-body uk-padding-remove uk-margin-small-right uk-height-1-1 uk-margin-bottom ">
<div class="uk-margin-top uk-margin-bottom">
<a class="uk-margin-auto-vertical uk-margin-auto" [queryParams]=params routerLinkActive="router-link-active" routerLink="/search/find/other"><span class="uk-text-bold">{{orpTotal|number}}</span>
<p class="uk-text-small uk-margin-remove">other products</p></a>
</div>
</div>
</div>
<div *ngIf="projectTotal != null && projectTotal > 0 && isEntityEnabled('project') && isRouteEnabled('/search/find/projects')" class="uk-padding-remove-left">
<div class="uk-card uk-card-default uk-card-body uk-padding-remove uk-margin-small-right uk-height-1-1 uk-margin-bottom ">
<div class="uk-margin-top uk-margin-bottom">
<a class="uk-margin-auto-vertical uk-margin-auto" [queryParams]=params routerLinkActive="router-link-active" routerLink="/search/find/projects"><span class="uk-text-bold">{{projectTotal|number}}</span>
<p class="uk-text-small uk-margin-remove">projects</p></a>
</div>
</div>
</div>
<div *ngIf="contentProviderTotal != null && contentProviderTotal > 0 && isEntityEnabled('datasource') && isRouteEnabled('/search/find/dataproviders')" class="uk-padding-remove-left">
<div class="uk-card uk-card-default uk-card-body uk-padding-remove uk-margin-small-right uk-height-1-1 uk-margin-bottom ">
<div class="uk-margin-top uk-margin-bottom">
<a class="uk-margin-auto-vertical uk-margin-auto" [queryParams]=params routerLinkActive="router-link-active" routerLink="/search/find/dataproviders"><span class="uk-text-bold">{{contentProviderTotal|number}}</span>
<p class="uk-text-small uk-margin-remove">content providers</p></a>
</div>
</div>
</div>
</div>
<div *ngIf="community.subjects != null && community.subjects.length > 0" class="uk-margin-small-bottom uk-margin-top uk-text-bold">Subjects related to community</div>
<div *ngIf="community.subjects != null">
<span *ngFor="let subject of community.subjects.slice(0,10) let i=index">
<span *ngIf="subject != ''" class="uk-label uk-margin-small-bottom">
<a [queryParams]="{subject:createParams(subject), sb: 'and'}" routerLinkActive="router-link-active" routerLink="/search/advanced/publications">
{{subject}}
</a>
</span>
<!-- http://scoobydoo.di.uoa.gr:4200/search/advanced/publications?&subject=%22ocean%22&sb=and -->
</span>
<span *ngIf="showAll">
<span *ngFor="let subject of community.subjects.slice(10) let i=index">
<span *ngIf="subject != ''" class="uk-label uk-margin-small-bottom">
<a [queryParams]="{subject:createParams(subject), sb: 'and'}" routerLinkActive="router-link-active" routerLink="/search/advanced/publications">
{{subject}}
</a>
</span>
</span>
</span>
<span *ngIf="!showAll && community.subjects.length > 10">
<a (click)="showAll = !showAll;">
view all
</a>
</span>
<span *ngIf="showAll">
<a (click)="showAll = !showAll;">
view less
</a>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="uk-section tm-middle uk-container uk-margin-small-top uk-padding-remove-top" id="tm-main">
<div class="uk-container uk-margin-bottom uk-grid">
<div class="uk-width-expand uk-padding-remove">
<article *ngIf="communityInfo" class="uk-article ">
<div *ngIf="communityId == null || communityId == ''" class="uk-child-width-1-6@l uk-child-width-1-6@m uk-child-width-1-3@s uk-text-center uk-alert uk-alert-primary">
No community chosen
</div>
<div *ngIf="communityId != null && communityId != '' && community != null">
<div *ngIf="isRouteEnabled('/search/find')" class="uk-margin-top">
<div class="uk-text-bold uk-h5">Search research results</div>
<search-form [setFormCentered]=false [placeholderText]="getSearchPlaceHolder()" link="/search/find"></search-form>
</div>
<div class="uk-margin-large-top">
<div class="uk-text-bold uk-h5">
Recent research results
</div>
<ul class="uk-tab uk-margin-top" data-uk-tab="{connect: '#resultTabs'">
<li *ngIf="isEntityEnabled('publication')" (click)="searchPublications()" class="uk-active"><a href="#">publications</a></li>
<li *ngIf="isEntityEnabled('dataset')" (click)="searchResearchData()"><a href="#">research data</a></li>
<li *ngIf="isEntityEnabled('software')" (click)="searchSoftware()"><a href="#">software</a></li>
<li *ngIf="isEntityEnabled('orp')" (click)="searchOrps()"><a href="#">other research products</a></li>
</ul>
<ul id="resultTabs" class="uk-switcher" style="min-height:450px;">
<li *ngIf="isEntityEnabled('publication')">
<div class="uk-grid">
<results-comp [results]=publicationResults [total]=publicationTotal resultType="publication"
[community]=community [params]=params [showLoading]="showLoading" [properties]="properties"
class="uk-width-expand"></results-comp>
<div *ngIf=" activeTab == 'publication' && statistics !=null && statistics.allowedEntities &&
statistics.statisticsSum && statistics.allowedCharts && statistics.statisticsSum['publication'] &&
statistics.allowedCharts['publication'] && statistics.statisticsSum['publication'].total>0 &&
statistics.allowedCharts['publication'].length>0" class="uk-width-2-5@m uk-width-1-1@s">
<div *ngFor="let chart of statistics.allowedCharts['publication']" class=" uk-first-column">
<div class="iframeContainer">
<iframe [src]=statistics.chartsUrlMap[chart] scrolling="no"></iframe>
</div>
</div>
</div>
</div>
</li>
<li *ngIf="isEntityEnabled('dataset')">
<div class="uk-grid">
<results-comp [results]=researchDataResults [total]=researchDataTotal resultType="dataset"
[community]=community [params]=params [showLoading]="showLoading" [properties]="properties" class="uk-width-expand"></results-comp>
<div *ngIf="activeTab == 'dataset' && statistics !=null && statistics.allowedEntities && statistics.statisticsSum && statistics.allowedCharts &&
statistics.statisticsSum['dataset'] && statistics.allowedCharts['dataset'] && statistics.statisticsSum['dataset'].total>0 && statistics.allowedCharts['dataset'].length>0"
class="uk-width-2-5@m uk-width-1-1@s">
<div *ngFor="let chart of statistics.allowedCharts['dataset']" class=" uk-first-column">
<div class="iframeContainer">
<iframe [src]=statistics.chartsUrlMap[chart] scrolling="no"></iframe>
</div>
</div>
</div>
</div>
</li>
<li *ngIf="isEntityEnabled('software')">
<div class="uk-grid">
<results-comp [results]=softwareResults [total]=softwareTotal resultType="software"
[community]=community [params]=params [showLoading]="showLoading" [properties]="properties" class="uk-width-expand"></results-comp>
<div *ngIf="statistics !=null && statistics.allowedEntities && statistics.statisticsSum &&
statistics.allowedCharts && statistics.statisticsSum['software'] &&
statistics.allowedCharts['software'] && statistics.statisticsSum['software'].total>0 && statistics.allowedCharts['software'].length>0" class="uk-width-2-5@m uk-width-1-1@s">
<div *ngFor="let chart of statistics.allowedCharts['software']" class=" uk-first-column">
<div class="iframeContainer">
<iframe [src]=statistics.chartsUrlMap[chart] scrolling="no"></iframe>
</div>
</div>
</div>
</div>
</li>
<li *ngIf="isEntityEnabled('orp')">
<div class="uk-grid">
<results-comp [results]=orpResults [total]=orpTotal resultType="other" [community]=community
[params]=params [showLoading]="showLoading" [properties]="properties"
class="uk-width-expand"></results-comp>
<div *ngIf=" activeTab == 'orp' && statistics !=null && statistics.allowedEntities &&
statistics.statisticsSum && statistics.allowedCharts && statistics.statisticsSum['orp'] &&
statistics.allowedCharts['orp'] && statistics.statisticsSum['orp'].total>0 &&
statistics.allowedCharts['orp'].length>0" class="uk-width-2-5@m uk-width-1-1@s">
<div *ngFor="let chart of statistics.allowedCharts['orp']" class=" uk-first-column">
<div class="iframeContainer">
<iframe [src]=statistics.chartsUrlMap[chart] width="750" height="450" scrolling="no"></iframe>
</div>
</div>
</div>
</div>
</li>
</ul>
</div>
<hr>
<div *ngIf="statistics && statistics.allowedEntities && countOtherGraphs()>0">
<div class="uk-text-bold uk-h5">
Other Graphs
</div>
<div *ngIf="statistics && statistics.allowedEntities" class="uk-margin-top uk-grid">
<ng-container *ngFor="let entity of statistics.allowedEntities">
<ng-container *ngIf="statistics.statisticsSum[entity].total>0 && statistics.allowedCharts[entity].length>0 && activeTab!=entity">
<ng-container *ngIf="statistics.allowedCharts[entity] " >
<div *ngFor="let chart of statistics.allowedCharts[entity]" class="uk-width-1-2@m uk-first-column">
<div class="iframeContainer">
<iframe [src]=statistics.chartsUrlMap[chart] scrolling="no"></iframe>
</div>
</div>
</ng-container>
</ng-container>
</ng-container>
</div>
</div>
</div>
</article>
</div>
</div>
</div>
<statistics-for-dashboard [currentMode]="'showInDashboard'"></statistics-for-dashboard>