Process list implement pagination interface (#2872)

This commit is contained in:
Maurizio Vitale
2018-02-03 18:22:05 +00:00
committed by Eugenio Romano
parent 105bc80d2c
commit 0f6ac42e4c
17 changed files with 311 additions and 141 deletions
@@ -64,13 +64,13 @@ describe('ProcessService', () => {
it('should return the correct number of instances', async(() => {
service.getProcessInstances(filter).subscribe((instances) => {
expect(instances.length).toBe(1);
expect(instances.data.length).toBe(1);
});
}));
it('should return the correct instance data', async(() => {
service.getProcessInstances(filter).subscribe((instances) => {
let instance = instances[0];
let instance = instances.data[0];
expect(instance.id).toBe(exampleProcess.id);
expect(instance.name).toBe(exampleProcess.name);
expect(instance.started).toBe(exampleProcess.started);
@@ -81,8 +81,8 @@ describe('ProcessService', () => {
getProcessInstances = getProcessInstances.and.returnValue(Promise.resolve(fakeProcessInstances));
service.getProcessInstances(filter, 'fakeProcessDefinitionKey1').subscribe((instances) => {
expect(instances.length).toBe(1);
let instance = instances[0];
expect(instances.data.length).toBe(1);
let instance = instances.data[0];
expect(instance.id).toBe('340124');
expect(instance.name).toBe('James Franklin EMEA Onboarding');
expect(instance.started).toEqual(new Date('2017-10-09T12:19:44.560+0000'));
@@ -23,6 +23,7 @@ import { ProcessFilterParamRepresentationModel } from '../models/filter-process.
import { ProcessDefinitionRepresentation } from '../models/process-definition.model';
import { ProcessInstanceVariable } from '../models/process-instance-variable.model';
import { ProcessInstance } from '../models/process-instance.model';
import { ProcessListModel } from '../models/process-list.model';
import 'rxjs/add/observable/throw';
declare let moment: any;
@@ -33,13 +34,15 @@ export class ProcessService {
constructor(private alfrescoApiService: AlfrescoApiService) {
}
getProcessInstances(requestNode: ProcessFilterParamRepresentationModel, processDefinitionKey?: string): Observable<ProcessInstance[]> {
getProcessInstances(requestNode: ProcessFilterParamRepresentationModel, processDefinitionKey?: string): Observable<ProcessListModel> {
return Observable.fromPromise(this.alfrescoApiService.getInstance().activiti.processApi.getProcessInstances(requestNode))
.map((res: any) => {
if (processDefinitionKey) {
return res.data.filter(process => process.processDefinitionKey === processDefinitionKey);
const filtered = res.data.filter(process => process.processDefinitionKey === processDefinitionKey);
res.data = filtered;
return res;
} else {
return res.data;
return res;
}
}).catch(err => this.handleProcessError(err));
}