diff --git a/src/app/home/home.component.css b/src/app/home/home.component.css index 25a19b3..bd7d03f 100644 --- a/src/app/home/home.component.css +++ b/src/app/home/home.component.css @@ -65,3 +65,23 @@ .uk-list.target > li:nth-child(n+2) { margin-top: 10px; } + +.case { + background-color: white; + height: 250px; + position: relative; +} + +.case img { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + height: 150px; +} + +.explore { + background-color: #F9DBD1; + --portal-main-color: var(--explore-color); + --portal-dark-color: var(--explore-dark-color); +} diff --git a/src/app/home/home.component.html b/src/app/home/home.component.html index a8156d7..93c513f 100644 --- a/src/app/home/home.component.html +++ b/src/app/home/home.component.html @@ -115,19 +115,100 @@ -
- Explore +
+
+
+ +

Discover the content of the graph with EXPLORE

+
Explore all open access research outcomes.
+
+
+
+
+ +
+
+
+ + +
+
+ + +
+
+
+ +
+
+
+
-
+
+
+

Use Cases

+
Brief presentations of our success stories
+
-
-

Use Cases

-
Brief presentations of our success stories
-
-
-
- +
+
+
+ +
+

Open Knowledge maps

+
+ VIPER, the Visual Project Explorer enables funders, institutions and researchers to systematically explore a + project’s output, and to understand its reception in different areas. +
+ +
+
+
+ +
+

European Commission

+
+ The EC Participant Portal is using the OpenAIRE Research Graph to collect information about publications and + datasets resulting from H2020 funded projects. +
+ +
+
+
+ +
+

ORCID

+
+ ORCID data is used to enrich the research product records of the OpenAIRE Research Graph. Through EXPLORE, + ORCID users can instantly identify their works, enrich the OpenAIRE Research Graph and their ORCID profiles. +
+
diff --git a/src/app/home/home.component.ts b/src/app/home/home.component.ts index 2b1733d..39f73d8 100644 --- a/src/app/home/home.component.ts +++ b/src/app/home/home.component.ts @@ -2,23 +2,16 @@ 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 {Title, Meta} from '@angular/platform-browser'; +import 'rxjs/add/observable/zip'; +import {Meta, Title} from '@angular/platform-browser'; import {ConfigurationService} from '../openaireLibrary/utils/configuration/configuration.service'; -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 {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 {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service'; import {SEOService} from '../openaireLibrary/sharedComponents/SEO/SEO.service'; -import {SearchResearchResultsService} from "../openaireLibrary/services/searchResearchResults.service"; -import {properties} from "../../environments/environment"; -import {portals} from "./portals"; +import {properties} from '../../environments/environment'; +import {portals} from './portals'; +import {Filter} from '../openaireLibrary/searchPages/searchUtils/searchHelperClasses.class'; +import {RouterHelper} from '../openaireLibrary/utils/routerHelper.class'; @Component({ selector: 'home', @@ -26,10 +19,35 @@ import {portals} from "./portals"; styleUrls: ['home.component.css'] }) export class HomeComponent { - public pageTitle = "OpenAIRE - Research Graph"; + public pageTitle = 'OpenAIRE - Research Graph'; public portals: any[] = portals; public state: number = 0; public properties: EnvProperties = properties; + public selectedEntity = 'all'; + public url: string; + public routerHelper: RouterHelper = new RouterHelper(); + public resultTypes: Filter = { + values: [ + {name: 'Publications', id: 'publications', selected: true, number: 0}, + {name: "Research data", id: "datasets", selected: true, number: 0}, + {name: "Software", id: "software", selected: true, number: 0}, + {name: "Other research products", id: "other", selected: true, number: 0} + ], + filterId: 'type', + countSelectedValues: 0, + filterType: 'checkbox', + originalFilterId: '', + valueIsExact: true, + title: 'Result Types', + filterOperator: 'or' + }; + public resultsQuickFilter: { filter: Filter, selected: boolean, filterId: string, value: string } = { + filter: null, + selected: true, + filterId: 'resultbestaccessright', + value: 'Open Access' + }; + public keyword: string = ''; private timeouts: any[] = []; private subs: Subscription[] = []; @@ -40,19 +58,19 @@ export class HomeComponent { private config: ConfigurationService, private _meta: Meta, private _title: Title, private seoService: SEOService ) { - let description = "OpenAIRE Research Graph is an open resource that aggregates a collection of research data properties (metadata, links) available within the OpenAIRE Open Science infrastructure for funders, organizations, researchers, research communities and publishers to interlink information by using a semantic graph database approach."; + let description = 'OpenAIRE Research Graph is an open resource that aggregates a collection of research data properties (metadata, links) available within the OpenAIRE Open Science infrastructure for funders, organizations, researchers, research communities and publishers to interlink information by using a semantic graph database approach.'; this._title.setTitle(this.pageTitle); - this._meta.updateTag({content: description}, "name='description'"); - this._meta.updateTag({content: description}, "property='og:description'"); - this._meta.updateTag({content: this.pageTitle}, "property='og:title'"); + this._meta.updateTag({content: description}, 'name=\'description\''); + this._meta.updateTag({content: description}, 'property=\'og:description\''); + this._meta.updateTag({content: this.pageTitle}, 'property=\'og:title\''); } public ngOnInit() { if (this.properties) { let url = this.properties.domain + this.properties.baseLink + this._router.url; this.seoService.createLinkForCanonicalURL(url, false); - this._meta.updateTag({content: url}, "property='og:url'"); + this._meta.updateTag({content: url}, 'property=\'og:url\''); if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) { this.subs.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe()); } @@ -70,14 +88,19 @@ export class HomeComponent { private animation() { this.timeouts.push(setTimeout(() => { this.animation(); - if (this.state === (this.portals.length -1)) { - this.state = 0 + if (this.state === (this.portals.length - 1)) { + this.state = 0; } else { this.state++; } }, 4000)); } + entityChanged($event) { + this.selectedEntity = $event.entity; + this.url = $event.simpleUrl; + } + private changeSlide(slide: number) { this.clearTimeouts(); this.state = slide; @@ -90,4 +113,40 @@ export class HomeComponent { }); this.state = 0; } + + goTo() { + let url = 'https://explore.openaire.eu' + this.url; + 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); + } + } + } else if (this.selectedEntity == 'all') { + if (this.resultsQuickFilter) { + parameterNames.push('qf'); + parameterValues.push('true'); + } + } + if (this.keyword.length > 0) { + parameterNames.push('fv0'); + parameterValues.push(this.keyword); + parameterNames.push('f0'); + parameterValues.push('q'); + } + window.open(url + this.routerHelper.createQueryParamsString(parameterNames, parameterValues), '_blank').focus(); + } } diff --git a/src/assets/graph-assets/home/cases/ec.png b/src/assets/graph-assets/home/cases/ec.png new file mode 100644 index 0000000..753bd01 Binary files /dev/null and b/src/assets/graph-assets/home/cases/ec.png differ diff --git a/src/assets/graph-assets/home/cases/open-maps.png b/src/assets/graph-assets/home/cases/open-maps.png new file mode 100644 index 0000000..ca29119 Binary files /dev/null and b/src/assets/graph-assets/home/cases/open-maps.png differ diff --git a/src/assets/graph-assets/home/cases/orcid.png b/src/assets/graph-assets/home/cases/orcid.png new file mode 100644 index 0000000..175f52b Binary files /dev/null and b/src/assets/graph-assets/home/cases/orcid.png differ diff --git a/src/environments/environment.beta.ts b/src/environments/environment.beta.ts index f3c79dc..44fad89 100644 --- a/src/environments/environment.beta.ts +++ b/src/environments/environment.beta.ts @@ -12,4 +12,33 @@ export let properties: EnvProperties = { admins: ["graph@openaire.eu"], cookieDomain: ".openaire.eu", reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P", + 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" }; diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index 0e44c38..e68e7bc 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -12,4 +12,33 @@ export let properties: EnvProperties = { admins: ["graph@openaire.eu"], cookieDomain: ".openaire.eu", reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P", + 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" }; diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 579ab2d..ce1d204 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -17,4 +17,33 @@ export let properties: EnvProperties = { admins: ["kostis30fylloy@gmail.com"], cookieDomain: ".di.uoa.gr", reCaptchaSiteKey: "6LcVtFIUAAAAAB2ac6xYivHxYXKoUvYRPi-6_rLu", + 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" }; diff --git a/src/styles.css b/src/styles.css index 4b5bd91..71dc31d 100644 --- a/src/styles.css +++ b/src/styles.css @@ -7,6 +7,8 @@ --portal-main-color: #EE2540; --portal-main-contrast: white; --portal-dark-color: #E63946; + --explore-color: #D95F2D; + --explore-dark-color: #a0462c; } .graphApp {