mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-19 17:14:57 +00:00
#987 flatten FilterRepresentationModel
This commit is contained in:
parent
8174de8fc8
commit
a66d4d44e8
@ -36,7 +36,13 @@
|
||||
</div>
|
||||
<div class="mdl-cell mdl-cell--3-col task-column mdl-shadow--2dp">
|
||||
<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)"
|
||||
#activititasklist></activiti-tasklist>
|
||||
</div>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<div *ngIf="!taskFilter">{{ 'TASK_FILTERS.MESSAGES.NONE' | translate }}</div>
|
||||
<div *ngIf="taskFilter">
|
||||
<div *ngIf="!requestNode">{{ 'TASK_FILTERS.MESSAGES.NONE' | translate }}</div>
|
||||
<div *ngIf="requestNode">
|
||||
<div *ngIf="!isTaskListEmpty()">
|
||||
<alfresco-datatable
|
||||
[data]="data"
|
||||
|
@ -19,7 +19,7 @@ import { Component, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChange
|
||||
import { AlfrescoTranslationService } from 'ng2-alfresco-core';
|
||||
import { ObjectDataTableAdapter, DataTableAdapter, DataRowEvent, ObjectDataRow } from 'ng2-alfresco-datatable';
|
||||
import { ActivitiTaskListService } from './../services/activiti-tasklist.service';
|
||||
import { FilterRepresentationModel, TaskQueryRequestRepresentationModel } from '../models/filter.model';
|
||||
import { TaskQueryRequestRepresentationModel } from '../models/filter.model';
|
||||
|
||||
declare let componentHandler: any;
|
||||
|
||||
@ -32,7 +32,24 @@ declare let componentHandler: any;
|
||||
export class ActivitiTaskList implements OnInit, OnChanges {
|
||||
|
||||
@Input()
|
||||
taskFilter: FilterRepresentationModel;
|
||||
appId: string;
|
||||
|
||||
@Input()
|
||||
processDefinitionId: string;
|
||||
|
||||
@Input()
|
||||
state: string;
|
||||
|
||||
@Input()
|
||||
assignment: string;
|
||||
|
||||
@Input()
|
||||
sort: string;
|
||||
|
||||
@Input()
|
||||
name: string;
|
||||
|
||||
requestNode: TaskQueryRequestRepresentationModel;
|
||||
|
||||
@Input()
|
||||
data: DataTableAdapter;
|
||||
@ -70,29 +87,20 @@ export class ActivitiTaskList implements OnInit, OnChanges {
|
||||
);
|
||||
}
|
||||
|
||||
if (this.taskFilter) {
|
||||
let requestNode = this.convertTaskUserToTaskQuery(this.taskFilter);
|
||||
this.load(new TaskQueryRequestRepresentationModel(requestNode));
|
||||
}
|
||||
this.requestNode = this.createRequestNode();
|
||||
this.load(this.requestNode);
|
||||
}
|
||||
|
||||
ngOnChanges(changes: SimpleChanges) {
|
||||
let taskFilter = changes['taskFilter'];
|
||||
if (taskFilter && taskFilter.currentValue) {
|
||||
let requestNode = this.convertTaskUserToTaskQuery(taskFilter.currentValue);
|
||||
this.load(new TaskQueryRequestRepresentationModel(requestNode));
|
||||
return;
|
||||
}
|
||||
this.requestNode = this.createRequestNode();
|
||||
this.load(this.requestNode);
|
||||
}
|
||||
|
||||
public reload() {
|
||||
if (this.taskFilter) {
|
||||
let requestNode = this.convertTaskUserToTaskQuery(this.taskFilter);
|
||||
this.load(new TaskQueryRequestRepresentationModel(requestNode));
|
||||
}
|
||||
this.load(this.requestNode);
|
||||
}
|
||||
|
||||
public load(requestNode: TaskQueryRequestRepresentationModel) {
|
||||
private load(requestNode: TaskQueryRequestRepresentationModel) {
|
||||
this.activiti.getTotalTasks(requestNode).subscribe(
|
||||
(res) => {
|
||||
requestNode.size = res.total;
|
||||
@ -191,14 +199,14 @@ export class ActivitiTaskList implements OnInit, OnChanges {
|
||||
return tasks;
|
||||
}
|
||||
|
||||
private convertTaskUserToTaskQuery(userTask: FilterRepresentationModel) {
|
||||
private createRequestNode() {
|
||||
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
|
||||
appDefinitionId: this.appId,
|
||||
processDefinitionId: this.processDefinitionId,
|
||||
text: this.name,
|
||||
assignment: this.assignment,
|
||||
state: this.state,
|
||||
sort: this.sort
|
||||
};
|
||||
return new TaskQueryRequestRepresentationModel(requestNode);
|
||||
}
|
||||
|
@ -70,6 +70,10 @@ export class FilterRepresentationModel {
|
||||
this.filter = new FilterParamRepresentationModel(obj.filter);
|
||||
this.index = obj && obj.index;
|
||||
}
|
||||
|
||||
hasFilter() {
|
||||
return this.filter ? true : false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user