2020-05-07 19:20:33 +02:00
< div id = "tm-main" class = "landing uk-section uk-padding-remove-top tm-middle" >
2020-05-25 20:58:13 +02:00
< div * ngIf = "!showFeedback" class = "uk-grid" >
2019-07-22 11:16:50 +02:00
< div class = "tm-main uk-width-1-1@s uk-width-1-1@m uk-width-1-1@l uk-row-first " >
2020-05-07 19:20:33 +02:00
< div class = "uk-container uk-container-large uk-margin-medium-top publication" >
2019-07-22 11:16:50 +02:00
< div * ngIf = "warningMessage.length > 0" class = "uk-alert uk-alert-warning uk-margin-large-top"
role="alert">{{warningMessage}}< / div >
< div * ngIf = "errorMessage.length > 0" class = "uk-alert uk-alert-danger uk-margin-large-top"
role="alert">{{errorMessage}}< / div >
< div [ style . display ] = " showLoading ? ' inline ' : ' none ' "
2020-07-10 10:37:17 +02:00
class="uk-animation-fade uk-margin-large-top uk-width-1-1" role="alert">
< span * ngIf = "!dashboard" class = "loading-gif uk-align-center" > < / span >
< loading * ngIf = "dashboard" > < / loading >
< / div >
2019-07-23 14:23:12 +02:00
< helper * ngIf = "pageContents && pageContents['top'] && pageContents['top'].length > 0"
2019-07-23 16:04:49 +02:00
[texts]="pageContents['top']">< / helper >
2020-05-20 22:34:29 +02:00
< div * ngIf = "resultLandingInfo" class = "uk-grid uk-margin-remove" >
2020-05-20 14:56:21 +02:00
< div
class="uk-width-2-3@m uk-width-1-1@s uk-padding uk-padding-remove-left uk-padding-remove-vertical uk-margin-bottom">
2020-03-16 14:09:46 +01:00
<!-- schema.org -->
2019-09-05 10:49:33 +02:00
< schema2jsonld * ngIf = "resultLandingInfo.record" [ data ] = resultLandingInfo . record
2020-09-18 09:57:42 +02:00
[URL]="properties.domain+ properties.baseLink +linkToLandingPage+id">< / schema2jsonld >
2020-03-16 14:09:46 +01:00
< landing-header [ properties ] = " properties " [ title ] = " resultLandingInfo . title "
2020-03-30 10:45:08 +02:00
[subTitle]="resultLandingInfo.subtitle"
2020-09-22 12:34:06 +02:00
[authors]="resultLandingInfo.authors" [authorLimit]="10"
2020-03-30 10:45:08 +02:00
[underCuration]="resultLandingInfo.underCurationMessage"
2020-03-16 14:09:46 +01:00
[entityType]="getTypeName()" [types]="resultLandingInfo.types"
[year]="resultLandingInfo.date" [embargoEndDate]="resultLandingInfo.embargoEndDate">
< / landing-header >
<!-- Labels -->
< div class = "uk-margin-bottom" >
2020-05-05 16:09:18 +02:00
< span * ngIf = "resultLandingInfo.accessMode
2020-03-16 14:09:46 +01:00
& & resultLandingInfo.accessMode.toLowerCase() !== 'not available'"
[class]="'uk-label custom-label label-'+ accessClass(resultLandingInfo.accessMode)"
title="Access Mode">{{resultLandingInfo.accessMode}}
< / span > {{" "}}
2020-05-05 16:09:18 +02:00
< span * ngIf = "resultLandingInfo.languages & &
2020-03-16 14:09:46 +01:00
removeUnknown(resultLandingInfo.languages).length > 0">
< ng-container * ngFor = "let language of removeUnknown(resultLandingInfo.languages)" >
< span class = "uk-label custom-label label-language" title = "Language" > {{language}}< / span >
{{' '}}
< / ng-container >
< / span >
< span * ngIf = "resultLandingInfo.programmingLanguages && resultLandingInfo.programmingLanguages.length > 0" >
< ng-container * ngFor = "let programmingLanguage of resultLandingInfo.programmingLanguages" >
2020-03-30 10:45:08 +02:00
< span class = "uk-label custom-label label-language"
title="Programming Language">{{programmingLanguage}}< / span >
2020-03-16 14:09:46 +01:00
{{' '}}
< / ng-container >
< / span >
2017-12-19 13:53:46 +01:00
< / div >
2020-05-19 17:33:47 +02:00
< ul class = "uk-list basic-info" >
2020-03-16 14:09:46 +01:00
<!-- Published Date, Journal and Publisher -->
2019-09-05 10:49:33 +02:00
< showPublisher [ publisher ] = " resultLandingInfo . publisher "
2020-03-16 14:09:46 +01:00
[publishDate]="resultLandingInfo.dateofacceptance"
2019-09-05 10:49:33 +02:00
[journal]="resultLandingInfo.journal" [properties]="properties">< / showPublisher >
2020-03-16 14:09:46 +01:00
<!-- Countries -->
< li * ngIf = "resultLandingInfo.countries && resultLandingInfo.countries.length > 0" >
< span class = "uk-text-muted" >
{{(resultLandingInfo.countries.length === 1) ? 'Country: ' : 'Countries: '}}
< / span >
{{resultLandingInfo.countries.join(", ")}}
< / li >
2019-07-22 11:16:50 +02:00
< / ul >
2017-12-19 13:53:46 +01:00
< / div >
2020-05-19 17:33:47 +02:00
< div class = "uk-width-1-3@m uk-width-1-1@s uk-padding-remove" >
2020-05-20 14:56:21 +02:00
< ul class = "user-actions uk-list uk-card uk-card-default uk-padding" >
2020-03-16 14:09:46 +01:00
<!-- Share -->
2020-05-20 14:56:21 +02:00
< li >
< addThis > < / addThis >
< / li >
<!-- Link to -->
< li * ngIf = "isRouteAvailable('participate/direct-claim')" >
< a class = "uk-link-text uk-text-bold uk-text-uppercase" ( click ) = " openLinkModal ( ) " >
2020-05-25 20:58:13 +02:00
< span class = "uk-icon-button portal-button uk-icon" >
< svg width = "20" height = "20" viewBox = "0 0 20 20" xmlns = "http://www.w3.org/2000/svg" data-svg = "link" > < path
fill="none" stroke="#000" stroke-width="1.1"
d="M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375">< / path > < path
fill="none" stroke="#000" stroke-width="1.1"
d="M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375">< / path > < path
fill="none" stroke="#000" stroke-width="1.1"
d="M7.925,11.875 L11.925,7.975">< / path >
< / svg >
< / span >
2020-05-20 14:56:21 +02:00
< span class = "uk-margin-small-left" > Link this {{getTypeName()}} to...< / span >
< / a >
< / li >
<!-- Cite this -->
2020-07-10 10:37:17 +02:00
< li >
2020-05-20 14:56:21 +02:00
< a class = "uk-link-text uk-text-bold uk-text-uppercase" ( click ) = " openCiteModal ( ) " >
2020-05-25 20:58:13 +02:00
< span class = "uk-icon-button uk-button-primary uk-icon" >
< svg width = "20"
height="20"
viewBox="0 0 20 20"
xmlns="http://www.w3.org/2000/svg"
data-svg="quote-right">
< path d = "M17.27,7.79 C17.27,9.45 16.97,10.43 15.99,12.02 C14.98,13.64 13,15.23 11.56,15.97 L11.1,15.08 C12.34,14.2 13.14,13.51 14.02,11.82 C14.27,11.34 14.41,10.92 14.49,10.54 C14.3,10.58 14.09,10.6 13.88,10.6 C12.06,10.6 10.59,9.12 10.59,7.3 C10.59,5.48 12.06,4 13.88,4 C15.39,4 16.67,5.02 17.05,6.42 C17.19,6.82 17.27,7.27 17.27,7.79 L17.27,7.79 Z" > < / path >
< path d = "M8.68,7.79 C8.68,9.45 8.38,10.43 7.4,12.02 C6.39,13.64 4.41,15.23 2.97,15.97 L2.51,15.08 C3.75,14.2 4.55,13.51 5.43,11.82 C5.68,11.34 5.82,10.92 5.9,10.54 C5.71,10.58 5.5,10.6 5.29,10.6 C3.47,10.6 2,9.12 2,7.3 C2,5.48 3.47,4 5.29,4 C6.8,4 8.08,5.02 8.46,6.42 C8.6,6.82 8.68,7.27 8.68,7.79 L8.68,7.79 Z" > < / path >
< / svg >
< / span >
2020-05-20 14:56:21 +02:00
< span class = "uk-margin-small-left" > Cite this {{getTypeName()}}< / span >
< / a >
< / li >
2021-01-13 19:30:25 +01:00
<!-- ORCID -->
[Trunk | Library]:
1. resultLanding.component.html & result-preview.component.html: Show orcid buttons in all environments (production too) | in <orcid-work> added "resultTitle" property.
2. myOrcidLinks.component.ts: Added "getPersonalDetails()" method and link to advanced research outcomes page, filtered by user's name (if personal details from ORCID fails, use name from AAI - getUserInfo).
3. searchMyOrcidResults.module.ts: Removed PagingModule and added NoLoadPaging.
4. searchMyOrcidResults.component.ts: Added method "totalPages()" to calculate pages in paging.
5. searchMyOrcidResults.component.html:
a. Added <no-load-paging> (instead of custom paging with <paging-no-load>).
b. In <orcid-work> added "resultTitle" property.
c. Fix widths of grid inside card for result preview and orcid buttons.
6. orcid-work.component.ts:
a. Added "resultTitle" @Input property, to show it in notifications, instead of pids.
b. Updated messages for errors and for multiple put-codes.
c. Use "danger" notifications instead of "warning" when an error occurs.
d. For search and my orcid links pages, in orcid buttons, use <icon> for icons | For landing page, updated icons in orcid buttons.
e. Added message "The action will affect your real ORCID iD." in tooltips, when environment == 'beta'.
f. Removed property "procedurePaused" and its usage replaced by "currentAction".
g. [Bug fix] For search pages, added "uk-align-right", in order orcid button not to take width for the whole line.
h. [Bug fix] In method "getOrcidWorks()" check "Session.isLoggedIn()" was missing.
7. orcid.component.ts: If personal details from ORCID fails, use name from AAI - getUserInfo.
8. orcid.module.ts: Added IconsModule and registered icons: add, remove, preview, refresh in IconsService.
9. searchResult.component.ts: Call "orcidService.getPutCodes()" in all environments (production too).
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@60619 d315682c-612b-4755-9ff5-7f18f6832af3
2021-03-11 02:40:53 +01:00
< li * ngIf = "properties.adminToolsPortalType == 'explore'" >
< orcid-work [ resultId ] = " id " [ resultTitle ] = " resultLandingInfo . title " [ resultLandingInfo ] = " resultLandingInfo "
[pids]="pidsArrayString" [pageType]="'landing'">
2021-01-13 19:30:25 +01:00
< / orcid-work >
< / li >
2021-01-05 14:25:02 +01:00
< li * ngIf = "properties.b2noteAPIURL" >
2021-01-13 14:00:41 +01:00
< a * ngIf = "isLoggedIn && pid" class = "uk-link-text uk-text-bold uk-text-uppercase" ( click ) = " annotation . toggleAnnotation ( $ event ) " >
2021-01-05 14:25:02 +01:00
< span class = "uk-icon-button uk-button-primary uk-icon" >
< img src = "assets/common-assets/b2note.png" >
< / span >
< span class = "uk-margin-small-left" > add annotation< / span >
< / a >
2021-02-10 10:05:37 +01:00
< span * ngIf = "!pid || !isLoggedIn" class = "uk-link-text uk-text-bold uk-text-uppercase uk-text-muted half-opacity"
2021-01-13 14:00:41 +01:00
[attr.uk-tooltip]="!pid?'Annotations are available only for resources with a PID (persistent identifier) like DOI, handle, PMID':
2021-01-05 16:12:05 +01:00
'Annotations are available only for logged in users'">
2021-01-22 10:27:31 +01:00
< span class = "uk-icon-button uk-button-primary uk-icon uk-disabled" >
2021-01-05 14:25:02 +01:00
< img src = "assets/common-assets/b2note.png" >
< / span >
< span class = "uk-margin-small-left" > add annotation< / span >
< / span >
< / li >
2020-03-16 14:09:46 +01:00
<!-- Metrics -->
2020-05-20 14:56:21 +02:00
< li * ngIf = "hasAltMetrics || hasMetrics" class = "uk-margin-medium-top" >
2020-05-22 16:51:28 +02:00
< div uk-grid
class="uk-child-width-1-3 uk-text-center uk-flex uk-flex-middle uk-flex-center uk-padding-remove-left">
2020-11-25 17:09:36 +01:00
< div * ngIf = "hasMetrics" [ class . uk-hidden ] = " ! ( totalViews & & totalDownloads & & pageViews ) " >
2020-05-21 16:18:52 +02:00
< metrics [ pageViews ] = " pageViews "
2020-05-05 12:37:36 +02:00
[id]="id" [entityType]="'results'" [entity]="title"
[viewsFrameUrl]="viewsFrameUrl" [downloadsFrameUrl]="downloadsFrameUrl"
(metricsResults)="metricsResults($event)" [properties]=properties>
< / metrics >
< / div >
2020-05-21 16:18:52 +02:00
< div * ngIf = "hasAltMetrics" >
2020-05-20 14:56:21 +02:00
< altmetrics * ngIf = "hasAltMetrics" id = "{{resultLandingInfo.identifiers.get('doi')[0]}}" type = "doi" >
< / altmetrics >
< / div >
2019-07-23 14:23:12 +02:00
< / div >
2020-05-20 14:56:21 +02:00
< / li >
< / ul >
2020-05-20 22:34:29 +02:00
< / div >
2020-05-29 16:15:35 +02:00
<!-- *ngIf="numberOfTabs > 0" -->
< div class = "uk-padding-remove-left uk-width-1-1 uk-margin-large-top" >
2020-05-20 22:34:29 +02:00
< div class = "main-tabs-div" >
2020-05-27 12:47:40 +02:00
< ng-template # summary_tab >
< div class = "uk-grid uk-margin-remove" >
2021-01-22 16:28:08 +01:00
< div * ngIf = "!hasPrimaryInfo && hasSecondaryInfo" class = "uk-width-expand uk-padding" >
2020-07-21 11:17:50 +02:00
< div class = "uk-animation-fade uk-alert uk-alert-primary" role = "alert" >
No summary information available
< / div >
2021-01-22 16:28:08 +01:00
< / div >
2020-05-27 12:47:40 +02:00
< div * ngIf = "hasPrimaryInfo" class = "uk-width-expand uk-padding" >
<!-- Description -->
< div * ngIf = "resultLandingInfo.description" class = "uk-margin-medium-bottom" >
< div class = "uk-text-justify uk-height-max-medium uk-overflow-auto" >
< div class = "uk-text-muted" > Abstract< / div >
< span > {{resultLandingInfo.description.substring(0, showNumDescription)}}< / span >
< span * ngIf = "showNumDescription = = thresholdDescription & &
2020-05-20 22:34:29 +02:00
resultLandingInfo.description.length > thresholdDescription">...< / span >
2020-05-27 12:47:40 +02:00
< / div >
< div * ngIf = "showNumDescription = = thresholdDescription & &
2020-05-20 22:34:29 +02:00
resultLandingInfo.description.length > thresholdDescription" class="uk-text-right">
2020-05-27 12:47:40 +02:00
< a ( click ) = " showNumDescription = resultLandingInfo.description.length;" >
Read more
< / a >
2020-05-20 22:34:29 +02:00
< / div >
2020-05-27 12:47:40 +02:00
< div * ngIf = "resultLandingInfo.description && showNumDescription > thresholdDescription"
class="uk-text-right">
< a ( click ) = " showNumDescription = thresholdDescription;" >
Read less
< / a >
2020-05-20 22:34:29 +02:00
< / div >
2020-05-27 12:47:40 +02:00
< / div >
<!-- Identifiers -->
< div * ngIf = "resultLandingInfo.identifiers && resultLandingInfo.identifiers.size > 0"
class="uk-margin-medium-bottom">
< showIdentifiers [ identifiers ] = " resultLandingInfo . identifiers "
[properties]="properties">
< / showIdentifiers >
< / div >
<!-- Subjects -->
< div * ngIf = "resultLandingInfo.subjects | | resultLandingInfo . otherSubjects | |
2020-05-20 22:34:29 +02:00
resultLandingInfo.classifiedSubjects" class="uk-margin-medium-bottom">
2020-05-27 12:47:40 +02:00
< showSubjects [ subjects ] = " resultLandingInfo . subjects "
[otherSubjects]="resultLandingInfo.otherSubjects"
[classifiedSubjects]="resultLandingInfo.classifiedSubjects">
< / showSubjects >
< / div >
<!-- Related Organizations -->
< div * ngIf = "resultLandingInfo.organizations && resultLandingInfo.organizations.length > 0"
class="uk-margin-medium-bottom uk-width-2-3@m">
< div class = "uk-text-muted" > Related Organizations< / div >
< ul class = "uk-list organizations uk-margin-remove-top" >
2020-05-27 16:32:25 +02:00
< li * ngFor = "let organization of (showAll?resultLandingInfo.organizations:resultLandingInfo.organizations.slice(0,3))" >
2020-07-13 17:05:18 +02:00
< a [ routerLink ] = " properties . searchLinkToOrganization . split ( ' ? ' ) [ 0 ] " [ queryParams ] = " { organizationId: organization . id } " >
2020-07-14 11:57:11 +02:00
{{(organization.name ? organization.name : (organization.shortname?organization.shortname:'[No title available]'))}}
< span * ngIf = "!organization.name && organization.shortname" > ({{organization.shortname}})< / span >
2020-05-27 12:47:40 +02:00
< / a >
2020-07-13 17:05:18 +02:00
< div * ngIf = "organization.country && !organization.country.toLowerCase().includes('unknown')" > {{organization.country}}< / div >
2020-05-27 12:47:40 +02:00
< / li >
< / ul >
2020-05-27 16:32:25 +02:00
< div * ngIf = "!showAll && resultLandingInfo.organizations.length > 3" class = "uk-text-center" >
< a ( click ) = " showAll = !showAll;" >
View more
< / a >
< / div >
< div * ngIf = "showAll && resultLandingInfo.organizations.length > 3" class = "uk-text-center" >
< a ( click ) = " showAll = !showAll;" > View less< / a >
< / div >
2020-05-20 22:34:29 +02:00
< / div >
2021-04-08 12:50:11 +02:00
2020-05-27 12:47:40 +02:00
< / div >
2020-07-21 11:17:50 +02:00
< div * ngIf = "hasSecondaryInfo" class = "uk-width-1-3@m uk-width-1-1 right-column uk-padding-remove" >
2020-05-27 12:47:40 +02:00
< div * ngIf = "resultLandingInfo.fundedByProjects & & resultLandingInfo . fundedByProjects . length > 0 ||
2020-05-20 22:34:29 +02:00
resultLandingInfo.contexts & & resultLandingInfo.contexts.length >0"
2020-05-27 12:47:40 +02:00
class="uk-padding uk-padding-remove-bottom">
<!-- Funded By -->
< div * ngIf = "resultLandingInfo.fundedByProjects && resultLandingInfo.fundedByProjects.length > 0"
class="uk-margin-medium-bottom">
< fundedBy [ fundedByProjects ] = " resultLandingInfo . fundedByProjects " > < / fundedBy >
2020-05-20 22:34:29 +02:00
< / div >
2020-05-27 12:47:40 +02:00
<!-- Communities -->
< div * ngIf = "resultLandingInfo.contexts && resultLandingInfo.contexts.length >0"
class="uk-margin-medium-bottom">
< relatedTo [ contexts ] = " resultLandingInfo . contexts " > < / relatedTo >
< / div >
< / div >
<!-- Download From -->
< div
*ngIf="resultLandingInfo.hostedBy_collectedFrom & & resultLandingInfo.hostedBy_collectedFrom.length > 0"
class="uk-margin-medium-bottom">
< div class = "sideInfoTitle uk-margin-small-bottom uk-flex" >
< span class = "uk-width-1-2" > Download from< / span >
< span * ngIf = "resultLandingInfo.deletedByInferenceIds"
class="uk-width-1-2 uk-text-right">
2020-05-21 16:18:52 +02:00
< a ( click ) = " openDeletedByInference ( ) " > View all {{resultLandingInfo.deletedByInferenceIds.length}}
versions< / a >
2020-05-20 22:34:29 +02:00
< / span >
< / div >
2020-07-13 16:42:34 +02:00
< availableOn [ availableOn ] = " resultLandingInfo . hostedBy_collectedFrom " > < / availableOn >
2020-05-20 22:34:29 +02:00
< / div >
< / div >
2020-05-29 16:15:35 +02:00
< div * ngIf = "!hasPrimaryInfo && !hasSecondaryInfo"
class="uk-width-expand uk-padding">
< div class = "uk-animation-fade uk-alert uk-alert-primary" role = "alert" >
No summary information available
< / div >
< / div >
2020-05-27 12:47:40 +02:00
< / div >
< / ng-template >
< ng-template # references_tab >
< div class = "uk-grid uk-margin-remove" >
< div class = "uk-width-expand uk-padding" >
< div >
< no-load-paging * ngIf = "resultLandingInfo.references.length > 1.5*pageSize" [ type ] = " ' references ' "
(pageChange)="updateReferencesPage($event)"
[page]="referencesPage" [pageSize]="1.5*pageSize"
[totalResults]="resultLandingInfo.references.length">
< / no-load-paging >
< div
*ngFor="let item of resultLandingInfo.references.slice((referencesPage-1)*1.5*pageSize, referencesPage*1.5*pageSize)">
< p * ngIf = "item" >
{{item.name}}
< ng-container * ngIf = "item.ids && item.ids.length > 0" >
2020-05-21 16:18:52 +02:00
< span * ngFor = "let id of item.ids" >
[< a * ngIf = "id.type !== 'openaire'" href = "{{getReferenceUrl(id)}}"
target="_blank">{{getReferenceIdName(id)}}< / a >
2020-06-29 15:15:52 +02:00
< a * ngIf = "id.type === 'openaire'" [ routerLink ] = " properties . searchLinkToResult . split ( ' ? ' ) [ 0 ] "
2020-05-21 16:18:52 +02:00
[queryParams]="{id: id.value}"
target="_blank">OpenAIRE< / a > ]
< / span >
2020-05-27 12:47:40 +02:00
< / ng-container >
< / p >
2020-05-21 16:18:52 +02:00
< / div >
2020-05-27 12:47:40 +02:00
< no-load-paging * ngIf = "resultLandingInfo.references.length > 1.5*pageSize" [ type ] = " ' references ' "
(pageChange)="updateReferencesPage($event)"
[page]="referencesPage" [pageSize]="1.5*pageSize"
[totalResults]="resultLandingInfo.references.length">
< / no-load-paging >
< / div >
< / div >
<!-- <div class="uk - width - 1 - 3@m uk - width - 1 - 1 right - column uk - padding - remove"></div> -->
< / div >
< / ng-template >
< ng-template # supplementary_tab >
< div class = "uk-grid uk-margin-remove" >
< div class = "uk-width-expand uk-padding" >
< div
*ngIf="resultLandingInfo.supplementaryResearchResults & & resultLandingInfo.supplementaryResearchResults.length > 0"
class="uk-margin-bottom">
2020-10-13 21:04:50 +02:00
< h6 > Supplementary Outcomes< / h6 >
2020-05-27 12:47:40 +02:00
< no-load-paging * ngIf = "resultLandingInfo.supplementaryResearchResults.length > pageSize"
[type]="'research outcomes'"
(pageChange)="updateSupplementaryPage($event)"
[page]="supplementaryPage" [pageSize]="pageSize"
[totalResults]="resultLandingInfo.supplementaryResearchResults.length">
< / no-load-paging >
< ul class = "uk-list uk-list-divider uk-margin" >
< li * ngFor = "let item of resultLandingInfo.supplementaryResearchResults.slice((supplementaryPage-1)*pageSize, supplementaryPage*pageSize)" >
< result-preview [ modal ] = " relationModal " [ properties ] = " properties "
[result]="getResultPreview(item)">< / result-preview >
< / li >
< / ul >
< no-load-paging * ngIf = "resultLandingInfo.supplementaryResearchResults.length > pageSize"
[type]="'research outcomes'"
(pageChange)="updateSupplementaryPage($event)"
[page]="supplementaryPage" [pageSize]="pageSize"
[totalResults]="resultLandingInfo.supplementaryResearchResults.length">
< / no-load-paging >
< / div >
< div
*ngIf="resultLandingInfo.supplementedByResearchResults & & resultLandingInfo.supplementedByResearchResults.length > 0">
2020-10-13 21:04:50 +02:00
< h6 > Outcomes Supplemented by this {{getTypeName()}}< / h6 >
2020-05-27 12:47:40 +02:00
< no-load-paging * ngIf = "resultLandingInfo.supplementedByResearchResults.length > pageSize"
[type]="'research outcomes'"
(pageChange)="updateSupplementedByPage($event)"
[page]="supplementedByPage" [pageSize]="pageSize"
[totalResults]="resultLandingInfo.supplementedByResearchResults.length">
< / no-load-paging >
< ul class = "uk-list uk-list-divider uk-margin" >
< li * ngFor = "let item of resultLandingInfo.supplementedByResearchResults.slice((supplementedByPage-1)*pageSize, supplementedByPage*pageSize)" >
< result-preview [ modal ] = " relationModal " [ properties ] = " properties "
[result]="getResultPreview(item)">< / result-preview >
< / li >
< / ul >
< no-load-paging * ngIf = "resultLandingInfo.supplementedByResearchResults.length > pageSize"
[type]="'research outcomes'"
(pageChange)="updateSupplementedByPage($event)"
[page]="supplementedByPage" [pageSize]="pageSize"
[totalResults]="resultLandingInfo.supplementedByResearchResults.length">
< / no-load-paging >
2020-05-21 16:18:52 +02:00
< / div >
2020-05-22 16:51:28 +02:00
< / div >
2020-05-27 12:47:40 +02:00
<!-- <div class="uk - width - 1 - 3@m uk - width - 1 - 1 right - column uk - padding - remove"></div> -->
< / div >
< / ng-template >
< ng-template # related_tab >
< div class = "uk-grid uk-margin-remove" >
< div class = "uk-width-expand uk-padding" >
< div
*ngIf="resultLandingInfo.relatedResearchResults & & resultLandingInfo.relatedResearchResults.length > 0"
class="uk-margin-bottom">
2020-10-13 21:04:50 +02:00
< h6 > Related research< / h6 >
2020-05-27 12:47:40 +02:00
< no-load-paging * ngIf = "resultLandingInfo.relatedResearchResults.length > pageSize"
[type]="'research outcomes'"
(pageChange)="updateRelatedPage($event)"
[page]="relatedPage" [pageSize]="pageSize"
[totalResults]="resultLandingInfo.relatedResearchResults.length">
< / no-load-paging >
< ul class = "uk-list uk-list-divider uk-margin" >
< li * ngFor = "let item of resultLandingInfo.relatedResearchResults.slice((relatedPage-1)*pageSize, relatedPage*pageSize)" >
< result-preview [ modal ] = " relationModal " [ properties ] = " properties "
[result]="getResultPreview(item)">< / result-preview >
< / li >
< / ul >
< no-load-paging * ngIf = "resultLandingInfo.relatedResearchResults.length > pageSize"
[type]="'research outcomes'"
(pageChange)="updateRelatedPage($event)"
[page]="relatedPage" [pageSize]="pageSize"
[totalResults]="resultLandingInfo.relatedResearchResults.length">
< / no-load-paging >
< / div >
< div
*ngIf="resultLandingInfo.similarResearchResults & & resultLandingInfo.similarResearchResults.length > 0">
2020-10-13 21:04:50 +02:00
< h6 > Similar Outcomes< / h6 >
2020-05-27 12:47:40 +02:00
< no-load-paging * ngIf = "resultLandingInfo.similarResearchResults.length > pageSize"
[type]="'research outcomes'"
(pageChange)="updateSimilarPage($event)"
[page]="similarPage" [pageSize]="pageSize"
[totalResults]="resultLandingInfo.similarResearchResults.length">
< / no-load-paging >
< ul class = "uk-list uk-list-divider uk-margin" >
< li * ngFor = "let item of resultLandingInfo.similarResearchResults.slice((similarPage-1)*pageSize, similarPage*pageSize)" >
< result-preview [ modal ] = " relationModal " [ properties ] = " properties "
[result]="getResultPreview(item)">< / result-preview >
< / li >
< / ul >
< no-load-paging * ngIf = "resultLandingInfo.similarResearchResults.length > pageSize"
[type]="'research outcomes'"
(pageChange)="updateSimilarPage($event)"
[page]="similarPage" [pageSize]="pageSize"
[totalResults]="resultLandingInfo.similarResearchResults.length">
< / no-load-paging >
< / div >
< / div >
<!-- <div class="uk - width - 1 - 3@m uk - width - 1 - 1 right - column uk - padding - remove"></div> -->
< / div >
< / ng-template >
< ng-template # bioentities_tab >
< div class = "uk-grid uk-margin-remove" >
< div class = "uk-width-expand uk-padding" >
< div >
< no-load-paging * ngIf = "bioentitiesNum > 2*pageSize" [ type ] = " ' bioentities ' "
(pageChange)="updateBioentitiesPage($event)"
[page]="bioentitiesPage" [pageSize]="2*pageSize"
[totalResults]="bioentitiesNum">
< / no-load-paging >
< div class = "uk-child-width-1-4@s uk-child-width-1-2 bioentities-buttons" uk-grid >
< ng-container * ngFor = "let key of getKeys(resultLandingInfo.bioentities) let i=index" >
< ng-container
*ngFor="let keyIn of keysToArray(resultLandingInfo.bioentities.get(key)).slice((bioentitiesPage-1)*2*pageSize, bioentitiesPage*2*pageSize)">
< div >
< div [ title ] = " key " * ngIf = "keyIn && !resultLandingInfo.bioentities.get(key).get(keyIn)" >
{{keyIn}}
< / div >
< a [ href ] = " resultLandingInfo . bioentities . get ( key ) . get ( keyIn ) " target = "_blank"
[title]="key" *ngIf="keyIn & & resultLandingInfo.bioentities.get(key).get(keyIn)">
{{keyIn}}
< span class = "custom-external custom-icon space" > < / span >
< / a >
< / div >
< / ng-container >
< / ng-container >
< / div >
< no-load-paging * ngIf = "bioentitiesNum > 2*pageSize" [ type ] = " ' bioentities ' "
(pageChange)="updateBioentitiesPage($event)"
[page]="bioentitiesPage" [pageSize]="2*pageSize"
[totalResults]="bioentitiesNum">
< / no-load-paging >
< / div >
< / div >
<!-- <div class="uk - width - 1 - 3@m uk - width - 1 - 1 right - column uk - padding - remove"></div> -->
< / div >
< / ng-template >
2021-04-08 12:50:11 +02:00
< ng-template # enermaps_tab >
2021-04-09 17:39:42 +02:00
< div class = "uk-padding" >
< div class = " uk-inline uk-width-expand uk-text-center " >
2021-04-08 12:50:11 +02:00
< img class = "uk-width-auto" [ src ] = " properties . enermapsURL + ' / images / ' + enermapsId + ' . png ' " alt = "Enermaps tool preview" >
2021-04-09 17:39:42 +02:00
< div class = "uk-overlay uk-overlay-default uk-position-bottom" >
< p > Visit < a
class=" uk-margin-right uk-margin-small-top"
[href]="properties.enermapsURL" target="_blank" >
Enermaps tool < span class = "custom-external custom-icon space" > < / span >
< / a > < / p >
< / div >
2021-04-08 12:50:11 +02:00
< / div >
2021-04-09 17:39:42 +02:00
< / div >
2021-04-08 12:50:11 +02:00
< / ng-template >
2020-05-29 16:15:35 +02:00
< my-tabs >
<!-- *ngIf="hasPrimaryInfo || hasSecondaryInfo" -->
<!-- [class]="(activeTab === 'summary')?'uk - active':''" -->
2020-06-29 13:10:32 +02:00
< my-tab tabTitle = "Summary"
2020-05-29 16:15:35 +02:00
[tabId]="'summary'" class="uk-active">
2020-05-27 12:47:40 +02:00
< ng-container * ngTemplateOutlet = "summary_tab;" > < / ng-container >
< / my-tab >
2020-05-29 16:15:35 +02:00
<!-- [class]="(activeTab === 'references')?'uk - active':''" -->
2020-05-27 12:47:40 +02:00
< my-tab * ngIf = "resultLandingInfo.references && resultLandingInfo.references.length > 0"
2020-05-29 16:15:35 +02:00
[tabTitle]="'references'" [tabId]="'references'"
2020-05-27 12:47:40 +02:00
[tabNumber]="resultLandingInfo.references.length">
< ng-container * ngTemplateOutlet = "references_tab;" > < / ng-container >
2020-05-22 16:51:28 +02:00
< / my-tab >
2020-05-29 16:15:35 +02:00
<!-- [class]="(activeTab === 'supplementary')?'uk - active':''" -->
2020-05-22 16:51:28 +02:00
< my-tab * ngIf = "(resultLandingInfo.supplementaryResearchResults & & resultLandingInfo . supplementaryResearchResults . length > 0) ||
(resultLandingInfo.supplementedByResearchResults & & resultLandingInfo.supplementedByResearchResults.length > 0)"
2020-05-29 16:15:35 +02:00
[tabTitle]="'Supplementary outcomes'" [tabId]="'supplementary'"
2020-05-22 16:51:28 +02:00
[tabNumber]="supplementaryResults">
2020-05-27 12:47:40 +02:00
< ng-container * ngTemplateOutlet = "supplementary_tab;" > < / ng-container >
2020-05-22 16:51:28 +02:00
< / my-tab >
2020-05-29 16:15:35 +02:00
<!-- [class]="(activeTab === 'related')?'uk - active':''" -->
2020-05-22 16:51:28 +02:00
< my-tab * ngIf = "(resultLandingInfo.relatedResearchResults & & resultLandingInfo . relatedResearchResults . length > 0) ||
(resultLandingInfo.similarResearchResults & & resultLandingInfo.similarResearchResults.length > 0)"
2020-06-29 13:10:32 +02:00
[tabTitle]="'Related research'" [tabId]="'related'"
2020-05-22 16:51:28 +02:00
[tabNumber]="relatedResultsNum">
2020-05-27 12:47:40 +02:00
< ng-container * ngTemplateOutlet = "related_tab;" > < / ng-container >
2020-05-21 16:18:52 +02:00
< / my-tab >
2020-05-29 16:15:35 +02:00
<!-- [class]="(activeTab === 'bioentities')?'uk - active':''" -->
< my-tab * ngIf = "resultLandingInfo.bioentities && bioentitiesNum> 0"
2020-05-21 16:18:52 +02:00
[tabTitle]="'External Databases'" [tabId]="'bioentities'" [tabNumber]="bioentitiesNum">
2020-05-27 12:47:40 +02:00
< ng-container * ngTemplateOutlet = "bioentities_tab;" > < / ng-container >
2020-05-21 16:18:52 +02:00
< / my-tab >
2021-04-08 12:50:11 +02:00
< my-tab * ngIf = "enermapsId && properties.enermapsURL"
[tabTitle]="'Enermaps Tool'" [tabId]="'enermaps'"
customClass="portalTab">
< ng-container * ngTemplateOutlet = "enermaps_tab;" > < / ng-container >
< / my-tab >
2020-05-20 22:34:29 +02:00
< / my-tabs >
2020-05-29 16:15:35 +02:00
< my-small-tabs >
<!-- *ngIf="hasPrimaryInfo || hasSecondaryInfo" -->
<!-- [class]="(activeTab === 'summary')?'uk - active':''" -->
2020-06-29 13:10:32 +02:00
< my-tab tabTitle = "Summary"
2020-05-29 16:15:35 +02:00
[tabId]="'summary'" class="uk-active">
2020-05-27 12:47:40 +02:00
< ng-container * ngTemplateOutlet = "summary_tab;" > < / ng-container >
< / my-tab >
2020-05-29 16:15:35 +02:00
<!-- [class]="(activeTab === 'references')?'uk - active':''" -->
2020-05-27 12:47:40 +02:00
< my-tab * ngIf = "resultLandingInfo.references && resultLandingInfo.references.length > 0"
2020-05-29 16:15:35 +02:00
[tabTitle]="'references'" [tabId]="'references'"
2020-05-27 12:47:40 +02:00
[tabNumber]="resultLandingInfo.references.length">
< ng-container * ngTemplateOutlet = "references_tab;" > < / ng-container >
< / my-tab >
2020-05-29 16:15:35 +02:00
<!-- [class]="(activeTab === 'supplementary')?'uk - active':''" -->
2020-05-27 12:47:40 +02:00
< my-tab * ngIf = "(resultLandingInfo.supplementaryResearchResults & & resultLandingInfo . supplementaryResearchResults . length > 0) ||
(resultLandingInfo.supplementedByResearchResults & & resultLandingInfo.supplementedByResearchResults.length > 0)"
2020-05-29 16:15:35 +02:00
[tabTitle]="'Supplementary outcomes'" [tabId]="'supplementary'"
2020-05-27 12:47:40 +02:00
[tabNumber]="supplementaryResults">
< ng-container * ngTemplateOutlet = "supplementary_tab;" > < / ng-container >
< / my-tab >
2020-05-29 16:15:35 +02:00
<!-- [class]="(activeTab === 'related')?'uk - active':''" -->
2020-05-27 12:47:40 +02:00
< my-tab * ngIf = "(resultLandingInfo.relatedResearchResults & & resultLandingInfo . relatedResearchResults . length > 0) ||
(resultLandingInfo.similarResearchResults & & resultLandingInfo.similarResearchResults.length > 0)"
2020-06-29 13:10:32 +02:00
[tabTitle]="'Related research'" [tabId]="'related'"
2020-05-27 12:47:40 +02:00
[tabNumber]="relatedResultsNum">
< ng-container * ngTemplateOutlet = "related_tab;" > < / ng-container >
< / my-tab >
2020-05-29 16:15:35 +02:00
<!-- [class]="(activeTab === 'bioentities')?'uk - active':''" -->
< my-tab * ngIf = "resultLandingInfo.bioentities && bioentitiesNum> 0"
2020-05-27 12:47:40 +02:00
[tabTitle]="'External Databases'" [tabId]="'bioentities'" [tabNumber]="bioentitiesNum">
< ng-container * ngTemplateOutlet = "bioentities_tab;" > < / ng-container >
< / my-tab >
2021-04-08 12:50:11 +02:00
< my-tab * ngIf = "enermapsId && properties.enermapsURL"
[tabTitle]="'Enermaps Tool'" [tabId]="'enermaps'"
customClass="portalTab">
< ng-container * ngTemplateOutlet = "enermaps_tab;" > < / ng-container >
< / my-tab >
2020-05-27 12:47:40 +02:00
< / my-small-tabs >
2020-05-20 22:34:29 +02:00
< / div >
< div class = "uk-margin-small-top uk-flex" >
<!-- Last Index Info -->
2020-05-26 16:53:22 +02:00
< div class = "uk-width-2-3@m uk-width-1-2" >
2020-05-20 22:34:29 +02:00
< img src = "assets/common-assets/graph.svg" style = "opacity: 0.4" >
2020-11-24 09:21:36 +01:00
< span class = "uk-margin-small-left uk-text-baseline uk-text-muted" > Powered by < a href = "https://graph.openaire.eu" class = "graph-color" > OpenAIRE Research Graph< / a > < / span >
2020-06-10 13:05:59 +02:00
< span * ngIf = "indexUpdateDate" class = "uk-text-baseline uk-text-muted" >
2020-05-26 16:53:22 +02:00
. Last update of records in OpenAIRE: {{indexUpdateDate | date: 'MMM dd, yyyy'}}
2020-05-20 22:34:29 +02:00
< / span >
< / div >
<!-- Feedback -->
2020-05-26 16:53:22 +02:00
< div class = "uk-width-expand uk-text-right" >
2020-05-20 22:34:29 +02:00
< span class = "uk-text-muted" > Any information missing or wrong?< / span >
< a ( click ) = " showFeedback = true; scroll ( ) " class = "portal-link space" > Report an Issue< / a >
< / div >
< / div >
<!-- B2 Note -->
2021-01-05 14:25:02 +01:00
< div * ngIf = "properties.b2noteAPIURL && resultLandingInfo" class = "uk-margin-medium-top" >
2021-01-13 14:00:41 +01:00
< b2note # annotation [ id ] = " id " [ landingInfo ] = " resultLandingInfo " ( pidEmitter ) = " pidInit ( $ event ) " > < / b2note >
2020-03-16 14:09:46 +01:00
< / div >
2019-07-22 11:16:50 +02:00
< / div >
2017-12-19 13:53:46 +01:00
< / div >
2019-07-23 14:23:12 +02:00
< helper * ngIf = "pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
2019-07-24 14:46:29 +02:00
[texts]="pageContents['bottom']">< / helper >
2019-07-23 16:04:49 +02:00
< / div >
2019-07-23 14:23:12 +02:00
2019-07-22 11:16:50 +02:00
< / div >
< / div >
2020-03-27 11:06:09 +01:00
< feedback * ngIf = "resultLandingInfo" [ resultLandingInfo ] = " resultLandingInfo "
2020-03-16 14:09:46 +01:00
[properties]="properties" [entityType]="getTypeName()" [fields]="feedbackFields"
2020-05-20 22:34:29 +02:00
[showForm]="showFeedback" (show)="showFeedback = $event;">< / feedback >
2019-09-05 10:49:33 +02:00
< / div >
2020-05-25 20:58:13 +02:00
<!-- Other versions -->
< modal-alert * ngIf = "resultLandingInfo && resultLandingInfo.deletedByInferenceIds"
#AlertModalDeletedByInference classBody="uk-width-xxlarge uk-padding-remove-right">
< landing-header [ properties ] = " properties " [ title ] = " resultLandingInfo . title " [ modal ] = " AlertModalDeletedByInference "
[subTitle]="resultLandingInfo.subtitle" [authorLimit]="10" [showAllAuthors]="false"
titleClass="title-grey-background"
[entityType]="getTypeName()" [authors]="resultLandingInfo.authors" [types]="resultLandingInfo.types"
2020-11-12 10:51:34 +01:00
[year]="resultLandingInfo.date" [embargoEndDate]="resultLandingInfo.embargoEndDate"
[isTitleH1]="false">
2020-05-25 20:58:13 +02:00
< / landing-header >
< div class = "uk-margin-medium-top uk-margin-medium-right" >
< deletedByInference * ngIf = "type == 'publication' && deleteByInferenceOpened"
[id]="resultLandingInfo.record['result']['header']['dri:objIdentifier']"
[ids]="resultLandingInfo.deletedByInferenceIds"
[modal]="AlertModalDeletedByInference"
[resultType]="type" [type]="'publications'">< / deletedByInference >
< deletedByInference * ngIf = "type == 'dataset' && deleteByInferenceOpened"
[id]="resultLandingInfo.record['result']['header']['dri:objIdentifier']"
[ids]="resultLandingInfo.deletedByInferenceIds"
[modal]="AlertModalDeletedByInference"
[resultType]="'dataset'" [type]="'research data'">< / deletedByInference >
< deletedByInference * ngIf = "type == 'software' && deleteByInferenceOpened"
[id]="resultLandingInfo.record['result']['header']['dri:objIdentifier']"
[ids]="resultLandingInfo.deletedByInferenceIds"
[modal]="AlertModalDeletedByInference"
[resultType]="type" [type]="'software'">< / deletedByInference >
< deletedByInference * ngIf = "type == 'orp' && deleteByInferenceOpened"
[id]="resultLandingInfo.record['result']['header']['dri:objIdentifier']"
[ids]="resultLandingInfo.deletedByInferenceIds"
[modal]="AlertModalDeletedByInference"
[resultType]="'other'" [type]="'other research products'">< / deletedByInference >
< / div >
< / modal-alert >
2020-05-21 16:18:52 +02:00
< modal-alert # linkModal [ classTitle ] = " ' landing-modal-header uk-padding-small ' "
[classBody]="'uk-padding-remove landing-modal'">
2020-05-29 16:15:35 +02:00
< div class = "uk-grid uk-child-width-1-3 uk-flex uk-flex-middle uk-margin-medium" >
2020-05-20 14:56:21 +02:00
< div class = "uk-text-center" >
< a [ queryParams ] = " routerHelper . createQueryParams ( [ ' id ' , ' type ' , ' linkTo ' ] , [ id , type , ' project ' ] ) "
2020-07-06 19:46:11 +02:00
routerLinkActive="router-link-active" routerLink="/participate/direct-claim"
(click)="linkModal.cancel();">
2020-05-20 14:56:21 +02:00
< button class = "uk-icon-button portal-button" >
< span class = "uk-icon" >
< svg height = "20" icon = "album" ratio = "1" viewBox = "0 0 20 20" width = "20"
xmlns="http://www.w3.org/2000/svg">< rect height = "1" width = "10" x = "5" y = "2" > < / rect > < rect
height="1" width="14" x="3" y="4">< / rect > < rect fill = "none" height = "11" stroke = "#000"
width="17" x="1.5"
y="6.5">< / rect > < / svg >
< / span >
< / button >
2020-05-29 16:15:35 +02:00
< div class = "uk-margin-small-top" > Projects< / div >
2020-05-20 14:56:21 +02:00
< / a >
< / div >
< div class = "uk-text-center" >
< a [ queryParams ] = " routerHelper . createQueryParams ( [ ' id ' , ' type ' , ' linkTo ' ] , [ id , type , ' result ' ] ) "
2020-07-06 19:46:11 +02:00
routerLinkActive="router-link-active" routerLink="/participate/direct-claim"
(click)="linkModal.cancel();">
2020-05-20 14:56:21 +02:00
< button class = "uk-icon-button portal-button" >
< span class = "uk-icon" >
< svg height = "20" icon = "copy" ratio = "1" viewBox = "0 0 20 20" width = "20"
xmlns="http://www.w3.org/2000/svg">< rect fill = "none" height = "16" stroke = "#000"
width="12" x="3.5" y="2.5">< / rect > < polyline
fill="none" points="5 0.5 17.5 0.5 17.5 17" stroke="#000">< / polyline > < / svg >
< / span >
< / button >
2020-05-29 16:15:35 +02:00
< div class = "uk-margin-small-top" > Research outcomes< / div >
2020-05-20 14:56:21 +02:00
< / a > < / div >
< div class = "uk-text-center" >
< a [ queryParams ] = " routerHelper . createQueryParams ( [ ' id ' , ' type ' , ' linkTo ' ] , [ id , type , ' context ' ] ) "
2020-07-06 19:46:11 +02:00
routerLinkActive="router-link-active" routerLink="/participate/direct-claim"
(click)="linkModal.cancel();">
2020-05-20 14:56:21 +02:00
< button class = "uk-icon-button portal-button" >
< span class = "uk-icon" >
< svg height = "20" icon = "users" ratio = "1" viewBox = "0 0 20 20" width = "20"
xmlns="http://www.w3.org/2000/svg">< circle cx = "7.7" cy = "8.6" fill = "none" r = "3.5"
stroke="#000" stroke-width="1.1">< / circle > < path
d="M1,18.1 C1.7,14.6 4.4,12.1 7.6,12.1 C10.9,12.1 13.7,14.8 14.3,18.3" fill="none"
stroke="#000" stroke-width="1.1">< / path > < path
d="M11.4,4 C12.8,2.4 15.4,2.8 16.3,4.7 C17.2,6.6 15.7,8.9 13.6,8.9 C16.5,8.9 18.8,11.3 19.2,14.1"
fill="none" stroke="#000" stroke-width="1.1">< / path > < / svg >
< / span >
< / button >
2020-05-29 16:15:35 +02:00
< div class = "uk-margin-small-top" > Communities< / div >
2020-05-20 14:56:21 +02:00
< / a > < / div >
< / div >
< / modal-alert >
2020-05-21 16:18:52 +02:00
< modal-alert # citeModal [ classTitle ] = " ' landing-modal-header uk-padding-small ' "
[classBody]="'uk-padding-remove landing-modal'">
2021-02-10 13:50:02 +01:00
< citeThis * ngIf = "resultLandingInfo && citeThisClicked" [ result ] = " resultLandingInfo " [ id ] = " id "
[type]="title.toLowerCase()" [piwikSiteId]="piwikSiteId">< / citeThis >
2020-05-20 14:56:21 +02:00
< / modal-alert >
2019-07-23 14:23:12 +02:00