community dashboard page, deposit page and minor tweaks for curators, organizations pages

This commit is contained in:
Alex Martzios 2022-06-30 18:25:22 +03:00
parent d33c5890a9
commit d24032a4ef
14 changed files with 949 additions and 865 deletions

View File

@ -1,24 +1,17 @@
<schema2jsonld *ngIf="url" [URL]="url" [name]="pageTitle" type="other"></schema2jsonld>
<ng-template #card let-organization="organization" let-fullView="fullView">
<div [class]="fullView?'uk-card-body uk-height-1-1 uk-flex uk-flex-column uk-flex-around':''" class="">
<div [class]="fullView?'uk-card-body uk-height-1-1 uk-flex uk-flex-column uk-flex-around':''">
<div class="affiliation-logo">
<img *ngIf="organization.logo_url != null && organization.logo_url != '' "
<img *ngIf="organization.logo_url"
[src]="organization.logo_url | urlPrefix"
alt="{{(organization.name)?organization.name:''}} logo"
class="uk-blend-multiply" loading="lazy">
<span *ngIf="organization.logo_url == null || organization.logo_url == ''" class="uk-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" icon="image" ratio="2.5">
<circle cx="16.1" cy="6.1" r="1.1"></circle>
<rect fill="none" stroke="#000" x="0.5" y="2.5" width="19" height="15"></rect>
<polyline fill="none" stroke="#000" stroke-width="1.01" points="4,13 8,9 13,14"></polyline>
<polyline fill="none" stroke="#000" stroke-width="1.01" points="11,12 12.5,10.5 16,14"></polyline>
</svg>
</span>
</div>
<div class="affiliation-name" *ngIf="organization.name && fullView">
<span class="uk-text-bold">{{organization.name.slice(0, 100)}}</span><span
*ngIf="organization.name.length > 100">...</span>
<div class="affiliation-name multi-line-ellipsis lines-3" *ngIf="organization.name && fullView">
<p class="uk-text-emphasis uk-text-bold uk-margin-remove">
{{organization.name}}
</p>
</div>
</div>
</ng-template>
@ -46,7 +39,7 @@
</div>
</div>
<div *ngIf="communityFirstPage && !longView" class="supportingOrganizations uk-margin-large-top uk-grid" uk-grid>
<div *ngIf="affiliations.length > 0 && communityFirstPage && !longView" class="uk-margin-large-top uk-margin-large-bottom uk-grid" uk-grid>
<div class="uk-width-1-3@m">
<h2>
Supporting Organizations
@ -59,9 +52,8 @@
</a>
</div>
<div class="uk-width-2-3@m">
<div class="uk-grid uk-child-width-1-3@m uk-child-width-1-2@s" uk-grid>
<!-- TODO: Maybe maximum 6 in this view? -->
<div *ngFor="let affiliation of affiliations.slice(0,6);">
<div class="uk-grid uk-child-width-1-3@m uk-child-width-1-2@s supportingOrganizations" uk-grid>
<div *ngFor="let affiliation of affiliations.slice(0,9);">
<a *ngIf="affiliation.website_url" target="_blank" [href]="affiliation.website_url | urlPrefix" class="uk-link-reset">
<ng-container *ngTemplateOutlet="card; context: {organization: affiliation, fullView: false}"></ng-container>
</a>
@ -72,52 +64,6 @@
</div>
</div>
</div>
<!-- TOOD: Refactor the rest of the !longView for community page - curators dropdown affilations! -->
<!-- <h3 *ngIf="communityFirstPage" class="uk-margin-large-top uk-text-center uk-text-muted uk-text-bold">
Supporting Organizations
</h3>
<div *ngIf="!longView"
[attr.uk-slider]="sliderOptions">
<div [class]="'uk-position-relative uk-visible-toggle'" tabindex="-1">
<div class="uk-slider-container uk-padding-small uk-margin-remove-bottom uk-align-center uk-width-1-1 ">
<ul class="uk-slider-items uk-grid-small uk-flex uk-flex-center" uk-height-match="target: > li > .affiliation" uk-grid>
<li *ngFor="let affiliation of affiliations"
[class]="'affiliation-element ' +
(affiliationsInSlider == 2?'uk-width-1-2':'uk-width-small')">
<div
class="uk-card portalSearchCard affiliation uk-flex uk-flex-middle uk-flex-center uk-padding-small"
[attr.uk-tooltip]="(affiliation.name) ? affiliation.name : 'cls: uk-invisible'">
<a *ngIf="affiliation.website_url" target="_blank" [href]="affiliation.website_url | urlPrefix"
class="">
<ng-container
*ngTemplateOutlet="card; context: { organization: affiliation, fullView: false}"></ng-container>
</a>
<span *ngIf="!affiliation.website_url" class="">
<ng-container *ngTemplateOutlet="card; context: { organization: affiliation}"></ng-container>
</span>
</div>
</li>
</ul>
</div>
<a *ngIf="arrows"
class="uk-position-center-left-out " [class.coloredBackground]="communityFirstPage"
href="#" uk-slidenav-previous uk-slider-item="previous"></a>
<a *ngIf=" arrows"
class="uk-position-center-right-out "
[class.coloredBackground]="communityFirstPage"
href="#" uk-slidenav-next uk-slider-item="next"></a>
</div>
</div>
<div *ngIf="communityFirstPage">
<a routerLink="/organizations" class="uk-align-right portal-link uk-flex uk-flex-middle uk-margin-top">
<span>See Details</span>
<span uk-icon="chevron-right"></span>
</a>
</div> -->
</ng-container>
<!--<div *ngIf="affiliations.length == 0 && longView" class="uk-animation-fade uk-alert uk-alert-primary" role="alert">-->

View File

