start on result landing mobile redesign
This commit is contained in:
parent
c58bc15a74
commit
0a519c667a
|
@ -35,6 +35,8 @@
|
|||
|
||||
<!-- center box-->
|
||||
<div class="uk-width-expand uk-padding-remove uk-background-default">
|
||||
<!-- uk-container uk-container-large -->
|
||||
<div class="">
|
||||
<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>
|
||||
|
@ -187,7 +189,7 @@
|
|||
[types]="dataProviderInfo.type ? [dataProviderInfo.type] : null"
|
||||
isSticky="true">
|
||||
</landing-header>
|
||||
<!-- <showTitle *ngIf="stickyHeader" [titleName]="dataProviderInfo.title.name" classNames="uk-margin-remove-bottom" class="uk-visible@m"></showTitle>-->
|
||||
<!-- <showTitle *ngIf="stickyHeader" [titleName]="dataProviderInfo.title.name" classNames="uk-margin-remove-bottom" class="uk-visible@m"></showTitle>-->
|
||||
<my-tabs (selectedActiveTab)="onSelectActiveTab($event)" [offsetForSticky]="offset" [(isSticky)]="stickyHeader">
|
||||
<my-tab [tabTitle]="'Summary'" [tabId]="'summary'" [active]="true"></my-tab>
|
||||
<my-tab *ngIf="fetchProjects.searchUtils.totalResults > 0"
|
||||
|
@ -463,6 +465,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<feedback *ngIf="dataProviderInfo && properties.reCaptchaSiteKey" [dataProviderInfo]="dataProviderInfo"
|
||||
|
|
|
@ -6,6 +6,7 @@ import {StringUtils} from "../../utils/string-utils.class";
|
|||
@Component({
|
||||
selector: 'fos',
|
||||
template: `
|
||||
<div class="uk-visible@m">
|
||||
<div class="uk-text-xsmall" style="color: #EEB204">Beta</div>
|
||||
<div [class]="'uk-flex uk-flex-between uk-flex-middle uk-margin-'+(viewAll?'':'small-')+'bottom'">
|
||||
<span *ngIf="viewAll" class="clickable uk-h6 uk-flex uk-flex-middle uk-margin-small-right uk-margin-remove-bottom" (click)="viewLessClick()">
|
||||
|
@ -13,7 +14,7 @@ import {StringUtils} from "../../utils/string-utils.class";
|
|||
<span class="uk-text-nowrap">{{title}}</span>
|
||||
</span>
|
||||
<span *ngIf="!viewAll" class="uk-text-emphasis uk-text-bolder uk-text-nowrap uk-margin-small-right">{{title}}</span>
|
||||
<!-- <a *ngIf="viewAll && lessBtn" (click)="viewAll = !viewAll; lessBtn=false;">View less</a>-->
|
||||
<!-- <a *ngIf="viewAll && lessBtn" (click)="viewAll = !viewAll; lessBtn=false;">View less</a> -->
|
||||
<a *ngIf="subjects && subjects.length > threshold && !viewAll"
|
||||
(click)="viewAllClick();" class="view-more-less-link uk-text-truncate" uk-tooltip="View all & feedback">
|
||||
<span class="">View all & suggest</span>
|
||||
|
@ -29,6 +30,22 @@ import {StringUtils} from "../../utils/string-utils.class";
|
|||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-hidden@m">
|
||||
<div class="uk-grid uk-grid-small uk-grid-divider" uk-grid>
|
||||
<div class="uk-width-1-4 uk-text-meta">
|
||||
Fields of Science (FOS)
|
||||
</div>
|
||||
<div class="uk-width-expand">
|
||||
<div *ngFor="let subject of subjects.slice(0, viewAll?subjects.length:threshold); let i=index" class="uk-text-truncate">
|
||||
<a [routerLink]="properties.searchLinkToResults"
|
||||
[queryParams]="{'fos': urlEncodeAndQuote(subject)}">
|
||||
{{subject}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
})
|
||||
|
||||
|
@ -38,7 +55,7 @@ export class FosComponent {
|
|||
@Output() viewAllClicked = new EventEmitter();
|
||||
@Output() feedbackClicked = new EventEmitter();
|
||||
public lessBtn: boolean = false;
|
||||
public threshold: number = 2;
|
||||
public threshold: number = 3; // was 2
|
||||
public routerHelper: RouterHelper = new RouterHelper();
|
||||
public properties = properties;
|
||||
public title: string = "Fields of Science";
|
||||
|
|
|
@ -14,7 +14,7 @@ import {OpenaireEntities} from "src/app/openaireLibrary/utils/properties/searchF
|
|||
<span class="uk-text-meta uk-text-small" [innerHTML]="subTitle"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-margin-bottom uk-text-xsmall uk-text-emphasis uk-flex uk-flex-middle">
|
||||
<div class="uk-margin-bottom uk-text-xsmall uk-text-emphasis uk-flex uk-flex-middle uk-flex-wrap">
|
||||
<!-- oa -->
|
||||
<ng-container *ngIf="(openAccessMandatePublications != undefined && openAccessMandatePublications) || (openAccessMandateDatasets != undefined && openAccessMandateDatasets)">
|
||||
<span class="uk-margin-xsmall-right uk-text-success">
|
||||
|
|
|
@ -6,6 +6,7 @@ import {StringUtils} from "../../utils/string-utils.class";
|
|||
@Component({
|
||||
selector: 'sdg',
|
||||
template: `
|
||||
<div class="uk-visible@m">
|
||||
<div class="uk-text-xsmall" style="color: #EEB204">Beta</div>
|
||||
<div [class]="'uk-flex uk-flex-between uk-flex-middle uk-margin-'+(viewAll?'':'small-')+'bottom'">
|
||||
<span *ngIf="viewAll" class="clickable uk-h6 uk-flex uk-flex-middle uk-margin-small-right uk-margin-remove-bottom"
|
||||
|
@ -14,14 +15,13 @@ import {StringUtils} from "../../utils/string-utils.class";
|
|||
<span uk-tooltip="Sustainable Development Goals">{{title}}</span>
|
||||
</span>
|
||||
<span *ngIf="!viewAll" class="uk-text-emphasis uk-text-bolder uk-text-nowrap uk-margin-small-right" uk-tooltip="Sustainable Development Goals">{{title}}</span>
|
||||
<!-- <a *ngIf="viewAll && lessBtn" (click)="viewAll = !viewAll; lessBtn=false;">View less</a>-->
|
||||
<!-- <a *ngIf="viewAll && lessBtn" (click)="viewAll = !viewAll; lessBtn=false;">View less</a> -->
|
||||
<a *ngIf="subjects && subjects.length > threshold && !viewAll"
|
||||
(click)="viewAllClick();" class="view-more-less-link uk-text-truncate" uk-tooltip="View all & feedback">
|
||||
View all & suggest</a>
|
||||
<a *ngIf="(subjects && subjects.length <= threshold || viewAll)" class="uk-link uk-text-truncate"
|
||||
(click)="feedbackClick();">Feedback</a>
|
||||
</div>
|
||||
|
||||
<div class="uk-margin-small-bottom uk-flex">
|
||||
<img src="assets/common-assets/common/The_Global_Goals_Icon_Color.svg"
|
||||
loading="lazy" alt="sdg_colors" style="width:27px; height:27px">
|
||||
|
@ -34,6 +34,24 @@ import {StringUtils} from "../../utils/string-utils.class";
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-hidden@m">
|
||||
<div class="uk-flex uk-flex-middle uk-flex-wrap">
|
||||
<img src="assets/common-assets/common/The_Global_Goals_Icon_Color.svg"
|
||||
loading="lazy" alt="sdg_colors" style="width:18px; height:18px">
|
||||
<span class="uk-margin-xsmall-left uk-margin-xsmall-right uk-text-meta">SDGs:</span>
|
||||
<div *ngFor="let subject of subjects.slice(0, viewAll?subjects.length:threshold); let i=index" class="uk-text-truncate">
|
||||
<a [routerLink]=" properties.searchLinkToResults"
|
||||
[queryParams]="{'sdg': urlEncodeAndQuote(subject)}">
|
||||
{{subject}}
|
||||
</a>
|
||||
<span>, </span>
|
||||
</div>
|
||||
<!-- <div>
|
||||
{{subjects.slice(0, viewAll?subjects.length:threshold).join(", ")}}
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
})
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<div id="tm-main" class="landing uk-section uk-padding-remove tm-middle">
|
||||
<!-- Desktop view -->
|
||||
<div id="tm-main" class="uk-visible@m landing uk-section uk-padding-remove tm-middle">
|
||||
<div class="tm-main">
|
||||
<div class="publication">
|
||||
<div *ngIf="!showFeedback" class="uk-grid uk-margin-remove-left" uk-grid>
|
||||
|
@ -273,7 +274,7 @@
|
|||
[date]="resultLandingInfo.dateofacceptance" [embargoEndDate]="resultLandingInfo.embargoEndDate"
|
||||
isSticky="true">
|
||||
</landing-header>
|
||||
<!-- <showTitle *ngIf="stickyHeader" [titleName]="resultLandingInfo.title" classNames="uk-margin-remove-bottom" class="uk-visible@m"></showTitle>-->
|
||||
<!-- <showTitle *ngIf="stickyHeader" [titleName]="resultLandingInfo.title" classNames="uk-margin-remove-bottom" class="uk-visible@m"></showTitle>-->
|
||||
<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"
|
||||
|
@ -670,7 +671,6 @@
|
|||
</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>
|
||||
|
@ -793,6 +793,128 @@
|
|||
[properties]="properties" [entityType]="getTypeName()" [fields]="feedbackFields"
|
||||
[(showForm)]="showFeedback" [preSelectedField]="feedbackPreSelectedField"></feedback>
|
||||
</div>
|
||||
|
||||
<!-- Mobile view -->
|
||||
<div class="uk-hidden@m uk-position-relative landing">
|
||||
<div class="uk-container uk-section">
|
||||
<div *ngIf="resultLandingInfo.hostedBy_collectedFrom && resultLandingInfo.hostedBy_collectedFrom.length > 0"
|
||||
class="uk-margin-small-bottom uk-flex uk-flex-middle">
|
||||
<icon [name]="resultLandingInfo.hostedBy_collectedFrom[0].accessRightIcon" flex="true" ratio="1"></icon>
|
||||
<span class="uk-margin-xsmall-left uk-text-small uk-text-uppercase uk-text-bolder">{{resultLandingInfo.hostedBy_collectedFrom[0].accessRight}}</span>
|
||||
</div>
|
||||
<landing-header [properties]="properties" [title]="resultLandingInfo.title"
|
||||
[subTitle]="resultLandingInfo.subtitle"
|
||||
[authors]="resultLandingInfo.authors"
|
||||
[underCuration]="resultLandingInfo.underCurationMessage"
|
||||
[entityType]="getTypeName()" [types]="resultLandingInfo.types"
|
||||
[date]="resultLandingInfo.dateofacceptance" [embargoEndDate]="resultLandingInfo.embargoEndDate"
|
||||
[publisher]="resultLandingInfo.publisher" [journal]="resultLandingInfo.journal"
|
||||
[languages]="resultLandingInfo.languages" [programmingLanguages]="resultLandingInfo.programmingLanguages">
|
||||
</landing-header>
|
||||
<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>
|
||||
<!-- SDGs -->
|
||||
<div *ngIf="resultLandingInfo.sdg && resultLandingInfo.sdg.length > 0 && (!viewAll || viewAll=='sdg')" class="uk-margin-small-top">
|
||||
<sdg [subjects]="resultLandingInfo.sdg" (viewAllClicked)="viewAll=$event" (feedbackClicked)="feedbackClicked('Sustainable Development Goals (SDGs)')"></sdg>
|
||||
</div>
|
||||
<!-- FOS -->
|
||||
<div *ngIf="resultLandingInfo.fos && resultLandingInfo.fos.length > 0 && (!viewAll || viewAll=='fos')" class="uk-margin-small-top">
|
||||
<fos [subjects]="resultLandingInfo.fos" (viewAllClicked)="viewAll=$event" (feedbackClicked)="feedbackClicked('Fields of Science and Technology (FOS)')"></fos>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-margin-top uk-text-large uk-text-empashis uk-text-bold">
|
||||
<hr>
|
||||
<ng-container>
|
||||
<div class="uk-flex uk-flex-middle uk-flex-between">
|
||||
<span>Summary</span>
|
||||
<icon name="chevron_right" ratio="1.5" [flex]="true"></icon>
|
||||
</div>
|
||||
<hr>
|
||||
</ng-container>
|
||||
<ng-container *ngIf="resultLandingInfo.references && resultLandingInfo.references.length > 0">
|
||||
<div class="uk-flex uk-flex-middle uk-flex-between">
|
||||
<span>References</span>
|
||||
<icon name="chevron_right" ratio="1.5" [flex]="true"></icon>
|
||||
</div>
|
||||
<hr>
|
||||
</ng-container>
|
||||
<ng-container *ngIf="resultLandingInfo.relatedResults?.length > 0">
|
||||
<div class="uk-flex uk-flex-middle uk-flex-between">
|
||||
<span>Related Research</span>
|
||||
<icon name="chevron_right" ratio="1.5" [flex]="true"></icon>
|
||||
</div>
|
||||
<hr>
|
||||
</ng-container>
|
||||
<ng-container *ngIf="resultLandingInfo.bioentities && bioentitiesNum> 0">
|
||||
<div class="uk-flex uk-flex-middle uk-flex-between">
|
||||
<span>External Databases</span>
|
||||
<icon name="chevron_right" ratio="1.5" [flex]="true"></icon>
|
||||
</div>
|
||||
<hr>
|
||||
</ng-container>
|
||||
<ng-container *ngIf="enermapsId && properties.enermapsURL">
|
||||
<div class="uk-flex uk-flex-middle uk-flex-between">
|
||||
<span>Enermaps Tool</span>
|
||||
<icon name="chevron_right" ratio="1.5" [flex]="true"></icon>
|
||||
</div>
|
||||
<hr>
|
||||
</ng-container>
|
||||
<ng-container *ngIf="resultLandingInfo.eoscSubjects?.length > 0 && properties.adminToolsPortalType == 'eosc'
|
||||
&& (!viewAll || viewAll=='egiNotebook')">
|
||||
<div class="uk-flex uk-flex-middle uk-flex-between">
|
||||
<span>Compatible EOSC Services</span>
|
||||
<icon name="chevron_right" ratio="1.5" [flex]="true"></icon>
|
||||
</div>
|
||||
</ng-container>
|
||||
<ng-container *ngIf="resultLandingInfo.fundedByProjects && resultLandingInfo.fundedByProjects.length > 0 && (!viewAll || viewAll=='fundedBy')">
|
||||
<div class="uk-flex uk-flex-middle uk-flex-between">
|
||||
<span>Funded by</span>
|
||||
<icon name="chevron_right" ratio="1.5" [flex]="true"></icon>
|
||||
</div>
|
||||
<hr>
|
||||
</ng-container>
|
||||
<ng-container *ngIf="resultLandingInfo.contexts && resultLandingInfo.contexts.length > 0 && !noCommunities && (!viewAll || viewAll=='relatedTo')">
|
||||
<div class="uk-flex uk-flex-middle uk-flex-between">
|
||||
<span>Related to Research Communities</span>
|
||||
<icon name="chevron_right" ratio="1.5" [flex]="true"></icon>
|
||||
</div>
|
||||
<hr>
|
||||
</ng-container>
|
||||
</div>
|
||||
</div>
|
||||
<div class="landing-action-bar-mobile uk-background-default">
|
||||
<div class="uk-container uk-flex uk-flex-middle uk-flex-between uk-text-xsmall uk-text-meta">
|
||||
<div>
|
||||
<a class="uk-flex uk-flex-column uk-flex-middle uk-flex-center uk-link-reset">
|
||||
<icon *ngIf="getTypeName().toLowerCase() == 'publication'" name="description" type="outlined" [flex]="true" ratio="2"></icon>
|
||||
<icon *ngIf="getTypeName().toLowerCase() == 'research data'" name="database" type="outlined" [flex]="true" ratio="2"></icon>
|
||||
<icon *ngIf="getTypeName().toLowerCase() == 'research software'" name="integration_instructions" type="outlined" [flex]="true" ratio="2"></icon>
|
||||
<icon *ngIf="getTypeName().toLowerCase() == 'other research product'" name="apps" type="outlined" [flex]="true" ratio="2"></icon>
|
||||
<icon *ngIf="getTypeName().toLowerCase() == 'project'" name="assignment_turned_in" type="outlined" [flex]="true" ratio="2"></icon>
|
||||
<icon *ngIf="getTypeName().toLowerCase() == 'data source'" name="note_add" type="outlined" [flex]="true" ratio="2"></icon>
|
||||
<icon *ngIf="getTypeName().toLowerCase() == 'organization'" name="corporate_fare" type="outlined" [flex]="true" ratio="2"></icon>
|
||||
<span>{{getTypeName()}}</span>
|
||||
</a>
|
||||
</div>
|
||||
<div *ngIf="resultLandingInfo && (resultLandingInfo.measure || hasAltMetrics)">
|
||||
<a class="uk-flex uk-flex-column uk-flex-middle uk-flex-center uk-link-reset">
|
||||
<icon name="bar_chart" type="outlined" [flex]="true" ratio="2"></icon>
|
||||
<span>Metrics</span>
|
||||
</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="uk-flex uk-flex-column uk-flex-middle uk-flex-center uk-link-reset">
|
||||
<icon name="pending" type="outlined" [flex]="true" ratio="2"></icon>
|
||||
<span>Actions</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Other versions -->
|
||||
<modal-alert *ngIf="resultLandingInfo && resultLandingInfo.deletedByInferenceIds"
|
||||
#AlertModalDeletedByInference large="true">
|
||||
|
|
Loading…
Reference in New Issue