[Aggregator | Trunk]: 1. Add Deposit-Linking. 2. Get id from domain. 3. Add custom filter for searches on menu

git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-aggregator-portal/trunk@59936 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
k.triantafyllou 2020-11-23 12:28:46 +00:00
parent 793a227199
commit 94bace40e7
45 changed files with 806 additions and 343 deletions

View File

@ -1,81 +0,0 @@
import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router';
const routes: Routes = [
{path: '', loadChildren: '../home/home.module#HomeModule'},
{ path: 'search/result',
loadChildren: '../landingPages/result/libResult.module#LibResultModule'
},
{
path: 'search/publication',
loadChildren: '../landingPages/publication/libPublication.module#LibPublicationModule'
},
{
path: 'search/dataset',
loadChildren: '../landingPages/dataset/libDataset.module#LibDatasetModule'
},
{
path: 'search/software',
loadChildren: '../landingPages/software/libSoftware.module#LibSoftwareModule'
},
{
path: 'search/other',
loadChildren: '../landingPages/orp/libOrp.module#LibOrpModule'
},
{
path: 'search/project',
loadChildren: '../landingPages/project/libProject.module#LibProjectModule'
},
{
path: 'search/dataprovider',
loadChildren: '../landingPages/dataProvider/libDataProvider.module#LibDataProviderModule'
},
{
path: 'search/organization',
loadChildren: '../landingPages/organization/libOrganization.module#LibOrganizationModule'
},
{
path: 'search/find',
loadChildren: '../searchPages/find/libSearch.module#LibMainSearchModule'
},
{ path: 'search/find/research-outcomes', loadChildren: '../searchPages/simple/searchResearchResults.module#OpenaireSearchResearchResultsModule'
},
{
path: 'search/find/projects',
loadChildren: '../searchPages/simple/searchProjects.module#LibSearchProjectsModule'
},
{
path: 'search/find/dataproviders',
loadChildren: '../searchPages/simple/searchDataProviders.module#LibSearchDataProvidersModule'
},
{
path: 'search/find/organizations',
loadChildren: '../searchPages/simple/searchOrganizations.module#LibSearchOrganizationsModule'
},
{ path: 'search/advanced/research-outcomes',
loadChildren: '../searchPages/advanced/searchResearchResults.module#OpenaireAdvancedSearchResearchResultsModule'
},
{
path: 'search/advanced/organizations',
loadChildren: '../searchPages/advanced/advancedSearchOrganizations.module#LibAdvancedSearchOrganizationsModule'
},
{
path: 'search/advanced/dataproviders',
loadChildren: '../searchPages/advanced/advancedSearchDataProviders.module#LibAdvancedSearchDataProvidersModule'
},
{
path: 'search/advanced/projects',
loadChildren: '../searchPages/advanced/advancedSearchProjects.module#LibAdvancedSearchProjectsModule'
},
{
path: 'project-report',
loadChildren: '../landingPages/htmlProjectReport/libHtmlProjectReport.module#LibHtmlProjectReportModule'
},
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class AggregatorRoutingModule {
}

View File

@ -1,22 +0,0 @@
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {HttpClientModule} from "@angular/common/http";
import {AggregatorRoutingModule} from "./aggregator-routing.module";
import {EnvironmentSpecificResolver} from "../openaireLibrary/utils/properties/environmentSpecificResolver";
import {SharedModule} from "../shared/shared.module";
@NgModule({
imports: [
SharedModule,
CommonModule,
HttpClientModule,
AggregatorRoutingModule
],
providers: [
EnvironmentSpecificResolver
],
})
export class AggregatorModule {
}

View File

@ -1,17 +1,105 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import {NgModule} from '@angular/core';
import {Routes, RouterModule} from '@angular/router';
import { EnvironmentSpecificResolver} from './openaireLibrary/utils/properties/environmentSpecificResolver';
import { EnvironmentSpecificService} from './openaireLibrary/utils/properties/environment-specific.service';
import {EnvironmentSpecificResolver} from './openaireLibrary/utils/properties/environmentSpecificResolver';
import {EnvironmentSpecificService} from './openaireLibrary/utils/properties/environment-specific.service';
import { OpenaireErrorPageComponent } from './error/errorPage.component';
import {OpenaireErrorPageComponent} from './error/errorPage.component';
const routes: Routes = [
{ path: '', loadChildren: './aggregator/aggregator.module#AggregatorModule'},
{ path: ':id', loadChildren: './aggregator/aggregator.module#AggregatorModule'},
{ path: 'error', component: OpenaireErrorPageComponent},
{ path: '**',pathMatch: 'full',component: OpenaireErrorPageComponent}
{path: '', loadChildren: './home/home.module#HomeModule'},
{
path: 'search/result',
loadChildren: './landingPages/result/libResult.module#LibResultModule'
},
{
path: 'search/publication',
loadChildren: './landingPages/publication/libPublication.module#LibPublicationModule'
},
{
path: 'search/dataset',
loadChildren: './landingPages/dataset/libDataset.module#LibDatasetModule'
},
{
path: 'search/software',
loadChildren: './landingPages/software/libSoftware.module#LibSoftwareModule'
},
{
path: 'search/other',
loadChildren: './landingPages/orp/libOrp.module#LibOrpModule'
},
{
path: 'search/project',
loadChildren: './landingPages/project/libProject.module#LibProjectModule'
},
{
path: 'search/dataprovider',
loadChildren: './landingPages/dataProvider/libDataProvider.module#LibDataProviderModule'
},
{
path: 'search/organization',
loadChildren: './landingPages/organization/libOrganization.module#LibOrganizationModule'
},
{
path: 'search/find',
loadChildren: './searchPages/find/libSearch.module#LibMainSearchModule'
},
{
path: 'search/find/research-outcomes',
loadChildren: './searchPages/simple/searchResearchResults.module#OpenaireSearchResearchResultsModule'
},
{
path: 'search/find/projects',
loadChildren: './searchPages/simple/searchProjects.module#LibSearchProjectsModule'
},
{
path: 'search/find/dataproviders',
loadChildren: './searchPages/simple/searchDataProviders.module#LibSearchDataProvidersModule'
},
{
path: 'search/find/organizations',
loadChildren: './searchPages/simple/searchOrganizations.module#LibSearchOrganizationsModule'
},
{
path: 'search/advanced/research-outcomes',
loadChildren: './searchPages/advanced/searchResearchResults.module#OpenaireAdvancedSearchResearchResultsModule'
},
{
path: 'search/advanced/organizations',
loadChildren: './searchPages/advanced/advancedSearchOrganizations.module#LibAdvancedSearchOrganizationsModule'
},
{
path: 'search/advanced/dataproviders',
loadChildren: './searchPages/advanced/advancedSearchDataProviders.module#LibAdvancedSearchDataProvidersModule'
},
{
path: 'search/advanced/projects',
loadChildren: './searchPages/advanced/advancedSearchProjects.module#LibAdvancedSearchProjectsModule'
},
{
path: 'project-report',
loadChildren: './landingPages/htmlProjectReport/libHtmlProjectReport.module#LibHtmlProjectReportModule'
},
// Deposit Pages
{ path: 'participate/deposit-datasets', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
{ path: 'participate/deposit-datasets-result', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
{ path: 'participate/deposit-subject-result', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
{ path: 'participate/deposit-publications', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
{ path: 'participate/deposit-publications-result', redirectTo: 'participate/deposit/learn-how', pathMatch: 'full'},
{ path: 'participate/deposit/learn-how', loadChildren: './deposit/deposit.module#LibDepositModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'participate/deposit/search', loadChildren: './deposit/searchDataprovidersToDeposit.module#LibSearchDataprovidersToDepositModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
// Linking Pages
{ path: 'myclaims', loadChildren: './claims/myClaims/myClaims.module#LibMyClaimsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'claims', loadChildren: './claims/claimsAdmin/claimsAdmin.module#LibClaimsAdminModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'participate/claim', loadChildren: './claims/linking/linkingGeneric.module#LibLinkingGenericModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'participate/direct-claim', loadChildren: './claims/directLinking/directLinking.module#LibDirectLinkingModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'claims-project-manager', loadChildren: './claims/claimsByToken/claimsByToken.module#LibClaimsByTokenModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{path: 'user-info', loadChildren: './login/libUser.module#LibUserModule'},
{path: 'error', component: OpenaireErrorPageComponent},
{path: '**', pathMatch: 'full', component: OpenaireErrorPageComponent}
];
@NgModule({
@ -19,4 +107,5 @@ const routes: Routes = [
exports: [RouterModule],
providers: [EnvironmentSpecificResolver, EnvironmentSpecificService]
})
export class AppRoutingModule { }
export class AppRoutingModule {
}

View File

@ -10,152 +10,122 @@ import {UserManagementService} from "./openaireLibrary/services/user-management.
import {User} from "./openaireLibrary/login/utils/helper.class";
import {Header} from "./openaireLibrary/sharedComponents/navigationBar.component";
import {portalProperties} from "../environments/environment-aggregator";
import {properties} from "../environments/environment";
import {ConnectHelper} from "./openaireLibrary/connect/connectHelper";
@Component({
//changeDetection: ChangeDetectionStrategy.Default,
//encapsulation: ViewEncapsulation.Emulated,
selector: 'app-root',
styles: [`
`],
template: `
<navbar *ngIf="properties && loginCheck && header" portal="aggregator" [properties]=properties [onlyTop]=false [user]="user"
[communityId]="properties.adminToolsCommunity" [menuItems]=menuItems
[userMenu]="true" [header]="header"></navbar>
<div class="custom-main-content">
<main>
<router-outlet></router-outlet>
</main>
</div>
<cookie-law *ngIf="isClient" position="bottom">
OpenAIRE uses cookies in order to function properly.<br>
Cookies are small pieces of data that websites store in your browser to allow us to give you the best browsing
experience possible.
By using the OpenAIRE portal you accept our use of cookies. <a
href="//ec.europa.eu/ipg/basics/legal/cookies/index_en.htm" target="_blank"> Read more <span class="uk-icon">
<div *ngIf="agg">
<navbar *ngIf="properties && loginCheck && header" portal="aggregator" [properties]=properties [onlyTop]=false
[user]="user" [userMenuItems]="userMenuItems"
[communityId]="properties.adminToolsCommunity" [menuItems]=menuItems
[userMenu]="true" [header]="header"></navbar>
<div class="custom-main-content">
<main>
<router-outlet></router-outlet>
</main>
</div>
<cookie-law *ngIf="isClient" position="bottom">
OpenAIRE uses cookies in order to function properly.<br>
Cookies are small pieces of data that websites store in your browser to allow us to give you the best browsing
experience possible.
By using the OpenAIRE portal you accept our use of cookies. <a
href="//ec.europa.eu/ipg/basics/legal/cookies/index_en.htm" target="_blank"> Read more <span class="uk-icon">
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="chevron-right"
ratio="1"><polyline fill="none" stroke="#000" stroke-width="1.03" points="7 4 13 10 7 16"></polyline></svg>
</span></a>
</cookie-law>
<bottom *ngIf="isClient && properties" [properties]=properties></bottom>
</cookie-law>
<bottom *ngIf="isClient && properties" [properties]=properties></bottom>
</div>
`
})
export class AppComponent {
isClient: boolean = false;
menuItems: RootMenuItem [] = [
{rootItem: new MenuItem("home", "Home", "", "/", false, [], null, {}), items: []},
{
rootItem: new MenuItem("search", "Search", "", "/search/find", false, [], null, {}),
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, [], [], {})
]
}
];
menuItems: RootMenuItem [] = [];
userMenuItems: MenuItem[] = [];
community = null;
id: string = null;
properties: EnvProperties;
properties: EnvProperties = properties;
user: User;
loginCheck: boolean = false;
footer=portalProperties.sectionFooter;
header:Header;
constructor(private route: ActivatedRoute, private propertiesService: EnvironmentSpecificService,
private router: Router, private userManagementService: UserManagementService) {
router.events.forEach((event) => {
if (event instanceof NavigationStart) {
HelperFunctions.scroll();
} else if (event instanceof NavigationEnd) {
let r = this.route;
while (r.firstChild) {
r = r.firstChild;
}
r.params.subscribe(params => {
if(!this.id) {
this.id = params['id'];
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(this.id);
if (agg) {
this.header = {
route: '/',
url: null,
title: agg.title,
logoUrl: agg.logoUrl,
logoSmallUrl: agg.logoUrl,
position: 'left',
badge: true
};
}
if (this.id) {
this.buildMenu();
}
} else {
if(this.router.url === '/') {
this.router.navigate([this.id]);
}
}
});
footer = portalProperties.sectionFooter;
header: Header;
agg: FilterInfo = null;
constructor(private propertiesService: EnvironmentSpecificService,
private userManagementService: UserManagementService) {
}
ngOnInit() {
if (typeof document !== 'undefined') {
this.isClient = true;
}
this.id = ConnectHelper.getCommunityFromDomain(this.properties.domain);
this.agg = PortalAggregators.getFilterInfoByMenuId(this.id);
if (this.agg) {
this.header = {
route: '/',
url: null,
title: this.agg.title,
logoUrl: this.agg.logoUrl,
logoSmallUrl: this.agg.logoUrl,
position: 'left',
badge: true
};
this.buildMenu();
}
this.userManagementService.getUserInfo().subscribe(user => {
this.user = user;
this.loginCheck = true;
this.userMenuItems = [];
if (this.user) {
this.userMenuItems.push(new MenuItem("", "User information", "", "/user-info", false, [], [], {}));
}
});
}
private buildMenu() {
this.menuItems = [
{rootItem: new MenuItem("home", "Home", "", "/" + this.id, false, [], null, {}), items: []},
{rootItem: new MenuItem("home", "Home", "", "/", false, [], null, {}), items: []},
{
rootItem: new MenuItem("search", "Search", "", "/" + this.id + "/search/find", false, [], null, {}),
rootItem: new MenuItem("search", "Search", "", "/search/find", false, [], null, {}),
items: []
},
{
rootItem: new MenuItem("deposit", "Deposit", "", "/participate/deposit/learn-how", false, [], null, {}),
//rootItem: new MenuItem("deposit", "Deposit", "", "/participate/deposit/learn-how", false, [], ["/participate/deposit/learn-how"], {}),
items: []
//rootItem: new MenuItem("share", "Share", "", "", false, [], null, {}),
//items: [new MenuItem("", "Publications", "", "/participate/deposit-publications", false, ["publication"], null, {}),
// new MenuItem("", "Research Data", "", "/participate/deposit-datasets", false, ["dataset"], null, {})]
},
{
rootItem: new MenuItem("link", "Link", "", "/participate/claim", false, [], null, {}),
items: [new MenuItem("", "Start linking", "", "/participate/claim", false, [], null, {}),
new MenuItem("", "Learn more", this.properties.claimsInformationLink, "", false, [], [], {})]
}
];
if((portalProperties.entities.publication.isEnabled && portalProperties.entities.publication.simpleSearchPage) ||
let params = {};
params[this.agg.queryFieldName] = this.agg.valueId;
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, [], [], {}))
portalProperties.entities.other.isEnabled && portalProperties.entities.other.simpleSearchPage) {
this.menuItems[1].items.push(new MenuItem("", "Research outcomes", "", "/search/find/research-outcomes", false, [], [], params))
}
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.project.isEnabled && portalProperties.entities.project.simpleSearchPage) {
this.menuItems[1].items.push(new MenuItem("", "Projects", "", "/search/find/projects/", false, [], [],
{cf: true}))
}
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.datasource.isEnabled && portalProperties.entities.datasource.simpleSearchPage) {
this.menuItems[1].items.push(new MenuItem("", "Content Providers", "", "/search/find/dataproviders", false, [], [], params))
}
if(portalProperties.entities.organization.isEnabled && portalProperties.entities.organization.simpleSearchPage){
this.menuItems[1].items.push(new MenuItem("", "Organizations", "", "/" + this.id + "/search/find/organizations/", false, [], [], {}))
if (portalProperties.entities.organization.isEnabled && portalProperties.entities.organization.simpleSearchPage) {
this.menuItems[1].items.push(new MenuItem("", "Organizations", "", "/search/find/organizations/", false, [], [], params))
}
}
ngOnInit() {
if (typeof document !== 'undefined') {
try {
this.isClient = true;
} catch (e) {
}
}
this.propertiesService.loadEnvironment()
.then(es => {
this.propertiesService.setEnvProperties(es);
this.properties = this.propertiesService.envSpecific;
this.userManagementService.getUserInfo().subscribe(user => {
this.user = user;
this.loginCheck = true;
});
}, error => {
console.log("App couldn't fetch properties");
console.log(error);
});
}
}

View File

@ -1,9 +1,9 @@
import {NgModule} from '@angular/core';
import {SharedModule} from './shared/shared.module';
import {BrowserModule} from '@angular/platform-browser';
import {NoopAnimationsModule} from '@angular/platform-browser/animations';
import {BrowserModule, BrowserTransferStateModule} from '@angular/platform-browser';
import {BrowserAnimationsModule, NoopAnimationsModule} from '@angular/platform-browser/animations';
import {CommonModule} from '@angular/common';
import {HttpClientModule} from '@angular/common/http';
import {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';
import {AppComponent} from './app.component';
@ -17,6 +17,9 @@ import {ErrorModule} from './openaireLibrary/error/error.module';
import {OpenaireErrorPageComponent} from './error/errorPage.component';
import {AppRoutingModule} from './app-routing.module';
import {HttpInterceptorService} from "./openaireLibrary/http-interceptor.service";
import {ErrorInterceptorService} from "./openaireLibrary/error-interceptor.service";
import {DEFAULT_TIMEOUT, TimeoutInterceptor} from "./openaireLibrary/timeout-interceptor.service";
@NgModule({
@ -28,13 +31,27 @@ import {AppRoutingModule} from './app-routing.module';
ErrorModule,
NavigationBarModule, FeedbackModule, BottomModule,
CookieLawModule,
BrowserAnimationsModule,
BrowserTransferStateModule,
BrowserModule.withServerTransition({appId: 'my-app'}),
AppRoutingModule
],
declarations: [AppComponent, OpenaireErrorPageComponent],
exports: [AppComponent],
providers: [
EnvironmentSpecificResolver
EnvironmentSpecificResolver,
{
provide: HTTP_INTERCEPTORS,
useClass: HttpInterceptorService,
multi: true
},
{
provide: HTTP_INTERCEPTORS,
useClass: ErrorInterceptorService,
multi: true
},
[{provide: HTTP_INTERCEPTORS, useClass: TimeoutInterceptor, multi: true}],
[{provide: DEFAULT_TIMEOUT, useValue: 30000}]
],
bootstrap: [AppComponent]
})

View File

@ -0,0 +1,15 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireClaimsAdminComponent} from './claimsAdmin.component';
import {ClaimsCuratorGuard} from '../../openaireLibrary/login/claimsCuratorGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireClaimsAdminComponent, canActivate: [ClaimsCuratorGuard],
data: {redirect: '/error', community : 'openaire'}, canDeactivate: [PreviousRouteRecorder]}])
]
})
export class ClaimsAdminRoutingModule { }

