[Library|Trunk]

Deposit :
	add breadcrumb 
	light blue background
	title & forms changes
	new zenodo button

Search pages: remove route from last breadcrumb

SearchBar: show advanced search only if tthe current route is search		

 


git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@58563 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
argiro.kokogiannaki 2020-04-27 12:54:48 +00:00
parent 968e3a3970
commit f3c6ac3638
9 changed files with 89 additions and 30 deletions

View File

@ -3,7 +3,7 @@ import {HttpParams} from '@angular/common/http';
export class ConnectHelper {
public static getCommunityFromDomain(domain: string): string{
domain = "beta.ee.openaire.eu"; //for testing
//domain = "beta.fam.openaire.eu"; //for testing
if (domain.indexOf('openaire.eu') === -1) {
return null;
}

View File

@ -7,17 +7,19 @@ import {HelperService} from "../utils/helper/helper.service";
import {RouterHelper} from "../utils/routerHelper.class";
import {SEOService} from "../sharedComponents/SEO/SEO.service";
import {Meta, Title} from "@angular/platform-browser";
import {Breadcrumb} from "../utils/breadcrumbs/breadcrumbs.component";
@Component({
selector: 'deposit-first-page',
template: `
<schema2jsonld *ngIf="url" [URL]="url" [name]="title" type="other"></schema2jsonld>
<div class="uk-section uk-padding-remove-bottom uk-padding-remove-top">
<div class="explorePanelBackground communityPanelBackground uk-margin-top uk-padding-small">
<div class="uk-align-center uk-container uk-container-large uk-margin-large-top uk-margin-large-bottom">
<div class="uk-h1 uk-width-1-2@m uk-width-1-1@s">
<span class="uk-text-bold">Deposit or publish</span> your research in <span class="uk-text-bold">Open Access</span>
<breadcrumbs [breadcrumbs]="breadcrumbs" [light]="true"></breadcrumbs>
<div class="uk-h1 uk-width-1-2@m uk-width-1-1@s ">
<span class="uk-text-bold">Deposit</span> or <span class="uk-text-bold">publish</span> your research in <span class="uk-text-bold">Open Access</span>
</div>
<div class="uk-container uk-container-large uk-margin-medium-top">
@ -28,7 +30,7 @@ import {Meta, Title} from "@angular/platform-browser";
<span class="uk-margin-top uk-icon"><svg width="30" height="30" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="search"><circle fill="none" stroke="#000" stroke-width="1.1" cx="9" cy="9" r="7"></circle><path fill="none" stroke="#000" stroke-width="1.1" d="M14,14 L18,18 L14,14 Z"></path></svg></span>
<!-- <span class="uk-margin-small-right" uk-icon="search"></span>-->
<span class="uk-width-expand">
<div class="uk-margin-small-bottom uk-h6">Find the appropriate repository or journal</div>
<div class="uk-margin-small-bottom uk-h6 uk-text-normal"><span class="uk-text-bold"> Find </span><span class="uk-text-normal">the appropriate</span> <span class="uk-text-bold"> repository </span> or <span class="uk-text-bold"> journal </span></div>
<div class="uk-text-small">
Find the appropriate repository to deposit your research products of any type (publication, data, software, other) or to include in your data management plan.
Search and browse for OpenAIRE compliant repositories registered in OpenDOAR and re3data.
@ -82,7 +84,7 @@ import {Meta, Title} from "@angular/platform-browser";
type="search" [(ngModel)]="keyword" name="keyword"
placeholder="{{searchPlaceHolder}}">
<div class="uk-padding-remove-left">
<button routerLinkActive="uk-link" routerLink="{{depositRoute}}" [queryParams]="{keyword: keyword}" class="uk-button"> Search
<button routerLinkActive="uk-link" routerLink="{{depositRoute}}" [queryParams]="{keyword: keyword}" class="uk-button uk-text-bold"> Search
</button>
<div class="uk-padding-small">
<a [queryParams]="properties.environment!='development'?{}:routerHelper.createQueryParam('communityId',communityId)" routerLinkActive="router-link-active" [routerLink]="depositRoute"
@ -117,14 +119,15 @@ import {Meta, Title} from "@angular/platform-browser";
<a *ngIf="zenodoInformation.shareInZenodoUrl" type="submit"
[queryParams]="properties.environment!='development'?{}:routerHelper.createQueryParam('communityId',communityId)"
routerLinkActive="router-link-active" [routerLink]="zenodoInformation.shareInZenodoUrl"
class="uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-medium-top uk-margin-bottom">
class="uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-medium-top uk-margin-bottom zenodoButton ignoreCommunityPanelBackground">
<span><span> Use related zenodo communities</span><span uk-icon="arrow-right"></span></span>
</a>
<a *ngIf="!zenodoInformation.shareInZenodoUrl" target="_blank" href="{{zenodoInformation.url}}" type="submit"
[class]="'uk-button uk-padding uk-padding-remove-vertical uk-margin-medium-top uk-margin-bottom' +
[class]="'uk-button uk-padding uk-padding-remove-vertical uk-margin-medium-top uk-margin-bottom zenodoButton ignoreCommunityPanelBackground ' +
((communityId && communityId != 'openaire') ? ' portal-button' : ' uk-button-primary')">
<span><span>Deposit in Zenodo</span><span uk-icon="arrow-right"></span></span>
</a>
<!-- <a class="uk-flex">View more info</a>-->
</div>
</div>
</div>
@ -132,8 +135,9 @@ import {Meta, Title} from "@angular/platform-browser";
</div>
</div>
</div>
<div class="uk-section tm-middle uk-container uk-container-large uk-margin-small-top uk-padding-remove-top uk-padding-remove-bottom">
<div class="communityBackground">
<schema2jsonld *ngIf="url" [URL]="url" [name]="title" type="other"></schema2jsonld>
<div class="uk-section tm-middle uk-container uk-container-large uk-margin-small-top uk-padding-remove-top uk-padding-remove-bottom ">
<div class="uk-container uk-container-large uk-margin-bottom exploreBorder communityBorder uk-margin-medium-top">
<div class="uk-grid uk-padding">
<div class="uk-width-1-2 uk-text-center">
@ -146,11 +150,11 @@ import {Meta, Title} from "@angular/platform-browser";
<a *ngIf="zenodoInformation.shareInZenodoUrl" type="submit"
[queryParams]="properties.environment!='development'?{}:routerHelper.createQueryParam('communityId',communityId)"
routerLinkActive="router-link-active" [routerLink]="zenodoInformation.shareInZenodoUrl"
class="uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-medium-top uk-margin-bottom">
class="uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-medium-top uk-margin-bottom zenodoButton">
<span><span>Related zenodo communities</span><span uk-icon="arrow-right"></span></span>
</a>
<a *ngIf="!zenodoInformation.shareInZenodoUrl" target="_blank" href="{{zenodoInformation.url}}" type="submit"
[class]="'uk-button uk-padding uk-padding-remove-vertical uk-margin-medium-top uk-margin-bottom' +
[class]="'uk-button uk-padding uk-padding-remove-vertical uk-margin-medium-top uk-margin-bottom zenodoButton ' +
((communityId && communityId != 'openaire') ? ' portal-button' : ' uk-button-primary')">
<span><span>Deposit in Zenodo</span><span uk-icon="arrow-right"></span></span>
</a>
@ -200,6 +204,7 @@ import {Meta, Title} from "@angular/platform-browser";
</div>
</div>-->
<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0" [texts]="pageContents['bottom']"></helper>
</div>
`
})
@ -221,7 +226,8 @@ export class DepositFirstPageComponent {
public searchPlaceHolder = "Search by title, country, organization, subject, type...";
properties:EnvProperties;
public routerHelper:RouterHelper = new RouterHelper();
@Input() showBreadcrumb:boolean = false;
breadcrumbs:Breadcrumb[] = [];
constructor (private route: ActivatedRoute, private _piwikService:PiwikService,
private helper: HelperService,
private _router: Router,
@ -258,6 +264,7 @@ export class DepositFirstPageComponent {
if(this.properties.enablePiwikTrack && (typeof document !== 'undefined')){
this.piwiksub = this._piwikService.trackView(this.properties, this.title, this.piwikSiteId).subscribe();
}
this.breadcrumbs.push({name: 'home', route: '/'}, {name: "Deposit", route: null});
});
}

View File

@ -10,6 +10,7 @@ import {HelperModule} from '../utils/helper/helper.module';
import {Schema2jsonldModule} from '../sharedComponents/schema2jsonld/schema2jsonld.module';
import { SEOServiceModule } from '../sharedComponents/SEO/SEOService.module';
import {DepositFirstPageComponent} from "./depositFirstPage.component";
import {BreadcrumbsModule} from "../utils/breadcrumbs/breadcrumbs.module";
@NgModule({
imports: [
@ -17,7 +18,7 @@ import {DepositFirstPageComponent} from "./depositFirstPage.component";
RouterModule,
PiwikServiceModule,
HelperModule,
Schema2jsonldModule, SEOServiceModule
Schema2jsonldModule, SEOServiceModule, BreadcrumbsModule
],
declarations: [
DepositFirstPageComponent

View File

@ -1,15 +1,16 @@
import {Component, Input, ViewChild} from '@angular/core';
import {ActivatedRoute} from '@angular/router';
import {ActivatedRoute, Router} from '@angular/router';
import {Location} from '@angular/common';
import {SearchDataprovidersService} from '../services/searchDataproviders.service';
import {ErrorCodes} from '../utils/properties/errorCodes';
import {ErrorMessagesComponent} from '../utils/errorMessages.component';
import {SearchFields} from '../utils/properties/searchFields';
import {SearchUtilsClass} from '../searchPages/searchUtils/searchUtils.class';
import {SearchCustomFilter, SearchUtilsClass} from '../searchPages/searchUtils/searchUtils.class';
import {EnvProperties} from '../utils/properties/env-properties';
import {ZenodoInformationClass} from "./utils/zenodoInformation.class";
import {RouterHelper} from "../utils/routerHelper.class";
import {Breadcrumb} from "../utils/breadcrumbs/breadcrumbs.component";
@Component({
selector: 'deposit-search-dataproviders',
@ -18,18 +19,46 @@ import {RouterHelper} from "../utils/routerHelper.class";
<div class="uk-section uk-padding-remove-bottom uk-padding-remove-top">
<div class="explorePanelBackground communityPanelBackground uk-margin-top uk-padding-small">
<div class="uk-container uk-container-large uk-margin-small-top uk-margin-small-bottom">
<ul class="uk-breadcrumb">
<!--<ul class="uk-breadcrumb">
<li><a class="breadcrumb" routerLinkActive="router-link-active" [routerLink]="depositLearnHowPage"
[queryParams]="properties.environment!='development'?{}:routerHelper.createQueryParam('communityId',communityId)">
Deposit
</a></li>
<li><span class="active uk-text-bold">Browse content providers</span></li>
</ul>
</ul>-->
<breadcrumbs [light]="true" [breadcrumbs]="breadcrumbs"></breadcrumbs>
</div>
</div>
</div>
<search-dataproviders [simpleView]="true" type="deposit" simpleSearchLink="/participate/deposit/search" >
<div class="communityBackground">
<div class="uk-container uk-container-large">
<form
class="uk-margin-top uk-grid uk-margin-small-left ng-untouched ng-pristine ng-valid uk-form-width-large uk-float-right">
<div class=" uk-padding-remove-left uk-margin-small-top uk-inline uk-width-expand">
<a *ngIf="keyword.length > 0" class="uk-form-icon uk-form-icon-flip"
(click)="keyword = ''"
uk-icon="icon: close"></a>
<input type="text" class="uk-input text-input-box uk-width-expand"
placeholder="Search by name, description, subject..." aria-describedby="sizing-addon2"
[(ngModel)]="keyword" name="keyword">
</div>
<!--<div class="uk-padding-remove-left uk-margin-small-top">
<button (click)="keywordChanged()" type="submit"
class=" uk-button portal-button uk-text-bold ">
Search
</button>
</div>-->
<button (click)="keywordChanged()" type="submit"
class="portal-button uk-margin-small-left uk-margin-small-top uk-button">Search
</button>
</form>
</div>
<search-dataproviders [simpleView]="true" type="deposit" simpleSearchLink="/participate/deposit/search" [includeOnlyResultsAndFilter]="true" >
</search-dataproviders>
</div>
`
})
export class SearchDataprovidersToDepositComponent {
@ -63,8 +92,10 @@ export class SearchDataprovidersToDepositComponent {
depositLearnHowPage: string = null;
public routerHelper:RouterHelper = new RouterHelper();
constructor (private route: ActivatedRoute, private _searchDataprovidersService: SearchDataprovidersService) {
breadcrumbs:Breadcrumb[] = [];
parameters = {};
keyword = "";
constructor (private route: ActivatedRoute, private _searchDataprovidersService: SearchDataprovidersService, private router: Router) {
this.errorCodes = new ErrorCodes();
this.errorMessages = new ErrorMessagesComponent();
this.searchUtils.status = this.errorCodes.LOADING;
@ -72,12 +103,20 @@ export class SearchDataprovidersToDepositComponent {
}
public ngOnInit() {
this.route.data
.subscribe((data: { envSpecific: EnvProperties }) => {
this.properties = data.envSpecific;
this.depositLearnHowPage = this.properties.depositLearnHowPage;
this.baseUrl = this.properties.depositSearchPage;
this.pagingLimit = this.properties.pagingLimit;
this.breadcrumbs.push({name: 'home', route: '/'}, {
name: "Deposit",
route: this.depositLearnHowPage
}, {name: "Browse repositories", route: null});
});
this.sub = this.route.queryParams.subscribe(params => {
this.keyword = params["fv0"]?params["fv0"]:'';
});
// this.searchPage.refineFields = this.refineFields;
// this.searchPage.fieldIdsMap = this.fieldIdsMap;
@ -117,7 +156,18 @@ export class SearchDataprovidersToDepositComponent {
this.subResults.unsubscribe();
}
}
keywordChanged(){
if ( this.keyword.length > 0) {
this.parameters["fv0"] = this.keyword;
this.parameters["f0"] = "q";
}else{
delete this.parameters['fv0'];
delete this.parameters['f0'];
}
this.router.navigate([this.properties.depositSearchPage], {queryParams: this.parameters} );
}
/*public getResults(keyword:string,refine:boolean, page: number, size: number){
var parameters = "";
if(keyword.length > 0){

View File

@ -13,13 +13,14 @@ import {SearchFormModule} from '../searchPages/searchUtils/searchForm.module';
import {FreeGuard} from'../login/freeGuard.guard';
import {IsRouteEnabled} from '../error/isRouteEnabled.guard';
import {SearchDataProvidersModule} from "../searchPages/searchDataProviders.module";
import {BreadcrumbsModule} from "../utils/breadcrumbs/breadcrumbs.module";
@NgModule({
imports: [
CommonModule, FormsModule,
RouterModule,
DataProvidersServiceModule,
SearchFormModule, SearchResultsModule, SearchDataProvidersModule
SearchFormModule, SearchResultsModule, SearchDataProvidersModule, BreadcrumbsModule
],
declarations: [

View File

@ -136,9 +136,9 @@ export class NewSearchPageComponent {
this.seoService.createLinkForCanonicalURL(this.properties.baseLink + this.router.url, false);
this.breadcrumbs.push({name: 'home', route: '/'});
if(this.simpleView) {
this.breadcrumbs.push( {name: "Search", route: this.simpleSearchLink});
this.breadcrumbs.push( {name: "Search", route: null});
}else if(!this.simpleView && this.advancedSearchLink) {
this.breadcrumbs.push({name: "Advanced Search", route: this.advancedSearchLink});
this.breadcrumbs.push({name: "Advanced Search", route: null});
}

View File

@ -115,7 +115,7 @@ export class SearchPageTableViewComponent implements OnInit, AfterViewInit {
var description = "Openaire, search, repositories, open access, type, content provider, funder, project, " + this.type + "," +this.pageTitle;
this.updateDescription(description);
this.seoService.createLinkForCanonicalURL(this.properties.baseLink+this.router.url,false);
this.breadcrumbs.push({name: 'home', route: '/'}, {name: this.pageTitle, route: this.router.url});
this.breadcrumbs.push({name: 'home', route: '/'}, {name: this.pageTitle, route: null});
}

View File

@ -67,7 +67,7 @@ export class SearchBarComponent {
}else{
this.enableSearchbar = true;
}
if(this.entityType == "result"){
if(this.getCurrentRoute() == this.properties.searchLinkToResults){
this.advancedSearchLink = this.properties.searchLinkToAdvancedResults;
}else{
this.advancedSearchLink = null;
@ -96,11 +96,11 @@ export class SearchBarComponent {
if(!this.onlyresults && this.entityType == "result") {
this.parameters["qf"] = true;
}
if(this.entityType == "result"){
/* if(this.entityType == "result"){
this.advancedSearchLink = this.properties.searchLinkToAdvancedResults;
}else{
this.advancedSearchLink = null;
}
}*/
}
keywordChanged(){
if(!this.onlyresults) {

View File

@ -5,7 +5,7 @@
<!-- 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">
class=" zenodoButton uk-float-right uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-small-left">
<span><span>Visit repository to deposit</span><span uk-icon="arrow-right"></span></span>
</a>
</span>