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 => {

File diff suppressed because it is too large Load Diff

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,8 +645,12 @@ 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';
}
}
}
isPrivate(){

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">
{{curator.name}}
</h6>
</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>
<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 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}}
<span *ngIf="i < curators.length-1 && i < curatorsLimit-1">, </span>
</span>
<span *ngIf="curators.length > curatorsLimit">
+{{curators.length-curatorsLimit}} more
</span>
</a>
</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">
@ -211,39 +151,6 @@
</ul>
</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>
<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 class="">
<div class=" uk-section uk-margin-small-top tm-middle uk-container uk-container-large " 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>
<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-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">
<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 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"
src="{{masterZenodoCommunity.logoUrl}}" width="80" height="80" alt="{{masterZenodoCommunity.title}}">
</a>
</div>
<div class="uk-width-expand">
<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 *ngIf="masterZenodoCommunity.title">{{masterZenodoCommunity.title}}</span>
<span *ngIf="!masterZenodoCommunity.title">[no name available]</span>
</a>
<span *ngIf="!masterZenodoCommunity.link">
<span *ngIf="masterZenodoCommunity.title">{{masterZenodoCommunity.title}}</span>
<span *ngIf="!masterZenodoCommunity.title">[no name available]</span>
</span>
</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>
<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="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>
</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 class="uk-width-auto">
<a target="_blank" [href]="masterZenodoCommunity.link">
<img *ngIf="masterZenodoCommunity.logoUrl" class="uk-comment-avatar"
src="{{masterZenodoCommunity.logoUrl}}" width="80" height="80" alt="">
</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"
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.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'}}
</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">
<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>
</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>
<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>
</div>
<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>
<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 ">
<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">
<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="">
</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>
<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'}}
</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">
<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>
</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>
</ng-template>
</ul>
</div>
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
[texts]="pageContents['bottom']"></helper>
</div>
<div *ngIf="zenodoSearchUtils.status == errorCodes.LOADING"
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"
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-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>
<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">
<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"
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">
<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>
</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>
<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="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>
</div>
</div>
</ng-template>
</div>
</div>
</div>
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
[texts]="pageContents['bottom']"></helper>
</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