Compare commits

..

No commits in common. "master" and "production-release-november-2021" have entirely different histories.

93 changed files with 802 additions and 1435 deletions

1
.gitignore vendored
View File

@ -1,4 +1,3 @@
.angular/
node_modules/
dist/
.idea/

3
.gitmodules vendored
View File

@ -4,6 +4,3 @@
[submodule "src/assets/common-assets"]
path = src/assets/common-assets
url = gitea@code-repo.d4science.org:MaDgIK/openaire-assets.git
[submodule "src/assets/openaire-theme"]
path = src/assets/openaire-theme
url = gitea@code-repo.d4science.org:MaDgIK/openaire-theme.git

View File

@ -22,6 +22,7 @@
"skipTests": true
},
"@schematics/angular:module": {
"skipTests": true
},
"@schematics/angular:pipe": {
"skipTests": true
@ -34,6 +35,7 @@
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"aot": true,
"outputPath": "dist/aggregator/browser",
"index": "src/index.html",
"main": "src/main.ts",
@ -44,34 +46,23 @@
"src/robots.txt"
],
"styles": [
"src/styles.less",
"src/assets/common-assets/library-css/material.scss"
"src/styles.css",
"src/material.scss"
],
"scripts": [
"node_modules/uikit/dist/js/uikit.min.js",
"node_modules/uikit/dist/js/uikit-icons.min.js",
"src/assets/common-assets/common/jquery.js",
"src/assets/common-assets/common/uikit.min.js",
"src/assets/common-assets/common/uikit-icons.min.js",
"node_modules/jquery/dist/jquery.js"
],
"vendorChunk": true,
"extractLicenses": false,
"buildOptimizer": false,
"sourceMap": true,
"optimization": false,
"namedChunks": true
]
},
"configurations": {
"development": {
"optimization": {
"scripts": true,
"styles": {
"minify": true,
"inlineCritical": false
},
"fonts": true
},
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
@ -106,17 +97,11 @@
"with": "src/environments/environment.beta.ts"
}
],
"optimization": {
"scripts": true,
"styles": {
"minify": true,
"inlineCritical": false
},
"fonts": true
},
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
@ -151,17 +136,11 @@
"with": "src/environments/environment.prod.ts"
}
],
"optimization": {
"scripts": true,
"styles": {
"minify": true,
"inlineCritical": false
},
"fonts": true
},
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
@ -177,8 +156,7 @@
}
]
}
},
"defaultConfiguration": ""
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
@ -213,14 +191,24 @@
]
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"src/tsconfig.app.json",
"src/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
}
},
"server": {
"builder": "@angular-devkit/build-angular:server",
"options": {
"outputPath": "dist/aggregator/server",
"main": "server.ts",
"tsConfig": "src/tsconfig.server.json",
"sourceMap": true,
"optimization": false
"tsConfig": "src/tsconfig.server.json"
},
"configurations": {
"development": {
@ -250,8 +238,7 @@
"sourceMap": false,
"optimization": true
}
},
"defaultConfiguration": ""
}
},
"serve-ssr": {
"builder": "@nguniversal/builders:ssr-dev-server",
@ -297,12 +284,18 @@
"devServerTarget": "aggregator:serve:production"
}
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": "e2e/tsconfig.e2e.json",
"exclude": [
"**/node_modules/**"
]
}
}
}
}
},
"defaultProject": "aggregator",
"cli": {
"analytics": false
}
"defaultProject": "aggregator"
}

View File

@ -7,7 +7,7 @@
"build": "ng build",
"build-dev": "ng build --configuration=development",
"build-beta": "ng build --configuration=beta",
"build-prod": "ng build --configuration production",
"build-prod": "ng build --prod",
"webpack-bundle-analyzer": "ng build --stats-json && webpack-bundle-analyzer dist/aggregator/browser/stats-es2015.json --host 0.0.0.0",
"test": "ng test",
"e2e": "ng e2e",
@ -17,41 +17,40 @@
"build:ssr-beta": "npm run build-beta && ng run aggregator:server:beta",
"build:ssr-prod": "npm run build-prod && ng run aggregator:server:production",
"prerender": "ng run aggregator:prerender",
"after-build-clean": "rm -rf dist/aggregator/browser/assets/common-assets/.git/ src/app/openaireLibrary/.git node_modules .angular .git*"
"after-build-clean": "rm -rf dist/aggregator/browser/assets/common-assets/.git/ src/app/openaireLibrary/.git node_modules .git*"
},
"private": true,
"dependencies": {
"@angular/animations": "^14.2.3",
"@angular/cdk": "^14.2.2",
"@angular/common": "^14.2.3",
"@angular/compiler": "^14.2.3",
"@angular/core": "^14.2.3",
"@angular/forms": "^14.2.3",
"@angular/localize": "^14.2.3",
"@angular/material": "^14.2.2",
"@angular/platform-browser": "^14.2.3",
"@angular/platform-browser-dynamic": "^14.2.3",
"@angular/platform-server": "^14.2.3",
"@angular/router": "^14.2.3",
"@nguniversal/express-engine": "^14.2.0",
"@angular/animations": "~11.2.14",
"@angular/cdk": "^11.2.13",
"@angular/common": "~11.2.14",
"@angular/compiler": "~11.2.14",
"@angular/core": "~11.2.14",
"@angular/forms": "~11.2.14",
"@angular/localize": "^11.2.14",
"@angular/material": "^11.2.13",
"@angular/platform-browser": "~11.2.14",
"@angular/platform-browser-dynamic": "~11.2.14",
"@angular/platform-server": "~11.2.14",
"@angular/router": "~11.2.14",
"@nguniversal/express-engine": "^11.2.1",
"clipboard": "^1.5.16",
"core-js": "^2.5.4",
"express": "^4.15.2",
"jquery": "^3.4.1",
"ng-recaptcha": "^10.0.0",
"ng-recaptcha": "^7.0.1",
"prom-client": "^11.3.0",
"rxjs": "^6.5.1",
"ts-md5": "^1.2.0",
"tslib": "^2.0.0",
"uikit": "3.12.0",
"zone.js": "~0.11.4"
"zone.js": "~0.10.2"
},
"devDependencies": {
"@angular-devkit/build-angular": "^14.2.3",
"@angular/cli": "^14.2.3",
"@angular/compiler-cli": "^14.2.3",
"@angular/language-service": "^14.2.3",
"@nguniversal/builders": "^14.2.0",
"@angular-devkit/build-angular": "~0.1102.14",
"@angular/cli": "~11.2.14",
"@angular/compiler-cli": "~11.2.14",
"@angular/language-service": "~11.2.14",
"@nguniversal/builders": "^11.2.1",
"@types/express": "^4.17.0",
"@types/compression": "^1.7.0",
"@types/node": "^12.11.1",
@ -67,6 +66,6 @@
"karma-jasmine-html-reporter": "^1.6.0",
"protractor": "~7.0.0",
"ts-node": "~7.0.0",
"typescript": "~4.6.4"
"typescript": "~4.0.7"
}
}

View File

