[ADF-4152] Updated doc folder structure and index tool (#4403)

* [ADF-4152] Initial GraphQL implementation

* [ADF-4152] Schema updates

* [ADF-4152] Rounded out basic fields

* [ADF-4152] Added basic template functionality

* [ADF-4152] Added full template generation

* [ADF-4152] Moved proc services doc files to new folders

* [ADF-4152] Updated README.md with section from new template

* [ADF-4152] Fixed another problem with relative URLs

* [ADF-4152] Fixed links and some more bugs

* [ADF-4152] Removed proc services folder README file
This commit is contained in:
Andy Stark
2019-03-06 20:23:31 +00:00
committed by Eugenio Romano
parent 75b90c5e08
commit e74f545aa8
48 changed files with 1180 additions and 461 deletions

View File

@@ -0,0 +1,79 @@
---
Title: Process Filter Service
Added: v2.0.0
Status: Active
Last reviewed: 2018-11-13
---
# [Process Filter Service](../../../lib/process-services/process-list/services/process-filter.service.ts "Defined in process-filter.service.ts")
Manage Process Filters, which are pre-configured Process Instance queries.
## Class members
### Methods
- **addProcessFilter**(filter: [`FilterProcessRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterProcessRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts)`>`<br/>
Adds a filter.
- _filter:_ [`FilterProcessRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts) - The filter to add
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterProcessRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts)`>` - The filter just added
- **callApiProcessFilters**(appId?: `number`): `any`<br/>
Calls `getUserProcessInstanceFilters` from the Alfresco JS API.
- _appId:_ `number` - (Optional) ID of the target app
- **Returns** `any` - List of filter details
- **createDefaultFilters**(appId: `number`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterProcessRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts)`[]>`<br/>
Creates and returns the default filters for an app.
- _appId:_ `number` - ID of the target app
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterProcessRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts)`[]>` - Default filters just created
- **getProcessFilterById**(filterId: `number`, appId?: `number`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterProcessRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts)`>`<br/>
Retrieves the process filter by ID.
- _filterId:_ `number` - ID of the filter
- _appId:_ `number` - (Optional) ID of the target app
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterProcessRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts)`>` - Details of the filter
- **getProcessFilterByName**(filterName: `string`, appId?: `number`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterProcessRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts)`>`<br/>
Retrieves the process filter by name.
- _filterName:_ `string` - Name of the filter
- _appId:_ `number` - (Optional) ID of the target app
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterProcessRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts)`>` - Details of the filter
- **getProcessFilters**(appId: `number`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterProcessRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts)`[]>`<br/>
Gets all filters defined for a Process App.
- _appId:_ `number` - ID of the target app
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterProcessRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts)`[]>` - Array of filter details
- **getRunningFilterInstance**(appId: `number`): [`FilterProcessRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts)<br/>
Creates and returns a filter that matches "running" process instances.
- _appId:_ `number` - ID of the target app
- **Returns** [`FilterProcessRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts) - Filter just created
## Details
The methods of this service generally return an instance of
[`FilterProcessRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts) or an array of instances. For example, you
could use `getProcessFilters` as follows:
```ts
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`](../../../lib/process-services/process-list/models/filter-process.model.ts) 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", …}
You can use the returned filters to get matching process instances for the process app with ID 2,
such as 'Running', 'Completed', 'All', etc.
## See also
- [Process Filters component](../components/process-filters.component.md)
- [Task Filter service](task-filter.service.md)

View File

@@ -0,0 +1,150 @@
---
Title: Process Service
Added: v2.0.0
Status: Active
Last reviewed: 2018-03-20
---
# [Process Service](../../../lib/process-services/process-list/services/process.service.ts "Defined in process.service.ts")
Manages Process Instances, Process Variables, and Process Audit Log.
## Class members
### Methods
- **cancelProcess**(processInstanceId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<void>`<br/>
Cancels a process instance.
- _processInstanceId:_ `string` - ID of process to cancel
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<void>` - Null response notifying when the operation is complete
- **createOrUpdateProcessInstanceVariables**(processInstanceId: `string`, variables: `RestVariable[]`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessInstanceVariable`](../../../lib/process-services/process-list/models/process-instance-variable.model.ts)`[]>`<br/>
Creates or updates variables for a process instance.
- _processInstanceId:_ `string` - ID of the target process
- _variables:_ `RestVariable[]` - Variables to update
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessInstanceVariable`](../../../lib/process-services/process-list/models/process-instance-variable.model.ts)`[]>` - Array of instance variable info
- **deleteProcessInstanceVariable**(processInstanceId: `string`, variableName: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<void>`<br/>
Deletes a variable for a process instance.
- _processInstanceId:_ `string` - ID of the target process
- _variableName:_ `string` - Name of the variable to delete
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<void>` - Null response notifying when the operation is complete
- **fetchProcessAuditJsonById**(processId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<any>`<br/>
Fetches the Process Audit information in a JSON format.
- _processId:_ `string` - ID of the target process
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<any>` - JSON data
- **fetchProcessAuditPdfById**(processId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob)`>`<br/>
Fetches the Process Audit information as a PDF.
- _processId:_ `string` - ID of the target process
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob)`>` - Binary PDF data
- **getProcess**(processInstanceId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessInstance`](../../../lib/process-services/process-list/models/process-instance.model.ts)`>`<br/>
Gets Process Instance metadata.
- _processInstanceId:_ `string` - ID of the target process
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessInstance`](../../../lib/process-services/process-list/models/process-instance.model.ts)`>` - Metadata for the instance
- **getProcessDefinitions**(appId?: `number`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessDefinitionRepresentation`](../../../lib/process-services/process-list/models/process-definition.model.ts)`[]>`<br/>
Gets process definitions associated with an app.
- _appId:_ `number` - (Optional) ID of a target app
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessDefinitionRepresentation`](../../../lib/process-services/process-list/models/process-definition.model.ts)`[]>` - Array of process definitions
- **getProcessInstanceVariables**(processInstanceId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessInstanceVariable`](../../../lib/process-services/process-list/models/process-instance-variable.model.ts)`[]>`<br/>
Gets the variables for a process instance.
- _processInstanceId:_ `string` - ID of the target process
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessInstanceVariable`](../../../lib/process-services/process-list/models/process-instance-variable.model.ts)`[]>` - Array of instance variable info
- **getProcessInstances**(requestNode: [`ProcessFilterParamRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts), processDefinitionKey?: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessListModel`](../../../lib/process-services/process-list/models/process-list.model.ts)`>`<br/>
Gets process instances for a filter and optionally a process definition.
- _requestNode:_ [`ProcessFilterParamRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts) - Filter for instances
- _processDefinitionKey:_ `string` - (Optional) Limits returned instances to a process definition
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessListModel`](../../../lib/process-services/process-list/models/process-list.model.ts)`>` - List of process instances
- **getProcessTasks**(processInstanceId: `string`, state?: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`[]>`<br/>
Gets task instances for a process instance.
- _processInstanceId:_ `string` - ID of the process instance
- _state:_ `string` - (Optional) Task state filter (can be "active" or "completed")
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`[]>` - Array of task instance details
- **getProcesses**(requestNode: [`ProcessFilterParamRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts), processDefinitionKey?: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessListModel`](../../../lib/process-services/process-list/models/process-list.model.ts)`>`<br/>
Gets processes for a filter and optionally a process definition.
- _requestNode:_ [`ProcessFilterParamRepresentationModel`](../../../lib/process-services/process-list/models/filter-process.model.ts) - Filter for instances
- _processDefinitionKey:_ `string` - (Optional) Limits returned instances to a process definition
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessListModel`](../../../lib/process-services/process-list/models/process-list.model.ts)`>` - List of processes
- **startProcess**(processDefinitionId: `string`, name: `string`, outcome?: `string`, startFormValues?: [`FormValues`](../../../lib/core/form/components/widgets/core/form-values.ts), variables?: [`ProcessInstanceVariable`](../../../lib/process-services/process-list/models/process-instance-variable.model.ts)`[]`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessInstance`](../../../lib/process-services/process-list/models/process-instance.model.ts)`>`<br/>
Starts a process based on a process definition, name, form values or variables.
- _processDefinitionId:_ `string` - Process definition ID
- _name:_ `string` - Process name
- _outcome:_ `string` - (Optional) Process outcome
- _startFormValues:_ [`FormValues`](../../../lib/core/form/components/widgets/core/form-values.ts) - (Optional) Values for the start form
- _variables:_ [`ProcessInstanceVariable`](../../../lib/process-services/process-list/models/process-instance-variable.model.ts)`[]` - (Optional) Array of process instance variables
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessInstance`](../../../lib/process-services/process-list/models/process-instance.model.ts)`>` - Details of the process instance just started
## Details
Parameter and return value classes are defined in the Alfresco JS API. See the
[Activiti REST API](https://github.com/Alfresco/alfresco-js-api/tree/master/src/alfresco-activiti-rest-api)
pages for further information.
### Importing
```ts
import { ProcessService, ProcessInstance, ProcessInstanceVariable,
ProcessDefinitionRepresentation, ProcessFilterParamRepresentationModel, TaskDetailsModel } from '@alfresco/adf-process-services';
export class SomePageComponent implements OnInit {
constructor(private processService: ProcessService) {
}
```
### Example of starting a process
When starting a process, you can choose to pass in form field values or process variables
but not both in the same call.
In this example, values are supplied to the start form that has been defined for the process:
```ts
const processDefinitionId = 'InvoiceApprovalProcess:2:21';
const name = 'Sample Invoice Process';
const outcome = null;
const startFormValues = {
approver: 'admin@app.activiti.com',
companyemail: 'someone@acme.com',
invoicetobeapproved: null
};
this.processService.startProcess(processDefinitionId, name, outcome, startFormValues)
.subscribe( (processInstance: ProcessInstance) => {
console.log('ProcessInstance: ', processInstance);
}, error => {
console.log('Error: ', error);
});
```
A [`ProcessInstance`](../../../lib/process-services/process-list/models/process-instance.model.ts) object is returned for a successfully started process. This implements the
[ProcessInstanceRepresentation interface](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-activiti-rest-api/docs/ProcessInstanceRepresentation.md).
You can start the process with process variables instead of form field values using
code like the following:
```ts
const processDefinitionId = 'InvoiceApprovalProcess:2:21';
const name = 'Sample Invoice Process (Var)';
const variables: ProcessInstanceVariable[] = [
{name: 'approver', value: 'admin@app.activiti.com'},
{name: 'companyemail', value: 'someone@acme.com'},
{name: 'invoicetobeapproved', value: null},
{name: 'sampleVar', value: 'hello'}
];
this.processService.startProcess(processDefinitionId, name, null, null, variables)
.subscribe( (processInstance: ProcessInstance) => {
console.log('ProcessInstance: ', processInstance);
}, error => {
console.log('Error: ', error);
});
```
You can also start a process that has no start form and no process variables:
```ts
const processDefinitionId = 'SimpleProcess:1:2';
const name = 'Sample Process';
this.processService.startProcess(processDefinitionId, name)
.subscribe( (processInstance: ProcessInstance) => {
console.log('ProcessInstance: ', processInstance);
}, error => {
console.log('Error: ', error);
});
```

View File

@@ -0,0 +1,102 @@
---
Title: Task Filter Service
Added: v2.0.0
Status: Active
Last reviewed: 2018-06-07
---
# [Task Filter Service](../../../lib/process-services/task-list/services/task-filter.service.ts "Defined in task-filter.service.ts")
Manage Task Filters, which are pre-configured Task Instance queries.
## Class members
### Methods
- **addFilter**(filter: [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`>`<br/>
Adds a new task filter
- _filter:_ [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts) - The new filter to add
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`>` - Details of task filter just added
- **callApiTaskFilters**(appId?: `number`): [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises)`<any>`<br/>
Calls `getUserTaskFilters` from the Alfresco JS API.
- _appId:_ `number` - (Optional) ID of the target app
- **Returns** [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises)`<any>` - List of task filters
- **createDefaultFilters**(appId: `number`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`[]>`<br/>
Creates and returns the default filters for a process app.
- _appId:_ `number` - ID of the target app
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`[]>` - Array of default filters just created
- **getCompletedTasksFilterInstance**(appId: `number`): [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)<br/>
Creates and returns a filter for "Completed" task instances.
- _appId:_ `number` - ID of the target app
- **Returns** [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts) - The newly created filter
- **getInvolvedTasksFilterInstance**(appId: `number`): [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)<br/>
Creates and returns a filter for "Involved" task instances.
- _appId:_ `number` - ID of the target app
- **Returns** [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts) - The newly created filter
- **getMyTasksFilterInstance**(appId: `number`): [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)<br/>
Creates and returns a filter for "My Tasks" task instances.
- _appId:_ `number` - ID of the target app
- **Returns** [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts) - The newly created filter
- **getQueuedTasksFilterInstance**(appId: `number`): [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)<br/>
Creates and returns a filter for "Queued Tasks" task instances.
- _appId:_ `number` - ID of the target app
- **Returns** [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts) - The newly created filter
- **getTaskFilterById**(filterId: `number`, appId?: `number`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`>`<br/>
Gets a task filter by ID.
- _filterId:_ `number` - ID of the filter
- _appId:_ `number` - (Optional) ID of the app for the filter
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`>` - Details of task filter
- **getTaskFilterByName**(taskName: `string`, appId?: `number`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`>`<br/>
Gets a task filter by name.
- _taskName:_ `string` - Name of the filter
- _appId:_ `number` - (Optional) ID of the app for the filter
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`>` - Details of task filter
- **getTaskListFilters**(appId?: `number`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`[]>`<br/>
Gets all task filters for a process app.
- _appId:_ `number` - (Optional) Optional ID for a specific app
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`[]>` - Array of task filter details
## Details
The methods of this service generally return an instance of [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts) or
an array of instances. For example, you could use `getTaskListFilters` as follows:
```ts
const processAppId = 2;
this.taskFilterService.getTaskListFilters(processAppId).subscribe( (filters: FilterRepresentationModel[]) => {
console.log('Task filters: ', filters);
}, error => {
console.log('Error: ', error);
});
```
The response is an array of [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts) objects:
filters:
0: {id: 10, appId: 2, name: "Involved Tasks", recent: true, icon: "glyphicon-align-left", …}
1: {id: 9, appId: 2, name: "My Tasks", recent: false, icon: "glyphicon-inbox", …}
2: {id: 11, appId: 2, name: "Queued Tasks", recent: false, icon: "glyphicon-record", …}
3: {id: 12, appId: 2, name: "Completed Tasks", recent: false, icon: "glyphicon-ok-sign", …}
4: {id: 4004, appId: 2, name: "Completed Tasks", recent: false, icon: "glyphicon-ok-sign", …}
5: {id: 4005, appId: 2, name: "My Tasks", recent: false, icon: "glyphicon-inbox", …}
6: {id: 4006, appId: 2, name: "Queued Tasks", recent: false, icon: "glyphicon-record", …}
7: {id: 4007, appId: 2, name: "Involved Tasks", recent: false, icon: "glyphicon-align-left", …}
These filters can now be used to get matching task instances for the process app with ID 2,
such as 'Involved Tasks', 'My Tasks', 'Queued Tasks', and 'Completed Tasks'.
### Importing
```ts
import { TaskFilterService, FilterRepresentationModel } from '@alfresco/adf-process-services';
export class SomePageComponent implements OnInit {
constructor(private taskFilterService: TaskFilterService) {
}
```
## See also
- [Task Filters component](../components/task-filters.component.md)
- [Process Filter service](process-filter.service.md)

View File

@@ -0,0 +1,235 @@
---
Title: Tasklist Service
Added: v2.0.0
Status: Active
Last reviewed: 2018-11-14
---
# [Tasklist Service](../../../lib/process-services/task-list/services/tasklist.service.ts "Defined in tasklist.service.ts")
Manages Task Instances.
## Class members
### Methods
- **addTask**(task: [`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>`<br/>
Adds a subtask (ie, a checklist task) to a parent task.
- _task:_ [`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts) - The task to add
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>` - The subtask that was added
- **assignTask**(taskId: `string`, requestNode: `any`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>`<br/>
Assigns a task to a user or group.
- _taskId:_ `string` - The task to assign
- _requestNode:_ `any` - User or group to assign the task to
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>` - Details of the assigned task
- **assignTaskByUserId**(taskId: `string`, userId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>`<br/>
Assigns a task to a user.
- _taskId:_ `string` - ID of the task to assign
- _userId:_ `string` - ID of the user to assign the task to
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>` - Details of the assigned task
- **attachFormToATask**(taskId: `string`, formId: `number`): [`Observable`](http://reactivex.io/documentation/observable.html)`<any>`<br/>
Attaches a form to a task.
- _taskId:_ `string` - ID of the target task
- _formId:_ `number` - ID of the form to add
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<any>` - Null response notifying when the operation is complete
- **claimTask**(taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>`<br/>
Claims a task for the current user.
- _taskId:_ `string` - ID of the task to claim
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>` - Details of the claimed task
- **completeTask**(taskId: `string`): `any`<br/>
Gives completed status to a task.
- _taskId:_ `string` - ID of the target task
- **Returns** `any` - Null response notifying when the operation is complete
- **createNewTask**(task: [`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>`<br/>
Creates a new standalone task.
- _task:_ [`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts) - Details of the new task
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>` - Details of the newly created task
- **deleteForm**(taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>`<br/>
Deletes a form from a task.
- _taskId:_ `string` - Task id related to form
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>` - Null response notifying when the operation is complete
- **deleteTask**(taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>`<br/>
Deletes a subtask (ie, a checklist task) from a parent task.
- _taskId:_ `string` - The task to delete
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>` - Null response notifying when the operation is complete
- **fetchTaskAuditJsonById**(taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<any>`<br/>
Fetch the Task Audit information in JSON format
- _taskId:_ `string` - ID of the target task
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<any>` - JSON data
- **fetchTaskAuditPdfById**(taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob)`>`<br/>
Fetches the Task Audit information in PDF format.
- _taskId:_ `string` - ID of the target task
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob)`>` - Binary PDF data
- **findAllTaskByState**(requestNode: [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts), state?: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskListModel`](../../../lib/process-services/task-list/models/task-list.model.ts)`>`<br/>
Gets all tasks matching a query and state value.
- _requestNode:_ [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts) - Query to search for tasks.
- _state:_ `string` - (Optional) Task state. Can be "open" or "completed".
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskListModel`](../../../lib/process-services/task-list/models/task-list.model.ts)`>` - List of tasks
- **findAllTasksWithoutState**(requestNode: [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskListModel`](../../../lib/process-services/task-list/models/task-list.model.ts)`>`<br/>
Gets all tasks matching the supplied query but ignoring the task state.
- _requestNode:_ [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts) - Query to search for tasks
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskListModel`](../../../lib/process-services/task-list/models/task-list.model.ts)`>` - List of tasks
- **findTasksByState**(requestNode: [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts), state?: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskListModel`](../../../lib/process-services/task-list/models/task-list.model.ts)`>`<br/>
Gets tasks matching a query and state value.
- _requestNode:_ [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts) - Query to search for tasks
- _state:_ `string` - (Optional) Task state. Can be "open" or "completed".
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskListModel`](../../../lib/process-services/task-list/models/task-list.model.ts)`>` - List of tasks
- **getFilterForTaskById**(taskId: `string`, filterList: [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`[]`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`>`<br/>
Gets all the filters in the list that belong to a task.
- _taskId:_ `string` - ID of the target task
- _filterList:_ [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`[]` - List of filters to search through
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`>` - Filters belonging to the task
- **getFormList**(): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`Form`](../../../lib/process-services/task-list/models/form.model.ts)`[]>`<br/>
Gets all available reusable forms.
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`Form`](../../../lib/process-services/task-list/models/form.model.ts)`[]>` - Array of form details
- **getTaskChecklist**(id: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`[]>`<br/>
Gets the checklist for a task.
- _id:_ `string` - ID of the target task
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`[]>` - Array of checklist task details
- **getTaskDetails**(taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>`<br/>
Gets details for a task.
- _taskId:_ `string` - ID of the target task.
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>` - Task details
- **getTasks**(requestNode: [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskListModel`](../../../lib/process-services/task-list/models/task-list.model.ts)`>`<br/>
Gets all the tasks matching the supplied query.
- _requestNode:_ [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts) - Query to search for tasks
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskListModel`](../../../lib/process-services/task-list/models/task-list.model.ts)`>` - List of tasks
- **getTotalTasks**(requestNode: [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<any>`<br/>
Gets the total number of the tasks found by a query.
- _requestNode:_ [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts) - Query to search for tasks
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<any>` - Number of tasks
- **isTaskRelatedToFilter**(taskId: `string`, filterModel: [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`>`<br/>
Checks if a taskId is filtered with the given filter.
- _taskId:_ `string` - ID of the target task
- _filterModel:_ [`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts) - The filter you want to check
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`FilterRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts)`>` - The filter if it is related or null otherwise
- **unclaimTask**(taskId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>`<br/>
Un-claims a task for the current user.
- _taskId:_ `string` - ID of the task to unclaim
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>` - Null response notifying when the operation is complete
- **updateTask**(taskId: `any`, updated: `any`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>`<br/>
Updates the details (name, description, due date) for a task.
- _taskId:_ `any` - ID of the task to update
- _updated:_ `any` - Data to update the task (as a `TaskUpdateRepresentation` instance).
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts)`>` - Updated task details
## Details
### Task details
Several of the methods return one or more [`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts) instances corresponding
to tasks or subtasks matched by a query of some kind. For example, `getTaskDetails`
could be used as shown below:
```ts
const taskInstanceId = '15303';
this.tasklistService.getTaskDetails(taskInstanceId).subscribe( (taskInstance: TaskDetailsModel) => {
console.log('TaskInstance: ', taskInstance);
}, error => {
console.log('Error: ', error);
});
```
The resulting [`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts) object contains information like the following:
adhocTaskCanBeReassigned: false
assignee: UserProcessModel {pictureId: null, id: 1, email: "admin@app.activiti.com", firstName: null, lastName: "Administrator"}
category: null
created: Wed Oct 11 2017 09:07:14 GMT+0100 (BST) {}
description: null
dueDate: null
duration: null
endDate: null
executionId: "11337"
formKey: "9"
id: "15303"
initiatorCanCompleteTask: false
involvedPeople: []
managerOfCandidateGroup: false
memberOfCandidateGroup: false
memberOfCandidateUsers: false
name: "Clarify Invoice - Invoice-20302.pdf"
parentTaskId: null
parentTaskName: null
priority: 50
processDefinitionCategory: "http://www.activiti.org/processdef"
processDefinitionDeploymentId: "18"
processDefinitionDescription: "This is a simple invoice approval process that allows a person to assign a dedicated approver for the the invoice. It will then be routed to the Accounting department for payment preparation. Once payment is prepared the invoice will be stored in a specific folder and an email notification will be sent."
processDefinitionId: "InvoiceApprovalProcess:2:21"
processDefinitionKey: "InvoiceApprovalProcess"
processDefinitionName: "Invoice Approval Process"
processDefinitionVersion: 2
processInstanceId: "11337"
processInstanceName: null
processInstanceStartUserId: "1"
taskDefinitionKey: "clarifyInvoice"
### Queries
Some of the methods run a search query contained in a [`TaskQueryRequestRepresentationModel`](../../../lib/process-services/task-list/models/filter.model.ts) and
return the matched tasks. Below is an example of how you might run a query using `getTasks`:
```ts
const taskQuery: TaskQueryRequestRepresentationModel = {
appDefinitionId: '2',
processInstanceId: null,
processDefinitionId: null,
text: null,
assignment: null,
state: 'open',
sort: 'created_asc',
page: 0,
size: 5,
start: null
};
this.tasklistService.getTasks(taskQuery).subscribe( (taskListModel: TaskListModel) => {
console.log('Task List Model: ', taskListModel);
}, error => {
console.log('Error: ', error);
});
```
In this example, the query specifies all Task Instances for the process app with
ID 2. Setting the `size` property to 5 ensures the query will return no more than
five task instances in the results.
You can use various query parameters to narrow down the scope of the results.
If you are only interested in task instances related to a specific process instance,
then you can set the `processInstanceId` accordingly. If you want all tasks related to
a type of process then you can use `processDefinitionId`.
Use the `state` property to indicate that you want only "completed" or "open" tasks (this
defaults to "open" if you leave it undefined).
The `assignment` property filters tasks based on how they are assigned (or not assigned yet).
Use `assignee` if you are interested in tasks that are assigned to a user. If you want to see
pooled tasks (i.e. tasks that needs to be claimed by a user), then use `candidate`.
A successful query returns a [`TaskListModel`](../../../lib/process-services/task-list/models/task-list.model.ts) with the `data` property set to an array of
[`TaskDetailsModel`](../../../lib/process-services/task-list/models/task-details.model.ts):
data:
0: {id: "75010", name: "Approve Invoice - Invoice-10202.pdf", description: null, category: null, assignee: {…}, …}
1: {id: "74746", name: "Verify with the person that did the purchase", description: null, category: "2", assignee: {…}, …}
2: {id: "74745", name: "Double check invoice amount", description: null, category: "2", assignee: {…}, …}
3: {id: "20686", name: "Sample checklist task 1", description: null, category: "2", assignee: {…}, …}
4: {id: "15303", name: "Clarify Invoice - Invoice-20302.pdf", description: null, category: null, assignee: {…}, …}
length: 5
size: 5
start: 0
total: 10
The `total` property indicates that actual number of tasks that were found, but the `size` property
limited the found set to five items.
### Importing
```ts
import { TaskListService, TaskDetailsModel, TaskQueryRequestRepresentationModel, TaskListModel, Form } from '@alfresco/adf-process-services';
import { TaskUpdateRepresentation } from '@alfresco/js-api';
export class SomePageComponent implements OnInit {
constructor(private tasklistService: TaskListService) {
}
```