Compare commits

...

84 Commits

Author SHA1 Message Date
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
202 changed files with 841 additions and 1188 deletions

View File

@ -14,6 +14,41 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- *Fixed (for any bug fixes)*
- *Security (in case of vulnerabilities)*
## [production-release-march-2024] - 2024/03/04
### Changed
* Performance improvements
* Search pages: Access Routes, impact-based indicators, usage counts: Open drops on click, instead of hover
* Linking: change Datacite api from /works to /dois
* Updated funding text in footer
* Removed tooltips from search results
* UI updates on search pages
* Paging only at the bottom under the search results
* Removed number of results
* Removed results per page option
### Fixed
* z-index issue in dropdowns inside modals
* Change search tab from menu
* Requests in bulk DOIs upload in 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

View File

@ -52,6 +52,8 @@
],
"styles": [
"src/styles.less",
{"input": "src/assets/deposit.less", "inject": false },
{"input": "src/assets/funders.less", "inject": false },
"src/assets/common-assets/library-css/material.scss"
],
"scripts": [

View File

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

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 {EnvProperties} from './openaireLibrary/utils/properties/env-properties';
import {MenuItem} from './openaireLibrary/sharedComponents/menu';
@ -23,20 +23,21 @@ import {QuickContactService} from './openaireLibrary/sharedComponents/quick-cont
import {LayoutService} from './openaireLibrary/dashboard/sharedComponents/sidebar/layout.service';
@Component({
//changeDetection: ChangeDetectionStrategy.Default,
//encapsulation: ViewEncapsulation.Emulated,
selector: 'app-root',
template: `
<div id="modal-container"></div>
<navbar *ngIf="properties && header" [header]="header" [portal]="properties.dashboard" [properties]=properties
[onlyTop]=false [user]="user"
[communityId]="properties.adminToolsCommunity" [userMenuItems]=userMenuItems [menuItems]=menuItems></navbar>
<div *ngIf="loading">
<loading [full]="true"></loading>
</div>
<schema2jsonld *ngIf="properties" [URL]="properties.domain+properties.baseLink"
[logoURL]="properties.domain+properties.baseLink+'/assets/common-assets/logo-services/explore/main.svg'"
type="home"
name="OpenAIRE | Find and Share research"
description="OpenAIRE Explore: Over 100M of research deduplicated, 170K research software, 11M research data. One of the largest open scholarly records collection worldwide."></schema2jsonld>
<div class="custom-main-content">
<div [class.uk-hidden]="loading" [ngClass]="rootClass">
<div id="modal-container"></div>
<main>
<router-outlet></router-outlet>
</main>
@ -57,7 +58,9 @@ import {LayoutService} from './openaireLibrary/dashboard/sharedComponents/sideba
<modal-alert #modal [overflowBody]="false"></modal-alert>
`
})
export class AppComponent {
export class AppComponent implements AfterViewInit {
loading: boolean = false;
rootClass: string;
isClient: boolean = false;
userMenuItems: MenuItem[] = [];
menuItems: MenuItem [] = [];
@ -124,7 +127,7 @@ export class AppComponent {
}
}));
}
ngOnDestroy() {
this.subscriptions.forEach(subscription => {
if (subscription instanceof Subscriber) {
@ -141,6 +144,31 @@ export class AppComponent {
ngAfterViewInit() {
if (typeof window !== "undefined") {
this.createObservers();
this.subscriptions.push(this.layoutService.rootClass.subscribe(rootClass => {
this.loading = true;
this.cdr.detectChanges();
if (rootClass && this.isClient) {
let link = <HTMLLinkElement>document.getElementById('theme');
let append = false;
if (!link) {
link = document.createElement('link');
link.rel = 'stylesheet';
link.id = 'theme';
append = true;
}
link.href = rootClass + '.css';
link.onerror = (error) => console.log(error);
if (append) {
document.head.appendChild(link);
}
}
this.rootClass = rootClass;
this.cdr.detectChanges();
setTimeout(() => {
this.loading = false;
this.cdr.detectChanges();
}, 500)
}));
}
}
@ -165,17 +193,19 @@ export class AppComponent {
buildMenu() {
this.userMenuItems = [];
this.userMenuItems.push(new MenuItem("", "My profile", "", "", false, [], [], {}));
this.userMenuItems.push(new MenuItem("", "My ORCID links", "", "/my-orcid-links", false, [], [""], {}));
if(this.properties.environment != "beta") {
this.userMenuItems.push(new MenuItem("", "My ORCID links", "", "/my-orcid-links", false, [], [""], {}));
}
this.userMenuItems.push(new MenuItem("", "My links", "", "/myclaims", false, [], ["/myclaims"], {}));
let researchOutcomesMenu = new MenuItem("", OpenaireEntities.RESULTS, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {resultbestaccessright: '"' + encodeURIComponent("Open Access") + '"'});
let researchOutcomesMenu = new MenuItem("", OpenaireEntities.RESULTS, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {});
researchOutcomesMenu.items = [
new MenuItem("", OpenaireEntities.PUBLICATIONS, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("publications") + '"', resultbestaccessright: '"' + encodeURIComponent("Open Access") + '"'}),
new MenuItem("", OpenaireEntities.DATASETS, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("datasets") + '"', resultbestaccessright: '"' + encodeURIComponent("Open Access") + '"'}),
new MenuItem("", OpenaireEntities.SOFTWARE, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("software") + '"', resultbestaccessright: '"' + encodeURIComponent("Open Access") + '"'}),
new MenuItem("", OpenaireEntities.OTHER, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("other") + '"', resultbestaccessright: '"' + encodeURIComponent("Open Access") + '"'})];
new MenuItem("", OpenaireEntities.PUBLICATIONS, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("publications") + '"'}),
new MenuItem("", OpenaireEntities.DATASETS, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("datasets") + '"'}),
new MenuItem("", OpenaireEntities.SOFTWARE, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("software") + '"'}),
new MenuItem("", OpenaireEntities.OTHER, "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {type: '"' + encodeURIComponent("other") + '"'})];
//TODO add check for research results route
this.menuItems = [
new MenuItem("search", "Search", "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {resultbestaccessright: '"' + encodeURIComponent("Open Access") + '"'},
new MenuItem("search", "Search", "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], {},
null, null, null, null, "_blank", "internal", false,
[
researchOutcomesMenu,

View File

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

View File

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

View File

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

View File

@ -4,15 +4,12 @@ import { SharedModule } from '../../openaireLibrary/shared/shared.module';
import { OpenaireDirectLinkingComponent } from './directLinking.component';
import{ DirectLinkingModule} from '../../openaireLibrary/claims/directLinking/directLinking.module';
import {DirectLinkingRoutingModule} from './directLinking-routing.module';
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
@NgModule({
imports: [
SharedModule, DirectLinkingModule, DirectLinkingRoutingModule
],
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
providers:[],
declarations: [
OpenaireDirectLinkingComponent
], exports:[OpenaireDirectLinkingComponent]

View File

@ -4,15 +4,12 @@ import { SharedModule } from '../../openaireLibrary/shared/shared.module';
import {OpenaireLinkingComponent} from './linkingGeneric.component';
import {LinkingRoutingModule} from './linking-routing.module';
import{ LinkingGenericModule} from '../../openaireLibrary/claims/linking/linkingGeneric.module';
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
@NgModule({
imports: [
SharedModule, LinkingRoutingModule, LinkingGenericModule
],
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
providers:[],
declarations: [
OpenaireLinkingComponent
], exports:[

View File

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

View File

@ -4,10 +4,6 @@ import { SharedModule } from '../../openaireLibrary/shared/shared.module';
import { OpenaireMyClaimsComponent } from './myClaims.component';
import { MyClaimsRoutingModule } from './myClaims-routing.module';
import{ MyClaimsModule} from '../../openaireLibrary/claims/myClaims/myClaims.module';
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
@NgModule({
imports: [
@ -16,7 +12,7 @@ import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
MyClaimsModule
],
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
providers:[],
declarations: [
OpenaireMyClaimsComponent
]

View File

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

View File

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

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({
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 { FormsModule } from '@angular/forms';
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard';
import {OpenaireDepositComponent} from "./deposit.component";
import {DepositRoutingModule} from "./deposit-routing.module";
import {DepositFirstPageModule} from "../openaireLibrary/deposit/depositFirstPage.module";
@ -24,7 +20,8 @@ import {CommunityService} from "../openaireLibrary/connect/community/community.s
exports: [
OpenaireDepositComponent,
],
providers: [PreviousRouteRecorder, IsRouteEnabled,
ZenodoCommunitiesService, CommunityService]
providers: [
ZenodoCommunitiesService, CommunityService
]
})
export class LibDepositModule { }

View File

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

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

View File

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

View File

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

View File

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

View File

@ -36,79 +36,30 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit {
public logos = {
"publication": [
[
"logo-pubmed.png",
"logo-arxiv.png",
"logo-base.png",
"logo-scielo.png",
"logo-la-referencia.png",
"logo-soar.png",
"logo-repec.png",
"logo-core.png",
"logo-zenodo.png",
"logo-narcis.png"
"publications.png"
],
[
"logo-unpaywall.png",
"logo-elsevier.png",
"logo-spring-nature.png",
"logo-frontiers.png",
"logo-opencitations.png",
"logo-doaj.png",
"logo-microsoft.png",
"logo-plos.png",
"logo-f1000.png",
"logo-copernicus.png"
"publications2.png"
]
],
"software": [
[
"logo-software-heritage.png",
"logo-github.png",
"logo-doecode.png",
"logo-bitbucket.png",
"logo-elixir-bio-tools.png",
"logo-google-code.png",
"logo-sourceforge.png",
"logo-zenodo.png"
"software.png"
]
],
"dataset": [
[
"logo-scholexplorer.png",
"logo-zenodo.png",
"logo-pangea.png",
"logo-figshare.png",
"logo-protocols.png",
"logo-opentrials.png",
"logo-kaggle.png",
"logo-reactome.png",
"logo-easy.png",
"logo-dryad.png"
"datasets.png"
]
],
"persistent": [
[
"logo-re3data.png",
"logo-orcid.png",
"logo-opendoar.png",
"logo-grid.png",
"logo-fairsharing.png",
"logo-ror.png",
"logo-datacite.png",
"logo-crossref.png"
"pids.png"
]
],
"funder": [
[
"logo-european-commision.png",
"logo-nsf.png",
"logo-nhmrc.png",
"logo-sfi.png",
"logo-nwo.png",
"logo-welcome-trust.png",
"logo-fct.png",
"logo-gsrt.png",
"logo-fnsnf.png"
"funders.png"
]
]
};
@ -125,12 +76,12 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit {
@ViewChild('contact') contact: ElementRef;
subscriptions: any[] = [];
@ViewChildren('scrolling_element') elements: QueryList<ElementRef>;
resultsQuickFilter: { filter: Filter, selected: boolean, filterId: string, value: string } = {
filter: null,
selected: true,
filterId: "resultbestaccessright",
value: "Open Access"
};
resultsQuickFilter: { filter: Filter, selected: boolean, filterId: string, value: string } = null;//{
// filter: null,
// selected: true,
// filterId: "resultbestaccessright",
// value: "Open Access"
// };
selectedEntity = "all";
selectedEntitySimpleUrl;
selectedEntityAdvancedUrl;

View File

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

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({
imports: [
AdvancedSearchOrganizationsRoutingModule,
CommonModule, FormsModule,
SearchOrganizationsModule,
AdvancedSearchOrganizationsRoutingModule
SearchOrganizationsModule
],
declarations: [
OpenaireAdvancedSearchOrganizationsComponent

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

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