diff --git a/app/app.module.ts b/app/app.module.ts index 72709c9..c4beb38 100644 --- a/app/app.module.ts +++ b/app/app.module.ts @@ -51,6 +51,7 @@ import { AdminLoginGuard} from './openaireLibrary/login/adminLoginGuard.guard'; import { EnvironmentSpecificResolver} from './openaireLibrary/utils/properties/environmentSpecificResolver'; import { EnvironmentSpecificService} from './openaireLibrary/utils/properties/environment-specific.service'; import{ClaimsAdminModule} from './openaireLibrary/claims/claimsAdmin/claimsAdmin.module'; +import {StatsComponent} from "./pages/stats/stats.component"; //, , ErrorModule CookieLawModule @NgModule({ imports: [ @@ -94,7 +95,8 @@ import{ClaimsAdminModule} from './openaireLibrary/claims/claimsAdmin/claimsAdmin NewDivHelpContentComponent, EditDivHelpContentComponent, DivContentFormComponent, - ClaimsComponent + ClaimsComponent, + StatsComponent ], providers: [ FAQService, diff --git a/app/app.routing.ts b/app/app.routing.ts index ecacb72..f5e9dba 100644 --- a/app/app.routing.ts +++ b/app/app.routing.ts @@ -23,6 +23,7 @@ import { AdminLoginGuard} from './openaireLibrary/login/adminLoginGuard.guard'; import { EnvironmentSpecificResolver} from './openaireLibrary/utils/properties/environmentSpecificResolver'; import { EnvironmentSpecificService} from './openaireLibrary/utils/properties/environment-specific.service'; import{ClaimsAdminComponent} from './openaireLibrary/claims/claimsAdmin/claimsAdmin.component'; +import {StatsComponent} from "./pages/stats/stats.component"; @@ -95,6 +96,10 @@ const appRoutes: Routes = [ path: 'claims', component: ClaimsComponent,canActivate: [FreeGuard],resolve: { envSpecific: EnvironmentSpecificResolver } }, + { + path: 'stats', + component: StatsComponent,canActivate: [FreeGuard],resolve: { envSpecific: EnvironmentSpecificResolver } + }, { path: '**',pathMatch: 'full',component: DashboardComponent } ]; diff --git a/app/dashboard.component.html b/app/dashboard.component.html index d967cdc..378db39 100644 --- a/app/dashboard.component.html +++ b/app/dashboard.component.html @@ -54,7 +54,8 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

- Select statistics & charts + Select statistics & charts
+ New statistics page-under construction

diff --git a/app/domain/statistics-classes.ts b/app/domain/statistics-classes.ts new file mode 100644 index 0000000..eb15965 --- /dev/null +++ b/app/domain/statistics-classes.ts @@ -0,0 +1,9 @@ +export class StatTableOptions { + show: boolean; + showInDashboard: boolean; +} + +export class CommunityStatistics { + pid: string; + statistics: Map; +} \ No newline at end of file diff --git a/app/pages/stats/stats.component.html b/app/pages/stats/stats.component.html new file mode 100644 index 0000000..26cfaa8 --- /dev/null +++ b/app/pages/stats/stats.component.html @@ -0,0 +1 @@ +
Waiting for stats page!
\ No newline at end of file diff --git a/app/pages/stats/stats.component.ts b/app/pages/stats/stats.component.ts new file mode 100644 index 0000000..9869a0f --- /dev/null +++ b/app/pages/stats/stats.component.ts @@ -0,0 +1,35 @@ +import {Component, OnInit} from "@angular/core"; +import {HelpContentService} from "../../services/help-content.service"; +import {CommunityStatistics} from "../../domain/statistics-classes"; + +@Component({ + selector: 'stats', + templateUrl: 'stats.component.html' +}) + +export class StatsComponent implements OnInit { + stats: CommunityStatistics; + tableNames: string[] = []; + + + constructor(private contentService: HelpContentService) {} + + ngOnInit() { + this.getStatistics(); + } + + getStatistics() { + this.contentService.getStatistics('egi').subscribe( + stats => this.stats = stats, + error => console.log(error), + () => { + console.log(`I got something! My pid is ${this.stats.pid}`); + console.log(`my table names are:`); + for (let key in this.stats.statistics){ + this.tableNames.push(key); + console.log(key); + } + } + ); + } +} \ No newline at end of file diff --git a/app/services/help-content.service.ts b/app/services/help-content.service.ts index c47b9b0..f2415fe 100644 --- a/app/services/help-content.service.ts +++ b/app/services/help-content.service.ts @@ -10,6 +10,7 @@ import { Community } from "../domain/community"; import { Entity } from "../domain/entity"; import { DivId } from "../domain/divId"; import { DivHelpContent } from "../domain/div-help-content"; +import {CommunityStatistics} from "../domain/statistics-classes"; @Injectable() export class HelpContentService { @@ -389,4 +390,10 @@ export class HelpContentService { return this.http.get('https://beta.services.openaire.eu/search/v2/api/datasources?format=json').map(res => res.json()).map(res => res.results).do(res => {console.log(res)}).catch(this.handleError); } + getStatistics(community_pid: string) { + return this.http.get(this._helpContentUrl + 'statistics/'+community_pid) + .map(res => res.json()) + .catch(this.handleError); + } + }