[Aggregator |Trunk]

- use new search pages
- remove properties from route data
- add images from mocks
- put js and css files in angular.json and  styles.css




git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-aggregator-portal/trunk@59900 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
argiro.kokogiannaki 2020-11-18 17:01:52 +00:00
parent 09994c2876
commit 793a227199
78 changed files with 1352 additions and 1342 deletions

View File

@ -31,6 +31,9 @@
"node_modules/datatables.net-dt/css/jquery.dataTables.css"
],
"scripts": [
"src/assets/common-assets/common/jquery.js",
"src/assets/common-assets/common/uikit.min.js",
"src/assets/common-assets/common/uikit-icons.min.js",
"node_modules/jquery/dist/jquery.js",
"node_modules/datatables.net/js/jquery.dataTables.js"
]
@ -80,6 +83,9 @@
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.spec.json",
"scripts": [
"src/assets/common-assets/common/jquery.js",
"src/assets/common-assets/common/uikit.min.js",
"src/assets/common-assets/common/uikit-icons.min.js",
"node_modules/jquery/dist/jquery.js",
"node_modules/datatables.net/js/jquery.dataTables.js"
],

View File

@ -44,6 +44,7 @@
"datatables.net": "^1.10.19",
"datatables.net-dt": "^1.10.19",
"jquery": "^3.4.1",
"ng-recaptcha": "^3.0.5",
"ngx-json-ld": "0.1.6",
"prom-client": "^11.3.0",
"ts-md5": "^1.2.0",

View File

