SEO meta tags & title for each page | footer menu | cookies law message | entity auto complete | change deposit & claims urls to look alike production (participate/*)
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-portal/trunk@46415 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
parent
e2cac04ec0
commit
0348364b13
|
@ -6,10 +6,10 @@
|
||||||
* found in the LICENSE file at https://angular.io/license
|
* found in the LICENSE file at https://angular.io/license
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import {Injectable} from '@angular/core';
|
import {Injectable, Inject} from '@angular/core';
|
||||||
// es6-modules are used here
|
// es6-modules are used here
|
||||||
import {DomAdapter, getDOM} from '@angular/platform-browser/src/dom/dom_adapter';
|
import {DomAdapter, getDOM} from '@angular/platform-browser/src/dom/dom_adapter';
|
||||||
|
import {DOCUMENT} from '@angular/platform-browser';
|
||||||
/**
|
/**
|
||||||
* Represent meta element.
|
* Represent meta element.
|
||||||
*
|
*
|
||||||
|
@ -54,7 +54,13 @@ export interface MetaDefinition {
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class Meta {
|
export class Meta {
|
||||||
private _dom: DomAdapter = getDOM();
|
private _dom: DomAdapter = getDOM();
|
||||||
|
constructor( @Inject(DOCUMENT) private _document: any) { }
|
||||||
|
/**
|
||||||
|
* Sets the title of the page
|
||||||
|
*/
|
||||||
|
setTitle(title: string) {
|
||||||
|
this._document.title = title
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Adds a new meta tag to the dom.
|
* Adds a new meta tag to the dom.
|
||||||
*
|
*
|
||||||
|
@ -119,6 +125,19 @@ export class Meta {
|
||||||
return this._prepareMetaElement(tag, meta);
|
return this._prepareMetaElement(tag, meta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateMeta(name, content) {
|
||||||
|
const head = this._document.head;
|
||||||
|
let childNodesAsList = this._dom.childNodesAsList(head);
|
||||||
|
let metaEl = childNodesAsList.find(el => el['attribs'] ? el['attribs'].name == name : false);
|
||||||
|
if (metaEl) metaEl['attribs'].content = content;
|
||||||
|
}
|
||||||
|
updateProperty(property, content) {
|
||||||
|
const head = this._document.head;
|
||||||
|
let childNodesAsList = this._dom.childNodesAsList(head);
|
||||||
|
let metaEl = childNodesAsList.find(el => el['attribs'] ? el['attribs'].property == property : false);
|
||||||
|
if (metaEl) metaEl['attribs'].content = content;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes meta tag with the given selector from the dom.
|
* Removes meta tag with the given selector from the dom.
|
||||||
*
|
*
|
||||||
|
@ -168,11 +187,14 @@ export class Meta {
|
||||||
return el;
|
return el;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// private _appendMetaElement(meta: HTMLMetaElement): void {
|
||||||
|
// const head = this._dom.getElementsByTagName(this._dom.defaultDoc(), 'head')[0];
|
||||||
|
// this._dom.appendChild(head, meta);
|
||||||
|
// }
|
||||||
private _appendMetaElement(meta: HTMLMetaElement): void {
|
private _appendMetaElement(meta: HTMLMetaElement): void {
|
||||||
const head = this._dom.getElementsByTagName(this._dom.defaultDoc(), 'head')[0];
|
const head = this._document.head;
|
||||||
this._dom.appendChild(head, meta);
|
this._dom.appendChild(head, meta);
|
||||||
}
|
}
|
||||||
|
|
||||||
private _removeMetaElement(meta: HTMLMetaElement): void {
|
private _removeMetaElement(meta: HTMLMetaElement): void {
|
||||||
const head = this._dom.parentElement(meta);
|
const head = this._dom.parentElement(meta);
|
||||||
this._dom.removeChild(head, meta);
|
this._dom.removeChild(head, meta);
|
||||||
|
|
|
@ -133,18 +133,29 @@ export function getBulkLinkingModule() {
|
||||||
{ path: 'search/organization', loadChildren: getOrganizationModule },
|
{ path: 'search/organization', loadChildren: getOrganizationModule },
|
||||||
{ path: 'search/project', loadChildren: getProjectModule },
|
{ path: 'search/project', loadChildren: getProjectModule },
|
||||||
{ path: 'search/dataprovider', loadChildren: getDataProviderModule },
|
{ path: 'search/dataprovider', loadChildren: getDataProviderModule },
|
||||||
{ path: 'deposit-datasets', loadChildren: getDepositDatasetsModule },
|
{ path: 'participate/deposit-datasets', loadChildren: getDepositDatasetsModule },
|
||||||
{ path: 'deposit-datasets-result', loadChildren: getDepositDatasetsResultsModule },
|
{ path: 'participate/deposit-datasets-result', loadChildren: getDepositDatasetsResultsModule },
|
||||||
{ path: 'deposit-publications', loadChildren: getDepositPublicationsModule },
|
{ path: 'participate/deposit-publications', loadChildren: getDepositPublicationsModule },
|
||||||
{ path: 'deposit-publications-result', loadChildren: getDepositPublicationsResultsModule },
|
{ path: 'participate/deposit-publications-result', loadChildren: getDepositPublicationsResultsModule },
|
||||||
{ path: 'search/find', loadChildren: getMainSearchModule },
|
{ path: 'search/find', loadChildren: getMainSearchModule , data: {
|
||||||
|
meta: {
|
||||||
|
title: 'Home page',
|
||||||
|
description: 'Description of the home page'
|
||||||
|
}
|
||||||
|
}},
|
||||||
{ path: 'search/find/publications', loadChildren: getSearchPublicationsModule },
|
{ path: 'search/find/publications', loadChildren: getSearchPublicationsModule },
|
||||||
{ path: 'search/find/datasets', loadChildren: getSearchDatasetsModule },
|
{ path: 'search/find/datasets', loadChildren: getSearchDatasetsModule },
|
||||||
{ path: 'search/find/projects', loadChildren: getSearchProjectsModule },
|
{ path: 'search/find/projects', loadChildren: getSearchProjectsModule },
|
||||||
{ path: 'search/find/dataproviders', loadChildren: getSearchDataProvidersModule },
|
{ path: 'search/find/dataproviders', loadChildren: getSearchDataProvidersModule },
|
||||||
{ path: 'search/find/organizations', loadChildren: getSearchOrganizationsModule },
|
{ path: 'search/find/organizations', loadChildren: getSearchOrganizationsModule },
|
||||||
{ path: 'search/find/people', loadChildren: getSearchPeopleModule },
|
{ path: 'search/find/people', loadChildren: getSearchPeopleModule },
|
||||||
{ path: 'search/data-providers', loadChildren: getCompatibleDataProvidersModule },
|
{ path: 'search/data-providers', loadChildren: getCompatibleDataProvidersModule,
|
||||||
|
data: {
|
||||||
|
meta: {
|
||||||
|
title: 'Home page',
|
||||||
|
description: 'Description of the home page'
|
||||||
|
}
|
||||||
|
}},
|
||||||
{ path: 'search/entity-registries', loadChildren: getEntityRegistriesModule },
|
{ path: 'search/entity-registries', loadChildren: getEntityRegistriesModule },
|
||||||
{ path: 'search/advanced/publications', loadChildren: getAdvancedSearchPublicationsModule },
|
{ path: 'search/advanced/publications', loadChildren: getAdvancedSearchPublicationsModule },
|
||||||
{ path: 'search/advanced/datasets', loadChildren: getAdvancedSearchDatasetsModule },
|
{ path: 'search/advanced/datasets', loadChildren: getAdvancedSearchDatasetsModule },
|
||||||
|
@ -155,8 +166,8 @@ export function getBulkLinkingModule() {
|
||||||
{ path: 'project-report', loadChildren: gethtmlProjectReportModule },
|
{ path: 'project-report', loadChildren: gethtmlProjectReportModule },
|
||||||
// { path: 'myclaims', loadChildren: getMyClaimsModule },
|
// { path: 'myclaims', loadChildren: getMyClaimsModule },
|
||||||
// { path: 'claims', loadChildren: getClaimsAdminModule },
|
// { path: 'claims', loadChildren: getClaimsAdminModule },
|
||||||
// { path: 'bulk-linking', loadChildren: getBulkLinkingModule },
|
// { path: 'participate/bulk-claim', loadChildren: getBulkLinkingModule },
|
||||||
// { path: 'linking', loadChildren: getLinkingModule },
|
// { path: 'participate/claim', loadChildren: getLinkingModule },
|
||||||
])
|
])
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
|
|
|
@ -29,10 +29,10 @@ export class XLargeDirective {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div id="tm-main" class="tm-middle" uk-height-viewport="mode: expand">
|
<div id="tm-main" class="tm-middle custom-main-content" uk-height-viewport="mode: expand">
|
||||||
<div class="uk-container uk-container-center">
|
<div class="uk-container uk-container-center">
|
||||||
<div class="uk-grid" uk-grid>
|
<div class="uk-grid" uk-grid>
|
||||||
<div class="tm-main uk-width-small-1-1 uk-width-medium-1-1 uk-width-large-1-1 uk-row-first">
|
<div class="tm-main uk-width-small-1-1 uk-width-medium-1-1 uk-width-large-1-1 uk-row-first ">
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
<router-outlet></router-outlet>
|
<router-outlet></router-outlet>
|
||||||
|
@ -51,7 +51,12 @@ export class XLargeDirective {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--bottom></bottom-->
|
<cookie-law position="bottom">
|
||||||
|
OpenAIRE uses cookies in order to function properly.<br>
|
||||||
|
Cookies are small pieces of data that websites store in your browser to allow us to give you the best browsing experience possible.
|
||||||
|
By using the OpenAIRE portal you accept our use of cookies. <a href="//ec.europa.eu/ipg/basics/legal/cookies/index_en.htm" target="_blank"> Read more <i class="uk-icon-angle-double-right"></i></a>
|
||||||
|
</cookie-law>
|
||||||
|
<bottom></bottom>
|
||||||
|
|
||||||
`
|
`
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ import { AppComponent, XLargeDirective } from './app.component';
|
||||||
import {SharedComponentsModule} from './sharedComponents/sharedComponents.module'; //navbar
|
import {SharedComponentsModule} from './sharedComponents/sharedComponents.module'; //navbar
|
||||||
import { ErrorModule } from './error/error.module';
|
import { ErrorModule } from './error/error.module';
|
||||||
import { CacheService } from './shared/cache.service';
|
import { CacheService } from './shared/cache.service';
|
||||||
|
import { CookieLawModule } from './sharedComponents/cookie-law/cookie-law.module';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [ AppComponent, XLargeDirective ],
|
declarations: [ AppComponent, XLargeDirective ],
|
||||||
|
@ -19,7 +19,8 @@ import { CacheService } from './shared/cache.service';
|
||||||
|
|
||||||
SharedComponentsModule,
|
SharedComponentsModule,
|
||||||
AppRoutingModule,
|
AppRoutingModule,
|
||||||
ErrorModule
|
ErrorModule,
|
||||||
|
CookieLawModule
|
||||||
], exports:[], providers:[CacheService]
|
], exports:[], providers:[CacheService]
|
||||||
})
|
})
|
||||||
export class AppModule {
|
export class AppModule {
|
||||||
|
|
|
@ -10,7 +10,7 @@ import {Observable} from 'rxjs/Observable';
|
||||||
<h1> Claims Administrator </h1>
|
<h1> Claims Administrator </h1>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="uk-text-right"><a routerLink="/linking">Add more Links?</a></div>
|
<div class="uk-text-right"><a routerLink="/participate/claim">Add more Links?</a></div>
|
||||||
<displayClaims enableDelete="false" myClaims="false" isAdim="true"></displayClaims>
|
<displayClaims enableDelete="false" myClaims="false" isAdim="true"></displayClaims>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -11,7 +11,7 @@ import {Observable} from 'rxjs/Observable';
|
||||||
<h1> My Linked research resutls</h1>
|
<h1> My Linked research resutls</h1>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="uk-text-right"><a routerLink="/linking">Add more Links?</a></div>
|
<div class="uk-text-right"><a routerLink="/participate/claim">Add more Links?</a></div>
|
||||||
<displayClaims enableDelete="false" myClaims="true" isAdmin="false" [fetchId]="user" ></displayClaims>
|
<displayClaims enableDelete="false" myClaims="true" isAdmin="false" [fetchId]="user" ></displayClaims>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -2,6 +2,7 @@ import {Component, Input} from '@angular/core';
|
||||||
import {Observable} from 'rxjs/Observable';
|
import {Observable} from 'rxjs/Observable';
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import {OpenaireProperties, ErrorCodes} from '../utils/properties/openaireProperties';
|
import {OpenaireProperties, ErrorCodes} from '../utils/properties/openaireProperties';
|
||||||
|
import { Meta} from '../../angular2-meta';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
@ -63,7 +64,7 @@ export class DepositComponent {
|
||||||
public selectedId: string = "";
|
public selectedId: string = "";
|
||||||
public warningMessage: string = "";
|
public warningMessage: string = "";
|
||||||
|
|
||||||
constructor (private _router: Router) {
|
constructor (private _router: Router, private _meta: Meta) {
|
||||||
|
|
||||||
this.openAccess = OpenaireProperties.getOpenAccess();
|
this.openAccess = OpenaireProperties.getOpenAccess();
|
||||||
this.openAccessRepo = OpenaireProperties.getOpenAccessRepo();
|
this.openAccessRepo = OpenaireProperties.getOpenAccessRepo();
|
||||||
|
@ -71,17 +72,28 @@ export class DepositComponent {
|
||||||
this.h2020Guidlines = OpenaireProperties.getH2020Guidlines();
|
this.h2020Guidlines = OpenaireProperties.getH2020Guidlines();
|
||||||
this.ercGuidlines = OpenaireProperties.getERCGuidlines();
|
this.ercGuidlines = OpenaireProperties.getERCGuidlines();
|
||||||
this.helpdesk = OpenaireProperties.getHelpdesk();
|
this.helpdesk = OpenaireProperties.getHelpdesk();
|
||||||
|
this.updateTitle("Deposit "+this.requestFor);
|
||||||
|
this.updateDescription("Openaire, repositories, open access, data provider, compatibility, organization, deposit "+ this.requestFor);
|
||||||
|
}
|
||||||
|
updateDescription(description:string){
|
||||||
|
this._meta.updateMeta("description", description);
|
||||||
|
this._meta.updateMeta("og:description", description);
|
||||||
|
}
|
||||||
|
updateTitle(title:string){
|
||||||
|
var _suffix ="| OpenAIRE";
|
||||||
|
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
|
||||||
|
this._meta.setTitle(_title );
|
||||||
|
this._meta.updateMeta("og:title",_title);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
organizationSelected(id: string) {
|
organizationSelected(id: string) {
|
||||||
console.info("organization selected");
|
console.info("organization selected");
|
||||||
if(id && id.length > 0){
|
if(id && id.length > 0){
|
||||||
if(this.requestFor == "Publications") {
|
if(this.requestFor == "Publications") {
|
||||||
this._router.navigate( ['deposit-publications-result'], { queryParams: { "organizationId": id } } );
|
this._router.navigate( ['participate/deposit-publications-result'], { queryParams: { "organizationId": id } } );
|
||||||
} else if(this.requestFor == "Research Data") {
|
} else if(this.requestFor == "Research Data") {
|
||||||
this._router.navigate( ['deposit-datasets-result'], { queryParams: { "organizationId": id } } );
|
this._router.navigate( ['participate/deposit-datasets-result'], { queryParams: { "organizationId": id } } );
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.warningMessage = "No organization selected";
|
this.warningMessage = "No organization selected";
|
||||||
|
|
|
@ -7,6 +7,7 @@ import { FetchDataproviders } from '../utils/fetchEntitiesClasses/fetchDataprovi
|
||||||
import { SearchDataprovidersService } from '../services/searchDataproviders.service';
|
import { SearchDataprovidersService } from '../services/searchDataproviders.service';
|
||||||
|
|
||||||
import {OrganizationService} from '../services/organization.service';
|
import {OrganizationService} from '../services/organization.service';
|
||||||
|
import { Meta} from '../../angular2-meta';
|
||||||
|
|
||||||
import {RouterHelper} from '../utils/routerHelper.class';
|
import {RouterHelper} from '../utils/routerHelper.class';
|
||||||
|
|
||||||
|
@ -112,15 +113,27 @@ export class DepositResultComponent {
|
||||||
constructor (private _router: Router,
|
constructor (private _router: Router,
|
||||||
private route: ActivatedRoute,
|
private route: ActivatedRoute,
|
||||||
private _searchDataprovidersService: SearchDataprovidersService,
|
private _searchDataprovidersService: SearchDataprovidersService,
|
||||||
private _organizationService: OrganizationService) {
|
private _organizationService: OrganizationService, private _meta: Meta) {
|
||||||
console.info("depositResult constructor");
|
console.info("depositResult constructor");
|
||||||
|
|
||||||
this.zenodo = OpenaireProperties.getZenodoURL();
|
this.zenodo = OpenaireProperties.getZenodoURL();
|
||||||
this.fetchDataproviders = new FetchDataproviders(this._searchDataprovidersService);
|
this.fetchDataproviders = new FetchDataproviders(this._searchDataprovidersService);
|
||||||
|
|
||||||
this.status = this.errorCodes.LOADING;
|
this.status = this.errorCodes.LOADING;
|
||||||
console.info("loading");
|
this.updateTitle("Deposit "+this.requestFor);
|
||||||
|
this.updateDescription("Openaire, repositories, open access, data provider, compatibility, organization, deposit "+ this.requestFor);
|
||||||
}
|
}
|
||||||
|
updateDescription(description:string){
|
||||||
|
this._meta.updateMeta("description", description);
|
||||||
|
this._meta.updateMeta("og:description", description);
|
||||||
|
}
|
||||||
|
updateTitle(title:string){
|
||||||
|
var _suffix ="| OpenAIRE";
|
||||||
|
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
|
||||||
|
this._meta.setTitle(_title );
|
||||||
|
this._meta.updateMeta("og:title",_title);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
console.info('depositResult init');
|
console.info('depositResult init');
|
||||||
|
|
|
@ -3,9 +3,9 @@ import {Observable} from 'rxjs/Observable';
|
||||||
import {DataProviderService} from './dataProvider.service';
|
import {DataProviderService} from './dataProvider.service';
|
||||||
import {DataProviderInfo} from '../../utils/entities/dataProviderInfo';
|
import {DataProviderInfo} from '../../utils/entities/dataProviderInfo';
|
||||||
import {ActivatedRoute} from '@angular/router';
|
import {ActivatedRoute} from '@angular/router';
|
||||||
|
import { Meta} from '../../../angular2-meta';
|
||||||
|
|
||||||
import{TabsComponent} from './tabs.component';
|
import{TabsComponent} from './tabs.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'dataprovider',
|
selector: 'dataprovider',
|
||||||
templateUrl: 'dataProvider.component.html',
|
templateUrl: 'dataProvider.component.html',
|
||||||
|
@ -14,8 +14,9 @@ import{TabsComponent} from './tabs.component';
|
||||||
})
|
})
|
||||||
|
|
||||||
export class DataProviderComponent {
|
export class DataProviderComponent {
|
||||||
constructor (private _dataproviderService: DataProviderService, private route: ActivatedRoute) {
|
constructor (private _dataproviderService: DataProviderService, private route: ActivatedRoute, private _meta: Meta) {
|
||||||
|
this.updateTitle("Data provider");
|
||||||
|
this.updateDescription("Data provider, search, repositories, open access");
|
||||||
}
|
}
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.sub = this.route.queryParams.subscribe(data => {
|
this.sub = this.route.queryParams.subscribe(data => {
|
||||||
|
@ -63,6 +64,8 @@ export class DataProviderComponent {
|
||||||
this._dataproviderService.getDataproviderInfo(this.datasourceId).subscribe(
|
this._dataproviderService.getDataproviderInfo(this.datasourceId).subscribe(
|
||||||
data => {
|
data => {
|
||||||
this.dataProviderInfo = data;
|
this.dataProviderInfo = data;
|
||||||
|
this.updateTitle(this.dataProviderInfo.title.name);
|
||||||
|
this.updateDescription("Data provider, search, repositories, open access,"+this.dataProviderInfo.title.name);
|
||||||
// console.info(this.dataProviderInfo.resultsBy);
|
// console.info(this.dataProviderInfo.resultsBy);
|
||||||
},
|
},
|
||||||
err => {
|
err => {
|
||||||
|
@ -73,4 +76,14 @@ export class DataProviderComponent {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
updateDescription(description:string){
|
||||||
|
this._meta.updateMeta("description", description);
|
||||||
|
this._meta.updateMeta("og:description", description);
|
||||||
|
}
|
||||||
|
updateTitle(title:string){
|
||||||
|
var _suffix ="| OpenAIRE";
|
||||||
|
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
|
||||||
|
this._meta.setTitle(_title );
|
||||||
|
this._meta.updateMeta("og:title",_title);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -205,7 +205,7 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</dd>
|
</dd>
|
||||||
<!--dd><a [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[datasetId,'dataset','project'])" routerLinkActive="router-link-active" routerLink="/linking" > <i class="uk-icon-link"></i> Add links to projects</a></dd-->
|
<!--dd><a [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[datasetId,'dataset','project'])" routerLinkActive="router-link-active" routerLink="/participate/claim" > <i class="uk-icon-link"></i> Add links to projects</a></dd-->
|
||||||
<dd *ngIf="showAllFundedBy" class="uk-text-right">
|
<dd *ngIf="showAllFundedBy" class="uk-text-right">
|
||||||
<a class="uk-text-muted" (click)="showAllFundedBy = !showAllFundedBy;">
|
<a class="uk-text-muted" (click)="showAllFundedBy = !showAllFundedBy;">
|
||||||
View less
|
View less
|
||||||
|
@ -235,7 +235,7 @@
|
||||||
<span *ngIf="item['labelConcept'] != null">: {{item['labelConcept']}}</span>
|
<span *ngIf="item['labelConcept'] != null">: {{item['labelConcept']}}</span>
|
||||||
</mark>
|
</mark>
|
||||||
</dd>
|
</dd>
|
||||||
<!--dd><a [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[datasetId,'dataset','context'])" routerLinkActive="router-link-active" routerLink="/linking" > <i class="uk-icon-link"></i> Add links to contexts</a></dd-->
|
<!--dd><a [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[datasetId,'dataset','context'])" routerLinkActive="router-link-active" routerLink="/participate/claim" > <i class="uk-icon-link"></i> Add links to contexts</a></dd-->
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -5,6 +5,7 @@ import {DatasetInfo} from '../../utils/entities/datasetInfo';
|
||||||
import {ActivatedRoute} from '@angular/router';
|
import {ActivatedRoute} from '@angular/router';
|
||||||
import {OpenaireProperties} from '../../utils/properties/openaireProperties'
|
import {OpenaireProperties} from '../../utils/properties/openaireProperties'
|
||||||
import {RouterHelper} from '../../utils/routerHelper.class';
|
import {RouterHelper} from '../../utils/routerHelper.class';
|
||||||
|
import { Meta} from '../../../angular2-meta';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'dataset',
|
selector: 'dataset',
|
||||||
|
@ -38,12 +39,14 @@ export class DatasetComponent {
|
||||||
public errorMessage = "";
|
public errorMessage = "";
|
||||||
public routerHelper:RouterHelper = new RouterHelper();
|
public routerHelper:RouterHelper = new RouterHelper();
|
||||||
|
|
||||||
constructor (private _datasetService: DatasetService, private route: ActivatedRoute) {}
|
constructor (private _datasetService: DatasetService, private route: ActivatedRoute, private _meta: Meta) {}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.sub = this.route.queryParams.subscribe(params => {
|
this.sub = this.route.queryParams.subscribe(params => {
|
||||||
this.datasetId = params['datasetId'];
|
this.datasetId = params['datasetId'];
|
||||||
console.info("Id is :"+this.datasetId);
|
console.info("Id is :"+this.datasetId);
|
||||||
|
this.updateTitle("Dataset");
|
||||||
|
this.updateDescription("Dataset, search, open access");
|
||||||
if(this.datasetId){
|
if(this.datasetId){
|
||||||
this.getDatasetInfo(this.datasetId);
|
this.getDatasetInfo(this.datasetId);
|
||||||
}else{
|
}else{
|
||||||
|
@ -68,7 +71,8 @@ export class DatasetComponent {
|
||||||
this._datasetService.getDatasetInfo(id).subscribe(
|
this._datasetService.getDatasetInfo(id).subscribe(
|
||||||
data => {
|
data => {
|
||||||
this.datasetInfo = data;
|
this.datasetInfo = data;
|
||||||
|
this.updateTitle(this.datasetInfo.title.name);
|
||||||
|
this.updateDescription("Dataset, search, repositories, open access,"+this.datasetInfo.title.name);
|
||||||
this.result = []
|
this.result = []
|
||||||
this.result = {id: id, type :"dataset", source : "openaire", title: this.datasetInfo.title,url: '', result: '', accessRights: this.datasetInfo.bestlicense, embargoEndDate: ''};
|
this.result = {id: id, type :"dataset", source : "openaire", title: this.datasetInfo.title,url: '', result: '', accessRights: this.datasetInfo.bestlicense, embargoEndDate: ''};
|
||||||
|
|
||||||
|
@ -97,4 +101,14 @@ export class DatasetComponent {
|
||||||
this.totalViews = $event.totalViews;
|
this.totalViews = $event.totalViews;
|
||||||
this.totalDownloads = $event.totalDownloads;
|
this.totalDownloads = $event.totalDownloads;
|
||||||
}
|
}
|
||||||
|
updateDescription(description:string){
|
||||||
|
this._meta.updateMeta("description", description);
|
||||||
|
this._meta.updateMeta("og:description", description);
|
||||||
|
}
|
||||||
|
updateTitle(title:string){
|
||||||
|
var _suffix ="| OpenAIRE";
|
||||||
|
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
|
||||||
|
this._meta.setTitle(_title );
|
||||||
|
this._meta.updateMeta("og:title",_title);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ import {FetchDataproviders} from '../../utils/fetchEntitiesClasses/fetchDataprov
|
||||||
import {SearchPublicationsService} from '../../services/searchPublications.service';
|
import {SearchPublicationsService} from '../../services/searchPublications.service';
|
||||||
import {SearchDataprovidersService} from '../../services/searchDataproviders.service';
|
import {SearchDataprovidersService} from '../../services/searchDataproviders.service';
|
||||||
import {SearchProjectsService} from '../../services/searchProjects.service';
|
import {SearchProjectsService} from '../../services/searchProjects.service';
|
||||||
|
import { Meta} from '../../../angular2-meta';
|
||||||
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
import {SearchingProjectsTabComponent} from '../searchingProjectsInTab.component';
|
import {SearchingProjectsTabComponent} from '../searchingProjectsInTab.component';
|
||||||
import {RouterHelper} from '../../utils/routerHelper.class';
|
import {RouterHelper} from '../../utils/routerHelper.class';
|
||||||
|
@ -61,8 +61,9 @@ export class OrganizationComponent {
|
||||||
private _searchDataprovidersService: SearchDataprovidersService,
|
private _searchDataprovidersService: SearchDataprovidersService,
|
||||||
private _reportsService: ReportsService,
|
private _reportsService: ReportsService,
|
||||||
private _searchPublicationsService: SearchPublicationsService,
|
private _searchPublicationsService: SearchPublicationsService,
|
||||||
private _searchProjectsService: SearchProjectsService) {
|
private _searchProjectsService: SearchProjectsService, private _meta: Meta) {
|
||||||
|
this.updateTitle("Organization");
|
||||||
|
this.updateDescription("Organization, country, projects, search, repositories, open access");
|
||||||
console.info('organization constructor');
|
console.info('organization constructor');
|
||||||
this.fetchDataproviders = new FetchDataproviders(this._searchDataprovidersService);
|
this.fetchDataproviders = new FetchDataproviders(this._searchDataprovidersService);
|
||||||
}
|
}
|
||||||
|
@ -119,7 +120,8 @@ export class OrganizationComponent {
|
||||||
this.errorMessage = 'No organization found';
|
this.errorMessage = 'No organization found';
|
||||||
} else {
|
} else {
|
||||||
this.organizationInfo = data;
|
this.organizationInfo = data;
|
||||||
|
this.updateTitle(this.organizationInfo.title.name);
|
||||||
|
this.updateDescription("Organization, country, projects, search, repositories, open access"+this.organizationInfo.title.name);
|
||||||
let projectsNum = 0;
|
let projectsNum = 0;
|
||||||
if(this.organizationInfo.projects != undefined) {
|
if(this.organizationInfo.projects != undefined) {
|
||||||
this.fundersSet = new Set<string>();
|
this.fundersSet = new Set<string>();
|
||||||
|
@ -315,6 +317,16 @@ export class OrganizationComponent {
|
||||||
// error => console.log("Error getting number of publications for project."));
|
// error => console.log("Error getting number of publications for project."));
|
||||||
// }//);
|
// }//);
|
||||||
}
|
}
|
||||||
|
updateDescription(description:string){
|
||||||
|
this._meta.updateMeta("description", description);
|
||||||
|
this._meta.updateMeta("og:description", description);
|
||||||
|
}
|
||||||
|
updateTitle(title:string){
|
||||||
|
var _suffix ="| OpenAIRE";
|
||||||
|
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
|
||||||
|
this._meta.setTitle(_title );
|
||||||
|
this._meta.updateMeta("og:title",_title);
|
||||||
|
}
|
||||||
|
|
||||||
public openLoading(){
|
public openLoading(){
|
||||||
if(this.loading){
|
if(this.loading){
|
||||||
|
|
|
@ -10,6 +10,7 @@ import { FetchDatasets } from '../../utils/fetchEntitiesClasses/fetchDatasets.cl
|
||||||
import { SearchDatasetsService } from '../../services/searchDatasets.service';
|
import { SearchDatasetsService } from '../../services/searchDatasets.service';
|
||||||
|
|
||||||
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
|
import { Meta} from '../../../angular2-meta';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'person',
|
selector: 'person',
|
||||||
|
@ -35,7 +36,10 @@ export class PersonComponent {
|
||||||
constructor (private _personService: PersonService,
|
constructor (private _personService: PersonService,
|
||||||
private route: ActivatedRoute,
|
private route: ActivatedRoute,
|
||||||
private _searchPublicationsService: SearchPublicationsService,
|
private _searchPublicationsService: SearchPublicationsService,
|
||||||
private _searchDatasetsService: SearchDatasetsService) {
|
private _searchDatasetsService: SearchDatasetsService, private _meta: Meta) {
|
||||||
|
this.updateTitle("Person");
|
||||||
|
this.updateDescription("person, publication, research data, search, open access");
|
||||||
|
|
||||||
console.info('person constructor');
|
console.info('person constructor');
|
||||||
this.fetchPublications = new FetchPublications( this._searchPublicationsService);
|
this.fetchPublications = new FetchPublications( this._searchPublicationsService);
|
||||||
this.fetchDatasets = new FetchDatasets( this._searchDatasetsService);
|
this.fetchDatasets = new FetchDatasets( this._searchDatasetsService);
|
||||||
|
@ -97,6 +101,8 @@ export class PersonComponent {
|
||||||
this._personService.getPersonInfo(this.personId).subscribe(
|
this._personService.getPersonInfo(this.personId).subscribe(
|
||||||
data => {
|
data => {
|
||||||
this.personInfo = data;
|
this.personInfo = data;
|
||||||
|
this.updateTitle(this.personInfo.fullname);
|
||||||
|
this.updateDescription("person, publication, research data, search, open access, "+this.personInfo.fullname);
|
||||||
},
|
},
|
||||||
err => {
|
err => {
|
||||||
|
|
||||||
|
@ -117,4 +123,14 @@ export class PersonComponent {
|
||||||
this.fetchDatasets.getResultsForEntity("person", this.personId, 1, 10);
|
this.fetchDatasets.getResultsForEntity("person", this.personId, 1, 10);
|
||||||
this.linkToSearchDatasets = OpenaireProperties.getLinkToAdvancedSearchDatasets();// + "?person=" + this.personId + "&pe=and";
|
this.linkToSearchDatasets = OpenaireProperties.getLinkToAdvancedSearchDatasets();// + "?person=" + this.personId + "&pe=and";
|
||||||
}
|
}
|
||||||
|
updateDescription(description:string){
|
||||||
|
this._meta.updateMeta("description", description);
|
||||||
|
this._meta.updateMeta("og:description", description);
|
||||||
|
}
|
||||||
|
updateTitle(title:string){
|
||||||
|
var _suffix ="| OpenAIRE";
|
||||||
|
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
|
||||||
|
this._meta.setTitle(_title );
|
||||||
|
this._meta.updateMeta("og:title",_title);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -234,12 +234,12 @@
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
<!--li>
|
<!--li>
|
||||||
<a [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[projectId,'project','result'])" routerLinkActive="router-link-active" routerLink="/linking" > <i class="uk-icon-link"></i>
|
<a [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[projectId,'project','result'])" routerLinkActive="router-link-active" routerLink="/participate/claim" > <i class="uk-icon-link"></i>
|
||||||
Link to research results
|
Link to research results
|
||||||
</a>
|
</a>
|
||||||
</li-->
|
</li-->
|
||||||
<li>
|
<li>
|
||||||
<a routerLinkActive="router-link-active" routerLink="/deposit-publications">
|
<a routerLinkActive="router-link-active" routerLink="/participate/deposit-publications">
|
||||||
Deposit Publications
|
Deposit Publications
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -14,6 +14,8 @@ import {ModalLoading} from '../../utils/modal/loading.component';
|
||||||
|
|
||||||
import {ReportsService} from '../../services/reports.service';
|
import {ReportsService} from '../../services/reports.service';
|
||||||
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
|
import { Meta} from '../../../angular2-meta';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'project',
|
selector: 'project',
|
||||||
|
@ -62,11 +64,13 @@ export class ProjectComponent{
|
||||||
private route: ActivatedRoute,
|
private route: ActivatedRoute,
|
||||||
private _searchPublicationsService: SearchPublicationsService,
|
private _searchPublicationsService: SearchPublicationsService,
|
||||||
private _searchDatasetsService: SearchDatasetsService,
|
private _searchDatasetsService: SearchDatasetsService,
|
||||||
private _reportsService: ReportsService) {
|
private _reportsService: ReportsService, private _meta: Meta) {
|
||||||
console.info('project constructor.');
|
console.info('project constructor.');
|
||||||
|
|
||||||
this.fetchPublications = new FetchPublications( this._searchPublicationsService);
|
this.fetchPublications = new FetchPublications( this._searchPublicationsService);
|
||||||
this.fetchDatasets = new FetchDatasets(this._searchDatasetsService);
|
this.fetchDatasets = new FetchDatasets(this._searchDatasetsService);
|
||||||
|
this.updateTitle("Project");
|
||||||
|
this.updateDescription("project, funding, open access, publications, datasets, ");
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
@ -166,6 +170,8 @@ export class ProjectComponent{
|
||||||
if(this.projectName == undefined || this.projectName == '') {
|
if(this.projectName == undefined || this.projectName == '') {
|
||||||
this.projectName = this.projectInfo.title;
|
this.projectName = this.projectInfo.title;
|
||||||
}
|
}
|
||||||
|
this.updateTitle(this.projectName);
|
||||||
|
this.updateDescription("project, funding, open access, publications, datasets, "+this.projectName+ ","+this.projectInfo.funder);
|
||||||
this.project= { funderId: "", funderName: this.projectInfo.funder, projectId: this.projectId, projectName: this.projectInfo.title, projectAcronym: this.projectInfo.acronym, startDate: this.projectInfo.startDate, endDate: this.projectInfo.endDate };
|
this.project= { funderId: "", funderName: this.projectInfo.funder, projectId: this.projectId, projectName: this.projectInfo.title, projectAcronym: this.projectInfo.acronym, startDate: this.projectInfo.startDate, endDate: this.projectInfo.endDate };
|
||||||
|
|
||||||
this.viewsFrameUrl = OpenaireProperties.getFramesAPIURL()+'merge.php?com=query&data=[{"query":"projViewsTimeline","projTitle":"'+this.projectId+'","table":"","fields":[{"fld":"sum","agg":"sum","type":"column","yaxis":1,"c":false}],"xaxis":{"name":"month","agg":"sum"},"group":"","color":"","type":"chart","size":30,"sort":"xaxis","xStyle":{"r":-30,"s":"0","l":"-","ft":"-","wt":"-"},"title":"","subtitle":"","xaxistitle":"","yaxisheaders":["Monthly views"],"generalxaxis":"","theme":0,"in":[]}]&info_types=["spline"]&stacking=&steps=false&fontFamily=Courier&spacing=[5,0,0,0]&style=[{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"000000","size":""},{"color":"000000","size":""}]&backgroundColor=rgba(255,255,255,1)&colors[]=rgba(124, 181, 236, 1)&colors[]=rgba(67, 67, 72, 1)&colors[]=rgba(144, 237, 125, 1)&colors[]=rgba(247, 163, 92, 1)&colors[]=rgba(128, 133, 233, 1)&colors[]=rgba(241, 92, 128, 1)&colors[]=rgba(228, 211, 84, 1)&colors[]=rgba(43, 144, 143, 1)&colors[]=rgba(244, 91, 91, 1)&colors[]=rgba(145, 232, 225, 1)&xlinew=0&ylinew=1&legends=true&tooltips=true';
|
this.viewsFrameUrl = OpenaireProperties.getFramesAPIURL()+'merge.php?com=query&data=[{"query":"projViewsTimeline","projTitle":"'+this.projectId+'","table":"","fields":[{"fld":"sum","agg":"sum","type":"column","yaxis":1,"c":false}],"xaxis":{"name":"month","agg":"sum"},"group":"","color":"","type":"chart","size":30,"sort":"xaxis","xStyle":{"r":-30,"s":"0","l":"-","ft":"-","wt":"-"},"title":"","subtitle":"","xaxistitle":"","yaxisheaders":["Monthly views"],"generalxaxis":"","theme":0,"in":[]}]&info_types=["spline"]&stacking=&steps=false&fontFamily=Courier&spacing=[5,0,0,0]&style=[{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"000000","size":""},{"color":"000000","size":""}]&backgroundColor=rgba(255,255,255,1)&colors[]=rgba(124, 181, 236, 1)&colors[]=rgba(67, 67, 72, 1)&colors[]=rgba(144, 237, 125, 1)&colors[]=rgba(247, 163, 92, 1)&colors[]=rgba(128, 133, 233, 1)&colors[]=rgba(241, 92, 128, 1)&colors[]=rgba(228, 211, 84, 1)&colors[]=rgba(43, 144, 143, 1)&colors[]=rgba(244, 91, 91, 1)&colors[]=rgba(145, 232, 225, 1)&xlinew=0&ylinew=1&legends=true&tooltips=true';
|
||||||
|
@ -236,6 +242,17 @@ export class ProjectComponent{
|
||||||
this.totalViews = $event.totalViews;
|
this.totalViews = $event.totalViews;
|
||||||
this.totalDownloads = $event.totalDownloads;
|
this.totalDownloads = $event.totalDownloads;
|
||||||
}
|
}
|
||||||
|
updateDescription(description:string){
|
||||||
|
this._meta.updateMeta("description", description);
|
||||||
|
this._meta.updateMeta("og:description", description);
|
||||||
|
}
|
||||||
|
updateTitle(title:string){
|
||||||
|
var _suffix ="| OpenAIRE";
|
||||||
|
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
|
||||||
|
this._meta.setTitle(_title );
|
||||||
|
this._meta.updateMeta("og:title",_title);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public openLoading(){
|
public openLoading(){
|
||||||
if(this.loading){
|
if(this.loading){
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
|
|
||||||
<!--div class="uk-clearfix uk-margin-top uk-margin-bottom">
|
<!--div class="uk-clearfix uk-margin-top uk-margin-bottom">
|
||||||
|
|
||||||
<a class="uk-float-right uk-button" [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[articleId,'publication','publication'])" routerLinkActive="router-link-active" routerLink="/linking" > <i class="uk-icon-link"></i> Links to research Results</a>
|
<a class="uk-float-right uk-button" [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[articleId,'publication','publication'])" routerLinkActive="router-link-active" routerLink="/participate/claim" > <i class="uk-icon-link"></i> Links to research Results</a>
|
||||||
</div-->
|
</div-->
|
||||||
|
|
||||||
<ul class="uk-tab" data-uk-switcher="{connect: '#tab-content'}">
|
<ul class="uk-tab" data-uk-switcher="{connect: '#tab-content'}">
|
||||||
|
@ -495,7 +495,7 @@
|
||||||
View more
|
View more
|
||||||
</a>
|
</a>
|
||||||
</dd>
|
</dd>
|
||||||
<!--dd><a [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[articleId,'publication','project'])" routerLinkActive="router-link-active" routerLink="/linking" > <i class="uk-icon-link"></i> Add links to projects</a></dd-->
|
<!--dd><a [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[articleId,'publication','project'])" routerLinkActive="router-link-active" routerLink="/participate/claim" > <i class="uk-icon-link"></i> Add links to projects</a></dd-->
|
||||||
</dl>
|
</dl>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
@ -514,7 +514,7 @@
|
||||||
<span *ngIf="item['labelConcept'] != null">: {{item['labelConcept']}}</span>
|
<span *ngIf="item['labelConcept'] != null">: {{item['labelConcept']}}</span>
|
||||||
</mark>
|
</mark>
|
||||||
</dd>
|
</dd>
|
||||||
<!--dd><a [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[articleId,'publication','context'])" routerLinkActive="router-link-active" routerLink="/linking" > <i class="uk-icon-link"></i> Add links to contexts</a></dd-->
|
<!--dd><a [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[articleId,'publication','context'])" routerLinkActive="router-link-active" routerLink="/participate/claim" > <i class="uk-icon-link"></i> Add links to contexts</a></dd-->
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -5,8 +5,8 @@ import {PublicationInfo} from '../../utils/entities/publicationInfo';
|
||||||
import {ActivatedRoute} from '@angular/router';
|
import {ActivatedRoute} from '@angular/router';
|
||||||
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
import {RouterHelper} from '../../utils/routerHelper.class';
|
import {RouterHelper} from '../../utils/routerHelper.class';
|
||||||
// declare var switcher:any;
|
import { Meta} from '../../../angular2-meta';
|
||||||
// declare var UIkit:any;
|
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
@ -49,16 +49,17 @@ export class PublicationComponent {
|
||||||
public routerHelper:RouterHelper = new RouterHelper();
|
public routerHelper:RouterHelper = new RouterHelper();
|
||||||
|
|
||||||
constructor (private _publicationService: PublicationService,
|
constructor (private _publicationService: PublicationService,
|
||||||
private route: ActivatedRoute) {
|
private route: ActivatedRoute, private _meta: Meta) { }
|
||||||
console.log("******CONSTR");
|
|
||||||
}
|
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.sub = this.route.queryParams.subscribe(data => {
|
this.sub = this.route.queryParams.subscribe(data => {
|
||||||
|
|
||||||
this.articleId = data['articleId'];
|
this.articleId = data['articleId'];
|
||||||
console.info("Article id is :"+this.articleId);
|
console.info("Article id is :"+this.articleId);
|
||||||
|
this.updateTitle("Publication");
|
||||||
|
this.updateDescription("Publication, open access, collected from");
|
||||||
if(this.articleId){
|
if(this.articleId){
|
||||||
|
|
||||||
this.getPublicationInfo(this.articleId);
|
this.getPublicationInfo(this.articleId);
|
||||||
// if (typeof document !== 'undefined') {
|
// if (typeof document !== 'undefined') {
|
||||||
// switcher(UIkit);
|
// switcher(UIkit);
|
||||||
|
@ -89,7 +90,8 @@ export class PublicationComponent {
|
||||||
|
|
||||||
// this.result = []
|
// this.result = []
|
||||||
// this.result = {id: id, type :"dataset", source : "openaire", title: this.publicationInfo.title,url: '', result: '', accessRights: this.publicationInfo.bestlicense, embargoEndDate: ''};
|
// this.result = {id: id, type :"dataset", source : "openaire", title: this.publicationInfo.title,url: '', result: '', accessRights: this.publicationInfo.bestlicense, embargoEndDate: ''};
|
||||||
|
this.updateTitle(this.publicationInfo.title.name);
|
||||||
|
this.updateDescription("Dataset, search, repositories, open access,"+this.publicationInfo.title.name);
|
||||||
let bioentitiesNum = 0;
|
let bioentitiesNum = 0;
|
||||||
if(this.publicationInfo.bioentities != undefined) {
|
if(this.publicationInfo.bioentities != undefined) {
|
||||||
this.publicationInfo.bioentities.forEach(function (value, key, map) {
|
this.publicationInfo.bioentities.forEach(function (value, key, map) {
|
||||||
|
@ -180,4 +182,14 @@ export class PublicationComponent {
|
||||||
</div>
|
</div>
|
||||||
</div>*/
|
</div>*/
|
||||||
}
|
}
|
||||||
|
updateDescription(description:string){
|
||||||
|
this._meta.updateMeta("description", description);
|
||||||
|
this._meta.updateMeta("og:description", description);
|
||||||
|
}
|
||||||
|
updateTitle(title:string){
|
||||||
|
var _suffix ="| OpenAIRE";
|
||||||
|
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
|
||||||
|
this._meta.setTitle(_title );
|
||||||
|
this._meta.updateMeta("og:title",_title);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,8 @@ import {Observable} from 'rxjs/Observable';
|
||||||
import {ActivatedRoute, Router} from '@angular/router';
|
import {ActivatedRoute, Router} from '@angular/router';
|
||||||
import {Location} from '@angular/common';
|
import {Location} from '@angular/common';
|
||||||
|
|
||||||
|
import { Meta, MetaDefinition} from '../../../angular2-meta';
|
||||||
|
|
||||||
import { FetchPublications } from '../../utils/fetchEntitiesClasses/fetchPublications.class';
|
import { FetchPublications } from '../../utils/fetchEntitiesClasses/fetchPublications.class';
|
||||||
import { FetchDataproviders } from '../../utils/fetchEntitiesClasses/fetchDataproviders.class';
|
import { FetchDataproviders } from '../../utils/fetchEntitiesClasses/fetchDataproviders.class';
|
||||||
import { FetchProjects } from '../../utils/fetchEntitiesClasses/fetchProjects.class';
|
import { FetchProjects } from '../../utils/fetchEntitiesClasses/fetchProjects.class';
|
||||||
|
@ -250,13 +252,19 @@ public subPub;public subData;public subProjects;public subOrg;public subPeople;
|
||||||
private _searchDatasetsService: SearchDatasetsService,
|
private _searchDatasetsService: SearchDatasetsService,
|
||||||
private _searchOrganizationsService: SearchOrganizationsService,
|
private _searchOrganizationsService: SearchOrganizationsService,
|
||||||
private _searchPeopleService: SearchPeopleService,
|
private _searchPeopleService: SearchPeopleService,
|
||||||
private location: Location ) {
|
private location: Location, private _meta: Meta ) {
|
||||||
this.fetchPublications = new FetchPublications(this._searchPublicationsService);
|
this.fetchPublications = new FetchPublications(this._searchPublicationsService);
|
||||||
this.fetchDataproviders = new FetchDataproviders(this._searchDataprovidersService);
|
this.fetchDataproviders = new FetchDataproviders(this._searchDataprovidersService);
|
||||||
this.fetchProjects = new FetchProjects(this._searchProjectsService);
|
this.fetchProjects = new FetchProjects(this._searchProjectsService);
|
||||||
this.fetchDatasets = new FetchDatasets( this._searchDatasetsService);
|
this.fetchDatasets = new FetchDatasets( this._searchDatasetsService);
|
||||||
this.fetchOrganizations = new FetchOrganizations( this._searchOrganizationsService);
|
this.fetchOrganizations = new FetchOrganizations( this._searchOrganizationsService);
|
||||||
this.fetchPeople = new FetchPeople(this._searchPeopleService);
|
this.fetchPeople = new FetchPeople(this._searchPeopleService);
|
||||||
|
var description = "open access, research, scientific publication, European Commission, EC, FP7, ERC, Horizon 2020, H2020, search, projects ";
|
||||||
|
var title = "Search publications, datasets, projects... | OpenAIRE";
|
||||||
|
this._meta.setTitle(title);
|
||||||
|
this._meta.updateMeta("description", description);
|
||||||
|
this._meta.updateMeta("og:description", description);
|
||||||
|
this._meta.updateMeta("og:title", title);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ngOnInit() {
|
public ngOnInit() {
|
||||||
|
@ -268,6 +276,7 @@ public subPub;public subData;public subProjects;public subOrg;public subPeople;
|
||||||
this.count();
|
this.count();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
public ngOnDestroy() {
|
public ngOnDestroy() {
|
||||||
this.sub.unsubscribe();
|
this.sub.unsubscribe();
|
||||||
|
|
|
@ -7,6 +7,7 @@ import {SearchFields} from '../../utils/properties/searchFields';
|
||||||
import {SearchUtilsClass} from './searchUtils.class';
|
import {SearchUtilsClass} from './searchUtils.class';
|
||||||
import {ModalLoading} from '../../utils/modal/loading.component';
|
import {ModalLoading} from '../../utils/modal/loading.component';
|
||||||
import {StringUtils, Dates} from '../../utils/string-utils.class';
|
import {StringUtils, Dates} from '../../utils/string-utils.class';
|
||||||
|
import { Meta} from '../../../angular2-meta';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
@ -66,15 +67,26 @@ export class AdvancedSearchPageComponent {
|
||||||
public baseURLWithParameters:string = '';
|
public baseURLWithParameters:string = '';
|
||||||
|
|
||||||
@Output() queryChange = new EventEmitter();
|
@Output() queryChange = new EventEmitter();
|
||||||
constructor (private location: Location) {
|
constructor (private location: Location, private _meta: Meta) {
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
this.updateTitle("Advanced search "+this.pageTitle);
|
||||||
|
this.updateDescription("Openaire, search, repositories, open access, type, data provider, funder, project, "+ this.pageTitle);
|
||||||
this.searchUtils.baseUrl = "/" + this.searchUtils.baseUrl;
|
this.searchUtils.baseUrl = "/" + this.searchUtils.baseUrl;
|
||||||
this.updateBaseUrlWithParameters();
|
this.updateBaseUrlWithParameters();
|
||||||
this.defineUrlParam();
|
this.defineUrlParam();
|
||||||
}
|
}
|
||||||
|
updateDescription(description:string){
|
||||||
|
this._meta.updateMeta("description", description);
|
||||||
|
this._meta.updateMeta("og:description", description);
|
||||||
|
}
|
||||||
|
updateTitle(title:string){
|
||||||
|
var _suffix ="| OpenAIRE";
|
||||||
|
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
|
||||||
|
this._meta.setTitle(_title );
|
||||||
|
this._meta.updateMeta("og:title",_title);
|
||||||
|
}
|
||||||
private defineUrlParam() {
|
private defineUrlParam() {
|
||||||
if(this.entityType == "publication") {
|
if(this.entityType == "publication") {
|
||||||
this.urlParam = "articleId";
|
this.urlParam = "articleId";
|
||||||
|
|
|
@ -7,6 +7,7 @@ import {SearchFields} from '../../utils/properties/searchFields';
|
||||||
import {SearchUtilsClass} from './searchUtils.class';
|
import {SearchUtilsClass} from './searchUtils.class';
|
||||||
import {DOI, StringUtils} from '../../utils/string-utils.class';
|
import {DOI, StringUtils} from '../../utils/string-utils.class';
|
||||||
import {ModalLoading} from '../../utils/modal/loading.component';
|
import {ModalLoading} from '../../utils/modal/loading.component';
|
||||||
|
import { Meta} from '../../../angular2-meta';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'search-page',
|
selector: 'search-page',
|
||||||
|
@ -93,19 +94,29 @@ export class SearchPageComponent {
|
||||||
public urlParam: string;
|
public urlParam: string;
|
||||||
public parameterNames:string[] =[];
|
public parameterNames:string[] =[];
|
||||||
public parameterValues:string[] =[];
|
public parameterValues:string[] =[];
|
||||||
constructor (private location: Location ) {
|
constructor (private location: Location , private _meta: Meta) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.updateBaseUrlWithParameters(this.filters);
|
this.updateBaseUrlWithParameters(this.filters);
|
||||||
this.defineUrlParam();
|
this.defineUrlParam();
|
||||||
//console.info(this.entityType + " " + this.urlParam);
|
this.updateTitle(this.pageTitle);
|
||||||
|
this.updateDescription("Openaire, search, repositories, open access, type, data provider, funder, project, " + this.type + "," +this.pageTitle);
|
||||||
|
// console.info(this.entityType + " " + this.urlParam + this.type);
|
||||||
}
|
}
|
||||||
ngAfterViewChecked(){
|
ngAfterViewChecked(){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
updateDescription(description:string){
|
||||||
|
this._meta.updateMeta("description", description);
|
||||||
|
this._meta.updateMeta("og:description", description);
|
||||||
|
}
|
||||||
|
updateTitle(title:string){
|
||||||
|
var _suffix ="| OpenAIRE";
|
||||||
|
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
|
||||||
|
this._meta.setTitle(_title );
|
||||||
|
this._meta.updateMeta("og:title",_title);
|
||||||
|
}
|
||||||
private defineUrlParam() {
|
private defineUrlParam() {
|
||||||
if(this.entityType == "publication") {
|
if(this.entityType == "publication") {
|
||||||
this.urlParam = "articleId";
|
this.urlParam = "articleId";
|
||||||
|
|
|
@ -225,9 +225,9 @@ public getResultsForDeposit(id:string, type:string, page: number, size: number)
|
||||||
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
||||||
this.csvParams = parameters;
|
this.csvParams = parameters;
|
||||||
|
|
||||||
if(!refine && !this.searchPage){
|
// if(!refine && !this.searchPage){
|
||||||
this.searchPage = new SearchPageComponent(this._location);
|
// this.searchPage = new SearchPageComponent(this._location);
|
||||||
}
|
// }
|
||||||
var errorCodes:ErrorCodes = new ErrorCodes();
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
this.searchUtils.status = errorCodes.LOADING;
|
this.searchUtils.status = errorCodes.LOADING;
|
||||||
|
|
||||||
|
|
|
@ -170,9 +170,9 @@ public getResults(keyword:string,refine:boolean, page: number, size: number){
|
||||||
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
||||||
this.csvParams = parameters;
|
this.csvParams = parameters;
|
||||||
|
|
||||||
if(!refine && !this.searchPage){
|
// if(!refine && !this.searchPage){
|
||||||
this.searchPage = new SearchPageComponent(this._location);
|
// this.searchPage = new SearchPageComponent(this._location);
|
||||||
}
|
// }
|
||||||
var errorCodes:ErrorCodes = new ErrorCodes();
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
this.searchUtils.status = errorCodes.LOADING;
|
this.searchUtils.status = errorCodes.LOADING;
|
||||||
this.searchPage.openLoading();
|
this.searchPage.openLoading();
|
||||||
|
|
|
@ -87,9 +87,9 @@ export class SearchOrganizationsComponent {
|
||||||
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
||||||
this.csvParams = parameters;
|
this.csvParams = parameters;
|
||||||
|
|
||||||
if(!refine && !this.searchPage){
|
// if(!refine && !this.searchPage){
|
||||||
this.searchPage = new SearchPageComponent(this._location);
|
// this.searchPage = new SearchPageComponent(this._location);
|
||||||
}
|
// }
|
||||||
var errorCodes:ErrorCodes = new ErrorCodes();
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
this.searchUtils.status = errorCodes.LOADING;
|
this.searchUtils.status = errorCodes.LOADING;
|
||||||
this.searchPage.openLoading();
|
this.searchPage.openLoading();
|
||||||
|
|
|
@ -45,9 +45,9 @@ export class SearchPeopleComponent {
|
||||||
this.searchUtils.status =errorCodes.LOADING;
|
this.searchUtils.status =errorCodes.LOADING;
|
||||||
this.baseUrl = OpenaireProperties.getLinkToSearchPeople();
|
this.baseUrl = OpenaireProperties.getLinkToSearchPeople();
|
||||||
//get refine field filters from url parameters
|
//get refine field filters from url parameters
|
||||||
if(!this.searchPage){
|
// if(!this.searchPage){
|
||||||
this.searchPage = new SearchPageComponent(this._location);
|
// this.searchPage = new SearchPageComponent(this._location);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ngOnInit() {
|
public ngOnInit() {
|
||||||
|
|
|
@ -90,9 +90,9 @@ export class SearchProjectsComponent {
|
||||||
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
||||||
this.csvParams = parameters;
|
this.csvParams = parameters;
|
||||||
|
|
||||||
if(!refine && !this.searchPage){
|
// if(!refine && !this.searchPage){
|
||||||
this.searchPage = new SearchPageComponent(this._location);
|
// this.searchPage = new SearchPageComponent(this._location);
|
||||||
}
|
// }
|
||||||
|
|
||||||
var errorCodes:ErrorCodes = new ErrorCodes();
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
this.searchUtils.status = errorCodes.LOADING;
|
this.searchUtils.status = errorCodes.LOADING;
|
||||||
|
|
|
@ -202,9 +202,9 @@ public getResults(keyword:string,refine:boolean, page: number, size: number){
|
||||||
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
private _getResults(parameters:string,refine:boolean, page: number, size: number){
|
||||||
this.csvParams = parameters;
|
this.csvParams = parameters;
|
||||||
|
|
||||||
if(!refine && !this.searchPage){
|
// if(!refine && !this.searchPage){
|
||||||
this.searchPage = new SearchPageComponent(this._location);
|
// this.searchPage = new SearchPageComponent(this._location);
|
||||||
}
|
// }
|
||||||
|
|
||||||
var errorCodes:ErrorCodes = new ErrorCodes();
|
var errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
this.searchUtils.status = errorCodes.LOADING;
|
this.searchUtils.status = errorCodes.LOADING;
|
||||||
|
|
|
@ -5,80 +5,39 @@ import 'rxjs/Rx';
|
||||||
selector: 'bottom',
|
selector: 'bottom',
|
||||||
template: `
|
template: `
|
||||||
|
|
||||||
<div id="tm-bottom" class="tm-bottom uk-section uk-section-primary">
|
<div class="tm-footer uk-navbar custom-footer">
|
||||||
<div class="uk-container uk-container-expand">
|
<div class="uk-container uk-container-center uk-text-center uk-margin-top">
|
||||||
<div class="uk-child-width-expand@m uk-grid-divider uk-grid-match" uk-grid>
|
|
||||||
|
|
||||||
<div class="uk-width-1-5@m">
|
<ul class="uk-subnav uk-flex-center">
|
||||||
<div class="uk-card uk-card-body uk-uk-panel menu-line uk-width-small" id="module-113">
|
<li>
|
||||||
<ul class="uk-nav uk-nav-default uk-nav-parent-icon uk-nav-side uk-nav-accordion" uk-nav>
|
<a href="http://www.facebook.com/groups/openaire/" target="_blank" class="uk-icon-button uk-icon-facebook"></a>
|
||||||
<li><a href="http://scoobydoo.di.uoa.gr:8083/joomlaNew/news-events/">News</a></li>
|
</li>
|
||||||
<li><a href="http://scoobydoo.di.uoa.gr:8083/joomlaNew/events">Events</a></li>
|
<li>
|
||||||
<li><a href="https://blogs.openaire.eu/" target="_blank">Blog</a></li>
|
<a href="http://www.twitter.com/OpenAIRE_eu" target="_blank" class="uk-icon-button uk-icon-twitter"></a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="http://www.linkedin.com/groups/OpenAIRE-3893548" target="_blank" class="uk-icon-button uk-icon-linkedin"></a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="http://www.slideshare.net/OpenAIRE_eu" target="_blank" class="uk-icon-button uk-icon-slideshare"></a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a uk-icon="icon: vimeo" href="http://vimeo.com/openaire" target="_blank" class="uk-icon-button uk-icon-vimeo"></a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
|
||||||
</div>
|
<div class="uk-panel">
|
||||||
<div class="uk-width-1-5@m">
|
|
||||||
<div class="uk-card uk-card-body uk-uk-panel menu-line uk-width-small" id="module-112">
|
|
||||||
<ul class="uk-nav uk-nav-default uk-nav-parent-icon uk-nav-side uk-nav-accordion" uk-nav>
|
|
||||||
<li><a href="http://scoobydoo.di.uoa.gr:8083/joomlaNew/project-factsheets">About</a></li>
|
|
||||||
<li><a href="http://scoobydoo.di.uoa.gr:8083/joomlaNew/project-partners/">Partners</a></li>
|
|
||||||
<li><a href="http://scoobydoo.di.uoa.gr:8083/joomlaNew/contact-noads">NOADs</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="uk-width-1-5@m">
|
|
||||||
<div class="uk-card uk-card-body uk-uk-panel menu-line uk-width-small" id="module-114">
|
|
||||||
<ul class="uk-nav uk-nav-default uk-nav-parent-icon uk-nav-side uk-nav-accordion" uk-nav>
|
|
||||||
<li><a href="http://scoobydoo.di.uoa.gr:8083/joomlaNew/faq">FAQ</a></li>
|
|
||||||
<li><a href="http://scoobydoo.di.uoa.gr:8083/joomlaNew/support/helpdesk">Helpdesk</a></li>
|
|
||||||
<li><a href="http://scoobydoo.di.uoa.gr:8083/joomlaNew/contact-us">Contact us</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="uk-width-1-5@m">
|
|
||||||
<div class="uk-card uk-card-body uk-uk-panel menu-line uk-width-small" id="module-115">
|
|
||||||
<ul class="uk-nav uk-nav-default uk-nav-parent-icon uk-nav-side uk-nav-accordion" uk-nav>
|
|
||||||
<li><a href="http://scoobydoo.di.uoa.gr:8083/joomlaNew/public-documents">Documents</a></li>
|
|
||||||
<li><a href="https://guidelines.openaire.eu/wiki/Main_Page" target="_blank">Guidelines</a></li>
|
|
||||||
<li><a href="http://api.openaire.eu" target="_blank">APIs</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="uk-section uk-section-default">
|
|
||||||
<div class="uk-container">
|
|
||||||
<div class="uk-grid-collapse" uk-grid>
|
|
||||||
<div class="uk-width-1-1@m">
|
|
||||||
<div class="uk-margin-small uk-margin-remove-top">
|
|
||||||
<div class="uk-child-width-auto uk-flex-inline uk-grid-small" uk-grid>
|
|
||||||
<div>
|
|
||||||
<a uk-icon="icon: facebook" href="http://www.facebook.com/groups/openaire/" target="_blank" class="uk-icon-button"></a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a uk-icon="icon: twitter" href="http://www.twitter.com/OpenAIRE_eu" target="_blank" class="uk-icon-button"></a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a uk-icon="icon: linkedin" href="http://www.linkedin.com/groups/OpenAIRE-3893548" target="_blank" class="uk-icon-button"></a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a uk-icon="icon: social" href="http://www.slideshare.net/OpenAIRE_eu" target="_blank" class="uk-icon-button"></a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a uk-icon="icon: vimeo" href="http://vimeo.com/openaire" target="_blank" class="uk-icon-button"></a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="uk-margin-remove-top uk-margin-remove-bottom uk-text-left">
|
|
||||||
<img src="http://scoobydoo.di.uoa.gr:8083/joomlaNew/?hash=36b3ee0eb00bbe4eb81727501e4e2fb8&p=theme%2Fimage&src=aW1hZ2VzL0VDX2xvZ29fYmx1ZV9tb25vX2hvcml6b250YWwucG5nP3RodW1ibmFpbD0xMDAlMkMzMCZzaXplcz04MCUyNSUyQzIwMCUyNQ%3D%3D&option=com_ajax&style=26" srcset="http://scoobydoo.di.uoa.gr:8083/joomlaNew/?hash=05230339e57360ccf3930f7fe2db8209&p=theme%2Fimage&src=aW1hZ2VzL0VDX2xvZ29fYmx1ZV9tb25vX2hvcml6b250YWwucG5nP3RodW1ibmFpbD04MCUyQzI0&option=com_ajax&style=26 80w, /joomlaNew/?hash=d70cbf90c0284dd70817456c2b07d40a&p=theme%2Fimage&src=aW1hZ2VzL0VDX2xvZ29fYmx1ZV9tb25vX2hvcml6b250YWwucG5nP3RodW1ibmFpbD0yMDAlMkM2MA%3D%3D&option=com_ajax&style=26 200w, /joomlaNew/?hash=36b3ee0eb00bbe4eb81727501e4e2fb8&p=theme%2Fimage&src=aW1hZ2VzL0VDX2xvZ29fYmx1ZV9tb25vX2hvcml6b250YWwucG5nP3RodW1ibmFpbD0xMDAlMkMzMCZzaXplcz04MCUyNSUyQzIwMCUyNQ%3D%3D&option=com_ajax&style=26 100w" sizes="(min-width: 100px) 100px, 100vw" alt="European Commission">
|
|
||||||
</div>
|
|
||||||
<div class="uk-margin">
|
<div class="uk-margin">
|
||||||
<a href="#" uk-totop uk-scroll></a>
|
<a rel="license" target="_blank" href="//creativecommons.org/licenses/by/4.0/">
|
||||||
|
<img alt="Creative" commons="" license="" style="border-width:0" src="//i.creativecommons.org/l/by/3.0/80x15.png"></a>
|
||||||
|
Unless otherwise indicated, all materials created by the OpenAIRE consortium are licensed under a
|
||||||
|
<a rel="license" target="_blank" href="//creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
|
||||||
</div>
|
</div>
|
||||||
|
<div class="uk-margin">OpenAIRE is powered by <a target="_blank" href="//www.d-net.research-infrastructures.eu">D-NET</a>.
|
||||||
</div>
|
</div>
|
||||||
|
<a class="uk-margin" href="/"><img src="assets/newlogo.png" title="UIkit" alt="UIkit" width="90" height="30"></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
`
|
`
|
||||||
|
|
|
@ -0,0 +1,146 @@
|
||||||
|
/**
|
||||||
|
* angular2-cookie-law
|
||||||
|
*
|
||||||
|
* Copyright 2016-2017, @andreasonny83, All rights reserved.
|
||||||
|
*
|
||||||
|
* @author: @andreasonny83 <andreasonny83@gmail.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
import {
|
||||||
|
Component,
|
||||||
|
OnInit,
|
||||||
|
ViewEncapsulation,
|
||||||
|
HostBinding,
|
||||||
|
Input,
|
||||||
|
Output,
|
||||||
|
EventEmitter,
|
||||||
|
animate,
|
||||||
|
state,
|
||||||
|
trigger,
|
||||||
|
style,
|
||||||
|
transition,
|
||||||
|
AnimationTransitionEvent,
|
||||||
|
} from '@angular/core';
|
||||||
|
|
||||||
|
import {
|
||||||
|
DomSanitizer,
|
||||||
|
SafeHtml,
|
||||||
|
} from '@angular/platform-browser';
|
||||||
|
|
||||||
|
import {
|
||||||
|
CookieLawService,
|
||||||
|
} from './cookie-law.service';
|
||||||
|
|
||||||
|
// import {
|
||||||
|
// closeIcon,
|
||||||
|
// } from './icons';
|
||||||
|
|
||||||
|
export type CookieLawPosition = 'top' | 'bottom';
|
||||||
|
export type CookieLawAnimation = 'topIn' | 'bottomIn' | 'topOut' | 'bottomOut';
|
||||||
|
export type CookieLawTarget = '_blank' | '_self';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'cookie-law',
|
||||||
|
// encapsulation: ViewEncapsulation.None,
|
||||||
|
animations: [
|
||||||
|
trigger('state', [
|
||||||
|
state('bottomOut', style({ transform: 'translateY(100%)' })),
|
||||||
|
state('topOut', style({ transform: 'translateY(-100%)' })),
|
||||||
|
state('*', style({ transform: 'translateY(0)' })),
|
||||||
|
|
||||||
|
transition('void => topIn', [
|
||||||
|
style({ transform: 'translateY(-100%)' }),
|
||||||
|
animate('1000ms ease-in-out'),
|
||||||
|
]),
|
||||||
|
|
||||||
|
transition('void => bottomIn', [
|
||||||
|
style({ transform: 'translateY(100%)' }),
|
||||||
|
animate('1000ms ease-in-out'),
|
||||||
|
]),
|
||||||
|
|
||||||
|
transition('* => *', animate('1000ms ease-out')),
|
||||||
|
])
|
||||||
|
],
|
||||||
|
styleUrls: [ './cookie-law.css' ],
|
||||||
|
templateUrl: './cookie-law.html',
|
||||||
|
})
|
||||||
|
export class CookieLawComponent implements OnInit {
|
||||||
|
public cookieLawSeen: boolean;
|
||||||
|
|
||||||
|
@Input('learnMore')
|
||||||
|
get learnMore() { return this._learnMore; }
|
||||||
|
set learnMore(value: string) {
|
||||||
|
this._learnMore = (value !== null && `${value}` !== 'false') ? value : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Input('target')
|
||||||
|
get target() { return this._target; }
|
||||||
|
set target(value: CookieLawTarget) {
|
||||||
|
this._target = (value !== null && `${value}` !== 'false' &&
|
||||||
|
(`${value}` === '_blank' || `${value}` === '_self')
|
||||||
|
) ? value : '_blank';
|
||||||
|
}
|
||||||
|
|
||||||
|
@Input('position')
|
||||||
|
get position() { return this._position; }
|
||||||
|
set position(value: CookieLawPosition) {
|
||||||
|
this._position = (value !== null && `${value}` !== 'false' &&
|
||||||
|
(`${value}` === 'top' || `${value}` === 'bottom')
|
||||||
|
) ? value : 'bottom';
|
||||||
|
}
|
||||||
|
|
||||||
|
@Output('isSeen')
|
||||||
|
private isSeenEvt: EventEmitter<boolean>;
|
||||||
|
|
||||||
|
@HostBinding('attr.seen')
|
||||||
|
public isSeen: boolean;
|
||||||
|
|
||||||
|
private animation: CookieLawAnimation;
|
||||||
|
private closeSvg: SafeHtml;
|
||||||
|
private currentStyles: {};
|
||||||
|
private _learnMore: string;
|
||||||
|
private _target: CookieLawTarget;
|
||||||
|
private _position: CookieLawPosition;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
private _service: CookieLawService,
|
||||||
|
private domSanitizer: DomSanitizer,
|
||||||
|
) {
|
||||||
|
this.isSeenEvt = new EventEmitter<boolean>();
|
||||||
|
this.animation = 'topIn';
|
||||||
|
this._position = 'bottom';
|
||||||
|
this.cookieLawSeen = this._service.seen();
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.animation = this.position === 'bottom' ? 'bottomIn' : 'topIn';
|
||||||
|
|
||||||
|
this.closeSvg = '<i class="uk-icon-close"></i>' ;
|
||||||
|
|
||||||
|
if (this.cookieLawSeen) {
|
||||||
|
this.isSeen = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.currentStyles = {
|
||||||
|
'top': this.position === 'top' ? '0' : null,
|
||||||
|
'bottom': this.position === 'top' ? 'initial' : null,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
afterDismissAnimation(evt: AnimationTransitionEvent) {
|
||||||
|
if (evt.toState === 'topOut' ||
|
||||||
|
evt.toState === 'bottomOut') {
|
||||||
|
this.isSeen = true;
|
||||||
|
this.isSeenEvt.emit(this.isSeen);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public dismiss(evt?: MouseEvent): void {
|
||||||
|
if (evt) {
|
||||||
|
evt.preventDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
this._service.storeCookie();
|
||||||
|
this.animation = this.position === 'top' ? 'topOut' : 'bottomOut';
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,77 @@
|
||||||
|
.cookie-law-wrapper a {
|
||||||
|
color: #bbb;
|
||||||
|
-webkit-transition: color .2s;
|
||||||
|
transition: color .2s;
|
||||||
|
}
|
||||||
|
.cookie-law-wrapper a:hover {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.cookie-law-wrapper a:hover svg {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
.cookie-law-wrapper {
|
||||||
|
background: #333;
|
||||||
|
color: #bbb;
|
||||||
|
display: block;
|
||||||
|
/*font-family: Helvetica Neue,Helvetica,Arial,sans-serif;
|
||||||
|
font-size: 15px;
|
||||||
|
font-weight: 200;
|
||||||
|
line-height: 20px;*/
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
z-index: 999999999;
|
||||||
|
font-smooth: always;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.dismiss {
|
||||||
|
display: block;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 10px;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 10px;
|
||||||
|
text-decoration: none;
|
||||||
|
line-height: 20px;
|
||||||
|
}
|
||||||
|
.dismiss svg {
|
||||||
|
display: block;
|
||||||
|
fill: #bbb;
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
-webkit-transition: fill .2s;
|
||||||
|
transition: fill .2s;
|
||||||
|
}
|
||||||
|
.copy {
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 10px 60px 10px 10px;
|
||||||
|
}
|
||||||
|
.copy span {
|
||||||
|
color: #fff;
|
||||||
|
/*font-weight: 400;*/
|
||||||
|
}
|
||||||
|
.copy a {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
.copy a:active, .copy a:hover {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 600px) {
|
||||||
|
/* For bigger devices: */
|
||||||
|
.copy {
|
||||||
|
padding: 20px 60px 20px 20px;
|
||||||
|
/*font-size: 18px;
|
||||||
|
line-height: 24px;*/
|
||||||
|
}
|
||||||
|
.dismiss {
|
||||||
|
top: 10px;
|
||||||
|
right: 15px;
|
||||||
|
}
|
||||||
|
.dismiss svg {
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
<div class="cookie-law-wrapper"
|
||||||
|
[ngStyle]="currentStyles"
|
||||||
|
*ngIf="!cookieLawSeen"
|
||||||
|
[@state]="animation"
|
||||||
|
(@state.done)="afterDismissAnimation($event)">
|
||||||
|
|
||||||
|
<div class="copy">
|
||||||
|
<span #ref><ng-content></ng-content></span>
|
||||||
|
|
||||||
|
<span *ngIf="ref.childNodes.length == 0">
|
||||||
|
By continuing to browse the site, you're agreeing to our use of cookies.
|
||||||
|
<span *ngIf="learnMore">
|
||||||
|
Learn more in our <a [href]="learnMore" [target]="target">privacy policy</a>.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<a href="#" role="button"
|
||||||
|
class="dismiss"
|
||||||
|
[innerHTML]="closeSvg"
|
||||||
|
(click)="dismiss($event)"></a>
|
||||||
|
</div>
|
|
@ -0,0 +1,25 @@
|
||||||
|
/**
|
||||||
|
* angular2-cookie-law
|
||||||
|
*
|
||||||
|
* Copyright 2016-2017, @andreasonny83, All rights reserved.
|
||||||
|
*
|
||||||
|
* @author: @andreasonny83 <andreasonny83@gmail.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { CommonModule } from '@angular/common';
|
||||||
|
import { CookieLawComponent } from './cookie-law.component';
|
||||||
|
import { CookieLawService } from './cookie-law.service';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [ CommonModule ],
|
||||||
|
declarations: [ CookieLawComponent ],
|
||||||
|
providers: [ CookieLawService ],
|
||||||
|
exports: [ CookieLawComponent ]
|
||||||
|
})
|
||||||
|
export class CookieLawModule { }
|
||||||
|
|
||||||
|
export {
|
||||||
|
CookieLawComponent,
|
||||||
|
CookieLawService
|
||||||
|
};
|
|
@ -0,0 +1,57 @@
|
||||||
|
/**
|
||||||
|
* angular2-cookie-law
|
||||||
|
*
|
||||||
|
* Copyright 2016-2017, @andreasonny83, All rights reserved.
|
||||||
|
*
|
||||||
|
* @author: @andreasonny83 <andreasonny83@gmail.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
|
||||||
|
@Injectable()
|
||||||
|
export class CookieLawService {
|
||||||
|
|
||||||
|
|
||||||
|
seen(): boolean {
|
||||||
|
return this.cookieExists('cookieLawSeen');
|
||||||
|
}
|
||||||
|
|
||||||
|
storeCookie(): void {
|
||||||
|
return this.setCookie('cookieLawSeen');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* try to read a saved cookie
|
||||||
|
*
|
||||||
|
* @param {string} name [the cookie name]
|
||||||
|
*
|
||||||
|
* @return {string} [the cookie's value]
|
||||||
|
*/
|
||||||
|
private cookieExists(name: string): boolean {
|
||||||
|
if (typeof document !== 'undefined') {
|
||||||
|
let ca: Array<string> = document.cookie.split(';');
|
||||||
|
let caLen: number = ca.length;
|
||||||
|
let cookieName = name + '=';
|
||||||
|
let c: string;
|
||||||
|
|
||||||
|
for (let i: number = 0; i < caLen; i += 1) {
|
||||||
|
c = ca[i].replace(/^\s\+/g, '');
|
||||||
|
if (c.indexOf(cookieName) !== -1) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* store a new cookie in the browser
|
||||||
|
*
|
||||||
|
* @param {string} name [the name for the cookie]
|
||||||
|
*/
|
||||||
|
private setCookie(name: string): void {
|
||||||
|
if (typeof document !== 'undefined') {
|
||||||
|
document.cookie = encodeURIComponent(name) + '=true; path=/';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
/**
|
||||||
|
* angular2-cookie-law
|
||||||
|
*
|
||||||
|
* Copyright 2016-2017, @andreasonny83, All rights reserved.
|
||||||
|
*
|
||||||
|
* @author: @andreasonny83 <andreasonny83@gmail.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const closeIcon: string = `
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||||
|
<path d="M377.047 184.198q0 8.26-6.037 14.297L313.505 256l57.505 57.505q6.037 6.037 6.037 14.297 0 8.578-6.037 14.615l-28.593 28.593q-6.037 6.037-14.615 6.037-8.26 0-14.297-6.037L256 313.505l-57.505 57.505q-6.037 6.037-14.297 6.037-8.578 0-14.615-6.037l-28.593-28.593q-6.037-6.037-6.037-14.615 0-8.26 6.037-14.297L198.495 256l-57.505-57.505q-6.037-6.037-6.037-14.297 0-8.578 6.037-14.615l28.593-28.593q6.037-6.037 14.615-6.037 8.26 0 14.297 6.037L256 198.495l57.505-57.505q6.037-6.037 14.297-6.037 8.578 0 14.615 6.037l28.593 28.593q6.037 6.037 6.037 14.615zM500 256q0-66.401-32.724-122.477-32.724-56.075-88.799-88.799Q322.401 12 256 12q-66.401 0-122.477 32.724-56.075 32.724-88.799 88.799Q12 189.599 12 256q0 66.401 32.724 122.477 32.724 56.075 88.799 88.799Q189.599 500 256 500q66.401 0 122.477-32.724 56.075-32.724 88.799-88.799Q500 322.401 500 256z"></path>
|
||||||
|
</svg>
|
||||||
|
`;
|
|
@ -8,80 +8,80 @@ import 'rxjs/Rx';
|
||||||
<nav class="uk-navbar">
|
<nav class="uk-navbar">
|
||||||
|
|
||||||
<ul class="uk-navbar-nav uk-hidden-small">
|
<ul class="uk-navbar-nav uk-hidden-small">
|
||||||
<li class="uk-active"><a routerLinkActive="router-link-active" routerLink="" class="uk-logo uk-navbar-item">
|
<li class="uk-active"><a routerLinkActive="router-link-active" routerLink="/" class="uk-logo uk-navbar-item">
|
||||||
<img src="assets/newlogo.png" alt="OpenAIRE" class="uk-responsive-height"></a>
|
<img src="assets/newlogo.png" alt="OpenAIRE" class="uk-responsive-height"></a>
|
||||||
</li>
|
</li>
|
||||||
<li class="uk-active"><a routerLinkActive="router-link-active" routerLink="search/find"><i class="uk-icon-home"></i></a></li>
|
<li class="uk-active"><a routerLinkActive="router-link-active" routerLink="/search/find"><i class="uk-icon-home"></i></a></li>
|
||||||
<li class="uk-parent" data-uk-dropdown="" aria-haspopup="true" aria-expanded="false">
|
<li class="uk-parent" data-uk-dropdown="" aria-haspopup="true" aria-expanded="false">
|
||||||
<a routerLinkActive="router-link-active" routerLink="search/find">Search</a>
|
<a routerLinkActive="router-link-active" routerLink="/search/find">Search</a>
|
||||||
|
|
||||||
<div class="uk-dropdown uk-dropdown-navbar uk-dropdown-bottom" aria-hidden="true" style="top: 40px; left: 0px;" tabindex="">
|
<div class="uk-dropdown uk-dropdown-navbar uk-dropdown-bottom" aria-hidden="true" style="top: 40px; left: 0px;" tabindex="">
|
||||||
<ul class="uk-nav uk-nav-navbar">
|
<ul class="uk-nav uk-nav-navbar">
|
||||||
<!--li class="uk-nav-header">Search For</li-->
|
<!--li class="uk-nav-header">Search For</li-->
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/find/publications">Publications</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/find/publications">Publications</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/find/datasets">Datasets</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/find/datasets">Datasets</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/find/projects">Projects</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/find/projects">Projects</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/find/dataproviders">Data Providers</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/find/dataproviders">Data Providers</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/find/organizations">Organizations</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/find/organizations">Organizations</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/find/people">People</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/find/people">People</a></li>
|
||||||
<!--li class="uk-nav-divider"></li>
|
<!--li class="uk-nav-divider"></li>
|
||||||
<li><a [queryParams]="{articleId: 'od_______908::3a5b2885656a91307156325644e73b92'}" routerLinkActive="router-link-active" routerLink="search/publication" >Publication </a></li>
|
<li><a [queryParams]="{articleId: 'od_______908::3a5b2885656a91307156325644e73b92'}" routerLinkActive="router-link-active" routerLink="/search/publication" >Publication </a></li>
|
||||||
<li><a [queryParams]="{datasetId: 'datacite____::430ac1c41b7f99b7b543ef737dc41a74'}" routerLinkActive="router-link-active" routerLink="search/dataset" >Dataset </a></li>
|
<li><a [queryParams]="{datasetId: 'datacite____::430ac1c41b7f99b7b543ef737dc41a74'}" routerLinkActive="router-link-active" routerLink="/search/dataset" >Dataset </a></li>
|
||||||
<li><a [queryParams]="{projectId: 'corda_______::2c37878a0cede85dbbd1081bb9b4a2f8'}" routerLinkActive="router-link-active" routerLink="search/project" >Project </a></li>
|
<li><a [queryParams]="{projectId: 'corda_______::2c37878a0cede85dbbd1081bb9b4a2f8'}" routerLinkActive="router-link-active" routerLink="/search/project" >Project </a></li>
|
||||||
<li><a [queryParams]="{personId: 'datacite____::9da3a037961b36a634fcd40ab0bf6535'}" routerLinkActive="router-link-active" routerLink="search/person" >Person </a></li>
|
<li><a [queryParams]="{personId: 'datacite____::9da3a037961b36a634fcd40ab0bf6535'}" routerLinkActive="router-link-active" routerLink="/search/person" >Person </a></li>
|
||||||
<li><a [queryParams]="{organizationId: 'dedup_wf_001::f686277c34bf457bbdf19e03589b5e81'}" routerLinkActive="router-link-active" routerLink="search/organization" >Organization </a></li>
|
<li><a [queryParams]="{organizationId: 'dedup_wf_001::f686277c34bf457bbdf19e03589b5e81'}" routerLinkActive="router-link-active" routerLink="/search/organization" >Organization </a></li>
|
||||||
<li><a [queryParams]="{datasourceId: 'opendoar____::798ed7d4ee7138d49b8828958048130a'}" routerLinkActive="router-link-active" routerLink="search/dataprovider" >Data Provider </a></li-->
|
<li><a [queryParams]="{datasourceId: 'opendoar____::798ed7d4ee7138d49b8828958048130a'}" routerLinkActive="router-link-active" routerLink="/search/dataprovider" >Data Provider </a></li-->
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
<li class="uk-parent" data-uk-dropdown="" aria-haspopup="true" aria-expanded="false">
|
<li class="uk-parent" data-uk-dropdown="" aria-haspopup="true" aria-expanded="false">
|
||||||
<a routerLinkActive="router-link-active" routerLink="search/data-providers" >Data Providers</a>
|
<a routerLinkActive="router-link-active" routerLink="/search/data-providers" >Data Providers</a>
|
||||||
|
|
||||||
<div class="uk-dropdown uk-dropdown-navbar uk-dropdown-bottom" aria-hidden="true" style="top: 40px; left: 0px;" tabindex="">
|
<div class="uk-dropdown uk-dropdown-navbar uk-dropdown-bottom" aria-hidden="true" style="top: 40px; left: 0px;" tabindex="">
|
||||||
<ul class="uk-nav uk-nav-navbar">
|
<ul class="uk-nav uk-nav-navbar">
|
||||||
<!--li class="uk-nav-header">Search for Data Providers</li-->
|
<!--li class="uk-nav-header">Search for Data Providers</li-->
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/data-providers">Compatible Data Providers</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/data-providers">Compatible Data Providers</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/entity-registries">Entity Registries</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/entity-registries">Entity Registries</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
<!--li class="uk-parent" data-uk-dropdown="" aria-haspopup="true" aria-expanded="false">
|
<!--li class="uk-parent" data-uk-dropdown="" aria-haspopup="true" aria-expanded="false">
|
||||||
<a routerLinkActive="router-link-active" routerLink="search/advanced/publications">Advanced Search</a>
|
<a routerLinkActive="router-link-active" routerLink="/search/advanced/publications">Advanced Search</a>
|
||||||
|
|
||||||
<div class="uk-dropdown uk-dropdown-navbar uk-dropdown-bottom" aria-hidden="true" style="top: 40px; left: 0px;" tabindex="">
|
<div class="uk-dropdown uk-dropdown-navbar uk-dropdown-bottom" aria-hidden="true" style="top: 40px; left: 0px;" tabindex="">
|
||||||
<ul class="uk-nav uk-nav-navbar">
|
<ul class="uk-nav uk-nav-navbar">
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/advanced/publications">Advanced Search Publications</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/advanced/publications">Advanced Search Publications</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/advanced/datasets">Advanced Search Research Data</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/advanced/datasets">Advanced Search Research Data</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/advanced/projects">Advanced Search Projects</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/advanced/projects">Advanced Search Projects</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/advanced/dataproviders">Advanced Search Data Providers</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/advanced/dataproviders">Advanced Search Data Providers</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/advanced/organizations">Advanced Search Organizations</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/advanced/organizations">Advanced Search Organizations</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/advanced/people">Advanced Search People</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/advanced/people">Advanced Search People</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</li-->
|
</li-->
|
||||||
<li class="uk-parent" data-uk-dropdown="" aria-haspopup="true" aria-expanded="false">
|
<li class="uk-parent" data-uk-dropdown="" aria-haspopup="true" aria-expanded="false">
|
||||||
<a routerLinkActive="router-link-active" routerLink="deposit-publications" >Deposit</a>
|
<a routerLinkActive="router-link-active" routerLink="/participate/deposit-publications" >Deposit</a>
|
||||||
|
|
||||||
<div class="uk-dropdown uk-dropdown-navbar uk-dropdown-bottom" aria-hidden="true" style="top: 40px; left: 0px;" tabindex="">
|
<div class="uk-dropdown uk-dropdown-navbar uk-dropdown-bottom" aria-hidden="true" style="top: 40px; left: 0px;" tabindex="">
|
||||||
<ul class="uk-nav uk-nav-navbar">
|
<ul class="uk-nav uk-nav-navbar">
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="deposit-publications">Deposit Publications</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/participate/deposit-publications">Deposit Publications</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="deposit-datasets">Deposit Research Data</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/participate/deposit-datasets">Deposit Research Data</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
<!--li class="uk-parent" data-uk-dropdown="" aria-haspopup="true" aria-expanded="false">
|
<!--li class="uk-parent" data-uk-dropdown="" aria-haspopup="true" aria-expanded="false">
|
||||||
<a routerLinkActive="router-link-active" routerLink="linking" >Linking</a>
|
<a routerLinkActive="router-link-active" routerLink="/participate/claim" >Linking</a>
|
||||||
|
|
||||||
<div class="uk-dropdown uk-dropdown-navbar uk-dropdown-bottom" aria-hidden="true" style="top: 40px; left: 0px;" tabindex="">
|
<div class="uk-dropdown uk-dropdown-navbar uk-dropdown-bottom" aria-hidden="true" style="top: 40px; left: 0px;" tabindex="">
|
||||||
<ul class="uk-nav uk-nav-navbar">
|
<ul class="uk-nav uk-nav-navbar">
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="linking">Linking</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/participate/claim">Linking</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="bulk-linking">Bulk Linking</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/bulk-linking">Bulk Linking</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="claims">Claims Admin</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/claims">Claims Admin</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -102,21 +102,21 @@ import 'rxjs/Rx';
|
||||||
<div class="uk-offcanvas-bar uk-offcanvas-bar-show" mode="push">
|
<div class="uk-offcanvas-bar uk-offcanvas-bar-show" mode="push">
|
||||||
<!--ul class="uk-navbar-nav uk-hidden-small"-->
|
<!--ul class="uk-navbar-nav uk-hidden-small"-->
|
||||||
<ul class="uk-nav uk-nav-offcanvas uk-nav-parent-icon" data-uk-nav="{multiple:true}">
|
<ul class="uk-nav uk-nav-offcanvas uk-nav-parent-icon" data-uk-nav="{multiple:true}">
|
||||||
<!--li class="uk-active"><a routerLinkActive="router-link-active" routerLink="" class="uk-logo uk-navbar-item">
|
<!--li class="uk-active"><a routerLinkActive="router-link-active" routerLink="/" class="uk-logo uk-navbar-item">
|
||||||
<img src="assets/newlogo.png" alt="OpenAIRE" class="uk-responsive-height"></a>
|
<img src="assets/newlogo.png" alt="OpenAIRE" class="uk-responsive-height"></a>
|
||||||
</li-->
|
</li-->
|
||||||
<li class="uk-active"><a routerLinkActive="router-link-active" routerLink="search/find"><i class="uk-icon-home"></i></a></li>
|
<li class="uk-active"><a routerLinkActive="router-link-active" routerLink="/search/find"><i class="uk-icon-home"></i></a></li>
|
||||||
|
|
||||||
<li class="" aria-expanded="false" >
|
<li class="" aria-expanded="false" >
|
||||||
<a href="#">Search</a>
|
<a href="#">Search</a>
|
||||||
|
|
||||||
<div ><ul class="uk-nav-sub" role="menu">
|
<div ><ul class="uk-nav-sub" role="menu">
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/find/publications">Publications</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/find/publications">Publications</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/find/datasets">Datasets</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/find/datasets">Datasets</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/find/projects">Projects</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/find/projects">Projects</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/find/dataproviders">Data Providers</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/find/dataproviders">Data Providers</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/find/organizations">Organizations</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/find/organizations">Organizations</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/find/people">People</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/find/people">People</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -125,8 +125,8 @@ import 'rxjs/Rx';
|
||||||
<a href="#">Data Providers</a>
|
<a href="#">Data Providers</a>
|
||||||
|
|
||||||
<div ><ul class="uk-nav-sub" role="menu">
|
<div ><ul class="uk-nav-sub" role="menu">
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/data-providers">Compatible Data Providers</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/data-providers">Compatible Data Providers</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/entity-registries">Entity Registries</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/entity-registries">Entity Registries</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -135,12 +135,12 @@ import 'rxjs/Rx';
|
||||||
<a href="#">Advanced Search</a>
|
<a href="#">Advanced Search</a>
|
||||||
|
|
||||||
<div ><ul class="uk-nav-sub" role="menu">
|
<div ><ul class="uk-nav-sub" role="menu">
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/advanced/publications">Advanced Search Publications</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/advanced/publications">Advanced Search Publications</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/advanced/datasets">Advanced Search Research Data</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/advanced/datasets">Advanced Search Research Data</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/advanced/projects">Advanced Search Projects</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/advanced/projects">Advanced Search Projects</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/advanced/dataproviders">Advanced Search Data Providers</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/advanced/dataproviders">Advanced Search Data Providers</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/advanced/organizations">Advanced Search Organizations</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/advanced/organizations">Advanced Search Organizations</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="search/advanced/people">Advanced Search People</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/search/advanced/people">Advanced Search People</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -150,8 +150,8 @@ import 'rxjs/Rx';
|
||||||
<a href="#">Deposit</a>
|
<a href="#">Deposit</a>
|
||||||
|
|
||||||
<div ><ul class="uk-nav-sub" role="menu">
|
<div ><ul class="uk-nav-sub" role="menu">
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="deposit-publications">Deposit Publications</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/participate/deposit-publications">Deposit Publications</a></li>
|
||||||
<li><a routerLinkActive="router-link-active" routerLink="deposit-datasets">Deposit Research Data</a></li>
|
<li><a routerLinkActive="router-link-active" routerLink="/participate/deposit-datasets">Deposit Research Data</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -27,13 +27,15 @@ import {EntitiesSearchService} from './entitySearch.service';
|
||||||
<div *ngIf="focus && showInput" class="uk-dropdown" aria-expanded="true" style="display:block" >
|
<div *ngIf="focus && showInput" class="uk-dropdown" aria-expanded="true" style="display:block" >
|
||||||
<ul class="uk-nav uk-nav-autocomplete uk-autocomplete-results" >
|
<ul class="uk-nav uk-nav-autocomplete uk-autocomplete-results" >
|
||||||
<li>
|
<li>
|
||||||
<span *ngIf="showLoading" class="uk-alert uk-alert-primary" data-uk-alert=""> <i class="uk-icon-spinner"></i> Loading... </span>
|
<span *ngIf="!_search.ready" class="uk-alert uk-alert-primary" data-uk-alert=""> <i class="uk-icon-spinner"></i> Loading..... </span>
|
||||||
<span *ngIf="warningMessage.length > 0" class="uk-alert uk-alert-warning" data-uk-alert="">{{warningMessage}}</span>
|
<span *ngIf="warningMessage.length > 0" class="uk-alert uk-alert-warning" data-uk-alert="">{{warningMessage}}</span>
|
||||||
<span *ngIf="results > 0" > {{results}} results found:</span>
|
<span *ngIf="results > 0" > {{results}} results found:</span>
|
||||||
<span *ngIf="results == 0 && !showLoading" class="uk-alert uk-alert-info" data-uk-alert=""> No results found</span>
|
<!--span *ngIf="results == 0 && !showLoading" class="uk-alert uk-alert-info" data-uk-alert=""> No results found</span-->
|
||||||
</li>
|
</li>
|
||||||
<li *ngFor=" let item of filtered | async">
|
<li *ngFor=" let item of filtered | async">
|
||||||
<a (click)="select(item)" [title]="showItem(item)" style="text-overflow: ellipsis; ">{{showItem(item)}}</a>
|
<a *ngIf= "item.id !=-1 && item.id !=-2" (click)="select(item)" [title]="showItem(item)" style="text-overflow: ellipsis; ">{{showItem(item)}}</a>
|
||||||
|
<span *ngIf= "item.id ==-1" class="uk-alert uk-alert-info" data-uk-alert=""> No results found</span>
|
||||||
|
<span *ngIf= "item.id ==-2" class="uk-alert uk-alert-warning" data-uk-alert=""> An error occured</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
@ -76,7 +78,7 @@ export class EntitiesAutocompleteComponent {
|
||||||
@Input() public depositType:string ;
|
@Input() public depositType:string ;
|
||||||
public results = 0;
|
public results = 0;
|
||||||
public focus:boolean = false;
|
public focus:boolean = false;
|
||||||
constructor (private _search:EntitiesSearchService, private myElement: ElementRef) {
|
constructor (public _search:EntitiesSearchService, private myElement: ElementRef) {
|
||||||
this.currentFieldId=this.fieldId;
|
this.currentFieldId=this.fieldId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,18 +11,25 @@ import {StringUtils} from '../string-utils.class';
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class EntitiesSearchService {
|
export class EntitiesSearchService {
|
||||||
private api ="https://beta.services.openaire.eu/provision/mvc/vocabularies/";
|
private api ="https://beta.services.openaire.eu/provision/mvc/vocabularies/";
|
||||||
|
public ready:boolean = false;
|
||||||
constructor(private http: Http, public _cache: CacheService) {}
|
constructor(private http: Http, public _cache: CacheService) {}
|
||||||
|
|
||||||
searchProjectsByFunder(keyword:string, funderId:string):any {
|
searchProjectsByFunder(keyword:string, funderId:string):any {
|
||||||
|
this.ready = false;
|
||||||
let url = OpenaireProperties. getSearchAPIURLLast()+"projects?"+((keyword && keyword.length > 0)?("q=" +keyword):"")+((funderId && funderId.length > 0 )?"&fq=funderid exact " + '"'+funderId+ '"':"")+"&size=10&page=0&format=json";
|
let url = OpenaireProperties. getSearchAPIURLLast()+"projects?"+((keyword && keyword.length > 0)?("q=" +keyword):"")+((funderId && funderId.length > 0 )?"&fq=funderid exact " + '"'+funderId+ '"':"")+"&size=10&page=0&format=json";
|
||||||
return this.http.get(url).toPromise()
|
return this.http.get(url).toPromise()
|
||||||
.then(request =>
|
.then(request =>
|
||||||
{
|
{
|
||||||
request = request.json().results;
|
request = request.json().results;
|
||||||
|
this.ready = true;
|
||||||
return this.parse(request,"oaf:project","project");
|
return this.parse(request,"oaf:project","project");
|
||||||
|
}).catch((ex) => {
|
||||||
|
console.error('An error occured', ex);
|
||||||
|
return [{id:'-2',label:'Error'}];;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
searchByDepositType(keyword:string, DepositType:string):any {
|
searchByDepositType(keyword:string, DepositType:string):any {
|
||||||
|
this.ready = false;
|
||||||
console.info("In searchOrganizationsforDeposit");
|
console.info("In searchOrganizationsforDeposit");
|
||||||
|
|
||||||
let link = OpenaireProperties.getSearchResourcesAPIURL();
|
let link = OpenaireProperties.getSearchResourcesAPIURL();
|
||||||
|
@ -46,10 +53,11 @@ export class EntitiesSearchService {
|
||||||
{
|
{
|
||||||
request = request.json().results;
|
request = request.json().results;
|
||||||
console.log(request);
|
console.log(request);
|
||||||
|
this.ready = true;
|
||||||
return this.parse(request,"oaf:organization","organization");
|
return this.parse(request,"oaf:organization","organization");
|
||||||
}).catch((ex) => {
|
}).catch((ex) => {
|
||||||
console.error('An error occured', ex);
|
console.error('An error occured', ex);
|
||||||
return null;
|
return [{id:'-2',label:'Error'}];;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
searchByType(keyword:string,type:string){
|
searchByType(keyword:string,type:string){
|
||||||
|
@ -96,16 +104,24 @@ private fetchEntity (id: string,APIname:string,oafEntityType:string, type:string
|
||||||
return this.fetch(link,id,oafEntityType,type)
|
return this.fetch(link,id,oafEntityType,type)
|
||||||
}
|
}
|
||||||
private fetch (link,id,oafEntityType,type){
|
private fetch (link,id,oafEntityType,type){
|
||||||
|
this.ready = false;
|
||||||
let url = link+"/"+id+"?format=json";
|
let url = link+"/"+id+"?format=json";
|
||||||
return this.http.get(url)
|
return this.http.get(url)
|
||||||
.map(request => <any> request.json())
|
.map(request => <any> request.json())
|
||||||
// .do(res => console.info(res))
|
// .do(res => console.info(res))
|
||||||
.map(request => <any> this.parse(request,oafEntityType,type));
|
.map(request => {
|
||||||
|
this.ready = true;
|
||||||
|
this.parse(request,oafEntityType,type);
|
||||||
|
}).catch((ex) => {
|
||||||
|
console.error('An error occured', ex);
|
||||||
|
return [{id:'-2',label:'Error'}];;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
private search (link,keyword,oafEntityType,type){
|
private search (link,keyword,oafEntityType,type){
|
||||||
|
this.ready = false;
|
||||||
let url = link+"?";
|
let url = link+"?";
|
||||||
if(keyword!= null && keyword != '' ) {
|
if(keyword!= null && keyword != '' ) {
|
||||||
url += "q="+ keyword;
|
url += "q="+ keyword;
|
||||||
|
@ -116,10 +132,11 @@ private fetch (link,id,oafEntityType,type){
|
||||||
.then(request =>
|
.then(request =>
|
||||||
{
|
{
|
||||||
request = request.json().results;
|
request = request.json().results;
|
||||||
|
this.ready = true;
|
||||||
return this.parse(request,oafEntityType,type);
|
return this.parse(request,oafEntityType,type);
|
||||||
}).catch((ex) => {
|
}).catch((ex) => {
|
||||||
console.error('An error occured', ex);
|
console.error('An error occured', ex);
|
||||||
return null;
|
return [{id:'-2',label:'Error'}];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -173,8 +190,8 @@ private fetch (link,id,oafEntityType,type){
|
||||||
value.projectName = value.label;
|
value.projectName = value.label;
|
||||||
value.endDate = null;
|
value.endDate = null;
|
||||||
value.startDate = null;
|
value.startDate = null;
|
||||||
value.funderId = resData['fundingtree']['funder']['id'];
|
value.funderId = (resData['fundingtree'] && resData['fundingtree']['funder'] && resData['fundingtree']['funder']['id'] )?resData['fundingtree']['funder']['id']:"";
|
||||||
value.funderName = resData['fundingtree']['funder']['shortname'];
|
value.funderName = (resData['fundingtree'] && resData['fundingtree']['funder'] && resData['fundingtree']['funder']['shortname'] )?resData['fundingtree']['funder']['shortname']:"";
|
||||||
if(resData.hasOwnProperty("startdate")) {
|
if(resData.hasOwnProperty("startdate")) {
|
||||||
value.startDate = resData.startdate.split('-')[0];
|
value.startDate = resData.startdate.split('-')[0];
|
||||||
}
|
}
|
||||||
|
@ -187,6 +204,9 @@ private fetch (link,id,oafEntityType,type){
|
||||||
|
|
||||||
array.push(value);
|
array.push(value);
|
||||||
}
|
}
|
||||||
|
if(array.length == 0){
|
||||||
|
array.push({id:'-1',label:'No results found'});
|
||||||
|
}
|
||||||
console.info("Parsing results.... Size:"+array.length);
|
console.info("Parsing results.... Size:"+array.length);
|
||||||
|
|
||||||
return array;
|
return array;
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
import {Meta} from '../../../angular2-meta';
|
||||||
|
|
||||||
|
export class OpenaireMetaTags{
|
||||||
|
|
||||||
|
constructor (private _meta: Meta ) {
|
||||||
|
}
|
||||||
|
|
||||||
|
updateDescription(description:string){
|
||||||
|
this._meta.updateMeta("description", description);
|
||||||
|
this._meta.updateMeta("og:description", description);
|
||||||
|
}
|
||||||
|
updateTitle(title:string){
|
||||||
|
var _suffix ="| OpenAIRE";
|
||||||
|
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
|
||||||
|
this._meta.setTitle(_title );
|
||||||
|
this._meta.updateMeta("og:title",_title);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,103 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/participate/deposit-publications-data]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/participate/claim]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/search/find]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/search/find/publications]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/search/find/datasets]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/search/find/projects]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/search/find/people]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/search/find/organizations]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/search/find/dataproviders]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/search/advanced/publications]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/search/advanced/datasets]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/search/advanced/projects]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/search/advanced/people]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/search/advanced/organizations]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/search/advanced/dataproviders]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/search/data-providers]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc><![CDATA[https://demo.openaire.eu/search/entity-registries]]></loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://demo.openaire.eu/participate/deposit-publications</loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://demo.openaire.eu/participate/deposit-datasets</loc>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
</urlset>
|
|
@ -49,15 +49,11 @@ export const UNIVERSAL_KEY = 'UNIVERSAL_CACHE';
|
||||||
providers: [
|
providers: [
|
||||||
{ provide: 'isBrowser', useValue: isBrowser },
|
{ provide: 'isBrowser', useValue: isBrowser },
|
||||||
{ provide: 'isNode', useValue: isNode },
|
{ provide: 'isNode', useValue: isNode },
|
||||||
|
|
||||||
{ provide: 'req', useFactory: getRequest },
|
{ provide: 'req', useFactory: getRequest },
|
||||||
{ provide: 'res', useFactory: getResponse },
|
{ provide: 'res', useFactory: getResponse },
|
||||||
|
|
||||||
{ provide: 'LRU', useFactory: getLRU, deps: [] },
|
{ provide: 'LRU', useFactory: getLRU, deps: [] },
|
||||||
|
|
||||||
CacheService,
|
CacheService,
|
||||||
|
Meta,
|
||||||
//Meta,
|
|
||||||
|
|
||||||
// { provide: AUTO_PREBOOT, useValue: false } // turn off auto preboot complete
|
// { provide: AUTO_PREBOOT, useValue: false } // turn off auto preboot complete
|
||||||
]
|
]
|
||||||
|
|
|
@ -7,9 +7,11 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<base href="/" />
|
<base href="/" />
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||||
<meta name="author" content="Super User" />
|
<meta name="description" content="open access, research, scientific publication, European Commission, EC, FP7, ERC, Horizon 2020, H2020, search, projects ">
|
||||||
<meta name="description" content="open access infrastructure, research information, open data, scientific publication, scientific information system, European Commission, EC, FP7, ERC, Horizon 2020, H2020, linked data" />
|
<meta property="og:description" content="open access, research, scientific publication, European Commission, EC, FP7, ERC, Horizon 2020, H2020, search, projects ">
|
||||||
<title>OpenAIRE</title>
|
<meta property="og:title" content="Search OpenAIRE">
|
||||||
|
<meta name="og:image" content="assets/newlogo.png">
|
||||||
|
<title>Search OpenAIRE</title>
|
||||||
<script src="assets/jquery/jquery.min.js" type="text/javascript"></script>
|
<script src="assets/jquery/jquery.min.js" type="text/javascript"></script>
|
||||||
<!--uikit-->
|
<!--uikit-->
|
||||||
<script src="assets/uikit-2.27.2/js/uikit.min.js" type="text/javascript"></script>
|
<script src="assets/uikit-2.27.2/js/uikit.min.js" type="text/javascript"></script>
|
||||||
|
@ -64,7 +66,7 @@
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script src="https://cdn.jsdelivr.net/clipboard.js/1.5.16/clipboard.min.js"></script>
|
<script src="//cdn.jsdelivr.net/clipboard.js/1.5.16/clipboard.min.js"></script>
|
||||||
<!--script type='text/javascript' src="node_modules/clipboard/dist/clipboard.min.js"></script-->
|
<!--script type='text/javascript' src="node_modules/clipboard/dist/clipboard.min.js"></script-->
|
||||||
<!--script src="https://cdn.jsdelivr.net/clipboard.js/1.5.12/clipboard.min.js"></script-->
|
<!--script src="https://cdn.jsdelivr.net/clipboard.js/1.5.12/clipboard.min.js"></script-->
|
||||||
|
|
||||||
|
@ -72,6 +74,15 @@
|
||||||
|
|
||||||
<!-- End of Google sitelinks search markup-->
|
<!-- End of Google sitelinks search markup-->
|
||||||
<style>
|
<style>
|
||||||
|
.custom-main-content{
|
||||||
|
height: 100%;
|
||||||
|
min-height: 750px;
|
||||||
|
}
|
||||||
|
.custom-footer{
|
||||||
|
/* position: absolute;
|
||||||
|
bottom: 0px;*/
|
||||||
|
width: 99.9%;
|
||||||
|
}
|
||||||
.custom-autocomplete .uk-nav-autocomplete > li > a:hover {
|
.custom-autocomplete .uk-nav-autocomplete > li > a:hover {
|
||||||
background: #00a8e6 none repeat scroll 0 0;
|
background: #00a8e6 none repeat scroll 0 0;
|
||||||
box-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;
|
box-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;
|
||||||
|
@ -193,7 +204,7 @@
|
||||||
</div-->
|
</div-->
|
||||||
<!-- Go to www.addthis.com/dashboard to customize your tools -->
|
<!-- Go to www.addthis.com/dashboard to customize your tools -->
|
||||||
<!-- to update addThis: https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-559d24521cd8c080-->
|
<!-- to update addThis: https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-559d24521cd8c080-->
|
||||||
<script type="text/javascript" src="https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-559d24521cd8c080"></script>
|
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-559d24521cd8c080"></script>
|
||||||
<script type="text/javascript" >
|
<script type="text/javascript" >
|
||||||
function loadAltmetrics(e,t,n){
|
function loadAltmetrics(e,t,n){
|
||||||
var d="createElement",c="getElementsByTagName",m="setAttribute",n=document.getElementById(e);
|
var d="createElement",c="getElementsByTagName",m="setAttribute",n=document.getElementById(e);
|
||||||
|
|
|
@ -14,9 +14,9 @@ export const routes: string[] = [
|
||||||
'search/person','search/publication','search/project','search/dataset','search/dataprovider','search/organization',
|
'search/person','search/publication','search/project','search/dataset','search/dataprovider','search/organization',
|
||||||
'search/find/people','search/find/publications','search/find/projects','search/find/datasets','search/find/dataproviders','search/find/organizations',
|
'search/find/people','search/find/publications','search/find/projects','search/find/datasets','search/find/dataproviders','search/find/organizations',
|
||||||
'search/advanced/people','search/advanced/publications','search/advanced/projects','search/advanced/datasets','search/advanced/dataproviders','search/advanced/organizations',
|
'search/advanced/people','search/advanced/publications','search/advanced/projects','search/advanced/datasets','search/advanced/dataproviders','search/advanced/organizations',
|
||||||
'deposit-publications','deposit-datasets','deposit-publications-result','deposit-datasets-result',
|
'participate/deposit-publications','participate/deposit-datasets','participate/deposit-publications-result','participate/deposit-datasets-result',
|
||||||
'search/data-providers','search/entity-registries', 'project-report',
|
'search/data-providers','search/entity-registries', 'project-report',
|
||||||
'claims','myclaims','linking', 'bulk-linking',
|
'claims','myclaims','participate/claim', 'participate/bulk-claim',
|
||||||
'test',
|
'test',
|
||||||
'error', 'login'
|
'error', 'login'
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue