From 2cc124bb87717cc58d2ccb5399e8b5c910e4febb Mon Sep 17 00:00:00 2001 From: Vito Date: Thu, 30 Mar 2017 10:15:32 -0700 Subject: [PATCH] #1657 - Added filter by name when clicking on specific app (#1794) --- .../activiti/activiti-demo.component.html | 1 + .../analytics-report-list.component.ts | 13 ++++++---- .../src/services/analytics.service.ts | 26 ++++++++++++++++--- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/demo-shell-ng2/app/components/activiti/activiti-demo.component.html b/demo-shell-ng2/app/components/activiti/activiti-demo.component.html index 304eb0a349..7c613ace62 100644 --- a/demo-shell-ng2/app/components/activiti/activiti-demo.component.html +++ b/demo-shell-ng2/app/components/activiti/activiti-demo.component.html @@ -132,6 +132,7 @@
Report List

diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-list.component.ts b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-list.component.ts index 2563c0fb6c..82c08d5ba4 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-list.component.ts +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-list.component.ts @@ -35,6 +35,9 @@ export class AnalyticsReportListComponent implements OnInit { @Input() layoutType: string = AnalyticsReportListComponent.LAYOUT_LIST; + @Input() + appId: string; + @Output() reportClick: EventEmitter = new EventEmitter(); @@ -59,7 +62,7 @@ export class AnalyticsReportListComponent implements OnInit { ngOnInit() { this.initObserver(); - this.getReportList(); + this.getReportList(this.appId); } initObserver() { @@ -73,14 +76,14 @@ export class AnalyticsReportListComponent implements OnInit { */ reload() { this.reset(); - this.getReportList(); + this.getReportList(this.appId); } /** * Get the report list */ - getReportList() { - this.analyticsService.getReportList().subscribe( + getReportList(appId: string) { + this.analyticsService.getReportList(appId).subscribe( (res: ReportParametersModel[]) => { if (res && res.length === 0) { this.createDefaultReports(); @@ -104,7 +107,7 @@ export class AnalyticsReportListComponent implements OnInit { createDefaultReports() { this.analyticsService.createDefaultReports().subscribe( () => { - this.analyticsService.getReportList().subscribe( + this.analyticsService.getReportList(this.appId).subscribe( (response: ReportParametersModel[]) => { response.forEach((report) => { this.reportObserver.next(report); diff --git a/ng2-components/ng2-activiti-analytics/src/services/analytics.service.ts b/ng2-components/ng2-activiti-analytics/src/services/analytics.service.ts index 89a20d7b26..de54a39318 100644 --- a/ng2-components/ng2-activiti-analytics/src/services/analytics.service.ts +++ b/ng2-components/ng2-activiti-analytics/src/services/analytics.service.ts @@ -20,7 +20,15 @@ import { Observable } from 'rxjs/Rx'; import { Response } from '@angular/http'; import { AlfrescoApiService, LogService } from 'ng2-alfresco-core'; import { ReportParametersModel, ParameterValueModel } from '../models/report.model'; -import { Chart, PieChart, TableChart, BarChart, HeatMapChart, MultiBarChart, DetailsTableChart } from '../models/chart.model'; +import { + Chart, + PieChart, + TableChart, + BarChart, + HeatMapChart, + MultiBarChart, + DetailsTableChart +} from '../models/chart.model'; @Injectable() export class AnalyticsService { @@ -33,18 +41,28 @@ export class AnalyticsService { * Retrive all the Deployed app * @returns {Observable} */ - getReportList(): Observable { + getReportList(appId: string): Observable { return Observable.fromPromise(this.apiService.getInstance().activiti.reportApi.getReportList()) .map((res: any) => { let reports: ReportParametersModel[] = []; res.forEach((report: ReportParametersModel) => { let reportModel = new ReportParametersModel(report); - reports.push(reportModel); + if (this.isReportValid(appId, report)) { + reports.push(reportModel); + } }); return reports; }).catch(err => this.handleError(err)); } + private isReportValid(appId: string, report: ReportParametersModel) { + let isValid: boolean = true; + if (appId && appId !== '0' && report.name.includes('Process definition overview')) { + isValid = false; + } + return isValid; + } + getReportParams(reportId: string): Observable { return Observable.fromPromise(this.apiService.getInstance().activiti.reportApi.getReportParams(reportId)) .map((res: any) => { @@ -126,7 +144,7 @@ export class AnalyticsService { } getProcessDefinitionsValues(appId: string): Observable { - let options = { 'appDefinitionId': appId}; + let options = { 'appDefinitionId': appId }; return Observable.fromPromise(this.apiService.getInstance().activiti.processDefinitionsApi.getProcessDefinitions(options)) .map((res: any) => { let paramOptions: ParameterValueModel[] = [];