Adding the portal version that uses the uoa-services-library

git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-portal/trunk@50359 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
argiro.kokogiannaki 2018-01-23 10:07:39 +00:00
parent 82965faa51
commit 6a5911c5f0
228 changed files with 25398 additions and 0 deletions

View File

@ -0,0 +1,110 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"project": {
"name": "ng-universal-demo"
},
"apps": [
{
"root": "src",
"outDir": "dist/browser",
"assets": [
"assets",
"favicon.ico"
],
"index": "index.html",
"main": "main.ts",
"polyfills": "polyfills.ts",
"test": "test.ts",
"tsconfig": "tsconfig.app.json",
"testTsconfig": "tsconfig.spec.json",
"prefix": "app",
"styles": [
"styles.css",
"../node_modules/datatables.net-dt/css/jquery.dataTables.css"
],
"scripts": [
"../node_modules/jquery/dist/jquery.js",
"../node_modules/datatables.net/js/jquery.dataTables.js"
],
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
},
{
"platform": "server",
"root": "src",
"outDir": "dist/server",
"assets": [
"assets",
"favicon.ico"
],
"index": "index.html",
"main": "main.server.ts",
"test": "test.ts",
"tsconfig": "tsconfig.server.json",
"testTsconfig": "tsconfig.spec.json",
"prefix": "app",
"styles": [
"styles.css"
],
"scripts": [],
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
}
],
"e2e": {
"protractor": {
"config": "./protractor.conf.js"
}
},
"lint": [
{
"project": "src/tsconfig.app.json",
"exclude": "**/node_modules/**"
},
{
"project": "src/tsconfig.spec.json",
"exclude": "**/node_modules/**"
},
{
"project": "e2e/tsconfig.e2e.json",
"exclude": "**/node_modules/**"
}
],
"test": {
"karma": {
"config": "./karma.conf.js"
}
},
"defaults": {
"styleExt": "css",
"component": {
"spec": false,
"inlineStyle": true,
"inlineTemplate": true
},
"directive": {
"spec": false
},
"class": {
"spec": false
},
"guard": {
"spec": false
},
"module": {
"spec": false
},
"pipe": {
"spec": false
},
"service": {
"spec": false
}
}
}

54
portal-4cli-lib/README.md Normal file
View File

@ -0,0 +1,54 @@
# Angular Universal & Anguar-CLI minimal starter
> This demo is built following the [Angular-CLI Wiki guide](https://github.com/angular/angular-cli/wiki/stories-universal-rendering)
We're utilizing packages from the [Angular Universal @nguniversal](https://github.com/angular/universal) repo, such as [ng-module-map-ngfactory-loader](https://github.com/angular/universal/tree/master/modules/module-map-ngfactory-loader) to enable Lazy Loading.
---
## Static or Dynamic
This repo demonstrates the use of 2 different forms of Server Side Rendering.
**Static** Also known as "prerendering"
* Happens at build time
* Renders your application and replaces the dist index.html with a version rendered at the route `/`.
**Dynamic**
* Happens at runtime
* Uses `ngExpressEngine` to render you application on the fly at the requested url.
---
## Installation
* `npm install` or `yarn`
---
## Development (Client-side only rendering)
* run `npm run start` which will start `ng serve` (project served at the standard: localhost:4200)
---
## Production
Depending on whether you're publishing dynamic or static prerendering, run the build command, and then serve up your dist folder assets.
> **NOTE**: To deploy your **Static** site to a static hosting platform you will have to deploy the *`dist/browser`* folder, rather than the usual *`dist`*
ie: `npm run build:dynamic` or `npm run build:static`. All of the files that need to be served will be found within the `/dist` folder.
---
## Testing Universal (dynamic or static) builds -Locally-
**Dynamic** : **`npm run start:dynamic`**
Compiles your application and spins up a Node Express to dynamically serve your Universal application on `http://localhost:4000`.
**Static** : **`npm run start:static`**
- Compiles your application and prerenders your applications files, spinning up a demo http-server so you can view it on `http://127.0.0.1:8080`

View File

@ -0,0 +1,3 @@
rm -rf node_modules/ng-openaire-library/;
npm install /home/argirok/projects/openaire/uoa-services-library/trunk/ng-openaire-library/dist/ng-openaire-library-1.0.0.tgz;
npm start;

View File

@ -0,0 +1,62 @@
{
"name": "openaire-search",
"version": "1.0.0",
"license": "Openaire",
"contributors": [
"Argiro Kokogiannaki <argirok@di.uoa.gr>",
"Konstantina Galouni <kgalouni@di.uoa.gr>"
],
"scripts": {
"ng": "ng",
"start": "PORT=5000 ng serve --disable-host-check --host 0.0.0.0",
"start:dynamic": "PORT=5000 npm run build:dynamic && npm run serve:dynamic",
"start:static": "npm run build:static && npm run serve:static",
"build": "ng build",
"build:client-and-server-bundles": "ng build --prod -sm --stats-json && ng build --prod --app 1 --output-hashing=false",
"build:static": "npm run build:client-and-server-bundles && npm run webpack:server && npm run generate:static",
"build:dynamic": "npm run build:client-and-server-bundles && npm run webpack:server",
"generate:static": "cd dist && node prerender",
"webpack:server": "webpack --config webpack.server.config.js --progress --colors",
"serve:static": "cd dist/browser && http-server",
"serve:dynamic": "node dist/server"
},
"private": true,
"dependencies": {
"@angular/animations": "^4.2.4",
"@angular/common": "^4.2.4",
"@angular/compiler": "^4.2.4",
"@angular/core": "^4.2.4",
"@angular/forms": "^4.2.4",
"@angular/http": "^4.2.4",
"@angular/platform-browser": "^4.2.4",
"@angular/platform-browser-dynamic": "^4.2.4",
"@angular/platform-server": "^4.2.4",
"@angular/router": "^4.2.4",
"@nguniversal/express-engine": "^1.0.0-beta.3",
"@nguniversal/module-map-ngfactory-loader": "^1.0.0-beta.3",
"angular-datatables": "^4.4.0",
"citation-js": "^0.3.4",
"clipboard": "^1.5.16",
"core-js": "^2.4.1",
"datatables.net": "^1.10.16",
"datatables.net-dt": "^1.10.16",
"jquery": "^3.2.1",
"rxjs": "^5.4.2",
"ts-md5": "^1.2.0",
"wikidata-sdk": "^5.2.9",
"zone.js": "^0.8.14"
},
"devDependencies": {
"@angular/cli": "^1.3.0",
"@angular/compiler-cli": "^4.2.4",
"@angular/language-service": "^4.2.4",
"@types/datatables.net": "^1.10.8",
"@types/jquery": "^3.2.17",
"@types/node": "^8.0.30",
"cpy-cli": "^1.0.1",
"http-server": "^0.10.0",
"reflect-metadata": "^0.1.10",
"ts-loader": "^2.3.7",
"typescript": "~2.3.3"
}
}

View File

@ -0,0 +1,45 @@
// Load zone.js for the server.
import 'zone.js/dist/zone-node';
import 'reflect-metadata';
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
import { join } from 'path';
import { enableProdMode } from '@angular/core';
// Faster server renders w/ Prod mode (dev mode never needed)
enableProdMode();
// Express Engine
import { ngExpressEngine } from '@nguniversal/express-engine';
// Import module map for lazy loading
import { provideModuleMap } from '@nguniversal/module-map-ngfactory-loader';
import { renderModuleFactory } from '@angular/platform-server';
import { ROUTES } from './static.paths';
// * NOTE :: leave this as require() since this file is built Dynamically from webpack
const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist/server/main.bundle');
const BROWSER_FOLDER = join(process.cwd(), 'browser');
// Load the index.html file containing referances to your application bundle.
const index = readFileSync(join('browser', 'index.html'), 'utf8');
let previousRender = Promise.resolve();
// Iterate each route path
ROUTES.forEach(route => {
var fullPath = join(BROWSER_FOLDER, route);
// Make sure the directory structure is there
if(!existsSync(fullPath)){
mkdirSync(fullPath);
}
// Writes rendered HTML to index.html, replacing the file if it already exists.
previousRender = previousRender.then(_ => renderModuleFactory(AppServerModuleNgFactory, {
document: index,
url: route,
extraProviders: [
provideModuleMap(LAZY_MODULE_MAP)
]
})).then(html => writeFileSync(join(fullPath, 'index.html'), html));
});

58
portal-4cli-lib/server.ts Normal file
View File

@ -0,0 +1,58 @@
import 'zone.js/dist/zone-node';
import 'reflect-metadata';
import { renderModuleFactory } from '@angular/platform-server';
import { enableProdMode } from '@angular/core';
import * as express from 'express';
import { join } from 'path';
import { readFileSync } from 'fs';
// Faster server renders w/ Prod mode (dev mode never needed)
enableProdMode();
// Express server
const app = express();
const PORT = process.env.PORT || 4000;
const DIST_FOLDER = join(process.cwd(), 'dist');
// Our index.html we'll use as our template
const template = readFileSync(join(DIST_FOLDER, 'browser', 'index.html')).toString();
// * NOTE :: leave this as require() since this file is built Dynamically from webpack
const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist/server/main.bundle');
// Express Engine
import { ngExpressEngine } from '@nguniversal/express-engine';
// Import module map for lazy loading
import { provideModuleMap } from '@nguniversal/module-map-ngfactory-loader';
// Our Universal express-engine (found @ https://github.com/angular/universal/tree/master/modules/express-engine)
app.engine('html', ngExpressEngine({
bootstrap: AppServerModuleNgFactory,
providers: [
provideModuleMap(LAZY_MODULE_MAP)
]
}));
app.set('view engine', 'html');
app.set('views', join(DIST_FOLDER, 'browser'));
/* - Example Express Rest API endpoints -
app.get('/api/**', (req, res) => { });
*/
// Server static files from /browser
app.get('*.*', express.static(join(DIST_FOLDER, 'browser'), {
maxAge: '1y'
}));
// ALl regular routes use the Universal engine
app.get('*', (req, res) => {
res.render('index', { req });
});
// Start up the Node server
app.listen(PORT, () => {
console.log(`Node Express server listening on http://localhost:${PORT}`);
});

View File

@ -0,0 +1,173 @@
import { Component, Directive, ElementRef, Renderer, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
import {Observable} from 'rxjs/Observable';
import { OpenaireProperties} from './utils/openaireProperties';
@Component({
//changeDetection: ChangeDetectionStrategy.Default,
//encapsulation: ViewEncapsulation.Emulated,
selector: 'app-root',
styles: [`
`],
template: `
<navbar portal="explore" onlyTop=false [userMenuItems]=userMenuItems [menuItems]=menuItems [logInUrl]=logInUrl [logOutUrl]=logOutUrl></navbar>
<div class="custom-main-content" >
<main>
<router-outlet></router-outlet>
</main>
</div>
<feedback *ngIf= "isClient" portalName="Explore" [feedbackmail]=feedbackmail></feedback>
<cookie-law *ngIf= "isClient" position="bottom">
OpenAIRE uses cookies in order to function properly.<br>
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">
<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"></bottom>
`
})
export class AppComponent {
isClient:boolean = false;
feedbackmail:string = OpenaireProperties.getFeedbackMail();
userMenuItems = [
{title: "My profile",
url:"",
route:"",
needsAuthorization:false},
{title: "My claims",
url:"",
route:"/myclaims",
needsAuthorization:false},
{title: "Manage all claims",
url:"",
route:"/claims",
needsAuthorization:true
}
];
menuItems = [
{rootItem:{
id:"search",
title: "Search",
url:"",
route:"/search/find"
},items:[
{title: "Publications",
url:"",
route:"/search/find/publications",
entitiesRequired:["publication"],
routeRequired:["/search/find/publications"]},
{title: "Research Data",
url:"",
route:"/search/find/datasets",
entitiesRequired:["dataset"],
routeRequired:["/search/find/datasets"]},
{title: "Software",
url:"",
route:"/search/find/software",
entitiesRequired:["software"],
routeRequired:["/search/find/software"]},
{title: "Projects",
url:"",
route:"/search/find/projects",
entitiesRequired:["projects"],
routeRequired:["/search/find/projects"]},
{title: "Content Providers",
url:"",
route:"/search/find/dataproviders",
entitiesRequired:["projects"],
routeRequired:["/search/find/projects"]},
{title: "Organizations",
url:"",
route:"/search/find/organizations",
entitiesRequired:["projects"],
routeRequired:["/search/find/projects"]},
]
},
{rootItem:{
id:"share",
title: "Share",
url:"",
route:""
},items:[
{title: "Publications",
url:"",
route:"/participate/deposit-publications",
entitiesRequired:["publication"],
routeRequired:["/participate/deposit-publications"]},
{title: "Research Data",
url:"",
route:"/participate/deposit-datasets",
entitiesRequired:["dataset"],
routeRequired:["/participate/deposit-datasets"]}
]
},
{rootItem:{
id:"link",
title: "Link",
url:"",
route:"/participate/claim",
entitiesRequired:[],
routeRequired:["/participate/claim"]
},items:[]
},
{rootItem:{
id:"dataproviders",
title: "Content Providers",
url:"",
route:""
},items:[
{title: "Data Policies",
url:"https://beta.openaire.eu/oa-policies-mandates",
route:"",
entitiesRequired:[],
routeRequired:[]},
{title: "Repositories",
url:"",
route:"/search/content-providers",
entitiesRequired:[],
routeRequired:["/search/content-providers"]},
{title: "Journals",
url:"",
route:"/search/journals",
entitiesRequired:[],
routeRequired:["/search/journals"]},
{title: "Registries",
url:"",
route:"/search/entity-registries",
entitiesRequired:[],
routeRequired:["/search/entity-registries"]},
{title: "Browse all",
url:"",
route:"/search/find/dataproviders",
entitiesRequired:[],
routeRequired:["/search/find/dataproviders"]}
]
}
];
logInUrl = OpenaireProperties.getLoginURL();
logOutUrl = OpenaireProperties.getLogoutURL();
ngOnInit() {
if (typeof document !== 'undefined') {
try{
this.isClient = true;
}catch (e) {
}
}
}
}

View File

@ -0,0 +1,77 @@
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { SharedModule } from './shared/shared.module';
import { BrowserModule } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { APP_BASE_HREF, CommonModule } from '@angular/common';
import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';
import { AppComponent } from './app.component';
import {NavigationBarModule, FeedbackModule, BottomModule, CookieLawModule, ErrorModule} from 'ng-openaire-library';
import { OpenaireErrorPageComponent } from './error/errorPage.component';
@NgModule({
imports: [
SharedModule,
NoopAnimationsModule,
CommonModule,
HttpModule,
ErrorModule,
NavigationBarModule, FeedbackModule, BottomModule,
CookieLawModule,
BrowserModule.withServerTransition({appId: 'my-app'}),
RouterModule.forRoot([
{ path: '', loadChildren: './home/home.module#HomeModule'},
{ path: 'home', loadChildren: './home/home.module#HomeModule'},
{ path: 'search/publication', loadChildren: './landingPages/publication/libPublication.module#LibPublicationModule' },
{ path: 'search/dataset', loadChildren: './landingPages/dataset/libDataset.module#LibDatasetModule' },
{ path: 'search/software', loadChildren: './landingPages/software/libSoftware.module#LibSoftwareModule' },
{ path: 'search/project', loadChildren: './landingPages/project/libProject.module#LibProjectModule' },
{ path: 'search/dataprovider', loadChildren: '././landingPages/dataProvider/libDataProvider.module#LibDataProviderModule' },
{ path: 'search/organization', loadChildren: './landingPages/organization/libOrganization.module#LibOrganizationModule' },
{ path: 'participate/deposit-datasets', loadChildren: './deposit/datasets/depositDatasets.module#LibDepositDatasetsModule' },
{ path: 'participate/deposit-datasets-result', loadChildren: './deposit/datasets/depositDatasetsResults.module#LibDepositDatasetsResultsModule' },
{ path: 'participate/deposit-subject-result', loadChildren: './deposit/datasets/depositBySubjectResults.module#LibDepositBySubjectResultsModule' },
{ path: 'participate/deposit-publications', loadChildren: './deposit/publications/depositPublications.module#LibDepositPublicationsModule' },
{ path: 'participate/deposit-publications-result', loadChildren: './deposit/publications/depositPublicationsResults.module#LibDepositPublicationsResultsModule' },
{ path: 'search/find', loadChildren: './searchPages/find/libSearch.module#LibMainSearchModule' },
{ path: 'search/find/publications', loadChildren: './searchPages/simple/searchPublications.module#LibSearchPublicationsModule' },
{ path: 'search/find/datasets', loadChildren: './searchPages/simple/searchDatasets.module#LibSearchDatasetsModule' },
{ path: 'search/find/software', loadChildren: './searchPages/simple/searchSoftware.module#LibSearchSoftwareModule' },
{ path: 'search/find/projects', loadChildren: './searchPages/simple/searchProjects.module#LibSearchProjectsModule' },
{ path: 'search/find/dataproviders', loadChildren: './searchPages/simple/searchDataProviders.module#LibSearchDataProvidersModule' },
{ path: 'search/find/organizations', loadChildren: './searchPages/simple/searchOrganizations.module#LibSearchOrganizationsModule' },
{ path: 'search/content-providers', loadChildren: './searchPages/dataProviders/compatibleDataProviders.module#LibCompatibleDataProvidersModule' },
{ path: 'search/content-providers-table', loadChildren: './searchPages/dataProviders/compatibleDataProvidersTable.module#CompatibleDataProvidersTableModule' },
{ path: 'search/entity-registries', loadChildren: './searchPages/dataProviders/entityRegistries.module#LibEntityRegistriesModule' },
{ path: 'search/entity-registries-table', loadChildren: './searchPages/dataProviders/entityRegistriesTable.module#EntityRegistriesTableModule' },
{ path: 'search/journals', loadChildren: './searchPages/dataProviders/journals.module#LibJournalsModule' },
{ path: 'search/journals-table', loadChildren: './searchPages/dataProviders/journalsTable.module#JournalsTableModule' },
{ path: 'search/advanced/publications', loadChildren: './searchPages/advanced/advancedSearchPublications.module#LibAdvancedSearchPublicationsModule' },
{ path: 'search/advanced/datasets', loadChildren: './searchPages/advanced/advancedSearchDatasets.module#LibAdvancedSearchDatasetsModule' },
{ path: 'search/advanced/software', loadChildren: './searchPages/advanced/advancedSearchSoftware.module#LibAdvancedSearchSoftwareModule' },
{ path: 'search/advanced/organizations', loadChildren: './searchPages/advanced/advancedSearchOrganizations.module#LibAdvancedSearchOrganizationsModule' },
{ path: 'search/advanced/dataproviders', loadChildren: './searchPages/advanced/advancedSearchDataProviders.module#LibAdvancedSearchDataProvidersModule' },
{ path: 'search/advanced/projects', loadChildren: './searchPages/advanced/advancedSearchProjects.module#LibAdvancedSearchProjectsModule' },
{ path: 'project-report', loadChildren: './landingPages/htmlProjectReport/libHtmlProjectReport.module#LibHtmlProjectReportModule' },
{ path: 'myclaims', loadChildren: './claims/myClaims/myClaims.module#LibMyClaimsModule' },
{ path: 'claims', loadChildren: './claims/claimsAdmin/claimsAdmin.module#LibClaimsAdminModule' },
{ path: 'participate/claim', loadChildren: './claims/linking/linkingGeneric.module#LibLinkingGenericModule' },
{ path: 'participate/direct-claim', loadChildren: './claims/directLinking/directLinking.module#LibDirectLinkingModule' },
{ path: 'claims-project-manager', loadChildren: './claims/claimsByToken/claimsByToken.module#LibClaimsByTokenModule' },
{ path: 'reload', loadChildren: './reload/libReload.module#LibReloadModule' },
{ path: 'user-info', loadChildren: './login/libUser.module#LibUserModule' },
{ path: 'error', component: OpenaireErrorPageComponent },
{ path: '**',pathMatch: 'full',component: OpenaireErrorPageComponent }
]),
],
declarations: [ AppComponent, OpenaireErrorPageComponent],
exports: [ AppComponent ],
providers:[ ],
bootstrap: [AppComponent]
})
//
export class AppModule {}

View File

@ -0,0 +1,20 @@
import {NgModule} from '@angular/core';
import {ServerModule} from '@angular/platform-server';
import {ModuleMapLoaderModule} from '@nguniversal/module-map-ngfactory-loader';
import {AppModule} from './app.module';
import {AppComponent} from './app.component';
@NgModule({
imports: [
// The AppServerModule should import your AppModule followed
// by the ServerModule from @angular/platform-server.
AppModule,
ServerModule,
ModuleMapLoaderModule,
],
// Since the bootstrapped component is not inherited from your
// imported AppModule, it needs to be repeated here.
bootstrap: [AppComponent],
})
export class AppServerModule {}

View File

@ -0,0 +1,68 @@
// import { NgModule} from '@angular/core';
// import { CommonModule } from '@angular/common';
// import { FormsModule } from '@angular/forms';
// //
// import {UtilsModule} from '../utils/utils.module';
// import {ServicesModule} from '../services/services.module';
//
// import { ClaimsService} from '../services/claims.service';
// //main
// import {ClaimComponent} from './claim/claim.component';
// import {ClaimsAdminComponent} from './claims/claimsAdmin.component';
// import {MyClaimsComponent} from './myClaims/myClaims.component';
// import {LinkingHomeComponent} from './linking/linkingHome.component';
// import {LinkingComponent} from './linking/linking.component';
// import { BulkLinkingComponent } from './linking/bulkLinking.component';
//
// import {BulkClaimComponent} from './linking/bulkClaim/bulkClaim.component';
// import {ClaimsComponent} from './claim-utils/claims.component';
//
// import {ClaimContextComponent} from './claim-utils/claimContext.component';
// import {ClaimProjectsComponent} from './claim-utils/claimProject.component';
// import {ClaimResultComponent} from './claim-utils/claimResult.component';
// import {ClaimPublicationComponent} from './claim-utils/claimPublication.component';
// import {ClaimDatasetComponent} from './claim-utils/claimDataset.component';
//
// import {ClaimInsertComponent} from './linking/insertClaim/insertClaim.component';
//
// import {ClaimSelectedContextsComponent} from './linking/selected/selectedContexts.component';
// import {ClaimSelectedComponent} from './linking/selected/selected.component';
// import {ClaimSelectedDatasetsComponent} from './linking/selected/selectedDatasets.component';
// import {ClaimSelectedResultsComponent} from './linking/selected/selectedResults.component';
// import {ClaimSelectedProjectsComponent} from './linking/selected/selectedProjects.component';
// import {ClaimSelectedPublicationsComponent} from './linking/selected/selectedPublications.component';
//
// import {LinkingGenericComponent} from './linking/linkingGeneric.component';
//
// import {InlineClaimContextComponent} from './inlineClaims/inlineClaimContext.component';
// import {InlineClaimProjectComponent} from './inlineClaims/inlineClaimProject.component';
// import {InlineClaimResultComponent} from './inlineClaims/inlineClaimResult.component';
// import {ClaimEntityFormatter} from '../utils/claimEntityFormatter.component';
//
// import { Claim } from '../utils/entities/claim';
// //helpers
//
// import { ClaimRoutingModule } from './claim-routing.module';
// @NgModule({
// imports: [
// CommonModule, FormsModule,
// UtilsModule,
// ServicesModule,
// ClaimRoutingModule
//
// ],
// declarations: [
// ClaimsAdminComponent, MyClaimsComponent, ClaimComponent, ClaimsComponent,
// BulkLinkingComponent, LinkingComponent, LinkingHomeComponent, LinkingGenericComponent,
// InlineClaimContextComponent, InlineClaimProjectComponent, InlineClaimResultComponent, ClaimSelectedComponent,
// ClaimContextComponent, ClaimSelectedContextsComponent, ClaimInsertComponent, ClaimProjectsComponent, ClaimSelectedProjectsComponent,
// ClaimResultComponent, ClaimSelectedPublicationsComponent, ClaimSelectedDatasetsComponent, ClaimSelectedResultsComponent, ClaimPublicationComponent,
// ClaimDatasetComponent, BulkClaimComponent,
// ClaimEntityFormatter
// ],
// providers: [ ClaimsService ],
// exports: [
// InlineClaimContextComponent, InlineClaimProjectComponent, InlineClaimResultComponent
// ]
// })
// export class ClaimModule { }

View File

@ -0,0 +1,14 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { OpenaireClaimsAdminComponent } from './claimsAdmin.component';
import{ PreviousRouteRecorder, IsRouteEnabled ,AdminLoginGuard} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireClaimsAdminComponent, canActivate: [IsRouteEnabled, AdminLoginGuard],
data: {redirect: '/error'}, canDeactivate: [PreviousRouteRecorder]}])
]
})
export class ClaimsAdminRoutingModule { }