View File

@ -0,0 +1,35 @@
import {Component} from '@angular/core';
import {ActivatedRoute} from '@angular/router';
import {EnvProperties} from '../../openaireLibrary/utils/properties/env-properties';
import {Subscriber} from "rxjs";
@Component({
selector: 'openaire-claims-admin',
template: `
<claims-admin *ngIf="claimsInfoURL && userInfoURL" [claimsInfoURL]=claimsInfoURL [userInfoURL]="userInfoURL">
</claims-admin>
`,
})
export class OpenaireClaimsAdminComponent {
claimsInfoURL:string;
userInfoURL: string;
sub;
constructor (private route: ActivatedRoute) {
}
ngOnDestroy() {
if (this.sub instanceof Subscriber) {
this.sub.unsubscribe();
}
}
public ngOnInit() {
this.sub = this.route.data
.subscribe((data: { envSpecific: EnvProperties }) => {
this.claimsInfoURL = data.envSpecific.claimsInformationLink;
this.userInfoURL = data.envSpecific.userInfoUrl;
});
}
}

View File

@ -0,0 +1,23 @@
import { NgModule } from '@angular/core';
import { SharedModule } from '../../shared/shared.module';
import { OpenaireClaimsAdminComponent } from './claimsAdmin.component';
import { ClaimsAdminRoutingModule } from './claimsAdmin-routing.module';
import{ClaimsAdminModule } from '../../openaireLibrary/claims/claimsAdmin/claimsAdmin.module';
import{ ClaimsCuratorGuard} from '../../openaireLibrary/login/claimsCuratorGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
@NgModule({
imports: [
SharedModule,
ClaimsAdminRoutingModule,
ClaimsAdminModule
],
providers:[ClaimsCuratorGuard, PreviousRouteRecorder,IsRouteEnabled],
declarations: [
OpenaireClaimsAdminComponent
]
})
export class LibClaimsAdminModule { }