@ -1,4 +1,4 @@
import 'zone.js/node';
import 'zone.js/dist/zone-node';
import { ngExpressEngine } from '@nguniversal/express-engine';
import * as express from 'express';
@ -24,7 +24,6 @@ export function app() {
// Our Universal express-engine (found @ https://github.com/angular/universal/tree/master/modules/express-engine)
server.engine('html', ngExpressEngine({
bootstrap: AppServerModule,
inlineCriticalCss: false
}));
server.set('view engine', 'html');

View File

@ -1,45 +1,40 @@
import {NgModule} from '@angular/core';
import {Router, RouterModule, Routes} from '@angular/router';
import {Routes, RouterModule, PreloadAllModules} from '@angular/router';
import {OpenaireErrorPageComponent} from './error/errorPage.component';
import {ConfigurationService} from "./openaireLibrary/utils/configuration/configuration.service";
const routes: Routes = [
{path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule)},
{
path: 'search/result',
loadChildren: () => import('./landingPages/result/libResult.module').then(m => m.LibResultModule), data: { showHeader: true}
loadChildren: () => import('./landingPages/result/libResult.module').then(m => m.LibResultModule)
},
{
path: 'search/publication',
loadChildren: () => import('./landingPages/publication/libPublication.module').then(m => m.LibPublicationModule), data: { showHeader: true}
loadChildren: () => import('./landingPages/publication/libPublication.module').then(m => m.LibPublicationModule)
},
{
path: 'search/dataset',
loadChildren: () => import('./landingPages/dataset/libDataset.module').then(m => m.LibDatasetModule), data: { showHeader: true}
loadChildren: () => import('./landingPages/dataset/libDataset.module').then(m => m.LibDatasetModule)
},
{
path: 'search/software',
loadChildren: () => import('./landingPages/software/libSoftware.module').then(m => m.LibSoftwareModule), data: { showHeader: true}
loadChildren: () => import('./landingPages/software/libSoftware.module').then(m => m.LibSoftwareModule)
},
{
path: 'search/other',
loadChildren: () => import('./landingPages/orp/libOrp.module').then(m => m.LibOrpModule), data: { showHeader: true}
loadChildren: () => import('./landingPages/orp/libOrp.module').then(m => m.LibOrpModule)
},
{
path: 'search/project',
loadChildren: () => import('./landingPages/project/libProject.module').then(m => m.LibProjectModule), data: { showHeader: true}
loadChildren: () => import('./landingPages/project/libProject.module').then(m => m.LibProjectModule)
},
{
path: 'search/dataprovider',
loadChildren: () => import('./landingPages/dataProvider/libDataProvider.module').then(m => m.LibDataProviderModule), data: { showHeader: true}
},
{
path: 'search/service',
loadChildren: () => import('./landingPages/service/libService.module').then(m => m.LibServiceModule), data: { showHeader: true}
loadChildren: () => import('./landingPages/dataProvider/libDataProvider.module').then(m => m.LibDataProviderModule)
},
{
path: 'search/organization',
loadChildren: () => import('./landingPages/organization/libOrganization.module').then(m => m.LibOrganizationModule), data: { showHeader: true}
loadChildren: () => import('./landingPages/organization/libOrganization.module').then(m => m.LibOrganizationModule)
},
{
path: 'search/find',
@ -57,10 +52,6 @@ const routes: Routes = [
path: 'search/find/dataproviders',
loadChildren: () => import('./searchPages/simple/searchDataProviders.module').then(m => m.LibSearchDataProvidersModule)
},
{
path: 'search/find/services',
loadChildren: () => import('./searchPages/simple/searchServices.module').then(m => m.LibSearchServicesModule)
},
{
path: 'search/find/organizations',
loadChildren: () => import('./searchPages/simple/searchOrganizations.module').then(m => m.LibSearchOrganizationsModule)
@ -77,10 +68,6 @@ const routes: Routes = [
path: 'search/advanced/dataproviders',
loadChildren: () => import('./searchPages/advanced/advancedSearchDataProviders.module').then(m => m.LibAdvancedSearchDataProvidersModule)
},
{
path: 'search/advanced/services',
loadChildren: () => import('./searchPages/advanced/advancedSearchServices.module').then(m => m.LibAdvancedSearchServicesModule)
},
{
path: 'search/advanced/projects',
loadChildren: () => import('./searchPages/advanced/advancedSearchProjects.module').then(m => m.LibAdvancedSearchProjectsModule)
@ -89,24 +76,23 @@ const routes: Routes = [
path: 'project-report',
loadChildren: () => import('./landingPages/htmlProjectReport/libHtmlProjectReport.module').then(m => m.LibHtmlProjectReportModule)
},
{
path: 'reload',
loadChildren: () => import('./reload/libReload.module').then(m => m.LibReloadModule),
data: {hasSidebar: false}
},
{
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}
},
// Deposit Pages
{ path: 'participate/deposit-datasets', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
{ path: 'participate/deposit-datasets-result', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
{ path: 'participate/deposit-subject-result', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
{ path: 'participate/deposit-publications', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
{ path: 'participate/deposit-publications-result', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
{ path: 'participate/deposit/learn-how', loadChildren: () => import('./deposit/deposit.module').then(m => m.LibDepositModule)},
{ path: 'participate/deposit/search', loadChildren: () => import('./deposit/searchDataprovidersToDeposit.module').then(m => m.LibSearchDataprovidersToDepositModule)},
// Linking Pages
{ path: 'myclaims', loadChildren: () => import('./claims/myClaims/myClaims.module').then(m => m.LibMyClaimsModule)},
{ path: 'participate/claim', loadChildren: () => import('./claims/linking/linkingGeneric.module').then(m => m.LibLinkingGenericModule)},
{ path: 'participate/direct-claim', loadChildren: () => import('./claims/directLinking/directLinking.module').then(m => m.LibDirectLinkingModule)},
{path: 'develop', loadChildren: () => import('./develop/develop.module').then(m => m.DevelopModule)},
{path: 'user-info', loadChildren: () => import('./login/libUser.module').then(m => m.LibUserModule)},
{path: 'error', component: OpenaireErrorPageComponent},
// 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: '**', pathMatch: 'full', component: OpenaireErrorPageComponent}
];
@NgModule({
@ -116,51 +102,4 @@ const routes: Routes = [
exports: [RouterModule]
})
export class AppRoutingModule {
subs = [];
enabledRoutes =[];
ngOnDestroy() {
for (let sub of this.subs) {
sub.unsubscribe();
}
}
constructor( private config: ConfigurationService, private router: Router){
this.subs.push(this.config.communityInformationState.subscribe(data => {
if (data) {
if (data['pages']) {
for (var i = 0; i < data['pages'].length; i++) {
this.enabledRoutes[data['pages'][i]['route']] = data['pages'][i]['isEnabled'];
}
}
this.getOptionalRoutes();
}
},
error => {
// this.handleError('Error getting community information (e.g. pages,entities) for community with id: ' + this.communityId, error);
}));
}
getOptionalRoutes(){
let optionalRoutes: Routes = [
// Deposit Pages
{ path: 'participate/deposit-datasets', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
{ path: 'participate/deposit-datasets-result', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
{ path: 'participate/deposit-subject-result', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
{ path: 'participate/deposit-publications', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
{ path: 'participate/deposit-publications-result', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
{ path: 'participate/deposit/learn-how', loadChildren: () => import('./deposit/deposit.module').then(m => m.LibDepositModule)},
{ path: 'participate/deposit/search', loadChildren: () => import('./deposit/searchDataprovidersToDeposit.module').then(m => m.LibSearchDataprovidersToDepositModule)},
// Linking Pages
{ path: 'myclaims', loadChildren: () => import('./claims/myClaims/myClaims.module').then(m => m.LibMyClaimsModule)},
{ path: 'participate/claim', loadChildren: () => import('./claims/linking/linkingGeneric.module').then(m => m.LibLinkingGenericModule)},
{ path: 'participate/direct-claim', loadChildren: () => import('./claims/directLinking/directLinking.module').then(m => m.LibDirectLinkingModule)},
{path: 'develop', loadChildren: () => import('./develop/develop.module').then(m => m.DevelopModule)}
];
for (var i = 0; i <optionalRoutes.length; i++) {
if(this.enabledRoutes[("/"+optionalRoutes[i].path)]){
this.router.config.push(optionalRoutes[i]);
}
}
this.router.config.push({path: '**', pathMatch: 'full', component: OpenaireErrorPageComponent});
return routes;
}
}

View File

@ -1,6 +1,6 @@
import {Component, Inject, RendererFactory2, ViewEncapsulation} from '@angular/core';
import {EnvProperties} from './openaireLibrary/utils/properties/env-properties';
import {MenuItem} from './openaireLibrary/sharedComponents/menu';
import {MenuItem, RootMenuItem} from './openaireLibrary/sharedComponents/menu';
import {AggregatorInfo, PortalAggregators} from "./utils/aggregators";
import {UserManagementService} from "./openaireLibrary/services/user-management.service";
import {User} from "./openaireLibrary/login/utils/helper.class";
@ -12,18 +12,15 @@ import {ConfigurationService} from "./openaireLibrary/utils/configuration/config
import {Subscriber} from "rxjs";
import {DOCUMENT} from "@angular/common";
import {SmoothScroll} from "./openaireLibrary/utils/smooth-scroll";
import {ActivatedRoute, NavigationEnd, Router} from "@angular/router";
import {OpenaireEntities} from "./openaireLibrary/utils/properties/searchFields";
@Component({
selector: 'app-root',
template: `
<div id="modal-container"></div>
<div *ngIf="agg">
<navbar *ngIf="properties && loginCheck && header && showHeader" portal="aggregator" [properties]=properties [onlyTop]=false
<navbar *ngIf="properties && loginCheck && header" portal="aggregator" [properties]=properties [onlyTop]=false
[user]="user" [userMenuItems]="userMenuItems"
[communityId]="properties.adminToolsCommunity" [menuItems]=menuItems
[userMenu]="agg.enableLogin" [header]="header"></navbar>
[userMenu]="true" [header]="header"></navbar>
<div class="custom-main-content">
<main>
<router-outlet></router-outlet>
@ -34,18 +31,18 @@ import {OpenaireEntities} from "./openaireLibrary/utils/properties/searchFields"
Cookies are small pieces of data that websites store in your browser to allow us to give you the best browsing
experience possible.
By using the OpenAIRE portal you accept our use of cookies. <a
href="https://www.openaire.eu/privacy-policy#cookies" target="_blank"> Read more <span class="uk-icon">
href="//ec.europa.eu/ipg/basics/legal/cookies/index_en.htm" target="_blank"> Read more <span class="uk-icon">
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="chevron-right"
ratio="1"><polyline fill="none" stroke="#000" stroke-width="1.03" points="7 4 13 10 7 16"></polyline></svg>
</span></a>
</cookie-law>
<bottom *ngIf="isClient && properties" [properties]=properties [centered]="true" [showMenuItems]="true" [menuItems]="[]" [darkBackground]="false" ></bottom>
<bottom *ngIf="isClient && properties" [properties]=properties></bottom>
</div>
`
})
export class AppComponent {
isClient: boolean = false;
menuItems: MenuItem [] = [];
menuItems: RootMenuItem [] = [];
userMenuItems: MenuItem[] = [];
community = null;
id: string = null;
@ -54,30 +51,19 @@ export class AppComponent {
loginCheck: boolean = false;
footer = portalProperties.sectionFooter;
header: Header;
showHeader;
agg: AggregatorInfo = null;
subscriptions = [];
constructor(private userManagementService: UserManagementService,
private configurationService: ConfigurationService, private smoothScroll: SmoothScroll,
@Inject(DOCUMENT) private document, private rendererFactory: RendererFactory2, private router: Router, private route: ActivatedRoute) {
@Inject(DOCUMENT) private document, private rendererFactory: RendererFactory2) {
this.id = ConnectHelper.getCommunityFromDomain(this.properties.domain);
this.agg = PortalAggregators.getFilterInfoByMenuId(this.id);
this.setStyles();
this.configurationService.initStaticCommunityInformation(PortalAggregators.getCommunityInfoByMenuId(this.id));
this.showHeader = this.agg.showHeaderAlways;
}
ngOnInit() {
this.subscriptions.push(this.router.events.subscribe(event => {
if (event instanceof NavigationEnd) {
let r = this.route;
while (r.firstChild) {
r = r.firstChild;
}
this.showHeader = (r.snapshot.data.showHeader == true || this.agg.showHeaderAlways);
}
}));
if (typeof document !== 'undefined') {
this.isClient = true;
}
@ -91,7 +77,6 @@ export class AppComponent {
logoUrl: this.agg.logoUrl,
logoSmallUrl: this.agg.logoUrl,
position: 'left',
menuPosition: 'center',
badge: true
};
this.buildMenu();
@ -102,12 +87,11 @@ export class AppComponent {
this.userMenuItems = [];
if (this.user) {
this.userMenuItems.push(new MenuItem("", "My links", "", "/myclaims", false, [], [], {}));
this.userMenuItems.push(new MenuItem("", "My ORCID links", "", "/my-orcid-links", false, [], [""], {}));
// this.userMenuItems.push(new MenuItem("", "User information", "", "/user-info", false, [], [], {}));
}
}));
}
ngOnDestroy() {
this.subscriptions.forEach(subscription => {
if (subscription instanceof Subscriber) {
@ -118,32 +102,49 @@ export class AppComponent {
this.userManagementService.clearSubscriptions();
this.smoothScroll.clearSubscriptions();
}
private buildMenu() {
this.menuItems = [
new MenuItem("home", "Home", "", "/", false, [], null, {}),
new MenuItem("search", "Search", "", "/search/find", false, [], ["/search/find"], {}),
new MenuItem("deposit", "Deposit", "", "/participate/deposit/learn-how", false, [], ["/participate/deposit/learn-how"], {}),
new MenuItem("link", "Link", "", "/participate/claim", false, [], ["/participate/claim"], {},
null, null, null, null, "_blank", "internal", false,
[
new MenuItem("", "Start linking", "", "/participate/claim", false, [], ["/participate/claim"], {}),
new MenuItem("", "Learn more", this.properties.claimsInformationLink, "", false, [], [], {})
]
),
new MenuItem("develop", "Develop", "", "/develop", false, [], ["/develop"], {}),
{rootItem: new MenuItem("home", "Home", "", "/", false, [], null, {}), items: []},
{
rootItem: new MenuItem("search", "Search", "", "/search/find", false, [], ["/search/find"], {}),
items: []
},
{
rootItem: new MenuItem("deposit", "Deposit", "", "/participate/deposit/learn-how", false, [], ["/participate/deposit/learn-how"], {}),
items: []
},
{
rootItem: new MenuItem("link", "Link", "", "/participate/claim", false, [], ["/participate/claim"], {}),
items: [new MenuItem("", "Start linking", "", "/participate/claim", false, [], ["/participate/claim"], {}),
new MenuItem("", "Learn more", this.properties.claimsInformationLink, "", false, [], [], {})]
},
{
rootItem: new MenuItem("develop", "Develop", "", "/develop", false, [], ["/develop"], {}),
items: []
}
];
let params = {};
// params[this.agg.queryFieldName] = this.agg.valueId;
this.menuItems[1].items.push(new MenuItem("", OpenaireEntities.RESULTS, "", properties.searchLinkToResults, false, [], ["/search/find/research-outcomes"], params));
this.menuItems[1].items.push(new MenuItem("", OpenaireEntities.PROJECTS, "", properties.searchLinkToProjects, false, ["project"], ["/search/find/projects"], params));
this.menuItems[1].items.push(new MenuItem("", OpenaireEntities.DATASOURCES, "", properties.searchLinkToDataProviders, false, ["datasource"], ["/search/find/dataproviders"], params));
this.menuItems[1].items.push(new MenuItem("", OpenaireEntities.SERVICES, "", properties.searchLinkToServices, false, ["service"], ["/search/find/services"], params));
this.menuItems[1].items.push(new MenuItem("", OpenaireEntities.ORGANIZATIONS, "", properties.searchLinkToOrganizations, false, ["organization"], ["/search/find/organizations"], params));
this.menuItems[1].items.push(new MenuItem("", "Research outcomes", "", "/search/find/research-outcomes", false, [], ["/search/find/research-outcomes"], params));
this.menuItems[1].items.push(new MenuItem("", "Projects", "", "/search/find/projects", false, ["project"], ["/search/find/projects"], params));
this.menuItems[1].items.push(new MenuItem("", "Content Providers", "", "/search/find/dataproviders", false, ["datasource"], ["/search/find/dataproviders"], params));
this.menuItems[1].items.push(new MenuItem("", "Organizations", "", "/search/find/organizations", false, ["organization"], ["/search/find/organizations"], params));
}
setStyles(){
let css:string = this.agg.customCss;
let css:string =':root {\n';
if(this.agg.mainColor){
css = css.concat('--portal-main-color: ' + this.agg.mainColor + ';\n');
}
if(this.agg.darkColor){
css = css.concat('--portal-dark-color: ' + this.agg.darkColor + ';\n');
}
if(this.agg.darkColor){
css = css.concat("--graph-background: url('" + this.agg.background + "\') no-repeat bottom;\n");
}
css = css.concat('}');
try {
if( this.document.getElementById('customStyle')){
try {

View File

@ -5,14 +5,13 @@ import {OpenaireDirectLinkingComponent} from './directLinking.component';
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard";
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireDirectLinkingComponent, canActivate: [IsRouteEnabled, LoginGuard], data: {
redirect: properties.errorLink, community : 'openaire'
redirect: '/error', community : 'openaire'
}, canDeactivate: [PreviousRouteRecorder]},
])

View File

@ -4,14 +4,13 @@ import {OpenaireLinkingComponent} from './linkingGeneric.component';
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard";
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireLinkingComponent, canActivate: [IsRouteEnabled, LoginGuard], data: {
redirect: properties.errorLink, community : 'openaire'
redirect: '/error', community : 'openaire'
}, canDeactivate: [PreviousRouteRecorder]},
])

View File

@ -5,14 +5,13 @@ import {OpenaireMyClaimsComponent} from './myClaims.component';
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard";
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireMyClaimsComponent, canActivate: [IsRouteEnabled, LoginGuard],
data: {redirect: properties.errorLink, community : 'openaire'}, canDeactivate: [PreviousRouteRecorder]}])
data: {redirect: '/error', community : 'openaire'}, canDeactivate: [PreviousRouteRecorder]}])
]
})
export class MyClaimsRoutingModule { }

View File

@ -28,7 +28,10 @@ import {properties} from "../../../environments/environment";
}
}
public ngOnInit() {
this.claimsInfoURL = properties.claimsInformationLink;
this.userInfoURL = properties.userInfoUrl;
this.sub = this.route.data
.subscribe((data: { envSpecific: EnvProperties }) => {
this.claimsInfoURL = data.envSpecific.claimsInformationLink;
this.userInfoURL = data.envSpecific.userInfoUrl;
});
}
}

View File

@ -3,13 +3,12 @@ import {RouterModule} from '@angular/router';
import {OpenaireDepositComponent} from './deposit.component';
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from "../openaireLibrary/error/isRouteEnabled.guard";
import {properties} from "../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireDepositComponent, data: {
redirect: properties.errorLink
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder], canActivate: [IsRouteEnabled] }
])

View File

@ -3,14 +3,13 @@ import {RouterModule} from '@angular/router';
import {OpenaireSearchDataprovidersToDepositComponent} from './searchDataprovidersToDeposit.component';
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from "../openaireLibrary/error/isRouteEnabled.guard";
import {properties} from "../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{
path: '', component: OpenaireSearchDataprovidersToDepositComponent, data: {
redirect: properties.errorLink
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder], canActivate: [IsRouteEnabled]
}

View File

