Compare commits
105 Commits
production
...
master
Author | SHA1 | Date |
---|---|---|
Konstantina Galouni | 5a90938545 | |
Konstantina Galouni | b2d69e938e | |
argirok | c00119dcc3 | |
Alex Martzios | 9f67013ad0 | |
Konstantina Galouni | 734d7897ee | |
Konstantina Galouni | 5ad24057ad | |
Konstantina Galouni | d58964f931 | |
Konstantina Galouni | 9eb97022da | |
Konstantina Galouni | 0891bd6b72 | |
Konstantina Galouni | ac835f379b | |
Alex Martzios | c42450c633 | |
Alex Martzios | fc8c98935b | |
Alex Martzios | 84464efac3 | |
Alex Martzios | 623c5fbc6e | |
Alex Martzios | a36c695d2b | |
Konstantina Galouni | 3ae3be6649 | |
Konstantina Galouni | 0d9736b5a7 | |
Konstantina Galouni | 2df2661184 | |
Konstantina Galouni | 224ad78c22 | |
Konstantina Galouni | ca8fbac27c | |
Konstantina Galouni | 2b9c69fa99 | |
Konstantina Galouni | 07c6c04ed7 | |
Konstantina Galouni | 07c584e82c | |
Konstantina Galouni | 4779fbb4a4 | |
Konstantina Galouni | 4dc668ef34 | |
Konstantina Galouni | 9ae560d20b | |
Konstantina Galouni | d96e5abcea | |
Konstantina Galouni | 27a08bdad6 | |
Konstantina Galouni | 557fd10d27 | |
Konstantina Galouni | 95450efb13 | |
Konstantina Galouni | 1f74535144 | |
Konstantina Galouni | 9440f37c50 | |
Konstantina Galouni | a2eea5da72 | |
Konstantina Galouni | 4c80f751d4 | |
Konstantina Galouni | 9c06b32a65 | |
Konstantina Galouni | a5a26bc593 | |
Konstantina Galouni | 2f83388fce | |
Konstantinos Triantafyllou | 79a6069432 | |
Alex Martzios | 9b0d4f4371 | |
Alex Martzios | 01aef27350 | |
Alex Martzios | 923ce868a7 | |
Alex Martzios | 58304ee33d | |
Alex Martzios | 84d691c407 | |
Alex Martzios | e691294aa2 | |
Alex Martzios | 6a8535087e | |
Alex Martzios | 4cf596099d | |
Alex Martzios | 2a17731231 | |
Alex Martzios | 1eacb4dbec | |
Alex Martzios | 9d49d877fd | |
Alex Martzios | 8484ca32b9 | |
Alex Martzios | 7b79d9e71b | |
Konstantina Galouni | dc784afe4b | |
Konstantina Galouni | 9b22660e8a | |
Konstantina Galouni | f5968ca7b5 | |
argirok | 1da2632c2e | |
argirok | 1839b3a82a | |
argirok | 513bb83769 | |
Konstantina Galouni | d2a90a4b7b | |
Konstantina Galouni | 844832d97a | |
argirok | 34f176f9fd | |
argirok | ae08a296cf | |
Konstantina Galouni | 44ed7c37f8 | |
argirok | 68ef4a96b9 | |
Konstantina Galouni | 82913f68a2 | |
Konstantina Galouni | 9898990385 | |
Konstantina Galouni | 723dc20219 | |
Konstantina Galouni | a551ed38a9 | |
Konstantina Galouni | 8629d61a95 | |
Konstantina Galouni | 644e884b00 | |
argirok | 0cf54149bb | |
Konstantina Galouni | 1e30595f3d | |
Konstantina Galouni | 586b81311a | |
argirok | ce0733f17d | |
argirok | 3d578992d6 | |
argirok | 43773285db | |
argirok | 5d6d7bcc78 | |
argirok | e233a32875 | |
Konstantina Galouni | a76954cbbc | |
Konstantina Galouni | 6820f4c0ad | |
argirok | 7ffe95f12b | |
argirok | cbc205d2d5 | |
argirok | 3112689645 | |
argirok | 1927b04d7a | |
argirok | 4f9fdce645 | |
Konstantina Galouni | 2b620d4e26 | |
Konstantina Galouni | 1500084e78 | |
Konstantina Galouni | e2ca8d3e4b | |
Konstantina Galouni | 0bd5589342 | |
Konstantina Galouni | bdda998127 | |
Konstantina Galouni | 12d4473e54 | |
Konstantina Galouni | 19dbcf328d | |
Konstantina Galouni | c142a5fe21 | |
argirok | 3b3f1e38d7 | |
argirok | fff6a016a8 | |
argirok | 2f32fd705b | |
argirok | 6259a84df6 | |
argirok | b80ef7d32e | |
argirok | 424eff78a1 | |
argirok | 87865d6ba1 | |
argirok | 38bba7440b | |
argirok | 120983b937 | |
argirok | 21b67013ed | |
argirok | 7476cd68b4 | |
argirok | aa00582f7e | |
argirok | be8c7629d1 |
|
@ -1,3 +1,4 @@
|
|||
.angular/
|
||||
node_modules/
|
||||
dist/
|
||||
.idea/
|
||||
|
|
|
@ -4,3 +4,6 @@
|
|||
[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
|
||||
|
|
85
angular.json
85
angular.json
|
@ -22,7 +22,6 @@
|
|||
"skipTests": true
|
||||
},
|
||||
"@schematics/angular:module": {
|
||||
"skipTests": true
|
||||
},
|
||||
"@schematics/angular:pipe": {
|
||||
"skipTests": true
|
||||
|
@ -35,7 +34,6 @@
|
|||
"build": {
|
||||
"builder": "@angular-devkit/build-angular:browser",
|
||||
"options": {
|
||||
"aot": true,
|
||||
"outputPath": "dist/aggregator/browser",
|
||||
"index": "src/index.html",
|
||||
"main": "src/main.ts",
|
||||
|
@ -46,23 +44,34 @@
|
|||
"src/robots.txt"
|
||||
],
|
||||
"styles": [
|
||||
"src/styles.css",
|
||||
"src/material.scss"
|
||||
"src/styles.less",
|
||||
"src/assets/common-assets/library-css/material.scss"
|
||||
],
|
||||
"scripts": [
|
||||
"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/uikit/dist/js/uikit.min.js",
|
||||
"node_modules/uikit/dist/js/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": true,
|
||||
"optimization": {
|
||||
"scripts": true,
|
||||
"styles": {
|
||||
"minify": true,
|
||||
"inlineCritical": false
|
||||
},
|
||||
"fonts": true
|
||||
},
|
||||
"outputHashing": "all",
|
||||
"sourceMap": false,
|
||||
"namedChunks": false,
|
||||
"aot": true,
|
||||
"extractLicenses": true,
|
||||
"vendorChunk": false,
|
||||
"buildOptimizer": true,
|
||||
|
@ -97,11 +106,17 @@
|
|||
"with": "src/environments/environment.beta.ts"
|
||||
}
|
||||
],
|
||||
"optimization": true,
|
||||
"optimization": {
|
||||
"scripts": true,
|
||||
"styles": {
|
||||
"minify": true,
|
||||
"inlineCritical": false
|
||||
},
|
||||
"fonts": true
|
||||
},
|
||||
"outputHashing": "all",
|
||||
"sourceMap": false,
|
||||
"namedChunks": false,
|
||||
"aot": true,
|
||||
"extractLicenses": true,
|
||||
"vendorChunk": false,
|
||||
"buildOptimizer": true,
|
||||
|
@ -136,11 +151,17 @@
|
|||
"with": "src/environments/environment.prod.ts"
|
||||
}
|
||||
],
|
||||
"optimization": true,
|
||||
"optimization": {
|
||||
"scripts": true,
|
||||
"styles": {
|
||||
"minify": true,
|
||||
"inlineCritical": false
|
||||
},
|
||||
"fonts": true
|
||||
},
|
||||
"outputHashing": "all",
|
||||
"sourceMap": false,
|
||||
"namedChunks": false,
|
||||
"aot": true,
|
||||
"extractLicenses": true,
|
||||
"vendorChunk": false,
|
||||
"buildOptimizer": true,
|
||||
|
@ -156,7 +177,8 @@
|
|||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"defaultConfiguration": ""
|
||||
},
|
||||
"serve": {
|
||||
"builder": "@angular-devkit/build-angular:dev-server",
|
||||
|
@ -191,24 +213,14 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
"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"
|
||||
"tsConfig": "src/tsconfig.server.json",
|
||||
"sourceMap": true,
|
||||
"optimization": false
|
||||
},
|
||||
"configurations": {
|
||||
"development": {
|
||||
|
@ -238,7 +250,8 @@
|
|||
"sourceMap": false,
|
||||
"optimization": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"defaultConfiguration": ""
|
||||
},
|
||||
"serve-ssr": {
|
||||
"builder": "@nguniversal/builders:ssr-dev-server",
|
||||
|
@ -284,18 +297,12 @@
|
|||
"devServerTarget": "aggregator:serve:production"
|
||||
}
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"builder": "@angular-devkit/build-angular:tslint",
|
||||
"options": {
|
||||
"tsConfig": "e2e/tsconfig.e2e.json",
|
||||
"exclude": [
|
||||
"**/node_modules/**"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"defaultProject": "aggregator"
|
||||
"defaultProject": "aggregator",
|
||||
"cli": {
|
||||
"analytics": false
|
||||
}
|
||||
}
|
||||
|
|
47
package.json
47
package.json
|
@ -7,7 +7,7 @@
|
|||
"build": "ng build",
|
||||
"build-dev": "ng build --configuration=development",
|
||||
"build-beta": "ng build --configuration=beta",
|
||||
"build-prod": "ng build --prod",
|
||||
"build-prod": "ng build --configuration production",
|
||||
"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,40 +17,41 @@
|
|||
"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 .git*"
|
||||
"after-build-clean": "rm -rf dist/aggregator/browser/assets/common-assets/.git/ src/app/openaireLibrary/.git node_modules .angular .git*"
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@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",
|
||||
"@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",
|
||||
"clipboard": "^1.5.16",
|
||||
"core-js": "^2.5.4",
|
||||
"express": "^4.15.2",
|
||||
"jquery": "^3.4.1",
|
||||
"ng-recaptcha": "^7.0.1",
|
||||
"ng-recaptcha": "^10.0.0",
|
||||
"prom-client": "^11.3.0",
|
||||
"rxjs": "^6.5.1",
|
||||
"ts-md5": "^1.2.0",
|
||||
"tslib": "^2.0.0",
|
||||
"zone.js": "~0.10.2"
|
||||
"uikit": "3.12.0",
|
||||
"zone.js": "~0.11.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@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",
|
||||
"@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",
|
||||
"@types/express": "^4.17.0",
|
||||
"@types/compression": "^1.7.0",
|
||||
"@types/node": "^12.11.1",
|
||||
|
@ -66,6 +67,6 @@
|
|||
"karma-jasmine-html-reporter": "^1.6.0",
|
||||
"protractor": "~7.0.0",
|
||||
"ts-node": "~7.0.0",
|
||||
"typescript": "~4.0.7"
|
||||
"typescript": "~4.6.4"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import 'zone.js/dist/zone-node';
|
||||
import 'zone.js/node';
|
||||
|
||||
import { ngExpressEngine } from '@nguniversal/express-engine';
|
||||
import * as express from 'express';
|
||||
|
@ -24,6 +24,7 @@ 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');
|
||||
|
|
|
@ -1,40 +1,45 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {Routes, RouterModule, PreloadAllModules} from '@angular/router';
|
||||
import {Router, RouterModule, Routes} 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)
|
||||
loadChildren: () => import('./landingPages/result/libResult.module').then(m => m.LibResultModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/publication',
|
||||
loadChildren: () => import('./landingPages/publication/libPublication.module').then(m => m.LibPublicationModule)
|
||||
loadChildren: () => import('./landingPages/publication/libPublication.module').then(m => m.LibPublicationModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/dataset',
|
||||
loadChildren: () => import('./landingPages/dataset/libDataset.module').then(m => m.LibDatasetModule)
|
||||
loadChildren: () => import('./landingPages/dataset/libDataset.module').then(m => m.LibDatasetModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/software',
|
||||
loadChildren: () => import('./landingPages/software/libSoftware.module').then(m => m.LibSoftwareModule)
|
||||
loadChildren: () => import('./landingPages/software/libSoftware.module').then(m => m.LibSoftwareModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/other',
|
||||
loadChildren: () => import('./landingPages/orp/libOrp.module').then(m => m.LibOrpModule)
|
||||
loadChildren: () => import('./landingPages/orp/libOrp.module').then(m => m.LibOrpModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/project',
|
||||
loadChildren: () => import('./landingPages/project/libProject.module').then(m => m.LibProjectModule)
|
||||
loadChildren: () => import('./landingPages/project/libProject.module').then(m => m.LibProjectModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/dataprovider',
|
||||
loadChildren: () => import('./landingPages/dataProvider/libDataProvider.module').then(m => m.LibDataProviderModule)
|
||||
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}
|
||||
},
|
||||
{
|
||||
path: 'search/organization',
|
||||
loadChildren: () => import('./landingPages/organization/libOrganization.module').then(m => m.LibOrganizationModule)
|
||||
loadChildren: () => import('./landingPages/organization/libOrganization.module').then(m => m.LibOrganizationModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/find',
|
||||
|
@ -52,6 +57,10 @@ 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)
|
||||
|
@ -68,6 +77,10 @@ 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)
|
||||
|
@ -76,23 +89,24 @@ const routes: Routes = [
|
|||
path: 'project-report',
|
||||
loadChildren: () => import('./landingPages/htmlProjectReport/libHtmlProjectReport.module').then(m => m.LibHtmlProjectReportModule)
|
||||
},
|
||||
// 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: '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}
|
||||
},
|
||||
{path: 'user-info', loadChildren: () => import('./login/libUser.module').then(m => m.LibUserModule)},
|
||||
{path: 'error', component: OpenaireErrorPageComponent},
|
||||
{path: '**', pathMatch: 'full', 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)},
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
|
@ -102,4 +116,51 @@ 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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import {Component, Inject, RendererFactory2, ViewEncapsulation} from '@angular/core';
|
||||
import {EnvProperties} from './openaireLibrary/utils/properties/env-properties';
|
||||
import {MenuItem, RootMenuItem} from './openaireLibrary/sharedComponents/menu';
|
||||
import {MenuItem} 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,15 +12,18 @@ 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" portal="aggregator" [properties]=properties [onlyTop]=false
|
||||
<navbar *ngIf="properties && loginCheck && header && showHeader" portal="aggregator" [properties]=properties [onlyTop]=false
|
||||
[user]="user" [userMenuItems]="userMenuItems"
|
||||
[communityId]="properties.adminToolsCommunity" [menuItems]=menuItems
|
||||
[userMenu]="true" [header]="header"></navbar>
|
||||
[userMenu]="agg.enableLogin" [header]="header"></navbar>
|
||||
<div class="custom-main-content">
|
||||
<main>
|
||||
<router-outlet></router-outlet>
|
||||
|
@ -31,7 +34,7 @@ import {SmoothScroll} from "./openaireLibrary/utils/smooth-scroll";
|
|||
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="//ec.europa.eu/ipg/basics/legal/cookies/index_en.htm" target="_blank"> Read more <span class="uk-icon">
|
||||
href="https://www.openaire.eu/privacy-policy#cookies" 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>
|
||||
|
@ -42,7 +45,7 @@ import {SmoothScroll} from "./openaireLibrary/utils/smooth-scroll";
|
|||
})
|
||||
export class AppComponent {
|
||||
isClient: boolean = false;
|
||||
menuItems: RootMenuItem [] = [];
|
||||
menuItems: MenuItem [] = [];
|
||||
userMenuItems: MenuItem[] = [];
|
||||
community = null;
|
||||
id: string = null;
|
||||
|
@ -51,19 +54,30 @@ 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) {
|
||||
@Inject(DOCUMENT) private document, private rendererFactory: RendererFactory2, private router: Router, private route: ActivatedRoute) {
|
||||
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;
|
||||
}
|
||||
|
@ -77,6 +91,7 @@ export class AppComponent {
|
|||
logoUrl: this.agg.logoUrl,
|
||||
logoSmallUrl: this.agg.logoUrl,
|
||||
position: 'left',
|
||||
menuPosition: 'center',
|
||||
badge: true
|
||||
};
|
||||
this.buildMenu();
|
||||
|
@ -87,11 +102,12 @@ 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) {
|
||||
|
@ -102,49 +118,32 @@ export class AppComponent {
|
|||
this.userManagementService.clearSubscriptions();
|
||||
this.smoothScroll.clearSubscriptions();
|
||||
}
|
||||
|
||||
|
||||
private buildMenu() {
|
||||
this.menuItems = [
|
||||
{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: []
|
||||
}
|
||||
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"], {}),
|
||||
];
|
||||
let params = {};
|
||||
// params[this.agg.queryFieldName] = this.agg.valueId;
|
||||
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));
|
||||
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));
|
||||
|
||||
}
|
||||
setStyles(){
|
||||
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('}');
|
||||
|
||||
let css:string = this.agg.customCss;
|
||||
try {
|
||||
if( this.document.getElementById('customStyle')){
|
||||
try {
|
||||
|
|
|
@ -5,13 +5,14 @@ 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: '/error', community : 'openaire'
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
}, canDeactivate: [PreviousRouteRecorder]},
|
||||
|
||||
])
|
||||
|
|
|
@ -4,13 +4,14 @@ 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: '/error', community : 'openaire'
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
}, canDeactivate: [PreviousRouteRecorder]},
|
||||
|
||||
])
|
||||
|
|
|
@ -5,13 +5,14 @@ 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: '/error', community : 'openaire'}, canDeactivate: [PreviousRouteRecorder]}])
|
||||
data: {redirect: properties.errorLink, community : 'openaire'}, canDeactivate: [PreviousRouteRecorder]}])
|
||||
]
|
||||
})
|
||||
export class MyClaimsRoutingModule { }
|
||||
|
|
|
@ -28,10 +28,7 @@ import {properties} from "../../../environments/environment";
|
|||
}
|
||||
}
|
||||
public ngOnInit() {
|
||||
this.sub = this.route.data
|
||||
.subscribe((data: { envSpecific: EnvProperties }) => {
|
||||
this.claimsInfoURL = data.envSpecific.claimsInformationLink;
|
||||
this.userInfoURL = data.envSpecific.userInfoUrl;
|
||||
});
|
||||
this.claimsInfoURL = properties.claimsInformationLink;
|
||||
this.userInfoURL = properties.userInfoUrl;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,12 +3,13 @@ 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: '/error'
|
||||
redirect: properties.errorLink
|
||||
}, canDeactivate: [PreviousRouteRecorder], canActivate: [IsRouteEnabled] }
|
||||
|
||||
])
|
||||
|
|
|
@ -3,13 +3,14 @@ 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: '/error'
|
||||
redirect: properties.errorLink
|
||||
}, canDeactivate: [PreviousRouteRecorder], canActivate: [IsRouteEnabled]
|
||||
}
|
||||
|
||||
|
|
|
@ -7,91 +7,82 @@ 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 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="https://graph.openaire.eu/develop/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="https://graph.openaire.eu/develop" target="_blank">OpenAIRE API Documentation</a>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<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>
|
||||
`,
|
||||
styleUrls: ['develop.component.css']
|
||||
})
|
||||
export class DevelopComponent implements OnInit {
|
||||
|
||||
public aggregator: AggregatorInfo = null;
|
||||
public openaireEntities = OpenaireEntities;
|
||||
|
||||
subs: Subscription[] = [];
|
||||
|
||||
constructor(private seoService: SEOService,
|
||||
|
@ -105,34 +96,29 @@ 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(['/error'], {queryParams: {'page': this._router.url}});
|
||||
this._router.navigate([properties.errorLink], {queryParams: {'page': this._router.url}});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -4,16 +4,17 @@ 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, PiwikServiceModule, RouterModule.forChild([
|
||||
{
|
||||
path: '',
|
||||
component: DevelopComponent,
|
||||
canDeactivate: [PreviousRouteRecorder]
|
||||
},
|
||||
])],
|
||||
]), IconsModule],
|
||||
exports: [DevelopComponent]
|
||||
})
|
||||
export class DevelopModule {
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
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 { }
|
|
@ -0,0 +1,16 @@
|
|||
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() {
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
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 { }
|
|
@ -1,188 +1,123 @@
|
|||
<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>
|
||||
</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 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>
|
||||
</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>
|
||||
<!-- Funders Cards -->
|
||||
<div *ngIf=" funders.length" class="uk-section uk-padding-remove-bottom" style="background: linear-gradient(180deg, #FAFAFA 50%, #FFFFFF 55%);">
|
||||
<h3 class="uk-text-center uk-margin-medium-bottom">Our Canadian <span class="uk-text-bold">Funders</span></h3>
|
||||
<!-- TODO: individual component -->
|
||||
<div class="uk-section uk-container uk-container-large">
|
||||
<div class="uk-grid uk-child-width-1-3" uk-grid uk-height-match="target: > div > .uk-card">
|
||||
<div *ngFor="let funder of funders">
|
||||
<div [routerLink]="properties.searchLinkToResults" [queryParams]="funder.params" class="uk-card uk-card-default uk-card-body uk-text-center uk-link">
|
||||
<div class="uk-margin-bottom">
|
||||
<img *ngIf="funder.logo" src={{funder.logo}} style="max-height: 80px;">
|
||||
</div>
|
||||
<div class="uk-margin-bottom">
|
||||
<div class="uk-text-large">{{funder.name}}</div>
|
||||
</div>
|
||||
<div class="uk-margin-bottom">
|
||||
<h5 class="uk-text-bold uk-margin-remove uk-link number">{{funder.publications | number}}</h5> research outcomes found
|
||||
</div>
|
||||
<div>
|
||||
<h5 class="uk-text-bold uk-margin-remove uk-link number">{{(funder.openAccessPublications / funder.publications) * 100 | number : '1.0-0'}}%</h5> Open Access
|
||||
<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>
|
||||
</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>
|
||||
<div class="uk-section" >
|
||||
<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>
|
||||
|
||||
<!--<helper *ngIf="pageContents && pageContents['left'] && pageContents['left'].length > 0"-->
|
||||
<!-- [texts]="pageContents['left']"></helper>-->
|
||||
<!--<div class="uk-section-muted"-->
|
||||
<!-- uk-scrollspy="{"target":"[uk-scrollspy-class]","cls":"uk-animation-fade","delay":false}">-->
|
||||
<!-- <div class="uk-container uk-container-large">-->
|
||||
<!-- <other-portals portal="explore" [properties]="properties"></other-portals>-->
|
||||
<!-- </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 can’t find your research results in OpenAIRE, don’t 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 it’s publications, data or software, select an OpenAIRE compatible repository and share using community standards. Alternatively use Zenodo, a catch-all repository hosted by CERN. All results will be indexed, discoverable and accessible via 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>
|
|
@ -0,0 +1,9 @@
|
|||
@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%);
|
||||
}
|
|
@ -1,21 +1,15 @@
|
|||
import {Component, ViewChild} from '@angular/core';
|
||||
import {ChangeDetectorRef, Component, ViewChild} from '@angular/core';
|
||||
import {Subscription, zip} from 'rxjs';
|
||||
import {ActivatedRoute, Router} from '@angular/router';
|
||||
import {Location} from '@angular/common';
|
||||
import {Router} from '@angular/router';
|
||||
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 {SearchFields} from '../openaireLibrary/utils/properties/searchFields';
|
||||
|
||||
import {OpenaireEntities, 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";
|
||||
|
@ -24,33 +18,24 @@ 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 {NumbersComponent} from "../openaireLibrary/sharedComponents/numbers/numbers.component";
|
||||
import {Numbers, 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();
|
||||
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;
|
||||
public numbers: Numbers = {};
|
||||
properties: EnvProperties = properties;
|
||||
public openaireEntities = OpenaireEntities;
|
||||
public readMore: boolean = false;
|
||||
|
||||
private noOfFunders = 3;
|
||||
public funders = [];
|
||||
|
||||
subs: Subscription[] = [];
|
||||
|
||||
resultsQuickFilter: { filter: Filter, selected: boolean, filterId: string, value: string } = {
|
||||
filter: null,
|
||||
selected: true,
|
||||
|
@ -58,6 +43,7 @@ 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"};
|
||||
|
@ -68,29 +54,22 @@ 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 location: Location, private _piwikService:PiwikService,
|
||||
private _piwikService:PiwikService,
|
||||
private config: ConfigurationService, private _meta: Meta, private _title: Title, private seoService: SEOService,
|
||||
private helper: HelperService
|
||||
private helper: HelperService,
|
||||
private cdr: ChangeDetectorRef
|
||||
) {
|
||||
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() {
|
||||
|
@ -112,37 +91,46 @@ export class HomeComponent {
|
|||
if(this.properties.enablePiwikTrack && (typeof document !== 'undefined')){
|
||||
this.subs.push(this._piwikService.trackView(this.properties, "OpenAIRE").subscribe());
|
||||
}
|
||||
|
||||
//this.config.getCommunityInformation(this.properties, this.properties.adminToolsCommunity ).subscribe(data => {
|
||||
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.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"];
|
||||
}
|
||||
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.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});
|
||||
}
|
||||
if(this.showDatasets){
|
||||
this.resultTypes.values.push({name: "Research data" , id:"datasets",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.showSoftware){
|
||||
this.resultTypes.values.push({name: "Software" , id:"software",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.showOrp){
|
||||
this.resultTypes.values.push({name: "Other research products" , id:"other",selected:true, number:0});
|
||||
if(this.numbersComponent && this.numbersComponent.showOrp){
|
||||
this.resultTypes.values.push({name: this.openaireEntities.OTHER , id:"other",selected:false, number:0});
|
||||
}
|
||||
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 ))));
|
||||
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();
|
||||
}
|
||||
},
|
||||
|
@ -220,7 +208,7 @@ export class HomeComponent {
|
|||
params["f0"] = "q";
|
||||
}
|
||||
if(this.customFilter){
|
||||
params = this.customFilter.getParameters(params);
|
||||
params = this.customFilter.getParameters(params);
|
||||
}
|
||||
return params;
|
||||
}
|
||||
|
@ -277,7 +265,21 @@ export class HomeComponent {
|
|||
}
|
||||
}
|
||||
});
|
||||
// console.log(this.funders);
|
||||
}));
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,8 +24,10 @@ 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 {arrow_right, book, cog, database, earth} from "../openaireLibrary/utils/icons/icons";
|
||||
import {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: [
|
||||
|
@ -38,7 +40,7 @@ import {NumbersModule} from "../openaireLibrary/sharedComponents/numbers/numbers
|
|||
HomeRoutingModule,
|
||||
HelperModule,
|
||||
ErrorMessagesModule,
|
||||
SEOServiceModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule, NumbersModule
|
||||
SEOServiceModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule, NumbersModule, AdvancedSearchInputModule, InputModule
|
||||
],
|
||||
declarations: [
|
||||
HomeComponent
|
||||
|
@ -52,6 +54,6 @@ import {NumbersModule} from "../openaireLibrary/sharedComponents/numbers/numbers
|
|||
})
|
||||
export class HomeModule {
|
||||
constructor(private iconsService: IconsService) {
|
||||
this.iconsService.registerIcons([arrow_right, book, earth, cog, database]);
|
||||
this.iconsService.registerIcons([book, earth, cog, database]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,13 +4,14 @@ 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: '/error'
|
||||
redirect: properties.errorLink
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
|
|
|
@ -4,13 +4,14 @@ 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: '/error'
|
||||
redirect: properties.errorLink
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
|
|
|
@ -4,13 +4,14 @@ 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: '/error'
|
||||
redirect: properties.errorLink
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
|
|
|
@ -3,13 +3,14 @@ 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: '/error'
|
||||
redirect: properties.errorLink
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
|
|
|
@ -4,13 +4,14 @@ 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: '/error'
|
||||
redirect: properties.errorLink
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
|
|
|
@ -4,13 +4,14 @@ 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: '/error'
|
||||
redirect: properties.errorLink
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
|
|
|
@ -3,13 +3,14 @@ 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: '/error', community : 'openaire'
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
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 { }
|
|
@ -0,0 +1,19 @@
|
|||
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 { }
|
|
@ -0,0 +1,20 @@
|
|||
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 ca430fd89f7654bb71f52383bd52bf58e4c70e5f
|
||||
Subproject commit 328198b6a56c3f3ecb38c7928073914a9609ddc0
|
|
@ -0,0 +1,21 @@
|
|||
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 { }
|
|
@ -0,0 +1,16 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-my-orcid-links',
|
||||
template: `
|
||||
<my-orcid-links></my-orcid-links>
|
||||
`
|
||||
})
|
||||
|
||||
export class OpenaireMyOrcidLinksComponent {
|
||||
|
||||
constructor() {}
|
||||
|
||||
public ngOnInit() {}
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
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 { }
|
|
@ -0,0 +1,21 @@
|
|||
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 { }
|
|
@ -0,0 +1,10 @@
|
|||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-orcid',
|
||||
template: `
|
||||
<orcid></orcid>
|
||||
`
|
||||
})
|
||||
|
||||
export class OpenaireOrcidComponent {}
|
|
@ -0,0 +1,24 @@
|
|||
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 { }
|
|
@ -0,0 +1,24 @@
|
|||
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 { }
|
|
@ -0,0 +1,16 @@
|
|||
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() {}
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
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 { }
|
|
@ -0,0 +1,17 @@
|
|||
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 { }
|
|
@ -0,0 +1,26 @@
|
|||
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() {}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
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 { }
|
|
@ -2,13 +2,14 @@ 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: '/error'
|
||||
redirect: properties.errorLink
|
||||
}, canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
|
|
|
@ -4,13 +4,14 @@ 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]="'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/advanced/dataproviders'"
|
||||
[piwikSiteId]="properties.piwikSiteId">
|
||||
<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>
|
||||
|
||||
`
|
||||
|
@ -19,6 +20,7 @@ import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properti
|
|||
export class OpenaireAdvancedSearchDataProvidersComponent {
|
||||
customFilter: SearchCustomFilter = null;
|
||||
properties: EnvProperties;
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
constructor ( ) {}
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
|
|
|
@ -3,13 +3,14 @@ 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: '/error'
|
||||
redirect: properties.errorLink
|
||||
},canDeactivate: [PreviousRouteRecorder]}
|
||||
|
||||
])
|
||||
|
|
|
@ -4,13 +4,14 @@ 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]="'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/advanced/organizations'"
|
||||
[piwikSiteId]="properties.piwikSiteId">
|
||||
<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>
|
||||
|
||||
`
|
||||
|
@ -20,6 +21,7 @@ export class OpenaireAdvancedSearchOrganizationsComponent {
|
|||
|
||||
customFilter:SearchCustomFilter= null;
|
||||
properties: EnvProperties;
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
constructor ( ) {}
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
|
|
|
@ -3,12 +3,13 @@ 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: '/error'
|
||||
redirect: properties.errorLink
|
||||
}, canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
|
|
|
@ -4,12 +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-projects',
|
||||
template: `
|
||||
<search-projects [customFilter]="customFilter" [simpleView]="false" [openaireLink]="'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/advanced/projects'"
|
||||
[piwikSiteId]="properties.piwikSiteId">
|
||||
<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>
|
||||
|
||||
`
|
||||
|
@ -19,6 +20,7 @@ export class OpenaireAdvancedSearchProjectsComponent {
|
|||
|
||||
customFilter:SearchCustomFilter= null;
|
||||
properties: EnvProperties;
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
constructor ( ) {}
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
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 { }
|
|
@ -0,0 +1,35 @@
|
|||
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);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
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 { }
|
|
@ -3,13 +3,14 @@ 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: '/error', community : 'openaire'
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
}, canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
|
|
|
@ -4,12 +4,13 @@ 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]="'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/advanced/research-outcomes'"
|
||||
[piwikSiteId]="properties.piwikSiteId"></search-research-results>
|
||||
<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>
|
||||
`
|
||||
|
||||
})
|
||||
|
@ -17,7 +18,8 @@ export class OpenaireSearchResearchResultsComponent {
|
|||
@Input() searchLink: string = "/search/advanced/research-results";
|
||||
customFilter:SearchCustomFilter= null;
|
||||
properties: EnvProperties;
|
||||
constructor ( ) {}
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
constructor ( ) {}
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
|
||||
|
|
|
@ -3,16 +3,19 @@ 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"></search-all>
|
||||
<search-all logoURL = "/assets/common-assets/logo-small-aggregator.png" name="OpenAIRE" [customFilter]="customFilter" [piwikSiteId]="piwikSiteId"
|
||||
[searchForm]="searchForm"></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);
|
||||
|
|
|
@ -4,13 +4,14 @@ 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: '/error'
|
||||
redirect: properties.errorLink
|
||||
}, canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
|
|
|
@ -4,13 +4,14 @@ 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]="'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/find/dataproviders'"
|
||||
[piwikSiteId]="properties.piwikSiteId">
|
||||
<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>
|
||||
|
||||
`
|
||||
|
@ -18,6 +19,7 @@ import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properti
|
|||
export class OpenaireSearchDataprovidersComponent {
|
||||
customFilter: SearchCustomFilter = null;
|
||||
properties: EnvProperties;
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
constructor ( ) {}
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
|
|
|
@ -2,13 +2,14 @@ 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: '/error'
|
||||
redirect: properties.errorLink
|
||||
}, canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
|
|
|
@ -4,13 +4,14 @@ 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]="'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/find/organizations'"
|
||||
[piwikSiteId]="properties.piwikSiteId">
|
||||
<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>
|
||||
|
||||
`
|
||||
|
@ -19,7 +20,8 @@ import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properti
|
|||
export class OpenaireSearchOrganizationsComponent {
|
||||
customFilter:SearchCustomFilter= null;
|
||||
properties: EnvProperties;
|
||||
constructor ( ) {}
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
constructor ( ) {}
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
|
||||
|
|
|
@ -3,13 +3,14 @@ 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: '/error'
|
||||
redirect: properties.errorLink
|
||||
}, canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
|
|
|
@ -4,21 +4,23 @@ 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]="'https://'+(properties.environment != 'production'?'beta.':'')+'explore.openaire.eu/search/find/projects'"
|
||||
[piwikSiteId]="properties.piwikSiteId">
|
||||
<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>
|
||||
`
|
||||
|
||||
})
|
||||
export class OpenaireSearchProjectsComponent {
|
||||
customFilter: SearchCustomFilter = null;
|
||||
properties: EnvProperties;
|
||||
constructor ( ) {}
|
||||
customFilter: SearchCustomFilter = null;
|
||||
properties: EnvProperties;
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
constructor ( ) {}
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
|
||||
|
|
|
@ -3,13 +3,14 @@ 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: '/error', community : 'openaire'
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
}, canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
|
|
|
@ -4,12 +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-results',
|
||||
template: `
|
||||
<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>
|
||||
<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>
|
||||
`
|
||||
|
||||
})
|
||||
|
@ -17,6 +18,7 @@ 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;
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
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 { }
|
|
@ -0,0 +1,34 @@
|
|||
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);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
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 { }
|
|
@ -10,14 +10,15 @@ 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, mainColor:string=null, darkColor:string=null, background:string=null,graphSectionTitle: string = null, graphSectionText:string = null ) {
|
||||
valueName: string, graphSectionTitle: string = null, graphSectionText:string = null, enableLogin:boolean = true, showHeaderAlways:boolean = true, customCss:string = "" ) {
|
||||
this.menuId = menuId;
|
||||
this.title = title;
|
||||
this.logoUrl = logoUrl;
|
||||
|
@ -25,17 +26,18 @@ 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","#E80000","#ad0000", "/assets/canada-background.svg",
|
||||
new AggregatorInfo("canada", "Canadian Aggregator", "assets/canada-logo.png", "Country",
|
||||
"country", "CA", "Canada",
|
||||
"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
|
||||
|
@ -51,15 +53,30 @@ export class PortalAggregators {
|
|||
Bienvenue sur le portal des résultats de la recherche canadienne, qui a été 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 l’ABRC</a>.
|
||||
</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"),
|
||||
</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);
|
||||
|
||||
|
||||
}
|
||||
`),
|
||||
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")
|
||||
];
|
||||
static disabled = {
|
||||
"canada": {pages: [], entities: ["software"]},
|
||||
"italy": {pages: [], entities: []},
|
||||
"greece": {pages: [], entities: []}
|
||||
"canada": {pages: ["/search/find/services"], entities: ["service"]},
|
||||
"italy": {pages: ["/search/find/services"], entities: ["service"]},
|
||||
"greece": {pages: ["/search/find/services"], entities: ["service"]}
|
||||
};
|
||||
static defaultAggregator: AggregatorInfo = PortalAggregators.list[0];
|
||||
|
||||
|
@ -78,7 +95,7 @@ export class PortalAggregators {
|
|||
|
||||
public static getSearchCustomFilterByAggregator(agg: AggregatorInfo): SearchCustomFilter {
|
||||
let filter:SearchCustomFilter = null;
|
||||
if(agg) {
|
||||
if(agg && agg.fieldName) {
|
||||
filter = new SearchCustomFilter(agg.fieldName, agg.queryFieldName, agg.valueId, agg.valueName);
|
||||
filter.promptToAddFilter = false;
|
||||
filter.isHiddenFilter = true;
|
||||
|
@ -88,9 +105,9 @@ export class PortalAggregators {
|
|||
|
||||
public static getCommunityInfoByMenuId(menuId: string): any {
|
||||
if(PortalAggregators.disabled[menuId]){
|
||||
return Portal.getMockCommunityInfo(PortalAggregators.disabled[menuId].entities,PortalAggregators.disabled[menuId].pages);
|
||||
return Portal.getMockCommunityInfo(menuId, PortalAggregators.disabled[menuId].entities,PortalAggregators.disabled[menuId].pages);
|
||||
}
|
||||
return Portal.getMockCommunityInfo([],[]);
|
||||
return Portal.getMockCommunityInfo(menuId, [],[]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 169 KiB |
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 81 KiB |
|
@ -0,0 +1 @@
|
|||
<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>
|
After Width: | Height: | Size: 608 B |
|
@ -1,105 +0,0 @@
|
|||
: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;
|
||||
}
|
|
@ -0,0 +1,53 @@
|
|||
/* 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;
|
||||
}
|
|
@ -1 +1 @@
|
|||
Subproject commit 28db142aa54b8bea87ada52dbae2da7c7da8f458
|
||||
Subproject commit 0c6b2ac12b4796e41bf4cc8de93c157efa866543
|
|
@ -1,99 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 5c7af220c1de2c87d393e2636cdf18805a97e6a1
|
|
@ -1,11 +1,27 @@
|
|||
/*new theme */
|
||||
:root {
|
||||
--portal-main-color: #2d72d6;
|
||||
--portal-main-contrast: white;
|
||||
--portal-dark-color: #313179;
|
||||
--openaire-main-color: #313179;
|
||||
--graph-background: no-repeat bottom;;
|
||||
}
|
||||
--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);*/
|
||||
}
|
||||
.graph-background {
|
||||
background-size: cover !important;
|
||||
padding-bottom: 100px;
|
||||
|
@ -16,6 +32,7 @@
|
|||
background-color: white !important;
|
||||
background-image: none !important;
|
||||
margin-bottom: 20px;
|
||||
|
||||
}
|
||||
|
||||
.searchForm, .generalSearchForm,
|
||||
|
|
|
@ -3,12 +3,11 @@ import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-propert
|
|||
export let properties: EnvProperties = {
|
||||
environment: "beta",
|
||||
adminToolsPortalType: "aggregator",
|
||||
dashboard: "explore",
|
||||
dashboard: "aggregator",
|
||||
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/",
|
||||
|
@ -23,6 +22,10 @@ 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/",
|
||||
|
@ -30,6 +33,8 @@ 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/",
|
||||
|
@ -75,6 +80,7 @@ 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=",
|
||||
|
@ -82,6 +88,7 @@ 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",
|
||||
|
@ -89,9 +96,7 @@ 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",
|
||||
|
@ -100,9 +105,12 @@ 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=",
|
||||
|
|
|
@ -3,17 +3,16 @@ import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-propert
|
|||
export let properties: EnvProperties = {
|
||||
environment: "production",
|
||||
adminToolsPortalType: "aggregator",
|
||||
dashboard: "explore",
|
||||
dashboard: "aggregator",
|
||||
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/",
|
||||
useNewStatistisTool: false,
|
||||
statisticsFrameNewAPIURL: "https://services.openaire.eu/stats-tool/",
|
||||
useNewStatistisTool: true,
|
||||
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",
|
||||
|
@ -23,6 +22,10 @@ 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/",
|
||||
|
@ -30,6 +33,8 @@ 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/",
|
||||
|
@ -46,12 +51,10 @@ 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",
|
||||
|
@ -79,6 +82,7 @@ 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=",
|
||||
|
@ -86,6 +90,7 @@ 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",
|
||||
|
@ -93,9 +98,7 @@ 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",
|
||||
|
@ -104,9 +107,12 @@ 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=",
|
||||
|
|
|
@ -8,26 +8,30 @@ import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-propert
|
|||
export let properties: EnvProperties = {
|
||||
environment: "development",
|
||||
adminToolsPortalType: "aggregator",
|
||||
dashboard: "explore",
|
||||
dashboard: "aggregator",
|
||||
enablePiwikTrack: false,
|
||||
useCache: true,
|
||||
useLongCache: true,
|
||||
useCache: false,
|
||||
useLongCache: false,
|
||||
showAddThis: true,
|
||||
metricsAPIURL: "https://beta.services.openaire.eu/usagestats/",
|
||||
enableEoscDataTransfer: true,
|
||||
framesAPIURL: "https://beta.openaire.eu/stats3/",
|
||||
statisticsAPIURL: "http://vatopedi.di.uoa.gr:8080/stats/",
|
||||
statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/",
|
||||
statisticsFrameAPIURL: "https://beta.openaire.eu/stats/",
|
||||
statisticsFrameNewAPIURL: "https://stats.madgik.di.uoa.gr/stats-api/",
|
||||
statisticsFrameNewAPIURL: "https://beta.services.openaire.eu/stats-tool/",
|
||||
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: "https://beta.services.openaire.eu/search/v2/api/resources",
|
||||
searchResourcesAPIURL: "http://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/",
|
||||
|
@ -35,6 +39,8 @@ 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 +57,9 @@ export let properties: EnvProperties = {
|
|||
|
||||
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
|
||||
piwikSiteId: "6",
|
||||
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",
|
||||
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",
|
||||
|
||||
cookieDomain: ".di.uoa.gr",
|
||||
|
||||
|
@ -62,7 +68,7 @@ export let properties: EnvProperties = {
|
|||
cacheUrl: "http://dl170.madgik.di.uoa.gr:3000/get?url=",
|
||||
|
||||
adminToolsCommunity: "aggregator",
|
||||
adminToolsAPIURL: "http://duffy.di.uoa.gr:8080/uoa-admin-tools/",
|
||||
adminToolsAPIURL: "http://duffy.di.uoa.gr:19280/uoa-admin-tools/",
|
||||
useHelpTexts: false,
|
||||
datasourcesAPI: "https://beta.services.openaire.eu/openaire/ds/search/",
|
||||
contextsAPI: "https://dev-openaire.d4science.org/openaire/context",
|
||||
|
@ -73,12 +79,13 @@ export let properties: EnvProperties = {
|
|||
resultsPerPage: 10,
|
||||
|
||||
"baseLink" : "",
|
||||
"domain": "https://beta.explore.openaire.eu",
|
||||
"domain": "https://canada.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=",
|
||||
|
@ -86,6 +93,7 @@ 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",
|
||||
|
@ -93,9 +101,7 @@ 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",
|
||||
|
@ -104,9 +110,12 @@ 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=",
|
||||
|
@ -117,6 +126,6 @@ export let properties: EnvProperties = {
|
|||
depositLearnHowPage: "/participate/deposit/learn-how",
|
||||
depositSearchPage: "/participate/deposit/search",
|
||||
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
|
||||
reCaptchaSiteKey: "6LcVtFIUAAAAAB2ac6xYivHxYXKoUvYRPi-6_rLu",
|
||||
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"
|
||||
};
|
||||
|
|
|
@ -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){
|
||||
|
|
|
@ -12,4 +12,4 @@ if (properties.environment !== "development") {
|
|||
}
|
||||
|
||||
export { AppServerModule } from './app/app.server.module';
|
||||
export { renderModule, renderModuleFactory } from '@angular/platform-server';
|
||||
export { renderModule } from '@angular/platform-server';
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
@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);
|
||||
|
|
@ -22,16 +22,6 @@ 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
|
||||
|
@ -59,7 +49,7 @@ import '@angular/localize/init';
|
|||
/***************************************************************************************************
|
||||
* Zone JS is required by default for Angular itself.
|
||||
*/
|
||||
import 'zone.js/dist/zone'; // Included with Angular CLI.
|
||||
import 'zone.js'; // Included with Angular CLI.
|
||||
|
||||
|
||||
/***************************************************************************************************
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
/* 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";
|
|
@ -0,0 +1,7 @@
|
|||
/* 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";
|
|
@ -1,6 +1,6 @@
|
|||
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
|
||||
|
||||
import 'zone.js/dist/zone-testing';
|
||||
import 'zone.js/testing';
|
||||
import { getTestBed } from '@angular/core/testing';
|
||||
import {
|
||||
BrowserDynamicTestingModule,
|
||||
|
@ -12,7 +12,9 @@ declare const require: any;
|
|||
// First, initialize the Angular testing environment.
|
||||
getTestBed().initTestEnvironment(
|
||||
BrowserDynamicTestingModule,
|
||||
platformBrowserDynamicTesting()
|
||||
platformBrowserDynamicTesting(), {
|
||||
teardown: { destroyAfterEach: false }
|
||||
}
|
||||
);
|
||||
// Then we find all the tests.
|
||||
const context = require.context('./', true, /\.spec\.ts$/);
|
||||
|
|
|
@ -8,10 +8,9 @@
|
|||
"declaration": false,
|
||||
"module": "es2020",
|
||||
"moduleResolution": "node",
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"importHelpers": true,
|
||||
"target": "es2015",
|
||||
"target": "es2020",
|
||||
"typeRoots": [
|
||||
"node_modules/@types"
|
||||
],
|
||||
|
|
Loading…
Reference in New Issue