Compare commits

...

113 Commits

Author SHA1 Message Date
Konstantina Galouni b059b300ba Merge remote-tracking branch 'origin/develop' 2024-06-04 17:36:04 +03:00
Konstantina Galouni d05209a54c Updating openaireLibrary & common-assets 2024-06-04 17:35:55 +03:00
Konstantina Galouni 24696d7991 Merge remote-tracking branch 'origin/develop' into develop 2024-06-04 16:48:57 +03:00
Konstantina Galouni b72a7f03b1 [develop | DONE | CHANGED]: CHANGELOG.md: Added logs for [production-release-june-2024] - 2024/06/04. 2024-06-04 16:48:46 +03:00
Konstantina Galouni e4d230369e Updating openaireLibrary & common-assets 2024-06-04 16:14:58 +03:00
Konstantina Galouni ba83087b59 [develop | DONE | CHANGED]: uploadService.js: In endpoint "/explore/search", added in projects count query &fq=projectcode<>"unidentified" | In endpoint "/explore/funders", replaced fq=projecttitle with fq=projectcode, to exclude unidentified projects based on their code. 2024-05-28 15:44:49 +03:00
Konstantina Galouni 55469cc2bc [develop | DONE | CHANGED]: CHANGELOG.md: Updated changelog to include [production-release-may-2024] - 2024/05/23. 2024-05-27 11:21:17 +03:00
Konstantina Galouni dbdb929a8f Merge remote-tracking branch 'origin/develop' 2024-05-23 19:30:32 +03:00
Konstantina Galouni 58770771ca Updating libraries 2024-05-23 19:30:19 +03:00
Konstantina Galouni 0c82b325cf Updating openaireLibrary 2024-05-23 18:16:56 +03:00
Konstantina Galouni e518a80ba4 Updating openaireLibrary & openaire-theme 2024-05-23 18:11:36 +03:00
Konstantina Galouni 234b12be9d Updating openaireLibrary 2024-05-21 13:17:19 +03:00
Konstantina Galouni 5789293ffe Merge pull request 'Merge on-push-strategy branch into develop (on push strategy in result-preview component, i.e. search result cards)' (#15) from on-push-strategy into develop
Reviewed-on: #15
2024-05-21 12:16:29 +02:00
Konstantina Galouni 83f01d8aa1 Updating openaireLibrary & openaire-theme 2024-05-21 13:11:36 +03:00
Konstantina Galouni 0a20d80c4c Updating libraries 2024-04-30 14:47:53 +03:00
Konstantina Galouni 8a3e859132 Merge remote-tracking branch 'origin/develop' into on-push-strategy 2024-04-30 14:47:25 +03:00
Konstantina Galouni ca41e89465 [develop | DONE | CHANGED]: Updated color of selected search filter labels (not purple, but portal color).
1. newSearchPage.component.html: Replaced class "uk-label-search-filter" with "uk-label-secondary" on selected search filter labels.
2. color.less: Removed color variable @search-filter-color: #B41FD0;
3. label.less: Removed custom color variables and class "uk-label-search-filter" | Updated class "uk-label-secondary".
4. explore-custom.less: Override @uk-label-secondary: @explore-color;
2024-04-30 13:08:54 +03:00
Konstantina Galouni e563886f8a Updating openaireLibrary 2024-04-24 16:36:18 +03:00
Konstantina Galouni d1b482c189 Updating openaireLibrary 2024-04-24 16:09:14 +03:00
Konstantina Galouni 443f90d2e9 Updating openaireLibrary 2024-04-23 16:59:46 +03:00
Konstantina Galouni 8d0f711064 Updating openaireLibrary 2024-04-23 16:04:02 +03:00
Konstantina Galouni 0f639ec210 Updating openaireLibrary 2024-04-22 17:27:15 +03:00
Konstantina Galouni d9647d2a46 Updating openaireLibrary 2024-04-16 16:22:05 +03:00
Konstantina Galouni b79dbd20ec Updating libraries 2024-04-16 16:10:41 +03:00
Konstantina Galouni ccae7b03a5 [develop | DONE | CHANGED]: funders.component.ts: Added alt attribute on funders image and removed loading="lazy" | home.component.html: Updated header elements to make them as sequential as possible (SEO & PageSpeed). 2024-04-16 12:41:13 +03:00
Alex Martzios 59f3e8dae9 [develop | DONE | CHANGED] update submodules 2024-04-11 16:34:50 +03:00
Alex Martzios 09b7435243 [develop | DONE | ADDED] funders page: update cards and lists to prepare for new data to be shown 2024-04-08 19:10:44 +03:00
argirok 260b263e6f [develop | DONE | CHANGED] cache.js add compression library, reload content based on forceReload parameter or cache control headers 2024-04-03 10:20:58 +03:00
Alex Martzios d42a3973bd [develop | DONE | ADDED] update submodules for bulk deletion functionality for claims 2024-03-28 13:07:54 +02:00
Konstantina Galouni 37358b14db [develop | DONE | FIXED]: CHANGELOG.md: Spelling error fix. 2024-03-05 13:59:37 +02:00
Konstantina Galouni 2a4b92ba00 Merge remote-tracking branch 'origin/develop' 2024-03-05 13:53:24 +02:00
Konstantina Galouni 4ad1f4e51c [develop | DONE | CHANGED]: CHANGELOG.md: Added changelog for production-release-march-2024. 2024-03-05 13:52:29 +02:00
Konstantina Galouni 3d2ad5336b Merge remote-tracking branch 'origin/develop' 2024-03-04 18:46:56 +02:00
Konstantina Galouni 60de7eb2a0 Updating libraries 2024-03-04 18:46:36 +02:00
Konstantina Galouni 45561bddb2 Updating openaireLibrary 2024-03-04 17:04:52 +02:00
Konstantina Galouni 215c3fbc83 [develop | DONE | FIXED]: home.module.ts: Moved HomeRoutingModule first to make sure that this routing is loaded in Home page. 2024-03-04 17:04:01 +02:00
Konstantina Galouni a79b936629 [develop | DONE | FIXED]: Moved RoutingModule as first imported module with possible routing (advanced search projects & organizations were loading orcid routing instead of their own). 2024-03-04 17:02:33 +02:00
Alex Martzios b7a05316c0 [develop | DONE | FIXED] update submodule 2024-03-04 10:39:56 +02:00
Konstantina Galouni a99e6378fc Updating openaireLibrary 2024-02-28 18:08:10 +02:00
Konstantina Galouni 8949088e0e [develop | DONE | CHANGED]: funders.component.html: Added loading="lazy" on images (<img> elements). 2024-02-28 17:30:43 +02:00
Konstantina Galouni 463410a135 [develop | DONE | CHANGED]: Removed "PreviousRouteRecorder", "IsRouteEnabled", "PiwikService", "LoginGuard", "EmailService" from providers array declared in module.ts & removed import of "PiwikServiceModule". 2024-02-28 16:49:50 +02:00
Konstantina Galouni 17165e83ae [develop | DONE | CHANGED]: Removed folders: error, fos, landingPages, login, orcid, reload, sdg (were just calling library components) | app.module.ts: Removed declaration of OpenaireErrorPageComponent | app-routing.module.ts: Updates routes for 'sdgs', 'fields-of-science', 'orcid', 'my-orcid-links', landing pages routes, 'reload', 'user-info' to import library modules instead of intermediate project specific modules & replaced OpenaireErrorPageComponent with ErrorPageComponent (from library). 2024-02-28 14:41:39 +02:00
Alex Martzios f3115b9f98 [develop | DONE | CHANGED] change footer text and update submodules 2024-02-20 13:38:46 +02:00
Alex Martzios f226482ba3 [develop | DONE | CHANGED] compress all .png and .jpg images on explore-assets and exploreLogos 2024-02-20 12:46:45 +02:00
Konstantina Galouni 38337e296f [develop | WIP | CHANGED]: assets/:Restores jpg and png images and deleted their webp version - pngs will be compressed | funders.component & home.component: Updated images - use the png/jpg version again. 2024-02-20 12:12:42 +02:00
argirok c81c6196c0 [ develop | DONE | ADDED] Utils servise: add a method to get counts for results, use the same method in /explore/home 2024-02-20 11:39:49 +02:00
Konstantina Galouni 178846353c [develop | DONE | DELETED]: assets: Deleted unused images: logo-large-explore.webp & logo-sma
.
2024-02-19 13:09:22 +02:00
Konstantina Galouni 49dce466ce [develop | DONE | CHANGED]: assets: Deleted unused images & replaced jpg and png images with their webp version | funders.component & home.component: Updated images - use the webp version. 2024-02-19 13:07:34 +02:00
argirok 68662693a4 [ develop | DONE | ADDED] Cache: add a method to get info 2024-02-15 12:13:04 +02:00
Konstantina Galouni e8e4c410dd Updating openaireLibrary & openaire-theme 2024-02-14 16:48:38 +02:00
Konstantina Galouni c51b2b58f4 [develop | DONE | CHANGED]: app.component.ts: Added check, not to add "My ORCID Links" user menu item in beta environment. 2024-02-13 17:34:29 +02:00
Konstantinos Triantafyllou 85320e8653 [develop]: Remove userInfoURL property usage 2024-02-13 12:10:20 +02:00
Konstantina Galouni 9f53423ae3 Merge remote-tracking branch 'origin/develop' 2024-02-12 14:50:33 +02:00
Konstantina Galouni 15499aa4ca Updating openaireLibrary 2024-02-12 14:50:19 +02:00
Konstantina Galouni a762efab08 Merge remote-tracking branch 'origin/develop' into develop 2024-02-12 14:47:59 +02:00
Konstantina Galouni 8cdc423f02 [develop | DONE | CHANGED]: CHANGELOG.md: Added changelogs for [production-release-february-2024]. 2024-02-12 14:47:47 +02:00
Konstantinos Triantafyllou 3797ddcc3a Merge branch 'develop' of code-repo.d4science.org:MaDgIK/explore-services into develop 2024-02-12 14:47:16 +02:00
Konstantinos Triantafyllou e57f1b02ed [develop]: Split style of deposit and funders to new css files and use rootClass to appy style in html 2024-02-12 14:47:02 +02:00
Konstantina Galouni b6db196e68 Merge pull request 'Production release February 2024 - Fixes and updates in cache' (#13) from develop into master
Reviewed-on: #13
2024-02-12 12:30:21 +01:00
Konstantina Galouni 6af07478b4 [develop | DONE | CHANGED]: cache.js: Increased "cacheMaxSize" from 300 to 1000 requests. 2024-02-12 13:29:23 +02:00
argirok 3b058ee74d [ develop | DONE | CHANGED] Cache: update isAllowed Method, correct https check, decode urls before check 2024-02-12 11:13:38 +02:00
Konstantina Galouni 4258055e51 Merge pull request 'Production release February 2024 - Home page logos update' (#12) from develop into master
Reviewed-on: #12
2024-02-12 08:08:29 +01:00
Konstantina Galouni c20002c9e9 [develop | DONE | CHANGED]: home.component & assets/ExploreLogos: Grouped logos of slider in Home page (per slide) into one image and replaced the old logos - better performance. 2024-02-12 09:04:29 +02:00
Konstantina Galouni 134c21d6be Merge pull request 'Production release February 2024 - Fix' (#11) from develop into master
Reviewed-on: #11
2024-02-08 18:44:55 +01:00
Konstantina Galouni fbdc3710dc [develop | DONE | FIXED]: cache.js: Updated checks in method "isAllowedToBeCached()" to check for encoded urls. 2024-02-08 19:43:31 +02:00
Konstantina Galouni a5019e083c Merge remote-tracking branch 'origin/develop' 2024-02-08 19:10:13 +02:00
Konstantina Galouni ee38203ee4 Updating openaireLibrary & openaire-theme 2024-02-08 19:10:04 +02:00
Konstantina Galouni 1d7a7ae2c4 Updating openaireLibrary & openaire-theme 2024-02-08 18:48:22 +02:00
Konstantina Galouni d639261fbe [develop | WIP | FIXED]: Added correct alt on images, width and height in FoS and SDG images and lazy loading everywhere. 2024-02-08 18:46:45 +02:00
Konstantina Galouni a7d0cc5d4e [develop | DONE | CHANGED]: app.module.ts: Removed CacheInterceptorService from EXPLORE. 2024-02-08 17:56:42 +02:00
Konstantina Galouni 9952b55f2c [develop | DONE | CHANGED]: cache.js: Added "lab.idiap.ch/enermaps" in "isAllowedToBeCached()" method. 2024-02-08 17:55:22 +02:00
argirok b94006ea99 Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	services/cache/mecache/cache.js
2024-02-08 15:59:59 +02:00
argirok b0db89f826 [ develop | DONE | CHANGED] Cache: change to LRU cache, remove short/long cache related code and properties, add preload requests in properties to load on init cache (on start, on clear and on daily reset) 2024-02-08 15:58:43 +02:00
Konstantina Galouni 07681241c0 [develop | DONE | CHANGED]: contact.component.ts: Do not request page help contents (helptexts). 2024-02-08 14:20:13 +02:00
Konstantina Galouni ee00eaaebf Merge remote-tracking branch 'origin/grouped-queries' into develop 2024-02-08 12:40:55 +02:00
Konstantina Galouni 1738dfcccc Updating openaireLibrary 2024-02-08 12:40:48 +02:00
Konstantina Galouni 5b5000b2fe Updating openaireLibrary 2024-02-07 23:06:52 +02:00
Konstantina Galouni af50558136 [grouped-queries | DONE | CHANGED] funders.component.ts: Replaced search & stakeholders queries of funders (in Funders page) with grouped query for Funders page of EXPLORE 2024-02-07 22:56:11 +02:00
Konstantina Galouni 36f1ed105d Updating openaireLibrary & common-assets 2024-02-07 22:53:03 +02:00
Konstantina Galouni 414ff59fd0 Merge remote-tracking branch 'origin/develop' 2024-02-07 22:41:04 +02:00
Konstantina Galouni 5408bd9f82 Updating openaireLibrary & common-assets 2024-02-07 22:39:56 +02:00
Konstantina Galouni a3c79137aa [develop | DONE | CHANGED]: Remove preselected "Open Access" filter from search.
1. home.component.ts: Set field "resultsQuickFilter" to null.
2. searchAll.component.ts: Set field "quickFilter" to null | In method "entityChanged()" do not set parameter "resultbestaccessright" | [BUG FIX] Clear subscriptions from fetchOrps.
3. searchResearchResults.component.ts: Set field "quickFilter" to null.
4. navigationBar.component.ts: Set field "resultsQuickFilter" to null.
5. app.component.ts: Remove "resultbestaccessright" parameter from menu items of Search research products.
2024-02-07 21:28:45 +02:00
Konstantina Galouni 4131de601c [develop | DONE | ADDED]: cache.js: Added in "longCachingRequests", the endpoints "/utils-service/explore/search" and "/utils-service/explore/funders" to be used as a grouped responses in explore search and funders pages. 2024-02-07 12:00:16 +02:00
argirok 7761eeeedc [ develop | DONE | CHANGED] Utils services: update funders response, remove open access filter from results query in /explore/search 2024-02-07 11:05:55 +02:00
argirok 46ad6aef36 [ develop | DONE | ADDED] Utils services: add /explore/funders method that groups requests for funder page 2024-02-06 11:31:47 +02:00
argirok f64b410dd5 Merge remote-tracking branch 'origin/develop' into develop 2024-02-05 12:08:57 +02:00
argirok 629d3efb08 [ develop | DONE | ADDED] Cache services: add initialization method to initiate grouped requests from utils service. Init after clear and when cache starts 2024-02-05 12:08:34 +02:00
argirok a9d06e61fa [ develop | DONE | ADDED] Utils services: group common requests in a single request 2024-02-05 12:07:34 +02:00
Konstantina Galouni 102f41722e Updating openaireLibrary & common-assets 2024-02-05 11:55:23 +02:00
Konstantina Galouni 109be1c6f6 [cache | develop | DONE | ADDED]: cache.js: Added in "longCachingRequests", the endpoint "/utils-service/explore/home" to be used as a grouped response for the numbers in explore home page. 2024-02-02 12:44:54 +02:00
Konstantina Galouni 3678f7c5ea [cache | develop | DONE | CHANGED]: cache.js: Increased time of short cache from 2 minutes to 1 hour. 2024-02-02 12:12:57 +02:00
Konstantina Galouni 278fefb45a Merge remote-tracking branch 'origin/develop' 2024-02-01 21:52:27 +02:00
Konstantina Galouni 3562d4f6c6 Updating openaireLibrary 2024-02-01 21:52:17 +02:00
Konstantina Galouni cca45918d8 Merge branch 'develop' of code-repo.d4science.org:MaDgIK/explore-services into develop 2024-02-01 21:48:17 +02:00
Konstantina Galouni 099f6a6ce6 [develop | DONE | CHANGED]: CHANGELOG.md: Added logs for [production-release-january-2024]. 2024-02-01 21:47:48 +02:00
Konstantina Galouni b21d7dcd93 Merge remote-tracking branch 'origin/develop' 2024-02-01 21:12:13 +02:00
Konstantina Galouni 2adb378467 Updating libraries 2024-02-01 21:10:48 +02:00
Konstantina Galouni c41cbb6355 Updating openaireLibrary 2024-02-01 21:09:28 +02:00
Konstantina Galouni 5c95fac244 [develop | DONE | FIXED]: routes.ts: Added missing routes for prometheus logs. 2024-01-29 20:01:11 +02:00
Konstantina Galouni 17325b3ab2 [develop | DONE | DELETED]: Removed legacy unused files htmlProjectReport.component.ts & htmlProjectReport-routing.module.ts & libHtmlProjectReport.module.ts & mailPrefs.component.ts & mailPrefs.module.ts & mailPrefs-routing.module.ts | app-routing.module.ts: Deleted legacy routes 'mail-preferences' & 'project-report'. 2024-01-29 20:00:28 +02:00
Konstantina Galouni 6fd19ea661 Updating libraries 2024-01-25 12:36:38 +02:00
Alex Martzios e01371ff14 [master | DONE | ADDED] update submodules 2024-01-17 11:16:33 +02:00
Konstantina Galouni 96e400552a [develop | DONE | ADDED]: Added CHANGELOG.md file in the explore folder. 2024-01-15 13:44:23 +02:00
Konstantina Galouni da33e403f6 Updating openaireLibrary 2024-01-12 14:03:26 +02:00
Konstantina Galouni 9ca57b8f4d [develop | DONE | CHANGED]: explore-assets/funders/logos: Renamed all funder logos by using only their shortnames | funders.component.ts: For static logos, split funder id and get only their shortname, to get the static logo - Special characters where causing problems in pulling the project in Windows environment. 2024-01-12 14:02:37 +02:00
Konstantina Galouni 5b86f1a4d1 Updating libraries 2023-12-28 16:35:43 +02:00
Konstantina Galouni c3587bb2c4 Merge remote-tracking branch 'origin/develop' 2023-11-28 13:15:23 +02:00
Konstantina Galouni 288e106779 Updating libraries 2023-11-28 13:12:26 +02:00
Konstantina Galouni c416853045 Updating openaireLibrary 2023-11-28 13:02:55 +02:00
Konstantina Galouni ec8e6b6938 Updating openaireLibrary 2023-11-27 13:49:04 +02:00
Konstantina Galouni 852c81d834 [develop | DONE | CHANGED]: home.component.html: In home page, get number of funders by numbers.mergedFundersSize (instead of numbers.fundersSize) - all funders that with research products or >1 projects. 2023-11-24 17:01:38 +02:00
Konstantina Galouni 8c9337fd0b [develop | DONE | FIXED]: funders.component.ts: Updated method called in refine queries from "getRefineFieldsResultsByEntityName()" to "getAllRefineFieldResultsByFieldName()" to be able to get more than 100 funders each time. 2023-11-24 11:45:59 +02:00
Konstantina Galouni bce47ea21e [develop | DONE | CHANGED]: data sources landing: Get and parse number of collected fulltexts from a new stats api.
1. env-properties.ts: Added property pdfStatisticsAPIURL?: string;
2. environment.ts: Added pdfStatisticsAPIURL property in all environments.
3. dataProvider.service.ts: Uncomment method "getCollectedFulltexts()".
4. dataProvider.component.ts: Call method "getCollectedFulltexts()" instead of "getDataProviderAggregationStatus()".
2023-11-10 19:44:15 +02:00
222 changed files with 1013 additions and 1300 deletions

198
explore/CHANGELOG.md Normal file
View File

@ -0,0 +1,198 @@
# 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-june-2024] - 2024/06/04
### Changed
* Filter out unidentified projects from the search page and related tabs in detailed pages
* Updated link functionality for funding: search either by selecting funder or directly for projects
### Fixed
* Search results: adjust message when >= 1000 relations in the metadata line
* Fixed message on "Related Data Sources" tab of Data source detailed page
* Query 100 top values when a value of the filter is selected (bug when selected not in top 7 values)
## [production-release-may-2024] - 2024/05/23
### Changed
* Restored in search pages: number of results & selected keyword
* Performance improvements: onPush Strategy for checking when there are content changes in search results
* Updated color of filter labels & set color of "x" on filter labels same as the text
* Updated cards in funders page
### Fixed
* Filters in claims (projects) always loading
* z-index issue in dropdown (ORCID) inside modal (authors)
* Close dropdown of ORCID author when clicking on the search button
* Replaced /projects search endpoint with /resources2?type=projects in project claims
### Added
* Link directly with funding (unidentified projects)
* Display organization persistent identifiers (search results & detailed page)
* Search & Advanced search organizations by pid
* Display full organization names in search organizations page
* Added level4 FoS in fos.json vocabulary
## [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 linking
* 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

View File

@ -52,6 +52,8 @@
], ],
"styles": [ "styles": [
"src/styles.less", "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" "src/assets/common-assets/library-css/material.scss"
], ],
"scripts": [ "scripts": [

View File

@ -13,6 +13,8 @@ export const routes = [
'/participate/deposit-subject-result', '/participate/deposit-subject-result',
'/participate/deposit-publications', '/participate/deposit-publications',
'/participate/deposit-publications-result', '/participate/deposit-publications-result',
'/participate/deposit/learn-how',
'/participate/deposit/search',
'/search/find/research-outcomes', '/search/find/research-outcomes',
'/search/find', '/search/find',
'/search/find/publications', '/search/find/publications',
@ -40,4 +42,9 @@ export const routes = [
'/claims', '/claims',
'/participate/claim', '/participate/claim',
'/participate/direct-claim', '/participate/direct-claim',
'/my-orcid-links',
'/sdgs',
'/fields-of-science',
'/funders',
'/contact-us',
]; ];

View File

@ -1,40 +1,36 @@
import {NgModule} from '@angular/core'; import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router'; import {RouterModule, Routes} from '@angular/router';
import {OpenaireErrorPageComponent} from './error/errorPage.component';
import {PageURLResolverComponent} from "./openaireLibrary/utils/pageURLResolver.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 = [ const routes: Routes = [
// Other Pages // Other Pages
{path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule), data: {hasStickyHeaderOnMobile: true}}, {path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule), data: {hasStickyHeaderOnMobile: true}},
{path: 'home', redirectTo: '', pathMatch: 'full'}, {path: 'home', redirectTo: '', pathMatch: 'full'},
{path: 'mail-preferences', loadChildren: () => import('./userEmailPreferences/mailPrefs.module').then(m => m.LibMailPrefsModule)}, {path: 'sdgs', loadChildren: () => import('./openaireLibrary/sdg/sdg.module').then(m => m.SdgModule)},
{path: 'sdgs', loadChildren: () => import('./sdg/sdg.module').then(m => m.LibSdgModule)}, {path: 'fields-of-science', loadChildren: () => import('./openaireLibrary/fos/fos.module').then(m => m.FosModule), data: {extraOffset: 100}},
{path: 'fields-of-science', loadChildren: () => import('./fos/fos.module').then(m => m.LibFosModule), data: {extraOffset: 100}},
{path: 'funders', loadChildren: () => import('./funders/funders.module').then(m => m.FundersModule)}, {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}}, {path: 'contact-us', loadChildren: () => import('./contact/contact.module').then(m => m.ContactModule), data: {hasQuickContact: false}},
// ORCID Pages // ORCID Pages
{path: 'orcid', loadChildren: () => import('./orcid/orcid.module').then(m => m.LibOrcidModule)}, {path: 'orcid', loadChildren: () => import('./openaireLibrary/orcid/orcid.module').then(m => m.OrcidModule)},
{path: 'my-orcid-links', loadChildren: () => import('./orcid/my-orcid-links/myOrcidLinks.module').then(m => m.LibMyOrcidLinksModule)}, {path: 'my-orcid-links', loadChildren: () => import('./openaireLibrary/orcid/my-orcid-links/myOrcidLinks.module').then(m => m.MyOrcidLinksModule)},
// Landing Pages // Landing Pages
{path: 'search/result', loadChildren: () => import('./landingPages/result/libResult.module').then(m => m.LibResultModule), 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('./landingPages/publication/libPublication.module').then(m => m.LibPublicationModule), data: {hasQuickContact: false, hasMenuSearchBar: true}}, {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('./landingPages/dataset/libDataset.module').then(m => m.LibDatasetModule), data: {hasQuickContact: false, hasMenuSearchBar: true}}, {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('./landingPages/software/libSoftware.module').then(m => m.LibSoftwareModule), data: {hasQuickContact: false, hasMenuSearchBar: true}}, {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('./landingPages/orp/libOrp.module').then(m => m.LibOrpModule), data: {hasQuickContact: false, hasMenuSearchBar: true}}, {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('./landingPages/project/libProject.module').then(m => m.LibProjectModule), data: {hasQuickContact: false, hasMenuSearchBar: true}}, {path: 'search/project', loadChildren: () => import('./openaireLibrary/landingPages/project/project.module').then(m => m.ProjectModule), data: {hasQuickContact: false, hasMenuSearchBar: true, community: 'openaire'}},
{ {
path: 'search/dataprovider', path: 'search/dataprovider',
loadChildren: () => import('././landingPages/dataProvider/libDataProvider.module').then(m => m.LibDataProviderModule), loadChildren: () => import('./openaireLibrary/landingPages/dataProvider/dataProvider.module').then(m => m.DataProviderModule),
data: {hasQuickContact: false, hasMenuSearchBar: true} data: {hasQuickContact: false, hasMenuSearchBar: true, community: 'openaire'}
}, },
{ {
path: 'search/organization', path: 'search/organization',
loadChildren: () => import('./landingPages/organization/libOrganization.module').then(m => m.LibOrganizationModule), loadChildren: () => import('./openaireLibrary/landingPages/organization/organization.module').then(m => m.OrganizationModule),
data: {hasQuickContact: false, hasMenuSearchBar: true} data: {hasQuickContact: false, hasMenuSearchBar: true, community: 'openaire'}
},
{
path: 'project-report',
loadChildren: () => import('./landingPages/htmlProjectReport/libHtmlProjectReport.module').then(m => m.LibHtmlProjectReportModule)
}, },
// Search Pages // Search Pages
@ -104,10 +100,10 @@ const routes: Routes = [
}, },
// { path: 'claims-project-manager', loadChildren: './claims/claimsByToken/claimsByToken.module#LibClaimsByTokenModule'}, // { path: 'claims-project-manager', loadChildren: './claims/claimsByToken/claimsByToken.module#LibClaimsByTokenModule'},
// help pages - do not exist in Admin portal/api/db // help pages - do not exist in Admin portal/api/db
{path: 'reload', loadChildren: () => import('./reload/libReload.module').then(m => m.LibReloadModule)}, {path: 'reload', loadChildren: () => import('./openaireLibrary/reload/reload.module').then(m => m.ReloadModule)},
{path: 'user-info', loadChildren: () => import('./login/libUser.module').then(m => m.LibUserModule)}, {path: 'user-info', loadChildren: () => import('./openaireLibrary/login/user.module').then(m => m.UserModule)},
{path: 'error', component: OpenaireErrorPageComponent}, {path: 'error', component: ErrorPageComponent},
{path: '**', pathMatch: 'full', component: OpenaireErrorPageComponent} {path: '**', pathMatch: 'full', component: ErrorPageComponent}
]; ];
@NgModule({ @NgModule({

View File

@ -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 {ActivatedRoute, Router} from '@angular/router';
import {EnvProperties} from './openaireLibrary/utils/properties/env-properties'; import {EnvProperties} from './openaireLibrary/utils/properties/env-properties';
import {MenuItem} from './openaireLibrary/sharedComponents/menu'; 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'; import {LayoutService} from './openaireLibrary/dashboard/sharedComponents/sidebar/layout.service';
@Component({ @Component({
//changeDetection: ChangeDetectionStrategy.Default,
//encapsulation: ViewEncapsulation.Emulated,
selector: 'app-root', selector: 'app-root',
template: ` template: `
<div id="modal-container"></div>
<navbar *ngIf="properties && header" [header]="header" [portal]="properties.dashboard" [properties]=properties <navbar *ngIf="properties && header" [header]="header" [portal]="properties.dashboard" [properties]=properties
[onlyTop]=false [user]="user" [onlyTop]=false [user]="user"
[communityId]="properties.adminToolsCommunity" [userMenuItems]=userMenuItems [menuItems]=menuItems></navbar> [communityId]="properties.adminToolsCommunity" [userMenuItems]=userMenuItems [menuItems]=menuItems></navbar>
<div *ngIf="loading">
<loading [full]="true"></loading>
</div>
<schema2jsonld *ngIf="properties" [URL]="properties.domain+properties.baseLink" <schema2jsonld *ngIf="properties" [URL]="properties.domain+properties.baseLink"
[logoURL]="properties.domain+properties.baseLink+'/assets/common-assets/logo-services/explore/main.svg'" [logoURL]="properties.domain+properties.baseLink+'/assets/common-assets/logo-services/explore/main.svg'"
type="home" type="home"
name="OpenAIRE | Find and Share research" 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> 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> <main>
<router-outlet></router-outlet> <router-outlet></router-outlet>
</main> </main>
@ -57,7 +58,9 @@ import {LayoutService} from './openaireLibrary/dashboard/sharedComponents/sideba
<modal-alert #modal [overflowBody]="false"></modal-alert> <modal-alert #modal [overflowBody]="false"></modal-alert>
` `
}) })
export class AppComponent { export class AppComponent implements AfterViewInit {
loading: boolean = false;
rootClass: string;
isClient: boolean = false; isClient: boolean = false;
userMenuItems: MenuItem[] = []; userMenuItems: MenuItem[] = [];
menuItems: MenuItem [] = []; menuItems: MenuItem [] = [];
@ -124,7 +127,7 @@ export class AppComponent {
} }
})); }));
} }
ngOnDestroy() { ngOnDestroy() {
this.subscriptions.forEach(subscription => { this.subscriptions.forEach(subscription => {
if (subscription instanceof Subscriber) { if (subscription instanceof Subscriber) {
@ -141,6 +144,31 @@ export class AppComponent {
ngAfterViewInit() { ngAfterViewInit() {
if (typeof window !== "undefined") { if (typeof window !== "undefined") {
this.createObservers(); 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() { buildMenu() {
this.userMenuItems = []; this.userMenuItems = [];
this.userMenuItems.push(new MenuItem("", "My profile", "", "", false, [], [], {})); 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"], {})); 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 = [ 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.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") + '"', resultbestaccessright: '"' + encodeURIComponent("Open Access") + '"'}), 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") + '"', resultbestaccessright: '"' + encodeURIComponent("Open Access") + '"'}), 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") + '"', resultbestaccessright: '"' + encodeURIComponent("Open Access") + '"'})]; new MenuItem("", OpenaireEntities.OTHER, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("other") + '"'})];
//TODO add check for research results route //TODO add check for research results route
this.menuItems = [ 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, null, null, null, null, "_blank", "internal", false,
[ [
researchOutcomesMenu, researchOutcomesMenu,

View File

@ -9,7 +9,6 @@ import {NavigationBarModule} from './openaireLibrary/sharedComponents/navigation
import {CookieLawModule} from './openaireLibrary/sharedComponents/cookie-law/cookie-law.module'; import {CookieLawModule} from './openaireLibrary/sharedComponents/cookie-law/cookie-law.module';
import {BottomModule} from './openaireLibrary/sharedComponents/bottom.module'; import {BottomModule} from './openaireLibrary/sharedComponents/bottom.module';
import {ErrorModule} from './openaireLibrary/error/error.module'; import {ErrorModule} from './openaireLibrary/error/error.module';
import {OpenaireErrorPageComponent} from './error/errorPage.component';
import {AppRoutingModule} from './app-routing.module'; import {AppRoutingModule} from './app-routing.module';
import {HttpInterceptorService} from "./openaireLibrary/http-interceptor.service"; import {HttpInterceptorService} from "./openaireLibrary/http-interceptor.service";
import {PageURLResolverModule} from "./openaireLibrary/utils/pageURLResolver.module"; 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 {ErrorInterceptorService} from "./openaireLibrary/error-interceptor.service";
import {QuickContactModule} from './openaireLibrary/sharedComponents/quick-contact/quick-contact.module'; import {QuickContactModule} from './openaireLibrary/sharedComponents/quick-contact/quick-contact.module';
import {AlertModalModule} from './openaireLibrary/utils/modal/alertModal.module'; import {AlertModalModule} from './openaireLibrary/utils/modal/alertModal.module';
import {LoadingModule} from "./openaireLibrary/utils/loading/loading.module";
@NgModule({ @NgModule({
imports: [ imports: [
@ -30,20 +30,20 @@ import {AlertModalModule} from './openaireLibrary/utils/modal/alertModal.module'
CookieLawModule, CookieLawModule,
BrowserModule, BrowserModule,
AppRoutingModule, AppRoutingModule,
BrowserAnimationsModule, PageURLResolverModule, BrowserAnimationsModule, PageURLResolverModule,
Schema2jsonldModule, Schema2jsonldModule,
QuickContactModule, QuickContactModule,
AlertModalModule AlertModalModule, LoadingModule
], ],
declarations: [AppComponent, OpenaireErrorPageComponent], declarations: [AppComponent],
exports: [AppComponent], exports: [AppComponent],
providers: [ providers: [
{provide: APP_ID, useValue: 'explore'}, {provide: APP_ID, useValue: 'explore'},
{ // {
provide: HTTP_INTERCEPTORS, // provide: HTTP_INTERCEPTORS,
useClass: CacheInterceptorService, // useClass: CacheInterceptorService,
multi: true // multi: true
}, // },
{ {
provide: HTTP_INTERCEPTORS, provide: HTTP_INTERCEPTORS,
useClass: HttpInterceptorService, useClass: HttpInterceptorService,

View File

@ -4,19 +4,17 @@ import {properties} from "../../../environments/environment";
@Component({ @Component({
selector: 'openaire-claims-admin', selector: 'openaire-claims-admin',
template: ` template: `
<claims-admin *ngIf="claimsInfoURL && userInfoURL" [claimsInfoURL]=claimsInfoURL [userInfoURL]="userInfoURL"> <claims-admin *ngIf="claimsInfoURL" [claimsInfoURL]="claimsInfoURL">
</claims-admin> </claims-admin>
`, `,
}) })
export class OpenaireClaimsAdminComponent implements OnInit { export class OpenaireClaimsAdminComponent implements OnInit {
claimsInfoURL: string; claimsInfoURL: string;
userInfoURL: string;
constructor() { constructor() {
} }
public ngOnInit() { public ngOnInit() {
this.claimsInfoURL = properties.claimsInformationLink; this.claimsInfoURL = properties.claimsInformationLink;
this.userInfoURL = properties.userInfoUrl;
} }
} }

View File

@ -5,9 +5,6 @@ import { OpenaireClaimsAdminComponent } from './claimsAdmin.component';
import { ClaimsAdminRoutingModule } from './claimsAdmin-routing.module'; import { ClaimsAdminRoutingModule } from './claimsAdmin-routing.module';
import{ClaimsAdminModule } from '../../openaireLibrary/claims/claimsAdmin/claimsAdmin.module'; import{ClaimsAdminModule } from '../../openaireLibrary/claims/claimsAdmin/claimsAdmin.module';
import{ ClaimsCuratorGuard} from '../../openaireLibrary/login/claimsCuratorGuard.guard'; import{ ClaimsCuratorGuard} from '../../openaireLibrary/login/claimsCuratorGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
@NgModule({ @NgModule({
imports: [ imports: [
@ -15,7 +12,7 @@ import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
ClaimsAdminRoutingModule, ClaimsAdminRoutingModule,
ClaimsAdminModule ClaimsAdminModule
], ],
providers:[ClaimsCuratorGuard, PreviousRouteRecorder,IsRouteEnabled], providers:[ClaimsCuratorGuard],
declarations: [ declarations: [
OpenaireClaimsAdminComponent OpenaireClaimsAdminComponent
] ]

View File

@ -4,15 +4,12 @@ import { SharedModule } from '../../openaireLibrary/shared/shared.module';
import { OpenaireDirectLinkingComponent } from './directLinking.component'; import { OpenaireDirectLinkingComponent } from './directLinking.component';
import{ DirectLinkingModule} from '../../openaireLibrary/claims/directLinking/directLinking.module'; import{ DirectLinkingModule} from '../../openaireLibrary/claims/directLinking/directLinking.module';
import {DirectLinkingRoutingModule} from './directLinking-routing.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({ @NgModule({
imports: [ imports: [
SharedModule, DirectLinkingModule, DirectLinkingRoutingModule SharedModule, DirectLinkingModule, DirectLinkingRoutingModule
], ],
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled], providers:[],
declarations: [ declarations: [
OpenaireDirectLinkingComponent OpenaireDirectLinkingComponent
], exports:[OpenaireDirectLinkingComponent] ], exports:[OpenaireDirectLinkingComponent]

View File

@ -4,15 +4,12 @@ import { SharedModule } from '../../openaireLibrary/shared/shared.module';
import {OpenaireLinkingComponent} from './linkingGeneric.component'; import {OpenaireLinkingComponent} from './linkingGeneric.component';
import {LinkingRoutingModule} from './linking-routing.module'; import {LinkingRoutingModule} from './linking-routing.module';
import{ LinkingGenericModule} from '../../openaireLibrary/claims/linking/linkingGeneric.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({ @NgModule({
imports: [ imports: [
SharedModule, LinkingRoutingModule, LinkingGenericModule SharedModule, LinkingRoutingModule, LinkingGenericModule
], ],
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled], providers:[],
declarations: [ declarations: [
OpenaireLinkingComponent OpenaireLinkingComponent
], exports:[ ], exports:[

View File

@ -5,20 +5,18 @@ import {properties} from "../../../environments/environment";
@Component({ @Component({
selector: 'openaire-my-claims', selector: 'openaire-my-claims',
template: ` template: `
<my-claims *ngIf="userInfoURL && claimsInfoURL" [claimsInfoURL]=claimsInfoURL [userInfoURL]="userInfoURL"> <my-claims *ngIf="claimsInfoURL" [claimsInfoURL]="claimsInfoURL">
</my-claims> </my-claims>
` `
}) })
export class OpenaireMyClaimsComponent implements OnInit { export class OpenaireMyClaimsComponent implements OnInit {
claimsInfoURL: string; claimsInfoURL: string;
userInfoURL: string;
constructor() { constructor() {
} }
public ngOnInit() { public ngOnInit() {
this.claimsInfoURL = properties.claimsInformationLink; this.claimsInfoURL = properties.claimsInformationLink;
this.userInfoURL = properties.userInfoUrl;
} }
} }

View File

@ -4,10 +4,6 @@ import { SharedModule } from '../../openaireLibrary/shared/shared.module';
import { OpenaireMyClaimsComponent } from './myClaims.component'; import { OpenaireMyClaimsComponent } from './myClaims.component';
import { MyClaimsRoutingModule } from './myClaims-routing.module'; import { MyClaimsRoutingModule } from './myClaims-routing.module';
import{ MyClaimsModule} from '../../openaireLibrary/claims/myClaims/myClaims.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({ @NgModule({
imports: [ imports: [
@ -16,7 +12,7 @@ import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
MyClaimsModule MyClaimsModule
], ],
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled], providers:[],
declarations: [ declarations: [
OpenaireMyClaimsComponent OpenaireMyClaimsComponent
] ]

View File

@ -67,7 +67,7 @@ export class ContactComponent implements OnInit {
this.updateTitle(this.pageTitle); this.updateTitle(this.pageTitle);
this.updateDescription(this.description); this.updateDescription(this.description);
this.reset(); this.reset();
this.getPageContents(); // this.getPageContents();
this.sending = false; this.sending = false;
} }

View File

@ -4,11 +4,8 @@ import {RouterModule} from '@angular/router';
import {ContactComponent} from './contact.component'; import {ContactComponent} from './contact.component';
import {ContactRoutingModule} from "./contact-routing.module"; import {ContactRoutingModule} from "./contact-routing.module";
import {EmailService} from "../openaireLibrary/utils/email/email.service";
import {AlertModalModule} from "../openaireLibrary/utils/modal/alertModal.module"; 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 {HelperModule} from "../openaireLibrary/utils/helper/helper.module";
import {IsRouteEnabled} from "../openaireLibrary/error/isRouteEnabled.guard";
import {Schema2jsonldModule} from "../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module"; import {Schema2jsonldModule} from "../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module";
import {SEOServiceModule} from "../openaireLibrary/sharedComponents/SEO/SEOService.module"; import {SEOServiceModule} from "../openaireLibrary/sharedComponents/SEO/SEOService.module";
import {ContactUsModule} from "../openaireLibrary/contact-us/contact-us.module"; import {ContactUsModule} from "../openaireLibrary/contact-us/contact-us.module";
@ -25,9 +22,7 @@ import {LoadingModule} from "../openaireLibrary/utils/loading/loading.module";
declarations: [ declarations: [
ContactComponent ContactComponent
], ],
providers: [ providers: [],
EmailService, PiwikService, IsRouteEnabled
],
exports: [ exports: [
ContactComponent ContactComponent
] ]

View File

@ -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({ @Component({
selector: 'openaire-deposit', 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);
}
} }

View File

@ -2,10 +2,6 @@ import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms'; import { FormsModule } from '@angular/forms';
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard';
import {OpenaireDepositComponent} from "./deposit.component"; import {OpenaireDepositComponent} from "./deposit.component";
import {DepositRoutingModule} from "./deposit-routing.module"; import {DepositRoutingModule} from "./deposit-routing.module";
import {DepositFirstPageModule} from "../openaireLibrary/deposit/depositFirstPage.module"; import {DepositFirstPageModule} from "../openaireLibrary/deposit/depositFirstPage.module";
@ -24,7 +20,8 @@ import {CommunityService} from "../openaireLibrary/connect/community/community.s
exports: [ exports: [
OpenaireDepositComponent, OpenaireDepositComponent,
], ],
providers: [PreviousRouteRecorder, IsRouteEnabled, providers: [
ZenodoCommunitiesService, CommunityService] ZenodoCommunitiesService, CommunityService
]
}) })
export class LibDepositModule { } export class LibDepositModule { }

View File

@ -6,16 +6,14 @@ import { OpenaireSearchDataprovidersToDepositComponent } from './searchDataprovi
import {SearchDataprovidersToDepositRoutingModule} from './searchDataprovidersToDeposit-routing.module'; import {SearchDataprovidersToDepositRoutingModule} from './searchDataprovidersToDeposit-routing.module';
import {SearchDataprovidersToDepositModule} from '../openaireLibrary/deposit/searchDataprovidersToDeposit.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 {ZenodoCommunitiesServiceModule} from '../openaireLibrary/connect/zenodoCommunities/zenodo-communitiesService.module';
import {CommunityService} from '../openaireLibrary/connect/community/community.service'; import {CommunityService} from '../openaireLibrary/connect/community/community.service';
@NgModule({ @NgModule({
imports: [ imports: [
CommonModule, FormsModule, CommonModule, FormsModule,
SearchDataprovidersToDepositModule,
SearchDataprovidersToDepositRoutingModule, SearchDataprovidersToDepositRoutingModule,
SearchDataprovidersToDepositModule,
ZenodoCommunitiesServiceModule ZenodoCommunitiesServiceModule
], ],
declarations: [ declarations: [
@ -24,6 +22,6 @@ import {CommunityService} from '../openaireLibrary/connect/community/community.s
exports: [ exports: [
OpenaireSearchDataprovidersToDepositComponent, OpenaireSearchDataprovidersToDepositComponent,
], ],
providers: [PreviousRouteRecorder, IsRouteEnabled, CommunityService] providers: [CommunityService]
}) })
export class LibSearchDataprovidersToDepositModule { } export class LibSearchDataprovidersToDepositModule { }

View File

@ -1,12 +0,0 @@
import { Component } from '@angular/core';
@Component({
selector: 'openaire-error',
template: `
<error></error>
`
})
export class OpenaireErrorPageComponent {
}

View File

@ -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 { }

View File

@ -1,11 +0,0 @@
import {Component} from "@angular/core";
import {properties} from "../../environments/environment";
@Component({
selector: 'explore-fos',
template: `
<fos></fos>
`
})
export class ExploreFosComponent {}

View File

@ -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 { }

View File

@ -62,7 +62,7 @@
</div> </div>
</div> </div>
<div class="uk-width-1-2@m uk-width-1-1 uk-text-center" uk-scrollspy-class> <div class="uk-width-1-2@m uk-width-1-1 uk-text-center" uk-scrollspy-class>
<img src="assets/explore-assets/funders/funders.png" loading="lazy"> <img src="assets/explore-assets/funders/funders.png" alt="Funders advertisement image">
</div> </div>
</div> </div>
</div> </div>
@ -121,88 +121,105 @@
No funders available No funders available
</div> </div>
<div class="uk-grid uk-grid-match uk-padding-small" [ngClass]="gridView ? 'uk-child-width-1-2@m uk-child-width-1-3@l' : 'uk-child-width-1-1'" <div class="uk-grid uk-grid-match uk-padding-small" [ngClass]="gridView ? 'uk-child-width-1-2@m uk-child-width-1-3@l' : 'uk-child-width-1-1'"
uk-grid uk-height-match="target: .info;"> uk-grid uk-height-match="target: .data;">
<div *ngFor="let funder of displayedFunders.slice((currentPage-1)*pageSize, currentPage*pageSize)"> <div *ngFor="let funder of displayedFunders.slice((currentPage-1)*pageSize, currentPage*pageSize)">
<!-- funder's card for GRID view --> <!-- funder's card for GRID view -->
<ng-container *ngIf="gridView || isMobile; else elseBlock"> <ng-container *ngIf="gridView || isMobile; else elseBlock">
<div class="uk-card uk-card-default uk-card-hover funder-grid"> <div class="uk-card uk-card-default uk-card-hover funder-grid">
<!-- OA % --> <!-- <div class="uk-position-top-left uk-padding-small">
<!-- <div class="percentage uk-flex uk-flex-right uk-margin-bottom">--> <span class="uk-text-xsmall">flag</span>
<div class="uk-position-top-right uk-padding-small"> </div> -->
<div *ngIf="funder.openAccessResearchProducts && funder.researchProducts" class="uk-text-center"> <!-- <div class="uk-position-top-right uk-padding-small">
<div class="uk-flex uk-flex-middle uk-flex-center"> <div class="uk-flex uk-flex-middle uk-text-xsmall uk-text-meta">
<span class="uk-margin-xsmall-right open-access"> <div class="uk-icon-bg uk-icon-bg-small">
<icon name="open_access" [flex]="true" [ratio]="1"></icon> <icon name="done" [flex]="true"></icon>
</span>
<h6 class="uk-margin-remove">{{funder.openAccessPercentage}}%</h6>
</div> </div>
<span class="uk-h6 uk-text-small">Open Access</span> <span class="uk-margin-xsmall-left">Registered</span>
</div> </div>
</div> -->
<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" loading="lazy">
<ng-template #elseBlock>
<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>
<div class="uk-card-body"> <div class="uk-padding-small uk-padding-remove-vertical uk-padding-remove-left uk-margin-medium-left">
<!-- funder logo --> <!-- alias -->
<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">
<ng-template #elseBlock>
<img src="assets/common-assets/placeholder.png" alt="OpenAIRE placeholder logo" class="uk-height-max-xsmall uk-blend-multiply">
</ng-template>
</div>
<!-- funder alias -->
<div class="alias uk-text-uppercase uk-text-small uk-margin-top type"> <div class="alias uk-text-uppercase uk-text-small uk-margin-top type">
<ng-container *ngIf="funder.alias"> <ng-container *ngIf="funder.alias">
{{funder.alias}} {{funder.alias}}
</ng-container> </ng-container>
</div> </div>
<!-- funder name --> <div class="uk-flex">
<div class="name uk-h6 uk-margin-remove multi-line-ellipsis lines-2"> <div class="uk-width-expand name uk-h6 uk-margin-remove multi-line-ellipsis lines-2">
<ng-container *ngIf="funder.name" > <ng-container *ngIf="funder.name" >
{{funder.name}} <span>{{funder.name}}</span>
</ng-container> </ng-container>
</div>
<!-- <div class="uk-width-auto uk-margin-left">
<a href="" class="uk-flex-inline uk-flex-middle uk-text-uppercase uk-button uk-button-text custom-external">
<icon name="payment" [flex]="true"></icon>
</a>
</div> -->
</div> </div>
<div class="info uk-margin-medium-top"> </div>
<!-- Monitor dashboard --> <div class="data uk-background-muted uk-flex uk-flex-middle uk-padding-small uk-padding-remove-left uk-margin-top">
<div class="monitor-dashboard"> <div class="uk-flex uk-flex-middle uk-width-1-1 uk-child-width-1-2 uk-margin-medium-left">
<!-- PUBLIC status -->
<a *ngIf="funder.monitorDashboard && funder.monitorDashboardStatus != 'PRIVATE' && funder.monitorDashboardStatus != 'RESTRICTED'"
class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
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;">
<span class="monitor-dashboard-link uk-text-uppercase">Monitor Dashboard</span>
</span>
</a>
<!-- RESTRICTED status -->
<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;">
<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>
</div>
<!-- Projects -->
<div> <div>
<a *ngIf="funder.projects" <!-- Projects -->
class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text" <div *ngIf="funder.projects" class="uk-flex uk-flex-column" [class.uk-margin-small-bottom]="funder.researchProducts">
[routerLink]="properties.searchLinkToProjects" [queryParams]="{'funder': urlEncodeAndQuote(funder.id)}"> <span class="uk-text-meta uk-text-xsmall">
<span class="uk-flex uk-flex-middle"> Projects
<span>Projects ({{funder.projects | number}})</span>
</span> </span>
</a> <a
class="uk-link-text uk-text-large uk-text-bold"
[routerLink]="properties.searchLinkToProjects" [queryParams]="{'funder': urlEncodeAndQuote(funder.id)}">
<span>
{{funder.projects | number}}
</span>
</a>
</div>
<!-- Research products -->
<div *ngIf="funder.researchProducts" class="uk-flex uk-flex-column">
<span class="uk-text-meta uk-text-xsmall">
Research Products
</span>
<a
class="uk-link-text uk-text-large uk-text-bold"
[routerLink]="properties.searchLinkToResults" [queryParams]="{'relfunder': urlEncodeAndQuote(funder.id)}">
<span>
{{funder.researchProducts | number}}
</span>
</a>
</div>
</div> </div>
<!-- Research products --> <div class="uk-flex uk-flex-column uk-flex-middle uk-flex-center">
<div> <div class="uk-progress-semicircle uk-progress-semicircle-small" [attr.percentage]="funder.openAccessPercentage" [style]="'--percentage:' + funder.openAccessPercentage"></div>
<a *ngIf="funder.researchProducts" <div class="uk-flex uk-flex-middle uk-margin-top">
class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text" <icon class="open-access" [name]="'open_access'" [flex]="true" [ratio]="0.8"></icon>
[routerLink]="properties.searchLinkToResults" [queryParams]="{'relfunder': urlEncodeAndQuote(funder.id)}"> <span class="uk-text-xsmall uk-margin-xsmall-left">Open Access</span>
<span class="uk-flex uk-flex-middle"> </div>
<span>Research Products ({{funder.researchProducts | number}})</span>
</span>
</a>
</div> </div>
</div> </div>
</div> </div>
<div class="monitor-dashboard uk-padding-small uk-padding-remove-left uk-margin-medium-left">
<a *ngIf="funder.monitorDashboard && funder.monitorDashboardStatus != 'PRIVATE' && funder.monitorDashboardStatus != 'RESTRICTED'"
class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
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;" 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;" 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>
</div>
</div> </div>
</ng-container> </ng-container>
<!-- funder's card for LIST view --> <!-- funder's card for LIST view -->
@ -211,79 +228,108 @@
<div class="uk-grid uk-grid-divider uk-grid-small" uk-grid> <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-expand uk-flex uk-flex-middle">
<div class="uk-width-1-6 uk-flex uk-flex-middle uk-flex-center"> <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> <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> </ng-template>
</div> </div>
<div class="uk-width-expand uk-margin-medium-left"> <div class="uk-width-expand uk-grid uk-grid-divider uk-child-width-1-2 uk-margin-left" uk-grid>
<div class="name uk-h6 uk-text-truncate"> <div class="uk-flex uk-flex-column uk-flex-center">
<ng-container *ngIf="funder.name"> <div class="uk-flex uk-flex-middle">
{{funder.name}} <!-- <span class="uk-text-xsmall uk-margin-small-right">flag</span> -->
</ng-container> <div class="uk-h6 uk-margin-remove uk-text-truncate">
<ng-container *ngIf="funder.alias" > <ng-container *ngIf="funder.name">
<span class="uk-text-uppercase"> <span>{{funder.name}}</span>
({{funder.alias}}) </ng-container>
</span> <ng-container *ngIf="funder.alias" >
</ng-container> <span class="uk-text-uppercase">
</div> ({{funder.alias}})
<div class="uk-grid uk-grid-divider uk-flex-nowrap" uk-grid> </span>
<div *ngIf="funder.monitorDashboard"> </ng-container>
</div>
</div>
<div *ngIf="funder.monitorDashboard" class="uk-margin-top">
<a *ngIf="funder.monitorDashboard && funder.monitorDashboardStatus != 'PRIVATE' && funder.monitorDashboardStatus != 'RESTRICTED'" <a *ngIf="funder.monitorDashboard && funder.monitorDashboardStatus != 'PRIVATE' && funder.monitorDashboardStatus != 'RESTRICTED'"
class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text" class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
target="_blank" [href]="'https://'+(properties.environment =='beta' || properties.environment =='development'?'beta.':'')+'monitor.openaire.eu/dashboard/'+funder.alias"> target="_blank" [href]="'https://'+(properties.environment =='beta' || properties.environment =='development'?'beta.':'')+'monitor.openaire.eu/dashboard/'+funder.alias">
<span class="uk-flex uk-flex-middle"> <span class="uk-flex uk-flex-middle">
<img src="assets/common-assets/common/Symbol.png" alt="OpenAIRE logo" <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 class="monitor-dashboard-link uk-text-uppercase">Monitor Dashboard</span>
</span> </span>
</a> </a>
<span *ngIf="funder.monitorDashboard && funder.monitorDashboardStatus == 'RESTRICTED'" <span *ngIf="funder.monitorDashboard && funder.monitorDashboardStatus == 'RESTRICTED'"
class="uk-flex uk-flex-middle"> class="uk-flex uk-flex-middle">
<img src="assets/common-assets/common/Symbol.png" alt="OpenAIRE logo" <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> <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> <icon class="uk-margin-xsmall-left" name="closed_access" [flex]="true" [ratio]="1"></icon>
</span> </span>
</div> </div>
</div>
<div class="uk-flex uk-flex-middle uk-child-width-1-3">
<div> <div>
<a *ngIf="funder.projects" <div *ngIf="funder.projects" class="uk-flex uk-flex-column">
class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text" <span class="uk-text-meta uk-text-xsmall">
[routerLink]="properties.searchLinkToProjects" [queryParams]="{'funder': urlEncodeAndQuote(funder.id)}"> Projects
<span class="uk-flex uk-flex-middle">
<span>Projects ({{funder.projects | number}})</span>
</span> </span>
</a> <a
class="uk-link-text uk-text-large uk-text-bold"
[routerLink]="properties.searchLinkToProjects" [queryParams]="{'funder': urlEncodeAndQuote(funder.id)}">
<span>
{{funder.projects | number}}
</span>
</a>
</div>
</div> </div>
<div> <div>
<a *ngIf="funder.researchProducts" <div *ngIf="funder.researchProducts" class="uk-flex uk-flex-column">
class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text" <span class="uk-text-meta uk-text-xsmall">
[routerLink]="properties.searchLinkToResults" [queryParams]="{'relfunder': urlEncodeAndQuote(funder.id)}"> Research Products
<span class="uk-flex uk-flex-middle">
<span>Research Products ({{funder.researchProducts | number}})</span>
</span> </span>
</a> <a
class="uk-link-text uk-text-large uk-text-bold"
[routerLink]="properties.searchLinkToResults" [queryParams]="{'relfunder': urlEncodeAndQuote(funder.id)}">
<span>
{{funder.researchProducts | number}}
</span>
</a>
</div>
</div>
<div>
<div *ngIf="funder.openAccessResearchProducts && funder.researchProducts" class="uk-flex uk-flex-column">
<span class="uk-text-meta uk-text-xsmall">Open Access</span>
<div class="uk-flex uk-flex-middle">
<span class="uk-margin-xsmall-right open-access">
<icon name="open_access" [flex]="true" [ratio]="0.8"></icon>
</span>
<span class="uk-text-large uk-text-bold">{{funder.openAccessPercentage}}%</span>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="uk-width-auto uk-flex uk-flex-middle uk-flex-center"> <!-- <div class="uk-width-auto uk-flex uk-flex-column uk-flex-center uk-margin-right">
<div *ngIf="funder.openAccessResearchProducts && funder.researchProducts" class="uk-text-center"> <div class="uk-flex uk-flex-middle uk-text-xsmall uk-text-meta uk-margin-bottom">
<div class="uk-flex uk-flex-middle uk-flex-center"> <div class="uk-icon-bg uk-icon-bg-small">
<span class="uk-margin-xsmall-right open-access"> <icon name="done" [flex]="true"></icon>
<icon name="open_access" [flex]="true" [ratio]="1"></icon>
</span>
<h6 class="uk-margin-remove">{{funder.openAccessPercentage}}%</h6>
</div> </div>
<span class="uk-h6 uk-text-small">Open Access</span> <span class="uk-margin-xsmall-left">Registered</span>
</div> </div>
</div> <div>
<a href="" class="uk-flex-inline uk-flex-middle uk-text-uppercase uk-button uk-button-text custom-external">
<icon name="payment" [flex]="true"></icon>
</a>
</div>
</div> -->
</div> </div>
</div> </div>
</ng-template> </ng-template>
</div> </div>
</div> </div>
</div> </div>
<paging-no-load *ngIf="displayedFunders.length > pageSize" <paging-no-load *ngIf="displayedFunders.length > pageSize"
(pageChange)="updateCurrentPage($event)" (pageChange)="updateCurrentPage($event)"
[currentPage]="currentPage" [size]="pageSize" [currentPage]="currentPage" [size]="pageSize"

View File

@ -38,11 +38,11 @@
} }
} }
.uk-card { // .uk-card {
&.funder-grid { // &.funder-grid {
border-bottom: 4px solid fade(@funder-color, 30%); // border-bottom: 4px solid fade(@funder-color, 30%);
} // }
&.funder-list { // &.funder-list {
border-left: 4px solid fade(@funder-color, 30%); // border-left: 4px solid fade(@funder-color, 30%);
} // }
} // }

View File

@ -17,6 +17,7 @@ import {NumberUtils} from '../openaireLibrary/utils/number-utils.class';
import {LayoutService} from '../openaireLibrary/dashboard/sharedComponents/sidebar/layout.service'; import {LayoutService} from '../openaireLibrary/dashboard/sharedComponents/sidebar/layout.service';
import {FormBuilder, FormControl} from '@angular/forms'; import {FormBuilder, FormControl} from '@angular/forms';
import {debounceTime, distinctUntilChanged} from 'rxjs/operators'; import {debounceTime, distinctUntilChanged} from 'rxjs/operators';
import {GroupedRequestsService} from "../openaireLibrary/services/groupedRequests.service";
@Component({ @Component({
selector: 'funders', selector: 'funders',
@ -85,10 +86,12 @@ export class FundersComponent implements OnInit {
private stakeholderService: StakeholderService, private stakeholderService: StakeholderService,
private layoutService: LayoutService, private layoutService: LayoutService,
private cdr: ChangeDetectorRef, private cdr: ChangeDetectorRef,
private fb: FormBuilder,) { private fb: FormBuilder,
private groupedRequestsService: GroupedRequestsService) {
} }
ngOnInit() { ngOnInit() {
this.layoutService.setRootClass('funders');
this.title.setTitle('OpenAIRE - Explore | Funders'); this.title.setTitle('OpenAIRE - Explore | Funders');
this.properties = properties; this.properties = properties;
this.subscriptions.push( this.piwikService.trackView(this.properties, this.pageTitle).subscribe()); this.subscriptions.push( this.piwikService.trackView(this.properties, this.pageTitle).subscribe());
@ -124,6 +127,7 @@ export class FundersComponent implements OnInit {
subscription.unsubscribe(); subscription.unsubscribe();
} }
}); });
this.layoutService.setRootClass(null);
} }
private updateDescription(description: string) { private updateDescription(description: string) {
@ -142,98 +146,155 @@ export class FundersComponent implements OnInit {
} }
private getFunders() { private getFunders() {
let refineParams = '&fq=resultbestaccessright%20exact%20%22Open%20Access%22'; this.subscriptions.push(this.groupedRequestsService.funders().subscribe(data => {
this.subscriptions.push( let funders = data["funders"];
zip( funders.forEach(queriedFunder => {
this.refineFieldResultsService.getRefineFieldsResultsByEntityName(['relfunder'], 'result', this.properties), let id = queriedFunder.id;
this.refineFieldResultsService.getRefineFieldsResultsByEntityName(['relfunder'], 'result', this.properties, refineParams), let funder = {
this.refineFieldResultsService.getRefineFieldsResultsByEntityName(['funder'], 'project', this.properties), "id": id,
this.stakeholderService.getStakeholders(this.properties.monitorServiceAPIURL, 'funder') "name": this.removePartAfterCharacters(queriedFunder.name, "||"),
).subscribe((data: any[]) => { "alias": '',
// storing all needed data to a map "researchProducts": +queriedFunder.results,
// 1st call "openAccessResearchProducts": +queriedFunder.openResults,
let queriedFunders1 = data[0][1][0].values; "openAccessPercentage": 0,
queriedFunders1.forEach(queriedFunder => { "projects": +queriedFunder.projects,
this.fundersMap.set(queriedFunder.id, { "monitorDashboard": '',
"id": queriedFunder.id, "monitorDashboardStatus": '',
"name": queriedFunder.name, "logoUrl": ''
"alias": '', };
"researchProducts": +queriedFunder.number,
"openAccessResearchProducts": 0,
"openAccessPercentage": 0,
"projects": 0,
"monitorDashboard": '',
"monitorDashboardStatus": '',
"logoUrl": ''
});
});
// 2nd call if((!funder.researchProducts || funder.researchProducts == 0) && (!funder.projects || funder.projects == 0)) {
let queriedFunders2 = data[1][1][0].values; return;
queriedFunders2.forEach(queriedFunder => { }
if(this.fundersMap.has(queriedFunder.id)) {
this.fundersMap.get(queriedFunder.id).openAccessResearchProducts = +queriedFunder.number;
}
});
// 3rd call if(queriedFunder.stakeholder) {
let queriedFunders3 = data[2][1][0].values; let stakeholder = queriedFunder.stakeholder;
queriedFunders3.forEach(queriedFunder => { funder.alias = stakeholder.alias;
if(+queriedFunder.number > 1) { funder.monitorDashboard = stakeholder.alias;
if (this.fundersMap.has(queriedFunder.id)) { funder.monitorDashboardStatus = stakeholder.visibility;
this.fundersMap.get(queriedFunder.id).projects = +queriedFunder.number; funder.logoUrl = (stakeholder.isUpload ? properties.utilsService + "/download/" : "")+ (stakeholder.logoUrl);
} 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 if(funder.openAccessResearchProducts && funder.researchProducts) {
let queriedFunders4 = data[3]; funder.openAccessPercentage = Math.round((funder.openAccessResearchProducts / funder.researchProducts) * 100);
queriedFunders4.forEach(queriedFunder => { }
let id = queriedFunder.index_id + '||' + queriedFunder.index_name + '||' + queriedFunder.index_shortName;
if(this.fundersMap.has(id) && ( if(!funder.logoUrl && this.staticLogos.has(funder.id)) {
!this.fundersMap.get(id).monitorDashboardStatus let split = funder.id.split("||");
|| let shortname = (split && split.length==3) ? funder.id.split("||")[2] : funder.id;
(this.fundersMap.get(id).monitorDashboardStatus == "RESTRICTED" && queriedFunder.visibility == "PUBLIC") funder.logoUrl = "assets/explore-assets/funders/logos/"+shortname+".png";
|| }
(this.fundersMap.get(id).monitorDashboardStatus == "PRIVATE" && (queriedFunder.visibility == "RESTRICTED" || queriedFunder.visibility == "PUBLIC")))) {
this.fundersMap.get(id).alias = queriedFunder.alias; this.fundersMap.set(queriedFunder.id, funder);
this.fundersMap.get(id).monitorDashboard = queriedFunder.alias; });
this.fundersMap.get(id).monitorDashboardStatus = queriedFunder.visibility; // convert funders map into an array
this.fundersMap.get(id).logoUrl = (queriedFunder.isUpload ? properties.utilsService + "/download/" : "")+ (queriedFunder.logoUrl); this.funders = Array.from(this.fundersMap.values());
} // calculate total numbers for intro content
}); this.fundersNumber = data.count;
this.fundersMap.forEach((value) => { this.researchProductsNumber = data.results;
if(value.openAccessResearchProducts > 0) { this.projectsNumber = data.projects;
value.openAccessPercentage = Math.round((value.openAccessResearchProducts / value.researchProducts) * 100); // sort funders
} this.funders.sort((a, b) => a['name'].localeCompare(b['name']));
if(!value.logoUrl && this.staticLogos.has(value.id)) { // initialize displayedFunders
value.logoUrl = "assets/explore-assets/funders/logos/"+value.id+".png"; this.displayedFunders = this.funders;
} this.showLoading = false;
}); }))
// convert funders map into an array
this.funders = Array.from(this.fundersMap.values()); // let refineParams = '&fq=resultbestaccessright%20exact%20%22Open%20Access%22';
// calculate total numbers for intro content // this.subscriptions.push(
this.calculateNumbers(); // zip(
// sort funders // this.refineFieldResultsService.getAllRefineFieldResultsByFieldName('relfunder', 'result', this.properties),
this.funders.sort((a, b) => a['name'].localeCompare(b['name'])); // this.refineFieldResultsService.getAllRefineFieldResultsByFieldName('relfunder', 'result', this.properties, refineParams),
// initialize displayedFunders // this.refineFieldResultsService.getAllRefineFieldResultsByFieldName('funder', 'project', this.properties),
this.displayedFunders = this.funders; // this.stakeholderService.getStakeholders(this.properties.monitorServiceAPIURL, 'funder')
this.showLoading = false; // ).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) { private calculateSum(array, property) {
@ -303,4 +364,12 @@ export class FundersComponent implements OnInit {
this.currentPage = $event.value; this.currentPage = $event.value;
HelperFunctions.scrollToId('target'); HelperFunctions.scrollToId('target');
} }
private removePartAfterCharacters(field, characters):string {
if(field && field.indexOf(characters) !=-1){
return field.split(characters)[0];
}
return field;
}
} }

View File

@ -5,8 +5,6 @@ import {RouterModule} from '@angular/router';
import {FundersComponent} from './funders.component'; import {FundersComponent} from './funders.component';
import {FundersRoutingModule} from "./funders-routing.module"; import {FundersRoutingModule} from "./funders-routing.module";
import {AlertModalModule} from "../openaireLibrary/utils/modal/alertModal.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 {Schema2jsonldModule} from "../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module";
import {SEOServiceModule} from "../openaireLibrary/sharedComponents/SEO/SEOService.module"; import {SEOServiceModule} from "../openaireLibrary/sharedComponents/SEO/SEOService.module";
import {BreadcrumbsModule} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.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 {InputModule} from '../openaireLibrary/sharedComponents/input/input.module';
import {PagingModule} from '../openaireLibrary/utils/paging.module'; import {PagingModule} from '../openaireLibrary/utils/paging.module';
import {SearchInputModule} from '../openaireLibrary/sharedComponents/search-input/search-input.module'; import {SearchInputModule} from '../openaireLibrary/sharedComponents/search-input/search-input.module';
import {GroupedRequestsServiceModule} from "../openaireLibrary/services/groupedRequestsService.module";
@NgModule({ @NgModule({
@ -27,14 +26,12 @@ import {SearchInputModule} from '../openaireLibrary/sharedComponents/search-inpu
FundersRoutingModule, CommonModule, RouterModule, AlertModalModule, FundersRoutingModule, CommonModule, RouterModule, AlertModalModule,
Schema2jsonldModule, SEOServiceModule, BreadcrumbsModule, LoadingModule, Schema2jsonldModule, SEOServiceModule, BreadcrumbsModule, LoadingModule,
RefineFieldResultsServiceModule, LogoUrlPipeModule, IconsModule, InputModule, RefineFieldResultsServiceModule, LogoUrlPipeModule, IconsModule, InputModule,
PagingModule, SearchInputModule PagingModule, SearchInputModule, GroupedRequestsServiceModule
], ],
declarations: [ declarations: [
FundersComponent FundersComponent
], ],
providers: [ providers: [],
PiwikService, IsRouteEnabled
],
exports: [ exports: [
FundersComponent FundersComponent
] ]

View File

@ -1,7 +1,8 @@
<ng-template #_logos let-logo="logo" let-class="class"> <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 *ngIf="logo" [class]="'uk-margin-top uk-flex uk-flex-middle uk-flex-center uk-padding-remove-horizontal '+class">
<div class=""> <div class="">
<img src="assets/ExploreLogos/{{logo}}" alt="{{logo}} logo" loading="lazy" width="112px" height="44px"> <!-- <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> </div>
</ng-template> </ng-template>
@ -47,7 +48,7 @@
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text uk-margin-small-bottom" <a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text uk-margin-small-bottom"
routerLinkActive="router-link-active" routerLink="/sdgs"> routerLinkActive="router-link-active" routerLink="/sdgs">
<span class="uk-flex uk-flex-middle"> <span class="uk-flex uk-flex-middle">
<img src="assets/common-assets/sdg/sdg-dot-img.svg" alt="SDGs logo" loading="lazy"> <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 <span class="uk-margin-small-left">Sustainable Development Goals (SDG<span
class="uk-text-lowercase">s</span>)</span> class="uk-text-lowercase">s</span>)</span>
</span> </span>
@ -55,7 +56,7 @@
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text" <a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
routerLinkActive="router-link-active" routerLink="/fields-of-science"> routerLinkActive="router-link-active" routerLink="/fields-of-science">
<span class="uk-flex uk-flex-middle"> <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 class="uk-margin-small-left">Fields of Science (FoS)</span>
</span> </span>
</a> </a>
@ -64,8 +65,8 @@
</div> </div>
<div class="uk-visible@m uk-width-expand" uk-scrollspy-class> <div class="uk-visible@m uk-width-expand" uk-scrollspy-class>
<div class="uk-position-relative"> <div class="uk-position-relative">
<img src="assets/explore-assets/home/explore.jpg" uk-parallax="y: 500"> <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"> <img class="uk-position-bottom-left" src="assets/explore-assets/home/mask.svg" alt="search" loading="lazy">
</div> </div>
</div> </div>
</div> </div>
@ -80,7 +81,7 @@
<ng-container *ngFor="let type of getKeys(logos)"> <ng-container *ngFor="let type of getKeys(logos)">
<li *ngFor="let range of createRange(logos[type].length) let j=index" <li *ngFor="let range of createRange(logos[type].length) let j=index"
class="uk-width-1-1 home-logo"> class="uk-width-1-1 home-logo">
<h1 class="uk-text-center uk-margin-large-bottom uk-text-primary uk-h4"> <h2 class="uk-text-center uk-margin-bottom uk-text-primary uk-h4">
<span *ngIf="type=='publication' && numbersComponent.showPublications && numbers?.publicationsSize"> <span *ngIf="type=='publication' && numbersComponent.showPublications && numbers?.publicationsSize">
<span <span
class="uk-text-bold">{{numbers.publicationsSize.number|number}}{{numbers.publicationsSize.size}} class="uk-text-bold">{{numbers.publicationsSize.number|number}}{{numbers.publicationsSize.size}}
@ -109,26 +110,28 @@
<span *ngIf="type=='persistent'"> <span *ngIf="type=='persistent'">
<span>Persistent identifiers and registries</span> <span>Persistent identifiers and registries</span>
</span> </span>
<span *ngIf="type=='funder' && numbersComponent.showProjects && numbers?.fundersSize && numbers?.projectsSize"> <span *ngIf="type=='funder' && numbersComponent.showProjects && numbers?.mergedFundersSize && numbers?.projectsSize">
<span <span
class="uk-text-bold">{{numbers.fundersSize.number|number}}{{numbers.fundersSize.size}} class="uk-text-bold">{{numbers.mergedFundersSize.number|number}}{{numbers.mergedFundersSize.size}}
funders</span><span> and</span> funders</span><span> and</span>
<span <span
class="uk-text-bold"> {{numbers.projectsSize.number|number}}{{numbers.projectsSize.size}} class="uk-text-bold"> {{numbers.projectsSize.number|number}}{{numbers.projectsSize.size}}
funded grants</span> funded grants</span>
</span> </span>
</h1> </h2>
<div <div class="uk-text-center uk-flex uk-flex-center uk-margin-medium-left uk-margin-medium-right">
class="uk-grid-small uk-child-width-1-6 uk-text-center grid uk-flex uk-flex-center" <ng-container *ngTemplateOutlet="_logos; context: { logo: logos[type][j], class: ' '}"></ng-container>
uk-grid uk-height-match="target: > div > .logo2; row: false;"> <!-- <div-->
<div <!-- class="uk-grid-small uk-child-width-1-6 uk-text-center grid uk-flex uk-flex-center"-->
*ngFor="let logo of logos[type][j].slice(0,ceil(logos[type][j].length/2)); let i=index"> <!-- uk-grid uk-height-match="target: > div > .logo2; row: false;">-->
<ng-container <!-- <div-->
*ngTemplateOutlet="_logos; context: { logo: logo, class: 'logo1 '}"></ng-container> <!-- *ngFor="let logo of logos[type][j].slice(0,ceil(logos[type][j].length/2)); let i=index">-->
<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> <!-- *ngTemplateOutlet="_logos; context: { logo: logo, class: 'logo1 '}"></ng-container>-->
</div> <!-- <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> </div>
</li> </li>
</ng-container> </ng-container>
@ -156,23 +159,23 @@
alt="ipad" loading="lazy"> alt="ipad" loading="lazy">
</slider-item> </slider-item>
<slider-item type="slide" [start]="0"> <slider-item type="slide" [start]="0">
<img src="assets/explore-assets/home/1.png" alt="ipad" loading="lazy"> <img src="assets/explore-assets/home/1.png" alt="Deposit search" loading="lazy">
</slider-item> </slider-item>
<slider-item type="slide" [start]="0.5"> <slider-item type="slide" [start]="0.5">
<img src="assets/explore-assets/home/2.png" alt="ipad" loading="lazy"> <img src="assets/explore-assets/home/2.png" alt="Deposit in OpenAIRE or Zenodo" loading="lazy">
</slider-item> </slider-item>
<slider-item type="slide" [start]="1"> <slider-item type="slide" [start]="1">
<img src="assets/explore-assets/home/3.png" alt="ipad" loading="lazy"> <img src="assets/explore-assets/home/3.png" alt="Search links" loading="lazy">
</slider-item> </slider-item>
<slider-item type="slide" [start]="1.5"> <slider-item type="slide" [start]="1.5">
<img src="assets/explore-assets/home/4.png" alt="ipad" loading="lazy"> <img src="assets/explore-assets/home/4.png" alt="link" loading="lazy">
</slider-item> </slider-item>
</slider-column> </slider-column>
<slider-column type="nav" class="slider-nav"> <slider-column type="nav" class="slider-nav">
<slider-nav-item [start]="0"> <slider-nav-item [start]="0">
<h6> <h3 class="uk-h6">
<i class="uk-text-primary">Deposit</i> your research<span class="uk-text-primary">.</span> <i class="uk-text-primary">Deposit</i> your research<span class="uk-text-primary">.</span>
</h6> </h3>
<div class="uk-margin-bottom"> <div class="uk-margin-bottom">
Whether its publications, data or software, Whether its publications, data or software,
select an OpenAIRE compatible repository and select an OpenAIRE compatible repository and
@ -187,9 +190,9 @@
</div> </div>
</slider-nav-item> </slider-nav-item>
<slider-nav-item [start]="1"> <slider-nav-item [start]="1">
<h6> <h3 class="uk-h6">
<i class="uk-text-primary">Link</i> your work<span class="uk-text-primary">.</span> <i class="uk-text-primary">Link</i> your work<span class="uk-text-primary">.</span>
</h6> </h3>
<div class="uk-margin-bottom"> <div class="uk-margin-bottom">
Connect all your research. If you can't find your research Connect all your research. If you can't find your research
results in OpenAIRE, don't worry! Use our Link service, results in OpenAIRE, don't worry! Use our Link service,
@ -238,7 +241,7 @@
</div> </div>
<div></div> <div></div>
<img class="uk-visible@m uk-height-1-1 uk-position-top-right" <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"> src="assets/common-assets/common/graph-nodes.svg" alt="Graph nodes" loading="lazy">
</div> </div>
</div> </div>
</div> </div>

View File

@ -36,79 +36,30 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit {
public logos = { public logos = {
"publication": [ "publication": [
[ [
"logo-pubmed.png", "publications.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"
], ],
[ [
"logo-unpaywall.png", "publications2.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"
] ]
], ],
"software": [ "software": [
[ [
"logo-software-heritage.png", "software.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"
] ]
], ],
"dataset": [ "dataset": [
[ [
"logo-scholexplorer.png", "datasets.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"
] ]
], ],
"persistent": [ "persistent": [
[ [
"logo-re3data.png", "pids.png"
"logo-orcid.png",
"logo-opendoar.png",
"logo-grid.png",
"logo-fairsharing.png",
"logo-ror.png",
"logo-datacite.png",
"logo-crossref.png"
] ]
], ],
"funder": [ "funder": [
[ [
"logo-european-commision.png", "funders.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"
] ]
] ]
}; };
@ -125,12 +76,12 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit {
@ViewChild('contact') contact: ElementRef; @ViewChild('contact') contact: ElementRef;
subscriptions: any[] = []; subscriptions: any[] = [];
@ViewChildren('scrolling_element') elements: QueryList<ElementRef>; @ViewChildren('scrolling_element') elements: QueryList<ElementRef>;
resultsQuickFilter: { filter: Filter, selected: boolean, filterId: string, value: string } = { resultsQuickFilter: { filter: Filter, selected: boolean, filterId: string, value: string } = null;//{
filter: null, // filter: null,
selected: true, // selected: true,
filterId: "resultbestaccessright", // filterId: "resultbestaccessright",
value: "Open Access" // value: "Open Access"
}; // };
selectedEntity = "all"; selectedEntity = "all";
selectedEntitySimpleUrl; selectedEntitySimpleUrl;
selectedEntityAdvancedUrl; selectedEntityAdvancedUrl;

View File

@ -10,12 +10,10 @@ import { DataProvidersServiceModule} from '../openaireLibrary/services/dataProvi
import { SearchResearchResultsServiceModule} from '../openaireLibrary/services/searchResearchResultsService.module'; import { SearchResearchResultsServiceModule} from '../openaireLibrary/services/searchResearchResultsService.module';
import { ProjectsServiceModule} from '../openaireLibrary/services/projectsService.module'; import { ProjectsServiceModule} from '../openaireLibrary/services/projectsService.module';
import { OrganizationsServiceModule} from '../openaireLibrary/services/organizationsService.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 {HelperModule} from '../openaireLibrary/utils/helper/helper.module';
import {RefineFieldResultsServiceModule} from '../openaireLibrary/services/refineFieldResultsService.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 { SEOServiceModule } from '../openaireLibrary/sharedComponents/SEO/SEOService.module';
import {OtherPortalsModule} from "../openaireLibrary/sharedComponents/other-portals/other-portals.module"; import {OtherPortalsModule} from "../openaireLibrary/sharedComponents/other-portals/other-portals.module";
@ -32,21 +30,18 @@ import {SliderUtilsModule} from "../openaireLibrary/sharedComponents/slider-util
@NgModule({ @NgModule({
imports: [ imports: [
HomeRoutingModule,
CommonModule, FormsModule, RouterModule, CommonModule, FormsModule, RouterModule,
RefineFieldResultsServiceModule, RefineFieldResultsServiceModule,
DataProvidersServiceModule, SearchResearchResultsServiceModule, DataProvidersServiceModule, SearchResearchResultsServiceModule,
ProjectsServiceModule, OrganizationsServiceModule, ProjectsServiceModule, OrganizationsServiceModule,
PiwikServiceModule,
HomeRoutingModule,
HelperModule, HelperModule,
SEOServiceModule, OtherPortalsModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule, NumbersModule, AdvancedSearchInputModule, InputModule, SearchInputModule, SliderUtilsModule SEOServiceModule, OtherPortalsModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule, NumbersModule, AdvancedSearchInputModule, InputModule, SearchInputModule, SliderUtilsModule
], ],
declarations: [ declarations: [
HomeComponent HomeComponent
], ],
providers:[ providers:[],
PreviousRouteRecorder
],
exports: [ exports: [
HomeComponent HomeComponent
] ]

View File

@ -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 { }

View File

@ -1,17 +0,0 @@
import {Component} from '@angular/core';
@Component({
selector: 'openaire-dataprovider',
template: `<dataprovider></dataprovider>`,
})
export class OpenaireDataProviderComponent{
constructor ( ) {
}
ngOnInit() {
}
}

View File

@ -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 { }

View File

@ -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 { }

View File

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

View File

@ -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 { }

View File

@ -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 { }

View File

@ -1,17 +0,0 @@
import {Component} from '@angular/core';
@Component({
selector: 'openaire-htmlProjectReport',
template: `<htmlProjectReport></htmlProjectReport>`,
})
export class OpenaireHtmlProjectReportComponent{
constructor ( ) {
}
ngOnInit() {
}
}

View File

@ -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 { }

View File

@ -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 { }

View File

@ -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 { }

View File

@ -1,17 +0,0 @@
import {Component} from '@angular/core';
@Component({
selector: 'openaire-organization',
template: `<organization></organization>`,
})
export class OpenaireOrganizationComponent{
constructor ( ) {
}
ngOnInit() {
}
}

View File

@ -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 { }

View File

@ -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 { }

View File

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

View File

@ -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 { }

View File

@ -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 { }

View File

@ -1,17 +0,0 @@
import {Component} from '@angular/core';
@Component({
selector: 'openaire-project',
template: `<project></project>`,
})
export class OpenaireProjectComponent{
constructor ( ) {
}
ngOnInit() {
}
}

View File

@ -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 { }

View File

@ -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 { }

View File

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

View File

@ -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 { }

View File

@ -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 { }

View File

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

View File

@ -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 { }

View File

@ -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 { }

View File

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

View File

@ -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 { }

View File

@ -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 { }

View File

@ -1,10 +0,0 @@
import {Component} from '@angular/core';
@Component({
selector: 'openaire-user',
template: `<user></user>`
})
export class OpenaireUserComponent {
}

@ -1 +1 @@
Subproject commit e8ed5da8ba38df3693c7d80960c9e3e6b462d634 Subproject commit b57c46d969f21eb355adcc7c255b89f3fb4d3c33

View File

@ -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 { }

View File

@ -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() {}
}

View File

@ -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 { }

View File

@ -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 { }

View File

@ -1,10 +0,0 @@
import { Component } from '@angular/core';
@Component({
selector: 'openaire-orcid',
template: `
<orcid></orcid>
`
})
export class OpenaireOrcidComponent {}

View File

@ -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 { }

View File

@ -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 { }

View File

@ -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() {}
}

View File

@ -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 { }

View File

@ -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 {
}

View File

@ -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 { }

View File

@ -1,10 +0,0 @@
import {Component} from "@angular/core";
import {properties} from "../../environments/environment";
@Component({
selector: 'explore-sdg',
template: `
<sdg></sdg>
`
})
export class ExploreSdgComponent {}

View File

@ -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 { }

View File

@ -9,10 +9,9 @@ import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searc
@NgModule({ @NgModule({
imports: [ imports: [
AdvancedSearchOrganizationsRoutingModule,
CommonModule, FormsModule, CommonModule, FormsModule,
SearchOrganizationsModule, SearchOrganizationsModule
AdvancedSearchOrganizationsRoutingModule
], ],
declarations: [ declarations: [
OpenaireAdvancedSearchOrganizationsComponent OpenaireAdvancedSearchOrganizationsComponent

View File

@ -8,10 +8,9 @@ import {SearchProjectsModule} from "../../openaireLibrary/searchPages/searchProj
@NgModule({ @NgModule({
imports: [ imports: [
AdvancedSearchProjectsRoutingModule,
CommonModule, FormsModule, CommonModule, FormsModule,
SearchProjectsModule, SearchProjectsModule
AdvancedSearchProjectsRoutingModule
], ],
declarations: [ declarations: [
OpenaireAdvancedSearchProjectsComponent OpenaireAdvancedSearchProjectsComponent

View File

@ -5,7 +5,6 @@ import { FormsModule } from '@angular/forms';
import{ SearchResearchResultsRoutingModule} from './searchResearchResults-routing.module'; import{ SearchResearchResultsRoutingModule} from './searchResearchResults-routing.module';
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component'; import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/searchResearchResults.module"; import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/searchResearchResults.module";
@NgModule({ @NgModule({
@ -17,7 +16,7 @@ import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/sea
declarations: [ declarations: [
OpenaireSearchResearchResultsComponent OpenaireSearchResearchResultsComponent
], ],
providers:[PreviousRouteRecorder], providers:[],
exports: [ exports: [
OpenaireSearchResearchResultsComponent OpenaireSearchResearchResultsComponent
] ]

View File

@ -5,8 +5,6 @@ import { FormsModule } from '@angular/forms';
import{ CompatibleDataProvidersRoutingModule} from './compatibleDataProviders-routing.module'; import{ CompatibleDataProvidersRoutingModule} from './compatibleDataProviders-routing.module';
import{OpenaireSearchCompatibleDataprovidersComponent} from './compatibleDataProviders.component'; import{OpenaireSearchCompatibleDataprovidersComponent} from './compatibleDataProviders.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module"; import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module";
@NgModule({ @NgModule({
@ -18,7 +16,7 @@ import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searc
declarations: [ declarations: [
OpenaireSearchCompatibleDataprovidersComponent OpenaireSearchCompatibleDataprovidersComponent
], ],
providers:[PreviousRouteRecorder], providers:[],
exports: [ exports: [
OpenaireSearchCompatibleDataprovidersComponent OpenaireSearchCompatibleDataprovidersComponent
] ]

View File

@ -4,7 +4,6 @@ import { FormsModule } from '@angular/forms';
import{ EntityRegistriesRoutingModule} from './entityRegistries-routing.module'; import{ EntityRegistriesRoutingModule} from './entityRegistries-routing.module';
import{OpenaireSearchEntityRegistriesComponent} from './entityRegistries.component'; import{OpenaireSearchEntityRegistriesComponent} from './entityRegistries.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module"; import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module";
@ -17,7 +16,7 @@ import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searc
declarations: [ declarations: [
OpenaireSearchEntityRegistriesComponent OpenaireSearchEntityRegistriesComponent
], ],
providers:[PreviousRouteRecorder], providers:[],
exports: [ exports: [
OpenaireSearchEntityRegistriesComponent OpenaireSearchEntityRegistriesComponent
] ]

View File

@ -4,7 +4,6 @@ import { FormsModule } from '@angular/forms';
import{ JournalsRoutingModule} from './journals-routing.module'; import{ JournalsRoutingModule} from './journals-routing.module';
import{OpenaireSearchJournalsComponent} from './journals.component'; import{OpenaireSearchJournalsComponent} from './journals.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module"; import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module";
@NgModule({ @NgModule({
imports: [ imports: [
@ -14,7 +13,7 @@ import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searc
declarations: [ declarations: [
OpenaireSearchJournalsComponent OpenaireSearchJournalsComponent
], ],
providers:[PreviousRouteRecorder], providers:[],
exports: [ exports: [
OpenaireSearchJournalsComponent OpenaireSearchJournalsComponent
] ]

View File

@ -3,7 +3,6 @@ import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms'; import { FormsModule } from '@angular/forms';
import {OpenaireSearchDataprovidersComponent} from './searchDataproviders.component'; import {OpenaireSearchDataprovidersComponent} from './searchDataproviders.component';
import{ SearchDataProvidersRoutingModule} from './searchDataProviders-routing.module'; import{ SearchDataProvidersRoutingModule} from './searchDataProviders-routing.module';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchDataProvidersModule} from '../../openaireLibrary/searchPages/searchDataProviders.module'; import {SearchDataProvidersModule} from '../../openaireLibrary/searchPages/searchDataProviders.module';
@NgModule({ @NgModule({
imports: [ imports: [
@ -14,7 +13,7 @@ SearchDataProvidersModule, SearchDataProvidersRoutingModule
declarations: [ declarations: [
OpenaireSearchDataprovidersComponent OpenaireSearchDataprovidersComponent
], ],
providers:[PreviousRouteRecorder], providers:[],
exports: [ exports: [
OpenaireSearchDataprovidersComponent OpenaireSearchDataprovidersComponent
] ]

View File

@ -5,7 +5,6 @@ import { FormsModule } from '@angular/forms';
import{ SearchOrganizationsRoutingModule} from './searchOrganizations-routing.module'; import{ SearchOrganizationsRoutingModule} from './searchOrganizations-routing.module';
import{OpenaireSearchOrganizationsComponent} from './searchOrganizations.component'; import{OpenaireSearchOrganizationsComponent} from './searchOrganizations.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searchOrganizations.module"; import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searchOrganizations.module";
@ -18,7 +17,7 @@ import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searc
declarations: [ declarations: [
OpenaireSearchOrganizationsComponent OpenaireSearchOrganizationsComponent
], ],
providers:[PreviousRouteRecorder], providers:[],
exports: [ exports: [
OpenaireSearchOrganizationsComponent OpenaireSearchOrganizationsComponent
] ]

View File

@ -5,7 +5,6 @@ import { FormsModule } from '@angular/forms';
import{ SearchProjectsRoutingModule} from './searchProjects-routing.module'; import{ SearchProjectsRoutingModule} from './searchProjects-routing.module';
import{OpenaireSearchProjectsComponent} from './searchProjects.component'; import{OpenaireSearchProjectsComponent} from './searchProjects.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import { SearchProjectsModule} from '../../openaireLibrary/searchPages/searchProjects.module'; import { SearchProjectsModule} from '../../openaireLibrary/searchPages/searchProjects.module';
@NgModule({ @NgModule({
imports: [ imports: [
@ -15,7 +14,7 @@ import { SearchProjectsModule} from '../../openaireLibrary/searchPages/searchPro
declarations: [ declarations: [
OpenaireSearchProjectsComponent OpenaireSearchProjectsComponent
], ],
providers:[PreviousRouteRecorder], providers:[],
exports: [ exports: [
OpenaireSearchProjectsComponent OpenaireSearchProjectsComponent
] ]

View File

@ -5,7 +5,6 @@ import { FormsModule } from '@angular/forms';
import{ SearchResearchResultsRoutingModule} from './searchResearchResults-routing.module'; import{ SearchResearchResultsRoutingModule} from './searchResearchResults-routing.module';
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component'; import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/searchResearchResults.module"; import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/searchResearchResults.module";
@NgModule({ @NgModule({
@ -17,7 +16,7 @@ import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/sea
declarations: [ declarations: [
OpenaireSearchResearchResultsComponent OpenaireSearchResearchResultsComponent
], ],
providers:[PreviousRouteRecorder], providers:[],
exports: [ exports: [
OpenaireSearchResearchResultsComponent OpenaireSearchResearchResultsComponent
] ]

View File

@ -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 { }

View File

@ -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() {
}
}

View File

@ -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 { }

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Some files were not shown because too many files have changed in this diff Show More