* Fetch the userInfo once loggedIn and expose the cabilibility of admin * Rollback method * Return same use if defined * Use the same pepleContent service for UserInfoCOmpnent * Remove useless import * Use interface * Use angular resolver instead of guard * Remove fdescribe * Fix linting * Regenerate doc * Improve doc * Fix optional * Fix the unit test * Fix comment * Fix lint * Fix unit * Add fetch user as part of the ssoGuard * Fix unit test after fetch * Add additional unit * Fix await
12 KiB
Title, Added, Status, Last reviewed
Title | Added | Status | Last reviewed |
---|---|---|---|
Process Instance List Cloud component | v3.0.0 | Experimental | 2019-03-25 |
Process Instance List Cloud component
Renders a list containing all the process instances matched by the parameters specified.
Contents
Basic Usage
app.component.html
<adf-cloud-process-list
[appName]="'app-name'">
</adf-cloud-process-list>
Transclusions
Any content inside an <adf-custom-empty-content>
sub-component will be shown
when the process list is empty:
<adf-cloud-process-list>
<adf-custom-empty-content>
Your Content
</adf-custom-empty-content>
<adf-cloud-process-list>
Class members
Properties
Name | Type | Default value | Description |
---|---|---|---|
actionsPosition | string |
"right" | Position of the actions dropdown menu. Can be "left" or "right". |
appName | string |
"" | The name of the application. |
appVersion | number | number[] |
The version of the application. | |
businessKey | string |
"" | Filter the processes to display only the ones with this businessKey value. |
completedDate | string |
"" | Filter the processes. Display only process with completedDate equal to the supplied date. |
completedFrom | string |
"" | Filter the processes. Display only process with completedFrom equal to the supplied date. |
completedTo | string |
"" | Filter the processes. Display only process with completedTo equal to the supplied date. |
id | string |
"" | Filter the processes to display only the ones with this ID. |
initiator | string |
"" | Name of the initiator of the process. |
lastModifiedFrom | Date |
Filter the processes. Display only process with lastModifiedTo equal to the supplied date. | |
lastModifiedTo | Date |
Filter the processes. Display only process with lastModifiedTo equal to the supplied date. | |
multiselect | boolean |
false | Toggles multiple row selection and renders checkboxes at the beginning of each row |
name | string |
"" | Filter the processes to display only the ones with this name. |
presetColumn | string |
Custom preset column schema in JSON format. | |
processDefinitionId | string |
"" | Filter the processes to display only the ones with this process definition ID. |
processDefinitionKey | string |
"" | Filter the processes to display only the ones with this process definition key. |
processDefinitionName | string |
"" | Filter the processes to display only the ones with this process definition name. |
selectionMode | string |
"single" | Row selection mode. Can be "none", "single" or "multiple". For multiple mode, you can use Cmd (macOS) or Ctrl (Win) modifier key to toggle selection for multiple rows. |
showActions | boolean |
false | Toggles the data actions column. |
showContextMenu | boolean |
false | Toggles custom context menu for the component. |
showMainDatatableActions | boolean |
false | Toggle main datatable actions. |
sorting | ProcessListCloudSortingModel [] |
Array of objects specifying the sort order and direction for the list. The sort parameters are for BE sorting. | |
startFrom | string |
"" | Filter the processes. Display only process with startedDate greater then the supplied date. |
startTo | string |
"" | Filter the processes. Display only process with startedDate less than the supplied date. |
status | string |
"" | Filter the processes to display only the ones with this status. |
stickyHeader | boolean |
false | Toggles the sticky header mode. |
suspendedFrom | string |
"" | Filter the processes. Display only process with suspendedFrom equal to the supplied date. |
suspendedTo | string |
"" | Filter the processes. Display only process with suspendedTo equal to the supplied date. |
Events
Name | Type | Description |
---|---|---|
error | EventEmitter <any> |
Emitted when an error occurs while loading the list of process instances from the server. |
executeRowAction | EventEmitter < DataRowActionEvent > |
Emitted when the user executes a row action. |
rowClick | EventEmitter <string> |
Emitted when a row in the process list is clicked. |
rowsSelected | EventEmitter <any[]> |
Emitted when rows are selected/unselected. |
showRowActionsMenu | EventEmitter < DataCellEvent > |
Emitted before the actions menu is displayed for a row. |
showRowContextMenu | EventEmitter < DataCellEvent > |
Emitted before the context menu is displayed for a row. |
success | EventEmitter <any> |
Emitted when the list of process instances has been loaded successfully from the server. |
Details
You can define a custom schema for the list in the app.config.json
file and access it with the
presetColumn
property as shown below:
"`adf-cloud-process-list`": {
"presets": {
"customSchema": [
{
"key": "name",
"type": "text",
"title": "name",
"sortable": true
}],
"default": [
{
"key": "name",
"type": "text",
"title": "name",
"sortable": true
}],
}
}
<adf-cloud-process-list
[appName]="'appName'">
</adf-cloud-process-list>
You can also define the schema in the HTML using the
Data column component. You can combine this with schema
information defined in app.config.json
as in the example below:
"adf-cloud-process-list": {
"presets": {
"customSchema": [
{
"key": "id",
"type": "text",
"title": "Id",
"sortable": true
}],
"default": [
{
"key": "name",
"type": "text",
"title": "name",
"sortable": true
}],
}
}
<adf-cloud-process-list
[appName]="'appName'" >
<data-columns>
<data-column key="key" title="title" class="full-width name-column">
<ng-template let-entry="$implicit">
<div>{{getFullName(entry.row.obj.assignee)}}</div>
</ng-template>
</data-column>
</data-columns>
</adf-cloud-process-list>
These are all the available columns that can be displayed in this component: appName, businessKey, description, id, initiator, lastModified, processName, parentId, processDefinitionId, processDefinitionKey, and status.
Setting Sorting Order for the list
You can specify a sorting order as shown in the example below:
let sorting = [{ orderBy: 'status', direction: 'desc' }];
<adf-cloud-process-list
[appName]="'appName'"
[sort]="sorting">
</adf-cloud-process-list>
Pagination strategy
The Process Instance List also supports pagination:
<adf-cloud-process-list
[appName]="'myApp'"
#processList>
</adf-cloud-process-list>
<adf-pagination
*ngIf="processList"
[target]="processList"
[supportedPageSizes]="supportedPages"
#processListPagination>
</adf-pagination>
The configuration related to the pagination can be changed from the app.config.json
, as described in the example below:
"pagination": {
"size": 20,
"supportedPageSizes": [ 5, 10, 15, 20 ]
},
showRowContextMenu event
Emitted before the context menu is displayed for a row.
Note that the ProcessListCloud itself does not populate the context menu with items. You can provide all necessary content via the handler.
<adf-cloud-process-list
[contextMenu]="true"
(showRowContextMenu)="onShowRowContextMenu($event)">
</adf-cloud-process-list>
Event properties:
value: {
row: DataRow,
col: DataColumn,
actions: []
}
Handler example:
onShowRowContextMenu(event: DataCellEvent) {
event.value.actions = [
{ title: 'Hello Context Action' },
{ ... }
]
}
This event is cancellable. You can use event.preventDefault()
to prevent the default behavior.
The ProcessListCloud will automatically render the supplied menu items.
See the ContextMenu documentation for more details on the format and behavior of context actions.
showRowActionsMenu event
Emitted before the actions menu is displayed for a row.
Requires the actions
property to be set to true
.
Event properties:
value: {
row: DataRow,
action: any
}
Note that the ProcessListCloud itself does not populate the action menu with items. You can provide all necessary content via the handler.
This event is cancellable. You can use event.preventDefault()
to prevent the default behavior.
executeRowAction event
Emitted when the user executes a row action.
This usually accompanies a showRowActionsMenu
event.
The ProcessListCloud itself does not execute actions but provides support for external
integration. If actions are provided using the showRowActionsMenu
event
then executeRowAction
will be automatically executed when the user clicks a
corresponding menu item.
<adf-cloud-process-list
[actions]="true"
(showRowActionsMenu)="onShowRowActionsMenu($event)"
(executeRowAction)="onExecuteRowAction($event)">
</adf-cloud-process-list>
import { DataCellEvent, DataRowActionEvent } from '@alfresco/adf-core';
onShowRowActionsMenu(event: DataCellEvent) {
let myAction = {
title: 'Hello Action'
// your custom metadata needed for onExecuteRowAction
};
event.value.actions = [
myAction
];
}
onExecuteRowAction(event: DataRowActionEvent) {
let args = event.value;
console.log(args.row);
console.log(args.action);
window.alert(`My custom action: ${args.action.title}`);
}
You can use any payloads for row actions. The only requirement for the objects is that they
must have a title
property.
When an action is selected in the dropdown menu, the ProcessListCloud invokes the executeRowAction
event.
Use this to handle the response, inspect the action payload (and all custom properties defined
earlier), and perform the corresponding actions.