Fix total number task

This commit is contained in:
mauriziovitale84
2016-09-05 12:19:23 +01:00
parent 3ee567ff65
commit 6cdc994798
4 changed files with 49 additions and 18 deletions

View File

@@ -82,7 +82,7 @@ export class ActivitiDemoComponent implements AfterViewChecked {
onTaskFilterClick(event: any) { onTaskFilterClick(event: any) {
this.taskFilter = event; this.taskFilter = event;
this.activititasklist.load(this.taskFilter); this.activititasklist.load(this.taskFilter.filter);
} }
onProcessFilterClick(event: any) { onProcessFilterClick(event: any) {

View File

@@ -19,7 +19,7 @@ import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';
import { AlfrescoTranslationService, AlfrescoAuthenticationService, AlfrescoPipeTranslate } from 'ng2-alfresco-core'; import { AlfrescoTranslationService, AlfrescoAuthenticationService, AlfrescoPipeTranslate } from 'ng2-alfresco-core';
import { ALFRESCO_DATATABLE_DIRECTIVES, ObjectDataTableAdapter, DataTableAdapter, DataRowEvent } from 'ng2-alfresco-datatable'; import { ALFRESCO_DATATABLE_DIRECTIVES, ObjectDataTableAdapter, DataTableAdapter, DataRowEvent } from 'ng2-alfresco-datatable';
import { ActivitiTaskListService } from './../services/activiti-tasklist.service'; import { ActivitiTaskListService } from './../services/activiti-tasklist.service';
import { FilterModel } from '../models/filter.model'; import { FilterModel, FilterParamsModel } from '../models/filter.model';
declare let componentHandler: any; declare let componentHandler: any;
declare let __moduleName: string; declare let __moduleName: string;
@@ -84,15 +84,22 @@ export class ActivitiTaskList implements OnInit {
); );
if (this.taskFilter) { if (this.taskFilter) {
this.load(this.taskFilter); this.load(this.taskFilter.filter);
} }
} }
public load(filter: FilterModel) { public load(filterParam: FilterParamsModel) {
this.activiti.getTasks(filter).subscribe( this.activiti.getTotalTasks(filterParam).subscribe(
(res) => { (res) => {
this.renderTasks(res.data); filterParam.size = res.total;
this.onSuccess.emit(res); this.activiti.getTasks(filterParam).subscribe(
(response) => {
this.renderTasks(response.data);
this.onSuccess.emit(response);
}, (error) => {
console.error(error);
this.onError.emit(error);
});
}, (err) => { }, (err) => {
console.error(err); console.error(err);
this.onError.emit(err); this.onError.emit(err);

View File

@@ -33,7 +33,7 @@ export class FilterModel {
this.name = name; this.name = name;
this.recent = recent; this.recent = recent;
this.icon = icon; this.icon = icon;
this.filter = new FilterParamsModel(query, state, assignment, appDefinitionId); this.filter = new FilterParamsModel(assignment, state, query, appDefinitionId);
} }
} }
@@ -45,15 +45,25 @@ export class FilterModel {
* @returns {FilterModel} . * @returns {FilterModel} .
*/ */
export class FilterParamsModel { export class FilterParamsModel {
name: string;
state: string;
assignment: string;
appDefinitionId: string; appDefinitionId: string;
processInstanceId: string;
processDefinitionId: string;
text: string;
assignment: string;
state: string;
sort: string;
page: number = 0;
size: number = 25;
constructor(query: string, state: string, assignment: string, appDefinitionId?: string) { constructor(assignment: string, state: string, text: string, appDefinitionId?: string, processInstanceId?: string,
this.name = query; processDefinitionId?: string, page?: number, size?: number) {
this.state = state;
this.assignment = assignment;
this.appDefinitionId = appDefinitionId; this.appDefinitionId = appDefinitionId;
this.processInstanceId = processInstanceId;
this.processDefinitionId = processDefinitionId;
this.text = text;
this.assignment = assignment;
this.state = state;
this.page = page;
this.size = size;
} }
} }

View File

@@ -59,11 +59,11 @@ export class ActivitiTaskListService {
/** /**
* Retrive all the tasks filtered by filterModel * Retrive all the tasks filtered by filterModel
* @param filter - FilterModel * @param filter - FilterParamsModel
* @returns {any} * @returns {any}
*/ */
getTasks(filter: FilterModel): Observable<any> { getTasks(filter: FilterParamsModel): Observable<any> {
return Observable.fromPromise(this.callApiTasksFiltered(filter.filter)) return Observable.fromPromise(this.callApiTasksFiltered(filter))
.map((res: any) => { .map((res: any) => {
return res; return res;
}).catch(this.handleError); }).catch(this.handleError);
@@ -156,6 +156,20 @@ export class ActivitiTaskListService {
.map(res => res); .map(res => res);
} }
/**
* Return the total number of the tasks by filter
* @param filter - FilterParamsModel
* @returns {any}
*/
public getTotalTasks(filter: FilterParamsModel): Observable<any> {
filter.size = 0;
return Observable.fromPromise(this.callApiTasksFiltered(filter))
.map((res: any) => {
return res;
}).catch(this.handleError);
}
private callApiTasksFiltered(filter: FilterParamsModel) { private callApiTasksFiltered(filter: FilterParamsModel) {
return this.authService.getAlfrescoApi().activiti.taskApi.listTasks(filter); return this.authService.getAlfrescoApi().activiti.taskApi.listTasks(filter);
} }