From 46f3f0f1d15c0e866a07d0953b037ff4b22ca31b Mon Sep 17 00:00:00 2001
From: Mercy Chrysolite <48274621+mcchrys@users.noreply.github.com>
Date: Thu, 30 Jul 2020 14:00:39 +0530
Subject: [PATCH] [ACA-3687] Implement Process definition name filter dropdown
in Process List (#5870)
* [ACA-3687] Implement Process definition name filtr
* Updated docs
* Updated mock
---
.../cloud/processes-cloud-demo.component.html | 1 +
.../process-list-cloud.component.md | 1 +
.../start-process-cloud.component.md | 2 +-
.../pipes/process-name-cloud.pipe.md | 2 +-
.../services/process-cloud.service.md | 4 +++
.../services/start-process-cloud.service.md | 4 +--
.../src/lib/i18n/en.json | 2 ++
.../models/process-definition-cloud.model.ts | 0
...dit-process-filter-cloud.component.spec.ts | 19 ++++++++++
.../edit-process-filter-cloud.component.ts | 36 ++++++++++++++++---
.../models/process-filter-cloud.model.ts | 2 ++
.../process-filter-cloud.service.spec.ts | 1 +
.../process-list-cloud.component.ts | 5 +++
.../process-cloud-query-request.model.ts | 2 ++
.../process/services/process-cloud.service.ts | 21 +++++++++++
.../start-process-cloud.component.ts | 2 +-
.../mock/start-process.component.mock.ts | 2 +-
.../lib/process/start-process/public-api.ts | 1 -
.../start-process-cloud.service.spec.ts | 2 +-
.../services/start-process-cloud.service.ts | 2 +-
lib/process-services-cloud/src/public-api.ts | 1 +
tools/doc/docProcessor.js | 2 +-
22 files changed, 100 insertions(+), 14 deletions(-)
rename lib/process-services-cloud/src/lib/{process/start-process => }/models/process-definition-cloud.model.ts (100%)
diff --git a/demo-shell/src/app/components/cloud/processes-cloud-demo.component.html b/demo-shell/src/app/components/cloud/processes-cloud-demo.component.html
index ebc845004f..ab6e701555 100644
--- a/demo-shell/src/app/components/cloud/processes-cloud-demo.component.html
+++ b/demo-shell/src/app/components/cloud/processes-cloud-demo.component.html
@@ -15,6 +15,7 @@
[appName]="editedFilter.appName"
[initiator]="editedFilter.initiator"
[processDefinitionId]="editedFilter.processDefinitionId"
+ [processDefinitionName]="editedFilter.processDefinitionName"
[processDefinitionKey]="editedFilter.processDefinitionKey"
[id]="editedFilter.processInstanceId"
[status]="editedFilter.status"
diff --git a/docs/process-services-cloud/components/process-list-cloud.component.md b/docs/process-services-cloud/components/process-list-cloud.component.md
index 627c45e23b..a63b61ac0c 100644
--- a/docs/process-services-cloud/components/process-list-cloud.component.md
+++ b/docs/process-services-cloud/components/process-list-cloud.component.md
@@ -63,6 +63,7 @@ when the process list is empty:
| 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. |
diff --git a/docs/process-services-cloud/components/start-process-cloud.component.md b/docs/process-services-cloud/components/start-process-cloud.component.md
index 41ef98e019..c709b33eb1 100644
--- a/docs/process-services-cloud/components/start-process-cloud.component.md
+++ b/docs/process-services-cloud/components/start-process-cloud.component.md
@@ -51,7 +51,7 @@ Starts a process.
| cancel | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ProcessInstanceCloud`](../../../lib/process-services-cloud/src/lib/process/start-process/models/process-instance-cloud.model.ts)`>` | Emitted when the starting process is cancelled |
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ProcessInstanceCloud`](../../../lib/process-services-cloud/src/lib/process/start-process/models/process-instance-cloud.model.ts)`>` | Emitted when an error occurs. |
| formContentClicked | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ContentLinkModel`](../../../lib/core/form/components/widgets/core/content-link.model.ts)`>` | Emitted when form content is clicked. |
-| processDefinitionSelection | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ProcessDefinitionCloud`](../../../lib/process-services-cloud/src/lib/process/start-process/models/process-definition-cloud.model.ts)`>` | Emitted when process definition selection changes. |
+| processDefinitionSelection | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ProcessDefinitionCloud`](../../../lib/process-services-cloud/src/lib/models/process-definition-cloud.model.ts)`>` | Emitted when process definition selection changes. |
| success | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ProcessInstanceCloud`](../../../lib/process-services-cloud/src/lib/process/start-process/models/process-instance-cloud.model.ts)`>` | Emitted when the process is successfully started. |
## Details
diff --git a/docs/process-services-cloud/pipes/process-name-cloud.pipe.md b/docs/process-services-cloud/pipes/process-name-cloud.pipe.md
index a912cfc8ba..80913d5fb5 100644
--- a/docs/process-services-cloud/pipes/process-name-cloud.pipe.md
+++ b/docs/process-services-cloud/pipes/process-name-cloud.pipe.md
@@ -18,7 +18,7 @@ processNameCloudPipe.transform('Example - %{processDefinition} - %{datetime}', n
| Name | Type | Default value | Description |
| ---- | ---- | ------------- | ----------- |
| processNameFormat | string | undefined | The process name format including the preferred identifiers to be used |
-| selectedProcessDefinition | [`ProcessDefinitionCloud`](../../../lib/process-services-cloud/src/lib/process/start-process/models/process-definition-cloud.model.ts) | undefined | (optional) The selected process definition |
+| selectedProcessDefinition | [`ProcessDefinitionCloud`](../../../lib/process-services-cloud/src/lib/models/process-definition-cloud.model.ts) | undefined | (optional) The selected process definition |
## Details
diff --git a/docs/process-services-cloud/services/process-cloud.service.md b/docs/process-services-cloud/services/process-cloud.service.md
index 7b66c942d0..c8076e143b 100644
--- a/docs/process-services-cloud/services/process-cloud.service.md
+++ b/docs/process-services-cloud/services/process-cloud.service.md
@@ -23,6 +23,10 @@ Manages cloud process instances.
- _appName:_ `string` -
- **Returns** `string` -
+- **getProcessDefinitions**(appName: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessDefinitionCloud`](../../../lib/process-services-cloud/src/lib/models/process-definition-cloud.model.ts)`[]>`
+ Gets the process definitions associated with an app.
+ - _appName:_ `string` - Name of the target app
+ - **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessDefinitionCloud`](../../../lib/process-services-cloud/src/lib/models/process-definition-cloud.model.ts)`[]>` - Array of process definitions
- **getProcessInstanceById**(appName: `string`, processInstanceId: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessInstanceCloud`](../../../lib/process-services-cloud/src/lib/process/start-process/models/process-instance-cloud.model.ts)`>`
Gets details of a process instance.
- _appName:_ `string` - Name of the app
diff --git a/docs/process-services-cloud/services/start-process-cloud.service.md b/docs/process-services-cloud/services/start-process-cloud.service.md
index 7b3a8be7dc..1589cecfc4 100644
--- a/docs/process-services-cloud/services/start-process-cloud.service.md
+++ b/docs/process-services-cloud/services/start-process-cloud.service.md
@@ -28,10 +28,10 @@ Gets process definitions and starts processes.
- _appName:_ `string` -
- **Returns** `string` -
-- **getProcessDefinitions**(appName: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessDefinitionCloud`](../../../lib/process-services-cloud/src/lib/process/start-process/models/process-definition-cloud.model.ts)`[]>`
+- **getProcessDefinitions**(appName: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessDefinitionCloud`](../../../lib/process-services-cloud/src/lib/models/process-definition-cloud.model.ts)`[]>`
Gets the process definitions associated with an app.
- _appName:_ `string` - Name of the target app
- - **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessDefinitionCloud`](../../../lib/process-services-cloud/src/lib/process/start-process/models/process-definition-cloud.model.ts)`[]>` - Array of process definitions
+ - **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessDefinitionCloud`](../../../lib/process-services-cloud/src/lib/models/process-definition-cloud.model.ts)`[]>` - Array of process definitions
- **startCreatedProcess**(appName: `string`, createdProcessInstanceId: `string`, payload: [`ProcessPayloadCloud`](../../../lib/process-services-cloud/src/lib/process/start-process/models/process-payload-cloud.model.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`ProcessInstanceCloud`](../../../lib/process-services-cloud/src/lib/process/start-process/models/process-instance-cloud.model.ts)`>`
Starts an already created process using the process instance id.
- _appName:_ `string` -
diff --git a/lib/process-services-cloud/src/lib/i18n/en.json b/lib/process-services-cloud/src/lib/i18n/en.json
index 358f8700df..37c4de318a 100644
--- a/lib/process-services-cloud/src/lib/i18n/en.json
+++ b/lib/process-services-cloud/src/lib/i18n/en.json
@@ -17,6 +17,7 @@
"DESCRIPTION": "Description",
"LAST_MODIFIED": "Last Modified",
"PROCESS_NAME": "Process Name",
+ "PROCESS_DEFINITION_NAME": "Process Definition Name",
"PARENT_TASK_ID": "Parent Task Id",
"PROCESS_DEF_ID": "Process Definition Id",
"PROCESS_DEF_KEY": "Process Definition Key",
@@ -158,6 +159,7 @@
"SORT": "Sort",
"DIRECTION": "Direction",
"PROCESS_DEF_ID": "ProcessDefinitionId",
+ "PROCESS_DEF_NAME": "ProcessDefinitionName",
"PROCESS_DEF_KEY": "ProcessDefinitionKey",
"LAST_MODIFIED": "LastModified",
"LAST_MODIFIED_DATE_FORM": "LastModifiedFrom",
diff --git a/lib/process-services-cloud/src/lib/process/start-process/models/process-definition-cloud.model.ts b/lib/process-services-cloud/src/lib/models/process-definition-cloud.model.ts
similarity index 100%
rename from lib/process-services-cloud/src/lib/process/start-process/models/process-definition-cloud.model.ts
rename to lib/process-services-cloud/src/lib/models/process-definition-cloud.model.ts
diff --git a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts
index 359430782d..f59cf1bdda 100644
--- a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts
+++ b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.spec.ts
@@ -35,6 +35,7 @@ import { AbstractControl } from '@angular/forms';
import { PROCESS_FILTERS_SERVICE_TOKEN } from '../../../services/cloud-token.service';
import { LocalPreferenceCloudService } from '../../../services/local-preference-cloud.service';
import { TranslateModule } from '@ngx-translate/core';
+import { ProcessCloudService } from '../../services/process-cloud.service';
describe('EditProcessFilterCloudComponent', () => {
let component: EditProcessFilterCloudComponent;
@@ -42,6 +43,7 @@ describe('EditProcessFilterCloudComponent', () => {
let fixture: ComponentFixture;
let dialog: MatDialog;
let appsService: AppsProcessCloudService;
+ let processService: ProcessCloudService;
let getRunningApplicationsSpy: jasmine.Spy;
let getProcessFilterByIdSpy: jasmine.Spy;
@@ -74,6 +76,7 @@ describe('EditProcessFilterCloudComponent', () => {
component = fixture.componentInstance;
service = TestBed.inject(ProcessFilterCloudService);
appsService = TestBed.inject(AppsProcessCloudService);
+ processService = TestBed.inject(ProcessCloudService);
dialog = TestBed.inject(MatDialog);
spyOn(dialog, 'open').and.returnValue({
afterClosed() {
@@ -414,6 +417,22 @@ describe('EditProcessFilterCloudComponent', () => {
});
}));
+ it('should fetch process definitions when processDefinitionName filter property is set', async(() => {
+ const processSpy = spyOn(processService, 'getProcessDefinitions').and.returnValue(of([{ id: 'fake-id', name: 'fake-name' }]));
+ fixture.detectChanges();
+ component.filterProperties = ['processDefinitionName'];
+ fixture.detectChanges();
+ const processFilterIdChange = new SimpleChange(null, 'mock-process-filter-id', true);
+ component.ngOnChanges({ 'id': processFilterIdChange });
+ fixture.detectChanges();
+ const controller = component.editProcessFilterForm.get('processDefinitionName');
+ fixture.detectChanges();
+ fixture.whenStable().then(() => {
+ expect(processSpy).toHaveBeenCalled();
+ expect(controller).toBeDefined();
+ });
+ }));
+
it('should display default sort properties', async(() => {
const processFilterIdChange = new SimpleChange(null, 'mock-process-filter-id', true);
component.ngOnChanges({ 'id': processFilterIdChange });
diff --git a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts
index d0efe7dae0..1db6c5ba44 100644
--- a/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts
+++ b/lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts
@@ -30,6 +30,8 @@ import { TranslationService, UserPreferencesService, UserPreferenceValues } from
import { ProcessFilterCloudService } from '../services/process-filter-cloud.service';
import { ProcessFilterDialogCloudComponent } from './process-filter-dialog-cloud.component';
import { ApplicationInstanceModel } from '../../../app/models/application-instance.model';
+import { ProcessCloudService } from '../../services/process-cloud.service';
+import { ProcessDefinitionCloud } from '../../../models/process-definition-cloud.model';
@Component({
selector: 'adf-cloud-edit-process-filter',
@@ -42,6 +44,7 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes
public static ACTION_SAVE_AS = 'saveAs';
public static ACTION_DELETE = 'delete';
public static APPLICATION_NAME: string = 'appName';
+ public static PROCESS_DEFINITION_NAME: string = 'processDefinitionName';
public static APP_RUNNING_STATUS: string = 'RUNNING';
public static LAST_MODIFIED: string = 'lastModified';
public static SORT: string = 'sort';
@@ -108,6 +111,7 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes
EditProcessFilterCloudComponent.ACTION_DELETE
];
applicationNames: any[] = [];
+ processDefinitionNames: any[] = [];
formHasBeenChanged = false;
editProcessFilterForm: FormGroup;
processFilterProperties: ProcessFilterProperties[] = [];
@@ -124,7 +128,8 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes
private userPreferencesService: UserPreferencesService,
private translateService: TranslationService,
private processFilterCloudService: ProcessFilterCloudService,
- private appsProcessCloudService: AppsProcessCloudService) {
+ private appsProcessCloudService: AppsProcessCloudService,
+ private processCloudService: ProcessCloudService) {
}
ngOnInit() {
@@ -198,10 +203,14 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes
createAndFilterProperties(): ProcessFilterProperties[] {
this.checkMandatoryFilterProperties();
- if (this.checkForApplicationNameProperty()) {
+ if (this.checkForProperty(EditProcessFilterCloudComponent.APPLICATION_NAME)) {
this.applicationNames = [];
this.getRunningApplications();
}
+ if (this.checkForProperty(EditProcessFilterCloudComponent.PROCESS_DEFINITION_NAME)) {
+ this.processDefinitionNames = [];
+ this.getProcessDefinitions();
+ }
const defaultProperties = this.createProcessFilterProperties(this.processFilter);
let filteredProperties = defaultProperties.filter((filterProperty: ProcessFilterProperties) => this.isValidProperty(this.filterProperties, filterProperty));
if (!this.hasSortProperty()) {
@@ -219,8 +228,8 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes
}
}
- checkForApplicationNameProperty(): boolean {
- return this.filterProperties ? this.filterProperties.indexOf(EditProcessFilterCloudComponent.APPLICATION_NAME) >= 0 : false;
+ checkForProperty(property: string): boolean {
+ return this.filterProperties ? this.filterProperties.indexOf(property) >= 0 : false;
}
private isValidProperty(filterProperties: string[], filterProperty: ProcessFilterProperties): boolean {
@@ -316,6 +325,18 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes
});
}
+ getProcessDefinitions() {
+ this.processCloudService.getProcessDefinitions(this.appName)
+ .pipe(takeUntil(this.onDestroy$))
+ .subscribe((processDefinitions: ProcessDefinitionCloud[]) => {
+ if (processDefinitions && processDefinitions.length > 0) {
+ processDefinitions.map((processDefinition) => {
+ this.processDefinitionNames.push({ label: processDefinition.name, value: processDefinition.name });
+ });
+ }
+ });
+ }
+
executeFilterActions(action: ProcessFilterAction): void {
if (action.actionType === EditProcessFilterCloudComponent.ACTION_SAVE) {
this.save(action);
@@ -538,6 +559,13 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges, OnDes
key: 'processName',
value: currentProcessFilter.processName || ''
}),
+ new ProcessFilterProperties({
+ label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.PROCESS_DEF_NAME',
+ type: 'select',
+ key: 'processDefinitionName',
+ value: currentProcessFilter.processDefinitionName || '',
+ options: this.processDefinitionNames
+ }),
new ProcessFilterProperties({
label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.INITIATOR',
type: 'text',
diff --git a/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts b/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts
index 4aaba07875..10b5683041 100644
--- a/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts
+++ b/lib/process-services-cloud/src/lib/process/process-filters/models/process-filter-cloud.model.ts
@@ -30,6 +30,7 @@ export class ProcessFilterCloudModel {
sort: string;
order: string;
processDefinitionId: string;
+ processDefinitionName: string;
processDefinitionKey: string;
lastModified: Date;
lastModifiedTo: Date;
@@ -51,6 +52,7 @@ export class ProcessFilterCloudModel {
this.sort = obj.sort || null;
this.order = obj.order || null;
this.processDefinitionId = obj.processDefinitionId || null;
+ this.processDefinitionName = obj.processDefinitionName || null;
this.processDefinitionKey = obj.processDefinitionKey || null;
this.lastModified = obj.lastModified || null;
this.lastModifiedTo = obj.lastModifiedTo || null;
diff --git a/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.spec.ts b/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.spec.ts
index ebb7b0e4b6..fef9937f9d 100644
--- a/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.spec.ts
+++ b/lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.spec.ts
@@ -51,6 +51,7 @@ describe('ProcessFilterCloudService', () => {
order: 'DESC',
index: 2,
processName: 'process-name',
+ processDefinitionName: 'process-def-name',
processInstanceId: 'processinstanceid',
initiator: 'mockuser',
processDefinitionId: 'processDefid',
diff --git a/lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.ts b/lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.ts
index 79942d4d1d..54641a8fc4 100644
--- a/lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.ts
+++ b/lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.ts
@@ -67,6 +67,10 @@ export class ProcessListCloudComponent extends DataTableSchema implements OnChan
@Input()
processDefinitionId: string = '';
+ /** Filter the processes to display only the ones with this process definition name. */
+ @Input()
+ processDefinitionName: string = '';
+
/** Filter the processes to display only the ones with this process definition key. */
@Input()
processDefinitionKey: string = '';
@@ -291,6 +295,7 @@ export class ProcessListCloudComponent extends DataTableSchema implements OnChan
id: this.id,
name: this.name,
processDefinitionId: this.processDefinitionId,
+ processDefinitionName: this.processDefinitionName,
processDefinitionKey: this.processDefinitionKey,
status: this.status,
businessKey: this.businessKey,
diff --git a/lib/process-services-cloud/src/lib/process/process-list/models/process-cloud-query-request.model.ts b/lib/process-services-cloud/src/lib/process/process-list/models/process-cloud-query-request.model.ts
index c7f50a7d83..f2ef893ae8 100644
--- a/lib/process-services-cloud/src/lib/process/process-list/models/process-cloud-query-request.model.ts
+++ b/lib/process-services-cloud/src/lib/process/process-list/models/process-cloud-query-request.model.ts
@@ -24,6 +24,7 @@ export class ProcessQueryCloudRequestModel {
id?: string;
name?: string;
processDefinitionId?: string;
+ processDefinitionName?: string;
processDefinitionKey?: string;
status?: string;
startDate?: string;
@@ -42,6 +43,7 @@ export class ProcessQueryCloudRequestModel {
this.id = obj.id;
this.name = obj.name;
this.processDefinitionId = obj.processDefinitionId;
+ this.processDefinitionName = obj.processDefinitionName;
this.processDefinitionKey = obj.processDefinitionKey;
this.status = obj.status;
this.startDate = obj.startDate;
diff --git a/lib/process-services-cloud/src/lib/process/services/process-cloud.service.ts b/lib/process-services-cloud/src/lib/process/services/process-cloud.service.ts
index 851b236331..214dd742fe 100644
--- a/lib/process-services-cloud/src/lib/process/services/process-cloud.service.ts
+++ b/lib/process-services-cloud/src/lib/process/services/process-cloud.service.ts
@@ -21,6 +21,7 @@ import { Observable, Subject, throwError } from 'rxjs';
import { map } from 'rxjs/operators';
import { ProcessInstanceCloud } from '../start-process/models/process-instance-cloud.model';
import { BaseCloudService } from '../../services/base-cloud.service';
+import { ProcessDefinitionCloud } from '../../models/process-definition-cloud.model';
@Injectable({
providedIn: 'root'
@@ -57,6 +58,26 @@ export class ProcessCloudService extends BaseCloudService {
}
}
+ /**
+ * Gets the process definitions associated with an app.
+ * @param appName Name of the target app
+ * @returns Array of process definitions
+ */
+ getProcessDefinitions(appName: string): Observable {
+ if (appName || appName === '') {
+ const url = `${this.getBasePath(appName)}/rb/v1/process-definitions`;
+
+ return this.get(url).pipe(
+ map((res: any) => {
+ return res.list.entries.map((processDefs) => new ProcessDefinitionCloud(processDefs.entry));
+ })
+ );
+ } else {
+ this.logService.error('AppName is mandatory for querying task');
+ return throwError('AppName not configured');
+ }
+ }
+
/**
* Cancels a process.
* @param appName Name of the app
diff --git a/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts b/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts
index 026f30d1cf..acf62c1c18 100755
--- a/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts
+++ b/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts
@@ -27,7 +27,7 @@ import { FormModel, ContentLinkModel } from '@alfresco/adf-core';
import { MatAutocompleteTrigger } from '@angular/material/autocomplete';
import { ProcessPayloadCloud } from '../models/process-payload-cloud.model';
import { debounceTime, takeUntil, switchMap, filter, distinctUntilChanged, tap } from 'rxjs/operators';
-import { ProcessDefinitionCloud } from '../models/process-definition-cloud.model';
+import { ProcessDefinitionCloud } from '../../../models/process-definition-cloud.model';
import { Subject, Observable } from 'rxjs';
import { TaskVariableCloud } from '../../../form/models/task-variable-cloud.model';
import { ProcessNameCloudPipe } from '../../../pipes/process-name-cloud.pipe';
diff --git a/lib/process-services-cloud/src/lib/process/start-process/mock/start-process.component.mock.ts b/lib/process-services-cloud/src/lib/process/start-process/mock/start-process.component.mock.ts
index 845b8bcdfd..2fa3307a4d 100755
--- a/lib/process-services-cloud/src/lib/process/start-process/mock/start-process.component.mock.ts
+++ b/lib/process-services-cloud/src/lib/process/start-process/mock/start-process.component.mock.ts
@@ -17,7 +17,7 @@
import { ProcessInstanceCloud } from '../models/process-instance-cloud.model';
import { ProcessPayloadCloud } from '../models/process-payload-cloud.model';
-import { ProcessDefinitionCloud } from '../models/process-definition-cloud.model';
+import { ProcessDefinitionCloud } from '../../../models/process-definition-cloud.model';
export const fakeProcessInstance: ProcessInstanceCloud = {
appName: 'simple-app',
diff --git a/lib/process-services-cloud/src/lib/process/start-process/public-api.ts b/lib/process-services-cloud/src/lib/process/start-process/public-api.ts
index feecee150b..f6aaf772c8 100644
--- a/lib/process-services-cloud/src/lib/process/start-process/public-api.ts
+++ b/lib/process-services-cloud/src/lib/process/start-process/public-api.ts
@@ -17,7 +17,6 @@
export * from './components/start-process-cloud.component';
-export * from './models/process-definition-cloud.model';
export * from './models/process-instance-cloud.model';
export * from './models/process-payload-cloud.model';
diff --git a/lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.spec.ts b/lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.spec.ts
index efa5477f05..e8092e324a 100755
--- a/lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.spec.ts
+++ b/lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.spec.ts
@@ -20,8 +20,8 @@ import { of, throwError } from 'rxjs';
import { setupTestBed, AlfrescoApiService } from '@alfresco/adf-core';
import { StartProcessCloudService } from './start-process-cloud.service';
import { fakeProcessPayload } from '../mock/start-process.component.mock';
+import { ProcessDefinitionCloud } from '../../../models/process-definition-cloud.model';
import { HttpErrorResponse, HttpClientModule } from '@angular/common/http';
-import { ProcessDefinitionCloud } from '../models/process-definition-cloud.model';
describe('StartProcessCloudService', () => {
diff --git a/lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.ts b/lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.ts
index 9665d54192..0e8e1b37cc 100755
--- a/lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.ts
+++ b/lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.ts
@@ -21,7 +21,7 @@ import { Observable, throwError } from 'rxjs';
import { map } from 'rxjs/operators';
import { ProcessInstanceCloud } from '../models/process-instance-cloud.model';
import { ProcessPayloadCloud } from '../models/process-payload-cloud.model';
-import { ProcessDefinitionCloud } from '../models/process-definition-cloud.model';
+import { ProcessDefinitionCloud } from '../../../models/process-definition-cloud.model';
import { BaseCloudService } from '../../../services/base-cloud.service';
@Injectable({
diff --git a/lib/process-services-cloud/src/public-api.ts b/lib/process-services-cloud/src/public-api.ts
index 4c316513d0..f080cb6b0b 100644
--- a/lib/process-services-cloud/src/public-api.ts
+++ b/lib/process-services-cloud/src/public-api.ts
@@ -26,3 +26,4 @@ export * from './lib/services/public-api';
export * from './lib/types';
export * from './lib/pipes/process-name-cloud.pipe';
export * from './lib/pipes/process-services-cloud-pipe.module';
+export * from './lib/models/process-definition-cloud.model';
diff --git a/tools/doc/docProcessor.js b/tools/doc/docProcessor.js
index 1106e59082..c39fed8c66 100644
--- a/tools/doc/docProcessor.js
+++ b/tools/doc/docProcessor.js
@@ -8,7 +8,7 @@ var jsyaml = require("js-yaml");
var remark = require("remark");
var frontMatter = require("remark-frontmatter");
var mdCompact = require("mdast-util-compact");
-var minimatch = require("Minimatch");
+var minimatch = require("minimatch");
var si = require("./sourceInfoClasses");