View File

@ -0,0 +1,15 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireClaimsByTokenComponent} from './claimsByToken.component';
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireClaimsByTokenComponent, canActivate: [LoginGuard],
data: {redirect: '/error', community : 'openaire'}, canDeactivate: [PreviousRouteRecorder]}])
]
})
export class ClaimsByTokenRoutingModule { }

View File

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

View File

@ -0,0 +1,30 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { SharedModule } from '../../shared/shared.module';
import { OpenaireClaimsByTokenComponent } from './claimsByToken.component';
import {ClaimsByTokenModule} from '../../openaireLibrary/claims/claimsByToken/claimsByToken.module';
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
import { ClaimsByTokenRoutingModule } from './claimsByToken-routing.module';
@NgModule({
imports: [
RouterModule,
SharedModule,
ClaimsByTokenModule,
ClaimsByTokenRoutingModule
],
providers:[
LoginGuard, PreviousRouteRecorder, IsRouteEnabled
],
declarations: [
OpenaireClaimsByTokenComponent
],
exports: [
OpenaireClaimsByTokenComponent
]
})
export class LibClaimsByTokenModule { }

View File

@ -0,0 +1,19 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireDirectLinkingComponent} from './directLinking.component';
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireDirectLinkingComponent, canActivate: [LoginGuard], data: {
redirect: '/error', community : 'openaire'
}, canDeactivate: [PreviousRouteRecorder]},
])
]
})
export class DirectLinkingRoutingModule { }

View File

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

View File

@ -0,0 +1,20 @@
import { NgModule } from '@angular/core';
import { SharedModule } from '../../shared/shared.module';
import { OpenaireDirectLinkingComponent } from './directLinking.component';
import{ DirectLinkingModule} from '../../openaireLibrary/claims/directLinking/directLinking.module';
import {DirectLinkingRoutingModule} from './directLinking-routing.module';
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
@NgModule({
imports: [
SharedModule, DirectLinkingModule, DirectLinkingRoutingModule
],
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
declarations: [
OpenaireDirectLinkingComponent
], exports:[OpenaireDirectLinkingComponent]
})
export class LibDirectLinkingModule { }

View File

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

View File

@ -0,0 +1,10 @@
import {Component} from '@angular/core';
@Component({
selector: 'openaire-linking-generic',
template: `<linking-generic pageTitle="Linking"></linking-generic>`
})
export class OpenaireLinkingComponent {
}

View File

@ -0,0 +1,21 @@
import { NgModule } from '@angular/core';
import { SharedModule } from '../../shared/shared.module';
import {OpenaireLinkingComponent} from './linkingGeneric.component';
import {LinkingRoutingModule} from './linking-routing.module';
import{ LinkingGenericModule} from '../../openaireLibrary/claims/linking/linkingGeneric.module';
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
@NgModule({
imports: [
SharedModule, LinkingRoutingModule, LinkingGenericModule
],
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
declarations: [
OpenaireLinkingComponent
], exports:[
OpenaireLinkingComponent ]
})
export class LibLinkingGenericModule { }