@ -7,88 +7,97 @@ import {AggregatorInfo, PortalAggregators} from "../utils/aggregators";
import {ConnectHelper} from "../openaireLibrary/connect/connectHelper";
import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service";
import {Subscription} from "rxjs";
import {OpenaireEntities} from "../openaireLibrary/utils/properties/searchFields";
@Component({
selector: 'develop',
template: `
<div class="uk-section">
<div class="uk-container uk-container-large">
<h1>OpenAIRE APIs<br> for developers<span class="uk-text-primary">.</span></h1>
</div>
<div class="uk-section uk-container uk-container-large">
<div class="uk-grid uk-grid-large uk-child-width-1-2@m" uk-grid>
<div class="uk-text-center uk-margin-large-top">
<div class="uk-width-2-3@m uk-margin-auto@m">
<div class="uk-icon-bg-shadow uk-icon-bg-shadow-large uk-margin-auto">
<icon name="description" customClass="uk-text-background" [flex]="true" ratio="2.5" type="outlined" visuallyHidden="For {{openaireEntities.RESULTS}}"></icon>
</div>
<h3>For {{openaireEntities.RESULTS | lowercase}}</h3>
<div class="uk-margin-bottom">
For {{openaireEntities.RESULTS | lowercase}} ({{openaireEntities.PUBLICATIONS | lowercase}}, {{openaireEntities.DATASETS | lowercase}}, {{openaireEntities.SOFTWARE | lowercase}} and {{openaireEntities.OTHER | lowercase}}) you can use the Selective Access APIs by adding the community parameter.
</div>
<a class="uk-display-inline-block uk-button uk-button-text"
href="https://graph.openaire.eu/develop/api.html" target="_blank">
<span class="uk-flex uk-flex-middle">
<span>Selective Access APIs</span>
</span>
</a>
</div>
</div>
<div class="uk-margin-large-top">
<div class="uk-margin-top">
<div>Request examples:</div>
<ul class="uk-list uk-list-large uk-list-bullet uk-list-primary">
<li>
<span>Access all </span><span class="uk-text-bolder">{{openaireEntities.RESULTS}}</span> ({{openaireEntities.PUBLICATIONS}}, {{openaireEntities.DATASETS}}, {{openaireEntities.SOFTWARE}}, {{openaireEntities.OTHER}})<br>
<span class="uk-text-bold uk-margin-small-right">GET</span>
<span class="">https://api.openaire.eu/search/researchProducts?country={{aggregator.valueId}}</span>
</li>
<li>
<span>Access </span><span class="uk-text-bolder">{{openaireEntities.PUBLICATIONS}}</span><br>
<span class="uk-text-bold uk-margin-small-right">GET</span>
<span class="">https://api.openaire.eu/search/publications?country={{aggregator.valueId}}</span>
</li>
<li>
<span>Access </span> <span class="uk-text-bolder">Open Access {{openaireEntities.PUBLICATIONS}}</span><br>
<span class="uk-text-bold uk-margin-small-right">GET</span>
<span class="uk-text-break">http://api.openaire.eu/search/publications?country={{aggregator.valueId}}&OA=true</span>
</li>
<li>
<span>Access </span><span class="uk-text-bolder">{{openaireEntities.DATASETS}}</span><br>
<span class="uk-text-bold uk-margin-small-right">GET</span>
<span class="uk-text-break">https://api.openaire.eu/search/datasets?country={{aggregator.valueId}}</span>
</li>
<li>
<span>Access </span><span class="uk-text-bolder">{{openaireEntities.SOFTWARE}}</span><br>
<span class="uk-text-bold uk-margin-small-right">GET</span>
<span class="uk-text-break">https://api.openaire.eu/search/software?country={{aggregator.valueId}}</span>
</li>
<li>
<span>Access </span><span class="uk-text-bolder">{{openaireEntities.OTHER}}</span><br>
<span class="uk-text-bold uk-margin-small-right">GET</span>
<span class="uk-text-break">https://api.openaire.eu/search/other?country={{aggregator.valueId}}</span>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div page-content>
<div inner>
<div *ngIf="aggregator" class="uk-container uk-container-large uk-section-small">
<h2 class="uk-text-center">
Develop
</h2>
<div class="uk-margin-medium-top uk-card uk-card-body uk-card-default">
<h3 class="uk-text-center">Help developers with <span
class="portal-color uk-text-bold">OpenAIRE APIs</span>
</h3>
<div class="uk-margin-large-top uk-margin-medium-bottom">
Not sure where to start? Let us give you some guides and request examples.
</div>
<p>
<span class="uk-text-bold">For research outcomes </span>
(publications, datasets, software and other research data) you can use the
<a href="http://api.openaire.eu/api.html" target="_blank">Selective Access APIs</a>
by adding the <span class="uk-text-lowercase">country</span> parameter.
</p>
<div class="uk-grid uk-child-width-1-2@m uk-child-width-1-1@s" uk-grid>
<div>
<p>
Request examples:
</p>
<ul class="portal-circle">
<li>
<span class="uk-text-bold">Access Publications</span><br>
<span class="uk-text-bold">GET</span>
<span
class="uk-text-break space">https://api.openaire.eu/search/publications?country={{aggregator.valueId}}</span>
</li>
<li>
<span class="uk-text-bold">Access Open Access Publications</span><br>
<span class="uk-text-bold">GET</span>
<span
class="uk-text-break space">http://api.openaire.eu/search/publications?country={{aggregator.valueId}}&OA=true</span>
</li>
<li>
<span class="uk-text-bold">Access Datasets</span><br>
<span class="uk-text-bold">GET</span>
<span
class="uk-text-break space">https://api.openaire.eu/search/datasets?country={{aggregator.valueId}}</span>
</li>
<li>
<span class="uk-text-bold">Access Software</span><br>
<span class="uk-text-bold">GET</span>
<span
class="uk-text-break space">https://api.openaire.eu/search/software?country={{aggregator.valueId}}</span>
</li>
<li>
<span class="uk-text-bold">Access Other Research</span><br>
<span class="uk-text-bold">GET</span>
<span
class="uk-text-break space">https://api.openaire.eu/search/other?country={{aggregator.valueId}}</span>
</li>
</ul>
</div>
<div class="uk-flex uk-flex-middle">
<div class="uk-flex uk-flex-center uk-width-1-1 uk-margin-medium-top">
<img width="350" src="assets/develop.png">
</div>
</div>
</div>
<div class="uk-margin-large-top uk-flex uk-flex-center uk-padding">
<div class="documentation">
For <span
class="uk-text-bold">more information</span> on the full potential of the OpenAIRE APIs please check
the <a href="http://develop.openaire.eu/" target="_blank">OpenAIRE API Documentation</a>.
</div>
</div>
</div>
</div>
</div>
</div>
`,
styleUrls: ['develop.component.css']
})
export class DevelopComponent implements OnInit {
public aggregator: AggregatorInfo = null;
public openaireEntities = OpenaireEntities;
subs: Subscription[] = [];
constructor(private seoService: SEOService,
private _meta: Meta,
private _router: Router,
private _title: Title, private _piwikService:PiwikService) {
private _title: Title, private _piwikService:PiwikService,) {
}
public ngOnDestroy() {
for (let sub of this.subs) {
@ -96,29 +105,34 @@ export class DevelopComponent implements OnInit {
}
}
ngOnInit() {
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
this.aggregator = PortalAggregators.getFilterInfoByMenuId(id);
if (this.aggregator) {
/* Metadata */
const url = properties.domain + properties.baseLink + this._router.url;
this.seoService.createLinkForCanonicalURL(url, false);
this._meta.updateTag({content: url}, "property='og:url'");
const description = "Develop | " + this.aggregator.valueName;
const title = "Develop | " + this.aggregator.valueName;
this._meta.updateTag({content: description}, "name='description'");
this._meta.updateTag({content: description}, "property='og:description'");
this._meta.updateTag({content: title}, "property='og:title'");
this._title.setTitle(title);
if(properties.enablePiwikTrack && (typeof document !== 'undefined')){
this.subs.push(this._piwikService.trackView(properties, "OpenAIRE").subscribe());
}
}else {
this.navigateToError();
}
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
this.aggregator = PortalAggregators.getFilterInfoByMenuId(id);
if (this.aggregator) {
/* Metadata */
const url = properties.domain + properties.baseLink + this._router.url;
this.seoService.createLinkForCanonicalURL(url, false);
this._meta.updateTag({content: url}, "property='og:url'");
const description = "Develop | " + this.aggregator.valueName;
const title = "Develop | " + this.aggregator.valueName;
this._meta.updateTag({content: description}, "name='description'");
this._meta.updateTag({content: description}, "property='og:description'");
this._meta.updateTag({content: title}, "property='og:title'");
this._title.setTitle(title);
if(properties.enablePiwikTrack && (typeof document !== 'undefined')){
this.subs.push(this._piwikService.trackView(properties, "OpenAIRE").subscribe());
}
}else {
this.navigateToError();
}
}
private navigateToError() {
this._router.navigate([properties.errorLink], {queryParams: {'page': this._router.url}});
this._router.navigate(['/error'], {queryParams: {'page': this._router.url}});
}
}

View File

@ -3,18 +3,16 @@ import {CommonModule} from "@angular/common";
import {DevelopComponent} from "./develop.component";
import {RouterModule} from "@angular/router";
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
import {PiwikServiceModule} from "../openaireLibrary/utils/piwik/piwikService.module";
import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
@NgModule({
declarations: [DevelopComponent],
imports: [CommonModule, PiwikServiceModule, RouterModule.forChild([
imports: [CommonModule, RouterModule.forChild([
{
path: '',
component: DevelopComponent,
canDeactivate: [PreviousRouteRecorder]
},
]), IconsModule],
])],
exports: [DevelopComponent]
})
export class DevelopModule {

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 {AggregatorFosComponent} from "./fos.component";
@NgModule({
imports: [
RouterModule.forChild([
{
path: '',
component: AggregatorFosComponent,
canDeactivate: [PreviousRouteRecorder]
}
])
]
})
export class LibFosRoutingModule { }

View File

@ -1,16 +0,0 @@
import {Component} from "@angular/core";
import {properties} from "../../environments/environment";
@Component({
selector: 'aggregator-fos',
template: `
<fos [piwikSiteId]="piwikSiteId"></fos>
`
})
export class AggregatorFosComponent {
piwikSiteId = properties.piwikSiteId;
constructor() {
}
}

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 {AggregatorFosComponent} from "./fos.component";
@NgModule({
imports: [
CommonModule,
LibFosRoutingModule,
FosRoutingModule,
FosModule
],
declarations: [
AggregatorFosComponent
],
exports: [
AggregatorFosComponent
],
providers: [
PreviousRouteRecorder
]
})
export class LibFosModule { }

View File

@ -1,123 +1,161 @@
<div>
<div class="uk-section uk-padding-remove-bottom uk-overflow-hidden">
<div class="uk-container uk-container-large" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-slide-bottom-medium; delay: 200">
<div class="uk-grid uk-flex-middle" uk-grid>
<div class="uk-width-3-5@m uk-margin-large-bottom">
<h1 class="uk-h2 uk-width-1-2@m" uk-scrollspy-class>
Discover open linked research<span class="uk-text-primary">.</span>
</h1>
<numbers #numbersComponent [defaultInit]="false"></numbers>
<div [class.uk-invisible]="disableSelect" class="uk-margin-medium-top uk-width-3-4@xl">
<advanced-search-input #advanced (searchEmitter)="goTo(true)">
<entities-selection [simpleView]="true" currentEntity="all" [selectedEntity]="selectedEntity"
(selectionChange)="entityChanged($event);advanced.focusNext(input, $event)" (disableSelectEmitter)="disableSelectChange($event)"
[onChangeNavigate]="false" class="uk-width-2-5"></entities-selection>
<div class="uk-width-expand" input #input placeholder="Scholary works" [searchable]="true" [hint]="'Search in OpenAIRE'" [(value)]="keyword"></div>
</advanced-search-input>
<div *ngIf="selectedEntity === 'result' && input.focused" (click)="$event.stopPropagation();advanced.focusNext(input, $event)" class="uk-dropdown uk-display-block uk-margin-small-top uk-width-auto">
<div class="uk-padding-small">
<quick-selections [resultTypes]="resultTypes" [quickFilter]="resultsQuickFilter"></quick-selections>
</div>
</div>
</div>
<div class="uk-padding-small uk-margin-small-top">
<div class="uk-text-meta">
Try browsing by:
</div>
<div class="link-actions uk-flex uk-flex-column uk-flex-top uk-margin-small-top">
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text uk-margin-small-bottom"
routerLinkActive="router-link-active" routerLink="/sdgs">
<span class="uk-flex uk-flex-middle">
<img src="assets/common-assets/sdg/sdg-dot-img.svg" alt="SDGs logo" loading="lazy">
<span class="uk-margin-small-left">Sustainable Development Goals (SDG<span class="uk-text-lowercase">s</span>)</span>
</span>
</a>
<a class="uk-display-inline-block uk-text-uppercase uk-button uk-button-text"
routerLinkActive="router-link-active" routerLink="/fields-of-science">
<span class="uk-flex uk-flex-middle">
<img src="assets/common-assets/fos/fos-icon.svg" alt="FOS logo" loading="lazy">
<span class="uk-margin-small-left">Fields of Science (FoS)</span>
</span>
</a>
</div>
</div>
<div class="image-front-topbar">
<div class="uk-section mainPageSearchForm">
<div class="uk-container">
<div class="search_box_bg uk-flex uk-flex-center">
<div>
<form class="uk-margin">
<div class="uk-grid uk-margin-small-left">
<div class="uk-margin-small-top uk-padding-remove-left">
<entities-selection [simpleView]="true" currentEntity="all" [selectedEntity]="selectedEntity"
[properties]="properties" [onChangeNavigate]="false"
(selectionChange)="entityChanged($event)" [customFilter]="customFilter"
></entities-selection>
</div>
<div class=" uk-padding-remove-left uk-margin-small-top">
<div class="uk-inline">
<a *ngIf="keyword.length > 0" class="uk-form-icon uk-form-icon-flip" (click)="keyword = ''"
uk-icon="icon: close"></a>
<input type="text" class="uk-input uk-width-xlarge@l uk-width-large@m uk-width-medium"
placeholder="Search in OpenAIRE for scholarly works"
[(ngModel)]="keyword"
name="keyword">
</div>
<div class=" quickSelectionsBox uk-width-xlarge@l uk-width-large@m uk-width-medium">
<quick-selections *ngIf="selectedEntity == 'result'" [resultTypes]="resultTypes"
[quickFilter]="resultsQuickFilter"
[properties]="properties">
</quick-selections>
</div>
</div>
<div class="uk-padding-remove-left uk-margin-small-top">
<button (click)="goTo(true)" type="submit"
class="uk-button portal-button uk-text-bold uk-padding uk-padding-remove-vertical uk-margin-small-left">
Search
</button>
<div class="uk-margin-small-top uk-margin-left">
<!-- (click)="goTo(false)"-->
<a *ngIf="selectedEntity!='all'" (click)="goTo(false)" class="portal-link">Advanced Search</a>
<a *ngIf="selectedEntity=='all'" class="portal-link ">Advanced Search</a></div>
<div *ngIf="selectedEntity=='all'" uk-dropdown class="uk-dropdown default-dropdown">
<ul class="uk-list uk-margin-remove-bottom">
<li *ngIf="showSoftware || showPublications || showOrp || showDatasets"><a
[routerLink]="properties.searchLinkToAdvancedResults"
[queryParams]="getQueryParamsForAdvancedSearch('result')"
>Research
outcomes</a></li>
<li *ngIf="showProjects"><a
[routerLink]="properties.searchLinkToAdvancedProjects"
[queryParams]="getQueryParamsForAdvancedSearch('project')">
Projects</a></li>
<li *ngIf="showDataProviders"><a
[routerLink]="properties.searchLinkToAdvancedDataProviders"
[queryParams]="getQueryParamsForAdvancedSearch('datasource')">
Content providers</a></li>
<li *ngIf="showOrganizations"><a
[routerLink]="properties.searchLinkToAdvancedOrganizations"
[queryParams]="getQueryParamsForAdvancedSearch('organization')">
Organizations</a></li>
</ul>
</div>
</div>
</div>
</form>
</div>
<div class="uk-visible@m uk-width-expand" uk-scrollspy-class>
<div class="uk-position-relative">
<img src="assets/aggregator-assets/home/canada.png" uk-parallax="y: 500">
<img class="uk-position-bottom-left" src="assets/aggregator-assets/home/mask.svg">
</div>
</div>
</div>
</div>
<div class="uk-section graph-background" *ngIf="aggregator.graphSectionText && aggregator.graphSectionTitle">
<div class="uk-container">
<div class="uk-flex uk-flex-top uk-child-width-1-1 uk-child-width-1-2@m" uk-grid>
<div class="uk-flex-last@m">
<div [class.lines-10]="!readMore" class="uk-margin-bottom multi-line-ellipsis">
<div class="uk-h3">{{aggregator.graphSectionTitle}}</div>
<p [innerHtml]="aggregator.graphSectionText">
</p>
</div>
<div *ngIf="aggregator.graphSectionText">
<div *ngIf="!readMore" class="uk-text-center clickable" (click)="readMore = true">
<span>Read more<span class="space" uk-icon="chevron-down"></span></span>
</div>
<div *ngIf="readMore" class="uk-text-center clickable" (click)="readMore = false">
<span>Read less<span class="space" uk-icon="chevron-up"></span></span>
</div>
</div>
</div>
<div class="uk-flex uk-flex-bottom">
<div class="uk-width-1-3 uk-width-1-2@m">
<img src="assets/graph.svg">
</div>
<div class="uk-padding uk-width-1-2">
<img src="assets/common-assets/logo-large-graph.png">
</div>
</div>
</div>
</div>
</div>
<div class="uk-section" style="background: linear-gradient(180deg, #FAFAFA 50%, #FFFFFF 50%);">
<div class="uk-padding uk-padding-remove-horizontal">
<div class="uk-container uk-container-small">
<div class="uk-grid-margin uk-grid uk-grid-stack" uk-grid="">
<div class="uk-width-1-1@m uk-first-column">
<div
class="uk-margin uk-text-center uk-child-width-1-1 uk-grid-match uk-child-width-1-1@s uk-child-width-1-2@m uk-child-width-1-2@l uk-grid"
id="page#8" uk-grid="" uk-height-match="target: .target">
<div class="uk-first-column">
<div class="el-item uk-card uk-card-default uk-card-medium uk-card-body">
<div class="uk-text-center target"><img alt="Share" class="uk-width-1-3@m uk-width-small"
src="assets/share.svg"></div>
<div class="el-content uk-margin uk-text-large"><span class="uk-text-bold">Deposit</span> your research
</div>
<div class="uk-margin-small-top uk-text-left card-text uk-flex uk-flex-center">
<div class="uk-margin-left uk-margin-right">Deposit in a repository of your choice.<br>
Select an OpenAIRE compatible<br>
repository (2.0 +) so that your research is linked to your funding information. Use Zenodo, a
catch-all repository hosted by CERN to deposit all your research results (publications, data,
software, etc.)
</div>
</div>
<a class="uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-small-left ng-star-inserted uk-margin uk-margin-bottom uk-width-1-2"
href="/participate/deposit/learn-how" type="submit">Deposit </a></div>
</div>
<div>
<div class="el-item uk-card uk-card-default uk-card-medium uk-card-body">
<div class="uk-text-center target"><img alt="Share" class="uk-width-1-3@m uk-width-small"
src="assets/link.svg"></div>
<div class="el-content uk-margin uk-text-large"><span class="uk-text-bold">Link</span> your work</div>
<div class="uk-margin-small-top uk-text-left card-text uk-flex uk-flex-center">
<div class="uk-margin-left uk-margin-right">Connect all your research.<br>
If you can't find your research results in OpenAIRE, don't worry! Use our Link Out service , that
reaches out to many<br>
external sources via APIs, to connect<br>
your research results and claim them to your project.
</div>
</div>
<a class="uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-small-left ng-star-inserted uk-margin uk-margin-bottom uk-width-1-2"
href="/participate/claim" type="submit">Link </a></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="uk-background-muted" *ngIf="aggregator.graphSectionText && aggregator.graphSectionTitle">
<div class="uk-section uk-section-large uk-container uk-container-large">
<div class="uk-grid uk-child-width-1-2@m" uk-grid>
<div>
<div style="max-width: 600px;">
<h2 class="uk-margin-small-top">{{aggregator.graphSectionTitle}}<span class="text-graph">.</span></h2>
<p [innerHtml]="aggregator.graphSectionText"></p>
</div>
</div>
<div class="uk-position-relative">
<img class="uk-visible@m uk-height-1-1 uk-position-center-right" src="assets/common-assets/common/graph-nodes.svg" alt="OpenAIRE Research Graph" loading="lazy">
</div>
</div>
</div>
</div>
<ng-container *ngIf="this.customFilter && this.customFilter.valueId == 'CA'">
<div *ngIf="funders.length" class="uk-section uk-section-large">
<h2 class="uk-heading-large uk-text-center uk-width-1-2@m uk-margin-auto">Our Canadian Funders<span class="uk-text-primary">.</span></h2>
<div class="uk-section uk-container uk-container-large">
<div class="uk-grid-match uk-grid-medium uk-child-width-1-3 uk-flex-center" uk-grid uk-height-match="target: .logo, .title, .outcomes, .percentage">
<div *ngFor="let funder of funders">
<a [routerLink]="properties.searchLinkToResults" [queryParams]="funder.params" class="uk-height-1-1 uk-link-reset uk-display-block">
<div class="uk-card uk-card-default uk-card-hover uk-card-body uk-text-center funder">
<img *ngIf="funder.logo" src={{funder.logo}} alt="{{funder.name}}" class="logo" style="max-height: 60px;">
<div class="uk-margin-top uk-margin-bottom title">{{funder.name}}</div>
<div class="outcomes">
<h5 class="uk-margin-remove">{{funder.publications | number}}</h5>
<span>Research Outcomes Found</span>
</div>
<div class="uk-margin-top percentage">
<h5 class="uk-margin-remove">{{(funder.openAccessPublications / funder.publications) * 100 | number : '1.0-0'}}%</h5>
<span>Open Access</span>
</div>
</div>
</a>
</div>
</div>
</div>
</div>
</ng-container>
<div class="uk-section uk-section-large uk-padding-remove-top uk-container uk-container-large uk-margin-large-top">
<h2 class="uk-h1">Share your research<span class="uk-text-primary">.</span></h2>
<div class="uk-grid uk-child-width-1-2@m uk-margin-large-top" uk-grid>
<div>
<div class="uk-text-center uk-margin-auto" style="max-width:420px;">
<img src="assets/aggregator-assets/home/linking-home-img.svg" alt="Linking">
<h5>Link your work.</h5>
<div>
Connect all your research. If you cant find your research results in OpenAIRE, dont worry! Use our Link Out service , that reaches out to many external sources via APIs, to connect your research results and claim them to your project.
</div>
<a class="uk-button uk-button-primary uk-margin-medium-top" routerLink="/participate/claim">
Learn More
</a>
</div>
</div>
<div>
<div class="uk-text-center uk-margin-auto" style="max-width:420px;">
<img src="assets/aggregator-assets/home/deposit-home-img.svg" alt="Deposit">
<h5>Deposit your research.</h5>
<div>
Whether its publications, data or software, select an OpenAIRE compatible repository and share using community standards. Alternatively use Zenodo, a catch-all repository hosted by CERN. All results will be indexed, discoverable and accessible via Canada Explore.
</div>
<a class="uk-button uk-button-primary uk-margin-medium-top" routerLink="/participate/deposit/learn-how">
Learn More
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="uk-section uk-padding-remove-bottom">
<h3 class="uk-text-center uk-margin-medium-bottom">Our growing <span class="uk-text-bold">Community</span></h3>
<numbers #numbersComponent [defaultInit]="false" backgroundClass="numbers-background"></numbers>
</div>
<!--<helper *ngIf="pageContents && pageContents['left'] && pageContents['left'].length > 0"-->
<!-- [texts]="pageContents['left']"></helper>-->
<!--<div class="uk-section-muted"-->
<!-- uk-scrollspy="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-fade&quot;,&quot;delay&quot;:false}">-->
<!-- <div class="uk-container uk-container-large">-->
<!-- <other-portals portal="explore" [properties]="properties"></other-portals>-->
<!-- </div>-->
<!--</div>-->

View File

@ -1,9 +0,0 @@
@import (reference) "~src/assets/openaire-theme/less/_import-variables";
.link-actions img {
width: 17px;
}
.uk-card.funder {
border-bottom: 4px solid fade(@organization-color, 30%);
}

View File

@ -1,15 +1,21 @@
import {ChangeDetectorRef, Component, ViewChild} from '@angular/core';
import {Subscription, zip} from 'rxjs';
import {Router} from '@angular/router';
import {Component, ViewChild} from '@angular/core';
import {Subscription} from 'rxjs';
import {ActivatedRoute, Router} from '@angular/router';
import {Location} from '@angular/common';
import {Meta, Title} from '@angular/platform-browser';
import {ConfigurationService} from '../openaireLibrary/utils/configuration/configuration.service';
import {SearchDataprovidersService} from '../openaireLibrary/services/searchDataproviders.service';
import {SearchProjectsService} from '../openaireLibrary/services/searchProjects.service';
import {SearchOrganizationsService} from '../openaireLibrary/services/searchOrganizations.service';
import {RefineFieldResultsService} from '../openaireLibrary/services/refineFieldResults.service';
import {OpenaireEntities, SearchFields} from '../openaireLibrary/utils/properties/searchFields';
import {SearchFields} from '../openaireLibrary/utils/properties/searchFields';
import {RouterHelper} from '../openaireLibrary/utils/routerHelper.class';
import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
import {ErrorCodes} from '../openaireLibrary/utils/properties/errorCodes';
import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service';
import {SEOService} from '../openaireLibrary/sharedComponents/SEO/SEO.service';
import {SearchResearchResultsService} from "../openaireLibrary/services/searchResearchResults.service";
import {HelperService} from "../openaireLibrary/utils/helper/helper.service";
import {Filter} from "../openaireLibrary/searchPages/searchUtils/searchHelperClasses.class";
import {AggregatorInfo, PortalAggregators} from "../utils/aggregators";
@ -18,24 +24,30 @@ import {properties} from "../../environments/environment";
import {portalProperties} from "../../environments/environment-aggregator";
import {StringUtils} from "../openaireLibrary/utils/string-utils.class";
import {ConnectHelper} from "../openaireLibrary/connect/connectHelper";
import {Numbers, NumbersComponent} from "../openaireLibrary/sharedComponents/numbers/numbers.component";
import {NumbersComponent} from "../openaireLibrary/sharedComponents/numbers/numbers.component";
@Component({
selector: 'home',
templateUrl: 'home.component.html',
styleUrls: ['home.component.less']
})
export class HomeComponent {
public keyword:string = "";
public searchFields:SearchFields = new SearchFields();
public errorCodes:ErrorCodes = new ErrorCodes();
public routerHelper:RouterHelper = new RouterHelper();
public numbers: Numbers = {};
showPublications: boolean = portalProperties.entities.publication.isEnabled;
showDatasets: boolean = portalProperties.entities.dataset.isEnabled;
showSoftware: boolean = portalProperties.entities.software.isEnabled;
showOrp: boolean = portalProperties.entities.other.isEnabled;
showOrganizations: boolean = portalProperties.entities.organization.isEnabled;
showProjects: boolean = portalProperties.entities.project.isEnabled;
showDataProviders: boolean = portalProperties.entities.datasource.isEnabled;
properties: EnvProperties = properties;
public openaireEntities = OpenaireEntities;
public readMore: boolean = false;
public funders = [];
subs: Subscription[] = [];
resultsQuickFilter: { filter: Filter, selected: boolean, filterId: string, value: string } = {
filter: null,
selected: true,
@ -43,7 +55,6 @@ export class HomeComponent {
value: "Open Access"
};
selectedEntity = "all";
disableSelect;
selectedEntitySimpleUrl;
selectedEntityAdvancedUrl;
resultTypes:Filter = {values:[],filterId:"type", countSelectedValues: 0, filterType: 'checkbox', originalFilterId: "", valueIsExact: true, title: "Result Types",filterOperator:"or"};
@ -54,22 +65,29 @@ export class HomeComponent {
@ViewChild('numbersComponent', { static: true }) numbersComponent: NumbersComponent;
constructor (
private route: ActivatedRoute,
private _router: Router,
private _searchResearchResultsService: SearchResearchResultsService,
private _searchDataprovidersService: SearchDataprovidersService,
private _searchProjectsService: SearchProjectsService,
private _searchOrganizationsService: SearchOrganizationsService,
private _refineFieldResultsService:RefineFieldResultsService,
private _piwikService:PiwikService,
private location: Location, private _piwikService:PiwikService,
private config: ConfigurationService, private _meta: Meta, private _title: Title, private seoService: SEOService,
private helper: HelperService,
private cdr: ChangeDetectorRef
private helper: HelperService
) {
this.aggregatorId = ConnectHelper.getCommunityFromDomain(properties.domain);
this.aggregator = PortalAggregators.getFilterInfoByMenuId(this.aggregatorId);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(this.aggregator);
let description = "OpenAIRE Explore: Over 100M of research deduplicated, 170K research software, 11M research data. One of the largest open scholarly records collection worldwide.";
let title = "OpenAIRE - Explore | " +this.aggregator.title;
let title = "OpenAIRE - Explore| " +this.aggregator.title;
this._title.setTitle(title);
this._meta.updateTag({content:description},"name='description'");
this._meta.updateTag({content:description},"property='og:description'");
this._meta.updateTag({content:title},"property='og:title'");
}
private getPageContents() {
@ -91,47 +109,37 @@ export class HomeComponent {
if(this.properties.enablePiwikTrack && (typeof document !== 'undefined')){
this.subs.push(this._piwikService.trackView(this.properties, "OpenAIRE").subscribe());
}
if(this.numbersComponent) {
this.numbersComponent.showPublications = portalProperties.entities.publication.isEnabled;
this.numbersComponent.showDatasets = portalProperties.entities.dataset.isEnabled;
this.numbersComponent.showSoftware = portalProperties.entities.software.isEnabled;
this.numbersComponent.showOrp = portalProperties.entities.other.isEnabled;
this.numbersComponent.showOrganizations = portalProperties.entities.organization.isEnabled;
this.numbersComponent.showProjects = portalProperties.entities.project.isEnabled;
this.numbersComponent.showDataProviders = portalProperties.entities.datasource.isEnabled;
}
//this.config.getCommunityInformation(this.properties, this.properties.adminToolsCommunity ).subscribe(data => {
this.subs.push(this.config.communityInformationState.subscribe(data => {
if(data) {
var showEntity = {};
for (var i = 0; i < data['entities'].length; i++) {
showEntity["" + data['entities'][i]["pid"] + ""] = data['entities'][i]["isEnabled"];
}
if(this.numbersComponent) {
this.numbersComponent.showPublications = !!showEntity["publication"];
this.numbersComponent.showDatasets = !!showEntity["dataset"];
this.numbersComponent.showSoftware = !!showEntity["software"];
this.numbersComponent.showOrp = !!showEntity["orp"];
this.numbersComponent.showProjects = !!showEntity["project"];
this.numbersComponent.showDataProviders = !!showEntity["datasource"];
this.numbersComponent.showOrganizations = !!showEntity["organization"];
}
if(this.numbersComponent && this.numbersComponent.showPublications){
this.resultTypes.values.push({name: this.openaireEntities.PUBLICATIONS , id:"publications",selected:false, number:0});
this.showPublications = !!showEntity["publication"];
this.showDatasets = !!showEntity["dataset"];
this.showSoftware = !!showEntity["software"];
this.showOrp = !!showEntity["orp"];
this.showProjects = !!showEntity["project"];
this.showDataProviders = !!showEntity["datasource"];
this.showOrganizations = !!showEntity["organization"];
if(this.showPublications){
this.resultTypes.values.push({name: "Publications" , id:"publications",selected:true, number:0});
}
if(this.numbersComponent && this.numbersComponent.showDatasets){
this.resultTypes.values.push({name: this.openaireEntities.DATASETS , id:"datasets",selected:false, number:0});
if(this.showDatasets){
this.resultTypes.values.push({name: "Research data" , id:"datasets",selected:true, number:0});
}
if(this.numbersComponent && this.numbersComponent.showSoftware){
this.resultTypes.values.push({name: this.openaireEntities.SOFTWARE , id:"software",selected:false, number:0});
if(this.showSoftware){
this.resultTypes.values.push({name: "Software" , id:"software",selected:true, number:0});
}
if(this.numbersComponent && this.numbersComponent.showOrp){
this.resultTypes.values.push({name: this.openaireEntities.OTHER , id:"other",selected:false, number:0});
if(this.showOrp){
this.resultTypes.values.push({name: "Other research products" , id:"other",selected:true, number:0});
}
if(this.numbersComponent) {
this.numbersComponent.init(false, false, this.numbersComponent.showPublications, this.numbersComponent.showDatasets, this.numbersComponent.showSoftware, this.numbersComponent.showOrp, this.numbersComponent.showProjects, this.numbersComponent.showDataProviders, this.numbersComponent.showOrganizations,
this.customFilter ? StringUtils.URIEncode(this.customFilter.queryFieldName + " exact " + StringUtils.quote((this.customFilter.valueId))) : '');
}
this.getFunders();
this.numbersComponent.init(false, false, this.showPublications, this.showDatasets,
this.showSoftware, this.showOrp, this.showProjects, this.showDataProviders,
StringUtils.URIEncode(this.customFilter.queryFieldName + " exact " + StringUtils.quote((this.customFilter.valueId ))));
}
},
error => {
@ -208,78 +216,8 @@ export class HomeComponent {
params["f0"] = "q";
}
if(this.customFilter){
params = this.customFilter.getParameters(params);
params = this.customFilter.getParameters(params);
}
return params;
}
getFunders() {
let refineParams1 = '&fq=country%20exact%20%22CA%22';
let refineParams2 = '&fq=resultbestaccessright%20exact%20%22Open%20Access%22&fq=country%20exact%20%22CA%22%20';
this.subs.push(zip(
this._refineFieldResultsService.getRefineFieldsResultsByEntityName(['relfunder'], 'result', this.properties, refineParams1),
this._refineFieldResultsService.getRefineFieldsResultsByEntityName(['relfunder'], 'result', this.properties, refineParams2)
).subscribe((data: any[]) => {
let queriedFunders1 = data[0][1][0].values;
queriedFunders1.forEach(queriedFunder => {
if(queriedFunder.id.includes('nserc')) {
this.funders.push({
"id": queriedFunder.id,
"name": queriedFunder.name,
"publications": queriedFunder.number,
"openAccessPublications": null,
"logo": 'assets/nserc_logo.png',
"params": {
relfunder: '"'+encodeURIComponent(queriedFunder.id)+'"'
}
});
} else if(queriedFunder.id.includes('cihr')) {
this.funders.push({
"id": queriedFunder.id,
"name": queriedFunder.name,
"publications": queriedFunder.number,
"openAccessPublications": null,
"logo": 'assets/cihr_logo.png',
"params": {
relfunder: '"'+encodeURIComponent(queriedFunder.id)+'"'
}
});
} else if(queriedFunder.id.includes('sshrc')) {
this.funders.push({
"id": queriedFunder.id,
"name": queriedFunder.name,
"publications": queriedFunder.number,
"openAccessPublications": null,
"logo": 'assets/sshrc_logo.png',
"params": {
relfunder: '"'+encodeURIComponent(queriedFunder.id)+'"'
}
});
}
});
let queriedFunders2 = data[1][1][0].values;
queriedFunders2.forEach(queriedFunder => {
for(let funder of this.funders) {
if(queriedFunder.id == funder.id) {
funder.openAccessPublications = queriedFunder.number;
}
}
});
}));
}
isRouteAvailable(routeToCheck: string) {
for (let i = 0; i < this._router.config.length; i++) {
let routePath: string = this._router.config[i].path;
if (routePath == routeToCheck) {
return true;
}
}
return false;
}
disableSelectChange(event: boolean) {
this.disableSelect = event;
this.cdr.detectChanges();
}
}

View File

@ -24,10 +24,8 @@ import {EntitiesSelectionModule} from "../openaireLibrary/searchPages/searchUtil
import {QuickSelectionsModule} from "../openaireLibrary/searchPages/searchUtils/quick-selections.module";
import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
import {IconsService} from "../openaireLibrary/utils/icons/icons.service";
import {book, cog, database, earth} from "../openaireLibrary/utils/icons/icons";
import {arrow_right, book, cog, database, earth} from "../openaireLibrary/utils/icons/icons";
import {NumbersModule} from "../openaireLibrary/sharedComponents/numbers/numbers.module";
import {AdvancedSearchInputModule} from "../openaireLibrary/sharedComponents/advanced-search-input/advanced-search-input.module";
import {InputModule} from "../openaireLibrary/sharedComponents/input/input.module";
@NgModule({
imports: [
@ -40,7 +38,7 @@ import {InputModule} from "../openaireLibrary/sharedComponents/input/input.modul
HomeRoutingModule,
HelperModule,
ErrorMessagesModule,
SEOServiceModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule, NumbersModule, AdvancedSearchInputModule, InputModule
SEOServiceModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule, NumbersModule
],
declarations: [
HomeComponent
@ -54,6 +52,6 @@ import {InputModule} from "../openaireLibrary/sharedComponents/input/input.modul
})
export class HomeModule {
constructor(private iconsService: IconsService) {
this.iconsService.registerIcons([book, earth, cog, database]);
this.iconsService.registerIcons([arrow_right, book, earth, cog, database]);
}
}

View File

@ -4,14 +4,13 @@ import { RouterModule } from '@angular/router';
import { OpenaireDataProviderComponent } from './dataProvider.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireDataProviderComponent, canActivate: [FreeGuard], data: {
redirect: properties.errorLink
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder] }
])
]

View File

@ -4,14 +4,13 @@ import { RouterModule } from '@angular/router';
import { OpenaireDatasetComponent } from './dataset.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireDatasetComponent, canActivate: [FreeGuard], data: {
redirect: properties.errorLink
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder] }
])
]

View File

@ -4,14 +4,13 @@ import {RouterModule} from '@angular/router';
import {OpenaireOrganizationComponent} from './organization.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireOrganizationComponent, canActivate: [FreeGuard], data: {
redirect: properties.errorLink
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder] }
])
]

