diff --git a/dmp-frontend/src/app/app.module.ts b/dmp-frontend/src/app/app.module.ts index f4daaffcb..5b219e249 100644 --- a/dmp-frontend/src/app/app.module.ts +++ b/dmp-frontend/src/app/app.module.ts @@ -104,12 +104,13 @@ import { SharedModule } from './shared/shared.module'; import { MaterialModule } from './shared/material/material.module'; import { AuthService } from './services/auth/auth.service'; import { ProjectListingComponent } from './projects/project-listing.component'; +import { DashboardService } from './services/dashboard/dashboard.service'; import { BaseHttpService } from './utilities/cite-http-service-module/base-http.service'; import { DataManagementPlanListingComponent } from './dmps/dmp-listing.component'; import { ProjectEditorComponent } from './projects/editor/project-editor.component'; import { DataManagementPlanEditorComponent } from './dmps/editor/dmp-editor.component'; -import { FigurecardComponent } from './figurecard/figurecard.component'; +import { FigurecardComponent } from './shared/components/figurecard/figurecard.component'; @@ -195,7 +196,7 @@ import { FigurecardComponent } from './figurecard/figurecard.component'; }, ServerService, VisibilityRulesService, PaginationService, GlobalVariables, AuthGuard, TokenService, LocalStorageService, RestBase, EestoreService, NativeLoginService, PDFService, - AuthService, + AuthService,DashboardService, BaseHttpService ], bootstrap: [AppComponent] diff --git a/dmp-frontend/src/app/homepage/homepage.component.html b/dmp-frontend/src/app/homepage/homepage.component.html index 0e28568e7..a056b7540 100644 --- a/dmp-frontend/src/app/homepage/homepage.component.html +++ b/dmp-frontend/src/app/homepage/homepage.component.html @@ -21,7 +21,7 @@
list
-

52

+

{{dashboardStatisticsData.totalProjectCount}}

This is good if your company size is between 2 and 10 Persons.

@@ -34,7 +34,7 @@
mode_edit
-

33

+

{{dashboardStatisticsData.totalDataManagementPlanCount}}

This is good if your company size is between 2 and 10 Persons.

@@ -47,7 +47,7 @@
subject
-

3

+

{{dashboardStatisticsData.totalDataSetCount}}

This is good if your company size is between 2 and 10 Persons.

@@ -64,7 +64,7 @@
{ - } - ); + ); + + this.dashBoardService.getStatistics().subscribe(data =>{ + debugger; + this.dashboardStatisticsData = new JsonSerializer().fromJSONObject(data,DashboardStatisticsModel); + }) } - getStatistics(){ - return this.restbase.get("datasetprofile/getAll"); - } - } \ No newline at end of file diff --git a/dmp-frontend/src/app/models/dashboard/DashboardStatisticsModel.ts b/dmp-frontend/src/app/models/dashboard/DashboardStatisticsModel.ts new file mode 100644 index 000000000..2af2dd294 --- /dev/null +++ b/dmp-frontend/src/app/models/dashboard/DashboardStatisticsModel.ts @@ -0,0 +1,15 @@ +import { Serializable } from "../Serializable"; + +export class DashboardStatisticsModel implements Serializable{ + public totalDataManagementPlanCount: number; + public totalProjectCount: number; + public totalDataSetCount: number; + + fromJSONObject(item: any): DashboardStatisticsModel { + this.totalDataManagementPlanCount = item.totalDataManagementPlanCount; + this.totalProjectCount = item.totalProjectCount; + this.totalDataSetCount = item.totalDataSetCount; + return this; + } + +} \ No newline at end of file diff --git a/dmp-frontend/src/app/services/dashboard/dashboard.service.ts b/dmp-frontend/src/app/services/dashboard/dashboard.service.ts new file mode 100644 index 000000000..7556a37a8 --- /dev/null +++ b/dmp-frontend/src/app/services/dashboard/dashboard.service.ts @@ -0,0 +1,31 @@ +import 'rxjs/add/operator/map'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { Injectable } from '@angular/core'; +import { HostConfiguration } from './../../app.constants'; +import { BaseHttpService } from '../../utilities/cite-http-service-module/base-http.service'; +import { Observable } from 'rxjs/Observable'; +import { DashboardStatisticsModel } from '../../models/dashboard/DashboardStatisticsModel'; + + + + +@Injectable() +export class DashboardService { + + private actionUrl: string; + private headers: HttpHeaders; + + constructor(private http: BaseHttpService) { + + this.actionUrl = HostConfiguration.Server + 'dashboard/'; + + this.headers = new HttpHeaders(); + this.headers = this.headers.set('Content-Type', 'application/json'); + this.headers = this.headers.set('Accept', 'application/json'); + } + + getStatistics(): Observable { + return this.http.get(this.actionUrl + 'getStatistics', { headers: this.headers }); + } + +} diff --git a/dmp-frontend/src/app/figurecard/figurecard.component.css b/dmp-frontend/src/app/shared/components/figurecard/figurecard.component.css similarity index 100% rename from dmp-frontend/src/app/figurecard/figurecard.component.css rename to dmp-frontend/src/app/shared/components/figurecard/figurecard.component.css diff --git a/dmp-frontend/src/app/figurecard/figurecard.component.html b/dmp-frontend/src/app/shared/components/figurecard/figurecard.component.html similarity index 100% rename from dmp-frontend/src/app/figurecard/figurecard.component.html rename to dmp-frontend/src/app/shared/components/figurecard/figurecard.component.html diff --git a/dmp-frontend/src/app/figurecard/figurecard.component.ts b/dmp-frontend/src/app/shared/components/figurecard/figurecard.component.ts similarity index 100% rename from dmp-frontend/src/app/figurecard/figurecard.component.ts rename to dmp-frontend/src/app/shared/components/figurecard/figurecard.component.ts