View File

@ -0,0 +1,16 @@
import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {OpenaireMyClaimsComponent} from './myClaims.component';
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
@NgModule({
imports: [
RouterModule.forChild([
{ path: '', component: OpenaireMyClaimsComponent, canActivate: [LoginGuard],
data: {redirect: '/error', community : 'openaire'}, canDeactivate: [PreviousRouteRecorder]}])
]
})
export class MyClaimsRoutingModule { }

View File

@ -0,0 +1,34 @@
import {Component} from '@angular/core';
import {ActivatedRoute} from '@angular/router';
import {EnvProperties} from '../../openaireLibrary/utils/properties/env-properties';
import {Subscriber} from "rxjs";
@Component({
selector: 'openaire-my-claims',
template: `
<my-claims *ngIf="userInfoURL && claimsInfoURL" [claimsInfoURL]=claimsInfoURL [userInfoURL]="userInfoURL">
</my-claims>
`
})
export class OpenaireMyClaimsComponent {
claimsInfoURL:string;
userInfoURL: string;
sub;
constructor (private route: ActivatedRoute) {
}
ngOnDestroy() {
if (this.sub instanceof Subscriber) {
this.sub.unsubscribe();
}
}
public ngOnInit() {
this.sub = this.route.data
.subscribe((data: { envSpecific: EnvProperties }) => {
this.claimsInfoURL = data.envSpecific.claimsInformationLink;
this.userInfoURL = data.envSpecific.userInfoUrl;
});
}
}