View File

@ -3,14 +3,13 @@ import {RouterModule} from '@angular/router';
import {OpenaireOrpComponent} from './orp.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireOrpComponent, canActivate: [FreeGuard], data: {
redirect: properties.errorLink
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder] }
])
]

View File

@ -4,14 +4,13 @@ import {RouterModule} from '@angular/router';
import {OpenaireProjectComponent} from './project.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireProjectComponent, canActivate: [FreeGuard], data: {
redirect: properties.errorLink
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder] }
])
]

View File

@ -4,14 +4,13 @@ import {RouterModule} from '@angular/router';
import {OpenairePublicationComponent} from './publication.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenairePublicationComponent, canActivate: [FreeGuard], data: {
redirect: properties.errorLink
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder] }
])
]

View File

@ -3,14 +3,13 @@ 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'
redirect: '/error', community : 'openaire'
},canDeactivate: [PreviousRouteRecorder] }
])
]

View File

@ -1,14 +0,0 @@
import { NgModule} from '@angular/core';
import { DataProviderModule } from '../../openaireLibrary/landingPages/dataProvider/dataProvider.module';
import { OpenaireServiceComponent } from './service.component';
import {ServiceRoutingModule} from './service-routing.module';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [DataProviderModule, ServiceRoutingModule],
declarations:[OpenaireServiceComponent],
providers:[FreeGuard, PreviousRouteRecorder],
exports:[OpenaireServiceComponent]
})
export class LibServiceModule { }

