[Aggregator |Trunk]

- use new search pages
- remove properties from route data
- add images from mocks
- put js and css files in angular.json and  styles.css




git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-aggregator-portal/trunk@59900 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
argiro.kokogiannaki 2020-11-18 17:01:52 +00:00
parent 09994c2876
commit 793a227199
78 changed files with 1352 additions and 1342 deletions

View File

@ -31,6 +31,9 @@
"node_modules/datatables.net-dt/css/jquery.dataTables.css" "node_modules/datatables.net-dt/css/jquery.dataTables.css"
], ],
"scripts": [ "scripts": [
"src/assets/common-assets/common/jquery.js",
"src/assets/common-assets/common/uikit.min.js",
"src/assets/common-assets/common/uikit-icons.min.js",
"node_modules/jquery/dist/jquery.js", "node_modules/jquery/dist/jquery.js",
"node_modules/datatables.net/js/jquery.dataTables.js" "node_modules/datatables.net/js/jquery.dataTables.js"
] ]
@ -80,6 +83,9 @@
"polyfills": "src/polyfills.ts", "polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.spec.json", "tsConfig": "src/tsconfig.spec.json",
"scripts": [ "scripts": [
"src/assets/common-assets/common/jquery.js",
"src/assets/common-assets/common/uikit.min.js",
"src/assets/common-assets/common/uikit-icons.min.js",
"node_modules/jquery/dist/jquery.js", "node_modules/jquery/dist/jquery.js",
"node_modules/datatables.net/js/jquery.dataTables.js" "node_modules/datatables.net/js/jquery.dataTables.js"
], ],

View File

@ -44,6 +44,7 @@
"datatables.net": "^1.10.19", "datatables.net": "^1.10.19",
"datatables.net-dt": "^1.10.19", "datatables.net-dt": "^1.10.19",
"jquery": "^3.4.1", "jquery": "^3.4.1",
"ng-recaptcha": "^3.0.5",
"ngx-json-ld": "0.1.6", "ngx-json-ld": "0.1.6",
"prom-client": "^11.3.0", "prom-client": "^11.3.0",
"ts-md5": "^1.2.0", "ts-md5": "^1.2.0",

View File

