#987 flatten FilterRepresentationModel

This commit is contained in:
mauriziovitale84 2016-11-14 17:21:39 +00:00 committed by Mario Romano
parent 8174de8fc8
commit a66d4d44e8
4 changed files with 45 additions and 27 deletions

View File

@ -36,7 +36,13 @@
</div> </div>
<div class="mdl-cell mdl-cell--3-col task-column mdl-shadow--2dp"> <div class="mdl-cell mdl-cell--3-col task-column mdl-shadow--2dp">
<span>Task List</span> <span>Task List</span>
<activiti-tasklist [taskFilter]="taskFilter" [data]="dataTasks" <activiti-tasklist *ngIf="taskFilter && taskFilter.hasFilter()" [appId]="taskFilter.appId"
[processDefinitionId]="taskFilter.filter.processDefinitionId"
[name]="taskFilter.filter.name"
[assignment]="taskFilter.filter.assignment"
[state]="taskFilter.filter.state"
[sort]="taskFilter.filter.sort"
[data]="dataTasks"
(rowClick)="onTaskRowClick($event)" (onSuccess)="onSuccessTaskList($event)" (rowClick)="onTaskRowClick($event)" (onSuccess)="onSuccessTaskList($event)"
#activititasklist></activiti-tasklist> #activititasklist></activiti-tasklist>
</div> </div>

View File

@ -1,5 +1,5 @@
<div *ngIf="!taskFilter">{{ 'TASK_FILTERS.MESSAGES.NONE' | translate }}</div> <div *ngIf="!requestNode">{{ 'TASK_FILTERS.MESSAGES.NONE' | translate }}</div>
<div *ngIf="taskFilter"> <div *ngIf="requestNode">
<div *ngIf="!isTaskListEmpty()"> <div *ngIf="!isTaskListEmpty()">
<alfresco-datatable <alfresco-datatable
[data]="data" [data]="data"

View File

@ -19,7 +19,7 @@ import { Component, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChange
import { AlfrescoTranslationService } from 'ng2-alfresco-core'; import { AlfrescoTranslationService } from 'ng2-alfresco-core';
import { ObjectDataTableAdapter, DataTableAdapter, DataRowEvent, ObjectDataRow } from 'ng2-alfresco-datatable'; import { ObjectDataTableAdapter, DataTableAdapter, DataRowEvent, ObjectDataRow } from 'ng2-alfresco-datatable';
import { ActivitiTaskListService } from './../services/activiti-tasklist.service'; import { ActivitiTaskListService } from './../services/activiti-tasklist.service';
import { FilterRepresentationModel, TaskQueryRequestRepresentationModel } from '../models/filter.model'; import { TaskQueryRequestRepresentationModel } from '../models/filter.model';
declare let componentHandler: any; declare let componentHandler: any;
@ -32,7 +32,24 @@ declare let componentHandler: any;
export class ActivitiTaskList implements OnInit, OnChanges { export class ActivitiTaskList implements OnInit, OnChanges {
@Input() @Input()
taskFilter: FilterRepresentationModel; appId: string;
@Input()
processDefinitionId: string;
@Input()
state: string;
@Input()
assignment: string;
@Input()
sort: string;
@Input()
name: string;
requestNode: TaskQueryRequestRepresentationModel;
@Input() @Input()
data: DataTableAdapter; data: DataTableAdapter;
@ -70,29 +87,20 @@ export class ActivitiTaskList implements OnInit, OnChanges {
); );
} }
if (this.taskFilter) { this.requestNode = this.createRequestNode();
let requestNode = this.convertTaskUserToTaskQuery(this.taskFilter); this.load(this.requestNode);
this.load(new TaskQueryRequestRepresentationModel(requestNode));
}
} }
ngOnChanges(changes: SimpleChanges) { ngOnChanges(changes: SimpleChanges) {
let taskFilter = changes['taskFilter']; this.requestNode = this.createRequestNode();
if (taskFilter && taskFilter.currentValue) { this.load(this.requestNode);
let requestNode = this.convertTaskUserToTaskQuery(taskFilter.currentValue);
this.load(new TaskQueryRequestRepresentationModel(requestNode));
return;
}
} }
public reload() { public reload() {
if (this.taskFilter) { this.load(this.requestNode);
let requestNode = this.convertTaskUserToTaskQuery(this.taskFilter);
this.load(new TaskQueryRequestRepresentationModel(requestNode));
}
} }
public load(requestNode: TaskQueryRequestRepresentationModel) { private load(requestNode: TaskQueryRequestRepresentationModel) {
this.activiti.getTotalTasks(requestNode).subscribe( this.activiti.getTotalTasks(requestNode).subscribe(
(res) => { (res) => {
requestNode.size = res.total; requestNode.size = res.total;
@ -191,14 +199,14 @@ export class ActivitiTaskList implements OnInit, OnChanges {
return tasks; return tasks;
} }
private convertTaskUserToTaskQuery(userTask: FilterRepresentationModel) { private createRequestNode() {
let requestNode = { let requestNode = {
appDefinitionId: userTask.appId, appDefinitionId: this.appId,
processDefinitionId: userTask.filter.processDefinitionId, processDefinitionId: this.processDefinitionId,
text: userTask.filter.name, text: this.name,
assignment: userTask.filter.assignment, assignment: this.assignment,
state: userTask.filter.state, state: this.state,
sort: userTask.filter.sort sort: this.sort
}; };
return new TaskQueryRequestRepresentationModel(requestNode); return new TaskQueryRequestRepresentationModel(requestNode);
} }

View File

@ -70,6 +70,10 @@ export class FilterRepresentationModel {
this.filter = new FilterParamRepresentationModel(obj.filter); this.filter = new FilterParamRepresentationModel(obj.filter);
this.index = obj && obj.index; this.index = obj && obj.index;
} }
hasFilter() {
return this.filter ? true : false;
}
} }
/** /**