View File

@ -1,19 +0,0 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { OpenaireServiceComponent } from './service.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireServiceComponent, canActivate: [FreeGuard], data: {
redirect: properties.errorLink
},canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class ServiceRoutingModule { }

View File

@ -1,20 +0,0 @@
import {Component} from '@angular/core';
import {properties} from "../../../environments/environment";
@Component({
selector: 'openaire-dataprovider',
template: `<dataprovider type="service" [piwikSiteId]="piwikSiteId"></dataprovider>`,
})
export class OpenaireServiceComponent{
piwikSiteId = properties.piwikSiteId;
constructor ( ) {
}
ngOnInit() {
}
}

@ -1 +1 @@
Subproject commit 328198b6a56c3f3ecb38c7928073914a9609ddc0
Subproject commit 3632510e387b3a83f8d8e0f27cd796912a19c741

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,17 +0,0 @@
import {NgModule} from "@angular/core";
import {RouterModule} from "@angular/router";
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
import {AggregatorSdgComponent} from "./sdg.component";
@NgModule({
imports: [
RouterModule.forChild([
{
path: '',
component: AggregatorSdgComponent,
canDeactivate: [PreviousRouteRecorder]
}
])
]
})
export class LibSdgRoutingModule { }

View File

@ -1,26 +0,0 @@
import {Component} from "@angular/core";
import {properties} from "../../environments/environment";
import {ConnectHelper} from "../openaireLibrary/connect/connectHelper";
import {SearchCustomFilter} from "../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {AggregatorInfo, PortalAggregators} from "../utils/aggregators";
@Component({
selector: 'aggregator-sdg',
template: `
<sdg [piwikSiteId]="piwikSiteId" [customFilter]="customFilter"></sdg>
`
})
export class AggregatorSdgComponent {
piwikSiteId = properties.piwikSiteId;
aggregatorId;
aggregator: AggregatorInfo;
customFilter: SearchCustomFilter = null;
constructor() {
this.aggregatorId = ConnectHelper.getCommunityFromDomain(properties.domain);
this.aggregator = PortalAggregators.getFilterInfoByMenuId(this.aggregatorId);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(this.aggregator);
}
public ngOnInit() {}
}

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 {AggregatorSdgComponent} from "./sdg.component";
@NgModule({
imports: [
CommonModule,
LibSdgRoutingModule,
SdgRoutingModule,
SdgModule
],
declarations: [
AggregatorSdgComponent
],
exports: [
AggregatorSdgComponent
],
providers: [
PreviousRouteRecorder
]
})
export class LibSdgModule { }

View File

@ -2,14 +2,13 @@ import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireAdvancedSearchDataProvidersComponent} from './advancedSearchDataProviders.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchDataProvidersComponent, data: {
redirect: properties.errorLink
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])

View File