View File

@ -0,0 +1,16 @@
import {Component, ViewChild, Input} from '@angular/core';
import {Location} from '@angular/common';
import {Observable} from 'rxjs/Observable';
@Component({
selector: 'openaire-claims-admin',
template: `
<claims-admin>
</claims-admin>
`,
})
export class OpenaireClaimsAdminComponent {
}

View File

@ -0,0 +1,19 @@
import { NgModule } from '@angular/core';
import { SharedModule } from '../../shared/shared.module';
import { OpenaireClaimsAdminComponent } from './claimsAdmin.component';
import { ClaimsAdminRoutingModule } from './claimsAdmin-routing.module';
import{ClaimsAdminModule, PreviousRouteRecorder, IsRouteEnabled ,AdminLoginGuard} from 'ng-openaire-library';
@NgModule({
imports: [
SharedModule,
ClaimsAdminRoutingModule,
ClaimsAdminModule
],
providers:[AdminLoginGuard, PreviousRouteRecorder,IsRouteEnabled],
declarations: [
OpenaireClaimsAdminComponent
]
})
export class LibClaimsAdminModule { }

View File

@ -0,0 +1,13 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { OpenaireClaimsByTokenComponent } from './claimsByToken.component';
import{ PreviousRouteRecorder, IsRouteEnabled ,LoginGuard} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireClaimsByTokenComponent, canActivate: [IsRouteEnabled, LoginGuard],
data: {redirect: '/error'}, canDeactivate: [PreviousRouteRecorder]}])
]
})
export class ClaimsByTokenRoutingModule { }

View File

@ -0,0 +1,13 @@
import {Component} from '@angular/core';
@Component({
selector: 'openaire-claims-project-manager',
template: `
<p>TODO: fix library issue<p>
<!--claims-project-manager>
</claims-project-manager-->
`,
})
export class OpenaireClaimsByTokenComponent {
}

View File

@ -0,0 +1,26 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { SharedModule } from '../../shared/shared.module';
import { OpenaireClaimsByTokenComponent } from './claimsByToken.component';
//ClaimsByTokenModule,
import{ PreviousRouteRecorder, IsRouteEnabled ,LoginGuard} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule,
SharedModule
],
providers:[
LoginGuard, PreviousRouteRecorder, IsRouteEnabled
],
declarations: [
OpenaireClaimsByTokenComponent
],
exports: [
OpenaireClaimsByTokenComponent
]
})
export class LibClaimsByTokenModule { }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { OpenaireDirectLinkingComponent } from './directLinking.component';
import{ PreviousRouteRecorder, IsRouteEnabled, LoginGuard} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireDirectLinkingComponent, canActivate: [IsRouteEnabled, LoginGuard], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder]},
])
]
})
export class DirectLinkingRoutingModule { }

View File

@ -0,0 +1,8 @@
import {Component, Input} from '@angular/core';
@Component({
selector: 'openaire-directLinking',
template: `<directLinking></directLinking>`
})
export class OpenaireDirectLinkingComponent {
}

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { SharedModule } from '../../shared/shared.module';
import { OpenaireDirectLinkingComponent } from './directLinking.component';
import{ PreviousRouteRecorder, IsRouteEnabled, LoginGuard, DirectLinkingModule} from 'ng-openaire-library';
import {DirectLinkingRoutingModule} from './directLinking-routing.module';
@NgModule({
imports: [
SharedModule, DirectLinkingModule, DirectLinkingRoutingModule
],
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
declarations: [
OpenaireDirectLinkingComponent
], exports:[OpenaireDirectLinkingComponent]
})
export class LibDirectLinkingModule { }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { OpenaireLinkingComponent } from './linkingGeneric.component';
import{ PreviousRouteRecorder, IsRouteEnabled, LoginGuard} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireLinkingComponent, canActivate: [IsRouteEnabled, LoginGuard], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder]},
])
]
})
export class LinkingRoutingModule { }

View File

@ -0,0 +1,12 @@
import {Component, Input} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import {ActivatedRoute, Router} from '@angular/router';
@Component({
selector: 'openaire-linking-generic',
template: `<linking-generic></linking-generic>`
})
export class OpenaireLinkingComponent {
}

View File

@ -0,0 +1,18 @@
import { NgModule } from '@angular/core';
import { SharedModule } from '../../shared/shared.module';
import {OpenaireLinkingComponent} from './linkingGeneric.component';
import {LinkingRoutingModule} from './linking-routing.module';
import{ PreviousRouteRecorder, IsRouteEnabled, LoginGuard, LinkingGenericModule} from 'ng-openaire-library';
@NgModule({
imports: [
SharedModule, LinkingRoutingModule, LinkingGenericModule
],
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
declarations: [
OpenaireLinkingComponent
], exports:[
OpenaireLinkingComponent ]
})
export class LibLinkingGenericModule { }

View File

@ -0,0 +1,14 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import {OpenaireMyClaimsComponent } from './myClaims.component';
import{ PreviousRouteRecorder, IsRouteEnabled, LoginGuard} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireMyClaimsComponent, canActivate: [IsRouteEnabled, LoginGuard],
data: {redirect: '/error'}, canDeactivate: [PreviousRouteRecorder]}])
]
})
export class MyClaimsRoutingModule { }

View File

@ -0,0 +1,21 @@
import {Component, Input} from '@angular/core';
import {Observable} from 'rxjs/Observable';
@Component({
selector: 'openaire-my-claims',
template: `
<my-claims>
</my-claims>
`
})
export class OpenaireMyClaimsComponent {
constructor () {
}
ngOnInit() {
}
}

View File

@ -0,0 +1,21 @@
import { NgModule } from '@angular/core';
import { SharedModule } from '../../shared/shared.module';
import { OpenaireMyClaimsComponent } from './myClaims.component';
import { MyClaimsRoutingModule } from './myClaims-routing.module';
import{ PreviousRouteRecorder, IsRouteEnabled, LoginGuard, MyClaimsModule} from 'ng-openaire-library';
@NgModule({
imports: [
SharedModule,
MyClaimsRoutingModule,
MyClaimsModule
],
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
declarations: [
OpenaireMyClaimsComponent
]
})
export class LibMyClaimsModule { }

View File

@ -0,0 +1,51 @@
// import {Component, Input} from '@angular/core';
// import {Observable} from 'rxjs/Observable';
// import { Router } from '@angular/router';
//
//
//
// @Component({
// selector: 'my-claims-demo',
// template: `
// <div *ngIf="user" class="container">
// <div class="page-header">
// <h1> My Claims Demo</h1>
// </div>
// <div>
// <div class=""><a routerLink="/Linking">Linking</a></div>
// <div class=""><a routerLink]="/MyClaims">MyClaims</a></div>
// <div class=""><a routerLink="/Claims">Claims Admin</a></div>
// <p> Extra parameters for claims admin</p>
// <div class=""><a href="claims?fetchBy=User&fetchId=amelie.baecker@uni-bielefeld.de">Claims By user</a></div>
// <div class=""><a href="claims?fetchBy=Project&fetchId=corda_______::2c37878a0cede85dbbd1081bb9b4a2f8">Claims By project</a></div>
// <div class=""><a href="claims?fetchBy=Context&fetchId=egi::country::gr">Claims By context</a></div>
//
// <!-- <p>Orcid
// <p>N.M.
// 0000-0002-3477-3082
// </p>
// </p> -->
// <div class=""><a href="publication?articleId=od_______908::3a5b2885656a91307156325644e73b92" >Publication od_______908::3a5b2885656a91307156325644e73b92</a></div>
// <!--<div class=""><a href="publication?articleId=od_______908::3a5b2885656a91307156325644e73b92" >Publication od_______908::3a5b2885656a91307156325644e73b92</a></div>
// <div class=""><a href="publication?articleId=od_______908::3a5b2885656a91307156325644e73b92" >Publication od_______908::3a5b2885656a91307156325644e73b92</a></div>-->
// </div>
// </div>
//
//
//
// `
// //(click)="changeOrderby('target')"
// //od_______908::3a5b2885656a91307156325644e73b92
//
// })
// export class MyClaimsDemoComponent {
// constructor ( private _router: Router ) {
// }
// user:string="argirok@di.uoa.gr";
// ngOnInit() {
//
// }
// goToPub(id: number){
// this._router.navigate( ['Publication', { articleId: id}] );
// }
// }

View File

@ -0,0 +1,17 @@
// import {Component, Input} from '@angular/core';
// import {Observable} from 'rxjs/Observable';
// import { Router } from '@angular/router';
//
//
//
// @Component({
// selector: 'openaire-deposit-by-subject',
// template: `
// <deposit-by-subject>
// </deposit-by-subject>
// `
// })
//
// export class OpenaireDepositBySubjectComponent {
//
// }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { OpenaireDepositBySubjectResultComponent } from './depositBySubjectResult.component';
import { FreeGuard,PreviousRouteRecorder,IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireDepositBySubjectResultComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class DepositBySubjectResultsRoutingModule { }

View File

@ -0,0 +1,12 @@
import {Component, Input} from '@angular/core';
import {Observable} from 'rxjs/Observable';
@Component({
selector: 'openaire-deposit-by-subject-result',
template:`<deposit-by-subject-result></deposit-by-subject-result>`
})
export class OpenaireDepositBySubjectResultComponent {
}

View File

@ -0,0 +1,27 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { OpenaireDepositBySubjectResultComponent } from './depositBySubjectResult.component';
import {DepositBySubjectResultsRoutingModule} from './depositBySubjectResult-routing.module';
import {DepositBySubjectResultsModule, FreeGuard,PreviousRouteRecorder,IsRouteEnabled } from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule,
DepositBySubjectResultsModule,
DepositBySubjectResultsRoutingModule
],
declarations: [
OpenaireDepositBySubjectResultComponent
],
exports: [
OpenaireDepositBySubjectResultComponent
],
providers: [FreeGuard,PreviousRouteRecorder, IsRouteEnabled]
})
export class LibDepositBySubjectResultsModule { }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { OpenaireDepositDatasetsComponent } from './depositDatasets.component';
import { FreeGuard,PreviousRouteRecorder,IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireDepositDatasetsComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class DepositDatasetsRoutingModule { }

View File

@ -0,0 +1,14 @@
import {Component} from '@angular/core';
@Component({
selector: 'openaire-deposit-datasets',
template: `
<deposit-datasets>
</deposit-datasets>
`
})
export class OpenaireDepositDatasetsComponent {
}

View File

@ -0,0 +1,25 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { OpenaireDepositDatasetsComponent } from './depositDatasets.component';
import {DepositDatasetsRoutingModule} from './depositDatasets-routing.module';
import {DepositDatasetsModule, FreeGuard,PreviousRouteRecorder,IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule,
DepositDatasetsModule,
DepositDatasetsRoutingModule
],
declarations: [
OpenaireDepositDatasetsComponent
],
exports: [
OpenaireDepositDatasetsComponent
],
providers: [FreeGuard,PreviousRouteRecorder, IsRouteEnabled]
})
export class LibDepositDatasetsModule { }

View File

@ -0,0 +1,14 @@
import {Component} from '@angular/core';
@Component({
selector: 'openaire-deposit-datasets-result',
template: `
<deposit-datasets-result></deposit-datasets-result>
`
})
export class OpenaireDepositDatasetsResultComponent {
}

View File

@ -0,0 +1,16 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { OpenaireDepositDatasetsResultComponent } from './depositDatasetsResult.component';
import { FreeGuard,PreviousRouteRecorder,IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireDepositDatasetsResultComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class DepositDatasetsResultsRoutingModule { }

View File

@ -0,0 +1,27 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { OpenaireDepositDatasetsResultComponent } from './depositDatasetsResult.component';
import {DepositDatasetsResultsRoutingModule} from './depositDatasetsResults-routing.module';
import {DepositDatasetsResultsModule, FreeGuard,PreviousRouteRecorder,IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule,
DepositDatasetsResultsModule,
DepositDatasetsResultsRoutingModule
],
declarations: [
OpenaireDepositDatasetsResultComponent,
],
exports: [
OpenaireDepositDatasetsResultComponent,
],
providers: [FreeGuard,PreviousRouteRecorder, IsRouteEnabled]
})
export class LibDepositDatasetsResultsModule { }

View File

@ -0,0 +1,16 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { OpenaireDepositPublicationsComponent } from './depositPublications.component';
import { FreeGuard,PreviousRouteRecorder,IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireDepositPublicationsComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class DepositPublicationsRoutingModule { }

View File

@ -0,0 +1,11 @@
import {Component} from '@angular/core';
@Component({
selector: 'openaire-deposit-publications',
template: `
<deposit-publications></deposit-publications>
`
})
export class OpenaireDepositPublicationsComponent {
}

View File

@ -0,0 +1,24 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { OpenaireDepositPublicationsComponent } from './depositPublications.component';
import {DepositPublicationsRoutingModule} from './depositPublications-routing.module';
import {DepositPublicationsModule, FreeGuard,PreviousRouteRecorder,IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule,
DepositPublicationsModule,
DepositPublicationsRoutingModule
],
declarations: [
OpenaireDepositPublicationsComponent
],
exports: [
OpenaireDepositPublicationsComponent,
],
providers: [FreeGuard,PreviousRouteRecorder, IsRouteEnabled]
})
export class LibDepositPublicationsModule { }

View File

@ -0,0 +1,16 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { OpenaireDepositPublicationsResultComponent } from './depositPublicationsResult.component';
import { FreeGuard,PreviousRouteRecorder,IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireDepositPublicationsResultComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class DepositPublicationsResultRoutingModule { }

View File

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

View File

@ -0,0 +1,24 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { OpenaireDepositPublicationsResultComponent } from './depositPublicationsResult.component';
import {DepositPublicationsResultRoutingModule} from './depositPublicationsResult-routing.module';
import {DepositPublicationsResultsModule, FreeGuard,PreviousRouteRecorder,IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule,
DepositPublicationsResultsModule,
DepositPublicationsResultRoutingModule
],
declarations: [
OpenaireDepositPublicationsResultComponent
],
exports: [
OpenaireDepositPublicationsResultComponent
],
providers: [FreeGuard,PreviousRouteRecorder, IsRouteEnabled]
})
export class LibDepositPublicationsResultsModule { }

View File

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

View File

@ -0,0 +1,15 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{HomeComponent} from './home.component';
import {FreeGuard,PreviousRouteRecorder} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: HomeComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class HomeRoutingModule { }

View File

@ -0,0 +1,343 @@
<div class="image-front-topbar uk-section-default uk-position-relative" uk-scrollspy="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-fade&quot;,&quot;delay&quot;:false}" tm-header-transparent="light">
<div
class="mainPageSearchForm uk-background-norepeat uk-background-cover uk-background-bottom-center uk-section uk-padding-remove-bottom uk-flex uk-flex-middle" uk-height-viewport="offset-top: true;offset-bottom: 20">
<div class="uk-position-cover" style="background-color: rgba(255, 255, 255, 0.37);"></div>
<div class="uk-width-1-1">
<div class="uk-position-relative">
<div class="uk-container uk-margin-medium">
<div class="tm-header-placeholder uk-margin-medium" style="height: 84px;"></div>
<div class="search_box_bg uk-grid-large uk-flex-middle uk-grid uk-grid-stack" uk-grid="">
<div class="uk-width-1-1@m uk-first-column">
<div data-id="page#4">
<search-form placeholderText="Search in OA scholarly works..." link=true></search-form>
</div>
</div>
</div>
</div>
<div class="uk-container uk-container-large uk-margin-medium explore-numbers">
<div class="search_box_bg uk-grid uk-grid-stack" uk-grid="">
<div class="uk-width-1-1@m uk-first-column">
<h1 id="page#7" class="uk-margin uk-margin-remove-bottom uk-width-xxlarge uk-margin-auto uk-text-center uk-h2 uk-text-primary uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="font-weight: 600 !important;">
<span *ngIf="showPublications && publicationsSize" >{{publicationsSize.number}} {{publicationsSize.size}} publications - </span>
<span *ngIf="showDatasets && datasetsSize">{{datasetsSize.number}} {{datasetsSize.size}} research data - </span>
<span *ngIf="showDataProviders && datasourcesSize" >{{datasourcesSize.number}} {{datasourcesSize.size}} data sources - </span>
<span *ngIf="showProjects && fundersSize">{{fundersSize.number}} {{fundersSize.size}} funders</span>
6900 data sources - 15 funders
</h1>
<h2 *ngIf = "showPublications || showDatasets || showProjects || showDataProviders" id="page#8" class="uk-margin-medium uk-width-xlarge uk-margin-auto uk-text-center uk-h2 uk-text-primary uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="font-weight: normal !important;
color: #4E81A2 !important;">
... linked together
</h2>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="uk-section-muted uk-section uk-section-small uk-flex uk-flex-middle" uk-scrollspy="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-slide-top-medium&quot;,&quot;delay&quot;:false}" uk-height-viewport="offset-top: true" style="box-sizing: border-box; min-height: 100vh; height: 100vh;" style="background-color: #1F5A88 !important;">
<div class="uk-width-1-1">
<div class="uk-container">
<div class="uk-margin-small uk-grid uk-grid-stack" uk-grid="">
<div class="uk-width-1-1@m uk-first-column">
<h6 id="page#12" class="uk-margin uk-text-center uk-h4 uk-text-muted uk-scrollspy-inview uk-animation-slide-top-medium" uk-scrollspy-class="" style="">
Learn more on OpenAIRE discovery and sharing services
</h6>
<hr class="uk-width-small uk-margin-auto uk-divider-small uk-text-center uk-scrollspy-inview uk-animation-slide-top-medium" uk-scrollspy-class="" style="">
</div>
</div>
<div class="uk-container uk-container-large uk-margin-large">
<div uk-grid="" class="uk-grid uk-grid-stack">
<div class="uk-width-1-1@m uk-first-column">
<div class="uk-margin uk-grid-match uk-child-width-1-1 uk-child-width-1-1@s uk-child-width-1-3@m uk-child-width-1-3@l uk-child-width-1-3@xl uk-grid-parallax uk-grid uk-scrollspy-inview uk-animation-slide-top-medium" uk-scrollspy-class="" uk-grid-parallax="translate: " uk-lightbox="toggle: a[data-type]" style="margin-bottom: 0px;">
<div class="uk-first-column">
<div uk-scrollspy-class="" class="el-item uk-card uk-card-default uk-card-hover uk-scrollspy-inview uk-animation-slide-top-medium" style="">
<a routerLinkActive="uk-link" routerLink="/search/find" class="el-link uk-position-cover uk-position-z-index uk-margin-remove-adjacent" data-caption="&lt;h4 class='uk-margin-remove'&gt;Explore &lt;/h4&gt;&lt;div&gt;Search for publications-data-software and other research artefacts. See how these are linked together and how they are linked to funding and organizations.&lt;/div&gt;
&lt;p&gt;View statistics on projects and institutions.&lt;/p&gt;"></a>
<div class="uk-card-media-top"><img src="assets/explrore.jpg" sizes="(min-width: 711px) 711px, 100vw" class="el-image" alt="" width="711"></div>
<div class="uk-card-body">
<h3 class="el-title uk-margin uk-h2 uk-margin-remove-adjacent uk-margin-remove-bottom">
Explore
</h3>
<div class="el-meta uk-margin uk-text-meta">Discover linked open research</div>
<div class="el-content uk-margin">
<div>Search for
publications-data-software and other research artefacts. See how these
are linked together and how they are linked to funding and
organizations.
</div>
<p>View statistics on projects and institutions.</p>
</div>
</div>
</div>
</div>
<div>
<div uk-scrollspy-class="" class="el-item uk-card uk-card-default uk-card-hover uk-scrollspy-inview uk-animation-slide-top-medium" style="">
<a routerLinkActive="uk-link" routerLink="/participate/deposit-publications" class="el-link uk-position-cover uk-position-z-index uk-margin-remove-adjacent" data-caption="&lt;h4 class='uk-margin-remove'&gt;Share&lt;/h4&gt;&lt;div class=&quot;uk-margin-bottom&quot;&gt;Select an OpenAIRE compatible repository (2.0 +) so that your research is linked to your funding information.&lt;/div&gt;
&lt;div&gt;Use &lt;a href=&quot;http://www.zenodo.org&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;ZENODO&lt;/a&gt;, a catch-all repository hosted by CERN to deposit all your research results (publications, data, software, etc.)&lt;/div&gt;"></a>
<div class="uk-card-media-top"><img src="assets/open.jpg" sizes="(min-width: 1090px) 1090px, 100vw" class="el-image" alt="" width="1090"></div>
<div class="uk-card-body">
<h3 class="el-title uk-margin uk-h2 uk-margin-remove-adjacent uk-margin-remove-bottom">
Share
</h3>
<div class="el-meta uk-margin uk-text-meta">Deposit in a repository of your choice</div>
<div class="el-content uk-margin">
<div class="uk-margin-bottom">Select an OpenAIRE compatible repository (2.0 +) so that your research is linked to your funding information.</div>
<div>Use <a href="http://www.zenodo.org/" target="_blank" rel="noopener">ZENODO</a>, a catch-all repository hosted by CERN to deposit all your research results (publications, data, software, etc.)</div>
</div>
</div>
</div>
</div>
<div>
<div uk-scrollspy-class="" class="el-item uk-card uk-card-default uk-card-hover uk-scrollspy-inview uk-animation-slide-top-medium" style="">
<a routerLinkActive="uk-link" routerLink="/participate/claim" class="el-link uk-position-cover uk-position-z-index uk-margin-remove-adjacent" data-caption="&lt;h4 class='uk-margin-remove'&gt;Link&lt;/h4&gt;&lt;div class=&quot;uk-margin-bottom&quot;&gt;If you don't find your research results in OpenAIRE, don't worry!&lt;/div&gt;
&lt;div&gt;Use our &lt;strong&gt;LINK OUT service&lt;/strong&gt;, that reaches out to many external sources via APIs, to connect your research results and &lt;em&gt;claim&lt;/em&gt; them to your project.&lt;/div&gt;"></a>
<div class="uk-card-media-top"><img src="assets/link.jpg" sizes="(min-width: 693px) 693px, 100vw" class="el-image" alt="" width="693"></div>
<div class="uk-card-body">
<h3 class="el-title uk-margin uk-h2 uk-margin-remove-adjacent uk-margin-remove-bottom">
Link
</h3>
<div class="el-meta uk-margin uk-text-meta">Connect all your research</div>
<div class="el-content uk-margin">
<div class="uk-margin-bottom">If you don't find your research results in OpenAIRE, don't worry!</div>
<div>Use our <strong>LINK OUT service</strong>, that reaches out to many external sources via APIs, to connect your research results and <em>claim</em> them to your project.</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="uk-section-default uk-section">
<div class="uk-container">
<div class="uk-grid-small uk-margin-medium uk-grid" uk-grid="">
<div class="uk-width-expand@m uk-first-column">
<h3 class="uk-margin-small uk-h3 uk-heading-line uk-text-primary">
<span>New content providers</span>
</h3>
<div class="uk-margin-remove-vertical uk-grid-match uk-child-width-1-1 uk-child-width-1-1@m uk-child-width-1-1@l uk-child-width-1-1@xl uk-grid-small uk-grid-divider uk-grid uk-grid-stack" uk-grid="">
<div class="uk-first-column">
<div class="el-item uk-panel">
<h6 class="el-title uk-margin uk-h6 uk-text-primary uk-margin-remove-adjacent uk-margin-remove-bottom">
Aaltodoc Publication Archive
</h6>
<div class="el-meta uk-margin uk-text-meta">Aalto University</div>
<div class="el-content uk-margin"><span class="uk-label">IR</span>&nbsp;<span class=" uk-label uk-label-danger">Data</span>&nbsp;<span class="uk-label uk-label-success">OpenAIRE 3.0</span><br>
12469 datasets
</div>
</div>
</div>
<div class="uk-grid-margin uk-first-column">
<div class="el-item uk-panel">
<h6 class="el-title uk-margin uk-h6 uk-text-primary uk-margin-remove-adjacent uk-margin-remove-bottom">
Cambridge Server
</h6>
<div class="el-meta uk-margin uk-text-meta">Cambridge Uviversity</div>
<div class="el-content uk-margin"><span class="uk-label">IR</span>&nbsp;<span class=" uk-label uk-label-warning">Literature</span>&nbsp;<span class="uk-label uk-label-success" style="background-color:orange!important">OpenAIRE 2.0</span><br>
4567 publications
</div>
</div>
</div>
</div>
<hr>
<div class="uk-margin">
<a class="el-content uk-button uk-button-text" routerLinkActive="uk-link" routerLink="/search/find/dataproviders" >
View all
</a>
</div>
</div>
<div class="uk-width-expand@m">
<h2 class="uk-h3 uk-heading-line uk-text-primary">
<span>New funders</span>
</h2>
<div class="uk-margin uk-text-meta">
Latest funding database incorporated in OpenAIRE
</div>
<div class="uk-margin-remove-vertical uk-grid-match uk-child-width-1-1 uk-child-width-1-1@m uk-child-width-1-1@l uk-child-width-1-1@xl uk-grid-small uk-grid-divider uk-grid uk-grid-stack" uk-grid="">
<div class="uk-first-column">
<div class="el-item uk-panel">
<h6 class="el-title uk-margin uk-h6 uk-text-primary uk-margin-remove-adjacent uk-margin-remove-bottom">
Swiss National Science Foundation
</h6>
<div class="el-meta uk-margin uk-text-meta">Switzerland</div>
<div class="el-content uk-margin"><span class="uk-label">OA mandate</span><br> 47.509 publications</div>
</div>
</div>
<div class="uk-grid-margin uk-first-column">
<div class="el-item uk-panel">
<h6 class="el-title uk-margin uk-h6 uk-text-primary uk-margin-remove-adjacent uk-margin-remove-bottom">
Ministry of Education, Science and Technological Development of Republic of Serbia
</h6>
<div class="el-meta uk-margin uk-text-meta">Serbia</div>
<div class="el-content uk-margin">7.942 publicatios</div>
</div>
</div>
</div>
</div>
<div class="uk-width-expand@m uk-grid-item-match">
<div class="uk-tile-secondary uk-tile uk-tile-xsmall" style="background-color: #4E81A2 !important;">
<h4 class="uk-margin-remove-top uk-h4">
Our data policies
</h4>
<ul class="uk-margin-small uk-list uk-list-large">
<li class="el-item">
<h3 class="el-title uk-h3 uk-margin-remove">Data acquisition</h3>
<div class="el-content">
<a href="/www.cnn.com">How we retrieve data, how often, what processes it goes through (aggregating cleaning, trasnforming, inferring, de-duplicating), what are the quality checks&nbsp;along all&nbsp; data processing stages.</a>
</div>
</li>
<li class="el-item">
<h3 class="el-title uk-h3 uk-margin-remove">Data usage</h3>
<div class="el-content">
<a href="/www.cnn.com">Who is able to retrieve our data, what are the licences, what about specific SLAs.</a>
</div>
</li>
</ul>
<div class="uk-margin uk-margin-remove-bottom uk-text-left">
<a class="el-content uk-link-text" href="/www.cnn.com" target="_blank">
Learn more
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="uk-section-default" uk-scrollspy="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-fade&quot;,&quot;delay&quot;:false}">
<div style="background-image: url('assets/sky_bw3.png');" class="uk-background-norepeat uk-background-cover uk-background-center-center uk-background-fixed uk-section uk-section-small">
<div class="uk-container">
<div class="uk-grid-divider uk-margin-remove-vertical uk-grid" uk-grid="">
<div class="uk-width-expand@m uk-width-1-2@s uk-dark uk-first-column">
<h4 class="uk-margin-medium uk-text-center uk-h4 uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
A content provider?
</h4>
<div class="custom-uk-text-light uk-margin-medium uk-width-xlarge uk-margin-auto uk-text-center uk-text-lead uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
Join OpenAIRE, use our tools and make your content more visible around the world.
</div>
<div id="page#37" class=" uk-margin-medium uk-text-center uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
<a class="providelink el-content uk-button uk-button-default uk-button-small" href="https://provide.openaire.eu" target="_blank" style="">
OpenAIRE.PROVIDE
</a>
</div>
</div>
<div class="uk-width-expand@m uk-width-1-2@s uk-dark">
<h4 class="uk-margin-medium uk-text-center uk-h4 uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
A research manager?
</h4>
<div class="custom-uk-text-light uk-margin-medium uk-width-xlarge uk-margin-auto uk-text-center uk-text-lead uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
Use our monitoring services and easily track all relevant research results.
</div>
<div id="page#41" class=" uk-margin-medium uk-text-center uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
<a class="monitorlink el-content uk-button uk-button-default uk-button-small" href="https://monitor.openaire.eu" target="_blank">
OpenAIRE.MONITOR
</a>
</div>
</div>
<div class="uk-width-expand@m uk-width-1-2@s uk-dark">
<h4 class="uk-margin-medium uk-text-center uk-h4 uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
A research community?
</h4>
<div class="custom-uk-text-light uk-margin-medium uk-width-xlarge uk-margin-auto uk-text-center uk-text-lead uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
Use a trusted partner to share, link, disseminate and monitor your research.
</div>
<div id="page#45" class=" uk-margin-medium uk-text-center uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
<a class="connectlink el-content uk-button uk-button-default uk-button-small" href="https://connect.openaire.eu" target="_blank">
OpenAIRE.CONNECT
</a>
</div>
</div>
<div class="uk-width-expand@m uk-width-1-2@s uk-dark">
<h4 class="uk-margin-medium uk-text-center uk-h4 uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
A developer?
</h4>
<div id="page#48" class="custom-uk-text-light uk-margin-medium uk-width-xlarge uk-margin-auto uk-text-center uk-text-lead uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
Get access to OpenAIRE data and capitalize on on Europe's open linked research.
</div>
<div id="page#49" class=" uk-margin-medium uk-text-center uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
<a class="developlink el-content uk-button uk-button-default uk-button-small" href="https://develop.openaire.eu" target="_blank">
OpenAIRE.DEVELOP
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<!--div class="image-front-topbar uk-section-secondary uk-position-relative" uk-scrollspy="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-fade&quot;,&quot;delay&quot;:false}" tm-header-transparent="light">
<div style="" class="mainPageSearchForm uk-background-norepeat uk-background-cover uk-background-fixed uk-section uk-padding-remove-bottom uk-flex uk-flex-middle" uk-height-viewport="offset-top: true;offset-bottom: ! +">
<div class="uk-position-cover"></div>
<div class="uk-width-1-1">
<div class="uk-position-relative">
<div class="uk-container uk-margin-medium">
<div class="tm-header-placeholder uk-margin-medium" style="height: 84px;"></div>
<div class="search_box_bg uk-grid-large uk-flex-middle uk-grid uk-grid-stack" uk-grid="">
<div class="uk-width-1-1@m uk-first-column">
<div data-id="page#4">
<search-form placeholderText="Search in OpenAIRE information space" link=true></search-form>
</div>
</div>
</div>
</div>
<div class="uk-container uk-container-large uk-margin-medium">
<div class="search_box_bg uk-grid uk-grid-stack" uk-grid="">
<div class="uk-width-1-1@m uk-first-column">
<div class="search_box_bg uk-margin-large uk-margin-remove-bottom uk-text-center uk-grid-match uk-child-width-1-2 uk-child-width-1-2@s uk-child-width-1-4@m uk-child-width-1-4@l uk-child-width-1-4@xl uk-grid-collapse uk-grid-divider uk-grid uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" uk-grid="" data-id="page#7" style="">
<div *ngIf="showPublications && publicationsSize" class="uk-first-column">
<div uk-scrollspy-class="" class="uk-width-medium uk-margin-auto el-item uk-panel uk-scrollspy-inview uk-animation-fade" style="">
<h2 class="el-title uk-margin uk-h2">
<span>{{publicationsSize.number}} {{publicationsSize.size}} publications</span>
</h2>
</div>
</div>
<div *ngIf="showDatasets && datasetsSize">
<div uk-scrollspy-class="" class="uk-width-medium uk-margin-auto el-item uk-panel uk-scrollspy-inview uk-animation-fade" style="">
<h2 class="el-title uk-margin uk-h2">
<span>{{datasetsSize.number}} {{datasetsSize.size}} research data</span>
</h2>
</div>
</div>
<div *ngIf="showDataProviders && datasourcesSize" >
<div uk-scrollspy-class="" class="uk-width-medium uk-margin-auto el-item uk-panel uk-scrollspy-inview uk-animation-fade" style="">
<h2 class="el-title uk-margin uk-h2">
<span>{{datasourcesSize.number}} {{datasourcesSize.size}} data sources</span>
</h2>
</div>
</div>
<div *ngIf="showProjects && fundersSize">
<div uk-scrollspy-class="" class="uk-width-medium uk-margin-auto el-item uk-panel uk-scrollspy-inview uk-animation-fade" style="">
<h2 class="el-title uk-margin uk-h2">
<span>{{fundersSize.number}} {{fundersSize.size}} funders</span>
</h2>
</div>
</div>
</div>
<div *ngIf = "showPublications || showDatasets || showProjects || showDataProviders" class="uk-margin-large uk-margin-remove-bottom uk-text-center uk-text-meta uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" data-id="page#8" style="">
<span style="color:#fff!important; font-size:30pt!important">all linked together</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tm-main uk-container" style="min-height:200px">
<helper position="bottom"></helper>
</div-->

View File

@ -0,0 +1,173 @@
import {Component, Input, Output, EventEmitter, ViewChild, ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import {ActivatedRoute, Router} from '@angular/router';
import {Location} from '@angular/common';
import "rxjs/add/observable/zip";
import { Meta, MetaDefinition, ConfigurationService} from 'ng-openaire-library';
import {SearchPublicationsService, SearchDataprovidersService, SearchProjectsService, SearchDatasetsService, SearchOrganizationsService, OpenaireProperties, SearchFields} from 'ng-openaire-library';
import { ErrorCodes, RouterHelper, NumberUtils, RefineFieldResultsService, PiwikService} from 'ng-openaire-library';
@Component({
selector: 'home',
templateUrl: 'home.component.html',
})
export class HomeComponent {
public piwiksub: any;
public subfunders: any;
public pageTitle = "OpenAIRE"
public keyword:string = "";
public searchFields:SearchFields = new SearchFields();
public errorCodes:ErrorCodes = new ErrorCodes();
public routerHelper:RouterHelper = new RouterHelper();
public publicationsSize:any = null;
public datasetsSize:any = null;
public fundersSize:any = null;
public projectsSize:any = null;
public datasourcesSize:any = null;
showPublications:boolean= false;
showDatasets:boolean= false;
showProjects:boolean= false;
showDataProviders:boolean= false;
public subPub;public subData;public subProjects;public subOrg; public subDataPr;
constructor (
private route: ActivatedRoute,
private _router: Router,
private _searchPublicationsService: SearchPublicationsService,
private _searchDataprovidersService: SearchDataprovidersService,
private _searchProjectsService: SearchProjectsService,
private _searchDatasetsService: SearchDatasetsService,
private _searchOrganizationsService: SearchOrganizationsService,
private _refineFieldResultsService:RefineFieldResultsService,
private location: Location, private _meta: Meta,private _piwikService:PiwikService,
private config: ConfigurationService
) {
var description = "open access, research, scientific publication, European Commission, EC, FP7, ERC, Horizon 2020, H2020, search, projects ";
var title = "OpenAIRE";
var url = OpenaireProperties.getBaseLink()+this._router.url;
this._meta.setTitle(title);
this._meta.updateMeta("description", description);
this._meta.updateProperty("og:description", description);
this._meta.updateProperty("og:title", title);
this._meta.updateProperty("og:url", url);
const entityOne = this.config.isEntityEnabled("publication");
const entityTwo = this.config.isEntityEnabled("dataset");
const entityThree = this.config.isEntityEnabled("project");
const entityFour = this.config.isEntityEnabled("datasource");
const example = Observable.zip(entityOne,entityTwo,entityThree,entityFour);
// wait until all observables have emitted a value then emit all as an array
example.subscribe(data => {
this.showPublications = data[0];
this.showDatasets = data[1];
this.showProjects = data[2];
this.showDataProviders = data[3];
this.getNumbers();
});
if(OpenaireProperties.isPiwikTrackEnabled() && (typeof document !== 'undefined')){
this.piwiksub = this._piwikService.trackView("OpenAIRE").subscribe();
}
}
public ngOnInit() {
}
public ngOnDestroy() {
if(this.piwiksub){
this.piwiksub.unsubscribe();
}
if(this.subfunders){
this.subfunders.unsubscribe();
}
if(this.subPub){
this.subPub.unsubscribe();
}
if(this.subData){
this.subData.unsubscribe();
}
// if(this.subProjects){
// this.subProjects.unsubscribe();
// }
// if(this.subOrg){
// this.subOrg.unsubscribe();
// }
if(this.subDataPr){
this.subDataPr.unsubscribe();
}
}
private getNumbers() {
if(this.showPublications){
this.subPub = this._searchPublicationsService.numOfSearchPublications("").subscribe(
data => {
console.log("Count results: "+data);
if(data && data != null && data > 0 ){
this.publicationsSize = NumberUtils.roundNumber(data);
console.log("After round");
}
},
err => {
console.log(err);
}
);
}
if(this.showDatasets){
this.subData = this._searchDatasetsService.numOfSearchDatasets("").subscribe(
data => {
if(data && data != null && data > 0 ){
this.datasetsSize = NumberUtils.roundNumber(data);
}
},
err => {
console.log(err);
}
);
}
if(this.showProjects){
this.subfunders = this._refineFieldResultsService.getRefineFieldsResultsByEntityName(["funder"],"project").subscribe(
data => {
console.info("Funders: "+data[1][0].title+ " values "+data[1][0].values.length+"]");
console.info("Projects: "+data[0]);
if(data[0] && data[0] > 0 ){
this.projectsSize = NumberUtils.roundNumber(data[0]);
}
if(data[1].length > 0 && data[1][0].filterId == "funder" && data[1][0].values ){
this.fundersSize = NumberUtils.roundNumber(data[1][0].values.length);
}
},
err => {
console.log(err);
});
}
if(this.showDataProviders){
this.subDataPr = this._searchDataprovidersService.numOfSearchDataproviders("").subscribe(
data => {
if(data && data != null && data > 0 ){
this.datasourcesSize = NumberUtils.roundNumber(data);
}
},
err => {
console.log(err);
}
);
}
}
}

View File

@ -0,0 +1,36 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import{HomeRoutingModule} from './home-routing.module';
import{HomeComponent} from './home.component';
import {DataProvidersServiceModule, DatasetsServiceModule,ProjectsServiceModule,PublicationsServiceModule,
OrganizationsServiceModule,SearchFormModule,PiwikServiceModule,RefineFieldResultsServiceModule,HelperModule} from 'ng-openaire-library';
import {Meta, ConfigurationService, FreeGuard, PreviousRouteRecorder,} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule, RouterModule,
RefineFieldResultsServiceModule,
DataProvidersServiceModule, DatasetsServiceModule, ProjectsServiceModule,
PublicationsServiceModule,
OrganizationsServiceModule,
SearchFormModule,
PiwikServiceModule,
HomeRoutingModule,
HelperModule
],
declarations: [
HomeComponent
],
providers:[
FreeGuard, PreviousRouteRecorder, ConfigurationService, Meta
],
exports: [
HomeComponent
]
})
export class HomeModule { }

View File

@ -0,0 +1,16 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { OpenaireDataProviderComponent } from './dataProvider.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireDataProviderComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class DataProviderRoutingModule { }

View File

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

View File

@ -0,0 +1,17 @@
//import {MaterialModule} from '@angular/material';
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { DataProviderModule } from 'ng-openaire-library';
import { OpenaireDataProviderComponent } from './dataProvider.component';
import {DataProviderRoutingModule} from './dataProvider-routing.module';
import { FreeGuard, PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [DataProviderModule, DataProviderRoutingModule],
declarations:[OpenaireDataProviderComponent],
providers:[FreeGuard, PreviousRouteRecorder, IsRouteEnabled],
exports:[OpenaireDataProviderComponent]
})
export class LibDataProviderModule { }

View File

@ -0,0 +1,16 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { OpenaireDatasetComponent } from './dataset.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireDatasetComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class DatasetRoutingModule { }

View File

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

View File

@ -0,0 +1,17 @@
//import {MaterialModule} from '@angular/material';
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { SharedModule } from '../../shared/shared.module';
import { RouterModule } from '@angular/router';
import { DatasetModule, FreeGuard, PreviousRouteRecorder, IsRouteEnabled } from 'ng-openaire-library';
import { OpenaireDatasetComponent } from './dataset.component';
import {DatasetRoutingModule} from './dataset-routing.module';
@NgModule({
imports: [DatasetModule, DatasetRoutingModule],
declarations:[OpenaireDatasetComponent],
providers:[FreeGuard, PreviousRouteRecorder, IsRouteEnabled],
exports:[OpenaireDatasetComponent]
})
export class LibDatasetModule { }

View File

@ -0,0 +1,13 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { OpenaireHtmlProjectReportComponent } from './htmlProjectReport.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireHtmlProjectReportComponent , canActivate: [FreeGuard, IsRouteEnabled],canDeactivate: [PreviousRouteRecorder]}
])
]
})
export class HtmlProjectReportRoutingModule { }

View File

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

View File

@ -0,0 +1,18 @@
//import {MaterialModule} from '@angular/material';
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { SharedModule } from '../../shared/shared.module';
import { RouterModule } from '@angular/router';
import { HtmlProjectReportModule , FreeGuard, PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
import { OpenaireHtmlProjectReportComponent } from './htmlProjectReport.component';
import {HtmlProjectReportRoutingModule} from './htmlProjectReport-routing.module';
@NgModule({
imports: [HtmlProjectReportModule, HtmlProjectReportRoutingModule],
declarations:[OpenaireHtmlProjectReportComponent],
providers:[FreeGuard, PreviousRouteRecorder, IsRouteEnabled],
exports:[OpenaireHtmlProjectReportComponent]
})
export class LibHtmlProjectReportModule { }

View File

@ -0,0 +1,18 @@
//import {MaterialModule} from '@angular/material';
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { SharedModule } from '../../shared/shared.module';
import { RouterModule } from '@angular/router';
import { OrganizationModule, FreeGuard, PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
import { OpenaireOrganizationComponent } from './organization.component';
import {OrganizationRoutingModule} from './organization-routing.module';
@NgModule({
imports: [OrganizationModule, OrganizationRoutingModule],
declarations:[OpenaireOrganizationComponent],
providers:[FreeGuard, PreviousRouteRecorder, IsRouteEnabled],
exports:[OpenaireOrganizationComponent]
})
export class LibOrganizationModule { }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { OpenaireOrganizationComponent } from './organization.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireOrganizationComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class OrganizationRoutingModule { }

View File

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

View File

@ -0,0 +1,18 @@
//import {MaterialModule} from '@angular/material';
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { SharedModule } from '../../shared/shared.module';
import { RouterModule } from '@angular/router';
import { ProjectModule, FreeGuard, PreviousRouteRecorder, IsRouteEnabled } from 'ng-openaire-library';
import { OpenaireProjectComponent } from './project.component';
import {ProjectRoutingModule} from './project-routing.module';
@NgModule({
imports: [ProjectModule, ProjectRoutingModule],
declarations:[OpenaireProjectComponent],
providers:[FreeGuard, PreviousRouteRecorder, IsRouteEnabled],
exports:[OpenaireProjectComponent]
})
export class LibProjectModule { }

View File

@ -0,0 +1,16 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { OpenaireProjectComponent } from './project.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireProjectComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class ProjectRoutingModule { }

View File

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

View File

@ -0,0 +1,18 @@
//import {MaterialModule} from '@angular/material';
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { SharedModule } from '../../shared/shared.module';
import { RouterModule } from '@angular/router';
import { PublicationModule, FreeGuard, PreviousRouteRecorder, IsRouteEnabled } from 'ng-openaire-library';
import { OpenairePublicationComponent } from './publication.component';
import {PublicationRoutingModule} from './publication-routing.module';
@NgModule({
imports: [PublicationModule, PublicationRoutingModule],
declarations:[OpenairePublicationComponent],
providers:[FreeGuard, PreviousRouteRecorder, IsRouteEnabled],
exports:[OpenairePublicationComponent]
})
export class LibPublicationModule { }

View File

@ -0,0 +1,16 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import {OpenairePublicationComponent } from './publication.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenairePublicationComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class PublicationRoutingModule { }

View File

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

View File

@ -0,0 +1,17 @@
//import {MaterialModule} from '@angular/material';
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { SoftwareModule, FreeGuard, PreviousRouteRecorder, IsRouteEnabled } from 'ng-openaire-library';
import { OpenaireSoftwareComponent } from './software.component';
import {SoftwareRoutingModule} from './software-routing.module';
@NgModule({
imports: [SoftwareModule, SoftwareRoutingModule],
declarations:[OpenaireSoftwareComponent],
providers:[FreeGuard, PreviousRouteRecorder, IsRouteEnabled],
exports:[OpenaireSoftwareComponent]
})
export class LibSoftwareModule { }

View File

@ -0,0 +1,14 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import {OpenaireSoftwareComponent } from './software.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSoftwareComponent, canActivate: [FreeGuard, IsRouteEnabled],canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class SoftwareRoutingModule { }

View File

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

View File

@ -0,0 +1,21 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import {OpenaireUserComponent } from './user.component';
import { UserRoutingModule } from './user-routing.module';
import {PreviousRouteRecorder, UserModule} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule,
UserRoutingModule, UserModule
],
providers:[PreviousRouteRecorder],
declarations: [
OpenaireUserComponent
]
})
export class LibUserModule { }

View File

@ -0,0 +1,15 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import {OpenaireUserComponent } from './user.component';
import {PreviousRouteRecorder} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireUserComponent, canDeactivate: [PreviousRouteRecorder]},
])
]
})
export class UserRoutingModule { }

View File

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

View File

@ -0,0 +1,23 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import{ReloadModule} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule, RouterModule, ReloadModule
],
declarations: [
],
providers:[
],
exports: [
]
})
export class LibReloadModule { }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireAdvancedSearchDataProvidersComponent} from './advancedSearchDataProviders.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchDataProvidersComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class AdvancedSearchDataProvidersRoutingModule { }

View File

@ -0,0 +1,14 @@
import {Component, Input, ViewChild} from '@angular/core';
@Component({
selector: 'openaire-advanced-search-dataprovider',
template: `
<advanced-search-dataprovider>
</advanced-search-dataprovider>
`
})
export class OpenaireAdvancedSearchDataProvidersComponent {
}

View File

@ -0,0 +1,24 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import{ AdvancedSearchDataProvidersRoutingModule} from './advancedSearchDataProviders-routing.module';
import{OpenaireAdvancedSearchDataProvidersComponent} from './advancedSearchDataProviders.component';
import {AdvancedSearchDataProvidersModule,FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchDataProvidersRoutingModule,
AdvancedSearchDataProvidersModule
],
declarations: [
OpenaireAdvancedSearchDataProvidersComponent
],
providers:[FreeGuard, IsRouteEnabled],
exports: [
OpenaireAdvancedSearchDataProvidersComponent
]
})
export class LibAdvancedSearchDataProvidersModule { }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireAdvancedSearchDatasetsComponent} from './advancedSearchDatasets.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchDatasetsComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class AdvancedSearchDatasetsRoutingModule { }

View File

@ -0,0 +1,16 @@
import {Component, Input, ViewChild} from '@angular/core';
@Component({
selector: 'openaire-advanced-search-datasets',
template: `
<advanced-search-datasets>
</advanced-search-datasets>
`
})
export class OpenaireAdvancedSearchDatasetsComponent {
}

View File

@ -0,0 +1,26 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import{ AdvancedSearchDatasetsRoutingModule} from './advancedSearchDatasets-routing.module';
import{OpenaireAdvancedSearchDatasetsComponent} from './advancedSearchDatasets.component';
import {AdvancedSearchDatasetsModule,FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchDatasetsModule,
AdvancedSearchDatasetsRoutingModule
],
declarations: [
OpenaireAdvancedSearchDatasetsComponent
],
providers:[FreeGuard, IsRouteEnabled],
exports: [
OpenaireAdvancedSearchDatasetsComponent
]
})
export class LibAdvancedSearchDatasetsModule { }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchOrganizationsComponent , canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder]}
])
]
})
export class AdvancedSearchOrganizationsRoutingModule { }

View File

@ -0,0 +1,16 @@
import {Component, Input, ViewChild} from '@angular/core';
@Component({
selector: 'openaire-advanced-search-organizations',
template: `
<advanced-search-organizations>
</advanced-search-organizations>
`
})
export class OpenaireAdvancedSearchOrganizationsComponent {
}

View File

@ -0,0 +1,27 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import{ AdvancedSearchOrganizationsRoutingModule} from './advancedSearchOrganizations-routing.module';
import{OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component';
import {AdvancedSearchOrganizationsModule, FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchOrganizationsModule,
AdvancedSearchOrganizationsRoutingModule
],
declarations: [
OpenaireAdvancedSearchOrganizationsComponent
],
providers:[FreeGuard, IsRouteEnabled],
exports: [
OpenaireAdvancedSearchOrganizationsComponent
]
})
export class LibAdvancedSearchOrganizationsModule { }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchProjectsComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class AdvancedSearchProjectsRoutingModule { }

View File

@ -0,0 +1,13 @@
import {Component, Input, ViewChild} from '@angular/core';
@Component({
selector: 'openaire-advanced-search-projects',
template: `
<advanced-search-projects>
</advanced-search-projects>
`
})
export class OpenaireAdvancedSearchProjectsComponent {
}

View File

@ -0,0 +1,26 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import{ AdvancedSearchProjectsRoutingModule} from './advancedSearchProjects-routing.module';
import{OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component';
import {AdvancedSearchProjectsModule, FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchProjectsModule,
AdvancedSearchProjectsRoutingModule
],
declarations: [
OpenaireAdvancedSearchProjectsComponent
],
providers:[FreeGuard, IsRouteEnabled],
exports: [
OpenaireAdvancedSearchProjectsComponent
]
})
export class LibAdvancedSearchProjectsModule { }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireAdvancedSearchPublicationsComponent} from './advancedSearchPublications.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchPublicationsComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class AdvancedSearchPublicationsRoutingModule { }

View File

@ -0,0 +1,13 @@
import {Component, Input, ViewChild} from '@angular/core';
@Component({
selector: 'openaire-advanced-search-publications',
template: `
<advanced-search-publications>
</advanced-search-publications>
`
})
export class OpenaireAdvancedSearchPublicationsComponent {
}

View File

@ -0,0 +1,26 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import{ AdvancedSearchPublicationsRoutingModule} from './advancedSearchPublications-routing.module';
import{OpenaireAdvancedSearchPublicationsComponent} from './advancedSearchPublications.component';
import {AdvancedSearchPublicationsModule, FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchPublicationsModule,
AdvancedSearchPublicationsRoutingModule
],
declarations: [
OpenaireAdvancedSearchPublicationsComponent
],
providers:[FreeGuard, IsRouteEnabled],
exports: [
OpenaireAdvancedSearchPublicationsComponent
]
})
export class LibAdvancedSearchPublicationsModule { }

View File

@ -0,0 +1,15 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireAdvancedSearchSoftwareComponent} from './advancedSearchSoftware.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchSoftwareComponent, canActivate: [FreeGuard],canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class AdvancedSearchSoftwareRoutingModule { }

View File

@ -0,0 +1,15 @@
import {Component, Input, ViewChild} from '@angular/core';
@Component({
selector: 'openaire-advanced-search-software',
template: `
<advanced-search-software>
</advanced-search-software>
`
})
export class OpenaireAdvancedSearchSoftwareComponent {
}

View File

@ -0,0 +1,27 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import{ AdvancedSearchSoftwareRoutingModule} from './advancedSearchSoftware-routing.module';
import{OpenaireAdvancedSearchSoftwareComponent} from './advancedSearchSoftware.component';
import {AdvancedSearchSoftwareModule, FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchSoftwareModule,
AdvancedSearchSoftwareRoutingModule
],
declarations: [
OpenaireAdvancedSearchSoftwareComponent
],
providers:[FreeGuard
],
exports: [
OpenaireAdvancedSearchSoftwareComponent
]
})
export class LibAdvancedSearchSoftwareModule { }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireSearchCompatibleDataprovidersComponent} from './compatibleDataProviders.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchCompatibleDataprovidersComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class CompatibleDataProvidersRoutingModule { }

