6.0 KiB
Process Filter Service
Manage Process Filters, which are pre-configured Process Instance queries.
Importing
import { ProcessFilterService, FilterProcessRepresentationModel } from '@alfresco/adf-process-services';
export class SomePageComponent implements OnInit {
constructor(private processFilterService: ProcessFilterService) {
}
Methods
createDefaultFilters(appId: number): Observable<any[]>
Create and return the default filters for a Process App:
const processAppId = 2;
this.processFilterService.createDefaultFilters(processAppId)
.subscribe( filters => {
console.log('filters: ', filters);
}, error => {
console.log('Error: ', error);
});
The response is an array of FilterProcessRepresentationModel
objects:
filters:
0: {
appId: 2
filter:
name: ""
sort: "created-desc"
state: "running"
icon: "glyphicon-random"
id: null
index: undefined
name: "Running"
recent: true
}
1: {id: null, appId: 2, name: "Completed", recent: false, icon: "glyphicon-ok-sign", …}
2: {id: null, appId: 2, name: "All", recent: true, icon: "glyphicon-th", …}
These filters can now be used to get matching process instances for Process App with ID 2, such as 'Running', 'Completed', and 'All' .
getProcessFilters(appId: number): Observable<FilterProcessRepresentationModel[]>
Get all filters defined for a Process App:
const processAppId = 2;
this.processFilterService.getProcessFilters(processAppId)
.subscribe( (filters: FilterProcessRepresentationModel[]) => {
console.log('filters: ', filters);
}, error => {
console.log('Error: ', error);
});
The response is an array of FilterProcessRepresentationModel
objects:
filters:
0: {id: 15, appId: 2, name: "Running", recent: true, icon: "glyphicon-random", …}
1: {id: 14, appId: 2, name: "Completed", recent: false, icon: "glyphicon-ok-sign", …}
2: {id: 13, appId: 2, name: "All", recent: false, icon: "glyphicon-th", …}
3: {id: 3003, appId: 2, name: "Running", recent: false, icon: "glyphicon-random", …}
4: {id: 3004, appId: 2, name: "Completed", recent: false, icon: "glyphicon-ok-sign", …}
5: {id: 3005, appId: 2, name: "All", recent: false, icon: "glyphicon-th", …}
In this example I had run the createDefaultFilters
method ones and that created the duplicate of
the default filters.
These filters can now be used to get matching process instances for Process App with ID 2, such as 'Running', 'Completed', and 'All' .
getProcessFilterById(filterId: number, appId?: number): Observable<FilterProcessRepresentationModel>
Get a specific Process Filter based on its ID, optionally pass in Process App ID to improve performance when searching for filter:
const processAppId = 2;
const filterId = 3003;
this.processFilterService.getProcessFilterById(filterId, processAppId)
.subscribe( (filter: FilterProcessRepresentationModel) => {
console.log('filter: ', filter);
}, error => {
console.log('Error: ', error);
});
The response is a FilterProcessRepresentationModel
object:
appId: 2
filter: {sort: "created-desc", name: "", state: "running"}
icon: "glyphicon-random"
id: 3003
name: "Running"
recent: false
The filter can now be used to get 'Running' process instances for Process App with ID 2.
getProcessFilterByName(filterName: string, appId?: number): Observable<FilterProcessRepresentationModel>
Get a specific Process Filter based on its name, optionally pass in Process App ID to improve performance when searching for filter:
const processAppId = 2;
const filterName = 'Running';
this.processFilterService.getProcessFilterByName(filterName, processAppId)
.subscribe( (filter: FilterProcessRepresentationModel) => {
console.log('filter: ', filter);
}, error => {
console.log('Error: ', error);
});
The response is a FilterProcessRepresentationModel
object:
appId: 2
filter: {sort: "created-desc", name: "", state: "running"}
icon: "glyphicon-random"
id: 15
name: "Running"
recent: true
If there are several filters with the same name for the Process App, then you get back the first one found matching the name.
The filter can now be used to get 'Running' process instances for Process App with ID 2.
addProcessFilter(filter: FilterProcessRepresentationModel): Observable<FilterProcessRepresentationModel>
Add a new Process Instance filter:
const processAppId = 2;
const filterName = 'RunningAsc';
const filterRunningAsc = new FilterProcessRepresentationModel({
'name': filterName,
'appId': processAppId,
'recent': true,
'icon': 'glyphicon-random',
'filter': { 'sort': 'created-asc', 'name': 'runningasc', 'state': 'running' }
});
this.processFilterService.addProcessFilter(filterRunningAsc)
.subscribe( (filterResponse: FilterProcessRepresentationModel) => {
console.log('filterResponse: ', filterResponse);
}, error => {
console.log('Error: ', error);
});
The response is a FilterProcessRepresentationModel
object:
appId: 2
icon: "glyphicon-random"
id: 3008
name: "RunningAsc"
recent: false
The filter can now be used to get 'Running' process instances for Process App with ID 2 in created date ascending order.
See also the getRunningFilterInstance
method.
getRunningFilterInstance(appId: number): FilterProcessRepresentationModel
Convenience method to create and return a filter that matches running
process instances
for passed in Process App ID:
const processAppId = 2;
const runningFilter: FilterProcessRepresentationModel = this.processFilterService.getRunningFilterInstance(processAppId);
console.log('Running filter', runningFilter);
The response is a FilterProcessRepresentationModel
object:
appId: 2
filter: {sort: "created-desc", name: "", state: "running"}
icon: "glyphicon-random"
id: null
index: undefined
name: "Running"
recent: true
The filter can now be used to get 'Running' process instances for Process App with ID 2 in created date ascending order.