@ -4,14 +4,13 @@ import {AggregatorInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
@Component({
selector: 'openaire-advanced-search-dataprovider',
template: `
<search-dataproviders [customFilter]="customFilter" [simpleView]="false" [openaireLink]="customFilter?'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/advanced/dataproviders':null"
[piwikSiteId]="properties.piwikSiteId" [hasPrefix]="false" [searchForm]="searchForm">
<search-dataproviders [customFilter]="customFilter" [simpleView]="false" [openaireLink]="'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/advanced/dataproviders'"
[piwikSiteId]="properties.piwikSiteId">
</search-dataproviders>
`
@ -20,7 +19,6 @@ import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearc
export class OpenaireAdvancedSearchDataProvidersComponent {
customFilter: SearchCustomFilter = null;
properties: EnvProperties;
public searchForm: SearchForm = {class: 'search-form', dark: true};
constructor ( ) {}
ngOnInit() {
this.properties = properties;

View File

@ -3,14 +3,13 @@ import {RouterModule} from '@angular/router';
import {OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchOrganizationsComponent , data: {
redirect: properties.errorLink
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder]}
])

View File

@ -4,14 +4,13 @@ import {AggregatorInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
@Component({
selector: 'openaire-advanced-search-organizations',
template: `
<search-organizations [customFilter]="customFilter" [simpleView]="false" [openaireLink]="customFilter?'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/advanced/organizations':null"
[piwikSiteId]="properties.piwikSiteId" [hasPrefix]="false" [searchForm]="searchForm">
<search-organizations [customFilter]="customFilter" [simpleView]="false" [openaireLink]="'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/advanced/organizations'"
[piwikSiteId]="properties.piwikSiteId">
</search-organizations>
`
@ -21,7 +20,6 @@ export class OpenaireAdvancedSearchOrganizationsComponent {
customFilter:SearchCustomFilter= null;
properties: EnvProperties;
public searchForm: SearchForm = {class: 'search-form', dark: true};
constructor ( ) {}
ngOnInit() {
this.properties = properties;

View File

@ -3,13 +3,12 @@ import { RouterModule } from '@angular/router';
import{OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchProjectsComponent, data: {
redirect: properties.errorLink
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])

View File

@ -4,13 +4,12 @@ import {AggregatorInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
@Component({
selector: 'openaire-advanced-search-projects',
template: `
<search-projects [customFilter]="customFilter" [simpleView]="false" [openaireLink]="customFilter?'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/advanced/projects':null"
[piwikSiteId]="properties.piwikSiteId" [hasPrefix]="false" [searchForm]="searchForm">
<search-projects [customFilter]="customFilter" [simpleView]="false" [openaireLink]="'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/advanced/projects'"
[piwikSiteId]="properties.piwikSiteId">
</search-projects>
`
@ -20,7 +19,6 @@ export class OpenaireAdvancedSearchProjectsComponent {
customFilter:SearchCustomFilter= null;
properties: EnvProperties;
public searchForm: SearchForm = {class: 'search-form', dark: true};
constructor ( ) {}
ngOnInit() {
this.properties = properties;

View File

@ -1,18 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireAdvancedSearchServicesComponent} from './advancedSearchServices.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchServicesComponent, data: {
redirect: properties.errorLink
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class AdvancedSearchServicesRoutingModule { }

View File

@ -1,35 +0,0 @@
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {AggregatorInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
import {OpenaireEntities} from "../../openaireLibrary/utils/properties/searchFields";
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
@Component({
selector: 'openaire-advanced-search-service',
template: `
<search-dataproviders [customFilter]="customFilter" [simpleView]="false" [openaireLink]="customFilter?'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/advanced/services':null"
[piwikSiteId]="properties.piwikSiteId" [hasPrefix]="false"
type="services" entityType="service" [typeName]="openaireEntities.SERVICES"
[searchForm]="searchForm">
</search-dataproviders>
`
})
export class OpenaireAdvancedSearchServicesComponent {
customFilter: SearchCustomFilter = null;
properties: EnvProperties;
public openaireEntities = OpenaireEntities;
public searchForm: SearchForm = {class: 'search-form', dark: true};
constructor ( ) {}
ngOnInit() {
this.properties = properties;
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
let agg: AggregatorInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}
}

View File

@ -1,25 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {OpenaireAdvancedSearchServicesComponent} from './advancedSearchServices.component';
import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module";
import {AdvancedSearchServicesRoutingModule} from "./advancedSearchServices-routing.module";
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchServicesRoutingModule,
SearchDataProvidersModule
],
declarations: [
OpenaireAdvancedSearchServicesComponent
],
providers:[],
exports: [
OpenaireAdvancedSearchServicesComponent
]
})
export class LibAdvancedSearchServicesModule { }

View File

@ -3,14 +3,13 @@ import { RouterModule } from '@angular/router';
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchResearchResultsComponent, data: {
redirect: properties.errorLink, community : 'openaire'
redirect: '/error', community : 'openaire'
}, canDeactivate: [PreviousRouteRecorder] }
])

View File

@ -4,13 +4,12 @@ import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
@Component({
selector: 'openaire-search-results',
template: `
<search-research-results resultType="result" [simpleView]="false" [customFilter]="customFilter" [openaireLink]="customFilter?'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/advanced/research-outcomes':null"
[piwikSiteId]="properties.piwikSiteId" [hasPrefix]="false" [searchForm]="searchForm"></search-research-results>
<search-research-results resultType="result" [simpleView]="false" [customFilter]="customFilter" [openaireLink]="'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/advanced/research-outcomes'"
[piwikSiteId]="properties.piwikSiteId"></search-research-results>
`
})
@ -18,8 +17,7 @@ export class OpenaireSearchResearchResultsComponent {
@Input() searchLink: string = "/search/advanced/research-results";
customFilter:SearchCustomFilter= null;
properties: EnvProperties;
public searchForm: SearchForm = {class: 'search-form', dark: true};
constructor ( ) {}
constructor ( ) {}
ngOnInit() {
this.properties = properties;
let id = ConnectHelper.getCommunityFromDomain(properties.domain);

View File

@ -3,19 +3,16 @@ import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/
import {AggregatorInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
@Component({
selector: 'openaire-search-find',
template: `
<search-all logoURL = "/assets/common-assets/logo-small-aggregator.png" name="OpenAIRE" [customFilter]="customFilter" [piwikSiteId]="piwikSiteId"
[searchForm]="searchForm"></search-all>
<search-all logoURL = "/assets/common-assets/logo-small-aggregator.png" name="OpenAIRE" [customFilter]="customFilter" [piwikSiteId]="piwikSiteId"></search-all>
`,
})
export class OpenaireSearchComponent{
customFilter:SearchCustomFilter= null;
piwikSiteId = properties.piwikSiteId;
public searchForm: SearchForm = {class: 'search-form', dark: true};
constructor ( ) {}
ngOnInit() {
let id = ConnectHelper.getCommunityFromDomain(properties.domain);

View File

@ -4,14 +4,13 @@ import {RouterModule} from '@angular/router';
import {OpenaireSearchDataprovidersComponent} from './searchDataproviders.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchDataprovidersComponent,data: {
redirect: properties.errorLink
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])

View File

@ -4,14 +4,13 @@ import {AggregatorInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
@Component({
selector: 'openaire-search-dataproviders',
template: `
<search-dataproviders [customFilter]="customFilter" [openaireLink]="customFilter?'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/find/dataproviders':null"
[piwikSiteId]="properties.piwikSiteId" [hasPrefix]="false" [searchForm]="searchForm">
<search-dataproviders [customFilter]="customFilter" [openaireLink]="'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/find/dataproviders'"
[piwikSiteId]="properties.piwikSiteId">
</search-dataproviders>
`
@ -19,7 +18,6 @@ import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearc
export class OpenaireSearchDataprovidersComponent {
customFilter: SearchCustomFilter = null;
properties: EnvProperties;
public searchForm: SearchForm = {class: 'search-form', dark: true};
constructor ( ) {}
ngOnInit() {
this.properties = properties;

View File

@ -2,14 +2,13 @@ import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireSearchOrganizationsComponent} from './searchOrganizations.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchOrganizationsComponent, data: {
redirect: properties.errorLink
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])

View File

@ -4,14 +4,13 @@ import {AggregatorInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
@Component({
selector: 'openaire-search-organizations',
template: `
<search-organizations [customFilter]="customFilter" [openaireLink]="customFilter?'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/find/organizations':null"
[piwikSiteId]="properties.piwikSiteId" [hasPrefix]="false" [searchForm]="searchForm">
<search-organizations [customFilter]="customFilter" [openaireLink]="'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/find/organizations'"
[piwikSiteId]="properties.piwikSiteId">
</search-organizations>
`
@ -20,8 +19,7 @@ import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearc
export class OpenaireSearchOrganizationsComponent {
customFilter:SearchCustomFilter= null;
properties: EnvProperties;
public searchForm: SearchForm = {class: 'search-form', dark: true};
constructor ( ) {}
constructor ( ) {}
ngOnInit() {
this.properties = properties;
let id = ConnectHelper.getCommunityFromDomain(properties.domain);

View File

@ -3,14 +3,13 @@ import {RouterModule} from '@angular/router';
import {OpenaireSearchProjectsComponent} from './searchProjects.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchProjectsComponent, data: {
redirect: properties.errorLink
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])

View File

@ -4,23 +4,21 @@ import {AggregatorInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
@Component({
selector: 'openaire-search-projects',
template: `
<search-projects [customFilter]="customFilter" [openaireLink]="customFilter?'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/find/projects':null"
[piwikSiteId]="properties.piwikSiteId" [hasPrefix]="false" [searchForm]="searchForm">
<search-projects [customFilter]="customFilter" [openaireLink]="'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/find/projects'"
[piwikSiteId]="properties.piwikSiteId">
</search-projects>
`
})
export class OpenaireSearchProjectsComponent {
customFilter: SearchCustomFilter = null;
properties: EnvProperties;
public searchForm: SearchForm = {class: 'search-form', dark: true};
constructor ( ) {}
customFilter: SearchCustomFilter = null;
properties: EnvProperties;
constructor ( ) {}
ngOnInit() {
this.properties = properties;
let id = ConnectHelper.getCommunityFromDomain(properties.domain);

View File

@ -3,14 +3,13 @@ import { RouterModule } from '@angular/router';
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchResearchResultsComponent, data: {
redirect: properties.errorLink, community : 'openaire'
redirect: '/error', community : 'openaire'
}, canDeactivate: [PreviousRouteRecorder] }
])

View File

@ -4,13 +4,12 @@ import {AggregatorInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
@Component({
selector: 'openaire-search-results',
template: `
<search-research-results resultType="result" [stickyForm]="false" [customFilter]="customFilter" [openaireLink]="customFilter?'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/find/research-outcomes':null"
[piwikSiteId]="properties.piwikSiteId" [hasPrefix]="false" [searchForm]="searchForm"></search-research-results>
<search-research-results resultType="result" [stickyForm]="false" [customFilter]="customFilter" [openaireLink]="'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/find/research-outcomes'"
[piwikSiteId]="properties.piwikSiteId"></search-research-results>
`
})
@ -18,7 +17,6 @@ export class OpenaireSearchResearchResultsComponent {
@Input() searchLink: string = "/search/research-results";
customFilter:SearchCustomFilter= null;
properties: EnvProperties;
public searchForm: SearchForm = {class: 'search-form', dark: true};
constructor ( ) {}
ngOnInit() {
this.properties = properties;

View File

@ -1,19 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireSearchServicesComponent} from './searchServices.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {properties} from "../../../environments/environment";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchServicesComponent,data: {
redirect: properties.errorLink
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class SearchServicesRoutingModule { }

View File

@ -1,34 +0,0 @@
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {AggregatorInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
import {OpenaireEntities} from "../../openaireLibrary/utils/properties/searchFields";
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
@Component({
selector: 'openaire-search-services',
template: `
<search-dataproviders [customFilter]="customFilter" [openaireLink]="customFilter?'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/find/services':null"
[piwikSiteId]="properties.piwikSiteId" [hasPrefix]="false"
type="services" entityType="service" [typeName]="openaireEntities.SERVICES"
[searchForm]="searchForm">
</search-dataproviders>
`
})
export class OpenaireSearchServicesComponent {
customFilter: SearchCustomFilter = null;
properties: EnvProperties;
public openaireEntities = OpenaireEntities;
public searchForm: SearchForm = {class: 'search-form', dark: true};
constructor ( ) {}
ngOnInit() {
this.properties = properties;
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
let agg: AggregatorInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}
}

View File

@ -1,23 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {SearchServicesRoutingModule} from './searchServices-routing.module';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module";
import {OpenaireSearchServicesComponent} from "./searchServices.component";
@NgModule({
imports: [
CommonModule, FormsModule,
SearchDataProvidersModule, SearchServicesRoutingModule
],
declarations: [
OpenaireSearchServicesComponent
],
providers:[PreviousRouteRecorder],
exports: [
OpenaireSearchServicesComponent
]
})
export class LibSearchServicesModule { }

View File

@ -1,6 +1,5 @@
import {SearchCustomFilter} from "../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {Portal} from "../openaireLibrary/utils/entities/adminTool/portal";
import {properties} from "../../environments/environment";
export class AggregatorInfo {
menuId: string;
@ -10,15 +9,14 @@ export class AggregatorInfo {
queryFieldName: string; //country
valueId: string; //gr
valueName: string; // Greece
mainColor:string;
darkColor:string;
background:string;
graphSectionTitle: string;
graphSectionText: string;
enableLogin: boolean;
/** @deprecated */
customCss:string;
showHeaderAlways:boolean;
constructor(menuId: string, title: string, logoUrl: string, fieldName: string, queryFieldName: string, valueId: string,
valueName: string, graphSectionTitle: string = null, graphSectionText:string = null, enableLogin:boolean = true, showHeaderAlways:boolean = true, customCss:string = "" ) {
valueName: string, mainColor:string=null, darkColor:string=null, background:string=null,graphSectionTitle: string = null, graphSectionText:string = null ) {
this.menuId = menuId;
this.title = title;
this.logoUrl = logoUrl;
@ -26,57 +24,40 @@ export class AggregatorInfo {
this.queryFieldName = queryFieldName;
this.valueId = valueId;
this.valueName = valueName;
this.mainColor = mainColor;
this.darkColor = darkColor;
this.background = background;
this.graphSectionTitle = graphSectionTitle;
this.graphSectionText = graphSectionText;
this.enableLogin = enableLogin;
this.showHeaderAlways = showHeaderAlways;
this.customCss = customCss;
}
}
export class PortalAggregators {
static list: AggregatorInfo[] = [
new AggregatorInfo("canada", "Canadian Aggregator", "assets/canada-logo.png", "Country",
"country", "CA", "Canada",
new AggregatorInfo("canada", "Canadian Aggregator", "assets/canada-logo.png", "Country", "country", "CA", "Canada","#E80000","#ad0000", "/assets/canada-background.svg",
"Portal to Canadian Research Outputs", `<span>
Welcome to the Portal of Canadian Research Outputs. This has been developed as part of a collaboration between
Canadian Association of Research Libraries (CARL) and OpenAIRE. The portal presents research results collected
from Canadian institutional repositories compliant to <a
href="https://guidelines.openaire.eu/" target="_blank">OpenAIRE guidelines</a> and from the OpenAIRE Research Graph.
It links them to three Canadian funders, Natural Sciences and Engineering Research Council of Canada, Canadian Institutes of Health Research and
Social Sciences and Humanities Research Council. For more information, visit the <a
Social Sciences and Humanities Research Council. For more information, visit the <a
Welcome to the beta Portal to Canadian Research Outputs, which has been developed as part of a
collaboration between CARL and OpenAIRE as part of the OpenAIRE Advance Project. The portal enables users
to search and browse Canadian content that is included in the OpenAIRE aggregation. The number of
research products is expected to grow in 2021 as more Canadian repositories become compliant with
OpenAIRE guidelines and Canadian affiliation information is enhanced. For more information, visit the
<a
href="https://www.carl-abrc.ca/advancing-research/institutional-repositories/open-repositories-working-group/openaire-collaboration/" target="_blank">CARL website</a>.
</span>
<br>
<span>
Bienvenue sur le portal des résultats de la recherche canadienne, qui a é développé dans le cadre d'une collaboration entre l'ABRC et OpenAIRE dans le contexte du projet OpenAIRE Advance. Le portail permet aux utilisateurs de repérer et de parcourir le contenu canadien inclus sur la plateforme OpenAIRE. La quantité des résultats de la recherche canadienne disponible sur la plateforme augmentera tout au long de l'année 2021 au fur et à mesure que les dépôts canadiens se conformeront aux directives d'OpenAIRE et que les détails relatifs aux affiliations canadiennes seront améliorés. Pour plus d'informations,
Bienvenue sur la version bêta du portail des résultats de la recherche canadienne, qui a é développé dans le cadre d'une collaboration entre l'ABRC et OpenAIRE dans le contexte du projet OpenAIRE Advance. Le portail permet aux utilisateurs de repérer et de parcourir le contenu canadien inclus sur la plateforme OpenAIRE. La quantité des résultats de la recherche canadienne disponible sur la plateforme augmentera tout au long de l'année 2021 au fur et à mesure que les dépôts canadiens se conformeront aux directives d'OpenAIRE et que les détails relatifs aux affiliations canadiennes seront améliorés. Pour plus d'informations,
<a
href="https://www.carl-abrc.ca/fr/faire-avancer-la-recherche/depots-institutionnels/groupe-de-travail-depots-ouverts/collaboration-avec-openaire/" target="_blank">veuillez visiter le site Web de lABRC</a>.
</span>`,true, true,`
:root {
--primary-color: #E80000;
--primary-color-rgb: 232,0,0;
--primary-dark-color: #ad0000;
--graph-background: url('/assets/canada-background.svg') no-repeat bottom;
--label-secondary: #E80000;
/* Fonts */
--text-primary-color: var(primary-color);
--text-gradient-color: linear-gradient(110deg, var(primary-color) 0%, var(--monitor-dark-color) 100%);
/** Label */
--label-secondary: var(--primary-color);
}
`),
</span>`),
new AggregatorInfo("italy", "Italian Aggregator", "assets/common-assets/logo-small-aggregator.png", "Country", "country", "IT", "Italy"),
new AggregatorInfo("greece", "Greek Aggregator", "assets/common-assets/logo-small-aggregator.png", "Country", "country", "GR", "Greece")
new AggregatorInfo("greece", "Greek Aggregator", "assets/common-assets/logo-small-aggregator.png", "Country", "country", "GR", "Greece"),
];
static disabled = {
"canada": {pages: ["/search/find/services"], entities: ["service"]},
"italy": {pages: ["/search/find/services"], entities: ["service"]},
"greece": {pages: ["/search/find/services"], entities: ["service"]}
"canada": {pages: [], entities: ["software"]},
"italy": {pages: [], entities: []},
"greece": {pages: [], entities: []}
};
static defaultAggregator: AggregatorInfo = PortalAggregators.list[0];
@ -95,7 +76,7 @@ export class PortalAggregators {
public static getSearchCustomFilterByAggregator(agg: AggregatorInfo): SearchCustomFilter {
let filter:SearchCustomFilter = null;
if(agg && agg.fieldName) {
if(agg) {
filter = new SearchCustomFilter(agg.fieldName, agg.queryFieldName, agg.valueId, agg.valueName);
filter.promptToAddFilter = false;
filter.isHiddenFilter = true;
@ -105,9 +86,9 @@ export class PortalAggregators {
public static getCommunityInfoByMenuId(menuId: string): any {
if(PortalAggregators.disabled[menuId]){
return Portal.getMockCommunityInfo(menuId, PortalAggregators.disabled[menuId].entities,PortalAggregators.disabled[menuId].pages);
return Portal.getMockCommunityInfo(PortalAggregators.disabled[menuId].entities,PortalAggregators.disabled[menuId].pages);
}
return Portal.getMockCommunityInfo(menuId, [],[]);
return Portal.getMockCommunityInfo([],[]);
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 169 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 81 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 677.14 1140.24"><defs><style>.cls-1{fill:#f9f9f9;}</style></defs><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M275.51,330.92c-105.95,0-191.84,85.89-191.84,191.83s85.89,191.84,191.84,191.84S467.35,628.7,467.35,522.75,381.46,330.92,275.51,330.92Z"/><path class="cls-1" d="M0,0V1140.24H677.14V0ZM618,917.23,435.6,740.92h0a269.38,269.38,0,0,1-160.09,52.41C126.07,793.34,4.92,672.19,4.92,522.75S126.07,252.16,275.51,252.16,546.1,373.31,546.1,522.75a269.46,269.46,0,0,1-54.9,163.42h0l181,175Z"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 608 B

View File

@ -0,0 +1,105 @@
:root {
--portal-main-color: #313179;
--portal-main-contrast: white;
--portal-dark-color: #4687E6;
--openaire-main-color: #313179;
--explore-portal-color: #D95F2D;
--provide-portal-color: #37C7E9;
--monitor-portal-color: #9ABB55;
--connect-portal-color: #EBB13E;
--develop-portal-color: #DA65AB;
--explore-portal-lower-tone: #a0462c;
--provide-portal-lower-tone: #3A8FA3;
--monitor-portal-lower-tone: #7c9144;
--connect-portal-lower-tone: #b48536;
--develop-portal-lower-tone: #9f4e7e;
}
.tm-toolbar .uk-subnav-line .custom-explore-li {
background:var(--portal-main-color) !important;
}
.mainPageSearchForm{
background-image: /*linear-gradient(rgba(255, 255, 255, 0.5),rgba(255, 255, 255, 0.5)),*/ url('home.jpg');
}
.mainPageBottomInfo{
background: linear-gradient( rgba(255, 255, 255, 0.5),rgba(255, 255, 255, 0.5)), url('home.jpg');
background-attachment: scroll, scroll;
background-size: auto auto, auto auto;
background-size: cover;
background-attachment: fixed;
box-sizing: border-box;
min-height: calc(100vh - 412.767px);
}
.box-links .uk-card-header:hover {
text-decoration: underline;
text-decoration-color: currentcolor;
text-decoration-color: #90929D;
}
.searchForm, .generalSearchForm,
.publicationsSearchForm,
.projectsSearchForm, .projectsTableSearchForm,
.organizationsSearchForm,
.datasetsSearchForm,
.softwareSearchForm,
.orpsSearchForm,
.datasourcesSearchForm, .compatibleDatasourcesSearchForm, .compatibleDatasourcesTableSearchForm, .datasourcesTableSearchForm,
.journalsSearchForm, .journalsTableSearchForm,
.entityRegistriesSearchForm, .entityRegistriesTableSearchForm {
background: url('./Εxplore-sub.jpg') right !important;
}
.ask-explore.uk-grid-divider > :not(.uk-first-column)::before {
border-left: 1px solid var(--portal-main-color) ;
}
.questions .tm-child-list-divider > ul > li:nth-child(n+2), .questions .uk-list-divider > li:nth-child(n+2) {
border-top: 1px solid #c5c5c5;
}
.questions {
font-size: 15px;
font-weight: bold;
color: #4687E6;
}
.uk-card-explore {
background-color: var(--portal-main-color);
color: #fff !important;
}
.uk-card-explore .uk-h3 {
color: #fff !important;
}
.uk-card-explore .uk-h6 a {
color: #fff !important;
text-decoration: underline;
}
.uk-card-explore .uk-h5 {
color: #fff !important;
text-transform: uppercase;
font-size: 15px;
font-weight: bolder;
}
.emphasis {
color: #000;
font-size: 17px;
font-weight: bold;
}
.portal-color.emphasis {
color: #37C7E9;
font-size: 60px;
font-weight: 300;
}

View File

@ -1,53 +0,0 @@
/* Canada Aggregator */
@aggregator-color: #E80000;
@aggregator-light-color: #E80000;
@aggregator-dark-color: #AD0000;
@aggregator-secondary-color: #AD0000;
//@global-primary-gradient: linear-gradient(104deg, @aggregator-dark-color 0%, @aggregator-light-color 100%);
@global-primary-gradient: @aggregator-light-color;
/* Button */
@button-primary-background: @aggregator-color;
@inverse-button-primary-background: @aggregator-color;
@button-primary-hover-background: @aggregator-secondary-color;
@button-primary-active-background: @aggregator-secondary-color;
/* Background */
@background-primary-background: @aggregator-color;
@background-primary-background-gradient: none;
/* Text */
@text-primary-color: @aggregator-color;
/* Label */
@label-secondary-color: @aggregator-color;
/* General */
@general-tab-featured-tab: @aggregator-color;
/* Landing */
@landing-portal-color: @aggregator-color;
//.deposit {
// @import (multiple) "~src/assets/openaire-theme/less/_import";
//}
a.uk-link-text:hover {
color: @aggregator-dark-color;
}
.search-form {
background-color: rgba(173, 0, 0, 0.7);
}
.graph-background {
background-size: cover !important;
padding-bottom: 100px;
background-color: #FAFAFA !important;
background: url('canada-background.svg') no-repeat bottom;
}
.numbers-background {
background: transparent url('numbers_background_pattern.svg') repeat-x center bottom !important;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 KiB

@ -1 +1 @@
Subproject commit 0c6b2ac12b4796e41bf4cc8de93c157efa866543
Subproject commit 318c6560565a7a0da818385de27ebb430b22aea3

View File

@ -0,0 +1,99 @@
{
"environment" : "production",
"enablePiwikTrack" : false,
"enableHelper" : true,
"useCache" : false,
"metricsAPIURL" : "https://beta.services.openaire.eu/usagestats/",
"framesAPIURL" : "https://beta.openaire.eu/stats3/",
"statisticsAPIURL" : "http://vatopedi.di.uoa.gr:8080/stats/",
"statisticsFrameAPIURL":"https://beta.openaire.eu/stats/",
"claimsAPIURL" : "http://scoobydoo.di.uoa.gr:8080/dnet-claims-service-2.0.0-SNAPSHOT/rest/claimsService/",
"searchAPIURLLAst" : "https://beta.services.openaire.eu/search/v2/api/",
"searchResourcesAPIURL" : "https://beta.services.openaire.eu/search/v2/api/resources",
"openCitationsAPIURL" : "https://services.openaire.eu/opencitations/getCitations?id=",
"csvAPIURL" : "https://beta.services.openaire.eu/search/v2/api/reports",
"searchCrossrefAPIURL" : "https://api.crossref.org/works",
"searchDataciteAPIURL" : "https://api.datacite.org/works",
"searchOrcidURL" : "https://pub.orcid.org/v2.1/",
"orcidURL" : "https://orcid.org/",
"pmidURL" : "http://www.ncbi.nlm.nih.gov/pubmed/",
"doiURL" : "https://dx.doi.org/",
"cordisURL" : "http://cordis.europa.eu/projects/",
"pmcURL" : "http://europepmc.org/articles/",
"handleURL" : "http://hdl.handle.net/",
"openDoarURL": "http://v2.sherpa.ac.uk/id/repository/",
"r3DataURL": "http://service.re3data.org/repository/",
"zenodo" : "https://zenodo.org/",
"openAccess" : "https://www.openaire.eu/support/faq#article-id-234",
"openAccessRepo" : "https://www.openaire.eu/support/faq#article-id-310",
"fp7Guidlines" : "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme",
"h2020Guidlines" : "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020",
"ercGuidlines" : "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf",
"helpdesk" : "https://www.openaire.eu/support/helpdesk",
"uploadService" : "http://scoobydoo.di.uoa.gr:8000/upload",
"vocabulariesAPI" :"https://dev-openaire.d4science.org/provision/mvc/vocabularies/",
"piwikBaseUrl" :"https://analytics.openaire.eu/piwik.php?idsite=",
"piwikSiteId" : "6",
"loginUrl" :"http://scoobydoo.di.uoa.gr:8080/dnet-openaire-users-1.0.0-SNAPSHOT/openid_connect_login",
"userInfoUrl" : "http://rudie.di.uoa.gr:8080/dnet-openaire-users-1.0.0-SNAPSHOT/api/users/getUserInfo?accessToken=",
"logoutUrl" :"https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=",
"cookieDomain" :".di.uoa.gr",
"feedbackmail" :"openaire.test@gmail.com",
"helperPageUrl" :"http://scoobydoo.di.uoa.gr:16000/api/page/route",
"cacheUrl" :"http://scoobydoo.di.uoa.gr:3000/get?url=",
"adminToolsAPIURL" :"http://mpagasas.di.uoa.gr:8080/uoa-admin-tools/",
"adminToolsCommunity" :null,
"datasourcesAPI": "https://beta.services.openaire.eu/openaire/ds/search/",
"contextsAPI":"https://dev-openaire.d4science.org/openaire/context",
"communityAPI": "https://dev-openaire.d4science.org/openaire/community/",
"csvLimit": 2000,
"pagingLimit": 20,
"resultsPerPage": 10,
"baseLink" : "https://beta.explore.openaire.eu",
"searchLinkToPublication" : "/search/publication?articleId=",
"searchLinkToProject" : "/search/project?projectId=",
"searchLinkToDataProvider" : "/search/dataprovider?datasourceId=",
"searchLinkToDataset" : "/search/dataset?datasetId=",
"searchLinkToOrp" : "/search/other?orpId=",
"searchLinkToOrganization" : "/search/organization?organizationId=",
"searchLinkToPublications" : "/search/find/publications",
"searchLinkToDataProviders" : "/search/find/dataproviders",
"searchLinkToProjects" : "/search/find/projects",
"searchLinkToDatasets" : "/search/find/datasets",
"searchLinkToSoftware" : "/search/find/software",
"searchLinkToOrps" : "/search/find/other",
"searchLinkToOrganizations" : "/search/find/organizations",
"searchLinkToCompatibleDataProviders" : "/search/content-providers",
"searchLinkToCompatibleDataProvidersTable" : "/search/content-providers-table",
"searchLinkToEntityRegistriesDataProviders" : "/search/entity-registries",
"searchLinkToEntityRegistriesDataProvidersTable" : "/search/entity-registries-table",
"searchLinkToJournals" : "/search/journals",
"searchLinkToJournalsTable" : "/search/journals-table",
"searchLinkToAdvancedPublications" : "/search/advanced/publications",
"searchLinkToAdvancedProjects" : "/search/advanced/projects",
"searchLinkToAdvancedDatasets" : "/search/advanced/datasets",
"searchLinkToAdvancedSoftware" : "/search/advanced/software",
"searchLinkToAdvancedOrps" : "/search/advanced/other",
"searchLinkToAdvancedDataProviders" : "/search/advanced/dataproviders",
"searchLinkToAdvancedOrganizations" : "/search/advanced/organizations",
"lastIndexInformationLink" : "https://www.openaire.eu/aggregation-and-content-provision-workflows",
"showLastIndexInformationLink" : false,
"widgetLink" : "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
"claimsInformationLink": "https://www.openaire.eu/linking-beta"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

@ -1 +0,0 @@
Subproject commit 5c7af220c1de2c87d393e2636cdf18805a97e6a1

View File

@ -1,27 +1,11 @@
/*new theme */
:root {
--primary-color: #E80000;
/*buttons*/
/*--button-primary-background: var(--primary-color);*/
/*--button-primary-background-image: linear-gradient(104deg, var(--explore-dark-color) 0%, var(--explore-light-color) 100%);*/
/*backgrounds*/
/*--background-primary:var(--explore-color);*/
/*--background-primary-image:none;*/
/*--background-secondary: var(--grey-color);*/
/*--background-secondary-image:none;*/
/*fonts*/
/*--text-primary-color: var(--explore-color);*/
/*--text-gradient-color: linear-gradient(110deg, var(--explore-dark-color) 0%, var(--explore-light-color) 100%);*/
/* Label */
/*--label-secondary: var(--explore-color);*/
/*slider*/
/*--slider-dot-background: rgba(var(--explore-color-rgb), 0.5);*/
/*--slider-dot-active-background: var(--explore-color);*/
--portal-main-color: #2d72d6;
--portal-main-contrast: white;
--portal-dark-color: #313179;
--openaire-main-color: #313179;
--graph-background: no-repeat bottom;;
}
.graph-background {
background-size: cover !important;
padding-bottom: 100px;
@ -31,8 +15,7 @@
.mainPageSearchForm{
background-color: white !important;
background-image: none !important;
margin-bottom: 20px;
margin-bottom: 100px;
}
.searchForm, .generalSearchForm,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@ -3,11 +3,12 @@ import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-propert
export let properties: EnvProperties = {
environment: "beta",
adminToolsPortalType: "aggregator",
dashboard: "aggregator",
dashboard: "explore",
enablePiwikTrack: true,
useCache: false,
useLongCache: true,
showAddThis: true,
metricsAPIURL: "https://beta.services.openaire.eu/usagestats/",
framesAPIURL: "https://beta.openaire.eu/stats3/",
statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/",
statisticsFrameAPIURL: "https://beta.openaire.eu/stats/",
@ -22,10 +23,6 @@ export let properties: EnvProperties = {
searchDataciteAPIURL: "https://api.datacite.org/works",
searchOrcidURL: "https://pub.orcid.org/v2.1/",
orcidURL: "https://orcid.org/",
orcidAPIURL: "https://services.openaire.eu/uoa-orcid-service/",
orcidTokenURL : "https://orcid.org/oauth/authorize?",
orcidClientId: "APP-IN0O56SBVVTB7NN4",
myOrcidLinksPage: "/my-orcid-links",
doiURL: "https://dx.doi.org/",
pmcURL: "http://europepmc.org/articles/",
pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
@ -33,8 +30,6 @@ export let properties: EnvProperties = {
cordisURL: "http://cordis.europa.eu/projects/",
openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
r3DataURL: "http://service.re3data.org/repository/",
fairSharingURL: "https://fairsharing.org/",
eoscMarketplaceURL: "https://marketplace.eosc-portal.eu/services/",
sherpaURL: "http://sherpa.ac.uk/romeo/issn/",
sherpaURLSuffix: "/",
zenodo: "https://zenodo.org/",
@ -51,9 +46,11 @@ export let properties: EnvProperties = {
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
piwikSiteId: "553",
loginUrl: "https://beta.services.openaire.eu/login-service/openid_connect_login",
userInfoUrl: "https://beta.services.openaire.eu/login-service/userInfo",
logoutUrl: "https://beta.services.openaire.eu/login-service/openid_logout",
loginUrl: "https://beta.services.openaire.eu/explore-login/openid_connect_login",
userInfoUrl: "https://beta.services.openaire.eu/uoa-user-management/api/users/getUserInfo?accessToken=",
logoutUrl: "https://beta.services.openaire.eu/explore-login/openid_logout",
cookieDomain: ".openaire.eu",
@ -80,7 +77,6 @@ export let properties: EnvProperties = {
searchLinkToPublication: "/search/publication?articleId=",
searchLinkToProject: "/search/project?projectId=",
searchLinkToDataProvider: "/search/dataprovider?datasourceId=",
searchLinkToService: "/search/service?serviceId=",
searchLinkToDataset: "/search/dataset?datasetId=",
searchLinkToSoftwareLanding: "/search/software?softwareId=",
searchLinkToOrp: "/search/other?orpId=",
@ -88,7 +84,6 @@ export let properties: EnvProperties = {
searchLinkToPublications: "/search/find/publications",
searchLinkToDataProviders: "/search/find/dataproviders",
searchLinkToServices: "/search/find/services",
searchLinkToProjects: "/search/find/projects",
searchLinkToDatasets: "/search/find/datasets",
searchLinkToSoftware: "/search/find/software",
@ -96,7 +91,9 @@ export let properties: EnvProperties = {
searchLinkToOrganizations: "/search/find/organizations",
searchLinkToCompatibleDataProviders: "/search/content-providers",
searchLinkToEntityRegistriesDataProviders: "/search/entity-registries",
searchLinkToEntityRegistriesDataProvidersTable: "/search/entity-registries-table",
searchLinkToJournals: "/search/journals",
searchLinkToJournalsTable: "/search/journals-table",
searchLinkToResults: "/search/find/research-outcomes",
searchLinkToAdvancedPublications: "/search/advanced/publications",
@ -105,12 +102,9 @@ export let properties: EnvProperties = {
searchLinkToAdvancedSoftware: "/search/advanced/software",
searchLinkToAdvancedOrps: "/search/advanced/other",
searchLinkToAdvancedDataProviders: "/search/advanced/dataproviders",
searchLinkToAdvancedServices: "/search/advanced/services",
searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
errorLink: "/error",
lastIndexInformationLink: "https://beta.openaire.eu/aggregation-and-content-provision-workflows",
showLastIndexInformationLink: true,
widgetLink: "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
@ -121,7 +115,5 @@ export let properties: EnvProperties = {
depositLearnHowPage: "/participate/deposit/learn-how",
depositSearchPage: "/participate/deposit/search",
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
footerGrantText : "This OpenAIRE gateway is part of a project that has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreements No. 777541 and 101017452"
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P"
};

View File

@ -3,16 +3,17 @@ import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-propert
export let properties: EnvProperties = {
environment: "production",
adminToolsPortalType: "aggregator",
dashboard: "aggregator",
dashboard: "explore",
enablePiwikTrack: true,
useCache: false,
useLongCache: true,
showAddThis: true,
metricsAPIURL: "https://services.openaire.eu/usagestats/",
framesAPIURL: "https://www.openaire.eu/stats3/",
statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/",
statisticsFrameAPIURL: "https://www.openaire.eu/stats/",
statisticsFrameNewAPIURL: "https://services.openaire.eu/stats-tool/",
useNewStatistisTool: true,
statisticsFrameNewAPIURL: "https://services.openaire.eu/stats/",
useNewStatistisTool: false,
claimsAPIURL: "https://services.openaire.eu/claims/rest/claimsService/",
searchAPIURLLAst: "https://services.openaire.eu/search/v2/api/",
searchResourcesAPIURL: "https://services.openaire.eu/search/v2/api/resources",
@ -22,10 +23,6 @@ export let properties: EnvProperties = {
searchDataciteAPIURL: "https://api.datacite.org/works",
searchOrcidURL: "https://pub.orcid.org/v2.1/",
orcidURL: "https://orcid.org/",
orcidAPIURL: "https://services.openaire.eu/uoa-orcid-service/",
orcidTokenURL : "https://orcid.org/oauth/authorize?",
orcidClientId: "APP-IN0O56SBVVTB7NN4",
myOrcidLinksPage: "/my-orcid-links",
doiURL: "https://dx.doi.org/",
pmcURL: "http://europepmc.org/articles/",
pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
@ -33,8 +30,6 @@ export let properties: EnvProperties = {
cordisURL: "http://cordis.europa.eu/projects/",
openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
r3DataURL: "http://service.re3data.org/repository/",
fairSharingURL: "https://fairsharing.org/",
eoscMarketplaceURL: "https://marketplace.eosc-portal.eu/services/",
sherpaURL: "http://sherpa.ac.uk/romeo/issn/",
sherpaURLSuffix: "/",
zenodo: "https://zenodo.org/",
@ -51,10 +46,12 @@ export let properties: EnvProperties = {
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
piwikSiteId: "553",
loginUrl: "https://services.openaire.eu/uoa-user-management/openid_connect_login",
userInfoUrl: " https://services.openaire.eu/uoa-user-management/api/users/getUserInfo?accessToken=",
logoutUrl: "https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=",
loginUrl: "https://services.openaire.eu/login-service/openid_connect_login",
userInfoUrl: "https://services.openaire.eu/login-service/userInfo",
logoutUrl: "https://services.openaire.eu/login-service/openid_logout",
cookieDomain: ".openaire.eu",
feedbackmail: "feedback@openaire.eu",
@ -82,7 +79,6 @@ export let properties: EnvProperties = {
searchLinkToPublication: "/search/publication?articleId=",
searchLinkToProject: "/search/project?projectId=",
searchLinkToDataProvider: "/search/dataprovider?datasourceId=",
searchLinkToService: "/search/service?serviceId=",
searchLinkToDataset: "/search/dataset?datasetId=",
searchLinkToSoftwareLanding: "/search/software?softwareId=",
searchLinkToOrp: "/search/other?orpId=",
@ -90,7 +86,6 @@ export let properties: EnvProperties = {
searchLinkToPublications: "/search/find/publications",
searchLinkToDataProviders: "/search/find/dataproviders",
searchLinkToServices: "/search/find/services",
searchLinkToProjects: "/search/find/projects",
searchLinkToDatasets: "/search/find/datasets",
searchLinkToSoftware: "/search/find/software",
@ -98,7 +93,9 @@ export let properties: EnvProperties = {
searchLinkToOrganizations: "/search/find/organizations",
searchLinkToCompatibleDataProviders: "/search/content-providers",
searchLinkToEntityRegistriesDataProviders: "/search/entity-registries",
searchLinkToEntityRegistriesDataProvidersTable: "/search/entity-registries-table",
searchLinkToJournals: "/search/journals",
searchLinkToJournalsTable: "/search/journals-table",
searchLinkToResults: "/search/find/research-outcomes",
searchLinkToAdvancedPublications: "/search/advanced/publications",
@ -107,12 +104,9 @@ export let properties: EnvProperties = {
searchLinkToAdvancedSoftware: "/search/advanced/software",
searchLinkToAdvancedOrps: "/search/advanced/other",
searchLinkToAdvancedDataProviders: "/search/advanced/dataproviders",
searchLinkToAdvancedServices: "/search/advanced/services",
searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
errorLink: "/error",
lastIndexInformationLink: "https://www.openaire.eu/aggregation-and-content-provision-workflows",
showLastIndexInformationLink: true,
widgetLink: "https://www.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
@ -123,7 +117,5 @@ export let properties: EnvProperties = {
depositLearnHowPage: "/participate/deposit/learn-how",
depositSearchPage: "/participate/deposit/search",
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
footerGrantText : "This OpenAIRE gateway is part of a project that has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreements No. 777541 and 101017452"
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P"
};

View File

@ -8,30 +8,26 @@ import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-propert
export let properties: EnvProperties = {
environment: "development",
adminToolsPortalType: "aggregator",
dashboard: "aggregator",
dashboard: "explore",
enablePiwikTrack: false,
useCache: false,
useLongCache: false,
useCache: true,
useLongCache: true,
showAddThis: true,
enableEoscDataTransfer: true,
metricsAPIURL: "https://beta.services.openaire.eu/usagestats/",
framesAPIURL: "https://beta.openaire.eu/stats3/",
statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/",
statisticsAPIURL: "http://vatopedi.di.uoa.gr:8080/stats/",
statisticsFrameAPIURL: "https://beta.openaire.eu/stats/",
statisticsFrameNewAPIURL: "https://beta.services.openaire.eu/stats-tool/",
statisticsFrameNewAPIURL: "https://stats.madgik.di.uoa.gr/stats-api/",
useNewStatistisTool: true,
claimsAPIURL: "http://dl170.madgik.di.uoa.gr:8180/dnet-claims-service-2.0.0-SNAPSHOT/rest/claimsService/",
searchAPIURLLAst: "http://beta.services.openaire.eu/search/v2/api/",
searchResourcesAPIURL: "http://beta.services.openaire.eu/search/v2/api/resources",
searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources",
openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",
csvAPIURL: "https://beta.services.openaire.eu/search/v2/api/reports",
searchCrossrefAPIURL: "https://api.crossref.org/works",
searchDataciteAPIURL: "https://api.datacite.org/works",
searchOrcidURL: "https://pub.orcid.org/v2.1/",
orcidURL: "https://orcid.org/",
orcidAPIURL: "http://duffy.di.uoa.gr:19480/uoa-orcid-service/",
orcidTokenURL : "https://sandbox.orcid.org/oauth/authorize?",
orcidClientId: "APP-A5M3KTX6NCN67L91",
myOrcidLinksPage: "/my-orcid-links",
doiURL: "https://dx.doi.org/",
pmcURL: "http://europepmc.org/articles/",
pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
@ -39,8 +35,6 @@ export let properties: EnvProperties = {
cordisURL: "http://cordis.europa.eu/projects/",
openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
r3DataURL: "http://service.re3data.org/repository/",
fairSharingURL: "https://fairsharing.org/",
eoscMarketplaceURL: "https://marketplace.eosc-portal.eu/services/",
sherpaURL: "http://sherpa.ac.uk/romeo/issn/",
sherpaURLSuffix: "/",
zenodo: "https://zenodo.org/",
@ -57,9 +51,9 @@ export let properties: EnvProperties = {
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
piwikSiteId: "6",
loginUrl: "http://mpagasas.di.uoa.gr:19080/login-service/openid_connect_login",
userInfoUrl: "http://mpagasas.di.uoa.gr:19080/login-service/userInfo",
logoutUrl: "http://mpagasas.di.uoa.gr:19080/login-service/openid_logout",
loginUrl: "http://mpagasas.di.uoa.gr:8080/login-service/openid_connect_login",
userInfoUrl: "http://mpagasas.di.uoa.gr:8080/login-service/userInfo",
logoutUrl: "http://mpagasas.di.uoa.gr:8080/login-service/openid_logout",
cookieDomain: ".di.uoa.gr",
@ -68,7 +62,7 @@ export let properties: EnvProperties = {
cacheUrl: "http://dl170.madgik.di.uoa.gr:3000/get?url=",
adminToolsCommunity: "aggregator",
adminToolsAPIURL: "http://duffy.di.uoa.gr:19280/uoa-admin-tools/",
adminToolsAPIURL: "http://duffy.di.uoa.gr:8080/uoa-admin-tools/",
useHelpTexts: false,
datasourcesAPI: "https://beta.services.openaire.eu/openaire/ds/search/",
contextsAPI: "https://dev-openaire.d4science.org/openaire/context",
@ -79,13 +73,12 @@ export let properties: EnvProperties = {
resultsPerPage: 10,
"baseLink" : "",
"domain": "https://canada.explore.openaire.eu",
"domain": "https://beta.explore.openaire.eu",
searchLinkToResult: "/search/result?id=",
searchLinkToPublication: "/search/publication?articleId=",
searchLinkToProject: "/search/project?projectId=",
searchLinkToDataProvider: "/search/dataprovider?datasourceId=",
searchLinkToService: "/search/service?serviceId=",
searchLinkToDataset: "/search/dataset?datasetId=",
searchLinkToSoftwareLanding: "/search/software?softwareId=",
searchLinkToOrp: "/search/other?orpId=",
@ -93,7 +86,6 @@ export let properties: EnvProperties = {
searchLinkToPublications: "/search/find/publications",
searchLinkToDataProviders: "/search/find/dataproviders",
searchLinkToServices: "/search/find/services",
searchLinkToProjects: "/search/find/projects",
searchLinkToDatasets: "/search/find/datasets",
searchLinkToSoftware: "/search/find/software",
@ -101,7 +93,9 @@ export let properties: EnvProperties = {
searchLinkToOrganizations: "/search/find/organizations",
searchLinkToCompatibleDataProviders: "/search/content-providers",
searchLinkToEntityRegistriesDataProviders: "/search/entity-registries",
searchLinkToEntityRegistriesDataProvidersTable: "/search/entity-registries-table",
searchLinkToJournals: "/search/journals",
searchLinkToJournalsTable: "/search/journals-table",
searchLinkToResults: "/search/find/research-outcomes",
searchLinkToAdvancedPublications: "/search/advanced/publications",
@ -110,12 +104,9 @@ export let properties: EnvProperties = {
searchLinkToAdvancedSoftware: "/search/advanced/software",
searchLinkToAdvancedOrps: "/search/advanced/other",
searchLinkToAdvancedDataProviders: "/search/advanced/dataproviders",
searchLinkToAdvancedServices: "/search/advanced/services",
searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
errorLink: "/error",
lastIndexInformationLink: "https://www.openaire.eu/aggregation-and-content-provision-workflows",
showLastIndexInformationLink: true,
widgetLink: "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
@ -126,6 +117,5 @@ export let properties: EnvProperties = {
depositLearnHowPage: "/participate/deposit/learn-how",
depositSearchPage: "/participate/deposit/search",
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
reCaptchaSiteKey: null,
footerGrantText : "This OpenAIRE gateway is part of a project that has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreements No. 777541 and 101017452"
reCaptchaSiteKey: "6LcVtFIUAAAAAB2ac6xYivHxYXKoUvYRPi-6_rLu"
};

View File

@ -43,9 +43,9 @@
<title>Search OpenAIRE</title>
</head>
<body>
<div class="uk-offcanvas-content uk-height-viewport">
<app-root></app-root>
</div>
<div class="uk-offcanvas-content uk-height-viewport">
<app-root></app-root>
</div>
</body>
<script type="text/javascript">
function loadAltmetrics(e,t,n){

View File

@ -12,4 +12,4 @@ if (properties.environment !== "development") {
}
export { AppServerModule } from './app/app.server.module';
export { renderModule } from '@angular/platform-server';
export { renderModule, renderModuleFactory } from '@angular/platform-server';

9
src/material.scss Normal file
View File

@ -0,0 +1,9 @@
@import '~@angular/material/theming';
@include mat-core();
$my-app-primary: mat-palette($mat-gray, 900);
$my-app-accent: mat-palette($mat-light-green, 700);
$my-app-theme: mat-light-theme($my-app-primary, $my-app-accent);
@include angular-material-theme($my-app-theme);

View File

@ -22,6 +22,16 @@ import '@angular/localize/init';
* BROWSER POLYFILLS
*/
/** IE10 and IE11 requires the following for NgClass support on SVG elements */
// import 'classlist.js'; // Run `npm install --save classlist.js`.
/**
* Web Animations `@angular/platform-browser/animations`
* Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
* Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
*/
// import 'web-animations-js'; // Run `npm install --save web-animations-js`.
/**
* By default, zone.js will patch all possible macroTask and DomEvents
* user can disable parts of macroTask/DomEvents patch by setting following flags
@ -49,7 +59,7 @@ import '@angular/localize/init';
/***************************************************************************************************
* Zone JS is required by default for Angular itself.
*/
import 'zone.js'; // Included with Angular CLI.
import 'zone.js/dist/zone'; // Included with Angular CLI.
/***************************************************************************************************

5
src/styles.css Normal file
View File

@ -0,0 +1,5 @@
/* You can add global styles to this file, and also import other style files */
@import "assets/common-assets/common/theme.css";
@import "assets/common-assets/common/custom.css";
@import "assets/common-assets/library.css";
@import "assets/portal-custom.css";

View File

@ -1,7 +0,0 @@
/* You can add global styles to this file, and also import other style files */
@import "~src/assets/openaire-theme/less/_import";
@import "~src/assets/common-assets/less/general";
@import "~src/assets/common-assets/less/user";
@import "~src/assets/common-assets/less/linking";
@import "~src/assets/common-assets/less/landing";
@import "assets/canada-custom";

View File

@ -1,6 +1,6 @@
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
import 'zone.js/testing';
import 'zone.js/dist/zone-testing';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
@ -12,9 +12,7 @@ declare const require: any;
// First, initialize the Angular testing environment.
getTestBed().initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting(), {
teardown: { destroyAfterEach: false }
}
platformBrowserDynamicTesting()
);
// Then we find all the tests.
const context = require.context('./', true, /\.spec\.ts$/);

View File

@ -8,9 +8,10 @@
"declaration": false,
"module": "es2020",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es2020",
"target": "es2015",
"typeRoots": [
"node_modules/@types"
],