View File

@ -0,0 +1,24 @@
import { NgModule } from '@angular/core';
import { SharedModule } from '../../shared/shared.module';
import { OpenaireMyClaimsComponent } from './myClaims.component';
import { MyClaimsRoutingModule } from './myClaims-routing.module';
import{ MyClaimsModule} from '../../openaireLibrary/claims/myClaims/myClaims.module';
import {LoginGuard} from '../../openaireLibrary/login/loginGuard.guard';
import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
@NgModule({
imports: [
SharedModule,
MyClaimsRoutingModule,
MyClaimsModule
],
providers:[LoginGuard, PreviousRouteRecorder, IsRouteEnabled],
declarations: [
OpenaireMyClaimsComponent
]
})
export class LibMyClaimsModule { }

View File

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

View File

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

View File

@ -0,0 +1,17 @@
import {Component} from '@angular/core';
@Component({
selector: 'openaire-deposit',
template: `
<deposit-first-page></deposit-first-page>
`
})
export class OpenaireDepositComponent {
constructor() {
}
public ngOnInit() {}
}

View File

@ -0,0 +1,31 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard';
import {OpenaireDepositComponent} from "./deposit.component";
import {DepositRoutingModule} from "./deposit-routing.module";
import {DepositFirstPageModule} from "../openaireLibrary/deposit/depositFirstPage.module";
import {ZenodoCommunitiesService} from "../openaireLibrary/connect/zenodoCommunities/zenodo-communities.service";
import {CommunityService} from "../openaireLibrary/connect/community/community.service";
import {SearchZenodoCommunitiesService} from "../openaireLibrary/connect/zenodoCommunities/searchZenodoCommunities.service";
@NgModule({
imports: [
CommonModule, FormsModule,
DepositRoutingModule, DepositFirstPageModule
],
declarations: [
OpenaireDepositComponent
],
exports: [
OpenaireDepositComponent,
],
providers: [PreviousRouteRecorder, IsRouteEnabled,
ZenodoCommunitiesService, CommunityService, SearchZenodoCommunitiesService]
})
export class LibDepositModule { }

View File

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

View File

@ -0,0 +1,16 @@
import {Component} from '@angular/core';
@Component({
selector: 'openaire-search-deposit',
template: `
<deposit-search-dataproviders></deposit-search-dataproviders>
`
})
export class OpenaireSearchDataprovidersToDepositComponent {
constructor() {}
public ngOnInit() {}
}

View File

@ -0,0 +1,31 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { OpenaireSearchDataprovidersToDepositComponent } from './searchDataprovidersToDeposit.component';
import {SearchDataprovidersToDepositRoutingModule} from './searchDataprovidersToDeposit-routing.module';
import {SearchDataprovidersToDepositModule} from '../openaireLibrary/deposit/searchDataprovidersToDeposit.module';
import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
import {IsRouteEnabled} from '../openaireLibrary/error/isRouteEnabled.guard';
import {ZenodoCommunitiesServiceModule} from '../openaireLibrary/connect/zenodoCommunities/zenodo-communitiesService.module';
import {SearchZenodoCommunitiesServiceModule} from '../openaireLibrary/connect/zenodoCommunities/searchZenodoCommunitiesService.module';
import {CommunityService} from '../openaireLibrary/connect/community/community.service';
@NgModule({
imports: [
CommonModule, FormsModule,
SearchDataprovidersToDepositModule,
SearchDataprovidersToDepositRoutingModule,
ZenodoCommunitiesServiceModule, SearchZenodoCommunitiesServiceModule
],
declarations: [
OpenaireSearchDataprovidersToDepositComponent
],
exports: [
OpenaireSearchDataprovidersToDepositComponent,
],
providers: [PreviousRouteRecorder, IsRouteEnabled, CommunityService]
})
export class LibSearchDataprovidersToDepositModule { }

