progress for landing pages redesign

This commit is contained in:
Alex Martzios 2023-02-08 11:21:16 +02:00
parent 57eac1b08b
commit beebd6c6d7
8 changed files with 1244 additions and 1210 deletions

View File

@ -34,9 +34,36 @@
</div> --> </div> -->
<!-- center box--> <!-- center box-->
<div class="uk-width-expand uk-padding-remove uk-background-default"> <div id="landing-center-content" class="uk-width-expand uk-padding-remove uk-background-default">
<!-- uk-container uk-container-large -->
<div class=""> <ng-template #graph_and_feedback_template>
<div class="uk-container uk-container-xlarge uk-flex uk-margin-small-top uk-margin-small-bottom" [class.uk-invisible]="!dataProviderInfo">
<!-- Last Index Info-->
<div class="uk-width-2-3@m uk-width-1-2">
<icon name="graph" customClass="text-graph"></icon>
<span class="uk-margin-small-left uk-text-baseline">
<span class="uk-text-meta">Powered by </span>
<a href="https://graph.openaire.eu" target="_blank" class="text-graph">OpenAIRE Research Graph</a>
</span>
<span *ngIf="indexUpdateDate" class="uk-text-baseline uk-text-meta">
. Last update of records in OpenAIRE: {{indexUpdateDate | date: 'MMM dd, yyyy'}}
</span>
</div>
<!--Feedback-->
<div *ngIf="properties.reCaptchaSiteKey" class="uk-width-expand uk-text-right">
<span class="uk-text-meta uk-text-xsmall">See an issue?</span>
<a (click)="showFeedback = true; scroll()" class="uk-text-xsmall"> Report it here</a>
</div>
</div>
</ng-template>
<div #graph_and_feedback id="graph_and_feedback" class="uk-blur-background uk-text-xsmall uk-visible@m"
uk-sticky="bottom: true;" [attr.offset]="graph_offset">
<ng-container *ngTemplateOutlet="graph_and_feedback_template"></ng-container>
</div>
<div class="uk-container uk-container-xlarge">
<div *ngIf="errorMessage.length > 0 || showLoading" class="uk-container uk-flex uk-flex-center uk-height-viewport uk-position-relative"> <div *ngIf="errorMessage.length > 0 || showLoading" class="uk-container uk-flex uk-flex-center uk-height-viewport uk-position-relative">
<div *ngIf="errorMessage.length > 0" class="uk-alert uk-alert-danger uk-width-2-3 uk-margin-xlarge-top" <div *ngIf="errorMessage.length > 0" class="uk-alert uk-alert-danger uk-width-2-3 uk-margin-xlarge-top"
role="alert">{{errorMessage}}</div> role="alert">{{errorMessage}}</div>
@ -45,33 +72,7 @@
</div> </div>
</div> </div>
<ng-template #graph_and_feedback_template> <div *ngIf="!showLoading" class="uk-margin-top uk-margin-bottom">
<div class="uk-flex uk-margin-small-top uk-margin-small-bottom" [class.uk-invisible]="!dataProviderInfo">
<!-- Last Index Info-->
<div class="uk-width-2-3@m uk-width-1-2">
<icon name="graph" customClass="text-graph"></icon>
<span class="uk-margin-small-left uk-text-baseline">
<span class="uk-text-meta">Powered by </span>
<a href="https://graph.openaire.eu" target="_blank" class="text-graph">OpenAIRE Research Graph</a>
</span>
<span *ngIf="indexUpdateDate" class="uk-text-baseline uk-text-meta">
. Last update of records in OpenAIRE: {{indexUpdateDate | date: 'MMM dd, yyyy'}}
</span>
</div>
<!--Feedback-->
<div *ngIf="properties.reCaptchaSiteKey" class="uk-width-expand uk-text-right">
<span class="uk-text-meta uk-text-xsmall">See an issue?</span>
<a (click)="showFeedback = true; scroll()" class="uk-text-xsmall"> Report it here</a>
</div>
</div>
</ng-template>
<div #graph_and_feedback id="graph_and_feedback" class="uk-padding uk-padding-remove-vertical uk-blur-background uk-text-xsmall uk-visible@m"
uk-sticky="bottom: true;" [attr.offset]="graph_offset">
<ng-container *ngTemplateOutlet="graph_and_feedback_template"></ng-container>
</div>
<div class="uk-margin-top uk-margin-bottom">
<div class="uk-flex uk-flex-middle uk-flex-center"> <div class="uk-flex uk-flex-middle uk-flex-center">
<div class="landing-action-bar uk-box-shadow-small uk-margin-bottom"> <div class="landing-action-bar uk-box-shadow-small uk-margin-bottom">
<div class="uk-flex uk-text-xsmall" style="grid-gap: 20px;"> <div class="uk-flex uk-text-xsmall" style="grid-gap: 20px;">
@ -86,7 +87,7 @@
</div> </div>
</div> </div>
<div class="uk-margin-large-left uk-margin-large-right" [style]="'margin-bottom: '+graph_height+'px'"> <div class="uk-margin-left uk-margin-right" [style]="'margin-bottom: '+graph_height+'px'">
<ng-container *ngIf="dataProviderInfo"> <ng-container *ngIf="dataProviderInfo">
<div [attr.style]="'margin-top: '+(graph_height? 'calc(40px + 20px - '+graph_height+'px)': '40px')"> <div [attr.style]="'margin-top: '+(graph_height? 'calc(40px + 20px - '+graph_height+'px)': '40px')">
<!-- schema.org--> <!-- schema.org-->
@ -184,8 +185,7 @@
<div class="uk-padding uk-padding-remove-horizontal uk-padding-remove-bottom"> <div class="uk-padding uk-padding-remove-horizontal uk-padding-remove-bottom">
<landing-header *ngIf="stickyHeader" class="uk-visible@m" <landing-header *ngIf="stickyHeader" class="uk-visible@m"
[properties]="properties" [title]="dataProviderInfo.title.name" [properties]="properties" [title]="dataProviderInfo.title.name"
[subTitle]="(dataProviderInfo.officialName [entityType]="getTypeName()"
&& dataProviderInfo.title.name !== dataProviderInfo.officialName)?dataProviderInfo.officialName:null"
[types]="dataProviderInfo.type ? [dataProviderInfo.type] : null" [types]="dataProviderInfo.type ? [dataProviderInfo.type] : null"
isSticky="true"> isSticky="true">
</landing-header> </landing-header>

View File

