@alfresco/adf-process-services-cloud 8.4.0-17724113611 → 8.4.0-17732104912

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7152,7 +7152,7 @@ class FormCloudComponent extends FormBaseComponent {
7152
7152
  this.displayModeService.onSaveTask(this.id, this.displayMode, this.displayModeConfigurations);
7153
7153
  }
7154
7154
  }
7155
- completeTaskForm(outcome) {
7155
+ completeTaskForm(outcome, outcomeId) {
7156
7156
  if (this.form?.confirmMessage?.show === true) {
7157
7157
  const dialogRef = this.dialog.open(ConfirmDialogComponent, {
7158
7158
  data: {
@@ -7162,22 +7162,24 @@ class FormCloudComponent extends FormBaseComponent {
7162
7162
  });
7163
7163
  dialogRef.afterClosed().subscribe((result) => {
7164
7164
  if (result === true) {
7165
- this.completeForm(outcome);
7165
+ this.completeForm(outcome, outcomeId);
7166
7166
  }
7167
7167
  });
7168
7168
  }
7169
7169
  else {
7170
- this.completeForm(outcome);
7170
+ this.completeForm(outcome, outcomeId);
7171
7171
  }
7172
7172
  this.displayModeService.onCompleteTask(this.id, this.displayMode, this.displayModeConfigurations);
7173
7173
  }
7174
- completeForm(outcome) {
7174
+ completeForm(outcome, outcomeId) {
7175
7175
  if (this.form && this.appName && this.taskId) {
7176
7176
  this.formCloudService
7177
7177
  .completeTaskForm(this.appName, this.taskId, this.processInstanceId, `${this.form.id}`, this.form.values, outcome, this.appVersion)
7178
7178
  .pipe(takeUntilDestroyed(this.destroyRef))
7179
7179
  .subscribe({
7180
7180
  next: () => {
7181
+ this.form.selectedOutcome = outcome;
7182
+ this.form.selectedOutcomeId = outcomeId;
7181
7183
  this.onTaskCompleted(this.form);
7182
7184
  },
7183
7185
  error: (error) => this.onTaskCompletedError(error)
@@ -9135,9 +9137,6 @@ class TaskFormCloudComponent {
9135
9137
  isReadOnly() {
9136
9138
  return this.readOnly || !this.taskCloudService.canCompleteTask(this.taskDetails);
9137
9139
  }
9138
- onCompleteTask() {
9139
- this.taskCompleted.emit(this.taskId);
9140
- }
9141
9140
  onClaimTask() {
9142
9141
  this.taskClaimed.emit(this.taskId);
9143
9142
  }
@@ -9152,7 +9151,7 @@ class TaskFormCloudComponent {
9152
9151
  }
9153
9152
  onFormCompleted(form) {
9154
9153
  this.formCompleted.emit(form);
9155
- this.taskCompleted.emit(this.taskId);
9154
+ this.taskCompleted.emit(form);
9156
9155
  }
9157
9156
  onError(data) {
9158
9157
  this.error.emit(data);
@@ -13371,6 +13370,7 @@ class StartProcessCloudComponent {
13371
13370
  this.formContentClicked = new EventEmitter();
13372
13371
  /** Emitted when process definition selection changes. */
13373
13372
  this.processDefinitionSelection = new EventEmitter();
13373
+ this.customOutcomeSelected = new EventEmitter();
13374
13374
  this.processDefinitionList = [];
13375
13375
  this.errorMessageId = '';
13376
13376
  this.processPayloadCloud = new ProcessPayloadCloud();
@@ -13540,7 +13540,8 @@ class StartProcessCloudComponent {
13540
13540
  }
13541
13541
  }
13542
13542
  onCustomOutcomeClicked(outcome) {
13543
- this.customOutcome = outcome;
13543
+ this.customOutcomeName = outcome.outcome.name;
13544
+ this.customOutcomeId = outcome.outcome.id;
13544
13545
  this.startProcess();
13545
13546
  }
13546
13547
  startProcessWithoutConfirmation() {
@@ -13551,7 +13552,7 @@ class StartProcessCloudComponent {
13551
13552
  processDefinitionKey: this.processPayloadCloud.processDefinitionKey,
13552
13553
  variables: this.variables ?? {},
13553
13554
  values: this.formCloud.values,
13554
- outcome: this.customOutcome
13555
+ outcome: this.customOutcomeName
13555
13556
  }))
13556
13557
  : this.startProcessCloudService.startProcess(this.appName, new ProcessPayloadCloud({
13557
13558
  name: this.processInstanceName.value,
@@ -13560,6 +13561,7 @@ class StartProcessCloudComponent {
13560
13561
  }));
13561
13562
  action.subscribe({
13562
13563
  next: (res) => {
13564
+ this.customOutcomeSelected.emit(this.customOutcomeId);
13563
13565
  this.success.emit(res);
13564
13566
  this.isProcessStarting = false;
13565
13567
  },
@@ -13662,7 +13664,7 @@ class StartProcessCloudComponent {
13662
13664
  return processName;
13663
13665
  }
13664
13666
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: StartProcessCloudComponent, deps: [{ token: i1$1.TranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
13665
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: StartProcessCloudComponent, isStandalone: true, selector: "adf-cloud-start-process", inputs: { appName: "appName", maxNameLength: "maxNameLength", name: "name", processDefinitionName: "processDefinitionName", variables: "variables", values: "values", showSelectProcessDropdown: "showSelectProcessDropdown", showTitle: "showTitle", showCancelButton: "showCancelButton", displayModeConfigurations: "displayModeConfigurations" }, outputs: { success: "success", cancel: "cancel", error: "error", formContentClicked: "formContentClicked", processDefinitionSelection: "processDefinitionSelection" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, providers: [LocalizedDatePipe], viewQueries: [{ propertyName: "inputAutocomplete", first: true, predicate: MatAutocompleteTrigger, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (processDefinitionLoaded) {\n <mat-card appearance=\"outlined\" class=\"adf-start-process\">\n <mat-card-content>\n @if (showTitle) {\n <mat-card-title class=\"adf-title\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.TITLE' | translate }}\n </mat-card-title>\n }\n\n @if (errorMessageId) {\n <mat-card-subtitle class=\"adf-error-message\" id=\"error-message\">\n {{ errorMessageId | translate }}\n </mat-card-subtitle>\n }\n\n @if (!isProcessDefinitionsEmpty) {\n <div>\n <form [formGroup]=\"processForm\" class=\"adf-select-process-form\">\n @if (showSelectProcessDropdown) {\n <mat-form-field\n class=\"adf-process-input-container\"\n floatLabel=\"always\"\n data-automation-id=\"adf-select-cloud-process-dropdown\"\n >\n <mat-label class=\"adf-start-process-input-label\">{{\n 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.TYPE' | translate\n }}</mat-label>\n <input matInput formControlName=\"processDefinition\" [matAutocomplete]=\"auto\" id=\"processDefinitionName\" />\n\n <div class=\"adf-process-input-autocomplete\">\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n id=\"processDefinitionOptions\"\n [displayWith]=\"displayProcessNameOnDropdown\"\n (optionSelected)=\"setProcessDefinitionOnForm($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let processDef of filteredProcesses\"\n [value]=\"getProcessDefinitionValue(processDef)\"\n (click)=\"processDefinitionSelectionChanged(processDef)\"\n >\n {{ getProcessDefinitionValue(processDef) }}\n </mat-option>\n </mat-autocomplete>\n\n <button\n id=\"adf-select-process-dropdown\"\n title=\"{{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.SELECT_PROCESS_DROPDOWN' | translate }}\"\n mat-icon-button\n (click)=\"displayDropdown($event)\"\n >\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n </div>\n @if (processDefinition.hasError('required')) {\n <mat-error class=\"adf-error-pb\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_DEFINITION_REQUIRED' | translate }}\n </mat-error>\n }\n </mat-form-field>\n }\n\n <adf-inplace-form-input [control]=\"processInstanceName\">\n <ng-container label>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.NAME' | translate }}\n </ng-container>\n\n <ng-container error>\n @if (processInstanceName.hasError('required')) {\n <span>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_NAME_REQUIRED' | translate }}\n </span>\n }\n @if (processInstanceName.hasError('maxlength')) {\n <span id=\"adf-start-process-maxlength-error\">\n {{\n 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.MAXIMUM_LENGTH'\n | translate: { characters: maxNameLength }\n }}\n </span>\n }\n @if (processInstanceName.hasError('pattern')) {\n <span>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.SPACE_VALIDATOR' | translate }}\n </span>\n }\n </ng-container>\n </adf-inplace-form-input>\n </form>\n\n @if (hasForm) {\n <adf-cloud-form\n #startForm\n [appName]=\"appName\"\n [appVersion]=\"processDefinitionCurrent.appVersion\"\n [data]=\"resolvedValues\"\n [formId]=\"processDefinitionCurrent.formKey\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n [showSaveButton]=\"showSaveButton\"\n [showCompleteButton]=\"showCompleteButton\"\n [showRefreshButton]=\"false\"\n [showValidationIcon]=\"false\"\n [showTitle]=\"false\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (formLoaded)=\"onFormLoaded($event)\"\n (executeOutcome)=\"onCustomOutcomeClicked($event.outcome.name)\"\n >\n <adf-cloud-form-custom-outcomes>\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n </adf-cloud-form-custom-outcomes>\n </adf-cloud-form>\n } @else {\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n }\n </div>\n } @else {\n @if (processDefinitionLoaded) {\n <mat-card-content>\n <mat-card-subtitle class=\"error-message\" id=\"no-process-message\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.NO_PROCESS_DEFINITIONS' | translate | uppercase }}\n </mat-card-subtitle>\n </mat-card-content>\n }\n }\n </mat-card-content>\n </mat-card>\n} @else {\n <div class=\"adf-loading-container\">\n <mat-progress-spinner class=\"adf-loading\" color=\"primary\" mode=\"indeterminate\" />\n </div>\n}\n\n<ng-template #taskFormCloudButtons>\n <div class=\"adf-start-process-cloud-actions\">\n @if (showCancelButton) {\n <button mat-button (click)=\"cancelStartProcess()\" id=\"cancel_process\">\n {{ cancelButtonLabel }}\n </button>\n }\n @if (showStartProcessButton$ | async) {\n <button\n color=\"primary\"\n mat-raised-button\n [disabled]=\"disableStartButton || !isProcessFormValid\"\n (click)=\"startProcess()\"\n data-automation-id=\"btn-start\"\n id=\"button-start\"\n class=\"adf-btn-start\"\n >\n {{ startProcessButtonLabel }}\n </button>\n }\n </div>\n</ng-template>\n", styles: [".adf-start-process .adf-start-process-input-label{color:var(--adf-theme-mat-grey-color-a200-dark)}.adf-start-process-cloud-actions{display:flex;justify-content:flex-end}.adf-select-process-form{display:flex;flex-direction:column}.adf-title{padding-bottom:1.25em}.adf-error-message{padding-left:.5em}.adf-process-input-container{margin:0 7px}.adf-process-input-autocomplete{display:flex}.adf-process-input-autocomplete button{position:absolute;right:-14px;top:0}.adf-form-container .adf-form-container-card:has(.adf-form-container-card-content){box-shadow:none;padding:0}.adf-start-form-actions{text-align:right}.adf-loading{margin:auto}.adf-loading-container{min-height:300px;display:flex;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i4$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i4.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: InplaceFormInputComponent, selector: "adf-inplace-form-input", inputs: ["control"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i7$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i7$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormCloudComponent, selector: "adf-cloud-form", inputs: ["appName", "appVersion", "formId", "processInstanceId", "taskId", "data", "displayModeConfigurations", "showCompleteButton", "customSaveButtonText", "customCompleteButtonText"], outputs: ["formSaved", "formCompleted", "formLoaded", "formDataRefreshed", "formContentClicked", "displayModeOn", "displayModeOff"] }, { kind: "component", type: FormCustomOutcomesComponent, selector: "adf-cloud-form-custom-outcomes" }], encapsulation: i0.ViewEncapsulation.None }); }
13667
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: StartProcessCloudComponent, isStandalone: true, selector: "adf-cloud-start-process", inputs: { appName: "appName", maxNameLength: "maxNameLength", name: "name", processDefinitionName: "processDefinitionName", variables: "variables", values: "values", showSelectProcessDropdown: "showSelectProcessDropdown", showTitle: "showTitle", showCancelButton: "showCancelButton", displayModeConfigurations: "displayModeConfigurations" }, outputs: { success: "success", cancel: "cancel", error: "error", formContentClicked: "formContentClicked", processDefinitionSelection: "processDefinitionSelection", customOutcomeSelected: "customOutcomeSelected" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, providers: [LocalizedDatePipe], viewQueries: [{ propertyName: "inputAutocomplete", first: true, predicate: MatAutocompleteTrigger, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (processDefinitionLoaded) {\n <mat-card appearance=\"outlined\" class=\"adf-start-process\">\n <mat-card-content>\n @if (showTitle) {\n <mat-card-title class=\"adf-title\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.TITLE' | translate }}\n </mat-card-title>\n }\n\n @if (errorMessageId) {\n <mat-card-subtitle class=\"adf-error-message\" id=\"error-message\">\n {{ errorMessageId | translate }}\n </mat-card-subtitle>\n }\n\n @if (!isProcessDefinitionsEmpty) {\n <div>\n <form [formGroup]=\"processForm\" class=\"adf-select-process-form\">\n @if (showSelectProcessDropdown) {\n <mat-form-field\n class=\"adf-process-input-container\"\n floatLabel=\"always\"\n data-automation-id=\"adf-select-cloud-process-dropdown\"\n >\n <mat-label class=\"adf-start-process-input-label\">{{\n 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.TYPE' | translate\n }}</mat-label>\n <input matInput formControlName=\"processDefinition\" [matAutocomplete]=\"auto\" id=\"processDefinitionName\" />\n\n <div class=\"adf-process-input-autocomplete\">\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n id=\"processDefinitionOptions\"\n [displayWith]=\"displayProcessNameOnDropdown\"\n (optionSelected)=\"setProcessDefinitionOnForm($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let processDef of filteredProcesses\"\n [value]=\"getProcessDefinitionValue(processDef)\"\n (click)=\"processDefinitionSelectionChanged(processDef)\"\n >\n {{ getProcessDefinitionValue(processDef) }}\n </mat-option>\n </mat-autocomplete>\n\n <button\n id=\"adf-select-process-dropdown\"\n title=\"{{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.SELECT_PROCESS_DROPDOWN' | translate }}\"\n mat-icon-button\n (click)=\"displayDropdown($event)\"\n >\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n </div>\n @if (processDefinition.hasError('required')) {\n <mat-error class=\"adf-error-pb\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_DEFINITION_REQUIRED' | translate }}\n </mat-error>\n }\n </mat-form-field>\n }\n\n <adf-inplace-form-input [control]=\"processInstanceName\">\n <ng-container label>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.NAME' | translate }}\n </ng-container>\n\n <ng-container error>\n @if (processInstanceName.hasError('required')) {\n <span>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_NAME_REQUIRED' | translate }}\n </span>\n }\n @if (processInstanceName.hasError('maxlength')) {\n <span id=\"adf-start-process-maxlength-error\">\n {{\n 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.MAXIMUM_LENGTH'\n | translate: { characters: maxNameLength }\n }}\n </span>\n }\n @if (processInstanceName.hasError('pattern')) {\n <span>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.SPACE_VALIDATOR' | translate }}\n </span>\n }\n </ng-container>\n </adf-inplace-form-input>\n </form>\n\n @if (hasForm) {\n <adf-cloud-form\n #startForm\n [appName]=\"appName\"\n [appVersion]=\"processDefinitionCurrent.appVersion\"\n [data]=\"resolvedValues\"\n [formId]=\"processDefinitionCurrent.formKey\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n [showSaveButton]=\"showSaveButton\"\n [showCompleteButton]=\"showCompleteButton\"\n [showRefreshButton]=\"false\"\n [showValidationIcon]=\"false\"\n [showTitle]=\"false\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (formLoaded)=\"onFormLoaded($event)\"\n (executeOutcome)=\"onCustomOutcomeClicked($event)\"\n >\n <adf-cloud-form-custom-outcomes>\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n </adf-cloud-form-custom-outcomes>\n </adf-cloud-form>\n } @else {\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n }\n </div>\n } @else {\n @if (processDefinitionLoaded) {\n <mat-card-content>\n <mat-card-subtitle class=\"error-message\" id=\"no-process-message\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.NO_PROCESS_DEFINITIONS' | translate | uppercase }}\n </mat-card-subtitle>\n </mat-card-content>\n }\n }\n </mat-card-content>\n </mat-card>\n} @else {\n <div class=\"adf-loading-container\">\n <mat-progress-spinner class=\"adf-loading\" color=\"primary\" mode=\"indeterminate\" />\n </div>\n}\n\n<ng-template #taskFormCloudButtons>\n <div class=\"adf-start-process-cloud-actions\">\n @if (showCancelButton) {\n <button mat-button (click)=\"cancelStartProcess()\" id=\"cancel_process\">\n {{ cancelButtonLabel }}\n </button>\n }\n @if (showStartProcessButton$ | async) {\n <button\n color=\"primary\"\n mat-raised-button\n [disabled]=\"disableStartButton || !isProcessFormValid\"\n (click)=\"startProcess()\"\n data-automation-id=\"btn-start\"\n id=\"button-start\"\n class=\"adf-btn-start\"\n >\n {{ startProcessButtonLabel }}\n </button>\n }\n </div>\n</ng-template>\n", styles: [".adf-start-process .adf-start-process-input-label{color:var(--adf-theme-mat-grey-color-a200-dark)}.adf-start-process-cloud-actions{display:flex;justify-content:flex-end}.adf-select-process-form{display:flex;flex-direction:column}.adf-title{padding-bottom:1.25em}.adf-error-message{padding-left:.5em}.adf-process-input-container{margin:0 7px}.adf-process-input-autocomplete{display:flex}.adf-process-input-autocomplete button{position:absolute;right:-14px;top:0}.adf-form-container .adf-form-container-card:has(.adf-form-container-card-content){box-shadow:none;padding:0}.adf-start-form-actions{text-align:right}.adf-loading{margin:auto}.adf-loading-container{min-height:300px;display:flex;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i4$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i4.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: InplaceFormInputComponent, selector: "adf-inplace-form-input", inputs: ["control"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i7$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i7$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormCloudComponent, selector: "adf-cloud-form", inputs: ["appName", "appVersion", "formId", "processInstanceId", "taskId", "data", "displayModeConfigurations", "showCompleteButton", "customSaveButtonText", "customCompleteButtonText"], outputs: ["formSaved", "formCompleted", "formLoaded", "formDataRefreshed", "formContentClicked", "displayModeOn", "displayModeOff"] }, { kind: "component", type: FormCustomOutcomesComponent, selector: "adf-cloud-form-custom-outcomes" }], encapsulation: i0.ViewEncapsulation.None }); }
13666
13668
  }
13667
13669
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: StartProcessCloudComponent, decorators: [{
13668
13670
  type: Component,
@@ -13680,7 +13682,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
13680
13682
  ReactiveFormsModule,
13681
13683
  FormCloudComponent,
13682
13684
  FormCustomOutcomesComponent
13683
- ], providers: [LocalizedDatePipe], encapsulation: ViewEncapsulation.None, template: "@if (processDefinitionLoaded) {\n <mat-card appearance=\"outlined\" class=\"adf-start-process\">\n <mat-card-content>\n @if (showTitle) {\n <mat-card-title class=\"adf-title\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.TITLE' | translate }}\n </mat-card-title>\n }\n\n @if (errorMessageId) {\n <mat-card-subtitle class=\"adf-error-message\" id=\"error-message\">\n {{ errorMessageId | translate }}\n </mat-card-subtitle>\n }\n\n @if (!isProcessDefinitionsEmpty) {\n <div>\n <form [formGroup]=\"processForm\" class=\"adf-select-process-form\">\n @if (showSelectProcessDropdown) {\n <mat-form-field\n class=\"adf-process-input-container\"\n floatLabel=\"always\"\n data-automation-id=\"adf-select-cloud-process-dropdown\"\n >\n <mat-label class=\"adf-start-process-input-label\">{{\n 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.TYPE' | translate\n }}</mat-label>\n <input matInput formControlName=\"processDefinition\" [matAutocomplete]=\"auto\" id=\"processDefinitionName\" />\n\n <div class=\"adf-process-input-autocomplete\">\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n id=\"processDefinitionOptions\"\n [displayWith]=\"displayProcessNameOnDropdown\"\n (optionSelected)=\"setProcessDefinitionOnForm($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let processDef of filteredProcesses\"\n [value]=\"getProcessDefinitionValue(processDef)\"\n (click)=\"processDefinitionSelectionChanged(processDef)\"\n >\n {{ getProcessDefinitionValue(processDef) }}\n </mat-option>\n </mat-autocomplete>\n\n <button\n id=\"adf-select-process-dropdown\"\n title=\"{{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.SELECT_PROCESS_DROPDOWN' | translate }}\"\n mat-icon-button\n (click)=\"displayDropdown($event)\"\n >\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n </div>\n @if (processDefinition.hasError('required')) {\n <mat-error class=\"adf-error-pb\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_DEFINITION_REQUIRED' | translate }}\n </mat-error>\n }\n </mat-form-field>\n }\n\n <adf-inplace-form-input [control]=\"processInstanceName\">\n <ng-container label>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.NAME' | translate }}\n </ng-container>\n\n <ng-container error>\n @if (processInstanceName.hasError('required')) {\n <span>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_NAME_REQUIRED' | translate }}\n </span>\n }\n @if (processInstanceName.hasError('maxlength')) {\n <span id=\"adf-start-process-maxlength-error\">\n {{\n 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.MAXIMUM_LENGTH'\n | translate: { characters: maxNameLength }\n }}\n </span>\n }\n @if (processInstanceName.hasError('pattern')) {\n <span>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.SPACE_VALIDATOR' | translate }}\n </span>\n }\n </ng-container>\n </adf-inplace-form-input>\n </form>\n\n @if (hasForm) {\n <adf-cloud-form\n #startForm\n [appName]=\"appName\"\n [appVersion]=\"processDefinitionCurrent.appVersion\"\n [data]=\"resolvedValues\"\n [formId]=\"processDefinitionCurrent.formKey\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n [showSaveButton]=\"showSaveButton\"\n [showCompleteButton]=\"showCompleteButton\"\n [showRefreshButton]=\"false\"\n [showValidationIcon]=\"false\"\n [showTitle]=\"false\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (formLoaded)=\"onFormLoaded($event)\"\n (executeOutcome)=\"onCustomOutcomeClicked($event.outcome.name)\"\n >\n <adf-cloud-form-custom-outcomes>\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n </adf-cloud-form-custom-outcomes>\n </adf-cloud-form>\n } @else {\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n }\n </div>\n } @else {\n @if (processDefinitionLoaded) {\n <mat-card-content>\n <mat-card-subtitle class=\"error-message\" id=\"no-process-message\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.NO_PROCESS_DEFINITIONS' | translate | uppercase }}\n </mat-card-subtitle>\n </mat-card-content>\n }\n }\n </mat-card-content>\n </mat-card>\n} @else {\n <div class=\"adf-loading-container\">\n <mat-progress-spinner class=\"adf-loading\" color=\"primary\" mode=\"indeterminate\" />\n </div>\n}\n\n<ng-template #taskFormCloudButtons>\n <div class=\"adf-start-process-cloud-actions\">\n @if (showCancelButton) {\n <button mat-button (click)=\"cancelStartProcess()\" id=\"cancel_process\">\n {{ cancelButtonLabel }}\n </button>\n }\n @if (showStartProcessButton$ | async) {\n <button\n color=\"primary\"\n mat-raised-button\n [disabled]=\"disableStartButton || !isProcessFormValid\"\n (click)=\"startProcess()\"\n data-automation-id=\"btn-start\"\n id=\"button-start\"\n class=\"adf-btn-start\"\n >\n {{ startProcessButtonLabel }}\n </button>\n }\n </div>\n</ng-template>\n", styles: [".adf-start-process .adf-start-process-input-label{color:var(--adf-theme-mat-grey-color-a200-dark)}.adf-start-process-cloud-actions{display:flex;justify-content:flex-end}.adf-select-process-form{display:flex;flex-direction:column}.adf-title{padding-bottom:1.25em}.adf-error-message{padding-left:.5em}.adf-process-input-container{margin:0 7px}.adf-process-input-autocomplete{display:flex}.adf-process-input-autocomplete button{position:absolute;right:-14px;top:0}.adf-form-container .adf-form-container-card:has(.adf-form-container-card-content){box-shadow:none;padding:0}.adf-start-form-actions{text-align:right}.adf-loading{margin:auto}.adf-loading-container{min-height:300px;display:flex;height:100%}\n"] }]
13685
+ ], providers: [LocalizedDatePipe], encapsulation: ViewEncapsulation.None, template: "@if (processDefinitionLoaded) {\n <mat-card appearance=\"outlined\" class=\"adf-start-process\">\n <mat-card-content>\n @if (showTitle) {\n <mat-card-title class=\"adf-title\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.TITLE' | translate }}\n </mat-card-title>\n }\n\n @if (errorMessageId) {\n <mat-card-subtitle class=\"adf-error-message\" id=\"error-message\">\n {{ errorMessageId | translate }}\n </mat-card-subtitle>\n }\n\n @if (!isProcessDefinitionsEmpty) {\n <div>\n <form [formGroup]=\"processForm\" class=\"adf-select-process-form\">\n @if (showSelectProcessDropdown) {\n <mat-form-field\n class=\"adf-process-input-container\"\n floatLabel=\"always\"\n data-automation-id=\"adf-select-cloud-process-dropdown\"\n >\n <mat-label class=\"adf-start-process-input-label\">{{\n 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.TYPE' | translate\n }}</mat-label>\n <input matInput formControlName=\"processDefinition\" [matAutocomplete]=\"auto\" id=\"processDefinitionName\" />\n\n <div class=\"adf-process-input-autocomplete\">\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n id=\"processDefinitionOptions\"\n [displayWith]=\"displayProcessNameOnDropdown\"\n (optionSelected)=\"setProcessDefinitionOnForm($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let processDef of filteredProcesses\"\n [value]=\"getProcessDefinitionValue(processDef)\"\n (click)=\"processDefinitionSelectionChanged(processDef)\"\n >\n {{ getProcessDefinitionValue(processDef) }}\n </mat-option>\n </mat-autocomplete>\n\n <button\n id=\"adf-select-process-dropdown\"\n title=\"{{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.SELECT_PROCESS_DROPDOWN' | translate }}\"\n mat-icon-button\n (click)=\"displayDropdown($event)\"\n >\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n </div>\n @if (processDefinition.hasError('required')) {\n <mat-error class=\"adf-error-pb\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_DEFINITION_REQUIRED' | translate }}\n </mat-error>\n }\n </mat-form-field>\n }\n\n <adf-inplace-form-input [control]=\"processInstanceName\">\n <ng-container label>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.NAME' | translate }}\n </ng-container>\n\n <ng-container error>\n @if (processInstanceName.hasError('required')) {\n <span>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_NAME_REQUIRED' | translate }}\n </span>\n }\n @if (processInstanceName.hasError('maxlength')) {\n <span id=\"adf-start-process-maxlength-error\">\n {{\n 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.MAXIMUM_LENGTH'\n | translate: { characters: maxNameLength }\n }}\n </span>\n }\n @if (processInstanceName.hasError('pattern')) {\n <span>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.SPACE_VALIDATOR' | translate }}\n </span>\n }\n </ng-container>\n </adf-inplace-form-input>\n </form>\n\n @if (hasForm) {\n <adf-cloud-form\n #startForm\n [appName]=\"appName\"\n [appVersion]=\"processDefinitionCurrent.appVersion\"\n [data]=\"resolvedValues\"\n [formId]=\"processDefinitionCurrent.formKey\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n [showSaveButton]=\"showSaveButton\"\n [showCompleteButton]=\"showCompleteButton\"\n [showRefreshButton]=\"false\"\n [showValidationIcon]=\"false\"\n [showTitle]=\"false\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (formLoaded)=\"onFormLoaded($event)\"\n (executeOutcome)=\"onCustomOutcomeClicked($event)\"\n >\n <adf-cloud-form-custom-outcomes>\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n </adf-cloud-form-custom-outcomes>\n </adf-cloud-form>\n } @else {\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n }\n </div>\n } @else {\n @if (processDefinitionLoaded) {\n <mat-card-content>\n <mat-card-subtitle class=\"error-message\" id=\"no-process-message\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.NO_PROCESS_DEFINITIONS' | translate | uppercase }}\n </mat-card-subtitle>\n </mat-card-content>\n }\n }\n </mat-card-content>\n </mat-card>\n} @else {\n <div class=\"adf-loading-container\">\n <mat-progress-spinner class=\"adf-loading\" color=\"primary\" mode=\"indeterminate\" />\n </div>\n}\n\n<ng-template #taskFormCloudButtons>\n <div class=\"adf-start-process-cloud-actions\">\n @if (showCancelButton) {\n <button mat-button (click)=\"cancelStartProcess()\" id=\"cancel_process\">\n {{ cancelButtonLabel }}\n </button>\n }\n @if (showStartProcessButton$ | async) {\n <button\n color=\"primary\"\n mat-raised-button\n [disabled]=\"disableStartButton || !isProcessFormValid\"\n (click)=\"startProcess()\"\n data-automation-id=\"btn-start\"\n id=\"button-start\"\n class=\"adf-btn-start\"\n >\n {{ startProcessButtonLabel }}\n </button>\n }\n </div>\n</ng-template>\n", styles: [".adf-start-process .adf-start-process-input-label{color:var(--adf-theme-mat-grey-color-a200-dark)}.adf-start-process-cloud-actions{display:flex;justify-content:flex-end}.adf-select-process-form{display:flex;flex-direction:column}.adf-title{padding-bottom:1.25em}.adf-error-message{padding-left:.5em}.adf-process-input-container{margin:0 7px}.adf-process-input-autocomplete{display:flex}.adf-process-input-autocomplete button{position:absolute;right:-14px;top:0}.adf-form-container .adf-form-container-card:has(.adf-form-container-card-content){box-shadow:none;padding:0}.adf-start-form-actions{text-align:right}.adf-loading{margin:auto}.adf-loading-container{min-height:300px;display:flex;height:100%}\n"] }]
13684
13686
  }], ctorParameters: () => [{ type: i1$1.TranslationService }], propDecorators: { inputAutocomplete: [{
13685
13687
  type: ViewChild,
13686
13688
  args: [MatAutocompleteTrigger]
@@ -13714,6 +13716,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
13714
13716
  type: Output
13715
13717
  }], processDefinitionSelection: [{
13716
13718
  type: Output
13719
+ }], customOutcomeSelected: [{
13720
+ type: Output
13717
13721
  }], onKeyDown: [{
13718
13722
  type: HostListener,
13719
13723
  args: ['keydown', ['$event']]