Loading Message when building CSV files (project & organization landing page) | confirmation message before building publications CSV in organization landing page | Organization landing page: Publications CSV: no query for publications of a specific project when size of its publications = 0 | Lazy routing in 'View all' links | Remove href from tabs in landing pages & add class uk-animation-fade in tabs' content | fix how commas are displayed (no spaces between comma and previous word) in organizations and projects lists
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-portal/trunk@46357 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
parent
88c3173d54
commit
e458388b66
|
@ -3,6 +3,7 @@
|
||||||
import { NgModule } from '@angular/core';
|
import { NgModule } from '@angular/core';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { FormsModule } from '@angular/forms';
|
import { FormsModule } from '@angular/forms';
|
||||||
|
import { RouterModule } from '@angular/router';
|
||||||
|
|
||||||
import { DepositComponent } from './deposit.component';
|
import { DepositComponent } from './deposit.component';
|
||||||
import { DepositResultComponent } from './depositResult.component';
|
import { DepositResultComponent } from './depositResult.component';
|
||||||
|
@ -15,6 +16,7 @@ import {SearchResultsModule } from '../searchPages/searchUtils/searchResults.mod
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
CommonModule, FormsModule,
|
CommonModule, FormsModule,
|
||||||
|
RouterModule,
|
||||||
EntitiesAutocompleteModule,
|
EntitiesAutocompleteModule,
|
||||||
DataProvidersServiceModule,
|
DataProvidersServiceModule,
|
||||||
OrganizationServiceModule,
|
OrganizationServiceModule,
|
||||||
|
|
|
@ -8,6 +8,8 @@ import { SearchDataprovidersService } from '../services/searchDataproviders.serv
|
||||||
|
|
||||||
import {OrganizationService} from '../services/organization.service';
|
import {OrganizationService} from '../services/organization.service';
|
||||||
|
|
||||||
|
import {RouterHelper} from '../utils/routerHelper.class';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'deposit-result',
|
selector: 'deposit-result',
|
||||||
template: `
|
template: `
|
||||||
|
@ -38,7 +40,16 @@ import {OrganizationService} from '../services/organization.service';
|
||||||
<div *ngIf="fetchDataproviders.searchUtils.totalResults > 0">
|
<div *ngIf="fetchDataproviders.searchUtils.totalResults > 0">
|
||||||
<p>Please use the information/contacts shown below to deposit your {{requestFor}}.</p>
|
<p>Please use the information/contacts shown below to deposit your {{requestFor}}.</p>
|
||||||
<!--showDataProviders [dataProviders]=dataProviders></showDataProviders-->
|
<!--showDataProviders [dataProviders]=dataProviders></showDataProviders-->
|
||||||
<div class = "uk-text-right" *ngIf = "fetchDataproviders.searchUtils.totalResults > 10" ><a [href] = "linkToSearchDataproviders" >View all {{fetchDataproviders.searchUtils.totalResults}} results <i class="uk-icon-angle-double-right"></i></a></div>
|
<div class = "uk-text-right" *ngIf = "fetchDataproviders.searchUtils.totalResults > 10">
|
||||||
|
<!--a [href] = "linkToSearchDataproviders">
|
||||||
|
View all {{fetchDataproviders.searchUtils.totalResults}} results <i class="uk-icon-angle-double-right"></i>
|
||||||
|
</a-->
|
||||||
|
|
||||||
|
<a [queryParams]="routerHelper.createQueryParams(['organizationId', 'or'], [organizationId, 'and'])"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchDataproviders">
|
||||||
|
View all {{fetchDataproviders.searchUtils.totalResults}} results <i class="uk-icon-angle-double-right"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<search-result [(results)]="fetchDataproviders.results"
|
<search-result [(results)]="fetchDataproviders.results"
|
||||||
[(status)]= "fetchDataproviders.searchUtils.status"
|
[(status)]= "fetchDataproviders.searchUtils.status"
|
||||||
type="dataprovider" urlParam="datasourceId">
|
type="dataprovider" urlParam="datasourceId">
|
||||||
|
@ -91,6 +102,7 @@ export class DepositResultComponent {
|
||||||
sub: any;
|
sub: any;
|
||||||
subDataproviders: any;
|
subDataproviders: any;
|
||||||
|
|
||||||
|
public routerHelper:RouterHelper = new RouterHelper();
|
||||||
public fetchDataproviders : FetchDataproviders;
|
public fetchDataproviders : FetchDataproviders;
|
||||||
public linkToSearchDataproviders = "";
|
public linkToSearchDataproviders = "";
|
||||||
public zenodo: string;
|
public zenodo: string;
|
||||||
|
|
|
@ -16,7 +16,12 @@ import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class = "uk-text-right" *ngIf = "fetchDatasets.searchUtils.totalResults > 10" ><a [href] = "linkToSearchDatasets" >View all {{fetchDatasets.searchUtils.totalResults}} results</a></div>
|
<div class = "uk-text-right" *ngIf = "fetchDatasets.searchUtils.totalResults > 10" >
|
||||||
|
<a [queryParams]="paramsForSearchLink"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchDatasets">
|
||||||
|
View all {{fetchDatasets.searchUtils.totalResults}} results
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<search-result [(results)]="fetchDatasets.results"
|
<search-result [(results)]="fetchDatasets.results"
|
||||||
[(status)]= "fetchDatasets.searchUtils.status"
|
[(status)]= "fetchDatasets.searchUtils.status"
|
||||||
type="dataset" urlParam="datasetId">
|
type="dataset" urlParam="datasetId">
|
||||||
|
@ -26,14 +31,14 @@ import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
})
|
})
|
||||||
|
|
||||||
export class DatasetsTabComponent {
|
export class DatasetsTabComponent {
|
||||||
@Input() paramsForSearchLink: string = "";
|
@Input() paramsForSearchLink = {};
|
||||||
@Input() fetchDatasets : FetchDatasets;
|
@Input() fetchDatasets : FetchDatasets;
|
||||||
public linkToSearchDatasets = "";
|
public linkToSearchDatasets = "";
|
||||||
|
|
||||||
constructor () {}
|
constructor () {}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.linkToSearchDatasets = OpenaireProperties.getLinkToAdvancedSearchDatasets()+this.paramsForSearchLink;
|
this.linkToSearchDatasets = OpenaireProperties.getLinkToAdvancedSearchDatasets();
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnDestroy() {}
|
ngOnDestroy() {}
|
||||||
|
|
|
@ -16,7 +16,12 @@ import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class = "uk-text-right" *ngIf = "fetchDataproviders.searchUtils.totalResults > 10" ><a [href] = "linkToSearchDataproviders" >View all {{fetchDataproviders.searchUtils.totalResults}} results</a></div>
|
<div class = "uk-text-right" *ngIf = "fetchDataproviders.searchUtils.totalResults > 10">
|
||||||
|
<a [queryParams]="paramsForSearchLink"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchDataproviders">
|
||||||
|
View all {{fetchDataproviders.searchUtils.totalResults}} results
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<search-result [(results)]="fetchDataproviders.results"
|
<search-result [(results)]="fetchDataproviders.results"
|
||||||
[(status)]= "fetchDataproviders.status"
|
[(status)]= "fetchDataproviders.status"
|
||||||
type="dataprovider" urlParam="datasourceId"
|
type="dataprovider" urlParam="datasourceId"
|
||||||
|
@ -28,7 +33,7 @@ import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
|
|
||||||
export class DatasourcesTabComponent {
|
export class DatasourcesTabComponent {
|
||||||
|
|
||||||
@Input() paramsForSearchLink: string = "";
|
@Input() paramsForSearchLink = {};
|
||||||
@Input() fetchDataproviders : FetchDataproviders;
|
@Input() fetchDataproviders : FetchDataproviders;
|
||||||
public linkToSearchDataproviders = "";
|
public linkToSearchDataproviders = "";
|
||||||
|
|
||||||
|
@ -36,7 +41,7 @@ export class DatasourcesTabComponent {
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
console.info("datasources tab: init");
|
console.info("datasources tab: init");
|
||||||
this.linkToSearchDataproviders = OpenaireProperties.getLinkToAdvancedSearchDataProviders()+this.paramsForSearchLink;
|
this.linkToSearchDataproviders = OpenaireProperties.getLinkToAdvancedSearchDataProviders();
|
||||||
// console.info(this.linkToSearchDataproviders);
|
// console.info(this.linkToSearchDataproviders);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,12 @@ import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class = "uk-text-right" *ngIf = "fetchProjects.searchUtils.totalResults > 10" ><a [href] = "linkToSearchProjects" >View all {{fetchProjects.searchUtils.totalResults}} results</a></div>
|
<div class = "uk-text-right" *ngIf = "fetchProjects.searchUtils.totalResults > 10">
|
||||||
|
<a [queryParams]="paramsForSearchLink"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchProjects">
|
||||||
|
View all {{fetchProjects.searchUtils.totalResults}} results
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<search-result [(results)]="fetchProjects.results"
|
<search-result [(results)]="fetchProjects.results"
|
||||||
[(status)]= "fetchProjects.status"
|
[(status)]= "fetchProjects.status"
|
||||||
type="project" urlParam="projectId">
|
type="project" urlParam="projectId">
|
||||||
|
@ -28,14 +33,14 @@ import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
|
|
||||||
export class ProjectsTabComponent {
|
export class ProjectsTabComponent {
|
||||||
|
|
||||||
@Input() paramsForSearchLink: string = "";
|
@Input() paramsForSearchLink = {};
|
||||||
@Input() fetchProjects : FetchProjects;
|
@Input() fetchProjects : FetchProjects;
|
||||||
public linkToSearchProjects = "";
|
public linkToSearchProjects = "";
|
||||||
|
|
||||||
constructor () {}
|
constructor () {}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.linkToSearchProjects = OpenaireProperties.getLinkToAdvancedSearchProjects()+this.paramsForSearchLink;
|
this.linkToSearchProjects = OpenaireProperties.getLinkToAdvancedSearchProjects();
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnDestroy() {}
|
ngOnDestroy() {}
|
||||||
|
|
|
@ -16,7 +16,15 @@ import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class = "uk-text-right" *ngIf = "fetchPublications.searchUtils.totalResults > 10" ><a [href] = "linkToSearchPublications" >View all {{fetchPublications.searchUtils.totalResults}} results</a></div>
|
<div class = "uk-text-right" *ngIf = "fetchPublications.searchUtils.totalResults > 10">
|
||||||
|
<!--a [href] = "linkToSearchPublications">
|
||||||
|
View all {{fetchPublications.searchUtils.totalResults}} results
|
||||||
|
</a-->
|
||||||
|
<a [queryParams]="paramsForSearchLink"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchPublications">
|
||||||
|
View all {{fetchPublications.searchUtils.totalResults}} results
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<search-result [(results)]="fetchPublications.results"
|
<search-result [(results)]="fetchPublications.results"
|
||||||
[(status)]= "fetchPublications.status"
|
[(status)]= "fetchPublications.status"
|
||||||
type="publication" urlParam="articleId">
|
type="publication" urlParam="articleId">
|
||||||
|
@ -26,14 +34,14 @@ import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
})
|
})
|
||||||
|
|
||||||
export class PublicationsTabComponent {
|
export class PublicationsTabComponent {
|
||||||
@Input() paramsForSearchLink: string = "";
|
@Input() paramsForSearchLink = {};//: string = "";
|
||||||
@Input() fetchPublications : FetchPublications;
|
@Input() fetchPublications : FetchPublications;
|
||||||
public linkToSearchPublications = "";
|
public linkToSearchPublications = "";
|
||||||
|
|
||||||
constructor () {}
|
constructor () {}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.linkToSearchPublications = OpenaireProperties.getLinkToAdvancedSearchPublications()+this.paramsForSearchLink;
|
this.linkToSearchPublications = OpenaireProperties.getLinkToAdvancedSearchPublications();//+this.paramsForSearchLink;
|
||||||
console.info("publications tab: init");
|
console.info("publications tab: init");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,13 +12,14 @@ import { FetchDataproviders } from '../../utils/fetchEntitiesClasses/fetchDatapr
|
||||||
import { SearchDataprovidersService } from '../../services/searchDataproviders.service';
|
import { SearchDataprovidersService } from '../../services/searchDataproviders.service';
|
||||||
|
|
||||||
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
|
import {RouterHelper} from '../../utils/routerHelper.class';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'tabs',
|
selector: 'tabs',
|
||||||
template: `
|
template: `
|
||||||
<ul *ngIf="tabs != undefined" class="uk-tab" data-uk-switcher="{connect:'#tab-content'}">
|
<ul *ngIf="tabs != undefined" class="uk-tab" data-uk-switcher="{connect:'#tab-content'}">
|
||||||
<li *ngIf="tabs.length>0" class="uk-active" id="{{tabs[0].content}}">
|
<li *ngIf="tabs.length>0" class="uk-active" id="{{tabs[0].content}}">
|
||||||
<a href="{{tabs[0].content}}">
|
<a>
|
||||||
{{tabs[0].name}}
|
{{tabs[0].name}}
|
||||||
<i *ngIf="tabs[0].content == 'metricsTab'" class="uk-icon-line-chart"></i>
|
<i *ngIf="tabs[0].content == 'metricsTab'" class="uk-icon-line-chart"></i>
|
||||||
<i *ngIf="tabs[0].content == 'statisticsTab'" class="uk-icon-pie-chart"></i>
|
<i *ngIf="tabs[0].content == 'statisticsTab'" class="uk-icon-pie-chart"></i>
|
||||||
|
@ -43,7 +44,7 @@ import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
|
|
||||||
<li *ngFor="let tab of tabs; let i=index">
|
<li *ngFor="let tab of tabs; let i=index">
|
||||||
<a *ngIf="i>0"
|
<a *ngIf="i>0"
|
||||||
(click)="search(tab.content, 1, 10)" href="#{{tab.content}}">
|
(click)="search(tab.content, 1, 10)">
|
||||||
{{tab.name}}
|
{{tab.name}}
|
||||||
<i *ngIf="tab.content == 'metricsTab'" class="uk-icon-line-chart"></i>
|
<i *ngIf="tab.content == 'metricsTab'" class="uk-icon-line-chart"></i>
|
||||||
<i *ngIf="tab.content == 'statisticsTab'" class="uk-icon-pie-chart"></i>
|
<i *ngIf="tab.content == 'statisticsTab'" class="uk-icon-pie-chart"></i>
|
||||||
|
@ -68,7 +69,7 @@ import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul *ngIf="tabs != undefined" id="tab-content" class="uk-switcher uk-margin">
|
<ul *ngIf="tabs != undefined" id="tab-content" class="uk-switcher uk-margin">
|
||||||
<li id="firstTab-content" *ngIf="tabs.length>0">
|
<li class="uk-animation-fade" id="firstTab-content" *ngIf="tabs.length>0">
|
||||||
<publicationsTab *ngIf="tabs[0].content=='publicationsTab'"
|
<publicationsTab *ngIf="tabs[0].content=='publicationsTab'"
|
||||||
[paramsForSearchLink]="paramsForSearchLink"
|
[paramsForSearchLink]="paramsForSearchLink"
|
||||||
[fetchPublications]="fetchPublications">
|
[fetchPublications]="fetchPublications">
|
||||||
|
@ -161,7 +162,7 @@ import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
</i-frame>
|
</i-frame>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li *ngFor="let tab of tabs; let i=index">
|
<li class="uk-animation-fade" *ngFor="let tab of tabs; let i=index">
|
||||||
<publicationsTab *ngIf="i>0 && tab.content=='publicationsTab'"
|
<publicationsTab *ngIf="i>0 && tab.content=='publicationsTab'"
|
||||||
[paramsForSearchLink]="paramsForSearchLink"
|
[paramsForSearchLink]="paramsForSearchLink"
|
||||||
[fetchPublications] = "fetchPublications">
|
[fetchPublications] = "fetchPublications">
|
||||||
|
@ -257,7 +258,7 @@ export class TabsComponent {
|
||||||
|
|
||||||
@Input() _dataproviderService;
|
@Input() _dataproviderService;
|
||||||
|
|
||||||
public paramsForSearchLink: string = "";
|
public paramsForSearchLink = {};//: string = "";
|
||||||
|
|
||||||
public reloadPublications: boolean = true;
|
public reloadPublications: boolean = true;
|
||||||
public reloadDatasets: boolean = true;
|
public reloadDatasets: boolean = true;
|
||||||
|
@ -282,7 +283,11 @@ export class TabsComponent {
|
||||||
public fetchProjects: FetchProjects;
|
public fetchProjects: FetchProjects;
|
||||||
public fetchDataproviders: FetchDataproviders;
|
public fetchDataproviders: FetchDataproviders;
|
||||||
public fetchPublicationsAggregators: FetchPublications;
|
public fetchPublicationsAggregators: FetchPublications;
|
||||||
private nativeElement : Node;
|
|
||||||
|
private nativeElement : Node;
|
||||||
|
|
||||||
|
public routerHelper:RouterHelper = new RouterHelper();
|
||||||
|
|
||||||
constructor (private renderer : Renderer, private element : ElementRef,private route: ActivatedRoute,
|
constructor (private renderer : Renderer, private element : ElementRef,private route: ActivatedRoute,
|
||||||
private _searchPublicationsService: SearchPublicationsService,
|
private _searchPublicationsService: SearchPublicationsService,
|
||||||
private _searchDatasetsService: SearchDatasetsService,
|
private _searchDatasetsService: SearchDatasetsService,
|
||||||
|
@ -321,9 +326,11 @@ private nativeElement : Node;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.resultsBy == "collectedFrom") {
|
if(this.resultsBy == "collectedFrom") {
|
||||||
this.paramsForSearchLink = "?collectedFrom="+this.id+"&co=and";
|
//this.paramsForSearchLink = "?collectedFrom="+this.id+"&co=and";
|
||||||
|
this.paramsForSearchLink = this.routerHelper.createQueryParams(['collectedFrom', 'co'], [this.id, 'and']);
|
||||||
} else if (this.resultsBy == "hostedBy") {
|
} else if (this.resultsBy == "hostedBy") {
|
||||||
this.paramsForSearchLink = "?hostedBy="+this.id+"&ho=and";
|
//this.paramsForSearchLink = "?hostedBy="+this.id+"&ho=and";
|
||||||
|
this.paramsForSearchLink = this.routerHelper.createQueryParams(['hostedBy', 'ho'], [this.id, 'and']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
|
|
||||||
<ul class="uk-tab" data-uk-switcher="{connect:'#tab-content'}">
|
<ul class="uk-tab" data-uk-switcher="{connect:'#tab-content'}">
|
||||||
<li class="uk-active">
|
<li class="uk-active">
|
||||||
<a href="#relatedTab">
|
<a>
|
||||||
Related Research Results
|
Related Research Results
|
||||||
<span class="uk-badge uk-badge-notification">
|
<span class="uk-badge uk-badge-notification">
|
||||||
{{relatedResearchResultsNum}}
|
{{relatedResearchResultsNum}}
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<a href="#similarTab">
|
<a>
|
||||||
Similar Research Results
|
Similar Research Results
|
||||||
<span *ngIf="datasetInfo.similarResearchResults == undefined" class="uk-badge uk-badge-notification">0</span>
|
<span *ngIf="datasetInfo.similarResearchResults == undefined" class="uk-badge uk-badge-notification">0</span>
|
||||||
<span *ngIf="datasetInfo.similarResearchResults != undefined" class="uk-badge uk-badge-notification">
|
<span *ngIf="datasetInfo.similarResearchResults != undefined" class="uk-badge uk-badge-notification">
|
||||||
|
@ -59,14 +59,14 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li (click)="metricsClicked=true">
|
<li (click)="metricsClicked=true">
|
||||||
<a href="#metricsTab">
|
<a>
|
||||||
Metrics
|
Metrics
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul id="tab-content" class="uk-switcher uk-margin">
|
<ul id="tab-content" class="uk-switcher uk-margin">
|
||||||
<li id="relatedTab">
|
<li class="uk-animation-fade">
|
||||||
<div *ngIf="datasetInfo.relatedResearchResults == undefined" class = "uk-alert" >
|
<div *ngIf="datasetInfo.relatedResearchResults == undefined" class = "uk-alert" >
|
||||||
There are no related research results
|
There are no related research results
|
||||||
</div>
|
</div>
|
||||||
|
@ -84,7 +84,7 @@
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li id="similarTab">
|
<li class="uk-animation-fade">
|
||||||
<div *ngIf="datasetInfo.similarResearchResults == undefined" class = "uk-alert" >
|
<div *ngIf="datasetInfo.similarResearchResults == undefined" class = "uk-alert" >
|
||||||
There are no similar research results
|
There are no similar research results
|
||||||
</div>
|
</div>
|
||||||
|
@ -97,7 +97,7 @@
|
||||||
<tabTable from="dataset" [info]="datasetInfo.similarResearchResults"></tabTable>
|
<tabTable from="dataset" [info]="datasetInfo.similarResearchResults"></tabTable>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li id="metricsTab">
|
<li class="uk-animation-fade">
|
||||||
<metrics *ngIf="metricsClicked"
|
<metrics *ngIf="metricsClicked"
|
||||||
[id]="datasetId" [type]="'results'" (metricsResults)="metricsResults($event)">
|
[id]="datasetId" [type]="'results'" (metricsResults)="metricsResults($event)">
|
||||||
</metrics>
|
</metrics>
|
||||||
|
@ -111,8 +111,8 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="uk-width-3-10" *ngIf="datasetInfo != null">
|
<div class="uk-width-3-10">
|
||||||
<ul class="uk-list uk-list-striped mainFunctionsBlock">
|
<ul class="uk-list uk-list-striped">
|
||||||
<li>
|
<li>
|
||||||
<dl class="uk-description-list-line">
|
<dl class="uk-description-list-line">
|
||||||
<dt >Share - Bookmark
|
<dt >Share - Bookmark
|
||||||
|
@ -126,34 +126,65 @@
|
||||||
</altmetrics >
|
</altmetrics >
|
||||||
</li>
|
</li>
|
||||||
<li *ngIf="datasetInfo.downloadFrom != undefined && datasetInfo.downloadFrom.size > 0">
|
<li *ngIf="datasetInfo.downloadFrom != undefined && datasetInfo.downloadFrom.size > 0">
|
||||||
<dl class="uk-description-list-line functionsSection">
|
<dl class="uk-description-list-line">
|
||||||
<dt class="title">Download from</dt>
|
<dt class="title">Download from</dt>
|
||||||
<dd class="line" *ngFor="let key of datasetInfo.downloadFrom.keys()">
|
<dd class="line"
|
||||||
|
*ngFor="let key of datasetInfo.downloadFrom.keys() let i=index"
|
||||||
|
data-uk-tooltip="{pos:'right', cls:'tooltip uk-text-center uk-contrast'}"
|
||||||
|
[title]="datasetInfo.downloadFrom.get(key)['accessMode']">
|
||||||
|
<div *ngIf="i<5 || showAllDownloadFrom"
|
||||||
|
class="{{datasetInfo.downloadFrom.get(key)['bestAccessMode']}}">
|
||||||
|
<span class="uk-icon-external-link">
|
||||||
<div *ngIf="datasetInfo.downloadFrom.get(key)['url'].length > 1">
|
<div *ngIf="datasetInfo.downloadFrom.get(key)['url'].length > 1">
|
||||||
{{key}}
|
{{key}}
|
||||||
<span *ngFor="let url of datasetInfo.downloadFrom.get(key)['url']; let i=index;">
|
<span *ngFor="let url of datasetInfo.downloadFrom.get(key)['url']; let i=index;">
|
||||||
<a href="{{url}}">
|
<a href="{{url}}" target="_blank">
|
||||||
[{{i+1}}]
|
[{{i+1}}]
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<a *ngIf="datasetInfo.downloadFrom.get(key)['url'].length == 1" href="{{datasetInfo.downloadFrom.get(key)['url']}}">
|
<a *ngIf="datasetInfo.downloadFrom.get(key)['url'].length == 1"
|
||||||
|
href="{{datasetInfo.downloadFrom.get(key)['url']}}"
|
||||||
|
target="_blank">
|
||||||
{{key}}
|
{{key}}
|
||||||
</a>
|
</a>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</dd>
|
||||||
|
<dd *ngIf="showAllDownloadFrom" class="uk-text-right">
|
||||||
|
<a class="uk-text-muted" (click)="showAllDownloadFrom = !showAllDownloadFrom;">
|
||||||
|
View less
|
||||||
|
</a>
|
||||||
|
</dd>
|
||||||
|
<dd *ngIf="!showAllDownloadFrom && datasetInfo.downloadFrom.size > 5">...</dd>
|
||||||
|
<dd *ngIf="!showAllDownloadFrom && datasetInfo.downloadFrom.size > 5" class="uk-text-right">
|
||||||
|
<a class="uk-text-muted" (click)="showAllDownloadFrom = !showAllDownloadFrom;">
|
||||||
|
View more
|
||||||
|
</a>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<!--li *ngIf="datasetInfo.fundedByProjects != undefined && datasetInfo.fundedByProjects.length > 0"-->
|
||||||
<li >
|
<li>
|
||||||
<dl class="uk-description-list-line functionsSection" >
|
<dl class="uk-description-list-line" >
|
||||||
<dt class="title">Funded By</dt>
|
<dt class="title">Funded By</dt>
|
||||||
<dd
|
<dd class="line"
|
||||||
data-uk-tooltip="{pos:'right'}" title="{{item['title']}}
|
*ngFor="let item of datasetInfo.fundedByProjects let i=index">
|
||||||
| Project Code: {{item['acronym']}}
|
<div *ngIf="i<5 || showAllFundedBy">
|
||||||
| Funder: {{item['funderName']}} ({{item['funderShortname']}})
|
<span data-uk-tooltip="{pos:'right', cls:'tooltip uk-text-center uk-contrast'}"
|
||||||
| Funding: {{item['funding']}}"
|
title="
|
||||||
class="line" *ngFor="let item of datasetInfo.fundedByProjects">
|
<div>
|
||||||
|
<h4>{{item['title']}}</h4>
|
||||||
|
Project Code: {{item['code']}}
|
||||||
|
<div>
|
||||||
|
Funder: {{item['funderName']}} ({{item['funderShortname']}})
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
Funding: {{item['funding']}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
">
|
||||||
<!--a *ngIf="!item['inline']" href="{{item['url']}}"-->
|
<!--a *ngIf="!item['inline']" href="{{item['url']}}"-->
|
||||||
<a *ngIf="!item['inline']"
|
<a *ngIf="!item['inline']"
|
||||||
[queryParams]="{projectId: item.id}" routerLinkActive="router-link-active" routerLink="/search/project">
|
[queryParams]="{projectId: item.id}" routerLinkActive="router-link-active" routerLink="/search/project">
|
||||||
|
@ -169,14 +200,28 @@
|
||||||
| {{ item['acronym']?item['acronym']:item['title']}}
|
| {{ item['acronym']?item['acronym']:item['title']}}
|
||||||
</mark>
|
</mark>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
<i class="uk-icon-info-circle"></i>
|
||||||
|
</span>
|
||||||
|
</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="/linking" > <i class="uk-icon-link"></i> Add links to projects</a></dd-->
|
||||||
|
<dd *ngIf="showAllFundedBy" class="uk-text-right">
|
||||||
|
<a class="uk-text-muted" (click)="showAllFundedBy = !showAllFundedBy;">
|
||||||
|
View less
|
||||||
|
</a>
|
||||||
|
</dd>
|
||||||
|
<dd *ngIf="!showAllFundedBy && datasetInfo.fundedByProjects != undefined && datasetInfo.fundedByProjects.length > 5">...</dd>
|
||||||
|
<dd *ngIf="!showAllFundedBy && datasetInfo.fundedByProjects != undefined && datasetInfo.fundedByProjects.length > 5" class="uk-text-right">
|
||||||
|
<a class="uk-text-muted" (click)="showAllFundedBy = !showAllFundedBy;">
|
||||||
|
View more
|
||||||
|
</a>
|
||||||
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
<li >
|
|
||||||
<dl class="uk-description-list-line functionsSection" >
|
<li>
|
||||||
|
<dl class="uk-description-list-line" >
|
||||||
<dt class="title">Related to </dt>
|
<dt class="title">Related to </dt>
|
||||||
<dd class="line" *ngFor="let item of datasetInfo.contexts">
|
<dd class="line" *ngFor="let item of datasetInfo.contexts">
|
||||||
<span *ngIf = "!item['inline']" >
|
<span *ngIf = "!item['inline']" >
|
||||||
|
@ -194,16 +239,29 @@
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li><citeThis [result]="datasetInfo" [id]="datasetId"></citeThis></li>
|
<li><citeThis [result]="datasetInfo" [id]="datasetId"></citeThis></li>
|
||||||
<li *ngIf="datasetInfo.collectedFrom != undefined">
|
<li *ngIf="datasetInfo.collectedFrom != undefined && datasetInfo.collectedFrom.length > 0">
|
||||||
<dl class="uk-description-list-line functionsSection">
|
<dl class="uk-description-list-line">
|
||||||
<dt>Collected from</dt>
|
<dt>Collected from</dt>
|
||||||
<dd *ngFor="let item of datasetInfo.collectedFrom">
|
<dd *ngFor="let item of datasetInfo.collectedFrom let i=index">
|
||||||
<!--a href="{{item['url']}}"-->
|
<!--a href="{{item['url']}}"-->
|
||||||
<a [queryParams]="{datasourceId: item.id}" routerLinkActive="router-link-active" routerLink="/search/dataprovider">
|
<a *ngIf="i<5 || showAllCollectedFrom"
|
||||||
|
[queryParams]="{datasourceId: item.id}" routerLinkActive="router-link-active" routerLink="/search/dataprovider">
|
||||||
{{item['name']}}
|
{{item['name']}}
|
||||||
</a>
|
</a>
|
||||||
</dd>
|
</dd>
|
||||||
|
<dd *ngIf="showAllCollectedFrom" class="uk-text-right">
|
||||||
|
<a class="uk-text-muted" (click)="showAllCollectedFrom = !showAllCollectedFrom;">
|
||||||
|
View less
|
||||||
|
</a>
|
||||||
|
</dd>
|
||||||
|
<dd *ngIf="!showAllCollectedFrom && datasetInfo.collectedFrom.length > 5">...</dd>
|
||||||
|
<dd *ngIf="!showAllCollectedFrom && datasetInfo.collectedFrom.length > 5" class="uk-text-right">
|
||||||
|
<a class="uk-text-muted" (click)="showAllCollectedFrom = !showAllCollectedFrom;">
|
||||||
|
View more
|
||||||
|
</a>
|
||||||
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -13,6 +13,11 @@ import {RouterHelper} from '../../utils/routerHelper.class';
|
||||||
|
|
||||||
export class DatasetComponent {
|
export class DatasetComponent {
|
||||||
public datasetInfo: DatasetInfo;
|
public datasetInfo: DatasetInfo;
|
||||||
|
|
||||||
|
public showAllCollectedFrom: boolean = false;
|
||||||
|
public showAllDownloadFrom: boolean = false;
|
||||||
|
public showAllFundedBy: boolean = false;
|
||||||
|
|
||||||
private showStyle: boolean = false;
|
private showStyle: boolean = false;
|
||||||
private showAllReferences: boolean = false;
|
private showAllReferences: boolean = false;
|
||||||
private showAllRelResData: boolean = false;
|
private showAllRelResData: boolean = false;
|
||||||
|
|
|
@ -234,8 +234,8 @@ export class DatasetService {
|
||||||
|
|
||||||
if(data[3] != null) {
|
if(data[3] != null) {
|
||||||
if(data[3].hasOwnProperty("instance")) {
|
if(data[3].hasOwnProperty("instance")) {
|
||||||
this.datasetInfo.downloadFrom = new Map<string, {"url": string[], "accessMode": string[]}>();
|
this.datasetInfo.downloadFrom = new Map<string, {"url": string[], "accessMode": string[], "bestAccessMode": string}>();
|
||||||
this.datasetInfo.publishedIn = new Map<string, {"url": string[], "accessMode": string[]}>()
|
this.datasetInfo.publishedIn = new Map<string, {"url": string[], "accessMode": string[], "bestAccessMode": string}>()
|
||||||
|
|
||||||
let length = data[3]['instance'].length!=undefined ? data[3]['instance'].length : 1;
|
let length = data[3]['instance'].length!=undefined ? data[3]['instance'].length : 1;
|
||||||
|
|
||||||
|
@ -266,25 +266,53 @@ export class DatasetService {
|
||||||
|
|
||||||
if(!this.datasetInfo.downloadFrom.has(url) && mydata.hasOwnProperty("hostedby")) {
|
if(!this.datasetInfo.downloadFrom.has(url) && mydata.hasOwnProperty("hostedby")) {
|
||||||
if(mydata['hostedby'].name != "other resources" && mydata['hostedby'].name != "Unknown Repository") {
|
if(mydata['hostedby'].name != "other resources" && mydata['hostedby'].name != "Unknown Repository") {
|
||||||
if(!this.datasetInfo.downloadFrom.has(mydata['hostedby'].name)) {
|
let key: string = mydata['hostedby'].name;
|
||||||
this.datasetInfo.downloadFrom.set(mydata['hostedby'].name, {"url": null, "accessMode": null});
|
|
||||||
|
if(!this.datasetInfo.downloadFrom.has(key)) {
|
||||||
|
this.datasetInfo.downloadFrom.set(key, {"url": null, "accessMode": null, "bestAccessMode": null});
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.datasetInfo.downloadFrom.get(mydata['hostedby'].name)['url'] == null) {
|
if(this.datasetInfo.downloadFrom.get(key)['url'] == null) {
|
||||||
this.datasetInfo.downloadFrom.get(mydata['hostedby'].name)['url'] = new Array<string>();
|
this.datasetInfo.downloadFrom.get(key)['url'] = new Array<string>();
|
||||||
}
|
}
|
||||||
|
|
||||||
counter2 = this.datasetInfo.downloadFrom.get(mydata['hostedby'].name)['url'].length;
|
counter2 = this.datasetInfo.downloadFrom.get(key)['url'].length;
|
||||||
this.datasetInfo.downloadFrom.get(mydata['hostedby'].name)['url'][counter2] = url;
|
this.datasetInfo.downloadFrom.get(key)['url'][counter2] = url;
|
||||||
|
|
||||||
if(this.datasetInfo.downloadFrom.get(mydata['hostedby'].name)['accessMode'] == null) {
|
if(this.datasetInfo.downloadFrom.get(key)['accessMode'] == null) {
|
||||||
this.datasetInfo.downloadFrom.get(mydata['hostedby'].name)['accessMode'] = new Array<string>();
|
this.datasetInfo.downloadFrom.get(key)['accessMode'] = new Array<string>();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mydata.hasOwnProperty("licence")) {
|
if(mydata.hasOwnProperty("licence")) {
|
||||||
this.datasetInfo.downloadFrom.get(mydata['hostedby'].name)['accessMode'][counter2] = mydata['licence'].classid;
|
this.datasetInfo.downloadFrom.get(key)['accessMode'].push(mydata['licence'].classid);
|
||||||
|
//this.datasetInfo.downloadFrom.get(mydata['hostedby'].name)['accessMode'][counter2] = mydata['licence'].classid;
|
||||||
|
|
||||||
|
switch (this.datasetInfo.downloadFrom.get(key)['bestAccessMode']) {
|
||||||
|
case null:
|
||||||
|
this.datasetInfo.downloadFrom.get(key)['bestAccessMode'] = mydata['licence'].classid;
|
||||||
|
break;
|
||||||
|
case "CLOSED":
|
||||||
|
if(mydata['licence'].classid == "OPEN" ||
|
||||||
|
mydata['licence'].classid == "EMBARGO" ||
|
||||||
|
mydata['licence'].classid == "RESTRICTED") {
|
||||||
|
this.datasetInfo.downloadFrom.get(key)['bestAccessMode'] = mydata['licence'].classid;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "RESTRICTED":
|
||||||
|
if(mydata['licence'].classid == "OPEN" ||
|
||||||
|
mydata['licence'].classid == "EMBARGO") {
|
||||||
|
this.datasetInfo.downloadFrom.get(key)['bestAccessMode'] = mydata['licence'].classid;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "EMBARGO":
|
||||||
|
if(mydata['licence'].classid == "OPEN") {
|
||||||
|
this.datasetInfo.downloadFrom.get(key)['bestAccessMode'] = mydata['licence'].classid;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
this.datasetInfo.downloadFrom.get(mydata['hostedby'].name)['accessMode'][counter2] = "";
|
//this.datasetInfo.downloadFrom.get(mydata['hostedby'].name)['accessMode'][counter2] = "";
|
||||||
|
this.datasetInfo.downloadFrom.get(key)['accessMode'].push("");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(data[0] != null && data[0].hasOwnProperty("source")) {
|
if(data[0] != null && data[0].hasOwnProperty("source")) {
|
||||||
|
@ -299,7 +327,7 @@ export class DatasetService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.datasetInfo.publishedIn.set(key, {"url": null, "accessMode": null});
|
this.datasetInfo.publishedIn.set(key, {"url": null, "accessMode": null, "bestAccessMode": null});
|
||||||
|
|
||||||
if(this.datasetInfo.publishedIn.get(key)['url'] == null) {
|
if(this.datasetInfo.publishedIn.get(key)['url'] == null) {
|
||||||
this.datasetInfo.publishedIn.get(key)['url'] = new Array<string>();
|
this.datasetInfo.publishedIn.get(key)['url'] = new Array<string>();
|
||||||
|
@ -313,9 +341,34 @@ export class DatasetService {
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mydata.hasOwnProperty("licence")) {
|
if(mydata.hasOwnProperty("licence")) {
|
||||||
this.datasetInfo.publishedIn.get(key)['accessMode'][counter2] = mydata['licence'].classid;
|
//this.datasetInfo.publishedIn.get(key)['accessMode'][counter2] = mydata['licence'].classid;
|
||||||
|
this.datasetInfo.publishedIn.get(key)['accessMode'].push(mydata['licence'].classid);
|
||||||
|
switch (this.datasetInfo.publishedIn.get(key)['bestAccessMode']) {
|
||||||
|
case null:
|
||||||
|
this.datasetInfo.publishedIn.get(key)['bestAccessMode'] = mydata['licence'].classid;
|
||||||
|
break;
|
||||||
|
case "CLOSED":
|
||||||
|
if(mydata['licence'].classid == "OPEN" ||
|
||||||
|
mydata['licence'].classid == "EMBARGO" ||
|
||||||
|
mydata['licence'].classid == "RESTRICTED") {
|
||||||
|
this.datasetInfo.publishedIn.get(key)['bestAccessMode'] = mydata['licence'].classid;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "RESTRICTED":
|
||||||
|
if(mydata['licence'].classid == "OPEN" ||
|
||||||
|
mydata['licence'].classid == "EMBARGO") {
|
||||||
|
this.datasetInfo.publishedIn.get(key)['bestAccessMode'] = mydata['licence'].classid;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "EMBARGO":
|
||||||
|
if(mydata['licence'].classid == "OPEN") {
|
||||||
|
this.datasetInfo.publishedIn.get(key)['bestAccessMode'] = mydata['licence'].classid;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
this.datasetInfo.publishedIn.get(key)['accessMode'][counter2] = "";
|
//this.datasetInfo.publishedIn.get(key)['accessMode'][counter2] = "";
|
||||||
|
this.datasetInfo.publishedIn.get(key)['accessMode'].push("");
|
||||||
}
|
}
|
||||||
counter1++;
|
counter1++;
|
||||||
}
|
}
|
||||||
|
@ -447,10 +500,10 @@ export class DatasetService {
|
||||||
&& this.datasetInfo.identifiers.has("doi")) {
|
&& this.datasetInfo.identifiers.has("doi")) {
|
||||||
|
|
||||||
if( this.datasetInfo.downloadFrom == null) {
|
if( this.datasetInfo.downloadFrom == null) {
|
||||||
this.datasetInfo.downloadFrom = new Map<string,{"url": string[], "accessMode": string[]}>();
|
this.datasetInfo.downloadFrom = new Map<string,{"url": string[], "accessMode": string[], "bestAccessMode": string}>();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.datasetInfo.downloadFrom.set(this.datasetInfo.publisher, {"url": null, "accessMode": null});
|
this.datasetInfo.downloadFrom.set(this.datasetInfo.publisher, {"url": null, "accessMode": null, "bestAccessMode": null});
|
||||||
|
|
||||||
let url = OpenaireProperties.getDoiURL()+this.datasetInfo.identifiers.get("doi");
|
let url = OpenaireProperties.getDoiURL()+this.datasetInfo.identifiers.get("doi");
|
||||||
this.datasetInfo.downloadFrom.get(this.datasetInfo.publisher)['url'] = new Array<string>();
|
this.datasetInfo.downloadFrom.get(this.datasetInfo.publisher)['url'] = new Array<string>();
|
||||||
|
|
|
@ -32,13 +32,13 @@
|
||||||
|
|
||||||
<ul class="uk-tab" data-uk-switcher="{connect:'#tab-content'}">
|
<ul class="uk-tab" data-uk-switcher="{connect:'#tab-content'}">
|
||||||
<li class="uk-active">
|
<li class="uk-active">
|
||||||
<a href="#projectsTab">
|
<a>
|
||||||
Projects
|
Projects
|
||||||
<span class="uk-badge uk-badge-notification">{{(searchingProjectsTabComponent)?searchingProjectsTabComponent.fetchProjects.totalResults:0}}</span>
|
<span class="uk-badge uk-badge-notification">{{(searchingProjectsTabComponent)?searchingProjectsTabComponent.fetchProjects.totalResults:0}}</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li (click)="searchDataprovidersInit()">
|
<li (click)="searchDataprovidersInit()">
|
||||||
<a href="#dataProvidersTab">
|
<a>
|
||||||
Data Providers
|
Data Providers
|
||||||
<!--span *ngIf="organizationInfo.dataProviders == undefined" class="badge">0</span>
|
<!--span *ngIf="organizationInfo.dataProviders == undefined" class="badge">0</span>
|
||||||
<span *ngIf="organizationInfo.dataProviders != undefined" class="badge">
|
<span *ngIf="organizationInfo.dataProviders != undefined" class="badge">
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul id="tab-content" class="uk-switcher uk-margin">
|
<ul id="tab-content" class="uk-switcher uk-margin">
|
||||||
<li id="projectsTab">
|
<li class="uk-animation-fade">
|
||||||
<searchingProjectsTab [organizationId]=organizationId ></searchingProjectsTab>
|
<searchingProjectsTab [organizationId]=organizationId ></searchingProjectsTab>
|
||||||
<!--div *ngIf="organizationInfo.projects == undefined" class = "uk-alert">
|
<!--div *ngIf="organizationInfo.projects == undefined" class = "uk-alert">
|
||||||
There are no projects
|
There are no projects
|
||||||
|
@ -115,7 +115,7 @@
|
||||||
</div-->
|
</div-->
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li id="dataProvidersTab">
|
<li class="uk-animation-fade">
|
||||||
<!--showDataProviders [dataProviders]="organizationInfo.dataProviders"></showDataProviders-->
|
<!--showDataProviders [dataProviders]="organizationInfo.dataProviders"></showDataProviders-->
|
||||||
<div *ngIf="fetchDataproviders.searchUtils.totalResults == 0" class = "uk-alert">
|
<div *ngIf="fetchDataproviders.searchUtils.totalResults == 0" class = "uk-alert">
|
||||||
There are no dataproviders
|
There are no dataproviders
|
||||||
|
@ -127,7 +127,15 @@
|
||||||
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class = "uk-text-right" *ngIf = "fetchDataproviders.searchUtils.totalResults > 10" ><a [href] = "linkToSearchDataproviders" >View all {{fetchDataproviders.searchUtils.totalResults}} results</a></div>
|
<div class = "uk-text-right" *ngIf = "fetchDataproviders.searchUtils.totalResults > 10">
|
||||||
|
<!--a [href] = "linkToSearchDataproviders">
|
||||||
|
View all {{fetchDataproviders.searchUtils.totalResults}} results
|
||||||
|
</a-->
|
||||||
|
<a [queryParams]="routerHelper.createQueryParams(['organizationId', 'or'], [organizationId, 'and'])"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchDataproviders">
|
||||||
|
View all {{fetchDataproviders.searchUtils.totalResults}} results
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<search-result [(results)]="fetchDataproviders.results"
|
<search-result [(results)]="fetchDataproviders.results"
|
||||||
[(status)]= "fetchDataproviders.status"
|
[(status)]= "fetchDataproviders.status"
|
||||||
type="dataprovider" urlParam="datasourceId">
|
type="dataprovider" urlParam="datasourceId">
|
||||||
|
@ -169,7 +177,7 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li *ngFor="let funder of searchingProjectsTabComponent.fetchProjects.funders">
|
<li *ngFor="let funder of searchingProjectsTabComponent.fetchProjects.funders">
|
||||||
<span class="clickable" (click)="downloadPublicationsFile(funder.name,funder.id, funder.number)">
|
<span class="clickable" (click)="confirmOpen(funder.name,funder.id, funder.number)">
|
||||||
<span aria-hidden="true" class="glyphicon glyphicon-download"></span>
|
<span aria-hidden="true" class="glyphicon glyphicon-download"></span>
|
||||||
<span class="uk-icon-download"> Publications report(CSV) for {{funder.name}}</span>
|
<span class="uk-icon-download"> Publications report(CSV) for {{funder.name}}</span>
|
||||||
</span>
|
</span>
|
||||||
|
@ -178,4 +186,6 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<modal-loading></modal-loading>
|
||||||
|
<modal-alert (alertOutput)="confirmClose($event)"></modal-alert>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
import {Component, ViewChild} from '@angular/core';
|
import {Component, ViewChild} from '@angular/core';
|
||||||
import {Observable} from 'rxjs/Observable';
|
import {Observable} from 'rxjs/Observable';
|
||||||
import {ActivatedRoute} from '@angular/router';
|
import {ActivatedRoute} from '@angular/router';
|
||||||
|
|
||||||
import {OrganizationService} from '../../services/organization.service';
|
import {OrganizationService} from '../../services/organization.service';
|
||||||
import {OrganizationInfo} from '../../utils/entities/organizationInfo';
|
import {OrganizationInfo} from '../../utils/entities/organizationInfo';
|
||||||
import {ReportsService} from '../../services/reports.service';
|
import {ReportsService} from '../../services/reports.service';
|
||||||
import {FetchDataproviders} from '../../utils/fetchEntitiesClasses/fetchDataproviders.class';
|
import {FetchDataproviders} from '../../utils/fetchEntitiesClasses/fetchDataproviders.class';
|
||||||
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 {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 {ModalLoading} from '../../utils/modal/loading.component';
|
||||||
|
import {AlertModal} from '../../utils/modal/alert';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'organization',
|
selector: 'organization',
|
||||||
templateUrl: 'organization.component.html',
|
templateUrl: 'organization.component.html',
|
||||||
|
@ -38,10 +43,19 @@ export class OrganizationComponent {
|
||||||
subDataprovidersCount: any;
|
subDataprovidersCount: any;
|
||||||
|
|
||||||
private fetchDataproviders : FetchDataproviders;
|
private fetchDataproviders : FetchDataproviders;
|
||||||
private linkToSearchDataproviders = "";
|
private linkToSearchDataproviders:string = "";
|
||||||
@ViewChild (SearchingProjectsTabComponent) searchingProjectsTabComponent : SearchingProjectsTabComponent ;
|
@ViewChild (SearchingProjectsTabComponent) searchingProjectsTabComponent : SearchingProjectsTabComponent ;
|
||||||
private projectFunders:string[] = [];
|
private projectFunders:string[] = [];
|
||||||
|
|
||||||
|
public routerHelper:RouterHelper = new RouterHelper();
|
||||||
|
|
||||||
|
@ViewChild (ModalLoading) loading : ModalLoading ;
|
||||||
|
@ViewChild(AlertModal) alertApplyAll;
|
||||||
|
|
||||||
|
private funder: string;
|
||||||
|
private funderId: string;
|
||||||
|
private count: number;
|
||||||
|
|
||||||
constructor (private _organizationService: OrganizationService,
|
constructor (private _organizationService: OrganizationService,
|
||||||
private route: ActivatedRoute,
|
private route: ActivatedRoute,
|
||||||
private _searchDataprovidersService: SearchDataprovidersService,
|
private _searchDataprovidersService: SearchDataprovidersService,
|
||||||
|
@ -165,7 +179,7 @@ export class OrganizationComponent {
|
||||||
|
|
||||||
private searchDataproviders() {
|
private searchDataproviders() {
|
||||||
this.fetchDataproviders.getResultsForEntity("organization", this.organizationId, 1, 10);
|
this.fetchDataproviders.getResultsForEntity("organization", this.organizationId, 1, 10);
|
||||||
this.linkToSearchDataproviders = OpenaireProperties.getLinkToAdvancedSearchDataProviders() + "?organization=" + this.organizationId + "&or=and";;
|
this.linkToSearchDataproviders = OpenaireProperties.getLinkToAdvancedSearchDataProviders();// + "?organization=" + this.organizationId + "&or=and";;
|
||||||
}
|
}
|
||||||
|
|
||||||
private searchDataprovidersInit() {
|
private searchDataprovidersInit() {
|
||||||
|
@ -178,18 +192,30 @@ export class OrganizationComponent {
|
||||||
|
|
||||||
downloadfile(url:string){
|
downloadfile(url:string){
|
||||||
console.log("Downloading file: "+ url);
|
console.log("Downloading file: "+ url);
|
||||||
this._reportsService.downloadCSVFile(url)
|
|
||||||
.subscribe(data => window.open(window.URL.createObjectURL(data)),
|
this.openLoading();
|
||||||
|
this.setMessageLoading("Downloading CSV file");
|
||||||
|
|
||||||
|
this._reportsService.downloadCSVFile(url).subscribe(
|
||||||
|
data => {
|
||||||
|
this.closeLoading();
|
||||||
|
window.open(window.URL.createObjectURL(data));
|
||||||
|
},
|
||||||
error => console.log("Error downloading the file."),
|
error => console.log("Error downloading the file."),
|
||||||
() => console.log('Completed file download.'));
|
() => console.log('Completed file download.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
downloadPublicationsFile(funder: string, funderId:string, count:number){
|
downloadPublicationsFile(funder: string, funderId:string, count:number){
|
||||||
console.log("Downloading publications file");
|
console.log("Downloading publications file");
|
||||||
|
|
||||||
|
this.openLoading();
|
||||||
|
this.setMessageLoading("Downloading CSV file");
|
||||||
|
|
||||||
let response: string[] = [];
|
let response: string[] = [];
|
||||||
let totalResponse: string = "";
|
let totalResponse: string = "";
|
||||||
let projects = [];
|
let projects = [];
|
||||||
let counter: number = count;
|
let counter: number = count;
|
||||||
|
let title: boolean = false;
|
||||||
this._searchProjectsService.getProjectsForOrganizations(this.organizationId,' and (funderid exact '+ funderId + ' ) ',1,count,[]).subscribe(
|
this._searchProjectsService.getProjectsForOrganizations(this.organizationId,' and (funderid exact '+ funderId + ' ) ',1,count,[]).subscribe(
|
||||||
data =>
|
data =>
|
||||||
{
|
{
|
||||||
|
@ -201,12 +227,28 @@ export class OrganizationComponent {
|
||||||
// let index: number = this.organizationInfo.projects.get(funder).indexOf(project);
|
// let index: number = this.organizationInfo.projects.get(funder).indexOf(project);
|
||||||
|
|
||||||
let url: string;
|
let url: string;
|
||||||
if(index == 0) {
|
if(index == 0 || !title) {
|
||||||
url = this.downloadURLAPI+"projects/"+projects[index].id+"/publications?format=csv-special&size="+data;
|
url = this.downloadURLAPI+"projects/"+projects[index].id+"/publications?format=csv-special&size="+data;
|
||||||
} else {
|
} else {
|
||||||
url = this.downloadURLAPI+"projects/"+projects[index].id+"/publications?format=csv-special-notitle&size="+data;
|
url = this.downloadURLAPI+"projects/"+projects[index].id+"/publications?format=csv-special-notitle&size="+data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(data == 0) {
|
||||||
|
counter--;
|
||||||
|
response[index] = "";
|
||||||
|
if(counter == 0) {
|
||||||
|
for(let i=0; i<count; i++) {
|
||||||
|
if(response[i] != "") {
|
||||||
|
totalResponse += response[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
console.info("1response "+i+": "+response[i]);
|
||||||
|
}
|
||||||
|
this.closeLoading();
|
||||||
|
window.open(window.URL.createObjectURL(new Blob([totalResponse], { type: 'text/csv' })));
|
||||||
|
}
|
||||||
|
} else if(counter == 1 && !title) {
|
||||||
|
title = true;
|
||||||
this._reportsService.getCSVResponse(url).subscribe(
|
this._reportsService.getCSVResponse(url).subscribe(
|
||||||
data =>
|
data =>
|
||||||
{
|
{
|
||||||
|
@ -216,13 +258,21 @@ export class OrganizationComponent {
|
||||||
|
|
||||||
if(counter == 0) {
|
if(counter == 0) {
|
||||||
for(let i=0; i<count; i++) {
|
for(let i=0; i<count; i++) {
|
||||||
totalResponse += response[i]+"\n";
|
if(response[i] != "") {
|
||||||
|
totalResponse += response[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.info("2response "+i+": "+response[i]);
|
||||||
|
}
|
||||||
|
console.info(totalResponse);
|
||||||
|
this.closeLoading();
|
||||||
window.open(window.URL.createObjectURL(new Blob([totalResponse], { type: 'text/csv' })));
|
window.open(window.URL.createObjectURL(new Blob([totalResponse], { type: 'text/csv' })));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
error => console.log("Error downloading the file."),
|
error => console.log("Error downloading the file."),
|
||||||
() => console.log('Completed file download.'));
|
() => console.log('Completed file download.')
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
error => console.log("Error getting number of publications for project."));
|
error => console.log("Error getting number of publications for project."));
|
||||||
}//);
|
}//);
|
||||||
|
@ -265,4 +315,37 @@ export class OrganizationComponent {
|
||||||
// error => console.log("Error getting number of publications for project."));
|
// error => console.log("Error getting number of publications for project."));
|
||||||
// }//);
|
// }//);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public openLoading(){
|
||||||
|
if(this.loading){
|
||||||
|
this.loading.open();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public closeLoading(){
|
||||||
|
if(this.loading){
|
||||||
|
this.loading.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public setMessageLoading(message: string){
|
||||||
|
if(this.loading){
|
||||||
|
this.loading.message = message;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
confirmOpen(funder: string, funderId:string, count:number){
|
||||||
|
this.alertApplyAll.cancelButton = true;
|
||||||
|
this.alertApplyAll.okButton = true;
|
||||||
|
this.alertApplyAll.alertTitle = "CSV FILE";
|
||||||
|
this.alertApplyAll.message = "Do you wish to download a CSV file?\nNote that this process may take a while.";
|
||||||
|
this.alertApplyAll.okButtonText = "Yes";
|
||||||
|
this.alertApplyAll.cancelButtonText = "No";
|
||||||
|
this.alertApplyAll.open();
|
||||||
|
|
||||||
|
this.funder = funder;
|
||||||
|
this.funderId = funderId;
|
||||||
|
this.count = count;
|
||||||
|
}
|
||||||
|
confirmClose(data){
|
||||||
|
this.downloadPublicationsFile(this.funder, this.funderId, this.count);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,9 @@ import { CommonModule } from '@angular/common';
|
||||||
import { FormsModule } from '@angular/forms';
|
import { FormsModule } from '@angular/forms';
|
||||||
import { RouterModule } from '@angular/router';
|
import { RouterModule } from '@angular/router';
|
||||||
|
|
||||||
|
import {LoadingModalModule} from '../../utils/modal/loadingModal.module';
|
||||||
|
import {AlertModalModule} from '../../utils/modal/alertModal.module';
|
||||||
|
|
||||||
import { OrganizationServiceModule} from '../../services/organizationService.module';
|
import { OrganizationServiceModule} from '../../services/organizationService.module';
|
||||||
// import { ProjectsServiceModule} from '../../services/projectsService.module';
|
// import { ProjectsServiceModule} from '../../services/projectsService.module';
|
||||||
import { OrganizationComponent } from './organization.component';
|
import { OrganizationComponent } from './organization.component';
|
||||||
|
@ -20,6 +23,7 @@ import { SearchingProjectsTabModule} from '../searchingProjectsInTab.module';
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
CommonModule, FormsModule, RouterModule,
|
CommonModule, FormsModule, RouterModule,
|
||||||
|
LoadingModalModule, AlertModalModule,
|
||||||
LandingModule,
|
LandingModule,
|
||||||
OrganizationRoutingModule,
|
OrganizationRoutingModule,
|
||||||
SearchResultsModule,
|
SearchResultsModule,
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
<ul class="uk-tab" data-uk-switcher="{connect:'#tab-content'}">
|
<ul class="uk-tab" data-uk-switcher="{connect:'#tab-content'}">
|
||||||
<li class="uk-active">
|
<li class="uk-active">
|
||||||
<a href="#publicationsTab">
|
<a>
|
||||||
Publications
|
Publications
|
||||||
<span class="uk-badge uk-badge-notification">
|
<span class="uk-badge uk-badge-notification">
|
||||||
{{fetchPublications.searchUtils.totalResults}}
|
{{fetchPublications.searchUtils.totalResults}}
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li (click)="searchDatasetsInit()">
|
<li (click)="searchDatasetsInit()">
|
||||||
<a href="#researchDataTab">
|
<a>
|
||||||
Research Data
|
Research Data
|
||||||
<span class="uk-badge uk-badge-notification">
|
<span class="uk-badge uk-badge-notification">
|
||||||
{{fetchDatasets.searchUtils.totalResults}}
|
{{fetchDatasets.searchUtils.totalResults}}
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul id="tab-content" class="uk-switcher uk-margin">
|
<ul id="tab-content" class="uk-switcher uk-margin">
|
||||||
<li id="publicationsTab">
|
<li class="uk-animation-fade">
|
||||||
|
|
||||||
<div *ngIf="fetchPublications.searchUtils.totalResults == 0" class = "uk-alert">
|
<div *ngIf="fetchPublications.searchUtils.totalResults == 0" class = "uk-alert">
|
||||||
There are no publications
|
There are no publications
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li id="researchDataTab">
|
<li class="uk-animation-fade">
|
||||||
<div *ngIf="fetchDatasets.searchUtils.totalResults == 0" class = "uk-alert">
|
<div *ngIf="fetchDatasets.searchUtils.totalResults == 0" class = "uk-alert">
|
||||||
There are no research data
|
There are no research data
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -31,17 +31,18 @@
|
||||||
<dt *ngIf="projectInfo.organizations != undefined">Organizations: </dt>
|
<dt *ngIf="projectInfo.organizations != undefined">Organizations: </dt>
|
||||||
<dd *ngIf="projectInfo.organizations != undefined">
|
<dd *ngIf="projectInfo.organizations != undefined">
|
||||||
<span *ngFor="let organization of projectInfo.organizations let i=index">
|
<span *ngFor="let organization of projectInfo.organizations let i=index">
|
||||||
|
<span>
|
||||||
<!--a *ngIf="projectInfo.organizations.get(key) != null &&
|
<!--a *ngIf="projectInfo.organizations.get(key) != null &&
|
||||||
projectInfo.organizations.get(key) != ''"
|
projectInfo.organizations.get(key) != ''"
|
||||||
href="{{(projectInfo.organizations.get(key))}}"-->
|
href="{{(projectInfo.organizations.get(key))}}"-->
|
||||||
<a *ngIf="organization.id != null && organization.id != ''"
|
<a *ngIf="organization.id != null && organization.id != ''"
|
||||||
[queryParams]="{organizationId: organization.id}" routerLinkActive="router-link-active" routerLink="/search/organization">
|
[queryParams]="{organizationId: organization.id}" routerLinkActive="router-link-active" routerLink="/search/organization">
|
||||||
{{organization.name}}
|
{{organization.name}}</a></span><span
|
||||||
</a>
|
|
||||||
<span *ngIf="organization.id == null || organization.id == ''">
|
*ngIf="organization.id == null || organization.id == ''">
|
||||||
{{organization.name}}
|
{{organization.name}}</span><span
|
||||||
</span>
|
|
||||||
<span *ngIf="i<projectInfo.organizations.length-1">,</span>
|
*ngIf="i<projectInfo.organizations.length-1">,</span>
|
||||||
</span>
|
</span>
|
||||||
</dd>
|
</dd>
|
||||||
<dt *ngIf="projectInfo.urlInfo != undefined && projectInfo.urlInfo != ''">More information:</dt>
|
<dt *ngIf="projectInfo.urlInfo != undefined && projectInfo.urlInfo != ''">More information:</dt>
|
||||||
|
@ -57,7 +58,7 @@
|
||||||
|
|
||||||
<ul class="uk-tab" data-uk-switcher="{connect:'#tab-content'}">
|
<ul class="uk-tab" data-uk-switcher="{connect:'#tab-content'}">
|
||||||
<li class="uk-active">
|
<li class="uk-active">
|
||||||
<a href="#publicationsTab">
|
<a>
|
||||||
Publications
|
Publications
|
||||||
<span class="uk-badge uk-badge-notification">
|
<span class="uk-badge uk-badge-notification">
|
||||||
{{fetchPublications.searchUtils.totalResults}}
|
{{fetchPublications.searchUtils.totalResults}}
|
||||||
|
@ -65,7 +66,7 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li (click)="searchDatasetsInit()">
|
<li (click)="searchDatasetsInit()">
|
||||||
<a href="#researchDataTab">
|
<a>
|
||||||
Research Data
|
Research Data
|
||||||
<span class="uk-badge uk-badge-notification">
|
<span class="uk-badge uk-badge-notification">
|
||||||
{{fetchDatasets.searchUtils.totalResults}}
|
{{fetchDatasets.searchUtils.totalResults}}
|
||||||
|
@ -73,13 +74,13 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li (click)="statsClicked=true;">
|
<li (click)="statsClicked=true;">
|
||||||
<a href="#statisticsTab">
|
<a>
|
||||||
Statistics
|
Statistics
|
||||||
<i class="uk-icon-pie-chart"></i>
|
<i class="uk-icon-pie-chart"></i>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li (click)="metricsClicked=true;">
|
<li (click)="metricsClicked=true;">
|
||||||
<a href="#metricsTab">
|
<a>
|
||||||
Metrics
|
Metrics
|
||||||
<i class="uk-icon-line-chart"></i>
|
<i class="uk-icon-line-chart"></i>
|
||||||
</a>
|
</a>
|
||||||
|
@ -87,8 +88,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul id="tab-content" class="uk-switcher uk-margin">
|
<ul id="tab-content" class="uk-switcher uk-margin">
|
||||||
<li id="publicationsTab">
|
<li class="uk-animation-fade">
|
||||||
|
|
||||||
<div *ngIf="fetchPublications.searchUtils.totalResults == 0" class = "uk-alert" >
|
<div *ngIf="fetchPublications.searchUtils.totalResults == 0" class = "uk-alert" >
|
||||||
There are no publications
|
There are no publications
|
||||||
</div>
|
</div>
|
||||||
|
@ -99,7 +99,15 @@
|
||||||
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class = "uk-text-right" *ngIf = "fetchPublications.searchUtils.totalResults > 10" ><a [href] = "linkToSearchPublications" >View all {{fetchPublications.searchUtils.totalResults}} results</a></div>
|
<div class = "uk-text-right" *ngIf = "fetchPublications.searchUtils.totalResults > 10" >
|
||||||
|
<!--a [href] = "linkToSearchPublications" >
|
||||||
|
View all {{fetchPublications.searchUtils.totalResults}} results
|
||||||
|
</a-->
|
||||||
|
<a [queryParams]="routerHelper.createQueryParams(['projectId', 'pr'], [projectId, 'and'])"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchPublications">
|
||||||
|
View all {{fetchPublications.searchUtils.totalResults}} results
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<search-result [(results)]="fetchPublications.results"
|
<search-result [(results)]="fetchPublications.results"
|
||||||
[(status)]= "fetchPublications.searchUtils.status"
|
[(status)]= "fetchPublications.searchUtils.status"
|
||||||
type="publication" urlParam="articleId">
|
type="publication" urlParam="articleId">
|
||||||
|
@ -107,7 +115,7 @@
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li id="researchDataTab">
|
<li class="uk-animation-fade">
|
||||||
<div *ngIf="fetchDatasets.searchUtils.totalResults == 0" class = "uk-alert">
|
<div *ngIf="fetchDatasets.searchUtils.totalResults == 0" class = "uk-alert">
|
||||||
There are no research data
|
There are no research data
|
||||||
</div>
|
</div>
|
||||||
|
@ -118,14 +126,19 @@
|
||||||
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class = "uk-text-right" *ngIf = "fetchDatasets.searchUtils.totalResults > 10" ><a [href] = "linkToSearchDatasets" >View all {{fetchDatasets.searchUtils.totalResults}} results</a></div>
|
<div class = "uk-text-right" *ngIf = "fetchDatasets.searchUtils.totalResults > 10">
|
||||||
|
<a [queryParams]="routerHelper.createQueryParams(['projectId', 'pr'], [projectId, 'and'])"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchDatasets">
|
||||||
|
View all {{fetchDatasets.searchUtils.totalResults}} results
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<search-result [(results)]="fetchDatasets.results"
|
<search-result [(results)]="fetchDatasets.results"
|
||||||
[(status)]= "fetchDatasets.searchUtils.status"
|
[(status)]= "fetchDatasets.searchUtils.status"
|
||||||
type="dataset" urlParam="datasetId">
|
type="dataset" urlParam="datasetId">
|
||||||
</search-result>
|
</search-result>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li id="statisticsTab">
|
<li class="uk-animation-fade">
|
||||||
<div *ngIf="fetchPublications.searchUtils.totalResults == 0 && fetchDatasets.searchUtils.totalResults == 0" class = "uk-alert">
|
<div *ngIf="fetchPublications.searchUtils.totalResults == 0 && fetchDatasets.searchUtils.totalResults == 0" class = "uk-alert">
|
||||||
There are no statistics
|
There are no statistics
|
||||||
</div>
|
</div>
|
||||||
|
@ -146,7 +159,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li id="metricsTab">
|
<li class="uk-animation-fade">
|
||||||
<metrics *ngIf="metricsClicked"
|
<metrics *ngIf="metricsClicked"
|
||||||
[id]="projectId" [type]="'projects'" [name]="projectName" (metricsResults)="metricsResults($event)">
|
[id]="projectId" [type]="'projects'" [name]="projectName" (metricsResults)="metricsResults($event)">
|
||||||
</metrics>
|
</metrics>
|
||||||
|
@ -173,7 +186,8 @@
|
||||||
</dl>
|
</dl>
|
||||||
</li>
|
</li>
|
||||||
<li *ngIf="fetchPublications.searchUtils.totalResults > 10">
|
<li *ngIf="fetchPublications.searchUtils.totalResults > 10">
|
||||||
<a href="{{linkToSearchPublications}}">
|
<a [queryParams]="routerHelper.createQueryParams(['projectId', 'pr'], [projectId, 'and'])"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchPublications">
|
||||||
View all Project Publications
|
View all Project Publications
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -232,4 +246,5 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<modal-loading></modal-loading>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,12 +5,13 @@ import {ProjectService} from './project.service';
|
||||||
import {ProjectInfo} from '../../utils/entities/projectInfo';
|
import {ProjectInfo} from '../../utils/entities/projectInfo';
|
||||||
import {RouterHelper} from '../../utils/routerHelper.class';
|
import {RouterHelper} from '../../utils/routerHelper.class';
|
||||||
|
|
||||||
|
|
||||||
import { FetchPublications } from '../../utils/fetchEntitiesClasses/fetchPublications.class';
|
import { FetchPublications } from '../../utils/fetchEntitiesClasses/fetchPublications.class';
|
||||||
import { SearchPublicationsService } from '../../services/searchPublications.service';
|
import { SearchPublicationsService } from '../../services/searchPublications.service';
|
||||||
import { FetchDatasets } from '../../utils/fetchEntitiesClasses/fetchDatasets.class';
|
import { FetchDatasets } from '../../utils/fetchEntitiesClasses/fetchDatasets.class';
|
||||||
import { SearchDatasetsService } from '../../services/searchDatasets.service';
|
import { SearchDatasetsService } from '../../services/searchDatasets.service';
|
||||||
|
|
||||||
|
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';
|
||||||
|
|
||||||
|
@ -55,6 +56,8 @@ export class ProjectComponent{
|
||||||
public linkToSearchDatasets = "";
|
public linkToSearchDatasets = "";
|
||||||
public routerHelper:RouterHelper = new RouterHelper();
|
public routerHelper:RouterHelper = new RouterHelper();
|
||||||
|
|
||||||
|
@ViewChild (ModalLoading) loading : ModalLoading ;
|
||||||
|
|
||||||
constructor (private _projectService: ProjectService,
|
constructor (private _projectService: ProjectService,
|
||||||
private route: ActivatedRoute,
|
private route: ActivatedRoute,
|
||||||
private _searchPublicationsService: SearchPublicationsService,
|
private _searchPublicationsService: SearchPublicationsService,
|
||||||
|
@ -67,10 +70,11 @@ export class ProjectComponent{
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
this.sub = this.route.queryParams.subscribe(params => {
|
||||||
|
|
||||||
this.metricsClicked = false;
|
this.metricsClicked = false;
|
||||||
this.statsClicked = false;
|
this.statsClicked = false;
|
||||||
|
|
||||||
this.sub = this.route.queryParams.subscribe(params => {
|
|
||||||
this.projectId = params['projectId'];
|
this.projectId = params['projectId'];
|
||||||
console.info("Id is :"+this.projectId);
|
console.info("Id is :"+this.projectId);
|
||||||
if(this.projectId){
|
if(this.projectId){
|
||||||
|
@ -111,17 +115,11 @@ export class ProjectComponent{
|
||||||
}
|
}
|
||||||
|
|
||||||
this.downloadURLAPI = OpenaireProperties.getCsvAPIURL();
|
this.downloadURLAPI = OpenaireProperties.getCsvAPIURL();
|
||||||
});
|
|
||||||
|
|
||||||
if(typeof window !== undefined) {
|
|
||||||
let publ_clipboard, datasets_clipboard;
|
|
||||||
let Clipboard;
|
|
||||||
Clipboard = require('clipboard');
|
|
||||||
publ_clipboard = new Clipboard('.publ_clipboard_btn');
|
|
||||||
datasets_clipboard = new Clipboard('.datasets_clipboard_btn');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
this.createClipboard();
|
||||||
this.csvParams = "format=csv-special&page=0&type=publications&query=(((oaftype exact result) and (resulttypeid exact publication)) and (relprojectid exact "+this.projectId+"))&size=";
|
this.csvParams = "format=csv-special&page=0&type=publications&query=(((oaftype exact result) and (resulttypeid exact publication)) and (relprojectid exact "+this.projectId+"))&size=";
|
||||||
|
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -130,14 +128,25 @@ export class ProjectComponent{
|
||||||
this.subDatasetsCount.unsubscribe();
|
this.subDatasetsCount.unsubscribe();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
createClipboard() {
|
||||||
|
if(typeof window !== 'undefined') {
|
||||||
|
|
||||||
|
let publ_clipboard, datasets_clipboard;
|
||||||
|
let Clipboard;
|
||||||
|
Clipboard = require('clipboard');
|
||||||
|
publ_clipboard = new Clipboard('.publ_clipboard_btn');
|
||||||
|
datasets_clipboard = new Clipboard('.datasets_clipboard_btn');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private searchPublications() {
|
private searchPublications() {
|
||||||
this.fetchPublications.getResultsForEntity("project", this.projectId, 1, 10);
|
this.fetchPublications.getResultsForEntity("project", this.projectId, 1, 10);
|
||||||
this.linkToSearchPublications = OpenaireProperties.getLinkToAdvancedSearchPublications() + "?project=" + this.projectId+"&pr=and";
|
this.linkToSearchPublications = OpenaireProperties.getLinkToAdvancedSearchPublications();// + "?project=" + this.projectId+"&pr=and";
|
||||||
}
|
}
|
||||||
|
|
||||||
private searchDatasets() {
|
private searchDatasets() {
|
||||||
this.fetchDatasets.getResultsForEntity("project", this.projectId, 1, 10);
|
this.fetchDatasets.getResultsForEntity("project", this.projectId, 1, 10);
|
||||||
this.linkToSearchDatasets = OpenaireProperties.getLinkToAdvancedSearchDatasets() + "?project=" + this.projectId+"&pr=and";
|
this.linkToSearchDatasets = OpenaireProperties.getLinkToAdvancedSearchDatasets();// + "?project=" + this.projectId+"&pr=and";
|
||||||
}
|
}
|
||||||
|
|
||||||
private searchDatasetsInit() {
|
private searchDatasetsInit() {
|
||||||
|
@ -173,12 +182,19 @@ export class ProjectComponent{
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
downloadfile(url:string){
|
downloadfile(url:string){
|
||||||
|
|
||||||
console.log("Downloading file: "+ url);
|
console.log("Downloading file: "+ url);
|
||||||
this._reportsService.downloadCSVFile(url)
|
|
||||||
.subscribe(data => window.open(window.URL.createObjectURL(data)),
|
this.openLoading();
|
||||||
|
this.setMessageLoading("Downloading CSV file");
|
||||||
|
|
||||||
|
this._reportsService.downloadCSVFile(url).subscribe(
|
||||||
|
data => {
|
||||||
|
this.closeLoading();
|
||||||
|
window.open(window.URL.createObjectURL(data));
|
||||||
|
},
|
||||||
error => console.log("Error downloading the file."),
|
error => console.log("Error downloading the file."),
|
||||||
() => console.log('Completed file download.'));
|
() => console.log('Completed file download.')
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
showHTML(){
|
showHTML(){
|
||||||
|
@ -220,4 +236,21 @@ export class ProjectComponent{
|
||||||
this.totalViews = $event.totalViews;
|
this.totalViews = $event.totalViews;
|
||||||
this.totalDownloads = $event.totalDownloads;
|
this.totalDownloads = $event.totalDownloads;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public openLoading(){
|
||||||
|
if(this.loading){
|
||||||
|
this.loading.open();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public closeLoading(){
|
||||||
|
if(this.loading){
|
||||||
|
this.loading.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public setMessageLoading(message: string){
|
||||||
|
if(this.loading){
|
||||||
|
this.loading.message = message;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ import { RouterModule } from '@angular/router';
|
||||||
|
|
||||||
import { ProjectServiceModule} from './projectService.module';
|
import { ProjectServiceModule} from './projectService.module';
|
||||||
// import {HtmlProgressReportService} from './htmlProgressReport.service';
|
// import {HtmlProgressReportService} from './htmlProgressReport.service';
|
||||||
|
import{LoadingModalModule} from '../../utils/modal/loadingModal.module';
|
||||||
|
|
||||||
import { ProjectComponent } from './project.component';
|
import { ProjectComponent } from './project.component';
|
||||||
import { ProjectRoutingModule } from './project-routing.module';
|
import { ProjectRoutingModule } from './project-routing.module';
|
||||||
|
@ -20,7 +21,7 @@ import { LandingModule } from '../landing.module';
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
CommonModule, FormsModule, RouterModule, LandingModule,
|
CommonModule, FormsModule, RouterModule, LandingModule,
|
||||||
ProjectRoutingModule,
|
ProjectRoutingModule, LoadingModalModule,
|
||||||
SearchResultsModule, IFrameModule, MetricsModule, ReportsServiceModule, PublicationsServiceModule, DatasetsServiceModule, ProjectServiceModule
|
SearchResultsModule, IFrameModule, MetricsModule, ReportsServiceModule, PublicationsServiceModule, DatasetsServiceModule, ProjectServiceModule
|
||||||
],
|
],
|
||||||
declarations: [
|
declarations: [
|
||||||
|
|
|
@ -61,8 +61,8 @@
|
||||||
</div-->
|
</div-->
|
||||||
|
|
||||||
<ul class="uk-tab" data-uk-switcher="{connect: '#tab-content'}">
|
<ul class="uk-tab" data-uk-switcher="{connect: '#tab-content'}">
|
||||||
<li id="citationsTab" class="uk-active">
|
<li class="uk-active">
|
||||||
<a href="#citationsTab">
|
<a>
|
||||||
References
|
References
|
||||||
<span *ngIf="publicationInfo.references == undefined" class="uk-badge uk-badge-notification">0</span>
|
<span *ngIf="publicationInfo.references == undefined" class="uk-badge uk-badge-notification">0</span>
|
||||||
<span *ngIf="publicationInfo.references != undefined" class="uk-badge uk-badge-notification">
|
<span *ngIf="publicationInfo.references != undefined" class="uk-badge uk-badge-notification">
|
||||||
|
@ -71,7 +71,7 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#relatedTab">
|
<a>
|
||||||
Related Research Results
|
Related Research Results
|
||||||
<span class="uk-badge uk-badge-notification">
|
<span class="uk-badge uk-badge-notification">
|
||||||
{{relatedResearchResultsNum}}
|
{{relatedResearchResultsNum}}
|
||||||
|
@ -79,7 +79,7 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#similarTab">
|
<a>
|
||||||
Similar Research Results
|
Similar Research Results
|
||||||
<span *ngIf="publicationInfo.similarResearchResults == undefined" class="uk-badge uk-badge-notification">0</span>
|
<span *ngIf="publicationInfo.similarResearchResults == undefined" class="uk-badge uk-badge-notification">0</span>
|
||||||
<span *ngIf="publicationInfo.similarResearchResults != undefined" class="uk-badge uk-badge-notification">
|
<span *ngIf="publicationInfo.similarResearchResults != undefined" class="uk-badge uk-badge-notification">
|
||||||
|
@ -88,19 +88,19 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li *ngIf="publicationInfo.bioentities != undefined">
|
<li *ngIf="publicationInfo.bioentities != undefined">
|
||||||
<a href="#bioentitiesTab">
|
<a>
|
||||||
Bioentities
|
Bioentities
|
||||||
<span class="uk-badge uk-badge-notification">{{bioentitiesNum}}</span>
|
<span class="uk-badge uk-badge-notification">{{bioentitiesNum}}</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li *ngIf="publicationInfo.software != undefined">
|
<li *ngIf="publicationInfo.software != undefined">
|
||||||
<a href="#softwareTab">
|
<a>
|
||||||
Software
|
Software
|
||||||
<span class="uk-badge uk-badge-notification">{{publicationInfo.software.length}}</span>
|
<span class="uk-badge uk-badge-notification">{{publicationInfo.software.length}}</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#metricsTab" (click)="metricsClicked=true;">
|
<a (click)="metricsClicked=true;">
|
||||||
Metrics
|
Metrics
|
||||||
<i class="uk-icon-line-chart"></i>
|
<i class="uk-icon-line-chart"></i>
|
||||||
</a>
|
</a>
|
||||||
|
@ -108,8 +108,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul id="tab-content" class="uk-switcher uk-margin">
|
<ul id="tab-content" class="uk-switcher uk-margin">
|
||||||
<li id="citationsTab-content">
|
<li class="uk-animation-fade">
|
||||||
|
|
||||||
<div *ngIf="publicationInfo.references == undefined" class = "uk-alert" >
|
<div *ngIf="publicationInfo.references == undefined" class = "uk-alert" >
|
||||||
There are no references
|
There are no references
|
||||||
</div>
|
</div>
|
||||||
|
@ -151,7 +150,7 @@
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li id="relatedTab">
|
<li class="uk-animation-fade">
|
||||||
<div *ngIf="publicationInfo.relatedResearchResults == undefined" class = "uk-alert">
|
<div *ngIf="publicationInfo.relatedResearchResults == undefined" class = "uk-alert">
|
||||||
There are no related research results
|
There are no related research results
|
||||||
</div>
|
</div>
|
||||||
|
@ -170,7 +169,7 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
<li id="similarTab">
|
<li class="uk-animation-fade">
|
||||||
<div *ngIf="publicationInfo.similarResearchResults == undefined" class = "uk-alert">
|
<div *ngIf="publicationInfo.similarResearchResults == undefined" class = "uk-alert">
|
||||||
There are no similar research results
|
There are no similar research results
|
||||||
</div>
|
</div>
|
||||||
|
@ -183,7 +182,7 @@
|
||||||
<tabTable from="publication" [info]="publicationInfo.similarResearchResults"></tabTable>
|
<tabTable from="publication" [info]="publicationInfo.similarResearchResults"></tabTable>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li *ngIf="publicationInfo.bioentities != undefined" id="bioentitiesTab">
|
<li *ngIf="publicationInfo.bioentities != undefined" class="uk-animation-fade">
|
||||||
<p>
|
<p>
|
||||||
The results below are discovered through our pilot algorithms.
|
The results below are discovered through our pilot algorithms.
|
||||||
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
||||||
|
@ -212,7 +211,7 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</li>
|
</li>
|
||||||
<li *ngIf="publicationInfo.software != undefined" id="softwareTab">
|
<li *ngIf="publicationInfo.software != undefined" class="uk-animation-fade">
|
||||||
<p>
|
<p>
|
||||||
The results below are discovered through our pilot algorithms.
|
The results below are discovered through our pilot algorithms.
|
||||||
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
||||||
|
@ -236,7 +235,7 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</li>
|
</li>
|
||||||
<li id="metricsTab">
|
<li class="uk-animation-fade">
|
||||||
<metrics *ngIf="metricsClicked"
|
<metrics *ngIf="metricsClicked"
|
||||||
[id]="articleId" [type]="'results'" (metricsResults)="metricsResults($event)">
|
[id]="articleId" [type]="'results'" (metricsResults)="metricsResults($event)">
|
||||||
</metrics>
|
</metrics>
|
||||||
|
@ -261,7 +260,9 @@
|
||||||
<addThis></addThis>
|
<addThis></addThis>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<altmetrics *ngIf="publicationInfo.identifiers != undefined && publicationInfo.identifiers.get('doi') != undefined" id="{{publicationInfo.identifiers.get('doi')[0]}}" type="doi"> </altmetrics>
|
<altmetrics *ngIf="publicationInfo.identifiers != undefined && publicationInfo.identifiers.get('doi') != undefined"
|
||||||
|
id="{{publicationInfo.identifiers.get('doi')[0]}}" type="doi">
|
||||||
|
</altmetrics>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
@ -270,6 +271,7 @@
|
||||||
<dt class="title">Download from</dt>
|
<dt class="title">Download from</dt>
|
||||||
<dd class="line"
|
<dd class="line"
|
||||||
*ngFor="let key of publicationInfo.downloadFrom.keys() let i=index"
|
*ngFor="let key of publicationInfo.downloadFrom.keys() let i=index"
|
||||||
|
data-uk-tooltip="{pos:'right', cls:'tooltip uk-text-center uk-contrast'}"
|
||||||
[title]="publicationInfo.downloadFrom.get(key)['accessMode']">
|
[title]="publicationInfo.downloadFrom.get(key)['accessMode']">
|
||||||
<div *ngIf="i<5 || showAllDownloadFrom"
|
<div *ngIf="i<5 || showAllDownloadFrom"
|
||||||
class="{{publicationInfo.downloadFrom.get(key)['bestAccessMode']}}">
|
class="{{publicationInfo.downloadFrom.get(key)['bestAccessMode']}}">
|
||||||
|
@ -277,15 +279,13 @@
|
||||||
<div *ngIf="publicationInfo.downloadFrom.get(key)['url'].length > 1">
|
<div *ngIf="publicationInfo.downloadFrom.get(key)['url'].length > 1">
|
||||||
{{key}}
|
{{key}}
|
||||||
<span *ngFor="let url of publicationInfo.downloadFrom.get(key)['url']; let i=index;">
|
<span *ngFor="let url of publicationInfo.downloadFrom.get(key)['url']; let i=index;">
|
||||||
<a href="{{url}}" target="_blank"
|
<a href="{{url}}" target="_blank">
|
||||||
[title]="publicationInfo.downloadFrom.get(key)['accessMode']">
|
|
||||||
[{{i+1}}]
|
[{{i+1}}]
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<a *ngIf="publicationInfo.downloadFrom.get(key)['url'].length == 1"
|
<a *ngIf="publicationInfo.downloadFrom.get(key)['url'].length == 1"
|
||||||
href="{{publicationInfo.downloadFrom.get(key)['url']}}"
|
href="{{publicationInfo.downloadFrom.get(key)['url']}}"
|
||||||
[title]="publicationInfo.downloadFrom.get(key)['accessMode']"
|
|
||||||
target="_blank">
|
target="_blank">
|
||||||
{{key}}
|
{{key}}
|
||||||
</a>
|
</a>
|
||||||
|
@ -308,21 +308,21 @@
|
||||||
<li *ngIf="publicationInfo.publishedIn != undefined && publicationInfo.publishedIn.size > 0">
|
<li *ngIf="publicationInfo.publishedIn != undefined && publicationInfo.publishedIn.size > 0">
|
||||||
<dl class="uk-description-list-line">
|
<dl class="uk-description-list-line">
|
||||||
<dt class="title">Published in</dt>
|
<dt class="title">Published in</dt>
|
||||||
<dd class="line" *ngFor="let key of publicationInfo.publishedIn.keys() let i=index">
|
<dd class="line" *ngFor="let key of publicationInfo.publishedIn.keys() let i=index"
|
||||||
|
data-uk-tooltip="{pos:'right', cls:'tooltip uk-text-center uk-contrast'}"
|
||||||
|
[title]="publicationInfo.publishedIn.get(key)['accessMode']">
|
||||||
<div *ngIf="i<5 || showAllPublishedIn" class="{{publicationInfo.publishedIn.get(key)['bestAccessMode']}}">
|
<div *ngIf="i<5 || showAllPublishedIn" class="{{publicationInfo.publishedIn.get(key)['bestAccessMode']}}">
|
||||||
<span class="uk-icon-external-link">
|
<span class="uk-icon-external-link">
|
||||||
<div *ngIf="publicationInfo.publishedIn.get(key)['url'].length > 1">
|
<div *ngIf="publicationInfo.publishedIn.get(key)['url'].length > 1">
|
||||||
{{key}}
|
{{key}}
|
||||||
<span *ngFor="let url of publicationInfo.publishedIn.get(key)['url']; let i=index">
|
<span *ngFor="let url of publicationInfo.publishedIn.get(key)['url']; let i=index">
|
||||||
<a href="{{url}}" target="_blank"
|
<a href="{{url}}" target="_blank">
|
||||||
[title]="publicationInfo.publishedIn.get(key)['accessMode']">
|
|
||||||
[{{i+1}}]
|
[{{i+1}}]
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<a *ngIf="publicationInfo.publishedIn.get(key)['url'].length == 1"
|
<a *ngIf="publicationInfo.publishedIn.get(key)['url'].length == 1"
|
||||||
href="{{publicationInfo.publishedIn.get(key)['url']}}"
|
href="{{publicationInfo.publishedIn.get(key)['url']}}"
|
||||||
[title]="publicationInfo.publishedIn.get(key)['accessMode']"
|
|
||||||
target="_blank">
|
target="_blank">
|
||||||
{{key}}
|
{{key}}
|
||||||
</a>
|
</a>
|
||||||
|
@ -343,16 +343,26 @@
|
||||||
</dl>
|
</dl>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li *ngIf="publicationInfo.fundedByProjects != undefined">
|
<!--li *ngIf="publicationInfo.fundedByProjects != undefined && publicationInfo.fundedByProjects.length > 0"-->
|
||||||
<dl class="uk-description-list-line" >
|
<li>
|
||||||
|
<dl class="uk-description-list-line">
|
||||||
<dt class="title">Funded By</dt>
|
<dt class="title">Funded By</dt>
|
||||||
<dd
|
<dd class="line"
|
||||||
data-uk-tooltip="{pos:'right'}" title="{{item['title']}}
|
*ngFor="let item of publicationInfo.fundedByProjects let i=index">
|
||||||
| Project Code: {{item['code']}}
|
|
||||||
| Funder: {{item['funderName']}} ({{item['funderShortname']}})
|
|
||||||
| Funding: {{item['funding']}}"
|
|
||||||
class="line" *ngFor="let item of publicationInfo.fundedByProjects let i=index">
|
|
||||||
<div *ngIf="i<5 || showAllFundedBy">
|
<div *ngIf="i<5 || showAllFundedBy">
|
||||||
|
<span data-uk-tooltip="{pos:'right', cls:'tooltip uk-text-center uk-contrast'}"
|
||||||
|
title="
|
||||||
|
<div>
|
||||||
|
<h4>{{item['title']}}</h4>
|
||||||
|
Project Code: {{item['code']}}
|
||||||
|
<div>
|
||||||
|
Funder: {{item['funderName']}} ({{item['funderShortname']}})
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
Funding: {{item['funding']}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
">
|
||||||
<!--a *ngIf="!item['inline']" href="{{item['url']}}"-->
|
<!--a *ngIf="!item['inline']" href="{{item['url']}}"-->
|
||||||
<a *ngIf="!item['inline']"
|
<a *ngIf="!item['inline']"
|
||||||
[queryParams]="{projectId: item.id}" routerLinkActive="router-link-active" routerLink="/search/project">
|
[queryParams]="{projectId: item.id}" routerLinkActive="router-link-active" routerLink="/search/project">
|
||||||
|
@ -368,6 +378,27 @@
|
||||||
| {{ item['acronym']?item['acronym']:item['title']}}
|
| {{ item['acronym']?item['acronym']:item['title']}}
|
||||||
</mark>
|
</mark>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
<!--i class="uk-icon-info-circle"
|
||||||
|
data-uk-modal="{target:'#my-id'}"-->
|
||||||
|
<i class="uk-icon-info-circle">
|
||||||
|
</i>
|
||||||
|
<!--div id="my-id" class="uk-modal">
|
||||||
|
<div class="uk-modal-dialog uk-modal-dialog-lightbox uk-text-center">
|
||||||
|
<a href="" class="uk-modal-close uk-close uk-close-alt"></a>
|
||||||
|
<div>
|
||||||
|
<h4>{{item['title']}}</h4>
|
||||||
|
Project Code: {{item['code']}}
|
||||||
|
<div>
|
||||||
|
Funder: {{item['funderName']}} ({{item['funderShortname']}})
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
Funding: {{item['funding']}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div-->
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</dd>
|
</dd>
|
||||||
<dd *ngIf="showAllFundedBy" class="uk-text-right">
|
<dd *ngIf="showAllFundedBy" class="uk-text-right">
|
||||||
|
@ -375,17 +406,17 @@
|
||||||
View less
|
View less
|
||||||
</a>
|
</a>
|
||||||
</dd>
|
</dd>
|
||||||
<dd *ngIf="!showAllFundedBy && publicationInfo.fundedByProjects.length > 5">...</dd>
|
<dd *ngIf="!showAllFundedBy && publicationInfo.fundedByProjects != undefined && publicationInfo.fundedByProjects.length > 5">...</dd>
|
||||||
<dd *ngIf="!showAllFundedBy && publicationInfo.fundedByProjects.length > 5" class="uk-text-right">
|
<dd *ngIf="!showAllFundedBy && publicationInfo.fundedByProjects != undefined && publicationInfo.fundedByProjects.length > 5" class="uk-text-right">
|
||||||
<a class="uk-text-muted" (click)="showAllFundedBy = !showAllFundedBy;">
|
<a class="uk-text-muted" (click)="showAllFundedBy = !showAllFundedBy;">
|
||||||
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="/linking" > <i class="uk-icon-link"></i> Add links to projects</a></dd-->
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
<li >
|
|
||||||
|
<li>
|
||||||
<dl class="uk-description-list-line" >
|
<dl class="uk-description-list-line" >
|
||||||
<dt class="title">Related to</dt>
|
<dt class="title">Related to</dt>
|
||||||
<dd class="line" *ngFor="let item of publicationInfo.contexts">
|
<dd class="line" *ngFor="let item of publicationInfo.contexts">
|
||||||
|
@ -405,7 +436,7 @@
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
<li><citeThis [result]="publicationInfo" [id]="articleId"></citeThis></li>
|
<li><citeThis [result]="publicationInfo" [id]="articleId"></citeThis></li>
|
||||||
<li *ngIf="publicationInfo.collectedFrom != undefined">
|
<li *ngIf="publicationInfo.collectedFrom != undefined && publicationInfo.collectedFrom.length > 0">
|
||||||
<dl class="uk-description-list-line">
|
<dl class="uk-description-list-line">
|
||||||
<dt>Collected from</dt>
|
<dt>Collected from</dt>
|
||||||
<dd *ngFor="let item of publicationInfo.collectedFrom let i=index">
|
<dd *ngFor="let item of publicationInfo.collectedFrom let i=index">
|
||||||
|
|
|
@ -5,6 +5,7 @@ import { SearchProjectsService } from '../services/searchProjects.service';
|
||||||
|
|
||||||
import {OpenaireProperties} from '../utils/properties/openaireProperties';
|
import {OpenaireProperties} from '../utils/properties/openaireProperties';
|
||||||
import {StringUtils} from '../utils/string-utils.class';
|
import {StringUtils} from '../utils/string-utils.class';
|
||||||
|
import {RouterHelper} from '../utils/routerHelper.class';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'searchingProjectsTab',
|
selector: 'searchingProjectsTab',
|
||||||
|
@ -18,7 +19,15 @@ import {StringUtils} from '../utils/string-utils.class';
|
||||||
The results below are discovered through our pilot algorithms.
|
The results below are discovered through our pilot algorithms.
|
||||||
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
<a href="mailto:feedback@openaire.eu">Let us know how we are doing!</a>
|
||||||
</p>
|
</p>
|
||||||
<div class = "uk-text-right" *ngIf = "fetchProjects.totalResults > 10" ><a [href] = "linkToSearchProjects" >View all {{fetchProjects.totalResults}} results</a></div>
|
<div class = "uk-text-right" *ngIf = "fetchProjects.totalResults > 10">
|
||||||
|
<!--a [href] = "linkToSearchProjects">
|
||||||
|
View all {{fetchProjects.totalResults}} results
|
||||||
|
</a-->
|
||||||
|
<a [queryParams]="routerHelper.createQueryParams(['organizationId', 'or'], [organizationId, 'and'])"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchProjects">
|
||||||
|
View all {{fetchProjects.totalResults}} results
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<div class= "searchPaging uk-panel uk-margin-top">
|
<div class= "searchPaging uk-panel uk-margin-top">
|
||||||
<div class="uk-float-right" *ngIf="fetchProjects.results && fetchProjects.searchUtils.totalResults > fetchProjects.searchUtils.size">
|
<div class="uk-float-right" *ngIf="fetchProjects.results && fetchProjects.searchUtils.totalResults > fetchProjects.searchUtils.size">
|
||||||
<paging-no-load [currentPage]="page" [totalResults]="fetchProjects.searchUtils.totalResults" [navigateTo]="navigateTo" [term]="keyword" [size]="size" (pageChange)="pageChange($event)"> </paging-no-load>
|
<paging-no-load [currentPage]="page" [totalResults]="fetchProjects.searchUtils.totalResults" [navigateTo]="navigateTo" [term]="keyword" [size]="size" (pageChange)="pageChange($event)"> </paging-no-load>
|
||||||
|
@ -50,6 +59,9 @@ export class SearchingProjectsTabComponent {
|
||||||
public size :number = 10;
|
public size :number = 10;
|
||||||
public linkToSearchProjects;
|
public linkToSearchProjects;
|
||||||
private filterQuery:string = "";
|
private filterQuery:string = "";
|
||||||
|
|
||||||
|
public routerHelper:RouterHelper = new RouterHelper();
|
||||||
|
|
||||||
constructor (private _searchProjectsService: SearchProjectsService) {
|
constructor (private _searchProjectsService: SearchProjectsService) {
|
||||||
this.fetchProjects = new FetchProjects(this._searchProjectsService);
|
this.fetchProjects = new FetchProjects(this._searchProjectsService);
|
||||||
|
|
||||||
|
@ -57,7 +69,7 @@ export class SearchingProjectsTabComponent {
|
||||||
|
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.linkToSearchProjects = OpenaireProperties.getLinkToAdvancedSearchProjects()+"?organization="+this.organizationId+"or=and";;
|
this.linkToSearchProjects = OpenaireProperties.getLinkToAdvancedSearchProjects();//+"?organization="+this.organizationId+"or=and";;
|
||||||
this.search(true,"");
|
this.search(true,"");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
import { NgModule} from '@angular/core';
|
import { NgModule} from '@angular/core';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { FormsModule } from '@angular/forms';
|
import { FormsModule } from '@angular/forms';
|
||||||
|
import { RouterModule } from '@angular/router';
|
||||||
|
|
||||||
import { ProjectsServiceModule} from '../services/projectsService.module';
|
import { ProjectsServiceModule} from '../services/projectsService.module';
|
||||||
import {SearchResultsModule } from '../searchPages/searchUtils/searchResults.module';
|
import {SearchResultsModule } from '../searchPages/searchUtils/searchResults.module';
|
||||||
|
@ -13,8 +14,8 @@ import {PagingModule } from '../utils/paging.module';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
|
RouterModule, CommonModule, FormsModule,
|
||||||
CommonModule, FormsModule, ProjectsServiceModule, SearchResultsModule, PagingModule
|
ProjectsServiceModule, SearchResultsModule, PagingModule
|
||||||
],
|
],
|
||||||
declarations: [
|
declarations: [
|
||||||
SearchingProjectsTabComponent
|
SearchingProjectsTabComponent
|
||||||
|
|
|
@ -4,15 +4,34 @@ import {Component, Input} from '@angular/core';
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'showTitle',
|
selector: 'showTitle',
|
||||||
template: `
|
template: `
|
||||||
<h2 *ngIf="title != undefined" [class] = "title['accessMode']" data-uk-tooltip [title]="title['accessMode']" >
|
<h2 *ngIf="title != undefined">
|
||||||
<span *ngIf="title['url'] != undefined && title['url'] != null && title['url'] != ''" class="uk-icon-external-link">
|
<span *ngIf="title['url'] != undefined && title['url'] != null && title['url'] != ''"
|
||||||
<a href="{{title['url']}}" target="_blank"
|
class="uk-icon-external-link {{title['accessMode']}}"
|
||||||
|
data-uk-tooltip="{cls:'tooltip uk-text-center uk-contrast'}"
|
||||||
|
[title]="title['accessMode']">
|
||||||
|
<a *ngIf="title['name'] != undefined && title['name'] != ''"
|
||||||
|
href="{{title['url']}}" target="_blank"
|
||||||
[innerHTML]="title['name']">
|
[innerHTML]="title['name']">
|
||||||
</a>
|
</a>
|
||||||
|
<a *ngIf="title['name'] == undefined || title['name'] == ''"
|
||||||
|
href="{{title['url']}}" target="_blank">
|
||||||
|
[no title available]
|
||||||
|
</a>
|
||||||
</span>
|
</span>
|
||||||
<span *ngIf="title['url'] == undefined || title['url'] == null || title['url'] == ''"
|
<span *ngIf="(title['name'] != undefined && title['name'] != '') &&
|
||||||
|
(title['url'] == undefined || title['url'] == null || title['url'] == '')"
|
||||||
|
[class]="title['accessMode']"
|
||||||
|
data-uk-tooltip="{cls:'tooltip uk-text-center uk-contrast'}"
|
||||||
|
[title]="title['accessMode']"
|
||||||
[innerHTML]="title['name']">
|
[innerHTML]="title['name']">
|
||||||
</span>
|
</span>
|
||||||
|
<span *ngIf="(title['name'] == undefined || title['name'] == '') &&
|
||||||
|
(title['url'] == undefined || title['url'] == null || title['url'] == '')"
|
||||||
|
[class]="title['accessMode']"
|
||||||
|
data-uk-tooltip="{cls:'tooltip uk-text-center uk-contrast'}"
|
||||||
|
[title]="title['accessMode']">
|
||||||
|
[no title available]
|
||||||
|
</span>
|
||||||
</h2>
|
</h2>
|
||||||
`
|
`
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import { NgModule} from '@angular/core';
|
import { NgModule} from '@angular/core';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { FormsModule } from '@angular/forms';
|
import { FormsModule } from '@angular/forms';
|
||||||
|
import { RouterModule } from '@angular/router';
|
||||||
|
|
||||||
import{MainSearchRoutingModule} from './mainSearch-routing.module';
|
import{MainSearchRoutingModule} from './mainSearch-routing.module';
|
||||||
import{SearchComponent} from './search.component';
|
import{SearchComponent} from './search.component';
|
||||||
|
@ -18,7 +19,7 @@ import {SearchFormModule} from '../searchUtils/searchForm.module';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
CommonModule, FormsModule,
|
CommonModule, FormsModule, RouterModule,
|
||||||
DataProvidersServiceModule, DatasetsServiceModule, ProjectsServiceModule,
|
DataProvidersServiceModule, DatasetsServiceModule, ProjectsServiceModule,
|
||||||
PublicationsServiceModule, OrganizationsServiceModule, PeopleServiceModule,
|
PublicationsServiceModule, OrganizationsServiceModule, PeopleServiceModule,
|
||||||
BrowseEntitiesModule, SearchFormModule, SearchResultsModule, MainSearchRoutingModule
|
BrowseEntitiesModule, SearchFormModule, SearchResultsModule, MainSearchRoutingModule
|
||||||
|
|
|
@ -3,7 +3,6 @@ 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 { 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';
|
||||||
|
@ -20,7 +19,8 @@ import {SearchOrganizationsService} from '../../services/searchOrganizations.ser
|
||||||
|
|
||||||
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
|
||||||
import {SearchFields} from '../../utils/properties/searchFields';
|
import {SearchFields} from '../../utils/properties/searchFields';
|
||||||
import { ErrorCodes} from '../../utils/properties/openaireProperties';
|
import {ErrorCodes} from '../../utils/properties/openaireProperties';
|
||||||
|
import {RouterHelper} from '../../utils/routerHelper.class';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
changeDetection: ChangeDetectionStrategy.Default,
|
changeDetection: ChangeDetectionStrategy.Default,
|
||||||
|
@ -89,7 +89,13 @@ import { ErrorCodes} from '../../utils/properties/openaireProperties';
|
||||||
<ul id="searchtabs" class="uk-switcher uk-margin-left uk-width-large-3-4 uk-width-small-1-1">
|
<ul id="searchtabs" class="uk-switcher uk-margin-left uk-width-large-3-4 uk-width-small-1-1">
|
||||||
<li id="pubsTab" class="uk-active">
|
<li id="pubsTab" class="uk-active">
|
||||||
<div *ngIf = "keyword.length > 0" class ="uk-animation-fade">
|
<div *ngIf = "keyword.length > 0" class ="uk-animation-fade">
|
||||||
<div class = "uk-text-right" *ngIf = "fetchPublications.searchUtils.totalResults> 10" ><a [href] = "linkToSearchPublications" >View all {{fetchPublications.searchUtils.totalResults}} results <i class="uk-icon-angle-double-right"></i></a></div>
|
<div class = "uk-text-right" *ngIf = "fetchPublications.searchUtils.totalResults> 10">
|
||||||
|
<!--a [href] = "linkToSearchPublications"-->
|
||||||
|
<a [queryParams]="routerHelper.createQueryParam('keyword', keyword)"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchPublications">
|
||||||
|
View all {{fetchPublications.searchUtils.totalResults}} results <i class="uk-icon-angle-double-right"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<search-result [(results)]="fetchPublications.results"
|
<search-result [(results)]="fetchPublications.results"
|
||||||
[(status)]= "fetchPublications.searchUtils.status" showLoading = true
|
[(status)]= "fetchPublications.searchUtils.status" showLoading = true
|
||||||
type="publication" urlParam="articleId">
|
type="publication" urlParam="articleId">
|
||||||
|
@ -101,7 +107,13 @@ import { ErrorCodes} from '../../utils/properties/openaireProperties';
|
||||||
</li>
|
</li>
|
||||||
<li id="dataTab">
|
<li id="dataTab">
|
||||||
<div *ngIf = "keyword.length > 0" class ="uk-animation-fade">
|
<div *ngIf = "keyword.length > 0" class ="uk-animation-fade">
|
||||||
<div class = "uk-text-right" *ngIf = "fetchDatasets.searchUtils.totalResults> 10" ><a [href] = "linkToSearchDatasets" >View all {{fetchDatasets.searchUtils.totalResults}} results <i class="uk-icon-angle-double-right"></i></a></div>
|
<div class = "uk-text-right" *ngIf = "fetchDatasets.searchUtils.totalResults> 10">
|
||||||
|
<!--a [href] = "linkToSearchDatasets"-->
|
||||||
|
<a [queryParams]="routerHelper.createQueryParam('keyword', keyword)"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchDatasets">
|
||||||
|
View all {{fetchDatasets.searchUtils.totalResults}} results <i class="uk-icon-angle-double-right"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<search-result [(results)]="fetchDatasets.results"
|
<search-result [(results)]="fetchDatasets.results"
|
||||||
[(status)]= "fetchDatasets.searchUtils.status" showLoading = true
|
[(status)]= "fetchDatasets.searchUtils.status" showLoading = true
|
||||||
type="dataset" urlParam="datasetId">
|
type="dataset" urlParam="datasetId">
|
||||||
|
@ -113,7 +125,13 @@ import { ErrorCodes} from '../../utils/properties/openaireProperties';
|
||||||
</li>
|
</li>
|
||||||
<li id="projectsTab" >
|
<li id="projectsTab" >
|
||||||
<div *ngIf = "keyword.length > 0" class ="uk-animation-fade">
|
<div *ngIf = "keyword.length > 0" class ="uk-animation-fade">
|
||||||
<div class = "uk-text-right" *ngIf = "fetchProjects.searchUtils.totalResults> 10" ><a [href] = "linkToSearchProjects" >View all {{fetchProjects.searchUtils.totalResults}} results <i class="uk-icon-angle-double-right"></i></a></div>
|
<div class = "uk-text-right" *ngIf = "fetchProjects.searchUtils.totalResults> 10">
|
||||||
|
<!--a [href] = "linkToSearchProjects"-->
|
||||||
|
<a [queryParams]="routerHelper.createQueryParam('keyword', keyword)"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchProjects">
|
||||||
|
View all {{fetchProjects.searchUtils.totalResults}} results <i class="uk-icon-angle-double-right"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<search-result [(results)]="fetchProjects.results"
|
<search-result [(results)]="fetchProjects.results"
|
||||||
[(status)]= "fetchProjects.searchUtils.status" showLoading = true
|
[(status)]= "fetchProjects.searchUtils.status" showLoading = true
|
||||||
type="project" urlParam="projectId">
|
type="project" urlParam="projectId">
|
||||||
|
@ -125,7 +143,13 @@ import { ErrorCodes} from '../../utils/properties/openaireProperties';
|
||||||
</li>
|
</li>
|
||||||
<li id="dataProviderTab">
|
<li id="dataProviderTab">
|
||||||
<div *ngIf = "keyword.length > 0" class ="uk-animation-fade">
|
<div *ngIf = "keyword.length > 0" class ="uk-animation-fade">
|
||||||
<div class = "uk-text-right" *ngIf = "fetchDataproviders.searchUtils.totalResults> 10" ><a [href] = "linkToSearchDataproviders" >View all {{fetchDataproviders.searchUtils.totalResults}} results <i class="uk-icon-angle-double-right"></i></a></div>
|
<div class = "uk-text-right" *ngIf = "fetchDataproviders.searchUtils.totalResults> 10">
|
||||||
|
<!--a [href] = "linkToSearchDataproviders"-->
|
||||||
|
<a [queryParams]="routerHelper.createQueryParam('keyword', keyword)"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchDataproviders">
|
||||||
|
View all {{fetchDataproviders.searchUtils.totalResults}} results <i class="uk-icon-angle-double-right"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<search-result [(results)]="fetchDataproviders.results"
|
<search-result [(results)]="fetchDataproviders.results"
|
||||||
[(status)]= "fetchDataproviders.searchUtils.status" showLoading = true
|
[(status)]= "fetchDataproviders.searchUtils.status" showLoading = true
|
||||||
type="dataprovider" urlParam="datasourceId">
|
type="dataprovider" urlParam="datasourceId">
|
||||||
|
@ -137,7 +161,13 @@ import { ErrorCodes} from '../../utils/properties/openaireProperties';
|
||||||
</li>
|
</li>
|
||||||
<li id="organizationsTab" >
|
<li id="organizationsTab" >
|
||||||
<div *ngIf = "keyword.length > 0" class ="uk-animation-fade">
|
<div *ngIf = "keyword.length > 0" class ="uk-animation-fade">
|
||||||
<div class = "uk-text-right" *ngIf = "fetchOrganizations.searchUtils.totalResults> 10" ><a [href] = "linkToSearchOrganizations" >View all {{fetchOrganizations.searchUtils.totalResults}} results <i class="uk-icon-angle-double-right"></i></a></div>
|
<div class = "uk-text-right" *ngIf = "fetchOrganizations.searchUtils.totalResults> 10">
|
||||||
|
<!--a [href] = "linkToSearchOrganizations"-->
|
||||||
|
<a [queryParams]="routerHelper.createQueryParam('keyword', keyword)"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchOrganizations">
|
||||||
|
View all {{fetchOrganizations.searchUtils.totalResults}} results <i class="uk-icon-angle-double-right"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<search-result [(results)]="fetchOrganizations.results"
|
<search-result [(results)]="fetchOrganizations.results"
|
||||||
[(status)]= "fetchOrganizations.searchUtils.status" showLoading = true
|
[(status)]= "fetchOrganizations.searchUtils.status" showLoading = true
|
||||||
type="organization" urlParam="organizationId">
|
type="organization" urlParam="organizationId">
|
||||||
|
@ -149,7 +179,13 @@ import { ErrorCodes} from '../../utils/properties/openaireProperties';
|
||||||
</li>
|
</li>
|
||||||
<li id="peopleTab">
|
<li id="peopleTab">
|
||||||
<div *ngIf = "keyword.length > 0" class ="uk-animation-fade">
|
<div *ngIf = "keyword.length > 0" class ="uk-animation-fade">
|
||||||
<div class = "uk-text-right" *ngIf = "fetchPeople.searchUtils.totalResults> 10" ><a [href] = "linkToSearchPeople" >View all {{fetchPeople.searchUtils.totalResults}} results <i class="uk-icon-angle-double-right"></i></a></div>
|
<div class = "uk-text-right" *ngIf = "fetchPeople.searchUtils.totalResults> 10">
|
||||||
|
<!--a [href] = "linkToSearchPeople"-->
|
||||||
|
<a [queryParams]="routerHelper.createQueryParam('keyword', keyword)"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchPeople">
|
||||||
|
View all {{fetchPeople.searchUtils.totalResults}} results <i class="uk-icon-angle-double-right"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
<search-result [(results)]="fetchPeople.results"
|
<search-result [(results)]="fetchPeople.results"
|
||||||
[(status)]= "fetchPeople.searchUtils.status" showLoading = true
|
[(status)]= "fetchPeople.searchUtils.status" showLoading = true
|
||||||
type="person" urlParam="personId">
|
type="person" urlParam="personId">
|
||||||
|
@ -201,8 +237,10 @@ export class SearchComponent {
|
||||||
public fetchDatasets: FetchDatasets;
|
public fetchDatasets: FetchDatasets;
|
||||||
public fetchOrganizations: FetchOrganizations;
|
public fetchOrganizations: FetchOrganizations;
|
||||||
public fetchPeople: FetchPeople;
|
public fetchPeople: FetchPeople;
|
||||||
|
|
||||||
public searchFields:SearchFields = new SearchFields();
|
public searchFields:SearchFields = new SearchFields();
|
||||||
public errorCodes:ErrorCodes = new ErrorCodes();
|
public errorCodes:ErrorCodes = new ErrorCodes();
|
||||||
|
public routerHelper:RouterHelper = new RouterHelper();
|
||||||
|
|
||||||
public subPub;public subData;public subProjects;public subOrg;public subPeople; public subDataPr;
|
public subPub;public subData;public subProjects;public subOrg;public subPeople; public subDataPr;
|
||||||
constructor ( private route: ActivatedRoute,
|
constructor ( private route: ActivatedRoute,
|
||||||
|
@ -260,7 +298,7 @@ public subPub;public subData;public subProjects;public subOrg;public subPeople;
|
||||||
if(this.reloadPublications) {
|
if(this.reloadPublications) {
|
||||||
this.reloadPublications = false;
|
this.reloadPublications = false;
|
||||||
this.fetchPublications.getResultsByKeyword(this.keyword, 1, 10);
|
this.fetchPublications.getResultsByKeyword(this.keyword, 1, 10);
|
||||||
this.linkToSearchPublications = OpenaireProperties.getLinkToSearchPublications() + "?keyword=" + this.keyword;
|
this.linkToSearchPublications = OpenaireProperties.getLinkToSearchPublications();// + "?keyword=" + this.keyword;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public searchDatasets() {
|
public searchDatasets() {
|
||||||
|
@ -268,7 +306,7 @@ public subPub;public subData;public subProjects;public subOrg;public subPeople;
|
||||||
if(this.reloadDatasets) {
|
if(this.reloadDatasets) {
|
||||||
this.reloadDatasets = false;
|
this.reloadDatasets = false;
|
||||||
this.fetchDatasets.getResultsByKeyword(this.keyword, 1, 10);
|
this.fetchDatasets.getResultsByKeyword(this.keyword, 1, 10);
|
||||||
this.linkToSearchDatasets = OpenaireProperties.getLinkToSearchDatasets() + "?keyword=" + this.keyword;
|
this.linkToSearchDatasets = OpenaireProperties.getLinkToSearchDatasets();// + "?keyword=" + this.keyword;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public searchProjects() {
|
public searchProjects() {
|
||||||
|
@ -276,7 +314,7 @@ public subPub;public subData;public subProjects;public subOrg;public subPeople;
|
||||||
if(this.reloadProjects) {
|
if(this.reloadProjects) {
|
||||||
this.reloadProjects = false;
|
this.reloadProjects = false;
|
||||||
this.fetchProjects.getResultsByKeyword(this.keyword, 1, 10);
|
this.fetchProjects.getResultsByKeyword(this.keyword, 1, 10);
|
||||||
this.linkToSearchProjects = OpenaireProperties.getLinkToSearchProjects() + "?keyword=" + this.keyword;
|
this.linkToSearchProjects = OpenaireProperties.getLinkToSearchProjects();// + "?keyword=" + this.keyword;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public searchDataProviders() {
|
public searchDataProviders() {
|
||||||
|
@ -284,7 +322,7 @@ public subPub;public subData;public subProjects;public subOrg;public subPeople;
|
||||||
if(this.reloadDataproviders) {
|
if(this.reloadDataproviders) {
|
||||||
this.reloadDataproviders = false;
|
this.reloadDataproviders = false;
|
||||||
this.fetchDataproviders.getResultsByKeyword(this.keyword, 1, 10);
|
this.fetchDataproviders.getResultsByKeyword(this.keyword, 1, 10);
|
||||||
this.linkToSearchDataproviders = OpenaireProperties.getLinkToSearchDataProviders() + "?keyword=" + this.keyword;
|
this.linkToSearchDataproviders = OpenaireProperties.getLinkToSearchDataProviders();// + "?keyword=" + this.keyword;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public searchOrganizations() {
|
public searchOrganizations() {
|
||||||
|
@ -292,7 +330,7 @@ public subPub;public subData;public subProjects;public subOrg;public subPeople;
|
||||||
if(this.reloadOrganizations) {
|
if(this.reloadOrganizations) {
|
||||||
this.reloadOrganizations = false;
|
this.reloadOrganizations = false;
|
||||||
this.fetchOrganizations.getResultsByKeyword(this.keyword, 1, 10);
|
this.fetchOrganizations.getResultsByKeyword(this.keyword, 1, 10);
|
||||||
this.linkToSearchOrganizations = OpenaireProperties.getLinkToSearchOrganizations() + "?keyword=" + this.keyword;
|
this.linkToSearchOrganizations = OpenaireProperties.getLinkToSearchOrganizations();// + "?keyword=" + this.keyword;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public searchPeople() {
|
public searchPeople() {
|
||||||
|
@ -300,7 +338,7 @@ public subPub;public subData;public subProjects;public subOrg;public subPeople;
|
||||||
if(this.reloadPeople) {
|
if(this.reloadPeople) {
|
||||||
this.reloadPeople = false;
|
this.reloadPeople = false;
|
||||||
this.fetchPeople.getResultsByKeyword(this.keyword, 1, 10);
|
this.fetchPeople.getResultsByKeyword(this.keyword, 1, 10);
|
||||||
this.linkToSearchPeople = OpenaireProperties.getLinkToSearchPeople() + "?keyword=" + this.keyword;
|
this.linkToSearchPeople = OpenaireProperties.getLinkToSearchPeople();// + "?keyword=" + this.keyword;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,11 @@ import {RouterHelper} from '../../utils/routerHelper.class';
|
||||||
<p *ngIf="result['title'].name != undefined && result['title'].name != ''"
|
<p *ngIf="result['title'].name != undefined && result['title'].name != ''"
|
||||||
[innerHTML]="result['title'].name">
|
[innerHTML]="result['title'].name">
|
||||||
</p>
|
</p>
|
||||||
<p *ngIf="result['title'].name == undefined || result['title'].name == ''">
|
<!--p *ngIf="result['title'].name == undefined || result['title'].name == ''">
|
||||||
{{result['title'].url}}
|
{{result['title'].url}}
|
||||||
|
</p-->
|
||||||
|
<p *ngIf="result['title'].name == undefined || result['title'].name == ''">
|
||||||
|
[no title available]
|
||||||
</p>
|
</p>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
@ -31,7 +34,7 @@ import {RouterHelper} from '../../utils/routerHelper.class';
|
||||||
[innerHTML]="result['title'].name">
|
[innerHTML]="result['title'].name">
|
||||||
</p>
|
</p>
|
||||||
<p *ngIf="result['title'].name == undefined || result['title'].name == ''">
|
<p *ngIf="result['title'].name == undefined || result['title'].name == ''">
|
||||||
{{result['title'].url}}
|
[no title available]
|
||||||
</p>
|
</p>
|
||||||
</a>
|
</a>
|
||||||
</h4>
|
</h4>
|
||||||
|
@ -59,15 +62,16 @@ import {RouterHelper} from '../../utils/routerHelper.class';
|
||||||
<span> Projects: </span>
|
<span> Projects: </span>
|
||||||
<span *ngFor="let project of result['projects'].slice(0,15) let i=index">
|
<span *ngFor="let project of result['projects'].slice(0,15) let i=index">
|
||||||
<!--a *ngIf="project.url != undefined" href="{{project.url}}"-->
|
<!--a *ngIf="project.url != undefined" href="{{project.url}}"-->
|
||||||
|
<span>
|
||||||
<a *ngIf="project.id != undefined" [queryParams]="{projectId: project.id}" routerLinkActive="router-link-active" routerLink="/search/project">
|
<a *ngIf="project.id != undefined" [queryParams]="{projectId: project.id}" routerLinkActive="router-link-active" routerLink="/search/project">
|
||||||
{{project['funderShortname']?project['funderShortname']:project['funderName']}}
|
{{project['funderShortname']?project['funderShortname']:project['funderName']}}
|
||||||
| {{ project['acronym']?project['acronym']:project['title']}} ({{project.code}})
|
| {{ project['acronym']?project['acronym']:project['title']}} ({{project.code}})</a><p
|
||||||
</a>
|
|
||||||
<p *ngIf="project.id == undefined">
|
*ngIf="project.id == undefined">
|
||||||
{{project['funderShortname']?project['funderShortname']:project['funderName']}}
|
{{project['funderShortname']?project['funderShortname']:project['funderName']}}
|
||||||
| {{ project['acronym']?project['acronym']:project['title']}} ({{project.code}})
|
| {{ project['acronym']?project['acronym']:project['title']}} ({{project.code}})</p></span><span
|
||||||
</p>
|
|
||||||
<span *ngIf="i < result['projects'].length-1"> ,</span>
|
*ngIf="i < result['projects'].length-1">,</span>
|
||||||
</span>
|
</span>
|
||||||
<span *ngIf="result['projects'].length > 15">...</span>
|
<span *ngIf="result['projects'].length > 15">...</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -86,9 +90,9 @@ import {RouterHelper} from '../../utils/routerHelper.class';
|
||||||
<span *ngFor="let funder of result['funders'] let i=index">
|
<span *ngFor="let funder of result['funders'] let i=index">
|
||||||
|
|
||||||
<span *ngIf="funder.funderShortname">
|
<span *ngIf="funder.funderShortname">
|
||||||
{{funder.funderShortname}}
|
{{funder.funderShortname}}</span><span
|
||||||
</span>
|
|
||||||
<span *ngIf="i < result['funders'].length-1"> ,</span>
|
*ngIf="i < result['funders'].length-1">,</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<span *ngIf="result.startYear && result.endYear"> ({{result.startYear}} - {{result.endYear}})</span>
|
<span *ngIf="result.startYear && result.endYear"> ({{result.startYear}} - {{result.endYear}})</span>
|
||||||
|
@ -97,12 +101,12 @@ import {RouterHelper} from '../../utils/routerHelper.class';
|
||||||
<span *ngFor="let organization of result['organizations'] let i=index">
|
<span *ngFor="let organization of result['organizations'] let i=index">
|
||||||
<!--a *ngIf="organization.url != undefined" href="{{organization.url}}"-->
|
<!--a *ngIf="organization.url != undefined" href="{{organization.url}}"-->
|
||||||
<a *ngIf="organization.id != undefined" [queryParams]="{organizationId: organization.id}" routerLinkActive="router-link-active" routerLink="/search/organization">
|
<a *ngIf="organization.id != undefined" [queryParams]="{organizationId: organization.id}" routerLinkActive="router-link-active" routerLink="/search/organization">
|
||||||
{{organization.name}}
|
{{organization.name}}</a><span
|
||||||
</a>
|
|
||||||
<span *ngIf="organization.id == undefined">
|
*ngIf="organization.id == undefined">
|
||||||
{{organization.name}}
|
{{organization.name}}</span><span
|
||||||
</span>
|
|
||||||
<span *ngIf="i < result['organizations'].length-1"> ,</span>
|
*ngIf="i < result['organizations'].length-1">,</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,8 @@ export class DatasetInfo {
|
||||||
dateofacceptance: string;
|
dateofacceptance: string;
|
||||||
embargoEndDate: string;
|
embargoEndDate: string;
|
||||||
type: string;
|
type: string;
|
||||||
downloadFrom: Map<string, {"url": string[], "accessMode": string[]}>; //key is name
|
downloadFrom: Map<string, {"url": string[], "accessMode": string[], "bestAccessMode": string}>; //key is name
|
||||||
publishedIn: Map<string, {"url": string[], "accessMode": string[]}>; //key is name
|
publishedIn: Map<string, {"url": string[], "accessMode": string[], "bestAccessMode": string}>; //key is name
|
||||||
identifiers: Map<string, string[]>;
|
identifiers: Map<string, string[]>;
|
||||||
publisher: string;
|
publisher: string;
|
||||||
subjects: string[];
|
subjects: string[];
|
||||||
|
|
|
@ -7,8 +7,6 @@ export class PublicationInfo {
|
||||||
types: string[];
|
types: string[];
|
||||||
downloadFrom: Map<string, {"url": string[], "accessMode": string[], "bestAccessMode": string}>; //key is name
|
downloadFrom: Map<string, {"url": string[], "accessMode": string[], "bestAccessMode": string}>; //key is name
|
||||||
publishedIn: Map<string, {"url": string[], "accessMode": string[], "bestAccessMode": string}>; //key is name
|
publishedIn: Map<string, {"url": string[], "accessMode": string[], "bestAccessMode": string}>; //key is name
|
||||||
bioentities: Map<string, Map<string, string>>; //<site name, <>>
|
|
||||||
software: { "name": string, "url": string}[]; //<site name, <>>
|
|
||||||
identifiers: Map<string, string[]>; //key is the classname
|
identifiers: Map<string, string[]>; //key is the classname
|
||||||
publisher: string;
|
publisher: string;
|
||||||
journal: {"journal": string, "issn": string, "lissn": string};
|
journal: {"journal": string, "issn": string, "lissn": string};
|
||||||
|
@ -22,6 +20,8 @@ export class PublicationInfo {
|
||||||
fundedByProjects: { "id": string, "acronym": string, "title": string,
|
fundedByProjects: { "id": string, "acronym": string, "title": string,
|
||||||
"funderShortname": string, "funderName": string,
|
"funderShortname": string, "funderName": string,
|
||||||
"funding": string, "code": string, inline: boolean}[];
|
"funding": string, "code": string, inline: boolean}[];
|
||||||
|
bioentities: Map<string, Map<string, string>>; //<site name, <>>
|
||||||
|
software: { "name": string, "url": string}[]; //<site name, <>>
|
||||||
//relatedPublications: { "name": string, "url": string, "date": string, "trust": string}[];
|
//relatedPublications: { "name": string, "url": string, "date": string, "trust": string}[];
|
||||||
//relatedResearchData: { "name": string, "url": string, "date": string, "trust": string}[];
|
//relatedResearchData: { "name": string, "url": string, "date": string, "trust": string}[];
|
||||||
//similarPublications: {"name": string, "url": string, "date": string, "trust": string}[];
|
//similarPublications: {"name": string, "url": string, "date": string, "trust": string}[];
|
||||||
|
|
|
@ -127,6 +127,12 @@
|
||||||
margin-top:5px;
|
margin-top:5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.tooltip {
|
||||||
|
max-width: none;
|
||||||
|
background: rgba(100, 100, 100, 1);
|
||||||
|
}
|
||||||
|
|
||||||
.filterItem span {
|
.filterItem span {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue