Adding code files (sources & assets)
This commit is contained in:
parent
157427aa75
commit
6244439392
|
@ -0,0 +1,9 @@
|
|||
[submodule "openaireLibrary"]
|
||||
path = src/app/openaireLibrary
|
||||
url = gitea@code-repo.d4science.org:MaDgIK/openaire-library.git
|
||||
[submodule "common-assets"]
|
||||
path = src/assets/common-assets
|
||||
url = gitea@code-repo.d4science.org:MaDgIK/openaire-assets.git
|
||||
[submodule "src/assets/openaire-theme"]
|
||||
path = src/assets/openaire-theme
|
||||
url = gitea@code-repo.d4science.org:MaDgIK/openaire-theme.git
|
|
@ -0,0 +1,16 @@
|
|||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
||||
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
||||
|
||||
*For each release, use the following sub-sections:*
|
||||
|
||||
- *Added (for new features)*
|
||||
- *Changed (for changes in existing functionality)*
|
||||
- *Deprecated (for soon-to-be removed features)*
|
||||
- *Removed (for now removed features)*
|
||||
- *Fixed (for any bug fixes)*
|
||||
- *Security (in case of vulnerabilities)*
|
||||
|
39
README.md
39
README.md
|
@ -1,2 +1,41 @@
|
|||
# faircore4eosc-explore
|
||||
|
||||
# EOSC EXPLORE
|
||||
|
||||
This project was built with [Angular CLI](https://github.com/angular/angular-cli) version 14.2.3.
|
||||
|
||||
## Install packages
|
||||
|
||||
Run npm install (maybe needs sudo), a script that will delete unused files from library will be run.
|
||||
|
||||
## Development server
|
||||
|
||||
Run `npm start` for a dev server. Navigate to `http://localhost:5200/`. The app will automatically reload if you change any of the source files.
|
||||
|
||||
## Build - CSR
|
||||
|
||||
Use the `npm run build-dev` for a development build.<br>
|
||||
Use the `npm run build-beta` for a beta build.<br>
|
||||
Use the `npm run build-prod` for a production build.
|
||||
|
||||
## Build - SSR
|
||||
|
||||
Use the `npm run build:ssr-dev` for a development build.<br>
|
||||
Use the `npm run build:ssr-beta` for a beta build.<br>
|
||||
Use the `npm run build:ssr-prod` for a production build.
|
||||
|
||||
## Run SSR
|
||||
|
||||
`npm run serve:ssr` will run the last server build.
|
||||
|
||||
## Webpack Analyzer
|
||||
|
||||
In order to analyze bundle size you can run `npm run webpack-bundle-analyzer`
|
||||
|
||||
## Running unit tests
|
||||
|
||||
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
||||
|
||||
## Running end-to-end tests
|
||||
|
||||
Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
|
||||
|
|
|
@ -0,0 +1,307 @@
|
|||
{
|
||||
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
||||
"version": 1,
|
||||
"newProjectRoot": "projects",
|
||||
"projects": {
|
||||
"eosc": {
|
||||
"root": "",
|
||||
"sourceRoot": "src",
|
||||
"projectType": "application",
|
||||
"prefix": "app",
|
||||
"schematics": {
|
||||
"@schematics/angular:class": {
|
||||
"skipTests": true
|
||||
},
|
||||
"@schematics/angular:component": {
|
||||
"skipTests": true
|
||||
},
|
||||
"@schematics/angular:directive": {
|
||||
"skipTests": true
|
||||
},
|
||||
"@schematics/angular:guard": {
|
||||
"skipTests": true
|
||||
},
|
||||
"@schematics/angular:module": {
|
||||
},
|
||||
"@schematics/angular:pipe": {
|
||||
"skipTests": true
|
||||
},
|
||||
"@schematics/angular:service": {
|
||||
"skipTests": true
|
||||
}
|
||||
},
|
||||
"architect": {
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-angular:browser",
|
||||
"options": {
|
||||
"outputPath": "dist/eosc/browser",
|
||||
"index": "src/index.html",
|
||||
"main": "src/main.ts",
|
||||
"polyfills": "src/polyfills.ts",
|
||||
"tsConfig": "src/tsconfig.app.json",
|
||||
"assets": [
|
||||
"src/assets",
|
||||
"src/robots.txt"
|
||||
],
|
||||
"styles": [
|
||||
"src/styles.less",
|
||||
"src/assets/common-assets/library-css/material.scss"
|
||||
],
|
||||
"scripts": [
|
||||
"node_modules/uikit/dist/js/uikit.min.js",
|
||||
"node_modules/uikit/dist/js/uikit-icons.min.js",
|
||||
"node_modules/jquery/dist/jquery.js"
|
||||
],
|
||||
"vendorChunk": true,
|
||||
"extractLicenses": false,
|
||||
"buildOptimizer": false,
|
||||
"sourceMap": true,
|
||||
"optimization": false,
|
||||
"namedChunks": true
|
||||
},
|
||||
"configurations": {
|
||||
"development": {
|
||||
"optimization": {
|
||||
"scripts": true,
|
||||
"styles": {
|
||||
"minify": true,
|
||||
"inlineCritical": false
|
||||
},
|
||||
"fonts": true
|
||||
},
|
||||
"outputHashing": "all",
|
||||
"sourceMap": false,
|
||||
"namedChunks": false,
|
||||
"extractLicenses": true,
|
||||
"vendorChunk": false,
|
||||
"buildOptimizer": true,
|
||||
"budgets": [
|
||||
{
|
||||
"type": "initial",
|
||||
"maximumWarning": "2mb",
|
||||
"maximumError": "5mb"
|
||||
},
|
||||
{
|
||||
"type": "anyComponentStyle",
|
||||
"maximumWarning": "6kb"
|
||||
}
|
||||
]
|
||||
},
|
||||
"beta": {
|
||||
"assets": [
|
||||
"src/assets",
|
||||
{
|
||||
"input": "src/beta/",
|
||||
"output": "/",
|
||||
"glob": "*.txt"
|
||||
}
|
||||
],
|
||||
"index": {
|
||||
"input": "src/beta/index.html",
|
||||
"output": "index.html"
|
||||
},
|
||||
"fileReplacements": [
|
||||
{
|
||||
"replace": "src/environments/environment.ts",
|
||||
"with": "src/environments/environment.beta.ts"
|
||||
}
|
||||
],
|
||||
"optimization": {
|
||||
"scripts": true,
|
||||
"styles": {
|
||||
"minify": true,
|
||||
"inlineCritical": false
|
||||
},
|
||||
"fonts": true
|
||||
},
|
||||
"outputHashing": "all",
|
||||
"sourceMap": false,
|
||||
"namedChunks": false,
|
||||
"extractLicenses": true,
|
||||
"vendorChunk": false,
|
||||
"buildOptimizer": true,
|
||||
"budgets": [
|
||||
{
|
||||
"type": "initial",
|
||||
"maximumWarning": "2mb",
|
||||
"maximumError": "5mb"
|
||||
},
|
||||
{
|
||||
"type": "anyComponentStyle",
|
||||
"maximumWarning": "6kb"
|
||||
}
|
||||
]
|
||||
},
|
||||
"production": {
|
||||
"assets": [
|
||||
"src/assets",
|
||||
{
|
||||
"input": "src/prod/",
|
||||
"output": "/",
|
||||
"glob": "*.txt"
|
||||
}
|
||||
],
|
||||
"index": {
|
||||
"input": "src/prod/index.html",
|
||||
"output": "index.html"
|
||||
},
|
||||
"fileReplacements": [
|
||||
{
|
||||
"replace": "src/environments/environment.ts",
|
||||
"with": "src/environments/environment.prod.ts"
|
||||
}
|
||||
],
|
||||
"optimization": {
|
||||
"scripts": true,
|
||||
"styles": {
|
||||
"minify": true,
|
||||
"inlineCritical": false
|
||||
},
|
||||
"fonts": true
|
||||
},
|
||||
"outputHashing": "all",
|
||||
"sourceMap": false,
|
||||
"namedChunks": false,
|
||||
"extractLicenses": true,
|
||||
"vendorChunk": false,
|
||||
"buildOptimizer": true,
|
||||
"budgets": [
|
||||
{
|
||||
"type": "initial",
|
||||
"maximumWarning": "2mb",
|
||||
"maximumError": "5mb"
|
||||
},
|
||||
{
|
||||
"type": "anyComponentStyle",
|
||||
"maximumWarning": "6kb"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"defaultConfiguration": ""
|
||||
},
|
||||
"serve": {
|
||||
"builder": "@angular-devkit/build-angular:dev-server",
|
||||
"options": {
|
||||
"browserTarget": "eosc:build"
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"browserTarget": "eosc:build:production"
|
||||
}
|
||||
}
|
||||
},
|
||||
"extract-i18n": {
|
||||
"builder": "@angular-devkit/build-angular:extract-i18n",
|
||||
"options": {
|
||||
"browserTarget": "eosc:build"
|
||||
}
|
||||
},
|
||||
"test": {
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"options": {
|
||||
"main": "src/test.ts",
|
||||
"polyfills": "src/polyfills.ts",
|
||||
"tsConfig": "src/tsconfig.spec.json",
|
||||
"karmaConfig": "src/karma.conf.js",
|
||||
"styles": [
|
||||
"src/styles.less"
|
||||
],
|
||||
"scripts": [],
|
||||
"assets": [
|
||||
"src/assets"
|
||||
]
|
||||
}
|
||||
},
|
||||
"server": {
|
||||
"builder": "@angular-devkit/build-angular:server",
|
||||
"options": {
|
||||
"outputPath": "dist/eosc/server",
|
||||
"main": "server.ts",
|
||||
"tsConfig": "src/tsconfig.server.json",
|
||||
"sourceMap": true,
|
||||
"optimization": false
|
||||
},
|
||||
"configurations": {
|
||||
"development": {
|
||||
"outputHashing": "media",
|
||||
"sourceMap": false,
|
||||
"optimization": true
|
||||
},
|
||||
"beta": {
|
||||
"outputHashing": "media",
|
||||
"fileReplacements": [
|
||||
{
|
||||
"replace": "src/environments/environment.ts",
|
||||
"with": "src/environments/environment.beta.ts"
|
||||
}
|
||||
],
|
||||
"sourceMap": false,
|
||||
"optimization": true
|
||||
},
|
||||
"production": {
|
||||
"outputHashing": "media",
|
||||
"fileReplacements": [
|
||||
{
|
||||
"replace": "src/environments/environment.ts",
|
||||
"with": "src/environments/environment.prod.ts"
|
||||
}
|
||||
],
|
||||
"sourceMap": false,
|
||||
"optimization": true
|
||||
}
|
||||
},
|
||||
"defaultConfiguration": ""
|
||||
},
|
||||
"serve-ssr": {
|
||||
"builder": "@nguniversal/builders:ssr-dev-server",
|
||||
"options": {
|
||||
"browserTarget": "eosc:build",
|
||||
"serverTarget": "eosc:server"
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"browserTarget": "eosc:build:production",
|
||||
"serverTarget": "eosc:server:production"
|
||||
}
|
||||
}
|
||||
},
|
||||
"prerender": {
|
||||
"builder": "@nguniversal/builders:prerender",
|
||||
"options": {
|
||||
"browserTarget": "eosc:build:production",
|
||||
"serverTarget": "eosc:server:production",
|
||||
"routes": [
|
||||
"/"
|
||||
]
|
||||
},
|
||||
"configurations": {
|
||||
"production": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"eosc-e2e": {
|
||||
"root": "e2e/",
|
||||
"projectType": "application",
|
||||
"prefix": "",
|
||||
"architect": {
|
||||
"e2e": {
|
||||
"builder": "@angular-devkit/build-angular:protractor",
|
||||
"options": {
|
||||
"protractorConfig": "e2e/protractor.conf.js",
|
||||
"devServerTarget": "eosc:serve"
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"devServerTarget": "eosc:serve:production"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"cli": {
|
||||
"analytics": false
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
// Protractor configuration file, see link for more information
|
||||
// https://github.com/angular/protractor/blob/master/lib/config.ts
|
||||
|
||||
const { SpecReporter } = require('jasmine-spec-reporter');
|
||||
|
||||
exports.config = {
|
||||
allScriptsTimeout: 11000,
|
||||
specs: [
|
||||
'./src/**/*.e2e-spec.ts'
|
||||
],
|
||||
capabilities: {
|
||||
'browserName': 'chrome'
|
||||
},
|
||||
directConnect: true,
|
||||
baseUrl: 'http://localhost:4200/',
|
||||
framework: 'jasmine',
|
||||
jasmineNodeOpts: {
|
||||
showColors: true,
|
||||
defaultTimeoutInterval: 30000,
|
||||
print: function() {}
|
||||
},
|
||||
onPrepare() {
|
||||
require('ts-node').register({
|
||||
project: require('path').join(__dirname, './tsconfig.e2e.json')
|
||||
});
|
||||
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
|
||||
}
|
||||
};
|
|
@ -0,0 +1,23 @@
|
|||
import { AppPage } from './app.po';
|
||||
import { browser, logging } from 'protractor';
|
||||
|
||||
describe('workspace-project App', () => {
|
||||
let page: AppPage;
|
||||
|
||||
beforeEach(() => {
|
||||
page = new AppPage();
|
||||
});
|
||||
|
||||
it('should display welcome message', () => {
|
||||
page.navigateTo();
|
||||
expect(page.getTitleText()).toEqual('Welcome to aggregator!');
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
// Assert that there are no errors emitted from the browser
|
||||
const logs = await browser.manage().logs().get(logging.Type.BROWSER);
|
||||
expect(logs).not.toContain(jasmine.objectContaining({
|
||||
level: logging.Level.SEVERE,
|
||||
} as logging.Entry));
|
||||
});
|
||||
});
|
|
@ -0,0 +1,11 @@
|
|||
import { browser, by, element } from 'protractor';
|
||||
|
||||
export class AppPage {
|
||||
navigateTo() {
|
||||
return browser.get(browser.baseUrl) as Promise<any>;
|
||||
}
|
||||
|
||||
getTitleText() {
|
||||
return element(by.css('app-root h1')).getText() as Promise<string>;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "../out-tsc/app",
|
||||
"module": "commonjs",
|
||||
"target": "es5",
|
||||
"types": [
|
||||
"jasmine",
|
||||
"jasminewd2",
|
||||
"node"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
"name": "eosc",
|
||||
"version": "3.1.0",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
"start": "ng serve --disable-host-check --host 0.0.0.0 --port 5200",
|
||||
"build": "ng build",
|
||||
"build-dev": "ng build --configuration=development",
|
||||
"build-beta": "ng build --configuration=beta",
|
||||
"build-prod": "ng build --configuration production",
|
||||
"webpack-bundle-analyzer": "ng build --stats-json && webpack-bundle-analyzer dist/eosc/browser/stats-es2015.json --host 0.0.0.0",
|
||||
"test": "ng test",
|
||||
"e2e": "ng e2e",
|
||||
"dev:ssr": "ng run eosc:serve-ssr",
|
||||
"serve:ssr": "node dist/eosc/server/main.js",
|
||||
"build:ssr-dev": "npm run build-dev && ng run eosc:server:development",
|
||||
"build:ssr-beta": "npm run build-beta && ng run eosc:server:beta",
|
||||
"build:ssr-prod": "npm run build-prod && ng run eosc:server:production",
|
||||
"prerender": "ng run eosc:prerender",
|
||||
"after-build-clean": "rm -rf dist/eosc/browser/assets/common-assets/.git/ src/app/openaireLibrary/.git node_modules .angular .git*"
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@angular/animations": "^14.2.3",
|
||||
"@angular/cdk": "^14.2.2",
|
||||
"@angular/common": "^14.2.3",
|
||||
"@angular/compiler": "^14.2.3",
|
||||
"@angular/core": "^14.2.3",
|
||||
"@angular/forms": "^14.2.3",
|
||||
"@angular/localize": "^14.2.3",
|
||||
"@angular/material": "^14.2.2",
|
||||
"@angular/platform-browser": "^14.2.3",
|
||||
"@angular/platform-browser-dynamic": "^14.2.3",
|
||||
"@angular/platform-server": "^14.2.3",
|
||||
"@angular/router": "^14.2.3",
|
||||
"@nguniversal/express-engine": "^14.2.0",
|
||||
"clipboard": "^1.5.16",
|
||||
"core-js": "^2.5.4",
|
||||
"express": "^4.15.2",
|
||||
"jquery": "^3.4.1",
|
||||
"ng-recaptcha": "^10.0.0",
|
||||
"prom-client": "^11.3.0",
|
||||
"rxjs": "^6.5.1",
|
||||
"ts-md5": "^1.2.0",
|
||||
"tslib": "^2.0.0",
|
||||
"uikit": "3.13.10",
|
||||
"zone.js": "~0.11.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "^14.2.3",
|
||||
"@angular/cli": "^14.2.3",
|
||||
"@angular/compiler-cli": "^14.2.3",
|
||||
"@angular/language-service": "^14.2.3",
|
||||
"@nguniversal/builders": "^14.2.0",
|
||||
"@types/express": "^4.17.0",
|
||||
"@types/compression": "^1.7.0",
|
||||
"@types/node": "^12.11.1",
|
||||
"@types/jasmine": "~3.6.0",
|
||||
"@types/jasminewd2": "~2.0.3",
|
||||
"codelyzer": "^6.0.0",
|
||||
"jasmine-core": "~3.8.0",
|
||||
"jasmine-spec-reporter": "~5.0.0",
|
||||
"karma": "~6.3.3",
|
||||
"karma-chrome-launcher": "~3.1.0",
|
||||
"karma-coverage-istanbul-reporter": "~3.0.2",
|
||||
"karma-jasmine": "~4.0.0",
|
||||
"karma-jasmine-html-reporter": "^1.6.0",
|
||||
"protractor": "~7.0.0",
|
||||
"ts-node": "~7.0.0",
|
||||
"typescript": "~4.6.4"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,125 @@
|
|||
import * as prom from 'prom-client';
|
||||
|
||||
|
||||
export class Prometheus {
|
||||
|
||||
register = new prom.Registry();
|
||||
|
||||
counters: Map<string, prom.Counter> = new Map<string, prom.Counter>([
|
||||
["/", new prom.Counter({
|
||||
name: 'home',
|
||||
help: 'Home Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/publication", new prom.Counter({
|
||||
name: 'search_publication',
|
||||
help: 'Publication Landing Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/dataset", new prom.Counter({
|
||||
name: 'search_dataset',
|
||||
help: 'Dataset Landing Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/software", new prom.Counter({
|
||||
name: 'search_software',
|
||||
help: 'Software Landing Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/other", new prom.Counter({
|
||||
name: 'search_other',
|
||||
help: 'Other Landing Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/project", new prom.Counter({
|
||||
name: 'search_project',
|
||||
help: 'Project Landing Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/dataprovider", new prom.Counter({
|
||||
name: 'search_dataprovider',
|
||||
help: 'DataProvider Landing Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/organization", new prom.Counter({
|
||||
name: 'search_organization',
|
||||
help: 'organization Landing Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/find", new prom.Counter({
|
||||
name: 'search_find',
|
||||
help: 'Main Search Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/find/publications", new prom.Counter({
|
||||
name: 'search_find_publications',
|
||||
help: 'Publications Search Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/find/datasets", new prom.Counter({
|
||||
name: 'search_find_datasets',
|
||||
help: 'Datasets Search Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/find/software", new prom.Counter({
|
||||
name: 'search_find_software',
|
||||
help: 'Software Search Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/find/other", new prom.Counter({
|
||||
name: 'search_find_other',
|
||||
help: 'Other Search Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/find/projects", new prom.Counter({
|
||||
name: 'search_find_projects',
|
||||
help: 'Projects Search Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/find/dataproviders", new prom.Counter({
|
||||
name: 'search_find_dataproviders',
|
||||
help: 'DataProviders Search Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/find/organizations", new prom.Counter({
|
||||
name: 'search_find_organizations',
|
||||
help: 'Organizations Search Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/advanced/publications", new prom.Counter({
|
||||
name: 'search_advanced_publications',
|
||||
help: 'Publications Advanced Search Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/advanced/datasets", new prom.Counter({
|
||||
name: 'search_advanced_datasets',
|
||||
help: 'Datasets Advanced Search Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/advanced/software", new prom.Counter({
|
||||
name: 'search_advanced_software',
|
||||
help: 'Software Advanced Search Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/advanced/other", new prom.Counter({
|
||||
name: 'search_advanced_other',
|
||||
help: 'Other Advanced Search Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/advanced/projects", new prom.Counter({
|
||||
name: 'search_advanced_projects',
|
||||
help: 'Projects Advanced Search Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/advanced/dataproviders", new prom.Counter({
|
||||
name: 'search_advanced_dataproviders',
|
||||
help: 'DataProviders Advanced Search Page Counter',
|
||||
registers: [this.register]
|
||||
})],
|
||||
["/search/advanced/organizations", new prom.Counter({
|
||||
name: 'search_advanced_organizations',
|
||||
help: 'Organizations Advanced Search Page Counter',
|
||||
registers: [this.register]
|
||||
})]
|
||||
]);
|
||||
}
|
|
@ -0,0 +1,110 @@
|
|||
import 'zone.js/node';
|
||||
|
||||
import { ngExpressEngine } from '@nguniversal/express-engine';
|
||||
import * as express from 'express';
|
||||
import * as compression from 'compression';
|
||||
import { join } from 'path';
|
||||
|
||||
import { AppServerModule } from './src/main.server';
|
||||
import { APP_BASE_HREF } from '@angular/common';
|
||||
import { existsSync } from 'fs';
|
||||
import {Prometheus} from "./prometheus";
|
||||
import {Counter} from "prom-client";
|
||||
import {REQUEST, RESPONSE} from "./src/app/openaireLibrary/utils/tokens";
|
||||
|
||||
// The Express app is exported so that it can be used by serverless Functions.
|
||||
export function app() {
|
||||
const server = express();
|
||||
server.use(compression());
|
||||
const distFolder = join(process.cwd(), 'dist/eosc/browser');
|
||||
const indexHtml = existsSync(join(distFolder, 'index.original.html')) ? 'index.original.html' : 'index';
|
||||
|
||||
const prometheus: Prometheus = new Prometheus();
|
||||
|
||||
// Our Universal express-engine (found @ https://github.com/angular/universal/tree/master/modules/express-engine)
|
||||
server.engine('html', ngExpressEngine({
|
||||
bootstrap: AppServerModule,
|
||||
inlineCriticalCss: false
|
||||
}));
|
||||
|
||||
server.set('view engine', 'html');
|
||||
server.set('views', distFolder);
|
||||
|
||||
// Example Express Rest API endpoints
|
||||
// server.get('/api/**', (req, res) => { });
|
||||
// Serve static files from /browser
|
||||
server.get('*.*', express.static(distFolder, {
|
||||
maxAge: '1y'
|
||||
}));
|
||||
|
||||
server.get('/metrics', (req, res) => {
|
||||
res.set('Content-Type', prometheus.register.contentType);
|
||||
res.end(prometheus.register.metrics());
|
||||
});
|
||||
|
||||
// All regular routes use the Universal engine
|
||||
server.get('*', (req, res) => {
|
||||
let start = new Date();
|
||||
let counter: Counter = prometheus.counters.get(req.path);
|
||||
if(counter !== undefined) {
|
||||
counter.inc(1, new Date());
|
||||
res.render(indexHtml, {
|
||||
req, providers: [
|
||||
{
|
||||
provide: APP_BASE_HREF,
|
||||
useValue: req.baseUrl
|
||||
},
|
||||
{
|
||||
provide: REQUEST, useValue: (req)
|
||||
},
|
||||
{
|
||||
provide: RESPONSE, useValue: (res)
|
||||
}
|
||||
]
|
||||
});
|
||||
// event triggers when express is done sending response
|
||||
res.on('finish', function() {
|
||||
console.log(new Date().getTime() - start.getTime());
|
||||
});
|
||||
} else {
|
||||
res.render(indexHtml, {
|
||||
req, providers: [
|
||||
{
|
||||
provide: APP_BASE_HREF,
|
||||
useValue: req.baseUrl
|
||||
},
|
||||
{
|
||||
provide: REQUEST, useValue: (req)
|
||||
},
|
||||
{
|
||||
provide: RESPONSE, useValue: (res)
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
return server;
|
||||
}
|
||||
|
||||
function run() {
|
||||
const port = process.env.PORT || 4000;
|
||||
|
||||
// Start up the Node server
|
||||
const server = app();
|
||||
server.listen(port, () => {
|
||||
console.log(`Node Express server listening on http://localhost:${port}`);
|
||||
});
|
||||
}
|
||||
|
||||
// Webpack will replace 'require' with '__webpack_require__'
|
||||
// '__non_webpack_require__' is a proxy to Node 'require'
|
||||
// The below code is to ensure that the server is run only when not requiring the bundle.
|
||||
declare const __non_webpack_require__: NodeRequire;
|
||||
const mainModule = __non_webpack_require__.main;
|
||||
const moduleFilename = mainModule && mainModule.filename || '';
|
||||
if (moduleFilename === __filename || moduleFilename.includes('iisnode')) {
|
||||
run();
|
||||
}
|
||||
|
||||
export * from './src/main.server';
|
|
@ -0,0 +1,136 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {Router, RouterModule, Routes} from '@angular/router';
|
||||
import {OpenaireErrorPageComponent} from './error/errorPage.component';
|
||||
import {ConfigurationService} from "./openaireLibrary/utils/configuration/configuration.service";
|
||||
|
||||
const routes: Routes = [
|
||||
{path: '', loadChildren: () => import('./home/home.module').then(m => m.HomeModule)},
|
||||
{
|
||||
path: 'search/result',
|
||||
loadChildren: () => import('./landingPages/result/libResult.module').then(m => m.LibResultModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/publication',
|
||||
loadChildren: () => import('./landingPages/publication/libPublication.module').then(m => m.LibPublicationModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/dataset',
|
||||
loadChildren: () => import('./landingPages/dataset/libDataset.module').then(m => m.LibDatasetModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/software',
|
||||
loadChildren: () => import('./landingPages/software/libSoftware.module').then(m => m.LibSoftwareModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/other',
|
||||
loadChildren: () => import('./landingPages/orp/libOrp.module').then(m => m.LibOrpModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/project',
|
||||
loadChildren: () => import('./landingPages/project/libProject.module').then(m => m.LibProjectModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/dataprovider',
|
||||
loadChildren: () => import('./landingPages/dataProvider/libDataProvider.module').then(m => m.LibDataProviderModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/service',
|
||||
loadChildren: () => import('./landingPages/service/libService.module').then(m => m.LibServiceModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/organization',
|
||||
loadChildren: () => import('./landingPages/organization/libOrganization.module').then(m => m.LibOrganizationModule), data: { showHeader: true}
|
||||
},
|
||||
{
|
||||
path: 'search/find',
|
||||
redirectTo: ''
|
||||
// loadChildren: () => import('./searchPages/find/libSearch.module').then(m => m.LibMainSearchModule)
|
||||
},
|
||||
{
|
||||
path: 'search/find/research-outcomes',
|
||||
redirectTo: ''
|
||||
// loadChildren: () => import('./searchPages/simple/searchResearchResults.module').then(m => m.OpenaireSearchResearchResultsModule)
|
||||
},
|
||||
{
|
||||
path: 'search/find/projects',
|
||||
redirectTo: ''
|
||||
// loadChildren: () => import('./searchPages/simple/searchProjects.module').then(m => m.LibSearchProjectsModule)
|
||||
},
|
||||
{
|
||||
path: 'search/find/dataproviders',
|
||||
redirectTo: ''
|
||||
// loadChildren: () => import('./searchPages/simple/searchDataProviders.module').then(m => m.LibSearchDataProvidersModule)
|
||||
},
|
||||
{
|
||||
path: 'search/find/services',
|
||||
redirectTo: ''
|
||||
// loadChildren: () => import('./searchPages/simple/searchServices.module').then(m => m.LibSearchServicesModule)
|
||||
},
|
||||
{
|
||||
path: 'search/find/organizations',
|
||||
redirectTo: ''
|
||||
// loadChildren: () => import('./searchPages/simple/searchOrganizations.module').then(m => m.LibSearchOrganizationsModule)
|
||||
},
|
||||
{
|
||||
path: 'search/advanced/research-outcomes',
|
||||
redirectTo: ''
|
||||
// loadChildren: () => import('./searchPages/advanced/searchResearchResults.module').then(m => m.OpenaireAdvancedSearchResearchResultsModule)
|
||||
},
|
||||
{
|
||||
path: 'search/advanced/organizations',
|
||||
redirectTo: ''
|
||||
// loadChildren: () => import('./searchPages/advanced/advancedSearchOrganizations.module').then(m => m.LibAdvancedSearchOrganizationsModule)
|
||||
},
|
||||
{
|
||||
path: 'search/advanced/dataproviders',
|
||||
redirectTo: ''
|
||||
// loadChildren: () => import('./searchPages/advanced/advancedSearchDataProviders.module').then(m => m.LibAdvancedSearchDataProvidersModule)
|
||||
},
|
||||
{
|
||||
path: 'search/advanced/services',
|
||||
redirectTo: ''
|
||||
// loadChildren: () => import('./searchPages/advanced/advancedSearchServices.module').then(m => m.LibAdvancedSearchServicesModule)
|
||||
},
|
||||
{
|
||||
path: 'search/advanced/projects',
|
||||
redirectTo: ''
|
||||
// loadChildren: () => import('./searchPages/advanced/advancedSearchProjects.module').then(m => m.LibAdvancedSearchProjectsModule)
|
||||
},
|
||||
{
|
||||
path: 'reload',
|
||||
loadChildren: () => import('./reload/libReload.module').then(m => m.LibReloadModule),
|
||||
data: {hasSidebar: false}
|
||||
},
|
||||
{path: 'user-info', loadChildren: () => import('./login/libUser.module').then(m => m.LibUserModule)},
|
||||
{path: 'error', component: OpenaireErrorPageComponent}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [RouterModule.forRoot(routes, {
|
||||
onSameUrlNavigation: "reload",
|
||||
})],
|
||||
exports: [RouterModule]
|
||||
})
|
||||
export class AppRoutingModule {
|
||||
subs = [];
|
||||
enabledRoutes =[];
|
||||
ngOnDestroy() {
|
||||
for (let sub of this.subs) {
|
||||
sub.unsubscribe();
|
||||
}
|
||||
}
|
||||
constructor( private config: ConfigurationService, private router: Router){
|
||||
this.subs.push(this.config.portalAsObservable.subscribe(data => {
|
||||
if (data) {
|
||||
if (data['pages']) {
|
||||
for (var i = 0; i < data['pages'].length; i++) {
|
||||
this.enabledRoutes[data['pages'][i]['route']] = data['pages'][i]['isEnabled'];
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
error => {
|
||||
// this.handleError('Error getting community information (e.g. pages,entities) for community with id: ' + this.communityId, error);
|
||||
}));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,163 @@
|
|||
import {Component, Inject, RendererFactory2, ViewEncapsulation} from '@angular/core';
|
||||
import {EnvProperties} from './openaireLibrary/utils/properties/env-properties';
|
||||
import {MenuItem} from './openaireLibrary/sharedComponents/menu';
|
||||
import {AggregatorInfo, PortalAggregators} from "./utils/aggregators";
|
||||
import {UserManagementService} from "./openaireLibrary/services/user-management.service";
|
||||
import {User} from "./openaireLibrary/login/utils/helper.class";
|
||||
import {Header} from "./openaireLibrary/sharedComponents/navigationBar.component";
|
||||
import {portalProperties} from "../environments/environment-aggregator";
|
||||
import {properties} from "../environments/environment";
|
||||
import {ConnectHelper} from "./openaireLibrary/connect/connectHelper";
|
||||
import {ConfigurationService} from "./openaireLibrary/utils/configuration/configuration.service";
|
||||
import {Subscriber} from "rxjs";
|
||||
import {DOCUMENT} from "@angular/common";
|
||||
import {SmoothScroll} from "./openaireLibrary/utils/smooth-scroll";
|
||||
import {ActivatedRoute, NavigationEnd, Router} from "@angular/router";
|
||||
import {OpenaireEntities} from "./openaireLibrary/utils/properties/searchFields";
|
||||
|
||||
@Component({
|
||||
selector: 'app-root',
|
||||
template: `
|
||||
<div id="modal-container"></div>
|
||||
<div *ngIf="agg">
|
||||
<!-- <navbar *ngIf="properties && loginCheck && header && showHeader" portal="eosc" [properties]=properties [onlyTop]=false-->
|
||||
<!-- [user]="user" [userMenuItems]="userMenuItems"-->
|
||||
<!-- [communityId]="properties.adminToolsCommunity" [menuItems]=menuItems-->
|
||||
<!-- [userMenu]="agg.enableLogin" [header]="header"></navbar>-->
|
||||
<div class="custom-main-content">
|
||||
<main>
|
||||
<router-outlet></router-outlet>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
})
|
||||
export class AppComponent {
|
||||
isClient: boolean = false;
|
||||
menuItems: MenuItem [] = [];
|
||||
userMenuItems: MenuItem[] = [];
|
||||
community = null;
|
||||
properties: EnvProperties = properties;
|
||||
user: User;
|
||||
loginCheck: boolean = false;
|
||||
footer = portalProperties.sectionFooter;
|
||||
header: Header;
|
||||
showHeader;
|
||||
agg: AggregatorInfo = null;
|
||||
subscriptions = [];
|
||||
|
||||
constructor(private userManagementService: UserManagementService,
|
||||
private configurationService: ConfigurationService, private smoothScroll: SmoothScroll,
|
||||
@Inject(DOCUMENT) private document, private rendererFactory: RendererFactory2, private router: Router, private route: ActivatedRoute) {
|
||||
this.agg = PortalAggregators.eoscInfo;
|
||||
this.setStyles();
|
||||
this.configurationService.initStaticPortal(PortalAggregators.getCommunityInfo());
|
||||
this.showHeader = this.agg.showHeaderAlways;
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.subscriptions.push(this.router.events.subscribe(event => {
|
||||
if (event instanceof NavigationEnd) {
|
||||
let r = this.route;
|
||||
while (r.firstChild) {
|
||||
r = r.firstChild;
|
||||
}
|
||||
this.showHeader = (r.snapshot.data.showHeader == true || this.agg.showHeaderAlways);
|
||||
}
|
||||
}));
|
||||
if (typeof document !== 'undefined') {
|
||||
this.isClient = true;
|
||||
}
|
||||
this.agg = PortalAggregators.eoscInfo;
|
||||
if (this.agg) {
|
||||
this.header = {
|
||||
route: '/',
|
||||
url: null,
|
||||
title: this.agg.title,
|
||||
logoUrl: this.agg.logoUrl,
|
||||
logoSmallUrl: this.agg.logoUrl,
|
||||
position: 'center',
|
||||
menuPosition: 'center',
|
||||
badge: false,
|
||||
darkBg: true
|
||||
};
|
||||
this.buildMenu();
|
||||
}
|
||||
this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => {
|
||||
this.user = user;
|
||||
this.loginCheck = true;
|
||||
this.userMenuItems = [];
|
||||
if (this.user) {
|
||||
this.userMenuItems.push(new MenuItem("", "My links", "", "/myclaims", false, [], [], {}));
|
||||
// this.userMenuItems.push(new MenuItem("", "User information", "", "/user-info", false, [], [], {}));
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.subscriptions.forEach(subscription => {
|
||||
if (subscription instanceof Subscriber) {
|
||||
subscription.unsubscribe();
|
||||
}
|
||||
});
|
||||
this.configurationService.clearSubscriptions();
|
||||
this.userManagementService.clearSubscriptions();
|
||||
this.smoothScroll.clearSubscriptions();
|
||||
}
|
||||
|
||||
private buildMenu() {
|
||||
this.menuItems = [
|
||||
new MenuItem("home", "Home", "", "/", false, [], null, {}),
|
||||
new MenuItem("search", "Search", "", "/search/find", false, [], ["/search/find"], {}),
|
||||
new MenuItem("deposit", "Deposit", "", "/participate/deposit/learn-how", false, [], ["/participate/deposit/learn-how"], {}),
|
||||
new MenuItem("link", "Link", "", "/participate/claim", false, [], ["/participate/claim"], {},
|
||||
null, null, null, null, "_blank", "internal", false,
|
||||
[
|
||||
new MenuItem("", "Start linking", "", "/participate/claim", false, [], ["/participate/claim"], {}),
|
||||
new MenuItem("", "Learn more", this.properties.claimsInformationLink, "", false, [], [], {})
|
||||
]
|
||||
),
|
||||
new MenuItem("develop", "Develop", "", "/develop", false, [], ["/develop"], {})
|
||||
];
|
||||
let params = {};
|
||||
// params[this.agg.queryFieldName] = this.agg.valueId;
|
||||
this.menuItems[1].items.push(new MenuItem("", OpenaireEntities.RESULTS, "", properties.searchLinkToResults, false, [], ["/search/find/research-outcomes"], params));
|
||||
this.menuItems[1].items.push(new MenuItem("", OpenaireEntities.PROJECTS, "", properties.searchLinkToProjects, false, ["project"], ["/search/find/projects"], params));
|
||||
this.menuItems[1].items.push(new MenuItem("", OpenaireEntities.DATASOURCES, "", properties.searchLinkToDataProviders, false, ["datasource"], ["/search/find/dataproviders"], params));
|
||||
this.menuItems[1].items.push(new MenuItem("", OpenaireEntities.SERVICES, "", properties.searchLinkToServices, false, ["service"], ["/search/find/services"], params));
|
||||
this.menuItems[1].items.push(new MenuItem("", OpenaireEntities.ORGANIZATIONS, "", properties.searchLinkToOrganizations, false, ["organization"], ["/search/find/organizations"], params));
|
||||
|
||||
}
|
||||
setStyles(){
|
||||
let css:string = this.agg.customCss;
|
||||
try {
|
||||
if( this.document.getElementById('customStyle')){
|
||||
try {
|
||||
this.document.getElementById('customStyle').append(css);
|
||||
}catch(e){
|
||||
console.log("error with append style")
|
||||
}
|
||||
}else {
|
||||
const renderer = this.rendererFactory.createRenderer(this.document, {
|
||||
id: '-1',
|
||||
encapsulation: ViewEncapsulation.None,
|
||||
styles: [],
|
||||
data: {}
|
||||
});
|
||||
|
||||
const head = this.document.head;
|
||||
if (head === null) {
|
||||
throw new Error('<head> not found within DOCUMENT.');
|
||||
}
|
||||
const style = renderer.createElement('style');
|
||||
renderer.setAttribute(style, "id", "customStyle");
|
||||
let CSSElement = renderer.createText(css);
|
||||
renderer.appendChild(head, style);
|
||||
renderer.appendChild(style, CSSElement);
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Renderrer Error to append style ', e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {SharedModule} from './shared/shared.module';
|
||||
import {BrowserModule, BrowserTransferStateModule} from '@angular/platform-browser';
|
||||
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';
|
||||
import {AppComponent} from './app.component';
|
||||
import {NavigationBarModule} from './openaireLibrary/sharedComponents/navigationBar.module';
|
||||
import {CookieLawModule} from './openaireLibrary/sharedComponents/cookie-law/cookie-law.module';
|
||||
import {BottomModule} from './openaireLibrary/sharedComponents/bottom.module';
|
||||
import {FeedbackModule} from './openaireLibrary/sharedComponents/feedback/feedback.module';
|
||||
import {ErrorModule} from './openaireLibrary/error/error.module';
|
||||
import {OpenaireErrorPageComponent} from './error/errorPage.component';
|
||||
import {AppRoutingModule} from './app-routing.module';
|
||||
import {HttpInterceptorService} from "./openaireLibrary/http-interceptor.service";
|
||||
import {ErrorInterceptorService} from "./openaireLibrary/error-interceptor.service";
|
||||
import {DEFAULT_TIMEOUT, TimeoutInterceptor} from "./openaireLibrary/timeout-interceptor.service";
|
||||
import {ConfigurationService} from "./openaireLibrary/utils/configuration/configuration.service";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
SharedModule,
|
||||
BrowserAnimationsModule,
|
||||
CommonModule,
|
||||
HttpClientModule,
|
||||
ErrorModule,
|
||||
NavigationBarModule, FeedbackModule, BottomModule,
|
||||
CookieLawModule,
|
||||
BrowserAnimationsModule,
|
||||
BrowserTransferStateModule,
|
||||
BrowserModule.withServerTransition({appId: 'eosc'}),
|
||||
AppRoutingModule
|
||||
],
|
||||
declarations: [AppComponent, OpenaireErrorPageComponent],
|
||||
exports: [AppComponent],
|
||||
providers: [
|
||||
ConfigurationService,
|
||||
{
|
||||
provide: HTTP_INTERCEPTORS,
|
||||
useClass: HttpInterceptorService,
|
||||
multi: true
|
||||
},
|
||||
{
|
||||
provide: HTTP_INTERCEPTORS,
|
||||
useClass: ErrorInterceptorService,
|
||||
multi: true
|
||||
},
|
||||
[{provide: HTTP_INTERCEPTORS, useClass: TimeoutInterceptor, multi: true}],
|
||||
[{provide: DEFAULT_TIMEOUT, useValue: 30000}]
|
||||
],
|
||||
bootstrap: [AppComponent]
|
||||
})
|
||||
export class AppModule {
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import {ServerModule, ServerTransferStateModule} from '@angular/platform-server';
|
||||
|
||||
import { AppModule } from './app.module';
|
||||
import { AppComponent } from './app.component';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
AppModule,
|
||||
ServerModule,
|
||||
ServerTransferStateModule
|
||||
],
|
||||
bootstrap: [AppComponent],
|
||||
})
|
||||
export class AppServerModule {}
|
|
@ -0,0 +1,21 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
|
||||
import {OpenaireDirectLinkingComponent} from './directLinking.component';
|
||||
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard";
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireDirectLinkingComponent, canActivate: [IsRouteEnabled, LoginGuard], data: {
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
}, canDeactivate: [PreviousRouteRecorder]},
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class DirectLinkingRoutingModule { }
|
|
@ -0,0 +1,10 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-directLinking',
|
||||
template: `
|
||||
<directLinking></directLinking>`
|
||||
})
|
||||
export class OpenaireDirectLinkingComponent {
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
|
||||
import { SharedModule } from '../../shared/shared.module';
|
||||
import { OpenaireDirectLinkingComponent } from './directLinking.component';
|
||||
import{ DirectLinkingModule} from '../../openaireLibrary/claims/directLinking/directLinking.module';
|
||||
import {DirectLinkingRoutingModule} from './directLinking-routing.module';
|
||||
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
SharedModule, DirectLinkingModule, DirectLinkingRoutingModule
|
||||
],
|
||||
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
|
||||
declarations: [
|
||||
OpenaireDirectLinkingComponent
|
||||
], exports:[OpenaireDirectLinkingComponent]
|
||||
})
|
||||
export class LibDirectLinkingModule { }
|
|
@ -0,0 +1,20 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
import {OpenaireLinkingComponent} from './linkingGeneric.component';
|
||||
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard";
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireLinkingComponent, canActivate: [IsRouteEnabled, LoginGuard], data: {
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
}, canDeactivate: [PreviousRouteRecorder]},
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class LinkingRoutingModule { }
|
|
@ -0,0 +1,10 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-linking-generic',
|
||||
template: `<linking-generic pageTitle="Linking"></linking-generic>`
|
||||
|
||||
})
|
||||
export class OpenaireLinkingComponent {
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
|
||||
import { SharedModule } from '../../shared/shared.module';
|
||||
import {OpenaireLinkingComponent} from './linkingGeneric.component';
|
||||
import {LinkingRoutingModule} from './linking-routing.module';
|
||||
import{ LinkingGenericModule} from '../../openaireLibrary/claims/linking/linkingGeneric.module';
|
||||
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
SharedModule, LinkingRoutingModule, LinkingGenericModule
|
||||
],
|
||||
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
|
||||
declarations: [
|
||||
OpenaireLinkingComponent
|
||||
], exports:[
|
||||
OpenaireLinkingComponent ]
|
||||
})
|
||||
export class LibLinkingGenericModule { }
|
|
@ -0,0 +1,18 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
|
||||
import {OpenaireMyClaimsComponent} from './myClaims.component';
|
||||
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from "../../openaireLibrary/error/isRouteEnabled.guard";
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireMyClaimsComponent, canActivate: [IsRouteEnabled, LoginGuard],
|
||||
data: {redirect: properties.errorLink, community : 'openaire'}, canDeactivate: [PreviousRouteRecorder]}])
|
||||
]
|
||||
})
|
||||
export class MyClaimsRoutingModule { }
|
|
@ -0,0 +1,36 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {ActivatedRoute} from '@angular/router';
|
||||
import {EnvProperties} from '../../openaireLibrary/utils/properties/env-properties';
|
||||
import {Subscriber} from "rxjs";
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-my-claims',
|
||||
template: `
|
||||
<my-claims *ngIf="userInfoURL && claimsInfoURL" [claimsInfoURL]=claimsInfoURL [userInfoURL]="userInfoURL">
|
||||
</my-claims>
|
||||
`
|
||||
|
||||
})
|
||||
export class OpenaireMyClaimsComponent {
|
||||
claimsInfoURL:string;
|
||||
userInfoURL: string;
|
||||
sub;
|
||||
|
||||
constructor (private route: ActivatedRoute) {
|
||||
}
|
||||
ngOnDestroy() {
|
||||
if (this.sub instanceof Subscriber) {
|
||||
this.sub.unsubscribe();
|
||||
}
|
||||
}
|
||||
public ngOnInit() {
|
||||
this.sub = this.route.data
|
||||
.subscribe((data: { envSpecific: EnvProperties }) => {
|
||||
this.claimsInfoURL = data.envSpecific.claimsInformationLink;
|
||||
this.userInfoURL = data.envSpecific.userInfoUrl;
|
||||
});
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
|
||||
import { SharedModule } from '../../shared/shared.module';
|
||||
import { OpenaireMyClaimsComponent } from './myClaims.component';
|
||||
import { MyClaimsRoutingModule } from './myClaims-routing.module';
|
||||
import{ MyClaimsModule} from '../../openaireLibrary/claims/myClaims/myClaims.module';
|
||||
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
SharedModule,
|
||||
MyClaimsRoutingModule,
|
||||
MyClaimsModule
|
||||
|
||||
],
|
||||
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
|
||||
declarations: [
|
||||
OpenaireMyClaimsComponent
|
||||
]
|
||||
})
|
||||
export class LibMyClaimsModule { }
|
|
@ -0,0 +1,18 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
import {OpenaireDepositComponent} from './deposit.component';
|
||||
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from "../openaireLibrary/error/isRouteEnabled.guard";
|
||||
import {properties} from "../../environments/environment";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireDepositComponent, data: {
|
||||
redirect: properties.errorLink
|
||||
}, canDeactivate: [PreviousRouteRecorder], canActivate: [IsRouteEnabled] }
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class DepositRoutingModule { }
|
|
@ -0,0 +1,12 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-deposit',
|
||||
template: `
|
||||
<deposit-first-page></deposit-first-page>
|
||||
`
|
||||
})
|
||||
|
||||
export class OpenaireDepositComponent {
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
|
||||
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard';
|
||||
|
||||
import {OpenaireDepositComponent} from "./deposit.component";
|
||||
import {DepositRoutingModule} from "./deposit-routing.module";
|
||||
import {DepositFirstPageModule} from "../openaireLibrary/deposit/depositFirstPage.module";
|
||||
|
||||
import {ZenodoCommunitiesService} from "../openaireLibrary/connect/zenodoCommunities/zenodo-communities.service";
|
||||
import {CommunityService} from "../openaireLibrary/connect/community/community.service";
|
||||
import {SearchZenodoCommunitiesService} from "../openaireLibrary/connect/zenodoCommunities/searchZenodoCommunities.service";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule,
|
||||
DepositRoutingModule, DepositFirstPageModule
|
||||
],
|
||||
declarations: [
|
||||
OpenaireDepositComponent
|
||||
],
|
||||
exports: [
|
||||
OpenaireDepositComponent,
|
||||
],
|
||||
providers: [PreviousRouteRecorder, IsRouteEnabled,
|
||||
ZenodoCommunitiesService, CommunityService, SearchZenodoCommunitiesService]
|
||||
})
|
||||
export class LibDepositModule { }
|
|
@ -0,0 +1,21 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
import {OpenaireSearchDataprovidersToDepositComponent} from './searchDataprovidersToDeposit.component';
|
||||
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from "../openaireLibrary/error/isRouteEnabled.guard";
|
||||
import {properties} from "../../environments/environment";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{
|
||||
path: '', component: OpenaireSearchDataprovidersToDepositComponent, data: {
|
||||
redirect: properties.errorLink
|
||||
}, canDeactivate: [PreviousRouteRecorder], canActivate: [IsRouteEnabled]
|
||||
}
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class SearchDataprovidersToDepositRoutingModule {
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-search-deposit',
|
||||
template: `
|
||||
<deposit-search-dataproviders></deposit-search-dataproviders>
|
||||
`
|
||||
})
|
||||
|
||||
export class OpenaireSearchDataprovidersToDepositComponent {
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
import { OpenaireSearchDataprovidersToDepositComponent } from './searchDataprovidersToDeposit.component';
|
||||
|
||||
import {SearchDataprovidersToDepositRoutingModule} from './searchDataprovidersToDeposit-routing.module';
|
||||
import {SearchDataprovidersToDepositModule} from '../openaireLibrary/deposit/searchDataprovidersToDeposit.module';
|
||||
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard';
|
||||
import {ZenodoCommunitiesServiceModule} from '../openaireLibrary/connect/zenodoCommunities/zenodo-communitiesService.module';
|
||||
import {SearchZenodoCommunitiesServiceModule} from '../openaireLibrary/connect/zenodoCommunities/searchZenodoCommunitiesService.module';
|
||||
|
||||
import {CommunityService} from '../openaireLibrary/connect/community/community.service';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule,
|
||||
SearchDataprovidersToDepositModule,
|
||||
SearchDataprovidersToDepositRoutingModule,
|
||||
ZenodoCommunitiesServiceModule, SearchZenodoCommunitiesServiceModule
|
||||
],
|
||||
declarations: [
|
||||
OpenaireSearchDataprovidersToDepositComponent
|
||||
],
|
||||
exports: [
|
||||
OpenaireSearchDataprovidersToDepositComponent,
|
||||
],
|
||||
providers: [PreviousRouteRecorder, IsRouteEnabled, CommunityService]
|
||||
})
|
||||
export class LibSearchDataprovidersToDepositModule { }
|
|
@ -0,0 +1,60 @@
|
|||
.uk-card {
|
||||
box-shadow: 0 6px 15px #0000001A;
|
||||
border-radius: 36px;
|
||||
padding: 65px;
|
||||
font-family: "Roboto", sans-serif;
|
||||
font-size: var(--large-font-size);;
|
||||
}
|
||||
|
||||
ul.portal-circle {
|
||||
list-style: none;
|
||||
padding-left: 40px;
|
||||
font-family: "Open Sans", sans-serif;
|
||||
font-size: var(--font-size);;
|
||||
}
|
||||
|
||||
ul.portal-circle li {
|
||||
margin: 0 0 20px 0;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
ul.portal-circle li:before {
|
||||
content: "";
|
||||
border: 5px var(--portal-main-color) solid !important;
|
||||
border-radius: 50px;
|
||||
line-height: 21px;
|
||||
margin-left: -20px;
|
||||
position: absolute;
|
||||
top: 7px;
|
||||
}
|
||||
|
||||
.documentation {
|
||||
max-width: 500px;
|
||||
background: #EEF7E6;
|
||||
border-radius: 15px;
|
||||
padding: 30px;
|
||||
font-family: "Open Sans", sans-serif;
|
||||
font-size: var(--small-font-size);
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 959px) {
|
||||
.uk-card {
|
||||
padding: 30px;
|
||||
}
|
||||
|
||||
ul.portal-circle {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
ul.light-blue-triangle li {
|
||||
margin: 0 0 20px 0;
|
||||
}
|
||||
|
||||
ul.light-blue-circle.large li {
|
||||
margin: 0 0 20px 0;
|
||||
}
|
||||
|
||||
.documentation {
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,134 @@
|
|||
import {Component, OnInit} from "@angular/core";
|
||||
import {Meta, Title} from "@angular/platform-browser";
|
||||
import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service";
|
||||
import {properties} from "../../environments/environment";
|
||||
import {Router} from "@angular/router";
|
||||
import {AggregatorInfo, PortalAggregators} from "../utils/aggregators";
|
||||
import {ConnectHelper} from "../openaireLibrary/connect/connectHelper";
|
||||
import {PiwikService} from "../openaireLibrary/utils/piwik/piwik.service";
|
||||
import {Subscription} from "rxjs";
|
||||
|
||||
@Component({
|
||||
selector: 'develop',
|
||||
template: `
|
||||
<div page-content>
|
||||
<div inner>
|
||||
<div *ngIf="aggregator" class="uk-container uk-container-large uk-section-small">
|
||||
<h2 class="uk-text-center">
|
||||
Develop
|
||||
</h2>
|
||||
<div class="uk-margin-medium-top uk-card uk-card-body uk-card-default">
|
||||
<h3 class="uk-text-center">Help developers with <span
|
||||
class="portal-color uk-text-bold">OpenAIRE APIs</span>
|
||||
</h3>
|
||||
<div class="uk-margin-large-top uk-margin-medium-bottom">
|
||||
Not sure where to start? Let us give you some guides and request examples.
|
||||
</div>
|
||||
<p>
|
||||
<span class="uk-text-bold">For research outcomes </span>
|
||||
(publications, datasets, software and other research data) you can use the
|
||||
<a href="https://graph.openaire.eu/develop/api.html" target="_blank">Selective Access APIs</a>
|
||||
by adding the <span class="uk-text-lowercase">country</span> parameter.
|
||||
</p>
|
||||
<div class="uk-grid uk-child-width-1-2@m uk-child-width-1-1@s" uk-grid>
|
||||
<div>
|
||||
|
||||
<p>
|
||||
Request examples:
|
||||
</p>
|
||||
<ul class="portal-circle">
|
||||
<li>
|
||||
<span class="uk-text-bold">Access “Publications”</span><br>
|
||||
<span class="uk-text-bold">GET</span>
|
||||
<span
|
||||
class="uk-text-break space">https://api.openaire.eu/search/publications?country={{aggregator.valueId}}</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="uk-text-bold">Access “Open Access Publications”</span><br>
|
||||
<span class="uk-text-bold">GET</span>
|
||||
<span
|
||||
class="uk-text-break space">http://api.openaire.eu/search/publications?country={{aggregator.valueId}}&OA=true</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="uk-text-bold">Access “Datasets”</span><br>
|
||||
<span class="uk-text-bold">GET</span>
|
||||
<span
|
||||
class="uk-text-break space">https://api.openaire.eu/search/datasets?country={{aggregator.valueId}}</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="uk-text-bold">Access “Software”</span><br>
|
||||
<span class="uk-text-bold">GET</span>
|
||||
<span
|
||||
class="uk-text-break space">https://api.openaire.eu/search/software?country={{aggregator.valueId}}</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="uk-text-bold">Access “Other Research”</span><br>
|
||||
<span class="uk-text-bold">GET</span>
|
||||
<span
|
||||
class="uk-text-break space">https://api.openaire.eu/search/other?country={{aggregator.valueId}}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="uk-flex uk-flex-middle">
|
||||
<div class="uk-flex uk-flex-center uk-width-1-1 uk-margin-medium-top">
|
||||
<img width="350" src="assets/develop.png">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-margin-large-top uk-flex uk-flex-center uk-padding">
|
||||
<div class="documentation">
|
||||
For <span
|
||||
class="uk-text-bold">more information</span> on the full potential of the OpenAIRE APIs please check
|
||||
the <a href="https://graph.openaire.eu/develop" target="_blank">OpenAIRE API Documentation</a>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`,
|
||||
styleUrls: ['develop.component.css']
|
||||
})
|
||||
export class DevelopComponent implements OnInit {
|
||||
|
||||
public aggregator: AggregatorInfo = null;
|
||||
subs: Subscription[] = [];
|
||||
|
||||
constructor(private seoService: SEOService,
|
||||
private _meta: Meta,
|
||||
private _router: Router,
|
||||
private _title: Title, private _piwikService:PiwikService) {
|
||||
}
|
||||
public ngOnDestroy() {
|
||||
for (let sub of this.subs) {
|
||||
sub.unsubscribe();
|
||||
}
|
||||
}
|
||||
ngOnInit() {
|
||||
|
||||
this.aggregator = PortalAggregators.eoscInfo;
|
||||
if (this.aggregator) {
|
||||
|
||||
/* Metadata */
|
||||
const url = properties.domain + properties.baseLink + this._router.url;
|
||||
this.seoService.createLinkForCanonicalURL(url, false);
|
||||
this._meta.updateTag({content: url}, "property='og:url'");
|
||||
const description = "Develop | " + this.aggregator.valueName;
|
||||
const title = "Develop | " + this.aggregator.valueName;
|
||||
this._meta.updateTag({content: description}, "name='description'");
|
||||
this._meta.updateTag({content: description}, "property='og:description'");
|
||||
this._meta.updateTag({content: title}, "property='og:title'");
|
||||
this._title.setTitle(title);
|
||||
this.subs.push(this._piwikService.trackView(properties, "OpenAIRE").subscribe());
|
||||
}else {
|
||||
this.navigateToError();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private navigateToError() {
|
||||
this._router.navigate([properties.errorLink], {queryParams: {'page': this._router.url}});
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
import {NgModule} from "@angular/core";
|
||||
import {CommonModule} from "@angular/common";
|
||||
import {DevelopComponent} from "./develop.component";
|
||||
import {RouterModule} from "@angular/router";
|
||||
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||
import {PiwikServiceModule} from "../openaireLibrary/utils/piwik/piwikService.module";
|
||||
|
||||
@NgModule({
|
||||
declarations: [DevelopComponent],
|
||||
imports: [CommonModule,PiwikServiceModule, RouterModule.forChild([
|
||||
{
|
||||
path: '',
|
||||
component: DevelopComponent,
|
||||
canDeactivate: [PreviousRouteRecorder]
|
||||
},
|
||||
])],
|
||||
exports: [DevelopComponent]
|
||||
})
|
||||
export class DevelopModule {
|
||||
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-error',
|
||||
template: `
|
||||
<error></error>
|
||||
`
|
||||
})
|
||||
|
||||
export class OpenaireErrorPageComponent {
|
||||
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import{HomeComponent} from './home.component';
|
||||
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: HomeComponent,canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class HomeRoutingModule { }
|
|
@ -0,0 +1,131 @@
|
|||
<!--<div class="image-front-topbar">-->
|
||||
<!-- <div class="uk-section uk-section-small home-background">-->
|
||||
<!-- <div id="searchForm" class="uk-container uk-container-large uk-section uk-section-xsmall uk-padding-remove-bottom">-->
|
||||
<!-- <div class="uk-grid uk-flex uk-flex-center uk-margin-small-top">-->
|
||||
<!-- <div class="uk-width-1-1 uk-width-auto@m uk-first-column"><div id="searchImage"></div></div>-->
|
||||
<!-- <div class="uk-width-expand uk-padding-remove-vertical search_box_bg" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-slide-bottom-medium; delay: 200">-->
|
||||
<!-- <div class="uk-flex uk-flex-center uk-flex-wrap">-->
|
||||
<!-- <div class="uk-width-xlarge@l uk-width-large">-->
|
||||
<!-- <div class="uk-flex uk-flex-center uk-child-width-1-1">-->
|
||||
<!-- <div [class.uk-invisible]="disableSelect" uk-scrollspy-class>-->
|
||||
<!-- <advanced-search-input (searchEmitter)="goTo(true)">-->
|
||||
<!-- <entities-selection #entities [simpleView]="true" currentEntity="all" [selectedEntity]="selectedEntity"-->
|
||||
<!-- (selectionChange)="entityChanged($event)" (disableSelectEmitter)="disableSelectChange($event)"-->
|
||||
<!-- [onChangeNavigate]="false" class="uk-width-2-5"></entities-selection>-->
|
||||
<!-- <div class="uk-width-expand" input placeholder="Scholary works" [hint]="'Search in OpenAIRE'"-->
|
||||
<!-- [(value)]="keyword" tooltip="true"></div>-->
|
||||
<!-- </advanced-search-input>-->
|
||||
<!-- <div *ngIf="selectedEntity === 'result' && !entities.input.focused" class="uk-dropdown uk-display-block uk-margin-top uk-width-auto">-->
|
||||
<!-- <div class="uk-padding-small">-->
|
||||
<!-- <quick-selections [resultTypes]="resultTypes" [quickFilter]="resultsQuickFilter"></quick-selections>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!--</div>-->
|
||||
<!--<div class="uk-section uk-container uk-container-large">-->
|
||||
<!-- <div class="contentbox uk-grid uk-child-width-1-1@s uk-flex-row-reverse">-->
|
||||
<!-- <div class="uk-width-medium@m uk-width-large@l uk-width-xlarge@xl uk-width-1-1 uk-flex uk-flex-middle uk-padding-remove-horizontal">-->
|
||||
<!-- <img src="https://marketplace.eosc-portal.eu/packs/media/images/gfx_whole_illustation_desktop-fc94d4f7e15455d1785ef4793e1573fb.png">-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="uk-width-expand">-->
|
||||
<!-- <div class="">-->
|
||||
<!-- <div class=" ">-->
|
||||
<!-- <h1 class=" uk-h2 uk-text-normal">Welcome to EOSC Explore</h1>-->
|
||||
<!-- <h2 class="uk-h5 uk-text-normal uk-text-italics"><br>-->
|
||||
<!-- <i>The in-context research discovery portal over the EOSC Exchange and the global map of science.</i>-->
|
||||
<!-- </h2>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="uk-margin-large-top uk-text-large uk-text-light">The EOSC Explore supports discovery of research products and services onboarded in the EOSC Exchange in the wider context of scientific research outcomes, research funding, and research organization. The EOSC Research Graph, powered by the OpenAIRE Research Graph, provides links from products and services to funders, projects, organizations, and authors, collects and infers SDGs subjects, communities, many more. The portal exploits the EOSC Interoperability Framework to identify relationships between research products in the graph and EOSC Services in the EOSC Marketplace, to facilitate and enable composability of resources. </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <!– <aside><img src="https://marketplace.eosc-portal.eu/packs/media/images/gfx_whole_illustation_desktop-fc94d4f7e15455d1785ef4793e1573fb.png"></aside>–>-->
|
||||
<!-- </div>-->
|
||||
<!--<div class="uk-section graph-background" *ngIf="aggregator.graphSectionText && aggregator.graphSectionTitle">-->
|
||||
<!-- <div class="uk-container">-->
|
||||
<!-- <div class="uk-flex uk-flex-top uk-child-width-1-1 uk-child-width-1-2@m" uk-grid>-->
|
||||
<!-- <div class="uk-flex-last@m">-->
|
||||
<!-- <div [class.lines-10]="!readMore" class="uk-margin-bottom multi-line-ellipsis">-->
|
||||
<!-- <div class="uk-h3">{{aggregator.graphSectionTitle}}</div>-->
|
||||
<!-- <p [innerHtml]="aggregator.graphSectionText">-->
|
||||
<!-- </p>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div *ngIf="aggregator.graphSectionText">-->
|
||||
<!-- <div *ngIf="!readMore" class="uk-text-center clickable" (click)="readMore = true">-->
|
||||
<!-- <span>Read more<span class="space" uk-icon="chevron-down"></span></span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div *ngIf="readMore" class="uk-text-center clickable" (click)="readMore = false">-->
|
||||
<!-- <span>Read less<span class="space" uk-icon="chevron-up"></span></span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="uk-flex uk-flex-bottom">-->
|
||||
<!-- <div class="uk-width-1-3 uk-width-1-2@m">-->
|
||||
<!-- <img src="assets/graph.svg">-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="uk-padding uk-width-1-2">-->
|
||||
<!-- <img src="assets/common-assets/logo-large-graph.png">-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!--</div>-->
|
||||
<!--<div class="uk-section" *ngIf="isRouteAvailable('participate/deposit/learn-how') || isRouteAvailable('participate/claim')">-->
|
||||
<!-- <div class="uk-padding uk-padding-remove-horizontal">-->
|
||||
<!-- <div class="uk-container uk-container-small">-->
|
||||
<!-- <div class="uk-grid-margin uk-grid uk-grid-stack" uk-grid="">-->
|
||||
<!-- <div class="uk-width-1-1@m uk-first-column">-->
|
||||
<!-- <div-->
|
||||
<!-- class="uk-margin uk-text-center uk-child-width-1-1 uk-grid-match uk-child-width-1-1@s uk-child-width-1-2@m uk-child-width-1-2@l uk-grid"-->
|
||||
<!-- id="page#8" uk-grid="" uk-height-match="target: .target">-->
|
||||
<!-- <div class="uk-first-column" *ngIf="isRouteAvailable('participate/deposit/learn-how')">-->
|
||||
<!-- <div class="el-item uk-card uk-card-default uk-card-medium uk-card-body">-->
|
||||
<!-- <div class="uk-text-center target"><img alt="Share" class="uk-width-1-3@m uk-width-small"-->
|
||||
<!-- src="assets/share.svg"></div>-->
|
||||
|
||||
<!-- <div class="el-content uk-margin uk-text-large"><span class="uk-text-bold">Deposit</span> your research-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- <div class="uk-margin-small-top uk-text-left card-text uk-flex uk-flex-center">-->
|
||||
<!-- <div class="uk-margin-left uk-margin-right">Deposit in a repository of your choice.<br>-->
|
||||
<!-- Select an OpenAIRE compatible<br>-->
|
||||
<!-- repository (2.0 +) so that your research is linked to your funding information. Use Zenodo, a-->
|
||||
<!-- catch-all repository hosted by CERN to deposit all your research results (publications, data,-->
|
||||
<!-- software, etc.)-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a class="uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-small-left ng-star-inserted uk-margin uk-margin-bottom uk-width-1-2"-->
|
||||
<!-- href="/participate/deposit/learn-how" type="submit">Deposit </a></div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- <div *ngIf=" isRouteAvailable('participate/claim')">-->
|
||||
<!-- <div class="el-item uk-card uk-card-default uk-card-medium uk-card-body">-->
|
||||
<!-- <div class="uk-text-center target"><img alt="Share" class="uk-width-1-3@m uk-width-small"-->
|
||||
<!-- src="assets/link.svg"></div>-->
|
||||
|
||||
<!-- <div class="el-content uk-margin uk-text-large"><span class="uk-text-bold">Link</span> your work</div>-->
|
||||
|
||||
<!-- <div class="uk-margin-small-top uk-text-left card-text uk-flex uk-flex-center">-->
|
||||
<!-- <div class="uk-margin-left uk-margin-right">Connect all your research.<br>-->
|
||||
<!-- If you can't find your research results in OpenAIRE, don't worry! Use our Link Out service , that-->
|
||||
<!-- reaches out to many<br>-->
|
||||
<!-- external sources via APIs, to connect<br>-->
|
||||
<!-- your research results and claim them to your project.-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a class="uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-small-left ng-star-inserted uk-margin uk-margin-bottom uk-width-1-2"-->
|
||||
<!-- href="/participate/claim" type="submit">Link </a></div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!--</div>-->
|
||||
<!--</div>-->
|
|
@ -0,0 +1,268 @@
|
|||
import {Component, Inject} from "@angular/core";
|
||||
import {DOCUMENT} from "@angular/common";
|
||||
import {Meta, Title} from "@angular/platform-browser";
|
||||
import {properties} from "../../environments/environment";
|
||||
|
||||
@Component({
|
||||
selector: 'home',
|
||||
templateUrl: 'home.component.html',
|
||||
})
|
||||
export class HomeComponent {
|
||||
|
||||
constructor(@Inject(DOCUMENT) readonly document: Document, private _meta: Meta, private _title: Title) {
|
||||
let title = "EOSC Explore";
|
||||
|
||||
this._title.setTitle(title);
|
||||
this._meta.updateTag({content:title},"property='og:title'");
|
||||
}
|
||||
|
||||
/** The Window object from Document defaultView */
|
||||
get window(): Window {
|
||||
return this.document.defaultView;
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
// this.window.location.href = '...';
|
||||
if (typeof document !== 'undefined') {
|
||||
this.window.open('https://'+(properties.environment == "beta" ? "beta." : "")+'search.marketplace.eosc-portal.eu/search/all?q=*', "_self");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// import {ChangeDetectorRef, Component, Inject, ViewChild} from '@angular/core';
|
||||
// import {Subscription, zip} from 'rxjs';
|
||||
// import {ActivatedRoute, Router} from '@angular/router';
|
||||
// import {DOCUMENT, Location} from '@angular/common';
|
||||
// import {Meta, Title} from '@angular/platform-browser';
|
||||
// import {ConfigurationService} from '../openaireLibrary/utils/configuration/configuration.service';
|
||||
// import {SearchDataprovidersService} from '../openaireLibrary/services/searchDataproviders.service';
|
||||
// import {SearchProjectsService} from '../openaireLibrary/services/searchProjects.service';
|
||||
// import {SearchOrganizationsService} from '../openaireLibrary/services/searchOrganizations.service';
|
||||
// import {RefineFieldResultsService} from '../openaireLibrary/services/refineFieldResults.service';
|
||||
// import {OpenaireEntities, SearchFields} from '../openaireLibrary/utils/properties/searchFields';
|
||||
//
|
||||
// import {RouterHelper} from '../openaireLibrary/utils/routerHelper.class';
|
||||
// import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
|
||||
// import {ErrorCodes} from '../openaireLibrary/utils/properties/errorCodes';
|
||||
// import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service';
|
||||
// import {SEOService} from '../openaireLibrary/sharedComponents/SEO/SEO.service';
|
||||
// import {SearchResearchResultsService} from "../openaireLibrary/services/searchResearchResults.service";
|
||||
// import {HelperService} from "../openaireLibrary/utils/helper/helper.service";
|
||||
// import {Filter} from "../openaireLibrary/searchPages/searchUtils/searchHelperClasses.class";
|
||||
// import {AggregatorInfo, PortalAggregators} from "../utils/aggregators";
|
||||
// import {SearchCustomFilter} from "../openaireLibrary/searchPages/searchUtils/searchUtils.class";
|
||||
// import {properties} from "../../environments/environment";
|
||||
// import {portalProperties} from "../../environments/environment-aggregator";
|
||||
//
|
||||
// @Component({
|
||||
// selector: 'home',
|
||||
// templateUrl: 'home.component.html',
|
||||
// })
|
||||
// export class HomeComponent {
|
||||
// public keyword:string = "";
|
||||
//
|
||||
// public searchFields:SearchFields = new SearchFields();
|
||||
// public errorCodes:ErrorCodes = new ErrorCodes();
|
||||
// public routerHelper:RouterHelper = new RouterHelper();
|
||||
// showPublications: boolean = portalProperties.entities.publication.isEnabled;
|
||||
// showDatasets: boolean = portalProperties.entities.dataset.isEnabled;
|
||||
// showSoftware: boolean = portalProperties.entities.software.isEnabled;
|
||||
// showOrp: boolean = portalProperties.entities.other.isEnabled;
|
||||
// showOrganizations: boolean = portalProperties.entities.organization.isEnabled;
|
||||
// showProjects: boolean = portalProperties.entities.project.isEnabled;
|
||||
// showDataProviders: boolean = portalProperties.entities.datasource.isEnabled;
|
||||
// properties: EnvProperties = properties;
|
||||
// public readMore: boolean = false;
|
||||
//
|
||||
// private noOfFunders = 3;
|
||||
// public funders = [];
|
||||
//
|
||||
// subs: Subscription[] = [];
|
||||
//
|
||||
// resultsQuickFilter: { filter: Filter, selected: boolean, filterId: string, value: string } = {
|
||||
// filter: null,
|
||||
// selected: true,
|
||||
// filterId: "resultbestaccessright",
|
||||
// value: "Open Access"
|
||||
// };
|
||||
// selectedEntity = "all";
|
||||
// disableSelect: boolean = true;
|
||||
// selectedEntitySimpleUrl;
|
||||
// selectedEntityAdvancedUrl;
|
||||
// resultTypes:Filter = {values:[],filterId:"type", countSelectedValues: 0, filterType: 'checkbox', originalFilterId: "", valueIsExact: true, title: "Result Types",filterOperator:"or"};
|
||||
// public pageContents = null;
|
||||
// customFilter:SearchCustomFilter= null;
|
||||
// aggregator:AggregatorInfo;
|
||||
//
|
||||
// constructor (
|
||||
// private route: ActivatedRoute,
|
||||
// private _router: Router,
|
||||
// private _searchResearchResultsService: SearchResearchResultsService,
|
||||
// private _searchDataprovidersService: SearchDataprovidersService,
|
||||
// private _searchProjectsService: SearchProjectsService,
|
||||
// private _searchOrganizationsService: SearchOrganizationsService,
|
||||
// private _refineFieldResultsService:RefineFieldResultsService,
|
||||
// private location: Location, private _piwikService:PiwikService,
|
||||
// private config: ConfigurationService, private _meta: Meta, private _title: Title, private seoService: SEOService,
|
||||
// private helper: HelperService, private cdr: ChangeDetectorRef
|
||||
// ) {
|
||||
// this.aggregator = PortalAggregators.eoscInfo;
|
||||
// this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator();
|
||||
// let description = "OpenAIRE Explore: Over 100M of research deduplicated, 170K research software, 11M research data. One of the largest open scholarly records collection worldwide.";
|
||||
// let title = "OpenAIRE - Explore| " +this.aggregator.title;
|
||||
//
|
||||
// this._title.setTitle(title);
|
||||
// this._meta.updateTag({content:description},"name='description'");
|
||||
// this._meta.updateTag({content:description},"property='og:description'");
|
||||
// this._meta.updateTag({content:title},"property='og:title'");
|
||||
//
|
||||
//
|
||||
// }
|
||||
//
|
||||
// private getPageContents() {
|
||||
// this.subs.push(this.helper.getPageHelpContents(this.properties, 'openaire', this._router.url).subscribe(contents => {
|
||||
// this.pageContents = contents;
|
||||
// }));
|
||||
// }
|
||||
//
|
||||
// public ceil(num: number) {
|
||||
// return Math.ceil(num);
|
||||
// }
|
||||
//
|
||||
// public ngOnInit() {
|
||||
// this.seoService.createLinkForCanonicalURL(this.properties.domain + this.properties.baseLink+this._router.url, false);
|
||||
// this.getPageContents();
|
||||
// if(this.properties!=null){
|
||||
// var url = this.properties.domain + this.properties.baseLink+this._router.url;
|
||||
// this._meta.updateTag({content:url},"property='og:url'");
|
||||
// if(this.properties.enablePiwikTrack && (typeof document !== 'undefined')){
|
||||
// this.subs.push(this._piwikService.trackView(this.properties, "OpenAIRE").subscribe());
|
||||
// }
|
||||
//
|
||||
// //this.config.getCommunityInformation(this.properties, this.properties.adminToolsCommunity ).subscribe(data => {
|
||||
// this.subs.push(this.config.communityInformationState.subscribe(data => {
|
||||
// if(data) {
|
||||
// var showEntity = {};
|
||||
// for (var i = 0; i < data['entities'].length; i++) {
|
||||
//
|
||||
// showEntity["" + data['entities'][i]["pid"] + ""] = data['entities'][i]["isEnabled"];
|
||||
// }
|
||||
// this.showPublications = !!showEntity["publication"];
|
||||
// this.showDatasets = !!showEntity["dataset"];
|
||||
// this.showSoftware = !!showEntity["software"];
|
||||
// this.showOrp = !!showEntity["orp"];
|
||||
// this.showProjects = !!showEntity["project"];
|
||||
// this.showDataProviders = !!showEntity["datasource"];
|
||||
// this.showOrganizations = !!showEntity["organization"];
|
||||
// if(this.showPublications){
|
||||
// this.resultTypes.values.push({name: OpenaireEntities.PUBLICATIONS , id:"publications",selected:false, number:0});
|
||||
// }
|
||||
// if(this.showDatasets){
|
||||
// this.resultTypes.values.push({name: OpenaireEntities.DATASETS , id:"datasets",selected:false, number:0});
|
||||
// }
|
||||
// if(this.showSoftware){
|
||||
// this.resultTypes.values.push({name: OpenaireEntities.SOFTWARE , id:"software",selected:false, number:0});
|
||||
// }
|
||||
// if(this.showOrp){
|
||||
// this.resultTypes.values.push({name: OpenaireEntities.OTHER , id:"other",selected:false, number:0});
|
||||
// }
|
||||
// }
|
||||
// },
|
||||
// error => {
|
||||
// this.handleError("Error getting community information", error);
|
||||
// }
|
||||
// ));
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// public ngOnDestroy() {
|
||||
// for (let sub of this.subs) {
|
||||
// sub.unsubscribe();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private handleError(message: string, error) {
|
||||
// console.error("Home Page: "+message, error);
|
||||
// }
|
||||
// entityChanged($event){
|
||||
// this.selectedEntity = $event.entity;
|
||||
// this.selectedEntitySimpleUrl = $event.simpleUrl;
|
||||
// this.selectedEntityAdvancedUrl = $event.advancedUrl;
|
||||
// }
|
||||
// goTo(simple:boolean){
|
||||
// let url = (simple)?this.selectedEntitySimpleUrl:this.selectedEntityAdvancedUrl;
|
||||
// let parameterNames = [];
|
||||
// let parameterValues = [];
|
||||
// if (this.selectedEntity == "result") {
|
||||
// if (this.resultTypes) {
|
||||
// let values = [];
|
||||
// for(let value of this.resultTypes.values){
|
||||
// if (value.selected) {
|
||||
// values.push(value.id);
|
||||
// }
|
||||
// }
|
||||
// if (values.length > 0 && values.length !=4) {
|
||||
// parameterNames.push("type");
|
||||
// parameterValues.push(values.join(","));
|
||||
// }
|
||||
// if (this.resultsQuickFilter) {
|
||||
// parameterNames.push("qf");
|
||||
// parameterValues.push("" + this.resultsQuickFilter.selected);
|
||||
// }
|
||||
// }
|
||||
// }else if(this.selectedEntity == "all"){
|
||||
// if (this.resultsQuickFilter) {
|
||||
// parameterNames.push("qf");
|
||||
// parameterValues.push("true");
|
||||
// }
|
||||
// }
|
||||
// if(this.keyword.length > 0) {
|
||||
// parameterNames.push("fv0");
|
||||
// parameterValues.push(this.keyword);
|
||||
// parameterNames.push("f0");
|
||||
// parameterValues.push("q");
|
||||
// }
|
||||
// if(this.customFilter){
|
||||
// parameterNames.push(this.customFilter.queryFieldName);
|
||||
// parameterValues.push(this.customFilter.valueId);
|
||||
// parameterNames.push("cf");
|
||||
// parameterValues.push("true");
|
||||
// }
|
||||
// this._router.navigate([url], {queryParams: this.routerHelper.createQueryParams(parameterNames, parameterValues)});
|
||||
// }
|
||||
// getQueryParamsForAdvancedSearch(entity){
|
||||
// let params = {};
|
||||
// if (entity == "result") {
|
||||
// if (this.resultsQuickFilter) {
|
||||
// params["qf"] = "" + this.resultsQuickFilter.selected;
|
||||
// }
|
||||
// }
|
||||
// if(this.keyword.length > 0) {
|
||||
// params["fv0"] = "" + this.keyword;
|
||||
// params["f0"] = "q";
|
||||
// }
|
||||
// if(this.customFilter){
|
||||
// params = this.customFilter.getParameters(params);
|
||||
// }
|
||||
// return params;
|
||||
// }
|
||||
//
|
||||
//
|
||||
// isRouteAvailable(routeToCheck: string) {
|
||||
// for (let i = 0; i < this._router.config.length; i++) {
|
||||
// let routePath: string = this._router.config[i].path;
|
||||
// if (routePath == routeToCheck) {
|
||||
// return true;
|
||||
// }
|
||||
// }
|
||||
// return false;
|
||||
// }
|
||||
//
|
||||
// disableSelectChange(event: boolean) {
|
||||
// this.disableSelect = event;
|
||||
// this.cdr.detectChanges();
|
||||
// }
|
||||
// }
|
|
@ -0,0 +1,59 @@
|
|||
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} from '../openaireLibrary/services/dataProvidersService.module';
|
||||
import { SearchResearchResultsServiceModule} from '../openaireLibrary/services/searchResearchResultsService.module';
|
||||
import { ProjectsServiceModule} from '../openaireLibrary/services/projectsService.module';
|
||||
import { OrganizationsServiceModule} from '../openaireLibrary/services/organizationsService.module';
|
||||
import { SearchFormModule} from '../openaireLibrary/searchPages/searchUtils/searchForm.module';
|
||||
import { PiwikServiceModule} from '../openaireLibrary/utils/piwik/piwikService.module';
|
||||
|
||||
import {HelperModule} from '../openaireLibrary/utils/helper/helper.module';
|
||||
|
||||
import {RefineFieldResultsServiceModule} from '../openaireLibrary/services/refineFieldResultsService.module';
|
||||
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import { SEOServiceModule } from '../openaireLibrary/sharedComponents/SEO/SEOService.module';
|
||||
|
||||
import {ErrorMessagesModule} from '../openaireLibrary/utils/errorMessages.module';
|
||||
import {EntitiesSelectionModule} from "../openaireLibrary/searchPages/searchUtils/entitiesSelection.module";
|
||||
import {QuickSelectionsModule} from "../openaireLibrary/searchPages/searchUtils/quick-selections.module";
|
||||
import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
|
||||
import {IconsService} from "../openaireLibrary/utils/icons/icons.service";
|
||||
import {book, cog, database, earth} from "../openaireLibrary/utils/icons/icons";
|
||||
import {NumbersModule} from "../openaireLibrary/sharedComponents/numbers/numbers.module";
|
||||
import {AdvancedSearchInputModule} from "../openaireLibrary/sharedComponents/advanced-search-input/advanced-search-input.module";
|
||||
import {InputModule} from "../openaireLibrary/sharedComponents/input/input.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule, RouterModule,
|
||||
RefineFieldResultsServiceModule,
|
||||
DataProvidersServiceModule, SearchResearchResultsServiceModule,
|
||||
ProjectsServiceModule, OrganizationsServiceModule,
|
||||
SearchFormModule,
|
||||
PiwikServiceModule,
|
||||
HomeRoutingModule,
|
||||
HelperModule,
|
||||
ErrorMessagesModule,
|
||||
SEOServiceModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule, NumbersModule, AdvancedSearchInputModule, InputModule
|
||||
],
|
||||
declarations: [
|
||||
HomeComponent
|
||||
],
|
||||
providers:[
|
||||
PreviousRouteRecorder
|
||||
],
|
||||
exports: [
|
||||
HomeComponent
|
||||
]
|
||||
})
|
||||
export class HomeModule {
|
||||
constructor(private iconsService: IconsService) {
|
||||
this.iconsService.registerIcons([book, earth, cog, database]);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import { OpenaireDataProviderComponent } from './dataProvider.component';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireDataProviderComponent, canActivate: [FreeGuard], data: {
|
||||
redirect: properties.errorLink
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class DataProviderRoutingModule { }
|
|
@ -0,0 +1,8 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-dataprovider',
|
||||
template: `<dataprovider></dataprovider>`,
|
||||
})
|
||||
export class OpenaireDataProviderComponent{
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
import { NgModule} from '@angular/core';
|
||||
import { DataProviderModule } from '../../openaireLibrary/landingPages/dataProvider/dataProvider.module';
|
||||
import { OpenaireDataProviderComponent } from './dataProvider.component';
|
||||
import {DataProviderRoutingModule} from './dataProvider-routing.module';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
|
||||
@NgModule({
|
||||
imports: [DataProviderModule, DataProviderRoutingModule],
|
||||
declarations:[OpenaireDataProviderComponent],
|
||||
providers:[FreeGuard, PreviousRouteRecorder],
|
||||
exports:[OpenaireDataProviderComponent]
|
||||
})
|
||||
export class LibDataProviderModule { }
|
|
@ -0,0 +1,19 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import { OpenaireDatasetComponent } from './dataset.component';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireDatasetComponent, canActivate: [FreeGuard], data: {
|
||||
redirect: properties.errorLink
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class DatasetRoutingModule { }
|
|
@ -0,0 +1,8 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-dataset',
|
||||
template: `<result-landing type="dataset"></result-landing>`,
|
||||
})
|
||||
export class OpenaireDatasetComponent{
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
import { NgModule} from '@angular/core';
|
||||
import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/resultLanding.module";
|
||||
import { OpenaireDatasetComponent } from './dataset.component';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {DatasetRoutingModule} from './dataset-routing.module';
|
||||
@NgModule({
|
||||
imports: [ResultLandingModule, DatasetRoutingModule],
|
||||
declarations:[OpenaireDatasetComponent],
|
||||
providers:[FreeGuard, PreviousRouteRecorder],
|
||||
exports:[OpenaireDatasetComponent]
|
||||
})
|
||||
export class LibDatasetModule { }
|
|
@ -0,0 +1,15 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
|
||||
import {OpenaireHtmlProjectReportComponent} from './htmlProjectReport.component';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireHtmlProjectReportComponent , canActivate: [FreeGuard],canDeactivate: [PreviousRouteRecorder]}
|
||||
])
|
||||
]
|
||||
})
|
||||
export class HtmlProjectReportRoutingModule { }
|
|
@ -0,0 +1,8 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-htmlProjectReport',
|
||||
template: `<htmlProjectReport></htmlProjectReport>`,
|
||||
})
|
||||
export class OpenaireHtmlProjectReportComponent{
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {HtmlProjectReportModule} from '../../openaireLibrary/landingPages/htmlProjectReport/htmlProjectReport.module';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {OpenaireHtmlProjectReportComponent} from './htmlProjectReport.component';
|
||||
import {HtmlProjectReportRoutingModule} from './htmlProjectReport-routing.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [HtmlProjectReportModule, HtmlProjectReportRoutingModule],
|
||||
declarations:[OpenaireHtmlProjectReportComponent],
|
||||
providers:[FreeGuard, PreviousRouteRecorder],
|
||||
exports:[OpenaireHtmlProjectReportComponent]
|
||||
})
|
||||
export class LibHtmlProjectReportModule { }
|
|
@ -0,0 +1,14 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {OrganizationModule} from '../../openaireLibrary/landingPages/organization/organization.module';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {OpenaireOrganizationComponent} from './organization.component';
|
||||
import {OrganizationRoutingModule} from './organization-routing.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [OrganizationModule, OrganizationRoutingModule],
|
||||
declarations:[OpenaireOrganizationComponent],
|
||||
providers:[FreeGuard, PreviousRouteRecorder],
|
||||
exports:[OpenaireOrganizationComponent]
|
||||
})
|
||||
export class LibOrganizationModule { }
|
|
@ -0,0 +1,19 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
|
||||
import {OpenaireOrganizationComponent} from './organization.component';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireOrganizationComponent, canActivate: [FreeGuard], data: {
|
||||
redirect: properties.errorLink
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class OrganizationRoutingModule { }
|
|
@ -0,0 +1,8 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-organization',
|
||||
template: `<organization ></organization>`,
|
||||
})
|
||||
export class OpenaireOrganizationComponent{
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/resultLanding.module";
|
||||
import {OpenaireOrpComponent} from './orp.component';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {OrpRoutingModule} from './orp-routing.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [ResultLandingModule, OrpRoutingModule],
|
||||
declarations:[OpenaireOrpComponent],
|
||||
providers:[FreeGuard, PreviousRouteRecorder],
|
||||
exports:[OpenaireOrpComponent]
|
||||
})
|
||||
export class LibOrpModule { }
|
|
@ -0,0 +1,18 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
import {OpenaireOrpComponent} from './orp.component';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireOrpComponent, canActivate: [FreeGuard], data: {
|
||||
redirect: properties.errorLink
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class OrpRoutingModule { }
|
|
@ -0,0 +1,8 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-orp',
|
||||
template: `<result-landing type="orp"></result-landing>`,
|
||||
})
|
||||
export class OpenaireOrpComponent{
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {ProjectModule} from '../../openaireLibrary/landingPages/project/project.module';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {OpenaireProjectComponent} from './project.component';
|
||||
import {ProjectRoutingModule} from './project-routing.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [ProjectModule, ProjectRoutingModule],
|
||||
declarations:[OpenaireProjectComponent],
|
||||
providers:[FreeGuard, PreviousRouteRecorder],
|
||||
exports:[OpenaireProjectComponent]
|
||||
})
|
||||
export class LibProjectModule { }
|
|
@ -0,0 +1,19 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
|
||||
import {OpenaireProjectComponent} from './project.component';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireProjectComponent, canActivate: [FreeGuard], data: {
|
||||
redirect: properties.errorLink
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class ProjectRoutingModule { }
|
|
@ -0,0 +1,8 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-project',
|
||||
template: `<project></project>`,
|
||||
})
|
||||
export class OpenaireProjectComponent{
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/resultLanding.module";
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {OpenairePublicationComponent} from './publication.component';
|
||||
import {PublicationRoutingModule} from './publication-routing.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [ResultLandingModule, PublicationRoutingModule],
|
||||
declarations:[OpenairePublicationComponent],
|
||||
providers:[FreeGuard, PreviousRouteRecorder],
|
||||
exports:[OpenairePublicationComponent]
|
||||
})
|
||||
export class LibPublicationModule { }
|
|
@ -0,0 +1,19 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
|
||||
import {OpenairePublicationComponent} from './publication.component';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenairePublicationComponent, canActivate: [FreeGuard], data: {
|
||||
redirect: properties.errorLink
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class PublicationRoutingModule { }
|
|
@ -0,0 +1,9 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-publication',
|
||||
template: `
|
||||
<result-landing type="publication"></result-landing>`,
|
||||
})
|
||||
export class OpenairePublicationComponent {
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {OpenaireResultComponent} from './result.component';
|
||||
import {ResultRoutingModule} from './result-routing.module';
|
||||
import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/resultLanding.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [ResultRoutingModule, ResultLandingModule],
|
||||
declarations:[OpenaireResultComponent],
|
||||
providers:[PreviousRouteRecorder],
|
||||
exports:[OpenaireResultComponent]
|
||||
})
|
||||
export class LibResultModule { }
|
|
@ -0,0 +1,18 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import {OpenaireResultComponent } from './result.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireResultComponent, data: {
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class ResultRoutingModule { }
|
|
@ -0,0 +1,8 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-publication',
|
||||
template: `<result-landing type="result"></result-landing>`,
|
||||
})
|
||||
export class OpenaireResultComponent{
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
import { NgModule} from '@angular/core';
|
||||
import { DataProviderModule } from '../../openaireLibrary/landingPages/dataProvider/dataProvider.module';
|
||||
import { OpenaireServiceComponent } from './service.component';
|
||||
import {ServiceRoutingModule} from './service-routing.module';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
|
||||
@NgModule({
|
||||
imports: [DataProviderModule, ServiceRoutingModule],
|
||||
declarations:[OpenaireServiceComponent],
|
||||
providers:[FreeGuard, PreviousRouteRecorder],
|
||||
exports:[OpenaireServiceComponent]
|
||||
})
|
||||
export class LibServiceModule { }
|
|
@ -0,0 +1,19 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import { OpenaireServiceComponent } from './service.component';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireServiceComponent, canActivate: [FreeGuard], data: {
|
||||
redirect: properties.errorLink
|
||||
},canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class ServiceRoutingModule { }
|
|
@ -0,0 +1,8 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-dataprovider',
|
||||
template: `<dataprovider type="service"></dataprovider>`,
|
||||
})
|
||||
export class OpenaireServiceComponent{
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {ResultLandingModule} from "../../openaireLibrary/landingPages/result/resultLanding.module";
|
||||
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {OpenaireSoftwareComponent} from './software.component';
|
||||
import {SoftwareRoutingModule} from './software-routing.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [ResultLandingModule, SoftwareRoutingModule],
|
||||
declarations:[OpenaireSoftwareComponent],
|
||||
providers:[FreeGuard, PreviousRouteRecorder],
|
||||
exports:[OpenaireSoftwareComponent]
|
||||
})
|
||||
export class LibSoftwareModule { }
|
|
@ -0,0 +1,15 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
|
||||
import {OpenaireSoftwareComponent} from './software.component';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireSoftwareComponent, canActivate: [FreeGuard],canDeactivate: [PreviousRouteRecorder] }
|
||||
])
|
||||
]
|
||||
})
|
||||
export class SoftwareRoutingModule { }
|
|
@ -0,0 +1,8 @@
|
|||
import {Component} from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-software',
|
||||
template: `<result-landing type="software"></result-landing>`,
|
||||
})
|
||||
export class OpenaireSoftwareComponent{
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
import { NgModule} from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
import {OpenaireUserComponent } from './user.component';
|
||||
import { UserRoutingModule } from './user-routing.module';
|
||||
import { UserModule} from '../openaireLibrary/login/user.module';
|
||||
|
||||
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule,
|
||||
UserRoutingModule, UserModule
|
||||
|
||||
],
|
||||
providers:[PreviousRouteRecorder],
|
||||
declarations: [
|
||||
OpenaireUserComponent
|
||||
|
||||
]
|
||||
})
|
||||
export class LibUserModule { }
|
|
@ -0,0 +1,15 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import {OpenaireUserComponent } from './user.component';
|
||||
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireUserComponent, canDeactivate: [PreviousRouteRecorder]},
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class UserRoutingModule { }
|
|
@ -0,0 +1,11 @@
|
|||
import {Component, ElementRef} from '@angular/core';
|
||||
import {Observable} from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-user',
|
||||
template: `<user></user>`
|
||||
})
|
||||
|
||||
export class OpenaireUserComponent {
|
||||
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 9b2524c1c72972b593654081e1d917ca8a1a7909
|
|
@ -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 '../openaireLibrary/reload/reload.module';
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule, RouterModule, ReloadModule
|
||||
],
|
||||
declarations: [
|
||||
|
||||
],
|
||||
providers:[
|
||||
|
||||
],
|
||||
exports: [
|
||||
|
||||
]
|
||||
})
|
||||
export class LibReloadModule { }
|
|
@ -0,0 +1,18 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
import {OpenaireAdvancedSearchDataProvidersComponent} from './advancedSearchDataProviders.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireAdvancedSearchDataProvidersComponent, data: {
|
||||
redirect: properties.errorLink
|
||||
}, canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class AdvancedSearchDataProvidersRoutingModule { }
|
|
@ -0,0 +1,24 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {properties} from "../../../environments/environment";
|
||||
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
|
||||
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
|
||||
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-advanced-search-dataprovider',
|
||||
template: `
|
||||
<search-dataproviders [simpleView]="false"
|
||||
[hasPrefix]="false" [searchForm]="searchForm">
|
||||
</search-dataproviders>
|
||||
|
||||
`
|
||||
})
|
||||
|
||||
export class OpenaireAdvancedSearchDataProvidersComponent {
|
||||
properties: EnvProperties;
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
constructor ( ) {}
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
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 {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule,
|
||||
AdvancedSearchDataProvidersRoutingModule,
|
||||
SearchDataProvidersModule
|
||||
|
||||
],
|
||||
declarations: [
|
||||
OpenaireAdvancedSearchDataProvidersComponent
|
||||
],
|
||||
providers:[],
|
||||
exports: [
|
||||
OpenaireAdvancedSearchDataProvidersComponent
|
||||
]
|
||||
})
|
||||
export class LibAdvancedSearchDataProvidersModule { }
|
|
@ -0,0 +1,19 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
|
||||
import {OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireAdvancedSearchOrganizationsComponent , data: {
|
||||
redirect: properties.errorLink
|
||||
},canDeactivate: [PreviousRouteRecorder]}
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class AdvancedSearchOrganizationsRoutingModule { }
|
|
@ -0,0 +1,23 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {properties} from "../../../environments/environment";
|
||||
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
|
||||
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
|
||||
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-advanced-search-organizations',
|
||||
template: `
|
||||
<search-organizations [simpleView]="false" [hasPrefix]="false" [searchForm]="searchForm">
|
||||
</search-organizations>
|
||||
|
||||
`
|
||||
})
|
||||
|
||||
export class OpenaireAdvancedSearchOrganizationsComponent {
|
||||
properties: EnvProperties;
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
constructor ( ) {}
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
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 {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searchOrganizations.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule,
|
||||
SearchOrganizationsModule,
|
||||
AdvancedSearchOrganizationsRoutingModule
|
||||
|
||||
],
|
||||
declarations: [
|
||||
OpenaireAdvancedSearchOrganizationsComponent
|
||||
],
|
||||
providers:[],
|
||||
exports: [
|
||||
OpenaireAdvancedSearchOrganizationsComponent
|
||||
]
|
||||
})
|
||||
export class LibAdvancedSearchOrganizationsModule { }
|
|
@ -0,0 +1,18 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import{OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireAdvancedSearchProjectsComponent, data: {
|
||||
redirect: properties.errorLink
|
||||
}, canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class AdvancedSearchProjectsRoutingModule { }
|
|
@ -0,0 +1,22 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {properties} from "../../../environments/environment";
|
||||
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
|
||||
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-advanced-search-projects',
|
||||
template: `
|
||||
<search-projects [simpleView]="false" [hasPrefix]="false" [searchForm]="searchForm">
|
||||
</search-projects>
|
||||
|
||||
`
|
||||
})
|
||||
|
||||
export class OpenaireAdvancedSearchProjectsComponent {
|
||||
properties: EnvProperties;
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
constructor ( ) {}
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
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 {SearchProjectsModule} from "../../openaireLibrary/searchPages/searchProjects.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule,
|
||||
SearchProjectsModule,
|
||||
AdvancedSearchProjectsRoutingModule
|
||||
|
||||
],
|
||||
declarations: [
|
||||
OpenaireAdvancedSearchProjectsComponent
|
||||
],
|
||||
providers:[],
|
||||
exports: [
|
||||
OpenaireAdvancedSearchProjectsComponent
|
||||
]
|
||||
})
|
||||
export class LibAdvancedSearchProjectsModule { }
|
|
@ -0,0 +1,18 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
import {OpenaireAdvancedSearchServicesComponent} from './advancedSearchServices.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireAdvancedSearchServicesComponent, data: {
|
||||
redirect: properties.errorLink
|
||||
}, canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class AdvancedSearchServicesRoutingModule { }
|
|
@ -0,0 +1,26 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {properties} from "../../../environments/environment";
|
||||
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
|
||||
import {OpenaireEntities} from "../../openaireLibrary/utils/properties/searchFields";
|
||||
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
|
||||
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-advanced-search-service',
|
||||
template: `
|
||||
<search-dataproviders [simpleView]="false" [hasPrefix]="false"
|
||||
type="services" entityType="service" [typeName]="openaireEntities.SERVICES"
|
||||
[searchForm]="searchForm">
|
||||
</search-dataproviders>
|
||||
`
|
||||
})
|
||||
|
||||
export class OpenaireAdvancedSearchServicesComponent {
|
||||
properties: EnvProperties;
|
||||
public openaireEntities = OpenaireEntities;
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
constructor ( ) {}
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {FormsModule} from '@angular/forms';
|
||||
|
||||
import {OpenaireAdvancedSearchServicesComponent} from './advancedSearchServices.component';
|
||||
|
||||
import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module";
|
||||
import {AdvancedSearchServicesRoutingModule} from "./advancedSearchServices-routing.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule,
|
||||
AdvancedSearchServicesRoutingModule,
|
||||
SearchDataProvidersModule
|
||||
|
||||
],
|
||||
declarations: [
|
||||
OpenaireAdvancedSearchServicesComponent
|
||||
],
|
||||
providers:[],
|
||||
exports: [
|
||||
OpenaireAdvancedSearchServicesComponent
|
||||
]
|
||||
})
|
||||
export class LibAdvancedSearchServicesModule { }
|
|
@ -0,0 +1,19 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireSearchResearchResultsComponent, data: {
|
||||
redirect: properties.errorLink, community : 'openaire'
|
||||
}, canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class SearchResearchResultsRoutingModule { }
|
|
@ -0,0 +1,22 @@
|
|||
import {Component, Input} from '@angular/core';
|
||||
import {properties} from "../../../environments/environment";
|
||||
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
|
||||
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-search-results',
|
||||
template: `
|
||||
<search-research-results resultType="result" [simpleView]="false"
|
||||
[hasPrefix]="false" [searchForm]="searchForm"></search-research-results>
|
||||
`
|
||||
|
||||
})
|
||||
export class OpenaireSearchResearchResultsComponent {
|
||||
@Input() searchLink: string = "/search/advanced/research-results";
|
||||
properties: EnvProperties;
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
constructor ( ) {}
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
import { NgModule} from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
import{ SearchResearchResultsRoutingModule} from './searchResearchResults-routing.module';
|
||||
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
|
||||
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/searchResearchResults.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule,
|
||||
SearchResearchResultsRoutingModule, SearchResearchResultsModule
|
||||
|
||||
],
|
||||
declarations: [
|
||||
OpenaireSearchResearchResultsComponent
|
||||
],
|
||||
providers:[PreviousRouteRecorder],
|
||||
exports: [
|
||||
OpenaireSearchResearchResultsComponent
|
||||
]
|
||||
})
|
||||
export class OpenaireAdvancedSearchResearchResultsModule { }
|
|
@ -0,0 +1,14 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
|
||||
import {OpenaireSearchComponent} from './search.component';
|
||||
import {MainSearchRoutingModule} from './mainSearch-routing.module';
|
||||
import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||
import {SearchAllModule} from "../../openaireLibrary/searchPages/find/searchAll.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [ MainSearchRoutingModule, SearchAllModule],
|
||||
declarations:[OpenaireSearchComponent],
|
||||
exports:[OpenaireSearchComponent],
|
||||
providers: [ PreviousRouteRecorder]
|
||||
})
|
||||
export class LibMainSearchModule { }
|
|
@ -0,0 +1,16 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
import{OpenaireSearchComponent} from './search.component';
|
||||
import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireSearchComponent,canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class MainSearchRoutingModule { }
|
|
@ -0,0 +1,13 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-search-find',
|
||||
template: `
|
||||
<search-all logoURL="/assets/common-assets/logo-small-aggregator.png" name="OpenAIRE"
|
||||
[searchForm]="searchForm"></search-all>
|
||||
`,
|
||||
})
|
||||
export class OpenaireSearchComponent{
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
|
||||
import {OpenaireSearchDataprovidersComponent} from './searchDataproviders.component';
|
||||
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireSearchDataprovidersComponent,data: {
|
||||
redirect: properties.errorLink
|
||||
}, canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class SearchDataProvidersRoutingModule { }
|
|
@ -0,0 +1,23 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {FormsModule} from '@angular/forms';
|
||||
import {OpenaireSearchDataprovidersComponent} from './searchDataproviders.component';
|
||||
import {SearchDataProvidersRoutingModule} from './searchDataProviders-routing.module';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule,
|
||||
SearchDataProvidersModule, SearchDataProvidersRoutingModule
|
||||
|
||||
],
|
||||
declarations: [
|
||||
OpenaireSearchDataprovidersComponent
|
||||
],
|
||||
providers:[PreviousRouteRecorder],
|
||||
exports: [
|
||||
OpenaireSearchDataprovidersComponent
|
||||
]
|
||||
})
|
||||
export class LibSearchDataProvidersModule { }
|
|
@ -0,0 +1,19 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {properties} from "../../../environments/environment";
|
||||
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
|
||||
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-search-dataproviders',
|
||||
template: `
|
||||
<search-dataproviders [hasPrefix]="false" [searchForm]="searchForm"></search-dataproviders>
|
||||
`
|
||||
})
|
||||
export class OpenaireSearchDataprovidersComponent {
|
||||
properties: EnvProperties;
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
constructor ( ) {}
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
import {OpenaireSearchOrganizationsComponent} from './searchOrganizations.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireSearchOrganizationsComponent, data: {
|
||||
redirect: properties.errorLink
|
||||
}, canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class SearchOrganizationsRoutingModule { }
|
|
@ -0,0 +1,19 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {properties} from "../../../environments/environment";
|
||||
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
|
||||
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-search-organizations',
|
||||
template: `
|
||||
<search-organizations [hasPrefix]="false" [searchForm]="searchForm"></search-organizations>
|
||||
`
|
||||
})
|
||||
export class OpenaireSearchOrganizationsComponent {
|
||||
properties: EnvProperties;
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
constructor ( ) {}
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {FormsModule} from '@angular/forms';
|
||||
|
||||
import {SearchOrganizationsRoutingModule} from './searchOrganizations-routing.module';
|
||||
import {OpenaireSearchOrganizationsComponent} from './searchOrganizations.component';
|
||||
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searchOrganizations.module";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule,
|
||||
SearchOrganizationsRoutingModule, SearchOrganizationsModule
|
||||
|
||||
],
|
||||
declarations: [
|
||||
OpenaireSearchOrganizationsComponent
|
||||
],
|
||||
providers:[PreviousRouteRecorder],
|
||||
exports: [
|
||||
OpenaireSearchOrganizationsComponent
|
||||
]
|
||||
})
|
||||
export class LibSearchOrganizationsModule { }
|
|
@ -0,0 +1,19 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {RouterModule} from '@angular/router';
|
||||
|
||||
import {OpenaireSearchProjectsComponent} from './searchProjects.component';
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {properties} from "../../../environments/environment";
|
||||
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
RouterModule.forChild([
|
||||
{ path: '', component: OpenaireSearchProjectsComponent, data: {
|
||||
redirect: properties.errorLink
|
||||
}, canDeactivate: [PreviousRouteRecorder] }
|
||||
|
||||
])
|
||||
]
|
||||
})
|
||||
export class SearchProjectsRoutingModule { }
|
|
@ -0,0 +1,19 @@
|
|||
import {Component} from '@angular/core';
|
||||
import {properties} from "../../../environments/environment";
|
||||
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
|
||||
import {SearchForm} from "../../openaireLibrary/searchPages/searchUtils/newSearchPage.component";
|
||||
|
||||
@Component({
|
||||
selector: 'openaire-search-projects',
|
||||
template: `
|
||||
<search-projects [hasPrefix]="false" [searchForm]="searchForm"></search-projects>
|
||||
`
|
||||
})
|
||||
export class OpenaireSearchProjectsComponent {
|
||||
properties: EnvProperties;
|
||||
public searchForm: SearchForm = {class: 'search-form', dark: true};
|
||||
constructor ( ) {}
|
||||
ngOnInit() {
|
||||
this.properties = properties;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
import {NgModule} from '@angular/core';
|
||||
import {CommonModule} from '@angular/common';
|
||||
import {FormsModule} from '@angular/forms';
|
||||
|
||||
import {SearchProjectsRoutingModule} from './searchProjects-routing.module';
|
||||
import {OpenaireSearchProjectsComponent} from './searchProjects.component';
|
||||
|
||||
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
|
||||
import {SearchProjectsModule} from "../../openaireLibrary/searchPages/searchProjects.module";
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule, FormsModule, SearchProjectsRoutingModule, SearchProjectsModule
|
||||
|
||||
],
|
||||
declarations: [
|
||||
OpenaireSearchProjectsComponent
|
||||
],
|
||||
providers:[PreviousRouteRecorder],
|
||||
exports: [
|
||||
OpenaireSearchProjectsComponent
|
||||
]
|
||||
})
|
||||
export class LibSearchProjectsModule { }
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue