Compare commits
110 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 | |
argirok | 262d335b88 | |
Alex Martzios | d1cec59bae | |
Alex Martzios | 317b7a19e1 | |
argirok | 638cec68df | |
argirok | 5cb2c9f1ba |
|
@ -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
|
@ -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
|
@ -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,18 +34,18 @@ 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>
|
||||
</cookie-law>
|
||||
<bottom *ngIf="isClient && properties" [properties]=properties></bottom>
|
||||
<bottom *ngIf="isClient && properties" [properties]=properties [centered]="true" [showMenuItems]="true" [menuItems]="[]" [darkBackground]="false" ></bottom>
|
||||
</div>
|
||||
`
|
||||
})
|
||||
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,97 +7,88 @@ 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="http://api.openaire.eu/api.html" target="_blank">Selective Access APIs</a>
|
||||
by adding the <span class="uk-text-lowercase">country</span> parameter.
|
||||
</p>
|
||||
<div class="uk-grid uk-child-width-1-2@m uk-child-width-1-1@s" uk-grid>
|
||||
<div>
|
||||
|
||||
<p>
|
||||
Request examples:
|
||||
</p>
|
||||
<ul class="portal-circle">
|
||||
<li>
|
||||
<span class="uk-text-bold">Access “Publications”</span><br>
|
||||
<span class="uk-text-bold">GET</span>
|
||||
<span
|
||||
class="uk-text-break space">https://api.openaire.eu/search/publications?country={{aggregator.valueId}}</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="uk-text-bold">Access “Open Access Publications”</span><br>
|
||||
<span class="uk-text-bold">GET</span>
|
||||
<span
|
||||
class="uk-text-break space">http://api.openaire.eu/search/publications?country={{aggregator.valueId}}&OA=true</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="uk-text-bold">Access “Datasets”</span><br>
|
||||
<span class="uk-text-bold">GET</span>
|
||||
<span
|
||||
class="uk-text-break space">https://api.openaire.eu/search/datasets?country={{aggregator.valueId}}</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="uk-text-bold">Access “Software”</span><br>
|
||||
<span class="uk-text-bold">GET</span>
|
||||
<span
|
||||
class="uk-text-break space">https://api.openaire.eu/search/software?country={{aggregator.valueId}}</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="uk-text-bold">Access “Other Research”</span><br>
|
||||
<span class="uk-text-bold">GET</span>
|
||||
<span
|
||||
class="uk-text-break space">https://api.openaire.eu/search/other?country={{aggregator.valueId}}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="uk-flex uk-flex-middle">
|
||||
<div class="uk-flex uk-flex-center uk-width-1-1 uk-margin-medium-top">
|
||||
<img width="350" src="assets/develop.png">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-margin-large-top uk-flex uk-flex-center uk-padding">
|
||||
<div class="documentation">
|
||||
For <span
|
||||
class="uk-text-bold">more information</span> on the full potential of the OpenAIRE APIs please check
|
||||
the <a href="http://develop.openaire.eu/" target="_blank">OpenAIRE API Documentation</a>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<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,
|
||||
private _meta: Meta,
|
||||
private _router: Router,
|
||||
private _title: Title, private _piwikService:PiwikService,) {
|
||||
private _title: Title, private _piwikService:PiwikService) {
|
||||
}
|
||||
public ngOnDestroy() {
|
||||
for (let sub of this.subs) {
|
||||
|
@ -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}});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -3,16 +3,18 @@ import {CommonModule} from "@angular/common";
|
|||
import {DevelopComponent} from "./develop.component";
|
||||
import {RouterModule} from "@angular/router";
|
||||
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||
import {PiwikServiceModule} from "../openaireLibrary/utils/piwik/piwikService.module";
|
||||
import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
|
||||
|
||||
@NgModule({
|
||||
declarations: [DevelopComponent],
|
||||
imports: [CommonModule, 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,161 +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>
|
||||
<div class="uk-section" style="background: linear-gradient(180deg, #FAFAFA 50%, #FFFFFF 50%);">
|
||||
<div class="uk-padding uk-padding-remove-horizontal">
|
||||
<div class="uk-container uk-container-small">
|
||||
<div class="uk-grid-margin uk-grid uk-grid-stack" uk-grid="">
|
||||
<div class="uk-width-1-1@m uk-first-column">
|
||||
<div
|
||||
class="uk-margin uk-text-center uk-child-width-1-1 uk-grid-match uk-child-width-1-1@s uk-child-width-1-2@m uk-child-width-1-2@l uk-grid"
|
||||
id="page#8" uk-grid="" uk-height-match="target: .target">
|
||||
<div class="uk-first-column">
|
||||
<div class="el-item uk-card uk-card-default uk-card-medium uk-card-body">
|
||||
<div class="uk-text-center target"><img alt="Share" class="uk-width-1-3@m uk-width-small"
|
||||
src="assets/share.svg"></div>
|
||||
|
||||
<div class="el-content uk-margin uk-text-large"><span class="uk-text-bold">Deposit</span> your research
|
||||
</div>
|
||||
|
||||
<div class="uk-margin-small-top uk-text-left card-text uk-flex uk-flex-center">
|
||||
<div class="uk-margin-left uk-margin-right">Deposit in a repository of your choice.<br>
|
||||
Select an OpenAIRE compatible<br>
|
||||
repository (2.0 +) so that your research is linked to your funding information. Use Zenodo, a
|
||||
catch-all repository hosted by CERN to deposit all your research results (publications, data,
|
||||
software, etc.)
|
||||
</div>
|
||||
</div>
|
||||
<a class="uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-small-left ng-star-inserted uk-margin uk-margin-bottom uk-width-1-2"
|
||||
href="/participate/deposit/learn-how" type="submit">Deposit </a></div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="el-item uk-card uk-card-default uk-card-medium uk-card-body">
|
||||
<div class="uk-text-center target"><img alt="Share" class="uk-width-1-3@m uk-width-small"
|
||||
src="assets/link.svg"></div>
|
||||
|
||||
<div class="el-content uk-margin uk-text-large"><span class="uk-text-bold">Link</span> your work</div>
|
||||
|
||||
<div class="uk-margin-small-top uk-text-left card-text uk-flex uk-flex-center">
|
||||
<div class="uk-margin-left uk-margin-right">Connect all your research.<br>
|
||||
If you can't find your research results in OpenAIRE, don't worry! Use our Link Out service , that
|
||||
reaches out to many<br>
|
||||
external sources via APIs, to connect<br>
|
||||
your research results and claim them to your project.
|
||||
</div>
|
||||
</div>
|
||||
<a class="uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-small-left ng-star-inserted uk-margin uk-margin-bottom uk-width-1-2"
|
||||
href="/participate/claim" type="submit">Link </a></div>
|
||||
</div>
|
||||
<div 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>
|
||||
<!--<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 {Subscription} from 'rxjs';
|
||||
import {ActivatedRoute, Router} from '@angular/router';
|
||||
import {Location} from '@angular/common';
|
||||
import {ChangeDetectorRef, Component, ViewChild} from '@angular/core';
|
||||
import {Subscription, zip} from 'rxjs';
|
||||
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,30 +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;
|
||||
|
||||
public funders = [];
|
||||
subs: Subscription[] = [];
|
||||
|
||||
resultsQuickFilter: { filter: Filter, selected: boolean, filterId: string, value: string } = {
|
||||
filter: null,
|
||||
selected: true,
|
||||
|
@ -55,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"};
|
||||
|
@ -65,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() {
|
||||
|
@ -109,37 +91,47 @@ 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();
|
||||
}
|
||||
},
|
||||
error => {
|
||||
|
@ -216,8 +208,78 @@ export class HomeComponent {
|
|||
params["f0"] = "q";
|
||||
}
|
||||
if(this.customFilter){
|
||||
params = this.customFilter.getParameters(params);
|
||||
params = this.customFilter.getParameters(params);
|
||||
}
|
||||
return params;
|
||||
}
|
||||
|
||||
getFunders() {
|
||||
let refineParams1 = '&fq=country%20exact%20%22CA%22';
|
||||
let refineParams2 = '&fq=resultbestaccessright%20exact%20%22Open%20Access%22&fq=country%20exact%20%22CA%22%20';
|
||||
this.subs.push(zip(
|
||||
this._refineFieldResultsService.getRefineFieldsResultsByEntityName(['relfunder'], 'result', this.properties, refineParams1),
|
||||
this._refineFieldResultsService.getRefineFieldsResultsByEntityName(['relfunder'], 'result', this.properties, refineParams2)
|
||||
).subscribe((data: any[]) => {
|
||||
let queriedFunders1 = data[0][1][0].values;
|
||||
queriedFunders1.forEach(queriedFunder => {
|
||||
if(queriedFunder.id.includes('nserc')) {
|
||||
this.funders.push({
|
||||
"id": queriedFunder.id,
|
||||
"name": queriedFunder.name,
|
||||
"publications": queriedFunder.number,
|
||||
"openAccessPublications": null,
|
||||
"logo": 'assets/nserc_logo.png',
|
||||
"params": {
|
||||
relfunder: '"'+encodeURIComponent(queriedFunder.id)+'"'
|
||||
}
|
||||
});
|
||||
} else if(queriedFunder.id.includes('cihr')) {
|
||||
this.funders.push({
|
||||
"id": queriedFunder.id,
|
||||
"name": queriedFunder.name,
|
||||
"publications": queriedFunder.number,
|
||||
"openAccessPublications": null,
|
||||
"logo": 'assets/cihr_logo.png',
|
||||
"params": {
|
||||
relfunder: '"'+encodeURIComponent(queriedFunder.id)+'"'
|
||||
}
|
||||
});
|
||||
} else if(queriedFunder.id.includes('sshrc')) {
|
||||
this.funders.push({
|
||||
"id": queriedFunder.id,
|
||||
"name": queriedFunder.name,
|
||||
"publications": queriedFunder.number,
|
||||
"openAccessPublications": null,
|
||||
"logo": 'assets/sshrc_logo.png',
|
||||
"params": {
|
||||
relfunder: '"'+encodeURIComponent(queriedFunder.id)+'"'
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
let queriedFunders2 = data[1][1][0].values;
|
||||
queriedFunders2.forEach(queriedFunder => {
|
||||
for(let funder of this.funders) {
|
||||
if(queriedFunder.id == funder.id) {
|
||||
funder.openAccessPublications = queriedFunder.number;
|
||||
}
|
||||
}
|
||||
});
|
||||
}));
|
||||
}
|
||||
|
||||
isRouteAvailable(routeToCheck: string) {
|
||||
for (let i = 0; i < this._router.config.length; i++) {
|
||||
let routePath: string = this._router.config[i].path;
|
||||
if (routePath == routeToCheck) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
disableSelectChange(event: boolean) {
|
||||
this.disableSelect = event;
|
||||
this.cdr.detectChanges();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 3632510e387b3a83f8d8e0f27cd796912a19c741
|
||||
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 { }
|
|
@ -1,5 +1,6 @@
|
|||
import {SearchCustomFilter} from "../openaireLibrary/searchPages/searchUtils/searchUtils.class";
|
||||
import {Portal} from "../openaireLibrary/utils/entities/adminTool/portal";
|
||||
import {properties} from "../../environments/environment";
|
||||
|
||||
export class AggregatorInfo {
|
||||
menuId: string;
|
||||
|
@ -9,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;
|
||||
|
@ -24,40 +26,57 @@ 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 beta Portal to Canadian Research Outputs, which has been developed as part of a
|
||||
collaboration between CARL and OpenAIRE as part of the OpenAIRE Advance Project. The portal enables users
|
||||
to search and browse Canadian content that is included in the OpenAIRE aggregation. The number of
|
||||
research products is expected to grow in 2021 as more Canadian repositories become compliant with
|
||||
OpenAIRE guidelines and Canadian affiliation information is enhanced. For more information, visit the
|
||||
<a
|
||||
Welcome to the Portal of Canadian Research Outputs. This has been developed as part of a collaboration between
|
||||
Canadian Association of Research Libraries (CARL) and OpenAIRE. The portal presents research results collected
|
||||
from Canadian institutional repositories compliant to <a
|
||||
href="https://guidelines.openaire.eu/" target="_blank">OpenAIRE guidelines</a> and from the OpenAIRE Research Graph.
|
||||
It links them to three Canadian funders, Natural Sciences and Engineering Research Council of Canada, Canadian Institutes of Health Research and
|
||||
Social Sciences and Humanities Research Council. For more information, visit the <a
|
||||
Social Sciences and Humanities Research Council. For more information, visit the <a
|
||||
href="https://www.carl-abrc.ca/advancing-research/institutional-repositories/open-repositories-working-group/openaire-collaboration/" target="_blank">CARL website</a>.
|
||||
</span>
|
||||
<br>
|
||||
<span>
|
||||
Bienvenue sur la version bêta du portail 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,
|
||||
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];
|
||||
|
||||
|
@ -76,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;
|
||||
|
@ -86,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, [],[]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 169 KiB |
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;
|
||||
}
|
After Width: | Height: | Size: 189 KiB |
|
@ -1 +1 @@
|
|||
Subproject commit 318c6560565a7a0da818385de27ebb430b22aea3
|
||||
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"
|
||||
}
|
After Width: | Height: | Size: 49 KiB |
|
@ -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;
|
||||
|
@ -15,7 +31,8 @@
|
|||
.mainPageSearchForm{
|
||||
background-color: white !important;
|
||||
background-image: none !important;
|
||||
margin-bottom: 100px;
|
||||
margin-bottom: 20px;
|
||||
|
||||
}
|
||||
|
||||
.searchForm, .generalSearchForm,
|
||||
|
|
After Width: | Height: | Size: 17 KiB |
|
@ -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/",
|
||||
|
@ -46,11 +51,9 @@ export let properties: EnvProperties = {
|
|||
|
||||
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
|
||||
piwikSiteId: "553",
|
||||
loginUrl: "https://beta.services.openaire.eu/explore-login/openid_connect_login",
|
||||
|
||||
userInfoUrl: "https://beta.services.openaire.eu/uoa-user-management/api/users/getUserInfo?accessToken=",
|
||||
|
||||
logoutUrl: "https://beta.services.openaire.eu/explore-login/openid_logout",
|
||||
loginUrl: "https://beta.services.openaire.eu/login-service/openid_connect_login",
|
||||
userInfoUrl: "https://beta.services.openaire.eu/login-service/userInfo",
|
||||
logoutUrl: "https://beta.services.openaire.eu/login-service/openid_logout",
|
||||
|
||||
cookieDomain: ".openaire.eu",
|
||||
|
||||
|
@ -77,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=",
|
||||
|
@ -84,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",
|
||||
|
@ -91,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",
|
||||
|
@ -102,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=",
|
||||
|
@ -115,5 +121,7 @@ export let properties: EnvProperties = {
|
|||
depositLearnHowPage: "/participate/deposit/learn-how",
|
||||
depositSearchPage: "/participate/deposit/search",
|
||||
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
|
||||
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P"
|
||||
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
|
||||
footerGrantText : "This OpenAIRE gateway is part of a project that has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreements No. 777541 and 101017452"
|
||||
|
||||
};
|
||||
|
|
|
@ -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=",
|
||||
|
@ -117,5 +123,7 @@ export let properties: EnvProperties = {
|
|||
depositLearnHowPage: "/participate/deposit/learn-how",
|
||||
depositSearchPage: "/participate/deposit/search",
|
||||
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
|
||||
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P"
|
||||
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
|
||||
footerGrantText : "This OpenAIRE gateway is part of a project that has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreements No. 777541 and 101017452"
|
||||
|
||||
};
|
||||
|
|
|
@ -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,5 +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"
|
||||
],
|
||||
|
|