@ -17,7 +17,7 @@ import {properties} from "../../environments/environment";
styles: [`
.affiliationCard {
width: 260px !important;
height: 262px !important;
height: 260px !important;
}
.affiliation-logo img {
max-height: 60px !important;
@ -84,7 +84,7 @@ export class AffiliationsComponent {
this.affiliationService.initAffiliations(this.communityId);
this.subscriptions.push(this.affiliationService.affiliations.subscribe(
affiliations => {
this.affiliations = affiliations;
this.affiliations = affiliations.filter((affiliation) => this.longView || !!affiliation['logo_url']);
this.showLoading = false;
},
error => {

View File

@ -1,4 +1,4 @@
<div class="">
<div>
<div id="stickhere">
</div>
@ -6,47 +6,20 @@
let-resultType="resultType" let-fetch="fetch" let-searchLinkToAdvancedPage="searchLinkToAdvancedPage"
let-params="params" let-type="type" let-typeName="typeName" let-showImpactFactors="showImpactFactors">
<div class="uk-grid uk-margin-remove">
<div class="uk-width-expand uk-padding">
<div class="uk-width-expand uk-padding uk-padding-remove-horizontal">
<search-tab [fetch]="fetch" [resultType]="resultType" [params]="params"
[searchLinkToAdvancedPage]="searchLinkToAdvancedPage" [properties]="properties"
[showImpactFactors]="showImpactFactors">
</search-tab>
</div>
<!--<div
*ngIf="statistics.statisticsSum && statistics.statisticsDisplay && statistics.statisticsSum[type].total>0
&&
( statistics.statisticsDisplay.entities[type].numbers.map['total']['showInDashboard']
|| statistics.statisticsDisplay.entities[type].numbers.map['project']['showInDashboard']
|| statistics.statisticsDisplay.entities[type].numbers.map['open']['showInDashboard']
|| statistics.statisticsDisplay.entities[type].numbers.map['closed']['showInDashboard']
|| statistics.statisticsDisplay.entities[type].numbers.map['embargo']['showInDashboard']
|| statistics.statisticsDisplay.entities[type].numbers.map['restricted']['showInDashboard']
|| ( statistics.allowedEntitiesMode['showInDashboard'] && statistics.statisticsSum
&& statistics.allowedChartsMode['showInDashboard'] && statistics.statisticsSum[type]
&& statistics.allowedChartsMode['showInDashboard'][type] && statistics.statisticsSum[type].total > 0
&& statistics.allowedChartsMode['showInDashboard'][type].length > 0)
)"
class="uk-width-2-5@m uk-width-1-1@s uk-padding right-column">
<div *ngIf="statistics !=null && activeTab == resultType">
<ng-container *ngTemplateOutlet="stats; context: { entity: type, entityName: typeName,
statisticsSum:statistics.statisticsSum,
statisticsDisplay:statistics.statisticsDisplay,
allowedEntities: statistics.allowedEntitiesMode['showInDashboard'],
allowedCharts:statistics.allowedChartsMode['showInDashboard'],
showChartTitle: statistics.chartTitlesMode['showInDashboard'],
chartsInfoMap:statistics.chartsInfoMap, showIn:'showInDashboard'}">
</ng-container>
</div>
</div>-->
</div>
</ng-template>
<ng-template #analytics_tab_content let-type="type" let-typeName="typeName">
<ng-template #analytics_tab_content
let-type="type" let-typeName="typeName">
<div *ngIf="analyticsActiveTab == type && isEntityEnabled(type)
&& statistics.statisticsSum && statistics.statisticsDisplay && statistics.statisticsSum[type].total>0
&&
( statistics.statisticsDisplay.entities[type].numbers.map['total']['showInMonitor']
&& (statistics.statisticsDisplay.entities[type].numbers.map['total']['showInMonitor']
|| statistics.statisticsDisplay.entities[type].numbers.map['project']['showInMonitor']
|| statistics.statisticsDisplay.entities[type].numbers.map['open']['showInMonitor']
|| statistics.statisticsDisplay.entities[type].numbers.map['closed']['showInMonitor']
@ -55,10 +28,10 @@
|| (statistics.allowedEntitiesMode['showInMonitor'] && statistics.statisticsSum
&& statistics.allowedChartsMode['showInMonitor'] && statistics.statisticsSum[type]
&& statistics.allowedChartsMode['showInMonitor'][type] && statistics.statisticsSum[type].total > 0
&& statistics.allowedChartsMode['showInMonitor'][type].length > 0)
)">
<div class="tab-header uk-margin-bottom">{{typeName}}</div>
&& statistics.allowedChartsMode['showInMonitor'][type].length > 0) )">
<div class="tab-header uk-margin-bottom">
{{typeName}}
</div>
<ng-container *ngTemplateOutlet="stats; context: {
entity: type, entityName: typeName,
statisticsSum:statistics.statisticsSum, statisticsDisplay:statistics.statisticsDisplay,
@ -85,62 +58,64 @@
<div *ngIf="statisticsSum && statisticsDisplay && statisticsSum[entity].total > 0"
[class]="'uk-grid uk-grid-small uk-grid-match ' + (showIn == 'showInMonitor' ? ' uk-child-width-1-3@s uk-child-width-1-6@m' : ' uk-child-width-1-1@s uk-child-width-1-3@m')"
uk-grid>
<div *ngIf="statisticsDisplay.entities[entity].numbers.map['total'][showIn]" class="">
<div *ngIf="statisticsDisplay.entities[entity].numbers.map['total'][showIn]">
<div class="uk-card uk-card-default uk-padding-small">
<div
class="uk-h4 uk-text-bold">{{statisticsSum[entity].total|number}}</div>
<!-- <div>Total {{entityName}}</div>-->
<div>Total</div>
<div class="uk-h4 uk-text-bold">
{{statisticsSum[entity].total|number}}
</div>
<div>
Total
</div>
</div>
<div
*ngIf="statisticsDisplay.entities[entity].numbers.map['project'][showIn] && statisticsSum[entity].projects"
class="">
</div>
<div *ngIf="statisticsDisplay.entities[entity].numbers.map['project'][showIn] && statisticsSum[entity].projects">
<div class="uk-card uk-card-default uk-padding-small">
<div
class="uk-h4 uk-text-bold">{{statisticsSum[entity].projects|number}} </div>
<!-- <div>Total projects linked to {{entityName}}</div>-->
<div>Total linked projects</div>
<div class="uk-h4 uk-text-bold">
{{statisticsSum[entity].projects|number}}
</div>
<div>
Total linked projects
</div>
</div>
<div
*ngIf="statisticsDisplay.entities[entity].numbers.map['open'][showIn] && statisticsSum[entity].open_access"
class="">
</div>
<div *ngIf="statisticsDisplay.entities[entity].numbers.map['open'][showIn] && statisticsSum[entity].open_access">
<div class="uk-card uk-card-default uk-padding-small">
<div
class="uk-h4 uk-text-bold">{{statisticsSum[entity].open_access|number}} </div>
<!-- <div>Open access {{entityName}}</div>-->
<div>Open access</div>
<div class="uk-h4 uk-text-bold">
{{statisticsSum[entity].open_access|number}}
</div>
<div>
Open access
</div>
</div>
<div
*ngIf="statisticsDisplay.entities[entity].numbers.map['closed'][showIn] && statisticsSum[entity].closed_access"
class="">
</div>
<div *ngIf="statisticsDisplay.entities[entity].numbers.map['closed'][showIn] && statisticsSum[entity].closed_access">
<div class="uk-card uk-card-default uk-padding-small">
<div
class="uk-h4 uk-text-bold">{{statisticsSum[entity].closed_access|number}} </div>
<!-- <div>Closed access {{entityName}}</div>-->
<div>Closed access</div>
<div class="uk-h4 uk-text-bold">
{{statisticsSum[entity].closed_access|number}}
</div>
<div>
Closed access
</div>
</div>
<div
*ngIf="statisticsDisplay.entities[entity].numbers.map['embargo'][showIn] && statisticsSum[entity].embargo"
class="">
</div>
<div *ngIf="statisticsDisplay.entities[entity].numbers.map['embargo'][showIn] && statisticsSum[entity].embargo">
<div class="uk-card uk-card-default uk-padding-small">
<div
class="uk-h4 uk-text-bold">{{statisticsSum[entity].embargo|number}} </div>
<!-- <div>Embargoed {{entityName}}</div>-->
<div>Embargoed</div>
<div class="uk-h4 uk-text-bold">
{{statisticsSum[entity].embargo|number}}
</div>
<div>
Embargoed
</div>
</div>
<div
*ngIf="statisticsDisplay.entities[entity].numbers.map['restricted'][showIn] && statisticsSum[entity].restricted"
class="">
</div>
<div *ngIf="statisticsDisplay.entities[entity].numbers.map['restricted'][showIn] && statisticsSum[entity].restricted">
<div class="uk-card uk-card-default uk-padding-small">
<div
class="uk-h4 uk-text-bold">{{statisticsSum[entity].restricted|number}} </div>
<!-- <div>Restricted {{entityName}}</div>-->
<div>Restricted</div>
<div class="uk-h4 uk-text-bold">
{{statisticsSum[entity].restricted|number}}
</div>
<div>
Restricted
</div>
</div>
</div>
</div>
@ -153,10 +128,8 @@
<div class="uk-position-relative">
<ul class="uk-list">
<li *ngFor="let chart of allowedCharts[entity]">
<div
class=" iframeContainer uk-height-medium uk-margin-medium-top uk-card uk-card-default uk-card-body">
<div *ngIf="showChartTitle[chart]" class="">
<div class="iframeContainer uk-height-medium uk-margin-medium-top uk-card uk-card-default uk-card-body">
<div *ngIf="showChartTitle[chart]">
{{chartsInfoMap[chart].title}}
</div>
<iframe [src]=chartsInfoMap[chart].url scrolling="no"></iframe>
@ -165,36 +138,25 @@
</ul>
</div>
</div>
<!-- <div *ngIf=" allowedEntities &&-->
<!-- statisticsSum && allowedCharts && statisticsSum[entity] &&-->
<!-- allowedCharts[entity] && statisticsSum[entity].total>0 &&-->
<!-- allowedCharts[entity].length>0">-->
<!-- <div class="uk-margin-top portal-hr"></div>-->
<!-- </div>-->
</div>
<div *ngIf="showIn == 'showInMonitor'" class="uk-grid uk-child-width-1-2@l uk-child-width-1-1@m ">
<div *ngFor="let chart of allowedCharts[entity]" class="uk-clearfix uk-margin-bottom">
<div class="iframeContainer uk-height-large uk-margin-medium-top uk-card uk-card-default uk-card-body">
<div *ngIf="showChartTitle[chart]" class="">
<div *ngIf="showChartTitle[chart]">
{{chartsInfoMap[chart].title}}
</div>
<iframe [src]=chartsInfoMap[chart].url scrolling="no" class=""></iframe>
</div>
</div>
<iframe [src]=chartsInfoMap[chart].url scrolling="no"></iframe>
</div>
</div>
</div>
</div>
</ng-template>
<div *ngIf="communityInfo && community && !isPrivate()" >
<div *ngIf="communityInfo && community" class="generalSearchForm uk-background-primary"> <!-- this div will have the customized color or image -->
<div *ngIf="communityInfo && community" class="generalSearchForm"> <!-- this div will have the customized color or image -->
<div class="uk-container uk-container-large">
<div class="uk-width-1-2@m uk-margin-large-top uk-margin-large-bottom">
<div *ngIf="community.shortTitle && community.title != community.shortTitle" class="uk-margin-remove">
<div *ngIf="community.shortTitle && community.title != community.shortTitle" class="uk-margin-remove uk-text-secondary">
{{community.shortTitle}}
</div>
<h1 *ngIf="community.title" class="uk-margin-remove">
@ -202,7 +164,7 @@
</h1>
<div [class.uk-invisible]="disableSelect" class="uk-margin-medium-top uk-width-4-5@m">
<advanced-search-input #advanced (searchEmitter)="goTo(true)">
<entities-selection [simpleView]="true" currentEntity="all" [selectedEntity]="selectedEntity"
<entities-selection [simpleView]="true" currentEntity="result" [selectedEntity]="selectedEntity" [customFilter]="customFilter"
(selectionChange)="entityChanged($event);advanced.focusNext(input, $event)" (disableSelectEmitter)="disableSelectChange($event)"
[onChangeNavigate]="false"></entities-selection>
<div input #input placeholder="Scholary works" [searchable]="true" [hint]="'Search in OpenAIRE'" [(value)]="keyword"></div>
@ -217,29 +179,15 @@
</div>
</div>
<div *ngIf="communityInfo && community" class="uk-section uk-section-small">
<div class="uk-padding-small">
<div class="uk-container uk-container-large uk-margin-top"
*ngIf="communityId">
<div *ngIf="communityInfo && community" class=" uk-container uk-container-large uk-section uk-section-small">
<div *ngIf="communityId" >
<div>
<div class="main-tabs-div">
<ng-template #summary_tab>
<!-- <ng-template #summary_tab>
<div *ngIf="community" class="uk-grid uk-margin-remove">
<div class="uk-width-expand uk-padding uk-inline">
<div *ngIf="community.description" class="uk-margin-bottom ">
<!-- <div class="uk-overflow-auto">-->
<!-- <div #toTarget id="toTarget" class="uk-height-max-medium" [class.cutDescr]="!showAllDescription"-->
<div [innerHTML]="community.description | safeHtml"></div>
<!-- </div>-->
<!-- <div *ngIf="showMore && !showAllDescription" class="uk-animation-fade uk-margin-small-top uk-text-right">-->
<!-- <a (click)="showAllDescription = !showAllDescription;">Read more</a>-->
<!-- </div>-->
<!-- <div *ngIf="showAllDescription"-->
<!-- class="uk-animation-fade uk-margin-small-top uk-text-right">-->
<!-- <a (click)="showAllDescription = !showAllDescription;">-->
<!-- Read less-->
<!-- </a>-->
<!-- </div>-->
</div>
<div *ngIf="isRouteEnabled('/curators')" class="uk-margin-small-bottom">
@ -248,7 +196,7 @@
<div [class]="community.date || subscribers ? 'uk-margin-small-bottom' : ''">
<span *ngIf="community.date" class="uk-margin-right">
<span
class="lowOpacityColor uk-text-muted">Created: </span> {{community.date | date:'dd-MMM-yyyy'}}
class="lowOpacityColor uk-text-meta">Created: </span> {{community.date | date:'dd-MMM-yyyy'}}
</span>
<span>
<subscribe *ngIf="communityId" [communityId]="communityId" showNumbers=true
@ -260,7 +208,7 @@
? 'uk-margin-small-bottom' : ''">
<span
*ngIf="projectTotal && projectTotal > 0 && isEntityEnabled('project') && isRouteEnabled(searchLinkToProjects)">
<span class="uk-text-muted">Projects: </span>
<span class="uk-text-meta">Projects: </span>
<a class="uk-margin-auto-vertical uk-margin-auto portal-link" [queryParams]=params
routerLinkActive="router-link-active"
[routerLink]="searchLinkToProjects">{{projectTotal|number}}
@ -269,7 +217,7 @@
<span
*ngIf="contentProviderTotal && contentProviderTotal > 0 && isEntityEnabled('datasource') && isRouteEnabled(searchLinkToDataProviders)"
[class]="'uk-display-inline-block '+((projectTotal && projectTotal > 0 && isEntityEnabled('project') && isRouteEnabled(searchLinkToProjects)) ? 'uk-margin-left' : '')">
<span class="uk-text-muted">Content Providers: </span>
<span class="uk-text-meta">Content Providers: </span>
<a class="uk-margin-auto-vertical uk-margin-auto portal-link" [queryParams]=params
routerLinkActive="router-link-active"
[routerLink]="searchLinkToDataProviders">{{contentProviderTotal|number}}
@ -278,7 +226,7 @@
<span *ngIf="projectsCalculated && contentProvidersCalculated &&
((projectTotal && projectTotal > 0 && isEntityEnabled('project') && isRouteEnabled(searchLinkToProjects))
|| (contentProviderTotal && contentProviderTotal > 0 && isEntityEnabled('datasource') && isRouteEnabled(searchLinkToDataProviders)))"
class="uk-icon uk-text-muted uk-margin-small-left"
class="uk-icon uk-text-meta uk-margin-small-left"
title="{{buildProjectsAndContentProvidesTooltip()}}"
uk-tooltip="pos:bottom-right; delay:10; cls: community-page-tooltip uk-width-medium">
<svg width="15" height="15" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="question"
@ -293,13 +241,13 @@
<div
*ngIf="(zenodoCommunityIdS.length + ((masterZenodoCommunity) ? 1 : 0) > 0) && isRouteEnabled(shareInZenodoPage)"
class="">
<span class="lowOpacityColor uk-text-muted">Linked to</span>
<span class="lowOpacityColor uk-text-meta">Linked to</span>
<a class="portal-link uk-margin-small-left uk-margin-small-right" [queryParams]=params
routerLinkActive="router-link-active" [routerLink]="shareInZenodoPage">
<span>{{zenodoCommunityIdS.length + ((masterZenodoCommunity) ? 1 : 0)}}</span>
</a>
<span class="lowOpacityColor uk-text-muted">Zenodo Communities</span>
<span class="uk-icon uk-text-muted uk-margin-small-left"
<span class="lowOpacityColor uk-text-meta">Zenodo Communities</span>
<span class="uk-icon uk-text-meta uk-margin-small-left"
title="{{buildZenodoCommunitiesTooltip()}}"
uk-tooltip="pos:bottom-right; delay:10; cls: community-page-tooltip uk-width-medium">
<svg width="15" height="15" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="question"
@ -315,7 +263,7 @@
<div *ngIf="isRouteEnabled('/subjects') && community.subjects && community.subjects.length > 0"
class="uk-width-1-3@m uk-padding right-column uk-inline">
<div class="uk-margin-bottom">
<div class="uk-text-muted uk-margin-small-bottom">Subjects</div>
<div class="uk-text-meta uk-margin-small-bottom">Subjects</div>
<span *ngFor="let subject of community.subjects.slice(0,20) let i=index">
<span *ngIf="subject != ''">
<a class="portal-link"
@ -394,7 +342,6 @@
&& statistics.allowedChartsMode['showInMonitor']['publication'].length > 0))"
[class]="(analyticsActiveTab == 'publication' ? 'active ' : '')+' publicationAnalytics uk-icon uk-icon-button uk-margin-right'"
uk-tooltip="title: Publications" (click)="analyticsActiveTab = 'publication'">
<!-- <svg height="20" ratio="1" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><rect style="stroke: var(--portal-main-color);" fill="none" height="16" stroke="#000" width="12" x="3.5" y="2.5"></rect><polyline style="stroke: var(--portal-main-color);" fill="none" points="5 0.5 17.5 0.5 17.5 17" stroke="#000"></polyline></svg>-->
<img src="assets/connect-assets/home/entities/publication.svg">
</button>
<button *ngIf="isEntityEnabled('dataset')
@ -412,7 +359,6 @@
&& statistics.allowedChartsMode['showInMonitor']['dataset'].length > 0))"
[class]="(analyticsActiveTab == 'dataset' ? 'active ' : '')+' datasetAnalytics uk-icon uk-icon-button uk-margin-right'"
uk-tooltip="title: Research Data" (click)="analyticsActiveTab = 'dataset'">
<!-- <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="database"><ellipse style="stroke: var(--portal-main-color);" fill="none" stroke="#000" cx="10" cy="4.64" rx="7.5" ry="3.14"></ellipse><path style="stroke: var(--portal-main-color);" fill="none" stroke="#000" d="M17.5,8.11 C17.5,9.85 14.14,11.25 10,11.25 C5.86,11.25 2.5,9.84 2.5,8.11"></path><path style="stroke: var(--portal-main-color);"fill="none" stroke="#000" d="M17.5,11.25 C17.5,12.99 14.14,14.39 10,14.39 C5.86,14.39 2.5,12.98 2.5,11.25"></path><path style="stroke: var(--portal-main-color);" fill="none" stroke="#000" d="M17.49,4.64 L17.5,14.36 C17.5,16.1 14.14,17.5 10,17.5 C5.86,17.5 2.5,16.09 2.5,14.36 L2.5,4.64"></path></svg>-->
<img src="assets/connect-assets/home/entities/dataset.svg">
</button>
<button *ngIf="isEntityEnabled('software')
@ -430,7 +376,6 @@
&& statistics.allowedChartsMode['showInMonitor']['software'].length > 0))"
[class]="(analyticsActiveTab == 'software' ? 'active ' : '')+' softwareAnalytics uk-icon uk-icon-button uk-margin-right'"
uk-tooltip="title: Software" (click)="analyticsActiveTab = 'software'">
<!-- <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="cog"><circle style="stroke: var(--portal-main-color);" fill="none" stroke="#000" cx="9.997" cy="10" r="3.31"></circle><path style="stroke: var(--portal-main-color);" fill="none" stroke="#000" d="M18.488,12.285 L16.205,16.237 C15.322,15.496 14.185,15.281 13.303,15.791 C12.428,16.289 12.047,17.373 12.246,18.5 L7.735,18.5 C7.938,17.374 7.553,16.299 6.684,15.791 C5.801,15.27 4.655,15.492 3.773,16.237 L1.5,12.285 C2.573,11.871 3.317,10.999 3.317,9.991 C3.305,8.98 2.573,8.121 1.5,7.716 L3.765,3.784 C4.645,4.516 5.794,4.738 6.687,4.232 C7.555,3.722 7.939,2.637 7.735,1.5 L12.263,1.5 C12.072,2.637 12.441,3.71 13.314,4.22 C14.206,4.73 15.343,4.516 16.225,3.794 L18.487,7.714 C17.404,8.117 16.661,8.988 16.67,10.009 C16.672,11.018 17.415,11.88 18.488,12.285 L18.488,12.285 Z"></path></svg>-->
<img src="assets/connect-assets/home/entities/software.svg">
</button>
<button *ngIf="isEntityEnabled('orp')
@ -448,12 +393,10 @@
&& statistics.allowedChartsMode['showInMonitor']['orp'].length > 0))"
[class]="(analyticsActiveTab == 'orp' ? 'active ' : '')+' otherAnalytics uk-icon uk-icon-button'"
uk-tooltip="title: Other Research Products" (click)="analyticsActiveTab = 'orp'">
<!-- <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="world"><path style="stroke: var(--portal-main-color);" fill="none" stroke="#000" d="M1,10.5 L19,10.5"></path><path style="stroke: var(--portal-main-color);" fill="none" stroke="#000" d="M2.35,15.5 L17.65,15.5"></path><path style="stroke: var(--portal-main-color);" fill="none" stroke="#000" d="M2.35,5.5 L17.523,5.5"></path><path style="stroke: var(--portal-main-color);" fill="none" stroke="#000" d="M10,19.46 L9.98,19.46 C7.31,17.33 5.61,14.141 5.61,10.58 C5.61,7.02 7.33,3.83 10,1.7 C10.01,1.7 9.99,1.7 10,1.7 L10,1.7 C12.67,3.83 14.4,7.02 14.4,10.58 C14.4,14.141 12.67,17.33 10,19.46 L10,19.46 L10,19.46 L10,19.46 Z"></path><circle style="stroke: var(--portal-main-color);" fill="none" stroke="#000" cx="10" cy="10.5" r="9"></circle></svg>-->
<img src="assets/connect-assets/home/entities/other.svg">
</button>
</div>
<hr>
<ng-container *ngTemplateOutlet="analytics_tab_content; context: {
type: 'publication', typeName: 'publications'}">
</ng-container>
@ -469,7 +412,6 @@
</div>
</div>
</ng-template>
<ng-template #enermaps_tab>
<div class="uk-grid uk-margin-remove">
<div class="uk-width-expand uk-padding">
@ -489,7 +431,6 @@
</ng-template>
<ng-template #mapping_tab>
<div *ngIf="activeTab == 'mapping'">
<div
class="uk-margin-left tab-header uk-margin uk-margin-top ">
Browse OpenAIRE Research Graph through a map of the main concepts linked to Coronavirus
@ -498,10 +439,10 @@
<iframe src="https://openaire.opscidia.com/?iframe=true&keyword=covid19&mapping_size=4"
title="Opscidia Ontology mapping" class="uk-width-1-1" style="height:700px"></iframe>
<span
class=" uk-text-baseline uk-text-muted uk-text-left ">Powered by <a
class=" uk-text-baseline uk-text-meta uk-text-left ">Powered by <a
href="http://www.opscidia.com/" target="_blank" class="">Opscidia</a> and <a
href="https://graph.openaire.eu/" target="_blank" class="">OpenAIRE Research Graph</a> </span>
<span class="uk-text-right uk-float-right uk-text-baseline uk-text-muted"> Visit <a
<span class="uk-text-right uk-float-right uk-text-baseline uk-text-meta"> Visit <a
class=" uk-margin-right uk-margin-small-top"
href="https://openaire.opscidia.com/?iframe=true&keyword=covid19&mapping_size=4" target="_blank" >
Opscidia Tool
@ -517,99 +458,300 @@
</a>
</div>
</div>
</ng-template>
<my-tabs (selectedActiveTab)="onSelectActiveTab($event)">
<my-tab
[tabTitle]="'Summary'" [tabId]="'summary'" class="uk-active">
<ng-container *ngTemplateOutlet="summary_tab;"></ng-container>
</my-tab>
<my-tab *ngIf="fetchPublications.searchUtils.totalResults > 0 && isEntityEnabled('publication')"
[tabTitle]="'Publications'" [tabId]="'publications'"
[tabNumber]="fetchPublications.searchUtils.totalResults">
<ng-container *ngTemplateOutlet="publications_tab;"></ng-container>
</my-tab>
<my-tab *ngIf="fetchDatasets.searchUtils.totalResults > 0 && isEntityEnabled('dataset')"
[tabTitle]="'Research Data'" [tabNumber]="fetchDatasets.searchUtils.totalResults"
[tabId]="'datasets'">
<ng-container *ngTemplateOutlet="datasets_tab;"></ng-container>
</my-tab>
<my-tab *ngIf="fetchSoftware.searchUtils.totalResults > 0 && isEntityEnabled('software')"
[tabTitle]="'Software'" [tabNumber]="fetchSoftware.searchUtils.totalResults" [tabId]="'software'">
<ng-container *ngTemplateOutlet="software_tab;"></ng-container>
</my-tab>
<my-tab *ngIf="fetchOrps.searchUtils.totalResults > 0 && isEntityEnabled('orp')"
[tabTitle]="'Other Research'" [tabNumber]="fetchOrps.searchUtils.totalResults" [tabId]="'other'">
<ng-container *ngTemplateOutlet="other_tab;"></ng-container>
</my-tab>
<!-- <my-tab *ngIf="showAnalyticsTab()"
[tabTitle]="'Analytics'" customClass="statistics" [tabId]="'analytics'">
<ng-container *ngTemplateOutlet="analytics_tab;"></ng-container>
</my-tab>-->
<my-tab *ngIf="properties.environment != 'production' && communityId == 'covid-19'"
[tabTitle]="'Ontology Mapping'" [tabId]="'mapping'" customClass="portalTab">
<ng-container *ngTemplateOutlet="mapping_tab;"></ng-container>
</my-tab>
<my-tab *ngIf="properties.environment != 'production' && communityId == 'enermaps' &&
fetchFeaturedDatasets.searchUtils.totalResults > 0 && isEntityEnabled('dataset')" customClass="portalTab"
[tabTitle]="'Featured datasets'" [tabId]="'enermaps'" [tabNumber]="fetchFeaturedDatasets.searchUtils.totalResults">
<ng-container *ngTemplateOutlet="enermaps_tab;"></ng-container>
</my-tab>
<my-tab *ngIf="properties.environment == 'development' && communityInfo.twitterAccount" [tabTitle]="'Twitter'" [tabId]="'twitter'">
<ng-container *ngTemplateOutlet="twitter_tab;"></ng-container>
</my-tab>
</my-tabs>
</ng-template> -->
<my-small-tabs (selectedActiveTab)="onSelectActiveTab($event)">
<my-tab
[tabTitle]="'Summary'" [tabId]="'summary'" class="uk-active">
<ng-container *ngTemplateOutlet="summary_tab;"></ng-container>
</my-tab>
<my-tab *ngIf="fetchPublications.searchUtils.totalResults > 0 && isEntityEnabled('publication')"
[tabTitle]="'Publications'" [tabId]="'publications'"
[tabNumber]="fetchPublications.searchUtils.totalResults">
<ng-container *ngTemplateOutlet="publications_tab;"></ng-container>
</my-tab>
<my-tab *ngIf="fetchDatasets.searchUtils.totalResults > 0 && isEntityEnabled('dataset')"
[tabTitle]="'Research Data'" [tabNumber]="fetchDatasets.searchUtils.totalResults"
[tabId]="'datasets'">
<ng-container *ngTemplateOutlet="datasets_tab;"></ng-container>
</my-tab>
<my-tab *ngIf="fetchSoftware.searchUtils.totalResults > 0 && isEntityEnabled('software')"
[tabTitle]="'Software'" [tabNumber]="fetchSoftware.searchUtils.totalResults" [tabId]="'software'">
<ng-container *ngTemplateOutlet="software_tab;"></ng-container>
</my-tab>
<my-tab *ngIf="fetchOrps.searchUtils.totalResults > 0 && isEntityEnabled('orp')"
[tabTitle]="'Other Research'" [tabNumber]="fetchOrps.searchUtils.totalResults" [tabId]="'other'">
<ng-container *ngTemplateOutlet="other_tab;"></ng-container>
</my-tab>
<!--<my-tab *ngIf="showAnalyticsTab()"
[tabTitle]="'Analytics'" customClass="statistics" [tabId]="'analytics'">
<ng-container *ngTemplateOutlet="analytics_tab;"></ng-container>
</my-tab>-->
<my-tab *ngIf="properties.environment != 'production' && communityId == 'covid-19'"
[tabTitle]="'Ontology Mapping'" [tabId]="'mapping'" customClass="portalTab">
<ng-container *ngTemplateOutlet="mapping_tab;"></ng-container>
</my-tab>
<my-tab *ngIf="communityId == 'enermaps' &&
fetchFeaturedDatasets.searchUtils.totalResults > 0 && isEntityEnabled('dataset')" customClass="portalTab"
[tabTitle]="'Featured datasets'" [tabId]="'enermaps'" [tabNumber]="fetchFeaturedDatasets.searchUtils.totalResults">
<ng-container *ngTemplateOutlet="enermaps_tab;"></ng-container>
</my-tab>
<my-tab *ngIf="properties.environment == 'development' && communityInfo.twitterAccount" [tabTitle]="'Twitter'" [tabId]="'twitter'">
<ng-container *ngTemplateOutlet="twitter_tab;"></ng-container>
</my-tab>
</my-small-tabs>
<div id="mytabs" class="uk-grid uk-margin-remove-left uk-position-relative">
<div class="uk-margin-medium-right uk-margin-top uk uk-padding-remove uk-width-expand">
<div class="uk-width-1-1" uk-slider="finite: true">
<div class="uk-position-relative " >
<div class="uk-slider-container ">
<ul class=" uk-slider-items " style="flex-wrap: nowrap !important;" >
<li (click)="onSelectActiveTab('summary')">
<ul class="uk-tab">
<li [class.uk-active]="activeTab == 'summary'">
<a class="uk-width-1-1 uk-height-1-1 uk-flex uk-flex-center">
Summary
</a>
</li>
</ul>
</li>
<li *ngIf="fetchPublications.searchUtils.totalResults > 0 && isEntityEnabled('publication')"
(click)="onSelectActiveTab('publications')">
<ul class="uk-tab">
<li [class.uk-active]="activeTab == 'publication'">
<a class="uk-width-1-1 uk-height-1-1 uk-flex uk-flex-center">
{{openaireEntities.PUBLICATIONS}} ({{fetchPublications.searchUtils.totalResults | number}})
</a>
</li>
</ul>
</li>
<li *ngIf="fetchDatasets.searchUtils.totalResults > 0 && isEntityEnabled('dataset')"
(click)="onSelectActiveTab('datasets')">
<ul class="uk-tab">
<li [class.uk-active]="activeTab == 'dataset'">
<a class="uk-width-1-1 uk-height-1-1 uk-flex uk-flex-center">
{{openaireEntities.DATASETS}} ({{fetchDatasets.searchUtils.totalResults | number}})
</a>
</li>
</ul>
</li>
<li *ngIf="fetchSoftware.searchUtils.totalResults > 0 && isEntityEnabled('software')"
(click)="onSelectActiveTab('software')">
<ul class="uk-tab">
<li [class.uk-active]="activeTab == 'software'">
<a class="uk-width-1-1 uk-height-1-1 uk-flex uk-flex-center">
{{openaireEntities.SOFTWARE}} ({{fetchSoftware.searchUtils.totalResults | number}})
</a>
</li>
</ul>
</li>
<li *ngIf="fetchOrps.searchUtils.totalResults > 0 && isEntityEnabled('orp')"
(click)="onSelectActiveTab('other')">
<ul class="uk-tab">
<li [class.uk-active]="activeTab == 'orp'">
<a class="uk-width-1-1 uk-height-1-1 uk-flex uk-flex-center">
{{openaireEntities.OTHER}} ({{fetchOrps.searchUtils.totalResults | number}})
</a>
</li>
</ul>
</li>
<li *ngIf="properties.environment == 'development' && communityInfo.twitterAccount"
(click)="onSelectActiveTab('twitter')">
<ul class="uk-tab">
<li [class.uk-active]="activeTab == 'twitter'">
<a class="uk-width-1-1 uk-height-1-1 uk-flex uk-flex-center">
Twitter
</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<ng-container *ngIf="communityId == 'enermaps'">
<div class="uk-section uk-container uk-container-large tm-middle">
<div class="">
<h3 class="uk-margin-large-top uk-text-center uk-text-muted uk-text-bold">
<a class="uk-position-center-left blur-background" uk-slider-item="previous"><span uk-icon="chevron-left"></span></a>
<a class="uk-position-center-right blur-background" uk-slider-item="next"><span uk-icon="chevron-right"></span></a>
</div>
</div>
</div>
</div>
<div class="uk-padding-small uk-padding-remove-bottom uk-padding-remove-right">
<ul class="uk-tab uk-height-1-1">
<li *ngIf="properties.environment != 'production' && communityId == 'covid-19'" (click)="onSelectActiveTab('mapping')" [class.uk-active]="activeTab == 'mapping'">
<a class="uk-width-1-1 uk-height-1-1 uk-flex uk-flex-center featuredTab">
Ontology Mapping
</a>
</li>
<li *ngIf="properties.environment != 'production' && communityId == 'enermaps' && fetchFeaturedDatasets.searchUtils.totalResults > 0 && isEntityEnabled('dataset')"
(click)="onSelectActiveTab('enermaps')" [class.uk-active]="activeTab == 'enermaps'">
<a class="uk-width-1-1 uk-height-1-1 uk-flex uk-flex-center featuredTab">
Featured Datasets ({{fetchFeaturedDatasets.searchUtils.totalResults | number}})
</a>
</li>
</ul>
</div>
</div>
<div *ngIf="activeTab == 'summary'">
<div *ngIf="community" class="uk-grid uk-grid-divider uk-padding uk-padding-remove-horizontal" uk-grid>
<div class="uk-width-expand">
<div *ngIf="community.description" class="uk-margin-bottom ">
<div [innerHTML]="community.description | safeHtml">
</div>
</div>
<div class="uk-card uk-card-default uk-padding-small">
<div *ngIf="isRouteEnabled('/curators')" class="uk-margin-bottom">
<curators [longView]="false"></curators>
</div>
<div class="uk-grid uk-grid-divider uk-child-width-1-2@m" uk-grid>
<div>
<div *ngIf="community.date" class="uk-margin-small-bottom">
<span class="uk-text-meta">Created: </span> {{community.date | date:'dd-MMM-yyyy'}}
</div>
<div [class]="projectTotal && projectTotal > 0 && isEntityEnabled('project') && isRouteEnabled(searchLinkToProjects) ? 'uk-margin-small-bottom' : ''">
<span *ngIf="projectTotal && projectTotal > 0 && isEntityEnabled('project') && isRouteEnabled(searchLinkToProjects)">
<span class="uk-text-meta">Projects: </span>
<a [queryParams]=params
routerLinkActive="router-link-active"
[routerLink]="searchLinkToProjects">{{projectTotal|number}}
</a>
<a *ngIf="projectsCalculated && (projectTotal && projectTotal > 0 && isEntityEnabled('project') && isRouteEnabled(searchLinkToProjects))"
[title]="buildProjectsTooltip()"
[attr.uk-tooltip]="'pos: bottom-right; delay: 10;'"
class="uk-link-reset uk-display-inline-block uk-margin-small-left">
<svg width="15" height="15" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="question" ratio="1">
<circle fill="none" stroke="#8E8E8E" stroke-width="1.1" cx="10" cy="10" r="9"></circle>
<circle fill="none" stroke="#8E8E8E" cx="10.44" cy="14.42" r="1.05"></circle>
<path fill="none" stroke="#8E8E8E" 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>
</a>
</span>
</div>
<div *ngIf="(zenodoCommunityIdS.length + ((masterZenodoCommunity) ? 1 : 0) > 0) && isRouteEnabled(shareInZenodoPage)">
<span class="uk-text-meta">Linked Zenodo Communities: </span>
<a [queryParams]=params
routerLinkActive="router-link-active" [routerLink]="shareInZenodoPage">
<span>{{zenodoCommunityIdS.length + ((masterZenodoCommunity) ? 1 : 0)}}</span>
</a>
<a [title]="buildZenodoCommunitiesTooltip()"
[attr.uk-tooltip]="'pos: bottom-right; delay: 10;'"
class="uk-link-reset uk-display-inline-block uk-margin-small-left">
<svg width="15" height="15" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="question" ratio="1">
<circle fill="none" stroke="#8E8E8E" stroke-width="1.1" cx="10" cy="10" r="9"></circle>
<circle fill="none" stroke="#8E8E8E" cx="10.44" cy="14.42" r="1.05"></circle>
<path fill="none" stroke="#8E8E8E" 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>
</a>
</div>
</div>
<div>
<div [class]="community.date || subscribers ? 'uk-margin-small-bottom' : ''">
<span>
<subscribe *ngIf="communityId" [communityId]="communityId" showNumbers=true
(countSubscribersEvent)="countSubscribersEvent($event)">
</subscribe>
</span>
</div>
<div [class]="contentProviderTotal && contentProviderTotal > 0 && isEntityEnabled('datasource') && isRouteEnabled(searchLinkToDataProviders) ? 'uk-margin-small-bottom' : ''">
<span *ngIf="contentProviderTotal && contentProviderTotal > 0 && isEntityEnabled('datasource') && isRouteEnabled(searchLinkToDataProviders)">
<span class="uk-text-meta">Content Providers: </span>
<a [queryParams]=params
routerLinkActive="router-link-active"
[routerLink]="searchLinkToDataProviders">{{contentProviderTotal|number}}
</a>
<a *ngIf="contentProvidersCalculated && (contentProviderTotal && contentProviderTotal > 0 && isEntityEnabled('datasource') && isRouteEnabled(searchLinkToDataProviders))"
[title]="buildContentProvidersTooltip()"
[attr.uk-tooltip]="'pos: bottom-right; delay: 10;'"
class="uk-link-reset uk-display-inline-block uk-margin-small-left">
<svg width="15" height="15" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="question" ratio="1">
<circle fill="none" stroke="#8E8E8E" stroke-width="1.1" cx="10" cy="10" r="9"></circle>
<circle fill="none" stroke="#8E8E8E" cx="10.44" cy="14.42" r="1.05"></circle>
<path fill="none" stroke="#8E8E8E" 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>
</a>
</span>
</div>
</div>
</div>
</div>
</div>
<div *ngIf="isRouteEnabled('/subjects') && community.subjects && community.subjects.length > 0" class="uk-width-1-3@m">
<div>
<div class="uk-text-meta uk-margin-small-bottom">Subjects</div>
<span *ngFor="let subject of community.subjects.slice(0,20) let i=index">
<span *ngIf="subject != ''">
<a class="portal-link"
[queryParams]="{f0:'resultsubject',fv0:createParams(subject)}"
routerLinkActive="router-link-active" [routerLink]="searchLinkToAdvancedResults">
<span>{{subject}}</span>
</a>
<span *ngIf="i < community.subjects.length-1 && i != 19">, </span>
</span>
</span>
<div class="uk-animation-fade uk-margin-top">
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text" routerLinkActive="router-link-active" [routerLink]="'/subjects'">
View all
</a>
</div>
</div>
</div>
</div>
</div>
<div *ngIf="activeTab == 'publication' && fetchPublications.searchUtils.totalResults > 0 && isEntityEnabled('publication')">
<ng-container *ngTemplateOutlet="tab_content; context: {
resultType: 'publication', fetch: fetchPublications,
searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults,
params: getParamsForSearchLink('publications'),
type: 'publication', typeName: 'publication',
showImpactFactors:(community.communityId == 'elixir-gr' || community.communityId == 'inspired-ris' )}">
</ng-container>
</div>
<div *ngIf="activeTab == 'dataset' && fetchDatasets.searchUtils.totalResults > 0 && isEntityEnabled('dataset')">
<ng-container *ngTemplateOutlet="tab_content; context: {
resultType: 'dataset', fetch: fetchDatasets,
searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults,
params: getParamsForSearchLink('datasets'),
type: 'dataset', typeName: 'research data',
showImpactFactors:(community.communityId == 'elixir-gr' || community.communityId == 'inspired-ris')}">
</ng-container>
</div>
<div *ngIf="activeTab == 'software' && fetchSoftware.searchUtils.totalResults > 0 && isEntityEnabled('software')">
<ng-container *ngTemplateOutlet="tab_content; context: {
resultType: 'software', fetch: fetchSoftware,
searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults,
params: getParamsForSearchLink('software'),
type: 'software', typeName: 'software',
showImpactFactors:(community.communityId == 'elixir-gr' || community.communityId == 'inspired-ris')}">
</ng-container>
</div>
<div *ngIf="activeTab == 'orp' && fetchOrps.searchUtils.totalResults > 0 && isEntityEnabled('orp')">
<ng-container *ngTemplateOutlet="tab_content; context: {
resultType: 'other', fetch: fetchOrps,
searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults,
params: getParamsForSearchLink('other'),
type: 'orp', typeName: 'other products',
showImpactFactors:(community.communityId == 'elixir-gr' || community.communityId == 'inspired-ris')}">
</ng-container>
</div>
<div *ngIf="activeTab == 'twitter' && properties.environment == 'development' && communityInfo.twitterAccount">
<div>
<div>
<a href="https://twitter.com/{{ communityInfo.twitterAccount }}?ref_src=twsrc%5Etfw" class="twitter-timeline" data-height="900">
Tweets by {{communityInfo.twitterAccount}}
</a>
</div>
</div>
</div>
<div *ngIf="activeTab == 'mapping' && properties.environment != 'production' && communityId == 'covid-19'"
class="uk-padding uk-padding-remove-horizontal">
<div>
Browse OpenAIRE Research Graph through a map of the main concepts linked to Coronavirus
</div>
<div class="uk-margin-medium-top">
<iframe src="https://openaire.opscidia.com/?iframe=true&keyword=covid19&mapping_size=4"
title="Opscidia Ontology mapping" class="uk-width-1-1" style="height:700px"></iframe>
<span class=" uk-text-baseline uk-text-meta uk-text-left ">
Powered by
<a href="http://www.opscidia.com/" target="_blank" class="">Opscidia</a> and
<a href="https://graph.openaire.eu/" target="_blank" class="">OpenAIRE Research Graph</a>
</span>
<span class="uk-text-right uk-float-right uk-text-baseline uk-text-meta"> Visit
<a class="uk-margin-right uk-margin-small-top" href="https://openaire.opscidia.com/?iframe=true&keyword=covid19&mapping_size=4" target="_blank">
Opscidia Tool
</a>
</span>
</div>
</div>
<div *ngIf="activeTab == 'enermaps' && properties.environment != 'production' && communityId == 'enermaps' && fetchFeaturedDatasets.searchUtils.totalResults > 0 && isEntityEnabled('dataset')">
<div class="uk-grid uk-margin-remove">
<div class="uk-width-expand uk-padding uk-padding-remove-horizontal">
<search-tab [fetch]="fetchFeaturedDatasets" [resultType]="'dataset'"
[properties]="properties" customTitle="Featured Datasets"
[showImpactFactors]="false" [showEnermaps]="true">
<div class="uk-margin-top uk-margin-bottom uk-text-meta">
<div>Here are listed some of the most important energy datasets as selected by energy experts.</div>
<div>
Check them if you want to easily explore and visualize the European energy landscape,
using only well-known datasets which you can trust.
</div>
</div>
</search-tab>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- <ng-container *ngIf="communityId == 'enermaps'">
<div class="uk-section uk-container uk-container-large tm-middle">
<div class="uk-margin-large-bottom">
<h2 class="uk-margin-top uk-text-center">
About Enermaps
</h3>
</h2>
<div class="uk-padding uk-grid uk-child-width-1-1@s uk-child-width-1-2@m uk-child-width-1-4@l uk-grid-large uk-margin-medium-top" uk-grid>
<div class="uk-flex uk-flex-column uk-flex-middle">
<div class="icon-wrapper uk-flex uk-flex-center uk-flex-middle">
@ -646,25 +788,19 @@
</div>
</div>
</div>
</ng-container>
</ng-container> -->
<div *ngIf="communityId && communityInfo">
<ng-container *ngIf=" isRouteEnabled('/organizations')">
<div class="uk-container uk-margin-bottom">
<div class="uk-width-expand uk-padding-remove">
<div *ngIf="communityId && communityInfo && isRouteEnabled('/organizations')"
class="uk-container uk-container-large">
<affiliations [longView]="false" [getAffiliationsFromAPI]="true" [communityFirstPage]="true"></affiliations>
</div>
</div>
</ng-container>
</div>
<div *ngIf="(communityId == null || communityId == '' ) && !communityInfo"
class="uk-section tm-middle uk-container uk-margin-large-top ">
<div class="uk-container uk-margin-bottom uk-grid">
<div class="uk-width-expand uk-padding-remove">
<article class="uk-article ">
<div
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">
<div 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">
@ -672,11 +808,9 @@
</div>
</article>
</div>
</div>
</div>
</div>
<error *ngIf="communityInfo && community && isPrivate()" [page]="community.status == 'manager'?'-1':null">
</error>
</div>

View File

@ -27,10 +27,35 @@ import {Subscription} from "rxjs";
import {properties} from "../../environments/environment";
import {ConnectHelper} from "../openaireLibrary/connect/connectHelper";
import {Filter} from "../openaireLibrary/searchPages/searchUtils/searchHelperClasses.class";
import {OpenaireEntities} from '../openaireLibrary/utils/properties/searchFields';
@Component({
selector: 'community',
templateUrl: 'community.component.html',
styles: [
`
#mytabs .uk-tab::before {
border-bottom: none;
}
#mytabs::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
border-bottom: 2px solid #eaeaea;
}
.featuredTab, .uk-active a.featuredTab{
color:#E96439 !important;
}
.blur-background {
background-color: var(--landing-default-color);
}
.blur-background {
background: rgba(var(--landing-default-color-rgb), 0.80);
}
`
]
})
export class CommunityComponent {
@ -91,7 +116,7 @@ export class CommunityComponent {
shareInZenodoPage: string = null;
public routerHelper: RouterHelper = new RouterHelper();
private user: User;
selectedEntity;
selectedEntity = 'result';
selectedEntitySimpleUrl;
selectedEntityAdvancedUrl;
resultTypes: Filter = {
@ -104,7 +129,12 @@ export class CommunityComponent {
title: "Type",
filterOperator: "or"
};
showPublications: boolean = false;
showDatasets: boolean = false;
showSoftware: boolean = false;
showOrp: boolean = false;
showProjects: boolean = false;
showDataProviders: boolean = false;
keyword: string = "";
customFilter;
placeholderText = "Search by title, author, abstract, DOI, orcid... ";
@ -115,6 +145,7 @@ export class CommunityComponent {
value: "Open Access"
};
disableSelect: boolean = true;
openaireEntities= OpenaireEntities;
constructor(
private element: ElementRef,
@ -255,7 +286,47 @@ export class CommunityComponent {
this.handleError("Error getting community with id: " + this.communityId, error);
}
));
this.subs.push(this.config.communityInformationState.subscribe(data => {
if (data) {
var showEntity = {};
for (var i = 0; i < data['entities'].length; i++) {
showEntity["" + data['entities'][i]["pid"] + ""] = data['entities'][i]["isEnabled"];
}
this.showPublications = !!showEntity["publication"];
this.showDatasets = !!showEntity["dataset"];
this.showSoftware = !!showEntity["software"];
this.showOrp = !!showEntity["orp"];
this.showProjects = !!showEntity["project"];
this.showDataProviders = !!showEntity["datasource"];
if (this.showPublications) {
this.resultTypes.values.push({
name: this.openaireEntities.PUBLICATIONS,
id: "publications",
selected: false,
number: 0
});
}
if (this.showDatasets) {
this.resultTypes.values.push({
name: this.openaireEntities.DATASETS,
id: "datasets",
selected: false,
number: 0
});
}
if (this.showSoftware) {
this.resultTypes.values.push({
name: this.openaireEntities.SOFTWARE,
id: "software",
selected: false,
number: 0
});
}
if (this.showOrp) {
this.resultTypes.values.push({name: this.openaireEntities.OTHER, id: "other", selected: false, number: 0});
}
}
}));
}
private searchPublications(page: number, size: number) {
@ -440,16 +511,22 @@ export class CommunityComponent {
}
}
public buildProjectsAndContentProvidesTooltip(): string {
let tooltipContent: string = "<div class='uk-margin'>";
public buildProjectsTooltip(): string {
let tooltipContent: string = "<div>";
if (this.projectTotal != null && this.projectTotal > 0 && this.isEntityEnabled('project') && this.isRouteEnabled(this.searchLinkToProjects)) {
tooltipContent += "<span class='uk-text-bold'>Projects</span>";
}
if (this.projectTotal != null && this.projectTotal > 0 && this.isEntityEnabled('project') && this.isRouteEnabled(this.searchLinkToProjects)
&& (this.contentProviderTotal != null && this.contentProviderTotal > 0 && this.isEntityEnabled('datasource') && this.isRouteEnabled(this.searchLinkToDataProviders))) {
tooltipContent += " and ";
tooltipContent += " have been selected as relevant for your community by the gateway curators.";
tooltipContent += "</div>";
return tooltipContent;
}
public buildContentProvidersTooltip(): string {
let tooltipContent: string = "<div>";
if (this.contentProviderTotal != null && this.contentProviderTotal > 0 && this.isEntityEnabled('datasource') && this.isRouteEnabled(this.searchLinkToDataProviders)) {
tooltipContent += "<span class='uk-text-bold'>Content Providers</span>";
}
@ -461,11 +538,12 @@ export class CommunityComponent {
}
public buildZenodoCommunitiesTooltip(): string {
let tooltipContent: string = "<div class='uk-margin'>";
let tooltipContent: string = "<div>";
tooltipContent += "<span class='uk-text-bold'>Zenodo</span> is a catch-all repository for OpenAIRE.";
tooltipContent += "<div class='uk-margin-small-top'>A <span class='uk-text-bold'>Zenodo Community</span> is created and curated by Zenodo users.</div>";
tooltipContent += "</div>";
return tooltipContent;
}
@ -567,7 +645,11 @@ export class CommunityComponent {
this.activeTab = 'mapping';
} else if (activeTabId == 'enermaps') {
this.show = 'enermaps';
this.activeTab = 'enermaps';
this.searchFeaturedDatasets(1, this.fetchFeaturedDatasets.searchUtils.totalResults);
} else if (activeTabId == 'twitter') {
this.show = 'twitter';
this.activeTab = 'twitter';
}
}
}

View File

@ -32,6 +32,7 @@ import {ErrorModule} from "../openaireLibrary/error/error.module";
import {AdvancedSearchInputModule} from '../openaireLibrary/sharedComponents/advanced-search-input/advanced-search-input.module';
import {InputModule} from '../openaireLibrary/sharedComponents/input/input.module';
import {QuickSelectionsModule} from '../openaireLibrary/searchPages/searchUtils/quick-selections.module';
import {IconsModule} from '../openaireLibrary/utils/icons/icons.module';
@NgModule({
imports: [
@ -41,7 +42,7 @@ import {QuickSelectionsModule} from '../openaireLibrary/searchPages/searchUtils/
SearchResearchResultsServiceModule, SearchResultsModule, CuratorsModule, AffiliationsModule,
SEOServiceModule, MatSelectModule, EntitiesSelectionModule,
TabsModule, SearchTabModule, ErrorMessagesModule, SafeHtmlPipeModule, ErrorModule,
AdvancedSearchInputModule, InputModule, QuickSelectionsModule
AdvancedSearchInputModule, InputModule, QuickSelectionsModule, IconsModule
],
declarations: [
CommunityComponent

View File

@ -34,34 +34,18 @@
<h4 class="uk-margin-remove">{{curator.name}}</h4>
<div *ngIf="curator.bio" class="uk-margin-top uk-height-max-large uk-overflow-auto">
<div class="uk-text-muted uk-margin-small-bottom">
Biography <!-- {{curator.bio.length}} -->
Biography
</div>
<div>
<div *ngIf="!viewingMore">{{_format(curator.bio)}}</div>
<div *ngIf="viewingMore">{{curator.bio}}</div>
<div *ngIf="curator.bio.length >= maxCharacters" class="uk-text-right uk-margin-small-top">
<!-- <a *ngIf="curator.bio.length >= maxCharacters && curator.bio.length <= 750"
(click)="viewMore()">
View {{viewingMore ? 'less' : 'more'}}
</a> -->
<a *ngIf="curator.bio.length >= maxCharacters"
(click)="openFsModal(curator)">
View details
</a>
</div>
</div>
<!-- <div *ngIf="showMore[i]">{{curator.bio}}}</div>
<div *ngIf="!showMore[i]">{{_format(curator.bio)}}</div>
<div class="uk-margin-top uk-text-right">
<a *ngIf="curator.bio.length > maxCharacters && !showMore[i]" class="uk-text-bold"
(click)="toggle(i)">
Show more
</a>
<a *ngIf="curator.bio.length > maxCharacters && showMore[i]" class="uk-text-bold"
(click)="toggle(i)">
Show less
</a>
</div> -->
</div>
</div>
</div>
@ -94,73 +78,29 @@
</div>
</div>
</ng-container>
<!-- Short view for community's homepage -->
<ng-template #shortView>
<div *ngIf=" curators && curators.length > 0" class="uk-grid">
<span class="lowOpacityColor uk-text-muted uk-width-auto">
<span class="uk-text-meta uk-width-auto">
Curated by:
</span>
<div class="uk-width-expand uk-padding-remove uk-overflow-auto">
<div class="uk-height-max-medium">
<span *ngFor="let curator of curators.slice(0,numberOfCurators) let i=index;" class="space uk-display-inline-block">
<a class="">
<span class="user-circle-background">
<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path
d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"></path>
<path d="M0 0h24v24H0z" fill="none"></path>
</svg>
</span>
<span class="space">{{curator.name}}</span>
</a>
<span class="default-dropdown uk-margin-remove-top uk-padding-medium uk-width-medium"
uk-dropdown="pos: bottom-left; mode:click; ">
<span class="uk-grid uk-grid-stack">
<span class="uk-first-column uk-flex uk-flex-middle uk-grid">
<span>
<img *ngIf="curator.photo && curator.photo !== ''" class="uk-border-circle curator-photo"
src="{{downloadUrl + curator.photo}}" alt="Curator Photo">
<img *ngIf="!curator.photo || curator.photo == ''" class="uk-border-circle curator-photo"
src="../../assets/common-assets/curator-default.png" alt="Curator Photo">
</span>
<h6 class="uk-width-expand ignoreCommunityPanelBackground">
<div class="uk-height-max-medium uk-margin-xsmall-left">
<a routerLink="/curators">
<span *ngFor="let curator of curators.slice(0,curatorsLimit) let i=index;">
{{curator.name}}
</h6>
<span *ngIf="i < curators.length-1 && i < curatorsLimit-1">, </span>
</span>
<span *ngIf="curator.affiliations.length > 0" class="uk-width-1-1">
<hr class="uk-margin-top">
<span class="uk-text-left uk-margin">
Affiliations
<span *ngIf="curators.length > curatorsLimit">
+{{curators.length-curatorsLimit}} more
</span>
<span> ({{curator.affiliations.length}})</span>
<span class="uk-width-1-1">
<affiliations [affiliations]="curator.affiliations"
[affiliationsInSlider]="2"
[arrows]="false"
[sliderOptions]="'autoplay: true; autoplay-interval: 2000'"></affiliations>
</span>
</span>
<span class="uk-width-1-1">
<a routerLink="/curators" class="uk-align-right uk-link ignoreCommunityPanelBackground">
View more details
</a>
</span>
</span>
</span>
<span *ngIf="i < curators.length-1 && i < numberOfCurators-1">, </span>
</span>
<span *ngIf="numberOfCurators == curatorsLimit && curators.length > curatorsLimit"> ... </span>
</div>
</div>
<div *ngIf="numberOfCurators == curatorsLimit && curators.length > curatorsLimit" class="uk-width-1-1 uk-text-right uk-margin-small-top">
<a (click)="numberOfCurators = curators.length;">
View all {{curators.length | number}} curators
</a>
</div>
<div *ngIf="numberOfCurators > curatorsLimit" class="uk-width-1-1 uk-text-right uk-margin-small-top">
<a (click)="numberOfCurators = curatorsLimit;">View less curators</a>
</div>
</div>
</ng-template>
<fs-modal #fsModal>
<div *ngIf="curatorInModal" class="uk-width-1-1 uk-height-1-1">
<div class="uk-container uk-container-large uk-section">
@ -212,38 +152,5 @@
</div>
</div>
</div>
<!-- <div class="">
<img *ngIf="curatorInModal.photo && curatorInModal.photo !== ''" class="uk-border-circle uk-margin-bottom" style="width: 160px; height: 160px;"
src="{{downloadUrl + curatorInModal.photo}}" alt="Curator Photo">
<img *ngIf="!curatorInModal.photo || curatorInModal.photo == ''" class="uk-border-circle uk-margin-bottom" style="width: 160px; height: 160px;"
src="../../assets/common-assets/curator-default.png" alt="Curator Photo">
<h4 class="uk-margin-remove">{{curatorInModal.name}}</h4>
</div>
<div class="uk-margin-medium-top uk-margin-medium-bottom">
<div class="uk-text-muted uk-margin-small-bottom">
Biography
</div>
<div>
{{curatorInModal.bio}}
</div>
</div>
<div *ngIf="curatorInModal.affiliations && curatorInModal.affiliations.length > 0">
<div class="uk-text-muted uk-margin-small-bottom uk-text-center">
Affiliations
</div>
<div class="uk-flex uk-flex-wrap uk-flex-middle uk-flex-center">
<ng-container *ngFor="let affiliation of curatorInModal.affiliations">
<span *ngIf="!affiliation.website_url">
<img [src]="affiliation.logo_url | urlPrefix" [alt]="affiliation.name">
</span>
<a *ngIf="affiliation.website_url"
target="_blank" [href]="affiliation.website_url | urlPrefix">
<img [src]="affiliation.logo_url | urlPrefix" [alt]="affiliation.name">
</a>
</ng-container>
</div>
</div> -->
</div>
</fs-modal>

View File

@ -1,146 +1,145 @@
<schema2jsonld *ngIf="url" [URL]="url" [name]="title" type="other"></schema2jsonld>
<div class="uk-section uk-padding-remove-bottom uk-padding-remove-top">
<div class="communityPanelBackground uk-padding-small">
<div class="uk-container uk-container-large uk-margin-top uk-margin-bottom">
<!-- <ul class="uk-breadcrumb">
<li><a class="breadcrumb" routerLinkActive="router-link-active" routerLink="{{depositLearnHowPage}}"
[queryParams]="properties.environment!='development'?{}:routerHelper.createQueryParam('communityId',communityId)">
Deposit
</a></li>
<li><span class="active">Deposit in Zenodo</span></li>
</ul>-->
<breadcrumbs [light]="true" [breadcrumbs]="breadcrumbs"></breadcrumbs>
<div class="uk-container uk-container-large uk-section uk-section-small uk-padding-remove-bottom">
<div class="uk-padding-small uk-padding-remove-horizontal">
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
</div>
</div>
</div>
<div class="">
<div class=" uk-section uk-margin-small-top tm-middle uk-container uk-container-large " id="tm-main">
<div class="uk-container uk-container-large uk-section uk-section-small uk-margin-medium-bottom" id="tm-main">
<helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
[texts]="pageContents['top']"></helper>
<div class="uk-container uk-container-large uk-margin-bottom">
<div class="uk-h2">
<span class="uk-text-bold">Deposit</span> in Zenodo
</div>
<h2 class="uk-margin-top uk-margin-medium-bottom uk-width-2-5@m">Deposit your research in Zenodo.</h2>
<div *ngIf="masterZenodoCommunity" class="uk-animation-fade uk-margin-medium-top uk-margin-large-bottom">
<h6 class="uk-margin-medium-bottom">Main Zenodo community</h6>
<div class="uk-grid uk-grid-large uk-child-width-1-2@s" uk-grid>
<div>
<div *ngIf="masterZenodoCommunity" class="uk-animation-fade uk-margin-large-top">
Main Zenodo community
<div class=" uk-card uk-card-default uk-card-body uk-padding-remove-horizontal uk-margin-top">
<!-- <div class="uk-text-large uk-margin-bottom" >Master Zenodo community</div> -->
<div class="uk-comment-header uk-grid-medium uk-flex-middle uk-padding uk-padding-remove-vertical" uk-grid>
<div class="uk-width-auto">
<div class="uk-card uk-card-default">
<div class="uk-card-body">
<div class="uk-grid uk-grid-medium uk-flex-middle" uk-grid>
<div class="uk-width-auto" *ngIf="masterZenodoCommunity.logoUrl">
<a target="_blank" [href]="masterZenodoCommunity.link">
<img *ngIf="masterZenodoCommunity.logoUrl" class="uk-comment-avatar"
src="{{masterZenodoCommunity.logoUrl}}" width="80" height="80" alt="">
<img *ngIf="masterZenodoCommunity.logoUrl"
src="{{masterZenodoCommunity.logoUrl}}" width="80" height="80" alt="{{masterZenodoCommunity.title}}">
</a>
</div>
<div class="uk-width-expand">
<h4 class="uk-comment-title uk-margin-remove">
<a *ngIf="masterZenodoCommunity.link" class="uk-text-large uk-text-bold" target="_blank"
<h2 class="uk-margin-remove uk-text-break uk-inline-block uk-h6">
<a *ngIf="masterZenodoCommunity.link" class="custom-external uk-link uk-link-heading uk-width-expand" target="_blank"
href="{{masterZenodoCommunity.link}}">
<span class="custom-external custom-icon large"></span>
<span class="space"></span>
<span *ngIf="masterZenodoCommunity.title">{{masterZenodoCommunity.title}}</span>
<span *ngIf="!masterZenodoCommunity.title">[no name available]</span>
</a>
<span *ngIf="!masterZenodoCommunity.link" class=" uk-text-large uk-text-bold">
<span *ngIf="!masterZenodoCommunity.link">
<span *ngIf="masterZenodoCommunity.title">{{masterZenodoCommunity.title}}</span>
<span *ngIf="!masterZenodoCommunity.title">[no name available]</span>
</span>
</h4>
<div *ngIf="masterZenodoCommunity.date" class="uk-comment-meta ">
last update: {{masterZenodoCommunity.date | date:'yyyy/MM/dd'}}
</h2>
<div *ngIf="masterZenodoCommunity.date" class="uk-text-small uk-margin-small-top">
<span class="uk-text-meta">Last update: </span>{{masterZenodoCommunity.date | date:'yyyy/MM/dd'}}
</div>
</div>
<!-- <div>-->
<!-- <a class="uk-button portal-button" target="_blank" [href]="depositLink + masterZenodoCommunity.id " >-->
<!-- <span class="uk-icon"> <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="upload" ratio="1"><polyline fill="none" stroke="#000" points="5 8 9.5 3.5 14 8 "></polyline><rect x="3" y="17" width="13" height="1"></rect><line fill="none" stroke="#000" x1="9.5" y1="15" x2="9.5" y2="4"></line></svg></span>-->
<!-- <span> New upload</span>-->
<!-- </a>-->
<!-- </div>-->
<span class="uk-width-expand uk-flex uk-flex-bottom uk-flex-right">
</div>
<div *ngIf="masterZenodoCommunity.description" class="uk-margin-top uk-margin-bottom uk-text-small">
<p *ngIf="masterZenodoCommunity.description" class="uk-margin-remove" [innerHTML]="masterZenodoCommunity.description"></p>
</div>
<div>
<span class="uk-width-expand uk-flex-right">
<a [href]="depositLink + masterZenodoCommunity.id" target="_blank" type="submit"
class=" zenodoButton uk-float-right uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-small-left">
<span><span>New upload</span><span uk-icon="arrow-right"></span></span>
class="uk-float-right uk-margin-small-left uk-display-inline-block uk-text-uppercase uk-button uk-button-text">
<span class="uk-flex uk-flex-middle">
<icon name="file_upload" type="outlined" [flex]="true" class="uk-margin-small-right"></icon>
<span>New upload</span>
</span>
</a>
</span>
</div>
<div class="uk-comment-body uk-overflow-auto uk-height-max-medium uk-padding uk-padding-remove-vertical">
<p *ngIf="masterZenodoCommunity.description" [innerHtml]=masterZenodoCommunity.description></p>
</div>
</div>
</div>
<div class="uk-flex uk-flex-center uk-flex-middle">
<div class="uk-padding">
<!-- <div class="uk-flex uk-flex-column uk-flex-middle uk-margin-large-bottom">
<img src="assets/connect-assets/deposit/suggested-repositories.svg" alt="Suggested Repositories" class="uk-width-small uk-margin-bottom" style="height: 70px;">
<a routerLink="/participate/deposit/search" type="submit"
class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text">
Suggested Repositories
</a>
</div> -->
<div class="uk-flex uk-flex-column uk-flex-middle">
<img src="assets/common-assets/common/Logo_Horizontal.png" alt="OpenAIRE logo" class="uk-width-small uk-margin-bottom">
<a routerLink="/participate/deposit/search" type="submit"
class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text">
OpenAIRE Compliant Repositories
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div *ngIf="zenodoSearchUtils.status == errorCodes.LOADING"
class="uk-animation-fade uk-margin-top uk-width-1-1" role="alert">
<span class="loading-gif uk-align-center"></span>
class="uk-animation-fade uk-margin-large uk-padding-large uk-padding-remove-horizontal" role="alert">
<loading></loading>
</div>
<div
*ngIf=" (zenodoSearchUtils.status == errorCodes.ERROR || zenodoSearchUtils.status == errorCodes.NONE) && !masterZenodoCommunity "
<div *ngIf="(zenodoSearchUtils.status == errorCodes.ERROR || zenodoSearchUtils.status == errorCodes.NONE) && !masterZenodoCommunity"
class="uk-animation-fade uk-margin-top uk-width-1-1 uk-alert uk-alert-warning" role="alert">
No zenodo communities found
</div>
<div class="uk-margin-large-top">Other related Zenodo communities <span *ngIf="communityIds &&
communityIds.length <= size">({{communityIds.length}})</span></div>
<div class="uk-section">
<h6 class="uk-margin-medium-bottom">Other related Zenodo communities</h6>
<no-load-paging *ngIf="communityIds && communityIds.length > size" [type]="'Zenodo communities'"
(pageChange)="getCommunities($event)"
[page]="page" [pageSize]="size"
[totalResults]="communityIds.length" >
</no-load-paging>
<ul *ngIf="communityIds && communityIds.length > 0" class="uk-list uk-margin ">
<div *ngIf="communityIds && communityIds.length > 0" class="uk-grid uk-grid-medium uk-grid-match uk-child-width-1-2@m" uk-grid
uk-height-match="target: .header, .body">
<ng-template ngFor let-item [ngForOf]="communityIds" let-i="index">
<li *ngIf="i>=((page-1)*size) && i < communityIds.length && i< this.page * this.size &&
communities[this.communityIds[i]['zenodoid']]"
class="uk-animation-fade uk-margin-top">
<div class=" uk-card uk-card-default uk-card-body uk-padding-remove-horizontal">
<div class="uk-comment-header uk-grid-medium uk-flex-middle uk-padding uk-padding-remove-vertical" uk-grid>
<div class="uk-width-auto">
<div *ngIf="i>=((page-1)*size) && i < communityIds.length && i< this.page * this.size && communities[this.communityIds[i]['zenodoid']]"
class="uk-animation-fade">
<div class="uk-card uk-card-default">
<div class="uk-card-body">
<div class="header uk-grid uk-grid-medium uk-flex-middle" uk-grid>
<div class="uk-width-auto" *ngIf="communities[this.communityIds[i]['zenodoid']].logoUrl">
<a target="_blank" [href]="communities[this.communityIds[i]['zenodoid']].link">
<img *ngIf="communities[this.communityIds[i]['zenodoid']].logoUrl" class="uk-comment-avatar" src="{{communities[this.communityIds[i]['zenodoid']].logoUrl}}" width="80" height="80"
alt="">
<img *ngIf="communities[this.communityIds[i]['zenodoid']].logoUrl"
src="{{communities[this.communityIds[i]['zenodoid']].logoUrl}}" width="80" height="80" alt="{{communities[this.communityIds[i]['zenodoid']].title}}">
</a>
</div>
<div class="uk-width-expand">
<h4 class="uk-comment-title uk-margin-remove">
<a class="uk-width-expand" target="_blank" href="{{communities[this.communityIds[i]['zenodoid']].link}}">
<span class="custom-external custom-icon large"></span>
<span class="space"></span>
<h2 class="uk-margin-remove uk-text-break uk-inline-block uk-h6">
<a class="custom-external uk-link uk-link-heading uk-width-expand" target="_blank"
href="{{communities[this.communityIds[i]['zenodoid']].link}}">
<span *ngIf="communities[this.communityIds[i]['zenodoid']].title">{{communities[this.communityIds[i]['zenodoid']].title}}</span>
<span *ngIf="!communities[this.communityIds[i]['zenodoid']].title">[no name available]</span>
</a>
</h4>
<div class="uk-comment-meta ">
last update: {{communities[this.communityIds[i]['zenodoid']].date | date:'yyyy/MM/dd'}}
</h2>
<div class="uk-text-small uk-margin-small-top">
<span class="uk-text-meta">Last update: </span>{{communities[this.communityIds[i]['zenodoid']].date | date:'yyyy/MM/dd'}}
</div>
</div>
<!-- <div>-->
<!-- <a class="uk-button portal-button" target="_blank" [href]="depositLink + communities[this.communityIds[i]['zenodoid']].id " >-->
<!-- <span class="uk-icon"> <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="upload" ratio="1"><polyline fill="none" stroke="#000" points="5 8 9.5 3.5 14 8 "></polyline><rect x="3" y="17" width="13" height="1"></rect><line fill="none" stroke="#000" x1="9.5" y1="15" x2="9.5" y2="4"></line></svg></span>-->
<!-- <span> New upload</span>-->
<!-- </a>-->
<!-- </div>-->
<span class="uk-width-expand uk-flex uk-flex-bottom uk-flex-right">
</div>
<div class="body uk-margin-top uk-margin-bottom uk-text-small multi-line-ellipsis lines-3"> <!-- uk-height-max-small uk-overflow-auto -->
<p *ngIf="communities[this.communityIds[i]['zenodoid']].description" class="uk-margin-remove" [innerHtml]="communities[this.communityIds[i]['zenodoid']].description"></p>
</div>
<div>
<span class="uk-width-expand uk-flex-right">
<a [href]="depositLink + communities[this.communityIds[i]['zenodoid']].id" target="_blank" type="submit"
class=" zenodoButton uk-float-right uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-small-left">
<span><span>New upload</span><span uk-icon="arrow-right"></span></span>
class="uk-float-right uk-margin-small-left uk-display-inline-block uk-text-uppercase uk-button uk-button-text">
<span class="uk-flex uk-flex-middle">
<icon name="file_upload" type="outlined" [flex]="true" class="uk-margin-small-right"></icon>
<span>New upload</span>
</span>
</a>
</span>
</div>
<div class="uk-comment-body uk-overflow-auto uk-height-max-medium uk-padding uk-padding-remove-vertical">
<p *ngIf="communities[this.communityIds[i]['zenodoid']].description"
[innerHtml]="communities[this.communityIds[i]['zenodoid']].description"></p>
</div>
</div>
</li>
</div>
</ng-template>
</ul>
</div>
</div>
</div>
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
[texts]="pageContents['bottom']"></helper>
</div>
</div>

View File

@ -16,12 +16,14 @@ import {Schema2jsonldModule} from "../../openaireLibrary/sharedComponents/schema
import {SEOServiceModule} from "../../openaireLibrary/sharedComponents/SEO/SEOService.module";
import {BreadcrumbsModule} from "../../openaireLibrary/utils/breadcrumbs/breadcrumbs.module";
import {NoLoadPaging} from "../../openaireLibrary/searchPages/searchUtils/no-load-paging.module";
import {IconsModule} from 'src/app/openaireLibrary/utils/icons/icons.module';
import {LoadingModule} from 'src/app/openaireLibrary/utils/loading/loading.module';
@NgModule({
imports: [
CommonModule, ShareInZenodoRoutingModule, ZenodoCommunitiesServiceModule, SearchZenodoCommunitiesServiceModule,
RouterModule, HelperModule,
PiwikServiceModule, Schema2jsonldModule, SEOServiceModule, BreadcrumbsModule, NoLoadPaging
RouterModule, HelperModule, LoadingModule,
PiwikServiceModule, Schema2jsonldModule, SEOServiceModule, BreadcrumbsModule, NoLoadPaging, IconsModule
],
declarations: [
ShareInZenodoComponent

View File

@ -9,7 +9,7 @@ import {Breadcrumb} from "../../openaireLibrary/utils/breadcrumbs/breadcrumbs.co
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
</div>
</div>
<div class="uk-container uk-container-large uk-section uk-section-small">
<div class="uk-container uk-container-large uk-section uk-section-small uk-margin-medium-bottom">
<h1 class="uk-margin-top uk-margin-large-bottom uk-width-1-2@m">Supporting Organizations</h1>
<html-page description="Organizations" pageTitle="Supporting Organizations"></html-page>
<affiliations [longView]="true" [getAffiliationsFromAPI]="true"></affiliations>

@ -1 +1 @@
Subproject commit bbbb7118654014845d71fd90e6545c6c3338c25f
Subproject commit ffd997dfcb94725c1a17097fe2c6224f0c272cca

View File

@ -53,7 +53,7 @@ declare var UIkit: any;
</button>
</span>
<span *ngIf="showNumbers && members > 0 && showTemplate" class="uk-display-inline-block">
<span class="lowOpacityColor uk-text-muted">Members: </span> {{members}}
<span class="lowOpacityColor uk-text-meta">Members: </span> {{members}}
</span>
<modal-alert (alertOutput)="confirmClose($event)">
</modal-alert>

@ -1 +1 @@
Subproject commit 1c7b42284c58024e7d51cb0ae7c5c27f997c646d
Subproject commit 052d94e27ce698a119755973e0b7285d2b64370b

View File

@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64.939" height="67" viewBox="0 0 64.939 67">
<g id="Group_13834" data-name="Group 13834" transform="translate(-153.561 -49)">
<g id="Group_13833" data-name="Group 13833" transform="translate(-916.391 -576.25) rotate(11)">
<path id="Path_104628" data-name="Path 104628" d="M186.726,46.419c-1.945.4-18.94,4.26-21.274,9.437a1.573,1.573,0,0,0-.43,1.491,2.379,2.379,0,0,0,.307.831L167.11,67.1c1.208,6.114,21.683,1.875,24.018,1.385s22.728-5.091,21.52-11.226l-1.9-9.458C209.535,41.669,189.06,45.908,186.726,46.419ZM168.3,56.857c1.29-1.512,7.658-4.857,19.083-7.328,10.606-2.279,17.957-2.13,20.127-1.236-1.29,1.491-7.658,4.836-19.083,7.307-10.606,2.3-17.978,2.109-20.148,1.257Zm.389,3.3c6.491,1.534,19.8-1.321,20.373-1.427S203.393,55.6,208.553,51.4l1.269,6.391c-.45,1.15-6.532,4.878-19.288,7.626s-19.779,1.853-20.619,1Z" transform="translate(1009.461 364.147)" fill="#2b245f"/>
<path id="Path_104629" data-name="Path 104629" d="M210.344,52.3a1.531,1.531,0,0,0-1.126,1.7c-.409,1.129-6.49,4.878-19.287,7.626s-19.819,1.853-20.618,1a1.5,1.5,0,0,0-1.679-1.129,1.581,1.581,0,0,0-1.106,1.875L168.577,73.8c1.208,6.114,21.682,1.9,24.016,1.385s22.727-5.091,21.5-11.2l-2.047-10.417a1.481,1.481,0,0,0-1.7-1.257Zm-.43,5.24,1.392,6.9c-.45,1.129-6.552,4.857-19.307,7.626s-19.758,1.832-20.6.98l-1.372-6.881c6.429,1.6,19.942-1.278,20.474-1.406S204.632,61.674,209.914,57.542Z" transform="translate(1011.17 371.914)" fill="#2b245f"/>
<path id="Path_104630" data-name="Path 104630" d="M211.867,59.632a1.533,1.533,0,0,0-1.106,1.725c-.409,1.108-6.49,4.857-19.308,7.626s-19.82,1.853-20.618.98a1.474,1.474,0,0,0-1.679-1.108,1.559,1.559,0,0,0-1.106,1.875L170.1,81.147c1.208,6.114,21.683,1.875,24.017,1.385s22.727-5.091,21.519-11.226l-2.047-10.417a1.5,1.5,0,0,0-1.72-1.257Zm-.409,5.262,1.372,6.881c-.45,1.15-6.531,4.878-19.287,7.626s-19.779,1.853-20.618,1l-1.372-6.9c6.429,1.619,19.942-1.257,20.475-1.385S206.155,68.962,211.458,64.893Z" transform="translate(1012.886 379.247)" fill="#2b245f"/>
</g>
<g id="Polygon_8" data-name="Polygon 8" transform="translate(187.5 85)" fill="#3b88cc">
<path d="M 21.95931053161621 28.12206840515137 C 21.78087997436523 28.12207794189453 21.60183906555176 28.08875846862793 21.42713928222656 28.02301788330078 L 17.08476066589355 26.38909912109375 C 16.57637023925781 26.19779777526855 16.04318046569824 26.10080909729004 15.5 26.10080909729004 C 14.95681953430176 26.10080909729004 14.42362976074219 26.19779777526855 13.91524028778076 26.38908767700195 L 9.572859764099121 28.02302742004395 C 9.398189544677734 28.08874893188477 9.219120025634766 28.12206840515137 9.040619850158691 28.12206840515137 C 8.641599655151367 28.12206840515137 8.249039649963379 27.95370864868164 7.963600158691406 27.66014862060547 C 7.764599800109863 27.45548820495605 7.53046989440918 27.10143852233887 7.54518985748291 26.57702827453613 L 7.691080093383789 21.37880897521973 C 7.719039916992188 20.38237762451172 7.409369945526123 19.39123916625977 6.819129943847656 18.58796882629395 L 3.708729982376099 14.35498809814453 C 3.417370080947876 13.95846843719482 3.338850021362305 13.46310806274414 3.493319988250732 12.99591827392578 C 3.647779941558838 12.52872848510742 4.006100177764893 12.1777982711792 4.476399898529053 12.03310871124268 L 9.164859771728516 10.59063816070557 C 10.17201042175293 10.28077793121338 11.0426197052002 9.62333869934082 11.61629962921143 8.739418029785156 L 14.24176979064941 4.694038391113281 C 14.52363967895508 4.25972843170166 14.98225021362305 4.010638236999512 15.50000953674316 4.010638236999512 C 16.01775932312012 4.010638236999512 16.47636985778809 4.25972843170166 16.75823974609375 4.694038391113281 L 19.38368988037109 8.739398002624512 C 19.95735931396484 9.62332820892334 20.82797050476074 10.28077793121338 21.83514022827148 10.59063816070557 L 26.52359962463379 12.03310871124268 C 26.99390029907227 12.17780876159668 27.35223007202148 12.52873802185059 27.50668907165527 12.99591827392578 C 27.6611499786377 13.46310806274414 27.58263969421387 13.95846843719482 27.29126930236816 14.35498809814453 L 24.18087005615234 18.58796882629395 C 23.59062957763672 19.39123916625977 23.28096008300781 20.38237762451172 23.30891990661621 21.37879753112793 L 23.45480918884277 26.5770378112793 C 23.46952056884766 27.101318359375 23.23539924621582 27.45534896850586 23.03639984130859 27.66001892089844 C 22.75091934204102 27.95363807678223 22.35832977294922 28.1220588684082 21.95931053161621 28.12206840515137 Z" stroke="none"/>
<path d="M 15.5 5.510646820068359 C 15.49999809265137 5.510646820068359 15.49999523162842 5.510646820068359 15.5 5.510637283325195 L 12.87453079223633 9.556026458740234 C 12.1096305847168 10.73457717895508 10.94882965087891 11.61116600036621 9.605949401855469 12.02431678771973 L 4.917490005493164 13.46678733825684 L 8.027910232543945 17.69979667663574 C 8.814889907836914 18.77082633972168 9.227760314941406 20.09232711791992 9.19049072265625 21.4208869934082 L 9.044599533081055 26.61911582946777 L 13.38694953918457 24.98519706726074 C 14.06479072570801 24.73013687133789 14.77573013305664 24.60080718994141 15.5 24.60080718994141 C 16.22425079345703 24.60080718994141 16.9351806640625 24.73013687133789 17.6130199432373 24.98518753051758 L 21.95538139343262 26.61911201477051 C 21.95538711547852 26.61910820007324 21.95539474487305 26.61910247802734 21.95540046691895 26.61911582946777 L 21.80950927734375 21.42085647583008 C 21.77223968505859 20.09232711791992 22.18511009216309 18.77082633972168 22.97211074829102 17.69976615905762 L 26.08250999450684 13.46678733825684 L 21.39406967163086 12.02432632446289 C 20.05117988586426 11.61117553710938 18.8903694152832 10.73458671569824 18.12545013427734 9.556005477905273 L 15.50000953674316 5.510656356811523 C 15.50000762939453 5.510652542114258 15.5000057220459 5.510644912719727 15.5 5.510646820068359 M 15.5 2.510643005371094 C 16.46255111694336 2.510643005371094 17.42510604858398 2.966241836547852 18.0164794921875 3.877435684204102 L 20.64192962646484 7.922805786132812 C 21.02507019042969 8.513147354125977 21.60356140136719 8.950006484985352 22.27622985839844 9.156955718994141 L 26.96469116210938 10.59942626953125 C 28.93811988830566 11.20657730102539 29.72262001037598 13.5793571472168 28.50003051757812 15.24318695068359 L 25.38962936401367 19.47616577148438 C 24.99417114257812 20.01436614990234 24.78960037231445 20.66912651062012 24.80833053588867 21.33672714233398 L 24.95421981811523 26.53495597839355 C 25.01403045654297 28.66605567932129 22.89425468444824 30.17773818969727 20.89888954162598 29.42692565917969 L 16.55651092529297 27.79299545288086 C 15.87547969818115 27.53674697875977 15.12451934814453 27.53674697875977 14.44348907470703 27.79299545288086 L 10.10111045837402 29.42692565917969 C 8.105737686157227 30.1777400970459 5.985969543457031 28.66605377197266 6.045780181884766 26.53495597839355 L 6.191669464111328 21.33672714233398 C 6.210399627685547 20.66912651062012 6.005830764770508 20.01436614990234 5.610370635986328 19.47616577148438 L 2.499969482421875 15.24318695068359 C 1.277379989624023 13.5793571472168 2.061880111694336 11.20657730102539 4.035310745239258 10.59942626953125 L 8.723770141601562 9.156955718994141 C 9.396429061889648 8.950006484985352 9.974929809570312 8.513147354125977 10.35807037353516 7.922805786132812 L 12.9835205078125 3.877435684204102 C 13.57489585876465 2.966241836547852 14.53744697570801 2.510643005371094 15.5 2.510643005371094 Z" stroke="none" fill="#f9f9f9"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.4 KiB

@ -1 +1 @@
Subproject commit 5edc3ac713d4e2b78ad81d060c0c3f8a1ce3fafe
Subproject commit 25f7f7dd34fae80d1e2e25935c2f2772c5800e70