mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
Merge branch 'development' into dev-denys-1152
This commit is contained in:
@@ -21,7 +21,7 @@ import { Observable } from 'rxjs/Rx';
|
||||
import { ActivitiProcessInstanceListComponent } from './activiti-processlist.component';
|
||||
|
||||
import { AlfrescoTranslateService, CoreModule } from 'ng2-alfresco-core';
|
||||
import { DataTableModule, ObjectDataRow, DataRowEvent, ObjectDataTableAdapter } from 'ng2-alfresco-datatable';
|
||||
import { DataTableModule, ObjectDataRow, DataRowEvent, ObjectDataTableAdapter, DataSorting } from 'ng2-alfresco-datatable';
|
||||
|
||||
import { TranslationMock } from './../assets/translation.service.mock';
|
||||
import { ProcessInstance } from '../models/process-instance.model';
|
||||
@@ -275,7 +275,7 @@ describe('ActivitiProcessInstanceListComponent', () => {
|
||||
});
|
||||
|
||||
it('should reload the list when the sort parameter changes', (done) => {
|
||||
const sort = 'desc';
|
||||
const sort = 'created-desc';
|
||||
let change = new SimpleChange(null, sort);
|
||||
|
||||
component.onSuccess.subscribe((res) => {
|
||||
@@ -290,6 +290,21 @@ describe('ActivitiProcessInstanceListComponent', () => {
|
||||
component.ngOnChanges({'sort': change});
|
||||
});
|
||||
|
||||
it('should sort the list when the sort parameter changes', (done) => {
|
||||
const sort = 'created-asc';
|
||||
let change = new SimpleChange(null, sort);
|
||||
let sortSpy = spyOn(component.data, 'setSorting');
|
||||
|
||||
component.onSuccess.subscribe((res) => {
|
||||
expect(res).toBeDefined();
|
||||
expect(sortSpy).toHaveBeenCalledWith(new DataSorting('started', 'asc'));
|
||||
done();
|
||||
});
|
||||
|
||||
component.sort = sort;
|
||||
component.ngOnChanges({'sort': change});
|
||||
});
|
||||
|
||||
it('should reload the process list when the name parameter changes', (done) => {
|
||||
const name = 'FakeTaskName';
|
||||
let change = new SimpleChange(null, name);
|
||||
|
@@ -17,9 +17,9 @@
|
||||
|
||||
import { Component, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChanges } from '@angular/core';
|
||||
import { AlfrescoTranslateService } from 'ng2-alfresco-core';
|
||||
import { ObjectDataTableAdapter, DataTableAdapter, DataRowEvent, ObjectDataRow } from 'ng2-alfresco-datatable';
|
||||
import { ObjectDataTableAdapter, DataTableAdapter, DataRowEvent, ObjectDataRow, DataSorting } from 'ng2-alfresco-datatable';
|
||||
import { TaskQueryRequestRepresentationModel } from 'ng2-activiti-tasklist';
|
||||
|
||||
import { ProcessFilterRequestRepresentation } from '../models/process-instance-filter.model';
|
||||
import { ProcessInstance } from '../models/process-instance.model';
|
||||
import { ActivitiProcessService } from '../services/activiti-process.service';
|
||||
|
||||
@@ -46,7 +46,7 @@ export class ActivitiProcessInstanceListComponent implements OnInit, OnChanges {
|
||||
@Input()
|
||||
name: string;
|
||||
|
||||
requestNode: TaskQueryRequestRepresentationModel;
|
||||
requestNode: ProcessFilterRequestRepresentation;
|
||||
|
||||
@Input()
|
||||
data: DataTableAdapter;
|
||||
@@ -130,7 +130,7 @@ export class ActivitiProcessInstanceListComponent implements OnInit, OnChanges {
|
||||
);
|
||||
}
|
||||
|
||||
private load(requestNode: TaskQueryRequestRepresentationModel) {
|
||||
private load(requestNode: ProcessFilterRequestRepresentation) {
|
||||
this.processService.getProcessInstances(requestNode)
|
||||
.subscribe(
|
||||
(response) => {
|
||||
@@ -168,9 +168,25 @@ export class ActivitiProcessInstanceListComponent implements OnInit, OnChanges {
|
||||
*/
|
||||
private renderInstances(instances: any[]) {
|
||||
instances = this.optimizeNames(instances);
|
||||
this.setDatatableSorting();
|
||||
this.data.setRows(instances);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort the datatable rows based on current value of 'sort' property
|
||||
*/
|
||||
private setDatatableSorting() {
|
||||
if (!this.sort) {
|
||||
return;
|
||||
}
|
||||
let sortingParams: string[] = this.sort.split('-');
|
||||
if (sortingParams.length === 2) {
|
||||
let sortColumn = sortingParams[0] === 'created' ? 'started' : sortingParams[0];
|
||||
let sortOrder = sortingParams[1];
|
||||
this.data.setSorting(new DataSorting(sortColumn, sortOrder));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Select the first instance of a list if present
|
||||
*/
|
||||
@@ -226,10 +242,9 @@ export class ActivitiProcessInstanceListComponent implements OnInit, OnChanges {
|
||||
let requestNode = {
|
||||
appDefinitionId: this.appId,
|
||||
processDefinitionKey: this.processDefinitionKey,
|
||||
text: this.name,
|
||||
state: this.state,
|
||||
sort: this.sort
|
||||
};
|
||||
return new TaskQueryRequestRepresentationModel(requestNode);
|
||||
return new ProcessFilterRequestRepresentation(requestNode);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user