View File

@ -0,0 +1,16 @@
import {Component, Input, ViewChild} from '@angular/core';
import { ActivatedRoute} from '@angular/router';
@Component({
selector: 'openaire-search-content-providers',
template: `
<search-content-providers>
</search-content-providers>
`
})
export class OpenaireSearchCompatibleDataprovidersComponent {
}

View File

@ -0,0 +1,26 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import{ CompatibleDataProvidersRoutingModule} from './compatibleDataProviders-routing.module';
import{OpenaireSearchCompatibleDataprovidersComponent} from './compatibleDataProviders.component';
import { FreeGuard,PreviousRouteRecorder, IsRouteEnabled, CompatibleDataProvidersModule} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule,
CompatibleDataProvidersModule,
CompatibleDataProvidersRoutingModule
],
declarations: [
OpenaireSearchCompatibleDataprovidersComponent
],
providers:[FreeGuard, IsRouteEnabled],
exports: [
OpenaireSearchCompatibleDataprovidersComponent
]
})
export class LibCompatibleDataProvidersModule { }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{SearchCompatibleDataprovidersTableComponent} from './compatibleDataProvidersTable.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: SearchCompatibleDataprovidersTableComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class CompatibleDataProvidersTableRoutingModule { }

View File

@ -0,0 +1,192 @@
import {Component, Input, ViewChild} from '@angular/core';
import {Location} from '@angular/common';
import { ActivatedRoute} from '@angular/router';
import {SearchPageTableViewComponent } from '../searchUtils/searchPageTableView.component';
import {OpenaireProperties, ErrorCodes, SearchFields,SearchDataprovidersService, SearchUtilsClass, Filter, Value } from 'ng-openaire-library';
@Component({
selector: 'search-content-providers-table',
template: `
<search-page-table pageTitle="OpenAIRE Content Providers Table"
type="content providers" entityType="dataprovider" [(filters)] = "filters"
[(results)] = "results" [(searchUtils)] = "searchUtils"
[showResultCount]=false
[disableForms]="disableForms"
[searchViewLink]="'/search/content-providers'"
searchFormClass="compatibleDatasourcesTableSearchForm"
formPlaceholderText="Search for OpenAIRE Content Providers">
</search-page-table>
`
})
export class SearchCompatibleDataprovidersTableComponent {
private errorCodes: ErrorCodes;
public results =[];
public filters =[];
public baseUrl:string;
public searchUtils:SearchUtilsClass = new SearchUtilsClass();
public sub: any; public subResults: any;
public _location:Location;
public searchFields:SearchFields = new SearchFields();
public refineFields: string[] = this.searchFields.COMPATIBLE_DATAPROVIDER_FIELDS;
/*public CSV: any = { "columnNames": [ "Title", "Type", "Coutries", "Compatibility" ],
"export":[]
};
public CSVDownloaded = false;
public csvParams: string;
public resourcesQuery = "&query=((oaftype exact datasource) not(datasourcecompatibilityid = UNKNOWN) not(datasourcecompatibilityid = notCompatible) not(datasourcetypeuiid = other))";*/
public disableForms: boolean = false;
@ViewChild (SearchPageTableViewComponent) searchPage : SearchPageTableViewComponent ;
constructor (private route: ActivatedRoute, private _searchDataprovidersService: SearchDataprovidersService ) {
this.errorCodes = new ErrorCodes();
this.searchUtils.status = this.errorCodes.LOADING;
this.baseUrl = OpenaireProperties.getLinkToSearchCompatibleDataProvidersTable();
}
public ngOnInit() {
this.searchPage.refineFields = this.refineFields;
this.sub = this.route.queryParams.subscribe(params => {
this.searchUtils.keyword = (params['keyword']?params['keyword']:'');
//this.searchUtils.page = (params['page']=== undefined)?1:+params['page'];
this.filters = this.createFilters();
this.searchPage.getParametersFromUrl(params);
this._getResults();
});
}
public ngOnDestroy() {
if(this.sub){
this.sub.unsubscribe();
}
if(this.subResults){
this.subResults.unsubscribe();
} }
private _getResults(){
//this.csvParams = this.resourcesQuery+"&type=datasources";
//var errorCodes:ErrorCodes = new ErrorCodes();
this.searchUtils.status = this.errorCodes.LOADING;
this.disableForms = true;
this.results = [];
this.searchUtils.totalResults = 0;
let size: number = 0;
this.subResults = this._searchDataprovidersService.searchCompatibleDataprovidersTable().subscribe(
data => {
size = data;
if(size > 0) {
this.subResults = this._searchDataprovidersService.searchCompatibleDataproviders("", null, 1, size, []).subscribe(
data => {
this.searchUtils.totalResults = data[0];
console.info("search Content Providers [total results:"+this.searchUtils.totalResults+"]");
this.results = data[1];
this.searchPage.checkSelectedFilters(this.filters);
//var errorCodes:ErrorCodes = new ErrorCodes();
this.searchUtils.status = this.errorCodes.DONE;
if(this.searchUtils.totalResults == 0 ){
this.searchUtils.status = this.errorCodes.NONE;
}
this.disableForms = false;
this.searchPage.triggerInitialLoad();
this.searchPage.transform(this.results);
},
err => {
console.log(err);
//TODO check erros (service not available, bad request)
// if( ){
// this.searchUtils.status = ErrorCodes.ERROR;
// }
//var errorCodes:ErrorCodes = new ErrorCodes();
//this.searchUtils.status = errorCodes.ERROR;
if(err.status == '404') {
this.searchUtils.status = this.errorCodes.NOT_FOUND;
} else if(err.status == '500') {
this.searchUtils.status = this.errorCodes.ERROR;
} else {
this.searchUtils.status = this.errorCodes.NOT_AVAILABLE;
}
this.disableForms = false;
}
);
} else {
this.searchPage.checkSelectedFilters(this.filters);
//var errorCodes:ErrorCodes = new ErrorCodes();
this.searchUtils.status = this.errorCodes.NONE;
this.disableForms = false;
}
},
err => {
console.log(err);
//TODO check erros (service not available, bad request)
// if( ){
// this.searchUtils.status = ErrorCodes.ERROR;
// }
//var errorCodes:ErrorCodes = new ErrorCodes();
//this.searchUtils.status = errorCodes.ERROR;
if(err.status == '404') {
this.searchUtils.status = this.errorCodes.NOT_FOUND;
} else if(err.status == '500') {
this.searchUtils.status = this.errorCodes.ERROR;
} else {
this.searchUtils.status = this.errorCodes.NOT_AVAILABLE;
}
}
);
}
private setFilters(){
//TODO set filters from
}
private createFilters():Filter[] {
var filter_names=["Type","Compatibility Level"];
var filter_ids=["datasourcetypeuiid","datasourcecompatibilityname"];
var searchFields = new SearchFields();
var filter_original_ids = searchFields.COMPATIBLE_DATAPROVIDER_FIELDS;
var value_names=[
/*[
"Institutional Publication Repository","Thematic Publication Repository", "Other Publication Repository",
"Institutional Repositories Aggregators",
"Thematic Repositories Aggregators", "Other Repositories Aggregators",
"Data Repositories", "Data Repositories Aggregators", "Journals", "Journals Aggregators", "CRIS Systems", "Publication Catalogues"],
*/
[
"Institutional Repository", "Thematic Repository", "Publication Repository",
"Institutional Repository Aggregator",
"Thematic Repositories Aggregators", "Publication Repository Aggregator",
"Data Repository", "Data Repository Aggregator", "CRIS Systems", "Publication Catalogue"],
["OpenAIRE Basic (DRIVER OA)","OpenAIRE 2.0 (EC funding)", "OpenAIRE 2.0+ (DRIVER OA, EC funding)", "OpenAIRE 3.0 (OA, funding)","OpenAIRE Data (funded, referenced datasets)"]];
var value_original_ids=[
["pubsrepository::institutional","pubsrepository::thematic", "pubsrepository::unknown", "aggregator::pubsrepository::institutional","aggregator::pubsrepository::thematic","aggregator::pubsrepository::unknown",
"datarepository::unknown", "aggregator::datarepository", "cris", "pubscatalogue::unknown"],
//["driver","openaire2.0", "driver-openaire2.0", "openaire3.0","openaire2.0_data"]
["OpenAIRE Basic (DRIVER OA)","OpenAIRE 2.0 (EC funding)", "OpenAIRE 2.0+ (DRIVER OA, EC funding)", "OpenAIRE 3.0 (OA, funding)","OpenAIRE Data (funded, referenced datasets)"]];
var filters: Filter[] =[];
for(var i =0 ; i < filter_names.length;i++){
var values:Value[] = [];
for(var j =0 ; j < value_names[i].length;j++){
var value:Value = {name: value_names[i][j], id: value_original_ids[i][j], number:j, selected:false}
values.push(value);
}
var filter:Filter = {title: filter_names[i], filterId: filter_ids[i], originalFilterId: filter_original_ids[i], values : values, countSelectedValues:0, "filterOperator": 'or' };
filters.push(filter);
}
return filters;
}
}

View File

@ -0,0 +1,27 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import{SearchCompatibleDataprovidersTableComponent} from './compatibleDataProvidersTable.component';
import {SearchPageTableViewModule} from '../searchUtils/searchPageTableView.module';
import {CompatibleDataProvidersTableRoutingModule} from './compatibleDataProvidersTable-routing.module';
import { FreeGuard,PreviousRouteRecorder, IsRouteEnabled, SearchFormModule, DataProvidersServiceModule} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule,
DataProvidersServiceModule,
SearchFormModule, SearchPageTableViewModule, CompatibleDataProvidersTableRoutingModule
], providers:[FreeGuard, IsRouteEnabled],
declarations: [
SearchCompatibleDataprovidersTableComponent
],
exports: [
SearchCompatibleDataprovidersTableComponent
]
})
export class CompatibleDataProvidersTableModule { }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireSearchEntityRegistriesComponent} from './entityRegistries.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchEntityRegistriesComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class EntityRegistriesRoutingModule { }

View File

@ -0,0 +1,16 @@
import {Component, Input, ViewChild} from '@angular/core';
import { ActivatedRoute} from '@angular/router';
@Component({
selector: 'openaire-search-entity-registries',
template: `
<search-entity-registries>
</search-entity-registries>
`
})
export class OpenaireSearchEntityRegistriesComponent {
}

View File

@ -0,0 +1,24 @@
import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import{ EntityRegistriesRoutingModule} from './entityRegistries-routing.module';
import{OpenaireSearchEntityRegistriesComponent} from './entityRegistries.component';
import {EntityRegistriesModule, FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
CommonModule, FormsModule,
EntityRegistriesModule, EntityRegistriesRoutingModule
],
declarations: [
OpenaireSearchEntityRegistriesComponent
],
providers:[FreeGuard, IsRouteEnabled],
exports: [
OpenaireSearchEntityRegistriesComponent
]
})
export class LibEntityRegistriesModule { }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{SearchEntityRegistriesTableComponent} from './entityRegistriesTable.component';
import {FreeGuard,PreviousRouteRecorder, IsRouteEnabled} from 'ng-openaire-library';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: SearchEntityRegistriesTableComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class EntityRegistriesTableRoutingModule { }

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