2022-04-20 16:40:18 +02:00
< div id = "tm-main" class = "landing uk-section uk-padding-remove tm-middle" >
2022-04-04 11:14:54 +02:00
< div class = "tm-main" >
2022-05-05 19:54:01 +02:00
< div class = "publication" >
2023-03-16 16:53:28 +01:00
< div * ngIf = "properties.adminToolsPortalType == 'eosc'" class = "eosc-explore-back-search-bar" >
< div class = "uk-light uk-container uk-container-large uk-padding-small uk-height-1-1" >
< div class = "uk-flex uk-flex-inline uk-flex-middle uk-height-1-1" >
2023-04-20 19:06:53 +02:00
< a [ href ] = " eoscBackLink " target = "_self" class = "uk-link-reset uk-flex uk-flex-middle uk-text-light uk-text-small" >
2023-03-16 16:53:28 +01:00
< icon name = "arrow_back" visuallyHidden = "back" flex = "true" ratio = "0.7" customClass = "uk-text-light" > < / icon >
< span class = "uk-margin-small-left" > Go to Search< / span >
< / a >
< / div >
< / div >
< / div >
2022-06-02 15:11:24 +02:00
< div * ngIf = "!showFeedback" class = "uk-grid uk-margin-remove-left" uk-grid >
2022-04-04 11:14:54 +02:00
2022-06-09 16:51:58 +02:00
<!-- left box/sidebar - actions -->
2022-07-17 15:01:39 +02:00
< div id = "landing-left-sidebar" * ngIf = "resultLandingInfo" class = "uk-visible@s uk-padding-remove-horizontal" >
< div class = "uk-flex uk-flex-column uk-flex-between uk-flex-center uk-sticky"
2022-04-04 11:14:54 +02:00
uk-sticky="bottom: true" [attr.offset]="offset">
2022-04-20 16:40:18 +02:00
< div class = "uk-align-center uk-text-center uk-margin-medium-top uk-flex uk-flex-column uk-flex-between" >
2022-04-04 11:14:54 +02:00
< ng-container * ngIf = "resultLandingInfo && (hasAltMetrics || hasMetrics)" >
< metrics * ngIf = "hasMetrics" class = "uk-margin-bottom"
[pageViews]="pageViews"
[id]="id" [entityType]="'results'" [entity]="title"
[viewsFrameUrl]="viewsFrameUrl" [downloadsFrameUrl]="downloadsFrameUrl"
2023-04-20 19:06:53 +02:00
(metricsResults)="metricsResults($event)" [properties]=properties
[prevPath]="prevPath">
2022-04-04 11:14:54 +02:00
< / metrics >
< altmetrics * ngIf = "hasAltMetrics" id = "{{resultLandingInfo.identifiers?.get('doi')[0]}}" type = "doi" > < / altmetrics >
< / ng-container >
< / div >
2022-04-12 14:15:04 +02:00
< div class = "uk-margin-large-bottom uk-align-center" >
2022-05-13 13:51:53 +02:00
< div class = "uk-text-meta uk-text-uppercase" > Actions< / div >
2022-04-12 14:15:04 +02:00
< ul class = "uk-list" >
<!-- Share -->
2022-04-20 16:40:18 +02:00
< li class = "uk-text-center" >
< a ( click ) = " openAddThisModal ( ) "
[title]="'Share this '+getTypeName() + ' in your social networks'"
2022-07-17 15:01:39 +02:00
[attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'">
2022-04-20 16:40:18 +02:00
< span class = "uk-icon-button uk-icon landing-action-button landing-action-button-portal" >
< icon name = "share" visuallyHidden = "share" > < / icon >
< / span >
< / a >
< / li >
2022-04-12 14:15:04 +02:00
<!-- Link to -->
< li * ngIf = "isRouteAvailable('participate/direct-claim')" class = "uk-text-center"
2022-04-28 11:13:06 +02:00
[title]="'< span class = \'uk-flex uk-flex-middle \ ' > Link this '+getTypeName()+' to ...< span class = \'material-icons uk-margin-small-left \ ' > east< / span > < / span > '"
2022-07-17 15:01:39 +02:00
[attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'">
2022-04-12 14:20:43 +02:00
< a [ queryParams ] = " routerHelper . createQueryParams ( [ ' id ' , ' type ' , ' linkTo ' ] , [ id , type , ' project ' ] ) "
routerLinkActive="router-link-active" routerLink="/participate/direct-claim">
2022-04-12 14:15:04 +02:00
< span class = "uk-icon-button uk-icon landing-action-button landing-action-button-portal" >
2022-04-20 16:40:18 +02:00
< icon name = "link" visuallyHidden = "link" > < / icon >
2022-04-12 14:15:04 +02:00
< / span >
< / a >
< / li >
<!-- Cite this -->
< li class = "uk-text-center" >
< a ( click ) = " openCiteModal ( ) "
[title]="'Cite this '+getTypeName()"
2022-07-17 15:01:39 +02:00
[attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'">
2022-04-12 14:15:04 +02:00
< span class = "uk-icon-button uk-icon landing-action-button landing-action-button-portal" >
2022-04-20 16:40:18 +02:00
< icon name = "quotes" visuallyHidden = "cite" > < / icon >
2022-04-12 14:15:04 +02:00
< / span >
< / a >
< / li >
<!-- ORCID -->
2022-11-09 12:41:33 +01:00
< li * ngIf = "properties.adminToolsPortalType == 'explore' || properties.adminToolsPortalType == 'community' || properties.adminToolsPortalType == 'aggregator'"
2022-04-12 14:15:04 +02:00
class="uk-text-center">
< orcid-work [ resultId ] = " id " [ resultTitle ] = " resultLandingInfo . title " [ resultLandingInfo ] = " resultLandingInfo "
[pids]="pidsArrayString" [pageType]="'landing'">
< / orcid-work >
2022-05-18 12:30:00 +02:00
< / li >
< li * ngIf = " properties . enableEoscDataTransfer & & resultLandingInfo . resultType = = ' dataset ' & &
2022-11-11 10:55:15 +01:00
resultLandingInfo.identifiers & & resultLandingInfo.identifiers.get('doi')"
2022-05-18 12:30:00 +02:00
class="uk-text-center">
< egi-transfer-data [ dois ] = " resultLandingInfo . identifiers . get ( ' doi ' ) " [ isOpen ] = " egiTransferModalOpen " > < / egi-transfer-data >
< / li >
2022-04-12 14:15:04 +02:00
< / ul >
< / div >
2022-04-04 11:14:54 +02:00
< / div >
2020-07-10 10:37:17 +02:00
< / div >
2022-04-04 11:14:54 +02:00
<!-- center box -->
2022-05-05 19:54:01 +02:00
< div class = "uk-width-expand uk-padding-remove uk-background-default" >
2022-07-17 15:01:39 +02:00
< div * ngIf = "errorMessage.length > 0 || showLoading" class = "uk-container uk-flex uk-flex-center uk-height-viewport uk-position-relative" >
2022-06-01 14:29:19 +02:00
< 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 >
2022-04-20 16:40:18 +02:00
< ng-template # graph_and_feedback_template >
2023-03-27 13:29:45 +02:00
< div class = "uk-flex uk-flex-between uk-flex-wrap uk-margin-small-bottom uk-margin-small-top" [ class . uk-invisible ] = " ! resultLandingInfo " >
2022-04-20 16:40:18 +02:00
<!-- Last Index Info -->
2023-03-27 13:29:45 +02:00
< a href = "https://graph.openaire.eu" target = "_blank" class = "uk-width-1-1 uk-width-auto@l" >
2023-03-28 18:27:02 +02:00
< img src = "assets/common-assets/openaire-badge-1.png" alt = "Powered by OpenAIRE graph" style = "height: 15px;" >
2023-03-27 13:29:45 +02:00
< / a >
< span * ngIf = "indexUpdateDate" class = "uk-text-baseline uk-text-meta uk-width-1-1 uk-width-auto@l" >
Last update of records in OpenAIRE: {{indexUpdateDate | date: 'MMM dd, yyyy'}}
< / span >
2022-04-20 16:40:18 +02:00
<!-- Feedback -->
2023-03-27 13:29:45 +02:00
< div * ngIf = "properties.reCaptchaSiteKey" class = "uk-width-1-1 uk-width-auto@l" >
2023-03-28 18:27:02 +02:00
< span class = "uk-text-meta uk-text-xsmall" > Found an issue? < / span >
2022-06-09 15:45:39 +02:00
< a ( click ) = " feedbackClicked ( ) " class = "uk-text-xsmall" > Give us feedback< / a >
2022-04-20 16:40:18 +02:00
< / div >
< / div >
< / ng-template >
2022-07-17 15:01:39 +02:00
< div # graph_and_feedback id = "graph_and_feedback" class = "uk-padding uk-padding-remove-vertical uk-blur-background uk-text-xsmall uk-visible@m"
2022-05-03 10:52:07 +02:00
uk-sticky="bottom: true;" [attr.offset]="graph_offset">
2022-04-20 16:40:18 +02:00
< ng-container * ngTemplateOutlet = "graph_and_feedback_template" > < / ng-container >
< / div >
2022-06-01 14:29:19 +02:00
< div class = "uk-margin-large-left uk-margin-large-right" [ style ] = " ' margin-bottom: ' + graph_height + ' px ' " >
2022-05-05 19:54:01 +02:00
< ng-container * ngIf = "resultLandingInfo" >
<!-- in small screens there is no sticky #graph_and_feedback so margin - top is medium (40px) -->
<!-- else margin is medium (40px) - the actual height of uk - sticky - placeholder (graph_height - 20px - > margins of #graph_and_feedback) -->
< div [ attr . style ] = " ' margin-top: ' + ( graph_height ? ' calc ( 40px + 20px - ' + graph_height + ' px ) ' : ' 40px ' ) " >
<!-- schema.org -->
< schema2jsonld * ngIf = "resultLandingInfo.record" [ data ] = resultLandingInfo . record
2022-06-22 15:13:28 +02:00
[URL]="canonicalUrl"
[searchActionRoute]="properties.searchLinkToResults">< / schema2jsonld >
<!-- Actions for mobile viewport -->
2022-06-02 14:17:30 +02:00
< div class = "uk-flex uk-flex-right uk-margin-medium-bottom uk-hidden@s" >
<!-- Share -->
< div class = "uk-margin-small-right" >
< a ( click ) = " openAddThisModal ( ) "
[title]="'Share this '+getTypeName() + ' in your social networks'"
2022-07-17 15:01:39 +02:00
[attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'">
2022-06-02 14:17:30 +02:00
< span class = "uk-icon-button uk-icon landing-action-button landing-action-button-portal" >
< icon name = "share" visuallyHidden = "share" > < / icon >
< / span >
< / a >
< / div >
<!-- Link to -->
< div * ngIf = "isRouteAvailable('participate/direct-claim')" class = "uk-margin-small-right"
[title]="'< span class = \'uk-flex uk-flex-middle \ ' > Link this '+getTypeName()+' to ...< span class = \'material-icons uk-margin-small-left \ ' > east< / span > < / span > '"
2022-07-17 15:01:39 +02:00
[attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'">
2022-06-02 14:17:30 +02:00
< a [ queryParams ] = " routerHelper . createQueryParams ( [ ' id ' , ' type ' , ' linkTo ' ] , [ id , type , ' project ' ] ) "
routerLinkActive="router-link-active" routerLink="/participate/direct-claim">
< span class = "uk-icon-button uk-icon landing-action-button landing-action-button-portal" >
< icon name = "link" visuallyHidden = "link" > < / icon >
< / span >
< / a >
< / div >
<!-- Cite this -->
< div class = "uk-margin-small-right" >
< a ( click ) = " openCiteModal ( ) "
[title]="'Cite this '+getTypeName()"
2022-07-17 15:01:39 +02:00
[attr.uk-tooltip]="'pos: right; cls: uk-active uk-text-small uk-padding-small'">
2022-06-02 14:17:30 +02:00
< span class = "uk-icon-button uk-icon landing-action-button landing-action-button-portal" >
< icon name = "quotes" visuallyHidden = "cite" > < / icon >
< / span >
< / a >
< / div >
<!-- ORCID -->
2022-11-09 12:41:33 +01:00
< div * ngIf = "properties.adminToolsPortalType == 'explore' || properties.adminToolsPortalType == 'community' || properties.adminToolsPortalType == 'aggregator'"
2022-06-02 14:17:30 +02:00
class="uk-margin-small-right">
< orcid-work [ resultId ] = " id " [ resultTitle ] = " resultLandingInfo . title " [ resultLandingInfo ] = " resultLandingInfo "
[pids]="pidsArrayString" [pageType]="'landing'">
< / orcid-work >
< / div >
< div * ngIf = " properties . enableEoscDataTransfer & & resultLandingInfo . resultType = = ' dataset ' & &
2022-11-11 10:55:15 +01:00
resultLandingInfo.identifiers & & resultLandingInfo.identifiers.get('doi')"
2022-06-02 14:17:30 +02:00
class="">
< egi-transfer-data [ dois ] = " resultLandingInfo . identifiers . get ( ' doi ' ) " [ isOpen ] = " egiTransferModalOpen " > < / egi-transfer-data >
< / div >
< / div >
2022-05-05 19:54:01 +02:00
< helper * ngIf = "pageContents && pageContents['top'] && pageContents['top'].length > 0"
[texts]="pageContents['top']">< / helper >
2022-04-20 16:40:18 +02:00
2022-05-05 19:54:01 +02:00
< span * ngIf = "resultLandingInfo.deletedByInferenceIds" class = "uk-text-primary uk-flex uk-flex-middle" >
< 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 {{resultLandingInfo.deletedByInferenceIds.length}} versions
< / a >
< / span >
< landing-header [ properties ] = " properties " [ title ] = " resultLandingInfo . title "
[subTitle]="resultLandingInfo.subtitle"
[authors]="resultLandingInfo.authors"
[underCuration]="resultLandingInfo.underCurationMessage"
[entityType]="getTypeName()" [types]="resultLandingInfo.types"
[year]="resultLandingInfo.date" [embargoEndDate]="resultLandingInfo.embargoEndDate">
< / landing-header >
<!-- Labels -->
2022-07-17 15:01:39 +02:00
< div class = "uk-margin-bottom uk-grid uk-grid-small uk-flex-middle" uk-grid >
< ng-container * ngIf = "resultLandingInfo.accessMode && resultLandingInfo.accessMode.toLowerCase() !== 'not available'" >
< div >
< span [ class ] = " ' uk-label uk-text-truncate ' + ( accessClass ( resultLandingInfo . accessMode ) = = ' open ' ? ' uk-label-success ' : ' ' ) "
title="Access Mode">{{resultLandingInfo.accessMode}}
2022-05-05 19:54:01 +02:00
< / span >
2022-07-17 15:01:39 +02:00
< / div >
< / ng-container >
< ng-container * ngIf = "resultLandingInfo.languages & &
removeUnknown(resultLandingInfo.languages).length > 0">
< ng-container * ngFor = "let language of removeUnknown(resultLandingInfo.languages)" >
< div >
< span class = "uk-label custom-label label-language" title = "Language" > {{language}}< / span >
< / div >
< / ng-container >
< / ng-container >
< ng-container * ngIf = "resultLandingInfo.programmingLanguages && resultLandingInfo.programmingLanguages.length > 0" >
< ng-container * ngFor = "let programmingLanguage of resultLandingInfo.programmingLanguages" >
< div >
< span class = "uk-label custom-label label-language"
title="Programming Language">{{programmingLanguage}}< / span >
< / div >
< / ng-container >
< / ng-container >
2022-05-05 19:54:01 +02:00
< / div >
< div class = "uk-text-small" >
<!-- Identifiers -->
< div * ngIf = "resultLandingInfo.identifiers && resultLandingInfo.identifiers.size > 0" class = "uk-margin-small-top" >
< showIdentifiers [ identifiers ] = " resultLandingInfo . identifiers " [ showViewAll ] = " true " > < / showIdentifiers >
< / div >
<!-- Published Date, Journal and Publisher -->
< div showPublisher [ publisher ] = " resultLandingInfo . publisher "
[publishDate]="resultLandingInfo.dateofacceptance"
[journal]="resultLandingInfo.journal" [properties]="properties" class="uk-margin-small-top">< / div >
<!-- Countries -->
< div * ngIf = "resultLandingInfo.countries && resultLandingInfo.countries.length > 0" class = "uk-margin-small-top" >
< span class = "uk-text-meta" >
{{(resultLandingInfo.countries.length === 1) ? 'Country: ' : 'Countries: '}}
< / span >
{{resultLandingInfo.countries.join(", ")}}
< / div >
< / div >
2022-04-12 14:15:04 +02:00
< / div >
2022-07-17 15:01:39 +02:00
< div id = "main-tabs-div" class = "uk-sticky uk-blur-background"
uk-sticky="bottom: true; media: @m" [attr.offset]="offset">
2022-05-05 19:54:01 +02:00
< div class = "uk-padding uk-padding-remove-horizontal uk-padding-remove-bottom" >
2022-05-30 09:39:10 +02:00
< landing-header * ngIf = "stickyHeader" class = "uk-visible@m"
[properties]="properties" [title]="resultLandingInfo.title"
[subTitle]="resultLandingInfo.subtitle"
[authors]="resultLandingInfo.authors"
[underCuration]="resultLandingInfo.underCurationMessage"
[entityType]="getTypeName()" [types]="resultLandingInfo.types"
[year]="resultLandingInfo.date" [embargoEndDate]="resultLandingInfo.embargoEndDate"
isSticky="true">
< / landing-header >
<!-- <showTitle *ngIf="stickyHeader" [titleName]="resultLandingInfo.title" classNames="uk - margin - remove - bottom" class="uk - visible@m"></showTitle> -->
2022-05-05 19:54:01 +02:00
< my-tabs ( selectedActiveTab ) = " onSelectActiveTab ( $ event ) " [ offsetForSticky ] = " offset " [ ( isSticky ) ] = " stickyHeader " >
< my-tab tabTitle = "Summary" [ tabId ] = " ' summary ' " [ active ] = " true " > < / my-tab >
< my-tab * ngIf = "resultLandingInfo.references && resultLandingInfo.references.length > 0"
[tabTitle]="'References'" [tabId]="'references'"
[tabNumber]="resultLandingInfo.references.length">
< / my-tab >
< my-tab * ngIf = "resultLandingInfo.relatedResults?.length > 0"
[tabTitle]="'Related research'" [tabId]="'all_related'"
[tabNumber]="resultLandingInfo.relatedResults.length">
< / my-tab >
< my-tab * ngIf = "resultLandingInfo.bioentities && bioentitiesNum> 0"
[tabTitle]="'External Databases'" [tabId]="'bioentities'" [tabNumber]="bioentitiesNum">
< / my-tab >
< my-tab * ngIf = "enermapsId && properties.enermapsURL"
[tabTitle]="'Enermaps Tool'" [tabId]="'enermaps'"
customClass="portalTab">
< / my-tab >
< / my-tabs >
2022-04-12 14:15:04 +02:00
< / div >
2022-05-05 19:54:01 +02:00
< / div >
< div id = "landing-sections" class = "uk-text-small" >
< ng-container >
< div id = "summary" class = "landing-section landing-section-height-auto uk-padding uk-padding-remove-horizontal" >
< div * ngIf = "!hasPrimaryInfo" class = "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
2022-04-12 14:15:04 +02:00
< / div >
2022-05-05 19:54:01 +02:00
< / div >
< div * ngIf = "hasPrimaryInfo" >
<!-- Description -->
2022-09-21 12:32:21 +02:00
< div * ngIf = "resultLandingInfo.description" class = "uk-margin-medium-bottom" >
2022-05-05 19:54:01 +02:00
< div class = "uk-text-justify " >
< div class = "uk-text-meta" > Abstract< / div >
2022-09-21 12:32:21 +02:00
< div class = "multi-line-ellipsis lines-10" >
< div # descriptionDiv class = "uk-margin-small-bottom"
[innerHTML]="resultLandingInfo.description">< / div >
2022-05-05 19:54:01 +02:00
< / div >
2022-09-21 12:32:21 +02:00
< div * ngIf = "showViewMoreButton" class = "uk-flex uk-flex-right" >
< a ( click ) = " openDescriptionModal ( ) ; " class = "view-more-less-link" >
View more
< / a >
< / div >
2022-05-05 19:54:01 +02:00
< / div >
< / div >
< div * ngIf = "resultLandingInfo.subjects | | resultLandingInfo . otherSubjects | |
resultLandingInfo.classifiedSubjects" class="uk-margin-medium-bottom">
< showSubjects [ subjects ] = " resultLandingInfo . subjects "
[otherSubjects]="resultLandingInfo.otherSubjects"
2022-08-30 10:35:42 +02:00
[classifiedSubjects]="resultLandingInfo.classifiedSubjects"
[eoscSubjects]="resultLandingInfo.eoscSubjects">
2022-05-05 19:54:01 +02:00
< / 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-meta uk-margin-small-bottom" > Related {{openaireEntities.ORGANIZATIONS}}< / div >
< ng-container * ngTemplateOutlet = "organizations_template; context: { threshold: lessBtnOrganizations ? resultLandingInfo.organizations.length : thresholdOrganizations }" > < / ng-container >
< div * ngIf = "resultLandingInfo.organizations.length > thresholdOrganizations && !lessBtnOrganizations"
class="uk-text-center">
2022-06-09 15:45:39 +02:00
< a ( click ) = " viewAllOrganizationsClick ( ) ; " class = "view-more-less-link" >
View all
2022-05-05 19:54:01 +02:00
< / a >
< / div >
< div * ngIf = "viewAllOrganizations && lessBtnOrganizations" class = "uk-text-center" >
2022-06-09 15:45:39 +02:00
< a ( click ) = " viewAllOrganizations = !viewAllOrganizations; lessBtnOrganizations = false;" class = "view-more-less-link" > View less< / a >
2022-05-05 19:54:01 +02:00
< / div >
< / div >
2022-04-12 14:15:04 +02:00
< / div >
< / div >
2022-05-05 19:54:01 +02:00
< / ng-container >
< ng-container * ngIf = "resultLandingInfo.references && resultLandingInfo.references.length > 0" >
< div id = "references" class = "landing-section uk-padding uk-padding-remove-horizontal" >
< results-and-pages * ngIf = "resultLandingInfo.references.length > pageSize" [ type ] = " ' references ' "
[page]="referencesPage" [pageSize]="pageSize"
[totalResults]="resultLandingInfo.references.length">
< / results-and-pages >
< div
*ngFor="let item of resultLandingInfo.references.slice((referencesPage-1)*pageSize, referencesPage*pageSize)">
< p * ngIf = "item" >
{{item.name}}
< ng-container * ngIf = "item.ids && item.ids.length > 0" >
< span * ngFor = "let id of item.ids" >
[< a * ngIf = "id.type !== 'openaire'" href = "{{getReferenceUrl(id)}}"
target="_blank">{{getReferenceIdName(id)}}< / a >
< a * ngIf = "id.type === 'openaire'" [ routerLink ] = " properties . searchLinkToResult . split ( ' ? ' ) [ 0 ] "
2023-04-20 19:06:53 +02:00
[queryParams]="addEoscPrevInParams({id: id.value})"
2022-05-05 19:54:01 +02:00
target="_blank">OpenAIRE< / a > ]
< / span >
< / ng-container >
< / p >
2022-04-12 14:15:04 +02:00
< / div >
2022-05-05 19:54:01 +02:00
< paging-no-load * ngIf = "resultLandingInfo.references.length > pageSize"
(pageChange)="updateReferencesPage($event)"
[currentPage]="referencesPage" [size]="pageSize"
[totalResults]="resultLandingInfo.references.length">
< / paging-no-load >
< / div >
< / ng-container >
< ng-container * ngIf = "resultLandingInfo.relatedResults?.length > 0" >
< div id = "all_related" class = "landing-section uk-padding uk-padding-remove-horizontal" >
< ng-container * ngTemplateOutlet = "relation_in_tab; context: { researchResults: filteredRelatedResults, header: ''}" > < / ng-container >
< / div >
< / ng-container >
< ng-container * ngIf = "resultLandingInfo.bioentities && bioentitiesNum> 0" >
< div id = "bioentities" class = "landing-section uk-padding uk-padding-remove-horizontal" >
< results-and-pages * ngIf = "bioentitiesNum > 2*pageSize" [ type ] = " ' bioentities ' "
[page]="bioentitiesPage" [pageSize]="2*pageSize"
[totalResults]="bioentitiesNum">
< / results-and-pages >
< div class = "uk-text-center uk-child-width-1-4@s uk-child-width-1-2 uk-grid uk-grid-medium uk-margin-bottom" 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)"
class="uk-card uk-card-default uk-card-body">
{{keyIn}}
< / div >
< a [ href ] = " resultLandingInfo . bioentities . get ( key ) . get ( keyIn ) " target = "_blank"
[title]="key" *ngIf="keyIn & & resultLandingInfo.bioentities.get(key).get(keyIn)"
class="uk-card uk-card-default uk-card-hover uk-card-body custom-external">
{{keyIn}}
< / a >
< / div >
< / ng-container >
< / ng-container >
2022-04-12 14:15:04 +02:00
< / div >
2022-05-05 19:54:01 +02:00
< paging-no-load * ngIf = "bioentitiesNum > 2*pageSize"
(pageChange)="updateBioentitiesPage($event)"
[currentPage]="bioentitiesPage" [size]="2*pageSize"
[totalResults]="bioentitiesNum">
< / paging-no-load >
2022-04-12 14:15:04 +02:00
< / div >
2022-05-05 19:54:01 +02:00
< / ng-container >
< ng-container * ngIf = "enermapsId && properties.enermapsURL" >
< div id = "enermaps" class = "landing-section uk-padding uk-padding-remove-horizontal" >
< div class = " uk-inline uk-text-center " >
< img class = "uk-width-auto" [ src ] = " properties . enermapsURL + ' / images / datasets / ' + enermapsId +
'.png'"
alt="Enermaps tool preview" loading="lazy">
< div class = "uk-overlay uk-overlay-default uk-position-bottom" >
< p > Visit < a
class=" uk-margin-right uk-margin-small-top custom-external"
[href]="properties.enermapsURL + '/?shared_id=' + enermapsId" target="_blank" >
Enermaps tool
< / a > < / p >
2022-04-12 14:15:04 +02:00
< / div >
2022-05-05 19:54:01 +02:00
< / div >
< ul * ngIf = "enermapsDetails?.length > 0" class = "uk-list uk-animation-fade" >
< ng-container * ngFor = "let detail of enermapsDetails" >
< li * ngIf = "detail[0] && detail[1]" >
< span class = "uk-text-meta" > {{detail[0]}}: < / span >
< span >
< ng-container * ngFor = "let word of detail[1].split(' ')" >
< ng-container * ngIf = "!word.startsWith('http://') && !word.startsWith('https://')" > {{word}} < / ng-container >
< a * ngIf = "word.startsWith('http://') || word.startsWith('https://')"
target="_blank" [href]="word">{{word}} < / a >
< / ng-container >
< / span >
< / li >
< / ng-container >
< / ul >
2022-04-12 14:15:04 +02:00
< / div >
2022-05-05 19:54:01 +02:00
< / ng-container >
2022-04-12 14:15:04 +02:00
< / div >
2022-05-05 19:54:01 +02:00
< 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 >
2022-04-12 14:15:04 +02:00
< / ng-container >
2017-12-19 13:53:46 +01:00
< / div >
2022-04-20 16:40:18 +02:00
< / div >
2022-06-09 16:51:58 +02:00
<!-- right box/ sidebar -->
2022-04-20 16:40:18 +02:00
< ng-container * ngIf = "resultLandingInfo && hasRightSidebarInfo" >
2022-07-17 15:01:39 +02:00
< div id = "landing-right-sidebar" * ngIf = "!rightSidebarOffcanvasClicked" class = "uk-width-1-3 uk-width-1-4@l uk-padding-remove uk-text-small uk-visible@m"
2022-04-20 16:40:18 +02:00
[class.uk-animation-right]="viewAll">
2022-07-17 15:01:39 +02:00
< div class = "uk-sticky" uk-sticky = "bottom: true" [ attr . offset ] = " offset " >
2022-06-16 18:37:31 +02:00
< div class = "uk-overflow-auto uk-height-1-1" >
< ng-container * ngTemplateOutlet = "right_column" > < / ng-container >
< / div >
2022-04-05 15:50:49 +02:00
< / div >
< / div >
2022-06-17 15:20:17 +02:00
< / ng-container >
< / div >
2022-04-04 11:14:54 +02:00
2022-06-17 15:20:17 +02:00
<!-- right box/ sidebar -->
< ng-container * ngIf = "!showFeedback && resultLandingInfo && hasRightSidebarInfo" >
2022-07-17 15:01:39 +02:00
< div id = "landing-right-sidebar-switcher" uk-toggle href = "#right-column-offcanvas"
2022-06-17 15:20:17 +02:00
class="uk-offcanvas-switcher uk-flex uk-flex-center uk-flex-middle uk-hidden@m"
(click)="rightSidebarOffcanvasClicked = true;">
< icon name = "more" ratio = "1.5" customClass = "uk-text-primary" flex = "true" visuallyHidden = "sidebar" > < / icon >
< / div >
< div id = "right-column-offcanvas" class = "uk-offcanvas" uk-offcanvas = "flip: true; overlay: true;" >
< div class = "uk-offcanvas-bar" >
< button class = "uk-offcanvas-close uk-close uk-icon" type = "button"
(click)="rightSidebarOffcanvasClicked = false">
< icon name = "close" ratio = "1.5" visuallyHidden = "close" > < / icon >
< / button >
< div * ngIf = "rightSidebarOffcanvasClicked" >
< ng-container * ngTemplateOutlet = "right_column" > < / ng-container >
< / div >
< / div >
< / div >
< / ng-container >
< ng-template # right_column >
< div class = "uk-margin-medium-top uk-list uk-list-large uk-padding uk-padding-remove-vertical" [ class . uk-list-divider ] = " ! viewAll " >
<!-- EOSC Services -->
2022-11-28 13:37:37 +01:00
< div * ngIf = "resultLandingInfo.eoscSubjects?.length > 0 & & properties.adminToolsPortalType == 'eosc'
2022-05-16 17:42:23 +02:00
& & (!viewAll || viewAll=='egiNotebook')">
2022-11-28 13:37:37 +01:00
< div class = "uk-flex uk-flex-between uk-flex-middle uk-margin-small-bottom" >
< span class = "uk-text-light-grey uk-text-nowrap uk-margin-small-right" > Compatible EOSC Services< / span >
< / div >
< div class = "uk-margin-small-bottom uk-flex" >
2022-06-17 15:20:17 +02:00
< img src = "assets/common-assets/eosc-logo.png"
loading="lazy" alt="eosc_logo" style="width:27px; height:27px">
2022-11-28 13:37:37 +01:00
< div class = "uk-margin-small-left uk-flex uk-flex-column uk-flex-center" >
2023-06-06 11:23:42 +02:00
< div * ngFor = "let subject of resultLandingInfo.eoscSubjects; let i=index" class = "uk-text-truncate" uk-tooltip = "This interoperability link will provide you with a list of services able to process it in EOSC." >
2022-11-28 13:37:37 +01:00
< a [ href ] = " subject . link " target = "_blank" class = "custom-external" > {{subject.value}}< / a >
< / div >
< / div >
2022-04-04 11:14:54 +02:00
< / div >
2022-06-17 15:20:17 +02:00
< / div >
2022-11-28 13:37:37 +01:00
2022-06-17 15:20:17 +02:00
< div * ngIf = "resultLandingInfo.sdg && resultLandingInfo.sdg.length > 0 && (!viewAll || viewAll=='sdg')" >
< sdg [ subjects ] = " resultLandingInfo . sdg " ( viewAllClicked ) = " viewAll = $event" ( feedbackClicked ) = " feedbackClicked ( ' Sustainable Development Goals ( SDGs ) ' ) " > < / sdg >
< / div >
< div * ngIf = "resultLandingInfo.fos && resultLandingInfo.fos.length > 0 && (!viewAll || viewAll=='fos')" >
< fos [ subjects ] = " resultLandingInfo . fos " ( viewAllClicked ) = " viewAll = $event" ( feedbackClicked ) = " feedbackClicked ( ' Fields of Science and Technology ( FOS ) ' ) " > < / fos >
< / div >
<!-- Funded By -->
< div * ngIf = "resultLandingInfo.fundedByProjects && resultLandingInfo.fundedByProjects.length > 0 && (!viewAll || viewAll=='fundedBy')" >
2023-04-20 19:06:53 +02:00
< fundedBy [ fundedByProjects ] = " resultLandingInfo . fundedByProjects " [ provenanceActionVocabulary ] = " provenanceActionVocabulary " ( viewAllClicked ) = " viewAll = $event"
[prevPath]="prevPath">< / fundedBy >
2022-06-17 15:20:17 +02:00
< / div >
<!-- Communities -->
< div * ngIf = "resultLandingInfo.contexts && resultLandingInfo.contexts.length > 0 && !noCommunities && (!viewAll || viewAll=='relatedTo')" >
< relatedTo [ contexts ] = " resultLandingInfo . contexts " [ viewAll ] = " viewAll = ='relatedTo'"
(viewAllClicked)="viewAll=$event" (noCommunities)="noCommunities = true">< / relatedTo >
< / div >
<!-- Download From -->
< div * ngIf = "resultLandingInfo.hostedBy_collectedFrom && resultLandingInfo.hostedBy_collectedFrom.length > 0 && (!viewAll || viewAll=='availableOn')" >
2023-04-20 19:06:53 +02:00
< availableOn [ availableOn ] = " resultLandingInfo . hostedBy_collectedFrom " ( viewAllClicked ) = " viewAll = $event" [ prevPath ] = " prevPath " > < / availableOn >
2022-06-17 15:20:17 +02:00
< / div >
< / div >
< / ng-template >
2022-04-04 11:14:54 +02:00
< / div >
< / div >
2022-03-08 14:25:58 +01:00
< feedback * ngIf = "resultLandingInfo && properties.reCaptchaSiteKey" [ resultLandingInfo ] = " resultLandingInfo "
2020-03-16 14:09:46 +01:00
[properties]="properties" [entityType]="getTypeName()" [fields]="feedbackFields"
2022-06-09 15:45:39 +02:00
[(showForm)]="showFeedback" [preSelectedField]="feedbackPreSelectedField">< / 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"
2022-04-20 16:40:18 +02:00
#AlertModalDeletedByInference large="true">
2020-05-25 20:58:13 +02:00
< deletedByInference * ngIf = "type == 'publication' && deleteByInferenceOpened"
[id]="resultLandingInfo.record['result']['header']['dri:objIdentifier']"
[ids]="resultLandingInfo.deletedByInferenceIds"
[modal]="AlertModalDeletedByInference"
2023-04-20 19:06:53 +02:00
[resultType]="type" [type]="openaireEntities.PUBLICATIONS" [prevPath]="prevPath">< / deletedByInference >
2020-05-25 20:58:13 +02:00
< deletedByInference * ngIf = "type == 'dataset' && deleteByInferenceOpened"
[id]="resultLandingInfo.record['result']['header']['dri:objIdentifier']"
[ids]="resultLandingInfo.deletedByInferenceIds"
[modal]="AlertModalDeletedByInference"
2023-04-20 19:06:53 +02:00
[resultType]="'dataset'" [type]="openaireEntities.DATASETS" [prevPath]="prevPath">< / deletedByInference >
2020-05-25 20:58:13 +02:00
< deletedByInference * ngIf = "type == 'software' && deleteByInferenceOpened"
[id]="resultLandingInfo.record['result']['header']['dri:objIdentifier']"
[ids]="resultLandingInfo.deletedByInferenceIds"
[modal]="AlertModalDeletedByInference"
2023-04-20 19:06:53 +02:00
[resultType]="type" [type]="openaireEntities.SOFTWARE" [prevPath]="prevPath">< / deletedByInference >
2020-05-25 20:58:13 +02:00
< deletedByInference * ngIf = "type == 'orp' && deleteByInferenceOpened"
[id]="resultLandingInfo.record['result']['header']['dri:objIdentifier']"
[ids]="resultLandingInfo.deletedByInferenceIds"
[modal]="AlertModalDeletedByInference"
2023-04-20 19:06:53 +02:00
[resultType]="'other'" [type]="openaireEntities.OTHER" [prevPath]="prevPath">< / deletedByInference >
2020-05-25 20:58:13 +02:00
< / modal-alert >
2022-04-20 16:40:18 +02:00
< modal-alert * ngIf = "resultLandingInfo" # citeModal >
< citeThis * ngIf = "citeThisClicked" [ result ] = " resultLandingInfo " [ id ] = " id "
2021-02-10 13:50:02 +01:00
[type]="title.toLowerCase()" [piwikSiteId]="piwikSiteId">< / citeThis >
2020-05-20 14:56:21 +02:00
< / modal-alert >
2019-07-23 14:23:12 +02:00
2022-04-20 16:40:18 +02:00
< modal-alert * ngIf = "resultLandingInfo"
#addThisModal classBody="uk-flex uk-flex-center uk-flex-middle">
< addThis > < / addThis >
< / modal-alert >
< modal-alert * ngIf = "resultLandingInfo && resultLandingInfo.organizations" # organizationsModal >
< ng-container * ngTemplateOutlet = "organizations_template; context: { threshold: resultLandingInfo.organizations.length}" > < / ng-container >
< / modal-alert >
2022-09-21 12:32:21 +02:00
< modal-alert * ngIf = "resultLandingInfo?.description" # descriptionModal
[large]="true">
< div [ innerHTML ] = " resultLandingInfo . description " > < / div >
< / modal-alert >
2022-04-20 16:40:18 +02:00
< ng-template # organizations_template let-threshold = "threshold" >
< ul class = "uk-list organizations uk-margin-remove-top" >
< li * ngFor = "let organization of resultLandingInfo.organizations.slice(0, threshold)" class = "uk-tile uk-tile-default uk-padding-small" >
2023-04-20 19:06:53 +02:00
< a [ routerLink ] = " properties . searchLinkToOrganization . split ( ' ? ' ) [ 0 ] " [ queryParams ] = " addEoscPrevInParams ( { organizationId: organization . id } ) " class = "uk-link-text uk-text-bold" >
2022-04-20 16:40:18 +02:00
{{(organization.name ? organization.name : (organization.shortname?organization.shortname:'[No title available]'))}}
< span * ngIf = "!organization.name && organization.shortname" > ({{organization.shortname}})< / span >
< / a >
< div * ngIf = "organization.country && !organization.country.toLowerCase().includes('unknown')" class = "uk-text-xsmall uk-text-muted" > {{organization.country}}< / div >
< / li >
< / ul >
< / ng-template >
2022-04-04 11:14:54 +02:00
2022-05-04 12:57:13 +02:00
< ng-template # relation_in_tab let-researchResults = "researchResults" let-header = "header" >
2022-04-04 11:14:54 +02:00
< div
*ngIf="researchResults & & researchResults.length > 0"
class="uk-margin-bottom">
< h6 * ngIf = "header" > {{header}}< / h6 >
2022-05-04 12:57:13 +02:00
< div * ngIf = "relatedClassFilters?.length > 1" class = "uk-margin-medium-bottom"
input type="select" placeholder="Filter by relation" inputClass="flat x-small"
[options]="relatedClassFilters" [(value)]="relatedClassSelected"
(valueChange)="relatedClassChanged()">< / div >
2022-04-20 16:40:18 +02:00
< results-and-pages
2022-04-28 11:13:06 +02:00
[type]="openaireEntities.RESULTS"
2022-04-04 11:14:54 +02:00
[page]="relatedPage" [pageSize]="pageSize"
[totalResults]="researchResults.length">
2022-04-20 16:40:18 +02:00
< / results-and-pages >
2022-04-04 11:14:54 +02:00
< ul class = "uk-list uk-list-divider uk-margin" >
< li * ngFor = "let item of researchResults.slice((relatedPage-1)*pageSize, relatedPage*pageSize)" >
< result-preview [ modal ] = " relationModal " [ properties ] = " properties "
2022-09-06 15:28:51 +02:00
[result]="getResultPreview(item)" [provenanceActionVocabulary]="provenanceActionVocabulary"
[relationsVocabulary]="relationsVocabulary"
2023-04-20 19:06:53 +02:00
[isCard]="false" [prevPath]="prevPath">< / result-preview >
2022-04-04 11:14:54 +02:00
< / li >
< / ul >
2022-04-20 16:40:18 +02:00
< paging-no-load * ngIf = "researchResults.length > pageSize"
class="uk-margin-top"
2022-04-04 11:14:54 +02:00
(pageChange)="updateRelatedPage($event)"
2022-04-20 16:40:18 +02:00
[currentPage]="relatedPage" [size]="pageSize"
2022-04-04 11:14:54 +02:00
[totalResults]="researchResults.length">
2022-04-20 16:40:18 +02:00
< / paging-no-load >
2022-04-04 11:14:54 +02:00
< / div >
< / ng-template >