@ -32,18 +32,11 @@
</div> --> </div> -->
<!-- center/right column --> <!-- center/right column -->
<div class="uk-width-expand uk-padding-remove uk-background-default"> <div id="landing-center-content" class="uk-width-expand uk-padding-remove uk-background-default">
<div *ngIf="errorMessage.length > 0 || showLoading" class="uk-container uk-flex uk-flex-center uk-height-viewport uk-position-relative">
<div *ngIf="errorMessage.length > 0" class="uk-alert uk-alert-danger uk-width-2-3 uk-margin-xlarge-top"
role="alert">{{errorMessage}}</div>
<div *ngIf="showLoading" class="uk-position-center">
<loading></loading>
</div>
</div>
<!-- Graph and feedback --> <!-- Graph and feedback -->
<ng-template #graph_and_feedback_template> <ng-template #graph_and_feedback_template>
<div class="uk-flex uk-margin-small-top uk-margin-small-bottom" [class.uk-invisible]="!organizationInfo"> <div class="uk-container uk-container-xlarge uk-flex uk-margin-small-top uk-margin-small-bottom" [class.uk-invisible]="!organizationInfo">
<!-- Last Index Info--> <!-- Last Index Info-->
<div class="uk-width-2-3@m uk-width-1-2"> <div class="uk-width-2-3@m uk-width-1-2">
<icon name="graph" customClass="text-graph"></icon> <icon name="graph" customClass="text-graph"></icon>
@ -63,196 +56,206 @@
</div> </div>
</ng-template> </ng-template>
<div #graph_and_feedback id="graph_and_feedback" class="uk-padding uk-padding-remove-vertical uk-blur-background uk-text-xsmall uk-visible@m" <div #graph_and_feedback id="graph_and_feedback" class="uk-blur-background uk-text-xsmall uk-visible@m"
uk-sticky="bottom: true;" [attr.offset]="graph_offset"> uk-sticky="bottom: true;" [attr.offset]="graph_offset">
<ng-container *ngTemplateOutlet="graph_and_feedback_template"></ng-container> <ng-container *ngTemplateOutlet="graph_and_feedback_template"></ng-container>
</div> </div>
<!-- new action bar --> <div class="uk-container uk-container-xlarge">
<div class="uk-margin-top uk-margin-bottom">
<div class="uk-flex uk-flex-middle uk-flex-center"> <div *ngIf="errorMessage.length > 0 || showLoading" class="uk-container uk-flex uk-flex-center uk-height-viewport uk-position-relative">
<div class="landing-action-bar uk-box-shadow-small uk-margin-bottom"> <div *ngIf="errorMessage.length > 0" class="uk-alert uk-alert-danger uk-width-2-3 uk-margin-xlarge-top"
<div class="uk-flex uk-text-xsmall" style="grid-gap: 20px;"> role="alert">{{errorMessage}}</div>
<!-- Versions --> <div *ngIf="showLoading" class="uk-position-center">
<a *ngIf="organizationInfo?.deletedByInferenceIds" (click)="openDeletedByInference()" <loading></loading>
class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder"> </div>
<icon flex="true" ratio="0.8" name="versions" visuallyHidden="versions"></icon> </div>
<span class="uk-margin-xsmall-left">
View all {{organizationInfo.deletedByInferenceIds.length}} versions <!-- new action bar -->
</span> <div *ngIf="!showLoading" class="uk-margin-top uk-margin-bottom">
</a> <div class="uk-flex uk-flex-middle uk-flex-center">
<!-- Divider --> <div class="landing-action-bar uk-box-shadow-small uk-margin-bottom">
<span *ngIf="organizationInfo?.deletedByInferenceIds" class="landing-action-bar-divider"></span> <div class="uk-flex uk-text-xsmall" style="grid-gap: 20px;">
<!-- Actions --> <!-- Versions -->
<a (click)="openAddThisModal()" <a *ngIf="organizationInfo?.deletedByInferenceIds" (click)="openDeletedByInference()"
class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder"> class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder">
<icon flex="true" ratio="0.8" name="share" visuallyHidden="share"></icon> <icon flex="true" ratio="0.8" name="versions" visuallyHidden="versions"></icon>
<span class="uk-margin-xsmall-left">Share</span> <span class="uk-margin-xsmall-left">
</a> View all {{organizationInfo.deletedByInferenceIds.length}} versions
<a (click)="buildFunderOptions(); openDownloadReportsModal()" </span>
class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder"> </a>
<icon flex="true" ratio="0.8" name="download" visuallyHidden="download"></icon> <!-- Divider -->
<span class="uk-margin-xsmall-left">Download</span> <span *ngIf="organizationInfo?.deletedByInferenceIds" class="landing-action-bar-divider"></span>
</a> <!-- Actions -->
<a (click)="openAddThisModal()"
class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder">
<icon flex="true" ratio="0.8" name="share" visuallyHidden="share"></icon>
<span class="uk-margin-xsmall-left">Share</span>
</a>
<a (click)="buildFunderOptions(); openDownloadReportsModal()"
class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder">
<icon flex="true" ratio="0.8" name="download" visuallyHidden="download"></icon>
<span class="uk-margin-xsmall-left">Download</span>
</a>
</div>
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="uk-margin-left uk-margin-right" [style]="'margin-bottom: '+graph_height+'px'">
<div class="uk-margin-large-left uk-margin-large-right" [style]="'margin-bottom: '+graph_height+'px'"> <ng-container *ngIf="organizationInfo">
<ng-container *ngIf="organizationInfo"> <!-- Main content -->
<!-- Main content --> <div [attr.style]="'margin-top: '+(graph_height? 'calc(40px + 20px - '+graph_height+'px)': '40px')">
<div [attr.style]="'margin-top: '+(graph_height? 'calc(40px + 20px - '+graph_height+'px)': '40px')"> <!-- Schema -->
<!-- Schema --> <schema2jsonld *ngIf="organizationInfo" [data]=organizationInfo
<schema2jsonld *ngIf="organizationInfo" [data]=organizationInfo [URL]="properties.domain + properties.baseLink+this.properties.searchLinkToOrganization+organizationInfo.relcanId"
[URL]="properties.domain + properties.baseLink+this.properties.searchLinkToOrganization+organizationInfo.relcanId" type="organization">
type="organization"> </schema2jsonld>
</schema2jsonld> <!-- Actions for mobile viewport -->
<!-- Actions for mobile viewport --> <div class="uk-flex uk-flex-right uk-margin-medium-bottom uk-hidden@s">
<div class="uk-flex uk-flex-right uk-margin-medium-bottom uk-hidden@s"> <div class="uk-margin-small-right">
<div class="uk-margin-small-right"> <a (click)="openAddThisModal()" [title]="'Share this '+openaireEntities.ORGANIZATION+' in your social networks'"
<a (click)="openAddThisModal()" [title]="'Share this '+openaireEntities.ORGANIZATION+' in your social networks'" [attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'">
<span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal">
<icon name="share" visuallyHidden="share"></icon>
</span>
</a>
</div>
<div [title]="'Download reports'"
[attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'"> [attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'">
<span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal"> <a class="uk-link-text uk-text-bold uk-text-uppercase" (click)="buildFunderOptions(); openDownloadReportsModal()">
<icon name="share" visuallyHidden="share"></icon> <span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal">
</span> <icon name="download" visuallyHidden="download"></icon>
</a> </span>
</a>
</div>
</div> </div>
<div [title]="'Download reports'" <!-- Helper -->
[attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'"> <helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
<a class="uk-link-text uk-text-bold uk-text-uppercase" (click)="buildFunderOptions(); openDownloadReportsModal()"> [texts]="pageContents['top']"></helper>
<span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal"> <!-- Versions -->
<icon name="download" visuallyHidden="download"></icon> <!-- <span *ngIf="organizationInfo.deletedByInferenceIds" class="uk-text-primary uk-flex uk-flex-middle">
</span> <icon flex="true" ratio="0.8" name="auto_awesome_motion"></icon>
<a (click)="openDeletedByInference()" class="uk-text-primary uk-text-small uk-margin-small-left">
View all {{organizationInfo.deletedByInferenceIds.length}} versions
</a> </a>
</span> -->
<!-- Landing header -->
<landing-header [properties]="properties" [title]="organizationInfo.title.name"
[subTitle]="(organizationInfo.name
&& organizationInfo.title.name !== organizationInfo.name)?organizationInfo.name:null"
[entityType]="'organization'">
</landing-header>
<!-- Basic info -->
<div class="uk-text-small">
<!-- Web Page -->
<div *ngIf="organizationInfo.title && organizationInfo.title.url" class="uk-margin-small-bottom uk-display-inline-block">
<span class="uk-text-meta">Web page: </span>
<a [href]="organizationInfo.title.url" target="_blank" class="uk-button uk-button-text uk-text-lowercase uk-text-normal custom-external">
{{organizationInfo.title.url}}
</a>
</div>
<!-- Country -->
<div *ngIf="organizationInfo.country && !organizationInfo.country.toLowerCase().includes('unknown')">
<span class="uk-text-meta">Country: </span>{{organizationInfo.country}}
</div>
</div> </div>
</div> </div>
<!-- Helper --> <!-- Tabs section -->
<helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0" <div id="main-tabs-div" class="uk-sticky uk-blur-background"
[texts]="pageContents['top']"></helper> uk-sticky="bottom: true; media: @m" [attr.offset]="offset">
<!-- Versions --> <div class="uk-padding uk-padding-remove-horizontal uk-padding-remove-bottom">
<!-- <span *ngIf="organizationInfo.deletedByInferenceIds" class="uk-text-primary uk-flex uk-flex-middle"> <!-- <showTitle *ngIf="stickyHeader" [titleName]="organizationInfo.title.name" classNames="uk-margin-remove-bottom" class="uk-visible@m"></showTitle>-->
<icon flex="true" ratio="0.8" name="auto_awesome_motion"></icon> <landing-header *ngIf="stickyHeader" class="uk-visible@m"
<a (click)="openDeletedByInference()" class="uk-text-primary uk-text-small uk-margin-small-left"> [properties]="properties" [title]="organizationInfo.title.name"
View all {{organizationInfo.deletedByInferenceIds.length}} versions [entityType]="'organization'" isSticky="true">
</a> </landing-header>
</span> --> <my-tabs (selectedActiveTab)="onSelectActiveTab($event)" [offsetForSticky]="offset" [(isSticky)]="stickyHeader">
<!-- Landing header --> <my-tab [active]="true" [tabTitle]="'Funding / ' +openaireEntities.PROJECTS" [tabId]="'projects'"
<landing-header [properties]="properties" [title]="organizationInfo.title.name" [tabNumber]="fetchProjects.searchUtils.totalResults > 0 ? fetchProjects.searchUtils.totalResults : ''">
[subTitle]="(organizationInfo.name </my-tab>
&& organizationInfo.title.name !== organizationInfo.name)?organizationInfo.name:null" <my-tab *ngIf="fetchDataproviders && fetchDataproviders.searchUtils.totalResults > 0"
[entityType]="'organization'"> [tabTitle]="openaireEntities.DATASOURCES" [tabId]="'dataProviders'"
</landing-header> [tabNumber]="fetchDataproviders.searchUtils.totalResults">
<!-- Basic info --> </my-tab>
<div class="uk-text-small"> <my-tab *ngIf="fetchPublications && fetchPublications.searchUtils.totalResults > 0"
<!-- Web Page --> [tabNumber]="fetchPublications.searchUtils.totalResults"
<div *ngIf="organizationInfo.title && organizationInfo.title.url" class="uk-margin-small-bottom uk-display-inline-block"> [tabTitle]="openaireEntities.PUBLICATIONS" [tabId]="'publications'">
<span class="uk-text-meta">Web page: </span> </my-tab>
<a [href]="organizationInfo.title.url" target="_blank" class="uk-button uk-button-text uk-text-lowercase uk-text-normal custom-external"> <my-tab *ngIf="fetchDatasets && fetchDatasets.searchUtils.totalResults > 0"
{{organizationInfo.title.url}} [tabNumber]="fetchDatasets.searchUtils.totalResults"
</a> [tabTitle]="openaireEntities.DATASETS" [tabId]="'datasets'">
</div> </my-tab>
<!-- Country --> <my-tab *ngIf="fetchSoftware && fetchSoftware.searchUtils.totalResults > 0"
<div *ngIf="organizationInfo.country && !organizationInfo.country.toLowerCase().includes('unknown')"> [tabNumber]="fetchSoftware.searchUtils.totalResults"
<span class="uk-text-meta">Country: </span>{{organizationInfo.country}} [tabTitle]="openaireEntities.SOFTWARE" [tabId]="'software'">
</div> </my-tab>
</div> <my-tab *ngIf="fetchOrps && fetchOrps.searchUtils.totalResults > 0"
</div> [tabNumber]="fetchOrps.searchUtils.totalResults"
<!-- Tabs section --> [tabTitle]="openaireEntities.OTHER" [tabId]="'other'">
<div id="main-tabs-div" class="uk-sticky uk-blur-background" </my-tab>
uk-sticky="bottom: true; media: @m" [attr.offset]="offset"> </my-tabs>
<div class="uk-padding uk-padding-remove-horizontal uk-padding-remove-bottom"> </div>
<!-- <showTitle *ngIf="stickyHeader" [titleName]="organizationInfo.title.name" classNames="uk-margin-remove-bottom" class="uk-visible@m"></showTitle>--> </div>
<landing-header *ngIf="stickyHeader" class="uk-visible@m" <!-- Tabs content section -->
[properties]="properties" [title]="organizationInfo.title.name" <div id="landing-sections" class="uk-text-small">
[subTitle]="(organizationInfo.name <div id="projects" class="landing-section landing-section-height-auto uk-padding uk-padding-remove-horizontal">
&& organizationInfo.title.name !== organizationInfo.name)?organizationInfo.name:null" <projectsInModal [fetchProjects]="fetchProjects"
[entityType]="'organization'" isSticky="true"> [organizationId]="organizationId" [properties]=properties>
</landing-header> </projectsInModal>
<my-tabs (selectedActiveTab)="onSelectActiveTab($event)" [offsetForSticky]="offset" [(isSticky)]="stickyHeader"> </div>
<my-tab [active]="true" [tabTitle]="'Funding / ' +openaireEntities.PROJECTS" [tabId]="'projects'" <div *ngIf="fetchDataproviders && fetchDataproviders.searchUtils.totalResults > 0"
[tabNumber]="fetchProjects.searchUtils.totalResults > 0 ? fetchProjects.searchUtils.totalResults : ''"> id="dataProviders" class="landing-section uk-padding uk-padding-remove-horizontal">
</my-tab> <search-tab [fetch]="fetchDataproviders" resultType="dataprovider"
<my-tab *ngIf="fetchDataproviders && fetchDataproviders.searchUtils.totalResults > 0" [params]="getParamsForSearchLink()"
[tabTitle]="openaireEntities.DATASOURCES" [tabId]="'dataProviders'" [searchLinkToAdvancedPage]="properties.searchLinkToAdvancedDataProviders"
[tabNumber]="fetchDataproviders.searchUtils.totalResults"> [properties]="properties">
</my-tab> </search-tab>
<my-tab *ngIf="fetchPublications && fetchPublications.searchUtils.totalResults > 0" </div>
[tabNumber]="fetchPublications.searchUtils.totalResults" <div *ngIf="fetchPublications && fetchPublications.searchUtils.totalResults > 0"
[tabTitle]="openaireEntities.PUBLICATIONS" [tabId]="'publications'"> id="publications" class="landing-section uk-padding uk-padding-remove-horizontal">
</my-tab> <search-tab [fetch]="fetchPublications" resultType="publication"
<my-tab *ngIf="fetchDatasets && fetchDatasets.searchUtils.totalResults > 0" [params]="getParamsForSearchLink('publications')"
[tabNumber]="fetchDatasets.searchUtils.totalResults" [searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
[tabTitle]="openaireEntities.DATASETS" [tabId]="'datasets'"> [properties]="properties">
</my-tab> </search-tab>
<my-tab *ngIf="fetchSoftware && fetchSoftware.searchUtils.totalResults > 0" </div>
[tabNumber]="fetchSoftware.searchUtils.totalResults" <div *ngIf="fetchDatasets && fetchDatasets.searchUtils.totalResults > 0"
[tabTitle]="openaireEntities.SOFTWARE" [tabId]="'software'"> id="datasets" class="landing-section uk-padding uk-padding-remove-horizontal">
</my-tab> <search-tab [fetch]="fetchDatasets" resultType="dataset"
<my-tab *ngIf="fetchOrps && fetchOrps.searchUtils.totalResults > 0" [params]="getParamsForSearchLink('datasets')"
[tabNumber]="fetchOrps.searchUtils.totalResults" [searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
[tabTitle]="openaireEntities.OTHER" [tabId]="'other'"> [properties]="properties">
</my-tab> </search-tab>
</my-tabs> </div>
</div> <div *ngIf="fetchSoftware && fetchSoftware.searchUtils.totalResults > 0"
</div> id="software" class="landing-section uk-padding uk-padding-remove-horizontal">
<!-- Tabs content section --> <search-tab [fetch]="fetchSoftware" resultType="software"
<div id="landing-sections" class="uk-text-small"> [params]="getParamsForSearchLink('software')"
<div id="projects" class="landing-section landing-section-height-auto uk-padding uk-padding-remove-horizontal"> [searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
<projectsInModal [fetchProjects]="fetchProjects" [properties]="properties">
[organizationId]="organizationId" [properties]=properties> </search-tab>
</projectsInModal> </div>
</div> <div *ngIf="fetchOrps && fetchOrps.searchUtils.totalResults > 0"
<div *ngIf="fetchDataproviders && fetchDataproviders.searchUtils.totalResults > 0" id="other" class="landing-section uk-padding uk-padding-remove-horizontal">
id="dataProviders" class="landing-section uk-padding uk-padding-remove-horizontal"> <search-tab [fetch]="fetchOrps" resultType="other"
<search-tab [fetch]="fetchDataproviders" resultType="dataprovider" [params]="getParamsForSearchLink('other')"
[params]="getParamsForSearchLink()" [searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedDataProviders" [properties]="properties">
[properties]="properties"> </search-tab>
</search-tab> </div>
</div> </div>
<div *ngIf="fetchPublications && fetchPublications.searchUtils.totalResults > 0" <div class="uk-text-xsmall uk-hidden@m">
id="publications" class="landing-section uk-padding uk-padding-remove-horizontal"> <ng-container *ngTemplateOutlet="graph_and_feedback_template"></ng-container>
<search-tab [fetch]="fetchPublications" resultType="publication" </div>
[params]="getParamsForSearchLink('publications')" <!-- Helper -->
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults" <helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
[properties]="properties"> [texts]="pageContents['bottom']">
</search-tab> </helper>
</div> </ng-container>
<div *ngIf="fetchDatasets && fetchDatasets.searchUtils.totalResults > 0" </div>
id="datasets" class="landing-section uk-padding uk-padding-remove-horizontal"> </div>
<search-tab [fetch]="fetchDatasets" resultType="dataset"
[params]="getParamsForSearchLink('datasets')"
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
[properties]="properties">
</search-tab>
</div>
<div *ngIf="fetchSoftware && fetchSoftware.searchUtils.totalResults > 0"
id="software" class="landing-section uk-padding uk-padding-remove-horizontal">
<search-tab [fetch]="fetchSoftware" resultType="software"
[params]="getParamsForSearchLink('software')"
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
[properties]="properties">
</search-tab>
</div>
<div *ngIf="fetchOrps && fetchOrps.searchUtils.totalResults > 0"
id="other" class="landing-section uk-padding uk-padding-remove-horizontal">
<search-tab [fetch]="fetchOrps" resultType="other"
[params]="getParamsForSearchLink('other')"
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
[properties]="properties">
</search-tab>
</div>
</div>
<div class="uk-text-xsmall uk-hidden@m">
<ng-container *ngTemplateOutlet="graph_and_feedback_template"></ng-container>
</div>
<!-- Helper -->
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
[texts]="pageContents['bottom']">
</helper>
</ng-container>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -71,17 +71,10 @@
</div> --> </div> -->
<!-- center box--> <!-- center box-->
<div class="uk-width-expand uk-padding-remove uk-background-default"> <div id="landing-center-content" class="uk-width-expand uk-padding-remove uk-background-default">
<div *ngIf="errorMessage.length > 0 || showLoading" class="uk-container uk-flex uk-flex-center uk-height-viewport uk-position-relative">
<div *ngIf="errorMessage.length > 0" class="uk-alert uk-alert-danger uk-width-2-3 uk-margin-xlarge-top"
role="alert">{{errorMessage}}</div>
<div *ngIf="showLoading" class="uk-position-center">
<loading></loading>
</div>
</div>
<ng-template #graph_and_feedback_template> <ng-template #graph_and_feedback_template>
<div class="uk-flex uk-margin-small-top uk-margin-small-bottom" [class.uk-invisible]="!projectInfo"> <div class="uk-container uk-container-xlarge uk-flex uk-margin-small-top uk-margin-small-bottom" [class.uk-invisible]="!projectInfo">
<!-- Last Index Info--> <!-- Last Index Info-->
<div class="uk-width-2-3@m uk-width-1-2"> <div class="uk-width-2-3@m uk-width-1-2">
<icon name="graph" customClass="text-graph"></icon> <icon name="graph" customClass="text-graph"></icon>
@ -101,423 +94,463 @@
</div> </div>
</ng-template> </ng-template>
<div #graph_and_feedback id="graph_and_feedback" class="uk-padding uk-padding-remove-vertical uk-blur-background uk-text-xsmall uk-visible@m" <div #graph_and_feedback id="graph_and_feedback" class="uk-blur-background uk-text-xsmall uk-visible@m"
uk-sticky="bottom: true;" [attr.offset]="graph_offset"> uk-sticky="bottom: true;" [attr.offset]="graph_offset">
<ng-container *ngTemplateOutlet="graph_and_feedback_template"></ng-container> <ng-container *ngTemplateOutlet="graph_and_feedback_template"></ng-container>
</div> </div>
<!-- new action bar --> <div class="uk-container uk-container-xlarge">
<div class="uk-margin-top uk-margin-bottom">
<div class="uk-flex uk-flex-middle uk-flex-center"> <div *ngIf="errorMessage.length > 0 || showLoading" class="uk-container uk-flex uk-flex-center uk-height-viewport uk-position-relative">
<div class="landing-action-bar uk-box-shadow-small uk-margin-bottom"> <div *ngIf="errorMessage.length > 0" class="uk-alert uk-alert-danger uk-width-2-3 uk-margin-xlarge-top"
<div class="uk-flex uk-text-xsmall" style="grid-gap: 20px;"> role="alert">{{errorMessage}}</div>
<!-- Actions --> <div *ngIf="showLoading" class="uk-position-center">
<a *ngIf="isRouteAvailable('participate/direct-claim')" <loading></loading>
[queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[projectId, 'project','result'])" </div>
routerLinkActive="router-link-active" routerLink="/participate/direct-claim" </div>
class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder">
<icon flex="true" ratio="0.7" name="link_to" visuallyHidden="link"></icon> <!-- new action bar -->
<span class="uk-margin-xsmall-left">Link to</span> <div *ngIf="!showLoading" class="uk-margin-top uk-margin-bottom">
</a> <div class="uk-flex uk-flex-middle uk-flex-center">
<a (click)="openAddThisModal()" <div class="landing-action-bar uk-box-shadow-small uk-margin-bottom">
class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder"> <div class="uk-flex uk-text-xsmall" style="grid-gap: 20px;">
<icon flex="true" ratio="0.8" name="share" visuallyHidden="share"></icon> <!-- Actions -->
<span class="uk-margin-xsmall-left">Share</span> <a *ngIf="isRouteAvailable('participate/direct-claim')"
</a> [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[projectId, 'project','result'])"
<a *ngIf="isRouteAvailable('participate/deposit/learn-how')" routerLinkActive="router-link-active" routerLink="/participate/direct-claim"
routerLinkActive="router-link-active" routerLink="/participate/deposit/learn-how" class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder">
class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder"> <icon flex="true" ratio="0.7" name="link_to" visuallyHidden="link"></icon>
<icon flex="true" ratio="0.7" name="upload" visuallyHidden="upload"></icon> <span class="uk-margin-xsmall-left">Link to</span>
<span class="uk-margin-xsmall-left">Deposit</span> </a>
</a> <a (click)="openAddThisModal()"
<a (click)="openEmbedResultsModal()" class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder">
class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder"> <icon flex="true" ratio="0.8" name="share" visuallyHidden="share"></icon>
<icon flex="true" ratio="0.8" name="code_off" visuallyHidden="code"></icon> <span class="uk-margin-xsmall-left">Share</span>
<span class="uk-margin-xsmall-left">Embed</span> </a>
</a> <a *ngIf="isRouteAvailable('participate/deposit/learn-how')"
<a (click)="openDownloadReportModal()" routerLinkActive="router-link-active" routerLink="/participate/deposit/learn-how"
class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder"> class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder">
<icon flex="true" ratio="0.8" name="download" visuallyHidden="download"></icon> <icon flex="true" ratio="0.7" name="upload" visuallyHidden="upload"></icon>
<span class="uk-margin-xsmall-left">Download</span> <span class="uk-margin-xsmall-left">Deposit</span>
</a> </a>
<a (click)="openEmbedResultsModal()"
class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder">
<icon flex="true" ratio="0.8" name="code_off" visuallyHidden="code"></icon>
<span class="uk-margin-xsmall-left">Embed</span>
</a>
<a (click)="openDownloadReportModal()"
class="uk-flex uk-flex-middle uk-flex-center uk-button-link uk-text-bolder">
<icon flex="true" ratio="0.8" name="download" visuallyHidden="download"></icon>
<span class="uk-margin-xsmall-left">Download</span>
</a>
</div>
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="uk-margin-left uk-margin-right" [style]="'margin-bottom: '+graph_height+'px'">
<div class="uk-margin-large-left uk-margin-large-right" [style]="'margin-bottom: '+graph_height+'px'"> <ng-container *ngIf="projectInfo">
<ng-container *ngIf="projectInfo"> <div [attr.style]="'margin-top: '+(graph_height? 'calc(40px + 20px - '+graph_height+'px)': '40px')">
<div [attr.style]="'margin-top: '+(graph_height? 'calc(40px + 20px - '+graph_height+'px)': '40px')"> <div class="uk-grid" uk-grid>
<!-- schema.org--> <div class="info uk-width-expand">
<schema2jsonld [data]=projectInfo <!-- schema.org-->
[URL]="properties.domain+properties.baseLink+properties.searchLinkToProject+projectId" <schema2jsonld [data]=projectInfo
type="project"></schema2jsonld> [URL]="properties.domain+properties.baseLink+properties.searchLinkToProject+projectId"
<!-- Actions for mobile viewport --> type="project"></schema2jsonld>
<div class="uk-flex uk-flex-right uk-margin-medium-bottom uk-hidden@s"> <!-- Actions for mobile viewport -->
<div class="uk-margin-small-right"> <div class="uk-flex uk-flex-right uk-margin-medium-bottom uk-hidden@s">
<a (click)="openAddThisModal()" <div class="uk-margin-small-right">
[title]="'Share this '+openaireEntities.PROJECT+' in your social networks'" <a (click)="openAddThisModal()"
[attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'"> [title]="'Share this '+openaireEntities.PROJECT+' in your social networks'"
<span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal"> [attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'">
<icon name="share" visuallyHidden="share"></icon> <span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal">
</span> <icon name="share" visuallyHidden="share"></icon>
</a> </span>
</div> </a>
<div *ngIf="isRouteAvailable('participate/direct-claim')" class="uk-margin-small-right" </div>
[title]="'<span class=\'uk-flex uk-flex-middle\'>Link this project to '+openaireEntities.RESULTS+'<span class=\'material-icons uk-margin-small-left\'>east</span></span>'" <div *ngIf="isRouteAvailable('participate/direct-claim')" class="uk-margin-small-right"
[attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'"> [title]="'<span class=\'uk-flex uk-flex-middle\'>Link this project to '+openaireEntities.RESULTS+'<span class=\'material-icons uk-margin-small-left\'>east</span></span>'"
<a [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[projectId, 'project','result'])" [attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'">
routerLinkActive="router-link-active" routerLink="/participate/direct-claim"> <a [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[projectId, 'project','result'])"
<span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal"> routerLinkActive="router-link-active" routerLink="/participate/direct-claim">
<icon name="link" visuallyHidden="link"></icon> <span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal">
</span> <icon name="link" visuallyHidden="link"></icon>
</a> </span>
</div> </a>
<div *ngIf="isRouteAvailable('participate/deposit/learn-how')" class="uk-margin-small-right" </div>
[title]="'<span class=\'uk-flex uk-flex-middle\'>Deposit your research <span class=\'material-icons uk-margin-small-left\'>east</span></span>'" <div *ngIf="isRouteAvailable('participate/deposit/learn-how')" class="uk-margin-small-right"
[attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'"> [title]="'<span class=\'uk-flex uk-flex-middle\'>Deposit your research <span class=\'material-icons uk-margin-small-left\'>east</span></span>'"
<a routerLinkActive="router-link-active" routerLink="/participate/deposit/learn-how"> [attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'">
<span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal"> <a routerLinkActive="router-link-active" routerLink="/participate/deposit/learn-how">
<icon name="upload" visuallyHidden="upload"></icon> <span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal">
</span> <icon name="upload" visuallyHidden="upload"></icon>
</a> </span>
</div> </a>
<div class="uk-margin-small-right" </div>
[title]="'Embed results'" <div class="uk-margin-small-right"
[attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'"> [title]="'Embed results'"
<a class="uk-link-text uk-text-bold uk-text-uppercase" (click)="openEmbedResultsModal()"> [attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'">
<span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal"> <a class="uk-link-text uk-text-bold uk-text-uppercase" (click)="openEmbedResultsModal()">
<icon name="code_off" visuallyHidden="code"></icon> <span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal">
</span> <icon name="code_off" visuallyHidden="code"></icon>
</a> </span>
</div> </a>
<div class="" </div>
[title]="'Download report'" <div class=""
[attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'"> [title]="'Download report'"
<a class="uk-link-text uk-text-bold uk-text-uppercase" (click)="openDownloadReportModal()"> [attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'">
<span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal"> <a class="uk-link-text uk-text-bold uk-text-uppercase" (click)="openDownloadReportModal()">
<icon name="download" visuallyHidden="download"></icon> <span class="uk-icon-button uk-icon landing-action-button landing-action-button-portal">
</span> <icon name="download" visuallyHidden="download"></icon>
</a> </span>
</a>
</div>
</div>
<helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
[texts]="pageContents['top']"></helper>
<landing-header [properties]="properties" [title]="projectName"
[subTitle]="projectInfo.acronym ? projectInfo.title : ''"
[entityType]="'project'"
[startDate]="projectInfo.startDate" [endDate]="projectInfo.endDate"
[currentDate]="projectInfo.currentDate" [status]="projectInfo.status"
[openAccessMandatePublications]="projectInfo.openAccessMandatePublications"
[openAccessMandateDatasets]="projectInfo.openAccessMandateDatasets">
</landing-header>
<!-- Labels -->
<!-- To be moved inside the landing-header -->
<!-- <div class="uk-margin-bottom uk-grid uk-grid-small uk-flex-middle" uk-grid>
<ng-container *ngIf="projectInfo.openAccessMandatePublications != undefined && projectInfo.openAccessMandatePublications && projectInfo.openAccessMandateDatasets != undefined && projectInfo.openAccessMandateDatasets">
<div>
<span class="uk-label uk-label-success uk-text-truncate"
title="Open Access mandate for {{openaireEntities.PUBLICATIONS}} and {{openaireEntities.DATASETS}}">
Open Access mandate for {{openaireEntities.PUBLICATIONS}} and {{openaireEntities.DATASETS}}
</span>
</div>
</ng-container>
<ng-container *ngIf="projectInfo.openAccessMandatePublications != undefined && projectInfo.openAccessMandatePublications && (projectInfo.openAccessMandateDatasets == undefined || !projectInfo.openAccessMandateDatasets)">
<div>
<span class="uk-label uk-label-success uk-text-truncate" title="Open Access mandate for {{openaireEntities.PUBLICATIONS}}">
Open Access mandate for {{openaireEntities.PUBLICATIONS}}
</span>
</div>
</ng-container>
<ng-container *ngIf="projectInfo.openAccessMandateDatasets != undefined && projectInfo.openAccessMandateDatasets && (projectInfo.openAccessMandatePublications == undefined || !projectInfo.openAccessMandatePublications)">
<div>
<span class="uk-label uk-label-success uk-text-truncate" title="Open Access mandate for {{openaireEntities.DATASETS}}">
Open Access mandate for {{openaireEntities.DATASETS}}
</span>
</div>
</ng-container>
<ng-container *ngIf="projectInfo.funding && projectInfo.funding.funderName">
<div>
<span class="uk-label custom-label label-funder" title="Funder">
{{projectInfo.funding.funderName}}
</span>
</div>
</ng-container>
</div> -->
<div class="uk-text-small">
<div *ngIf="projectInfo.funding" class="uk-margin-bottom">
<div class="uk-margin-small-bottom">
<span *ngIf="projectInfo.funding.funderName" class="uk-margin-right">
<span class="uk-text-meta">Funder: </span>
<span class="uk-text-bold">{{projectInfo.funding.funderName}}</span>
</span>
<span *ngIf="projectInfo.funding.code" class="uk-margin-right uk-display-inline-block">
<span class="uk-text-meta">Project code: </span>
{{projectInfo.funding.code}}
</span>
<span *ngIf="projectInfo.funding.callIdentifier" class="uk-display-inline-block">
<span class="uk-text-meta">Call for proposal: </span>
{{projectInfo.funding.callIdentifier}}
</span>
</div>
<div>
<span *ngIf="projectInfo.funding.fundingStream" class="uk-margin-right">
<span class="uk-text-meta">Funded under: </span>
{{projectInfo.funding.fundingStream}}
</span>
<span *ngIf="projectInfo.funding.budget" class="uk-margin-right uk-display-inline-block">
<span class="uk-text-meta">Overall Budget: </span>
{{projectInfo.funding.budget | number}}
<span *ngIf="projectInfo.funding.currency">{{projectInfo.funding.currency}}</span>
</span>
<span *ngIf="projectInfo.funding.contribution" class="uk-display-inline-block">
<span class="uk-text-meta">Funder Contribution: </span>
{{projectInfo.funding.contribution | number}}
<span *ngIf="projectInfo.funding.currency">{{projectInfo.funding.currency}}</span>
</span>
</div>
</div>
<!-- <div *ngIf="projectInfo.status" class="uk-margin-right">
<span>
<span class="uk-text-meta">Status: </span>
<span class="uk-text-secondary">{{projectInfo.status}}</span>
</span>
</div> -->
<!-- <div *ngIf="projectInfo.startDate || projectInfo.endDate" class="uk-width-large uk-margin-bottom">
<progress *ngIf="projectInfo.startDate && projectInfo.endDate"
class="uk-progress uk-box-shadow-inner uk-margin-small-top uk-margin-small-bottom"
[value]="(projectInfo.currentDate > projectInfo.startDate ? projectInfo.currentDate-projectInfo.startDate : 0)"
[max]="projectInfo.endDate-projectInfo.startDate">
</progress>
<div class="uk-grid">
<span *ngIf="projectInfo.startDate" class="uk-width-1-2 uk-text-meta">
{{projectInfo.startDate | date: 'dd MMM yyyy'}} (Started)
</span>
<span *ngIf="projectInfo.endDate"
[class]="'uk-text-meta uk-width-1-2 ' + (projectInfo.startDate ? 'uk-text-right' : '')">
{{projectInfo.endDate | date: 'dd MMM yyyy'}}
<ng-container *ngIf="projectInfo.currentDate >= projectInfo.endDate">(Ended)</ng-container>
<ng-container *ngIf="projectInfo.currentDate < projectInfo.endDate">(Ending)</ng-container>
</span>
</div>
</div> -->
<div *ngIf="projectInfo.urlInfo" class="uk-margin-bottom">
<a target="_blank" href="{{projectInfo.url}}" class="uk-button uk-button-text custom-external uk-text-capitalize uk-text-normal">
{{projectInfo.urlInfo}}
</a>
</div>
<div *ngIf="(projectInfo.openAccessMandatePublications != undefined && !projectInfo.openAccessMandatePublications)
|| (projectInfo.openAccessMandateDatasets != undefined && !projectInfo.openAccessMandateDatasets)">
<div>Open Access mandate</div>
<div>
<span
*ngIf="projectInfo.openAccessMandatePublications != undefined && !projectInfo.openAccessMandatePublications"
class="uk-margin-right">
<span class="uk-text-meta">{{openaireEntities.PUBLICATIONS}}: </span>
<span>No</span>
</span>
<span
*ngIf="projectInfo.openAccessMandateDatasets != undefined && !projectInfo.openAccessMandateDatasets">
<span class="uk-text-meta">{{openaireEntities.DATASETS}}: </span>
<span>No</span>
</span>
</div>
</div>
</div>
</div>
<div class="metrics-box">
<!-- <div *ngIf="projectInfo">
<div class="uk-card uk-card-secondary uk-flex uk-padding-small metrics-background">
<div class="uk-width-expand">
<div class="uk-grid uk-grid-small" uk-grid uk-height-match="target: > div > .cell">
<div>
<div class="cell uk-margin-xsmall-bottom uk-flex uk-flex-middle"><icon name="download" ratio="0.8" [flex]="true"></icon></div>
<div class="cell uk-flex uk-flex-middle"><icon name="visibility" ratio="0.8" [flex]="true"></icon></div>
</div>
<div>
<div class="cell uk-margin-xsmall-bottom">Downloads</div>
<div class="cell">Views</div>
</div>
<div class="uk-text-uppercase uk-text-bolder">
<div class="cell uk-margin-xsmall-bottom"> - </div>
<div class="cell"> - </div>
</div>
</div>
</div>
<div class="uk-width-1-5 uk-flex uk-flex-bottom">
<img src="assets/common-assets/metrics-badge.svg" loading="lazy" alt="Metrics badge">
</div>
</div>
</div> -->
</div>
</div> </div>
</div> </div>
<helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
[texts]="pageContents['top']"></helper> <div id="main-tabs-div" class="uk-sticky uk-blur-background"
uk-sticky="bottom: true; media: @m" [attr.offset]="offset">
<landing-header [properties]="properties" [title]="projectName" <div class="uk-padding uk-padding-remove-horizontal uk-padding-remove-bottom">
[subTitle]="projectInfo.acronym ? projectInfo.title : ''" <!-- <showTitle *ngIf="stickyHeader" [titleName]="projectName" classNames="uk-margin-remove-bottom" class="uk-visible@m"></showTitle>-->
[entityType]="'project'" <landing-header *ngIf="stickyHeader" class="uk-visible@m"
[startDate]="projectInfo.startDate" [endDate]="projectInfo.endDate" [properties]="properties" [title]="projectName"
[currentDate]="projectInfo.currentDate" [status]="projectInfo.status" [entityType]="'project'"
[openAccessMandatePublications]="projectInfo.openAccessMandatePublications" [startDate]="projectInfo.startDate"
[openAccessMandateDatasets]="projectInfo.openAccessMandateDatasets"> [endDate]="projectInfo.endDate"
</landing-header> [status]="projectInfo.status"
<!-- Labels --> isSticky="true">
<!-- To be moved inside the landing-header --> </landing-header>
<!-- <div class="uk-margin-bottom uk-grid uk-grid-small uk-flex-middle" uk-grid> <my-tabs (selectedActiveTab)="onSelectActiveTab($event)" [offsetForSticky]="offset" [(isSticky)]="stickyHeader">
<ng-container *ngIf="projectInfo.openAccessMandatePublications != undefined && projectInfo.openAccessMandatePublications && projectInfo.openAccessMandateDatasets != undefined && projectInfo.openAccessMandateDatasets"> <my-tab tabTitle="Summary" [tabId]="'summary'" [active]="true"></my-tab>
<div> <my-tab *ngIf="fetchPublications.searchUtils.totalResults > 0"
<span class="uk-label uk-label-success uk-text-truncate" [tabTitle]="openaireEntities.PUBLICATIONS" [tabNumber]="fetchPublications.searchUtils.totalResults"
title="Open Access mandate for {{openaireEntities.PUBLICATIONS}} and {{openaireEntities.DATASETS}}"> [tabId]="'publications'"></my-tab>
Open Access mandate for {{openaireEntities.PUBLICATIONS}} and {{openaireEntities.DATASETS}} <my-tab *ngIf="fetchDatasets.searchUtils.totalResults > 0"
</span> [tabTitle]="openaireEntities.DATASETS" [tabNumber]="fetchDatasets.searchUtils.totalResults"
</div> [tabId]="'datasets'"></my-tab>
</ng-container> <my-tab *ngIf="fetchSoftware.searchUtils.totalResults > 0"
<ng-container *ngIf="projectInfo.openAccessMandatePublications != undefined && projectInfo.openAccessMandatePublications && (projectInfo.openAccessMandateDatasets == undefined || !projectInfo.openAccessMandateDatasets)"> [tabTitle]="openaireEntities.SOFTWARE" [tabNumber]="fetchSoftware.searchUtils.totalResults"
<div> [tabId]="'software'"></my-tab>
<span class="uk-label uk-label-success uk-text-truncate" title="Open Access mandate for {{openaireEntities.PUBLICATIONS}}"> <my-tab *ngIf="fetchOrps.searchUtils.totalResults > 0"
Open Access mandate for {{openaireEntities.PUBLICATIONS}} [tabTitle]="openaireEntities.OTHER" [tabNumber]="fetchOrps.searchUtils.totalResults"
</span> [tabId]="'other'"></my-tab>
</div> <my-tab [tabTitle]="'Dmps'" [tabNumber]="fetchDmps.searchUtils.totalResults > 0 ? fetchDmps.searchUtils.totalResults : ''" [tabId]="'dmps'"></my-tab>
</ng-container> <my-tab *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
<ng-container *ngIf="projectInfo.openAccessMandateDatasets != undefined && projectInfo.openAccessMandateDatasets && (projectInfo.openAccessMandatePublications == undefined || !projectInfo.openAccessMandatePublications)"> || fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
<div> [tabTitle]="'Statistics'" customClass="statistics" [tabId]="'statistics'" [active]="false"></my-tab>
<span class="uk-label uk-label-success uk-text-truncate" title="Open Access mandate for {{openaireEntities.DATASETS}}"> </my-tabs>
Open Access mandate for {{openaireEntities.DATASETS}} </div>
</span> </div>
</div>
</ng-container> <div id="landing-sections" class="uk-text-small">
<ng-container *ngIf="projectInfo.funding && projectInfo.funding.funderName"> <div id="summary" class="landing-section landing-section-height-auto">
<div> <div class="uk-card uk-card-default card-tab uk-margin-medium-top uk-margin-medium-bottom">
<span class="uk-label custom-label label-funder" title="Funder"> <div class="uk-card-body">
{{projectInfo.funding.funderName}} <div class="uk-grid uk-grid-divider" uk-grid>
</span> <div *ngIf="!hasPrimaryInfo && !hasSecondaryInfo" class="uk-width-expand uk-height-small uk-flex uk-flex-center uk-flex-middle">
</div> <div class="uk-animation-fade uk-text-meta uk-text-large">
</ng-container> No summary information available
</div> --> </div>
<div class="uk-text-small"> </div>
<div *ngIf="projectInfo.funding" class="uk-margin-bottom"> <div *ngIf="hasPrimaryInfo" class="uk-width-expand">
<div class="uk-margin-small-bottom"> <!-- Description -->
<span *ngIf="projectInfo.funding.funderName" class="uk-margin-right"> <div *ngIf="projectInfo.description" class="uk-margin-medium-bottom">
<span class="uk-text-meta">Funder: </span> <div class="uk-text-justify ">
<span class="uk-text-bold">{{projectInfo.funding.funderName}}</span> <div class="uk-text-meta uk-margin-small-bottom">Description</div>
</span> <div class="multi-line-ellipsis lines-10">
<span *ngIf="projectInfo.funding.code" class="uk-margin-right uk-display-inline-block"> <div #descriptionDiv class="uk-margin-small-bottom"
<span class="uk-text-meta">Project code: </span> [innerHtml]="projectInfo.description"></div>
{{projectInfo.funding.code}} </div>
</span> <div *ngIf="showViewMoreButton" class="uk-flex uk-flex-right">
<span *ngIf="projectInfo.funding.callIdentifier" class="uk-display-inline-block"> <a (click)="openDescriptionModal();" class="view-more-less-link">
<span class="uk-text-meta">Call for proposal: </span> View more
{{projectInfo.funding.callIdentifier}} </a>
</span> </div>
</div>
<div>
<span *ngIf="projectInfo.funding.fundingStream" class="uk-margin-right">
<span class="uk-text-meta">Funded under: </span>
{{projectInfo.funding.fundingStream}}
</span>
<span *ngIf="projectInfo.funding.budget" class="uk-margin-right uk-display-inline-block">
<span class="uk-text-meta">Overall Budget: </span>
{{projectInfo.funding.budget | number}}
<span *ngIf="projectInfo.funding.currency">{{projectInfo.funding.currency}}</span>
</span>
<span *ngIf="projectInfo.funding.contribution" class="uk-display-inline-block">
<span class="uk-text-meta">Funder Contribution: </span>
{{projectInfo.funding.contribution | number}}
<span *ngIf="projectInfo.funding.currency">{{projectInfo.funding.currency}}</span>
</span>
</div>
</div>
<!-- <div *ngIf="projectInfo.status" class="uk-margin-right">
<span>
<span class="uk-text-meta">Status: </span>
<span class="uk-text-secondary">{{projectInfo.status}}</span>
</span>
</div> -->
<!-- <div *ngIf="projectInfo.startDate || projectInfo.endDate" class="uk-width-large uk-margin-bottom">
<progress *ngIf="projectInfo.startDate && projectInfo.endDate"
class="uk-progress uk-box-shadow-inner uk-margin-small-top uk-margin-small-bottom"
[value]="(projectInfo.currentDate > projectInfo.startDate ? projectInfo.currentDate-projectInfo.startDate : 0)"
[max]="projectInfo.endDate-projectInfo.startDate">
</progress>
<div class="uk-grid">
<span *ngIf="projectInfo.startDate" class="uk-width-1-2 uk-text-meta">
{{projectInfo.startDate | date: 'dd MMM yyyy'}} (Started)
</span>
<span *ngIf="projectInfo.endDate"
[class]="'uk-text-meta uk-width-1-2 ' + (projectInfo.startDate ? 'uk-text-right' : '')">
{{projectInfo.endDate | date: 'dd MMM yyyy'}}
<ng-container *ngIf="projectInfo.currentDate >= projectInfo.endDate">(Ended)</ng-container>
<ng-container *ngIf="projectInfo.currentDate < projectInfo.endDate">(Ending)</ng-container>
</span>
</div>
</div> -->
<div *ngIf="projectInfo.urlInfo" class="uk-margin-bottom">
<a target="_blank" href="{{projectInfo.url}}" class="uk-button uk-button-text custom-external uk-text-capitalize uk-text-normal">
{{projectInfo.urlInfo}}
</a>
</div>
<div *ngIf="(projectInfo.openAccessMandatePublications != undefined && !projectInfo.openAccessMandatePublications)
|| (projectInfo.openAccessMandateDatasets != undefined && !projectInfo.openAccessMandateDatasets)">
<div>Open Access mandate</div>
<div>
<span
*ngIf="projectInfo.openAccessMandatePublications != undefined && !projectInfo.openAccessMandatePublications"
class="uk-margin-right">
<span class="uk-text-meta">{{openaireEntities.PUBLICATIONS}}: </span>
<span>No</span>
</span>
<span
*ngIf="projectInfo.openAccessMandateDatasets != undefined && !projectInfo.openAccessMandateDatasets">
<span class="uk-text-meta">{{openaireEntities.DATASETS}}: </span>
<span>No</span>
</span>
</div>
</div>
</div>
</div>
<div id="main-tabs-div" class="uk-sticky uk-blur-background"
uk-sticky="bottom: true; media: @m" [attr.offset]="offset">
<div class="uk-padding uk-padding-remove-horizontal uk-padding-remove-bottom">
<!-- <showTitle *ngIf="stickyHeader" [titleName]="projectName" classNames="uk-margin-remove-bottom" class="uk-visible@m"></showTitle>-->
<landing-header *ngIf="stickyHeader" class="uk-visible@m"
[properties]="properties" [title]="projectName"
[subTitle]="projectInfo.acronym ? projectInfo.title : ''"
[entityType]="'project'"
[startDate]="projectInfo.startDate"
[endDate]="projectInfo.endDate"
[status]="projectInfo.status"
isSticky="true">
</landing-header>
<my-tabs (selectedActiveTab)="onSelectActiveTab($event)" [offsetForSticky]="offset" [(isSticky)]="stickyHeader">
<my-tab tabTitle="Summary" [tabId]="'summary'" [active]="true"></my-tab>
<my-tab *ngIf="fetchPublications.searchUtils.totalResults > 0"
[tabTitle]="openaireEntities.PUBLICATIONS" [tabNumber]="fetchPublications.searchUtils.totalResults"
[tabId]="'publications'"></my-tab>
<my-tab *ngIf="fetchDatasets.searchUtils.totalResults > 0"
[tabTitle]="openaireEntities.DATASETS" [tabNumber]="fetchDatasets.searchUtils.totalResults"
[tabId]="'datasets'"></my-tab>
<my-tab *ngIf="fetchSoftware.searchUtils.totalResults > 0"
[tabTitle]="openaireEntities.SOFTWARE" [tabNumber]="fetchSoftware.searchUtils.totalResults"
[tabId]="'software'"></my-tab>
<my-tab *ngIf="fetchOrps.searchUtils.totalResults > 0"
[tabTitle]="openaireEntities.OTHER" [tabNumber]="fetchOrps.searchUtils.totalResults"
[tabId]="'other'"></my-tab>
<my-tab [tabTitle]="'Dmps'" [tabNumber]="fetchDmps.searchUtils.totalResults > 0 ? fetchDmps.searchUtils.totalResults : ''" [tabId]="'dmps'"></my-tab>
<my-tab *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
|| fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)"
[tabTitle]="'Statistics'" customClass="statistics" [tabId]="'statistics'" [active]="false"></my-tab>
</my-tabs>
</div>
</div>
<div id="landing-sections" class="uk-text-small">
<div id="summary" class="landing-section landing-section-height-auto">
<div class="uk-card uk-card-default card-tab uk-margin-medium-top uk-margin-medium-bottom">
<div class="uk-card-body">
<div class="uk-grid uk-grid-divider" uk-grid>
<div *ngIf="!hasPrimaryInfo && !hasSecondaryInfo" class="uk-width-expand uk-height-small uk-flex uk-flex-center uk-flex-middle">
<div class="uk-animation-fade uk-text-meta uk-text-large">
No summary information available
</div>
</div>
<div *ngIf="hasPrimaryInfo" class="uk-width-expand">
<!-- Description -->
<div *ngIf="projectInfo.description" class="uk-margin-medium-bottom">
<div class="uk-text-justify ">
<div class="uk-text-meta uk-margin-small-bottom">Description</div>
<div class="multi-line-ellipsis lines-10">
<div #descriptionDiv class="uk-margin-small-bottom"
[innerHtml]="projectInfo.description"></div>
</div>
<div *ngIf="showViewMoreButton" class="uk-flex uk-flex-right">
<a (click)="openDescriptionModal();" class="view-more-less-link">
View more
</a>
</div> </div>
</div> </div>
</div> </div>
</div> <div *ngIf="hasSecondaryInfo" [class.uk-width-1-3@m]="hasPrimaryInfo" class="uk-width-1-1">
<div *ngIf="hasSecondaryInfo" [class.uk-width-1-3@m]="hasPrimaryInfo" class="uk-width-1-1"> <div class="uk-height-1-1">
<div class="uk-height-1-1"> <!-- Organizations -->
<!-- Organizations --> <div class="uk-text-meta uk-margin-small-bottom">Partners</div>
<div class="uk-text-meta uk-margin-small-bottom">Partners</div> <div class="uk-margin-medium-bottom">
<div class="uk-margin-medium-bottom"> <ng-container *ngTemplateOutlet="organizations_template; context: { threshold: lessBtnOrganizations ? projectInfo.organizations.length : thresholdOrganizations }"></ng-container>
<ng-container *ngTemplateOutlet="organizations_template; context: { threshold: lessBtnOrganizations ? projectInfo.organizations.length : thresholdOrganizations }"></ng-container> <div *ngIf="projectInfo.organizations.length > thresholdOrganizations && !lessBtnOrganizations"
<div *ngIf="projectInfo.organizations.length > thresholdOrganizations && !lessBtnOrganizations" class="uk-text-center">
class="uk-text-center"> <a (click)="viewAllOrganizationsClick();" class="view-more-less-link">
<a (click)="viewAllOrganizationsClick();" class="view-more-less-link"> View all
View all </a>
</a> </div>
</div> <div *ngIf="viewAllOrganizations && lessBtnOrganizations" class="uk-text-center">
<div *ngIf="viewAllOrganizations && lessBtnOrganizations" class="uk-text-center"> <a (click)="viewAllOrganizations = !viewAllOrganizations; lessBtnOrganizations=false;" class="view-more-less-link">View less</a>
<a (click)="viewAllOrganizations = !viewAllOrganizations; lessBtnOrganizations=false;" class="view-more-less-link">View less</a> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div>
<ng-container *ngIf="fetchPublications.searchUtils.totalResults > 0">
<div id="publications" class="landing-section uk-padding uk-padding-remove-horizontal">
<search-tab [fetch]="fetchPublications" resultType="publication"
[params]="getParamsForSearchLink('publications')"
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
[properties]="properties">
</search-tab>
</div>
</ng-container>
<ng-container *ngIf="fetchDatasets.searchUtils.totalResults > 0">
<div id="datasets" class="landing-section uk-padding uk-padding-remove-horizontal">
<search-tab [fetch]="fetchDatasets" resultType="dataset"
[params]="getParamsForSearchLink('datasets')"
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
[properties]="properties">
</search-tab>
</div>
</ng-container>
<ng-container *ngIf="fetchSoftware.searchUtils.totalResults > 0">
<div id="software" class="landing-section uk-padding uk-padding-remove-horizontal">
<search-tab [fetch]="fetchSoftware" resultType="software"
[params]="getParamsForSearchLink('software')"
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
[properties]="properties">
</search-tab>
</div>
</ng-container>
<ng-container *ngIf="fetchOrps.searchUtils.totalResults > 0">
<div id="other" class="landing-section uk-padding uk-padding-remove-horizontal">
<search-tab [fetch]="fetchOrps" resultType="other"
[params]="getParamsForSearchLink('other')"
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
[properties]="properties">
</search-tab>
</div>
</ng-container>
<ng-container>
<div id="dmps" class="landing-section uk-padding uk-padding-remove-horizontal">
<search-tab [fetch]="fetchDmps" customTitle="Data Management Plans"
[properties]="properties" resultType="DMPs">
<div class="uk-margin-medium-top uk-margin-bottom uk-width-1-1 uk-flex uk-flex-center uk-flex-middle">
<a *ngIf="fetchDmps.searchUtils.totalResults > 0" class="uk-button uk-button-text uk-margin-right"
[queryParams]="getParamsForSearchLink('publications', 'Data Management Plan')"
[routerLink]="properties.searchLinkToAdvancedResults">
View all
<span *ngIf="fetchDmps.searchUtils.totalResults <= searchNumber">in search page</span>
</a>
<a class="uk-button uk-button-text custom-external" href="https://argos.openaire.eu/splash/" target="_blank">
<img src="assets/common-assets/common/argos_entities.svg"
alt="argos" width="20px" height="20px" loading="lazy">
Start a new DMP in <span class="text-argos">Argos</span>
</a>
</div>
</search-tab>
</div>
</ng-container>
<ng-container *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
|| fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)">
<div id="statistics" class="landing-section uk-padding uk-padding-remove-horizontal">
<div class="uk-text-meta uk-text-large uk-text-uppercase uk-margin-medium-bottom">Statistics</div>
<errorMessages [status]="[fetchPublications.searchUtils.status, fetchDatasets.searchUtils.status,
fetchSoftware.searchUtils.status, fetchOrps.searchUtils.status]"
[type]="'statistics'" tab_error_class=true></errorMessages>
<div
*ngIf="statsClicked &&
(fetchPublications.searchUtils.status == errorCodes.DONE || fetchDatasets.searchUtils.status == errorCodes.DONE
|| fetchSoftware.searchUtils.status == errorCodes.DONE || fetchOrps.searchUtils.status == errorCodes.DONE)"
class="uk-grid uk-child-width-1-1 uk-child-width-1-2@m">
<div class="uk-padding uk-padding-remove-top">
<div class="uk-card uk-card-default uk-card-body">
<div *ngIf="!properties.useNewStatistisTool" class="uk-text-center uk-text-large">Produced
{{openaireEntities.RESULTS}} per year
</div>
<i-frame [url]=chartScientificResultsUrl
customContainerClass="uk-background-default" customIframeClass="uk-blend-multiply"></i-frame>
</div>
</div>
<div class="uk-padding uk-padding-remove-top">
<div class="uk-card uk-card-default uk-card-body">
<div *ngIf="!properties.useNewStatistisTool" class="uk-text-center uk-text-large">Access mode of
{{openaireEntities.RESULTS}}
</div>
<i-frame [url]=chartAccessModeUrl
customContainerClass="uk-background-default" customIframeClass="uk-blend-multiply"></i-frame>
</div>
</div>
<div class="uk-padding uk-padding-remove-top">
<div class="uk-card uk-card-default uk-card-body">
<div *ngIf="!properties.useNewStatistisTool" class="uk-text-center uk-text-large">
{{openaireEntities.RESULTS}} per datasource
</div>
<i-frame [url]=chartDatasourcesUrl
customContainerClass="uk-background-default" customIframeClass="uk-blend-multiply"></i-frame>
</div>
</div>
</div>
</div>
</ng-container>
</div>
<div class="uk-text-xsmall uk-hidden@m"><ng-container *ngTemplateOutlet="graph_and_feedback_template"></ng-container></div>
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
[texts]="pageContents['bottom']"></helper>
</ng-container>
</div>
</div>
<ng-container *ngIf="fetchPublications.searchUtils.totalResults > 0">
<div id="publications" class="landing-section uk-padding uk-padding-remove-horizontal">
<search-tab [fetch]="fetchPublications" resultType="publication"
[params]="getParamsForSearchLink('publications')"
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
[properties]="properties">
</search-tab>
</div>
</ng-container>
<ng-container *ngIf="fetchDatasets.searchUtils.totalResults > 0">
<div id="datasets" class="landing-section uk-padding uk-padding-remove-horizontal">
<search-tab [fetch]="fetchDatasets" resultType="dataset"
[params]="getParamsForSearchLink('datasets')"
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
[properties]="properties">
</search-tab>
</div>
</ng-container>
<ng-container *ngIf="fetchSoftware.searchUtils.totalResults > 0">
<div id="software" class="landing-section uk-padding uk-padding-remove-horizontal">
<search-tab [fetch]="fetchSoftware" resultType="software"
[params]="getParamsForSearchLink('software')"
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
[properties]="properties">
</search-tab>
</div>
</ng-container>
<ng-container *ngIf="fetchOrps.searchUtils.totalResults > 0">
<div id="other" class="landing-section uk-padding uk-padding-remove-horizontal">
<search-tab [fetch]="fetchOrps" resultType="other"
[params]="getParamsForSearchLink('other')"
[searchLinkToAdvancedPage]="properties.searchLinkToAdvancedResults"
[properties]="properties">
</search-tab>
</div>
</ng-container>
<ng-container>
<div id="dmps" class="landing-section uk-padding uk-padding-remove-horizontal">
<search-tab [fetch]="fetchDmps" customTitle="Data Management Plans"
[properties]="properties" resultType="DMPs">
<div class="uk-margin-medium-top uk-margin-bottom uk-width-1-1 uk-flex uk-flex-center uk-flex-middle">
<a *ngIf="fetchDmps.searchUtils.totalResults > 0" class="uk-button uk-button-text uk-margin-right"
[queryParams]="getParamsForSearchLink('publications', 'Data Management Plan')"
[routerLink]="properties.searchLinkToAdvancedResults">
View all
<span *ngIf="fetchDmps.searchUtils.totalResults <= searchNumber">in search page</span>
</a>
<a class="uk-button uk-button-text custom-external" href="https://argos.openaire.eu/splash/" target="_blank">
<img src="assets/common-assets/common/argos_entities.svg"
alt="argos" width="20px" height="20px" loading="lazy">
Start a new DMP in <span class="text-argos">Argos</span>
</a>
</div>
</search-tab>
</div>
</ng-container>
<ng-container *ngIf="(fetchPublications.searchUtils.totalResults > 0 || fetchDatasets.searchUtils.totalResults > 0
|| fetchSoftware.searchUtils.totalResults > 0 || fetchOrps.searchUtils.totalResults > 0)">
<div id="statistics" class="landing-section uk-padding uk-padding-remove-horizontal">
<div class="uk-text-meta uk-text-large uk-text-uppercase uk-margin-medium-bottom">Statistics</div>
<errorMessages [status]="[fetchPublications.searchUtils.status, fetchDatasets.searchUtils.status,
fetchSoftware.searchUtils.status, fetchOrps.searchUtils.status]"
[type]="'statistics'" tab_error_class=true></errorMessages>
<div
*ngIf="statsClicked &&
(fetchPublications.searchUtils.status == errorCodes.DONE || fetchDatasets.searchUtils.status == errorCodes.DONE
|| fetchSoftware.searchUtils.status == errorCodes.DONE || fetchOrps.searchUtils.status == errorCodes.DONE)"
class="uk-grid uk-child-width-1-1 uk-child-width-1-2@m">
<div class="uk-padding uk-padding-remove-top">
<div class="uk-card uk-card-default uk-card-body">
<div *ngIf="!properties.useNewStatistisTool" class="uk-text-center uk-text-large">Produced
{{openaireEntities.RESULTS}} per year
</div>
<i-frame [url]=chartScientificResultsUrl
customContainerClass="uk-background-default" customIframeClass="uk-blend-multiply"></i-frame>
</div>
</div>
<div class="uk-padding uk-padding-remove-top">
<div class="uk-card uk-card-default uk-card-body">
<div *ngIf="!properties.useNewStatistisTool" class="uk-text-center uk-text-large">Access mode of
{{openaireEntities.RESULTS}}
</div>
<i-frame [url]=chartAccessModeUrl
customContainerClass="uk-background-default" customIframeClass="uk-blend-multiply"></i-frame>
</div>
</div>
<div class="uk-padding uk-padding-remove-top">
<div class="uk-card uk-card-default uk-card-body">
<div *ngIf="!properties.useNewStatistisTool" class="uk-text-center uk-text-large">
{{openaireEntities.RESULTS}} per datasource
</div>
<i-frame [url]=chartDatasourcesUrl
customContainerClass="uk-background-default" customIframeClass="uk-blend-multiply"></i-frame>
</div>
</div>
</div>
</div>
</ng-container>
</div>
<div class="uk-text-xsmall uk-hidden@m"><ng-container *ngTemplateOutlet="graph_and_feedback_template"></ng-container></div>
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
[texts]="pageContents['bottom']"></helper>
</ng-container>
</div>
</div> </div>
</div> </div>

File diff suppressed because it is too large Load Diff

View File

@ -72,6 +72,7 @@ export class ResultLandingComponent {
public totalViews: number = null; public totalViews: number = null;
public totalDownloads: number = null; public totalDownloads: number = null;
public pageViews: number = null; public pageViews: number = null;
public bipFrameUrl: string;
// Custom tab paging variables // Custom tab paging variables
public referencesPage: number = 1; public referencesPage: number = 1;
@ -456,6 +457,7 @@ export class ResultLandingComponent {
this.viewsFrameUrl = this.properties.statisticsFrameNewAPIURL + 'chart?json=' + encodeURIComponent('{"library":"HighCharts","chartDescription":{"queries":[{"name":"Monthly views","type":"column","query":{"name":"usagestats.results.views.monthly", "parameters":["' + this.id + '"], "profile":"OpenAIRE All-inclusive" }}],"chart":{"backgroundColor":"#FFFFFFFF","borderColor":"#335cadff","borderRadius":0,"borderWidth":0,"plotBorderColor":"#ccccccff","plotBorderWidth":0},"title":{"text":"Monthly views"},"subtitle":{},"yAxis":{"title":{"text":""}},"xAxis":{"title":{}},"lang":{"noData":"No Data available for the Query"},"exporting":{"enabled":false},"plotOptions":{"series":{"dataLabels":{"enabled":false}}},"legend":{"enabled":false},"credits":{"href":null,"enabled":true,"text":""}}}'); this.viewsFrameUrl = this.properties.statisticsFrameNewAPIURL + 'chart?json=' + encodeURIComponent('{"library":"HighCharts","chartDescription":{"queries":[{"name":"Monthly views","type":"column","query":{"name":"usagestats.results.views.monthly", "parameters":["' + this.id + '"], "profile":"OpenAIRE All-inclusive" }}],"chart":{"backgroundColor":"#FFFFFFFF","borderColor":"#335cadff","borderRadius":0,"borderWidth":0,"plotBorderColor":"#ccccccff","plotBorderWidth":0},"title":{"text":"Monthly views"},"subtitle":{},"yAxis":{"title":{"text":""}},"xAxis":{"title":{}},"lang":{"noData":"No Data available for the Query"},"exporting":{"enabled":false},"plotOptions":{"series":{"dataLabels":{"enabled":false}}},"legend":{"enabled":false},"credits":{"href":null,"enabled":true,"text":""}}}');
this.downloadsFrameUrl = this.properties.statisticsFrameNewAPIURL + 'chart?json=' + this.downloadsFrameUrl = this.properties.statisticsFrameNewAPIURL + 'chart?json=' +
encodeURIComponent('{"library":"HighCharts","chartDescription":{"queries":[{"name":"Monthly downloads","type":"column","query":{"name":"usagestats.results.downloads.monthly", "parameters":["' + this.id + '"], "profile":"OpenAIRE All-inclusive" }}],"chart":{"backgroundColor":"#FFFFFFFF","borderColor":"#335cadff","borderRadius":0,"borderWidth":0,"plotBorderColor":"#ccccccff","plotBorderWidth":0},"title":{"text":"Monthly downloads"},"subtitle":{},"yAxis":{"title":{"text":""}},"xAxis":{"title":{}},"lang":{"noData":"No Data available for the Query"},"exporting":{"enabled":false},"plotOptions":{"series":{"dataLabels":{"enabled":false}}},"legend":{"enabled":false},"credits":{"href":null,"enabled":true,"text":""}}}'); encodeURIComponent('{"library":"HighCharts","chartDescription":{"queries":[{"name":"Monthly downloads","type":"column","query":{"name":"usagestats.results.downloads.monthly", "parameters":["' + this.id + '"], "profile":"OpenAIRE All-inclusive" }}],"chart":{"backgroundColor":"#FFFFFFFF","borderColor":"#335cadff","borderRadius":0,"borderWidth":0,"plotBorderColor":"#ccccccff","plotBorderWidth":0},"title":{"text":"Monthly downloads"},"subtitle":{},"yAxis":{"title":{"text":""}},"xAxis":{"title":{}},"lang":{"noData":"No Data available for the Query"},"exporting":{"enabled":false},"plotOptions":{"series":{"dataLabels":{"enabled":false}}},"legend":{"enabled":false},"credits":{"href":null,"enabled":true,"text":""}}}');
this.bipFrameUrl = this.properties.bipFrameAPIURL + this.id;
let pid:Identifier = Identifier.getPIDFromIdentifiers(this.resultLandingInfo.identifiers); let pid:Identifier = Identifier.getPIDFromIdentifiers(this.resultLandingInfo.identifiers);
if (this.type == "result") { // no type was specified - update URL based this.resultLandingInfo.resultType if (this.type == "result") { // no type was specified - update URL based this.resultLandingInfo.resultType
this.updateUrlWithType(pid); this.updateUrlWithType(pid);

View File

@ -428,8 +428,6 @@ export class ResultLandingService {
this.resultLandingInfo.measure['influence'] = 'Top 1%'; this.resultLandingInfo.measure['influence'] = 'Top 1%';
} else if (data[0].measure[i].class == 'C4') { } else if (data[0].measure[i].class == 'C4') {
this.resultLandingInfo.measure['influence'] = 'Top 10%'; this.resultLandingInfo.measure['influence'] = 'Top 10%';
} else if (data[0].measure[i].class == 'C5') {
this.resultLandingInfo.measure['influence'] = 'Average/low';
} else if (data[0].measure[i].class == 'A') { } else if (data[0].measure[i].class == 'A') {
this.resultLandingInfo.measure['influence'] = 'Exceptional'; this.resultLandingInfo.measure['influence'] = 'Exceptional';
} else if (data[0].measure[i].class == 'B') { } else if (data[0].measure[i].class == 'B') {
@ -447,8 +445,6 @@ export class ResultLandingService {
this.resultLandingInfo.measure['popularity'] = 'Top 1%'; this.resultLandingInfo.measure['popularity'] = 'Top 1%';
} else if (data[0].measure[i].class == 'C4') { } else if (data[0].measure[i].class == 'C4') {
this.resultLandingInfo.measure['popularity'] = 'Top 10%'; this.resultLandingInfo.measure['popularity'] = 'Top 10%';
} else if (data[0].measure[i].class == 'C5') {
this.resultLandingInfo.measure['popularity'] = 'Average/low';
} else if (data[0].measure[i].class == 'A') { } else if (data[0].measure[i].class == 'A') {
this.resultLandingInfo.measure['popularity'] = 'Exceptional'; this.resultLandingInfo.measure['popularity'] = 'Exceptional';
} else if (data[0].measure[i].class == 'B') { } else if (data[0].measure[i].class == 'B') {
@ -469,8 +465,6 @@ export class ResultLandingService {
this.resultLandingInfo.measure['impulse'] = 'Top 1%'; this.resultLandingInfo.measure['impulse'] = 'Top 1%';
} else if (data[0].measure[i].class == 'C4') { } else if (data[0].measure[i].class == 'C4') {
this.resultLandingInfo.measure['impulse'] = 'Top 10%'; this.resultLandingInfo.measure['impulse'] = 'Top 10%';
} else if (data[0].measure[i].class == 'C5') {
this.resultLandingInfo.measure['impulse'] = 'Average/low';
} else if (data[0].measure[i].class == 'A') { } else if (data[0].measure[i].class == 'A') {
this.resultLandingInfo.measure['impulse'] = 'Exceptional'; this.resultLandingInfo.measure['impulse'] = 'Exceptional';
} else if (data[0].measure[i].class == 'B') { } else if (data[0].measure[i].class == 'B') {

View File

@ -213,8 +213,6 @@ export class SearchResearchResultsService {
result.measure[3] = 'Top 1% in'; result.measure[3] = 'Top 1% in';
} else if (resData['measure'][i].class == 'C4') { } else if (resData['measure'][i].class == 'C4') {
result.measure[3] = 'Top 10% in'; result.measure[3] = 'Top 10% in';
} else if (resData['measure'][i].class == 'C5') {
result.measure[3] = 'Average/low';
} else if (resData['measure'][i].class == 'A') { } else if (resData['measure'][i].class == 'A') {
result.measure[3] = 'Exceptional'; result.measure[3] = 'Exceptional';
} else if (resData['measure'][i].class == 'B') { } else if (resData['measure'][i].class == 'B') {
@ -233,8 +231,6 @@ export class SearchResearchResultsService {
result.measure[2] = 'Top 1% in'; result.measure[2] = 'Top 1% in';
} else if (resData['measure'][i].class == 'C4') { } else if (resData['measure'][i].class == 'C4') {
result.measure[2] = 'Top 10% in'; result.measure[2] = 'Top 10% in';
} else if (resData['measure'][i].class == 'C5') {
result.measure[2] = 'Average/low';
} else if (resData['measure'][i].class == 'A') { } else if (resData['measure'][i].class == 'A') {
result.measure[2] = 'Exceptional'; result.measure[2] = 'Exceptional';
} else if (resData['measure'][i].class == 'B') { } else if (resData['measure'][i].class == 'B') {

View File

@ -17,6 +17,7 @@ export interface EnvProperties {
framesAPIURL?: string; framesAPIURL?: string;
statisticsFrameAPIURL?: string; statisticsFrameAPIURL?: string;
statisticsFrameNewAPIURL?: string; statisticsFrameNewAPIURL?: string;
bipFrameAPIURL?: string;
useNewStatistisTool?: boolean; useNewStatistisTool?: boolean;
useOldStatisticsSchema?: boolean; useOldStatisticsSchema?: boolean;
monitorStatsFrameUrl?:string; monitorStatsFrameUrl?:string;