diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts
index cf16698e80..45bc29cc9a 100644
--- a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts
+++ b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts
@@ -47,6 +47,9 @@ export class AnalyticsReportParametersComponent implements OnInit, OnChanges {
@Output()
onError = new EventEmitter();
+ @Output()
+ onEdit = new EventEmitter();
+
@Output()
onFormValueChanged = new EventEmitter();
@@ -63,6 +66,7 @@ export class AnalyticsReportParametersComponent implements OnInit, OnChanges {
private dropDownSub;
private reportParamsSub;
private paramOpts;
+ private isEditable: boolean = false;
constructor(private translate: AlfrescoTranslationService,
private analyticsService: AnalyticsService,
@@ -210,4 +214,25 @@ export class AnalyticsReportParametersComponent implements OnInit, OnChanges {
this.reportParamsSub.unsubscribe();
}
}
+
+ public editEnable() {
+ this.isEditable = true;
+ }
+
+ public editDisable() {
+ this.isEditable = false;
+ }
+
+ public editTitle() {
+ this.reportParamsSub = this.analyticsService.updateReport(this.reportParameters.id, this.reportParameters.name).subscribe(
+ (res: ReportParametersModel) => {
+ this.editDisable();
+ this.onEdit.emit(this.reportParameters.name);
+ },
+ (err: any) => {
+ console.log(err);
+ this.onError.emit(err);
+ }
+ );
+ }
}
diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics.component.html b/ng2-components/ng2-activiti-analytics/src/components/analytics.component.html
index a6b2f5ef26..a52b7480c7 100644
--- a/ng2-components/ng2-activiti-analytics/src/components/analytics.component.html
+++ b/ng2-components/ng2-activiti-analytics/src/components/analytics.component.html
@@ -1,6 +1,9 @@
+ (onFormValueChanged)="reset()"
+ (onSuccess)="showReport($event)"
+ (onEdit)="onEditReport($event)">
+
diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics.component.ts b/ng2-components/ng2-activiti-analytics/src/components/analytics.component.ts
index 3d12832940..008e12cbbf 100644
--- a/ng2-components/ng2-activiti-analytics/src/components/analytics.component.ts
+++ b/ng2-components/ng2-activiti-analytics/src/components/analytics.component.ts
@@ -41,12 +41,15 @@ export class AnalyticsComponent implements OnChanges {
@Output()
onSuccess = new EventEmitter();
+ @Output()
+ editReport = new EventEmitter();
+
@Output()
onError = new EventEmitter();
reportParamQuery = new ReportQuery();
- reports: any[];
+ reports: Chart[];
public barChartOptions: any = {
responsive: true,
@@ -107,4 +110,8 @@ export class AnalyticsComponent implements OnChanges {
let clone = JSON.parse(JSON.stringify(report));
report.datasets = clone.datasets;
}
+
+ public onEditReport(name: string) {
+ this.editReport.emit(name);
+ }
}
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 d9fc0b94cd..f1ccd7c731 100644
--- a/ng2-components/ng2-activiti-analytics/src/services/analytics.service.ts
+++ b/ng2-components/ng2-activiti-analytics/src/services/analytics.service.ts
@@ -178,6 +178,13 @@ export class AnalyticsService {
.catch(this.handleError);
}
+ public updateReport(reportId: number, name: string): Observable
{
+ return Observable.fromPromise(this.apiService.getInstance().activiti.reportApi.updateReport(reportId, name))
+ .map((res: any) => {
+ console.log('upload');
+ }).catch(this.handleError);
+ }
+
private handleError(error: Response) {
console.error(error);
return Observable.throw(error.json().error || 'Server error');