[ACA-3326] Create the default filters following the new order (#5713)

* [ACA-3326] Change default filters order

* [ACA-3326] Make selectRunningFilter method deprecated

* [ACA-3326] Add filter index as optional
This commit is contained in:
arditdomi
2020-05-21 15:30:56 +01:00
committed by GitHub
parent ac847313e3
commit 9f2faee027
4 changed files with 67 additions and 50 deletions

View File

@@ -173,6 +173,7 @@ export class ProcessFiltersComponent implements OnInit, OnChanges {
/**
* Select the Running filter
* @deprecated in 3.9.0, Use the filterParam Input() with a running filter instance instead
*/
selectRunningFilter() {
this.selectProcessFilter(this.processFilterService.getRunningFilterInstance(null));

View File

@@ -88,20 +88,21 @@ export class ProcessFilterService {
* @returns Default filters just created
*/
public createDefaultFilters(appId: number): Observable<FilterProcessRepresentationModel[]> {
const runningFilter = this.getRunningFilterInstance(appId);
const runningFilter = this.getRunningFilterInstance(appId, 0);
const runningObservable = this.addProcessFilter(runningFilter);
const completedFilter = this.getCompletedFilterInstance(appId);
const completedFilter = this.getCompletedFilterInstance(appId, 1);
const completedObservable = this.addProcessFilter(completedFilter);
const allFilter = this.getAllFilterInstance(appId);
const allFilter = this.getAllFilterInstance(appId, 2);
const allObservable = this.addProcessFilter(allFilter);
return new Observable((observer) => {
forkJoin(
runningObservable,
completedObservable,
allObservable
forkJoin([
runningObservable,
completedObservable,
allObservable
]
).subscribe(
(res) => {
const filters: FilterProcessRepresentationModel[] = [];
@@ -129,45 +130,51 @@ export class ProcessFilterService {
/**
* Creates and returns a filter that matches "running" process instances.
* @param appId ID of the target app
* @param index of the filter (optional)
* @returns Filter just created
*/
public getRunningFilterInstance(appId: number): FilterProcessRepresentationModel {
return new FilterProcessRepresentationModel({
public getRunningFilterInstance(appId: number, index?: number): FilterProcessRepresentationModel {
return new FilterProcessRepresentationModel({
'name': 'Running',
'appId': appId,
'recent': true,
'icon': 'glyphicon-random',
'filter': { 'sort': 'created-desc', 'name': '', 'state': 'running' }
'filter': { 'sort': 'created-desc', 'name': '', 'state': 'running' },
index
});
}
/**
* Returns a static Completed filter instance.
* @param appId ID of the target app
* @param index of the filter (optional)
* @returns Details of the filter
*/
private getCompletedFilterInstance(appId: number): FilterProcessRepresentationModel {
private getCompletedFilterInstance(appId: number, index?: number): FilterProcessRepresentationModel {
return new FilterProcessRepresentationModel({
'name': 'Completed',
'appId': appId,
'recent': false,
'icon': 'glyphicon-ok-sign',
'filter': { 'sort': 'created-desc', 'name': '', 'state': 'completed' }
'filter': { 'sort': 'created-desc', 'name': '', 'state': 'completed' },
index
});
}
/**
* Returns a static All filter instance.
* @param appId ID of the target app
* @param index of the filter (optional)
* @returns Details of the filter
*/
private getAllFilterInstance(appId: number): FilterProcessRepresentationModel {
private getAllFilterInstance(appId: number, index?: number): FilterProcessRepresentationModel {
return new FilterProcessRepresentationModel({
'name': 'All',
'appId': appId,
'recent': true,
'icon': 'glyphicon-th',
'filter': { 'sort': 'created-desc', 'name': '', 'state': 'all' }
'filter': { 'sort': 'created-desc', 'name': '', 'state': 'all' },
index
});
}

View File

@@ -129,9 +129,9 @@ describe('Activiti Task filter Service', () => {
service.createDefaultFilters(1234).subscribe((res: FilterRepresentationModel []) => {
expect(res).toBeDefined();
expect(res.length).toEqual(4);
expect(res[0].name).toEqual('Involved Tasks');
expect(res[0].name).toEqual('My Tasks');
expect(res[0].id).toEqual(111);
expect(res[1].name).toEqual('My Tasks');
expect(res[1].name).toEqual('Involved Tasks');
expect(res[1].id).toEqual(222);
expect(res[2].name).toEqual('Queued Tasks');
expect(res[2].id).toEqual(333);
@@ -144,7 +144,7 @@ describe('Activiti Task filter Service', () => {
'status': 200,
contentType: 'application/json',
responseText: JSON.stringify({
appId: 1001, id: 111, name: 'Involved Tasks', icon: 'fake-icon', recent: false
appId: 1001, id: 111, name: 'My Tasks', icon: 'fake-icon', recent: false
})
});
@@ -152,7 +152,7 @@ describe('Activiti Task filter Service', () => {
'status': 200,
contentType: 'application/json',
responseText: JSON.stringify({
appId: 1001, id: 222, name: 'My Tasks', icon: 'fake-icon', recent: false
appId: 1001, id: 222, name: 'Involved Tasks', icon: 'fake-icon', recent: false
})
});

View File

@@ -36,24 +36,25 @@ export class TaskFilterService {
* @returns Array of default filters just created
*/
public createDefaultFilters(appId: number): Observable<FilterRepresentationModel[]> {
const involvedTasksFilter = this.getInvolvedTasksFilterInstance(appId);
const involvedObservable = this.addFilter(involvedTasksFilter);
const myTasksFilter = this.getMyTasksFilterInstance(appId);
const myTasksFilter = this.getMyTasksFilterInstance(appId, 0);
const myTaskObservable = this.addFilter(myTasksFilter);
const queuedTasksFilter = this.getQueuedTasksFilterInstance(appId);
const involvedTasksFilter = this.getInvolvedTasksFilterInstance(appId, 1);
const involvedObservable = this.addFilter(involvedTasksFilter);
const queuedTasksFilter = this.getQueuedTasksFilterInstance(appId, 2);
const queuedObservable = this.addFilter(queuedTasksFilter);
const completedTasksFilter = this.getCompletedTasksFilterInstance(appId);
const completedTasksFilter = this.getCompletedTasksFilterInstance(appId, 3);
const completeObservable = this.addFilter(completedTasksFilter);
return new Observable((observer) => {
forkJoin(
involvedObservable,
myTaskObservable,
queuedObservable,
completeObservable
forkJoin([
myTaskObservable,
involvedObservable,
queuedObservable,
completeObservable
]
).subscribe(
(res) => {
const filters: FilterRepresentationModel[] = [];
@@ -155,63 +156,71 @@ export class TaskFilterService {
}
}
/**
* Creates and returns a filter for "Involved" task instances.
* @param appId ID of the target app
* @returns The newly created filter
*/
getInvolvedTasksFilterInstance(appId: number): FilterRepresentationModel {
return new FilterRepresentationModel({
'name': 'Involved Tasks',
'appId': appId,
'recent': false,
'icon': 'glyphicon-align-left',
'filter': {'sort': 'created-desc', 'name': '', 'state': 'open', 'assignment': 'involved'}
});
}
/**
* Creates and returns a filter for "My Tasks" task instances.
* @param appId ID of the target app
* @param index of the filter (optional)
* @returns The newly created filter
*/
getMyTasksFilterInstance(appId: number): FilterRepresentationModel {
getMyTasksFilterInstance(appId: number, index?: number): FilterRepresentationModel {
return new FilterRepresentationModel({
'name': 'My Tasks',
'appId': appId,
'recent': false,
'icon': 'glyphicon-inbox',
'filter': {'sort': 'created-desc', 'name': '', 'state': 'open', 'assignment': 'assignee'}
'filter': {'sort': 'created-desc', 'name': '', 'state': 'open', 'assignment': 'assignee'},
index
});
}
/**
* Creates and returns a filter for "Involved" task instances.
* @param appId ID of the target app
* @param index of the filter (optional)
* @returns The newly created filter
*/
getInvolvedTasksFilterInstance(appId: number, index?: number): FilterRepresentationModel {
return new FilterRepresentationModel({
'name': 'Involved Tasks',
'appId': appId,
'recent': false,
'icon': 'glyphicon-align-left',
'filter': {'sort': 'created-desc', 'name': '', 'state': 'open', 'assignment': 'involved'},
index
});
}
/**
* Creates and returns a filter for "Queued Tasks" task instances.
* @param appId ID of the target app
* @param index of the filter (optional)
* @returns The newly created filter
*/
getQueuedTasksFilterInstance(appId: number): FilterRepresentationModel {
getQueuedTasksFilterInstance(appId: number, index?: number): FilterRepresentationModel {
return new FilterRepresentationModel({
'name': 'Queued Tasks',
'appId': appId,
'recent': false,
'icon': 'glyphicon-record',
'filter': {'sort': 'created-desc', 'name': '', 'state': 'open', 'assignment': 'candidate'}
'filter': {'sort': 'created-desc', 'name': '', 'state': 'open', 'assignment': 'candidate'},
index
});
}
/**
* Creates and returns a filter for "Completed" task instances.
* @param appId ID of the target app
* @param index of the filter (optional)
* @returns The newly created filter
*/
getCompletedTasksFilterInstance(appId: number): FilterRepresentationModel {
getCompletedTasksFilterInstance(appId: number, index?: number): FilterRepresentationModel {
return new FilterRepresentationModel({
'name': 'Completed Tasks',
'appId': appId,
'recent': true,
'icon': 'glyphicon-ok-sign',
'filter': {'sort': 'created-desc', 'name': '', 'state': 'completed', 'assignment': 'involved'}
'filter': {'sort': 'created-desc', 'name': '', 'state': 'completed', 'assignment': 'involved'},
index
});
}