From 793a2271998a4fb8dc3ed9a9bdd9f6a63baf477f Mon Sep 17 00:00:00 2001 From: "argiro.kokogiannaki" Date: Wed, 18 Nov 2020 17:01:52 +0000 Subject: [PATCH] [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 --- angular.json | 6 + package.json | 1 + .../aggregator/aggregator-routing.module.ts | 94 +-- src/app/app-routing.module.ts | 8 +- src/app/app.component.ts | 56 +- src/app/error/errorPage.component.ts | 5 +- src/app/home/home-routing.module.ts | 3 +- src/app/home/home.component.html | 676 +++++++++--------- src/app/home/home.component.ts | 394 +++++----- src/app/home/home.module.ts | 62 +- .../landingPages/result/libResult.module.ts | 13 + .../result/result-routing.module.ts | 17 + .../landingPages/result/result.component.ts | 7 + ...ancedSearchDataProviders-routing.module.ts | 3 +- .../advancedSearchDataProviders.component.ts | 4 +- .../advancedSearchDataProviders.module.ts | 7 +- .../advancedSearchDatasets-routing.module.ts | 19 - .../advancedSearchDatasets.component.ts | 27 - .../advanced/advancedSearchDatasets.module.ts | 24 - ...ancedSearchOrganizations-routing.module.ts | 3 +- .../advancedSearchOrganizations.component.ts | 4 +- .../advancedSearchOrganizations.module.ts | 7 +- .../advancedSearchOrps-routing.module.ts | 19 - .../advanced/advancedSearchOrps.component.ts | 27 - .../advanced/advancedSearchOrps.module.ts | 24 - .../advancedSearchProjects-routing.module.ts | 3 +- .../advancedSearchProjects.component.ts | 4 +- .../advanced/advancedSearchProjects.module.ts | 7 +- ...vancedSearchPublications-routing.module.ts | 18 - .../advancedSearchPublications.component.ts | 25 - .../advancedSearchPublications.module.ts | 27 - .../advancedSearchSoftware-routing.module.ts | 16 - .../advancedSearchSoftware.component.ts | 26 - .../advanced/advancedSearchSoftware.module.ts | 27 - .../searchResearchResults-routing.module.ts | 18 + .../searchResearchResults.component.ts} | 18 +- .../advanced/searchResearchResults.module.ts | 25 + src/app/searchPages/find/libSearch.module.ts | 7 +- .../find/mainSearch-routing.module.ts | 3 +- src/app/searchPages/find/search.component.ts | 5 +- .../searchDataProviders-routing.module.ts | 2 +- .../simple/searchDataProviders.module.ts | 5 +- .../simple/searchDatasets-routing.module.ts | 21 - .../simple/searchDatasets.module.ts | 27 - .../searchOrganizations-routing.module.ts | 3 +- .../simple/searchOrganizations.module.ts | 5 +- .../simple/searchOrps-routing.module.ts | 21 - .../searchPages/simple/searchOrps.module.ts | 25 - .../simple/searchProjects-routing.module.ts | 3 +- .../simple/searchProjects.component.ts | 2 +- .../simple/searchProjects.module.ts | 5 +- .../searchPublications-routing.module.ts | 19 - .../simple/searchPublications.component.ts | 23 - .../simple/searchPublications.module.ts | 27 - .../searchResearchResults-routing.module.ts | 18 + ....ts => searchResearchResults.component.ts} | 18 +- .../simple/searchResearchResults.module.ts | 25 + .../simple/searchSoftware-routing.module.ts | 16 - .../simple/searchSoftware.component.ts | 24 - .../simple/searchSoftware.module.ts | 24 - src/app/utils/aggregatorNavBar.component.ts | 63 -- src/app/utils/aggregators.ts | 4 +- src/assets/canada-background.svg | 14 + src/assets/canada-logo.png | Bin 0 -> 29239 bytes src/assets/env-properties.json | 2 +- src/assets/graph.svg | 1 + src/assets/link.svg | 2 +- src/assets/portal-custom.css | 45 ++ src/assets/share.svg | 2 +- .../environment-aggregator.beta.ts | 8 + .../environment-aggregator.prod.ts | 3 + src/environments/environment-aggregator.ts | 69 ++ src/environments/environment.beta.ts | 120 ++++ src/environments/environment.prod.ts | 122 +++- src/environments/environment.ts | 120 +++- src/index.html | 57 +- src/main.ts | 4 +- src/styles.css | 6 + 78 files changed, 1352 insertions(+), 1342 deletions(-) create mode 100644 src/app/landingPages/result/libResult.module.ts create mode 100644 src/app/landingPages/result/result-routing.module.ts create mode 100644 src/app/landingPages/result/result.component.ts delete mode 100644 src/app/searchPages/advanced/advancedSearchDatasets-routing.module.ts delete mode 100644 src/app/searchPages/advanced/advancedSearchDatasets.component.ts delete mode 100644 src/app/searchPages/advanced/advancedSearchDatasets.module.ts delete mode 100644 src/app/searchPages/advanced/advancedSearchOrps-routing.module.ts delete mode 100644 src/app/searchPages/advanced/advancedSearchOrps.component.ts delete mode 100644 src/app/searchPages/advanced/advancedSearchOrps.module.ts delete mode 100644 src/app/searchPages/advanced/advancedSearchPublications-routing.module.ts delete mode 100644 src/app/searchPages/advanced/advancedSearchPublications.component.ts delete mode 100644 src/app/searchPages/advanced/advancedSearchPublications.module.ts delete mode 100644 src/app/searchPages/advanced/advancedSearchSoftware-routing.module.ts delete mode 100644 src/app/searchPages/advanced/advancedSearchSoftware.component.ts delete mode 100644 src/app/searchPages/advanced/advancedSearchSoftware.module.ts create mode 100644 src/app/searchPages/advanced/searchResearchResults-routing.module.ts rename src/app/searchPages/{simple/searchOrps.component.ts => advanced/searchResearchResults.component.ts} (61%) create mode 100644 src/app/searchPages/advanced/searchResearchResults.module.ts delete mode 100644 src/app/searchPages/simple/searchDatasets-routing.module.ts delete mode 100644 src/app/searchPages/simple/searchDatasets.module.ts delete mode 100644 src/app/searchPages/simple/searchOrps-routing.module.ts delete mode 100644 src/app/searchPages/simple/searchOrps.module.ts delete mode 100644 src/app/searchPages/simple/searchPublications-routing.module.ts delete mode 100644 src/app/searchPages/simple/searchPublications.component.ts delete mode 100644 src/app/searchPages/simple/searchPublications.module.ts create mode 100644 src/app/searchPages/simple/searchResearchResults-routing.module.ts rename src/app/searchPages/simple/{searchDatasets.component.ts => searchResearchResults.component.ts} (56%) create mode 100644 src/app/searchPages/simple/searchResearchResults.module.ts delete mode 100644 src/app/searchPages/simple/searchSoftware-routing.module.ts delete mode 100644 src/app/searchPages/simple/searchSoftware.component.ts delete mode 100644 src/app/searchPages/simple/searchSoftware.module.ts delete mode 100644 src/app/utils/aggregatorNavBar.component.ts create mode 100644 src/assets/canada-background.svg create mode 100644 src/assets/canada-logo.png create mode 100644 src/assets/graph.svg create mode 100644 src/assets/portal-custom.css create mode 100644 src/environments/environment-aggregator.beta.ts create mode 100644 src/environments/environment-aggregator.prod.ts create mode 100644 src/environments/environment-aggregator.ts create mode 100644 src/environments/environment.beta.ts diff --git a/angular.json b/angular.json index dd429b3..9fb4c4d 100644 --- a/angular.json +++ b/angular.json @@ -31,6 +31,9 @@ "node_modules/datatables.net-dt/css/jquery.dataTables.css" ], "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/datatables.net/js/jquery.dataTables.js" ] @@ -80,6 +83,9 @@ "polyfills": "src/polyfills.ts", "tsConfig": "src/tsconfig.spec.json", "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/datatables.net/js/jquery.dataTables.js" ], diff --git a/package.json b/package.json index eb07739..117e74b 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "datatables.net": "^1.10.19", "datatables.net-dt": "^1.10.19", "jquery": "^3.4.1", + "ng-recaptcha": "^3.0.5", "ngx-json-ld": "0.1.6", "prom-client": "^11.3.0", "ts-md5": "^1.2.0", diff --git a/src/app/aggregator/aggregator-routing.module.ts b/src/app/aggregator/aggregator-routing.module.ts index 887c47b..24e4551 100644 --- a/src/app/aggregator/aggregator-routing.module.ts +++ b/src/app/aggregator/aggregator-routing.module.ts @@ -1,131 +1,81 @@ import {NgModule} from '@angular/core'; 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 = [ - {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', - loadChildren: '../landingPages/publication/libPublication.module#LibPublicationModule', - resolve: {envSpecific: EnvironmentSpecificResolver} + loadChildren: '../landingPages/publication/libPublication.module#LibPublicationModule' }, { path: 'search/dataset', - loadChildren: '../landingPages/dataset/libDataset.module#LibDatasetModule', - resolve: {envSpecific: EnvironmentSpecificResolver} + loadChildren: '../landingPages/dataset/libDataset.module#LibDatasetModule' }, { path: 'search/software', - loadChildren: '../landingPages/software/libSoftware.module#LibSoftwareModule', - resolve: {envSpecific: EnvironmentSpecificResolver} + loadChildren: '../landingPages/software/libSoftware.module#LibSoftwareModule' }, { path: 'search/other', - loadChildren: '../landingPages/orp/libOrp.module#LibOrpModule', - resolve: {envSpecific: EnvironmentSpecificResolver} + loadChildren: '../landingPages/orp/libOrp.module#LibOrpModule' }, { path: 'search/project', - loadChildren: '../landingPages/project/libProject.module#LibProjectModule', - resolve: {envSpecific: EnvironmentSpecificResolver} + loadChildren: '../landingPages/project/libProject.module#LibProjectModule' }, { path: 'search/dataprovider', - loadChildren: '../landingPages/dataProvider/libDataProvider.module#LibDataProviderModule', - resolve: {envSpecific: EnvironmentSpecificResolver} + loadChildren: '../landingPages/dataProvider/libDataProvider.module#LibDataProviderModule' }, { path: 'search/organization', - loadChildren: '../landingPages/organization/libOrganization.module#LibOrganizationModule', - resolve: {envSpecific: EnvironmentSpecificResolver} + loadChildren: '../landingPages/organization/libOrganization.module#LibOrganizationModule' }, { path: 'search/find', - loadChildren: '../searchPages/find/libSearch.module#LibMainSearchModule', - resolve: {envSpecific: EnvironmentSpecificResolver} + loadChildren: '../searchPages/find/libSearch.module#LibMainSearchModule' }, - { - 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/research-outcomes', loadChildren: '../searchPages/simple/searchResearchResults.module#OpenaireSearchResearchResultsModule' }, { path: 'search/find/projects', - loadChildren: '../searchPages/simple/searchProjects.module#LibSearchProjectsModule', - resolve: {envSpecific: EnvironmentSpecificResolver} + loadChildren: '../searchPages/simple/searchProjects.module#LibSearchProjectsModule' }, { path: 'search/find/dataproviders', - loadChildren: '../searchPages/simple/searchDataProviders.module#LibSearchDataProvidersModule', - resolve: {envSpecific: EnvironmentSpecificResolver} + loadChildren: '../searchPages/simple/searchDataProviders.module#LibSearchDataProvidersModule' }, { path: 'search/find/organizations', - loadChildren: '../searchPages/simple/searchOrganizations.module#LibSearchOrganizationsModule', - resolve: {envSpecific: EnvironmentSpecificResolver} + loadChildren: '../searchPages/simple/searchOrganizations.module#LibSearchOrganizationsModule' }, - { - path: 'search/advanced/publications', - 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/research-outcomes', + loadChildren: '../searchPages/advanced/searchResearchResults.module#OpenaireAdvancedSearchResearchResultsModule' }, { path: 'search/advanced/organizations', - loadChildren: '../searchPages/advanced/advancedSearchOrganizations.module#LibAdvancedSearchOrganizationsModule', - resolve: {envSpecific: EnvironmentSpecificResolver} + loadChildren: '../searchPages/advanced/advancedSearchOrganizations.module#LibAdvancedSearchOrganizationsModule' }, { path: 'search/advanced/dataproviders', - loadChildren: '../searchPages/advanced/advancedSearchDataProviders.module#LibAdvancedSearchDataProvidersModule', - resolve: {envSpecific: EnvironmentSpecificResolver} + loadChildren: '../searchPages/advanced/advancedSearchDataProviders.module#LibAdvancedSearchDataProvidersModule' }, { path: 'search/advanced/projects', - loadChildren: '../searchPages/advanced/advancedSearchProjects.module#LibAdvancedSearchProjectsModule', - resolve: {envSpecific: EnvironmentSpecificResolver} + loadChildren: '../searchPages/advanced/advancedSearchProjects.module#LibAdvancedSearchProjectsModule' }, { path: 'project-report', - loadChildren: '../landingPages/htmlProjectReport/libHtmlProjectReport.module#LibHtmlProjectReportModule', - resolve: {envSpecific: EnvironmentSpecificResolver} + loadChildren: '../landingPages/htmlProjectReport/libHtmlProjectReport.module#LibHtmlProjectReportModule' }, ]; @NgModule({ imports: [RouterModule.forChild(routes)], exports: [RouterModule], - providers: [EnvironmentSpecificResolver, EnvironmentSpecificService] }) export class AggregatorRoutingModule { } diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 5c1b087..c3d3c69 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -8,10 +8,10 @@ import { EnvironmentSpecificService} from './openaireLibrary/utils/properties/en import { OpenaireErrorPageComponent } from './error/errorPage.component'; const routes: Routes = [ - { path: '', loadChildren: './aggregator/aggregator.module#AggregatorModule', resolve: { envSpecific: EnvironmentSpecificResolver }}, - { path: ':id', loadChildren: './aggregator/aggregator.module#AggregatorModule', resolve: { envSpecific: EnvironmentSpecificResolver }}, - { path: 'error', component: OpenaireErrorPageComponent, resolve: { envSpecific: EnvironmentSpecificResolver }}, - { path: '**',pathMatch: 'full',component: OpenaireErrorPageComponent, resolve: { envSpecific: EnvironmentSpecificResolver }} + { path: '', loadChildren: './aggregator/aggregator.module#AggregatorModule'}, + { path: ':id', loadChildren: './aggregator/aggregator.module#AggregatorModule'}, + { path: 'error', component: OpenaireErrorPageComponent}, + { path: '**',pathMatch: 'full',component: OpenaireErrorPageComponent} ]; @NgModule({ diff --git a/src/app/app.component.ts b/src/app/app.component.ts index ea9992c..6b58744 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -8,6 +8,8 @@ import {HelperFunctions} from "./openaireLibrary/utils/HelperFunctions.class"; import {FilterInfo, PortalAggregators} from "./utils/aggregators"; import {UserManagementService} from "./openaireLibrary/services/user-management.service"; import {User} from "./openaireLibrary/login/utils/helper.class"; +import {Header} from "./openaireLibrary/sharedComponents/navigationBar.component"; +import {portalProperties} from "../environments/environment-aggregator"; @Component({ //changeDetection: ChangeDetectionStrategy.Default, @@ -17,9 +19,9 @@ import {User} from "./openaireLibrary/login/utils/helper.class"; `], template: ` - + [userMenu]="true" [header]="header">
@@ -46,10 +48,7 @@ export class AppComponent { {rootItem: new MenuItem("home", "Home", "", "/", false, [], null, {}), items: []}, { rootItem: new MenuItem("search", "Search", "", "/search/find", false, [], null, {}), - items: [new MenuItem("", "Publications", "", "/search/find/publications", 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, [], [], {}), + items: [new MenuItem("", "Research outcomes", "", "/search/find/research-outcomes", false, [], [], {}), new MenuItem("", "Projects", "", "/search/find/projects/", false, [], [], {}), new MenuItem("", "Content Providers", "", "/search/find/dataproviders", false, [], [], {}), new MenuItem("", "Organizations", "", "/search/find/organizations/", false, [], [], {}) @@ -63,7 +62,8 @@ export class AppComponent { properties: EnvProperties; user: User; loginCheck: boolean = false; - + footer=portalProperties.sectionFooter; + header:Header; constructor(private route: ActivatedRoute, private propertiesService: EnvironmentSpecificService, private router: Router, private userManagementService: UserManagementService) { @@ -81,7 +81,16 @@ export class AppComponent { this.id = params['id']; let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(this.id); 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) { this.buildMenu(); @@ -101,16 +110,29 @@ export class AppComponent { {rootItem: new MenuItem("home", "Home", "", "/" + this.id, false, [], null, {}), items: []}, { rootItem: new MenuItem("search", "Search", "", "/" + this.id + "/search/find", false, [], null, {}), - items: [new MenuItem("", "Publications", "", "/" + this.id + "/search/find/publications", false, [], [], {}), - 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, [], [], {}) - ] + items: [] } ]; + 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() { @@ -126,7 +148,7 @@ export class AppComponent { .then(es => { this.propertiesService.setEnvProperties(es); this.properties = this.propertiesService.envSpecific; - this.userManagementService.getUserInfo(this.properties.userInfoUrl).subscribe(user => { + this.userManagementService.getUserInfo().subscribe(user => { this.user = user; this.loginCheck = true; }); diff --git a/src/app/error/errorPage.component.ts b/src/app/error/errorPage.component.ts index e96d3dc..52073bc 100644 --- a/src/app/error/errorPage.component.ts +++ b/src/app/error/errorPage.component.ts @@ -1,6 +1,5 @@ -import { Component, Input } from '@angular/core'; -import { Location } from '@angular/common'; - +import { Component } from '@angular/core'; + @Component({ selector: 'openaire-error', template: ` diff --git a/src/app/home/home-routing.module.ts b/src/app/home/home-routing.module.ts index e372e73..89a7faa 100644 --- a/src/app/home/home-routing.module.ts +++ b/src/app/home/home-routing.module.ts @@ -2,12 +2,11 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import{HomeComponent} from './home.component'; -import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: HomeComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: HomeComponent,canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/home/home.component.html b/src/app/home/home.component.html index 5f349fb..f055a32 100644 --- a/src/app/home/home.component.html +++ b/src/app/home/home.component.html @@ -1,366 +1,354 @@ - -
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
- Search for more than - - - {{publicationsSize.number|number}}{{publicationsSize.size}} - {{((showDatasets || showSoftware || showOrp) ? " publications, " - : " publications ")}} - - - {{datasetsSize.number|number}}{{datasetsSize.size}} - {{((showSoftware || showOrp) ? " research data, " : " research data ")}} - - - {{otherSize.number|number}}{{otherSize.size}} - {{((showSoftware) ? " other research products, " : " other research products ")}} - - - {{softwareSize.number|number}}{{softwareSize.size}} - software - - -
- - from - {{organizationsSize.number|number}}{{organizationsSize.size}} - organizations - - - {{((showOrganizations && showOrganizations) ? " and " : " from ")}} - {{datasourcesSize.number|number}}{{datasourcesSize.size}} - content providers - - - {{((showDataProviders && datasourcesSize) ? " and " : " from ")}} - {{fundersSize.number|number}}{{fundersSize.size}} - funders - - - linked together for an integrated discovery of scientific output +
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + +
+
+ + +
+
+
-
- - +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+
+
Extracted Metadata Combined.
+ +

The OpenAIRE Research Graph 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.
+
+ 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.
+
+ 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.
+
+ 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.

+ +
+
+ Read more +
+
+ Read less +
+
+
+
+ +
+
+ +
+
+
+
+
+ + + + + +
+
+
+
+
+
+
+
Share
+ +
Deposit your research
+ +
+
Deposit in a repository of your choice.
+ Select an OpenAIRE compatible
+ 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.)
+
+ Deposit
+
+ +
+
+
Share
+ +
Link your work
+ +
+
Connect all your research.
+ If you can't find your research results in OpenAIRE, don't worry! Use our Link Out service , that reaches out to many
+ external sources via APIs, to connect
+ your research results and claim them to your project.
+
+ Link
+
+
+
- - - - - - - - - +
+
+ + + + + + + + diff --git a/src/app/home/home.component.ts b/src/app/home/home.component.ts index d5204e3..3dbf610 100644 --- a/src/app/home/home.component.ts +++ b/src/app/home/home.component.ts @@ -1,208 +1,230 @@ import {Component} from '@angular/core'; +import {Subscription} from 'rxjs'; import {ActivatedRoute, Router} from '@angular/router'; import {Location} from '@angular/common'; 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 {FetchDataproviders} from '../openaireLibrary/utils/fetchEntitiesClasses/fetchDataproviders.class'; -import {SearchDataprovidersService} from '../openaireLibrary/services/searchDataproviders.service'; -import {SearchProjectsService} from '../openaireLibrary/services/searchProjects.service'; -import {SearchOrganizationsService} from '../openaireLibrary/services/searchOrganizations.service'; -import {RefineFieldResultsService} from '../openaireLibrary/services/refineFieldResults.service'; -import {SearchFields} from '../openaireLibrary/utils/properties/searchFields'; -import {NumberUtils} from '../openaireLibrary/utils/number-utils.class'; +import { SearchDataprovidersService} from '../openaireLibrary/services/searchDataproviders.service'; +import { SearchProjectsService} from '../openaireLibrary/services/searchProjects.service'; +import { SearchOrganizationsService} from '../openaireLibrary/services/searchOrganizations.service'; +import { RefineFieldResultsService} from '../openaireLibrary/services/refineFieldResults.service'; +import { SearchFields} from '../openaireLibrary/utils/properties/searchFields'; +import { NumberUtils} from '../openaireLibrary/utils/number-utils.class'; -import {RouterHelper} from '../openaireLibrary/utils/routerHelper.class'; -import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties'; -import {ErrorCodes} from '../openaireLibrary/utils/properties/errorCodes'; +import { RouterHelper} from '../openaireLibrary/utils/routerHelper.class'; +import { EnvProperties} from '../openaireLibrary/utils/properties/env-properties'; +import { ErrorCodes} from '../openaireLibrary/utils/properties/errorCodes'; import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.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 { SEOService } from '../openaireLibrary/sharedComponents/SEO/SEO.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 {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({ selector: 'home', templateUrl: 'home.component.html', }) export class HomeComponent { - public piwiksub: any; - public subfunders: any; - public pageTitle = "OpenAIRE" - public keyword: string = ""; - public searchFields: SearchFields = new SearchFields(); - public errorCodes: ErrorCodes = new ErrorCodes(); - public routerHelper: RouterHelper = new RouterHelper(); + // public pageTitle = "OpenAIRE - Explore |" ; + public keyword:string = ""; - public publicationsSize: any = null; - public datasetsSize: any = null; + public searchFields:SearchFields = new SearchFields(); + 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 otherSize: any = null; - public organizationsSize: any = null; - public fundersSize: any = null; - public projectsSize: any = null; - public datasourcesSize: any = null; + public fundersSize:any = null; + public projectsSize:any = null; + public datasourcesSize:any = null; - public fetchDataproviders: FetchDataproviders; - - showPublications: boolean = false; - showDatasets: boolean = false; - showSoftware: boolean = false; - showOrp: boolean = false; - showOrganizations: boolean = false; - showProjects: boolean = false; - showDataProviders: boolean = false; + showPublications: boolean = portalProperties.entities.publication.isEnabled; + showDatasets: boolean = portalProperties.entities.dataset.isEnabled; + showSoftware: boolean = portalProperties.entities.software.isEnabled; + showOrp: boolean = portalProperties.entities.other.isEnabled; + showOrganizations: boolean = portalProperties.entities.organization.isEnabled; + showProjects: boolean = portalProperties.entities.project.isEnabled; + showDataProviders: boolean = portalProperties.entities.datasource.isEnabled; properties: EnvProperties; - public subPub; - public subSoft; - public subOrp; - public subData; - public subProjects; - public subOrg; - public subDataPr; - customFilter:SearchCustomFilter= null; + public readMore: boolean = false; - 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 _router: Router, private _searchResearchResultsService: SearchResearchResultsService, private _searchDataprovidersService: SearchDataprovidersService, private _searchProjectsService: SearchProjectsService, private _searchOrganizationsService: SearchOrganizationsService, - private _refineFieldResultsService: RefineFieldResultsService, - private location: Location, private _piwikService: PiwikService, - private config: ConfigurationService, private _meta: Meta, private _title: Title, private seoService: SEOService + private _refineFieldResultsService:RefineFieldResultsService, + private location: Location, private _piwikService:PiwikService, + private config: ConfigurationService, private _meta: Meta, private _title: Title, private seoService: SEOService, + private helper: HelperService ) { - let id = this.route.snapshot.paramMap.get('id'); - console.log(id); - let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id); - this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg); - let description = "openAIRE, open access, publications, research results, European commission, search"; - - let title = "OpenAIRE | "+agg.title; + this.aggregatorId = this.route.snapshot.paramMap.get('id'); + this.aggregator = PortalAggregators.getFilterInfoByMenuId(this.aggregatorId); + this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(this.aggregator); + 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 title = "OpenAIRE - Explore| " +this.aggregator.title; this._title.setTitle(title); - this._meta.updateTag({content: description}, "name='description'"); - this._meta.updateTag({content: description}, "property='og:description'"); - this._meta.updateTag({content: title}, "property='og:title'"); + this._meta.updateTag({content:description},"name='description'"); + this._meta.updateTag({content:description},"property='og:description'"); + 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() { + this.properties = properties; + this.seoService.createLinkForCanonicalURL(this.properties.domain + this.properties.baseLink+this._router.url, false); + this.getPageContents(); - this.route.data - .subscribe((data: { envSpecific: EnvProperties }) => { - this.properties = data.envSpecific; - this.seoService.createLinkForCanonicalURL(this.properties.baseLink + this._router.url, false); - let url = this.properties.baseLink + this._router.url; - 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(); + if(this.properties!=null){ + var url = this.properties.domain + this.properties.baseLink+this._router.url; + this._meta.updateTag({content:url},"property='og:url'"); + if(this.properties.enablePiwikTrack && (typeof document !== 'undefined')){ + this.subs.push(this._piwikService.trackView(this.properties, "OpenAIRE").subscribe()); + } - /* this.config.getCommunityInformation(this.properties.adminToolsAPIURL, this.properties.adminToolsCommunity).subscribe(data => { - let showEntity = {}; - for (let i = 0; i < data['entities'].length; i++) { + //this.config.getCommunityInformation(this.properties, this.properties.adminToolsCommunity ).subscribe(data => { + /* this.subs.push(this.config.communityInformationState.subscribe(data => { + if(data) { + var showEntity = {}; + for (var i = 0; i < data['entities'].length; i++) { - 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); + showEntity["" + data['entities'][i]["pid"] + ""] = data['entities'][i]["isEnabled"]; } - );*/ - - }); + 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() { - if (this.piwiksub) { - this.piwiksub.unsubscribe(); + for (let sub of this.subs) { + 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() { - let refineQuery = null; + let refineQuery = null if(this.customFilter){ refineQuery= "&fq="+StringUtils.URIEncode(this.customFilter.queryFieldName + " exact " + StringUtils.quote((this.customFilter.valueId ))); } - if (this.showPublications) { - this.subPub = this._searchResearchResultsService.numOfSearchResults("publication","", this.properties,refineQuery).subscribe( + if(this.showPublications){ + this.subs.push(this._searchResearchResultsService.numOfSearchResults("publication", "", this.properties, refineQuery).subscribe( data => { - if (data && data > 0) { + if(data && data != null && data > 0 ){ this.publicationsSize = NumberUtils.roundNumber(data); - }else{ - this.showPublications = false; + } }, err => { + //console.log(err); this.handleError("Error getting number of publications", err); } - ); + )); } - if (this.showDatasets) { - this.subData = this._searchResearchResultsService.numOfSearchResults("dataset","", this.properties,refineQuery).subscribe( + if(this.showDatasets){ + this.subs.push(this._searchResearchResultsService.numOfSearchResults("dataset", "", this.properties, refineQuery).subscribe( data => { - if (data && data > 0) { + if(data && data != null && data > 0 ){ this.datasetsSize = NumberUtils.roundNumber(data); - }else{ - this.showDatasets = false; } }, err => { + //console.log(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) { - this.subSoft = this._searchResearchResultsService.numOfSearchResults("software","", this.properties,refineQuery).subscribe( + this.subs.push(this._searchResearchResultsService.numOfSearchResults("software", "", this.properties, refineQuery).subscribe( data => { if (data && data > 0) { this.softwareSize = NumberUtils.roundNumber(data); @@ -213,10 +235,21 @@ export class HomeComponent { 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) { - this.subOrp = this._searchResearchResultsService.numOfSearchResults("other","", this.properties,refineQuery).subscribe( + this.subs.push(this._searchResearchResultsService.numOfSearchResults("other", "", this.properties, refineQuery).subscribe( data => { if (data && data > 0) { this.otherSize = NumberUtils.roundNumber(data); @@ -227,54 +260,79 @@ export class HomeComponent { err => { this.handleError("Error getting number of software data", err); } - ); + )); } - if (this.showProjects) { - this.subfunders = this._refineFieldResultsService.getRefineFieldsResultsByEntityName(["funder"], "project", this.properties, refineQuery).subscribe( + if(this.showProjects){ + this.subs.push(this._refineFieldResultsService.getRefineFieldsResultsByEntityName(["funder"],"project", this.properties, refineQuery).subscribe( data => { - if (data[0] && data[0] > 0) { + + + if(data[0] && data[0] > 0 ){ this.projectsSize = NumberUtils.roundNumber(data[0]); } - else{ - this.showProjects = false; - } - if (data[1].length > 0 && data[1][0].filterId == "funder" && data[1][0].values) { + if(data[1].length > 0 && data[1][0].filterId == "funder" && data[1][0].values ){ this.fundersSize = NumberUtils.roundNumber(data[1][0].values.length); } + }, err => { + //console.log(err); this.handleError("Error getting 'funder' field results of projects", err); - }); + })); } - if (this.showDataProviders) { - this.subDataPr = this._searchDataprovidersService.numOfSearchDataproviders("", this.properties, refineQuery).subscribe( + if(this.showDataProviders){ + this.subs.push(this._searchDataprovidersService.numOfSearchDataproviders("", this.properties, refineQuery).subscribe( data => { - if (data && data > 0) { + if(data && data != null && data > 0 ){ this.datasourcesSize = NumberUtils.roundNumber(data); - }else{ - this.showDataProviders = false; } + }, err => { + //console.log(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) { - 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)}); } } diff --git a/src/app/home/home.module.ts b/src/app/home/home.module.ts index 5b3084d..90b37b1 100644 --- a/src/app/home/home.module.ts +++ b/src/app/home/home.module.ts @@ -3,52 +3,54 @@ import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { RouterModule } from '@angular/router'; -import{HomeRoutingModule} from './home-routing.module'; -import{HomeComponent} from './home.component'; +import {HomeRoutingModule} from './home-routing.module'; +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 { ProjectsServiceModule} from '../openaireLibrary/services/projectsService.module'; -// import { PublicationsServiceModule} from '../openaireLibrary/services/publicationsService.module'; -import { OrganizationsServiceModule} from '../openaireLibrary/services/organizationsService.module'; +import { ProjectsServiceModule} from '../openaireLibrary/services/projectsService.module'; +import { OrganizationsServiceModule} from '../openaireLibrary/services/organizationsService.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 {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 {Schema2jsonldModule} from '../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module'; import { SEOServiceModule } from '../openaireLibrary/sharedComponents/SEO/SEOService.module'; import {ErrorMessagesModule} from '../openaireLibrary/utils/errorMessages.module'; -// import {SoftwareServiceModule} from "../openaireLibrary/services/softwareService.module"; -// import {OrpsServiceModule} from "../openaireLibrary/services/orpsService.module"; -// import {AggregatorNavBarComponent} from "../utils/aggregatorNavBar.component"; +import {EntitiesSelectionModule} from "../openaireLibrary/searchPages/searchUtils/entitiesSelection.module"; +import {QuickSelectionsModule} from "../openaireLibrary/searchPages/searchUtils/quick-selections.module"; +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: [ CommonModule, FormsModule, RouterModule, - RefineFieldResultsServiceModule, - DataProvidersServiceModule, SearchResearchResultsServiceModule, ProjectsServiceModule, - OrganizationsServiceModule, - SearchFormModule, - PiwikServiceModule, - HomeRoutingModule, - HelperModule, - ErrorMessagesModule, - Schema2jsonldModule, SEOServiceModule, + RefineFieldResultsServiceModule, + DataProvidersServiceModule, SearchResearchResultsServiceModule, + ProjectsServiceModule, OrganizationsServiceModule, + SearchFormModule, + PiwikServiceModule, + HomeRoutingModule, + HelperModule, + ErrorMessagesModule, + SEOServiceModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule ], declarations: [ - HomeComponent//, AggregatorNavBarComponent - ], + HomeComponent + ], providers:[ - FreeGuard, PreviousRouteRecorder, ConfigurationService - ], + PreviousRouteRecorder + ], exports: [ - HomeComponent//, AggregatorNavBarComponent - ] + HomeComponent + ] }) -export class HomeModule { } +export class HomeModule { + constructor(private iconsService: IconsService) { + this.iconsService.registerIcons([arrow_right]); + } +} diff --git a/src/app/landingPages/result/libResult.module.ts b/src/app/landingPages/result/libResult.module.ts new file mode 100644 index 0000000..39be478 --- /dev/null +++ b/src/app/landingPages/result/libResult.module.ts @@ -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 { } diff --git a/src/app/landingPages/result/result-routing.module.ts b/src/app/landingPages/result/result-routing.module.ts new file mode 100644 index 0000000..9b72a94 --- /dev/null +++ b/src/app/landingPages/result/result-routing.module.ts @@ -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 { } diff --git a/src/app/landingPages/result/result.component.ts b/src/app/landingPages/result/result.component.ts new file mode 100644 index 0000000..860e401 --- /dev/null +++ b/src/app/landingPages/result/result.component.ts @@ -0,0 +1,7 @@ +import {Component} from '@angular/core'; + +@Component({ + selector: 'openaire-publication', + template: ``, + }) +export class OpenaireResultComponent{} diff --git a/src/app/searchPages/advanced/advancedSearchDataProviders-routing.module.ts b/src/app/searchPages/advanced/advancedSearchDataProviders-routing.module.ts index 533fe9b..d842ed5 100644 --- a/src/app/searchPages/advanced/advancedSearchDataProviders-routing.module.ts +++ b/src/app/searchPages/advanced/advancedSearchDataProviders-routing.module.ts @@ -1,14 +1,13 @@ import {NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; import {OpenaireAdvancedSearchDataProvidersComponent} from './advancedSearchDataProviders.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireAdvancedSearchDataProvidersComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireAdvancedSearchDataProvidersComponent, data: { redirect: '/error' }, canDeactivate: [PreviousRouteRecorder] } diff --git a/src/app/searchPages/advanced/advancedSearchDataProviders.component.ts b/src/app/searchPages/advanced/advancedSearchDataProviders.component.ts index 30b62dd..1a56713 100644 --- a/src/app/searchPages/advanced/advancedSearchDataProviders.component.ts +++ b/src/app/searchPages/advanced/advancedSearchDataProviders.component.ts @@ -7,8 +7,8 @@ import {FilterInfo, PortalAggregators} from "../../utils/aggregators"; @Component({ selector: 'openaire-advanced-search-dataprovider', template: ` - - + + ` }) diff --git a/src/app/searchPages/advanced/advancedSearchDataProviders.module.ts b/src/app/searchPages/advanced/advancedSearchDataProviders.module.ts index 1ea91f3..cae770e 100644 --- a/src/app/searchPages/advanced/advancedSearchDataProviders.module.ts +++ b/src/app/searchPages/advanced/advancedSearchDataProviders.module.ts @@ -4,21 +4,20 @@ import {FormsModule} from '@angular/forms'; import {AdvancedSearchDataProvidersRoutingModule} from './advancedSearchDataProviders-routing.module'; 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({ imports: [ CommonModule, FormsModule, AdvancedSearchDataProvidersRoutingModule, - AdvancedSearchDataProvidersModule + SearchDataProvidersModule ], declarations: [ OpenaireAdvancedSearchDataProvidersComponent ], - providers:[FreeGuard], + providers:[], exports: [ OpenaireAdvancedSearchDataProvidersComponent ] diff --git a/src/app/searchPages/advanced/advancedSearchDatasets-routing.module.ts b/src/app/searchPages/advanced/advancedSearchDatasets-routing.module.ts deleted file mode 100644 index 0c2f540..0000000 --- a/src/app/searchPages/advanced/advancedSearchDatasets-routing.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/searchPages/advanced/advancedSearchDatasets.component.ts b/src/app/searchPages/advanced/advancedSearchDatasets.component.ts deleted file mode 100644 index 73fe09c..0000000 --- a/src/app/searchPages/advanced/advancedSearchDatasets.component.ts +++ /dev/null @@ -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: ` - - - ` -}) - -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); - } - -} diff --git a/src/app/searchPages/advanced/advancedSearchDatasets.module.ts b/src/app/searchPages/advanced/advancedSearchDatasets.module.ts deleted file mode 100644 index 00e1eeb..0000000 --- a/src/app/searchPages/advanced/advancedSearchDatasets.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/searchPages/advanced/advancedSearchOrganizations-routing.module.ts b/src/app/searchPages/advanced/advancedSearchOrganizations-routing.module.ts index 14d2db2..15e0c8a 100644 --- a/src/app/searchPages/advanced/advancedSearchOrganizations-routing.module.ts +++ b/src/app/searchPages/advanced/advancedSearchOrganizations-routing.module.ts @@ -2,14 +2,13 @@ import {NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; import {OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireAdvancedSearchOrganizationsComponent , canActivate: [FreeGuard], data: { + { path: '', component: OpenaireAdvancedSearchOrganizationsComponent , data: { redirect: '/error' },canDeactivate: [PreviousRouteRecorder]} diff --git a/src/app/searchPages/advanced/advancedSearchOrganizations.component.ts b/src/app/searchPages/advanced/advancedSearchOrganizations.component.ts index 4ad24a5..202eb8a 100644 --- a/src/app/searchPages/advanced/advancedSearchOrganizations.component.ts +++ b/src/app/searchPages/advanced/advancedSearchOrganizations.component.ts @@ -7,8 +7,8 @@ import {FilterInfo, PortalAggregators} from "../../utils/aggregators"; @Component({ selector: 'openaire-advanced-search-organizations', template: ` - - + + ` }) diff --git a/src/app/searchPages/advanced/advancedSearchOrganizations.module.ts b/src/app/searchPages/advanced/advancedSearchOrganizations.module.ts index 562cc56..6999c82 100644 --- a/src/app/searchPages/advanced/advancedSearchOrganizations.module.ts +++ b/src/app/searchPages/advanced/advancedSearchOrganizations.module.ts @@ -3,20 +3,19 @@ import {CommonModule} from '@angular/common'; import {FormsModule} from '@angular/forms'; import {AdvancedSearchOrganizationsRoutingModule} from './advancedSearchOrganizations-routing.module'; import {OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; -import {AdvancedSearchOrganizationsModule} from '../../openaireLibrary/searchPages/advanced/advancedSearchOrganizations.module'; +import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searchOrganizations.module"; @NgModule({ imports: [ CommonModule, FormsModule, - AdvancedSearchOrganizationsModule, + SearchOrganizationsModule, AdvancedSearchOrganizationsRoutingModule ], declarations: [ OpenaireAdvancedSearchOrganizationsComponent ], - providers:[FreeGuard], + providers:[], exports: [ OpenaireAdvancedSearchOrganizationsComponent ] diff --git a/src/app/searchPages/advanced/advancedSearchOrps-routing.module.ts b/src/app/searchPages/advanced/advancedSearchOrps-routing.module.ts deleted file mode 100644 index 59be22e..0000000 --- a/src/app/searchPages/advanced/advancedSearchOrps-routing.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/searchPages/advanced/advancedSearchOrps.component.ts b/src/app/searchPages/advanced/advancedSearchOrps.component.ts deleted file mode 100644 index 7512aca..0000000 --- a/src/app/searchPages/advanced/advancedSearchOrps.component.ts +++ /dev/null @@ -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: ` - - - ` - }) - -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); - } - -} diff --git a/src/app/searchPages/advanced/advancedSearchOrps.module.ts b/src/app/searchPages/advanced/advancedSearchOrps.module.ts deleted file mode 100644 index e9dda23..0000000 --- a/src/app/searchPages/advanced/advancedSearchOrps.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/searchPages/advanced/advancedSearchProjects-routing.module.ts b/src/app/searchPages/advanced/advancedSearchProjects-routing.module.ts index 00a1ef6..c5cd7a9 100644 --- a/src/app/searchPages/advanced/advancedSearchProjects-routing.module.ts +++ b/src/app/searchPages/advanced/advancedSearchProjects-routing.module.ts @@ -2,13 +2,12 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import{OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireAdvancedSearchProjectsComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireAdvancedSearchProjectsComponent, data: { redirect: '/error' }, canDeactivate: [PreviousRouteRecorder] } diff --git a/src/app/searchPages/advanced/advancedSearchProjects.component.ts b/src/app/searchPages/advanced/advancedSearchProjects.component.ts index 4a54691..71cdb5e 100644 --- a/src/app/searchPages/advanced/advancedSearchProjects.component.ts +++ b/src/app/searchPages/advanced/advancedSearchProjects.component.ts @@ -6,8 +6,8 @@ import {FilterInfo, PortalAggregators} from "../../utils/aggregators"; @Component({ selector: 'openaire-advanced-search-projects', template: ` - - + + ` }) diff --git a/src/app/searchPages/advanced/advancedSearchProjects.module.ts b/src/app/searchPages/advanced/advancedSearchProjects.module.ts index 8b10d2f..11b0e61 100644 --- a/src/app/searchPages/advanced/advancedSearchProjects.module.ts +++ b/src/app/searchPages/advanced/advancedSearchProjects.module.ts @@ -3,20 +3,19 @@ import {CommonModule} from '@angular/common'; import {FormsModule} from '@angular/forms'; import {AdvancedSearchProjectsRoutingModule} from './advancedSearchProjects-routing.module'; import {OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component'; -import {AdvancedSearchProjectsModule} from '../../openaireLibrary/searchPages/advanced/advancedSearchProjects.module'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; +import {SearchProjectsModule} from "../../openaireLibrary/searchPages/searchProjects.module"; @NgModule({ imports: [ CommonModule, FormsModule, - AdvancedSearchProjectsModule, + SearchProjectsModule, AdvancedSearchProjectsRoutingModule ], declarations: [ OpenaireAdvancedSearchProjectsComponent ], - providers:[FreeGuard], + providers:[], exports: [ OpenaireAdvancedSearchProjectsComponent ] diff --git a/src/app/searchPages/advanced/advancedSearchPublications-routing.module.ts b/src/app/searchPages/advanced/advancedSearchPublications-routing.module.ts deleted file mode 100644 index 54dc255..0000000 --- a/src/app/searchPages/advanced/advancedSearchPublications-routing.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/searchPages/advanced/advancedSearchPublications.component.ts b/src/app/searchPages/advanced/advancedSearchPublications.component.ts deleted file mode 100644 index 26fa98f..0000000 --- a/src/app/searchPages/advanced/advancedSearchPublications.component.ts +++ /dev/null @@ -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: ` - - ` - }) - -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); - } -} diff --git a/src/app/searchPages/advanced/advancedSearchPublications.module.ts b/src/app/searchPages/advanced/advancedSearchPublications.module.ts deleted file mode 100644 index 1e4eab0..0000000 --- a/src/app/searchPages/advanced/advancedSearchPublications.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/searchPages/advanced/advancedSearchSoftware-routing.module.ts b/src/app/searchPages/advanced/advancedSearchSoftware-routing.module.ts deleted file mode 100644 index 738fac8..0000000 --- a/src/app/searchPages/advanced/advancedSearchSoftware-routing.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/searchPages/advanced/advancedSearchSoftware.component.ts b/src/app/searchPages/advanced/advancedSearchSoftware.component.ts deleted file mode 100644 index 8f26316..0000000 --- a/src/app/searchPages/advanced/advancedSearchSoftware.component.ts +++ /dev/null @@ -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: ` - - - ` -}) - -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); - } -} diff --git a/src/app/searchPages/advanced/advancedSearchSoftware.module.ts b/src/app/searchPages/advanced/advancedSearchSoftware.module.ts deleted file mode 100644 index 961984d..0000000 --- a/src/app/searchPages/advanced/advancedSearchSoftware.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/searchPages/advanced/searchResearchResults-routing.module.ts b/src/app/searchPages/advanced/searchResearchResults-routing.module.ts new file mode 100644 index 0000000..de0ce51 --- /dev/null +++ b/src/app/searchPages/advanced/searchResearchResults-routing.module.ts @@ -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 { } diff --git a/src/app/searchPages/simple/searchOrps.component.ts b/src/app/searchPages/advanced/searchResearchResults.component.ts similarity index 61% rename from src/app/searchPages/simple/searchOrps.component.ts rename to src/app/searchPages/advanced/searchResearchResults.component.ts index 04221dc..694155e 100644 --- a/src/app/searchPages/simple/searchOrps.component.ts +++ b/src/app/searchPages/advanced/searchResearchResults.component.ts @@ -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 {ActivatedRoute} from "@angular/router"; -import {FilterInfo, PortalAggregators} from "../../utils/aggregators"; @Component({ - selector: 'openaire-search-orps', + selector: 'openaire-search-results', template: ` - + ` + }) - -export class OpenaireSearchOrpsComponent { - customFilter: SearchCustomFilter = null; - +export class OpenaireSearchResearchResultsComponent { + @Input() searchLink: string = "/search/advanced/research-results"; + customFilter:SearchCustomFilter= null; constructor(private route: ActivatedRoute) { - } - ngOnInit() { let id = this.route.snapshot.paramMap.get('id'); let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id); diff --git a/src/app/searchPages/advanced/searchResearchResults.module.ts b/src/app/searchPages/advanced/searchResearchResults.module.ts new file mode 100644 index 0000000..9462486 --- /dev/null +++ b/src/app/searchPages/advanced/searchResearchResults.module.ts @@ -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 { } diff --git a/src/app/searchPages/find/libSearch.module.ts b/src/app/searchPages/find/libSearch.module.ts index 77099fd..77216de 100644 --- a/src/app/searchPages/find/libSearch.module.ts +++ b/src/app/searchPages/find/libSearch.module.ts @@ -1,15 +1,14 @@ import {NgModule} from '@angular/core'; -import {MainSearchModule} from '../../openaireLibrary/searchPages/find/mainSearch.module'; import {OpenaireSearchComponent} from './search.component'; import {MainSearchRoutingModule} from './mainSearch-routing.module'; -import {FreeGuard} from "../../openaireLibrary/login/freeGuard.guard"; import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard"; +import {SearchAllModule} from "../../openaireLibrary/searchPages/find/searchAll.module"; @NgModule({ - imports: [ MainSearchRoutingModule, MainSearchModule], + imports: [ MainSearchRoutingModule, SearchAllModule], declarations:[OpenaireSearchComponent], exports:[OpenaireSearchComponent], - providers: [FreeGuard, PreviousRouteRecorder] + providers: [ PreviousRouteRecorder] }) export class LibMainSearchModule { } diff --git a/src/app/searchPages/find/mainSearch-routing.module.ts b/src/app/searchPages/find/mainSearch-routing.module.ts index 7803231..82cc678 100644 --- a/src/app/searchPages/find/mainSearch-routing.module.ts +++ b/src/app/searchPages/find/mainSearch-routing.module.ts @@ -2,14 +2,13 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import{OpenaireSearchComponent} from './search.component'; -import {FreeGuard} from "../../openaireLibrary/login/freeGuard.guard"; import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard"; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireSearchComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] } + { path: '', component: OpenaireSearchComponent,canDeactivate: [PreviousRouteRecorder] } ]) ] diff --git a/src/app/searchPages/find/search.component.ts b/src/app/searchPages/find/search.component.ts index e041967..696176d 100644 --- a/src/app/searchPages/find/search.component.ts +++ b/src/app/searchPages/find/search.component.ts @@ -6,7 +6,7 @@ import {FilterInfo, PortalAggregators} from "../../utils/aggregators"; @Component({ selector: 'openaire-search-find', template: ` - + `, }) @@ -21,10 +21,7 @@ export class OpenaireSearchComponent{ let id = this.route.snapshot.paramMap.get('id'); let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id); this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg); - this.route.data - .subscribe((data: { envSpecific: any }) => { - }); } diff --git a/src/app/searchPages/simple/searchDataProviders-routing.module.ts b/src/app/searchPages/simple/searchDataProviders-routing.module.ts index f2f3912..1cd462f 100644 --- a/src/app/searchPages/simple/searchDataProviders-routing.module.ts +++ b/src/app/searchPages/simple/searchDataProviders-routing.module.ts @@ -9,7 +9,7 @@ import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousR @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireSearchDataprovidersComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireSearchDataprovidersComponent,data: { redirect: '/error' }, canDeactivate: [PreviousRouteRecorder] } diff --git a/src/app/searchPages/simple/searchDataProviders.module.ts b/src/app/searchPages/simple/searchDataProviders.module.ts index 333de4d..6b13ace 100644 --- a/src/app/searchPages/simple/searchDataProviders.module.ts +++ b/src/app/searchPages/simple/searchDataProviders.module.ts @@ -3,9 +3,8 @@ import {CommonModule} from '@angular/common'; import {FormsModule} from '@angular/forms'; import {OpenaireSearchDataprovidersComponent} from './searchDataproviders.component'; import {SearchDataProvidersRoutingModule} from './searchDataProviders-routing.module'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.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({ imports: [ @@ -16,7 +15,7 @@ SearchDataProvidersModule, SearchDataProvidersRoutingModule declarations: [ OpenaireSearchDataprovidersComponent ], - providers:[FreeGuard,PreviousRouteRecorder], + providers:[PreviousRouteRecorder], exports: [ OpenaireSearchDataprovidersComponent ] diff --git a/src/app/searchPages/simple/searchDatasets-routing.module.ts b/src/app/searchPages/simple/searchDatasets-routing.module.ts deleted file mode 100644 index be5b36b..0000000 --- a/src/app/searchPages/simple/searchDatasets-routing.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/searchPages/simple/searchDatasets.module.ts b/src/app/searchPages/simple/searchDatasets.module.ts deleted file mode 100644 index 2fa5023..0000000 --- a/src/app/searchPages/simple/searchDatasets.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/searchPages/simple/searchOrganizations-routing.module.ts b/src/app/searchPages/simple/searchOrganizations-routing.module.ts index 6090ac5..171a5cc 100644 --- a/src/app/searchPages/simple/searchOrganizations-routing.module.ts +++ b/src/app/searchPages/simple/searchOrganizations-routing.module.ts @@ -1,14 +1,13 @@ import {NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; import {OpenaireSearchOrganizationsComponent} from './searchOrganizations.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireSearchOrganizationsComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireSearchOrganizationsComponent, data: { redirect: '/error' }, canDeactivate: [PreviousRouteRecorder] } diff --git a/src/app/searchPages/simple/searchOrganizations.module.ts b/src/app/searchPages/simple/searchOrganizations.module.ts index 2b0f0d2..6c6dc7a 100644 --- a/src/app/searchPages/simple/searchOrganizations.module.ts +++ b/src/app/searchPages/simple/searchOrganizations.module.ts @@ -5,10 +5,9 @@ import {FormsModule} from '@angular/forms'; import {SearchOrganizationsRoutingModule} from './searchOrganizations-routing.module'; import {OpenaireSearchOrganizationsComponent} from './searchOrganizations.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.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({ imports: [ @@ -19,7 +18,7 @@ import {SearchOrganizationsModule} from '../../openaireLibrary/searchPages/simpl declarations: [ OpenaireSearchOrganizationsComponent ], - providers:[FreeGuard,PreviousRouteRecorder], + providers:[PreviousRouteRecorder], exports: [ OpenaireSearchOrganizationsComponent ] diff --git a/src/app/searchPages/simple/searchOrps-routing.module.ts b/src/app/searchPages/simple/searchOrps-routing.module.ts deleted file mode 100644 index 42b826e..0000000 --- a/src/app/searchPages/simple/searchOrps-routing.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/searchPages/simple/searchOrps.module.ts b/src/app/searchPages/simple/searchOrps.module.ts deleted file mode 100644 index 07c4427..0000000 --- a/src/app/searchPages/simple/searchOrps.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/searchPages/simple/searchProjects-routing.module.ts b/src/app/searchPages/simple/searchProjects-routing.module.ts index e0c54ef..5c74a25 100644 --- a/src/app/searchPages/simple/searchProjects-routing.module.ts +++ b/src/app/searchPages/simple/searchProjects-routing.module.ts @@ -2,14 +2,13 @@ import {NgModule} from '@angular/core'; import {RouterModule} from '@angular/router'; import {OpenaireSearchProjectsComponent} from './searchProjects.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard'; import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; @NgModule({ imports: [ RouterModule.forChild([ - { path: '', component: OpenaireSearchProjectsComponent, canActivate: [FreeGuard], data: { + { path: '', component: OpenaireSearchProjectsComponent, data: { redirect: '/error' }, canDeactivate: [PreviousRouteRecorder] } diff --git a/src/app/searchPages/simple/searchProjects.component.ts b/src/app/searchPages/simple/searchProjects.component.ts index bbedf2e..1a719cd 100644 --- a/src/app/searchPages/simple/searchProjects.component.ts +++ b/src/app/searchPages/simple/searchProjects.component.ts @@ -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 {ActivatedRoute} from "@angular/router"; import {FilterInfo, PortalAggregators} from "../../utils/aggregators"; diff --git a/src/app/searchPages/simple/searchProjects.module.ts b/src/app/searchPages/simple/searchProjects.module.ts index c841500..8c7fa82 100644 --- a/src/app/searchPages/simple/searchProjects.module.ts +++ b/src/app/searchPages/simple/searchProjects.module.ts @@ -5,9 +5,8 @@ import {FormsModule} from '@angular/forms'; import {SearchProjectsRoutingModule} from './searchProjects-routing.module'; import {OpenaireSearchProjectsComponent} from './searchProjects.component'; -import {FreeGuard} from '../../openaireLibrary/login/freeGuard.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({ imports: [ @@ -17,7 +16,7 @@ import {SearchProjectsModule} from '../../openaireLibrary/searchPages/simple/sea declarations: [ OpenaireSearchProjectsComponent ], - providers:[FreeGuard,PreviousRouteRecorder], + providers:[PreviousRouteRecorder], exports: [ OpenaireSearchProjectsComponent ] diff --git a/src/app/searchPages/simple/searchPublications-routing.module.ts b/src/app/searchPages/simple/searchPublications-routing.module.ts deleted file mode 100644 index f61ad3a..0000000 --- a/src/app/searchPages/simple/searchPublications-routing.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/searchPages/simple/searchPublications.component.ts b/src/app/searchPages/simple/searchPublications.component.ts deleted file mode 100644 index 72f524a..0000000 --- a/src/app/searchPages/simple/searchPublications.component.ts +++ /dev/null @@ -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: ` - - ` - -}) -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); - } -} diff --git a/src/app/searchPages/simple/searchPublications.module.ts b/src/app/searchPages/simple/searchPublications.module.ts deleted file mode 100644 index 557fddf..0000000 --- a/src/app/searchPages/simple/searchPublications.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/searchPages/simple/searchResearchResults-routing.module.ts b/src/app/searchPages/simple/searchResearchResults-routing.module.ts new file mode 100644 index 0000000..bac0a53 --- /dev/null +++ b/src/app/searchPages/simple/searchResearchResults-routing.module.ts @@ -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 { } diff --git a/src/app/searchPages/simple/searchDatasets.component.ts b/src/app/searchPages/simple/searchResearchResults.component.ts similarity index 56% rename from src/app/searchPages/simple/searchDatasets.component.ts rename to src/app/searchPages/simple/searchResearchResults.component.ts index be313e6..95ac0a9 100644 --- a/src/app/searchPages/simple/searchDatasets.component.ts +++ b/src/app/searchPages/simple/searchResearchResults.component.ts @@ -1,18 +1,18 @@ -import {Component} from '@angular/core'; +import {Component, Input} 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-datasets', - template: ` - - ` + selector: 'openaire-search-results', + template: ` + + ` + }) - -export class OpenaireSearchDatasetsComponent { - customFilter: SearchCustomFilter = null; - +export class OpenaireSearchResearchResultsComponent { + @Input() searchLink: string = "/search/research-results"; + customFilter:SearchCustomFilter= null; constructor ( private route: ActivatedRoute ) { } diff --git a/src/app/searchPages/simple/searchResearchResults.module.ts b/src/app/searchPages/simple/searchResearchResults.module.ts new file mode 100644 index 0000000..b1d52c7 --- /dev/null +++ b/src/app/searchPages/simple/searchResearchResults.module.ts @@ -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 { } diff --git a/src/app/searchPages/simple/searchSoftware-routing.module.ts b/src/app/searchPages/simple/searchSoftware-routing.module.ts deleted file mode 100644 index 6344bf2..0000000 --- a/src/app/searchPages/simple/searchSoftware-routing.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/searchPages/simple/searchSoftware.component.ts b/src/app/searchPages/simple/searchSoftware.component.ts deleted file mode 100644 index c98b21a..0000000 --- a/src/app/searchPages/simple/searchSoftware.component.ts +++ /dev/null @@ -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: ` - - ` -}) - -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); - } - -} diff --git a/src/app/searchPages/simple/searchSoftware.module.ts b/src/app/searchPages/simple/searchSoftware.module.ts deleted file mode 100644 index 393aafd..0000000 --- a/src/app/searchPages/simple/searchSoftware.module.ts +++ /dev/null @@ -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 { } diff --git a/src/app/utils/aggregatorNavBar.component.ts b/src/app/utils/aggregatorNavBar.component.ts deleted file mode 100644 index fa65315..0000000 --- a/src/app/utils/aggregatorNavBar.component.ts +++ /dev/null @@ -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: ` -// -// `, -// }) -// 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; -// -// -// -// }); -// -// } -// -// } diff --git a/src/app/utils/aggregators.ts b/src/app/utils/aggregators.ts index ddbdd04..8150e3f 100644 --- a/src/app/utils/aggregators.ts +++ b/src/app/utils/aggregators.ts @@ -22,7 +22,7 @@ export class FilterInfo { export class PortalAggregators { 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("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; if(agg) { filter = new SearchCustomFilter(agg.fieldName, agg.queryFieldName, agg.valueId, agg.valueName); + filter.promptToAddFilter = true; + filter.isHiddenFilter = false; } return filter; } diff --git a/src/assets/canada-background.svg b/src/assets/canada-background.svg new file mode 100644 index 0000000..e8b4990 --- /dev/null +++ b/src/assets/canada-background.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/assets/canada-logo.png b/src/assets/canada-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d11538b59b49a5505db9f9d3ace9c4d24f0e76c8 GIT binary patch literal 29239 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 XDqknp)8QfUnG^_2Rr4-Z#XRJHr5v49 literal 0 HcmV?d00001 diff --git a/src/assets/env-properties.json b/src/assets/env-properties.json index b73955b..a3c5fc8 100644 --- a/src/assets/env-properties.json +++ b/src/assets/env-properties.json @@ -1,5 +1,5 @@ { - "environment" : "development", + "environment" : "production", "enablePiwikTrack" : false, "enableHelper" : true, "useCache" : false, diff --git a/src/assets/graph.svg b/src/assets/graph.svg new file mode 100644 index 0000000..d94ad1a --- /dev/null +++ b/src/assets/graph.svg @@ -0,0 +1 @@ +graph \ No newline at end of file diff --git a/src/assets/link.svg b/src/assets/link.svg index b88f9df..d8e54c3 100644 --- a/src/assets/link.svg +++ b/src/assets/link.svg @@ -1 +1 @@ - \ No newline at end of file +Asset 82 \ No newline at end of file diff --git a/src/assets/portal-custom.css b/src/assets/portal-custom.css new file mode 100644 index 0000000..8fe4950 --- /dev/null +++ b/src/assets/portal-custom.css @@ -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; +} diff --git a/src/assets/share.svg b/src/assets/share.svg index 3e22c5a..f6c165b 100644 --- a/src/assets/share.svg +++ b/src/assets/share.svg @@ -1 +1 @@ - \ No newline at end of file +Asset 83 \ No newline at end of file diff --git a/src/environments/environment-aggregator.beta.ts b/src/environments/environment-aggregator.beta.ts new file mode 100644 index 0000000..8ff0c0f --- /dev/null +++ b/src/environments/environment-aggregator.beta.ts @@ -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 +}; diff --git a/src/environments/environment-aggregator.prod.ts b/src/environments/environment-aggregator.prod.ts new file mode 100644 index 0000000..3e778e9 --- /dev/null +++ b/src/environments/environment-aggregator.prod.ts @@ -0,0 +1,3 @@ +export const portalProperties = { + production: true +}; diff --git a/src/environments/environment-aggregator.ts b/src/environments/environment-aggregator.ts new file mode 100644 index 0000000..be9a407 --- /dev/null +++ b/src/environments/environment-aggregator.ts @@ -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: +` +
+
+
{This is Footer section}
+
+
+
+
+ + + + + + + + +   + + + + + + + + + + +  Unless otherwise indicated, all materials created by OpenAIRE are licenced under CC ATTRIBUTION 4.0 INTERNATIONAL LICENSE.
+
+
+ +
+
+
+
+`, + showNumbersInHhomePage:false, + searchFormSection: `
{Search Form Section}
`, + homeSectionOne: `
{This is section One}
`, + homeSectionTwo: `
{This is section Two}
`, + 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:"" + +}; diff --git a/src/environments/environment.beta.ts b/src/environments/environment.beta.ts new file mode 100644 index 0000000..74b7b14 --- /dev/null +++ b/src/environments/environment.beta.ts @@ -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/" +}; diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index 3612073..6320911 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -1,3 +1,121 @@ -export const environment = { - production: true +import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties"; + +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/" }; diff --git a/src/environments/environment.ts b/src/environments/environment.ts index b7f639a..6eafdff 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -3,6 +3,122 @@ // `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 environment = { - production: false +import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties"; + +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/" }; diff --git a/src/index.html b/src/index.html index 1839007..ce4c1a4 100644 --- a/src/index.html +++ b/src/index.html @@ -1,5 +1,5 @@ - + @@ -20,10 +20,7 @@ - - - - + @@ -44,52 +41,6 @@ Search OpenAIRE - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -106,9 +57,5 @@ $(document).ready(function(){ }; - - - - diff --git a/src/main.ts b/src/main.ts index 9e8c381..1054b60 100644 --- a/src/main.ts +++ b/src/main.ts @@ -2,9 +2,9 @@ import { enableProdMode } from '@angular/core'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module'; -import { environment } from './environments/environment'; +import {portalProperties} from "./environments/environment-aggregator"; -if (environment.production) { +if (portalProperties.production) { enableProdMode(); } diff --git a/src/styles.css b/src/styles.css index 1927393..403d0a9 100644 --- a/src/styles.css +++ b/src/styles.css @@ -1,2 +1,8 @@ /* You can add global styles to this file, and also import other style files */ @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";