diff --git a/app-routing.module.ts b/app-routing.module.ts
new file mode 100644
index 00000000..1ed57b7e
--- /dev/null
+++ b/app-routing.module.ts
@@ -0,0 +1,109 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+import {IsRouteEnabled} from './error/isRouteEnabled.guard';
+
+import {EnvironmentSpecificResolver} from './utils/properties/environmentSpecificResolver';
+import { EnvironmentSpecificService } from './utils/properties/environment-specific.service';
+
+import { ErrorPageComponent } from './error/errorPage.component';
+import {SearchComponent} from './searchPages/find/search.component';
+
+import {PublicationComponent} from './landingPages/publication/publication.component';
+import {DatasetComponent} from './landingPages/dataset/dataset.component';
+import {SoftwareComponent} from './landingPages/software/software.component';
+import {DataProviderComponent} from './landingPages/dataProvider/dataProvider.component';
+import {ProjectComponent} from './landingPages/project/project.component';
+import {OrganizationComponent} from './landingPages/organization/organization.component';
+
+
+import {DepositDatasetsComponent} from './deposit/datasets/depositDatasets.component';
+import {DepositDatasetsResultComponent} from './deposit/datasets/depositDatasetsResult.component';
+import {DepositBySubjectResultComponent} from './deposit/datasets/depositBySubjectResult.component';
+import {DepositPublicationsComponent} from './deposit/publications/depositPublications.component';
+import {DepositPublicationsResultComponent} from './deposit/publications/depositPublicationsResult.component';
+
+import {SearchDatasetsComponent} from './searchPages/simple/searchDatasets.component';
+import {SearchPublicationsComponent} from './searchPages/simple/searchPublications.component';
+import {SearchSoftwareComponent} from './searchPages/simple/searchSoftware.component';
+import {SearchDataprovidersComponent} from './searchPages/simple/searchDataproviders.component';
+import {SearchProjectsComponent} from './searchPages/simple/searchProjects.component';
+import {SearchOrganizationsComponent} from './searchPages/simple/searchOrganizations.component';
+
+import {AdvancedSearchPublicationsComponent} from './searchPages/advanced/advancedSearchPublications.component';
+import {AdvancedSearchDatasetsComponent} from './searchPages/advanced/advancedSearchDatasets.component';
+import {AdvancedSearchSoftwareComponent} from './searchPages/advanced/advancedSearchSoftware.component';
+import {AdvancedSearchDataProvidersComponent} from './searchPages/advanced/advancedSearchDataProviders.component';
+import {AdvancedSearchProjectsComponent} from './searchPages/advanced/advancedSearchProjects.component';
+import {AdvancedSearchOrganizationsComponent} from './searchPages/advanced/advancedSearchOrganizations.component';
+
+import {SearchEntityRegistriesComponent} from './searchPages/dataProviders/entityRegistries.component';
+import {SearchEntityRegistriesTableComponent} from './searchPages/dataProviders/entityRegistriesTable.component';
+import {SearchJournalsTableComponent} from './searchPages/dataProviders/journalsTable.component';
+import {SearchJournalsComponent} from './searchPages/dataProviders/journals.component';
+import {SearchCompatibleDataprovidersComponent} from './searchPages/dataProviders/compatibleDataProviders.component';
+import {SearchCompatibleDataprovidersTableComponent} from './searchPages/dataProviders/compatibleDataProvidersTable.component';
+
+import {ClaimsAdminComponent} from './claims/claimsAdmin/claimsAdmin.component';
+import {MyClaimsComponent} from './claims/myClaims/myClaims.component';
+
+import {ClaimsByTokenComponent} from './claims/claimsByToken/claimsByToken.component';
+import {DirectLinkingComponent} from './claims/directLinking/directLinking.component';
+import {LinkingGenericComponent} from './claims/linking/linkingGeneric.component';
+
+import{ HtmlProjectReportComponent} from './landingPages/htmlProjectReport/htmlProjectReport.component';
+
+const routes: Routes = [
+
+ { path: '', component: SearchComponent, resolve: { envSpecific: EnvironmentSpecificResolver }, canActivate: [ IsRouteEnabled], data: {
+ redirect: '/error',api: "http://duffy.di.uoa.gr:8080/uoa-admin-tools", community :"openaire"}},
+ { path: 'home', component: SearchComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/publication', component: PublicationComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/dataset', component: DatasetComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/software', component: SoftwareComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/project', component: ProjectComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/dataprovider', component: DataProviderComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/organization', component: OrganizationComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'participate/deposit-datasets', component: DepositDatasetsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'participate/deposit-datasets-result', component: DepositDatasetsResultComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'participate/deposit-subject-result', component: DepositBySubjectResultComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'participate/deposit-publications', component: DepositPublicationsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'participate/deposit-publications-result', component: DepositPublicationsResultComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/find', component: SearchComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/find/publications', component: SearchPublicationsComponent , resolve: { envSpecific: EnvironmentSpecificResolver }, canActivate: [ IsRouteEnabled], data: {
+ redirect: '/error',api: "http://duffy.di.uoa.gr:8080/uoa-admin-tools", community :"openaire"} },
+ { path: 'search/find/datasets', component:SearchDatasetsComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/find/software', component:SearchSoftwareComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/find/projects', component:SearchProjectsComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/find/dataproviders', component:SearchDataprovidersComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/find/organizations', component:SearchOrganizationsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/content-providers', component: SearchCompatibleDataprovidersComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/content-providers-table', component: SearchCompatibleDataprovidersTableComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/entity-registries',component: SearchEntityRegistriesComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/entity-registries-table', component: SearchEntityRegistriesTableComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/journals', component: SearchJournalsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/journals-table', component: SearchJournalsTableComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/advanced/publications', component: AdvancedSearchPublicationsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/advanced/datasets', component: AdvancedSearchDatasetsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/advanced/software', component: AdvancedSearchSoftwareComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/advanced/organizations',component: AdvancedSearchOrganizationsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/advanced/dataproviders', component: AdvancedSearchDataProvidersComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'search/advanced/projects', component: AdvancedSearchProjectsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'project-report', component: HtmlProjectReportComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'myclaims',component: MyClaimsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'claims', component: ClaimsAdminComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'participate/claim', component: LinkingGenericComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'participate/direct-claim',component: DirectLinkingComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'claims-project-manager', component: ClaimsByTokenComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'reload', loadChildren: './reload/reload.module#ReloadModule' , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'user-info', loadChildren: './login/user.module#UserModule' , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: 'error', component: ErrorPageComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
+ { path: '**',pathMatch: 'full',component: ErrorPageComponent }
+];
+
+@NgModule({
+ imports: [RouterModule.forRoot(routes)],
+ exports: [RouterModule],
+ providers: [EnvironmentSpecificResolver, EnvironmentSpecificService, IsRouteEnabled]
+})
+export class AppRoutingModule { }
diff --git a/app.component.ts b/app.component.ts
index 3a973630..64ae88dd 100644
--- a/app.component.ts
+++ b/app.component.ts
@@ -1,6 +1,10 @@
import { Component, Directive, ElementRef, Renderer, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
import { ConfigurationService } from './utils/configuration/configuration.service';
import {Observable} from 'rxjs/Observable';
+import { EnvProperties } from './utils/properties/env-properties';
+import {ActivatedRoute} from '@angular/router';
+import{EnvironmentSpecificService} from './utils/properties/environment-specific.service';
+import{MenuItem,RootMenuItem} from './sharedComponents/menu';
@Component({
//changeDetection: ChangeDetectionStrategy.Default,
@@ -9,7 +13,9 @@ import {Observable} from 'rxjs/Observable';
styles: [`
`],
template: `
-
+
+
Openaire Lib Component
@@ -42,10 +48,55 @@ import {Observable} from 'rxjs/Observable';
})
export class AppComponent {
isClient:boolean = false;
- constructor(private config: ConfigurationService) {}
+ public properties:EnvProperties = null;
+ constructor(private config: ConfigurationService, private route: ActivatedRoute, private propertiesService:EnvironmentSpecificService) {
+ }
+
+
+ userMenuItems:MenuItem[] = [ new MenuItem("","My profile","","",false,[],[],{}),
+ new MenuItem("","My claims","","/myclaims",false,[],["/myclaims"],{}),
+ new MenuItem("","Manage all claims","","/claims",true,[],["/claims"],{})]
+
+
+ menuItems:RootMenuItem [] = [
+ {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("","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"],{})
+ ]},
+ {
+ rootItem: new MenuItem("share","Share","","",false,[],["/participate/deposit-publications","/participate/deposit-datasets"],{}),
+ items: [new MenuItem("","Publications","","/participate/deposit-publications",false,["publication"],["/participate/deposit-publications"],{}),
+ new MenuItem("","Research Data","","/participate/deposit-datasets",false,["dataset"],["/participate/deposit-datasets"],{})]
+ },
+ {
+ rootItem: new MenuItem("link","Link","","/participate/claim",false,[],["/participate/claim"],{}),
+ items: []
+ },
+ {
+ rootItem: new MenuItem("datasources","Content Providers","","",false,["datasource"],[],{}),
+ items: [new MenuItem("","Data Policies","https://beta.openaire.eu/oa-policies-mandates","",false,["datasource"],[],{}),
+ new MenuItem("","Repositories","","/search/content-providers",false,["datasource"],["/search/content-providers"],{}),
+ new MenuItem("","Journals","","/search/journals",false,["datasource"],["/search/journals"],{}),
+ new MenuItem("","Registries","","/search/entity-registries",false,["datasource"],["/search/entity-registries"],{}),
+ new MenuItem("","Browse all","","/search/find/dataproviders",false,["datasource"],["/search/find/dataproviders"],{})]
+ }
+ ];
ngOnInit() {
+ this.propertiesService.loadEnvironment()
+ .then(es => {
+ this.propertiesService.setEnvProperties(es);
+ this.properties = this.propertiesService.envSpecific;
+ }, error => {
+ console.log("App couldn't fetch properties");
+ console.log(error);
+
+ });
if (typeof document !== 'undefined') {
try{
this.isClient = true;
@@ -53,4 +104,7 @@ export class AppComponent {
}
}
}
+
+
+
}
diff --git a/app.module.ts b/app.module.ts
index 2bf79852..1bb51f5d 100755
--- a/app.module.ts
+++ b/app.module.ts
@@ -12,89 +12,54 @@ import { CookieLawModule } from './sharedComponents/cookie-law/cookie-law.module
import {Meta} from '../angular2-meta';
// import { ErrorModule } from './error/error.module';
import { ConfigurationService } from './utils/configuration/configuration.service';
-import { ErrorPageComponent } from './error/errorPage.component';
-import {SearchComponent} from './searchPages/find/search.component';
import {MainSearchModule} from './searchPages/find/mainSearch.module';
-import {PublicationComponent} from './landingPages/publication/publication.component';
import {PublicationModule} from './landingPages/publication/publication.module';
-import {DatasetComponent} from './landingPages/dataset/dataset.component';
import {DatasetModule} from './landingPages/dataset/dataset.module';
-import {SoftwareComponent} from './landingPages/software/software.component';
import {SoftwareModule} from './landingPages/software/software.module';
-import {DataProviderComponent} from './landingPages/dataProvider/dataProvider.component';
import {DataProviderModule} from './landingPages/dataProvider/dataProvider.module';
-import {ProjectComponent} from './landingPages/project/project.component';
import {ProjectModule} from './landingPages/project/project.module';
-import {OrganizationComponent} from './landingPages/organization/organization.component';
import {OrganizationModule} from './landingPages/organization/organization.module';
import {ReloadModule} from './reload/reload.module';
import {ErrorModule} from './error/error.module';
import {DepositDatasetsModule} from './deposit/datasets/depositDatasets.module';
-import {DepositDatasetsComponent} from './deposit/datasets/depositDatasets.component';
import {DepositDatasetsResultsModule} from './deposit/datasets/depositDatasetsResults.module';
-import {DepositDatasetsResultComponent} from './deposit/datasets/depositDatasetsResult.component';
import {DepositBySubjectResultsModule} from './deposit/datasets/depositBySubjectResults.module';
-import {DepositBySubjectResultComponent} from './deposit/datasets/depositBySubjectResult.component';
import {DepositPublicationsModule} from './deposit/publications/depositPublications.module';
-import {DepositPublicationsComponent} from './deposit/publications/depositPublications.component';
import {DepositPublicationsResultsModule} from './deposit/publications/depositPublicationsResults.module';
-import {DepositPublicationsResultComponent} from './deposit/publications/depositPublicationsResult.component';
import {SearchPublicationsModule} from './searchPages/simple/searchPublications.module';
-import {SearchPublicationsComponent} from './searchPages/simple/searchPublications.component';
import {SearchDatasetsModule} from './searchPages/simple/searchDatasets.module';
-import {SearchDatasetsComponent} from './searchPages/simple/searchDatasets.component';
import {SearchSoftwareModule} from './searchPages/simple/searchSoftware.module';
-import {SearchSoftwareComponent} from './searchPages/simple/searchSoftware.component';
import {SearchDataProvidersModule} from './searchPages/simple/searchDataProviders.module';
-import {SearchDataprovidersComponent} from './searchPages/simple/searchDataproviders.component';
import {SearchProjectsModule} from './searchPages/simple/searchProjects.module';
-import {SearchProjectsComponent} from './searchPages/simple/searchProjects.component';
import {SearchOrganizationsModule} from './searchPages/simple/searchOrganizations.module';
-import {SearchOrganizationsComponent} from './searchPages/simple/searchOrganizations.component';
import {AdvancedSearchPublicationsModule} from './searchPages/advanced/advancedSearchPublications.module';
-import {AdvancedSearchPublicationsComponent} from './searchPages/advanced/advancedSearchPublications.component';
import {AdvancedSearchDatasetsModule} from './searchPages/advanced/advancedSearchDatasets.module';
-import {AdvancedSearchDatasetsComponent} from './searchPages/advanced/advancedSearchDatasets.component';
import {AdvancedSearchSoftwareModule} from './searchPages/advanced/advancedSearchSoftware.module';
-import {AdvancedSearchSoftwareComponent} from './searchPages/advanced/advancedSearchSoftware.component';
import {AdvancedSearchDataProvidersModule} from './searchPages/advanced/advancedSearchDataProviders.module';
-import {AdvancedSearchDataProvidersComponent} from './searchPages/advanced/advancedSearchDataProviders.component';
import {AdvancedSearchProjectsModule} from './searchPages/advanced/advancedSearchProjects.module';
-import {AdvancedSearchProjectsComponent} from './searchPages/advanced/advancedSearchProjects.component';
import {AdvancedSearchOrganizationsModule} from './searchPages/advanced/advancedSearchOrganizations.module';
-import {AdvancedSearchOrganizationsComponent} from './searchPages/advanced/advancedSearchOrganizations.component';
-
import {EntityRegistriesModule} from './searchPages/dataProviders/entityRegistries.module';
-import {SearchEntityRegistriesComponent} from './searchPages/dataProviders/entityRegistries.component';
import {EntityRegistriesTableModule} from './searchPages/dataProviders/entityRegistriesTable.module';
-import {SearchEntityRegistriesTableComponent} from './searchPages/dataProviders/entityRegistriesTable.component';
import {JournalsTableModule} from './searchPages/dataProviders/journalsTable.module';
-import {SearchJournalsTableComponent} from './searchPages/dataProviders/journalsTable.component';
import {JournalsModule} from './searchPages/dataProviders/journals.module';
-import {SearchJournalsComponent} from './searchPages/dataProviders/journals.component';
import {CompatibleDataProvidersModule} from './searchPages/dataProviders/compatibleDataProviders.module';
-import {SearchCompatibleDataprovidersComponent} from './searchPages/dataProviders/compatibleDataProviders.component';
import {CompatibleDataProvidersTableModule} from './searchPages/dataProviders/compatibleDataProvidersTable.module';
-import {SearchCompatibleDataprovidersTableComponent} from './searchPages/dataProviders/compatibleDataProvidersTable.component';
import {ClaimsAdminModule} from './claims/claimsAdmin/claimsAdmin.module';
-import {ClaimsAdminComponent} from './claims/claimsAdmin/claimsAdmin.component';
import {MyClaimsModule} from './claims/myClaims/myClaims.module';
-import {MyClaimsComponent} from './claims/myClaims/myClaims.component';
import {ClaimsByTokenModule} from './claims/claimsByToken/claimsByToken.module';
-import {ClaimsByTokenComponent} from './claims/claimsByToken/claimsByToken.component';
import {DirectLinkingModule} from './claims/directLinking/directLinking.module';
-import {DirectLinkingComponent} from './claims/directLinking/directLinking.component';
import {LinkingGenericModule} from './claims/linking/linkingGeneric.module';
-import {LinkingGenericComponent} from './claims/linking/linkingGeneric.component';
-
+import{ HtmlProjectReportModule} from './landingPages/htmlProjectReport/htmlProjectReport.module';
+import {IsRouteEnabled} from './error/isRouteEnabled.guard';
+import { AppRoutingModule } from './app-routing.module';
@NgModule({
imports: [
@@ -113,53 +78,9 @@ import {LinkingGenericComponent} from './claims/linking/linkingGeneric.component
EntityRegistriesModule, CompatibleDataProvidersModule, JournalsModule,
JournalsTableModule, EntityRegistriesTableModule, CompatibleDataProvidersTableModule,
ClaimsAdminModule, MyClaimsModule, ClaimsByTokenModule, LinkingGenericModule, DirectLinkingModule,
+ HtmlProjectReportModule,
BrowserModule.withServerTransition({appId: 'my-app'}),
- RouterModule.forRoot([
- { path: '', component: SearchComponent},
- { path: 'home', component: SearchComponent},
- { path: 'search/publication', component: PublicationComponent },
- { path: 'search/dataset', component: DatasetComponent},
- { path: 'search/software', component: SoftwareComponent},
- { path: 'search/project', component: ProjectComponent },
- { path: 'search/dataprovider', component: DataProviderComponent },
- { path: 'search/organization', component: OrganizationComponent },
- { path: 'participate/deposit-datasets', component: DepositDatasetsComponent },
- { path: 'participate/deposit-datasets-result', component: DepositDatasetsResultComponent},
- { path: 'participate/deposit-subject-result', component: DepositBySubjectResultComponent },
- { path: 'participate/deposit-publications', component: DepositPublicationsComponent },
- { path: 'participate/deposit-publications-result', component: DepositPublicationsResultComponent},
- { path: 'search/find', component: SearchComponent},
- { path: 'search/find/publications', component: SearchPublicationsComponent },
- { path: 'search/find/datasets', component:SearchDatasetsComponent},
- { path: 'search/find/software', component:SearchSoftwareComponent},
- { path: 'search/find/projects', component:SearchProjectsComponent},
- { path: 'search/find/dataproviders', component:SearchDataprovidersComponent },
- { path: 'search/find/organizations', component:SearchOrganizationsComponent },
- { path: 'search/content-providers', component: SearchCompatibleDataprovidersComponent},
- { path: 'search/content-providers-table', component: SearchCompatibleDataprovidersTableComponent},
- { path: 'search/entity-registries',component: SearchEntityRegistriesComponent},
- { path: 'search/entity-registries-table', component: SearchEntityRegistriesTableComponent},
- { path: 'search/journals', component: SearchJournalsComponent },
- { path: 'search/journals-table', component: SearchJournalsTableComponent },
- { path: 'search/advanced/publications', component: AdvancedSearchPublicationsComponent },
- { path: 'search/advanced/datasets', component: AdvancedSearchPublicationsComponent },
- { path: 'search/advanced/software', component: AdvancedSearchPublicationsComponent },
- { path: 'search/advanced/organizations',component: AdvancedSearchPublicationsComponent },
- { path: 'search/advanced/dataproviders', component: AdvancedSearchPublicationsComponent },
- { path: 'search/advanced/projects', component: AdvancedSearchPublicationsComponent },
- { path: 'project-report', loadChildren: './landingPages/htmlProjectReport/htmlProjectReport.module#HtmlProjectReportModule' },
- { path: 'myclaims',component: MyClaimsComponent },
- { path: 'claims', component: ClaimsAdminComponent },
- { path: 'participate/claim', component: LinkingGenericComponent},
- { path: 'participate/direct-claim',component: DirectLinkingComponent},
- { path: 'claims-project-manager', component: ClaimsByTokenComponent },
- { path: 'reload', loadChildren: './reload/reload.module#ReloadModule' },
- { path: 'user-info', loadChildren: './login/user.module#UserModule' },
- { path: 'error', component: ErrorPageComponent },
- { path: '**',pathMatch: 'full',component: ErrorPageComponent }
-
-
- ]),
+ AppRoutingModule
],
declarations: [ AppComponent ],
exports: [ AppComponent ],
@@ -167,3 +88,9 @@ import {LinkingGenericComponent} from './claims/linking/linkingGeneric.component
bootstrap: [AppComponent]
})
export class AppModule {}
+/*
+
+, canActivate: [ IsRouteEnabled], data: {
+ redirect: '/error'
+}
+*/
diff --git a/claims/claim-utils/claimContextSearchForm.component.ts b/claims/claim-utils/claimContextSearchForm.component.ts
index f3938127..25aca236 100644
--- a/claims/claim-utils/claimContextSearchForm.component.ts
+++ b/claims/claim-utils/claimContextSearchForm.component.ts
@@ -7,6 +7,7 @@ import { StaticAutoCompleteComponent } from '../../utils/staticAutoComplete/stat
declare var UIkit:any;
import {Session} from '../../login/utils/helper.class';
import {ErrorCodes} from '../../login/utils/guardHelper.class';
+import{EnvProperties} from '../../utils/properties/env-properties';
@Component({
// moduleId: module.id,
@@ -32,7 +33,7 @@ import {ErrorCodes} from '../../login/utils/guardHelper.class';
-
+
@@ -49,7 +50,7 @@ import {ErrorCodes} from '../../login/utils/guardHelper.class';
-
+
|
@@ -132,6 +133,8 @@ public showComponent:boolean = true ; // for claimed started from landing pages
@Input() public projects;
@Input() public results;
@Input() public inlineEntity;
+@Input() public properties:EnvProperties;
+
public selectedCommunityId:string = "0";
public selectedCategoryId:string ="0";
// @Output() contextSelected = new EventEmitter();
@@ -206,7 +209,7 @@ getCommunities () {
}else{
this.loading = true;
var token=Session.getUserJwt();
- this._contextService.getCommunities().subscribe(
+ this._contextService.getCommunities(this.properties.claimsAPIURL).subscribe(
data => {
this.communities = data.communities;
this.loading = false;
@@ -228,7 +231,7 @@ getCommunities () {
}else{
var token=Session.getUserJwt();
- this._contextService.getCategories(this.selectedCommunityId).subscribe(
+ this._contextService.getCategories(this.selectedCommunityId,this.properties.claimsAPIURL).subscribe(
data => {
this.categories = (Array.isArray(data.category))? data.category:[data.category];
@@ -257,7 +260,7 @@ getCommunities () {
}else{
this.concepts = [];
var token=Session.getUserJwt();
- this._contextService.getConcepts(this.selectedCategoryId, "",true).subscribe(
+ this._contextService.getConcepts(this.selectedCategoryId, "",true, this.properties.claimsAPIURL).subscribe(
data => {
this.concepts =data;
@@ -301,7 +304,7 @@ getCommunities () {
this.conceptsClass[categoryId] = [];
var token=Session.getUserJwt();
this.conceptsCategoryLoading[categoryId] = true;
- this._contextService.getConcepts(categoryId, "",false).subscribe(
+ this._contextService.getConcepts(categoryId, "",false, this.properties.claimsAPIURL).subscribe(
data => {
var concepts = (Array.isArray(data))? data:[data];
for(var i=0;i
-
+
@@ -45,6 +47,7 @@ export class ClaimProjectsSearchFormComponent {
public selectedFunderId:string ="0";
selectedFunderName:string ="Select funder:";
@Output() projectSelected = new EventEmitter();
+ @Input() public properties:EnvProperties;
public projects:string[];
public warningMessage = "";
@@ -167,7 +170,7 @@ handleClick(event){
}
getFunders () {
console.info("Getting Funders....");
- this._projectService.getFunders().subscribe(
+ this._projectService.getFunders(this.properties).subscribe(
data => {
this.funders = data[1];
console.log("this.funders");
diff --git a/claims/claim-utils/claimResultSearchForm.component.ts b/claims/claim-utils/claimResultSearchForm.component.ts
index adb95fab..a443c30a 100644
--- a/claims/claim-utils/claimResultSearchForm.component.ts
+++ b/claims/claim-utils/claimResultSearchForm.component.ts
@@ -10,6 +10,8 @@ import {SearchSoftwareService} from '../../services/searchSoftware.service';
import { ErrorCodes} from '../../utils/properties/openaireProperties';
import {ClaimResult} from '../claim-utils/claimEntities.class';
import{DOI} from '../../utils/string-utils.class';
+import{EnvProperties} from '../../utils/properties/env-properties';
+
declare var UIkit:any;
@Component({
@@ -27,6 +29,8 @@ export class ClaimResultSearchFormComponent {
}
ngOnInit() {
+ console.log("Init of ClaimResultSearchFormComponent");
+ console.log(this.properties);
if(this.keyword !=null && this.keyword.length > 0){
this.search(false);
}
@@ -43,6 +47,8 @@ export class ClaimResultSearchFormComponent {
@Input() public select:boolean = true ;
@Input() public keyword:string = '';
@Input() public selectedResults:ClaimResult[];
+ @Input() public properties:EnvProperties;
+
// @Output() datasetsChange = new EventEmitter();
// @Output() publicationsChange = new EventEmitter();
@@ -146,14 +152,14 @@ export class ClaimResultSearchFormComponent {
private getCrossrefResults (term: string, size : number, page : number) {
this.crossrefStatus = this.errorCodes.LOADING;
if( this.DOIs.length > 0 ){
- this._searchCrossrefService.searchCrossrefByDOIs(this.DOIs).subscribe(
+ this._searchCrossrefService.searchCrossrefByDOIs(this.DOIs, this.properties.searchCrossrefAPIURL).subscribe(
data => {
if(data != null) {
this.crossrefResults = data.items;
this.crossrefPage=page;
this.crossrefResultsNum = data['total-results'];
if(data.items == 0){
- this._searchCrossrefService.searchCrossrefResults(term, size, page).subscribe(
+ this._searchCrossrefService.searchCrossrefResults(term, size, page, this.properties.searchCrossrefAPIURL).subscribe(
data => {
if(data != null) {
this.crossrefResults = data.items;
@@ -178,7 +184,7 @@ private getCrossrefResults (term: string, size : number, page : number) {
},
err => {
//console.log(err);
- this._searchCrossrefService.searchCrossrefResults(term, size, page).subscribe(
+ this._searchCrossrefService.searchCrossrefResults(term, size, page, this.properties.searchCrossrefAPIURL).subscribe(
data => {
this.crossrefResults = data.items;
this.crossrefPage=page;
@@ -198,7 +204,7 @@ private getCrossrefResults (term: string, size : number, page : number) {
}else{
- this._searchCrossrefService.searchCrossrefResults(term, size, page).subscribe(
+ this._searchCrossrefService.searchCrossrefResults(term, size, page, this.properties.searchCrossrefAPIURL).subscribe(
data => {
if(data != null) {
this.crossrefResults = data.items;
@@ -222,7 +228,7 @@ private getCrossrefResults (term: string, size : number, page : number) {
if(this.DOIs.length > 0 ){
this.openairePubsStatus = this.errorCodes.LOADING;
- this._searchPublicationsService.searchPublicationsByDois(this.DOIs, null, page, size, []).subscribe(
+ this._searchPublicationsService.searchPublicationsByDois(this.DOIs, null, page, size, [], this.properties).subscribe(
data => {
if(data != null) {
this.openairePubsPage=page;
@@ -243,7 +249,7 @@ private getCrossrefResults (term: string, size : number, page : number) {
);
}else{
this.openairePubsStatus = this.errorCodes.LOADING;
- this._searchPublicationsService.searchPublications('q='+term, null, page, size, []).subscribe(
+ this._searchPublicationsService.searchPublications('q='+term, null, page, size, [], this.properties).subscribe(
data => {
if(data != null) {
this.openairePubsPage=page;
@@ -300,7 +306,7 @@ private getCrossrefResults (term: string, size : number, page : number) {
//passing structures in order to fill them in service
this._searchOrcidService.searchOrcidAuthor(term, this.authorIds,
- this.authorGivenNames, this.authorFamilyNames).subscribe(
+ this.authorGivenNames, this.authorFamilyNames, this.properties).subscribe(
data => {
if(data != null && data == true) {
this.getOrcidResultsByIndex(0);
@@ -330,7 +336,7 @@ private getCrossrefResults (term: string, size : number, page : number) {
this.orcidStatus = this.errorCodes.LOADING;
//passing structures in order to fill them in service
this._searchOrcidService.searchOrcidAuthors(term, this.authorIds,
- this.authorGivenNames, this.authorFamilyNames).subscribe(
+ this.authorGivenNames, this.authorFamilyNames, this.properties).subscribe(
data => {
if(data != null && data == true) {
this.getOrcidResultsByIndex(0);
@@ -366,7 +372,7 @@ private getCrossrefResults (term: string, size : number, page : number) {
this.authorId = id;
console.info("getOrcidResultsById: "+id);
this.orcidStatus = this.errorCodes.LOADING;
- this._searchOrcidService.searchOrcidPublications(id).subscribe(
+ this._searchOrcidService.searchOrcidPublications(id, this.properties).subscribe(
data => {
if(data != null) {
this.orcidResults=data['orcid-work'];
@@ -492,7 +498,7 @@ openaireSoftwarePageChange($event) {
private searchOpenaireData (term: string, size : number, page : number) {
if(this.DOIs.length > 0 ){
this.openaireDataStatus = this.errorCodes.LOADING;
- this._searchDatasetsService.searchDatasetsByDois(this.DOIs, null, page, size, []).subscribe(
+ this._searchDatasetsService.searchDatasetsByDois(this.DOIs, null, page, size, [], this.properties).subscribe(
data => {
if(data != null) {
this.openaireDataPage=page;
@@ -510,7 +516,7 @@ openaireSoftwarePageChange($event) {
}
);
}else{
- this._searchDatasetsService.searchDatasets('q='+term+'', null, page, size, []).subscribe(
+ this._searchDatasetsService.searchDatasets('q='+term+'', null, page, size, [], this.properties).subscribe(
data => {
if(data != null) {
this.openaireDataPage=page;
@@ -535,7 +541,7 @@ openaireSoftwarePageChange($event) {
private searchOpenaireSoftware (term: string, size : number, page : number) {
if(this.DOIs.length > 0 ){
this.openaireSoftwareStatus = this.errorCodes.LOADING;
- this._searchSoftwareService.searchSoftwareByDois(this.DOIs, null, page, size, []).subscribe(
+ this._searchSoftwareService.searchSoftwareByDois(this.DOIs, null, page, size, [], this.properties).subscribe(
data => {
if(data != null) {
this.openaireSoftwarePage=page;
@@ -553,7 +559,7 @@ openaireSoftwarePageChange($event) {
}
);
}else{
- this._searchSoftwareService.searchSoftware('q='+term+'', null, page, size, []).subscribe(
+ this._searchSoftwareService.searchSoftware('q='+term+'', null, page, size, [], this.properties).subscribe(
data => {
if(data != null) {
this.openaireSoftwarePage=page;
@@ -576,7 +582,8 @@ openaireSoftwarePageChange($event) {
}
private getDataciteResults (term: string, size : number, page : number) {
- this._searchDataciteService.searchDataciteResults(term, size, page).subscribe(
+ console.log("getDataciteResults + "+this.properties.searchDataciteAPIURL)
+ this._searchDataciteService.searchDataciteResults(term, size, page, this.properties).subscribe(
data => {
this.dataciteResults = data.data;
this.datacitePage=page;
diff --git a/claims/claim-utils/displayClaims/displayClaims.component.html b/claims/claim-utils/displayClaims/displayClaims.component.html
index 5e385958..5c549304 100644
--- a/claims/claim-utils/displayClaims/displayClaims.component.html
+++ b/claims/claim-utils/displayClaims/displayClaims.component.html
@@ -99,8 +99,8 @@
|
- |
- |
+ |
+ |
{{claim.userMail}} |
{{claim.date}} |
diff --git a/claims/claim-utils/displayClaims/displayClaims.component.ts b/claims/claim-utils/displayClaims/displayClaims.component.ts
index d6773c57..d1d2953e 100644
--- a/claims/claim-utils/displayClaims/displayClaims.component.ts
+++ b/claims/claim-utils/displayClaims/displayClaims.component.ts
@@ -6,6 +6,7 @@ import {ClaimsService} from '../service/claims.service';
import {ModalLoading} from '../../../utils/modal/loading.component';
import {AlertModal} from '../../../utils/modal/alert';
import {Session} from '../../../login/utils/helper.class';
+import{EnvProperties} from '../../../utils/properties/env-properties';
@Component({
@@ -15,10 +16,17 @@ import {Session} from '../../../login/utils/helper.class';
})
export class DisplayClaimsComponent {
+ properties:EnvProperties;
+
constructor (private _claimService: ClaimsService, private route: ActivatedRoute, private _router:Router, private location: Location) {
}
ngOnInit() {
+ this.route.data
+ .subscribe((data: { envSpecific: EnvProperties }) => {
+ this.properties = data.envSpecific;
+
+ });
this.sub = this.route.queryParams.subscribe(params => {
if( this.myClaims){
this.fetchBy = "User";
@@ -109,7 +117,7 @@ export class DisplayClaimsComponent {
types+=(types.length>0?'&':'')+"types="+type;
}
if(this.fetchBy =="Project" ){
- this._claimService.getClaimsByProject(this.size,this.page,this.fetchId,this.keyword,this.sortby,this.descending, types).subscribe(
+ this._claimService.getClaimsByProject(this.size,this.page,this.fetchId,this.keyword,this.sortby,this.descending, types, this.properties.claimsAPIURL).subscribe(
data => {
this.claims = data.data;
this.resultsNum= data.total;
@@ -119,7 +127,7 @@ export class DisplayClaimsComponent {
}
);
}else if(this.fetchBy =="User"){
- this._claimService.getClaimsByUser(this.size,this.page,this.fetchId,this.keyword,this.sortby,this.descending, types).subscribe(
+ this._claimService.getClaimsByUser(this.size,this.page,this.fetchId,this.keyword,this.sortby,this.descending, types,this.properties.claimsAPIURL).subscribe(
data => {
this.claims = data.data;
this.resultsNum= data.total;
@@ -129,7 +137,7 @@ export class DisplayClaimsComponent {
}
);
}else if(this.fetchBy =="Result"){
- this._claimService.getClaimsByResult(this.size,this.page,this.fetchId,this.keyword,this.sortby,this.descending, types).subscribe(
+ this._claimService.getClaimsByResult(this.size,this.page,this.fetchId,this.keyword,this.sortby,this.descending, types, this.properties.claimsAPIURL).subscribe(
data => {
this.claims = data.data;
this.resultsNum= data.total;
@@ -139,7 +147,7 @@ export class DisplayClaimsComponent {
}
);
}else if(this.fetchBy =="Context"){
- this._claimService.getClaimsBycontext(this.size,this.page,this.fetchId,this.keyword,this.sortby,this.descending, types).subscribe(
+ this._claimService.getClaimsBycontext(this.size,this.page,this.fetchId,this.keyword,this.sortby,this.descending, types, this.properties.claimsAPIURL).subscribe(
data => {
this.claims = data.data;
this.resultsNum= null;
@@ -150,7 +158,7 @@ export class DisplayClaimsComponent {
}
);
}else{
- this._claimService.getClaims(this.size,this.page,this.keyword,this.sortby,this.descending, types).subscribe(
+ this._claimService.getClaims(this.size,this.page,this.keyword,this.sortby,this.descending, types, this.properties.claimsAPIURL).subscribe(
data => {
this.claims = data.data;
this.resultsNum = null;
@@ -418,7 +426,7 @@ handleErrors(err){
var token=Session.getUserJwt();
console.log("Deleting claim with id:"+id);
// this._claimService.deleteClaimById(id);
- this._claimService.deleteClaimById(id).subscribe(
+ this._claimService.deleteClaimById(id, this.properties.claimsAPIURL).subscribe(
res => {
console.log('Delete response'+res.code );
console.log("Deleted claim with id:"+ id);
@@ -450,7 +458,7 @@ handleErrors(err){
}else{
var token=Session.getUserJwt();
console.warn("Deleting claim with ids:"+ids);
- this._claimService.deleteBulk(ids).subscribe(
+ this._claimService.deleteBulk(ids,this.properties.claimsAPIURL).subscribe(
res => {
console.info('Delete response'+res.code );
console.warn("Deleted ids:"+ res.deletedIds);
diff --git a/claims/claim-utils/entityFormatter/claimEntityFormatter.component.ts b/claims/claim-utils/entityFormatter/claimEntityFormatter.component.ts
index 8a1262a8..66f8d6de 100644
--- a/claims/claim-utils/entityFormatter/claimEntityFormatter.component.ts
+++ b/claims/claim-utils/entityFormatter/claimEntityFormatter.component.ts
@@ -1,4 +1,5 @@
import {Component, Input} from '@angular/core';
+import{EnvProperties} from '../../../utils/properties/env-properties';
//Usage Example " "
@@ -22,7 +23,7 @@ import {Component, Input} from '@angular/core';
@@ -34,14 +35,11 @@ import {Component, Input} from '@angular/core';
export class ClaimEntityFormatter {
@Input() entity: string[];
@Input() type: string;
+ @Input() properties: EnvProperties;
constructor () {}
ngOnInit() {
- if(this.type && this.type == "software"){
-
- console.log(this.entity);
- }
}
diff --git a/claims/claim-utils/entityFormatter/projectTitleFormatter.component.ts b/claims/claim-utils/entityFormatter/projectTitleFormatter.component.ts
index b1b95aa1..175e03f0 100644
--- a/claims/claim-utils/entityFormatter/projectTitleFormatter.component.ts
+++ b/claims/claim-utils/entityFormatter/projectTitleFormatter.component.ts
@@ -1,5 +1,4 @@
import {Component, Input} from '@angular/core';
-import {OpenaireProperties} from '../../../utils/properties/openaireProperties';
import {RouterHelper} from '../../../utils/routerHelper.class';
//Usage Example "
"
@@ -15,11 +14,12 @@ import {RouterHelper} from '../../../utils/routerHelper.class';
export class ProjectTitleFormatter {
@Input() project: string[];
+ @Input() searchLink: string;
public url:string;
public routerHelper:RouterHelper = new RouterHelper();
constructor () {}
ngOnInit() {
- this.url = OpenaireProperties.getsearchLinkToProject() + "?projectId=" + this.project["openaireId"];
+ this.url =this.searchLink+ "?projectId=" + this.project["openaireId"];
}
}
diff --git a/claims/claim-utils/service/claims.service.ts b/claims/claim-utils/service/claims.service.ts
index 45107b3b..4ed72da6 100644
--- a/claims/claim-utils/service/claims.service.ts
+++ b/claims/claim-utils/service/claims.service.ts
@@ -3,62 +3,57 @@ import {URLSearchParams } from '@angular/http';
import {Http, Response} from '@angular/http';
import {Observable} from 'rxjs/Observable';
// import {Claim} from '../claim';
-import {OpenaireProperties} from '../../../utils/properties/openaireProperties';
import 'rxjs/add/observable/of';
import 'rxjs/add/operator/do';
import 'rxjs/add/operator/share';
-import { } from '../../../shared/cache.service';
import { CustomOptions } from './customOptions.class';
@Injectable()
export class ClaimsService {
- private baseUrl;
constructor(private http: Http ) {
- this.baseUrl = OpenaireProperties.getClaimsAPIURL();
}
private getClaimRequest(size : number, page : number, url :string, fromCache:boolean):any {
console.info('ClaimsService: Claims request: '+url);
let key = url;
- //(fromCache && OpenaireProperties.isCacheEnabled())? (OpenaireProperties.getCacheUrl()+encodeURIComponent(url)): url
- return this.http.get(url, CustomOptions.getAuthOptions())
+ return this.http.get(url, CustomOptions.getAuthOptions())
.map(request =>
request.json())
.do(request => console.info("Get claims: offset = "+(size*(page-1)) + " limit ="+size ))
.catch(this.handleError);
}
- getClaims( size : number, page : number, keyword:string, sortby: string, descending: boolean, types: string):any {
+ getClaims( size : number, page : number, keyword:string, sortby: string, descending: boolean, types: string, apiUrl:string):any {
console.info('ClaimsService: getClaims ' );
console.info('ClaimsService: Types : '+types );
- let url = this.baseUrl +"claims"+"?offset="+(size*(page-1) + "&limit="+size)+"&keyword="+keyword+"&sortby="+sortby+"&descending="+descending+"&"+types;
+ let url = apiUrl +"claims"+"?offset="+(size*(page-1) + "&limit="+size)+"&keyword="+keyword+"&sortby="+sortby+"&descending="+descending+"&"+types;
return this.getClaimRequest(size,page,url,true);
}
- getClaimsByUser( size : number, page : number, user:string, keyword:string, sortby: string, descending: boolean, types: string):any {
+ getClaimsByUser( size : number, page : number, user:string, keyword:string, sortby: string, descending: boolean, types: string, apiUrl:string):any {
console.info('ClaimsService: getClaims for user : '+user);
- let url = this.baseUrl +"users/claims"+"?offset="+(size*(page-1) + "&limit="+size)+"&keyword="+keyword+"&sortby="+sortby+"&descending="+descending+"&"+types;
+ let url = apiUrl +"users/claims"+"?offset="+(size*(page-1) + "&limit="+size)+"&keyword="+keyword+"&sortby="+sortby+"&descending="+descending+"&"+types;
return this.getClaimRequest(size,page,url,false);
}
- getClaimsBycontext( size : number, page : number, contextId:string, keyword:string, sortby: string, descending: boolean, types: string ):any {
+ getClaimsBycontext( size : number, page : number, contextId:string, keyword:string, sortby: string, descending: boolean, types: string , apiUrl:string):any {
console.info('ClaimsService: getClaims for context : '+contextId);
- let url = this.baseUrl +"contexts/"+contextId+"/claims"+"?offset="+(size*(page-1) + "&limit="+size)+"&keyword="+keyword+"&sortby="+sortby+"&descending="+descending+"&"+types;
+ let url = apiUrl +"contexts/"+contextId+"/claims"+"?offset="+(size*(page-1) + "&limit="+size)+"&keyword="+keyword+"&sortby="+sortby+"&descending="+descending+"&"+types;
return this.getClaimRequest(size,page,url,true);
}
- getClaimsByResult( size : number, page : number, resultId:string, keyword:string, sortby: string, descending: boolean, types: string ):any {
+ getClaimsByResult( size : number, page : number, resultId:string, keyword:string, sortby: string, descending: boolean, types: string, apiUrl:string ):any {
console.info('ClaimsService: getClaims for result : '+resultId);
- let url = this.baseUrl +"results/"+resultId+"/claims"+"?offset="+(size*(page-1) + "&limit="+size)+"&keyword="+keyword+"&sortby="+sortby+"&descending="+descending+"&"+types;
+ let url = apiUrl +"results/"+resultId+"/claims"+"?offset="+(size*(page-1) + "&limit="+size)+"&keyword="+keyword+"&sortby="+sortby+"&descending="+descending+"&"+types;
return this.getClaimRequest(size,page,url,true);
}
- getClaimsByProject( size : number, page : number, projectId:string, keyword:string, sortby: string, descending: boolean, types: string ):any {
+ getClaimsByProject( size : number, page : number, projectId:string, keyword:string, sortby: string, descending: boolean, types: string, apiUrl:string ):any {
console.info('ClaimsService: getClaims for project : '+projectId);
- let url = this.baseUrl +"projects/"+projectId+"/claims"+"?offset="+(size*(page-1) + "&limit="+size)+"&keyword="+keyword+"&sortby="+sortby+"&descending="+descending+"&"+types;
+ let url = apiUrl +"projects/"+projectId+"/claims"+"?offset="+(size*(page-1) + "&limit="+size)+"&keyword="+keyword+"&sortby="+sortby+"&descending="+descending+"&"+types;
return this.getClaimRequest(size,page,url,true);
}
- deleteClaimById(claimId:string ):any{
+ deleteClaimById(claimId:string , apiUrl:string):any{
console.warn('Trying to delete claim with id : '+claimId);
- let url = this.baseUrl +"claims/"+claimId;
+ let url = apiUrl +"claims/"+claimId;
// let headers = new Headers({ 'Content-Type': 'application/json' });
// let options = new RequestOptions({ headers: headers });
return this.http.delete( url, CustomOptions.getAuthOptionsWithBody()).map(request => request.json())
@@ -66,7 +61,7 @@ export class ClaimsService {
.catch(this.handleError);
}
- deleteBulk(claimIds:string[]):any{
+ deleteBulk(claimIds:string[], apiUrl:string):any{
console.warn('Trying to delete claims with ids : '+claimIds);
var url = "";
@@ -74,7 +69,7 @@ export class ClaimsService {
for(var claimId of claimIds){
url=url+(url.length >0 ?"&":"")+"claimId="+claimId;
}
- url= this.baseUrl +"claims/bulk?"+url;
+ url= apiUrl +"claims/bulk?"+url;
// let headers = new Headers({ 'Content-Type': 'application/json' });
// let options = new RequestOptions({ headers: headers });
@@ -83,9 +78,9 @@ export class ClaimsService {
.catch(this.handleError);
}
- insertBulkClaims(claims):any{
+ insertBulkClaims(claims, apiUrl:string):any{
console.warn('Trying toinsert claims : '+claims);
- let url = this.baseUrl +"claims/bulk";
+ let url = apiUrl +"claims/bulk";
let body = JSON.stringify( claims );
console.warn('Json body: : '+body);
// let headers = new Headers({ 'Content-Type': 'application/json' });
@@ -96,9 +91,9 @@ export class ClaimsService {
.catch(this.handleError);
}
- insertClaim(claim):any{
+ insertClaim(claim, apiUrl:string):any{
console.warn('Trying toinsert claim : '+claim);
- let url = this.baseUrl +"claims";
+ let url = apiUrl +"claims";
let body = JSON.stringify( claim );
// let headers = new Headers({ 'Content-Type': 'application/json' });
// let options = new RequestOptions({ headers: headers });
@@ -108,9 +103,9 @@ export class ClaimsService {
.catch(this.handleError);
}
- insertDirectRecords(records):any{
+ insertDirectRecords(records, apiUrl:string):any{
console.warn('Trying to feedrecords : '+records);
- let url = this.baseUrl +"feed/bulk";
+ let url = apiUrl +"feed/bulk";
let body = JSON.stringify( records );
console.warn('Json body: : '+body);
// let headers = new Headers({ 'Content-Type': 'application/json' });
@@ -128,8 +123,8 @@ export class ClaimsService {
return Observable.throw(error || 'Server error');
}
- getClaim(id:string):any {
- let url = this.baseUrl+"claims/"+id;
+ getClaim(id:string, apiUrl:string):any {
+ let url = apiUrl+"claims/"+id;
return new Promise((resolve, reject) => {
this.http.get(url)
.map(res => res.json())
diff --git a/claims/claim-utils/service/contexts.service.ts b/claims/claim-utils/service/contexts.service.ts
index f5d15f70..cf9a2956 100644
--- a/claims/claim-utils/service/contexts.service.ts
+++ b/claims/claim-utils/service/contexts.service.ts
@@ -3,22 +3,18 @@ import {Jsonp, URLSearchParams, RequestOptions, Headers} from '@angular/http';
import {Http, Response} from '@angular/http';
import {Observable} from 'rxjs/Observable';
import {Claim} from '../claim';
-import {OpenaireProperties} from '../../../utils/properties/openaireProperties';
import {AutoCompleteValue} from '../../../searchPages/searchUtils/searchHelperClasses.class';
import 'rxjs/add/observable/of';
import 'rxjs/add/operator/do';
import 'rxjs/add/operator/share';
-import { } from '../../../shared/cache.service';
import { COOKIE } from '../../../login/utils/helper.class';
@Injectable()
export class ContextsService {
- private baseUrl;
constructor(private http: Http ) {
- this.baseUrl = OpenaireProperties.getClaimsAPIURL();
}
- public getCommunities():any {
- let url = this.baseUrl + 'communities';
+ public getCommunities( apiUrl:string):any {
+ let url = apiUrl + 'communities';
let key = url;
@@ -28,9 +24,9 @@ export class ContextsService {
// .do(request => console.info("Get claims: offset = "))
.catch(this.handleError);
}
- public getCategories(communityId :string):any {
+ public getCategories(communityId :string, apiUrl:string):any {
console.info('ContextsService: request categories for community with id '+communityId);
- let url= this.baseUrl + 'communities/' + communityId + '/categories';
+ let url= apiUrl + 'communities/' + communityId + '/categories';
let key = url;
@@ -39,9 +35,9 @@ export class ContextsService {
// .do(request => console.info("Get claims: offset = " ))
.catch(this.handleError);;
}
- public getConcepts(categoryId :string, keyword: string, parsing:boolean):any {
+ public getConcepts(categoryId :string, keyword: string, parsing:boolean, apiUrl:string):any {
console.info('ContextsService: request concept for category with id '+categoryId + ' and keyword '+ keyword);
- let url= this.baseUrl + 'categories/' + categoryId+ "/concepts";
+ let url= apiUrl + 'categories/' + categoryId+ "/concepts";
let key = url+"_parsing="+parsing;
diff --git a/claims/claim-utils/service/searchCrossref.service.ts b/claims/claim-utils/service/searchCrossref.service.ts
index 40c4e993..38000e3a 100644
--- a/claims/claim-utils/service/searchCrossref.service.ts
+++ b/claims/claim-utils/service/searchCrossref.service.ts
@@ -1,7 +1,6 @@
import {Injectable} from '@angular/core';
import {Http, Response} from '@angular/http';
import {Observable} from 'rxjs/Observable';
-import {OpenaireProperties} from '../../../utils/properties/openaireProperties';
import 'rxjs/add/observable/of';
import 'rxjs/add/operator/do';
import 'rxjs/add/operator/share';
@@ -10,8 +9,8 @@ export class SearchCrossrefService {
constructor( private http: Http ) {}
- searchCrossrefResults (term: string, size : number, page : number):any {
- let url = OpenaireProperties.getSearchCrossrefAPIURL()+'?query='+term+'&rows='+size+'&offset='+(size*(page-1));
+ searchCrossrefResults (term: string, size : number, page : number, apiUrl:string):any {
+ let url = apiUrl+'?query='+term+'&rows='+size+'&offset='+(size*(page-1));
let key = url;
return this.http.get(url)
@@ -20,18 +19,13 @@ export class SearchCrossrefService {
//.catch(this.handleError);
}
- searchCrossrefByDOIs(DOIs: string[]):any {
- /*
- $request ="http://api.crossref.org/works"."?filter=";
- foreach($dois as $doi){
- $request.="doi:".urlencode( trim($doi)).",";
- }
- */
+ searchCrossrefByDOIs(DOIs: string[], apiUrl:string):any {
+
var doisParams = "";
for(var i =0 ;i < DOIs.length; i++){
doisParams+=(doisParams.length > 0?",":"")+'doi:'+DOIs[i];
}
- let url = OpenaireProperties.getSearchCrossrefAPIURL()+'?filter='+doisParams;
+ let url = apiUrl+'?filter='+doisParams;
let key = url;
@@ -41,12 +35,12 @@ export class SearchCrossrefService {
//.catch(this.handleError);
}
- searchCrossrefByMultipleDOIs(dois: string[]):any {
- let url = OpenaireProperties.getSearchCrossrefAPIURL()+'?filter=doi:';
+ searchCrossrefByMultipleDOIs(dois: string[], apiUrl:string):any {
+ let url = apiUrl+'?filter=doi:';
for(var i=0; i request.json())
.do(items => console.info(items))
.do(items => console.log("Datacite Results: total results = "+items.meta.total+" keyword = "+term));
//.catch(this.handleError);
}
- getDataciteResultByDOI (doi: string):any {
+ getDataciteResultByDOI (doi: string, properties:EnvProperties):any {
console.info("Fetch datacite resultt by DOI: "+doi);
- let url = OpenaireProperties.getSearchDataciteAPIURL()+'/'+doi;
+ let url = properties.searchDataciteAPIURL+'/'+doi;
let key = url;
- return this.http.get( (OpenaireProperties.isCacheEnabled())? (OpenaireProperties.getCacheUrl()+encodeURIComponent(url)): url)
+ return this.http.get( (properties.useCache)? (properties.cacheUrl+encodeURIComponent(url)): url)
.map(request => request.json())
.do(items => console.info(items));
// .do(items => console.log("Datacite Results: total results = "+items.meta.total+" doi = "+doi))
diff --git a/claims/claim-utils/service/searchOrcid.service.ts b/claims/claim-utils/service/searchOrcid.service.ts
index 0a60ef7a..6adccbfa 100644
--- a/claims/claim-utils/service/searchOrcid.service.ts
+++ b/claims/claim-utils/service/searchOrcid.service.ts
@@ -3,7 +3,7 @@ import {URLSearchParams} from '@angular/http';
import {Http, Response} from '@angular/http';
import { Headers, RequestOptions } from '@angular/http';
import {Observable} from 'rxjs/Observable';
-import {OpenaireProperties} from '../../../utils/properties/openaireProperties';
+import{EnvProperties} from '../../../utils/properties/env-properties';
import 'rxjs/add/observable/of';
import 'rxjs/add/operator/do';
import 'rxjs/add/operator/share';
@@ -14,13 +14,13 @@ export class SearchOrcidService {
searchOrcidAuthor (term: string, authorIds: string[],
- authorGivenNames: string[], authorFamilyNames: string[]):any {
+ authorGivenNames: string[], authorFamilyNames: string[], properties:EnvProperties):any {
console.info("In searchOrcidAuthor: "+term);
var headers = new Headers();
headers.append('Accept', 'application/orcid+json');
- let url = OpenaireProperties.getSearchOrcidURL()+term+'/orcid-bio';
+ let url = properties.searchOrcidURL + term+'/orcid-bio';
let key = url;
return this.http.get(url, { headers: headers })
@@ -32,13 +32,13 @@ export class SearchOrcidService {
}
searchOrcidAuthors (term: string, authorIds: string[],
- authorGivenNames: string[], authorFamilyNames: string[]):any {
+ authorGivenNames: string[], authorFamilyNames: string[], properties:EnvProperties):any {
console.info("In search Orcid authors for keyword: "+term);
var headers = new Headers();
headers.append('Accept', 'application/orcid+json');
- let url = OpenaireProperties.getSearchOrcidURL()+'search/orcid-bio?defType=edismax&q='+term+'&qf=given-name^1.0+family-name^2.0+other-names^1.0+credit-name^1.0&start=0&rows=10';
+ let url = properties.searchOrcidURL+'search/orcid-bio?defType=edismax&q='+term+'&qf=given-name^1.0+family-name^2.0+other-names^1.0+credit-name^1.0&start=0&rows=10';
let key = url;
return this.http.get(url, { headers: headers })
@@ -47,13 +47,13 @@ export class SearchOrcidService {
}
- searchOrcidPublications (id: string):any {
+ searchOrcidPublications (id: string, properties:EnvProperties):any {
console.info("In search Orcid publications for author: "+id);
var headers = new Headers();
headers.append('Accept', 'application/orcid+json');
- let url = OpenaireProperties.getSearchOrcidURL()+id+'/orcid-works';
+ let url =properties.searchOrcidURL+id+'/orcid-works';
let key = url;
return this.http.get(url, { headers: headers })
diff --git a/claims/claimsByToken/claimsByToken.component.html b/claims/claimsByToken/claimsByToken.component.html
new file mode 100644
index 00000000..6d61f438
--- /dev/null
+++ b/claims/claimsByToken/claimsByToken.component.html
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+
+
+
+
+
Oops! Your email does not give you the authority to view claims for the selected project. Please contact the administrators.
+
+
+
+
+
+
Pending Claims
+
+
+
No pending claims found.
+
+
+
+
+
+
+
+
+
0 && totalPendingResults.count > 0">
+ {{totalPendingResults.count}} pending claims, page {{activePendingPage.page}} of {{totalPages(totalPendingResults.count)}}
+
+
+
+
+
+
*Note that claims you did not approved or disapproved are considered as right (but not curated)
+
+
+
Already Curated Claims
+
+
+
No curated claims found.
+
+
+
+
+
+
+
+
+
0 && totalCuratedResults.count > 0">
+ {{totalCuratedResults.count}} curated claims, page {{activeCuratedPage.page}} of {{totalPages(totalCuratedResults.count)}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/claims/claimsByToken/claimsByToken.component.ts b/claims/claimsByToken/claimsByToken.component.ts
index dc30a911..71532793 100644
--- a/claims/claimsByToken/claimsByToken.component.ts
+++ b/claims/claimsByToken/claimsByToken.component.ts
@@ -13,177 +13,11 @@ import {RouterHelper} from '../../utils/routerHelper.class';
import { Meta} from '../../../angular2-meta';
import {ClaimsDatatablePipe} from '../../utils/pipes/claimsDatatable.pipe';
import { DataTableDirective } from 'angular-datatables';
+import{EnvProperties} from '../../utils/properties/env-properties';
@Component({
selector: 'claims-project-manager',
- template: `
-
-
-
-
-
-
-
-
-
-
-
Oops! Your email does not give you the authority to view claims for the selected project. Please contact the administrators.
-
-
-
-
-
-
Pending Claims
-
-
-
No pending claims found.
-
-
-
-
-
-
-
-
-
0 && totalPendingResults.count > 0">
- {{totalPendingResults.count}} pending claims, page {{activePendingPage.page}} of {{totalPages(totalPendingResults.count)}}
-
-
-
-
-
-
*Note that claims you did not approved or disapproved are considered as right (but not curated)
-
-
-
Already Curated Claims
-
-
-
No curated claims found.
-
-
-
-
-
-
-
-
-
0 && totalCuratedResults.count > 0">
- {{totalCuratedResults.count}} curated claims, page {{activeCuratedPage.page}} of {{totalPages(totalCuratedResults.count)}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `,
+ templateUrl: 'claimsByToken.component.html'
})
export class ClaimsByTokenComponent {
@@ -219,13 +53,18 @@ export class ClaimsByTokenComponent {
@ViewChild (ModalSelect) selectModal : ModalSelect;
@ViewChild (ModalLoading) loading : ModalLoading ;
-
+properties:EnvProperties;
public routerHelper:RouterHelper = new RouterHelper();
constructor ( private route: ActivatedRoute, private claimsByTokenService: ClaimsByTokenService, private _meta: Meta) {
}
ngOnInit() {
+ this.route.data
+ .subscribe((data: { envSpecific: EnvProperties }) => {
+ this.properties = data.envSpecific;
+
+ });
this.sub = this.route.queryParams.subscribe(params => {
this.token = params['token'];
this.selectedRight = new Set();
@@ -287,7 +126,7 @@ public sortByTitle2= (claim: any) => {
validateJWTandToken() {
var jwtToken=Session.getUserJwt();
if(this.token) {
- this.claimsByTokenService.getClaims(this.token, jwtToken).subscribe(
+ this.claimsByTokenService.getClaims(this.token, jwtToken, this.properties.claimsAPIURL).subscribe(
data => {
this.closeLoading();
this.accessStatus = "valid";
@@ -376,7 +215,7 @@ public sortByTitle2= (claim: any) => {
console.info("Changes Saved!");
var jwtToken=Session.getUserJwt();
- this.claimsByTokenService.updateClaimsCuration(this.selectedRight, this.selectedWrong).subscribe(
+ this.claimsByTokenService.updateClaimsCuration(this.selectedRight, this.selectedWrong, this.properties.claimsAPIURL).subscribe(
data => {
console.info(data);
},
diff --git a/claims/claimsByToken/claimsByToken.service.ts b/claims/claimsByToken/claimsByToken.service.ts
index ab75c85a..d01b06b6 100644
--- a/claims/claimsByToken/claimsByToken.service.ts
+++ b/claims/claimsByToken/claimsByToken.service.ts
@@ -2,7 +2,6 @@ import {Injectable} from '@angular/core';
import {Http, Response} from '@angular/http';
import {Jsonp, URLSearchParams,ResponseOptions, RequestOptions, Headers} from '@angular/http';
import {Observable} from 'rxjs/Observable';
-import {OpenaireProperties} from '../../utils/properties/openaireProperties';
import 'rxjs/add/operator/do';
import { CustomOptions } from '../claim-utils/service/customOptions.class';
@@ -12,17 +11,17 @@ export class ClaimsByTokenService {
constructor(private http: Http ) {}
- getClaims(token: string, jwtToken: string):any {
+ getClaims(token: string, jwtToken: string, apiURL:string):any {
console.info("getClaims in service");
- let url = OpenaireProperties.getClaimsAPIURL()+"project/claims?projectToken="+token;
+ let url = apiURL+"project/claims?projectToken="+token;
let key = url;
return this.http.get(url, CustomOptions.getAuthOptions())
//.map(res => res.text())
.map(request => request.json());
-
+
}
@@ -40,8 +39,8 @@ export class ClaimsByTokenService {
}
*/
- updateClaimsCuration( selectedRight: Set, selectedWrong: Set) {
- let url = OpenaireProperties.getClaimsAPIURL() + "curate/bulk";
+ updateClaimsCuration( selectedRight: Set, selectedWrong: Set, apiURL:string) {
+ let url = apiURL + "curate/bulk";
let claimsCurationInfo: any = []; //e.g.: [{"id":"2","approved":true},{"id":"1","approved":true}]
selectedRight.forEach(function(selected) {
diff --git a/claims/directLinking/directLinking.component.html b/claims/directLinking/directLinking.component.html
index cf995879..3244f314 100644
--- a/claims/directLinking/directLinking.component.html
+++ b/claims/directLinking/directLinking.component.html
@@ -102,11 +102,11 @@
-
+
-
+
-
+
@@ -114,7 +114,7 @@
+ (showChange)="showChange($event)" [(properties)]=properties>
-
-
+
+
@@ -100,7 +100,7 @@
+ (showChange)="showChange($event)" [(properties)] = properties>
diff --git a/claims/linking/linkingGeneric.component.ts b/claims/linking/linkingGeneric.component.ts
index 379b8677..789d072f 100644
--- a/claims/linking/linkingGeneric.component.ts
+++ b/claims/linking/linkingGeneric.component.ts
@@ -6,6 +6,8 @@ import {ClaimProject, ClaimResult} from '../claim-utils/claimEntities.class';
import {SearchPublicationsService} from '../../services/searchPublications.service';
import {SearchDatasetsService} from '../../services/searchDatasets.service';
import { Meta} from '../../../angular2-meta';
+import{EnvProperties} from '../../utils/properties/env-properties';
+
declare var UIkit:any;
@Component({
@@ -34,11 +36,18 @@ export class LinkingGenericComponent {
entityTypes=["dataset", "publication", "project","context"];
inlineResult:ClaimResult =null;
sub:any =null;
+ properties:EnvProperties;
+
constructor ( private _router: Router, private route: ActivatedRoute, private entitySearch:EntitiesSearchService,
private publicationsSearch:SearchPublicationsService, private datasetsSearch:SearchDatasetsService, private _meta: Meta) {
this._meta.setTitle("OpenAIRE | Linking");
}
ngOnInit() {
+ this.route.data
+ .subscribe((data: { envSpecific: EnvProperties }) => {
+ this.properties = data.envSpecific;
+
+ });
if( typeof localStorage !== 'undefined') {
if(localStorage.getItem("projects")){
this.projects = JSON.parse(localStorage.getItem("projects"));
diff --git a/claims/linking/selected/selectedContexts.component.ts b/claims/linking/selected/selectedContexts.component.ts
index c8e572a9..ca728220 100644
--- a/claims/linking/selected/selectedContexts.component.ts
+++ b/claims/linking/selected/selectedContexts.component.ts
@@ -9,11 +9,7 @@ import {ClaimContext} from '../../claim-utils/claimEntities.class';
-
+
0 " class=" ">
Selected Communities ({{contexts.length}})
diff --git a/claims/linking/selected/selectedProjects.component.ts b/claims/linking/selected/selectedProjects.component.ts
index d8929ec3..a84d20ea 100644
--- a/claims/linking/selected/selectedProjects.component.ts
+++ b/claims/linking/selected/selectedProjects.component.ts
@@ -8,12 +8,7 @@ import {RouterHelper} from '../../../utils/routerHelper.class';
-
-
+
0 "> Selected Projects ({{projects.length}})
diff --git a/claims/linking/selected/selectedResults.component.ts b/claims/linking/selected/selectedResults.component.ts
index b1b91aca..a115e11c 100644
--- a/claims/linking/selected/selectedResults.component.ts
+++ b/claims/linking/selected/selectedResults.component.ts
@@ -10,17 +10,6 @@ import {Dates} from '../../../utils/string-utils.class';
-
-
There are no selected research results
0 ">
diff --git a/deposit/datasets/depositBySubject.component.ts b/deposit/datasets/depositBySubject.component.ts
index 17a17268..b26485fd 100644
--- a/deposit/datasets/depositBySubject.component.ts
+++ b/deposit/datasets/depositBySubject.component.ts
@@ -1,7 +1,6 @@
import {Component, Input} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import { Router } from '@angular/router';
-import {OpenaireProperties} from '../../utils/properties/openaireProperties';
@@ -29,6 +28,6 @@ export class DepositBySubjectComponent {
constructor (private _router: Router) { }
public search() {
- this._router.navigate( ['participate/deposit-subject-result'], { queryParams: { "q": this.subjectKeyword } } );
+ this._router.navigate( ['participate/deposit-subject-result'], { queryParams: { "subject": this.subjectKeyword } } );
}
}
diff --git a/deposit/datasets/depositBySubjectResult.component.html b/deposit/datasets/depositBySubjectResult.component.html
index 69825626..c99b3667 100644
--- a/deposit/datasets/depositBySubjectResult.component.html
+++ b/deposit/datasets/depositBySubjectResult.component.html
@@ -47,7 +47,7 @@
+ [custom_class]="'other-results'" [(properties)] = properties>
diff --git a/deposit/datasets/depositBySubjectResult.component.ts b/deposit/datasets/depositBySubjectResult.component.ts
index 438db3c1..54f0342b 100644
--- a/deposit/datasets/depositBySubjectResult.component.ts
+++ b/deposit/datasets/depositBySubjectResult.component.ts
@@ -1,6 +1,6 @@
import {Component, Input} from '@angular/core';
import {Observable} from 'rxjs/Observable';
-import {OpenaireProperties, ErrorCodes} from '../../utils/properties/openaireProperties';
+import {ErrorCodes} from '../../utils/properties/openaireProperties';
import { Router } from '@angular/router';
import { ActivatedRoute } from '@angular/router';
import { FetchDataproviders } from '../../utils/fetchEntitiesClasses/fetchDataproviders.class';
@@ -11,6 +11,7 @@ import { Meta} from '../../../angular2-meta';
import {RouterHelper} from '../../utils/routerHelper.class';
import {PiwikService} from '../../utils/piwik/piwik.service';
+import{EnvProperties} from '../../utils/properties/env-properties';
@Component({
selector: 'deposit-by-subject-result',
@@ -41,31 +42,37 @@ export class DepositBySubjectResultComponent {
sub: any;
piwiksub: any;
+ properties:EnvProperties;
constructor ( private _router: Router,
private route: ActivatedRoute,
private _searchDataprovidersService: SearchDataprovidersService,
private _meta: Meta, private _piwikService:PiwikService) {
- this.zenodo = OpenaireProperties.getZenodoURL();
this.fetchDataproviders = new FetchDataproviders(this._searchDataprovidersService);
this.status = this.errorCodes.LOADING;
this.updateTitle("Deposit "+this.requestFor);
this.updateDescription("Openaire, repositories, open access, content provider, compatibility, organization, deposit "+ this.requestFor);
- this.updateUrl(OpenaireProperties.getBaseLink()+this._router.url);
- if(OpenaireProperties.isPiwikTrackEnabled() && (typeof document !== 'undefined')){
- this.piwiksub = this._piwikService.trackView("Deposit "+this.requestFor).subscribe();
- }
}
ngOnInit() {
+ this.route.data
+ .subscribe((data: { envSpecific: EnvProperties }) => {
+ this.properties = data.envSpecific;
+ this.updateUrl(data.envSpecific.baseLink+this._router.url);
+ this.zenodo = this.properties.zenodo;
+ if(this.properties.enablePiwikTrack && (typeof document !== 'undefined')){
+ this.piwiksub = this._piwikService.trackView("Deposit "+this.requestFor).subscribe();
+ }
+
+ });
console.info('depositResult init');
this.sub = this.route.queryParams.subscribe(params => {
- this.subject = params['q'];
+ this.subject = params['subject'];
this.newSubject = this.subject;
this.searchDataproviders();
});
@@ -95,8 +102,8 @@ export class DepositBySubjectResultComponent {
public searchDataproviders() {
this.subject = this.newSubject;
- this.fetchDataproviders.getResultsBySubjectsForDeposit( (this.subject =="")?"*":this.subject, this.requestFor, this.page, 10);
- this.linkToSearchDataproviders = OpenaireProperties.getLinkToSearchDataProviders();
+ this.fetchDataproviders.getResultsBySubjectsForDeposit( (this.subject =="")?"*":this.subject, this.requestFor, this.page, 10, this.properties);
+ this.linkToSearchDataproviders = this.properties.searchLinkToDataProviders;
}
public goToDeposit() {
diff --git a/deposit/deposit.component.html b/deposit/deposit.component.html
index f18817f4..c62af9f3 100644
--- a/deposit/deposit.component.html
+++ b/deposit/deposit.component.html
@@ -30,7 +30,7 @@
-
+
+ (metricsResults)="metricsResults($event)" [(properties)] = properties>
0"
[url]=viewsFrameUrl width="100%" height="250">
diff --git a/landingPages/dataset/dataset.component.ts b/landingPages/dataset/dataset.component.ts
index b1c5829b..8661c099 100644
--- a/landingPages/dataset/dataset.component.ts
+++ b/landingPages/dataset/dataset.component.ts
@@ -3,10 +3,10 @@ import {Observable} from 'rxjs/Observable';
import {DatasetService} from './dataset.service';
import {DatasetInfo} from '../../utils/entities/datasetInfo';
import {ActivatedRoute, Router} from '@angular/router';
-import {OpenaireProperties} from '../../utils/properties/openaireProperties'
import {RouterHelper} from '../../utils/routerHelper.class';
import { Meta} from '../../../angular2-meta';
import {PiwikService} from '../../utils/piwik/piwik.service';
+import{EnvProperties} from '../../utils/properties/env-properties';
@Component({
selector: 'dataset',
@@ -45,6 +45,7 @@ export class DatasetComponent {
private result ;
sub: any; piwiksub: any; infoSub: any;
+ properties:EnvProperties;
constructor (private element: ElementRef,
private _datasetService: DatasetService,
@@ -52,10 +53,15 @@ export class DatasetComponent {
private route: ActivatedRoute,
private _meta: Meta,
private _router: Router) {
- this.updateUrl(OpenaireProperties.getBaseLink()+this._router.url);
}
ngOnInit() {
+ this.route.data
+ .subscribe((data: { envSpecific: EnvProperties }) => {
+ this.properties = data.envSpecific;
+ this.updateUrl(data.envSpecific.baseLink+this._router.url);
+
+ });
this.sub = this.route.queryParams.subscribe(params => {
this.datasetInfo = null;
this.updateTitle("Dataset");
@@ -73,12 +79,12 @@ export class DatasetComponent {
this.metricsClicked = false;
- this.viewsFrameUrl = OpenaireProperties.getFramesAPIURL()+'merge.php?com=query&data=[{"query":"resRepoViews", "resTitle":"'+this.datasetId+'", "table":"","fields":[{"fld":"sum","agg":"sum","type":"column","yaxis":1,"c":false}],"xaxis":{"name":"month","agg":"sum"},"group":" ","color":"","type":"chart","size":30,"sort":"xaxis","xStyle":{"r":-30,"s":"0","l":"-","ft":"-","wt":"-"},"title":"","subtitle":"","xaxistitle":"Repository","yaxisheaders":["Monthly views"],"generalxaxis":"","theme":0,"in":[],"filters":[{"name":"","values":[""],"to":"-1"}]}]&info_types=["column"]&stacking=normal&steps=false&fontFamily=Courier&spacing=[5,0,0,0]&style=[{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"000000","size":""},{"color":"000000","size":""}]&backgroundColor=rgba(255,255,255,1)&colors[]=rgba(67, 67, 72, 1)&colors[]=rgba(144, 237, 125, 1)&colors[]=rgba(247, 163, 92, 1)&colors[]=rgba(128, 133, 233, 1)&colors[]=rgba(241, 92, 128, 1)&colors[]=rgba(228, 211, 84, 1)&colors[]=rgba(43, 144, 143, 1)&colors[]=rgba(244, 91, 91, 1)&colors[]=rgba(145, 232, 225, 1)&xlinew=0&ylinew=1&legends=true&tooltips=true&persistent=false';
- /*this.viewsFrameUrl = OpenaireProperties.getFramesAPIURL()+'merge.php?com=query&data=[{"query":"resViewsTimeline", "resTitle":"'+this.datasetId+'", "table":"","fields":[{"fld":"sum","agg":"sum","type":"column","yaxis":1,"c":false}],"xaxis":{"name":"month","agg":"sum"},"group":" ","color":"","type":"chart","size":30,"sort":"xaxis","xStyle":{"r":-30,"s":"0","l":"-","ft":"-","wt":"-"},"title":"","subtitle":"","xaxistitle":"Repository","yaxisheaders":["Monthly views"],"generalxaxis":"","theme":0,"in":[],"filters":[{"name":"","values":[""],"to":"-1"}]}]&info_types=["column"]&stacking=normal&steps=false&fontFamily=Courier&spacing=[5,0,0,0]&style=[{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"000000","size":""},{"color":"000000","size":""}]&backgroundColor=rgba(255,255,255,1)&colors[]=rgba(124, 181, 236, 1)&colors[]=rgba(67, 67, 72, 1)&colors[]=rgba(144, 237, 125, 1)&colors[]=rgba(247, 163, 92, 1)&colors[]=rgba(128, 133, 233, 1)&colors[]=rgba(241, 92, 128, 1)&colors[]=rgba(228, 211, 84, 1)&colors[]=rgba(43, 144, 143, 1)&colors[]=rgba(244, 91, 91, 1)&colors[]=rgba(145, 232, 225, 1)&xlinew=0&ylinew=1&legends=true&tooltips=true&persistent=false';
+ this.viewsFrameUrl = this.properties.framesAPIURL+'merge.php?com=query&data=[{"query":"resRepoViews", "resTitle":"'+this.datasetId+'", "table":"","fields":[{"fld":"sum","agg":"sum","type":"column","yaxis":1,"c":false}],"xaxis":{"name":"month","agg":"sum"},"group":" ","color":"","type":"chart","size":30,"sort":"xaxis","xStyle":{"r":-30,"s":"0","l":"-","ft":"-","wt":"-"},"title":"","subtitle":"","xaxistitle":"Repository","yaxisheaders":["Monthly views"],"generalxaxis":"","theme":0,"in":[],"filters":[{"name":"","values":[""],"to":"-1"}]}]&info_types=["column"]&stacking=normal&steps=false&fontFamily=Courier&spacing=[5,0,0,0]&style=[{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"000000","size":""},{"color":"000000","size":""}]&backgroundColor=rgba(255,255,255,1)&colors[]=rgba(67, 67, 72, 1)&colors[]=rgba(144, 237, 125, 1)&colors[]=rgba(247, 163, 92, 1)&colors[]=rgba(128, 133, 233, 1)&colors[]=rgba(241, 92, 128, 1)&colors[]=rgba(228, 211, 84, 1)&colors[]=rgba(43, 144, 143, 1)&colors[]=rgba(244, 91, 91, 1)&colors[]=rgba(145, 232, 225, 1)&xlinew=0&ylinew=1&legends=true&tooltips=true&persistent=false';
+ /*this.viewsFrameUrl = this.properties.framesAPIURL+'merge.php?com=query&data=[{"query":"resViewsTimeline", "resTitle":"'+this.datasetId+'", "table":"","fields":[{"fld":"sum","agg":"sum","type":"column","yaxis":1,"c":false}],"xaxis":{"name":"month","agg":"sum"},"group":" ","color":"","type":"chart","size":30,"sort":"xaxis","xStyle":{"r":-30,"s":"0","l":"-","ft":"-","wt":"-"},"title":"","subtitle":"","xaxistitle":"Repository","yaxisheaders":["Monthly views"],"generalxaxis":"","theme":0,"in":[],"filters":[{"name":"","values":[""],"to":"-1"}]}]&info_types=["column"]&stacking=normal&steps=false&fontFamily=Courier&spacing=[5,0,0,0]&style=[{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"000000","size":""},{"color":"000000","size":""}]&backgroundColor=rgba(255,255,255,1)&colors[]=rgba(124, 181, 236, 1)&colors[]=rgba(67, 67, 72, 1)&colors[]=rgba(144, 237, 125, 1)&colors[]=rgba(247, 163, 92, 1)&colors[]=rgba(128, 133, 233, 1)&colors[]=rgba(241, 92, 128, 1)&colors[]=rgba(228, 211, 84, 1)&colors[]=rgba(43, 144, 143, 1)&colors[]=rgba(244, 91, 91, 1)&colors[]=rgba(145, 232, 225, 1)&xlinew=0&ylinew=1&legends=true&tooltips=true&persistent=false';
*/
- this.downloadsFrameUrl = OpenaireProperties.getFramesAPIURL()+'merge.php?com=query&data=[{"query":"resRepoDownloads", "resTitle":"'+this.datasetId+'", "table":"","fields":[{"fld":"sum","agg":"sum","type":"column","yaxis":1,"c":false}],"xaxis":{"name":"month","agg":"sum"},"group":" ","color":"","type":"chart","size":30,"sort":"xaxis","xStyle":{"r":-30,"s":"0","l":"-","ft":"-","wt":"-"},"title":"","subtitle":"","xaxistitle":"Repository","yaxisheaders":["Monthly downloads"],"generalxaxis":"","theme":0,"in":[],"filters":[{"name":"","values":[""],"to":"-1"}]}]&info_types=["column"]&stacking=normal&steps=false&fontFamily=Courier&spacing=[5,0,0,0]&style=[{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"000000","size":""},{"color":"000000","size":""}]&backgroundColor=rgba(255,255,255,1)&colors[]=rgba(67, 67, 72, 1)&colors[]=rgba(144, 237, 125, 1)&colors[]=rgba(247, 163, 92, 1)&colors[]=rgba(128, 133, 233, 1)&colors[]=rgba(241, 92, 128, 1)&colors[]=rgba(228, 211, 84, 1)&colors[]=rgba(43, 144, 143, 1)&colors[]=rgba(244, 91, 91, 1)&colors[]=rgba(145, 232, 225, 1)&xlinew=0&ylinew=1&legends=true&tooltips=true&persistent=false';
- /*this.downloadsFrameUrl = OpenaireProperties.getFramesAPIURL()+'merge.php?com=query&data=[{"query":"resRepoDownloadTimeline", "resTitle":"'+this.datasetId+'", "table":"","fields":[{"fld":"sum","agg":"sum","type":"column","yaxis":1,"c":false}],"xaxis":{"name":"month","agg":"sum"},"group":" ","color":"","type":"chart","size":30,"sort":"xaxis","xStyle":{"r":-30,"s":"0","l":"-","ft":"-","wt":"-"},"title":"","subtitle":"","xaxistitle":"Repository","yaxisheaders":["Monthly downloads"],"generalxaxis":"","theme":0,"in":[],"filters":[{"name":"","values":[""],"to":"-1"}]}]&info_types=["column"]&stacking=normal&steps=false&fontFamily=Courier&spacing=[5,0,0,0]&style=[{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"000000","size":""},{"color":"000000","size":""}]&backgroundColor=rgba(255,255,255,1)&colors[]=rgba(67, 67, 72, 1)&colors[]=rgba(144, 237, 125, 1)&colors[]=rgba(247, 163, 92, 1)&colors[]=rgba(128, 133, 233, 1)&colors[]=rgba(241, 92, 128, 1)&colors[]=rgba(228, 211, 84, 1)&colors[]=rgba(43, 144, 143, 1)&colors[]=rgba(244, 91, 91, 1)&colors[]=rgba(145, 232, 225, 1)&xlinew=0&ylinew=1&legends=true&tooltips=true';
+ this.downloadsFrameUrl = this.properties.framesAPIURL+'merge.php?com=query&data=[{"query":"resRepoDownloads", "resTitle":"'+this.datasetId+'", "table":"","fields":[{"fld":"sum","agg":"sum","type":"column","yaxis":1,"c":false}],"xaxis":{"name":"month","agg":"sum"},"group":" ","color":"","type":"chart","size":30,"sort":"xaxis","xStyle":{"r":-30,"s":"0","l":"-","ft":"-","wt":"-"},"title":"","subtitle":"","xaxistitle":"Repository","yaxisheaders":["Monthly downloads"],"generalxaxis":"","theme":0,"in":[],"filters":[{"name":"","values":[""],"to":"-1"}]}]&info_types=["column"]&stacking=normal&steps=false&fontFamily=Courier&spacing=[5,0,0,0]&style=[{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"000000","size":""},{"color":"000000","size":""}]&backgroundColor=rgba(255,255,255,1)&colors[]=rgba(67, 67, 72, 1)&colors[]=rgba(144, 237, 125, 1)&colors[]=rgba(247, 163, 92, 1)&colors[]=rgba(128, 133, 233, 1)&colors[]=rgba(241, 92, 128, 1)&colors[]=rgba(228, 211, 84, 1)&colors[]=rgba(43, 144, 143, 1)&colors[]=rgba(244, 91, 91, 1)&colors[]=rgba(145, 232, 225, 1)&xlinew=0&ylinew=1&legends=true&tooltips=true&persistent=false';
+ /*this.downloadsFrameUrl = this.properties.framesAPIURL+'merge.php?com=query&data=[{"query":"resRepoDownloadTimeline", "resTitle":"'+this.datasetId+'", "table":"","fields":[{"fld":"sum","agg":"sum","type":"column","yaxis":1,"c":false}],"xaxis":{"name":"month","agg":"sum"},"group":" ","color":"","type":"chart","size":30,"sort":"xaxis","xStyle":{"r":-30,"s":"0","l":"-","ft":"-","wt":"-"},"title":"","subtitle":"","xaxistitle":"Repository","yaxisheaders":["Monthly downloads"],"generalxaxis":"","theme":0,"in":[],"filters":[{"name":"","values":[""],"to":"-1"}]}]&info_types=["column"]&stacking=normal&steps=false&fontFamily=Courier&spacing=[5,0,0,0]&style=[{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"rgba(0, 0, 0, 1)","size":"18"},{"color":"000000","size":""},{"color":"000000","size":""}]&backgroundColor=rgba(255,255,255,1)&colors[]=rgba(67, 67, 72, 1)&colors[]=rgba(144, 237, 125, 1)&colors[]=rgba(247, 163, 92, 1)&colors[]=rgba(128, 133, 233, 1)&colors[]=rgba(241, 92, 128, 1)&colors[]=rgba(228, 211, 84, 1)&colors[]=rgba(43, 144, 143, 1)&colors[]=rgba(244, 91, 91, 1)&colors[]=rgba(145, 232, 225, 1)&xlinew=0&ylinew=1&legends=true&tooltips=true';
*/
if (typeof document !== 'undefined') {
this.element.nativeElement.scrollIntoView();
@@ -102,12 +108,12 @@ export class DatasetComponent {
this.errorMessage=""
this.showLoading = true;
- this.infoSub = this._datasetService.getDatasetInfo(id).subscribe(
+ this.infoSub = this._datasetService.getDatasetInfo(id, this. properties).subscribe(
data => {
this.datasetInfo = data;
this.updateTitle(this.datasetInfo.title.name);
this.updateDescription("Dataset, search, repositories, open access,"+this.datasetInfo.title.name);
- if(OpenaireProperties.isPiwikTrackEnabled() && (typeof document !== 'undefined')){
+ if(this.properties.enablePiwikTrack && (typeof document !== 'undefined')){
this.piwiksub = this._piwikService.trackView(this.datasetInfo.title.name).subscribe();
}
diff --git a/landingPages/dataset/dataset.service.ts b/landingPages/dataset/dataset.service.ts
index a6328f2e..63923050 100644
--- a/landingPages/dataset/dataset.service.ts
+++ b/landingPages/dataset/dataset.service.ts
@@ -2,10 +2,10 @@ import {Injectable} from '@angular/core';
import {Http, Response} from '@angular/http';
import {Observable} from 'rxjs/Observable';
import {DatasetInfo} from '../../utils/entities/datasetInfo';
-import {OpenaireProperties} from '../../utils/properties/openaireProperties';
import 'rxjs/add/observable/of';
import 'rxjs/add/operator/do';
import 'rxjs/add/operator/share';
+import{EnvProperties} from '../../utils/properties/env-properties';
import { ParsingFunctions } from '../landing-utils/parsingFunctions.class';
@@ -19,14 +19,14 @@ export class DatasetService {
public parsingFunctions: ParsingFunctions;
datasetInfo: DatasetInfo;
- getDatasetInfo (id: string):any {
+ getDatasetInfo (id: string, properties:EnvProperties):any {
console.info("getDatasetInfo in service");
- let url = OpenaireProperties. getSearchAPIURLLast()+'datasets/'+id+"?format=json";
+ let url = properties.searchAPIURLLAst+'datasets/'+id+"?format=json";
let key = url;
- return this.http.get((OpenaireProperties.isCacheEnabled())? (OpenaireProperties.getCacheUrl()+encodeURIComponent(url)): url)
+ return this.http.get((properties.useCache)? (properties.cacheUrl+encodeURIComponent(url)): url)
.map(res => res.json())
.do(res => console.info(res['result']['metadata']['oaf:entity']))
.map(res => [res['result']['header']['dri:status'], res['result']['metadata']['oaf:entity']['oaf:result']])
diff --git a/landingPages/htmlProjectReport/htmlProjectReport.component.ts b/landingPages/htmlProjectReport/htmlProjectReport.component.ts
index b08ccf15..d318ec0f 100644
--- a/landingPages/htmlProjectReport/htmlProjectReport.component.ts
+++ b/landingPages/htmlProjectReport/htmlProjectReport.component.ts
@@ -3,9 +3,9 @@ import {Observable} from 'rxjs/Observable';
import {ActivatedRoute, Params, Router} from '@angular/router';
import {HtmlProjectReportService} from './htmlProjectReport.service';
import {ProjectService} from '../project/project.service';
-import {OpenaireProperties} from '../../utils/properties/openaireProperties';
import { Meta} from '../../../angular2-meta';
import {PiwikService} from '../../utils/piwik/piwik.service';
+import{EnvProperties} from '../../utils/properties/env-properties';
declare var UIkit: any;
@@ -57,16 +57,22 @@ export class HtmlProjectReportComponent{
public warningMessage: string = "";
public errorMessage: string = "";
public showLoading: boolean = true;
+ properties:EnvProperties;
constructor ( private route: ActivatedRoute,
private htmlService: HtmlProjectReportService,
private _piwikService:PiwikService,
private _projectService: ProjectService,
private _meta: Meta, private _router: Router) {
- this.updateUrl(OpenaireProperties.getBaseLink()+this._router.url);
}
ngOnInit() {
+ this.route.data
+ .subscribe((data: { envSpecific: EnvProperties }) => {
+ this.properties = data.envSpecific;
+ this.updateUrl(data.envSpecific.baseLink+this._router.url);
+
+ });
this.sub = this.route.queryParams.subscribe(params => {
this.projectId = params['projectId'];
@@ -119,7 +125,7 @@ export class HtmlProjectReportComponent{
}
private createHeaders() {
- this.subHTMLInfo = this._projectService.getHTMLInfo(this.projectId).subscribe(
+ this.subHTMLInfo = this._projectService.getHTMLInfo(this.projectId, this.properties).subscribe(
data => {
this.createHeader1(data);
if(data.acronym) {
@@ -127,7 +133,7 @@ export class HtmlProjectReportComponent{
} else if(data.title){
this.updateTitle(data.title+" "+this.resultsType+" report");
}
- if(OpenaireProperties.isPiwikTrackEnabled() && (typeof document !== 'undefined')){
+ if(this.properties.enablePiwikTrack && (typeof document !== 'undefined')){
this.piwiksub = this._piwikService.trackView(((data.acronym)?data.acronym:data.title)+" "+this.resultsType+" report").subscribe();
}
},
@@ -154,10 +160,15 @@ export class HtmlProjectReportComponent{
intro += '';
if (typeof window !== 'undefined') {
- this.subHTML = this.htmlService.getHTML(this.projectId, this.totalResults, this.resultsType).subscribe(
+ this.subHTML = this.htmlService.getHTML(this.projectId, this.totalResults, this.resultsType, this.properties.csvAPIURL).subscribe(
data => {
- let body: string = intro+''+this.header1+'
'+this.header2+'
'+data+'