@ -1,131 +1,81 @@
import {NgModule} from '@angular/core'; import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router'; import {RouterModule, Routes} from '@angular/router';
import {EnvironmentSpecificResolver} from "../openaireLibrary/utils/properties/environmentSpecificResolver";
import {EnvironmentSpecificService} from "../openaireLibrary/utils/properties/environment-specific.service";
const routes: Routes = [ const routes: Routes = [
{path: '', loadChildren: '../home/home.module#HomeModule', resolve: {envSpecific: EnvironmentSpecificResolver}}, {path: '', loadChildren: '../home/home.module#HomeModule'},
{ path: 'search/result',
loadChildren: '../landingPages/result/libResult.module#LibResultModule'
},
{ {
path: 'search/publication', path: 'search/publication',
loadChildren: '../landingPages/publication/libPublication.module#LibPublicationModule', loadChildren: '../landingPages/publication/libPublication.module#LibPublicationModule'
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ {
path: 'search/dataset', path: 'search/dataset',
loadChildren: '../landingPages/dataset/libDataset.module#LibDatasetModule', loadChildren: '../landingPages/dataset/libDataset.module#LibDatasetModule'
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ {
path: 'search/software', path: 'search/software',
loadChildren: '../landingPages/software/libSoftware.module#LibSoftwareModule', loadChildren: '../landingPages/software/libSoftware.module#LibSoftwareModule'
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ {
path: 'search/other', path: 'search/other',
loadChildren: '../landingPages/orp/libOrp.module#LibOrpModule', loadChildren: '../landingPages/orp/libOrp.module#LibOrpModule'
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ {
path: 'search/project', path: 'search/project',
loadChildren: '../landingPages/project/libProject.module#LibProjectModule', loadChildren: '../landingPages/project/libProject.module#LibProjectModule'
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ {
path: 'search/dataprovider', path: 'search/dataprovider',
loadChildren: '../landingPages/dataProvider/libDataProvider.module#LibDataProviderModule', loadChildren: '../landingPages/dataProvider/libDataProvider.module#LibDataProviderModule'
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ {
path: 'search/organization', path: 'search/organization',
loadChildren: '../landingPages/organization/libOrganization.module#LibOrganizationModule', loadChildren: '../landingPages/organization/libOrganization.module#LibOrganizationModule'
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ {
path: 'search/find', path: 'search/find',
loadChildren: '../searchPages/find/libSearch.module#LibMainSearchModule', loadChildren: '../searchPages/find/libSearch.module#LibMainSearchModule'
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ { path: 'search/find/research-outcomes', loadChildren: '../searchPages/simple/searchResearchResults.module#OpenaireSearchResearchResultsModule'
path: 'search/find/publications',
loadChildren: '../searchPages/simple/searchPublications.module#LibSearchPublicationsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
},
{
path: 'search/find/datasets',
loadChildren: '../searchPages/simple/searchDatasets.module#LibSearchDatasetsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
},
{
path: 'search/find/software',
loadChildren: '../searchPages/simple/searchSoftware.module#LibSearchSoftwareModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
},
{
path: 'search/find/other',
loadChildren: '../searchPages/simple/searchOrps.module#LibSearchOrpsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ {
path: 'search/find/projects', path: 'search/find/projects',
loadChildren: '../searchPages/simple/searchProjects.module#LibSearchProjectsModule', loadChildren: '../searchPages/simple/searchProjects.module#LibSearchProjectsModule'
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ {
path: 'search/find/dataproviders', path: 'search/find/dataproviders',
loadChildren: '../searchPages/simple/searchDataProviders.module#LibSearchDataProvidersModule', loadChildren: '../searchPages/simple/searchDataProviders.module#LibSearchDataProvidersModule'
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ {
path: 'search/find/organizations', path: 'search/find/organizations',
loadChildren: '../searchPages/simple/searchOrganizations.module#LibSearchOrganizationsModule', loadChildren: '../searchPages/simple/searchOrganizations.module#LibSearchOrganizationsModule'
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ { path: 'search/advanced/research-outcomes',
path: 'search/advanced/publications', loadChildren: '../searchPages/advanced/searchResearchResults.module#OpenaireAdvancedSearchResearchResultsModule'
loadChildren: '../searchPages/advanced/advancedSearchPublications.module#LibAdvancedSearchPublicationsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
},
{
path: 'search/advanced/datasets',
loadChildren: '../searchPages/advanced/advancedSearchDatasets.module#LibAdvancedSearchDatasetsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
},
{
path: 'search/advanced/software',
loadChildren: '../searchPages/advanced/advancedSearchSoftware.module#LibAdvancedSearchSoftwareModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
},
{
path: 'search/advanced/other',
loadChildren: '../searchPages/advanced/advancedSearchOrps.module#LibAdvancedSearchOrpsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ {
path: 'search/advanced/organizations', path: 'search/advanced/organizations',
loadChildren: '../searchPages/advanced/advancedSearchOrganizations.module#LibAdvancedSearchOrganizationsModule', loadChildren: '../searchPages/advanced/advancedSearchOrganizations.module#LibAdvancedSearchOrganizationsModule'
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ {
path: 'search/advanced/dataproviders', path: 'search/advanced/dataproviders',
loadChildren: '../searchPages/advanced/advancedSearchDataProviders.module#LibAdvancedSearchDataProvidersModule', loadChildren: '../searchPages/advanced/advancedSearchDataProviders.module#LibAdvancedSearchDataProvidersModule'
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ {
path: 'search/advanced/projects', path: 'search/advanced/projects',
loadChildren: '../searchPages/advanced/advancedSearchProjects.module#LibAdvancedSearchProjectsModule', loadChildren: '../searchPages/advanced/advancedSearchProjects.module#LibAdvancedSearchProjectsModule'
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
{ {
path: 'project-report', path: 'project-report',
loadChildren: '../landingPages/htmlProjectReport/libHtmlProjectReport.module#LibHtmlProjectReportModule', loadChildren: '../landingPages/htmlProjectReport/libHtmlProjectReport.module#LibHtmlProjectReportModule'
resolve: {envSpecific: EnvironmentSpecificResolver}
}, },
]; ];
@NgModule({ @NgModule({
imports: [RouterModule.forChild(routes)], imports: [RouterModule.forChild(routes)],
exports: [RouterModule], exports: [RouterModule],
providers: [EnvironmentSpecificResolver, EnvironmentSpecificService]
}) })
export class AggregatorRoutingModule { export class AggregatorRoutingModule {
} }

View File

@ -8,10 +8,10 @@ import { EnvironmentSpecificService} from './openaireLibrary/utils/properties/en
import { OpenaireErrorPageComponent } from './error/errorPage.component'; import { OpenaireErrorPageComponent } from './error/errorPage.component';
const routes: Routes = [ const routes: Routes = [
{ path: '', loadChildren: './aggregator/aggregator.module#AggregatorModule', resolve: { envSpecific: EnvironmentSpecificResolver }}, { path: '', loadChildren: './aggregator/aggregator.module#AggregatorModule'},
{ path: ':id', loadChildren: './aggregator/aggregator.module#AggregatorModule', resolve: { envSpecific: EnvironmentSpecificResolver }}, { path: ':id', loadChildren: './aggregator/aggregator.module#AggregatorModule'},
{ path: 'error', component: OpenaireErrorPageComponent, resolve: { envSpecific: EnvironmentSpecificResolver }}, { path: 'error', component: OpenaireErrorPageComponent},
{ path: '**',pathMatch: 'full',component: OpenaireErrorPageComponent, resolve: { envSpecific: EnvironmentSpecificResolver }} { path: '**',pathMatch: 'full',component: OpenaireErrorPageComponent}
]; ];
@NgModule({ @NgModule({

View File

@ -8,6 +8,8 @@ import {HelperFunctions} from "./openaireLibrary/utils/HelperFunctions.class";
import {FilterInfo, PortalAggregators} from "./utils/aggregators"; import {FilterInfo, PortalAggregators} from "./utils/aggregators";
import {UserManagementService} from "./openaireLibrary/services/user-management.service"; import {UserManagementService} from "./openaireLibrary/services/user-management.service";
import {User} from "./openaireLibrary/login/utils/helper.class"; import {User} from "./openaireLibrary/login/utils/helper.class";
import {Header} from "./openaireLibrary/sharedComponents/navigationBar.component";
import {portalProperties} from "../environments/environment-aggregator";
@Component({ @Component({
//changeDetection: ChangeDetectionStrategy.Default, //changeDetection: ChangeDetectionStrategy.Default,
@ -17,9 +19,9 @@ import {User} from "./openaireLibrary/login/utils/helper.class";
`], `],
template: ` template: `
<navbar *ngIf="properties && loginCheck" portal="aggregator" [properties]=properties [onlyTop]=false [user]="user" <navbar *ngIf="properties && loginCheck && header" portal="aggregator" [properties]=properties [onlyTop]=false [user]="user"
[communityId]="properties.adminToolsCommunity" [menuItems]=menuItems [communityId]="properties.adminToolsCommunity" [menuItems]=menuItems
[userMenu]="false" [community]="community" [showCommunityName]="true"></navbar> [userMenu]="true" [header]="header"></navbar>
<div class="custom-main-content"> <div class="custom-main-content">
<main> <main>
<router-outlet></router-outlet> <router-outlet></router-outlet>
@ -46,10 +48,7 @@ export class AppComponent {
{rootItem: new MenuItem("home", "Home", "", "/", false, [], null, {}), items: []}, {rootItem: new MenuItem("home", "Home", "", "/", false, [], null, {}), items: []},
{ {
rootItem: new MenuItem("search", "Search", "", "/search/find", false, [], null, {}), rootItem: new MenuItem("search", "Search", "", "/search/find", false, [], null, {}),
items: [new MenuItem("", "Publications", "", "/search/find/publications", false, [], [], {}), items: [new MenuItem("", "Research outcomes", "", "/search/find/research-outcomes", false, [], [], {}),
new MenuItem("", "Research Data", "", "/search/find/datasets", false, [], [], {}),
new MenuItem("", "Software", "", "/search/find/software", false, [], [], {}),
new MenuItem("", "Other Research Products", "", "/search/find/other", false, [], [], {}),
new MenuItem("", "Projects", "", "/search/find/projects/", false, [], [], {}), new MenuItem("", "Projects", "", "/search/find/projects/", false, [], [], {}),
new MenuItem("", "Content Providers", "", "/search/find/dataproviders", false, [], [], {}), new MenuItem("", "Content Providers", "", "/search/find/dataproviders", false, [], [], {}),
new MenuItem("", "Organizations", "", "/search/find/organizations/", false, [], [], {}) new MenuItem("", "Organizations", "", "/search/find/organizations/", false, [], [], {})
@ -63,7 +62,8 @@ export class AppComponent {
properties: EnvProperties; properties: EnvProperties;
user: User; user: User;
loginCheck: boolean = false; loginCheck: boolean = false;
footer=portalProperties.sectionFooter;
header:Header;
constructor(private route: ActivatedRoute, private propertiesService: EnvironmentSpecificService, constructor(private route: ActivatedRoute, private propertiesService: EnvironmentSpecificService,
private router: Router, private userManagementService: UserManagementService) { private router: Router, private userManagementService: UserManagementService) {
@ -81,7 +81,16 @@ export class AppComponent {
this.id = params['id']; this.id = params['id'];
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(this.id); let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(this.id);
if (agg) { if (agg) {
this.community = {id: agg.menuId, name: agg.title, logoUrl: agg.logoUrl}; this.header = {
route: '/',
url: null,
title: agg.title,
logoUrl: agg.logoUrl,
logoSmallUrl: agg.logoUrl,
position: 'left',
badge: true
};
} }
if (this.id) { if (this.id) {
this.buildMenu(); this.buildMenu();
@ -101,16 +110,29 @@ export class AppComponent {
{rootItem: new MenuItem("home", "Home", "", "/" + this.id, false, [], null, {}), items: []}, {rootItem: new MenuItem("home", "Home", "", "/" + this.id, false, [], null, {}), items: []},
{ {
rootItem: new MenuItem("search", "Search", "", "/" + this.id + "/search/find", false, [], null, {}), rootItem: new MenuItem("search", "Search", "", "/" + this.id + "/search/find", false, [], null, {}),
items: [new MenuItem("", "Publications", "", "/" + this.id + "/search/find/publications", false, [], [], {}), items: []
new MenuItem("", "Research Data", "", "/" + this.id + "/search/find/datasets", false, [], [], {}),
new MenuItem("", "Software", "", "/" + this.id + "/search/find/software", false, [], [], {}),
new MenuItem("", "Other Research Products", "", "/" + this.id + "/search/find/other", false, [], [], {}),
new MenuItem("", "Projects", "", "/" + this.id + "/search/find/projects/", false, [], [], {}),
new MenuItem("", "Content Providers", "", "/" + this.id + "/search/find/dataproviders", false, [], [], {}),
new MenuItem("", "Organizations", "", "/" + this.id + "/search/find/organizations/", false, [], [], {})
]
} }
]; ];
if((portalProperties.entities.publication.isEnabled && portalProperties.entities.publication.simpleSearchPage) ||
(portalProperties.entities.dataset.isEnabled && portalProperties.entities.dataset.simpleSearchPage) ||
(portalProperties.entities.software.isEnabled && portalProperties.entities.software.simpleSearchPage) ||
portalProperties.entities.other.isEnabled && portalProperties.entities.other.simpleSearchPage){
this.menuItems[1].items.push(new MenuItem("", "Research outcomes", "", "/" + this.id + "/search/find/research-outcomes", false, [], [], {}))
}
if(portalProperties.entities.project.isEnabled && portalProperties.entities.project.simpleSearchPage){
this.menuItems[1].items.push(new MenuItem("", "Projects", "", "/" + this.id + "/search/find/projects/", false, [], [], {}))
}
if(portalProperties.entities.datasource.isEnabled && portalProperties.entities.datasource.simpleSearchPage){
this.menuItems[1].items.push(new MenuItem("", "Content Providers", "", "/" + this.id + "/search/find/dataproviders", false, [], [], {}))
}
if(portalProperties.entities.organization.isEnabled && portalProperties.entities.organization.simpleSearchPage){
this.menuItems[1].items.push(new MenuItem("", "Organizations", "", "/" + this.id + "/search/find/organizations/", false, [], [], {}))
}
} }
ngOnInit() { ngOnInit() {
@ -126,7 +148,7 @@ export class AppComponent {
.then(es => { .then(es => {
this.propertiesService.setEnvProperties(es); this.propertiesService.setEnvProperties(es);
this.properties = this.propertiesService.envSpecific; this.properties = this.propertiesService.envSpecific;
this.userManagementService.getUserInfo(this.properties.userInfoUrl).subscribe(user => { this.userManagementService.getUserInfo().subscribe(user => {
this.user = user; this.user = user;
this.loginCheck = true; this.loginCheck = true;
}); });

View File

@ -1,6 +1,5 @@
import { Component, Input } from '@angular/core'; import { Component } from '@angular/core';
import { Location } from '@angular/common';
@Component({ @Component({
selector: 'openaire-error', selector: 'openaire-error',
template: ` template: `

View File

@ -2,12 +2,11 @@ import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router'; import { RouterModule } from '@angular/router';
import{HomeComponent} from './home.component'; import{HomeComponent} from './home.component';
import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({ @NgModule({
imports: [ imports: [
RouterModule.forChild([ RouterModule.forChild([
{ path: '', component: HomeComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] } { path: '', component: HomeComponent,canDeactivate: [PreviousRouteRecorder] }
]) ])
] ]

View File

@ -1,366 +1,354 @@
<!--<aggNavbar></aggNavbar>-->
<div class="image-front-topbar uk-section-secondary uk-section-overlap uk-position-relative uk-preserve-color" <div class="image-front-topbar mainPageSearchForm uk-background-norepeat uk-background-cover uk-background-fixed">
uk-scrollspy="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-fade&quot;,&quot;delay&quot;:false}" <div class="uk-position-relative uk-panel">
tm-header-transparent="light" tm-header-transparent-placeholder=""> <div class="uk-container">
<div style=" min-height: calc(7.89999px + 60vh);" <div class="tm-header-placeholder" style="height: 84px;"></div>
class=" mainPageSearchForm uk-background-norepeat uk-background-cover uk-background-fixed uk-section uk-padding-remove-bottom"> <div class="search_box_bg uk-grid-large uk-flex-middle uk-grid uk-grid-stack" uk-grid="">
<!-- uk-height-viewport="offset-top: true;offset-bottom: 20"> --> <div class="uk-width-1-1@m uk-first-column">
<div class="uk-position-cover" style="/*background-color: rgba(70, 68, 68, 0.24);*/"></div> <div data-id="page#4">
<div class="uk-position-relative uk-panel"> <form class="uk-margin">
<div class="uk-container uk-margin-medium"> <div class="uk-grid uk-margin-small-left">
<div class="tm-header-placeholder uk-margin-medium" style="height: 84px;"></div> <div class="uk-margin-small-top uk-padding-remove-left">
<div class="search_box_bg uk-grid-large uk-flex-middle uk-grid uk-grid-stack" uk-grid=""> <entities-selection [simpleView]="true" currentEntity="all" [selectedEntity]="selectedEntity"
<div class="uk-width-1-1@m uk-first-column"> [properties]="properties" [onChangeNavigate]="false"
<div data-id="page#4"> (selectionChange)="entityChanged($event)"
<search-form placeholderText="Search for scholarly works" link="/search/find"></search-form> ></entities-selection>
</div> </div>
</div> <div class=" uk-padding-remove-left uk-margin-small-top">
</div> <div class="uk-inline">
</div> <a *ngIf="keyword.length > 0" class="uk-form-icon uk-form-icon-flip" (click)="keyword = ''"
<div class="uk-container uk-container-large uk-margin-medium explore-numbers"> uk-icon="icon: close"></a>
<div class="search_box_bg uk-grid uk-grid-stack" uk-grid=""> <input type="text" class="uk-input uk-width-xlarge@l uk-width-large@m uk-width-medium"
<div class="uk-width-1-1@m uk-first-column"> placeholder="Search in OpenAIRE for scholarly works"
<div id="page#7" [(ngModel)]="keyword"
class="firstPageNumbers uk-margin uk-margin-remove-bottom uk-width-xlarge uk-margin-auto uk-animation-fade" name="keyword">
uk-scrollspy-class="" style=""> </div>
<!--<h2> <div class=" quickSelectionsBox uk-width-xlarge@l uk-width-large@m uk-width-medium">
Search for more than <quick-selections *ngIf="selectedEntity == 'result'" [resultTypes]="resultTypes"
<span *ngIf="showPublications && publicationsSize">{{publicationsSize.number|number}} [quickFilter]="resultsQuickFilter"
{{publicationsSize.size}} publications{{((showDatasets || showSoftware || showOrp) ? "," : "")}} </span> [properties]="properties">
<span *ngIf="showDatasets && datasetsSize">{{datasetsSize.number|number}} </quick-selections>
{{datasetsSize.size}} research data{{((showSoftware || showOrp) ? "," : "")}} </span> </div>
<span *ngIf="showSoftware && softwareSize">{{softwareSize.number|number}} </div>
{{softwareSize.size}} software{{(showOrp ? "," : "")}} </span> <div class="uk-padding-remove-left uk-margin-small-top">
<span *ngIf="showOrp && otherSize">{{otherSize.number|number}}
{{otherSize.size}} other research products </span>
<br>
<span *ngIf="showOrganizations && organizationsSize"> from {{organizationsSize.number |number}}
{{organizationsSize.size}} organizations</span>
<span
*ngIf="showDataProviders && datasourcesSize"> from {{datasourcesSize.number |number}} {{datasourcesSize.size}} content providers</span>
<span
*ngIf="showProjects && fundersSize"> {{((showDataProviders && datasourcesSize) ? " and " : " from ")}} {{fundersSize.number|number}} {{fundersSize.size}} funders</span>
</h2>-->
<div class="uk-margin-bottom">
<span class="uk-text-large"> Search for more than </span>
<span *ngIf="showPublications && publicationsSize">
<span class="uk-h2">{{publicationsSize.number|number}}{{publicationsSize.size}}</span>
<span class="uk-text-large"> {{((showDatasets || showSoftware || showOrp) ? " publications, "
: " publications ")}}</span>
</span>
<span *ngIf="showDatasets && datasetsSize">
<span class="uk-h2">{{datasetsSize.number|number}}{{datasetsSize.size}}</span>
<span
class="uk-text-large">{{((showSoftware || showOrp) ? " research data, " : " research data ")}}</span>
</span>
<span *ngIf="showOrp && otherSize">
<span class="uk-h2">{{otherSize.number|number}}{{otherSize.size}}</span>
<span
class="uk-text-large"> {{((showSoftware) ? " other research products, " : " other research products ")}}</span>
</span>
<span *ngIf="showSoftware && softwareSize">
<span class="uk-h2">{{softwareSize.number|number}}{{softwareSize.size}}</span>
<span class="uk-text-large"> software </span>
</span>
<br>
<span *ngIf="showOrganizations && organizationsSize">
<span class="uk-text-large"> from </span>
<span class="uk-h2">{{organizationsSize.number|number}}{{organizationsSize.size}}</span>
<span class="uk-text-large"> organizations </span>
</span>
<span *ngIf="showDataProviders && datasourcesSize">
<span class="uk-text-large"> {{((showOrganizations && showOrganizations) ? " and " : " from ")}} </span>
<span class="uk-h2">{{datasourcesSize.number|number}}{{datasourcesSize.size}}</span>
<span class="uk-text-large"> content providers </span>
</span>
<span *ngIf="showProjects && fundersSize">
<span class="uk-text-large"> {{((showDataProviders && datasourcesSize) ? " and " : " from ")}} </span>
<span class="uk-h2">{{fundersSize.number|number}}{{fundersSize.size}} </span>
<span class="uk-text-large"> funders </span>
</span>
<span *ngIf="showPublications || showDatasets || showOrp || showSoftware || showProjects ||
showDataProviders"
class="uk-text-large"> linked together for an integrated discovery of scientific output </span>
<button (click)="goTo(true)" type="submit"
class="uk-button portal-button uk-text-bold uk-padding uk-padding-remove-vertical uk-margin-small-left">
Search
</button>
<div class="uk-margin-small-top uk-margin-left">
<!-- (click)="goTo(false)"-->
<a *ngIf="selectedEntity!='all'" (click)="goTo(false)" class="portal-link">Advanced Search</a>
<a *ngIf="selectedEntity=='all'" class="portal-link ">Advanced Search</a></div>
<div *ngIf="selectedEntity=='all'" uk-dropdown class="uk-dropdown default-dropdown">
<ul class="uk-list uk-margin-remove-bottom">
<li *ngIf="showSoftware || showPublications || showOrp || showDatasets"><a
[routerLink]="properties.searchLinkToAdvancedResults"
[queryParams]="{qf:true, q: keyword, op: 'and'}"
>Research
outcomes</a></li>
<li *ngIf="showProjects"><a
[routerLink]="properties.searchLinkToAdvancedProjects"
[queryParams]="{q: keyword, op: 'and'}">
Projects</a></li>
<li *ngIf="showDataProviders"><a
[routerLink]="properties.searchLinkToAdvancedDataProviders"
[queryParams]="{q: keyword, op: 'and'}">
Content providers</a></li>
<li *ngIf="showOrganizations"><a
[routerLink]="properties.searchLinkToAdvancedOrganizations"
[queryParams]="{q: keyword, op: 'and'}">
Organizations</a></li>
</ul>
</div>
</div>
</div> </div>
</div> </form>
</div> </div>
</div> </div>
</div> </div>
</div>
<!-- <div class="uk-margin-medium">-->
<!-- <div class="uk-container uk-container-large explore-numbers uk-margin-medium-bottom">-->
<!-- <div class="search_box_bg uk-grid uk-grid-stack" uk-grid="">-->
<!-- <div class="uk-width-1-1@m uk-first-column">-->
<!-- <div class="uk-grid uk-margin uk-margin-bottom uk-width-xxlarge uk-margin-auto">-->
<!-- <div class="uk-width-expand uk-padding-remove">-->
<!-- <div uk-slider="autoplay: true; autoplay-interval: 2500" class="uk-margin-top">-->
<!-- <div class="uk-position-relative">-->
<!-- <div class="uk-slider-container">-->
<!-- <ul class="uk-slider-items" uk-height-match="target: > li > div > div > .logo1; row: false;">-->
<!-- <ng-container *ngFor="let type of ['publication','dataset', 'software']">-->
<!-- <li-->
<!-- class="uk-width-1-1 home-logo">-->
<!-- <h1 class="uk-text-center uk-margin-bottom portal-color uk-h3">-->
<!-- <span *ngIf="type=='publication' && showPublications && publicationsSize">-->
<!-- <span class="uk-text-bold">{{publicationsSize.number|number}}{{publicationsSize.size}}-->
<!-- publications</span><span> deduplicated</span>-->
<!-- </span>-->
<!-- <span *ngIf="type=='dataset' && showDatasets && (datasetsLinkedSize ||datasetsSize)">-->
<!-- <span *ngIf="datasetsLinkedSize">-->
<!-- <span-->
<!-- class="uk-text-bold">{{datasetsLinkedSize.number|number}}{{datasetsLinkedSize.size}}-->
<!-- datasets</span> interlinked with publications</span>-->
<!-- <span *ngIf="datasetsSize && !datasetsLinkedSize"-->
<!-- class="uk-text-bold">{{datasetsSize.number|number}}{{datasetsSize.size}}-->
<!-- research data</span>-->
<!-- </span>-->
<!-- <span *ngIf="type=='software' && showSoftware && (softwareSize ||softwareLinkedSize)">-->
<!-- <span *ngIf="softwareLinkedSize">-->
<!-- <span class="uk-text-bold-->
<!-- ">{{softwareLinkedSize.number|number}}{{softwareLinkedSize.size}} research-->
<!-- software</span> interlinked with publications</span>-->
<!-- <span *ngIf="softwareSize && !softwareLinkedSize"-->
<!-- class="uk-text-bold">{{softwareSize.number|number}}{{softwareSize.size}}-->
<!-- research software</span>-->
<!-- </span>-->
<!-- <span *ngIf="type=='persistent'">-->
<!-- <span>Persistent identifiers and registries</span>-->
<!-- </span>-->
<!-- <span *ngIf="type=='funder' && showProjects && fundersSize">-->
<!-- <span class="uk-text-bold">{{fundersSize.number|number}}{{fundersSize.size}}-->
<!-- funders</span><span> and</span>-->
<!-- <span class="uk-text-bold"> {{projectsSize.number|number}}{{projectsSize.size}} funded grants</span>-->
<!-- </span>-->
<!-- </h1>-->
<!-- <div-->
<!-- class="uk-grid-small uk-child-width-1-6 uk-text-center grid uk-flex uk-flex-center"-->
<!-- uk-grid uk-height-match="target: > div > .logo2; row: false;">-->
<!-- &lt;!&ndash;<div-->
<!-- *ngFor="let logo of logos[type][j].slice(0,ceil(logos[type][j].length/2)); let i=index">-->
<!-- <ng-container-->
<!-- *ngTemplateOutlet="_logos; context: { logo: logo, class: 'logo1 '}"></ng-container>-->
<!-- <ng-container-->
<!-- *ngTemplateOutlet="_logos; context: { logo: logos[type][j][ceil(logos[type][j].length/2)+i], class: 'uk-margin-top logo2 '}"></ng-container>-->
<!-- </div>&ndash;&gt;-->
<!-- </div>-->
<!-- </li>-->
<!-- </ng-container>-->
<!-- </ul>-->
<!-- </div>-->
<!-- <div class="uk-hidden@s">-->
<!-- <a class="uk-position-center-left uk-position-small" href="#" uk-slidenav-previous-->
<!-- uk-slider-item="previous"></a>-->
<!-- <a class="uk-position-center-right uk-position-small" href="#" uk-slidenav-next-->
<!-- uk-slider-item="next"></a>-->
<!-- </div>-->
<!-- <div class="uk-visible@s">-->
<!-- <a class="uk-position-center-left-out uk-position-small" href="#" uk-slidenav-previous-->
<!-- uk-slider-item="previous"></a>-->
<!-- <a class="uk-position-center-right-out uk-position-small" href="#" uk-slidenav-next-->
<!-- uk-slider-item="next"></a>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- <helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"-->
<!-- [texts]="pageContents['top']"></helper>-->
<!-- </div>-->
</div>
</div>
<div
class="uk-section graph-background uk-margin-top">
<div class="uk-container">
<div class="uk-flex uk-flex-top uk-child-width-1-1 uk-child-width-1-2@m" uk-grid>
<div class="uk-flex-last@m">
<div [class.lines-10]="!readMore" class="uk-margin-bottom multi-line-ellipsis">
<div class="uk-h3">Extracted <strong>Metadata Combined.</strong></div>
<p>The <a class="graph-color" href="https://graph.openaire.eu" target="blank">OpenAIRE Research Graph</a> is one of the largest open scholarly record collections worldwide, key in fostering Open Science and establishing its practices in the daily research activities. Conceived as a public and transparent good, populated out of data sources trusted by scientists, the Graph aims at bringing discovery, monitoring, and assessment of science back in the hands of the scientific community.<br>
<br>
Imagine a vast collection of research products all linked together, contextualised and openly available. For the past ten years OpenAIRE has been working to gather this valuable record. OpenAIRE is pleased to announce the release of its Research Graph, a massive collection of metadata and links between scientific products such as articles, datasets, software, and other research products, entities like organisations, funders, funding streams, projects, communities, and data sources.<br>
<br>
As of today, the OpenAIRE Research Graph aggregates around 450Mi metadata records with links collecting from 10,000 data sources trusted by scientists! After cleaning, deduplication, and fine-grained classification processes, they narrow down to ~100Mi publications, ~8Mi datasets, ~200K software research products, 8Mi other products linked together with semantic relations.<br>
<br>
More than 10Mi full-texts of Open Access publications are mined by algorithms to enrich metadata records with additional properties and links among research products, funders, projects, communities, and organizations. Thanks to the mining algorithm, the graph is completed with 480Mi semantic relations.</p>
</div>
<div *ngIf="!readMore" class="uk-text-center clickable" (click)="readMore = true">
<span>Read more<span class="space" uk-icon="chevron-down"></span></span>
</div>
<div *ngIf="readMore" class="uk-text-center clickable" (click)="readMore = false">
<span>Read less<span class="space" uk-icon="chevron-up"></span></span>
</div>
</div>
<div class="uk-flex uk-flex-bottom">
<div class="uk-width-1-3 uk-width-1-2@m">
<img src="assets/graph.svg">
</div>
<div class="uk-padding uk-width-1-2">
<img src="assets/common-assets/logo-large-graph.png">
</div>
</div>
</div>
</div>
</div>
<!--<div *ngIf="pageContents && pageContents['right'] && pageContents['right'].length > 0"-->
<!-- class="graph-background-bottom uk-section uk-padding-remove-vertical uk-background-cover"></div>-->
<!--<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"-->
<!-- [texts]="pageContents['bottom']"></helper>-->
<div class="uk-section" style="background: linear-gradient(180deg, #FAFAFA 50%, #FFFFFF 50%);">
<div class="uk-container uk-container-small">
<div class="uk-grid-margin uk-grid uk-grid-stack" uk-grid="">
<div class="uk-width-1-1@m uk-first-column">
<div class="uk-margin uk-text-center uk-child-width-1-1 uk-grid-match uk-child-width-1-1@s uk-child-width-1-2@m uk-child-width-1-2@l uk-grid" id="page#8" uk-grid="" uk-height-match="target: .target">
<div class="uk-first-column">
<div class="el-item uk-card uk-card-default uk-card-medium uk-card-body">
<div class="uk-text-center target"><img alt="Share" class="uk-width-1-3@m uk-width-small" src="assets/share.svg"></div>
<div class="el-content uk-margin uk-text-large"><span class="uk-text-bold">Deposit</span> your research</div>
<div class="uk-margin-small-top uk-text-left card-text uk-flex uk-flex-center">
<div class="uk-margin-left uk-margin-right">Deposit in a repository of your choice.<br>
Select an OpenAIRE compatible<br>
repository (2.0 +) so that your research is linked to your funding information. Use Zenodo, a catch-all repository hosted by CERN to deposit all your research results (publications, data, software, etc.)</div>
</div>
<a class="uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-small-left ng-star-inserted uk-margin uk-margin-bottom uk-width-1-2" href="/participate/deposit/learn-how" type="submit">Deposit </a></div>
</div>
<div>
<div class="el-item uk-card uk-card-default uk-card-medium uk-card-body">
<div class="uk-text-center target"><img alt="Share" class="uk-width-1-3@m uk-width-small" src="assets/link.svg"></div>
<div class="el-content uk-margin uk-text-large"><span class="uk-text-bold">Link</span> your work</div>
<div class="uk-margin-small-top uk-text-left card-text uk-flex uk-flex-center">
<div class="uk-margin-left uk-margin-right">Connect all your research.<br>
If you can't find your research results in OpenAIRE, don't worry! Use our Link Out service , that reaches out to many<br>
external sources via APIs, to connect<br>
your research results and claim them to your project.</div>
</div>
<a class="uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-small-left ng-star-inserted uk-margin uk-margin-bottom uk-width-1-2" href="/participate/claim" type="submit">Link </a></div>
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
<schema2jsonld [URL]="properties.baseLink" [logoURL]= <div class="uk-section-default uk-section uk-padding-remove-bottom">
"properties.baseLink+'/assets/common-assets/logo-small-aggregator.png'" type="home" <div class="uk-container uk-text-center uk-margin-medium-bottom">
name="OpenAIRE Explore"></schema2jsonld> <div class="uk-margin-medium uk-flex-center">
<div class="uk-first-column">
<div class="uk-panel">
<!--<div class=" uk-section uk-section-small"> <h3 class="uk-margin uk-text-center">
<div class="uk-container uk-container-small"> Our growing <span class="uk-text-bold">Community</span>
<div class="uk-grid-margin uk-grid uk-grid-stack" uk-grid=""> </h3>
<div class="uk-width-1-1@m uk-first-column"> <div class="uk-margin-medium-top">
<div id="page#8" class="uk-margin uk-text-center uk-child-width-1-1 uk-grid-match uk-child-width-1-1@s uk-child-width-1-3@m uk-child-width-1-3@l uk-grid-large uk-grid" uk-grid=""> <div class="uk-grid uk-child-width-1-3@m">
<div class="uk-first-column"> <p *ngIf="showProjects && fundersSize">
<div class="el-item uk-card uk-card-hover uk-card-small uk-card-body"> <span class="portal-color emphasis">
<a routerLinkActive="uk-link" routerLink="/search/find" class="el-link uk-position-cover uk-position-z-index uk-margin-remove-adjacent"></a> <span class="uk-text-bold"> {{fundersSize.number|number}}</span>
<img class="" width="80" height="80" src="assets/explore.svg" alt="Explore"> <span class="portal-color uk-h3">{{fundersSize.size}}</span>
<h3 class="el-title uk-margin uk-h3"> </span>
Explore <br>
</h3> <span class="uk-text-uppercase uk-text-large">Funders</span>
<div class="el-content uk-margin uk-text-lead">Discover linked open research</div> </p>
<div class=" uk-margin-small-top">Search for <p *ngIf="showDataProviders && datasourcesSize" class="">
publications, datasets, software and other research products. See how these <span class="portal-color emphasis">
are linked together and how they are linked to funding and <span class="uk-text-bold"> {{datasourcesSize.number|number}}</span>
organizations. <span class="portal-color uk-h3">{{datasourcesSize.size}}</span>
<br> </span>
View statistics on projects and institutions. <br>
</div> <span class="uk-text-uppercase uk-text-large">Content providers</span>
</div> </p>
</div> <p *ngIf="showProjects && projectsSize">
<span class="portal-color emphasis">
<div class=""> <span class="uk-text-bold"> {{projectsSize.number|number}}</span>
<div class="el-item uk-card uk-card-hover uk-card-small uk-card-body"> <span class="portal-color uk-h3">{{projectsSize.size}}</span>
<a routerLinkActive="uk-link" routerLink="/participate/deposit-publications" class="el-link uk-position-cover uk-position-z-index uk-margin-remove-adjacent"></a> </span>
<img class="" width="70" height="70" src="assets/share.svg" alt="Share"> <br>
<span class="uk-text-uppercase uk-text-large">Projects</span>
<h3 class="el-title uk-margin uk-h3"> </p>
Share
</h3>
<div class="el-content uk-margin uk-text-lead">Deposit in a repository of your choice </div>
<div class=" uk-margin-small-top">
Select an OpenAIRE compatible repository (2.0 +) so that your research is linked to your funding information.
<br>
Use <a href="http://www.zenodo.org/" target="_blank" rel="noopener">ZENODO</a>,
a catch-all repository hosted by CERN to deposit all your research results (publications, data, software, etc.)
</div>
</div>
</div>
<div class="">
<div class="el-item uk-card uk-card-hover uk-card-small uk-card-body">
<img class="" width="60" height="70" src="assets/link.svg" alt="Link">
<a routerLinkActive="uk-link" routerLink="/participate/claim" routerLink="/participate/claim" class="el-link uk-position-cover uk-position-z-index uk-margin-remove-adjacent"></a>
<h3 class="el-title uk-margin uk-h3">
Link
</h3>
<div class="el-content uk-margin uk-text-lead">Connect all your research</div>
<div class=" uk-margin-small-top">
If you can't find your research results in OpenAIRE, don't worry!
<br>
Use our <strong>LINK OUT service</strong>,
that reaches out to many external sources via APIs, to connect your research results and <em>claim</em> them to your project.
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>-->
<!--<div class="uk-section-muted uk-section uk-section-small">
<div class="uk-container uk-container-large">
<div class="uk-grid-margin uk-grid uk-grid-stack" uk-grid="">
<div class="uk-width-1-1@m uk-first-column">
<div class="uk-margin uk-child-width-1-1 uk-grid-match uk-child-width-1-1@s uk-child-width-1-2@m
uk-child-width-1-2@l uk-grid-large uk-grid uk-grid-divider ask-explore" uk-grid="">
<div class="uk-first-column uk-text-center">
<div class="el-item uk-card uk-card-small uk-card-body">
<img src="assets/ask-explore.svg" class="el-image" alt="" uk-svg="" hidden="true">
<h3 class="el-title uk-margin uk-h3">Have more questions?</h3>
</div>
</div>
<div class="questions">
<div class="el-item uk-card uk-card-small uk-card-body">
<ul class="uk-list uk-list-divider">
<li><a href="https://www.openaire.eu/os-primers">Learn about open science policies and how to align</a></li>
<li><a href="https://www.openaire.eu/rdm-handbook">Learn more on how to manage your data in the open science era</a></li>
<li><a href="https://www.openaire.eu/guides/">Find out how to use OpenAIRE to best serve your needs</a></li>
<li><a href="https://www.openaire.eu/webinars/">View our training material on a variety of related topics</a></li>
<li><a href="https://www.openaire.eu/contact-us/">Contact us</a></li>
</ul>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="uk-section-default uk-section"> <div class="uk-section-default uk-section numbers-background uk-padding-remove-top">
<div class="uk-container"> <div class="uk-container uk-margin-medium-top">
<div class="uk-grid-medium uk-margin-medium uk-grid" uk-grid=""> <div class="uk-grid uk-flex uk-flex-center">
<div class="uk-width-2-3@m uk-first-column"> <div class="uk-margin-large-right">
<div class="uk-margin-medium-top uk-panel"> <div *ngIf="showPublications && publicationsSize" class="uk-margin-medium-bottom">
<h3 class="el-title uk-margin uk-h3"> <p>
Our community <span class="emphasis">{{publicationsSize.count|number}} </span><br>
</h3> <span class="uk-icon uk-text-uppercase uk-float-left">
<hr class="uk-divider-small uk-text-left provide"> <svg height="20" ratio="1" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><rect
style="stroke: var(--portal-main-color);" fill="none" height="16" stroke="#000" width="12" x="3.5"
<div class="uk-grid uk-margin-medium-top"> y="2.5"></rect><polyline style="stroke: var(--portal-main-color);" fill="none"
points="5 0.5 17.5 0.5 17.5 17" stroke="#000"></polyline></svg>
<div class="uk-width-expand@m"> publications
&lt;!&ndash; <div class="uk-grid uk-child-width-1-2@m"> &ndash;&gt; </span>
<p *ngIf="showPublications && publicationsSize"> </p>
<span class="emphasis portal-color">{{publicationsSize.count|number}} </span><span class="uk-text-uppercase"> publications</span>
</p>
<p *ngIf="showDatasets && datasetsSize">
<span class="emphasis portal-color">{{datasetsSize.count|number}} </span><span class="uk-text-uppercase"> research data</span>
</p>
&lt;!&ndash; </div> &ndash;&gt;
</div>
</div>
<div class="uk-margin-top">
<div class="uk-grid uk-child-width-1-3@m">
<p *ngIf="showDataProviders && datasourcesSize" class="uk-margin-medium-bottom">
<span class=" emphasis "> {{datasourcesSize.number |number}} {{datasourcesSize.size}}</span><br>
<span class="uk-text-uppercase">content providers</span>
</p>
<p *ngIf="showProjects && fundersSize">
<span class=" emphasis ">{{fundersSize.number|number}} {{fundersSize.size}}</span><br>
<span class="uk-text-uppercase">Funders</span>
</p>
<p *ngIf="showProjects && projectsSize">
<span class=" emphasis ">{{projectsSize.count|number}} </span><br>
<span class="uk-text-uppercase">Projects</span>
</p>
</div>
&lt;!&ndash; <div class="uk-grid uk-child-width-1-2@m uk-margin-small-top">
<p *ngIf="showProjects && projectsSize">
<span class=" emphasis ">{{projectsSize.count|number}} </span><br>
<span class="uk-text-uppercase">Projects</span>
</p>
</div> &ndash;&gt;
</div>
</div>
</div>
<div class="uk-width-expand@m">
<div class="uk-card uk-card-body uk-card-explore">
<h3 class="uk-margin-remove-top uk-h3">
<span class="">Our data policies</span>
</h3>
<hr class="uk-divider-small uk-text-left">
<ul class="uk-margin-small uk-list uk-list-large uk-margin-medium-bottom">
<li class="el-item uk-margin-medium-bottom">
<h5 class="el-title uk-h5">Data acquisition</h5>
<div class="el-content">
<span>How we retrieve data, how often, what processes it goes through (aggregating cleaning, transforming, inferring, de-duplicating), what are the quality checks&nbsp;along all&nbsp; data processing stages.</span>
</div>
</li>
<li class="el-item">
<h5 class="el-title uk-h5">Data usage</h5>
<div class="el-content">
<span>Who is able to retrieve our data, what are the licences, what about specific SLAs.</span>
</div>
</li>
</ul>
<div class="uk-margin uk-margin-remove-bottom uk-text-left">
<h6 class="uk-h6">
<a class="el-content uk-link-text" href="https://www.openaire.eu/data-aquisition-policy" target="_blank">
Learn more
</a>
</h6>
</div>
</div>
</div>
</div>
</div>
</div>-->
<!--<div class="uk-section-muted" uk-scrollspy="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-fade&quot;,&quot;delay&quot;:false}">
<div class="uk-container uk-container-large">
<div uk-grid="" class="uk-grid uk-margin-large-top uk-margin-large-bottom">
<div class="uk-width-expand@m uk-width-1-2@s uk-dark uk-grid-item-match uk-first-column provide">
<div class="uk-margin uk-panel uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
<h4 class="el-title uk-margin uk-h4">
Content provider?
</h4>
<div class="el-content uk-margin">
Join OpenAIRE, use our tools and make your content more visible around the world.
</div>
<p>
<a target="_blank" [href]="'https://'+(properties.environment =='beta'?'beta.':'')+'provide.openaire.eu'" class="el-link uk-button uk-button-default">
OpenAIRE.PROVIDE
</a>
</p>
</div>
</div> </div>
<div class="uk-width-expand@m uk-width-1-2@s uk-dark uk-grid-item-match connect"> <div *ngIf="showSoftware && softwareSize" class="uk-margin-medium-bottom">
<div class="uk-margin uk-panel uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style=""> <p>
<h4 class="el-title uk-margin uk-h4"> <span class="emphasis">{{softwareSize.count|number}} </span><br>
Research community? <span class="uk-icon uk-text-uppercase uk-float-left">
</h4> <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="cog"><circle
<div class="el-content uk-margin"> style="stroke: var(--portal-main-color);" fill="none" stroke="#000" cx="9.997" cy="10"
Use a trusted partner to share, link, disseminate and monitor your research. r="3.31"></circle><path style="stroke: var(--portal-main-color);" fill="none" stroke="#000"
</div> d="M18.488,12.285 L16.205,16.237 C15.322,15.496 14.185,15.281 13.303,15.791 C12.428,16.289 12.047,17.373 12.246,18.5 L7.735,18.5 C7.938,17.374 7.553,16.299 6.684,15.791 C5.801,15.27 4.655,15.492 3.773,16.237 L1.5,12.285 C2.573,11.871 3.317,10.999 3.317,9.991 C3.305,8.98 2.573,8.121 1.5,7.716 L3.765,3.784 C4.645,4.516 5.794,4.738 6.687,4.232 C7.555,3.722 7.939,2.637 7.735,1.5 L12.263,1.5 C12.072,2.637 12.441,3.71 13.314,4.22 C14.206,4.73 15.343,4.516 16.225,3.794 L18.487,7.714 C17.404,8.117 16.661,8.988 16.67,10.009 C16.672,11.018 17.415,11.88 18.488,12.285 L18.488,12.285 Z"></path></svg>
<p> software
<a target="_blank" [href]="'https://'+(properties.environment =='beta'?'beta.':'')+'connect.openaire.eu'" class="el-link uk-button uk-button-default"> </span>
OpenAIRE.CONNECT </p>
</a>
</p>
</div>
</div> </div>
<div class="uk-width-expand@m uk-width-1-2@s uk-dark uk-grid-item-match monitor"> </div>
<div class="uk-margin uk-panel uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style=""> <div class="">
<h4 class="el-title uk-margin uk-h4"> <div *ngIf="showDatasets && datasetsSize" class="uk-margin-medium-bottom">
Research manager? <p>
</h4> <span class="emphasis">{{datasetsSize.count|number}} </span><br>
<div class="el-content uk-margin"> <span class="uk-icon uk-text-uppercase uk-float-left">
Use our monitoring services and easily track all relevant research results. <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="database"><ellipse
</div> style="stroke: var(--portal-main-color);" fill="none" stroke="#000" cx="10" cy="4.64" rx="7.5"
<p> ry="3.14"></ellipse><path style="stroke: var(--portal-main-color);" fill="none" stroke="#000"
<a target="_blank" [href]="'https://'+(properties.environment =='beta'?'beta.openaire.eu/monitor':'monitor.openaire.eu')" class="el-link uk-button uk-button-default"> d="M17.5,8.11 C17.5,9.85 14.14,11.25 10,11.25 C5.86,11.25 2.5,9.84 2.5,8.11"></path><path
OpenAIRE.MONITOR style="stroke: var(--portal-main-color);" fill="none" stroke="#000"
</a> d="M17.5,11.25 C17.5,12.99 14.14,14.39 10,14.39 C5.86,14.39 2.5,12.98 2.5,11.25"></path><path
</p> style="stroke: var(--portal-main-color);" fill="none" stroke="#000"
</div> d="M17.49,4.64 L17.5,14.36 C17.5,16.1 14.14,17.5 10,17.5 C5.86,17.5 2.5,16.09 2.5,14.36 L2.5,4.64"></path></svg>
research data
</span>
</p>
</div> </div>
<div class="uk-width-expand@m uk-width-1-2@s uk-dark uk-grid-item-match develop"> <div *ngIf="showOrp && otherSize" class="uk-margin-medium-bottom">
<div class="uk-margin uk-panel uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style=""> <p>
<h4 class="el-title uk-margin uk-h4"> <span class="emphasis">{{otherSize.count|number}} </span><br>
Developer? <span class="uk-icon uk-text-uppercase uk-float-left">
</h4> <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="world"><path
<div class="el-content uk-margin"> style="stroke: var(--portal-main-color);" fill="none" stroke="#000" d="M1,10.5 L19,10.5"></path><path
Get access to OpenAIRE data and capitalize on on Europe's open linked research style="stroke: var(--portal-main-color);" fill="none" stroke="#000" d="M2.35,15.5 L17.65,15.5"></path><path
</div> style="stroke: var(--portal-main-color);" fill="none" stroke="#000" d="M2.35,5.5 L17.523,5.5"></path><path
<p> style="stroke: var(--portal-main-color);" fill="none" stroke="#000"
<a target="_blank" href="https://develop.openaire.eu" class="el-link uk-button uk-button-default"> d="M10,19.46 L9.98,19.46 C7.31,17.33 5.61,14.141 5.61,10.58 C5.61,7.02 7.33,3.83 10,1.7 C10.01,1.7 9.99,1.7 10,1.7 L10,1.7 C12.67,3.83 14.4,7.02 14.4,10.58 C14.4,14.141 12.67,17.33 10,19.46 L10,19.46 L10,19.46 L10,19.46 Z"></path><circle
OpenAIRE.DEVELOP style="stroke: var(--portal-main-color);" fill="none" stroke="#000" cx="10" cy="10.5" r="9"></circle></svg>
</a> other research products
</p> </span>
</div> </p>
</div> </div>
</div> </div>
</div> </div>
</div>--> </div>
</div>
<!--<helper *ngIf="pageContents && pageContents['left'] && pageContents['left'].length > 0"-->
<!-- [texts]="pageContents['left']"></helper>-->
<!--<div class="uk-section-muted"-->
<!-- uk-scrollspy="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-fade&quot;,&quot;delay&quot;:false}">-->
<!-- <div class="uk-container uk-container-large">-->
<!-- <other-portals portal="explore" [properties]="properties"></other-portals>-->
<!-- </div>-->
<!--</div>-->

View File

@ -1,208 +1,230 @@
import {Component} from '@angular/core'; import {Component} from '@angular/core';
import {Subscription} from 'rxjs';
import {ActivatedRoute, Router} from '@angular/router'; import {ActivatedRoute, Router} from '@angular/router';
import {Location} from '@angular/common'; import {Location} from '@angular/common';
import "rxjs/add/observable/zip"; import "rxjs/add/observable/zip";
import {Meta, Title} from '@angular/platform-browser'; import {Title, Meta} from '@angular/platform-browser';
import {ConfigurationService} from '../openaireLibrary/utils/configuration/configuration.service'; import {ConfigurationService} from '../openaireLibrary/utils/configuration/configuration.service';
import {FetchDataproviders} from '../openaireLibrary/utils/fetchEntitiesClasses/fetchDataproviders.class'; import { SearchDataprovidersService} from '../openaireLibrary/services/searchDataproviders.service';
import {SearchDataprovidersService} from '../openaireLibrary/services/searchDataproviders.service'; import { SearchProjectsService} from '../openaireLibrary/services/searchProjects.service';
import {SearchProjectsService} from '../openaireLibrary/services/searchProjects.service'; import { SearchOrganizationsService} from '../openaireLibrary/services/searchOrganizations.service';
import {SearchOrganizationsService} from '../openaireLibrary/services/searchOrganizations.service'; import { RefineFieldResultsService} from '../openaireLibrary/services/refineFieldResults.service';
import {RefineFieldResultsService} from '../openaireLibrary/services/refineFieldResults.service'; import { SearchFields} from '../openaireLibrary/utils/properties/searchFields';
import {SearchFields} from '../openaireLibrary/utils/properties/searchFields'; import { NumberUtils} from '../openaireLibrary/utils/number-utils.class';
import {NumberUtils} from '../openaireLibrary/utils/number-utils.class';
import {RouterHelper} from '../openaireLibrary/utils/routerHelper.class'; import { RouterHelper} from '../openaireLibrary/utils/routerHelper.class';
import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties'; import { EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
import {ErrorCodes} from '../openaireLibrary/utils/properties/errorCodes'; import { ErrorCodes} from '../openaireLibrary/utils/properties/errorCodes';
import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service'; import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service';
import {SEOService} from '../openaireLibrary/sharedComponents/SEO/SEO.service'; import { SEOService } from '../openaireLibrary/sharedComponents/SEO/SEO.service';
import {SearchCustomFilter} from "../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {StringUtils} from "../openaireLibrary/utils/string-utils.class";
import {SearchResearchResultsService} from "../openaireLibrary/services/searchResearchResults.service"; import {SearchResearchResultsService} from "../openaireLibrary/services/searchResearchResults.service";
import {HelperService} from "../openaireLibrary/utils/helper/helper.service";
import {Filter} from "../openaireLibrary/searchPages/searchUtils/searchHelperClasses.class";
import {FilterInfo, PortalAggregators} from "../utils/aggregators"; import {FilterInfo, PortalAggregators} from "../utils/aggregators";
import {SearchCustomFilter} from "../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {properties} from "../../environments/environment";
import {portalProperties} from "../../environments/environment-aggregator";
import {StringUtils} from "../openaireLibrary/utils/string-utils.class";
@Component({ @Component({
selector: 'home', selector: 'home',
templateUrl: 'home.component.html', templateUrl: 'home.component.html',
}) })
export class HomeComponent { export class HomeComponent {
public piwiksub: any;
public subfunders: any;
public pageTitle = "OpenAIRE"
public keyword: string = "";
public searchFields: SearchFields = new SearchFields(); // public pageTitle = "OpenAIRE - Explore |" ;
public errorCodes: ErrorCodes = new ErrorCodes(); public keyword:string = "";
public routerHelper: RouterHelper = new RouterHelper();
public publicationsSize: any = null; public searchFields:SearchFields = new SearchFields();
public datasetsSize: any = null; public errorCodes:ErrorCodes = new ErrorCodes();
public routerHelper:RouterHelper = new RouterHelper();
public publicationsSize:any = null;
public datasetsSize:any = null;
public datasetsLinkedSize:any = null;
public softwareLinkedSize:any = null;
public softwareSize: any = null; public softwareSize: any = null;
public otherSize: any = null; public otherSize: any = null;
public organizationsSize: any = null; public fundersSize:any = null;
public fundersSize: any = null; public projectsSize:any = null;
public projectsSize: any = null; public datasourcesSize:any = null;
public datasourcesSize: any = null;
public fetchDataproviders: FetchDataproviders; showPublications: boolean = portalProperties.entities.publication.isEnabled;
showDatasets: boolean = portalProperties.entities.dataset.isEnabled;
showPublications: boolean = false; showSoftware: boolean = portalProperties.entities.software.isEnabled;
showDatasets: boolean = false; showOrp: boolean = portalProperties.entities.other.isEnabled;
showSoftware: boolean = false; showOrganizations: boolean = portalProperties.entities.organization.isEnabled;
showOrp: boolean = false; showProjects: boolean = portalProperties.entities.project.isEnabled;
showOrganizations: boolean = false; showDataProviders: boolean = portalProperties.entities.datasource.isEnabled;
showProjects: boolean = false;
showDataProviders: boolean = false;
properties: EnvProperties; properties: EnvProperties;
public subPub; public readMore: boolean = false;
public subSoft;
public subOrp;
public subData;
public subProjects;
public subOrg;
public subDataPr;
customFilter:SearchCustomFilter= null;
constructor( subs: Subscription[] = [];
resultsQuickFilter: { filter: Filter, selected: boolean, filterId: string, value: string } = {
filter: null,
selected: true,
filterId: "resultbestaccessright",
value: "Open Access"
};
selectedEntity = "all";
selectedEntitySimpleUrl;
selectedEntityAdvancedUrl;
resultTypes:Filter = {values:[],filterId:"type", countSelectedValues: 0, filterType: 'checkbox', originalFilterId: "", valueIsExact: true, title: "Result Types",filterOperator:"or"};
public pageContents = null;
customFilter:SearchCustomFilter= null;
aggregatorId;
aggregator:FilterInfo;
constructor (
private route: ActivatedRoute, private route: ActivatedRoute,
private _router: Router, private _router: Router,
private _searchResearchResultsService: SearchResearchResultsService, private _searchResearchResultsService: SearchResearchResultsService,
private _searchDataprovidersService: SearchDataprovidersService, private _searchDataprovidersService: SearchDataprovidersService,
private _searchProjectsService: SearchProjectsService, private _searchProjectsService: SearchProjectsService,
private _searchOrganizationsService: SearchOrganizationsService, private _searchOrganizationsService: SearchOrganizationsService,
private _refineFieldResultsService: RefineFieldResultsService, private _refineFieldResultsService:RefineFieldResultsService,
private location: Location, private _piwikService: PiwikService, private location: Location, private _piwikService:PiwikService,
private config: ConfigurationService, private _meta: Meta, private _title: Title, private seoService: SEOService private config: ConfigurationService, private _meta: Meta, private _title: Title, private seoService: SEOService,
private helper: HelperService
) { ) {
let id = this.route.snapshot.paramMap.get('id'); this.aggregatorId = this.route.snapshot.paramMap.get('id');
console.log(id); this.aggregator = PortalAggregators.getFilterInfoByMenuId(this.aggregatorId);
let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id); this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(this.aggregator);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg); let description = "OpenAIRE Explore: Over 100M of research deduplicated, 170K research software, 11M research data. One of the largest open scholarly records collection worldwide.";
let description = "openAIRE, open access, publications, research results, European commission, search"; let title = "OpenAIRE - Explore| " +this.aggregator.title;
let title = "OpenAIRE | "+agg.title;
this._title.setTitle(title); this._title.setTitle(title);
this._meta.updateTag({content: description}, "name='description'"); this._meta.updateTag({content:description},"name='description'");
this._meta.updateTag({content: description}, "property='og:description'"); this._meta.updateTag({content:description},"property='og:description'");
this._meta.updateTag({content: title}, "property='og:title'"); this._meta.updateTag({content:title},"property='og:title'");
// this.customFilter.setValues("Country", "country", "CA" , "Canada");
}
private getPageContents() {
this.subs.push(this.helper.getPageHelpContents(this.properties, 'openaire', this._router.url).subscribe(contents => {
this.pageContents = contents;
}));
}
public getKeys(obj: {}) {
return Object.keys(obj);
}
createRange(number){
var items: number[] = [];
for(var i = 1; i <= number; i++){
items.push(i);
}
return items;
}
public ceil(num: number) {
return Math.ceil(num);
} }
public ngOnInit() { public ngOnInit() {
this.properties = properties;
this.seoService.createLinkForCanonicalURL(this.properties.domain + this.properties.baseLink+this._router.url, false);
this.getPageContents();
this.route.data if(this.properties!=null){
.subscribe((data: { envSpecific: EnvProperties }) => { var url = this.properties.domain + this.properties.baseLink+this._router.url;
this.properties = data.envSpecific; this._meta.updateTag({content:url},"property='og:url'");
this.seoService.createLinkForCanonicalURL(this.properties.baseLink + this._router.url, false); if(this.properties.enablePiwikTrack && (typeof document !== 'undefined')){
let url = this.properties.baseLink + this._router.url; this.subs.push(this._piwikService.trackView(this.properties, "OpenAIRE").subscribe());
this._meta.updateTag({content: url}, "property='og:url'"); }
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
this.piwiksub = this._piwikService.trackView(this.properties, "OpenAIRE").subscribe();
}
this.showPublications = true;
this.showOrp = true;
this.showOrganizations = true;
this.showDatasets = true;
this.showSoftware = true;
this.showProjects = true;
this.showDataProviders = true;
this.getNumbers();
/* this.config.getCommunityInformation(this.properties.adminToolsAPIURL, this.properties.adminToolsCommunity).subscribe(data => { //this.config.getCommunityInformation(this.properties, this.properties.adminToolsCommunity ).subscribe(data => {
let showEntity = {}; /* this.subs.push(this.config.communityInformationState.subscribe(data => {
for (let i = 0; i < data['entities'].length; i++) { if(data) {
var showEntity = {};
for (var i = 0; i < data['entities'].length; i++) {
showEntity["" + data['entities'][i]["pid"] + ""] = data['entities'][i]["isEnabled"]; showEntity["" + data['entities'][i]["pid"] + ""] = data['entities'][i]["isEnabled"];
}
this.showPublications = showEntity["publication"];
this.showDatasets = showEntity["dataset"];
this.showProjects = showEntity["project"];
this.showDataProviders = showEntity["datasource"];
this.getNumbers();
// if(this.showDataProviders) {
// this.fetchDataproviders.getResultsForHome(this.numResults, this.properties);
// }
},
error => {
this.handleError("Error getting community information", error);
} }
);*/ this.showPublications = showEntity["publication"];
this.showDatasets = showEntity["dataset"];
}); this.showSoftware = showEntity["software"];
this.showOrp = showEntity["orp"];
this.showProjects = showEntity["project"];
this.showDataProviders = showEntity["datasource"];
this.showOrganizations = showEntity["organization"];*/
if(this.showPublications){
this.resultTypes.values.push({name: "Publications" , id:"publications",selected:true, number:0});
}
if(this.showDatasets){
this.resultTypes.values.push({name: "Research data" , id:"datasets",selected:true, number:0});
}
if(this.showSoftware){
this.resultTypes.values.push({name: "Software" , id:"software",selected:true, number:0});
}
if(this.showOrp){
this.resultTypes.values.push({name: "Other research products" , id:"other",selected:true, number:0});
}
this.getNumbers();
/* }
},
error => {
this.handleError("Error getting community information", error);
}
));*/
}
} }
public ngOnDestroy() { public ngOnDestroy() {
if (this.piwiksub) { for (let sub of this.subs) {
this.piwiksub.unsubscribe(); sub.unsubscribe();
} }
if (this.subfunders) {
this.subfunders.unsubscribe();
}
if (this.subPub) {
this.subPub.unsubscribe();
}
if (this.subOrp) {
this.subOrp.unsubscribe();
}
if (this.subSoft) {
this.subSoft.unsubscribe();
}
if (this.subData) {
this.subData.unsubscribe();
}
if (this.subProjects) {
this.subProjects.unsubscribe();
}
if (this.subOrg) {
this.subOrg.unsubscribe();
}
if (this.subDataPr) {
this.subDataPr.unsubscribe();
}
} }
private getNumbers() { private getNumbers() {
let refineQuery = null; let refineQuery = null
if(this.customFilter){ if(this.customFilter){
refineQuery= "&fq="+StringUtils.URIEncode(this.customFilter.queryFieldName + " exact " + StringUtils.quote((this.customFilter.valueId ))); refineQuery= "&fq="+StringUtils.URIEncode(this.customFilter.queryFieldName + " exact " + StringUtils.quote((this.customFilter.valueId )));
} }
if (this.showPublications) { if(this.showPublications){
this.subPub = this._searchResearchResultsService.numOfSearchResults("publication","", this.properties,refineQuery).subscribe( this.subs.push(this._searchResearchResultsService.numOfSearchResults("publication", "", this.properties, refineQuery).subscribe(
data => { data => {
if (data && data > 0) { if(data && data != null && data > 0 ){
this.publicationsSize = NumberUtils.roundNumber(data); this.publicationsSize = NumberUtils.roundNumber(data);
}else{
this.showPublications = false;
} }
}, },
err => { err => {
//console.log(err);
this.handleError("Error getting number of publications", err); this.handleError("Error getting number of publications", err);
} }
); ));
} }
if (this.showDatasets) { if(this.showDatasets){
this.subData = this._searchResearchResultsService.numOfSearchResults("dataset","", this.properties,refineQuery).subscribe( this.subs.push(this._searchResearchResultsService.numOfSearchResults("dataset", "", this.properties, refineQuery).subscribe(
data => { data => {
if (data && data > 0) { if(data && data != null && data > 0 ){
this.datasetsSize = NumberUtils.roundNumber(data); this.datasetsSize = NumberUtils.roundNumber(data);
}else{
this.showDatasets = false;
} }
}, },
err => { err => {
//console.log(err);
this.handleError("Error getting number of research data", err); this.handleError("Error getting number of research data", err);
} }
); ));
/*this.subs.push(this._searchResearchResultsService.numOfSearchResultsLinkedToPub("dataset", this.properties, refineQuery).subscribe(
data => {
if(data && data != null && data > 0 ){
this.datasetsLinkedSize = NumberUtils.roundNumber(data);
}
},
err => {
//console.log(err);
this.handleError("Error getting number of linkedresearch data", err);
}
));*/
} }
if (this.showSoftware) { if (this.showSoftware) {
this.subSoft = this._searchResearchResultsService.numOfSearchResults("software","", this.properties,refineQuery).subscribe( this.subs.push(this._searchResearchResultsService.numOfSearchResults("software", "", this.properties, refineQuery).subscribe(
data => { data => {
if (data && data > 0) { if (data && data > 0) {
this.softwareSize = NumberUtils.roundNumber(data); this.softwareSize = NumberUtils.roundNumber(data);
@ -213,10 +235,21 @@ export class HomeComponent {
err => { err => {
this.handleError("Error getting number of software data", err); this.handleError("Error getting number of software data", err);
} }
); ));
/* this.subs.push(this._searchResearchResultsService.numOfSearchResultsLinkedToPub("software", this.properties, refineQuery).subscribe(
data => {
if(data && data != null && data > 0 ){
this.softwareLinkedSize = NumberUtils.roundNumber(data);
}
},
err => {
//console.log(err);
this.handleError("Error getting number of linked software", err);
}
));*/
} }
if (this.showOrp) { if (this.showOrp) {
this.subOrp = this._searchResearchResultsService.numOfSearchResults("other","", this.properties,refineQuery).subscribe( this.subs.push(this._searchResearchResultsService.numOfSearchResults("other", "", this.properties, refineQuery).subscribe(
data => { data => {
if (data && data > 0) { if (data && data > 0) {
this.otherSize = NumberUtils.roundNumber(data); this.otherSize = NumberUtils.roundNumber(data);
@ -227,54 +260,79 @@ export class HomeComponent {
err => { err => {
this.handleError("Error getting number of software data", err); this.handleError("Error getting number of software data", err);
} }
); ));
} }
if (this.showProjects) { if(this.showProjects){
this.subfunders = this._refineFieldResultsService.getRefineFieldsResultsByEntityName(["funder"], "project", this.properties, refineQuery).subscribe( this.subs.push(this._refineFieldResultsService.getRefineFieldsResultsByEntityName(["funder"],"project", this.properties, refineQuery).subscribe(
data => { data => {
if (data[0] && data[0] > 0) {
if(data[0] && data[0] > 0 ){
this.projectsSize = NumberUtils.roundNumber(data[0]); this.projectsSize = NumberUtils.roundNumber(data[0]);
} }
else{ if(data[1].length > 0 && data[1][0].filterId == "funder" && data[1][0].values ){
this.showProjects = false;
}
if (data[1].length > 0 && data[1][0].filterId == "funder" && data[1][0].values) {
this.fundersSize = NumberUtils.roundNumber(data[1][0].values.length); this.fundersSize = NumberUtils.roundNumber(data[1][0].values.length);
} }
}, },
err => { err => {
//console.log(err);
this.handleError("Error getting 'funder' field results of projects", err); this.handleError("Error getting 'funder' field results of projects", err);
}); }));
} }
if (this.showDataProviders) { if(this.showDataProviders){
this.subDataPr = this._searchDataprovidersService.numOfSearchDataproviders("", this.properties, refineQuery).subscribe( this.subs.push(this._searchDataprovidersService.numOfSearchDataproviders("", this.properties, refineQuery).subscribe(
data => { data => {
if (data && data > 0) { if(data && data != null && data > 0 ){
this.datasourcesSize = NumberUtils.roundNumber(data); this.datasourcesSize = NumberUtils.roundNumber(data);
}else{
this.showDataProviders = false;
} }
}, },
err => { err => {
//console.log(err);
this.handleError("Error getting number of content providers", err); this.handleError("Error getting number of content providers", err);
} }
); ));
}
if (this.showOrganizations) {
this.subOrg = this._searchOrganizationsService.numOfSearchOrganizations("", this.properties, refineQuery).subscribe(
data => {
if (data && data > 0) {
this.organizationsSize = NumberUtils.roundNumber(data);
}
},
err => {
this.handleError("Error getting number of Organizations", err);
}
);
} }
} }
private handleError(message: string, error) { private handleError(message: string, error) {
console.error("Home Page: " + message, error); console.error("Home Page: "+message, error);
}
entityChanged($event){
this.selectedEntity = $event.entity;
this.selectedEntitySimpleUrl = $event.simpleUrl;
this.selectedEntityAdvancedUrl = $event.advancedUrl;
}
goTo(simple:boolean){
let url = (simple)?this.selectedEntitySimpleUrl:this.selectedEntityAdvancedUrl;
let parameterNames = [];
let parameterValues = [];
if (this.selectedEntity == "result") {
if (this.resultTypes) {
let values = [];
for(let value of this.resultTypes.values){
if (value.selected) {
values.push(value.id);
}
}
if (values.length > 0 && values.length !=4) {
parameterNames.push("type");
parameterValues.push(values.join(","));
}
if (this.resultsQuickFilter) {
parameterNames.push("qf");
parameterValues.push("" + this.resultsQuickFilter.selected);
}
}
}
if(this.keyword.length > 0) {
parameterNames.push("fv0");
parameterValues.push(this.keyword);
parameterNames.push("f0");
parameterValues.push("q");
}
console.log( this.routerHelper.createQueryParams(parameterNames, parameterValues))
this._router.navigate([url], {queryParams: this.routerHelper.createQueryParams(parameterNames, parameterValues)});
} }
} }

View File

@ -3,52 +3,54 @@ 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{HomeRoutingModule} from './home-routing.module'; import {HomeRoutingModule} from './home-routing.module';
import{HomeComponent} from './home.component'; import {HomeComponent} from './home.component';
import { DataProvidersServiceModule} from '../openaireLibrary/services/dataProvidersService.module'; import { DataProvidersServiceModule} from '../openaireLibrary/services/dataProvidersService.module';
import { SearchResearchResultsServiceModule} from '../openaireLibrary/services/searchResearchResultsService.module'; import { SearchResearchResultsServiceModule} from '../openaireLibrary/services/searchResearchResultsService.module';
import { ProjectsServiceModule} from '../openaireLibrary/services/projectsService.module'; import { ProjectsServiceModule} from '../openaireLibrary/services/projectsService.module';
// import { PublicationsServiceModule} from '../openaireLibrary/services/publicationsService.module'; import { OrganizationsServiceModule} from '../openaireLibrary/services/organizationsService.module';
import { OrganizationsServiceModule} from '../openaireLibrary/services/organizationsService.module';
import { SearchFormModule} from '../openaireLibrary/searchPages/searchUtils/searchForm.module'; import { SearchFormModule} from '../openaireLibrary/searchPages/searchUtils/searchForm.module';
import {PiwikServiceModule} from '../openaireLibrary/utils/piwik/piwikService.module'; import { PiwikServiceModule} from '../openaireLibrary/utils/piwik/piwikService.module';
import {HelperModule} from '../openaireLibrary/utils/helper/helper.module'; import {HelperModule} from '../openaireLibrary/utils/helper/helper.module';
import {RefineFieldResultsServiceModule} from '../openaireLibrary/services/refineFieldResultsService.module'; import {RefineFieldResultsServiceModule} from '../openaireLibrary/services/refineFieldResultsService.module';
import {ConfigurationService} from '../openaireLibrary/utils/configuration/configuration.service';
import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {Schema2jsonldModule} from '../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module';
import { SEOServiceModule } from '../openaireLibrary/sharedComponents/SEO/SEOService.module'; import { SEOServiceModule } from '../openaireLibrary/sharedComponents/SEO/SEOService.module';
import {ErrorMessagesModule} from '../openaireLibrary/utils/errorMessages.module'; import {ErrorMessagesModule} from '../openaireLibrary/utils/errorMessages.module';
// import {SoftwareServiceModule} from "../openaireLibrary/services/softwareService.module"; import {EntitiesSelectionModule} from "../openaireLibrary/searchPages/searchUtils/entitiesSelection.module";
// import {OrpsServiceModule} from "../openaireLibrary/services/orpsService.module"; import {QuickSelectionsModule} from "../openaireLibrary/searchPages/searchUtils/quick-selections.module";
// import {AggregatorNavBarComponent} from "../utils/aggregatorNavBar.component"; import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
import {IconsService} from "../openaireLibrary/utils/icons/icons.service";
import {arrow_right} from "../openaireLibrary/utils/icons/icons";
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, FormsModule, RouterModule, CommonModule, FormsModule, RouterModule,
RefineFieldResultsServiceModule, RefineFieldResultsServiceModule,
DataProvidersServiceModule, SearchResearchResultsServiceModule, ProjectsServiceModule, DataProvidersServiceModule, SearchResearchResultsServiceModule,
OrganizationsServiceModule, ProjectsServiceModule, OrganizationsServiceModule,
SearchFormModule, SearchFormModule,
PiwikServiceModule, PiwikServiceModule,
HomeRoutingModule, HomeRoutingModule,
HelperModule, HelperModule,
ErrorMessagesModule, ErrorMessagesModule,
Schema2jsonldModule, SEOServiceModule, SEOServiceModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule
], ],
declarations: [ declarations: [
HomeComponent//, AggregatorNavBarComponent HomeComponent
], ],
providers:[ providers:[
FreeGuard, PreviousRouteRecorder, ConfigurationService PreviousRouteRecorder
], ],
exports: [ exports: [
HomeComponent//, AggregatorNavBarComponent HomeComponent
] ]
}) })
export class HomeModule { } export class HomeModule {
constructor(private iconsService: IconsService) {
this.iconsService.registerIcons([arrow_right]);
}
}

View File

@ -0,0 +1,13 @@
import {NgModule} from '@angular/core';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {OpenaireResultComponent} from './result.component';
import {ResultRoutingModule} from './result-routing.module';
import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/resultLanding.module";
@NgModule({
imports: [ResultRoutingModule, ResultLandingModule],
declarations:[OpenaireResultComponent],
providers:[PreviousRouteRecorder],
exports:[OpenaireResultComponent]
})
export class LibResultModule { }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import {OpenaireResultComponent } from './result.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireResultComponent, data: {
redirect: '/error', community : 'openaire'
},canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class ResultRoutingModule { }

View File

@ -0,0 +1,7 @@
import {Component} from '@angular/core';
@Component({
selector: 'openaire-publication',
template: `<result-landing type="result"></result-landing>`,
})
export class OpenaireResultComponent{}

View File

@ -1,14 +1,13 @@
import {NgModule} from '@angular/core'; import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router'; import {RouterModule} from '@angular/router';
import {OpenaireAdvancedSearchDataProvidersComponent} from './advancedSearchDataProviders.component'; import {OpenaireAdvancedSearchDataProvidersComponent} from './advancedSearchDataProviders.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({ @NgModule({
imports: [ imports: [
RouterModule.forChild([ RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchDataProvidersComponent, canActivate: [FreeGuard], data: { { path: '', component: OpenaireAdvancedSearchDataProvidersComponent, data: {
redirect: '/error' redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] } }, canDeactivate: [PreviousRouteRecorder] }

View File

@ -7,8 +7,8 @@ import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({ @Component({
selector: 'openaire-advanced-search-dataprovider', selector: 'openaire-advanced-search-dataprovider',
template: ` template: `
<advanced-search-dataprovider [customFilter]="customFilter"> <search-dataproviders [customFilter]="customFilter" [simpleView]="false">
</advanced-search-dataprovider> </search-dataproviders>
` `
}) })

View File

@ -4,21 +4,20 @@ import {FormsModule} from '@angular/forms';
import {AdvancedSearchDataProvidersRoutingModule} from './advancedSearchDataProviders-routing.module'; import {AdvancedSearchDataProvidersRoutingModule} from './advancedSearchDataProviders-routing.module';
import {OpenaireAdvancedSearchDataProvidersComponent} from './advancedSearchDataProviders.component'; import {OpenaireAdvancedSearchDataProvidersComponent} from './advancedSearchDataProviders.component';
import {AdvancedSearchDataProvidersModule} from '../../openaireLibrary/searchPages/advanced/advancedSearchDataProviders.module';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module";
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, FormsModule, CommonModule, FormsModule,
AdvancedSearchDataProvidersRoutingModule, AdvancedSearchDataProvidersRoutingModule,
AdvancedSearchDataProvidersModule SearchDataProvidersModule
], ],
declarations: [ declarations: [
OpenaireAdvancedSearchDataProvidersComponent OpenaireAdvancedSearchDataProvidersComponent
], ],
providers:[FreeGuard], providers:[],
exports: [ exports: [
OpenaireAdvancedSearchDataProvidersComponent OpenaireAdvancedSearchDataProvidersComponent
] ]

View File

@ -1,19 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireAdvancedSearchDatasetsComponent} from './advancedSearchDatasets.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchDatasetsComponent, canActivate: [FreeGuard], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class AdvancedSearchDatasetsRoutingModule { }

View File

@ -1,27 +0,0 @@
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-advanced-search-datasets',
template: `
<advanced-search-research-results [customFilter]="customFilter" resultType="dataset"></advanced-search-research-results>
`
})
export class OpenaireAdvancedSearchDatasetsComponent {
customFilter:SearchCustomFilter= null;
constructor(private route: ActivatedRoute) {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}
}

View File

@ -1,24 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {AdvancedSearchDatasetsRoutingModule} from './advancedSearchDatasets-routing.module';
import {OpenaireAdvancedSearchDatasetsComponent} from './advancedSearchDatasets.component';
import {AdvancedSearchResearchResultsModule} from "../../openaireLibrary/searchPages/advanced/advancedSearchResearchResults.module";
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchResearchResultsModule,
AdvancedSearchDatasetsRoutingModule
],
declarations: [
OpenaireAdvancedSearchDatasetsComponent
],
providers:[FreeGuard],
exports: [
OpenaireAdvancedSearchDatasetsComponent
]
})
export class LibAdvancedSearchDatasetsModule { }

View File

@ -2,14 +2,13 @@ import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router'; import {RouterModule} from '@angular/router';
import {OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component'; import {OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({ @NgModule({
imports: [ imports: [
RouterModule.forChild([ RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchOrganizationsComponent , canActivate: [FreeGuard], data: { { path: '', component: OpenaireAdvancedSearchOrganizationsComponent , data: {
redirect: '/error' redirect: '/error'
},canDeactivate: [PreviousRouteRecorder]} },canDeactivate: [PreviousRouteRecorder]}

View File

@ -7,8 +7,8 @@ import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({ @Component({
selector: 'openaire-advanced-search-organizations', selector: 'openaire-advanced-search-organizations',
template: ` template: `
<advanced-search-organizations [customFilter]="customFilter"> <search-organizations [customFilter]="customFilter" [simpleView]="false">
</advanced-search-organizations> </search-organizations>
` `
}) })

View File

@ -3,20 +3,19 @@ import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms'; import {FormsModule} from '@angular/forms';
import {AdvancedSearchOrganizationsRoutingModule} from './advancedSearchOrganizations-routing.module'; import {AdvancedSearchOrganizationsRoutingModule} from './advancedSearchOrganizations-routing.module';
import {OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component'; import {OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searchOrganizations.module";
import {AdvancedSearchOrganizationsModule} from '../../openaireLibrary/searchPages/advanced/advancedSearchOrganizations.module';
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, FormsModule, CommonModule, FormsModule,
AdvancedSearchOrganizationsModule, SearchOrganizationsModule,
AdvancedSearchOrganizationsRoutingModule AdvancedSearchOrganizationsRoutingModule
], ],
declarations: [ declarations: [
OpenaireAdvancedSearchOrganizationsComponent OpenaireAdvancedSearchOrganizationsComponent
], ],
providers:[FreeGuard], providers:[],
exports: [ exports: [
OpenaireAdvancedSearchOrganizationsComponent OpenaireAdvancedSearchOrganizationsComponent
] ]

View File

@ -1,19 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireAdvancedSearchOrpsComponent} from './advancedSearchOrps.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchOrpsComponent, canActivate: [FreeGuard], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class AdvancedSearchOrpsRoutingModule { }

View File

@ -1,27 +0,0 @@
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-advanced-search-orps',
template: `
<advanced-search-research-results [customFilter]="customFilter" resultType="other"></advanced-search-research-results>
`
})
export class OpenaireAdvancedSearchOrpsComponent {
customFilter:SearchCustomFilter= null;
constructor(private route: ActivatedRoute) {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}
}

View File

@ -1,24 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {AdvancedSearchOrpsRoutingModule} from './advancedSearchOrps-routing.module';
import {OpenaireAdvancedSearchOrpsComponent} from './advancedSearchOrps.component';
import {AdvancedSearchResearchResultsModule} from "../../openaireLibrary/searchPages/advanced/advancedSearchResearchResults.module";
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchResearchResultsModule,
AdvancedSearchOrpsRoutingModule
],
declarations: [
OpenaireAdvancedSearchOrpsComponent
],
providers:[FreeGuard],
exports: [
OpenaireAdvancedSearchOrpsComponent
]
})
export class LibAdvancedSearchOrpsModule { }

View File

@ -2,13 +2,12 @@ import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router'; import { RouterModule } from '@angular/router';
import{OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component'; import{OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({ @NgModule({
imports: [ imports: [
RouterModule.forChild([ RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchProjectsComponent, canActivate: [FreeGuard], data: { { path: '', component: OpenaireAdvancedSearchProjectsComponent, data: {
redirect: '/error' redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] } }, canDeactivate: [PreviousRouteRecorder] }

View File

@ -6,8 +6,8 @@ import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({ @Component({
selector: 'openaire-advanced-search-projects', selector: 'openaire-advanced-search-projects',
template: ` template: `
<advanced-search-projects [customFilter]="customFilter"> <search-projects [customFilter]="customFilter" [simpleView]="false">
</advanced-search-projects> </search-projects>
` `
}) })

View File

@ -3,20 +3,19 @@ import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms'; import {FormsModule} from '@angular/forms';
import {AdvancedSearchProjectsRoutingModule} from './advancedSearchProjects-routing.module'; import {AdvancedSearchProjectsRoutingModule} from './advancedSearchProjects-routing.module';
import {OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component'; import {OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component';
import {AdvancedSearchProjectsModule} from '../../openaireLibrary/searchPages/advanced/advancedSearchProjects.module'; import {SearchProjectsModule} from "../../openaireLibrary/searchPages/searchProjects.module";
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, FormsModule, CommonModule, FormsModule,
AdvancedSearchProjectsModule, SearchProjectsModule,
AdvancedSearchProjectsRoutingModule AdvancedSearchProjectsRoutingModule
], ],
declarations: [ declarations: [
OpenaireAdvancedSearchProjectsComponent OpenaireAdvancedSearchProjectsComponent
], ],
providers:[FreeGuard], providers:[],
exports: [ exports: [
OpenaireAdvancedSearchProjectsComponent OpenaireAdvancedSearchProjectsComponent
] ]

View File

@ -1,18 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireAdvancedSearchPublicationsComponent} from './advancedSearchPublications.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchPublicationsComponent, canActivate: [FreeGuard], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class AdvancedSearchPublicationsRoutingModule { }

View File

@ -1,25 +0,0 @@
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-advanced-search-publications',
template: `
<advanced-search-research-results [customFilter]="customFilter" resultType="publication"></advanced-search-research-results>
`
})
export class OpenaireAdvancedSearchPublicationsComponent {
customFilter:SearchCustomFilter= null;
constructor(private route: ActivatedRoute) {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}
}

View File

@ -1,27 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {AdvancedSearchPublicationsRoutingModule} from './advancedSearchPublications-routing.module';
import {OpenaireAdvancedSearchPublicationsComponent} from './advancedSearchPublications.component';
import {AdvancedSearchResearchResultsModule} from "../../openaireLibrary/searchPages/advanced/advancedSearchResearchResults.module";
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchResearchResultsModule,
AdvancedSearchPublicationsRoutingModule
],
declarations: [
OpenaireAdvancedSearchPublicationsComponent
],
providers:[FreeGuard],
exports: [
OpenaireAdvancedSearchPublicationsComponent
]
})
export class LibAdvancedSearchPublicationsModule { }

View File

@ -1,16 +0,0 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireAdvancedSearchSoftwareComponent} from './advancedSearchSoftware.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchSoftwareComponent, canActivate: [FreeGuard],canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class AdvancedSearchSoftwareRoutingModule { }

View File

@ -1,26 +0,0 @@
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-advanced-search-software',
template: `
<advanced-search-research-results [customFilter]="customFilter" resultType="software"></advanced-search-research-results>
`
})
export class OpenaireAdvancedSearchSoftwareComponent {
customFilter:SearchCustomFilter= null;
constructor(private route: ActivatedRoute) {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}
}

View File

@ -1,27 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {AdvancedSearchSoftwareRoutingModule} from './advancedSearchSoftware-routing.module';
import {OpenaireAdvancedSearchSoftwareComponent} from './advancedSearchSoftware.component';
import {AdvancedSearchResearchResultsModule} from "../../openaireLibrary/searchPages/advanced/advancedSearchResearchResults.module";
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchResearchResultsModule,
AdvancedSearchSoftwareRoutingModule
],
declarations: [
OpenaireAdvancedSearchSoftwareComponent
],
providers:[FreeGuard
],
exports: [
OpenaireAdvancedSearchSoftwareComponent
]
})
export class LibAdvancedSearchSoftwareModule { }

View File

@ -0,0 +1,18 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchResearchResultsComponent, data: {
redirect: '/error', community : 'openaire'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class SearchResearchResultsRoutingModule { }

View File

@ -1,22 +1,20 @@
import {Component} from '@angular/core'; import {Component, Input} from '@angular/core';
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class"; import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router"; import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({ @Component({
selector: 'openaire-search-orps', selector: 'openaire-search-results',
template: ` template: `
<search-research-results resultType="other" [customFilter]="customFilter"></search-research-results> <search-research-results resultType="result" [simpleView]="false"></search-research-results>
` `
}) })
export class OpenaireSearchResearchResultsComponent {
export class OpenaireSearchOrpsComponent { @Input() searchLink: string = "/search/advanced/research-results";
customFilter: SearchCustomFilter = null; customFilter:SearchCustomFilter= null;
constructor(private route: ActivatedRoute) { constructor(private route: ActivatedRoute) {
} }
ngOnInit() { ngOnInit() {
let id = this.route.snapshot.paramMap.get('id'); let id = this.route.snapshot.paramMap.get('id');
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id); let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);

View File

@ -0,0 +1,25 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import{ SearchResearchResultsRoutingModule} from './searchResearchResults-routing.module';
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/searchResearchResults.module";
@NgModule({
imports: [
CommonModule, FormsModule,
SearchResearchResultsRoutingModule, SearchResearchResultsModule
],
declarations: [
OpenaireSearchResearchResultsComponent
],
providers:[PreviousRouteRecorder],
exports: [
OpenaireSearchResearchResultsComponent
]
})
export class OpenaireAdvancedSearchResearchResultsModule { }

View File

@ -1,15 +1,14 @@
import {NgModule} from '@angular/core'; import {NgModule} from '@angular/core';
import {MainSearchModule} from '../../openaireLibrary/searchPages/find/mainSearch.module';
import {OpenaireSearchComponent} from './search.component'; import {OpenaireSearchComponent} from './search.component';
import {MainSearchRoutingModule} from './mainSearch-routing.module'; import {MainSearchRoutingModule} from './mainSearch-routing.module';
import {FreeGuard} from "../../openaireLibrary/login/freeGuard.guard";
import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard"; import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
import {SearchAllModule} from "../../openaireLibrary/searchPages/find/searchAll.module";
@NgModule({ @NgModule({
imports: [ MainSearchRoutingModule, MainSearchModule], imports: [ MainSearchRoutingModule, SearchAllModule],
declarations:[OpenaireSearchComponent], declarations:[OpenaireSearchComponent],
exports:[OpenaireSearchComponent], exports:[OpenaireSearchComponent],
providers: [FreeGuard, PreviousRouteRecorder] providers: [ PreviousRouteRecorder]
}) })
export class LibMainSearchModule { } export class LibMainSearchModule { }

View File

@ -2,14 +2,13 @@ import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router'; import { RouterModule } from '@angular/router';
import{OpenaireSearchComponent} from './search.component'; import{OpenaireSearchComponent} from './search.component';
import {FreeGuard} from "../../openaireLibrary/login/freeGuard.guard";
import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard"; import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
@NgModule({ @NgModule({
imports: [ imports: [
RouterModule.forChild([ RouterModule.forChild([
{ path: '', component: OpenaireSearchComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] } { path: '', component: OpenaireSearchComponent,canDeactivate: [PreviousRouteRecorder] }
]) ])
] ]

View File

@ -6,7 +6,7 @@ import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({ @Component({
selector: 'openaire-search-find', selector: 'openaire-search-find',
template: ` template: `
<search-find logoURL = "/assets/common-assets/logo-small-aggregator.png" name="OpenAIRE" [customFilter]="customFilter"></search-find> <search-all logoURL = "/assets/common-assets/logo-small-aggregator.png" name="OpenAIRE" [customFilter]="customFilter"></search-all>
`, `,
}) })
@ -21,10 +21,7 @@ export class OpenaireSearchComponent{
let id = this.route.snapshot.paramMap.get('id'); let id = this.route.snapshot.paramMap.get('id');
let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id); let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg); this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
this.route.data
.subscribe((data: { envSpecific: any }) => {
});
} }

View File

@ -9,7 +9,7 @@ import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousR
@NgModule({ @NgModule({
imports: [ imports: [
RouterModule.forChild([ RouterModule.forChild([
{ path: '', component: OpenaireSearchDataprovidersComponent, canActivate: [FreeGuard], data: { { path: '', component: OpenaireSearchDataprovidersComponent,data: {
redirect: '/error' redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] } }, canDeactivate: [PreviousRouteRecorder] }

View File

@ -3,9 +3,8 @@ import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms'; import {FormsModule} from '@angular/forms';
import {OpenaireSearchDataprovidersComponent} from './searchDataproviders.component'; import {OpenaireSearchDataprovidersComponent} from './searchDataproviders.component';
import {SearchDataProvidersRoutingModule} from './searchDataProviders-routing.module'; import {SearchDataProvidersRoutingModule} from './searchDataProviders-routing.module';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchDataProvidersModule} from '../../openaireLibrary/searchPages/simple/searchDataProviders.module'; import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module";
@NgModule({ @NgModule({
imports: [ imports: [
@ -16,7 +15,7 @@ SearchDataProvidersModule, SearchDataProvidersRoutingModule
declarations: [ declarations: [
OpenaireSearchDataprovidersComponent OpenaireSearchDataprovidersComponent
], ],
providers:[FreeGuard,PreviousRouteRecorder], providers:[PreviousRouteRecorder],
exports: [ exports: [
OpenaireSearchDataprovidersComponent OpenaireSearchDataprovidersComponent
] ]

View File

@ -1,21 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireSearchDatasetsComponent} from './searchDatasets.component';
import {EnvironmentSpecificResolver} from '../../openaireLibrary/utils/properties/environmentSpecificResolver';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchDatasetsComponent, canActivate: [FreeGuard], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] , resolve: { envSpecific: EnvironmentSpecificResolver }},
])
]
})
export class SearchDatasetsRoutingModule { }

View File

@ -1,27 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {SearchDatasetsRoutingModule} from './searchDatasets-routing.module';
import {OpenaireSearchDatasetsComponent} from './searchDatasets.component';
import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/simple/searchResearchResults.module";
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
CommonModule, FormsModule,
SearchResearchResultsModule , SearchDatasetsRoutingModule
],
declarations: [
OpenaireSearchDatasetsComponent
],
providers:[FreeGuard,PreviousRouteRecorder],
exports: [
OpenaireSearchDatasetsComponent
]
})
export class LibSearchDatasetsModule { }

View File

@ -1,14 +1,13 @@
import {NgModule} from '@angular/core'; import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router'; import {RouterModule} from '@angular/router';
import {OpenaireSearchOrganizationsComponent} from './searchOrganizations.component'; import {OpenaireSearchOrganizationsComponent} from './searchOrganizations.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({ @NgModule({
imports: [ imports: [
RouterModule.forChild([ RouterModule.forChild([
{ path: '', component: OpenaireSearchOrganizationsComponent, canActivate: [FreeGuard], data: { { path: '', component: OpenaireSearchOrganizationsComponent, data: {
redirect: '/error' redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] } }, canDeactivate: [PreviousRouteRecorder] }

View File

@ -5,10 +5,9 @@ import {FormsModule} from '@angular/forms';
import {SearchOrganizationsRoutingModule} from './searchOrganizations-routing.module'; import {SearchOrganizationsRoutingModule} from './searchOrganizations-routing.module';
import {OpenaireSearchOrganizationsComponent} from './searchOrganizations.component'; import {OpenaireSearchOrganizationsComponent} from './searchOrganizations.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searchOrganizations.module";
import {SearchOrganizationsModule} from '../../openaireLibrary/searchPages/simple/searchOrganizations.module';
@NgModule({ @NgModule({
imports: [ imports: [
@ -19,7 +18,7 @@ import {SearchOrganizationsModule} from '../../openaireLibrary/searchPages/simpl
declarations: [ declarations: [
OpenaireSearchOrganizationsComponent OpenaireSearchOrganizationsComponent
], ],
providers:[FreeGuard,PreviousRouteRecorder], providers:[PreviousRouteRecorder],
exports: [ exports: [
OpenaireSearchOrganizationsComponent OpenaireSearchOrganizationsComponent
] ]

View File

@ -1,21 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireSearchOrpsComponent} from './searchOrps.component';
import {EnvironmentSpecificResolver} from '../../openaireLibrary/utils/properties/environmentSpecificResolver';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchOrpsComponent, canActivate: [FreeGuard], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] , resolve: { envSpecific: EnvironmentSpecificResolver }},
])
]
})
export class SearchOrpsRoutingModule { }

View File

@ -1,25 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {SearchOrpsRoutingModule} from './searchOrps-routing.module';
import {OpenaireSearchOrpsComponent} from './searchOrps.component';
import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/simple/searchResearchResults.module";
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
CommonModule, FormsModule,
SearchResearchResultsModule , SearchOrpsRoutingModule
],
declarations: [
OpenaireSearchOrpsComponent
],
providers:[FreeGuard,PreviousRouteRecorder],
exports: [
OpenaireSearchOrpsComponent
]
})
export class LibSearchOrpsModule { }

View File

@ -2,14 +2,13 @@ import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router'; import {RouterModule} from '@angular/router';
import {OpenaireSearchProjectsComponent} from './searchProjects.component'; import {OpenaireSearchProjectsComponent} from './searchProjects.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({ @NgModule({
imports: [ imports: [
RouterModule.forChild([ RouterModule.forChild([
{ path: '', component: OpenaireSearchProjectsComponent, canActivate: [FreeGuard], data: { { path: '', component: OpenaireSearchProjectsComponent, data: {
redirect: '/error' redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] } }, canDeactivate: [PreviousRouteRecorder] }

View File

@ -1,4 +1,4 @@
import {Component, Input, ViewChild} from '@angular/core'; import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class"; import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router"; import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators"; import {FilterInfo, PortalAggregators} from "../../utils/aggregators";

View File

@ -5,9 +5,8 @@ import {FormsModule} from '@angular/forms';
import {SearchProjectsRoutingModule} from './searchProjects-routing.module'; import {SearchProjectsRoutingModule} from './searchProjects-routing.module';
import {OpenaireSearchProjectsComponent} from './searchProjects.component'; import {OpenaireSearchProjectsComponent} from './searchProjects.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchProjectsModule} from '../../openaireLibrary/searchPages/simple/searchProjects.module'; import {SearchProjectsModule} from "../../openaireLibrary/searchPages/searchProjects.module";
@NgModule({ @NgModule({
imports: [ imports: [
@ -17,7 +16,7 @@ import {SearchProjectsModule} from '../../openaireLibrary/searchPages/simple/sea
declarations: [ declarations: [
OpenaireSearchProjectsComponent OpenaireSearchProjectsComponent
], ],
providers:[FreeGuard,PreviousRouteRecorder], providers:[PreviousRouteRecorder],
exports: [ exports: [
OpenaireSearchProjectsComponent OpenaireSearchProjectsComponent
] ]

View File

@ -1,19 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireSearchPublicationsComponent} from './searchPublications.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchPublicationsComponent, canActivate: [FreeGuard], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class SearchPublicationsRoutingModule { }

View File

@ -1,23 +0,0 @@
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-search-publications',
template: `
<search-research-results resultType="publication" [customFilter]="customFilter"></search-research-results>
`
})
export class OpenaireSearchPublicationsComponent {
customFilter:SearchCustomFilter= null;
constructor ( private route: ActivatedRoute ) {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}
}

View File

@ -1,27 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {SearchPublicationsRoutingModule} from './searchPublications-routing.module';
import {OpenaireSearchPublicationsComponent} from './searchPublications.component';
import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/simple/searchResearchResults.module";
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
CommonModule, FormsModule, SearchResearchResultsModule,
SearchPublicationsRoutingModule
],
declarations: [
OpenaireSearchPublicationsComponent
],
providers:[FreeGuard,PreviousRouteRecorder],
exports: [
OpenaireSearchPublicationsComponent
]
})
export class LibSearchPublicationsModule { }

View File

@ -0,0 +1,18 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchResearchResultsComponent, data: {
redirect: '/error', community : 'openaire'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class SearchResearchResultsRoutingModule { }

View File

@ -1,18 +1,18 @@
import {Component} from '@angular/core'; import {Component, Input} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class"; import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router"; import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators"; import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({ @Component({
selector: 'openaire-search-datasets', selector: 'openaire-search-results',
template: ` template: `
<search-research-results resultType="dataset" [customFilter]="customFilter"></search-research-results> <search-research-results resultType="result" [stickyForm]="false" [customFilter]="customFilter"></search-research-results>
` `
}) })
export class OpenaireSearchResearchResultsComponent {
export class OpenaireSearchDatasetsComponent { @Input() searchLink: string = "/search/research-results";
customFilter: SearchCustomFilter = null; customFilter:SearchCustomFilter= null;
constructor ( private route: ActivatedRoute ) { constructor ( private route: ActivatedRoute ) {
} }

View File

@ -0,0 +1,25 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import{ SearchResearchResultsRoutingModule} from './searchResearchResults-routing.module';
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/searchResearchResults.module";
@NgModule({
imports: [
CommonModule, FormsModule,
SearchResearchResultsRoutingModule, SearchResearchResultsModule
],
declarations: [
OpenaireSearchResearchResultsComponent
],
providers:[PreviousRouteRecorder],
exports: [
OpenaireSearchResearchResultsComponent
]
})
export class OpenaireSearchResearchResultsModule { }

View File

@ -1,16 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireSearchSoftwareComponent} from './searchSoftware.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchSoftwareComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class SearchSoftwareRoutingModule { }

View File

@ -1,24 +0,0 @@
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
import {ActivatedRoute} from "@angular/router";
@Component({
selector: 'openaire-search-software',
template: `
<search-research-results resultType="software" [customFilter]="customFilter"></search-research-results>
`
})
export class OpenaireSearchSoftwareComponent {
customFilter:SearchCustomFilter= null;
constructor ( private route: ActivatedRoute ) {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}
}

View File

@ -1,24 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {SearchSoftwareRoutingModule} from './searchSoftware-routing.module';
import {OpenaireSearchSoftwareComponent} from './searchSoftware.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/simple/searchResearchResults.module";
@NgModule({
imports: [
CommonModule, FormsModule, SearchResearchResultsModule, SearchSoftwareRoutingModule
],
declarations: [
OpenaireSearchSoftwareComponent
],
providers:[FreeGuard,PreviousRouteRecorder
],
exports: [
OpenaireSearchSoftwareComponent
]
})
export class LibSearchSoftwareModule { }

View File

@ -1,63 +0,0 @@
// import {Component} from '@angular/core';
// import {ActivatedRoute} from '@angular/router';
// import "rxjs/add/observable/zip";
// import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
// import {FilterInfo, PortalAggregators} from "../utils/aggregators";
// import {MenuItem, RootMenuItem} from "../openaireLibrary/sharedComponents/menu";
//
// @Component({
// selector: 'aggNavbar',
// templateUrl: `
// <navbar *ngIf="properties" portal="aggregator" [environment]=properties.environment [onlyTop]=false
// [communityId]="properties.adminToolsCommunity" [menuItems]=menuItems
// [APIUrl]="properties.adminToolsAPIURL" [logInUrl]="properties.loginUrl"
// [logOutUrl]="properties.logoutUrl" [cookieDomain]="properties.cookieDomain" [userMenu]="false" [community]="community" [showCommunityName]="true"></navbar>
// `,
// })
// export class AggregatorNavBarComponent {
//
// properties: EnvProperties;
// menuItems: RootMenuItem [] = [
// {rootItem: new MenuItem("home", "Home", "", "/", false, [], null, {}), items: []},
// {
// rootItem: new MenuItem("search", "Search", "", "/search/find", false, [], ["/search/find"], {}),
// items: [new MenuItem("", "Publications", "", "/search/find/publications", false, ["publication"], ["/search/find/publications"], {}),
// new MenuItem("", "Research Data", "", "/search/find/datasets", false, ["dataset"], ["/search/find/datasets"], {}),
// new MenuItem("", "Software", "", "/search/find/software", false, ["software"], ["/search/find/software"], {}),
// new MenuItem("", "Other Research Products", "", "/search/find/other", false, ["orp"], ["/search/find/other"], {}),
// // new MenuItem("", "Projects", "", "/search/find/projects/", false, ["project"], ["/search/find/projects"], {}),
// // new MenuItem("", "Content Providers", "", "/search/find/dataproviders", false, ["datasource"], ["/search/find/dataproviders"], {}),
// new MenuItem("", "Organizations", "", "/search/find/organizations/", false, ["organization"], ["/search/find/organizations"], {})
// ]
// }
// ];
// community = {id: "CA", name: "Canada Aggregator", logoUrl:"assets/common-assets/logo-small-aggregator.png"};
//
//
// constructor(
// private route: ActivatedRoute,
//
// ) {
// let id = this.route.snapshot.paramMap.get('id');
// console.log(id);
// let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
// // this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
// // console.log(this.customFilter);
//
//
//
// }
//
// public ngOnInit() {
//
// this.route.data
// .subscribe((data: { envSpecific: EnvProperties }) => {
// this.properties = data.envSpecific;
//
//
//
// });
//
// }
//
// }

View File

@ -22,7 +22,7 @@ export class FilterInfo {
export class PortalAggregators { export class PortalAggregators {
static list: FilterInfo[] = [ static list: FilterInfo[] = [
new FilterInfo("canada", "Canadian Aggregator", "assets/common-assets/logo-small-aggregator.png", "Country", "country", "CA", "Canada"), new FilterInfo("canada", "Canadian Aggregator", "assets/canada-logo.png", "Country", "country", "CA", "Canada"),
new FilterInfo("italy", "Italian Aggregator", "assets/common-assets/logo-small-aggregator.png", "Country", "country", "IT", "Italy"), new FilterInfo("italy", "Italian Aggregator", "assets/common-assets/logo-small-aggregator.png", "Country", "country", "IT", "Italy"),
new FilterInfo("greece", "Greek Aggregator", "assets/common-assets/logo-small-aggregator.png", "Country", "country", "GR", "Greece"), new FilterInfo("greece", "Greek Aggregator", "assets/common-assets/logo-small-aggregator.png", "Country", "country", "GR", "Greece"),
@ -46,6 +46,8 @@ export class PortalAggregators {
let filter:SearchCustomFilter = null; let filter:SearchCustomFilter = null;
if(agg) { if(agg) {
filter = new SearchCustomFilter(agg.fieldName, agg.queryFieldName, agg.valueId, agg.valueName); filter = new SearchCustomFilter(agg.fieldName, agg.queryFieldName, agg.valueId, agg.valueName);
filter.promptToAddFilter = true;
filter.isHiddenFilter = false;
} }
return filter; return filter;
} }

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

BIN
src/assets/canada-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -1,5 +1,5 @@
{ {
"environment" : "development", "environment" : "production",
"enablePiwikTrack" : false, "enablePiwikTrack" : false,
"enableHelper" : true, "enableHelper" : true,
"useCache" : false, "useCache" : false,

1
src/assets/graph.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 738 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 535 B

After

Width:  |  Height:  |  Size: 86 KiB

View File

@ -0,0 +1,45 @@
:root {
--portal-main-color: #E80000;
--portal-main-contrast: white;
--portal-dark-color: #ad0000;
--openaire-main-color: #313179;
}
.graph-background {
background-size: cover !important;
padding-bottom: 100px;
background: #FAFAFA url('/assets/canada-background.svg') no-repeat bottom;
}
.mainPageSearchForm{
background-color: white !important;
background-image: none !important;
margin-bottom: 100px;
}
.searchForm, .generalSearchForm,
.publicationsSearchForm,
.projectsSearchForm, .projectsTableSearchForm,
.organizationsSearchForm,
.datasetsSearchForm,
.softwareSearchForm,
.orpsSearchForm,
.datasourcesSearchForm, .compatibleDatasourcesSearchForm, .compatibleDatasourcesTableSearchForm, .datasourcesTableSearchForm,
.journalsSearchForm, .journalsTableSearchForm,
.entityRegistriesSearchForm, .entityRegistriesTableSearchForm {
background-color: white !important;
background-image: none !important;
}
.emphasis {
color: #000;
font-size: 17px;
font-weight: bold;
}
.portal-color.emphasis {
color: #37C7E9;
font-size: 40px;
font-weight: bold;
}

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 188 KiB

View File

@ -0,0 +1,8 @@
// The file contents for the current environment will overwrite these during build.
// The build system defaults to the dev environment which uses `environment.ts`, but if you do
// `ng build --env=prod` then `environment.prod.ts` will be used instead.
// The list of which env maps to which file can be found in `.angular-cli.json`.
export const portalProperties = {
production: true
};

View File

@ -0,0 +1,3 @@
export const portalProperties = {
production: true
};

View File

@ -0,0 +1,69 @@
// The file contents for the current environment will overwrite these during build.
// The build system defaults to the dev environment which uses `environment.ts`, but if you do
// `ng build --env=prod` then `environment.prod.ts` will be used instead.
// The list of which env maps to which file can be found in `.angular-cli.json`.
export const portalProperties = {
production: false,
aggregator: "canada",
title: "{Title}",
logoPath: "assets/logo.png",
sectionFooter:
`
<div class="uk-section-primary uk-section uk-section-xsmall">
<div class="uk-container uk-container-expand">
<div class="uk-h2 uk-text-center">{This is Footer section}</div>
<div class="uk-grid-margin uk-grid" uk-grid="">
<div class="uk-width-small@m uk-first-column"></div>
<div class="uk-width-expand@m">
<div class=" uk-text-small uk-margin uk-margin-remove-bottom uk-text-center@m uk-text-center uk-text-lead" id="footer#22">
<a class="license" href="http://creativecommons.org/licenses/by/4.0/" rel="license">
<svg class=" uk-svg" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<title></title>
<g data-name="Creative Commons" id="Creative_Commons">
<circle cx="12" cy="12" r="11.5" style="fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round"></circle>
<path d="M10.87,10a3.5,3.5,0,1,0,0,4" style="fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round"></path>
<path d="M18.87,10a3.5,3.5,0,1,0,0,4" style="fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round"></path>
</g>
</svg> &nbsp;
<svg class=" uk-svg" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<title></title>
<g id="Attribution">
<g data-name="<Group>" id="_Group_">
<circle cx="12" cy="5" data-name="<Path>" id="_Path_" r="1.5" style="fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round"></circle>
<path d="M12,8a5,5,0,0,0-3.07.71,1,1,0,0,0-.43.83V15H10v5.5h4V15h1.5V9.54a1,1,0,0,0-.43-.83A5,5,0,0,0,12,8Z" data-name="<Path>" id="_Path_2" style="fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round"></path>
</g>
<circle cx="12" cy="12" r="11.5" style="fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round"></circle>
</g>
</svg>
</a> &nbsp;Unless otherwise indicated, all materials created by OpenAIRE are licenced under&nbsp;<a href="http://creativecommons.org/licenses/by/4.0/" rel="license">CC ATTRIBUTION 4.0 INTERNATIONAL LICENSE</a>. </div>
</div>
<div class="uk-width-small@m">
<div class="uk-margin uk-margin-remove-top uk-margin-remove-bottom uk-text-right@m uk-text-center">
<a class="uk-totop uk-icon" href="#" uk-scroll="" uk-totop="">
<svg width="15" height="20" viewBox="0 0 15 20" xmlns="http://www.w3.org/2000/svg" icon="totop" ratio="1">
<polyline fill="none" stroke="#0000" stroke-width="1.1" points="1,8 7.5,1.5 14,8 "></polyline>
<rect fill="000" x="7" y="2" width="1" height="20"></rect>
</svg>
</a>
</div>
</div>
</div>
</div>
</div>
`,
showNumbersInHhomePage:false,
searchFormSection: `<div class='uk-text-center'> <div class="uk-h2">{Search Form Section}</div></div>`,
homeSectionOne: `<div class='uk-section uk-text-center'> <div class="uk-h2">{This is section One}</div></div>`,
homeSectionTwo: `<div class='uk-section uk-text-center'> <div class="uk-h2">{This is section Two}</div></div>`,
entities:{
publication:{isEnabled:true,simpleSearchPage:true,advancedSearchPage:true},
dataset:{isEnabled:true,simpleSearchPage:true,advancedSearchPage:true},
software:{isEnabled:true,simpleSearchPage:true,advancedSearchPage:true},
other:{isEnabled:true,simpleSearchPage:true,advancedSearchPage:true},
datasource:{isEnabled:true,simpleSearchPage:true,advancedSearchPage:true},
organization:{isEnabled:true,simpleSearchPage:true,advancedSearchPage:true},
project:{isEnabled:true,simpleSearchPage:true,advancedSearchPage:true}},
searchServiceUrl:""
};

View File

@ -0,0 +1,120 @@
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
export let properties: EnvProperties = {
environment: "beta",
adminToolsPortalType: "aggregator",
dashboard: "explore",
enablePiwikTrack: true,
useCache: false,
useLongCache: true,
showAddThis: true,
metricsAPIURL: "https://beta.services.openaire.eu/usagestats/",
framesAPIURL: "https://beta.openaire.eu/stats3/",
statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/",
statisticsFrameAPIURL: "https://beta.openaire.eu/stats/",
statisticsFrameNewAPIURL: "https://stats.madgik.di.uoa.gr/stats-api/",
useNewStatistisTool: true,
claimsAPIURL: "https://beta.services.openaire.eu/claims/rest/claimsService/",
searchAPIURLLAst: "https://beta.services.openaire.eu/search/v2/api/",
searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources",
openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",
csvAPIURL: "https://beta.services.openaire.eu/search/v2/api/reports",
searchCrossrefAPIURL: "https://api.crossref.org/works",
searchDataciteAPIURL: "https://api.datacite.org/works",
searchOrcidURL: "https://pub.orcid.org/v2.1/",
orcidURL: "https://orcid.org/",
doiURL: "https://dx.doi.org/",
pmcURL: "http://europepmc.org/articles/",
pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
handleURL: "http://hdl.handle.net/",
cordisURL: "http://cordis.europa.eu/projects/",
openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
r3DataURL: "http://service.re3data.org/repository/",
sherpaURL: "http://sherpa.ac.uk/romeo/issn/",
sherpaURLSuffix: "/",
zenodo: "https://zenodo.org/",
openAccess: "https://www.openaire.eu/support/faq#article-id-234",
openAccessRepo: "https://www.openaire.eu/support/faq#article-id-310",
fp7Guidlines: "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme",
h2020Guidlines: "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020",
ercGuidlines: "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf",
helpdesk: "https://www.openaire.eu/support/helpdesk",
helpdeskEmail: "helpdesk@openaire.eu",
utilsService: "https://demo.openaire.eu/utils-service",
vocabulariesAPI: "https://beta.services.openaire.eu/provision/mvc/vocabularies/",
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
piwikSiteId: "6",
loginUrl: "https://beta.services.openaire.eu/uoa-user-management/openid_connect_login",
userInfoUrl: "https://beta.services.openaire.eu/uoa-user-management/api/users/getUserInfo?accessToken=",
logoutUrl: "https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=",
cookieDomain: ".openaire.eu",
feedbackmail: "feedback@openaire.eu",
cacheUrl: "https://demo.openaire.eu/cache/get?url=",
datasourcesAPI: "https://beta.services.openaire.eu/openaire/ds/search/",
adminToolsAPIURL: "https://beta.services.openaire.eu/uoa-admin-tools/",
adminToolsCommunity: "openaire",
contextsAPI: "https://beta.services.openaire.eu/openaire/context",
communityAPI: "https://beta.services.openaire.eu/openaire/community/",
csvLimit: 2000,
pagingLimit: 20,
resultsPerPage: 10,
"baseLink" : "/",
"domain":"https://beta.explore.openaire.eu",
searchLinkToResult: "/search/result?id=",
searchLinkToPublication: "/search/publication?articleId=",
searchLinkToProject: "/search/project?projectId=",
searchLinkToDataProvider: "/search/dataprovider?datasourceId=",
searchLinkToDataset: "/search/dataset?datasetId=",
searchLinkToSoftwareLanding: "/search/software?softwareId=",
searchLinkToOrp: "/search/other?orpId=",
searchLinkToOrganization: "/search/organization?organizationId=",
searchLinkToPublications: "/search/find/publications",
searchLinkToDataProviders: "/search/find/dataproviders",
searchLinkToProjects: "/search/find/projects",
searchLinkToDatasets: "/search/find/datasets",
searchLinkToSoftware: "/search/find/software",
searchLinkToOrps: "/search/find/other",
searchLinkToOrganizations: "/search/find/organizations",
searchLinkToCompatibleDataProviders: "/search/content-providers",
searchLinkToEntityRegistriesDataProviders: "/search/entity-registries",
searchLinkToEntityRegistriesDataProvidersTable: "/search/entity-registries-table",
searchLinkToJournals: "/search/journals",
searchLinkToJournalsTable: "/search/journals-table",
searchLinkToResults: "/search/find/research-outcomes",
searchLinkToAdvancedPublications: "/search/advanced/publications",
searchLinkToAdvancedProjects: "/search/advanced/projects",
searchLinkToAdvancedDatasets: "/search/advanced/datasets",
searchLinkToAdvancedSoftware: "/search/advanced/software",
searchLinkToAdvancedOrps: "/search/advanced/other",
searchLinkToAdvancedDataProviders: "/search/advanced/dataproviders",
searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
lastIndexInformationLink: "https://www.openaire.eu/aggregation-and-content-provision-workflows",
showLastIndexInformationLink: false,
widgetLink: "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
claimsInformationLink: "https://beta.openaire.eu/linking",
lastIndexUpdate: "2020-05-11",
indexInfoAPI: "https://beta.services.openaire.eu/openaire/info/",
depositLearnHowPage: "/participate/deposit/learn-how",
depositSearchPage: "/participate/deposit/search",
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
b2noteAPIURL: "http://b2note-dev.bsc.es/"
};

View File

@ -1,3 +1,121 @@
export const environment = { import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
production: true
export let properties: EnvProperties = {
environment: "production",
adminToolsPortalType: "aggregator",
dashboard: "explore",
enablePiwikTrack: true,
useCache: false,
useLongCache: true,
showAddThis: true,
metricsAPIURL: "https://services.openaire.eu/usagestats/",
framesAPIURL: "https://www.openaire.eu/stats3/",
statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/",
statisticsFrameAPIURL: "https://www.openaire.eu/stats/",
statisticsFrameNewAPIURL: "https://services.openaire.eu/stats/",
useNewStatistisTool: false,
claimsAPIURL: "https://services.openaire.eu/claims/rest/claimsService/",
searchAPIURLLAst: "https://services.openaire.eu/search/v2/api/",
searchResourcesAPIURL: "https://services.openaire.eu/search/v2/api/resources",
openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",
csvAPIURL: "https://services.openaire.eu/search/v2/api/reports",
searchCrossrefAPIURL: "https://api.crossref.org/works",
searchDataciteAPIURL: "https://api.datacite.org/works",
searchOrcidURL: "https://pub.orcid.org/v2.1/",
orcidURL: "https://orcid.org/",
doiURL: "https://dx.doi.org/",
pmcURL: "http://europepmc.org/articles/",
pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
handleURL: "http://hdl.handle.net/",
cordisURL: "http://cordis.europa.eu/projects/",
openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
r3DataURL: "http://service.re3data.org/repository/",
sherpaURL: "http://sherpa.ac.uk/romeo/issn/",
sherpaURLSuffix: "/",
zenodo: "https://zenodo.org/",
openAccess: "https://www.openaire.eu/support/faq#article-id-234",
openAccessRepo: "https://www.openaire.eu/support/faq#article-id-310",
fp7Guidlines: "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme",
h2020Guidlines: "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020",
ercGuidlines: "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf",
helpdesk: "https://www.openaire.eu/support/helpdesk",
helpdeskEmail: "helpdesk@openaire.eu",
utilsService: "https://explore.openaire.eu/utils-service",
vocabulariesAPI: "https://services.openaire.eu/provision/mvc/vocabularies/",
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
piwikSiteId: "109",
loginUrl: "https://services.openaire.eu/uoa-user-management/openid_connect_login",
userInfoUrl: " https://services.openaire.eu/uoa-user-management/api/users/getUserInfo?accessToken=",
logoutUrl: "https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=",
cookieDomain: ".openaire.eu",
feedbackmail: "feedback@openaire.eu",
cacheUrl: "https://explore.openaire.eu/cache/get?url=",
datasourcesAPI: "https://services.openaire.eu/openaire/ds/search/",
adminToolsAPIURL: "https://services.openaire.eu/uoa-admin-tools/",
adminToolsCommunity: "openaire",
contextsAPI: "https://services.openaire.eu/openaire/context",
communityAPI: "https://services.openaire.eu/openaire/community/",
csvLimit: 2000,
pagingLimit: 20,
resultsPerPage: 10,
"baseLink" : "/",
"domain": "https://explore.openaire.eu",
searchLinkToResult: "/search/result?id=",
searchLinkToPublication: "/search/publication?articleId=",
searchLinkToProject: "/search/project?projectId=",
searchLinkToDataProvider: "/search/dataprovider?datasourceId=",
searchLinkToDataset: "/search/dataset?datasetId=",
searchLinkToSoftwareLanding: "/search/software?softwareId=",
searchLinkToOrp: "/search/other?orpId=",
searchLinkToOrganization: "/search/organization?organizationId=",
searchLinkToPublications: "/search/find/publications",
searchLinkToDataProviders: "/search/find/dataproviders",
searchLinkToProjects: "/search/find/projects",
searchLinkToDatasets: "/search/find/datasets",
searchLinkToSoftware: "/search/find/software",
searchLinkToOrps: "/search/find/other",
searchLinkToOrganizations: "/search/find/organizations",
searchLinkToCompatibleDataProviders: "/search/content-providers",
searchLinkToEntityRegistriesDataProviders: "/search/entity-registries",
searchLinkToEntityRegistriesDataProvidersTable: "/search/entity-registries-table",
searchLinkToJournals: "/search/journals",
searchLinkToJournalsTable: "/search/journals-table",
searchLinkToResults: "/search/find/research-outcomes",
searchLinkToAdvancedPublications: "/search/advanced/publications",
searchLinkToAdvancedProjects: "/search/advanced/projects",
searchLinkToAdvancedDatasets: "/search/advanced/datasets",
searchLinkToAdvancedSoftware: "/search/advanced/software",
searchLinkToAdvancedOrps: "/search/advanced/other",
searchLinkToAdvancedDataProviders: "/search/advanced/dataproviders",
searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
lastIndexInformationLink: "https://www.openaire.eu/aggregation-and-content-provision-workflows",
showLastIndexInformationLink: true,
widgetLink: "https://www.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
claimsInformationLink: "https://www.openaire.eu/linking",
lastIndexUpdate: "2020-06-15",
indexInfoAPI: "https://services.openaire.eu/openaire/info/",
depositLearnHowPage: "/participate/deposit/learn-how",
depositSearchPage: "/participate/deposit/search",
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
b2noteAPIURL: "http://b2note-dev.bsc.es/"
}; };

View File

@ -3,6 +3,122 @@
// `ng build --env=prod` then `environment.prod.ts` will be used instead. // `ng build --env=prod` then `environment.prod.ts` will be used instead.
// The list of which env maps to which file can be found in `.angular-cli.json`. // The list of which env maps to which file can be found in `.angular-cli.json`.
export const environment = { import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
production: false
export let properties: EnvProperties = {
environment: "development",
adminToolsPortalType: "aggregator",
dashboard: "explore",
enablePiwikTrack: false,
useCache: true,
useLongCache: true,
showAddThis: true,
metricsAPIURL: "https://beta.services.openaire.eu/usagestats/",
framesAPIURL: "https://beta.openaire.eu/stats3/",
statisticsAPIURL: "http://vatopedi.di.uoa.gr:8080/stats/",
statisticsFrameAPIURL: "https://beta.openaire.eu/stats/",
statisticsFrameNewAPIURL: "https://stats.madgik.di.uoa.gr/stats-api/",
useNewStatistisTool: true,
claimsAPIURL: "http://dl170.madgik.di.uoa.gr:8180/dnet-claims-service-2.0.0-SNAPSHOT/rest/claimsService/",
searchAPIURLLAst: "http://beta.services.openaire.eu/search/v2/api/",
searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources",
openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",
csvAPIURL: "https://beta.services.openaire.eu/search/v2/api/reports",
searchCrossrefAPIURL: "https://api.crossref.org/works",
searchDataciteAPIURL: "https://api.datacite.org/works",
searchOrcidURL: "https://pub.orcid.org/v2.1/",
orcidURL: "https://orcid.org/",
doiURL: "https://dx.doi.org/",
pmcURL: "http://europepmc.org/articles/",
pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
handleURL: "http://hdl.handle.net/",
cordisURL: "http://cordis.europa.eu/projects/",
openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
r3DataURL: "http://service.re3data.org/repository/",
sherpaURL: "http://sherpa.ac.uk/romeo/issn/",
sherpaURLSuffix: "/",
zenodo: "https://zenodo.org/",
openAccess: "https://www.openaire.eu/support/faq#article-id-234",
openAccessRepo: "https://www.openaire.eu/support/faq#article-id-310",
fp7Guidlines: "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme",
h2020Guidlines: "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020",
ercGuidlines: "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf",
helpdesk: "https://www.openaire.eu/support/helpdesk",
helpdeskEmail: "helpdesk@openaire.eu",
utilsService: "http://dl170.madgik.di.uoa.gr:8000",
vocabulariesAPI: "https://dev-openaire.d4science.org/provision/mvc/vocabularies/",
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
piwikSiteId: "6",
loginUrl: "http://dl170.madgik.di.uoa.gr:8180/dnet-login/openid_connect_login",
userInfoUrl: "http://dl170.madgik.di.uoa.gr:8180/dnet-openaire-users-1.0.0-SNAPSHOT/api/users/getUserInfo?accessToken=",
logoutUrl: "https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=",
cookieDomain: ".di.uoa.gr",
feedbackmail: "kostis30fylloy@gmail.com",
cacheUrl: "http://dl170.madgik.di.uoa.gr:3000/get?url=",
adminToolsAPIURL: "http://duffy.di.uoa.gr:8080/uoa-admin-tools/",
adminToolsCommunity: "openaire",
datasourcesAPI: "https://beta.services.openaire.eu/openaire/ds/search/",
contextsAPI: "https://dev-openaire.d4science.org/openaire/context",
communityAPI: "https://dev-openaire.d4science.org/openaire/community/",
csvLimit: 2000,
pagingLimit: 20,
resultsPerPage: 10,
"baseLink" : "",
"domain": "https://beta.explore.openaire.eu",
searchLinkToResult: "/search/result?id=",
searchLinkToPublication: "/search/publication?articleId=",
searchLinkToProject: "/search/project?projectId=",
searchLinkToDataProvider: "/search/dataprovider?datasourceId=",
searchLinkToDataset: "/search/dataset?datasetId=",
searchLinkToSoftwareLanding: "/search/software?softwareId=",
searchLinkToOrp: "/search/other?orpId=",
searchLinkToOrganization: "/search/organization?organizationId=",
searchLinkToPublications: "/search/find/publications",
searchLinkToDataProviders: "/search/find/dataproviders",
searchLinkToProjects: "/search/find/projects",
searchLinkToDatasets: "/search/find/datasets",
searchLinkToSoftware: "/search/find/software",
searchLinkToOrps: "/search/find/other",
searchLinkToOrganizations: "/search/find/organizations",
searchLinkToCompatibleDataProviders: "/search/content-providers",
searchLinkToEntityRegistriesDataProviders: "/search/entity-registries",
searchLinkToEntityRegistriesDataProvidersTable: "/search/entity-registries-table",
searchLinkToJournals: "/search/journals",
searchLinkToJournalsTable: "/search/journals-table",
searchLinkToResults: "/search/find/research-outcomes",
searchLinkToAdvancedPublications: "/search/advanced/publications",
searchLinkToAdvancedProjects: "/search/advanced/projects",
searchLinkToAdvancedDatasets: "/search/advanced/datasets",
searchLinkToAdvancedSoftware: "/search/advanced/software",
searchLinkToAdvancedOrps: "/search/advanced/other",
searchLinkToAdvancedDataProviders: "/search/advanced/dataproviders",
searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
lastIndexInformationLink: "https://www.openaire.eu/aggregation-and-content-provision-workflows",
showLastIndexInformationLink: true,
widgetLink: "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
claimsInformationLink: "https://www.openaire.eu/linking-beta",
lastIndexUpdate: "2019-11-01",
indexInfoAPI: "https://beta.services.openaire.eu/openaire/info/",
depositLearnHowPage: "/participate/deposit/learn-how",
depositSearchPage: "/participate/deposit/search",
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
reCaptchaSiteKey: "6LcVtFIUAAAAAB2ac6xYivHxYXKoUvYRPi-6_rLu",
b2noteAPIURL: "http://b2note-dev.bsc.es/"
}; };

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en-gb" dir="ltr" vocab="http://schema.org/"> <html lang="en" dir="ltr" vocab="http://schema.org/">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
@ -20,10 +20,7 @@
<meta property="og:image:type" content="image/png" /> <meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="360" /> <meta property="og:image:width" content="360" />
<meta property="og:image:height" content="359" /> <meta property="og:image:height" content="359" />
<!--meta name="robots" content="noindex"--> <meta name="robots" content="noindex">
<meta name="google-site-verification" content="rZ-58gIX8IqzBte6Qv4J5yY9aSiDP15Dfc1Yr9yezqE" />
<meta name="msvalidate.01" content="AE99823CD202A982BAA0154148234DA8" />
<meta name="yandex-verification" content="a7b057437d324960" />
<link rel="apple-touch-icon" sizes="57x57" href="assets/common-assets/logo/apple-icon-57x57.png"> <link rel="apple-touch-icon" sizes="57x57" href="assets/common-assets/logo/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="assets/common-assets/logo/apple-icon-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" href="assets/common-assets/logo/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="assets/common-assets/logo/apple-icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="assets/common-assets/logo/apple-icon-72x72.png">
@ -44,52 +41,6 @@
<meta name="theme-color" content="#ffffff"> <meta name="theme-color" content="#ffffff">
<title>Search OpenAIRE</title> <title>Search OpenAIRE</title>
<script>
window.onerror = function (errorMsg, url, lineNumber, column, errorObj) {
// console.log(errorMsg + " __" + url + " __" + lineNumber + " __" + column + " __" + errorObj);
if((errorMsg && errorMsg.indexOf("uikit.js") != -1) || url.indexOf("uikit.js") != -1 ){
console.log("********UIKIT Error ***********");
$.getScript("assets/common-assets/common/uikit.js");
$.getScript("assets/common-assets/common/uikit-icons-max.js");
}
}
</script>
<!-- <script src="assets/common-assets/jquery/jquery.min.js" type="text/javascript"></script> -->
<script src="assets/common-assets/common/jquery.js"></script>
<script src="assets/common-assets/citeproc.js"></script>
<!-- <script src="assets/common-assets/common/uikit.js"></script> -->
<script src="assets/common-assets/common/uikit-icons-max.js"></script>
<script>
$(document).ready(function(){
console.log("Is ready - load uikit ***")
$.getScript("assets/common-assets/common/uikit.js");
$.getScript("assets/common-assets/common/uikit-icons-max.js");
$.getScript("//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-559d24521cd8c080");
});
</script>
<link rel="stylesheet" href="assets/common-assets/common/theme.css">
<link rel="stylesheet" href="assets/common-assets/common/custom.css">
<link rel="stylesheet" href="assets/common-assets/library.css">
<link rel="stylesheet" href="assets/aggregator-custom.css">
<script src="assets/common-assets/clipboard.min.js"></script>
<!--script type='text/javascript' src="node_modules/clipboard/dist/clipboard.min.js"></script-->
<!--script src="https://cdn.jsdelivr.net/clipboard.js/1.5.12/clipboard.min.js"></script-->
<!--script type='text/javascript' src='https://d1bxh8uas1mnw7.cloudfront.net/assets/common-assets/embed.js'></script-->
<!-- End of Google sitelinks search markup-->
</head> </head>
<body class="" style=""> <body class="" style="">
@ -106,9 +57,5 @@ $(document).ready(function(){
}; };
</script> </script>
<!-- Go to www.addthis.com/dashboard to customize your tools -->
<!-- to update addThis: https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-559d24521cd8c080-->
<!-- <script type="text/javascript" src="https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5a12dbd124e4e521"></script> -->
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-559d24521cd8c080"></script>
</body> </body>
</html> </html>

View File

@ -2,9 +2,9 @@ import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module'; import { AppModule } from './app/app.module';
import { environment } from './environments/environment'; import {portalProperties} from "./environments/environment-aggregator";
if (environment.production) { if (portalProperties.production) {
enableProdMode(); enableProdMode();
} }

View File

@ -1,2 +1,8 @@
/* You can add global styles to this file, and also import other style files */ /* You can add global styles to this file, and also import other style files */
@import '~@angular/material/prebuilt-themes/indigo-pink.css'; @import '~@angular/material/prebuilt-themes/indigo-pink.css';
@import "assets/common-assets/common/theme.css";
@import "assets/common-assets/common/custom.css";
@import "assets/common-assets/library.css";
@import "assets/portal-custom.css";