diff --git a/docs/highlight-transform.service.md b/docs/highlight-transform.service.md index 31ccd68aed..7579dd0c8e 100644 --- a/docs/highlight-transform.service.md +++ b/docs/highlight-transform.service.md @@ -13,10 +13,10 @@ A typical use case for this service is to display the results from a search engi An excerpt of a retrieved document can be shown with the matching search terms highlighted to indicate where they were found. -The service works by adding HTML <span> elements around all sections of text +The service works by adding HTML <span> elements around all sections of text that match the `search` string. You can specify multiple search strings at once by separating them with spaces, so passing "Apple Banana Cherry" in `search` will -highlight any of those words individually. The <span> element includes a +highlight any of those words individually. The <span> element includes a `class` attribute which defaults to "highlight" but you can pass any class name you like using the `wrapperClass` parameter. @@ -33,13 +33,7 @@ interface HightlightTransformResult { The `changed` flag will be false if the search string was not found (ie, no highlighting took place) and true otherwise. - - ## See also -- [Text highlight pipe](text-highlight.pipe.md) -- [Highlight directive](highlight.directive.md) - - - - +- [Text highlight pipe](text-highlight.pipe.md) +- [Highlight directive](highlight.directive.md) diff --git a/docs/highlight.directive.md b/docs/highlight.directive.md index 4d5acef679..210bfcb187 100644 --- a/docs/highlight.directive.md +++ b/docs/highlight.directive.md @@ -35,8 +35,8 @@ If the search string contain spaces then each section between the spaces will be treated as a separate item to highlight. For example, you could use this to highlight all occurrences of words in a list. -The highlighting works by adding an HTML <span> element around the -selected text. The <span> includes a CSS class; this defaults to +The highlighting works by adding an HTML <span> element around the +selected text. The <span> includes a CSS class; this defaults to "adf-highlight" but you can supply your own class using the `adf-highlight-class` property: @@ -51,10 +51,7 @@ property: ``` - - ## See also -- [Text highlight pipe](text-highlight.pipe.md) -- [Highlight transform service](highlight-transform.service.md) - \ No newline at end of file +- [Text highlight pipe](text-highlight.pipe.md) +- [Highlight transform service](highlight-transform.service.md) diff --git a/docs/host-settings.component.md b/docs/host-settings.component.md index 1a34fc5001..15c6c5d9ad 100644 --- a/docs/host-settings.component.md +++ b/docs/host-settings.component.md @@ -4,7 +4,7 @@ Validates the URLs for ACS and APS and saves them in the user's local storage ![Host settings](docassets/images/host-settings-component.png) -## Basic Usage +## Basic Usage ```html @@ -14,13 +14,11 @@ Validates the URLs for ACS and APS and saves them in the user's local storage ### Properties | Name | Type | Default Value | Description | -| --- | --- | --- | --- | -| providers | string | ALL | Possible valid values are ECM, BPM or ALL. It indicate which URL configurations show | - +| ---- | ---- | ------------- | ----------- | +| providers | string | ALL | Possible valid values are ECM, BPM or ALL. It indicate which URL configurations show | ### Events | Name | Returned Type | Description | -| --- | --- | --- | -| error | string | emitted when the url inserted is wrong | - +| ---- | ------------- | ----------- | +| error | string | emitted when the url inserted is wrong | diff --git a/docs/infinite-pagination.component.md b/docs/infinite-pagination.component.md index 6a5f85954d..85880b48c4 100644 --- a/docs/infinite-pagination.component.md +++ b/docs/infinite-pagination.component.md @@ -17,7 +17,7 @@ Adds "infinite" pagination to the component it is used with. ### Properties | Name | Type | Default | Description | -| --- | --- | --- | --- | +| ---- | ---- | ------- | ----------- | | pagination | Pagination | `InfinitePaginationComponent.DEFAULT_PAGINATION` | Pagination object | | pageSize | number | `InfinitePaginationComponent.DEFAULT_PAGE_SIZE` | Number of items that are added with each "load more" event | | loading | boolean | false | | @@ -25,7 +25,7 @@ Adds "infinite" pagination to the component it is used with. ### Events | Name | Description | -| --- | --- | +| ---- | ----------- | | loadMore | Emitted when the "Load More" button is clicked | ## Details @@ -43,10 +43,7 @@ page within the list to be shown, whether there are more items left to show, etc See the [Pagination component](pagination.component.md) for more information about the alternative "finite" pagination scheme. - - ## See also -- [Document list component](document-list.component.md) -- [Pagination component](pagination.component.md) - +- [Document list component](document-list.component.md) +- [Pagination component](pagination.component.md) diff --git a/docs/info-drawer-layout.component.md b/docs/info-drawer-layout.component.md index 3b561fe3d2..9dbc989ca9 100644 --- a/docs/info-drawer-layout.component.md +++ b/docs/info-drawer-layout.component.md @@ -26,13 +26,10 @@ Displays a sidebar-style information panel. As the name suggests, this is basically just a layout with CSS styling. There are three regions where you can add your own content, as shown in the example: -- info-drawer-title -- info-drawer-buttons -- info-drawer-content +- info-drawer-title +- info-drawer-buttons +- info-drawer-content - - ## See also -- [Info drawer component](info-drawer.component.md) - +- [Info drawer component](info-drawer.component.md) diff --git a/docs/info-drawer.component.md b/docs/info-drawer.component.md index d97c4fd5b3..66f33731af 100644 --- a/docs/info-drawer.component.md +++ b/docs/info-drawer.component.md @@ -27,7 +27,7 @@ Displays a sidebar-style information panel with tabs. ### Properties | Name | Type | Default | Description | -| --- | --- | --- | --- | +| ---- | ---- | ------- | ----------- | | title | string | null | The title of the info drawer | | selectedIndex | number | 0 | The selected index tab | | currentTab | any | null | The currently active tab | @@ -38,9 +38,6 @@ This is a variant of the [Info Drawer Layout component](info-drawer-layout.compo You can also customize the three regions (title, buttons and content) as with the Info Drawer Layout component. - - ## See also -- [Info drawer layout component](info-drawer-layout.component.md) - +- [Info drawer layout component](info-drawer-layout.component.md) diff --git a/docs/language-menu.component.md b/docs/language-menu.component.md index be7351bca5..0692d71fec 100644 --- a/docs/language-menu.component.md +++ b/docs/language-menu.component.md @@ -39,6 +39,7 @@ This is how the configuration looks like in the the "app.config.json" } ] ``` + In case no setting is provided, the component shows only the English language. ### Nested Menu language @@ -58,12 +59,9 @@ How to attach an ADF Language Menu as nested menu ``` + ![Nested Language Menu screenshot](docassets/images/languages-menu-nested.png) ### Nested menu details In the previous example we are using the ADF Language Menu as nested menu. - - - - diff --git a/docs/like.component.md b/docs/like.component.md index dc99eb84b1..ddee210949 100644 --- a/docs/like.component.md +++ b/docs/like.component.md @@ -8,24 +8,21 @@ Allows a user to add "likes" to an item. ```html -``` +``` ### Properties | Attribute | Type | Default | Description | -| --- | --- | --- | --- | -| nodeId | string | | The identifier of a node.| +| --------- | ---- | ------- | ----------- | +| nodeId | string | | The identifier of a node. | ### Events | Name | Description | -| --- | --- | +| ---- | ----------- | | changeVote | Raised when vote gets changed | - - ## See also -- [Rating component](rating.component.md) -- [Rating service](rating.service.md) - \ No newline at end of file +- [Rating component](rating.component.md) +- [Rating service](rating.service.md) diff --git a/docs/login.component.md b/docs/login.component.md index 20ade90948..971835066f 100644 --- a/docs/login.component.md +++ b/docs/login.component.md @@ -227,3 +227,7 @@ export class MyCustomLogin { **Please note that if `event.preventDefault()` is not called then default behaviour will also be executed after your custom code.** + +## See Also + +- [Logout directive](logout.directive.md) diff --git a/docs/logout.directive.md b/docs/logout.directive.md index 26b658aebe..4631813ded 100644 --- a/docs/logout.directive.md +++ b/docs/logout.directive.md @@ -8,11 +8,6 @@ Logs the user out when the decorated element is clicked. ``` - - - - ## See also - [Login component](login.component.md) - diff --git a/docs/mime-type-icon.pipe.md b/docs/mime-type-icon.pipe.md index f4dc71e44c..ffd0a05a4a 100644 --- a/docs/mime-type-icon.pipe.md +++ b/docs/mime-type-icon.pipe.md @@ -15,9 +15,6 @@ Retrieves an icon to represent a MIME type. The pipe takes a MIME type as input and returns the URL of an SVG file that symbolizes that type (see the [Thumbnail service](thumbnail.service.md) for the mapping between types and icons). The pipe will return a "miscellaneous" icon when no specific mapping is defined. - - ## See also -- [Thumbnail service](thumbnail.service.md) - \ No newline at end of file +- [Thumbnail service](thumbnail.service.md) diff --git a/docs/node-delete.directive.md b/docs/node-delete.directive.md index 0c72469853..573e6a8937 100644 --- a/docs/node-delete.directive.md +++ b/docs/node-delete.directive.md @@ -19,17 +19,21 @@ Deletes multiple files and folders. ### Properties -| Name | Type | Default | Description | -| ----------------- | ------------------- | ------- | --------------------------- | -| adf-delete | MinimalNodeEntity[] | [] | Nodes to delete | -| permanent | boolean | false | Permanent delete | +| Name | Type | Default | Description | +| ---- | ---- | ------- | ----------- | +| adf-delete | MinimalNodeEntity\[] | \[] | Nodes to delete | +| permanent | boolean | false | Permanent delete | ### Events -| Name | Description | -| ------------------------- | -------------------------------------------- | -| delete | emitted when delete process is done | +| Name | Description | +| ---- | ----------- | +| delete | emitted when delete process is done | ## Details See **Demo Shell** + +## See also + +- [Node Restore directive](node-restore.directive.md) diff --git a/docs/node-restore.directive.md b/docs/node-restore.directive.md index 5927150ff4..ba17424c3c 100644 --- a/docs/node-restore.directive.md +++ b/docs/node-restore.directive.md @@ -22,16 +22,16 @@ Restores deleted nodes to their original location. ### Properties -| Name | Type | Default | Description | -| ----------------- | ------------------- | ------- | ------------------------------- | -| adf-restore | DeletedNodeEntry[] | [] | Deleted nodes to restore | -| location | string | '' | Route path to view restored node | +| Name | Type | Default | Description | +| ---- | ---- | ------- | ----------- | +| adf-restore | DeletedNodeEntry\[] | \[] | Deleted nodes to restore | +| location | string | '' | Route path to view restored node | ### Events -| Name | Description | -| --------- | ------------------------------- | -| restore | Raised when the restore is done | +| Name | Description | +| ---- | ----------- | +| restore | Raised when the restore is done | ## Details @@ -39,3 +39,7 @@ Restores deleted nodes to their original location. If the original location doesn't exist anymore, then they remain in the trash list. For single node restore, there is action to jump to the location where the node has been restored and for this `location` is used to specify the route path where the list of nodes are rendered + +## See Also + +- [Node delete directive](node-delete.directive.md) diff --git a/docs/node.service.md b/docs/node.service.md index 937f92763c..7f813f36d0 100644 --- a/docs/node.service.md +++ b/docs/node.service.md @@ -1,4 +1,5 @@ # Node Service + Gets Alfresco Repository node metadata and creates nodes with metadata. This service cannot be used to create nodes with content. @@ -17,6 +18,7 @@ export class SomePageComponent implements OnInit { ## Methods #### getNodeMetadata(nodeId: string): Observable`` + Get the metadata and type for passed in node ID (e.g. 3062d73b-fe47-4040-89d2-79efae63869c): ```ts @@ -39,14 +41,12 @@ or the name of the node (i.e. `cm:name`). The `metadata` response looks like in this example: -``` -author: "Martin" -description: "Installation guide for Alfresco 3.3 on Linux" -lastThumbnailModification: "doclib:1505900632400" -title: "Install 3.3 Linux" -versionLabel: "1.0" -versionType: "MAJOR" -``` + author: "Martin" + description: "Installation guide for Alfresco 3.3 on Linux" + lastThumbnailModification: "doclib:1505900632400" + title: "Install 3.3 Linux" + versionLabel: "1.0" + versionType: "MAJOR" Note that the properties are missing namespace prefix. The `nodeType` response will be returned with namespace prefix, such as `cm:content`. @@ -54,6 +54,7 @@ such as `cm:content`. Executing this method on a folder node returns no metadata, just the type. #### createNode(name: string, nodeType: string, properties: any, path: string): Observable`` + Creates a node in the Alfresco Repository with passed in `name`, `nodeType`, and metadata `properties`. It will be created in the folder `path` that is passed in. @@ -71,27 +72,27 @@ this.nodeService2.createNode(nodeName, nodeType, properties, nodePath).subscribe console.log('Error: ', error); }); ``` + Note that the `path` property should not include the **/Company Home** bit. The response includes all metadata about the new node: -``` -entry: - aspectNames: (2) ["cm:titled", "cm:auditable"] - createdAt: Mon Nov 06 2017 13:04:49 GMT+0000 (GMT) {} - createdByUser: {id: "admin@app.activiti.com", displayName: "ADF User"} - id: "1ab71bb1-d67f-4147-95f6-b5801830ca08" - isFile: false - isFolder: true - modifiedAt: Mon Nov 06 2017 13:04:49 GMT+0000 (GMT) {} - modifiedByUser: {id: "admin@app.activiti.com", displayName: "ADF User"} - name: "someFolder" - nodeType: "cm:folder" - parentId: "a29b5fe3-81f6-46a7-9bed-6a53620acb32" - properties: {cm:title: "Some title", cm:description: "Some description"} -``` + entry: + aspectNames: (2) ["cm:titled", "cm:auditable"] + createdAt: Mon Nov 06 2017 13:04:49 GMT+0000 (GMT) {} + createdByUser: {id: "admin@app.activiti.com", displayName: "ADF User"} + id: "1ab71bb1-d67f-4147-95f6-b5801830ca08" + isFile: false + isFolder: true + modifiedAt: Mon Nov 06 2017 13:04:49 GMT+0000 (GMT) {} + modifiedByUser: {id: "admin@app.activiti.com", displayName: "ADF User"} + name: "someFolder" + nodeType: "cm:folder" + parentId: "a29b5fe3-81f6-46a7-9bed-6a53620acb32" + properties: {cm:title: "Some title", cm:description: "Some description"} #### createNodeMetadata(nodeType: string, nameSpace: any, data: any, path: string, name?: string): Observable`` + This is a convenience method if your property list is missing namespace prefix for property names. The namespace prefix can then be supplied separately and this method will prepend it automatically. This method calls the `createNode` method internally: @@ -113,10 +114,8 @@ this.nodeService2.createNodeMetadata(nodeType, propNamespacePrefix, properties, ``` See the `createNode` method for information about the response object. - - + ## See also -- [Nodes api service](nodes-api.service.md) -- [Deleted nodes api service](deleted-nodes-api.service.md) - \ No newline at end of file +- [Nodes api service](nodes-api.service.md) +- [Deleted nodes api service](deleted-nodes-api.service.md) diff --git a/docs/nodes-api.service.md b/docs/nodes-api.service.md index c2a59053ad..fed1b10f59 100644 --- a/docs/nodes-api.service.md +++ b/docs/nodes-api.service.md @@ -152,14 +152,9 @@ and pages in the Alfresco JS API for further details and options. Note that you can also use the [Deleted Nodes Api service](deleted-nodes-api.service.md) get a list of all items currently in the trashcan. - - - - ## See also - [Document library model](document-library.model.md) - [Deleted nodes api service](deleted-nodes-api.service.md) - [Document list component](document-list.component.md) - [Node service](node.service.md) - diff --git a/docs/page-title.service.md b/docs/page-title.service.md index 1d0de1da8d..a1640d81fd 100644 --- a/docs/page-title.service.md +++ b/docs/page-title.service.md @@ -16,12 +16,6 @@ a result of the form "PageName - AppName" (see is not supplied then just the app name is used; this will default to "Alfresco ADF Application" when no app name set in the config file. - - ## See also -- [App config service](app-config.service.md) - - - - +- [App config service](app-config.service.md) diff --git a/docs/people-content.service.md b/docs/people-content.service.md index 25e92ddbb6..d4d179778b 100644 --- a/docs/people-content.service.md +++ b/docs/people-content.service.md @@ -21,10 +21,7 @@ See the [getPerson](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/PeopleApi.md#getPerson) method in the Alfresco JS API for more information about the REST calls used by this service. - - ## See also -- [People process service](people-process.service.md) -- [Ecm user model](ecm-user.model.md) - \ No newline at end of file +- [People process service](people-process.service.md) +- [Ecm user model](ecm-user.model.md) diff --git a/docs/people-list.component.md b/docs/people-list.component.md index 9226cfdf70..343b46568d 100644 --- a/docs/people-list.component.md +++ b/docs/people-list.component.md @@ -59,22 +59,19 @@ In the component template use the people list component: ``` + Note that the people list component is based on the ` - - \ No newline at end of file diff --git a/docs/people-process.service.md b/docs/people-process.service.md index 4d78bfb4e8..84560abf26 100644 --- a/docs/people-process.service.md +++ b/docs/people-process.service.md @@ -19,7 +19,7 @@ Removes a user who is currently involved with a task. ## Details Use `getWorkflowUsers` to find users across all tasks, optionally filtering by the `searchWord` -in the task name. The `taskId` parameter, if used, specifies a task to be *excluded* from the +in the task name. The `taskId` parameter, if used, specifies a task to be _excluded_ from the results. You would typically use this feature to find new users to assign to a task, in which case you would want to exclude users already assigned to that task. @@ -34,12 +34,8 @@ You can find more information about the REST API methods used by this service in (for `getWorkflowUsers`) and the [User API](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-activiti-rest-api/docs/UserApi.md#getuserprofilepictureurl)(for `getUserImage`). - - - ## See also -- [User process model](user-process.model.md) -- [Bpm user model](bpm-user.model.md) -- [People content service](people-content.service.md) - \ No newline at end of file +- [User process model](user-process.model.md) +- [Bpm user model](bpm-user.model.md) +- [People content service](people-content.service.md) diff --git a/docs/permissions-style.model.md b/docs/permissions-style.model.md index d8315bc80a..fff438ea73 100644 --- a/docs/permissions-style.model.md +++ b/docs/permissions-style.model.md @@ -5,11 +5,11 @@ Sets custom CSS styles for rows of a [Document List](document-list.component.md) ## Properties | Property | Type | Description | -| --- | --- | --- | +| -------- | ---- | ----------- | | isFile | boolean | Does this style apply to files? | | isFolder | boolean | Does this style apply to folders? | -| permission | Permissions | An enum value defining the permissions that this style applies to (see below) | -| css| string | The name of the CSS class to add | +| permission | Permissions | An enum value defining the permissions that this style applies to (see below) | +| css | string | The name of the CSS class to add | ## Details @@ -48,11 +48,9 @@ adf-document-list ::ng-deep adf-datatable tr.document-list__create { If you want to change the style on the folders where the user doesn't have the permission to update: ```ts - let permissionsStyle: PermissionStyleModel[] = []; this.permissionsStyle.push(new PermissionStyleModel('document-list__disable', PermissionsEnum.NOT_UPDATE, false, true)); - ``` ```html @@ -66,9 +64,6 @@ adf-document-list ::ng-deep adf-datatable tr.document-list__disable { } ``` - - ## See also -- [Document list component](document-list.component.md) - \ No newline at end of file +- [Document list component](document-list.component.md) diff --git a/docs/process-filter.service.md b/docs/process-filter.service.md index 9ef756cc13..d7bd9dff58 100644 --- a/docs/process-filter.service.md +++ b/docs/process-filter.service.md @@ -1,4 +1,5 @@ # Process Filter Service + Manage Process Filters, which are pre-configured Process Instance queries. ## Importing @@ -15,6 +16,7 @@ export class SomePageComponent implements OnInit { ## Methods #### createDefaultFilters(appId: number): Observable`` + Create and return the default filters for a Process App: ```ts @@ -29,28 +31,27 @@ this.processFilterService.createDefaultFilters(processAppId) 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", …} -``` + 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`` + Get all filters defined for a Process App: ```ts @@ -65,23 +66,23 @@ this.processFilterService.getProcessFilters(processAppId) 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", …} - -``` + 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`` +#### getProcessFilterById(filterId: number, appId?: number): Observable`` + Get a specific Process Filter based on its ID, optionally pass in Process App ID to improve performance when searching for filter: @@ -98,18 +99,17 @@ this.processFilterService.getProcessFilterById(filterId, processAppId) The response is a `FilterProcessRepresentationModel` object: -``` -appId: 2 -filter: {sort: "created-desc", name: "", state: "running"} -icon: "glyphicon-random" -id: 3003 -name: "Running" -recent: false -``` + 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`` +#### getProcessFilterByName(filterName: string, appId?: number): Observable`` + Get a specific Process Filter based on its name, optionally pass in Process App ID to improve performance when searching for filter: @@ -126,20 +126,20 @@ this.processFilterService.getProcessFilterByName(filterName, processAppId) The response is a `FilterProcessRepresentationModel` object: -``` -appId: 2 -filter: {sort: "created-desc", name: "", state: "running"} -icon: "glyphicon-random" -id: 15 -name: "Running" -recent: true -``` + 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`` + Add a new Process Instance filter: ```ts @@ -162,13 +162,11 @@ this.processFilterService.addProcessFilter(filterRunningAsc) The response is a `FilterProcessRepresentationModel` object: -``` -appId: 2 -icon: "glyphicon-random" -id: 3008 -name: "RunningAsc" -recent: false -``` + 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. @@ -176,6 +174,7 @@ 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: @@ -187,19 +186,13 @@ 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 -``` + 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. - - - - \ No newline at end of file diff --git a/docs/process-filters.component.md b/docs/process-filters.component.md index 37283b977c..2802c4046a 100644 --- a/docs/process-filters.component.md +++ b/docs/process-filters.component.md @@ -13,7 +13,7 @@ Collection of criteria used to filter process instances, which may be customized ### Properties | Name | Type | Description | -| --- | --- | --- | +| ---- | ---- | ----------- | | filterParam | [FilterParamsModel](#filterparamsmodel) | The params to filter the task filter. If there is no match the default one (first filter of the list) is selected | | appId | string | Display filters available to the current user for the application with the specified ID. | | appName | string | Display filters available to the current user for the application with the specified name. | @@ -24,7 +24,7 @@ If both `appId` and `appName` are specified then `appName` will take precedence ### Events | Name | Description | -| --- | --- | +| ---- | ----------- | | success | Raised when the list of filters has been successfully loaded from the server | | error | Raised when an error occurs | | filterClick | Raised when the user selects a filter from the list | @@ -39,11 +39,11 @@ process instances are displayed in the list. ### How filter the activiti process filters - ```html +```html + [filterParam]="{index: 0}"> - ``` +``` You can use inside the filterParam one of the properties defined by [FilterParamsModel](#filterparamsmodel) (see below). @@ -58,7 +58,7 @@ You can use inside the filterParam one of the properties defined by [FilterParam ``` | Name | Type | Description | -| --- | --- | --- | +| ---- | ---- | ----------- | | id | string | The id of the task filter. | | name | string | The name of the task filter, lowercase is checked. | | index | number | Zero-based position of the filter in the array. | @@ -68,9 +68,6 @@ You can use inside the filterParam one of the properties defined by [FilterParam The process filter often works well as an item in an accordion menu. See the [Accordion component](accordion.component.md) page for an example of how to do set this up. - - ## See also -- [Filter model](filter.model.md) - \ No newline at end of file +- [Filter model](filter.model.md) diff --git a/docs/process.service.md b/docs/process.service.md index bdb6fc8700..7f3b007f9e 100644 --- a/docs/process.service.md +++ b/docs/process.service.md @@ -1,4 +1,5 @@ # Process Service + Manage Process Instances, Process Variables, and Process Audit Log. ## Importing @@ -15,7 +16,8 @@ export class SomePageComponent implements OnInit { ## Methods -#### getProcess(processInstanceId: string): Observable`` +#### getProcess(processInstanceId: string): Observable`` + Get Process Instance metadata for passed in Process Instance ID: ```ts @@ -30,35 +32,34 @@ this.processService.getProcess(processInstanceId).subscribe( (processInstance: P The `processInstanceId` refers to a process instance ID for a running process in APS. The returned `processInstance` object is of type `ProcessInstance` and looks like in this sample: -``` - businessKey: null - ended: null - graphicalNotationDefined: true - id: "11337" - name: "Invoice Approval 2 started from ADF client" - 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 - startFormDefined: true - started: Tue Oct 10 2017 10:35:42 GMT+0100 (BST) {} - startedBy: {id: 1, firstName: null, lastName: "Administrator", email: "admin@app.activiti.com"} - suspended: false - tenantId: "tenant_1" - variables: - 0: {name: "initiator", type: "string", value: "1"} - 1: {name: "approver", type: "long", value: 2002} - 2: {name: "companyemail", type: "string", value: "martin.bergljung@xxxxx.com"} - 3: {name: "invoicetobeapproved", value: null} - 4: {name: "invoiceFileName", type: "string", value: " - [Alfresco_Enterprise_Edition_3_3_Windows_Simple_Install.pdf]"} - 5: {name: "comments", value: null} - 6: {name: "form8outcome", type: "string", value: "Reject"} -``` + businessKey: null + ended: null + graphicalNotationDefined: true + id: "11337" + name: "Invoice Approval 2 started from ADF client" + 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 + startFormDefined: true + started: Tue Oct 10 2017 10:35:42 GMT+0100 (BST) {} + startedBy: {id: 1, firstName: null, lastName: "Administrator", email: "admin@app.activiti.com"} + suspended: false + tenantId: "tenant_1" + variables: + 0: {name: "initiator", type: "string", value: "1"} + 1: {name: "approver", type: "long", value: 2002} + 2: {name: "companyemail", type: "string", value: "martin.bergljung@xxxxx.com"} + 3: {name: "invoicetobeapproved", value: null} + 4: {name: "invoiceFileName", type: "string", value: " - [Alfresco_Enterprise_Edition_3_3_Windows_Simple_Install.pdf]"} + 5: {name: "comments", value: null} + 6: {name: "form8outcome", type: "string", value: "Reject"} + +#### startProcess(processDefinitionId: string, name: string, outcome?: string, startFormValues?: any, variables?: ProcessInstanceVariable\[]): Observable`` -#### startProcess(processDefinitionId: string, name: string, outcome?: string, startFormValues?: any, variables?: ProcessInstanceVariable[]): Observable`` Start a process based on passed in Process Definition, name, form values or variables. When starting you can choose to pass in form field values or process variables (you cannot pass in both). @@ -84,30 +85,27 @@ this.processService.startProcess(processDefinitionId, name, outcome, startFormVa A `ProcessInstance` object is returned for a successfully started process: -``` -businessKey: null -ended: null -graphicalNotationDefined: true -id: "75001" -name: "Sample Invoice Process" -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 -startFormDefined: false -started: Thu Nov 09 2017 08:15:37 GMT+0000 (GMT) {} -startedBy: {id: 1, firstName: null, lastName: "Administrator", email: "admin@app.activiti.com"} -tenantId: "tenant_1" -variables: - 0: {name: "approver", value: null} - 1: {name: "companyemail", type: "string", value: "someone@acme.com"} - 2: {name: "initiator", type: "string", value: "1"} - 3: {name: "invoicetobeapproved", value: null} - -``` + businessKey: null + ended: null + graphicalNotationDefined: true + id: "75001" + name: "Sample Invoice Process" + 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 + startFormDefined: false + started: Thu Nov 09 2017 08:15:37 GMT+0000 (GMT) {} + startedBy: {id: 1, firstName: null, lastName: "Administrator", email: "admin@app.activiti.com"} + tenantId: "tenant_1" + variables: + 0: {name: "approver", value: null} + 1: {name: "companyemail", type: "string", value: "someone@acme.com"} + 2: {name: "initiator", type: "string", value: "1"} + 3: {name: "invoicetobeapproved", value: null} We can see here that the form field values have been converted to process variables. @@ -142,8 +140,9 @@ this.processService.startProcess(processDefinitionId, name) console.log('Error: ', error); }); ``` - + #### cancelProcess(processInstanceId: string): Observable`` + Cancel a process instance by passing in its process instance ID: ```ts @@ -163,7 +162,8 @@ Once a Process Instance is cancelled it will show up under processes with status You typically get the `processInstanceId` when you start a process. It is then contained in the `ProcessInstance.id` response. -#### createOrUpdateProcessInstanceVariables(processDefinitionId: string, variables: ProcessInstanceVariable[]): Observable`` +#### createOrUpdateProcessInstanceVariables(processDefinitionId: string, variables: ProcessInstanceVariable\[]): Observable`` + Create or update variables for a Process Instance: ```ts @@ -182,17 +182,16 @@ this.processService.createOrUpdateProcessInstanceVariables(processInstanceId, va The response is an array of the successfully created `ProcessInstanceVariable`: -``` -Response: - 0: {name: "sampleVar1", type: "string", value: "hello", scope: "global"} - 1: {name: "sampleVar2", type: "string", value: "bye", scope: "global"} -``` + Response: + 0: {name: "sampleVar1", type: "string", value: "hello", scope: "global"} + 1: {name: "sampleVar2", type: "string", value: "bye", scope: "global"} If a variable already exist, then its value will be updated. **Note**. you need to pass in a Process Instance ID here, not a Process Definition ID. #### deleteProcessInstanceVariable(processDefinitionId: string, variableName: string): Observable`` + Delete a variable for a Process Instance: ```ts @@ -207,10 +206,11 @@ this.processService.deleteProcessInstanceVariable(processInstanceId, variableNam ``` The response will be `null` if the variable was successfully deleted from the Process Instance. - + **Note**. you need to pass in a Process Instance ID here, not a Process Definition ID. -#### getProcessInstanceVariables(processDefinitionId: string): Observable`` +#### getProcessInstanceVariables(processDefinitionId: string): Observable`` + Get all the variables for a Process Instance: ```ts @@ -225,20 +225,18 @@ this.processService.getProcessInstanceVariables(processInstanceId) The response is an array of `ProcessInstanceVariable`: -``` -procVars: - 0: {name: "approver", scope: "global", value: null, valueUrl: null} - 1: {name: "companyemail", scope: "global", value: "someone@acme.com", valueUrl: null} - 2: {name: "initiator", scope: "global", value: "1", valueUrl: null} - 3: {name: "sampleVar2", scope: "global", value: "bye", valueUrl: null} - 4: {name: "invoicetobeapproved", scope: "global", value: null, valueUrl: null} - 5: {name: "invoiceFileName", scope: "global", value: " - [UNKNOWN]", valueUrl: null} -``` - + procVars: + 0: {name: "approver", scope: "global", value: null, valueUrl: null} + 1: {name: "companyemail", scope: "global", value: "someone@acme.com", valueUrl: null} + 2: {name: "initiator", scope: "global", value: "1", valueUrl: null} + 3: {name: "sampleVar2", scope: "global", value: "bye", valueUrl: null} + 4: {name: "invoicetobeapproved", scope: "global", value: null, valueUrl: null} + 5: {name: "invoiceFileName", scope: "global", value: " - [UNKNOWN]", valueUrl: null} + **Note**. you need to pass in a Process Instance ID here, not a Process Definition ID. - #### getProcessDefinitions(appId?: number): Observable`` + Get Process Definitions associated with a Process App: ```ts @@ -253,19 +251,17 @@ this.processService.getProcessDefinitions(processAppId) The response is an array of `ProcessDefinitionRepresentation` objects looking like in this example: -``` -0: - category: "http://www.activiti.org/processdef" - deploymentId: "18" - description: "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." - hasStartForm: true - id: "InvoiceApprovalProcess:2:21" - key: "InvoiceApprovalProcess" - metaDataValues: [] - name: "Invoice Approval Process" - tenantId: "tenant_1" - version: 2 -``` + 0: + category: "http://www.activiti.org/processdef" + deploymentId: "18" + description: "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." + hasStartForm: true + id: "InvoiceApprovalProcess:2:21" + key: "InvoiceApprovalProcess" + metaDataValues: [] + name: "Invoice Approval Process" + tenantId: "tenant_1" + version: 2 If you wanted a list of all available process definitions call the method without specifying the process application ID: @@ -280,6 +276,7 @@ this.processService.getProcessDefinitions() ``` #### getProcessInstances(requestNode: ProcessFilterParamRepresentationModel, processDefinitionKey?: string): Observable`` + Get Process Instances for passed in filter and optionally Process Definition: ```ts @@ -298,21 +295,21 @@ this.processService.getProcessInstances(filterRunningAsc, processDefKey) The response is an array of `ProcessInstance` objects as in this example: -``` - 0: {id: "7501", name: "Invoice Approval Process - October 9th 2017", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:3:2511", tenantId: "tenant_1", …} - 1: {id: "7520", name: "Invoice Approval Process - October 9th 2017", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:2:21", tenantId: "tenant_1", …} - 2: {id: "8206", name: "Invoice Approval Process - October 9th 2017", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:2:21", tenantId: "tenant_1", …} - 3: {id: "8302", name: "Invoice Approval Process - October 9th 2017", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:2:21", tenantId: "tenant_1", …} - 4: {id: "11337", name: "Invoice Approval 2 started from ADF client", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:2:21", tenantId: "tenant_1", …} - 5: {id: "11437", name: "Invoice Approval Process - October 10th 2017", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:2:21", tenantId: "tenant_1", …} - 6: {id: "67143", name: "Sample Invoice Approval 2017-10-26", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:5:62514", tenantId: "tenant_1", …} - 7: {id: "75001", name: "Sample Invoice Process", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:2:21", tenantId: "tenant_1", …} -``` + 0: {id: "7501", name: "Invoice Approval Process - October 9th 2017", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:3:2511", tenantId: "tenant_1", …} + 1: {id: "7520", name: "Invoice Approval Process - October 9th 2017", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:2:21", tenantId: "tenant_1", …} + 2: {id: "8206", name: "Invoice Approval Process - October 9th 2017", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:2:21", tenantId: "tenant_1", …} + 3: {id: "8302", name: "Invoice Approval Process - October 9th 2017", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:2:21", tenantId: "tenant_1", …} + 4: {id: "11337", name: "Invoice Approval 2 started from ADF client", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:2:21", tenantId: "tenant_1", …} + 5: {id: "11437", name: "Invoice Approval Process - October 10th 2017", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:2:21", tenantId: "tenant_1", …} + 6: {id: "67143", name: "Sample Invoice Approval 2017-10-26", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:5:62514", tenantId: "tenant_1", …} + 7: {id: "75001", name: "Sample Invoice Process", businessKey: null, processDefinitionId: "InvoiceApprovalProcess:2:21", tenantId: "tenant_1", …} + You can also narrow down the search via other properties in the `ProcessFilterParamRepresentationModel`, such as `processDefinitionId` and `appDefinitionId`. The number of Process Instances that are returned can be controlled with the `page` and `size` properties. #### getProcessTasks(processInstanceId: string, state?: string): Observable`` + Get Task Instances for passed in Process Instance, optionally filter by task state: ```ts @@ -327,46 +324,45 @@ this.processService.getProcessTasks(processInstanceId) The response is an array of `TaskDetailsModel` objects as in this example: -``` -{ - "size":1, - "total":1, - "start":0, - "data":[ - {"id":"75010", - "name":"Approve Invoice - [Invoice 123]", - "description":null, - "category":null, - "assignee":{"id":1,"firstName":null,"lastName":"Administrator","email":"admin@app.activiti.com"}, - "created":"2017-11-09T08:15:37.427+0000", - "dueDate":null, - "endDate":null, - "duration":null, - "priority":50, - "parentTaskId":null, - "parentTaskName":null, - "processInstanceId":"75001", - "processInstanceName":null, - "processDefinitionId":"InvoiceApprovalProcess:2:21", - "processDefinitionName":"Invoice Approval Process", - "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.", - "processDefinitionKey":"InvoiceApprovalProcess", - "processDefinitionCategory":"http://www.activiti.org/processdef", - "processDefinitionVersion":2, - "processDefinitionDeploymentId":"18", - "formKey":"8", - "processInstanceStartUserId":null, - "initiatorCanCompleteTask":false, - "adhocTaskCanBeReassigned":false, - "taskDefinitionKey":"approveInvoice", - "executionId":"75001", - "memberOfCandidateGroup":false, - "memberOfCandidateUsers":false, - "managerOfCandidateGroup":false - } - ] -} -``` + { + "size":1, + "total":1, + "start":0, + "data":[ + {"id":"75010", + "name":"Approve Invoice - [Invoice 123]", + "description":null, + "category":null, + "assignee":{"id":1,"firstName":null,"lastName":"Administrator","email":"admin@app.activiti.com"}, + "created":"2017-11-09T08:15:37.427+0000", + "dueDate":null, + "endDate":null, + "duration":null, + "priority":50, + "parentTaskId":null, + "parentTaskName":null, + "processInstanceId":"75001", + "processInstanceName":null, + "processDefinitionId":"InvoiceApprovalProcess:2:21", + "processDefinitionName":"Invoice Approval Process", + "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.", + "processDefinitionKey":"InvoiceApprovalProcess", + "processDefinitionCategory":"http://www.activiti.org/processdef", + "processDefinitionVersion":2, + "processDefinitionDeploymentId":"18", + "formKey":"8", + "processInstanceStartUserId":null, + "initiatorCanCompleteTask":false, + "adhocTaskCanBeReassigned":false, + "taskDefinitionKey":"approveInvoice", + "executionId":"75001", + "memberOfCandidateGroup":false, + "memberOfCandidateUsers":false, + "managerOfCandidateGroup":false + } + ] + } + You can also filter by task state, which can be `active` or `completed`: ```ts @@ -381,6 +377,7 @@ this.processService.getProcessTasks(processInstanceId, taskState) ``` #### fetchProcessAuditJsonById(processId: string): Observable`` + Fetch Process Audit log as JSON for a Process Instance ID: ```ts @@ -395,98 +392,97 @@ this.processService.fetchProcessAuditJsonById(processInstanceId) The response is JSON object with the Process Instance audit log: -``` -{ - "processInstanceId": "75001", - "processInstanceName": "Sample Invoice Process", - "processDefinitionName": "Invoice Approval Process", - "processDefinitionVersion": "2", - "processInstanceStartTime": "Thu Nov 09 08:15:37 GMT 2017", - "processInstanceEndTime": null, - "processInstanceDurationInMillis": null, - "processInstanceInitiator": " Administrator", - "entries": [ { - "index": 1, - "type": "startForm", - "selectedOutcome": null, - "formData": [ + "processInstanceId": "75001", + "processInstanceName": "Sample Invoice Process", + "processDefinitionName": "Invoice Approval Process", + "processDefinitionVersion": "2", + "processInstanceStartTime": "Thu Nov 09 08:15:37 GMT 2017", + "processInstanceEndTime": null, + "processInstanceDurationInMillis": null, + "processInstanceInitiator": " Administrator", + "entries": [ { - "fieldName": "Approver", - "fieldId": "approver", - "value": "" + "index": 1, + "type": "startForm", + "selectedOutcome": null, + "formData": [ + { + "fieldName": "Approver", + "fieldId": "approver", + "value": "" + }, + { + "fieldName": "Company Email", + "fieldId": "companyemail", + "value": "someone@acme.com" + }, + { + "fieldName": "Invoice to be approved", + "fieldId": "invoicetobeapproved", + "value": "" + } + ], + "taskName": null, + "taskAssignee": null, + "activityId": null, + "activityName": null, + "activityType": null, + "startTime": null, + "endTime": null, + "durationInMillis": null }, { - "fieldName": "Company Email", - "fieldId": "companyemail", - "value": "someone@acme.com" + "index": 2, + "type": "activityExecuted", + "selectedOutcome": null, + "formData": [], + "taskName": null, + "taskAssignee": null, + "activityId": "startInvoiceProcess", + "activityName": "Start Invoice Process", + "activityType": "startEvent", + "startTime": "Thu Nov 09 08:15:37 GMT 2017", + "endTime": "Thu Nov 09 08:15:37 GMT 2017", + "durationInMillis": 37 }, { - "fieldName": "Invoice to be approved", - "fieldId": "invoicetobeapproved", - "value": "" + "index": 3, + "type": "activityExecuted", + "selectedOutcome": null, + "formData": [], + "taskName": null, + "taskAssignee": null, + "activityId": "approveInvoice", + "activityName": "Approve Invoice", + "activityType": "userTask", + "startTime": "Thu Nov 09 08:15:37 GMT 2017", + "endTime": null, + "durationInMillis": null + }, + { + "index": 4, + "type": "taskCreated", + "selectedOutcome": null, + "formData": [], + "taskName": "Approve Invoice - [UNKNOWN]", + "taskAssignee": " Administrator", + "activityId": null, + "activityName": null, + "activityType": null, + "startTime": "Thu Nov 09 08:15:37 GMT 2017", + "endTime": null, + "durationInMillis": null } ], - "taskName": null, - "taskAssignee": null, - "activityId": null, - "activityName": null, - "activityType": null, - "startTime": null, - "endTime": null, - "durationInMillis": null - }, - { - "index": 2, - "type": "activityExecuted", - "selectedOutcome": null, - "formData": [], - "taskName": null, - "taskAssignee": null, - "activityId": "startInvoiceProcess", - "activityName": "Start Invoice Process", - "activityType": "startEvent", - "startTime": "Thu Nov 09 08:15:37 GMT 2017", - "endTime": "Thu Nov 09 08:15:37 GMT 2017", - "durationInMillis": 37 - }, - { - "index": 3, - "type": "activityExecuted", - "selectedOutcome": null, - "formData": [], - "taskName": null, - "taskAssignee": null, - "activityId": "approveInvoice", - "activityName": "Approve Invoice", - "activityType": "userTask", - "startTime": "Thu Nov 09 08:15:37 GMT 2017", - "endTime": null, - "durationInMillis": null - }, - { - "index": 4, - "type": "taskCreated", - "selectedOutcome": null, - "formData": [], - "taskName": "Approve Invoice - [UNKNOWN]", - "taskAssignee": " Administrator", - "activityId": null, - "activityName": null, - "activityType": null, - "startTime": "Thu Nov 09 08:15:37 GMT 2017", - "endTime": null, - "durationInMillis": null + "decisionInfo": { + "calculatedValues": [], + "appliedRules": [] + } } - ], - "decisionInfo": { - "calculatedValues": [], - "appliedRules": [] - } -} -``` #### fetchProcessAuditPdfById(processId: string): Observable`` + Fetch Process Audit log as a PDF for a Process Instance ID: ```ts @@ -501,11 +497,4 @@ this.processService.fetchProcessAuditPdfById(processInstanceId) The response is a BLOB as follows: -``` -Process Audit log BLOB: Blob {size: 124511, type: "text/xml"} -``` - - - - - \ No newline at end of file + Process Audit log BLOB: Blob {size: 124511, type: "text/xml"} diff --git a/docs/product-version.model.md b/docs/product-version.model.md index f81eeff0a0..0496409a03 100644 --- a/docs/product-version.model.md +++ b/docs/product-version.model.md @@ -67,9 +67,6 @@ class VersionModuleModel { } ``` - - ## See also -- [Discovery api service](discovery-api.service.md) - \ No newline at end of file +- [Discovery api service](discovery-api.service.md) diff --git a/docs/rating.component.md b/docs/rating.component.md index 786e439c57..e1bb0b6534 100644 --- a/docs/rating.component.md +++ b/docs/rating.component.md @@ -10,24 +10,21 @@ Allows a user to add ratings to an item. -``` +``` ### Properties | Attribute | Type | Default | Description | -| --- | --- | --- | --- | -| nodeId | string | | The identifier of a node | +| --------- | ---- | ------- | ----------- | +| nodeId | string | | The identifier of a node | ### Events | Name | Description | -| --- | --- | +| ---- | ----------- | | changeVote | Raised when vote gets changed | - - ## See also -- [Like component](like.component.md) -- [Rating service](rating.service.md) - \ No newline at end of file +- [Like component](like.component.md) +- [Rating service](rating.service.md) diff --git a/docs/rating.service.md b/docs/rating.service.md index 92706b19aa..e81a346db6 100644 --- a/docs/rating.service.md +++ b/docs/rating.service.md @@ -25,10 +25,7 @@ See the [Ratings API](https://github.com/Alfresco/alfresco-js-api/blob/master/sr in the Alfresco JS API for more information about the returned data and the REST API that this service is based on. - - ## See also -- [Like component](like.component.md) -- [Rating component](rating.component.md) - \ No newline at end of file +- [Like component](like.component.md) +- [Rating component](rating.component.md)