Filter activiti tasks using the appId

This commit is contained in:
mauriziovitale84
2016-09-15 11:15:14 +01:00
parent ec14c01150
commit 0b4cd4b257
7 changed files with 103 additions and 16 deletions

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';
import { Component, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChanges } from '@angular/core';
import { AlfrescoTranslationService, AlfrescoAuthenticationService, AlfrescoPipeTranslate } from 'ng2-alfresco-core';
import { ALFRESCO_DATATABLE_DIRECTIVES, ObjectDataTableAdapter, DataTableAdapter, DataRowEvent } from 'ng2-alfresco-datatable';
import { ActivitiTaskListService } from './../services/activiti-tasklist.service';
@@ -34,7 +34,7 @@ declare let __moduleName: string;
pipes: [AlfrescoPipeTranslate]
})
export class ActivitiTaskList implements OnInit {
export class ActivitiTaskList implements OnInit, OnChanges {
@Input()
taskFilter: UserTaskFilterRepresentationModel;
@@ -84,16 +84,20 @@ export class ActivitiTaskList implements OnInit {
);
if (this.taskFilter) {
let requestNode = {appDefinitionId: this.taskFilter.appId,
processDefinitionId: this.taskFilter.filter.processDefinitionId,
text: this.taskFilter.filter.name,
assignment: this.taskFilter.filter.assignment,
state: this.taskFilter.filter.state,
sort: this.taskFilter.filter.sort};
let requestNode = this.convertTaskUserToTaskQuery(this.taskFilter);
this.load(new TaskQueryRequestRepresentationModel(requestNode));
}
}
ngOnChanges(changes: SimpleChanges) {
let taskFilter = changes['taskFilter'];
if (taskFilter && taskFilter.currentValue) {
let requestNode = this.convertTaskUserToTaskQuery(taskFilter.currentValue);
this.load(new TaskQueryRequestRepresentationModel(requestNode));
return;
}
}
public load(requestNode: TaskQueryRequestRepresentationModel) {
this.activiti.getTotalTasks(requestNode).subscribe(
(res) => {
@@ -174,4 +178,14 @@ export class ActivitiTaskList implements OnInit {
});
return tasks;
}
private convertTaskUserToTaskQuery(userTask: UserTaskFilterRepresentationModel) {
let requestNode = {appDefinitionId: userTask.appId,
processDefinitionId: userTask.filter.processDefinitionId,
text: userTask.filter.name,
assignment: userTask.filter.assignment,
state: userTask.filter.state,
sort: userTask.filter.sort};
return new TaskQueryRequestRepresentationModel(requestNode);
}
}