Compare commits
128 Commits
production
...
master
Author | SHA1 | Date |
---|---|---|
Konstantina Galouni | 2a4b92ba00 | |
Konstantina Galouni | 4ad1f4e51c | |
Konstantina Galouni | 3d2ad5336b | |
Konstantina Galouni | 60de7eb2a0 | |
Konstantina Galouni | 45561bddb2 | |
Konstantina Galouni | 215c3fbc83 | |
Konstantina Galouni | a79b936629 | |
Alex Martzios | b7a05316c0 | |
Konstantina Galouni | a99e6378fc | |
Konstantina Galouni | 8949088e0e | |
Konstantina Galouni | 463410a135 | |
Konstantina Galouni | 17165e83ae | |
Alex Martzios | f3115b9f98 | |
Alex Martzios | f226482ba3 | |
Konstantina Galouni | 38337e296f | |
argirok | c81c6196c0 | |
Konstantina Galouni | 178846353c | |
Konstantina Galouni | 49dce466ce | |
argirok | 68662693a4 | |
Konstantina Galouni | e8e4c410dd | |
Konstantina Galouni | c51b2b58f4 | |
Konstantinos Triantafyllou | 85320e8653 | |
Konstantina Galouni | 9f53423ae3 | |
Konstantina Galouni | 15499aa4ca | |
Konstantina Galouni | a762efab08 | |
Konstantina Galouni | 8cdc423f02 | |
Konstantinos Triantafyllou | 3797ddcc3a | |
Konstantinos Triantafyllou | e57f1b02ed | |
Konstantina Galouni | b6db196e68 | |
Konstantina Galouni | 6af07478b4 | |
argirok | 3b058ee74d | |
Konstantina Galouni | 4258055e51 | |
Konstantina Galouni | c20002c9e9 | |
Konstantina Galouni | 134c21d6be | |
Konstantina Galouni | fbdc3710dc | |
Konstantina Galouni | a5019e083c | |
Konstantina Galouni | ee38203ee4 | |
Konstantina Galouni | 1d7a7ae2c4 | |
Konstantina Galouni | d639261fbe | |
Konstantina Galouni | a7d0cc5d4e | |
Konstantina Galouni | 9952b55f2c | |
argirok | b94006ea99 | |
argirok | b0db89f826 | |
Konstantina Galouni | 07681241c0 | |
Konstantina Galouni | ee00eaaebf | |
Konstantina Galouni | 1738dfcccc | |
Konstantina Galouni | 5b5000b2fe | |
Konstantina Galouni | af50558136 | |
Konstantina Galouni | 36f1ed105d | |
Konstantina Galouni | 414ff59fd0 | |
Konstantina Galouni | 5408bd9f82 | |
Konstantina Galouni | a3c79137aa | |
Konstantina Galouni | 4131de601c | |
argirok | 7761eeeedc | |
argirok | 46ad6aef36 | |
argirok | f64b410dd5 | |
argirok | 629d3efb08 | |
argirok | a9d06e61fa | |
Konstantina Galouni | 102f41722e | |
Konstantina Galouni | 109be1c6f6 | |
Konstantina Galouni | 3678f7c5ea | |
Konstantina Galouni | 278fefb45a | |
Konstantina Galouni | 3562d4f6c6 | |
Konstantina Galouni | cca45918d8 | |
Konstantina Galouni | 099f6a6ce6 | |
Konstantina Galouni | b21d7dcd93 | |
Konstantina Galouni | 2adb378467 | |
Konstantina Galouni | c41cbb6355 | |
Konstantina Galouni | 5c95fac244 | |
Konstantina Galouni | 17325b3ab2 | |
Konstantina Galouni | 6fd19ea661 | |
Alex Martzios | e01371ff14 | |
Konstantina Galouni | 96e400552a | |
Konstantina Galouni | da33e403f6 | |
Konstantina Galouni | 9ca57b8f4d | |
Konstantina Galouni | 5b86f1a4d1 | |
Konstantina Galouni | c3587bb2c4 | |
Konstantina Galouni | 288e106779 | |
Konstantina Galouni | c416853045 | |
Konstantina Galouni | ec8e6b6938 | |
Konstantina Galouni | 852c81d834 | |
Konstantina Galouni | 8c9337fd0b | |
Konstantina Galouni | bce47ea21e | |
Konstantina Galouni | 11f0f8befb | |
Konstantina Galouni | ab839498a8 | |
Konstantina Galouni | 2bfb614008 | |
Konstantina Galouni | 5eb3883d6b | |
Konstantina Galouni | 4fd541f460 | |
Konstantina Galouni | cfe0cc3b7b | |
Konstantina Galouni | f1330358f8 | |
argirok | b5b9aa7d24 | |
Konstantina Galouni | 1dbce23e13 | |
Konstantina Galouni | e1e53a7bbe | |
Konstantina Galouni | 3903c940a7 | |
Konstantina Galouni | d83c614892 | |
Konstantina Galouni | 363e371ec1 | |
Konstantina Galouni | ce034c1c8c | |
Konstantina Galouni | aa192044af | |
Konstantina Galouni | f24e62cad6 | |
Konstantina Galouni | 16a73b6e29 | |
Konstantina Galouni | ecd21315f4 | |
Konstantina Galouni | a5beb8ba76 | |
Konstantina Galouni | 713e6014c3 | |
Konstantina Galouni | a5ce147fa1 | |
Konstantina Galouni | 65ba5ef994 | |
Konstantina Galouni | d786a50074 | |
Konstantina Galouni | 88c53b6cc3 | |
Konstantinos Triantafyllou | 642509a1f5 | |
Konstantinos Triantafyllou | f948757eb2 | |
Konstantinos Triantafyllou | e33812c8d8 | |
Konstantinos Triantafyllou | 8dfa776e0a | |
Konstantinos Triantafyllou | d97231ba92 | |
Konstantinos Triantafyllou | f443ca9a61 | |
Konstantinos Triantafyllou | d8fadf50e6 | |
Konstantinos Triantafyllou | 6d4f7d5645 | |
Konstantinos Triantafyllou | bfd7e1bf94 | |
Konstantinos Triantafyllou | 1602407c41 | |
Konstantinos Triantafyllou | c8967dd92b | |
Konstantinos Triantafyllou | 95f749e9f0 | |
Konstantinos Triantafyllou | 3a463f9bab | |
Konstantinos Triantafyllou | 15cd6a2fb6 | |
Konstantinos Triantafyllou | cffe2a0967 | |
Konstantinos Triantafyllou | 3011294f5b | |
Konstantinos Triantafyllou | eb15f07ef0 | |
Konstantinos Triantafyllou | 89788f660d | |
Konstantinos Triantafyllou | 986aecfe2a | |
Konstantinos Triantafyllou | 7ada3160f2 | |
Konstantinos Triantafyllou | 12ee95b98c |
|
@ -0,0 +1,168 @@
|
|||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
||||
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
||||
|
||||
*For each release, use the following sub-sections:*
|
||||
|
||||
- *Added (for new features)*
|
||||
- *Changed (for changes in existing functionality)*
|
||||
- *Deprecated (for soon-to-be removed features)*
|
||||
- *Removed (for now removed features)*
|
||||
- *Fixed (for any bug fixes)*
|
||||
- *Security (in case of vulnerabilities)*
|
||||
|
||||
## [production-release-march-2024] - 2024/03/04
|
||||
### Changed
|
||||
* Performance improvements
|
||||
* Search pages: Access Routes, impact-based indicators, usage counts: Open drops on click, instead of hover
|
||||
* Linking: change Datacite api from /works to /dois
|
||||
* Updated funding text in footer
|
||||
* Removed tooltips from search results
|
||||
* UI updates on search pages
|
||||
* Paging only at the bottom under the search results
|
||||
* Removed number of results
|
||||
* Removed results per page option
|
||||
|
||||
### Fixed
|
||||
* z-index issue in dropdowns inside modals
|
||||
* Change search tab from menu
|
||||
* Requests in bulk DOIs upload in linkinh
|
||||
* View all for search filters
|
||||
* Research products detailed page: Provenance label in funded by
|
||||
|
||||
### Added
|
||||
* Full-Text link in Research products
|
||||
|
||||
## [production-release-february-2024] - 2024/02/12
|
||||
### Changed
|
||||
* Remove "open access" as preselected filter
|
||||
* Rounded numbers in search tabs
|
||||
* Home page: Performance improvements on images loading
|
||||
* Home page, Search page, Funders page: Performance improvements on services requests
|
||||
|
||||
### Fixed
|
||||
* Filtering out in funding levels according to selected funder when querying 100 values
|
||||
* Filters in claims & in organization landing > projects tab were always loading
|
||||
* Research products landing page: Added providers in versions
|
||||
* SEO fixes in landing pages
|
||||
|
||||
## [production-release-january-2024] - 2024/02/01
|
||||
### Changed
|
||||
* Updated FoS search filter - do not display code
|
||||
* Removed "BETA" indication from FoS
|
||||
* Access search filter: Display always all the predefined values
|
||||
* Filters: remove number of values
|
||||
* Filters: Get 7 value (display 6) and 100 on "view more" click
|
||||
* My claims: remove urls for pending claims
|
||||
* Improve queries for search organizations & data sources
|
||||
|
||||
### Fixed
|
||||
* Search query with input full ORCID url or just ORCID id
|
||||
* In search, added also in count query for data sources the datasource pid check
|
||||
* Landing: min-height needed in metrics box
|
||||
|
||||
### Added
|
||||
* Linking: responsive in mobile
|
||||
|
||||
## [production-release-november-2023-v2] - 2023/11/28
|
||||
### Added
|
||||
* Add sorting options with impact factors in search results page
|
||||
|
||||
### Changed
|
||||
* Data source landing: get collected full texts from new stats API
|
||||
* Updated parsing of measures - in results: views/downloads per data source
|
||||
|
||||
### Fixed
|
||||
* Updated query for funders number in Funders page
|
||||
* Updated query for funders number is first page
|
||||
* Advanced Search Results: funder field to return all funders
|
||||
* Advanced Search Projects: funder field to return all funders
|
||||
|
||||
## [production-release-november-2023] - 2023/11/09
|
||||
### Added
|
||||
* Missing funders' logos locally in Explore assets
|
||||
|
||||
### Changed
|
||||
* Deposit search page: UI improvement in “Go to repository” button
|
||||
|
||||
### Fixed
|
||||
* Reverted version of UIkit back to version 3.16.24 - previous version caused bug with dropdowns
|
||||
|
||||
## [production-release-october-2023] - 2023/10/18
|
||||
### Added
|
||||
* Search page: Add view more option on overflow (e.g authors, partners, subjects, projects)
|
||||
|
||||
### Changed
|
||||
* Upgrade to Angular 16
|
||||
* New Claims API
|
||||
* New Funders Page
|
||||
|
||||
### Fixed
|
||||
* Reverted version of UIkit to version 3.16.14 because of parallax
|
||||
* A persistent identifier can resolve in more than one pid types
|
||||
|
||||
## [production-release-september-2023] - 2023/09/25
|
||||
### FIXED
|
||||
* Error on grant access in ORCID Search & Link Wizard
|
||||
* Added missing id in linking from the project landing
|
||||
* Added check in search data sources parsing
|
||||
|
||||
## [production-release-august-2023] - 2023/08/25
|
||||
### Added
|
||||
* Search mobile: Added actions
|
||||
* Detailed pages - mobile: Added search-bar
|
||||
* Mobile: new drops and dropdowns
|
||||
|
||||
### Changed
|
||||
* Linking: Redesign of results view
|
||||
* Advanced search form: Add autocomplete input for eosc subject field
|
||||
* Detailed pages - mobile: UI updates & improvements
|
||||
|
||||
### Fixed
|
||||
* Advanced search and detailed page
|
||||
* Added a necessary check in html of detailed pages
|
||||
|
||||
## [production-release-may-2023] - 2023/05/19
|
||||
### Added
|
||||
* Detailed research products page: Added suggest modals for Sustainable Development Goals and Fields of Science
|
||||
* Get research products, projects & data sources usage counts from index
|
||||
|
||||
### Changed
|
||||
* Redesign of detailed pages and mobile version
|
||||
|
||||
### Fixed
|
||||
* Fix path for fos/sdg vocabularies in advanced search
|
||||
* Search page improvements
|
||||
* UI updates & improvements in search results and detailed pages (minor)
|
||||
|
||||
## [production-release-january-2023] - 2023/01/18
|
||||
### FIXED
|
||||
* Contact us form: Email body was either empty or incomplete
|
||||
* Contact us page: After sending an email, clear recaptcha
|
||||
|
||||
|
||||
## [production-release-december-2022] - 2022/12/21
|
||||
### Added
|
||||
* Link to blog in Sustainable Development Goals page
|
||||
|
||||
### Changed
|
||||
* SEO updates and mobile menu
|
||||
|
||||
### Fixed
|
||||
* Linking: Changed Crossref requests for bulk uploaded DOIs
|
||||
* Medium screens: not sticky navbar causing error
|
||||
|
||||
## [production-release-november-2022] - 2022/11/30
|
||||
### Added
|
||||
* EOSC subjects from eoscifguidelines field & Advanced field "EOSC Subject"
|
||||
* New Contact us page
|
||||
|
||||
### Changed
|
||||
* Upgrade to Angular 14
|
||||
* Refinement of filters
|
||||
* Advanced search form: UI updates and smooth scrolling
|
||||
* FoS and deposit pages updates
|
||||
* Bip Finder: Updated parsing and labels for Bip Finder scores & updated link to BiP Finder
|
|
@ -1,6 +1,6 @@
|
|||
# Explore
|
||||
|
||||
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.3.10 and has been updated to 11.2.14.
|
||||
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.3.10 and has been updated to 16.1.7.
|
||||
|
||||
## Install packages
|
||||
|
||||
|
|
|
@ -52,6 +52,8 @@
|
|||
],
|
||||
"styles": [
|
||||
"src/styles.less",
|
||||
{"input": "src/assets/deposit.less", "inject": false },
|
||||
{"input": "src/assets/funders.less", "inject": false },
|
||||
"src/assets/common-assets/library-css/material.scss"
|
||||
],
|
||||
"scripts": [
|
||||
|
@ -274,13 +276,16 @@
|
|||
"main": "server.ts",
|
||||
"tsConfig": "src/tsconfig.server.json",
|
||||
"sourceMap": true,
|
||||
"optimization": false
|
||||
"optimization": false,
|
||||
"buildOptimizer": false
|
||||
},
|
||||
"configurations": {
|
||||
"development": {
|
||||
"outputHashing": "media",
|
||||
"sourceMap": false,
|
||||
"optimization": true
|
||||
"optimization": true,
|
||||
"vendorChunk": true,
|
||||
"buildOptimizer": true
|
||||
},
|
||||
"test": {
|
||||
"outputHashing": "media",
|
||||
|
@ -291,7 +296,8 @@
|
|||
}
|
||||
],
|
||||
"sourceMap": false,
|
||||
"optimization": true
|
||||
"optimization": true,
|
||||
"buildOptimizer": true
|
||||
},
|
||||
"beta": {
|
||||
"outputHashing": "media",
|
||||
|
@ -302,7 +308,8 @@
|
|||
}
|
||||
],
|
||||
"sourceMap": false,
|
||||
"optimization": true
|
||||
"optimization": true,
|
||||
"buildOptimizer": true
|
||||
},
|
||||
"production": {
|
||||
"outputHashing": "media",
|
||||
|
@ -313,7 +320,8 @@
|
|||
}
|
||||
],
|
||||
"sourceMap": false,
|
||||
"optimization": true
|
||||
"optimization": true,
|
||||
"buildOptimizer": true
|
||||
}
|
||||
},
|
||||
"defaultConfiguration": ""
|
||||
|
|
|
@ -23,42 +23,42 @@
|
|||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@angular/animations": "^14.2.3",
|
||||
"@angular/cdk": "^14.2.2",
|
||||
"@angular/common": "^14.2.3",
|
||||
"@angular/compiler": "^14.2.3",
|
||||
"@angular/core": "^14.2.3",
|
||||
"@angular/forms": "^14.2.3",
|
||||
"@angular/localize": "^14.2.3",
|
||||
"@angular/material": "^14.2.2",
|
||||
"@angular/platform-browser": "^14.2.3",
|
||||
"@angular/platform-browser-dynamic": "^14.2.3",
|
||||
"@angular/platform-server": "^14.2.3",
|
||||
"@angular/router": "^14.2.3",
|
||||
"@nguniversal/express-engine": "^14.2.0",
|
||||
"@angular/animations": "^16.1.7",
|
||||
"@angular/cdk": "^16.1.6",
|
||||
"@angular/common": "^16.1.7",
|
||||
"@angular/compiler": "^16.1.7",
|
||||
"@angular/core": "^16.1.7",
|
||||
"@angular/forms": "^16.1.7",
|
||||
"@angular/localize": "^16.1.7",
|
||||
"@angular/material": "^16.1.6",
|
||||
"@angular/platform-browser": "^16.1.7",
|
||||
"@angular/platform-browser-dynamic": "^16.1.7",
|
||||
"@angular/platform-server": "^16.1.7",
|
||||
"@angular/router": "^16.1.7",
|
||||
"@nguniversal/express-engine": "^16.1.1",
|
||||
"clipboard": "^1.5.16",
|
||||
"core-js": "^2.5.4",
|
||||
"express": "^4.15.2",
|
||||
"jquery": "^3.4.1",
|
||||
"ng-recaptcha": "^10.0.0",
|
||||
"ng-recaptcha": "^12.0.2",
|
||||
"prom-client": "^11.3.0",
|
||||
"rxjs": "^6.5.1",
|
||||
"ts-md5": "^1.2.0",
|
||||
"tslib": "^2.0.0",
|
||||
"uikit": "3.13.10",
|
||||
"zone.js": "~0.11.4"
|
||||
"uikit": "3.16.24",
|
||||
"zone.js": "~0.13.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "^14.2.3",
|
||||
"@angular/cli": "^14.2.3",
|
||||
"@angular/compiler-cli": "^14.2.3",
|
||||
"@angular/language-service": "^14.2.3",
|
||||
"@nguniversal/builders": "^14.2.0",
|
||||
"@angular-devkit/build-angular": "^16.1.6",
|
||||
"@angular/cli": "^16.1.6",
|
||||
"@angular/compiler-cli": "^16.1.7",
|
||||
"@angular/language-service": "^16.1.7",
|
||||
"@nguniversal/builders": "^16.1.1",
|
||||
"@types/compression": "^1.7.0",
|
||||
"@types/express": "^4.17.0",
|
||||
"@types/jasmine": "~3.6.0",
|
||||
"@types/jasminewd2": "~2.0.3",
|
||||
"@types/node": "^12.11.1",
|
||||
"@types/node": "^16.18.50",
|
||||
"codelyzer": "^6.0.0",
|
||||
"jasmine-core": "~3.8.0",
|
||||
"jasmine-spec-reporter": "~5.0.0",
|
||||
|
@ -69,6 +69,6 @@
|
|||
"karma-jasmine-html-reporter": "^1.6.0",
|
||||
"protractor": "~7.0.0",
|
||||
"ts-node": "~7.0.0",
|
||||
"typescript": "~4.6.4"
|
||||
"typescript": "~4.9.5"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,8 @@ export const routes = [
|
|||
'/participate/deposit-subject-result',
|
||||
'/participate/deposit-publications',
|
||||
'/participate/deposit-publications-result',
|
||||
'/participate/deposit/learn-how',
|
||||
'/participate/deposit/search',
|
||||
'/search/find/research-outcomes',
|
||||
'/search/find',
|
||||
'/search/find/publications',
|
||||
|
@ -40,4 +42,9 @@ export const routes = [
|
|||
'/claims',
|
||||
'/participate/claim',
|
||||
'/participate/direct-claim',
|
||||
'/my-orcid-links',
|
||||
'/sdgs',
|
||||
'/fields-of-science',
|
||||
'/funders',
|
||||
'/contact-us',
|
||||
];
|
||||
|
|
|
@ -1,40 +1,36 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule, Routes} from '@angular/router';
|
||||
import {OpenaireErrorPageComponent} from './error/errorPage.component';
|
||||
import {PageURLResolverComponent} from "./openaireLibrary/utils/pageURLResolver.component";
|
||||
import {SdgModule} from "./openaireLibrary/sdg/sdg.module";
|
||||
import {ErrorPageComponent} from "./openaireLibrary/error/errorPage.component";
|
||||
|
||||
const routes: Routes = [
|
||||
// Other Pages
|
||||
{path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule)},
|
||||
{path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule), data: {hasStickyHeaderOnMobile: true}},
|
||||
{path: 'home', redirectTo: '', pathMatch: 'full'},
|
||||
{path: 'mail-preferences', loadChildren: () => import('./userEmailPreferences/mailPrefs.module').then(m => m.LibMailPrefsModule)},
|
||||
{path: 'sdgs', loadChildren: () => import('./sdg/sdg.module').then(m => m.LibSdgModule)},
|
||||
{path: 'fields-of-science', loadChildren: () => import('./fos/fos.module').then(m => m.LibFosModule), data: {extraOffset: 100}},
|
||||
{path: 'sdgs', loadChildren: () => import('./openaireLibrary/sdg/sdg.module').then(m => m.SdgModule)},
|
||||
{path: 'fields-of-science', loadChildren: () => import('./openaireLibrary/fos/fos.module').then(m => m.FosModule), data: {extraOffset: 100}},
|
||||
{path: 'funders', loadChildren: () => import('./funders/funders.module').then(m => m.FundersModule)},
|
||||
{path: 'contact-us', loadChildren: () => import('./contact/contact.module').then(m => m.ContactModule), data: {hasQuickContact: false}},
|
||||
// ORCID Pages
|
||||
{path: 'orcid', loadChildren: () => import('./orcid/orcid.module').then(m => m.LibOrcidModule)},
|
||||
{path: 'my-orcid-links', loadChildren: () => import('./orcid/my-orcid-links/myOrcidLinks.module').then(m => m.LibMyOrcidLinksModule)},
|
||||
{path: 'orcid', loadChildren: () => import('./openaireLibrary/orcid/orcid.module').then(m => m.OrcidModule)},
|
||||
{path: 'my-orcid-links', loadChildren: () => import('./openaireLibrary/orcid/my-orcid-links/myOrcidLinks.module').then(m => m.MyOrcidLinksModule)},
|
||||
// Landing Pages
|
||||
{path: 'search/result', loadChildren: () => import('./landingPages/result/libResult.module').then(m => m.LibResultModule), data: {hasQuickContact: false, hasMenuSearchBar: true}},
|
||||
{path: 'search/publication', loadChildren: () => import('./landingPages/publication/libPublication.module').then(m => m.LibPublicationModule), data: {hasQuickContact: false, hasMenuSearchBar: true}},
|
||||
{path: 'search/dataset', loadChildren: () => import('./landingPages/dataset/libDataset.module').then(m => m.LibDatasetModule), data: {hasQuickContact: false, hasMenuSearchBar: true}},
|
||||
{path: 'search/software', loadChildren: () => import('./landingPages/software/libSoftware.module').then(m => m.LibSoftwareModule), data: {hasQuickContact: false, hasMenuSearchBar: true}},
|
||||
{path: 'search/other', loadChildren: () => import('./landingPages/orp/libOrp.module').then(m => m.LibOrpModule), data: {hasQuickContact: false, hasMenuSearchBar: true}},
|
||||
{path: 'search/project', loadChildren: () => import('./landingPages/project/libProject.module').then(m => m.LibProjectModule), data: {hasQuickContact: false, hasMenuSearchBar: true}},
|
||||
{path: 'search/result', loadChildren: () => import('./openaireLibrary/landingPages/result/resultLanding.module').then(m => m.ResultLandingModule), data: {hasQuickContact: false, hasMenuSearchBar: true, type: 'result', community: 'openaire'}},
|
||||
{path: 'search/publication', loadChildren: () => import('./openaireLibrary/landingPages/result/resultLanding.module').then(m => m.ResultLandingModule), data: {hasQuickContact: false, hasMenuSearchBar: true, type: 'publication', community: 'openaire'}},
|
||||
{path: 'search/dataset', loadChildren: () => import('./openaireLibrary/landingPages/result/resultLanding.module').then(m => m.ResultLandingModule), data: {hasQuickContact: false, hasMenuSearchBar: true, type: 'dataset', community: 'openaire'}},
|
||||
{path: 'search/software', loadChildren: () => import('./openaireLibrary/landingPages/result/resultLanding.module').then(m => m.ResultLandingModule), data: {hasQuickContact: false, hasMenuSearchBar: true, type: 'software', community: 'openaire'}},
|
||||
{path: 'search/other', loadChildren: () => import('./openaireLibrary/landingPages/result/resultLanding.module').then(m => m.ResultLandingModule), data: {hasQuickContact: false, hasMenuSearchBar: true, type: 'orp', community: 'openaire'}},
|
||||
{path: 'search/project', loadChildren: () => import('./openaireLibrary/landingPages/project/project.module').then(m => m.ProjectModule), data: {hasQuickContact: false, hasMenuSearchBar: true, community: 'openaire'}},
|
||||
{
|
||||
path: 'search/dataprovider',
|
||||
loadChildren: () => import('././landingPages/dataProvider/libDataProvider.module').then(m => m.LibDataProviderModule),
|
||||
data: {hasQuickContact: false, hasMenuSearchBar: true}
|
||||
loadChildren: () => import('./openaireLibrary/landingPages/dataProvider/dataProvider.module').then(m => m.DataProviderModule),
|
||||
data: {hasQuickContact: false, hasMenuSearchBar: true, community: 'openaire'}
|
||||
},
|
||||
{
|
||||
path: 'search/organization',
|
||||
loadChildren: () => import('./landingPages/organization/libOrganization.module').then(m => m.LibOrganizationModule),
|
||||
data: {hasQuickContact: false, hasMenuSearchBar: true}
|
||||
},
|
||||
{
|
||||
path: 'project-report',
|
||||
loadChildren: () => import('./landingPages/htmlProjectReport/libHtmlProjectReport.module').then(m => m.LibHtmlProjectReportModule)
|
||||
loadChildren: () => import('./openaireLibrary/landingPages/organization/organization.module').then(m => m.OrganizationModule),
|
||||
data: {hasQuickContact: false, hasMenuSearchBar: true, community: 'openaire'}
|
||||
},
|
||||
|
||||
// Search Pages
|
||||
|
@ -104,10 +100,10 @@ const routes: Routes = [
|
|||
},
|
||||
// { path: 'claims-project-manager', loadChildren: './claims/claimsByToken/claimsByToken.module#LibClaimsByTokenModule'},
|
||||
// help pages - do not exist in Admin portal/api/db
|
||||
{path: 'reload', loadChildren: () => import('./reload/libReload.module').then(m => m.LibReloadModule)},
|
||||
{path: 'user-info', loadChildren: () => import('./login/libUser.module').then(m => m.LibUserModule)},
|
||||
{path: 'error', component: OpenaireErrorPageComponent},
|
||||
{path: '**', pathMatch: 'full', component: OpenaireErrorPageComponent}
|
||||
{path: 'reload', loadChildren: () => import('./openaireLibrary/reload/reload.module').then(m => m.ReloadModule)},
|
||||
{path: 'user-info', loadChildren: () => import('./openaireLibrary/login/user.module').then(m => m.UserModule)},
|
||||
{path: 'error', component: ErrorPageComponent},
|
||||
{path: '**', pathMatch: 'full', component: ErrorPageComponent}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import {ChangeDetectorRef, Component, ElementRef, ViewChild} from '@angular/core';
|
||||
import {AfterViewInit, ChangeDetectorRef, Component, ElementRef, ViewChild} from '@angular/core';
|
||||
import {ActivatedRoute, Router} from '@angular/router';
|
||||
import {EnvProperties} from './openaireLibrary/utils/properties/env-properties';
|
||||
import {MenuItem} from './openaireLibrary/sharedComponents/menu';
|
||||
|
@ -23,20 +23,21 @@ import {QuickContactService} from './openaireLibrary/sharedComponents/quick-cont
|
|||
import {LayoutService} from './openaireLibrary/dashboard/sharedComponents/sidebar/layout.service';
|
||||
|
||||
@Component({
|
||||
//changeDetection: ChangeDetectionStrategy.Default,
|
||||
//encapsulation: ViewEncapsulation.Emulated,
|
||||
selector: 'app-root',
|
||||
template: `
|
||||
<div id="modal-container"></div>
|
||||
<navbar *ngIf="properties && header" [header]="header" [portal]="properties.dashboard" [properties]=properties
|
||||
[onlyTop]=false [user]="user"
|
||||
[communityId]="properties.adminToolsCommunity" [userMenuItems]=userMenuItems [menuItems]=menuItems></navbar>
|
||||
<div *ngIf="loading">
|
||||
<loading [full]="true"></loading>
|
||||
</div>
|
||||
<schema2jsonld *ngIf="properties" [URL]="properties.domain+properties.baseLink"
|
||||
[logoURL]="properties.domain+properties.baseLink+'/assets/common-assets/logo-services/explore/main.svg'"
|
||||
type="home"
|
||||
name="OpenAIRE | Find and Share research"
|
||||
description="OpenAIRE Explore: Over 100M of research deduplicated, 170K research software, 11M research data. One of the largest open scholarly records collection worldwide."></schema2jsonld>
|
||||
<div class="custom-main-content">
|
||||
<div [class.uk-hidden]="loading" [ngClass]="rootClass">
|
||||
<div id="modal-container"></div>
|
||||
<main>
|
||||
<router-outlet></router-outlet>
|
||||
</main>
|
||||
|
@ -57,7 +58,9 @@ import {LayoutService} from './openaireLibrary/dashboard/sharedComponents/sideba
|
|||
<modal-alert #modal [overflowBody]="false"></modal-alert>
|
||||
`
|
||||
})
|
||||
export class AppComponent {
|
||||
export class AppComponent implements AfterViewInit {
|
||||
loading: boolean = false;
|
||||
rootClass: string;
|
||||
isClient: boolean = false;
|
||||
userMenuItems: MenuItem[] = [];
|
||||
menuItems: MenuItem [] = [];
|
||||
|
@ -124,7 +127,7 @@ export class AppComponent {
|
|||
}
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
ngOnDestroy() {
|
||||
this.subscriptions.forEach(subscription => {
|
||||
if (subscription instanceof Subscriber) {
|
||||
|
@ -141,6 +144,31 @@ export class AppComponent {
|
|||
ngAfterViewInit() {
|
||||
if (typeof window !== "undefined") {
|
||||
this.createObservers();
|
||||
this.subscriptions.push(this.layoutService.rootClass.subscribe(rootClass => {
|
||||
this.loading = true;
|
||||
this.cdr.detectChanges();
|
||||
if (rootClass && this.isClient) {
|
||||
let link = <HTMLLinkElement>document.getElementById('theme');
|
||||
let append = false;
|
||||
if (!link) {
|
||||
link = document.createElement('link');
|
||||
link.rel = 'stylesheet';
|
||||
link.id = 'theme';
|
||||
append = true;
|
||||
}
|
||||
link.href = rootClass + '.css';
|
||||
link.onerror = (error) => console.log(error);
|
||||
if (append) {
|
||||
document.head.appendChild(link);
|
||||
}
|
||||
}
|
||||
this.rootClass = rootClass;
|
||||
this.cdr.detectChanges();
|
||||
setTimeout(() => {
|
||||
this.loading = false;
|
||||
this.cdr.detectChanges();
|
||||
}, 500)
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -165,17 +193,19 @@ export class AppComponent {
|
|||
buildMenu() {
|
||||
this.userMenuItems = [];
|
||||
this.userMenuItems.push(new MenuItem("", "My profile", "", "", false, [], [], {}));
|
||||
this.userMenuItems.push(new MenuItem("", "My ORCID links", "", "/my-orcid-links", false, [], [""], {}));
|
||||
if(this.properties.environment != "beta") {
|
||||
this.userMenuItems.push(new MenuItem("", "My ORCID links", "", "/my-orcid-links", false, [], [""], {}));
|
||||
}
|
||||
this.userMenuItems.push(new MenuItem("", "My links", "", "/myclaims", false, [], ["/myclaims"], {}));
|
||||
let researchOutcomesMenu = new MenuItem("", OpenaireEntities.RESULTS, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {resultbestaccessright: '"' + encodeURIComponent("Open Access") + '"'});
|
||||
let researchOutcomesMenu = new MenuItem("", OpenaireEntities.RESULTS, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {});
|
||||
researchOutcomesMenu.items = [
|
||||
new MenuItem("", OpenaireEntities.PUBLICATIONS, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("publications") + '"', resultbestaccessright: '"' + encodeURIComponent("Open Access") + '"'}),
|
||||
new MenuItem("", OpenaireEntities.DATASETS, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("datasets") + '"', resultbestaccessright: '"' + encodeURIComponent("Open Access") + '"'}),
|
||||
new MenuItem("", OpenaireEntities.SOFTWARE, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("software") + '"', resultbestaccessright: '"' + encodeURIComponent("Open Access") + '"'}),
|
||||
new MenuItem("", OpenaireEntities.OTHER, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("other") + '"', resultbestaccessright: '"' + encodeURIComponent("Open Access") + '"'})];
|
||||
new MenuItem("", OpenaireEntities.PUBLICATIONS, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("publications") + '"'}),
|
||||
new MenuItem("", OpenaireEntities.DATASETS, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("datasets") + '"'}),
|
||||
new MenuItem("", OpenaireEntities.SOFTWARE, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("software") + '"'}),
|
||||
new MenuItem("", OpenaireEntities.OTHER, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("other") + '"'})];
|
||||
//TODO add check for research results route
|
||||
this.menuItems = [
|
||||
new MenuItem("search", "Search", "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {resultbestaccessright: '"' + encodeURIComponent("Open Access") + '"'},
|
||||
new MenuItem("search", "Search", "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {},
|
||||
null, null, null, null, "_blank", "internal", false,
|
||||
[
|
||||
researchOutcomesMenu,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {APP_ID, NgModule} from '@angular/core';
|
||||
import {SharedModule} from './openaireLibrary/shared/shared.module';
|
||||
import {BrowserModule, BrowserTransferStateModule} from '@angular/platform-browser';
|
||||
import {BrowserModule} from '@angular/platform-browser';
|
||||
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';
|
||||
|
@ -9,7 +9,6 @@ import {NavigationBarModule} from './openaireLibrary/sharedComponents/navigation
|
|||
import {CookieLawModule} from './openaireLibrary/sharedComponents/cookie-law/cookie-law.module';
|
||||
import {BottomModule} from './openaireLibrary/sharedComponents/bottom.module';
|
||||
import {ErrorModule} from './openaireLibrary/error/error.module';
|
||||
import {OpenaireErrorPageComponent} from './error/errorPage.component';
|
||||
import {AppRoutingModule} from './app-routing.module';
|
||||
import {HttpInterceptorService} from "./openaireLibrary/http-interceptor.service";
|
||||
import {PageURLResolverModule} from "./openaireLibrary/utils/pageURLResolver.module";
|
||||
|
@ -19,6 +18,7 @@ import {DEFAULT_TIMEOUT, TimeoutInterceptor} from "./openaireLibrary/timeout-int
|
|||
import {ErrorInterceptorService} from "./openaireLibrary/error-interceptor.service";
|
||||
import {QuickContactModule} from './openaireLibrary/sharedComponents/quick-contact/quick-contact.module';
|
||||
import {AlertModalModule} from './openaireLibrary/utils/modal/alertModal.module';
|
||||
import {LoadingModule} from "./openaireLibrary/utils/loading/loading.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
|
@ -28,22 +28,22 @@ import {AlertModalModule} from './openaireLibrary/utils/modal/alertModal.module'
|
|||
ErrorModule,
|
||||
NavigationBarModule, BottomModule,
|
||||
CookieLawModule,
|
||||
BrowserModule.withServerTransition({ appId: 'explore' }),
|
||||
BrowserModule,
|
||||
AppRoutingModule,
|
||||
BrowserTransferStateModule,
|
||||
BrowserAnimationsModule, PageURLResolverModule,
|
||||
Schema2jsonldModule,
|
||||
QuickContactModule,
|
||||
AlertModalModule
|
||||
BrowserAnimationsModule, PageURLResolverModule,
|
||||
Schema2jsonldModule,
|
||||
QuickContactModule,
|
||||
AlertModalModule, LoadingModule
|
||||
],
|
||||
declarations: [AppComponent, OpenaireErrorPageComponent],
|
||||
declarations: [AppComponent],
|
||||
exports: [AppComponent],
|
||||
providers: [
|
||||
{
|
||||
provide: HTTP_INTERCEPTORS,
|
||||
useClass: CacheInterceptorService,
|
||||
multi: true
|
||||
},
|
||||
{provide: APP_ID, useValue: 'explore'},
|
||||
// {
|
||||
// provide: HTTP_INTERCEPTORS,
|
||||
// useClass: CacheInterceptorService,
|
||||
// multi: true
|
||||
// },
|
||||
{
|
||||
provide: HTTP_INTERCEPTORS,
|
||||
useClass: HttpInterceptorService,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import {ServerModule, ServerTransferStateModule} from '@angular/platform-server';
|
||||
import {ServerModule} from '@angular/platform-server';
|
||||
|
||||
import { AppModule } from './app.module';
|
||||
import { AppComponent } from './app.component';
|
||||
|
@ -7,8 +7,7 @@ import { AppComponent } from './app.component';
|
|||
@NgModule({
|
||||
imports: [
|
||||
AppModule,
|
||||
ServerModule,
|
||||
ServerTransferStateModule
|
||||
ServerModule
|
||||
],
|
||||
bootstrap: [AppComponent],
|
||||
})
|
||||
|
|
|
@ -4,19 +4,17 @@ import {properties} from "../../../environments/environment";
|
|||
@Component({
|
||||
selector: 'openaire-claims-admin',
|
||||
template: `
|
||||
<claims-admin *ngIf="claimsInfoURL && userInfoURL" [claimsInfoURL]=claimsInfoURL [userInfoURL]="userInfoURL">
|
||||
<claims-admin *ngIf="claimsInfoURL" [claimsInfoURL]="claimsInfoURL">
|
||||
</claims-admin>
|
||||
`,
|
||||
})
|
||||
export class OpenaireClaimsAdminComponent implements OnInit {
|
||||
claimsInfoURL: string;
|
||||
userInfoURL: string;
|
||||
|
||||
|
||||
constructor() {
|
||||
}
|
||||
|
||||
public ngOnInit() {
|
||||
this.claimsInfoURL = properties.claimsInformationLink;
|
||||
this.userInfoURL = properties.userInfoUrl;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,9 +5,6 @@ import { OpenaireClaimsAdminComponent } from './claimsAdmin.component';
|
|||
import { ClaimsAdminRoutingModule } from './claimsAdmin-routing.module';
|
||||
import{ClaimsAdminModule } from '../../openaireLibrary/claims/claimsAdmin/claimsAdmin.module';
|
||||
import{ ClaimsCuratorGuard} from '../../openaireLibrary/login/claimsCuratorGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
|
@ -15,7 +12,7 @@ import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
|
|||
ClaimsAdminRoutingModule,
|
||||
ClaimsAdminModule
|
||||
],
|
||||
providers:[ClaimsCuratorGuard, PreviousRouteRecorder,IsRouteEnabled],
|
||||
providers:[ClaimsCuratorGuard],
|
||||
declarations: [
|
||||
OpenaireClaimsAdminComponent
|
||||
]
|
||||
|
|
|
@ -4,15 +4,12 @@ import { SharedModule } from '../../openaireLibrary/shared/shared.module';
|
|||
import { OpenaireDirectLinkingComponent } from './directLinking.component';
|
||||
import{ DirectLinkingModule} from '../../openaireLibrary/claims/directLinking/directLinking.module';
|
||||
import {DirectLinkingRoutingModule} from './directLinking-routing.module';
|
||||
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
SharedModule, DirectLinkingModule, DirectLinkingRoutingModule
|
||||
],
|
||||
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
|
||||
providers:[],
|
||||
declarations: [
|
||||
OpenaireDirectLinkingComponent
|
||||
], exports:[OpenaireDirectLinkingComponent]
|
||||
|
|
|
@ -4,15 +4,12 @@ import { SharedModule } from '../../openaireLibrary/shared/shared.module';
|
|||
import {OpenaireLinkingComponent} from './linkingGeneric.component';
|
||||
import {LinkingRoutingModule} from './linking-routing.module';
|
||||
import{ LinkingGenericModule} from '../../openaireLibrary/claims/linking/linkingGeneric.module';
|
||||
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
SharedModule, LinkingRoutingModule, LinkingGenericModule
|
||||
],
|
||||
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
|
||||
providers:[],
|
||||
declarations: [
|
||||
OpenaireLinkingComponent
|
||||
], exports:[
|
||||
|
|
|
@ -5,20 +5,18 @@ import {properties} from "../../../environments/environment";
|
|||
@Component({
|
||||
selector: 'openaire-my-claims',
|
||||
template: `
|
||||
<my-claims *ngIf="userInfoURL && claimsInfoURL" [claimsInfoURL]=claimsInfoURL [userInfoURL]="userInfoURL">
|
||||
<my-claims *ngIf="claimsInfoURL" [claimsInfoURL]="claimsInfoURL">
|
||||
</my-claims>
|
||||
`
|
||||
|
||||
})
|
||||
export class OpenaireMyClaimsComponent implements OnInit {
|
||||
claimsInfoURL: string;
|
||||
userInfoURL: string;
|
||||
|
||||
|
||||
constructor() {
|
||||
}
|
||||
|
||||
public ngOnInit() {
|
||||
this.claimsInfoURL = properties.claimsInformationLink;
|
||||
this.userInfoURL = properties.userInfoUrl;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,10 +4,6 @@ import { SharedModule } from '../../openaireLibrary/shared/shared.module';
|
|||
import { OpenaireMyClaimsComponent } from './myClaims.component';
|
||||
import { MyClaimsRoutingModule } from './myClaims-routing.module';
|
||||
import{ MyClaimsModule} from '../../openaireLibrary/claims/myClaims/myClaims.module';
|
||||
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
|
@ -16,7 +12,7 @@ import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
|
|||
MyClaimsModule
|
||||
|
||||
],
|
||||
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
|
||||
providers:[],
|
||||
declarations: [
|
||||
OpenaireMyClaimsComponent
|
||||
]
|
||||
|
|
|
@ -67,7 +67,7 @@ export class ContactComponent implements OnInit {
|
|||
this.updateTitle(this.pageTitle);
|
||||
this.updateDescription(this.description);
|
||||
this.reset();
|
||||
this.getPageContents();
|
||||
// this.getPageContents();
|
||||
this.sending = false;
|
||||
}
|
||||
|
||||
|
|
|
@ -4,11 +4,8 @@ import {RouterModule} from '@angular/router';
|
|||
|
||||
import {ContactComponent} from './contact.component';
|
||||
import {ContactRoutingModule} from "./contact-routing.module";
|
||||
import {EmailService} from "../openaireLibrary/utils/email/email.service";
|
||||
import {AlertModalModule} from "../openaireLibrary/utils/modal/alertModal.module";
|
||||
import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service";
|
||||
import {HelperModule} from "../openaireLibrary/utils/helper/helper.module";
|
||||
import {IsRouteEnabled} from "../openaireLibrary/error/isRouteEnabled.guard";
|
||||
import {Schema2jsonldModule} from "../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module";
|
||||
import {SEOServiceModule} from "../openaireLibrary/sharedComponents/SEO/SEOService.module";
|
||||
import {ContactUsModule} from "../openaireLibrary/contact-us/contact-us.module";
|
||||
|
@ -25,9 +22,7 @@ import {LoadingModule} from "../openaireLibrary/utils/loading/loading.module";
|
|||
declarations: [
|
||||
ContactComponent
|
||||
],
|
||||
providers: [
|
||||
EmailService, PiwikService, IsRouteEnabled
|
||||
],
|
||||
providers: [],
|
||||
exports: [
|
||||
ContactComponent
|
||||
]
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {Component, OnDestroy, OnInit} from '@angular/core';
|
||||
import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sidebar/layout.service";
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-deposit',
|
||||
|
@ -7,11 +8,17 @@ import {Component} from '@angular/core';
|
|||
`
|
||||
})
|
||||
|
||||
export class OpenaireDepositComponent {
|
||||
export class OpenaireDepositComponent implements OnInit, OnDestroy {
|
||||
|
||||
constructor() {
|
||||
constructor(private layoutService: LayoutService) {
|
||||
}
|
||||
|
||||
public ngOnInit() {}
|
||||
public ngOnInit() {
|
||||
this.layoutService.setRootClass('deposit');
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.layoutService.setRootClass(null);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,10 +2,6 @@ import { NgModule } from '@angular/core';
|
|||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
|
||||
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard';
|
||||
|
||||
import {OpenaireDepositComponent} from "./deposit.component";
|
||||
import {DepositRoutingModule} from "./deposit-routing.module";
|
||||
import {DepositFirstPageModule} from "../openaireLibrary/deposit/depositFirstPage.module";
|
||||
|
@ -24,7 +20,8 @@ import {CommunityService} from "../openaireLibrary/connect/community/community.s
|
|||
exports: [
|
||||
OpenaireDepositComponent,
|
||||
],
|
||||
providers: [PreviousRouteRecorder, IsRouteEnabled,
|
||||
ZenodoCommunitiesService, CommunityService]
|
||||
providers: [
|
||||
ZenodoCommunitiesService, CommunityService
|
||||
]
|
||||
})
|
||||
export class LibDepositModule { }
|
||||
|
|
|
@ -6,16 +6,14 @@ import { OpenaireSearchDataprovidersToDepositComponent } from './searchDataprovi
|
|||
|
||||
import {SearchDataprovidersToDepositRoutingModule} from './searchDataprovidersToDeposit-routing.module';
|
||||
import {SearchDataprovidersToDepositModule} from '../openaireLibrary/deposit/searchDataprovidersToDeposit.module';
|
||||
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard';
|
||||
import {ZenodoCommunitiesServiceModule} from '../openaireLibrary/connect/zenodoCommunities/zenodo-communitiesService.module';
|
||||
import {CommunityService} from '../openaireLibrary/connect/community/community.service';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule,
|
||||
SearchDataprovidersToDepositModule,
|
||||
SearchDataprovidersToDepositRoutingModule,
|
||||
SearchDataprovidersToDepositModule,
|
||||
ZenodoCommunitiesServiceModule
|
||||
],
|
||||
declarations: [
|
||||
|
@ -24,6 +22,6 @@ import {CommunityService} from '../openaireLibrary/connect/community/community.s
|
|||
exports: [
|
||||
OpenaireSearchDataprovidersToDepositComponent,
|
||||
],
|
||||
providers: [PreviousRouteRecorder, IsRouteEnabled, CommunityService]
|
||||
providers: [CommunityService]
|
||||
})
|
||||
export class LibSearchDataprovidersToDepositModule { }
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-error',
|
||||
template: `
|
||||
<error></error>
|
||||
`
|
||||
})
|
||||
|
||||
export class OpenaireErrorPageComponent {
|
||||
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
import {NgModule} from "@angular/core";
|
||||
import {RouterModule} from "@angular/router";
|
||||
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||
import {ExploreFosComponent} from "./fos.component";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{
|
||||
path: '',
|
||||
component: ExploreFosComponent,
|
||||
canDeactivate: [PreviousRouteRecorder]
|
||||
}
|
||||
])
|
||||
]
|
||||
})
|
||||
export class LibFosRoutingModule { }
|
|
@ -1,11 +0,0 @@
|
|||
import {Component} from "@angular/core";
|
||||
import {properties} from "../../environments/environment";
|
||||
|
||||
@Component({
|
||||
selector: 'explore-fos',
|
||||
template: `
|
||||
<fos></fos>
|
||||
`
|
||||
})
|
||||
|
||||
export class ExploreFosComponent {}
|
|
@ -1,26 +0,0 @@
|
|||
import {CommonModule} from "@angular/common";
|
||||
import {NgModule} from "@angular/core";
|
||||
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||
import {LibFosRoutingModule} from "./fos-routing.module";
|
||||
import {FosRoutingModule} from "../openaireLibrary/fos/fos-routing.module";
|
||||
import {FosModule} from "../openaireLibrary/fos/fos.module";
|
||||
import {ExploreFosComponent} from "./fos.component";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
LibFosRoutingModule,
|
||||
FosRoutingModule,
|
||||
FosModule
|
||||
],
|
||||
declarations: [
|
||||
ExploreFosComponent
|
||||
],
|
||||
exports: [
|
||||
ExploreFosComponent
|
||||
],
|
||||
providers: [
|
||||
PreviousRouteRecorder
|
||||
]
|
||||
})
|
||||
export class LibFosModule { }
|
|
@ -142,9 +142,9 @@
|
|||
<div class="uk-card-body">
|
||||
<!-- funder logo -->
|
||||
<div class="uk-card-media-top uk-margin-medium-top uk-padding-large uk-padding-remove-vertical uk-flex uk-flex-center uk-flex-middle uk-height-xsmall">
|
||||
<img *ngIf="funder.logoUrl; else elseBlock" [src]="funder | logoUrl" [alt]="funder.name + ' logo'" class="uk-height-max-xsmall uk-blend-multiply">
|
||||
<img *ngIf="funder.logoUrl; else elseBlock" [src]="funder | logoUrl" [alt]="funder.name + ' logo'" class="uk-height-max-xsmall uk-blend-multiply" loading="lazy">
|
||||
<ng-template #elseBlock>
|
||||
<img src="assets/common-assets/placeholder.png" alt="OpenAIRE placeholder logo" class="uk-height-max-xsmall uk-blend-multiply">
|
||||
<img src="assets/common-assets/placeholder.png" alt="OpenAIRE placeholder logo" class="uk-height-max-xsmall uk-blend-multiply" loading="lazy">
|
||||
</ng-template>
|
||||
</div>
|
||||
<!-- funder alias -->
|
||||
|
@ -168,7 +168,7 @@
|
|||
target="_blank" [href]="'https://'+(properties.environment =='beta' || properties.environment =='development'?'beta.':'')+'monitor.openaire.eu/dashboard/'+funder.alias">
|
||||
<span class="uk-flex uk-flex-middle">
|
||||
<img src="assets/common-assets/common/Symbol.png" alt="OpenAIRE logo"
|
||||
class="uk-margin-xsmall-right" style="width: 17px; height: 17px;">
|
||||
class="uk-margin-xsmall-right" style="width: 17px; height: 17px;" loading="lazy">
|
||||
<span class="monitor-dashboard-link uk-text-uppercase">Monitor Dashboard</span>
|
||||
</span>
|
||||
</a>
|
||||
|
@ -176,7 +176,7 @@
|
|||
<span *ngIf="funder.monitorDashboard && funder.monitorDashboardStatus == 'RESTRICTED'"
|
||||
class="uk-flex uk-flex-middle">
|
||||
<img src="assets/common-assets/common/Symbol.png" alt="OpenAIRE logo"
|
||||
class="uk-margin-xsmall-right" style="width: 17px; height: 17px;">
|
||||
class="uk-margin-xsmall-right" style="width: 17px; height: 17px;" loading="lazy">
|
||||
<span class="monitor-dashboard-link uk-text-uppercase uk-text-bold uk-text-small">Monitor Dashboard</span>
|
||||
<icon class="uk-margin-xsmall-left" name="closed_access" [flex]="true" [ratio]="1"></icon>
|
||||
</span>
|
||||
|
@ -211,9 +211,9 @@
|
|||
<div class="uk-grid uk-grid-divider uk-grid-small" uk-grid>
|
||||
<div class="uk-width-expand uk-flex uk-flex-middle">
|
||||
<div class="uk-width-1-6 uk-flex uk-flex-middle uk-flex-center">
|
||||
<img *ngIf="funder.logoUrl; else elseBlock" [src]="funder | logoUrl" [alt]="funder.name + ' logo'" class="uk-height-max-xsmall uk-blend-multiply">
|
||||
<img *ngIf="funder.logoUrl; else elseBlock" [src]="funder | logoUrl" [alt]="funder.name + ' logo'" class="uk-height-max-xsmall uk-blend-multiply" loading="lazy">
|
||||
<ng-template #elseBlock>
|
||||
<img src="assets/common-assets/placeholder.png" alt="OpenAIRE placeholder logo" class="uk-height-max-xsmall uk-blend-multiply">
|
||||
<img src="assets/common-assets/placeholder.png" alt="OpenAIRE placeholder logo" class="uk-height-max-xsmall uk-blend-multiply" loading="lazy">
|
||||
</ng-template>
|
||||
</div>
|
||||
<div class="uk-width-expand uk-margin-medium-left">
|
||||
|
@ -234,14 +234,14 @@
|
|||
target="_blank" [href]="'https://'+(properties.environment =='beta' || properties.environment =='development'?'beta.':'')+'monitor.openaire.eu/dashboard/'+funder.alias">
|
||||
<span class="uk-flex uk-flex-middle">
|
||||
<img src="assets/common-assets/common/Symbol.png" alt="OpenAIRE logo"
|
||||
class="uk-margin-xsmall-right" style="width: 17px; height: 17px;">
|
||||
class="uk-margin-xsmall-right" style="width: 17px; height: 17px;" loading="lazy">
|
||||
<span class="monitor-dashboard-link uk-text-uppercase">Monitor Dashboard</span>
|
||||
</span>
|
||||
</a>
|
||||
<span *ngIf="funder.monitorDashboard && funder.monitorDashboardStatus == 'RESTRICTED'"
|
||||
class="uk-flex uk-flex-middle">
|
||||
<img src="assets/common-assets/common/Symbol.png" alt="OpenAIRE logo"
|
||||
class="uk-margin-xsmall-right" style="width: 17px; height: 17px;">
|
||||
class="uk-margin-xsmall-right" style="width: 17px; height: 17px;" loading="lazy">
|
||||
<span class="monitor-dashboard-link uk-text-uppercase uk-text-bold uk-text-small">Monitor Dashboard</span>
|
||||
<icon class="uk-margin-xsmall-left" name="closed_access" [flex]="true" [ratio]="1"></icon>
|
||||
</span>
|
||||
|
|
|
@ -17,6 +17,7 @@ import {NumberUtils} from '../openaireLibrary/utils/number-utils.class';
|
|||
import {LayoutService} from '../openaireLibrary/dashboard/sharedComponents/sidebar/layout.service';
|
||||
import {FormBuilder, FormControl} from '@angular/forms';
|
||||
import {debounceTime, distinctUntilChanged} from 'rxjs/operators';
|
||||
import {GroupedRequestsService} from "../openaireLibrary/services/groupedRequests.service";
|
||||
|
||||
@Component({
|
||||
selector: 'funders',
|
||||
|
@ -59,7 +60,22 @@ export class FundersComponent implements OnInit {
|
|||
"monitorDashboard": string,
|
||||
"monitorDashboardStatus": string,
|
||||
"logoUrl": string
|
||||
}>();
|
||||
}>();
|
||||
staticLogos: Set<string> = new Set<string>([
|
||||
"arc_________::ARC||Australian Research Council (ARC)||ARC",
|
||||
"asap________::ASAP||Aligning Science Across Parkinson's||ASAP",
|
||||
"cihr________::CIHR||Canadian Institutes of Health Research||CIHR",
|
||||
"euenvagency_::EEA||European Environment Agency||EEA",
|
||||
"inca________::INCA||Institut National du Cancer||INCa",
|
||||
"nhmrc_______::NHMRC||National Health and Medical Research Council (NHMRC)||NHMRC",
|
||||
"nih_________::NIH||National Institutes of Health||NIH",
|
||||
"nserc_______::NSERC||Natural Sciences and Engineering Research Council of Canada||NSERC",
|
||||
"nsf_________::NSF||National Science Foundation||NSF",
|
||||
"sshrc_______::SSHRC||Social Sciences and Humanities Research Council||SSHRC",
|
||||
"taraexp_____::tara||Tara Expeditions Foundation||TARA",
|
||||
"ukri________::UKRI||UK Research and Innovation||UKRI",
|
||||
"wt__________::WT||Wellcome Trust||WT"
|
||||
]);
|
||||
|
||||
constructor(private router: Router,
|
||||
private meta: Meta,
|
||||
|
@ -70,10 +86,12 @@ export class FundersComponent implements OnInit {
|
|||
private stakeholderService: StakeholderService,
|
||||
private layoutService: LayoutService,
|
||||
private cdr: ChangeDetectorRef,
|
||||
private fb: FormBuilder,) {
|
||||
private fb: FormBuilder,
|
||||
private groupedRequestsService: GroupedRequestsService) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.layoutService.setRootClass('funders');
|
||||
this.title.setTitle('OpenAIRE - Explore | Funders');
|
||||
this.properties = properties;
|
||||
this.subscriptions.push( this.piwikService.trackView(this.properties, this.pageTitle).subscribe());
|
||||
|
@ -109,6 +127,7 @@ export class FundersComponent implements OnInit {
|
|||
subscription.unsubscribe();
|
||||
}
|
||||
});
|
||||
this.layoutService.setRootClass(null);
|
||||
}
|
||||
|
||||
private updateDescription(description: string) {
|
||||
|
@ -127,90 +146,155 @@ export class FundersComponent implements OnInit {
|
|||
}
|
||||
|
||||
private getFunders() {
|
||||
let refineParams = '&fq=resultbestaccessright%20exact%20%22Open%20Access%22';
|
||||
this.subscriptions.push(
|
||||
zip(
|
||||
this.refineFieldResultsService.getRefineFieldsResultsByEntityName(['relfunder'], 'result', this.properties),
|
||||
this.refineFieldResultsService.getRefineFieldsResultsByEntityName(['relfunder'], 'result', this.properties, refineParams),
|
||||
this.refineFieldResultsService.getRefineFieldsResultsByEntityName(['funder'], 'project', this.properties),
|
||||
this.stakeholderService.getStakeholders(this.properties.monitorServiceAPIURL, 'funder')
|
||||
).subscribe((data: any[]) => {
|
||||
// storing all needed data to a map
|
||||
// 1st call
|
||||
let queriedFunders1 = data[0][1][0].values;
|
||||
queriedFunders1.forEach(queriedFunder => {
|
||||
this.fundersMap.set(queriedFunder.id, {
|
||||
"id": queriedFunder.id,
|
||||
"name": queriedFunder.name,
|
||||
"alias": '',
|
||||
"researchProducts": +queriedFunder.number,
|
||||
"openAccessResearchProducts": 0,
|
||||
"openAccessPercentage": 0,
|
||||
"projects": 0,
|
||||
"monitorDashboard": '',
|
||||
"monitorDashboardStatus": '',
|
||||
"logoUrl": ''
|
||||
});
|
||||
});
|
||||
this.subscriptions.push(this.groupedRequestsService.funders().subscribe(data => {
|
||||
let funders = data["funders"];
|
||||
funders.forEach(queriedFunder => {
|
||||
let id = queriedFunder.id;
|
||||
let funder = {
|
||||
"id": id,
|
||||
"name": this.removePartAfterCharacters(queriedFunder.name, "||"),
|
||||
"alias": '',
|
||||
"researchProducts": +queriedFunder.results,
|
||||
"openAccessResearchProducts": +queriedFunder.openResults,
|
||||
"openAccessPercentage": 0,
|
||||
"projects": +queriedFunder.projects,
|
||||
"monitorDashboard": '',
|
||||
"monitorDashboardStatus": '',
|
||||
"logoUrl": ''
|
||||
};
|
||||
|
||||
// 2nd call
|
||||
let queriedFunders2 = data[1][1][0].values;
|
||||
queriedFunders2.forEach(queriedFunder => {
|
||||
if(this.fundersMap.has(queriedFunder.id)) {
|
||||
this.fundersMap.get(queriedFunder.id).openAccessResearchProducts = +queriedFunder.number;
|
||||
}
|
||||
});
|
||||
if((!funder.researchProducts || funder.researchProducts == 0) && (!funder.projects || funder.projects == 0)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 3rd call
|
||||
let queriedFunders3 = data[2][1][0].values;
|
||||
queriedFunders3.forEach(queriedFunder => {
|
||||
if(+queriedFunder.number > 1) {
|
||||
if (this.fundersMap.has(queriedFunder.id)) {
|
||||
this.fundersMap.get(queriedFunder.id).projects = +queriedFunder.number;
|
||||
} else {
|
||||
this.fundersMap.set(queriedFunder.id, {
|
||||
"id": queriedFunder.id,
|
||||
"name": queriedFunder.name,
|
||||
"alias": '',
|
||||
"researchProducts": 0,
|
||||
"openAccessResearchProducts": 0,
|
||||
"openAccessPercentage": 0,
|
||||
"projects": +queriedFunder.number,
|
||||
"monitorDashboard": '',
|
||||
"monitorDashboardStatus": '',
|
||||
"logoUrl": ''
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
if(queriedFunder.stakeholder) {
|
||||
let stakeholder = queriedFunder.stakeholder;
|
||||
funder.alias = stakeholder.alias;
|
||||
funder.monitorDashboard = stakeholder.alias;
|
||||
funder.monitorDashboardStatus = stakeholder.visibility;
|
||||
funder.logoUrl = (stakeholder.isUpload ? properties.utilsService + "/download/" : "")+ (stakeholder.logoUrl);
|
||||
}
|
||||
|
||||
// 4th call
|
||||
let queriedFunders4 = data[3];
|
||||
queriedFunders4.forEach(queriedFunder => {
|
||||
let id = queriedFunder.index_id + '||' + queriedFunder.index_name + '||' + queriedFunder.index_shortName;
|
||||
if(this.fundersMap.has(id)) {
|
||||
this.fundersMap.get(id).alias = queriedFunder.alias;
|
||||
this.fundersMap.get(id).monitorDashboard = queriedFunder.alias;
|
||||
this.fundersMap.get(id).monitorDashboardStatus = queriedFunder.visibility;
|
||||
this.fundersMap.get(id).logoUrl = (queriedFunder.isUpload ? properties.utilsService + "/download/" : "")+ (queriedFunder.logoUrl);
|
||||
}
|
||||
});
|
||||
this.fundersMap.forEach((value) => {
|
||||
if(value.openAccessResearchProducts > 0) {
|
||||
value.openAccessPercentage = Math.round((value.openAccessResearchProducts / value.researchProducts) * 100);
|
||||
}
|
||||
});
|
||||
// convert funders map into an array
|
||||
this.funders = Array.from(this.fundersMap.values());
|
||||
// calculate total numbers for intro content
|
||||
this.calculateNumbers();
|
||||
// sort funders
|
||||
this.funders.sort((a, b) => a['name'].localeCompare(b['name']));
|
||||
// initialize displayedFunders
|
||||
this.displayedFunders = this.funders;
|
||||
this.showLoading = false;
|
||||
})
|
||||
);
|
||||
if(funder.openAccessResearchProducts && funder.researchProducts) {
|
||||
funder.openAccessPercentage = Math.round((funder.openAccessResearchProducts / funder.researchProducts) * 100);
|
||||
}
|
||||
|
||||
if(!funder.logoUrl && this.staticLogos.has(funder.id)) {
|
||||
let split = funder.id.split("||");
|
||||
let shortname = (split && split.length==3) ? funder.id.split("||")[2] : funder.id;
|
||||
funder.logoUrl = "assets/explore-assets/funders/logos/"+shortname+".png";
|
||||
}
|
||||
|
||||
this.fundersMap.set(queriedFunder.id, funder);
|
||||
});
|
||||
// convert funders map into an array
|
||||
this.funders = Array.from(this.fundersMap.values());
|
||||
// calculate total numbers for intro content
|
||||
this.fundersNumber = data.count;
|
||||
this.researchProductsNumber = data.results;
|
||||
this.projectsNumber = data.projects;
|
||||
// sort funders
|
||||
this.funders.sort((a, b) => a['name'].localeCompare(b['name']));
|
||||
// initialize displayedFunders
|
||||
this.displayedFunders = this.funders;
|
||||
this.showLoading = false;
|
||||
}))
|
||||
|
||||
// let refineParams = '&fq=resultbestaccessright%20exact%20%22Open%20Access%22';
|
||||
// this.subscriptions.push(
|
||||
// zip(
|
||||
// this.refineFieldResultsService.getAllRefineFieldResultsByFieldName('relfunder', 'result', this.properties),
|
||||
// this.refineFieldResultsService.getAllRefineFieldResultsByFieldName('relfunder', 'result', this.properties, refineParams),
|
||||
// this.refineFieldResultsService.getAllRefineFieldResultsByFieldName('funder', 'project', this.properties),
|
||||
// this.stakeholderService.getStakeholders(this.properties.monitorServiceAPIURL, 'funder')
|
||||
// ).subscribe((data: any[]) => {
|
||||
// // storing all needed data to a map
|
||||
// // 1st call
|
||||
// let queriedFunders1 = data[0][1][0].values;
|
||||
// queriedFunders1.forEach(queriedFunder => {
|
||||
// this.fundersMap.set(queriedFunder.id, {
|
||||
// "id": queriedFunder.id,
|
||||
// "name": queriedFunder.name,
|
||||
// "alias": '',
|
||||
// "researchProducts": +queriedFunder.number,
|
||||
// "openAccessResearchProducts": 0,
|
||||
// "openAccessPercentage": 0,
|
||||
// "projects": 0,
|
||||
// "monitorDashboard": '',
|
||||
// "monitorDashboardStatus": '',
|
||||
// "logoUrl": ''
|
||||
// });
|
||||
// });
|
||||
//
|
||||
// // 2nd call
|
||||
// let queriedFunders2 = data[1][1][0].values;
|
||||
// queriedFunders2.forEach(queriedFunder => {
|
||||
// if(this.fundersMap.has(queriedFunder.id)) {
|
||||
// this.fundersMap.get(queriedFunder.id).openAccessResearchProducts = +queriedFunder.number;
|
||||
// }
|
||||
// });
|
||||
//
|
||||
// // 3rd call
|
||||
// let queriedFunders3 = data[2][1][0].values;
|
||||
// queriedFunders3.forEach(queriedFunder => {
|
||||
// if(+queriedFunder.number > 1) {
|
||||
// if (this.fundersMap.has(queriedFunder.id)) {
|
||||
// this.fundersMap.get(queriedFunder.id).projects = +queriedFunder.number;
|
||||
// } else {
|
||||
// this.fundersMap.set(queriedFunder.id, {
|
||||
// "id": queriedFunder.id,
|
||||
// "name": queriedFunder.name,
|
||||
// "alias": '',
|
||||
// "researchProducts": 0,
|
||||
// "openAccessResearchProducts": 0,
|
||||
// "openAccessPercentage": 0,
|
||||
// "projects": +queriedFunder.number,
|
||||
// "monitorDashboard": '',
|
||||
// "monitorDashboardStatus": '',
|
||||
// "logoUrl": ''
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
//
|
||||
// // 4th call
|
||||
// let queriedFunders4 = data[3];
|
||||
// queriedFunders4.forEach(queriedFunder => {
|
||||
// let id = queriedFunder.index_id + '||' + queriedFunder.index_name + '||' + queriedFunder.index_shortName;
|
||||
// if(this.fundersMap.has(id) && (
|
||||
// !this.fundersMap.get(id).monitorDashboardStatus
|
||||
// ||
|
||||
// (this.fundersMap.get(id).monitorDashboardStatus == "RESTRICTED" && queriedFunder.visibility == "PUBLIC")
|
||||
// ||
|
||||
// (this.fundersMap.get(id).monitorDashboardStatus == "PRIVATE" && (queriedFunder.visibility == "RESTRICTED" || queriedFunder.visibility == "PUBLIC")))) {
|
||||
// this.fundersMap.get(id).alias = queriedFunder.alias;
|
||||
// this.fundersMap.get(id).monitorDashboard = queriedFunder.alias;
|
||||
// this.fundersMap.get(id).monitorDashboardStatus = queriedFunder.visibility;
|
||||
// this.fundersMap.get(id).logoUrl = (queriedFunder.isUpload ? properties.utilsService + "/download/" : "")+ (queriedFunder.logoUrl);
|
||||
// }
|
||||
// });
|
||||
// this.fundersMap.forEach((value) => {
|
||||
// if(value.openAccessResearchProducts > 0) {
|
||||
// value.openAccessPercentage = Math.round((value.openAccessResearchProducts / value.researchProducts) * 100);
|
||||
// }
|
||||
// if(!value.logoUrl && this.staticLogos.has(value.id)) {
|
||||
// let split = value.id.split("||");
|
||||
// let shortname = (split && split.length==3) ? value.id.split("||")[2] : value.id;
|
||||
// value.logoUrl = "assets/explore-assets/funders/logos/"+shortname+".png";
|
||||
// }
|
||||
// });
|
||||
// // convert funders map into an array
|
||||
// this.funders = Array.from(this.fundersMap.values());
|
||||
// // calculate total numbers for intro content
|
||||
// this.calculateNumbers();
|
||||
// // sort funders
|
||||
// this.funders.sort((a, b) => a['name'].localeCompare(b['name']));
|
||||
// // initialize displayedFunders
|
||||
// this.displayedFunders = this.funders;
|
||||
// console.log(this.funders);
|
||||
// this.showLoading = false;
|
||||
// })
|
||||
// );
|
||||
}
|
||||
|
||||
private calculateSum(array, property) {
|
||||
|
@ -280,4 +364,12 @@ export class FundersComponent implements OnInit {
|
|||
this.currentPage = $event.value;
|
||||
HelperFunctions.scrollToId('target');
|
||||
}
|
||||
|
||||
private removePartAfterCharacters(field, characters):string {
|
||||
if(field && field.indexOf(characters) !=-1){
|
||||
return field.split(characters)[0];
|
||||
|
||||
}
|
||||
return field;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,8 +5,6 @@ import {RouterModule} from '@angular/router';
|
|||
import {FundersComponent} from './funders.component';
|
||||
import {FundersRoutingModule} from "./funders-routing.module";
|
||||
import {AlertModalModule} from "../openaireLibrary/utils/modal/alertModal.module";
|
||||
import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service";
|
||||
import {IsRouteEnabled} from "../openaireLibrary/error/isRouteEnabled.guard";
|
||||
import {Schema2jsonldModule} from "../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module";
|
||||
import {SEOServiceModule} from "../openaireLibrary/sharedComponents/SEO/SEOService.module";
|
||||
import {BreadcrumbsModule} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.module";
|
||||
|
@ -20,6 +18,7 @@ import {closed_access} from '../openaireLibrary/utils/icons/icons';
|
|||
import {InputModule} from '../openaireLibrary/sharedComponents/input/input.module';
|
||||
import {PagingModule} from '../openaireLibrary/utils/paging.module';
|
||||
import {SearchInputModule} from '../openaireLibrary/sharedComponents/search-input/search-input.module';
|
||||
import {GroupedRequestsServiceModule} from "../openaireLibrary/services/groupedRequestsService.module";
|
||||
|
||||
|
||||
@NgModule({
|
||||
|
@ -27,14 +26,12 @@ import {SearchInputModule} from '../openaireLibrary/sharedComponents/search-inpu
|
|||
FundersRoutingModule, CommonModule, RouterModule, AlertModalModule,
|
||||
Schema2jsonldModule, SEOServiceModule, BreadcrumbsModule, LoadingModule,
|
||||
RefineFieldResultsServiceModule, LogoUrlPipeModule, IconsModule, InputModule,
|
||||
PagingModule, SearchInputModule
|
||||
PagingModule, SearchInputModule, GroupedRequestsServiceModule
|
||||
],
|
||||
declarations: [
|
||||
FundersComponent
|
||||
],
|
||||
providers: [
|
||||
PiwikService, IsRouteEnabled
|
||||
],
|
||||
providers: [],
|
||||
exports: [
|
||||
FundersComponent
|
||||
]
|
||||
|
|
|
@ -1,337 +1,318 @@
|
|||
<ng-template #_logos let-logo="logo" let-class="class">
|
||||
<div *ngIf="logo" [class]="'uk-flex uk-flex-middle uk-flex-center uk-padding-remove-horizontal '+class">
|
||||
<div class="">
|
||||
<img src="assets/ExploreLogos/{{logo}}" alt="{{logo}} logo" loading="lazy" width="112px" height="44px">
|
||||
<div *ngIf="logo" [class]="'uk-margin-top uk-flex uk-flex-middle uk-flex-center uk-padding-remove-horizontal '+class">
|
||||
<div class="">
|
||||
<!-- <img src="assets/ExploreLogos/grouped/{{logo}}" alt="{{logo}} logo" loading="lazy" width="112px" height="44px">-->
|
||||
<img src="assets/ExploreLogos/{{logo}}" alt="{{logo}} logo" loading="lazy" width="100%" height="auto">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<div>
|
||||
<div class="uk-section uk-padding-remove-bottom uk-overflow-hidden">
|
||||
<div class="uk-container uk-container-large" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-slide-bottom-medium; delay: 200">
|
||||
<div class="uk-grid uk-flex-middle" uk-grid>
|
||||
<div class="uk-width-3-5@m uk-margin-large-bottom">
|
||||
<h1 class="uk-h2 uk-width-1-2@m" uk-scrollspy-class>
|
||||
Discover open linked research<span class="uk-text-primary">.</span>
|
||||
</h1>
|
||||
<numbers #numbersComponent [defaultInit]="false" (results)="numbers = $event"></numbers>
|
||||
<!-- [class.uk-invisible]="disableSelect" -->
|
||||
<div class="uk-margin-medium-top" style="max-width: 600px;" uk-scrollspy-class>
|
||||
<div class="uk-flex uk-flex-right uk-text-small">
|
||||
<a [routerLink]="properties.searchLinkToAdvancedResults" class="uk-margin-small-bottom">
|
||||
Advanced search
|
||||
</a>
|
||||
</div>
|
||||
<!-- <advanced-search-input #advanced (searchEmitter)="goTo()">-->
|
||||
<!-- <entities-selection [simpleView]="true" currentEntity="all" [selectedEntity]="selectedEntity"
|
||||
(selectionChange)="entityChanged($event);advanced.focusNext(input, $event)" (disableSelectEmitter)="disableSelectChange($event)"
|
||||
[onChangeNavigate]="false" class="uk-width-2-5"></entities-selection> -->
|
||||
<!-- <div class="uk-width-expand" input #input placeholder="Search in Explore" [searchable]="true" [hint]="'What are you looking for?'" [(value)]="keyword"></div>-->
|
||||
<!-- </advanced-search-input>-->
|
||||
<div search-input [(value)]="keyword" [placeholder]="'Search'+(portalName ? (' in '+portalName) : '')" (searchEmitter)="goTo()"
|
||||
[searchInputClass]="'inner background'"></div>
|
||||
<div class="uk-section uk-padding-remove-bottom uk-overflow-hidden">
|
||||
<div class="uk-container uk-container-large"
|
||||
uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-slide-bottom-medium; delay: 200">
|
||||
<div class="uk-grid uk-flex-middle" uk-grid>
|
||||
<div class="uk-width-3-5@m uk-margin-large-bottom">
|
||||
<h1 class="uk-h2 uk-width-1-2@m" uk-scrollspy-class>
|
||||
Discover open linked research<span class="uk-text-primary">.</span>
|
||||
</h1>
|
||||
<numbers #numbersComponent [defaultInit]="false" (results)="numbers = $event"></numbers>
|
||||
<!-- [class.uk-invisible]="disableSelect" -->
|
||||
<div class="uk-margin-medium-top" style="max-width: 600px;" uk-scrollspy-class>
|
||||
<div class="uk-flex uk-flex-right uk-text-small">
|
||||
<a [routerLink]="properties.searchLinkToAdvancedResults" class="uk-margin-small-bottom">
|
||||
Advanced search
|
||||
</a>
|
||||
</div>
|
||||
<!-- <advanced-search-input #advanced (searchEmitter)="goTo()">-->
|
||||
<!-- <entities-selection [simpleView]="true" currentEntity="all" [selectedEntity]="selectedEntity"
|
||||
(selectionChange)="entityChanged($event);advanced.focusNext(input, $event)" (disableSelectEmitter)="disableSelectChange($event)"
|
||||
[onChangeNavigate]="false" class="uk-width-2-5"></entities-selection> -->
|
||||
<!-- <div class="uk-width-expand" input #input placeholder="Search in Explore" [searchable]="true" [hint]="'What are you looking for?'" [(value)]="keyword"></div>-->
|
||||
<!-- </advanced-search-input>-->
|
||||
<div search-input [(value)]="keyword"
|
||||
[placeholder]="'Search'+(portalName ? (' in '+portalName) : '')" (searchEmitter)="goTo()"
|
||||
[searchInputClass]="'inner background'"></div>
|
||||
|
||||
<!-- <div *ngIf="selectedEntity === 'result' && input.focused" (click)="$event.stopPropagation();advanced.focusNext(input, $event)" class="uk-dropdown uk-display-block uk-margin-small-top uk-width-auto">
|
||||
<div class="uk-padding-small">
|
||||
<quick-selections [resultTypes]="resultTypes" [quickFilter]="resultsQuickFilter"></quick-selections>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="uk-padding-small uk-margin-small-top">
|
||||
<div class="uk-text-meta">
|
||||
Try browsing by:
|
||||
</div>
|
||||
<div class="link-actions uk-flex uk-flex-column uk-flex-top uk-margin-small-top">
|
||||
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text uk-margin-small-bottom"
|
||||
routerLinkActive="router-link-active" routerLink="/sdgs">
|
||||
<!-- <div *ngIf="selectedEntity === 'result' && input.focused" (click)="$event.stopPropagation();advanced.focusNext(input, $event)" class="uk-dropdown uk-display-block uk-margin-small-top uk-width-auto">
|
||||
<div class="uk-padding-small">
|
||||
<quick-selections [resultTypes]="resultTypes" [quickFilter]="resultsQuickFilter"></quick-selections>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="uk-padding-small uk-margin-small-top">
|
||||
<div class="uk-text-meta">
|
||||
Try browsing by:
|
||||
</div>
|
||||
<div class="link-actions uk-flex uk-flex-column uk-flex-top uk-margin-small-top">
|
||||
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text uk-margin-small-bottom"
|
||||
routerLinkActive="router-link-active" routerLink="/sdgs">
|
||||
<span class="uk-flex uk-flex-middle">
|
||||
<img src="assets/common-assets/sdg/sdg-dot-img.svg" alt="SDGs logo" loading="lazy">
|
||||
<span class="uk-margin-small-left">Sustainable Development Goals (SDG<span class="uk-text-lowercase">s</span>)</span>
|
||||
<img src="assets/common-assets/sdg/sdg-dot-img.svg" alt="SDGs logo" loading="lazy" width="17px" height="17px">
|
||||
<span class="uk-margin-small-left">Sustainable Development Goals (SDG<span
|
||||
class="uk-text-lowercase">s</span>)</span>
|
||||
</span>
|
||||
</a>
|
||||
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
|
||||
routerLinkActive="router-link-active" routerLink="/fields-of-science">
|
||||
</a>
|
||||
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
|
||||
routerLinkActive="router-link-active" routerLink="/fields-of-science">
|
||||
<span class="uk-flex uk-flex-middle">
|
||||
<img src="assets/common-assets/fos/fos-icon.svg" alt="FOS logo" loading="lazy">
|
||||
<img src="assets/common-assets/fos/fos-icon.svg" alt="FOS logo" loading="lazy" width="17px" height="8px">
|
||||
<span class="uk-margin-small-left">Fields of Science (FoS)</span>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-visible@m uk-width-expand" uk-scrollspy-class>
|
||||
<div class="uk-position-relative">
|
||||
<img src="assets/explore-assets/home/explore.jpg" alt="researchers" uk-parallax="y: 500" loading="lazy">
|
||||
<img class="uk-position-bottom-left" src="assets/explore-assets/home/mask.svg" alt="search" loading="lazy">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-visible@m uk-width-expand" uk-scrollspy-class>
|
||||
<div class="uk-position-relative">
|
||||
<img src="assets/explore-assets/home/explore.jpg" uk-parallax="y: 500">
|
||||
<img class="uk-position-bottom-left" src="assets/explore-assets/home/mask.svg">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-section-large uk-padding-remove-top">
|
||||
<div class="uk-container uk-container-large uk-width-2-3">
|
||||
<div uk-slider="autoplay: false; autoplay-interval: 2500" class="">
|
||||
<div class="uk-position-relative">
|
||||
<div class="uk-slider-container">
|
||||
<ul class="uk-slider-items" uk-height-match="target: > li > div > div > .logo1; row: false;">
|
||||
<ng-container *ngFor="let type of getKeys(logos)">
|
||||
<li *ngFor="let range of createRange(logos[type].length) let j=index"
|
||||
class="uk-width-1-1 home-logo">
|
||||
<h1 class="uk-text-center uk-margin-large-bottom uk-text-primary uk-h4">
|
||||
<div class="uk-section uk-section-large uk-padding-remove-top">
|
||||
<div class="uk-container uk-container-large uk-width-2-3">
|
||||
<div uk-slider="autoplay: false; autoplay-interval: 2500" class="">
|
||||
<div class="uk-position-relative">
|
||||
<div class="uk-slider-container">
|
||||
<ul class="uk-slider-items" uk-height-match="target: > li > div > div > .logo1; row: false;">
|
||||
<ng-container *ngFor="let type of getKeys(logos)">
|
||||
<li *ngFor="let range of createRange(logos[type].length) let j=index"
|
||||
class="uk-width-1-1 home-logo">
|
||||
<h1 class="uk-text-center uk-margin-bottom uk-text-primary uk-h4">
|
||||
<span *ngIf="type=='publication' && numbersComponent.showPublications && numbers?.publicationsSize">
|
||||
<span
|
||||
class="uk-text-bold">{{numbers.publicationsSize.number|number}}{{numbers.publicationsSize.size}}
|
||||
{{openaireEntities.PUBLICATIONS}}</span><span> deduplicated</span>
|
||||
class="uk-text-bold">{{numbers.publicationsSize.number|number}}{{numbers.publicationsSize.size}}
|
||||
{{openaireEntities.PUBLICATIONS}}</span><span> deduplicated</span>
|
||||
</span>
|
||||
<span
|
||||
*ngIf="type=='dataset' && numbersComponent.showDatasets && (numbers?.datasetsLinkedSize || numbers?.datasetsSize)">
|
||||
<span
|
||||
*ngIf="type=='dataset' && numbersComponent.showDatasets && (numbers?.datasetsLinkedSize || numbers?.datasetsSize)">
|
||||
<span *ngIf="numbers?.datasetsLinkedSize">
|
||||
<span
|
||||
class="uk-text-bold">{{numbers.datasetsLinkedSize.number|number}}{{numbers.datasetsLinkedSize.size}}
|
||||
datasets</span> interlinked with publications</span>
|
||||
class="uk-text-bold">{{numbers.datasetsLinkedSize.number|number}}{{numbers.datasetsLinkedSize.size}}
|
||||
datasets</span> interlinked with publications</span>
|
||||
<span *ngIf="numbers?.datasetsSize && !numbers?.datasetsLinkedSize"
|
||||
class="uk-text-bold">{{numbers.datasetsSize.number|number}}{{numbers.datasetsSize.size}}
|
||||
{{openaireEntities.DATASETS}}</span>
|
||||
class="uk-text-bold">{{numbers.datasetsSize.number|number}}{{numbers.datasetsSize.size}}
|
||||
{{openaireEntities.DATASETS}}</span>
|
||||
</span>
|
||||
<span
|
||||
*ngIf="type=='software' && numbersComponent.showSoftware && (numbers?.softwareSize || numbers?.softwareLinkedSize)">
|
||||
<span
|
||||
*ngIf="type=='software' && numbersComponent.showSoftware && (numbers?.softwareSize || numbers?.softwareLinkedSize)">
|
||||
<span *ngIf="numbers?.softwareLinkedSize">
|
||||
<span
|
||||
class="uk-text-bol ">{{numbers.softwareLinkedSize.number|number}}{{numbers.softwareLinkedSize.size}}
|
||||
{{openaireEntities.SOFTWARE}}</span> interlinked with publications</span>
|
||||
class="uk-text-bol ">{{numbers.softwareLinkedSize.number|number}}{{numbers.softwareLinkedSize.size}}
|
||||
{{openaireEntities.SOFTWARE}}</span> interlinked with publications</span>
|
||||
<span *ngIf="numbers?.softwareSize && !numbers?.softwareLinkedSize"
|
||||
class="uk-text-bold">{{numbers.softwareSize.number|number}}{{numbers.softwareSize.size}}
|
||||
{{openaireEntities.SOFTWARE}}</span>
|
||||
class="uk-text-bold">{{numbers.softwareSize.number|number}}{{numbers.softwareSize.size}}
|
||||
{{openaireEntities.SOFTWARE}}</span>
|
||||
</span>
|
||||
<span *ngIf="type=='persistent'">
|
||||
<span *ngIf="type=='persistent'">
|
||||
<span>Persistent identifiers and registries</span>
|
||||
</span>
|
||||
<span *ngIf="type=='funder' && numbersComponent.showProjects && numbers?.fundersSize && numbers?.projectsSize">
|
||||
<span *ngIf="type=='funder' && numbersComponent.showProjects && numbers?.mergedFundersSize && numbers?.projectsSize">
|
||||
<span
|
||||
class="uk-text-bold">{{numbers.fundersSize.number|number}}{{numbers.fundersSize.size}}
|
||||
funders</span><span> and</span>
|
||||
class="uk-text-bold">{{numbers.mergedFundersSize.number|number}}{{numbers.mergedFundersSize.size}}
|
||||
funders</span><span> and</span>
|
||||
<span
|
||||
class="uk-text-bold"> {{numbers.projectsSize.number|number}}{{numbers.projectsSize.size}}
|
||||
funded grants</span>
|
||||
class="uk-text-bold"> {{numbers.projectsSize.number|number}}{{numbers.projectsSize.size}}
|
||||
funded grants</span>
|
||||
</span>
|
||||
|
||||
</h1>
|
||||
<div
|
||||
class="uk-grid-small uk-child-width-1-6 uk-text-center grid uk-flex uk-flex-center"
|
||||
uk-grid uk-height-match="target: > div > .logo2; row: false;">
|
||||
<div
|
||||
*ngFor="let logo of logos[type][j].slice(0,ceil(logos[type][j].length/2)); let i=index">
|
||||
<ng-container
|
||||
*ngTemplateOutlet="_logos; context: { logo: logo, class: 'logo1 '}"></ng-container>
|
||||
<ng-container
|
||||
*ngTemplateOutlet="_logos; context: { logo: logos[type][j][ceil(logos[type][j].length/2)+i], class: 'uk-margin-top logo2 '}"></ng-container>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ng-container>
|
||||
</ul>
|
||||
</div>
|
||||
</h1>
|
||||
<div class="uk-text-center uk-flex uk-flex-center uk-margin-medium-left uk-margin-medium-right">
|
||||
<ng-container *ngTemplateOutlet="_logos; context: { logo: logos[type][j], class: ' '}"></ng-container>
|
||||
<!-- <div-->
|
||||
<!-- class="uk-grid-small uk-child-width-1-6 uk-text-center grid uk-flex uk-flex-center"-->
|
||||
<!-- uk-grid uk-height-match="target: > div > .logo2; row: false;">-->
|
||||
<!-- <div-->
|
||||
<!-- *ngFor="let logo of logos[type][j].slice(0,ceil(logos[type][j].length/2)); let i=index">-->
|
||||
<!-- <ng-container-->
|
||||
<!-- *ngTemplateOutlet="_logos; context: { logo: logo, class: 'logo1 '}"></ng-container>-->
|
||||
<!-- <ng-container-->
|
||||
<!-- *ngTemplateOutlet="_logos; context: { logo: logos[type][j][ceil(logos[type][j].length/2)+i], class: 'uk-margin-top logo2 '}"></ng-container>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</li>
|
||||
</ng-container>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<a class="uk-position-center-left-out" uk-slider-item="previous"><span uk-icon="icon: chevron-left; ratio: 2"></span></a>
|
||||
<a class="uk-position-center-right-out" uk-slider-item="next"><span uk-icon="icon: chevron-right; ratio: 2"></span></a>
|
||||
<a class="uk-position-center-left-out" uk-slider-item="previous"><span
|
||||
uk-icon="icon: chevron-left; ratio: 2"></span></a>
|
||||
<a class="uk-position-center-right-out" uk-slider-item="next"><span
|
||||
uk-icon="icon: chevron-right; ratio: 2"></span></a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ng-template #scrolling_text let-position_class="position_class">
|
||||
<div #scrolling_element [class]="position_class" uk-parallax="target: #js-sticky-parallax-images-all; start: 15%; end: 100% + 100vh - 200vh; opacity: 0,1 20%,1 99%,0">
|
||||
<h3 class="uk-h2">
|
||||
<span class="uk-text-primary">Deposit</span> your research<span class="uk-text-primary">.</span>
|
||||
</h3>
|
||||
<p class="uk-text-large uk-width-3-4@m">
|
||||
Whether it’s publications, data or software,
|
||||
select an <a href="" target="_blank">OpenAIRE compatible repository</a> and
|
||||
share using community standards. Alternatively
|
||||
use Zenodo, a catch-all repository hosted by CERN.
|
||||
All results will be indexed, discoverable and accessible
|
||||
via EXPLORE.
|
||||
</p>
|
||||
<div class="uk-margin-medium-top">
|
||||
<a class="uk-button uk-button-primary uk-text-uppercase" routerLink="/participate/deposit/learn-how">Start Deposit</a>
|
||||
</div>
|
||||
</div>
|
||||
<div #scrolling_element [class]="position_class" uk-parallax="target: #js-sticky-parallax-images-all; start: 200vh; end: 100% + 100vh - 300vh; opacity: 0,1 20%" style="padding-top: 4vh;">
|
||||
<h3 class="uk-h2">
|
||||
<span class="uk-text-primary">Link</span> your work<span class="uk-text-primary">.</span>
|
||||
</h3>
|
||||
<p class="uk-text-large uk-width-3-4@m">
|
||||
Connect all your research. If you can't find your research
|
||||
results in OpenAIRE, don't worry! Use our Link service,
|
||||
that reaches out to many external sources via APIs, and
|
||||
claim them to your Grant or ORCID. Use the service to provide
|
||||
meaningful links between publications-datasets-software.
|
||||
</p>
|
||||
<div class="uk-margin-medium-top">
|
||||
<a class="uk-button uk-button-primary uk-text-uppercase" routerLink="/participate/claim">Start Linking</a>
|
||||
</div>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<div class="uk-section uk-section-secondary">
|
||||
<div class="uk-container uk-container-large">
|
||||
<div class="uk-width-1-1">
|
||||
<h2 class="uk-h1 uk-margin-large-top">Share your research<span class="uk-text-primary">.</span></h2>
|
||||
</div>
|
||||
<div id="js-sticky-parallax-images-all" style="min-height: 400vh">
|
||||
<div class="uk-visible@m uk-height-viewport explore-dark-logo-background uk-sticky" uk-sticky="bottom: #js-sticky-parallax-images-all; target-offset: true">
|
||||
<div class="uk-grid" uk-grid style="height: 100vh;">
|
||||
<div class="uk-width-expand uk-first-column uk-position-relative uk-height-1-1">
|
||||
<div class="explore-dark-logo-background">
|
||||
<div uk-parallax="target: #js-sticky-parallax-images-all;">
|
||||
<img class="uk-position-center uk-position-z-index" src="assets/explore-assets/home/tablet.png" alt="ipad" loading="lazy"
|
||||
style="width: 100%;">
|
||||
<img class="uk-position-center" src="assets/explore-assets/home/1.png" alt="ipad" loading="lazy"
|
||||
uk-parallax="target: #js-sticky-parallax-images-all; start: 100vh; end: 100% + 100vh - 160vh; opacity: 1,1 99%,0; easing:0"
|
||||
style="width: 100%;">
|
||||
<img class="uk-position-center" src="assets/explore-assets/home/2.png" alt="ipad" loading="lazy"
|
||||
uk-parallax="target: #js-sticky-parallax-images-all; start: 150vh; end: 100% + 100vh - 210vh; opacity: 0,1 20%,1 99%,0; easing:0"
|
||||
style="width: 100%;">
|
||||
<img class="uk-position-center" src="assets/explore-assets/home/3.png" alt="ipad" loading="lazy"
|
||||
uk-parallax="target: #js-sticky-parallax-images-all; start: 200vh; end: 100% + 100vh - 260vh; opacity: 0,1 20%,1 99%,0; easing:0"
|
||||
style="width: 100%;">
|
||||
<img class="uk-position-center" src="assets/explore-assets/home/4.png" alt="ipad" loading="lazy"
|
||||
uk-parallax="target: #js-sticky-parallax-images-all; start: 250vh; end: 100% + 100vh - 310vh; opacity: 0,1 20%,1; easing:0"
|
||||
style="width: 100%;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-inline uk-width-expand uk-height-1-1 uk-margin-large-left">
|
||||
<div>
|
||||
<div uk-parallax="target: #js-sticky-parallax-images-all; y: 55vh, 40vh;">
|
||||
<ng-container *ngTemplateOutlet="scrolling_text; context: {position_class: 'uk-position-center-left'}"></ng-container>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="uk-hidden@m uk-height-viewport explore-dark-logo-background" uk-sticky="bottom: #js-sticky-parallax-images-all">
|
||||
<div class="uk-flex uk-flex-column">
|
||||
<div class="explore-dark-logo-background uk-inline uk-width-1-1" style="height: 40vh;">
|
||||
<img class="uk-position-center uk-position-z-index" src="assets/explore-assets/home/tablet.png" alt="ipad" loading="lazy"
|
||||
uk-parallax="target: #js-sticky-parallax-images-all;" style="width: 70%;">
|
||||
<img class="uk-position-center" src="assets/explore-assets/home/1.png" alt="ipad" loading="lazy"
|
||||
uk-parallax="target: #js-sticky-parallax-images-all; start: 100vh; end: 100% + 100vh - 160vh; opacity: 1,1 99%,0; easing:0"
|
||||
style="width: 70%;">
|
||||
<img class="uk-position-center" src="assets/explore-assets/home/2.png" alt="ipad" loading="lazy"
|
||||
uk-parallax="target: #js-sticky-parallax-images-all; start: 150vh; end: 100% + 100vh - 210vh; opacity: 0,1 20%,1 99%,0; easing:0"
|
||||
style="width: 70%;">
|
||||
<img class="uk-position-center" src="assets/explore-assets/home/3.png" alt="ipad" loading="lazy"
|
||||
uk-parallax="target: #js-sticky-parallax-images-all; start: 200vh; end: 100% + 100vh - 260vh; opacity: 0,1 20%,1 99%,0; easing:0"
|
||||
style="width: 70%;">
|
||||
<img class="uk-position-center" src="assets/explore-assets/home/4.png" alt="ipad" loading="lazy"
|
||||
uk-parallax="target: #js-sticky-parallax-images-all; start: 250vh; end: 100% + 100vh - 310vh; opacity: 0,1 20%,1; easing:0"
|
||||
style="width: 70%;">
|
||||
</div>
|
||||
<div class="uk-inline uk-width-expand">
|
||||
<ng-container *ngTemplateOutlet="scrolling_text; context: {position_class: 'uk-position-top-center'}"></ng-container>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-section-secondary explore-dark-logo-background">
|
||||
<div class="uk-container uk-container-large uk-margin-large-bottom">
|
||||
<div class="uk-width-1-1 uk-margin-medium-bottom">
|
||||
<h2 class="uk-h1 uk-margin-large-top">Share your research<span class="uk-text-primary">.</span></h2>
|
||||
</div>
|
||||
<slider-container [total]="2" [period]="8000" [infinite]="true" [navigation]="'progress'">
|
||||
<slider-column type="slider">
|
||||
<slider-item type="static">
|
||||
<img class="uk-position-center uk-position-z-index" src="assets/explore-assets/home/tablet.png"
|
||||
alt="ipad" loading="lazy">
|
||||
</slider-item>
|
||||
<slider-item type="slide" [start]="0">
|
||||
<img src="assets/explore-assets/home/1.png" alt="Deposit search" loading="lazy">
|
||||
</slider-item>
|
||||
<slider-item type="slide" [start]="0.5">
|
||||
<img src="assets/explore-assets/home/2.png" alt="Deposit in OpenAIRE or Zenodo" loading="lazy">
|
||||
</slider-item>
|
||||
<slider-item type="slide" [start]="1">
|
||||
<img src="assets/explore-assets/home/3.png" alt="Search links" loading="lazy">
|
||||
</slider-item>
|
||||
<slider-item type="slide" [start]="1.5">
|
||||
<img src="assets/explore-assets/home/4.png" alt="link" loading="lazy">
|
||||
</slider-item>
|
||||
</slider-column>
|
||||
<slider-column type="nav" class="slider-nav">
|
||||
<slider-nav-item [start]="0">
|
||||
<h6>
|
||||
<i class="uk-text-primary">Deposit</i> your research<span class="uk-text-primary">.</span>
|
||||
</h6>
|
||||
<div class="uk-margin-bottom">
|
||||
Whether it’s publications, data or software,
|
||||
select an OpenAIRE compatible repository and
|
||||
share using community standards. Alternatively
|
||||
use Zenodo, a catch-all repository hosted by CERN.
|
||||
All results will be indexed, discoverable and accessible
|
||||
via EXPLORE.
|
||||
</div>
|
||||
<div class="uk-margin-top">
|
||||
<a class="uk-button uk-button-text uk-text-primary" routerLink="/participate/deposit/learn-how">Start
|
||||
Deposit</a>
|
||||
</div>
|
||||
</slider-nav-item>
|
||||
<slider-nav-item [start]="1">
|
||||
<h6>
|
||||
<i class="uk-text-primary">Link</i> your work<span class="uk-text-primary">.</span>
|
||||
</h6>
|
||||
<div class="uk-margin-bottom">
|
||||
Connect all your research. If you can't find your research
|
||||
results in OpenAIRE, don't worry! Use our Link service,
|
||||
that reaches out to many external sources via APIs, and
|
||||
claim them to your Grant or ORCID. Use the service to provide
|
||||
meaningful links between publications-datasets-software.
|
||||
</div>
|
||||
<div class="uk-margin-top">
|
||||
<a class="uk-button uk-button-text uk-text-primary" routerLink="/participate/claim">Start Linking</a>
|
||||
</div>
|
||||
</slider-nav-item>
|
||||
</slider-column>
|
||||
</slider-container>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Not yet! -->
|
||||
<!-- <div class="uk-section">
|
||||
<div class="uk-container uk-container-large">
|
||||
<h2 class="uk-h1 uk-text-center">
|
||||
New sources in OpenAIRE<span class="uk-text-primary">.</span>
|
||||
</h2>
|
||||
<div class="cards-on-slider">
|
||||
TODO: Repositories content
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<!-- Not yet! -->
|
||||
<!-- <div class="uk-section">
|
||||
<div class="uk-container uk-container-large">
|
||||
<h2 class="uk-h1 uk-text-center">
|
||||
New sources in OpenAIRE<span class="uk-text-primary">.</span>
|
||||
</h2>
|
||||
<div class="cards-on-slider">
|
||||
TODO: Repositories content
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<div class="uk-background-muted">
|
||||
<div class="uk-position-relative">
|
||||
<div class="uk-section uk-section-large">
|
||||
<div class="uk-container">
|
||||
<div class="uk-grid uk-child-width-1-2@m" uk-grid>
|
||||
<div>
|
||||
<div style="max-width: 550px;">
|
||||
<h2>Linked Open Research.</h2>
|
||||
<div class="">
|
||||
EXPLORE is built on the <a href="https://graph.openaire.eu/" target="_blank" class="graph">OpenAIRE Graph</a>, one of the largest
|
||||
open scholarly record collections worldwide. Conceived as a public and
|
||||
transparent good, populated out of data sources trusted by scientists, the
|
||||
OpenAIRE Graph brings discovery, monitoring, and assessment of science
|
||||
back in the hands of the scientific community.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div></div>
|
||||
<img class="uk-visible@m uk-height-1-1 uk-position-top-right" src="assets/common-assets/common/graph-nodes.svg" alt="ipad" loading="lazy">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-padding-remove-top">
|
||||
<div class="uk-container">
|
||||
<div class="uk-width-1-2@m uk-margin-auto uk-margin-small-top uk-text-center" style="max-width: 600px;">
|
||||
<div>
|
||||
Within a constantly emerging scholarly communication environment, the OpenAIRE Graph is a moving target, continuously integrating new sources, new types or research objects, and embedding access measures. We therefore welcome the community to work with us to improve all its aspects: its <span class="uk-text-bold">coverage</span> (geographic and thematic), <span class="uk-text-bold">quality</span> (disambiguation and semantics) and <span class="uk-text-bold">access</span> (APIs).
|
||||
</div>
|
||||
<div class="uk-margin-top">
|
||||
Find information about the OpenAIRE Graph, how to test it and contribute to improving it.
|
||||
</div>
|
||||
<div class="uk-margin-top">
|
||||
<a href="https://www.openaire.eu/blogs/the-openaire-research-graph" target="_blank" class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text">
|
||||
Learn more. Contribute
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-background-muted">
|
||||
<div class="uk-position-relative">
|
||||
<div class="uk-section uk-section-large">
|
||||
<div class="uk-container">
|
||||
<div class="uk-grid uk-child-width-1-2@m" uk-grid>
|
||||
<div>
|
||||
<div style="max-width: 550px;">
|
||||
<h2>Linked Open Research.</h2>
|
||||
<div class="">
|
||||
EXPLORE is built on the <a href="https://graph.openaire.eu/" target="_blank"
|
||||
class="graph">OpenAIRE Graph</a>, one of the largest
|
||||
open scholarly record collections worldwide. Conceived as a public and
|
||||
transparent good, populated out of data sources trusted by scientists, the
|
||||
OpenAIRE Graph brings discovery, monitoring, and assessment of science
|
||||
back in the hands of the scientific community.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div></div>
|
||||
<img class="uk-visible@m uk-height-1-1 uk-position-top-right"
|
||||
src="assets/common-assets/common/graph-nodes.svg" alt="Graph nodes" loading="lazy">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-padding-remove-top">
|
||||
<div class="uk-container">
|
||||
<div class="uk-width-1-2@m uk-margin-auto uk-margin-small-top uk-text-center" style="max-width: 600px;">
|
||||
<div>
|
||||
Within a constantly emerging scholarly communication environment, the OpenAIRE Graph is a moving
|
||||
target, continuously integrating new sources, new types or research objects, and embedding
|
||||
access measures. We therefore welcome the community to work with us to improve all its aspects:
|
||||
its <span class="uk-text-bold">coverage</span> (geographic and thematic), <span
|
||||
class="uk-text-bold">quality</span> (disambiguation and semantics) and <span
|
||||
class="uk-text-bold">access</span> (APIs).
|
||||
</div>
|
||||
<div class="uk-margin-top">
|
||||
Find information about the OpenAIRE Graph, how to test it and contribute to improving it.
|
||||
</div>
|
||||
<div class="uk-margin-top">
|
||||
<a href="https://www.openaire.eu/blogs/the-openaire-research-graph" target="_blank"
|
||||
class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text">
|
||||
Learn more. Contribute
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="uk-section uk-section-large">
|
||||
<div class="uk-container uk-container-large">
|
||||
<h2 class="uk-h5 uk-margin-remove uk-text-primary">
|
||||
Did you know that
|
||||
</h2>
|
||||
<h2 class="uk-heading-large uk-margin-large-bottom uk-margin-remove-top">
|
||||
you may
|
||||
</h2>
|
||||
<div class="uk-container">
|
||||
<div class="uk-grid uk-child-width-1-2@l uk-child-width-1-1 uk-grid-large" uk-grid uk-height-match=".link-title">
|
||||
<div>
|
||||
<div class="uk-padding-small uk-padding-remove-horizontal custom-link">
|
||||
<a href="https://provide.openaire.eu/home" target="_blank" class="uk-button uk-button-text uk-text-left uk-text-large">
|
||||
<span class="link-title">have your repository, Journal or CRIS system indexed in EXPLORE and take advantage of services for enriching metadata and counting usage?</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="uk-padding-small uk-padding-remove-horizontal custom-link">
|
||||
<a href="https://canada.explore.openaire.eu/" target="_blank" class="uk-button uk-button-text uk-text-left uk-text-large">
|
||||
<span class="link-title">use EXPLORE as an application platform as a service (aPaaS) and set up a national portal for Open Science, such as Canada.EXPLORE?</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-section uk-section-large">
|
||||
<div class="uk-container uk-container-large">
|
||||
<h2 class="uk-h5 uk-margin-remove uk-text-primary">
|
||||
Did you know that
|
||||
</h2>
|
||||
<h2 class="uk-heading-large uk-margin-large-bottom uk-margin-remove-top">
|
||||
you may
|
||||
</h2>
|
||||
<div class="uk-container">
|
||||
<div class="uk-grid uk-child-width-1-2@l uk-child-width-1-1 uk-grid-large" uk-grid
|
||||
uk-height-match=".link-title">
|
||||
<div>
|
||||
<div class="uk-padding-small uk-padding-remove-horizontal custom-link">
|
||||
<a href="https://provide.openaire.eu/home" target="_blank"
|
||||
class="uk-button uk-button-text uk-text-left uk-text-large">
|
||||
<span class="link-title">have your repository, Journal or CRIS system indexed in EXPLORE and take advantage of services for enriching metadata and counting usage?</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="uk-padding-small uk-padding-remove-horizontal custom-link">
|
||||
<a href="https://canada.explore.openaire.eu/" target="_blank"
|
||||
class="uk-button uk-button-text uk-text-left uk-text-large">
|
||||
<span class="link-title">use EXPLORE as an application platform as a service (aPaaS) and set up a national portal for Open Science, such as Canada.EXPLORE?</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div #contact class="uk-section">
|
||||
<div class="uk-container uk-container-large uk-margin-large-bottom uk-text-center">
|
||||
<h3 class="uk-h2 uk-margin-remove">
|
||||
Need more information?
|
||||
</h3>
|
||||
<h4 class="uk-h4 uk-margin-small-top uk-margin-medium-bottom">
|
||||
Get in touch and let us help you<span class="uk-text-primary">.</span>
|
||||
</h4>
|
||||
<a class="uk-button uk-button-primary uk-text-uppercase uk-margin-top uk-margin-medium-bottom"
|
||||
routerLink="/contact-us">Contact us</a>
|
||||
</div>
|
||||
</div>
|
||||
<div #contact class="uk-section">
|
||||
<div class="uk-container uk-container-large uk-margin-large-bottom uk-text-center">
|
||||
<h3 class="uk-h2 uk-margin-remove">
|
||||
Need more information?
|
||||
</h3>
|
||||
<h4 class="uk-h4 uk-margin-small-top uk-margin-medium-bottom">
|
||||
Get in touch and let us help you<span class="uk-text-primary">.</span>
|
||||
</h4>
|
||||
<a class="uk-button uk-button-primary uk-text-uppercase uk-margin-top uk-margin-medium-bottom"
|
||||
routerLink="/contact-us">Contact us</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -38,14 +38,21 @@
|
|||
color: @global-secondary-background;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @breakpoint-medium) {
|
||||
.slider-image {
|
||||
min-width: 550px;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: @breakpoint-large) {
|
||||
.explore-dark-logo-background {
|
||||
background-image: url("~src/assets/explore-assets/home/explore-dark-logo.svg");
|
||||
background-repeat: no-repeat;
|
||||
background-position: left 95%;
|
||||
background-size: 65%;
|
||||
background-position: -5% 102%;
|
||||
background-size: 35%;
|
||||
}
|
||||
|
||||
.slider-nav {
|
||||
max-width: 650px;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,79 +36,30 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit {
|
|||
public logos = {
|
||||
"publication": [
|
||||
[
|
||||
"logo-pubmed.png",
|
||||
"logo-arxiv.png",
|
||||
"logo-base.png",
|
||||
"logo-scielo.png",
|
||||
"logo-la-referencia.png",
|
||||
"logo-soar.png",
|
||||
"logo-repec.png",
|
||||
"logo-core.png",
|
||||
"logo-zenodo.png",
|
||||
"logo-narcis.png"
|
||||
"publications.png"
|
||||
],
|
||||
[
|
||||
"logo-unpaywall.png",
|
||||
"logo-elsevier.png",
|
||||
"logo-spring-nature.png",
|
||||
"logo-frontiers.png",
|
||||
"logo-opencitations.png",
|
||||
"logo-doaj.png",
|
||||
"logo-microsoft.png",
|
||||
"logo-plos.png",
|
||||
"logo-f1000.png",
|
||||
"logo-copernicus.png"
|
||||
"publications2.png"
|
||||
]
|
||||
],
|
||||
"software": [
|
||||
[
|
||||
"logo-software-heritage.png",
|
||||
"logo-github.png",
|
||||
"logo-doecode.png",
|
||||
"logo-bitbucket.png",
|
||||
"logo-elixir-bio-tools.png",
|
||||
"logo-google-code.png",
|
||||
"logo-sourceforge.png",
|
||||
"logo-zenodo.png"
|
||||
"software.png"
|
||||
]
|
||||
],
|
||||
"dataset": [
|
||||
[
|
||||
"logo-scholexplorer.png",
|
||||
"logo-zenodo.png",
|
||||
"logo-pangea.png",
|
||||
"logo-figshare.png",
|
||||
"logo-protocols.png",
|
||||
"logo-opentrials.png",
|
||||
"logo-kaggle.png",
|
||||
"logo-reactome.png",
|
||||
"logo-easy.png",
|
||||
"logo-dryad.png"
|
||||
"datasets.png"
|
||||
]
|
||||
],
|
||||
"persistent": [
|
||||
[
|
||||
"logo-re3data.png",
|
||||
"logo-orcid.png",
|
||||
"logo-opendoar.png",
|
||||
"logo-grid.png",
|
||||
"logo-fairsharing.png",
|
||||
"logo-ror.png",
|
||||
"logo-datacite.png",
|
||||
"logo-crossref.png"
|
||||
"pids.png"
|
||||
]
|
||||
],
|
||||
"funder": [
|
||||
[
|
||||
"logo-european-commision.png",
|
||||
"logo-nsf.png",
|
||||
"logo-nhmrc.png",
|
||||
"logo-sfi.png",
|
||||
"logo-nwo.png",
|
||||
"logo-welcome-trust.png",
|
||||
"logo-fct.png",
|
||||
"logo-gsrt.png",
|
||||
"logo-fnsnf.png"
|
||||
"funders.png"
|
||||
]
|
||||
]
|
||||
};
|
||||
|
@ -125,12 +76,12 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit {
|
|||
@ViewChild('contact') contact: ElementRef;
|
||||
subscriptions: any[] = [];
|
||||
@ViewChildren('scrolling_element') elements: QueryList<ElementRef>;
|
||||
resultsQuickFilter: { filter: Filter, selected: boolean, filterId: string, value: string } = {
|
||||
filter: null,
|
||||
selected: true,
|
||||
filterId: "resultbestaccessright",
|
||||
value: "Open Access"
|
||||
};
|
||||
resultsQuickFilter: { filter: Filter, selected: boolean, filterId: string, value: string } = null;//{
|
||||
// filter: null,
|
||||
// selected: true,
|
||||
// filterId: "resultbestaccessright",
|
||||
// value: "Open Access"
|
||||
// };
|
||||
selectedEntity = "all";
|
||||
selectedEntitySimpleUrl;
|
||||
selectedEntityAdvancedUrl;
|
||||
|
|
|
@ -10,12 +10,10 @@ import { DataProvidersServiceModule} from '../openaireLibrary/services/dataProvi
|
|||
import { SearchResearchResultsServiceModule} from '../openaireLibrary/services/searchResearchResultsService.module';
|
||||
import { ProjectsServiceModule} from '../openaireLibrary/services/projectsService.module';
|
||||
import { OrganizationsServiceModule} from '../openaireLibrary/services/organizationsService.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 {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import { SEOServiceModule } from '../openaireLibrary/sharedComponents/SEO/SEOService.module';
|
||||
|
||||
import {OtherPortalsModule} from "../openaireLibrary/sharedComponents/other-portals/other-portals.module";
|
||||
|
@ -28,24 +26,22 @@ import {NumbersModule} from "../openaireLibrary/sharedComponents/numbers/numbers
|
|||
import {AdvancedSearchInputModule} from "../openaireLibrary/sharedComponents/advanced-search-input/advanced-search-input.module";
|
||||
import {InputModule} from "../openaireLibrary/sharedComponents/input/input.module";
|
||||
import {SearchInputModule} from "../openaireLibrary/sharedComponents/search-input/search-input.module";
|
||||
import {SliderUtilsModule} from "../openaireLibrary/sharedComponents/slider-utils/slider-utils.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
HomeRoutingModule,
|
||||
CommonModule, FormsModule, RouterModule,
|
||||
RefineFieldResultsServiceModule,
|
||||
DataProvidersServiceModule, SearchResearchResultsServiceModule,
|
||||
ProjectsServiceModule, OrganizationsServiceModule,
|
||||
PiwikServiceModule,
|
||||
HomeRoutingModule,
|
||||
HelperModule,
|
||||
SEOServiceModule, OtherPortalsModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule, NumbersModule, AdvancedSearchInputModule, InputModule, SearchInputModule
|
||||
SEOServiceModule, OtherPortalsModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule, NumbersModule, AdvancedSearchInputModule, InputModule, SearchInputModule, SliderUtilsModule
|
||||
],
|
||||
declarations: [
|
||||
HomeComponent
|
||||
],
|
||||
providers:[
|
||||
PreviousRouteRecorder
|
||||
],
|
||||
providers:[],
|
||||
exports: [
|
||||
HomeComponent
|
||||
]
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import { OpenaireDataProviderComponent } from './dataProvider.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireDataProviderComponent, data: {
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class DataProviderRoutingModule { }
|
|
@ -1,17 +0,0 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-dataprovider',
|
||||
template: `<dataprovider></dataprovider>`,
|
||||
})
|
||||
export class OpenaireDataProviderComponent{
|
||||
constructor ( ) {
|
||||
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
import { NgModule} from '@angular/core';
|
||||
import { DataProviderModule } from '../../openaireLibrary/landingPages/dataProvider/dataProvider.module';
|
||||
import { OpenaireDataProviderComponent } from './dataProvider.component';
|
||||
import {DataProviderRoutingModule} from './dataProvider-routing.module';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
|
||||
@NgModule({
|
||||
imports: [DataProviderModule, DataProviderRoutingModule],
|
||||
declarations:[OpenaireDataProviderComponent],
|
||||
providers:[ PreviousRouteRecorder],
|
||||
exports:[OpenaireDataProviderComponent]
|
||||
})
|
||||
export class LibDataProviderModule { }
|
|
@ -1,17 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
import { OpenaireDatasetComponent } from './dataset.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireDatasetComponent, data: {
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class DatasetRoutingModule { }
|
|
@ -1,7 +0,0 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-dataset',
|
||||
template: `<result-landing type="dataset"></result-landing>`,
|
||||
})
|
||||
export class OpenaireDatasetComponent{}
|
|
@ -1,12 +0,0 @@
|
|||
import { NgModule} from '@angular/core';
|
||||
import { OpenaireDatasetComponent } from './dataset.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {DatasetRoutingModule} from './dataset-routing.module';
|
||||
import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/resultLanding.module";
|
||||
@NgModule({
|
||||
imports: [DatasetRoutingModule, ResultLandingModule],
|
||||
declarations:[OpenaireDatasetComponent],
|
||||
providers:[PreviousRouteRecorder],
|
||||
exports:[OpenaireDatasetComponent]
|
||||
})
|
||||
export class LibDatasetModule { }
|
|
@ -1,12 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
import { OpenaireHtmlProjectReportComponent } from './htmlProjectReport.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireHtmlProjectReportComponent ,canDeactivate: [PreviousRouteRecorder]}
|
||||
])
|
||||
]
|
||||
})
|
||||
export class HtmlProjectReportRoutingModule { }
|
|
@ -1,17 +0,0 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-htmlProjectReport',
|
||||
template: `<htmlProjectReport></htmlProjectReport>`,
|
||||
})
|
||||
export class OpenaireHtmlProjectReportComponent{
|
||||
constructor ( ) {
|
||||
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
import { NgModule} from '@angular/core';
|
||||
import { HtmlProjectReportModule } from '../../openaireLibrary/landingPages/htmlProjectReport/htmlProjectReport.module';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import { OpenaireHtmlProjectReportComponent } from './htmlProjectReport.component';
|
||||
import {HtmlProjectReportRoutingModule} from './htmlProjectReport-routing.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [HtmlProjectReportModule, HtmlProjectReportRoutingModule],
|
||||
declarations:[OpenaireHtmlProjectReportComponent],
|
||||
providers:[ PreviousRouteRecorder],
|
||||
exports:[OpenaireHtmlProjectReportComponent]
|
||||
})
|
||||
export class LibHtmlProjectReportModule { }
|
|
@ -1,13 +0,0 @@
|
|||
import { NgModule} from '@angular/core';
|
||||
import { OrganizationModule } from '../../openaireLibrary/landingPages/organization/organization.module';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import { OpenaireOrganizationComponent } from './organization.component';
|
||||
import {OrganizationRoutingModule} from './organization-routing.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [OrganizationModule, OrganizationRoutingModule],
|
||||
declarations:[OpenaireOrganizationComponent],
|
||||
providers:[ PreviousRouteRecorder],
|
||||
exports:[OpenaireOrganizationComponent]
|
||||
})
|
||||
export class LibOrganizationModule { }
|
|
@ -1,19 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import { OpenaireOrganizationComponent } from './organization.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireOrganizationComponent, data: {
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class OrganizationRoutingModule { }
|
|
@ -1,17 +0,0 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-organization',
|
||||
template: `<organization></organization>`,
|
||||
})
|
||||
export class OpenaireOrganizationComponent{
|
||||
constructor ( ) {
|
||||
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
import { NgModule} from '@angular/core';
|
||||
import { OpenaireOrpComponent } from './orp.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {OrpRoutingModule} from './orp-routing.module';
|
||||
import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/resultLanding.module";
|
||||
@NgModule({
|
||||
imports: [OrpRoutingModule, ResultLandingModule],
|
||||
declarations:[OpenaireOrpComponent],
|
||||
providers:[ PreviousRouteRecorder],
|
||||
exports:[OpenaireOrpComponent]
|
||||
})
|
||||
export class LibOrpModule { }
|
|
@ -1,18 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import { OpenaireOrpComponent } from './orp.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireOrpComponent, data: {
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class OrpRoutingModule { }
|
|
@ -1,7 +0,0 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-orp',
|
||||
template: `<result-landing type="orp"></result-landing>`,
|
||||
})
|
||||
export class OpenaireOrpComponent{}
|
|
@ -1,13 +0,0 @@
|
|||
import { NgModule} from '@angular/core';
|
||||
import { ProjectModule } from '../../openaireLibrary/landingPages/project/project.module';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import { OpenaireProjectComponent } from './project.component';
|
||||
import {ProjectRoutingModule} from './project-routing.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [ProjectModule, ProjectRoutingModule],
|
||||
declarations:[OpenaireProjectComponent],
|
||||
providers:[ PreviousRouteRecorder],
|
||||
exports:[OpenaireProjectComponent]
|
||||
})
|
||||
export class LibProjectModule { }
|
|
@ -1,17 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import { OpenaireProjectComponent } from './project.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireProjectComponent, data: {
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class ProjectRoutingModule { }
|
|
@ -1,17 +0,0 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-project',
|
||||
template: `<project></project>`,
|
||||
})
|
||||
export class OpenaireProjectComponent{
|
||||
constructor ( ) {
|
||||
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
import { NgModule} from '@angular/core';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import { OpenairePublicationComponent } from './publication.component';
|
||||
import {PublicationRoutingModule} from './publication-routing.module';
|
||||
import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/resultLanding.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [PublicationRoutingModule, ResultLandingModule],
|
||||
declarations:[OpenairePublicationComponent],
|
||||
providers:[ PreviousRouteRecorder],
|
||||
exports:[OpenairePublicationComponent]
|
||||
})
|
||||
export class LibPublicationModule { }
|
|
@ -1,17 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import {OpenairePublicationComponent } from './publication.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenairePublicationComponent, data: {
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class PublicationRoutingModule { }
|
|
@ -1,8 +0,0 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-publication',
|
||||
template: `
|
||||
<result-landing type="publication"></result-landing>`,
|
||||
})
|
||||
export class OpenairePublicationComponent {}
|
|
@ -1,13 +0,0 @@
|
|||
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 { }
|
|
@ -1,18 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import {OpenaireResultComponent } from './result.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireResultComponent, data: {
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class ResultRoutingModule { }
|
|
@ -1,7 +0,0 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-publication',
|
||||
template: `<result-landing type="result"></result-landing>`,
|
||||
})
|
||||
export class OpenaireResultComponent{}
|
|
@ -1,13 +0,0 @@
|
|||
import { NgModule} from '@angular/core';
|
||||
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import { OpenaireSoftwareComponent } from './software.component';
|
||||
import {SoftwareRoutingModule} from './software-routing.module';
|
||||
import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/resultLanding.module";
|
||||
@NgModule({
|
||||
imports: [SoftwareRoutingModule, ResultLandingModule],
|
||||
declarations:[OpenaireSoftwareComponent],
|
||||
providers:[PreviousRouteRecorder],
|
||||
exports:[OpenaireSoftwareComponent]
|
||||
})
|
||||
export class LibSoftwareModule { }
|
|
@ -1,14 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import {OpenaireSoftwareComponent } from './software.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireSoftwareComponent, canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class SoftwareRoutingModule { }
|
|
@ -1,7 +0,0 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-software',
|
||||
template: `<result-landing type="software"></result-landing>`,
|
||||
})
|
||||
export class OpenaireSoftwareComponent{}
|
|
@ -1,23 +0,0 @@
|
|||
import { NgModule} from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
import {OpenaireUserComponent } from './user.component';
|
||||
import { UserRoutingModule } from './user-routing.module';
|
||||
import { UserModule} from '../openaireLibrary/login/user.module';
|
||||
|
||||
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule,
|
||||
UserRoutingModule, UserModule
|
||||
|
||||
],
|
||||
providers:[PreviousRouteRecorder],
|
||||
declarations: [
|
||||
OpenaireUserComponent
|
||||
|
||||
]
|
||||
})
|
||||
export class LibUserModule { }
|
|
@ -1,15 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import {OpenaireUserComponent } from './user.component';
|
||||
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireUserComponent, canDeactivate: [PreviousRouteRecorder]},
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class UserRoutingModule { }
|
|
@ -1,10 +0,0 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-user',
|
||||
template: `<user></user>`
|
||||
})
|
||||
|
||||
export class OpenaireUserComponent {
|
||||
|
||||
}
|
|
@ -1 +1 @@
|
|||
Subproject commit b06e41c9a3b3ac73ca95e718ec023a9e4d01a266
|
||||
Subproject commit 6ab50b04cc8abbd617e6636cc86414241589d444
|
|
@ -1,21 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||
import {OpenaireMyOrcidLinksComponent} from "./myOrcidLinks.component";
|
||||
import {LoginGuard} from "../../openaireLibrary/login/loginGuard.guard";
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireMyOrcidLinksComponent,
|
||||
canActivate: [LoginGuard], data: {
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
},
|
||||
canDeactivate: [PreviousRouteRecorder]
|
||||
}
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class MyOrcidLinksRoutingModule { }
|
|
@ -1,16 +0,0 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-my-orcid-links',
|
||||
template: `
|
||||
<my-orcid-links></my-orcid-links>
|
||||
`
|
||||
})
|
||||
|
||||
export class OpenaireMyOrcidLinksComponent {
|
||||
|
||||
constructor() {}
|
||||
|
||||
public ngOnInit() {}
|
||||
}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||
import {OpenaireMyOrcidLinksComponent} from './myOrcidLinks.component';
|
||||
import {MyOrcidLinksModule} from "../../openaireLibrary/orcid/my-orcid-links/myOrcidLinks.module";
|
||||
import {MyOrcidLinksRoutingModule} from "./myOrcidLinks-routing.module";
|
||||
import {LoginGuard} from "../../openaireLibrary/login/loginGuard.guard";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule,
|
||||
MyOrcidLinksModule,
|
||||
MyOrcidLinksRoutingModule
|
||||
],
|
||||
declarations: [
|
||||
OpenaireMyOrcidLinksComponent
|
||||
],
|
||||
exports: [
|
||||
OpenaireMyOrcidLinksComponent
|
||||
],
|
||||
providers: [PreviousRouteRecorder, LoginGuard]
|
||||
})
|
||||
export class LibMyOrcidLinksModule { }
|
|
@ -1,21 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import {OpenaireOrcidComponent} from './orcid.component';
|
||||
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||
import {LoginGuard} from "../openaireLibrary/login/loginGuard.guard";
|
||||
import {properties} from "../../environments/environment";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireOrcidComponent,
|
||||
canActivate: [LoginGuard], data: {
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
},
|
||||
canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class OrcidRoutingModule { }
|
|
@ -1,10 +0,0 @@
|
|||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-orcid',
|
||||
template: `
|
||||
<orcid></orcid>
|
||||
`
|
||||
})
|
||||
|
||||
export class OpenaireOrcidComponent {}
|
|
@ -1,24 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
|
||||
import {OpenaireOrcidComponent} from './orcid.component';
|
||||
import {OrcidRoutingModule} from './orcid-routing.module';
|
||||
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||
import {FormsModule} from "@angular/forms";
|
||||
import {OrcidModule} from "../openaireLibrary/orcid/orcid.module";
|
||||
import {LoginGuard} from "../openaireLibrary/login/loginGuard.guard";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule,
|
||||
OrcidModule, OrcidRoutingModule
|
||||
],
|
||||
declarations: [
|
||||
OpenaireOrcidComponent
|
||||
],
|
||||
providers: [PreviousRouteRecorder, LoginGuard],
|
||||
exports: [
|
||||
OpenaireOrcidComponent
|
||||
]
|
||||
})
|
||||
export class LibOrcidModule { }
|
|
@ -1,24 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard";
|
||||
import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||
import {OpenaireSearchRecommendedResultsForOrcidComponent} from "./searchRecommendedResultsForOrcid.component";
|
||||
import {FreeGuard} from "../../openaireLibrary/login/freeGuard.guard";
|
||||
import {LoginGuard} from "../../openaireLibrary/login/loginGuard.guard";
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
// { path: '', component: OpenaireSearchMyResultsInOrcidComponent, canActivate: [IsRouteEnabled], data: {
|
||||
{ path: '', component: OpenaireSearchRecommendedResultsForOrcidComponent,
|
||||
canActivate: [LoginGuard], data: {
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
},
|
||||
canDeactivate: [PreviousRouteRecorder]
|
||||
}
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class SearchRecommendedResultsForOrcidRoutingModule { }
|
|
@ -1,16 +0,0 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-search-recommended-results-for-orcid',
|
||||
template: `
|
||||
<search-recommended-results-for-orcid></search-recommended-results-for-orcid>
|
||||
`
|
||||
})
|
||||
|
||||
export class OpenaireSearchRecommendedResultsForOrcidComponent {
|
||||
|
||||
constructor() {}
|
||||
|
||||
public ngOnInit() {}
|
||||
}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
import {OpenaireSearchRecommendedResultsForOrcidComponent} from "./searchRecommendedResultsForOrcid.component";
|
||||
import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||
import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard";
|
||||
import {SearchRecommendedResultsForOrcidModule} from "../../openaireLibrary/orcid/recommend-orcid-links/searchRecommendedResultsForOrcid.module";
|
||||
import {SearchRecommendedResultsForOrcidRoutingModule} from "./searchRecommendedResultsForOrcid-routing.module";
|
||||
import {FreeGuard} from "../../openaireLibrary/login/freeGuard.guard";
|
||||
import {LoginGuard} from "../../openaireLibrary/login/loginGuard.guard";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule,
|
||||
SearchRecommendedResultsForOrcidModule,
|
||||
SearchRecommendedResultsForOrcidRoutingModule
|
||||
],
|
||||
declarations: [
|
||||
OpenaireSearchRecommendedResultsForOrcidComponent
|
||||
],
|
||||
exports: [
|
||||
OpenaireSearchRecommendedResultsForOrcidComponent
|
||||
],
|
||||
// providers: [PreviousRouteRecorder, IsRouteEnabled]
|
||||
providers: [PreviousRouteRecorder, LoginGuard]
|
||||
})
|
||||
export class LibSearchRecommendedResultsForOrcidModule { }
|
|
@ -1,18 +0,0 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {FormsModule} from '@angular/forms';
|
||||
import {RouterModule} from '@angular/router';
|
||||
|
||||
import {ReloadModule} from '../openaireLibrary/reload/reload.module';
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule, RouterModule, ReloadModule
|
||||
],
|
||||
declarations: [],
|
||||
providers: [],
|
||||
exports: []
|
||||
})
|
||||
export class LibReloadModule {
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
import {NgModule} from "@angular/core";
|
||||
import {RouterModule} from "@angular/router";
|
||||
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||
import {ExploreSdgComponent} from "./sdg.component";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{
|
||||
path: '',
|
||||
component: ExploreSdgComponent,
|
||||
canDeactivate: [PreviousRouteRecorder]
|
||||
}
|
||||
])
|
||||
]
|
||||
})
|
||||
export class LibSdgRoutingModule { }
|
|
@ -1,10 +0,0 @@
|
|||
import {Component} from "@angular/core";
|
||||
import {properties} from "../../environments/environment";
|
||||
|
||||
@Component({
|
||||
selector: 'explore-sdg',
|
||||
template: `
|
||||
<sdg></sdg>
|
||||
`
|
||||
})
|
||||
export class ExploreSdgComponent {}
|
|
@ -1,26 +0,0 @@
|
|||
import {CommonModule} from "@angular/common";
|
||||
import {NgModule} from "@angular/core";
|
||||
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||
import {LibSdgRoutingModule} from "./sdg-routing.module";
|
||||
import {SdgRoutingModule} from "../openaireLibrary/sdg/sdg-routing.module";
|
||||
import {SdgModule} from "../openaireLibrary/sdg/sdg.module";
|
||||
import {ExploreSdgComponent} from "./sdg.component";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
LibSdgRoutingModule,
|
||||
SdgRoutingModule,
|
||||
SdgModule
|
||||
],
|
||||
declarations: [
|
||||
ExploreSdgComponent
|
||||
],
|
||||
exports: [
|
||||
ExploreSdgComponent
|
||||
],
|
||||
providers: [
|
||||
PreviousRouteRecorder
|
||||
]
|
||||
})
|
||||
export class LibSdgModule { }
|
|
@ -9,10 +9,9 @@ import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searc
|
|||
|
||||
@NgModule({
|
||||
imports: [
|
||||
AdvancedSearchOrganizationsRoutingModule,
|
||||
CommonModule, FormsModule,
|
||||
SearchOrganizationsModule,
|
||||
AdvancedSearchOrganizationsRoutingModule
|
||||
|
||||
SearchOrganizationsModule
|
||||
],
|
||||
declarations: [
|
||||
OpenaireAdvancedSearchOrganizationsComponent
|
||||
|
|
|
@ -8,10 +8,9 @@ import {SearchProjectsModule} from "../../openaireLibrary/searchPages/searchProj
|
|||
|
||||
@NgModule({
|
||||
imports: [
|
||||
AdvancedSearchProjectsRoutingModule,
|
||||
CommonModule, FormsModule,
|
||||
SearchProjectsModule,
|
||||
AdvancedSearchProjectsRoutingModule
|
||||
|
||||
SearchProjectsModule
|
||||
],
|
||||
declarations: [
|
||||
OpenaireAdvancedSearchProjectsComponent
|
||||
|
|
|
@ -5,7 +5,6 @@ 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({
|
||||
|
@ -17,7 +16,7 @@ import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/sea
|
|||
declarations: [
|
||||
OpenaireSearchResearchResultsComponent
|
||||
],
|
||||
providers:[PreviousRouteRecorder],
|
||||
providers:[],
|
||||
exports: [
|
||||
OpenaireSearchResearchResultsComponent
|
||||
]
|
||||
|
|
|
@ -5,8 +5,6 @@ import { FormsModule } from '@angular/forms';
|
|||
import{ CompatibleDataProvidersRoutingModule} from './compatibleDataProviders-routing.module';
|
||||
import{OpenaireSearchCompatibleDataprovidersComponent} from './compatibleDataProviders.component';
|
||||
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
|
||||
import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module";
|
||||
|
||||
@NgModule({
|
||||
|
@ -18,7 +16,7 @@ import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searc
|
|||
declarations: [
|
||||
OpenaireSearchCompatibleDataprovidersComponent
|
||||
],
|
||||
providers:[PreviousRouteRecorder],
|
||||
providers:[],
|
||||
exports: [
|
||||
OpenaireSearchCompatibleDataprovidersComponent
|
||||
]
|
||||
|
|
|
@ -4,7 +4,6 @@ import { FormsModule } from '@angular/forms';
|
|||
|
||||
import{ EntityRegistriesRoutingModule} from './entityRegistries-routing.module';
|
||||
import{OpenaireSearchEntityRegistriesComponent} from './entityRegistries.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
|
||||
import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module";
|
||||
|
||||
|
@ -17,7 +16,7 @@ import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searc
|
|||
declarations: [
|
||||
OpenaireSearchEntityRegistriesComponent
|
||||
],
|
||||
providers:[PreviousRouteRecorder],
|
||||
providers:[],
|
||||
exports: [
|
||||
OpenaireSearchEntityRegistriesComponent
|
||||
]
|
||||
|
|
|
@ -4,7 +4,6 @@ import { FormsModule } from '@angular/forms';
|
|||
|
||||
import{ JournalsRoutingModule} from './journals-routing.module';
|
||||
import{OpenaireSearchJournalsComponent} from './journals.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module";
|
||||
@NgModule({
|
||||
imports: [
|
||||
|
@ -14,7 +13,7 @@ import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searc
|
|||
declarations: [
|
||||
OpenaireSearchJournalsComponent
|
||||
],
|
||||
providers:[PreviousRouteRecorder],
|
||||
providers:[],
|
||||
exports: [
|
||||
OpenaireSearchJournalsComponent
|
||||
]
|
||||
|
|
|
@ -3,7 +3,6 @@ import { CommonModule } from '@angular/common';
|
|||
import { FormsModule } from '@angular/forms';
|
||||
import {OpenaireSearchDataprovidersComponent} from './searchDataproviders.component';
|
||||
import{ SearchDataProvidersRoutingModule} from './searchDataProviders-routing.module';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {SearchDataProvidersModule} from '../../openaireLibrary/searchPages/searchDataProviders.module';
|
||||
@NgModule({
|
||||
imports: [
|
||||
|
@ -14,7 +13,7 @@ SearchDataProvidersModule, SearchDataProvidersRoutingModule
|
|||
declarations: [
|
||||
OpenaireSearchDataprovidersComponent
|
||||
],
|
||||
providers:[PreviousRouteRecorder],
|
||||
providers:[],
|
||||
exports: [
|
||||
OpenaireSearchDataprovidersComponent
|
||||
]
|
||||
|
|
|
@ -5,7 +5,6 @@ import { FormsModule } from '@angular/forms';
|
|||
import{ SearchOrganizationsRoutingModule} from './searchOrganizations-routing.module';
|
||||
import{OpenaireSearchOrganizationsComponent} from './searchOrganizations.component';
|
||||
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searchOrganizations.module";
|
||||
|
||||
|
||||
|
@ -18,7 +17,7 @@ import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searc
|
|||
declarations: [
|
||||
OpenaireSearchOrganizationsComponent
|
||||
],
|
||||
providers:[PreviousRouteRecorder],
|
||||
providers:[],
|
||||
exports: [
|
||||
OpenaireSearchOrganizationsComponent
|
||||
]
|
||||
|
|
|
@ -5,7 +5,6 @@ import { FormsModule } from '@angular/forms';
|
|||
import{ SearchProjectsRoutingModule} from './searchProjects-routing.module';
|
||||
import{OpenaireSearchProjectsComponent} from './searchProjects.component';
|
||||
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import { SearchProjectsModule} from '../../openaireLibrary/searchPages/searchProjects.module';
|
||||
@NgModule({
|
||||
imports: [
|
||||
|
@ -15,7 +14,7 @@ import { SearchProjectsModule} from '../../openaireLibrary/searchPages/searchPro
|
|||
declarations: [
|
||||
OpenaireSearchProjectsComponent
|
||||
],
|
||||
providers:[PreviousRouteRecorder],
|
||||
providers:[],
|
||||
exports: [
|
||||
OpenaireSearchProjectsComponent
|
||||
]
|
||||
|
|
|
@ -5,7 +5,6 @@ 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({
|
||||
|
@ -17,7 +16,7 @@ import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/sea
|
|||
declarations: [
|
||||
OpenaireSearchResearchResultsComponent
|
||||
],
|
||||
providers:[PreviousRouteRecorder],
|
||||
providers:[],
|
||||
exports: [
|
||||
OpenaireSearchResearchResultsComponent
|
||||
]
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import {OpenaireMailPrefsComponent } from './mailPrefs.component';
|
||||
import {LoginGuard} from '../openaireLibrary/login/loginGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard';
|
||||
import {properties} from "../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireMailPrefsComponent, canActivate: [IsRouteEnabled, LoginGuard],
|
||||
data: {redirect: properties.errorLink, community : 'openaire'}, canDeactivate: [PreviousRouteRecorder]}])
|
||||
]
|
||||
})
|
||||
export class MailPrefsRoutingModule { }
|
|
@ -1,25 +0,0 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-mailPrefs',
|
||||
template: `
|
||||
<div id="tm-main" class=" uk-section uk-margin-small-top tm-middle">
|
||||
<div uk-grid uk-grid>
|
||||
<div class="tm-main uk-width-1-1@s uk-width-1-1@m uk-width-1-1@l uk-row-first">
|
||||
<mailPrefs [showSaveResetButtons]="true"></mailPrefs>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
|
||||
})
|
||||
export class OpenaireMailPrefsComponent {
|
||||
constructor () {
|
||||
|
||||
}
|
||||
ngOnInit() {
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
|
||||
import { SharedModule } from '../openaireLibrary/shared/shared.module';
|
||||
import { OpenaireMailPrefsComponent } from './mailPrefs.component';
|
||||
import { MailPrefsRoutingModule } from './mailPrefs-routing.module';
|
||||
import { MailPrefsModule } from '../openaireLibrary/connect/userEmailPreferences/mailsPrefs.module';
|
||||
import { LoginGuard } from '../openaireLibrary/login/loginGuard.guard';
|
||||
import { PreviousRouteRecorder } from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import { IsRouteEnabled } from '../openaireLibrary/error/isRouteEnabled.guard';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
SharedModule,
|
||||
MailPrefsRoutingModule,
|
||||
MailPrefsModule
|
||||
],
|
||||
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
|
||||
declarations: [
|
||||
OpenaireMailPrefsComponent
|
||||
]
|
||||
})
|
||||
export class LibMailPrefsModule { }
|
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 7.5 KiB |