View File

@ -1,4 +1,3 @@
<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">
@ -238,107 +237,107 @@
</div>
</div>
</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-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-margin-large-top uk-container uk-margin-bottom uk-text-center">
<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>
<div *ngIf="fundersSize">
<h3 class="portal-color">
<span class="uk-text-bold number"> {{fundersSize.number|number}}</span>{{fundersSize.size}}
</h3>
<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>
</div>
<div *ngIf="datasourcesSize">
<h3 class="portal-color">
<span class="uk-text-bold number"> {{datasourcesSize.number|number}}</span>{{datasourcesSize.size}}
</h3>
<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>
</div>
<div *ngIf="projectsSize">
<h3 class="portal-color">
<span class="uk-text-bold number"> {{projectsSize.number|number}}</span>{{projectsSize.size}}
</h3>
<span class="uk-text-uppercase uk-text-large">Projects</span>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</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 class="numbers-background">
<div class="uk-container uk-section">
<div class="uk-grid uk-margin-auto-left uk-margin-auto-right uk-grid-large uk-child-width-1-2@m" uk-grid>
<div *ngIf="publicationsSize || softwareSize || datasetsSize"
class="uk-margin-medium-bottom uk-flex uk-flex-center">
<div>
<div *ngIf="publicationsSize">
<div class="number uk-text-bold uk-margin-bottom">{{publicationsSize.count|number}} </div>
<div class="uk-text-uppercase uk-flex uk-flex-middle">
<icon name="book" ratio="1.5" [flex]="true" class="uk-margin-right" customClass="portal-color"></icon>
<span>publications</span>
</div>
</div>
<div *ngIf="softwareSize" class="uk-visible@m">
<div
class="number uk-text-bold uk-margin-medium-top uk-margin-bottom">{{softwareSize.count|number}} </div>
<div class="uk-text-uppercase uk-flex uk-flex-middle">
<icon name="cog" ratio="1.5" [flex]="true" class="uk-margin-right" customClass="portal-color"></icon>
<span>software</span>
</div>
</div>
<div *ngIf="otherSize && !softwareSize" class="uk-visible@m">
<div class="number uk-text-bold uk-margin-medium-top uk-margin-bottom">{{otherSize.count|number}} </div>
<div class="uk-text-uppercase uk-flex uk-flex-middle">
<icon name="earth" ratio="1.5" [flex]="true" class="uk-margin-right" customClass="portal-color"></icon>
<span class="uk-hidden@m">other research<br>products</span>
<span class="uk-visible@m">other research products</span>
</div>
</div>
<div *ngIf="datasetsSize" class="uk-hidden@m">
<div
class="number uk-text-bold uk-margin-medium-top uk-margin-bottom">{{datasetsSize.count|number}} </div>
<div class="uk-text-uppercase uk-flex uk-flex-middle">
<icon name="database" ratio="1.5" [flex]="true" class="uk-margin-right"
customClass="portal-color"></icon>
<span>research data</span>
</div>
</div>
</div>
</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>
<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 *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 *ngIf="softwareSize || datasetsSize || otherSize"
class="uk-margin-medium-bottom uk-flex uk-flex-center">
<div>
<div *ngIf="softwareSize" class="uk-hidden@m">
<div class="number uk-text-bold uk-margin-bottom">{{softwareSize.count|number}} </div>
<div class="uk-text-uppercase uk-flex uk-flex-middle">
<icon name="cog" ratio="1.5" [flex]="true" class="uk-margin-right" customClass="portal-color"></icon>
<span>software</span>
</div>
</div>
<div *ngIf="datasetsSize" class="uk-visible@m">
<div class="number uk-text-bold uk-margin-bottom">{{datasetsSize.count|number}} </div>
<div class="uk-text-uppercase uk-flex uk-flex-middle">
<icon name="database" ratio="1.5" [flex]="true" class="uk-margin-right"
customClass="portal-color"></icon>
<span>research data</span>
</div>
</div>
<div *ngIf="otherSize" [class.uk-hidden@m]="!softwareSize">
<div class="number uk-text-bold uk-margin-medium-top uk-margin-bottom">{{otherSize.count|number}} </div>
<div class="uk-text-uppercase uk-flex uk-flex-middle">
<icon name="earth" ratio="1.5" [flex]="true" class="uk-margin-right" customClass="portal-color"></icon>
<span class="uk-hidden@m">other research<br>products</span>
<span class="uk-visible@m">other research products</span>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -24,7 +24,7 @@ import {EntitiesSelectionModule} from "../openaireLibrary/searchPages/searchUtil
import {QuickSelectionsModule} from "../openaireLibrary/searchPages/searchUtils/quick-selections.module";
import {IconsModule} from "../openaireLibrary/utils/icons/icons.module";
import {IconsService} from "../openaireLibrary/utils/icons/icons.service";
import {arrow_right} from "../openaireLibrary/utils/icons/icons";
import {arrow_right, book, cog, database, earth} from "../openaireLibrary/utils/icons/icons";
@NgModule({
imports: [
@ -51,6 +51,6 @@ import {arrow_right} from "../openaireLibrary/utils/icons/icons";
})
export class HomeModule {
constructor(private iconsService: IconsService) {
this.iconsService.registerIcons([arrow_right]);
this.iconsService.registerIcons([arrow_right, book, earth, cog, database]);
}
}

View File

@ -2,7 +2,7 @@ import {Component} from '@angular/core';
@Component({
selector: 'openaire-dataset',
template: `<result-landing type="dataset" [activeTab]="'References'"></result-landing>`,
template: `<result-landing type="dataset"></result-landing>`,
})
export class OpenaireDatasetComponent{
constructor ( ) {

View File

@ -2,7 +2,7 @@ import {Component} from '@angular/core';
@Component({
selector: 'openaire-orp',
template: `<result-landing type="orp" [activeTab]="'References'"></result-landing>`,
template: `<result-landing type="orp"></result-landing>`,
})
export class OpenaireOrpComponent{
constructor ( ) {

View File

@ -3,12 +3,11 @@ import {Component} from '@angular/core';
@Component({
selector: 'openaire-publication',
template: `
<result-landing type="publication" [activeTab]="'References'"></result-landing>`,
<result-landing type="publication"></result-landing>`,
})
export class OpenairePublicationComponent {
constructor() {
}
constructor() {}
ngOnInit() {
}

View File

@ -2,7 +2,7 @@ import {Component} from '@angular/core';
@Component({
selector: 'openaire-software',
template: `<result-landing type="software" [activeTab]="'Related Research Results'"></result-landing>`,
template: `<result-landing type="software"></result-landing>`,
})
export class OpenaireSoftwareComponent{
constructor ( ) {

View File

@ -2,6 +2,8 @@ import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
@Component({
@ -22,7 +24,7 @@ export class OpenaireAdvancedSearchDataProvidersComponent {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}

View File

@ -2,6 +2,8 @@ import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
@Component({
@ -21,7 +23,7 @@ export class OpenaireAdvancedSearchOrganizationsComponent {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}

View File

@ -2,6 +2,8 @@ import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
@Component({
selector: 'openaire-advanced-search-projects',
@ -20,7 +22,7 @@ export class OpenaireAdvancedSearchProjectsComponent {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}

View File

@ -2,6 +2,8 @@ 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 {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
@Component({
selector: 'openaire-search-results',
@ -16,7 +18,7 @@ export class OpenaireSearchResearchResultsComponent {
constructor(private route: ActivatedRoute) {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}

View File

@ -2,12 +2,13 @@ import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
@Component({
selector: 'openaire-search-find',
template: `
<search-all logoURL = "/assets/common-assets/logo-small-aggregator.png" name="OpenAIRE" [customFilter]="customFilter"></search-all>
`,
})
export class OpenaireSearchComponent{
@ -18,7 +19,7 @@ export class OpenaireSearchComponent{
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);

View File

@ -2,6 +2,8 @@ import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
@Component({
selector: 'openaire-search-dataproviders',
@ -20,7 +22,7 @@ export class OpenaireSearchDataprovidersComponent {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}

View File

@ -2,6 +2,8 @@ import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
@Component({
selector: 'openaire-search-organizations',
@ -19,7 +21,7 @@ export class OpenaireSearchOrganizationsComponent {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}

View File

@ -2,6 +2,8 @@ import {Component} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {ActivatedRoute} from "@angular/router";
import {FilterInfo, PortalAggregators} from "../../utils/aggregators";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
@Component({
selector: 'openaire-search-projects',
@ -20,7 +22,7 @@ export class OpenaireSearchProjectsComponent {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
let agg: FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}

View File

@ -2,6 +2,8 @@ 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";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {properties} from "../../../environments/environment";
@Component({
selector: 'openaire-search-results',
@ -17,7 +19,7 @@ export class OpenaireSearchResearchResultsComponent {
}
ngOnInit() {
let id = this.route.snapshot.paramMap.get('id');
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
let agg:FilterInfo = PortalAggregators.getFilterInfoByMenuId(id);
this.customFilter = PortalAggregators.getSearchCustomFilterByAggregator(agg);
}

View File

@ -61,8 +61,6 @@ export let properties: EnvProperties = {
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/",

View File

@ -62,7 +62,6 @@ export let properties: EnvProperties = {
adminToolsAPIURL: "https://services.openaire.eu/uoa-admin-tools/",
adminToolsCommunity: "openaire",
contextsAPI: "https://services.openaire.eu/openaire/context",
communityAPI: "https://services.openaire.eu/openaire/community/",

View File

@ -64,8 +64,6 @@ export let properties: EnvProperties = {
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/",