272 lines
13 KiB
HTML
272 lines
13 KiB
HTML
<!-- Before title -->
|
|
<div uk-grid>
|
|
<div [class.uk-width-1-1]="!result.relation" [class.uk-width-1-2]="result.relation"
|
|
[class.uk-width-3-4@s]="result.relation">
|
|
<!-- deposit website URL -->
|
|
<span class="uk-width-expand uk-flex-right">
|
|
<a *ngIf="result.websiteURL && promoteWebsiteURL" href="{{result.websiteURL}}" target="_blank" type="submit"
|
|
class="uk-float-right uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-small-left">
|
|
<span><span>Go to website</span><span uk-icon="arrow-right"></span></span>
|
|
</a>
|
|
</span>
|
|
<div class="uk-text-small">
|
|
<span class="uk-text-capitalize">
|
|
{{getTypeName(result.resultType)}}
|
|
</span>
|
|
<span
|
|
*ngIf="properties.environment !== 'production' && result.types && removeDuplicates(result.types).length > 0">
|
|
{{' . ' + removeDuplicates(result.types).join(' . ')}}
|
|
</span>
|
|
<span *ngIf="properties.environment === 'production' && result.types &&
|
|
removeUnknown(removeDuplicates(result.types)).length > 0">
|
|
{{' . ' + removeDuplicates(removeDuplicates(result.types)).join(' . ')}}
|
|
</span>
|
|
<span *ngIf="result.year">{{' . ' + result.year.toString()}}</span>
|
|
<span *ngIf="result.startYear && result.endYear"> . {{result.startYear}} - {{result.endYear}}</span>
|
|
<span *ngIf="result.embargoEndDate && result.embargoEndDate != ''">
|
|
. Embargo End Date: {{result.embargoEndDate | date: 'dd MMM yyyy'}}
|
|
</span>
|
|
</div>
|
|
<!-- Title -->
|
|
<div class="uk-margin-small-bottom">
|
|
<div class="uk-h5 uk-margin-remove">
|
|
|
|
<a *ngIf="result.id && !(result.resultType == 'dataprovider' && result.compatibilityUNKNOWN) "
|
|
(click)="onTitleClick()" [queryParams]="routerHelper.createQueryParam(urlParam,result.id)"
|
|
routerLink="/search/{{result.resultType}}" class="portal-link uk-width-expand">
|
|
<div *ngIf="(result.title) || result.acronym">
|
|
<span *ngIf="result.acronym">
|
|
{{result.acronym}}
|
|
</span>
|
|
<span *ngIf="result.acronym && (result.title)"> (</span>
|
|
<span *ngIf="result.title" [innerHTML]="result.title"></span>
|
|
<span *ngIf="result.acronym && result.title">)</span>
|
|
</div>
|
|
<div *ngIf="!result.title && !result.acronym">
|
|
[no title available]
|
|
</div>
|
|
</a>
|
|
<div *ngIf="!result.id || (result.resultType == 'dataprovider' && result.compatibilityUNKNOWN)" class="uk-width-expand">
|
|
<div *ngIf="(result.title) || result.acronym">
|
|
<span *ngIf="result.acronym">
|
|
{{result.acronym}}
|
|
</span>
|
|
<span *ngIf="result.acronym && (result.title)"> (</span>
|
|
<span *ngIf="result.title" [innerHTML]="result.title"></span>
|
|
<span *ngIf="result.acronym && result.title">)</span>
|
|
</div>
|
|
<div *ngIf="!result.title && !result.acronym">
|
|
[no title available]
|
|
</div>
|
|
</div>
|
|
<hr *ngIf="result.websiteURL && promoteWebsiteURL">
|
|
</div>
|
|
<!-- Download from-->
|
|
<div *ngIf="result.hostedBy_collectedFrom && result.hostedBy_collectedFrom.length > 0"
|
|
class="uk-margin-small-bottom download-from">
|
|
<div *ngFor="let from of result.hostedBy_collectedFrom">
|
|
<span class="uk-margin-right uk-display-inline-block">
|
|
<span class="uk-text-muted">Download from: </span>
|
|
<a *ngIf="from.downloadUrl && from.downloadUrl.length === 1"
|
|
[href]="from.downloadUrl[0]" target="_blank" class="title">
|
|
{{from.downloadName}}
|
|
<span class="custom-external"></span>
|
|
</a>
|
|
<span *ngIf="!from.downloadUrl || from.downloadUrl.length === 0" class="title">
|
|
{{from.downloadName}}
|
|
</span>
|
|
</span>
|
|
<span class="provider uk-display-inline-block">
|
|
<span class="uk-text-muted">Provider: </span>
|
|
<a *ngIf="from.collectedId" routerLink="/search/dataprovider" [queryParams]="{datasourceId: from.collectedId}"
|
|
[href]="from.downloadUrl[0]" target="_blank">
|
|
{{from.collectedName}}
|
|
</a>
|
|
<span *ngIf="!from.collectedId">
|
|
{{from.collectedName}}
|
|
</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<!-- Authors -->
|
|
<div *ngIf="result.authors">
|
|
<showAuthors [authors]="result.authors" [authorsLimit]=10 [showAll]=false></showAuthors>
|
|
</div>
|
|
</div>
|
|
<!-- Funder -->
|
|
<div *ngIf="result.funderShortname || result.code" class="uk-margin-small-bottom uk-text-small">
|
|
<span *ngIf="result.funderShortname">
|
|
<span class="uk-text-muted">Funder: </span>
|
|
{{result.funderShortname}}
|
|
</span>
|
|
<span *ngIf="result.code" [class.uk-margin-left]="result.funderShortname">
|
|
<span class="uk-text-muted">Project Code: </span>
|
|
{{result.code}}
|
|
</span>
|
|
</div>
|
|
<!-- Funder Budget -->
|
|
<div *ngIf="result.budget || result.contribution" class="uk-margin-small-bottom uk-text-small">
|
|
<span *ngIf="result.budget">
|
|
<span class="uk-text-muted">Overall Budget: </span>
|
|
{{result.budget | number}}
|
|
<span *ngIf="result.currency">{{result.currency}}</span>
|
|
</span>
|
|
<span *ngIf="result.contribution" [class.uk-margin-left]="result.budget">
|
|
<span class="uk-text-muted">Funder Contribution: </span>
|
|
{{result.contribution | number}}
|
|
<span *ngIf="result.currency">{{result.currency}}</span>
|
|
</span>
|
|
</div>
|
|
<!-- Labels -->
|
|
<div class="uk-margin-small-bottom">
|
|
<span *ngIf="properties.environment !== 'production' && result.accessMode"
|
|
class="uk-label custom-label" [ngClass]="'label-' + accessClass(result.accessMode)"
|
|
title="Access Mode">
|
|
{{result.accessMode}}
|
|
</span>{{' '}}
|
|
<span
|
|
*ngIf="properties.environment === 'production' && result.accessMode && result.accessMode.toLowerCase() !== 'not available'"
|
|
class="uk-label custom-label" [ngClass]="'label-' + accessClass(result.accessMode)"
|
|
title="Access Mode">
|
|
{{result.accessMode}}
|
|
</span>{{' '}}
|
|
<span *ngIf="result.openAccessMandatePublications && (!result.openAccessMandateDatasets)"
|
|
class="uk-label custom-label label-open"
|
|
title="Open Access mandate for Publications">
|
|
Open Access mandate for Publications
|
|
</span>{{' '}}
|
|
<span
|
|
*ngIf="result.openAccessMandateDatasets != undefined && result.openAccessMandateDatasets && (result.openAccessMandatePublications == undefined || !result.openAccessMandatePublications)"
|
|
class="uk-label custom-label label-open " title="Open Access mandate for Research Data">
|
|
Open Access mandate for Research Data
|
|
</span>{{' '}}
|
|
<span
|
|
*ngIf="result.openAccessMandatePublications != undefined && result.openAccessMandatePublications && result.openAccessMandateDatasets != undefined && result.openAccessMandateDatasets"
|
|
class="uk-label custom-label label-open "
|
|
title="Open Access mandate for Publications and Research Data">
|
|
Open Access mandate for Publications and Research Data
|
|
</span>{{' '}}
|
|
<span *ngIf="properties.environment !== 'production' && result.languages && result.languages.length > 0">
|
|
<span *ngFor="let language of result.languages"
|
|
class="uk-label custom-label label-language " title="Language">
|
|
{{language}}
|
|
</span>{{' '}}
|
|
</span>
|
|
<span
|
|
*ngIf="properties.environment === 'production' && result.languages && removeUnknown(result.languages).length > 0">
|
|
<span *ngFor="let language of removeUnknown(result.languages)"
|
|
class="uk-label custom-label label-language " title="Language">
|
|
{{language}}
|
|
</span>{{' '}}
|
|
</span>
|
|
<span *ngIf="result.programmingLanguages && result.programmingLanguages.length > 0">
|
|
<span *ngFor="let programmingLanguage of result.programmingLanguages"
|
|
class="uk-label custom-label label-language" title="Programming Language">
|
|
{{programmingLanguage}}
|
|
</span>{{" "}}
|
|
</span>
|
|
<span *ngIf="result.sc39" class="uk-label custom-label label-sc39" title="Special Clause 39">
|
|
Special Clause 39
|
|
</span>{{' '}}
|
|
<span *ngIf="result.compatibility && result.compatibility != '' && result.compatibility != 'not available'"
|
|
class="uk-label custom-label label-compatibility" title="Compatibility">
|
|
{{result.compatibility}}
|
|
</span>{{' '}}
|
|
<span *ngIf="result.compatibility != undefined && result.compatibility != '' && result.compatibility ==
|
|
'not available'"
|
|
class="uk-label custom-label label-danger" title="OpenAIRE Compatibility">Not yet registered</span>
|
|
{{' '}}
|
|
</div>
|
|
<!-- Identifiers -->
|
|
<div *ngIf="result.identifiers && result.identifiers.size > 0">
|
|
<showIdentifiers [identifiers]="result.identifiers"></showIdentifiers>
|
|
</div>
|
|
<!-- Publisher -->
|
|
<div *ngIf="result.publisher && result.publisher != ''" class="uk-text-small uk-margin-small-bottom">
|
|
<span class="uk-text-muted">Publisher: </span>
|
|
{{result.publisher}}
|
|
</div>
|
|
<!-- Countries -->
|
|
<div *ngIf="result.countries && result.countries.length > 0"
|
|
class="uk-text-small uk-margin-small-bottom">
|
|
<span class="uk-text-muted">{{(result.countries.length == 1) ? 'Country' : 'Countries'}}: </span>
|
|
<span *ngFor="let country of result.countries.slice(0,10) let i = index">
|
|
{{country}}{{(i < (result.countries.slice(0, 10).length - 1)) ? ", " : ""}}
|
|
{{(i == result.countries.slice(0, 10).length - 1 && result.countries.length > 10) ? "..." : ""}}
|
|
</span>
|
|
</div>
|
|
<!-- Projects -->
|
|
<div *ngIf="result.projects && result.projects.length > 0" class="uk-text-small uk-margin-small-bottom">
|
|
<span class="uk-text-muted"> Project: </span>
|
|
<span *ngFor="let project of result.projects.slice(0,10) let i=index">
|
|
<span>
|
|
{{project.funderShortname ? project.funderShortname : project.funderName}}
|
|
</span>
|
|
<span *ngIf="project.acronym || project.title">
|
|
| {{ project.acronym ? project.acronym : (project.title.length > 25 ?
|
|
project.title.substring(0, 25) + '...' : project.title)}}
|
|
</span>
|
|
<span *ngIf="project.code"> ({{project.code}})</span>
|
|
<span *ngIf="i < result.projects.length-1">,</span>
|
|
</span>
|
|
<span *ngIf="result.projects.length > 10">...</span>
|
|
</div>
|
|
<!-- Organizations -->
|
|
<div *ngIf="showOrganizations && result.organizations && result.organizations.length > 0"
|
|
class="uk-text-small uk-margin-small-bottom">
|
|
<span class="uk-text-muted">Organization: </span>
|
|
<span *ngFor="let organization of result.organizations.slice(0,10) let i=index">
|
|
<span>{{organization.name}}</span>
|
|
<span *ngIf="(i < result.organizations.length-1) && (i < 9)">,</span>
|
|
</span>
|
|
<span *ngIf="result.organizations.length > 10">...</span>
|
|
</div>
|
|
<!-- Website URL -->
|
|
<div *ngIf="result.websiteURL && result.websiteURL != '' && !promoteWebsiteURL" class="uk-text-small uk-margin-small-bottom">
|
|
<span class="uk-text-muted">Website URL: </span>
|
|
<span>
|
|
<a href="{{result.websiteURL}}" target="_blank" class="custom-external custom-icon">
|
|
{{result.websiteURL}}
|
|
</a>
|
|
</span>
|
|
</div>
|
|
<!-- OAI-PMH URL-->
|
|
<div *ngIf="result.OAIPMHURL && result.OAIPMHURL != ''" class="uk-text-small uk-margin-small-bottom">
|
|
<span class="uk-text-muted">OAI-PMH URL: </span>
|
|
<span>
|
|
<a href="{{result.OAIPMHURL}}" target="_blank" class="custom-external custom-icon">
|
|
{{result.OAIPMHURL}}
|
|
</a>
|
|
</span>
|
|
</div>
|
|
<!-- Subjects -->
|
|
<div *ngIf="showSubjects && result.subjects && result.subjects.length > 0"
|
|
class="uk-text-small uk-margin-small-bottom">
|
|
<span class="uk-text-muted">Subject: </span>
|
|
<span *ngFor="let subject of result.subjects.slice(0,10) let i = index">{{subject}}
|
|
{{(i < (result.subjects.slice(0, 10).length - 1)) ? ", " : ""}}
|
|
{{(i == result.subjects.slice(0, 10).length - 1 && result.subjects.length > 10) ? "..." : ""}}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div *ngIf="result.relation" class="uk-width-expand uk-padding-remove-left uk-text-small">
|
|
<div *ngIf="result.percentage" class="uk-flex uk-flex-middle">
|
|
<div class="uk-margin-small-right">
|
|
<span class="uk-text-capitalize uk-text-muted">{{result.relation}}: </span>
|
|
<span class="portal-color uk-text-bold"> {{result.percentage}}%</span>
|
|
</div>
|
|
<progress class="uk-progress portal-progress uk-margin-remove uk-text-left uk-width-expand"
|
|
[value]="result.percentage" max="100"></progress>
|
|
</div>
|
|
<div class="uk-text-capitalize uk-text-muted" *ngIf="result.provenanceAction">
|
|
{{result.provenanceAction}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Description -->
|
|
<div *ngIf="result.description" class="uk-margin-small-bottom multi-line-ellipsis lines-3">
|
|
<p class="uk-text-small">
|
|
{{result.description}}
|
|
</p>
|
|
</div>
|