@ -1,131 +1,81 @@
import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router';
import {EnvironmentSpecificResolver} from "../openaireLibrary/utils/properties/environmentSpecificResolver";
import {EnvironmentSpecificService} from "../openaireLibrary/utils/properties/environment-specific.service";
const routes: Routes = [
{path: '', loadChildren: '../home/home.module#HomeModule', resolve: {envSpecific: EnvironmentSpecificResolver}},
{path: '', loadChildren: '../home/home.module#HomeModule'},
{ path: 'search/result',
loadChildren: '../landingPages/result/libResult.module#LibResultModule'
},
{
path: 'search/publication',
loadChildren: '../landingPages/publication/libPublication.module#LibPublicationModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
loadChildren: '../landingPages/publication/libPublication.module#LibPublicationModule'
},
{
path: 'search/dataset',
loadChildren: '../landingPages/dataset/libDataset.module#LibDatasetModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
loadChildren: '../landingPages/dataset/libDataset.module#LibDatasetModule'
},
{
path: 'search/software',
loadChildren: '../landingPages/software/libSoftware.module#LibSoftwareModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
loadChildren: '../landingPages/software/libSoftware.module#LibSoftwareModule'
},
{
path: 'search/other',
loadChildren: '../landingPages/orp/libOrp.module#LibOrpModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
loadChildren: '../landingPages/orp/libOrp.module#LibOrpModule'
},
{
path: 'search/project',
loadChildren: '../landingPages/project/libProject.module#LibProjectModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
loadChildren: '../landingPages/project/libProject.module#LibProjectModule'
},
{
path: 'search/dataprovider',
loadChildren: '../landingPages/dataProvider/libDataProvider.module#LibDataProviderModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
loadChildren: '../landingPages/dataProvider/libDataProvider.module#LibDataProviderModule'
},
{
path: 'search/organization',
loadChildren: '../landingPages/organization/libOrganization.module#LibOrganizationModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
loadChildren: '../landingPages/organization/libOrganization.module#LibOrganizationModule'
},
{
path: 'search/find',
loadChildren: '../searchPages/find/libSearch.module#LibMainSearchModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
loadChildren: '../searchPages/find/libSearch.module#LibMainSearchModule'
},
{
path: 'search/find/publications',
loadChildren: '../searchPages/simple/searchPublications.module#LibSearchPublicationsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
},
{
path: 'search/find/datasets',
loadChildren: '../searchPages/simple/searchDatasets.module#LibSearchDatasetsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
},
{
path: 'search/find/software',
loadChildren: '../searchPages/simple/searchSoftware.module#LibSearchSoftwareModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
},
{
path: 'search/find/other',
loadChildren: '../searchPages/simple/searchOrps.module#LibSearchOrpsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
{ path: 'search/find/research-outcomes', loadChildren: '../searchPages/simple/searchResearchResults.module#OpenaireSearchResearchResultsModule'
},
{
path: 'search/find/projects',
loadChildren: '../searchPages/simple/searchProjects.module#LibSearchProjectsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
loadChildren: '../searchPages/simple/searchProjects.module#LibSearchProjectsModule'
},
{
path: 'search/find/dataproviders',
loadChildren: '../searchPages/simple/searchDataProviders.module#LibSearchDataProvidersModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
loadChildren: '../searchPages/simple/searchDataProviders.module#LibSearchDataProvidersModule'
},
{
path: 'search/find/organizations',
loadChildren: '../searchPages/simple/searchOrganizations.module#LibSearchOrganizationsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
loadChildren: '../searchPages/simple/searchOrganizations.module#LibSearchOrganizationsModule'
},
{
path: 'search/advanced/publications',
loadChildren: '../searchPages/advanced/advancedSearchPublications.module#LibAdvancedSearchPublicationsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
},
{
path: 'search/advanced/datasets',
loadChildren: '../searchPages/advanced/advancedSearchDatasets.module#LibAdvancedSearchDatasetsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
},
{
path: 'search/advanced/software',
loadChildren: '../searchPages/advanced/advancedSearchSoftware.module#LibAdvancedSearchSoftwareModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
},
{
path: 'search/advanced/other',
loadChildren: '../searchPages/advanced/advancedSearchOrps.module#LibAdvancedSearchOrpsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
{ path: 'search/advanced/research-outcomes',
loadChildren: '../searchPages/advanced/searchResearchResults.module#OpenaireAdvancedSearchResearchResultsModule'
},
{
path: 'search/advanced/organizations',
loadChildren: '../searchPages/advanced/advancedSearchOrganizations.module#LibAdvancedSearchOrganizationsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
loadChildren: '../searchPages/advanced/advancedSearchOrganizations.module#LibAdvancedSearchOrganizationsModule'
},
{
path: 'search/advanced/dataproviders',
loadChildren: '../searchPages/advanced/advancedSearchDataProviders.module#LibAdvancedSearchDataProvidersModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
loadChildren: '../searchPages/advanced/advancedSearchDataProviders.module#LibAdvancedSearchDataProvidersModule'
},
{
path: 'search/advanced/projects',
loadChildren: '../searchPages/advanced/advancedSearchProjects.module#LibAdvancedSearchProjectsModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
loadChildren: '../searchPages/advanced/advancedSearchProjects.module#LibAdvancedSearchProjectsModule'
},
{
path: 'project-report',
loadChildren: '../landingPages/htmlProjectReport/libHtmlProjectReport.module#LibHtmlProjectReportModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
loadChildren: '../landingPages/htmlProjectReport/libHtmlProjectReport.module#LibHtmlProjectReportModule'
},
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
providers: [EnvironmentSpecificResolver, EnvironmentSpecificService]
})
export class AggregatorRoutingModule {
}

View File

@ -8,10 +8,10 @@ import { EnvironmentSpecificService} from './openaireLibrary/utils/properties/en
import { OpenaireErrorPageComponent } from './error/errorPage.component';
const routes: Routes = [
{ path: '', loadChildren: './aggregator/aggregator.module#AggregatorModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: ':id', loadChildren: './aggregator/aggregator.module#AggregatorModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'error', component: OpenaireErrorPageComponent, resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: '**',pathMatch: 'full',component: OpenaireErrorPageComponent, resolve: { envSpecific: EnvironmentSpecificResolver }}
{ path: '', loadChildren: './aggregator/aggregator.module#AggregatorModule'},
{ path: ':id', loadChildren: './aggregator/aggregator.module#AggregatorModule'},
{ path: 'error', component: OpenaireErrorPageComponent},
{ path: '**',pathMatch: 'full',component: OpenaireErrorPageComponent}
];
@NgModule({

View File

@ -8,6 +8,8 @@ import {HelperFunctions} from "./openaireLibrary/utils/HelperFunctions.class";
import {FilterInfo, 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";
@Component({
//changeDetection: ChangeDetectionStrategy.Default,
@ -17,9 +19,9 @@ import {User} from "./openaireLibrary/login/utils/helper.class";
`],
template: `
<navbar *ngIf="properties && loginCheck" portal="aggregator" [properties]=properties [onlyTop]=false [user]="user"
<navbar *ngIf="properties && loginCheck && header" portal="aggregator" [properties]=properties [onlyTop]=false [user]="user"
[communityId]="properties.adminToolsCommunity" [menuItems]=menuItems
[userMenu]="false" [community]="community" [showCommunityName]="true"></navbar>
[userMenu]="true" [header]="header"></navbar>
<div class="custom-main-content">
<main>
<router-outlet></router-outlet>
@ -46,10 +48,7 @@ export class AppComponent {
{rootItem: new MenuItem("home", "Home", "", "/", false, [], null, {}), items: []},
{
rootItem: new MenuItem("search", "Search", "", "/search/find", false, [], null, {}),
items: [new MenuItem("", "Publications", "", "/search/find/publications", false, [], [], {}),
new MenuItem("", "Research Data", "", "/search/find/datasets", false, [], [], {}),
new MenuItem("", "Software", "", "/search/find/software", false, [], [], {}),
new MenuItem("", "Other Research Products", "", "/search/find/other", false, [], [], {}),
items: [new MenuItem("", "Research outcomes", "", "/search/find/research-outcomes", false, [], [], {}),
new MenuItem("", "Projects", "", "/search/find/projects/", false, [], [], {}),
new MenuItem("", "Content Providers", "", "/search/find/dataproviders", false, [], [], {}),
new MenuItem("", "Organizations", "", "/search/find/organizations/", false, [], [], {})
@ -63,7 +62,8 @@ export class AppComponent {
properties: EnvProperties;
user: User;
loginCheck: boolean = false;
footer=portalProperties.sectionFooter;
header:Header;
constructor(private route: ActivatedRoute, private propertiesService: EnvironmentSpecificService,
private router: Router, private userManagementService: UserManagementService) {
@ -81,7 +81,16 @@ export class AppComponent {
this.id = params['id'];
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(this.id);
if (agg) {
this.community = {id: agg.menuId, name: agg.title, logoUrl: agg.logoUrl};
this.header = {
route: '/',
url: null,
title: agg.title,
logoUrl: agg.logoUrl,
logoSmallUrl: agg.logoUrl,
position: 'left',
badge: true
};
}
if (this.id) {
this.buildMenu();
@ -101,16 +110,29 @@ export class AppComponent {
{rootItem: new MenuItem("home", "Home", "", "/" + this.id, false, [], null, {}), items: []},
{
rootItem: new MenuItem("search", "Search", "", "/" + this.id + "/search/find", false, [], null, {}),
items: [new MenuItem("", "Publications", "", "/" + this.id + "/search/find/publications", false, [], [], {}),
new MenuItem("", "Research Data", "", "/" + this.id + "/search/find/datasets", false, [], [], {}),
new MenuItem("", "Software", "", "/" + this.id + "/search/find/software", false, [], [], {}),
new MenuItem("", "Other Research Products", "", "/" + this.id + "/search/find/other", false, [], [], {}),
new MenuItem("", "Projects", "", "/" + this.id + "/search/find/projects/", false, [], [], {}),
new MenuItem("", "Content Providers", "", "/" + this.id + "/search/find/dataproviders", false, [], [], {}),
new MenuItem("", "Organizations", "", "/" + this.id + "/search/find/organizations/", false, [], [], {})
]
items: []
}
];
if((portalProperties.entities.publication.isEnabled && portalProperties.entities.publication.simpleSearchPage) ||
(portalProperties.entities.dataset.isEnabled && portalProperties.entities.dataset.simpleSearchPage) ||
(portalProperties.entities.software.isEnabled && portalProperties.entities.software.simpleSearchPage) ||
portalProperties.entities.other.isEnabled && portalProperties.entities.other.simpleSearchPage){
this.menuItems[1].items.push(new MenuItem("", "Research outcomes", "", "/" + this.id + "/search/find/research-outcomes", false, [], [], {}))
}
if(portalProperties.entities.project.isEnabled && portalProperties.entities.project.simpleSearchPage){
this.menuItems[1].items.push(new MenuItem("", "Projects", "", "/" + this.id + "/search/find/projects/", false, [], [], {}))
}
if(portalProperties.entities.datasource.isEnabled && portalProperties.entities.datasource.simpleSearchPage){
this.menuItems[1].items.push(new MenuItem("", "Content Providers", "", "/" + this.id + "/search/find/dataproviders", false, [], [], {}))
}
if(portalProperties.entities.organization.isEnabled && portalProperties.entities.organization.simpleSearchPage){
this.menuItems[1].items.push(new MenuItem("", "Organizations", "", "/" + this.id + "/search/find/organizations/", false, [], [], {}))
}
}
ngOnInit() {
@ -126,7 +148,7 @@ export class AppComponent {
.then(es => {
this.propertiesService.setEnvProperties(es);
this.properties = this.propertiesService.envSpecific;
this.userManagementService.getUserInfo(this.properties.userInfoUrl).subscribe(user => {
this.userManagementService.getUserInfo().subscribe(user => {
this.user = user;
this.loginCheck = true;
});

View File

@ -1,6 +1,5 @@
import { Component, Input } from '@angular/core';
import { Location } from '@angular/common';
import { Component } from '@angular/core';
@Component({
selector: 'openaire-error',
template: `

View File

@ -2,12 +2,11 @@ import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{HomeComponent} from './home.component';
import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: HomeComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] }
{ path: '', component: HomeComponent,canDeactivate: [PreviousRouteRecorder] }
])
]

View File

@ -1,366 +1,354 @@
<!--<aggNavbar></aggNavbar>-->
<div class="image-front-topbar uk-section-secondary uk-section-overlap uk-position-relative uk-preserve-color"
uk-scrollspy="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-fade&quot;,&quot;delay&quot;:false}"
tm-header-transparent="light" tm-header-transparent-placeholder="">
<div style=" min-height: calc(7.89999px + 60vh);"
class=" mainPageSearchForm uk-background-norepeat uk-background-cover uk-background-fixed uk-section uk-padding-remove-bottom">
<!-- uk-height-viewport="offset-top: true;offset-bottom: 20"> -->
<div class="uk-position-cover" style="/*background-color: rgba(70, 68, 68, 0.24);*/"></div>
<div class="uk-position-relative uk-panel">
<div class="uk-container uk-margin-medium">
<div class="tm-header-placeholder uk-margin-medium" style="height: 84px;"></div>
<div class="search_box_bg uk-grid-large uk-flex-middle uk-grid uk-grid-stack" uk-grid="">
<div class="uk-width-1-1@m uk-first-column">
<div data-id="page#4">
<search-form placeholderText="Search for scholarly works" link="/search/find"></search-form>
</div>
</div>
</div>
</div>
<div class="uk-container uk-container-large uk-margin-medium explore-numbers">
<div class="search_box_bg uk-grid uk-grid-stack" uk-grid="">
<div class="uk-width-1-1@m uk-first-column">
<div id="page#7"
class="firstPageNumbers uk-margin uk-margin-remove-bottom uk-width-xlarge uk-margin-auto uk-animation-fade"
uk-scrollspy-class="" style="">
<!--<h2>
Search for more than
<span *ngIf="showPublications && publicationsSize">{{publicationsSize.number|number}}
{{publicationsSize.size}} publications{{((showDatasets || showSoftware || showOrp) ? "," : "")}} </span>
<span *ngIf="showDatasets && datasetsSize">{{datasetsSize.number|number}}
{{datasetsSize.size}} research data{{((showSoftware || showOrp) ? "," : "")}} </span>
<span *ngIf="showSoftware && softwareSize">{{softwareSize.number|number}}
{{softwareSize.size}} software{{(showOrp ? "," : "")}} </span>
<span *ngIf="showOrp && otherSize">{{otherSize.number|number}}
{{otherSize.size}} other research products </span>
<br>
<span *ngIf="showOrganizations && organizationsSize"> from {{organizationsSize.number |number}}
{{organizationsSize.size}} organizations</span>
<span
*ngIf="showDataProviders && datasourcesSize"> from {{datasourcesSize.number |number}} {{datasourcesSize.size}} content providers</span>
<span
*ngIf="showProjects && fundersSize"> {{((showDataProviders && datasourcesSize) ? " and " : " from ")}} {{fundersSize.number|number}} {{fundersSize.size}} funders</span>
</h2>-->
<div class="uk-margin-bottom">
<span class="uk-text-large"> Search for more than </span>
<span *ngIf="showPublications && publicationsSize">
<span class="uk-h2">{{publicationsSize.number|number}}{{publicationsSize.size}}</span>
<span class="uk-text-large"> {{((showDatasets || showSoftware || showOrp) ? " publications, "
: " publications ")}}</span>
</span>
<span *ngIf="showDatasets && datasetsSize">
<span class="uk-h2">{{datasetsSize.number|number}}{{datasetsSize.size}}</span>
<span
class="uk-text-large">{{((showSoftware || showOrp) ? " research data, " : " research data ")}}</span>
</span>
<span *ngIf="showOrp && otherSize">
<span class="uk-h2">{{otherSize.number|number}}{{otherSize.size}}</span>
<span
class="uk-text-large"> {{((showSoftware) ? " other research products, " : " other research products ")}}</span>
</span>
<span *ngIf="showSoftware && softwareSize">
<span class="uk-h2">{{softwareSize.number|number}}{{softwareSize.size}}</span>
<span class="uk-text-large"> software </span>
</span>
<br>
<span *ngIf="showOrganizations && organizationsSize">
<span class="uk-text-large"> from </span>
<span class="uk-h2">{{organizationsSize.number|number}}{{organizationsSize.size}}</span>
<span class="uk-text-large"> organizations </span>
</span>
<span *ngIf="showDataProviders && datasourcesSize">
<span class="uk-text-large"> {{((showOrganizations && showOrganizations) ? " and " : " from ")}} </span>
<span class="uk-h2">{{datasourcesSize.number|number}}{{datasourcesSize.size}}</span>
<span class="uk-text-large"> content providers </span>
</span>
<span *ngIf="showProjects && fundersSize">
<span class="uk-text-large"> {{((showDataProviders && datasourcesSize) ? " and " : " from ")}} </span>
<span class="uk-h2">{{fundersSize.number|number}}{{fundersSize.size}} </span>
<span class="uk-text-large"> funders </span>
</span>
<span *ngIf="showPublications || showDatasets || showOrp || showSoftware || showProjects ||
showDataProviders"
class="uk-text-large"> linked together for an integrated discovery of scientific output </span>
<div class="image-front-topbar mainPageSearchForm uk-background-norepeat uk-background-cover uk-background-fixed">
<div class="uk-position-relative uk-panel">
<div class="uk-container">
<div class="tm-header-placeholder" style="height: 84px;"></div>
<div class="search_box_bg uk-grid-large uk-flex-middle uk-grid uk-grid-stack" uk-grid="">
<div class="uk-width-1-1@m uk-first-column">
<div data-id="page#4">
<form class="uk-margin">
<div class="uk-grid uk-margin-small-left">
<div class="uk-margin-small-top uk-padding-remove-left">
<entities-selection [simpleView]="true" currentEntity="all" [selectedEntity]="selectedEntity"
[properties]="properties" [onChangeNavigate]="false"
(selectionChange)="entityChanged($event)"
></entities-selection>
</div>
<div class=" uk-padding-remove-left uk-margin-small-top">
<div class="uk-inline">
<a *ngIf="keyword.length > 0" class="uk-form-icon uk-form-icon-flip" (click)="keyword = ''"
uk-icon="icon: close"></a>
<input type="text" class="uk-input uk-width-xlarge@l uk-width-large@m uk-width-medium"
placeholder="Search in OpenAIRE for scholarly works"
[(ngModel)]="keyword"
name="keyword">
</div>
<div class=" quickSelectionsBox uk-width-xlarge@l uk-width-large@m uk-width-medium">
<quick-selections *ngIf="selectedEntity == 'result'" [resultTypes]="resultTypes"
[quickFilter]="resultsQuickFilter"
[properties]="properties">
</quick-selections>
</div>
</div>
<div class="uk-padding-remove-left uk-margin-small-top">
<button (click)="goTo(true)" type="submit"
class="uk-button portal-button uk-text-bold uk-padding uk-padding-remove-vertical uk-margin-small-left">
Search
</button>
<div class="uk-margin-small-top uk-margin-left">
<!-- (click)="goTo(false)"-->
<a *ngIf="selectedEntity!='all'" (click)="goTo(false)" class="portal-link">Advanced Search</a>
<a *ngIf="selectedEntity=='all'" class="portal-link ">Advanced Search</a></div>
<div *ngIf="selectedEntity=='all'" uk-dropdown class="uk-dropdown default-dropdown">
<ul class="uk-list uk-margin-remove-bottom">
<li *ngIf="showSoftware || showPublications || showOrp || showDatasets"><a
[routerLink]="properties.searchLinkToAdvancedResults"
[queryParams]="{qf:true, q: keyword, op: 'and'}"
>Research
outcomes</a></li>
<li *ngIf="showProjects"><a
[routerLink]="properties.searchLinkToAdvancedProjects"
[queryParams]="{q: keyword, op: 'and'}">
Projects</a></li>
<li *ngIf="showDataProviders"><a
[routerLink]="properties.searchLinkToAdvancedDataProviders"
[queryParams]="{q: keyword, op: 'and'}">
Content providers</a></li>
<li *ngIf="showOrganizations"><a
[routerLink]="properties.searchLinkToAdvancedOrganizations"
[queryParams]="{q: keyword, op: 'and'}">
Organizations</a></li>
</ul>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- <div class="uk-margin-medium">-->
<!-- <div class="uk-container uk-container-large explore-numbers uk-margin-medium-bottom">-->
<!-- <div class="search_box_bg uk-grid uk-grid-stack" uk-grid="">-->
<!-- <div class="uk-width-1-1@m uk-first-column">-->
<!-- <div class="uk-grid uk-margin uk-margin-bottom uk-width-xxlarge uk-margin-auto">-->
<!-- <div class="uk-width-expand uk-padding-remove">-->
<!-- <div uk-slider="autoplay: true; autoplay-interval: 2500" class="uk-margin-top">-->
<!-- <div class="uk-position-relative">-->
<!-- <div class="uk-slider-container">-->
<!-- <ul class="uk-slider-items" uk-height-match="target: > li > div > div > .logo1; row: false;">-->
<!-- <ng-container *ngFor="let type of ['publication','dataset', 'software']">-->
<!-- <li-->
<!-- class="uk-width-1-1 home-logo">-->
<!-- <h1 class="uk-text-center uk-margin-bottom portal-color uk-h3">-->
<!-- <span *ngIf="type=='publication' && showPublications && publicationsSize">-->
<!-- <span class="uk-text-bold">{{publicationsSize.number|number}}{{publicationsSize.size}}-->
<!-- publications</span><span> deduplicated</span>-->
<!-- </span>-->
<!-- <span *ngIf="type=='dataset' && showDatasets && (datasetsLinkedSize ||datasetsSize)">-->
<!-- <span *ngIf="datasetsLinkedSize">-->
<!-- <span-->
<!-- class="uk-text-bold">{{datasetsLinkedSize.number|number}}{{datasetsLinkedSize.size}}-->
<!-- datasets</span> interlinked with publications</span>-->
<!-- <span *ngIf="datasetsSize && !datasetsLinkedSize"-->
<!-- class="uk-text-bold">{{datasetsSize.number|number}}{{datasetsSize.size}}-->
<!-- research data</span>-->
<!-- </span>-->
<!-- <span *ngIf="type=='software' && showSoftware && (softwareSize ||softwareLinkedSize)">-->
<!-- <span *ngIf="softwareLinkedSize">-->
<!-- <span class="uk-text-bold-->
<!-- ">{{softwareLinkedSize.number|number}}{{softwareLinkedSize.size}} research-->
<!-- software</span> interlinked with publications</span>-->
<!-- <span *ngIf="softwareSize && !softwareLinkedSize"-->
<!-- class="uk-text-bold">{{softwareSize.number|number}}{{softwareSize.size}}-->
<!-- research software</span>-->
<!-- </span>-->
<!-- <span *ngIf="type=='persistent'">-->
<!-- <span>Persistent identifiers and registries</span>-->
<!-- </span>-->
<!-- <span *ngIf="type=='funder' && showProjects && fundersSize">-->
<!-- <span class="uk-text-bold">{{fundersSize.number|number}}{{fundersSize.size}}-->
<!-- funders</span><span> and</span>-->
<!-- <span class="uk-text-bold"> {{projectsSize.number|number}}{{projectsSize.size}} funded grants</span>-->
<!-- </span>-->
<!-- </h1>-->
<!-- <div-->
<!-- class="uk-grid-small uk-child-width-1-6 uk-text-center grid uk-flex uk-flex-center"-->
<!-- uk-grid uk-height-match="target: > div > .logo2; row: false;">-->
<!-- &lt;!&ndash;<div-->
<!-- *ngFor="let logo of logos[type][j].slice(0,ceil(logos[type][j].length/2)); let i=index">-->
<!-- <ng-container-->
<!-- *ngTemplateOutlet="_logos; context: { logo: logo, class: 'logo1 '}"></ng-container>-->
<!-- <ng-container-->
<!-- *ngTemplateOutlet="_logos; context: { logo: logos[type][j][ceil(logos[type][j].length/2)+i], class: 'uk-margin-top logo2 '}"></ng-container>-->
<!-- </div>&ndash;&gt;-->
<!-- </div>-->
<!-- </li>-->
<!-- </ng-container>-->
<!-- </ul>-->
<!-- </div>-->
<!-- <div class="uk-hidden@s">-->
<!-- <a class="uk-position-center-left uk-position-small" href="#" uk-slidenav-previous-->
<!-- uk-slider-item="previous"></a>-->
<!-- <a class="uk-position-center-right uk-position-small" href="#" uk-slidenav-next-->
<!-- uk-slider-item="next"></a>-->
<!-- </div>-->
<!-- <div class="uk-visible@s">-->
<!-- <a class="uk-position-center-left-out uk-position-small" href="#" uk-slidenav-previous-->
<!-- uk-slider-item="previous"></a>-->
<!-- <a class="uk-position-center-right-out uk-position-small" href="#" uk-slidenav-next-->
<!-- uk-slider-item="next"></a>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- <helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"-->
<!-- [texts]="pageContents['top']"></helper>-->
<!-- </div>-->
</div>
</div>
<div
class="uk-section graph-background uk-margin-top">
<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">Extracted <strong>Metadata Combined.</strong></div>
<p>The <a class="graph-color" href="https://graph.openaire.eu" target="blank">OpenAIRE Research Graph</a> is one of the largest open scholarly record collections worldwide, key in fostering Open Science and establishing its practices in the daily research activities. Conceived as a public and transparent good, populated out of data sources trusted by scientists, the Graph aims at bringing discovery, monitoring, and assessment of science back in the hands of the scientific community.<br>
<br>
Imagine a vast collection of research products all linked together, contextualised and openly available. For the past ten years OpenAIRE has been working to gather this valuable record. OpenAIRE is pleased to announce the release of its Research Graph, a massive collection of metadata and links between scientific products such as articles, datasets, software, and other research products, entities like organisations, funders, funding streams, projects, communities, and data sources.<br>
<br>
As of today, the OpenAIRE Research Graph aggregates around 450Mi metadata records with links collecting from 10,000 data sources trusted by scientists! After cleaning, deduplication, and fine-grained classification processes, they narrow down to ~100Mi publications, ~8Mi datasets, ~200K software research products, 8Mi other products linked together with semantic relations.<br>
<br>
More than 10Mi full-texts of Open Access publications are mined by algorithms to enrich metadata records with additional properties and links among research products, funders, projects, communities, and organizations. Thanks to the mining algorithm, the graph is completed with 480Mi semantic relations.</p>
</div>
<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 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 *ngIf="pageContents && pageContents['right'] && pageContents['right'].length > 0"-->
<!-- class="graph-background-bottom uk-section uk-padding-remove-vertical uk-background-cover"></div>-->
<!--<helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"-->
<!-- [texts]="pageContents['bottom']"></helper>-->
<div class="uk-section" style="background: linear-gradient(180deg, #FAFAFA 50%, #FFFFFF 50%);">
<div class="uk-container uk-container-small">
<div class="uk-grid-margin uk-grid uk-grid-stack" uk-grid="">
<div class="uk-width-1-1@m uk-first-column">
<div class="uk-margin uk-text-center uk-child-width-1-1 uk-grid-match uk-child-width-1-1@s uk-child-width-1-2@m uk-child-width-1-2@l uk-grid" id="page#8" uk-grid="" uk-height-match="target: .target">
<div class="uk-first-column">
<div class="el-item uk-card uk-card-default uk-card-medium uk-card-body">
<div class="uk-text-center target"><img alt="Share" class="uk-width-1-3@m uk-width-small" src="assets/share.svg"></div>
<div class="el-content uk-margin uk-text-large"><span class="uk-text-bold">Deposit</span> your research</div>
<div class="uk-margin-small-top uk-text-left card-text uk-flex uk-flex-center">
<div class="uk-margin-left uk-margin-right">Deposit in a repository of your choice.<br>
Select an OpenAIRE compatible<br>
repository (2.0 +) so that your research is linked to your funding information. Use Zenodo, a catch-all repository hosted by CERN to deposit all your research results (publications, data, software, etc.)</div>
</div>
<a class="uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-small-left ng-star-inserted uk-margin uk-margin-bottom uk-width-1-2" href="/participate/deposit/learn-how" type="submit">Deposit </a></div>
</div>
<div>
<div class="el-item uk-card uk-card-default uk-card-medium uk-card-body">
<div class="uk-text-center target"><img alt="Share" class="uk-width-1-3@m uk-width-small" src="assets/link.svg"></div>
<div class="el-content uk-margin uk-text-large"><span class="uk-text-bold">Link</span> your work</div>
<div class="uk-margin-small-top uk-text-left card-text uk-flex uk-flex-center">
<div class="uk-margin-left uk-margin-right">Connect all your research.<br>
If you can't find your research results in OpenAIRE, don't worry! Use our Link Out service , that reaches out to many<br>
external sources via APIs, to connect<br>
your research results and claim them to your project.</div>
</div>
<a class="uk-button portal-button uk-padding uk-padding-remove-vertical uk-margin-small-left ng-star-inserted uk-margin uk-margin-bottom uk-width-1-2" href="/participate/claim" type="submit">Link </a></div>
</div>
</div>
</div>
</div>
</div>
</div>
<schema2jsonld [URL]="properties.baseLink" [logoURL]=
"properties.baseLink+'/assets/common-assets/logo-small-aggregator.png'" type="home"
name="OpenAIRE Explore"></schema2jsonld>
<!--<div class=" uk-section uk-section-small">
<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 id="page#8" class="uk-margin uk-text-center uk-child-width-1-1 uk-grid-match uk-child-width-1-1@s uk-child-width-1-3@m uk-child-width-1-3@l uk-grid-large uk-grid" uk-grid="">
<div class="uk-first-column">
<div class="el-item uk-card uk-card-hover uk-card-small uk-card-body">
<a routerLinkActive="uk-link" routerLink="/search/find" class="el-link uk-position-cover uk-position-z-index uk-margin-remove-adjacent"></a>
<img class="" width="80" height="80" src="assets/explore.svg" alt="Explore">
<h3 class="el-title uk-margin uk-h3">
Explore
</h3>
<div class="el-content uk-margin uk-text-lead">Discover linked open research</div>
<div class=" uk-margin-small-top">Search for
publications, datasets, software and other research products. See how these
are linked together and how they are linked to funding and
organizations.
<br>
View statistics on projects and institutions.
</div>
</div>
</div>
<div class="">
<div class="el-item uk-card uk-card-hover uk-card-small uk-card-body">
<a routerLinkActive="uk-link" routerLink="/participate/deposit-publications" class="el-link uk-position-cover uk-position-z-index uk-margin-remove-adjacent"></a>
<img class="" width="70" height="70" src="assets/share.svg" alt="Share">
<h3 class="el-title uk-margin uk-h3">
Share
</h3>
<div class="el-content uk-margin uk-text-lead">Deposit in a repository of your choice </div>
<div class=" uk-margin-small-top">
Select an OpenAIRE compatible repository (2.0 +) so that your research is linked to your funding information.
<br>
Use <a href="http://www.zenodo.org/" target="_blank" rel="noopener">ZENODO</a>,
a catch-all repository hosted by CERN to deposit all your research results (publications, data, software, etc.)
</div>
</div>
</div>
<div class="">
<div class="el-item uk-card uk-card-hover uk-card-small uk-card-body">
<img class="" width="60" height="70" src="assets/link.svg" alt="Link">
<a routerLinkActive="uk-link" routerLink="/participate/claim" routerLink="/participate/claim" class="el-link uk-position-cover uk-position-z-index uk-margin-remove-adjacent"></a>
<h3 class="el-title uk-margin uk-h3">
Link
</h3>
<div class="el-content uk-margin uk-text-lead">Connect all your research</div>
<div class=" uk-margin-small-top">
If you can't find your research results in OpenAIRE, don't worry!
<br>
Use our <strong>LINK OUT service</strong>,
that reaches out to many external sources via APIs, to connect your research results and <em>claim</em> them to your project.
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>-->
<!--<div class="uk-section-muted uk-section uk-section-small">
<div class="uk-container uk-container-large">
<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-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-large uk-grid uk-grid-divider ask-explore" uk-grid="">
<div class="uk-first-column uk-text-center">
<div class="el-item uk-card uk-card-small uk-card-body">
<img src="assets/ask-explore.svg" class="el-image" alt="" uk-svg="" hidden="true">
<h3 class="el-title uk-margin uk-h3">Have more questions?</h3>
</div>
</div>
<div class="questions">
<div class="el-item uk-card uk-card-small uk-card-body">
<ul class="uk-list uk-list-divider">
<li><a href="https://www.openaire.eu/os-primers">Learn about open science policies and how to align</a></li>
<li><a href="https://www.openaire.eu/rdm-handbook">Learn more on how to manage your data in the open science era</a></li>
<li><a href="https://www.openaire.eu/guides/">Find out how to use OpenAIRE to best serve your needs</a></li>
<li><a href="https://www.openaire.eu/webinars/">View our training material on a variety of related topics</a></li>
<li><a href="https://www.openaire.eu/contact-us/">Contact us</a></li>
</ul>
</div>
<div class="uk-section-default uk-section uk-padding-remove-bottom">
<div class="uk-container uk-text-center uk-margin-medium-bottom">
<div class="uk-margin-medium uk-flex-center">
<div class="uk-first-column">
<div class="uk-panel">
<h3 class="uk-margin uk-text-center">
Our growing <span class="uk-text-bold">Community</span>
</h3>
<div class="uk-margin-medium-top">
<div class="uk-grid uk-child-width-1-3@m">
<p *ngIf="showProjects && fundersSize">
<span class="portal-color emphasis">
<span class="uk-text-bold"> {{fundersSize.number|number}}</span>
<span class="portal-color uk-h3">{{fundersSize.size}}</span>
</span>
<br>
<span class="uk-text-uppercase uk-text-large">Funders</span>
</p>
<p *ngIf="showDataProviders && datasourcesSize" class="">
<span class="portal-color emphasis">
<span class="uk-text-bold"> {{datasourcesSize.number|number}}</span>
<span class="portal-color uk-h3">{{datasourcesSize.size}}</span>
</span>
<br>
<span class="uk-text-uppercase uk-text-large">Content providers</span>
</p>
<p *ngIf="showProjects && projectsSize">
<span class="portal-color emphasis">
<span class="uk-text-bold"> {{projectsSize.number|number}}</span>
<span class="portal-color uk-h3">{{projectsSize.size}}</span>
</span>
<br>
<span class="uk-text-uppercase uk-text-large">Projects</span>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="uk-section-default uk-section">
<div class="uk-container">
<div class="uk-grid-medium uk-margin-medium uk-grid" uk-grid="">
<div class="uk-width-2-3@m uk-first-column">
<div class="uk-margin-medium-top uk-panel">
<h3 class="el-title uk-margin uk-h3">
Our community
</h3>
<hr class="uk-divider-small uk-text-left provide">
<div class="uk-grid uk-margin-medium-top">
<div class="uk-width-expand@m">
&lt;!&ndash; <div class="uk-grid uk-child-width-1-2@m"> &ndash;&gt;
<p *ngIf="showPublications && publicationsSize">
<span class="emphasis portal-color">{{publicationsSize.count|number}} </span><span class="uk-text-uppercase"> publications</span>
</p>
<p *ngIf="showDatasets && datasetsSize">
<span class="emphasis portal-color">{{datasetsSize.count|number}} </span><span class="uk-text-uppercase"> research data</span>
</p>
&lt;!&ndash; </div> &ndash;&gt;
</div>
</div>
<div class="uk-margin-top">
<div class="uk-grid uk-child-width-1-3@m">
<p *ngIf="showDataProviders && datasourcesSize" class="uk-margin-medium-bottom">
<span class=" emphasis "> {{datasourcesSize.number |number}} {{datasourcesSize.size}}</span><br>
<span class="uk-text-uppercase">content providers</span>
</p>
<p *ngIf="showProjects && fundersSize">
<span class=" emphasis ">{{fundersSize.number|number}} {{fundersSize.size}}</span><br>
<span class="uk-text-uppercase">Funders</span>
</p>
<p *ngIf="showProjects && projectsSize">
<span class=" emphasis ">{{projectsSize.count|number}} </span><br>
<span class="uk-text-uppercase">Projects</span>
</p>
</div>
&lt;!&ndash; <div class="uk-grid uk-child-width-1-2@m uk-margin-small-top">
<p *ngIf="showProjects && projectsSize">
<span class=" emphasis ">{{projectsSize.count|number}} </span><br>
<span class="uk-text-uppercase">Projects</span>
</p>
</div> &ndash;&gt;
</div>
</div>
</div>
<div class="uk-width-expand@m">
<div class="uk-card uk-card-body uk-card-explore">
<h3 class="uk-margin-remove-top uk-h3">
<span class="">Our data policies</span>
</h3>
<hr class="uk-divider-small uk-text-left">
<ul class="uk-margin-small uk-list uk-list-large uk-margin-medium-bottom">
<li class="el-item uk-margin-medium-bottom">
<h5 class="el-title uk-h5">Data acquisition</h5>
<div class="el-content">
<span>How we retrieve data, how often, what processes it goes through (aggregating cleaning, transforming, inferring, de-duplicating), what are the quality checks&nbsp;along all&nbsp; data processing stages.</span>
</div>
</li>
<li class="el-item">
<h5 class="el-title uk-h5">Data usage</h5>
<div class="el-content">
<span>Who is able to retrieve our data, what are the licences, what about specific SLAs.</span>
</div>
</li>
</ul>
<div class="uk-margin uk-margin-remove-bottom uk-text-left">
<h6 class="uk-h6">
<a class="el-content uk-link-text" href="https://www.openaire.eu/data-aquisition-policy" target="_blank">
Learn more
</a>
</h6>
</div>
</div>
</div>
</div>
</div>
</div>-->
<!--<div class="uk-section-muted" uk-scrollspy="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-fade&quot;,&quot;delay&quot;:false}">
<div class="uk-container uk-container-large">
<div uk-grid="" class="uk-grid uk-margin-large-top uk-margin-large-bottom">
<div class="uk-width-expand@m uk-width-1-2@s uk-dark uk-grid-item-match uk-first-column provide">
<div class="uk-margin uk-panel uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
<h4 class="el-title uk-margin uk-h4">
Content provider?
</h4>
<div class="el-content uk-margin">
Join OpenAIRE, use our tools and make your content more visible around the world.
</div>
<p>
<a target="_blank" [href]="'https://'+(properties.environment =='beta'?'beta.':'')+'provide.openaire.eu'" class="el-link uk-button uk-button-default">
OpenAIRE.PROVIDE
</a>
</p>
</div>
</div>
<div class="uk-section-default uk-section numbers-background uk-padding-remove-top">
<div class="uk-container uk-margin-medium-top">
<div class="uk-grid uk-flex uk-flex-center">
<div class="uk-margin-large-right">
<div *ngIf="showPublications && publicationsSize" class="uk-margin-medium-bottom">
<p>
<span class="emphasis">{{publicationsSize.count|number}} </span><br>
<span class="uk-icon uk-text-uppercase uk-float-left">
<svg height="20" ratio="1" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><rect
style="stroke: var(--portal-main-color);" fill="none" height="16" stroke="#000" width="12" x="3.5"
y="2.5"></rect><polyline style="stroke: var(--portal-main-color);" fill="none"
points="5 0.5 17.5 0.5 17.5 17" stroke="#000"></polyline></svg>
publications
</span>
</p>
</div>
<div class="uk-width-expand@m uk-width-1-2@s uk-dark uk-grid-item-match connect">
<div class="uk-margin uk-panel uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
<h4 class="el-title uk-margin uk-h4">
Research community?
</h4>
<div class="el-content uk-margin">
Use a trusted partner to share, link, disseminate and monitor your research.
</div>
<p>
<a target="_blank" [href]="'https://'+(properties.environment =='beta'?'beta.':'')+'connect.openaire.eu'" class="el-link uk-button uk-button-default">
OpenAIRE.CONNECT
</a>
</p>
</div>
<div *ngIf="showSoftware && softwareSize" class="uk-margin-medium-bottom">
<p>
<span class="emphasis">{{softwareSize.count|number}} </span><br>
<span class="uk-icon uk-text-uppercase uk-float-left">
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="cog"><circle
style="stroke: var(--portal-main-color);" fill="none" stroke="#000" cx="9.997" cy="10"
r="3.31"></circle><path style="stroke: var(--portal-main-color);" fill="none" stroke="#000"
d="M18.488,12.285 L16.205,16.237 C15.322,15.496 14.185,15.281 13.303,15.791 C12.428,16.289 12.047,17.373 12.246,18.5 L7.735,18.5 C7.938,17.374 7.553,16.299 6.684,15.791 C5.801,15.27 4.655,15.492 3.773,16.237 L1.5,12.285 C2.573,11.871 3.317,10.999 3.317,9.991 C3.305,8.98 2.573,8.121 1.5,7.716 L3.765,3.784 C4.645,4.516 5.794,4.738 6.687,4.232 C7.555,3.722 7.939,2.637 7.735,1.5 L12.263,1.5 C12.072,2.637 12.441,3.71 13.314,4.22 C14.206,4.73 15.343,4.516 16.225,3.794 L18.487,7.714 C17.404,8.117 16.661,8.988 16.67,10.009 C16.672,11.018 17.415,11.88 18.488,12.285 L18.488,12.285 Z"></path></svg>
software
</span>
</p>
</div>
<div class="uk-width-expand@m uk-width-1-2@s uk-dark uk-grid-item-match monitor">
<div class="uk-margin uk-panel uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
<h4 class="el-title uk-margin uk-h4">
Research manager?
</h4>
<div class="el-content uk-margin">
Use our monitoring services and easily track all relevant research results.
</div>
<p>
<a target="_blank" [href]="'https://'+(properties.environment =='beta'?'beta.openaire.eu/monitor':'monitor.openaire.eu')" class="el-link uk-button uk-button-default">
OpenAIRE.MONITOR
</a>
</p>
</div>
</div>
<div class="">
<div *ngIf="showDatasets && datasetsSize" class="uk-margin-medium-bottom">
<p>
<span class="emphasis">{{datasetsSize.count|number}} </span><br>
<span class="uk-icon uk-text-uppercase uk-float-left">
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="database"><ellipse
style="stroke: var(--portal-main-color);" fill="none" stroke="#000" cx="10" cy="4.64" rx="7.5"
ry="3.14"></ellipse><path style="stroke: var(--portal-main-color);" fill="none" stroke="#000"
d="M17.5,8.11 C17.5,9.85 14.14,11.25 10,11.25 C5.86,11.25 2.5,9.84 2.5,8.11"></path><path
style="stroke: var(--portal-main-color);" fill="none" stroke="#000"
d="M17.5,11.25 C17.5,12.99 14.14,14.39 10,14.39 C5.86,14.39 2.5,12.98 2.5,11.25"></path><path
style="stroke: var(--portal-main-color);" fill="none" stroke="#000"
d="M17.49,4.64 L17.5,14.36 C17.5,16.1 14.14,17.5 10,17.5 C5.86,17.5 2.5,16.09 2.5,14.36 L2.5,4.64"></path></svg>
research data
</span>
</p>
</div>
<div class="uk-width-expand@m uk-width-1-2@s uk-dark uk-grid-item-match develop">
<div class="uk-margin uk-panel uk-scrollspy-inview uk-animation-fade" uk-scrollspy-class="" style="">
<h4 class="el-title uk-margin uk-h4">
Developer?
</h4>
<div class="el-content uk-margin">
Get access to OpenAIRE data and capitalize on on Europe's open linked research
</div>
<p>
<a target="_blank" href="https://develop.openaire.eu" class="el-link uk-button uk-button-default">
OpenAIRE.DEVELOP
</a>
</p>
</div>
<div *ngIf="showOrp && otherSize" class="uk-margin-medium-bottom">
<p>
<span class="emphasis">{{otherSize.count|number}} </span><br>
<span class="uk-icon uk-text-uppercase uk-float-left">
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="world"><path
style="stroke: var(--portal-main-color);" fill="none" stroke="#000" d="M1,10.5 L19,10.5"></path><path
style="stroke: var(--portal-main-color);" fill="none" stroke="#000" d="M2.35,15.5 L17.65,15.5"></path><path
style="stroke: var(--portal-main-color);" fill="none" stroke="#000" d="M2.35,5.5 L17.523,5.5"></path><path
style="stroke: var(--portal-main-color);" fill="none" stroke="#000"
d="M10,19.46 L9.98,19.46 C7.31,17.33 5.61,14.141 5.61,10.58 C5.61,7.02 7.33,3.83 10,1.7 C10.01,1.7 9.99,1.7 10,1.7 L10,1.7 C12.67,3.83 14.4,7.02 14.4,10.58 C14.4,14.141 12.67,17.33 10,19.46 L10,19.46 L10,19.46 L10,19.46 Z"></path><circle
style="stroke: var(--portal-main-color);" fill="none" stroke="#000" cx="10" cy="10.5" r="9"></circle></svg>
other research products
</span>
</p>
</div>
</div>
</div>
</div>-->
</div>
</div>
<!--<helper *ngIf="pageContents && pageContents['left'] && pageContents['left'].length > 0"-->
<!-- [texts]="pageContents['left']"></helper>-->
<!--<div class="uk-section-muted"-->
<!-- uk-scrollspy="{&quot;target&quot;:&quot;[uk-scrollspy-class]&quot;,&quot;cls&quot;:&quot;uk-animation-fade&quot;,&quot;delay&quot;:false}">-->
<!-- <div class="uk-container uk-container-large">-->
<!-- <other-portals portal="explore" [properties]="properties"></other-portals>-->
<!-- </div>-->
<!--</div>-->

View File

@ -1,208 +1,230 @@
import {Component} from '@angular/core';
import {Subscription} from 'rxjs';
import {ActivatedRoute, Router} from '@angular/router';
import {Location} from '@angular/common';
import "rxjs/add/observable/zip";
import {Meta, Title} from '@angular/platform-browser';
import {Title, Meta} from '@angular/platform-browser';
import {ConfigurationService} from '../openaireLibrary/utils/configuration/configuration.service';
import {FetchDataproviders} from '../openaireLibrary/utils/fetchEntitiesClasses/fetchDataproviders.class';
import {SearchDataprovidersService} from '../openaireLibrary/services/searchDataproviders.service';
import {SearchProjectsService} from '../openaireLibrary/services/searchProjects.service';
import {SearchOrganizationsService} from '../openaireLibrary/services/searchOrganizations.service';
import {RefineFieldResultsService} from '../openaireLibrary/services/refineFieldResults.service';
import {SearchFields} from '../openaireLibrary/utils/properties/searchFields';
import {NumberUtils} from '../openaireLibrary/utils/number-utils.class';
import { SearchDataprovidersService} from '../openaireLibrary/services/searchDataproviders.service';
import { SearchProjectsService} from '../openaireLibrary/services/searchProjects.service';
import { SearchOrganizationsService} from '../openaireLibrary/services/searchOrganizations.service';
import { RefineFieldResultsService} from '../openaireLibrary/services/refineFieldResults.service';
import { SearchFields} from '../openaireLibrary/utils/properties/searchFields';
import { NumberUtils} from '../openaireLibrary/utils/number-utils.class';
import {RouterHelper} from '../openaireLibrary/utils/routerHelper.class';
import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
import {ErrorCodes} from '../openaireLibrary/utils/properties/errorCodes';
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 {SearchCustomFilter} from "../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {StringUtils} from "../openaireLibrary/utils/string-utils.class";
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 {FilterInfo, PortalAggregators} from "../utils/aggregators";
import {SearchCustomFilter} from "../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {properties} from "../../environments/environment";
import {portalProperties} from "../../environments/environment-aggregator";
import {StringUtils} from "../openaireLibrary/utils/string-utils.class";
@Component({
selector: 'home',
templateUrl: 'home.component.html',
})
export class HomeComponent {
public piwiksub: any;
public subfunders: any;
public pageTitle = "OpenAIRE"
public keyword: string = "";
public searchFields: SearchFields = new SearchFields();
public errorCodes: ErrorCodes = new ErrorCodes();
public routerHelper: RouterHelper = new RouterHelper();
// public pageTitle = "OpenAIRE - Explore |" ;
public keyword:string = "";
public publicationsSize: any = null;
public datasetsSize: any = null;
public searchFields:SearchFields = new SearchFields();
public errorCodes:ErrorCodes = new ErrorCodes();
public routerHelper:RouterHelper = new RouterHelper();
public publicationsSize:any = null;
public datasetsSize:any = null;
public datasetsLinkedSize:any = null;
public softwareLinkedSize:any = null;
public softwareSize: any = null;
public otherSize: any = null;
public organizationsSize: any = null;
public fundersSize: any = null;
public projectsSize: any = null;
public datasourcesSize: any = null;
public fundersSize:any = null;
public projectsSize:any = null;
public datasourcesSize:any = null;
public fetchDataproviders: FetchDataproviders;
showPublications: boolean = false;
showDatasets: boolean = false;
showSoftware: boolean = false;
showOrp: boolean = false;
showOrganizations: boolean = false;
showProjects: boolean = false;
showDataProviders: boolean = false;
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;
public subPub;
public subSoft;
public subOrp;
public subData;
public subProjects;
public subOrg;
public subDataPr;
customFilter:SearchCustomFilter= null;
public readMore: boolean = false;
constructor(
subs: Subscription[] = [];
resultsQuickFilter: { filter: Filter, selected: boolean, filterId: string, value: string } = {
filter: null,
selected: true,
filterId: "resultbestaccessright",
value: "Open Access"
};
selectedEntity = "all";
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;
aggregatorId;
aggregator:FilterInfo;
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 _refineFieldResultsService:RefineFieldResultsService,
private location: Location, private _piwikService:PiwikService,
private config: ConfigurationService, private _meta: Meta, private _title: Title, private seoService: SEOService,
private helper: HelperService
) {
let id = this.route.snapshot.paramMap.get('id');
console.log(id);
let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
let description = "openAIRE, open access, publications, research results, European commission, search";
let title = "OpenAIRE | "+agg.title;
this.aggregatorId = this.route.snapshot.paramMap.get('id');
this.aggregator = PortalAggregators.getFilterInfoByMenuId(this.aggregatorId);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(this.aggregator);
let description = "OpenAIRE Explore: Over 100M of research deduplicated, 170K research software, 11M research data. One of the largest open scholarly records collection worldwide.";
let title = "OpenAIRE - Explore| " +this.aggregator.title;
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'");
this._meta.updateTag({content:description},"name='description'");
this._meta.updateTag({content:description},"property='og:description'");
this._meta.updateTag({content:title},"property='og:title'");
// this.customFilter.setValues("Country", "country", "CA" , "Canada");
}
private getPageContents() {
this.subs.push(this.helper.getPageHelpContents(this.properties, 'openaire', this._router.url).subscribe(contents => {
this.pageContents = contents;
}));
}
public getKeys(obj: {}) {
return Object.keys(obj);
}
createRange(number){
var items: number[] = [];
for(var i = 1; i <= number; i++){
items.push(i);
}
return items;
}
public ceil(num: number) {
return Math.ceil(num);
}
public ngOnInit() {
this.properties = properties;
this.seoService.createLinkForCanonicalURL(this.properties.domain + this.properties.baseLink+this._router.url, false);
this.getPageContents();
this.route.data
.subscribe((data: { envSpecific: EnvProperties }) => {
this.properties = data.envSpecific;
this.seoService.createLinkForCanonicalURL(this.properties.baseLink + this._router.url, false);
let url = this.properties.baseLink + this._router.url;
this._meta.updateTag({content: url}, "property='og:url'");
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
this.piwiksub = this._piwikService.trackView(this.properties, "OpenAIRE").subscribe();
}
this.showPublications = true;
this.showOrp = true;
this.showOrganizations = true;
this.showDatasets = true;
this.showSoftware = true;
this.showProjects = true;
this.showDataProviders = true;
this.getNumbers();
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.adminToolsAPIURL, this.properties.adminToolsCommunity).subscribe(data => {
let showEntity = {};
for (let i = 0; i < data['entities'].length; i++) {
//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.showProjects = showEntity["project"];
this.showDataProviders = showEntity["datasource"];
this.getNumbers();
// if(this.showDataProviders) {
// this.fetchDataproviders.getResultsForHome(this.numResults, this.properties);
// }
},
error => {
this.handleError("Error getting community information", error);
showEntity["" + data['entities'][i]["pid"] + ""] = data['entities'][i]["isEnabled"];
}
);*/
});
this.showPublications = showEntity["publication"];
this.showDatasets = showEntity["dataset"];
this.showSoftware = showEntity["software"];
this.showOrp = showEntity["orp"];
this.showProjects = showEntity["project"];
this.showDataProviders = showEntity["datasource"];
this.showOrganizations = showEntity["organization"];*/
if(this.showPublications){
this.resultTypes.values.push({name: "Publications" , id:"publications",selected:true, number:0});
}
if(this.showDatasets){
this.resultTypes.values.push({name: "Research data" , id:"datasets",selected:true, number:0});
}
if(this.showSoftware){
this.resultTypes.values.push({name: "Software" , id:"software",selected:true, number:0});
}
if(this.showOrp){
this.resultTypes.values.push({name: "Other research products" , id:"other",selected:true, number:0});
}
this.getNumbers();
/* }
},
error => {
this.handleError("Error getting community information", error);
}
));*/
}
}
public ngOnDestroy() {
if (this.piwiksub) {
this.piwiksub.unsubscribe();
for (let sub of this.subs) {
sub.unsubscribe();
}
if (this.subfunders) {
this.subfunders.unsubscribe();
}
if (this.subPub) {
this.subPub.unsubscribe();
}
if (this.subOrp) {
this.subOrp.unsubscribe();
}
if (this.subSoft) {
this.subSoft.unsubscribe();
}
if (this.subData) {
this.subData.unsubscribe();
}
if (this.subProjects) {
this.subProjects.unsubscribe();
}
if (this.subOrg) {
this.subOrg.unsubscribe();
}
if (this.subDataPr) {
this.subDataPr.unsubscribe();
}
}
private getNumbers() {
let refineQuery = null;
let refineQuery = null
if(this.customFilter){
refineQuery= "&fq="+StringUtils.URIEncode(this.customFilter.queryFieldName + " exact " + StringUtils.quote((this.customFilter.valueId )));
}
if (this.showPublications) {
this.subPub = this._searchResearchResultsService.numOfSearchResults("publication","", this.properties,refineQuery).subscribe(
if(this.showPublications){
this.subs.push(this._searchResearchResultsService.numOfSearchResults("publication", "", this.properties, refineQuery).subscribe(
data => {
if (data && data > 0) {
if(data && data != null && data > 0 ){
this.publicationsSize = NumberUtils.roundNumber(data);
}else{
this.showPublications = false;
}
},
err => {
//console.log(err);
this.handleError("Error getting number of publications", err);
}
);
));
}
if (this.showDatasets) {
this.subData = this._searchResearchResultsService.numOfSearchResults("dataset","", this.properties,refineQuery).subscribe(
if(this.showDatasets){
this.subs.push(this._searchResearchResultsService.numOfSearchResults("dataset", "", this.properties, refineQuery).subscribe(
data => {
if (data && data > 0) {
if(data && data != null && data > 0 ){
this.datasetsSize = NumberUtils.roundNumber(data);
}else{
this.showDatasets = false;
}
},
err => {
//console.log(err);
this.handleError("Error getting number of research data", err);
}
);
));
/*this.subs.push(this._searchResearchResultsService.numOfSearchResultsLinkedToPub("dataset", this.properties, refineQuery).subscribe(
data => {
if(data && data != null && data > 0 ){
this.datasetsLinkedSize = NumberUtils.roundNumber(data);
}
},
err => {
//console.log(err);
this.handleError("Error getting number of linkedresearch data", err);
}
));*/
}
if (this.showSoftware) {
this.subSoft = this._searchResearchResultsService.numOfSearchResults("software","", this.properties,refineQuery).subscribe(
this.subs.push(this._searchResearchResultsService.numOfSearchResults("software", "", this.properties, refineQuery).subscribe(
data => {
if (data && data > 0) {
this.softwareSize = NumberUtils.roundNumber(data);
@ -213,10 +235,21 @@ export class HomeComponent {
err => {
this.handleError("Error getting number of software data", err);
}
);
));
/* this.subs.push(this._searchResearchResultsService.numOfSearchResultsLinkedToPub("software", this.properties, refineQuery).subscribe(
data => {
if(data && data != null && data > 0 ){
this.softwareLinkedSize = NumberUtils.roundNumber(data);
}
},
err => {
//console.log(err);
this.handleError("Error getting number of linked software", err);
}
));*/
}
if (this.showOrp) {
this.subOrp = this._searchResearchResultsService.numOfSearchResults("other","", this.properties,refineQuery).subscribe(
this.subs.push(this._searchResearchResultsService.numOfSearchResults("other", "", this.properties, refineQuery).subscribe(
data => {
if (data && data > 0) {
this.otherSize = NumberUtils.roundNumber(data);
@ -227,54 +260,79 @@ export class HomeComponent {
err => {
this.handleError("Error getting number of software data", err);
}
);
));
}
if (this.showProjects) {
this.subfunders = this._refineFieldResultsService.getRefineFieldsResultsByEntityName(["funder"], "project", this.properties, refineQuery).subscribe(
if(this.showProjects){
this.subs.push(this._refineFieldResultsService.getRefineFieldsResultsByEntityName(["funder"],"project", this.properties, refineQuery).subscribe(
data => {
if (data[0] && data[0] > 0) {
if(data[0] && data[0] > 0 ){
this.projectsSize = NumberUtils.roundNumber(data[0]);
}
else{
this.showProjects = false;
}
if (data[1].length > 0 && data[1][0].filterId == "funder" && data[1][0].values) {
if(data[1].length > 0 && data[1][0].filterId == "funder" && data[1][0].values ){
this.fundersSize = NumberUtils.roundNumber(data[1][0].values.length);
}
},
err => {
//console.log(err);
this.handleError("Error getting 'funder' field results of projects", err);
});
}));
}
if (this.showDataProviders) {
this.subDataPr = this._searchDataprovidersService.numOfSearchDataproviders("", this.properties, refineQuery).subscribe(
if(this.showDataProviders){
this.subs.push(this._searchDataprovidersService.numOfSearchDataproviders("", this.properties, refineQuery).subscribe(
data => {
if (data && data > 0) {
if(data && data != null && data > 0 ){
this.datasourcesSize = NumberUtils.roundNumber(data);
}else{
this.showDataProviders = false;
}
},
err => {
//console.log(err);
this.handleError("Error getting number of content providers", err);
}
);
}
if (this.showOrganizations) {
this.subOrg = this._searchOrganizationsService.numOfSearchOrganizations("", this.properties, refineQuery).subscribe(
data => {
if (data && data > 0) {
this.organizationsSize = NumberUtils.roundNumber(data);
}
},
err => {
this.handleError("Error getting number of Organizations", err);
}
);
));
}
}
private handleError(message: string, error) {
console.error("Home Page: " + message, 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);
}
}
}
if(this.keyword.length > 0) {
parameterNames.push("fv0");
parameterValues.push(this.keyword);
parameterNames.push("f0");
parameterValues.push("q");
}
console.log( this.routerHelper.createQueryParams(parameterNames, parameterValues))
this._router.navigate([url], {queryParams: this.routerHelper.createQueryParams(parameterNames, parameterValues)});
}
}

View File

@ -3,52 +3,54 @@ 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 {HomeRoutingModule} from './home-routing.module';
import {HomeComponent} from './home.component';
import { DataProvidersServiceModule} from '../openaireLibrary/services/dataProvidersService.module';
import { DataProvidersServiceModule} from '../openaireLibrary/services/dataProvidersService.module';
import { SearchResearchResultsServiceModule} from '../openaireLibrary/services/searchResearchResultsService.module';
import { ProjectsServiceModule} from '../openaireLibrary/services/projectsService.module';
// import { PublicationsServiceModule} from '../openaireLibrary/services/publicationsService.module';
import { OrganizationsServiceModule} from '../openaireLibrary/services/organizationsService.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 { PiwikServiceModule} from '../openaireLibrary/utils/piwik/piwikService.module';
import {HelperModule} from '../openaireLibrary/utils/helper/helper.module';
import {RefineFieldResultsServiceModule} from '../openaireLibrary/services/refineFieldResultsService.module';
import {ConfigurationService} from '../openaireLibrary/utils/configuration/configuration.service';
import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {Schema2jsonldModule} from '../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module';
import { SEOServiceModule } from '../openaireLibrary/sharedComponents/SEO/SEOService.module';
import {ErrorMessagesModule} from '../openaireLibrary/utils/errorMessages.module';
// import {SoftwareServiceModule} from "../openaireLibrary/services/softwareService.module";
// import {OrpsServiceModule} from "../openaireLibrary/services/orpsService.module";
// import {AggregatorNavBarComponent} from "../utils/aggregatorNavBar.component";
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 {arrow_right} from "../openaireLibrary/utils/icons/icons";
@NgModule({
@NgModule({
imports: [
CommonModule, FormsModule, RouterModule,
RefineFieldResultsServiceModule,
DataProvidersServiceModule, SearchResearchResultsServiceModule, ProjectsServiceModule,
OrganizationsServiceModule,
SearchFormModule,
PiwikServiceModule,
HomeRoutingModule,
HelperModule,
ErrorMessagesModule,
Schema2jsonldModule, SEOServiceModule,
RefineFieldResultsServiceModule,
DataProvidersServiceModule, SearchResearchResultsServiceModule,
ProjectsServiceModule, OrganizationsServiceModule,
SearchFormModule,
PiwikServiceModule,
HomeRoutingModule,
HelperModule,
ErrorMessagesModule,
SEOServiceModule, EntitiesSelectionModule, QuickSelectionsModule, IconsModule
],
declarations: [
HomeComponent//, AggregatorNavBarComponent
],
HomeComponent
],
providers:[
FreeGuard, PreviousRouteRecorder, ConfigurationService
],
PreviousRouteRecorder
],
exports: [
HomeComponent//, AggregatorNavBarComponent
]
HomeComponent
]
})
export class HomeModule { }
export class HomeModule {
constructor(private iconsService: IconsService) {
this.iconsService.registerIcons([arrow_right]);
}
}

View File

@ -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 { }

View File

@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import {OpenaireResultComponent } from './result.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireResultComponent, data: {
redirect: '/error', community : 'openaire'
},canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class ResultRoutingModule { }

View File

@ -0,0 +1,7 @@
import {Component} from '@angular/core';
@Component({
selector: 'openaire-publication',
template: `<result-landing type="result"></result-landing>`,
})
export class OpenaireResultComponent{}

View File

@ -1,14 +1,13 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireAdvancedSearchDataProvidersComponent} from './advancedSearchDataProviders.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchDataProvidersComponent, canActivate: [FreeGuard], data: {
{ path: '', component: OpenaireAdvancedSearchDataProvidersComponent, data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }

View File

@ -7,8 +7,8 @@ import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-advanced-search-dataprovider',
template: `
<advanced-search-dataprovider [customFilter]="customFilter">
</advanced-search-dataprovider>
<search-dataproviders [customFilter]="customFilter" [simpleView]="false">
</search-dataproviders>
`
})

View File

@ -4,21 +4,20 @@ import {FormsModule} from '@angular/forms';
import {AdvancedSearchDataProvidersRoutingModule} from './advancedSearchDataProviders-routing.module';
import {OpenaireAdvancedSearchDataProvidersComponent} from './advancedSearchDataProviders.component';
import {AdvancedSearchDataProvidersModule} from '../../openaireLibrary/searchPages/advanced/advancedSearchDataProviders.module';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module";
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchDataProvidersRoutingModule,
AdvancedSearchDataProvidersModule
SearchDataProvidersModule
],
declarations: [
OpenaireAdvancedSearchDataProvidersComponent
],
providers:[FreeGuard],
providers:[],
exports: [
OpenaireAdvancedSearchDataProvidersComponent
]

View File

@ -1,19 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireAdvancedSearchDatasetsComponent} from './advancedSearchDatasets.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchDatasetsComponent, canActivate: [FreeGuard], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class AdvancedSearchDatasetsRoutingModule { }

View File

@ -1,27 +0,0 @@
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-advanced-search-datasets',
template: `
<advanced-search-research-results [customFilter]="customFilter" resultType="dataset"></advanced-search-research-results>
`
})
export class OpenaireAdvancedSearchDatasetsComponent {
customFilter:SearchCustomFilter= null;
constructor(private route: ActivatedRoute) {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}
}

View File

@ -1,24 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {AdvancedSearchDatasetsRoutingModule} from './advancedSearchDatasets-routing.module';
import {OpenaireAdvancedSearchDatasetsComponent} from './advancedSearchDatasets.component';
import {AdvancedSearchResearchResultsModule} from "../../openaireLibrary/searchPages/advanced/advancedSearchResearchResults.module";
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchResearchResultsModule,
AdvancedSearchDatasetsRoutingModule
],
declarations: [
OpenaireAdvancedSearchDatasetsComponent
],
providers:[FreeGuard],
exports: [
OpenaireAdvancedSearchDatasetsComponent
]
})
export class LibAdvancedSearchDatasetsModule { }

View File

@ -2,14 +2,13 @@ import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchOrganizationsComponent , canActivate: [FreeGuard], data: {
{ path: '', component: OpenaireAdvancedSearchOrganizationsComponent , data: {
redirect: '/error'
},canDeactivate: [PreviousRouteRecorder]}

View File

@ -7,8 +7,8 @@ import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-advanced-search-organizations',
template: `
<advanced-search-organizations [customFilter]="customFilter">
</advanced-search-organizations>
<search-organizations [customFilter]="customFilter" [simpleView]="false">
</search-organizations>
`
})

View File

@ -3,20 +3,19 @@ import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {AdvancedSearchOrganizationsRoutingModule} from './advancedSearchOrganizations-routing.module';
import {OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {AdvancedSearchOrganizationsModule} from '../../openaireLibrary/searchPages/advanced/advancedSearchOrganizations.module';
import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searchOrganizations.module";
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchOrganizationsModule,
SearchOrganizationsModule,
AdvancedSearchOrganizationsRoutingModule
],
declarations: [
OpenaireAdvancedSearchOrganizationsComponent
],
providers:[FreeGuard],
providers:[],
exports: [
OpenaireAdvancedSearchOrganizationsComponent
]

View File

@ -1,19 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireAdvancedSearchOrpsComponent} from './advancedSearchOrps.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchOrpsComponent, canActivate: [FreeGuard], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class AdvancedSearchOrpsRoutingModule { }

View File

@ -1,27 +0,0 @@
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-advanced-search-orps',
template: `
<advanced-search-research-results [customFilter]="customFilter" resultType="other"></advanced-search-research-results>
`
})
export class OpenaireAdvancedSearchOrpsComponent {
customFilter:SearchCustomFilter= null;
constructor(private route: ActivatedRoute) {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}
}

View File

@ -1,24 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {AdvancedSearchOrpsRoutingModule} from './advancedSearchOrps-routing.module';
import {OpenaireAdvancedSearchOrpsComponent} from './advancedSearchOrps.component';
import {AdvancedSearchResearchResultsModule} from "../../openaireLibrary/searchPages/advanced/advancedSearchResearchResults.module";
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchResearchResultsModule,
AdvancedSearchOrpsRoutingModule
],
declarations: [
OpenaireAdvancedSearchOrpsComponent
],
providers:[FreeGuard],
exports: [
OpenaireAdvancedSearchOrpsComponent
]
})
export class LibAdvancedSearchOrpsModule { }

View File

@ -2,13 +2,12 @@ import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchProjectsComponent, canActivate: [FreeGuard], data: {
{ path: '', component: OpenaireAdvancedSearchProjectsComponent, data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }

View File

@ -6,8 +6,8 @@ import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-advanced-search-projects',
template: `
<advanced-search-projects [customFilter]="customFilter">
</advanced-search-projects>
<search-projects [customFilter]="customFilter" [simpleView]="false">
</search-projects>
`
})

View File

@ -3,20 +3,19 @@ import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {AdvancedSearchProjectsRoutingModule} from './advancedSearchProjects-routing.module';
import {OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component';
import {AdvancedSearchProjectsModule} from '../../openaireLibrary/searchPages/advanced/advancedSearchProjects.module';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {SearchProjectsModule} from "../../openaireLibrary/searchPages/searchProjects.module";
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchProjectsModule,
SearchProjectsModule,
AdvancedSearchProjectsRoutingModule
],
declarations: [
OpenaireAdvancedSearchProjectsComponent
],
providers:[FreeGuard],
providers:[],
exports: [
OpenaireAdvancedSearchProjectsComponent
]

View File

@ -1,18 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireAdvancedSearchPublicationsComponent} from './advancedSearchPublications.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchPublicationsComponent, canActivate: [FreeGuard], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class AdvancedSearchPublicationsRoutingModule { }

View File

@ -1,25 +0,0 @@
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-advanced-search-publications',
template: `
<advanced-search-research-results [customFilter]="customFilter" resultType="publication"></advanced-search-research-results>
`
})
export class OpenaireAdvancedSearchPublicationsComponent {
customFilter:SearchCustomFilter= null;
constructor(private route: ActivatedRoute) {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}
}

View File

@ -1,27 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {AdvancedSearchPublicationsRoutingModule} from './advancedSearchPublications-routing.module';
import {OpenaireAdvancedSearchPublicationsComponent} from './advancedSearchPublications.component';
import {AdvancedSearchResearchResultsModule} from "../../openaireLibrary/searchPages/advanced/advancedSearchResearchResults.module";
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchResearchResultsModule,
AdvancedSearchPublicationsRoutingModule
],
declarations: [
OpenaireAdvancedSearchPublicationsComponent
],
providers:[FreeGuard],
exports: [
OpenaireAdvancedSearchPublicationsComponent
]
})
export class LibAdvancedSearchPublicationsModule { }

View File

@ -1,16 +0,0 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireAdvancedSearchSoftwareComponent} from './advancedSearchSoftware.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireAdvancedSearchSoftwareComponent, canActivate: [FreeGuard],canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class AdvancedSearchSoftwareRoutingModule { }

View File

@ -1,26 +0,0 @@
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-advanced-search-software',
template: `
<advanced-search-research-results [customFilter]="customFilter" resultType="software"></advanced-search-research-results>
`
})
export class OpenaireAdvancedSearchSoftwareComponent {
customFilter:SearchCustomFilter= null;
constructor(private route: ActivatedRoute) {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}
}

View File

@ -1,27 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {AdvancedSearchSoftwareRoutingModule} from './advancedSearchSoftware-routing.module';
import {OpenaireAdvancedSearchSoftwareComponent} from './advancedSearchSoftware.component';
import {AdvancedSearchResearchResultsModule} from "../../openaireLibrary/searchPages/advanced/advancedSearchResearchResults.module";
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
@NgModule({
imports: [
CommonModule, FormsModule,
AdvancedSearchResearchResultsModule,
AdvancedSearchSoftwareRoutingModule
],
declarations: [
OpenaireAdvancedSearchSoftwareComponent
],
providers:[FreeGuard
],
exports: [
OpenaireAdvancedSearchSoftwareComponent
]
})
export class LibAdvancedSearchSoftwareModule { }

View File

@ -0,0 +1,18 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchResearchResultsComponent, data: {
redirect: '/error', community : 'openaire'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class SearchResearchResultsRoutingModule { }

View File

@ -1,22 +1,20 @@
import {Component} from '@angular/core';
import {Component, Input} from '@angular/core';
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-search-orps',
selector: 'openaire-search-results',
template: `
<search-research-results resultType="other" [customFilter]="customFilter"></search-research-results>
<search-research-results resultType="result" [simpleView]="false"></search-research-results>
`
})
export class OpenaireSearchOrpsComponent {
customFilter: SearchCustomFilter = null;
export class OpenaireSearchResearchResultsComponent {
@Input() searchLink: string = "/search/advanced/research-results";
customFilter:SearchCustomFilter= null;
constructor(private route: ActivatedRoute) {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);

View File

@ -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 { }

View File

@ -1,15 +1,14 @@
import {NgModule} from '@angular/core';
import {MainSearchModule} from '../../openaireLibrary/searchPages/find/mainSearch.module';
import {OpenaireSearchComponent} from './search.component';
import {MainSearchRoutingModule} from './mainSearch-routing.module';
import {FreeGuard} from "../../openaireLibrary/login/freeGuard.guard";
import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
import {SearchAllModule} from "../../openaireLibrary/searchPages/find/searchAll.module";
@NgModule({
imports: [ MainSearchRoutingModule, MainSearchModule],
imports: [ MainSearchRoutingModule, SearchAllModule],
declarations:[OpenaireSearchComponent],
exports:[OpenaireSearchComponent],
providers: [FreeGuard, PreviousRouteRecorder]
providers: [ PreviousRouteRecorder]
})
export class LibMainSearchModule { }

View File

@ -2,14 +2,13 @@ import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireSearchComponent} from './search.component';
import {FreeGuard} from "../../openaireLibrary/login/freeGuard.guard";
import {PreviousRouteRecorder} from "../../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] }
{ path: '', component: OpenaireSearchComponent,canDeactivate: [PreviousRouteRecorder] }
])
]

View File

@ -6,7 +6,7 @@ import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-search-find',
template: `
<search-find logoURL = "/assets/common-assets/logo-small-aggregator.png" name="OpenAIRE" [customFilter]="customFilter"></search-find>
<search-all logoURL = "/assets/common-assets/logo-small-aggregator.png" name="OpenAIRE" [customFilter]="customFilter"></search-all>
`,
})
@ -21,10 +21,7 @@ export class OpenaireSearchComponent{
let id = this.route.snapshot.paramMap.get('id');
let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
this.route.data
.subscribe((data: { envSpecific: any }) => {
});
}

View File

@ -9,7 +9,7 @@ import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousR
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchDataprovidersComponent, canActivate: [FreeGuard], data: {
{ path: '', component: OpenaireSearchDataprovidersComponent,data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }

View File

@ -3,9 +3,8 @@ import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {OpenaireSearchDataprovidersComponent} from './searchDataproviders.component';
import {SearchDataProvidersRoutingModule} from './searchDataProviders-routing.module';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchDataProvidersModule} from '../../openaireLibrary/searchPages/simple/searchDataProviders.module';
import {SearchDataProvidersModule} from "../../openaireLibrary/searchPages/searchDataProviders.module";
@NgModule({
imports: [
@ -16,7 +15,7 @@ SearchDataProvidersModule, SearchDataProvidersRoutingModule
declarations: [
OpenaireSearchDataprovidersComponent
],
providers:[FreeGuard,PreviousRouteRecorder],
providers:[PreviousRouteRecorder],
exports: [
OpenaireSearchDataprovidersComponent
]

View File

@ -1,21 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireSearchDatasetsComponent} from './searchDatasets.component';
import {EnvironmentSpecificResolver} from '../../openaireLibrary/utils/properties/environmentSpecificResolver';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchDatasetsComponent, canActivate: [FreeGuard], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] , resolve: { envSpecific: EnvironmentSpecificResolver }},
])
]
})
export class SearchDatasetsRoutingModule { }

View File

@ -1,27 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {SearchDatasetsRoutingModule} from './searchDatasets-routing.module';
import {OpenaireSearchDatasetsComponent} from './searchDatasets.component';
import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/simple/searchResearchResults.module";
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
CommonModule, FormsModule,
SearchResearchResultsModule , SearchDatasetsRoutingModule
],
declarations: [
OpenaireSearchDatasetsComponent
],
providers:[FreeGuard,PreviousRouteRecorder],
exports: [
OpenaireSearchDatasetsComponent
]
})
export class LibSearchDatasetsModule { }

View File

@ -1,14 +1,13 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireSearchOrganizationsComponent} from './searchOrganizations.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchOrganizationsComponent, canActivate: [FreeGuard], data: {
{ path: '', component: OpenaireSearchOrganizationsComponent, data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }

View File

@ -5,10 +5,9 @@ import {FormsModule} from '@angular/forms';
import {SearchOrganizationsRoutingModule} from './searchOrganizations-routing.module';
import {OpenaireSearchOrganizationsComponent} from './searchOrganizations.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchOrganizationsModule} from "../../openaireLibrary/searchPages/searchOrganizations.module";
import {SearchOrganizationsModule} from '../../openaireLibrary/searchPages/simple/searchOrganizations.module';
@NgModule({
imports: [
@ -19,7 +18,7 @@ import {SearchOrganizationsModule} from '../../openaireLibrary/searchPages/simpl
declarations: [
OpenaireSearchOrganizationsComponent
],
providers:[FreeGuard,PreviousRouteRecorder],
providers:[PreviousRouteRecorder],
exports: [
OpenaireSearchOrganizationsComponent
]

View File

@ -1,21 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireSearchOrpsComponent} from './searchOrps.component';
import {EnvironmentSpecificResolver} from '../../openaireLibrary/utils/properties/environmentSpecificResolver';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchOrpsComponent, canActivate: [FreeGuard], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] , resolve: { envSpecific: EnvironmentSpecificResolver }},
])
]
})
export class SearchOrpsRoutingModule { }

View File

@ -1,25 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {SearchOrpsRoutingModule} from './searchOrps-routing.module';
import {OpenaireSearchOrpsComponent} from './searchOrps.component';
import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/simple/searchResearchResults.module";
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
CommonModule, FormsModule,
SearchResearchResultsModule , SearchOrpsRoutingModule
],
declarations: [
OpenaireSearchOrpsComponent
],
providers:[FreeGuard,PreviousRouteRecorder],
exports: [
OpenaireSearchOrpsComponent
]
})
export class LibSearchOrpsModule { }

View File

@ -2,14 +2,13 @@ import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireSearchProjectsComponent} from './searchProjects.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchProjectsComponent, canActivate: [FreeGuard], data: {
{ path: '', component: OpenaireSearchProjectsComponent, data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }

View File

@ -1,4 +1,4 @@
import {Component, Input, ViewChild} from '@angular/core';
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";

View File

@ -5,9 +5,8 @@ import {FormsModule} from '@angular/forms';
import {SearchProjectsRoutingModule} from './searchProjects-routing.module';
import {OpenaireSearchProjectsComponent} from './searchProjects.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchProjectsModule} from '../../openaireLibrary/searchPages/simple/searchProjects.module';
import {SearchProjectsModule} from "../../openaireLibrary/searchPages/searchProjects.module";
@NgModule({
imports: [
@ -17,7 +16,7 @@ import {SearchProjectsModule} from '../../openaireLibrary/searchPages/simple/sea
declarations: [
OpenaireSearchProjectsComponent
],
providers:[FreeGuard,PreviousRouteRecorder],
providers:[PreviousRouteRecorder],
exports: [
OpenaireSearchProjectsComponent
]

View File

@ -1,19 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireSearchPublicationsComponent} from './searchPublications.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchPublicationsComponent, canActivate: [FreeGuard], data: {
redirect: '/error'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class SearchPublicationsRoutingModule { }

View File

@ -1,23 +0,0 @@
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-search-publications',
template: `
<search-research-results resultType="publication" [customFilter]="customFilter"></search-research-results>
`
})
export class OpenaireSearchPublicationsComponent {
customFilter:SearchCustomFilter= null;
constructor ( private route: ActivatedRoute ) {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}
}

View File

@ -1,27 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {SearchPublicationsRoutingModule} from './searchPublications-routing.module';
import {OpenaireSearchPublicationsComponent} from './searchPublications.component';
import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/simple/searchResearchResults.module";
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
CommonModule, FormsModule, SearchResearchResultsModule,
SearchPublicationsRoutingModule
],
declarations: [
OpenaireSearchPublicationsComponent
],
providers:[FreeGuard,PreviousRouteRecorder],
exports: [
OpenaireSearchPublicationsComponent
]
})
export class LibSearchPublicationsModule { }

View File

@ -0,0 +1,18 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import{OpenaireSearchResearchResultsComponent} from './searchResearchResults.component';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchResearchResultsComponent, data: {
redirect: '/error', community : 'openaire'
}, canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class SearchResearchResultsRoutingModule { }

View File

@ -1,18 +1,18 @@
import {Component} from '@angular/core';
import {Component, Input} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
@Component({
selector: 'openaire-search-datasets',
template: `
<search-research-results resultType="dataset" [customFilter]="customFilter"></search-research-results>
`
selector: 'openaire-search-results',
template: `
<search-research-results resultType="result" [stickyForm]="false" [customFilter]="customFilter"></search-research-results>
`
})
export class OpenaireSearchDatasetsComponent {
customFilter: SearchCustomFilter = null;
export class OpenaireSearchResearchResultsComponent {
@Input() searchLink: string = "/search/research-results";
customFilter:SearchCustomFilter= null;
constructor ( private route: ActivatedRoute ) {
}

View File

@ -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 OpenaireSearchResearchResultsModule { }

View File

@ -1,16 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireSearchSoftwareComponent} from './searchSoftware.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireSearchSoftwareComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] }
])
]
})
export class SearchSoftwareRoutingModule { }

View File

@ -1,24 +0,0 @@
import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
import {ActivatedRoute} from "@angular/router";
@Component({
selector: 'openaire-search-software',
template: `
<search-research-results resultType="software" [customFilter]="customFilter"></search-research-results>
`
})
export class OpenaireSearchSoftwareComponent {
customFilter:SearchCustomFilter= null;
constructor ( private route: ActivatedRoute ) {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}
}

View File

@ -1,24 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule} from '@angular/forms';
import {SearchSoftwareRoutingModule} from './searchSoftware-routing.module';
import {OpenaireSearchSoftwareComponent} from './searchSoftware.component';
import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {SearchResearchResultsModule} from "../../openaireLibrary/searchPages/simple/searchResearchResults.module";
@NgModule({
imports: [
CommonModule, FormsModule, SearchResearchResultsModule, SearchSoftwareRoutingModule
],
declarations: [
OpenaireSearchSoftwareComponent
],
providers:[FreeGuard,PreviousRouteRecorder
],
exports: [
OpenaireSearchSoftwareComponent
]
})
export class LibSearchSoftwareModule { }

View File

@ -1,63 +0,0 @@
// import {Component} from '@angular/core';
// import {ActivatedRoute} from '@angular/router';
// import "rxjs/add/observable/zip";
// import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
// import {FilterInfo, PortalAggregators} from "../utils/aggregators";
// import {MenuItem, RootMenuItem} from "../openaireLibrary/sharedComponents/menu";
//
// @Component({
// selector: 'aggNavbar',
// templateUrl: `
// <navbar *ngIf="properties" portal="aggregator" [environment]=properties.environment [onlyTop]=false
// [communityId]="properties.adminToolsCommunity" [menuItems]=menuItems
// [APIUrl]="properties.adminToolsAPIURL" [logInUrl]="properties.loginUrl"
// [logOutUrl]="properties.logoutUrl" [cookieDomain]="properties.cookieDomain" [userMenu]="false" [community]="community" [showCommunityName]="true"></navbar>
// `,
// })
// export class AggregatorNavBarComponent {
//
// properties: EnvProperties;
// menuItems: RootMenuItem [] = [
// {rootItem: new MenuItem("home", "Home", "", "/", false, [], null, {}), items: []},
// {
// rootItem: new MenuItem("search", "Search", "", "/search/find", false, [], ["/search/find"], {}),
// items: [new MenuItem("", "Publications", "", "/search/find/publications", false, ["publication"], ["/search/find/publications"], {}),
// new MenuItem("", "Research Data", "", "/search/find/datasets", false, ["dataset"], ["/search/find/datasets"], {}),
// new MenuItem("", "Software", "", "/search/find/software", false, ["software"], ["/search/find/software"], {}),
// new MenuItem("", "Other Research Products", "", "/search/find/other", false, ["orp"], ["/search/find/other"], {}),
// // new MenuItem("", "Projects", "", "/search/find/projects/", false, ["project"], ["/search/find/projects"], {}),
// // new MenuItem("", "Content Providers", "", "/search/find/dataproviders", false, ["datasource"], ["/search/find/dataproviders"], {}),
// new MenuItem("", "Organizations", "", "/search/find/organizations/", false, ["organization"], ["/search/find/organizations"], {})
// ]
// }
// ];
// community = {id: "CA", name: "Canada Aggregator", logoUrl:"assets/common-assets/logo-small-aggregator.png"};
//
//
// constructor(
// private route: ActivatedRoute,
//
// ) {
// let id = this.route.snapshot.paramMap.get('id');
// console.log(id);
// let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
// // this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
// // console.log(this.customFilter);
//
//
//
// }
//
// public ngOnInit() {
//
// this.route.data
// .subscribe((data: { envSpecific: EnvProperties }) => {
// this.properties = data.envSpecific;
//
//
//
// });
//
// }
//
// }

View File

@ -22,7 +22,7 @@ export class FilterInfo {
export class PortalAggregators {
static list: FilterInfo[] = [
new FilterInfo("canada", "Canadian Aggregator", "assets/common-assets/logo-small-aggregator.png", "Country", "country", "CA", "Canada"),
new FilterInfo("canada", "Canadian Aggregator", "assets/canada-logo.png", "Country", "country", "CA", "Canada"),
new FilterInfo("italy", "Italian Aggregator", "assets/common-assets/logo-small-aggregator.png", "Country", "country", "IT", "Italy"),
new FilterInfo("greece", "Greek Aggregator", "assets/common-assets/logo-small-aggregator.png", "Country", "country", "GR", "Greece"),
@ -46,6 +46,8 @@ export class PortalAggregators {
let filter:SearchCustomFilter = null;
if(agg) {
filter = new SearchCustomFilter(agg.fieldName, agg.queryFieldName, agg.valueId, agg.valueName);
filter.promptToAddFilter = true;
filter.isHiddenFilter = false;
}
return filter;
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

BIN
src/assets/canada-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -1,5 +1,5 @@
{
"environment" : "development",
"environment" : "production",
"enablePiwikTrack" : false,
"enableHelper" : true,
"useCache" : false,

1
src/assets/graph.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 738 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 535 B

After

Width:  |  Height:  |  Size: 86 KiB

View File

@ -0,0 +1,45 @@
:root {
--portal-main-color: #E80000;
--portal-main-contrast: white;
--portal-dark-color: #ad0000;
--openaire-main-color: #313179;
}
.graph-background {
background-size: cover !important;
padding-bottom: 100px;
background: #FAFAFA url('/assets/canada-background.svg') no-repeat bottom;
}
.mainPageSearchForm{
background-color: white !important;
background-image: none !important;
margin-bottom: 100px;
}
.searchForm, .generalSearchForm,
.publicationsSearchForm,
.projectsSearchForm, .projectsTableSearchForm,
.organizationsSearchForm,
.datasetsSearchForm,
.softwareSearchForm,
.orpsSearchForm,
.datasourcesSearchForm, .compatibleDatasourcesSearchForm, .compatibleDatasourcesTableSearchForm, .datasourcesTableSearchForm,
.journalsSearchForm, .journalsTableSearchForm,
.entityRegistriesSearchForm, .entityRegistriesTableSearchForm {
background-color: white !important;
background-image: none !important;
}
.emphasis {
color: #000;
font-size: 17px;
font-weight: bold;
}
.portal-color.emphasis {
color: #37C7E9;
font-size: 40px;
font-weight: bold;
}

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 188 KiB

View File

@ -0,0 +1,8 @@
// The file contents for the current environment will overwrite these during build.
// The build system defaults to the dev environment which uses `environment.ts`, but if you do
// `ng build --env=prod` then `environment.prod.ts` will be used instead.
// The list of which env maps to which file can be found in `.angular-cli.json`.
export const portalProperties = {
production: true
};

View File

@ -0,0 +1,3 @@
export const portalProperties = {
production: true
};

View File

@ -0,0 +1,69 @@
// The file contents for the current environment will overwrite these during build.
// The build system defaults to the dev environment which uses `environment.ts`, but if you do
// `ng build --env=prod` then `environment.prod.ts` will be used instead.
// The list of which env maps to which file can be found in `.angular-cli.json`.
export const portalProperties = {
production: false,
aggregator: "canada",
title: "{Title}",
logoPath: "assets/logo.png",
sectionFooter:
`
<div class="uk-section-primary uk-section uk-section-xsmall">
<div class="uk-container uk-container-expand">
<div class="uk-h2 uk-text-center">{This is Footer section}</div>
<div class="uk-grid-margin uk-grid" uk-grid="">
<div class="uk-width-small@m uk-first-column"></div>
<div class="uk-width-expand@m">
<div class=" uk-text-small uk-margin uk-margin-remove-bottom uk-text-center@m uk-text-center uk-text-lead" id="footer#22">
<a class="license" href="http://creativecommons.org/licenses/by/4.0/" rel="license">
<svg class=" uk-svg" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<title></title>
<g data-name="Creative Commons" id="Creative_Commons">
<circle cx="12" cy="12" r="11.5" style="fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round"></circle>
<path d="M10.87,10a3.5,3.5,0,1,0,0,4" style="fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round"></path>
<path d="M18.87,10a3.5,3.5,0,1,0,0,4" style="fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round"></path>
</g>
</svg> &nbsp;
<svg class=" uk-svg" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<title></title>
<g id="Attribution">
<g data-name="<Group>" id="_Group_">
<circle cx="12" cy="5" data-name="<Path>" id="_Path_" r="1.5" style="fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round"></circle>
<path d="M12,8a5,5,0,0,0-3.07.71,1,1,0,0,0-.43.83V15H10v5.5h4V15h1.5V9.54a1,1,0,0,0-.43-.83A5,5,0,0,0,12,8Z" data-name="<Path>" id="_Path_2" style="fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round"></path>
</g>
<circle cx="12" cy="12" r="11.5" style="fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round"></circle>
</g>
</svg>
</a> &nbsp;Unless otherwise indicated, all materials created by OpenAIRE are licenced under&nbsp;<a href="http://creativecommons.org/licenses/by/4.0/" rel="license">CC ATTRIBUTION 4.0 INTERNATIONAL LICENSE</a>. </div>
</div>
<div class="uk-width-small@m">
<div class="uk-margin uk-margin-remove-top uk-margin-remove-bottom uk-text-right@m uk-text-center">
<a class="uk-totop uk-icon" href="#" uk-scroll="" uk-totop="">
<svg width="15" height="20" viewBox="0 0 15 20" xmlns="http://www.w3.org/2000/svg" icon="totop" ratio="1">
<polyline fill="none" stroke="#0000" stroke-width="1.1" points="1,8 7.5,1.5 14,8 "></polyline>
<rect fill="000" x="7" y="2" width="1" height="20"></rect>
</svg>
</a>
</div>
</div>
</div>
</div>
</div>
`,
showNumbersInHhomePage:false,
searchFormSection: `<div class='uk-text-center'> <div class="uk-h2">{Search Form Section}</div></div>`,
homeSectionOne: `<div class='uk-section uk-text-center'> <div class="uk-h2">{This is section One}</div></div>`,
homeSectionTwo: `<div class='uk-section uk-text-center'> <div class="uk-h2">{This is section Two}</div></div>`,
entities:{
publication:{isEnabled:true,simpleSearchPage:true,advancedSearchPage:true},
dataset:{isEnabled:true,simpleSearchPage:true,advancedSearchPage:true},
software:{isEnabled:true,simpleSearchPage:true,advancedSearchPage:true},
other:{isEnabled:true,simpleSearchPage:true,advancedSearchPage:true},
datasource:{isEnabled:true,simpleSearchPage:true,advancedSearchPage:true},
organization:{isEnabled:true,simpleSearchPage:true,advancedSearchPage:true},
project:{isEnabled:true,simpleSearchPage:true,advancedSearchPage:true}},
searchServiceUrl:""
};

View File

@ -0,0 +1,120 @@
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
export let properties: EnvProperties = {
environment: "beta",
adminToolsPortalType: "aggregator",
dashboard: "explore",
enablePiwikTrack: true,
useCache: false,
useLongCache: true,
showAddThis: true,
metricsAPIURL: "https://beta.services.openaire.eu/usagestats/",
framesAPIURL: "https://beta.openaire.eu/stats3/",
statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/",
statisticsFrameAPIURL: "https://beta.openaire.eu/stats/",
statisticsFrameNewAPIURL: "https://stats.madgik.di.uoa.gr/stats-api/",
useNewStatistisTool: true,
claimsAPIURL: "https://beta.services.openaire.eu/claims/rest/claimsService/",
searchAPIURLLAst: "https://beta.services.openaire.eu/search/v2/api/",
searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources",
openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",
csvAPIURL: "https://beta.services.openaire.eu/search/v2/api/reports",
searchCrossrefAPIURL: "https://api.crossref.org/works",
searchDataciteAPIURL: "https://api.datacite.org/works",
searchOrcidURL: "https://pub.orcid.org/v2.1/",
orcidURL: "https://orcid.org/",
doiURL: "https://dx.doi.org/",
pmcURL: "http://europepmc.org/articles/",
pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
handleURL: "http://hdl.handle.net/",
cordisURL: "http://cordis.europa.eu/projects/",
openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
r3DataURL: "http://service.re3data.org/repository/",
sherpaURL: "http://sherpa.ac.uk/romeo/issn/",
sherpaURLSuffix: "/",
zenodo: "https://zenodo.org/",
openAccess: "https://www.openaire.eu/support/faq#article-id-234",
openAccessRepo: "https://www.openaire.eu/support/faq#article-id-310",
fp7Guidlines: "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme",
h2020Guidlines: "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020",
ercGuidlines: "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf",
helpdesk: "https://www.openaire.eu/support/helpdesk",
helpdeskEmail: "helpdesk@openaire.eu",
utilsService: "https://demo.openaire.eu/utils-service",
vocabulariesAPI: "https://beta.services.openaire.eu/provision/mvc/vocabularies/",
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
piwikSiteId: "6",
loginUrl: "https://beta.services.openaire.eu/uoa-user-management/openid_connect_login",
userInfoUrl: "https://beta.services.openaire.eu/uoa-user-management/api/users/getUserInfo?accessToken=",
logoutUrl: "https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=",
cookieDomain: ".openaire.eu",
feedbackmail: "feedback@openaire.eu",
cacheUrl: "https://demo.openaire.eu/cache/get?url=",
datasourcesAPI: "https://beta.services.openaire.eu/openaire/ds/search/",
adminToolsAPIURL: "https://beta.services.openaire.eu/uoa-admin-tools/",
adminToolsCommunity: "openaire",
contextsAPI: "https://beta.services.openaire.eu/openaire/context",
communityAPI: "https://beta.services.openaire.eu/openaire/community/",
csvLimit: 2000,
pagingLimit: 20,
resultsPerPage: 10,
"baseLink" : "/",
"domain":"https://beta.explore.openaire.eu",
searchLinkToResult: "/search/result?id=",
searchLinkToPublication: "/search/publication?articleId=",
searchLinkToProject: "/search/project?projectId=",
searchLinkToDataProvider: "/search/dataprovider?datasourceId=",
searchLinkToDataset: "/search/dataset?datasetId=",
searchLinkToSoftwareLanding: "/search/software?softwareId=",
searchLinkToOrp: "/search/other?orpId=",
searchLinkToOrganization: "/search/organization?organizationId=",
searchLinkToPublications: "/search/find/publications",
searchLinkToDataProviders: "/search/find/dataproviders",
searchLinkToProjects: "/search/find/projects",
searchLinkToDatasets: "/search/find/datasets",
searchLinkToSoftware: "/search/find/software",
searchLinkToOrps: "/search/find/other",
searchLinkToOrganizations: "/search/find/organizations",
searchLinkToCompatibleDataProviders: "/search/content-providers",
searchLinkToEntityRegistriesDataProviders: "/search/entity-registries",
searchLinkToEntityRegistriesDataProvidersTable: "/search/entity-registries-table",
searchLinkToJournals: "/search/journals",
searchLinkToJournalsTable: "/search/journals-table",
searchLinkToResults: "/search/find/research-outcomes",
searchLinkToAdvancedPublications: "/search/advanced/publications",
searchLinkToAdvancedProjects: "/search/advanced/projects",
searchLinkToAdvancedDatasets: "/search/advanced/datasets",
searchLinkToAdvancedSoftware: "/search/advanced/software",
searchLinkToAdvancedOrps: "/search/advanced/other",
searchLinkToAdvancedDataProviders: "/search/advanced/dataproviders",
searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
lastIndexInformationLink: "https://www.openaire.eu/aggregation-and-content-provision-workflows",
showLastIndexInformationLink: false,
widgetLink: "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
claimsInformationLink: "https://beta.openaire.eu/linking",
lastIndexUpdate: "2020-05-11",
indexInfoAPI: "https://beta.services.openaire.eu/openaire/info/",
depositLearnHowPage: "/participate/deposit/learn-how",
depositSearchPage: "/participate/deposit/search",
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
b2noteAPIURL: "http://b2note-dev.bsc.es/"
};

View File

@ -1,3 +1,121 @@
export const environment = {
production: true
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
export let properties: EnvProperties = {
environment: "production",
adminToolsPortalType: "aggregator",
dashboard: "explore",
enablePiwikTrack: true,
useCache: false,
useLongCache: true,
showAddThis: true,
metricsAPIURL: "https://services.openaire.eu/usagestats/",
framesAPIURL: "https://www.openaire.eu/stats3/",
statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/",
statisticsFrameAPIURL: "https://www.openaire.eu/stats/",
statisticsFrameNewAPIURL: "https://services.openaire.eu/stats/",
useNewStatistisTool: false,
claimsAPIURL: "https://services.openaire.eu/claims/rest/claimsService/",
searchAPIURLLAst: "https://services.openaire.eu/search/v2/api/",
searchResourcesAPIURL: "https://services.openaire.eu/search/v2/api/resources",
openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",
csvAPIURL: "https://services.openaire.eu/search/v2/api/reports",
searchCrossrefAPIURL: "https://api.crossref.org/works",
searchDataciteAPIURL: "https://api.datacite.org/works",
searchOrcidURL: "https://pub.orcid.org/v2.1/",
orcidURL: "https://orcid.org/",
doiURL: "https://dx.doi.org/",
pmcURL: "http://europepmc.org/articles/",
pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
handleURL: "http://hdl.handle.net/",
cordisURL: "http://cordis.europa.eu/projects/",
openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
r3DataURL: "http://service.re3data.org/repository/",
sherpaURL: "http://sherpa.ac.uk/romeo/issn/",
sherpaURLSuffix: "/",
zenodo: "https://zenodo.org/",
openAccess: "https://www.openaire.eu/support/faq#article-id-234",
openAccessRepo: "https://www.openaire.eu/support/faq#article-id-310",
fp7Guidlines: "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme",
h2020Guidlines: "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020",
ercGuidlines: "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf",
helpdesk: "https://www.openaire.eu/support/helpdesk",
helpdeskEmail: "helpdesk@openaire.eu",
utilsService: "https://explore.openaire.eu/utils-service",
vocabulariesAPI: "https://services.openaire.eu/provision/mvc/vocabularies/",
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
piwikSiteId: "109",
loginUrl: "https://services.openaire.eu/uoa-user-management/openid_connect_login",
userInfoUrl: " https://services.openaire.eu/uoa-user-management/api/users/getUserInfo?accessToken=",
logoutUrl: "https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=",
cookieDomain: ".openaire.eu",
feedbackmail: "feedback@openaire.eu",
cacheUrl: "https://explore.openaire.eu/cache/get?url=",
datasourcesAPI: "https://services.openaire.eu/openaire/ds/search/",
adminToolsAPIURL: "https://services.openaire.eu/uoa-admin-tools/",
adminToolsCommunity: "openaire",
contextsAPI: "https://services.openaire.eu/openaire/context",
communityAPI: "https://services.openaire.eu/openaire/community/",
csvLimit: 2000,
pagingLimit: 20,
resultsPerPage: 10,
"baseLink" : "/",
"domain": "https://explore.openaire.eu",
searchLinkToResult: "/search/result?id=",
searchLinkToPublication: "/search/publication?articleId=",
searchLinkToProject: "/search/project?projectId=",
searchLinkToDataProvider: "/search/dataprovider?datasourceId=",
searchLinkToDataset: "/search/dataset?datasetId=",
searchLinkToSoftwareLanding: "/search/software?softwareId=",
searchLinkToOrp: "/search/other?orpId=",
searchLinkToOrganization: "/search/organization?organizationId=",
searchLinkToPublications: "/search/find/publications",
searchLinkToDataProviders: "/search/find/dataproviders",
searchLinkToProjects: "/search/find/projects",
searchLinkToDatasets: "/search/find/datasets",
searchLinkToSoftware: "/search/find/software",
searchLinkToOrps: "/search/find/other",
searchLinkToOrganizations: "/search/find/organizations",
searchLinkToCompatibleDataProviders: "/search/content-providers",
searchLinkToEntityRegistriesDataProviders: "/search/entity-registries",
searchLinkToEntityRegistriesDataProvidersTable: "/search/entity-registries-table",
searchLinkToJournals: "/search/journals",
searchLinkToJournalsTable: "/search/journals-table",
searchLinkToResults: "/search/find/research-outcomes",
searchLinkToAdvancedPublications: "/search/advanced/publications",
searchLinkToAdvancedProjects: "/search/advanced/projects",
searchLinkToAdvancedDatasets: "/search/advanced/datasets",
searchLinkToAdvancedSoftware: "/search/advanced/software",
searchLinkToAdvancedOrps: "/search/advanced/other",
searchLinkToAdvancedDataProviders: "/search/advanced/dataproviders",
searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
lastIndexInformationLink: "https://www.openaire.eu/aggregation-and-content-provision-workflows",
showLastIndexInformationLink: true,
widgetLink: "https://www.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
claimsInformationLink: "https://www.openaire.eu/linking",
lastIndexUpdate: "2020-06-15",
indexInfoAPI: "https://services.openaire.eu/openaire/info/",
depositLearnHowPage: "/participate/deposit/learn-how",
depositSearchPage: "/participate/deposit/search",
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
b2noteAPIURL: "http://b2note-dev.bsc.es/"
};

View File

@ -3,6 +3,122 @@
// `ng build --env=prod` then `environment.prod.ts` will be used instead.
// The list of which env maps to which file can be found in `.angular-cli.json`.
export const environment = {
production: false
import {EnvProperties} from "../app/openaireLibrary/utils/properties/env-properties";
export let properties: EnvProperties = {
environment: "development",
adminToolsPortalType: "aggregator",
dashboard: "explore",
enablePiwikTrack: false,
useCache: true,
useLongCache: true,
showAddThis: true,
metricsAPIURL: "https://beta.services.openaire.eu/usagestats/",
framesAPIURL: "https://beta.openaire.eu/stats3/",
statisticsAPIURL: "http://vatopedi.di.uoa.gr:8080/stats/",
statisticsFrameAPIURL: "https://beta.openaire.eu/stats/",
statisticsFrameNewAPIURL: "https://stats.madgik.di.uoa.gr/stats-api/",
useNewStatistisTool: true,
claimsAPIURL: "http://dl170.madgik.di.uoa.gr:8180/dnet-claims-service-2.0.0-SNAPSHOT/rest/claimsService/",
searchAPIURLLAst: "http://beta.services.openaire.eu/search/v2/api/",
searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources",
openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",
csvAPIURL: "https://beta.services.openaire.eu/search/v2/api/reports",
searchCrossrefAPIURL: "https://api.crossref.org/works",
searchDataciteAPIURL: "https://api.datacite.org/works",
searchOrcidURL: "https://pub.orcid.org/v2.1/",
orcidURL: "https://orcid.org/",
doiURL: "https://dx.doi.org/",
pmcURL: "http://europepmc.org/articles/",
pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
handleURL: "http://hdl.handle.net/",
cordisURL: "http://cordis.europa.eu/projects/",
openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
r3DataURL: "http://service.re3data.org/repository/",
sherpaURL: "http://sherpa.ac.uk/romeo/issn/",
sherpaURLSuffix: "/",
zenodo: "https://zenodo.org/",
openAccess: "https://www.openaire.eu/support/faq#article-id-234",
openAccessRepo: "https://www.openaire.eu/support/faq#article-id-310",
fp7Guidlines: "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme",
h2020Guidlines: "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020",
ercGuidlines: "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf",
helpdesk: "https://www.openaire.eu/support/helpdesk",
helpdeskEmail: "helpdesk@openaire.eu",
utilsService: "http://dl170.madgik.di.uoa.gr:8000",
vocabulariesAPI: "https://dev-openaire.d4science.org/provision/mvc/vocabularies/",
piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
piwikSiteId: "6",
loginUrl: "http://dl170.madgik.di.uoa.gr:8180/dnet-login/openid_connect_login",
userInfoUrl: "http://dl170.madgik.di.uoa.gr:8180/dnet-openaire-users-1.0.0-SNAPSHOT/api/users/getUserInfo?accessToken=",
logoutUrl: "https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=",
cookieDomain: ".di.uoa.gr",
feedbackmail: "kostis30fylloy@gmail.com",
cacheUrl: "http://dl170.madgik.di.uoa.gr:3000/get?url=",
adminToolsAPIURL: "http://duffy.di.uoa.gr:8080/uoa-admin-tools/",
adminToolsCommunity: "openaire",
datasourcesAPI: "https://beta.services.openaire.eu/openaire/ds/search/",
contextsAPI: "https://dev-openaire.d4science.org/openaire/context",
communityAPI: "https://dev-openaire.d4science.org/openaire/community/",
csvLimit: 2000,
pagingLimit: 20,
resultsPerPage: 10,
"baseLink" : "",
"domain": "https://beta.explore.openaire.eu",
searchLinkToResult: "/search/result?id=",
searchLinkToPublication: "/search/publication?articleId=",
searchLinkToProject: "/search/project?projectId=",
searchLinkToDataProvider: "/search/dataprovider?datasourceId=",
searchLinkToDataset: "/search/dataset?datasetId=",
searchLinkToSoftwareLanding: "/search/software?softwareId=",
searchLinkToOrp: "/search/other?orpId=",
searchLinkToOrganization: "/search/organization?organizationId=",
searchLinkToPublications: "/search/find/publications",
searchLinkToDataProviders: "/search/find/dataproviders",
searchLinkToProjects: "/search/find/projects",
searchLinkToDatasets: "/search/find/datasets",
searchLinkToSoftware: "/search/find/software",
searchLinkToOrps: "/search/find/other",
searchLinkToOrganizations: "/search/find/organizations",
searchLinkToCompatibleDataProviders: "/search/content-providers",
searchLinkToEntityRegistriesDataProviders: "/search/entity-registries",
searchLinkToEntityRegistriesDataProvidersTable: "/search/entity-registries-table",
searchLinkToJournals: "/search/journals",
searchLinkToJournalsTable: "/search/journals-table",
searchLinkToResults: "/search/find/research-outcomes",
searchLinkToAdvancedPublications: "/search/advanced/publications",
searchLinkToAdvancedProjects: "/search/advanced/projects",
searchLinkToAdvancedDatasets: "/search/advanced/datasets",
searchLinkToAdvancedSoftware: "/search/advanced/software",
searchLinkToAdvancedOrps: "/search/advanced/other",
searchLinkToAdvancedDataProviders: "/search/advanced/dataproviders",
searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
lastIndexInformationLink: "https://www.openaire.eu/aggregation-and-content-provision-workflows",
showLastIndexInformationLink: true,
widgetLink: "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
claimsInformationLink: "https://www.openaire.eu/linking-beta",
lastIndexUpdate: "2019-11-01",
indexInfoAPI: "https://beta.services.openaire.eu/openaire/info/",
depositLearnHowPage: "/participate/deposit/learn-how",
depositSearchPage: "/participate/deposit/search",
altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
reCaptchaSiteKey: "6LcVtFIUAAAAAB2ac6xYivHxYXKoUvYRPi-6_rLu",
b2noteAPIURL: "http://b2note-dev.bsc.es/"
};

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="en-gb" dir="ltr" vocab="http://schema.org/">
<html lang="en" dir="ltr" vocab="http://schema.org/">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
@ -20,10 +20,7 @@
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="360" />
<meta property="og:image:height" content="359" />
<!--meta name="robots" content="noindex"-->
<meta name="google-site-verification" content="rZ-58gIX8IqzBte6Qv4J5yY9aSiDP15Dfc1Yr9yezqE" />
<meta name="msvalidate.01" content="AE99823CD202A982BAA0154148234DA8" />
<meta name="yandex-verification" content="a7b057437d324960" />
<meta name="robots" content="noindex">
<link rel="apple-touch-icon" sizes="57x57" href="assets/common-assets/logo/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="assets/common-assets/logo/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="assets/common-assets/logo/apple-icon-72x72.png">
@ -44,52 +41,6 @@
<meta name="theme-color" content="#ffffff">
<title>Search OpenAIRE</title>
<script>
window.onerror = function (errorMsg, url, lineNumber, column, errorObj) {
// console.log(errorMsg + " __" + url + " __" + lineNumber + " __" + column + " __" + errorObj);
if((errorMsg && errorMsg.indexOf("uikit.js") != -1) || url.indexOf("uikit.js") != -1 ){
console.log("********UIKIT Error ***********");
$.getScript("assets/common-assets/common/uikit.js");
$.getScript("assets/common-assets/common/uikit-icons-max.js");
}
}
</script>
<!-- <script src="assets/common-assets/jquery/jquery.min.js" type="text/javascript"></script> -->
<script src="assets/common-assets/common/jquery.js"></script>
<script src="assets/common-assets/citeproc.js"></script>
<!-- <script src="assets/common-assets/common/uikit.js"></script> -->
<script src="assets/common-assets/common/uikit-icons-max.js"></script>
<script>
$(document).ready(function(){
console.log("Is ready - load uikit ***")
$.getScript("assets/common-assets/common/uikit.js");
$.getScript("assets/common-assets/common/uikit-icons-max.js");
$.getScript("//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-559d24521cd8c080");
});
</script>
<link rel="stylesheet" href="assets/common-assets/common/theme.css">
<link rel="stylesheet" href="assets/common-assets/common/custom.css">
<link rel="stylesheet" href="assets/common-assets/library.css">
<link rel="stylesheet" href="assets/aggregator-custom.css">
<script src="assets/common-assets/clipboard.min.js"></script>
<!--script type='text/javascript' src="node_modules/clipboard/dist/clipboard.min.js"></script-->
<!--script src="https://cdn.jsdelivr.net/clipboard.js/1.5.12/clipboard.min.js"></script-->
<!--script type='text/javascript' src='https://d1bxh8uas1mnw7.cloudfront.net/assets/common-assets/embed.js'></script-->
<!-- End of Google sitelinks search markup-->
</head>
<body class="" style="">
@ -106,9 +57,5 @@ $(document).ready(function(){
};
</script>
<!-- Go to www.addthis.com/dashboard to customize your tools -->
<!-- to update addThis: https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-559d24521cd8c080-->
<!-- <script type="text/javascript" src="https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5a12dbd124e4e521"></script> -->
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-559d24521cd8c080"></script>
</body>
</html>

View File

@ -2,9 +2,9 @@ import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
import {portalProperties} from "./environments/environment-aggregator";
if (environment.production) {
if (portalProperties.production) {
enableProdMode();
}

View File

@ -1,2 +1,8 @@
/* You can add global styles to this file, and also import other style files */
@import '~@angular/material/prebuilt-themes/indigo-pink.css';
@import "assets/common-assets/common/theme.css";
@import "assets/common-assets/common/custom.css";
@import "assets/common-assets/library.css";
@import "assets/portal-custom.css";