diff --git a/lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts b/lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts index 2f06285570..4c0fdae46b 100644 --- a/lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts @@ -29,7 +29,7 @@ import { inject } from '@angular/core'; import { Observable, of, forkJoin, Subject, Subscription } from 'rxjs'; -import { switchMap, takeUntil, map, filter, find } from 'rxjs/operators'; +import { switchMap, takeUntil, map, filter } from 'rxjs/operators'; import { FormBaseComponent, FormFieldModel, @@ -54,7 +54,6 @@ import { v4 as uuidGeneration } from 'uuid'; import { FormCloudDisplayMode, FormCloudDisplayModeConfiguration } from '../../services/form-fields.interfaces'; import { FormCloudSpinnerService } from '../services/spinner/form-cloud-spinner.service'; import { DisplayModeService } from '../services/display-mode.service'; -import { ProcessWithFormPayloadCloud } from '../../process/start-process/models/process-with-form-payload-cloud.model'; import { StartProcessCloudService } from '../../process/start-process/services/start-process-cloud.service'; @Component({ @@ -379,31 +378,6 @@ export class FormCloudComponent extends FormBaseComponent implements OnChanges, }, (error) => this.onTaskCompletedError(error) ); - } else { - this.startProcessService - .getProcessDefinitions(this.appName) - .pipe( - map((processDefs) => processDefs.find((processDef) => processDef.formKey === this.form.id)), - find((process) => !!process), - switchMap((process) => - this.startProcessService.startProcessWithForm( - this.appName, - this.formId, - process.version, - new ProcessWithFormPayloadCloud({ - processDefinitionKey: process.id, - processName: process.name, - variables: this.form.values, - values: this.form.values, - outcome - }) - ) - ), - takeUntil(this.onDestroy$) - ) - .subscribe(() => { - this.onTaskCompleted(this.form); - }); } } diff --git a/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.html b/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.html index 6e9b2c44c4..6d620c8b0a 100755 --- a/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.html +++ b/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.html @@ -84,7 +84,8 @@ [showValidationIcon]="false" [showTitle]="false" (formContentClicked)="onFormContentClicked($event)" - (formLoaded)="onFormLoaded($event)"> + (formLoaded)="onFormLoaded($event)" + (executeOutcome)="onCustomOutcomeClicked($event.outcome.name)"> 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 b9e383c71c..652f27911e 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 @@ -123,6 +123,7 @@ export class StartProcessCloudComponent implements OnChanges, OnInit, OnDestroy filteredProcesses: ProcessDefinitionCloud[] = []; staticMappings: TaskVariableCloud[] = []; resolvedValues?: TaskVariableCloud[]; + customOutcome: string; protected onDestroy$ = new Subject(); @@ -366,6 +367,11 @@ export class StartProcessCloudComponent implements OnChanges, OnInit, OnDestroy } } + onCustomOutcomeClicked(outcome: string) { + this.customOutcome = outcome; + this.startProcess(); + } + startProcess() { this.isProcessStarting = true; @@ -378,7 +384,8 @@ export class StartProcessCloudComponent implements OnChanges, OnInit, OnDestroy processName: this.processInstanceName.value, processDefinitionKey: this.processPayloadCloud.processDefinitionKey, variables: this.variables ?? {}, - values: this.formCloud.values + values: this.formCloud.values, + outcome: this.customOutcome }) ) : this.startProcessCloudService.startProcess(