@alfresco/adf-process-services-cloud 8.1.0-16877609768 → 8.1.0

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.
Files changed (28) hide show
  1. package/fesm2022/adf-process-services-cloud.mjs +269 -336
  2. package/fesm2022/adf-process-services-cloud.mjs.map +1 -1
  3. package/lib/app/services/apps-process-cloud.service.d.ts +2 -2
  4. package/lib/form/components/form-cloud.component.d.ts +12 -1
  5. package/lib/form/components/widgets/display-rich-text/display-rich-text.widget.scss +0 -1
  6. package/lib/form/form-cloud.module.d.ts +16 -18
  7. package/lib/form/services/form-cloud.service.d.ts +1 -1
  8. package/lib/process/start-process/components/start-process-cloud.component.d.ts +0 -1
  9. package/lib/process/start-process/components/start-process-cloud.component.scss +4 -0
  10. package/lib/process/start-process/services/start-process-cloud.service.d.ts +1 -0
  11. package/lib/process-services-cloud.module.d.ts +22 -23
  12. package/lib/screen/components/screen-cloud/screen-cloud.component.d.ts +1 -1
  13. package/lib/screen/public-api.d.ts +3 -1
  14. package/lib/screen/services/provide-screen.d.ts +37 -0
  15. package/lib/{services → screen/services}/screen-rendering.service.d.ts +29 -0
  16. package/lib/services/public-api.d.ts +0 -1
  17. package/lib/task/task-form/components/task-form-cloud/task-form-cloud.component.d.ts +21 -1
  18. package/lib/task/task-form/components/user-task-cloud/user-task-cloud.component.d.ts +21 -1
  19. package/lib/task/task-form/components/user-task-cloud-buttons/user-task-cloud-buttons.component.d.ts +6 -1
  20. package/package.json +8 -21
  21. package/public-api.d.ts +0 -1
  22. package/lib/rich-text-editor/editorjs-config.d.ts +0 -78
  23. package/lib/rich-text-editor/index.d.ts +0 -17
  24. package/lib/rich-text-editor/public-api.d.ts +0 -18
  25. package/lib/rich-text-editor/rich-text-editor.component.d.ts +0 -36
  26. package/lib/rich-text-editor/rich-text-editor.component.scss +0 -32
  27. package/lib/rich-text-editor/rich-text-editor.module.d.ts +0 -8
  28. /package/lib/screen/{models → components/screen-cloud}/screen-cloud.model.d.ts +0 -0
@@ -1,9 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, Output, Input, ViewEncapsulation, Component, Injectable, ContentChild, inject, DestroyRef, Directive, InjectionToken, Inject, NgModule, ViewChild, Optional, ChangeDetectorRef, HostListener, ViewContainerRef, ChangeDetectionStrategy, SecurityContext } from '@angular/core';
3
3
  import * as i1$1 from '@alfresco/adf-core';
4
- import { EmptyContentComponent, CustomEmptyContentTemplateDirective, AppConfigService, JwtHelperService, TranslationService, DataTableSchema, UserPreferenceValues, ObjectDataTableAdapter, ColumnsSelectorComponent, MainMenuDataTableTemplateDirective, NoContentTemplateDirective, LoadingContentTemplateDirective, DataTableComponent, AdfDateFnsAdapter, MOMENT_DATE_FORMATS, DynamicComponentMapper, IconComponent, UserPreferencesService, DateFnsUtils, ADF_DATE_FORMATS, FullNamePipe, InitialUsernamePipe, FormModel, FormService, FormBaseComponent, WidgetVisibilityService, UploadWidgetContentLinkModel, FormEvent, ConfirmDialogComponent, FormOutcomeModel, FormOutcomeEvent, FormatSpacePipe, FormRendererComponent, ToolbarDividerComponent, ToolbarComponent, WidgetComponent, ThumbnailService, NotificationService, ErrorWidgetComponent, LocalizedDatePipe, UploadDirective, ContentLinkModel, ErrorMessageModel, DEFAULT_DATE_FORMAT, FormFieldEvent, FormFieldTypes, SelectFilterInputComponent, CardViewTextItemModel, CardViewSelectItemModel, CardViewDatetimeItemModel, CardViewDateItemModel, CardViewArrayItemModel, CardViewComponent, CustomLoadingContentTemplateDirective, isOutcomeButtonVisible, InplaceFormInputComponent, BaseViewerWidgetComponent, ObjectDataColumn, ObjectDataRow, FormBaseModule, FormRenderingService, provideTranslations } from '@alfresco/adf-core';
4
+ import { EmptyContentComponent, CustomEmptyContentTemplateDirective, AppConfigService, JwtHelperService, TranslationService, DataTableSchema, UserPreferenceValues, ObjectDataTableAdapter, ColumnsSelectorComponent, MainMenuDataTableTemplateDirective, NoContentTemplateDirective, LoadingContentTemplateDirective, DataTableComponent, AdfDateFnsAdapter, MOMENT_DATE_FORMATS, IconComponent, UserPreferencesService, DateFnsUtils, ADF_DATE_FORMATS, FullNamePipe, InitialUsernamePipe, FormModel, FormService, FormBaseComponent, WidgetVisibilityService, UploadWidgetContentLinkModel, FormEvent, FormOutcomeModel, ConfirmDialogComponent, FormOutcomeEvent, FormatSpacePipe, FormRendererComponent, ToolbarDividerComponent, ToolbarComponent, WidgetComponent, ThumbnailService, NotificationService, ErrorWidgetComponent, LocalizedDatePipe, UploadDirective, ContentLinkModel, ErrorMessageModel, DEFAULT_DATE_FORMAT, FormFieldEvent, FormFieldTypes, SelectFilterInputComponent, DynamicComponentMapper, CardViewTextItemModel, CardViewSelectItemModel, CardViewDatetimeItemModel, CardViewDateItemModel, CardViewArrayItemModel, CardViewComponent, CustomLoadingContentTemplateDirective, isOutcomeButtonVisible, InplaceFormInputComponent, BaseViewerWidgetComponent, ObjectDataColumn, ObjectDataRow, FormBaseModule, FormRenderingService, provideTranslations } from '@alfresco/adf-core';
5
5
  import * as i2 from '@angular/common';
6
- import { CommonModule, NgIf, NgFor, AsyncPipe, NgForOf } from '@angular/common';
6
+ import { CommonModule, NgIf, NgFor, NgClass, AsyncPipe, NgForOf } from '@angular/common';
7
7
  import { TranslatePipe, TranslateService } from '@ngx-translate/core';
8
8
  import * as i3 from '@angular/material/icon';
9
9
  import { MatIconModule } from '@angular/material/icon';
@@ -71,17 +71,6 @@ import * as i3$3 from '@angular/material/radio';
71
71
  import { MatRadioModule } from '@angular/material/radio';
72
72
  import edjsHTML from 'editorjs-html';
73
73
  import * as i2$5 from '@angular/platform-browser';
74
- import EditorJS from '@editorjs/editorjs';
75
- import CodeTool from '@editorjs/code';
76
- import Header from '@editorjs/header';
77
- import Paragraph from '@editorjs/paragraph';
78
- import InlineCode from '@editorjs/inline-code';
79
- import List from '@editorjs/list';
80
- import Marker from '@editorjs/marker';
81
- import Underline from '@editorjs/underline';
82
- import ChangeFontSize from '@valano/change-font-size';
83
- import ColorPlugin from 'editorjs-text-color-plugin';
84
- import AlignmentTuneTool from 'editorjs-text-alignment-blocktune';
85
74
 
86
75
  /*!
87
76
  * @license
@@ -201,10 +190,10 @@ class AppsProcessCloudService {
201
190
  }
202
191
  loadApps() {
203
192
  const apps = this.appConfigService.get('alfresco-deployed-apps', []);
204
- apps.map((app) => {
205
- app.theme = app.theme ? app.theme : 'theme-1';
206
- app.icon = app.icon ? app.icon : 'favorite';
207
- });
193
+ for (const app of apps) {
194
+ app.theme = app.theme ?? 'theme-1';
195
+ app.icon = app.icon ?? 'favorite';
196
+ }
208
197
  this.deployedApps = apps;
209
198
  }
210
199
  getApplicationLabel(application, environmentList) {
@@ -2407,33 +2396,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
2407
2396
  * limitations under the License.
2408
2397
  */
2409
2398
 
2410
- /*!
2411
- * @license
2412
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
2413
- *
2414
- * Licensed under the Apache License, Version 2.0 (the "License");
2415
- * you may not use this file except in compliance with the License.
2416
- * You may obtain a copy of the License at
2417
- *
2418
- * http://www.apache.org/licenses/LICENSE-2.0
2419
- *
2420
- * Unless required by applicable law or agreed to in writing, software
2421
- * distributed under the License is distributed on an "AS IS" BASIS,
2422
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2423
- * See the License for the specific language governing permissions and
2424
- * limitations under the License.
2425
- */
2426
- class ScreenRenderingService extends DynamicComponentMapper {
2427
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ScreenRenderingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2428
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ScreenRenderingService, providedIn: 'root' }); }
2429
- }
2430
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ScreenRenderingService, decorators: [{
2431
- type: Injectable,
2432
- args: [{
2433
- providedIn: 'root'
2434
- }]
2435
- }] });
2436
-
2437
2399
  /*!
2438
2400
  * @license
2439
2401
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -5017,7 +4979,7 @@ class PeopleCloudComponent {
5017
4979
  this.invalidUsers.push(user);
5018
4980
  }
5019
4981
  }
5020
- catch (error) {
4982
+ catch {
5021
4983
  this.invalidUsers.push(user);
5022
4984
  }
5023
4985
  }
@@ -5194,7 +5156,7 @@ class PeopleCloudComponent {
5194
5156
  return this.searchUserCtrl.errors.minlength.requiredLength;
5195
5157
  }
5196
5158
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: PeopleCloudComponent, deps: [{ token: IdentityUserService }], target: i0.ɵɵFactoryTarget.Component }); }
5197
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: PeopleCloudComponent, isStandalone: true, selector: "adf-cloud-people", inputs: { label: "label", appName: "appName", mode: "mode", roles: "roles", validate: "validate", readOnly: "readOnly", required: "required", preSelectUsers: "preSelectUsers", excludedUsers: "excludedUsers", groupsRestriction: "groupsRestriction", userChipsCtrl: "userChipsCtrl", searchUserCtrl: "searchUserCtrl", title: "title", placeholder: "placeholder", hideInputOnSingleSelection: "hideInputOnSingleSelection", formFieldAppearance: "formFieldAppearance", formFieldSubscriptSizing: "formFieldSubscriptSizing", showErrors: "showErrors", showFullNameOnHover: "showFullNameOnHover" }, outputs: { selectUser: "selectUser", removeUser: "removeUser", changedUsers: "changedUsers", warning: "warning" }, providers: [FullNamePipe], viewQueries: [{ propertyName: "userInput", first: true, predicate: ["userInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<form>\n <mat-form-field\n [subscriptSizing]=\"formFieldSubscriptSizing\"\n [floatLabel]=\"'auto'\"\n class=\"adf-people-cloud adf-form-field-input\"\n [class.adf-invalid]=\"hasError() && isDirty()\"\n >\n <mat-label *ngIf=\"!title\">\n <span>{{label}}</span>\n </mat-label>\n <mat-label *ngIf=\"title\">{{ title | translate }}</mat-label>\n\n <mat-chip-grid [required]=\"required\" #userMultipleChipList data-automation-id=\"adf-cloud-people-chip-list\">\n <mat-chip-row\n *ngFor=\"let user of selectedUsers\"\n [removable]=\"!user.readonly\"\n [attr.data-automation-id]=\"'adf-people-cloud-chip-' + user.username\"\n (removed)=\"onRemove(user)\"\n [disabled]=\"isReadonly() || isValidationLoading()\"\n title=\"{{ (user.readonly ? 'ADF_CLOUD_GROUPS.MANDATORY' : '') | translate }}\"\n [matTooltip]=\"showFullNameOnHover ? (user | fullName : true) : user.email\"\n >\n {{ user | fullName }}\n <mat-icon\n matChipRemove\n *ngIf=\"!(user.readonly || readOnly)\"\n [attr.data-automation-id]=\"'adf-people-cloud-chip-remove-icon-' + user.username\"\n >\n cancel\n </mat-icon>\n </mat-chip-row>\n <input\n matInput\n [disabled]=\"isReadonly()\"\n [formControl]=\"searchUserCtrl\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"userMultipleChipList\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [disabled]=\"isReadonly() || isValidationLoading()\"\n (focus)=\"setFocus(true)\"\n (blur)=\"setFocus(false); markAsTouched()\"\n class=\"adf-cloud-input\"\n data-automation-id=\"adf-people-cloud-search-input\"\n #userInput\n />\n </mat-chip-grid>\n\n <mat-autocomplete\n autoActiveFirstOption\n class=\"adf-people-cloud-list\"\n #auto=\"matAutocomplete\"\n (optionSelected)=\"onSelect($event.option.value)\"\n [displayWith]=\"getDisplayName\"\n >\n <ng-container *ngIf=\"(searchUsers$ | async)?.length; else noResults\">\n <mat-option *ngFor=\"let user of searchUsers$ | async; let i = index\" [value]=\"user\" class=\"adf-people-cloud-option-active\">\n <div class=\"adf-people-cloud-row\" id=\"adf-people-cloud-user-{{ user.username }}\" data-automation-id=\"adf-people-cloud-row\">\n <div [outerHTML]=\"user | usernameInitials : 'adf-people-cloud-pic'\"></div>\n <span class=\"adf-people-label-name\"> {{ user | fullName : true }}</span>\n </div>\n </mat-option>\n </ng-container>\n <ng-template #noResults>\n <mat-option\n *ngIf=\"searchUserCtrl.hasError('searchTypingError') && !searchLoading\"\n disabled\n class=\"adf-people-cloud-option-not-active\"\n data-automation-id=\"adf-people-cloud-no-results\"\n >\n <span> {{ 'ADF_CLOUD_USERS.ERROR.NOT_FOUND' | translate : { userName: searchedValue } }}</span>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n </mat-form-field>\n\n <mat-progress-bar *ngIf=\"validationLoading\" mode=\"indeterminate\" />\n\n <div class=\"adf-error-container adf-error-messages-container\" *ngIf=\"showErrors\">\n <mat-error *ngIf=\"hasPreselectError() && !isValidationLoading()\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_USERS.ERROR.NOT_FOUND' | translate : { userName: validateUsersMessage } }}</div>\n </mat-error>\n <mat-error *ngIf=\"searchUserCtrl.hasError('pattern')\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.INVALID_PATTERN' | translate : { pattern: getValidationPattern() } }}</div>\n </mat-error>\n <mat-error *ngIf=\"searchUserCtrl.hasError('maxlength')\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">\n {{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.INVALID_MAX_LENGTH' | translate : { requiredLength: getValidationMaxLength() } }}\n </div>\n </mat-error>\n <mat-error *ngIf=\"searchUserCtrl.hasError('minlength')\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">\n {{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.INVALID_MIN_LENGTH' | translate : { requiredLength: getValidationMinLength() } }}\n </div>\n </mat-error>\n <mat-error\n *ngIf=\"(searchUserCtrl.hasError('required') || userChipsCtrl.hasError('required')) && isDirty()\"\n [@transitionMessages]=\"subscriptAnimationState\"\n class=\"adf-error\"\n >\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.REQUIRED' | translate }}</div>\n </mat-error>\n <mat-error\n *ngIf=\"searchUserCtrl.hasError('searchTypingError') && !this.isFocused\"\n [@transitionMessages]=\"subscriptAnimationState\"\n data-automation-id=\"invalid-users-typing-error\"\n class=\"adf-error\"\n >\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_USERS.ERROR.NOT_FOUND' | translate : { userName: searchedValue } }}</div>\n </mat-error>\n </div>\n</form>\n", styles: [".adf-people-cloud{width:100%}.adf-people-cloud-option-not-active:not(.adf-people-cloud:active){background:inherit;color:var(--adf-theme-foreground-secondary-text-color)}.adf-people-cloud-title{color:var(--adf-theme-foreground-secondary-text-color)}.adf-people-cloud-title--focus{color:var(--theme-primary-color)}.adf-people-cloud-list{margin:5px 0;padding:10px 0}.adf-people-cloud-option-active:not(.adf:disabled){color:var(--adf-theme-foreground-text-color)}.adf-people-cloud-option-not-active:not(.adf:active){color:var(--adf-theme-foreground-secondary-text-color)}.adf-people-cloud-row{display:flex;align-items:center;column-gap:10px}.adf-people-cloud-pic{background:var(--theme-primary-color);display:flex;justify-content:center;align-items:center;width:40px;height:40px;border-radius:100px;text-transform:uppercase}.adf-start-task-cloud-error{margin-top:-10px;position:absolute;height:20px}.adf-start-task-cloud-error-message{padding-right:8px;height:16px;line-height:1.33;width:auto}.adf-error,.adf-error-text,.adf-error-icon{color:var(--theme-warn-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatFormFieldModule }, { 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: MatProgressBarModule }, { kind: "component", type: i5$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "pipe", type: InitialUsernamePipe, name: "usernameInitials" }, { kind: "pipe", type: FullNamePipe, name: "fullName" }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i9.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i9.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i9.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i9.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { 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: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], animations: [
5159
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: PeopleCloudComponent, isStandalone: true, selector: "adf-cloud-people", inputs: { label: "label", appName: "appName", mode: "mode", roles: "roles", validate: "validate", readOnly: "readOnly", required: "required", preSelectUsers: "preSelectUsers", excludedUsers: "excludedUsers", groupsRestriction: "groupsRestriction", userChipsCtrl: "userChipsCtrl", searchUserCtrl: "searchUserCtrl", title: "title", placeholder: "placeholder", hideInputOnSingleSelection: "hideInputOnSingleSelection", formFieldAppearance: "formFieldAppearance", formFieldSubscriptSizing: "formFieldSubscriptSizing", showErrors: "showErrors", showFullNameOnHover: "showFullNameOnHover" }, outputs: { selectUser: "selectUser", removeUser: "removeUser", changedUsers: "changedUsers", warning: "warning" }, providers: [FullNamePipe], viewQueries: [{ propertyName: "userInput", first: true, predicate: ["userInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<form>\n <mat-form-field\n [subscriptSizing]=\"formFieldSubscriptSizing\"\n class=\"adf-people-cloud adf-form-field-input\"\n [class.adf-invalid]=\"hasError() && isDirty()\"\n >\n <mat-label *ngIf=\"!title\">\n <span>{{label}}</span>\n </mat-label>\n <mat-label *ngIf=\"title\">{{ title | translate }}</mat-label>\n\n <mat-chip-grid [required]=\"required\" #userMultipleChipList data-automation-id=\"adf-cloud-people-chip-list\">\n <mat-chip-row\n *ngFor=\"let user of selectedUsers\"\n [removable]=\"!user.readonly\"\n [attr.data-automation-id]=\"'adf-people-cloud-chip-' + user.username\"\n (removed)=\"onRemove(user)\"\n [disabled]=\"isReadonly() || isValidationLoading()\"\n title=\"{{ (user.readonly ? 'ADF_CLOUD_GROUPS.MANDATORY' : '') | translate }}\"\n [matTooltip]=\"showFullNameOnHover ? (user | fullName : true) : user.email\"\n >\n {{ user | fullName }}\n <mat-icon\n matChipRemove\n *ngIf=\"!(user.readonly || readOnly)\"\n [attr.data-automation-id]=\"'adf-people-cloud-chip-remove-icon-' + user.username\"\n >\n cancel\n </mat-icon>\n </mat-chip-row>\n <input\n matInput\n [disabled]=\"isReadonly()\"\n [formControl]=\"searchUserCtrl\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"userMultipleChipList\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [disabled]=\"isReadonly() || isValidationLoading()\"\n (focus)=\"setFocus(true)\"\n (blur)=\"setFocus(false); markAsTouched()\"\n class=\"adf-cloud-input\"\n data-automation-id=\"adf-people-cloud-search-input\"\n #userInput\n />\n </mat-chip-grid>\n\n <mat-autocomplete\n autoActiveFirstOption\n class=\"adf-people-cloud-list\"\n #auto=\"matAutocomplete\"\n (optionSelected)=\"onSelect($event.option.value)\"\n [displayWith]=\"getDisplayName\"\n >\n <ng-container *ngIf=\"(searchUsers$ | async)?.length; else noResults\">\n <mat-option *ngFor=\"let user of searchUsers$ | async; let i = index\" [value]=\"user\" class=\"adf-people-cloud-option-active\">\n <div class=\"adf-people-cloud-row\" id=\"adf-people-cloud-user-{{ user.username }}\" data-automation-id=\"adf-people-cloud-row\">\n <div [outerHTML]=\"user | usernameInitials : 'adf-people-cloud-pic'\"></div>\n <span class=\"adf-people-label-name\"> {{ user | fullName : true }}</span>\n </div>\n </mat-option>\n </ng-container>\n <ng-template #noResults>\n <mat-option\n *ngIf=\"searchUserCtrl.hasError('searchTypingError') && !searchLoading\"\n disabled\n class=\"adf-people-cloud-option-not-active\"\n data-automation-id=\"adf-people-cloud-no-results\"\n >\n <span> {{ 'ADF_CLOUD_USERS.ERROR.NOT_FOUND' | translate : { userName: searchedValue } }}</span>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n </mat-form-field>\n\n <mat-progress-bar *ngIf=\"validationLoading\" mode=\"indeterminate\" />\n\n <div class=\"adf-error-container adf-error-messages-container\" *ngIf=\"showErrors\">\n <mat-error *ngIf=\"hasPreselectError() && !isValidationLoading()\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_USERS.ERROR.NOT_FOUND' | translate : { userName: validateUsersMessage } }}</div>\n </mat-error>\n <mat-error *ngIf=\"searchUserCtrl.hasError('pattern')\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.INVALID_PATTERN' | translate : { pattern: getValidationPattern() } }}</div>\n </mat-error>\n <mat-error *ngIf=\"searchUserCtrl.hasError('maxlength')\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">\n {{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.INVALID_MAX_LENGTH' | translate : { requiredLength: getValidationMaxLength() } }}\n </div>\n </mat-error>\n <mat-error *ngIf=\"searchUserCtrl.hasError('minlength')\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">\n {{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.INVALID_MIN_LENGTH' | translate : { requiredLength: getValidationMinLength() } }}\n </div>\n </mat-error>\n <mat-error\n *ngIf=\"(searchUserCtrl.hasError('required') || userChipsCtrl.hasError('required')) && isDirty()\"\n [@transitionMessages]=\"subscriptAnimationState\"\n class=\"adf-error\"\n >\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.REQUIRED' | translate }}</div>\n </mat-error>\n <mat-error\n *ngIf=\"searchUserCtrl.hasError('searchTypingError') && !this.isFocused\"\n [@transitionMessages]=\"subscriptAnimationState\"\n data-automation-id=\"invalid-users-typing-error\"\n class=\"adf-error\"\n >\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_USERS.ERROR.NOT_FOUND' | translate : { userName: searchedValue } }}</div>\n </mat-error>\n </div>\n</form>\n", styles: [".adf-people-cloud{width:100%}.adf-people-cloud-option-not-active:not(.adf-people-cloud:active){background:inherit;color:var(--adf-theme-foreground-secondary-text-color)}.adf-people-cloud-title{color:var(--adf-theme-foreground-secondary-text-color)}.adf-people-cloud-title--focus{color:var(--theme-primary-color)}.adf-people-cloud-list{margin:5px 0;padding:10px 0}.adf-people-cloud-option-active:not(.adf:disabled){color:var(--adf-theme-foreground-text-color)}.adf-people-cloud-option-not-active:not(.adf:active){color:var(--adf-theme-foreground-secondary-text-color)}.adf-people-cloud-row{display:flex;align-items:center;column-gap:10px}.adf-people-cloud-pic{background:var(--theme-primary-color);display:flex;justify-content:center;align-items:center;width:40px;height:40px;border-radius:100px;text-transform:uppercase}.adf-start-task-cloud-error{margin-top:-10px;position:absolute;height:20px}.adf-start-task-cloud-error-message{padding-right:8px;height:16px;line-height:1.33;width:auto}.adf-error,.adf-error-text,.adf-error-icon{color:var(--theme-warn-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatFormFieldModule }, { 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: MatProgressBarModule }, { kind: "component", type: i5$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "pipe", type: InitialUsernamePipe, name: "usernameInitials" }, { kind: "pipe", type: FullNamePipe, name: "fullName" }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i9.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i9.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i9.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i9.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { 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: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], animations: [
5198
5160
  trigger('transitionMessages', [
5199
5161
  state('enter', style({ opacity: 1, transform: 'translateY(0%)' })),
5200
5162
  transition('void => enter', [style({ opacity: 0, transform: 'translateY(-100%)' }), animate('300ms cubic-bezier(0.55, 0, 0.55, 0.2)')])
@@ -5222,7 +5184,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
5222
5184
  state('enter', style({ opacity: 1, transform: 'translateY(0%)' })),
5223
5185
  transition('void => enter', [style({ opacity: 0, transform: 'translateY(-100%)' }), animate('300ms cubic-bezier(0.55, 0, 0.55, 0.2)')])
5224
5186
  ])
5225
- ], encapsulation: ViewEncapsulation.None, template: "<form>\n <mat-form-field\n [subscriptSizing]=\"formFieldSubscriptSizing\"\n [floatLabel]=\"'auto'\"\n class=\"adf-people-cloud adf-form-field-input\"\n [class.adf-invalid]=\"hasError() && isDirty()\"\n >\n <mat-label *ngIf=\"!title\">\n <span>{{label}}</span>\n </mat-label>\n <mat-label *ngIf=\"title\">{{ title | translate }}</mat-label>\n\n <mat-chip-grid [required]=\"required\" #userMultipleChipList data-automation-id=\"adf-cloud-people-chip-list\">\n <mat-chip-row\n *ngFor=\"let user of selectedUsers\"\n [removable]=\"!user.readonly\"\n [attr.data-automation-id]=\"'adf-people-cloud-chip-' + user.username\"\n (removed)=\"onRemove(user)\"\n [disabled]=\"isReadonly() || isValidationLoading()\"\n title=\"{{ (user.readonly ? 'ADF_CLOUD_GROUPS.MANDATORY' : '') | translate }}\"\n [matTooltip]=\"showFullNameOnHover ? (user | fullName : true) : user.email\"\n >\n {{ user | fullName }}\n <mat-icon\n matChipRemove\n *ngIf=\"!(user.readonly || readOnly)\"\n [attr.data-automation-id]=\"'adf-people-cloud-chip-remove-icon-' + user.username\"\n >\n cancel\n </mat-icon>\n </mat-chip-row>\n <input\n matInput\n [disabled]=\"isReadonly()\"\n [formControl]=\"searchUserCtrl\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"userMultipleChipList\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [disabled]=\"isReadonly() || isValidationLoading()\"\n (focus)=\"setFocus(true)\"\n (blur)=\"setFocus(false); markAsTouched()\"\n class=\"adf-cloud-input\"\n data-automation-id=\"adf-people-cloud-search-input\"\n #userInput\n />\n </mat-chip-grid>\n\n <mat-autocomplete\n autoActiveFirstOption\n class=\"adf-people-cloud-list\"\n #auto=\"matAutocomplete\"\n (optionSelected)=\"onSelect($event.option.value)\"\n [displayWith]=\"getDisplayName\"\n >\n <ng-container *ngIf=\"(searchUsers$ | async)?.length; else noResults\">\n <mat-option *ngFor=\"let user of searchUsers$ | async; let i = index\" [value]=\"user\" class=\"adf-people-cloud-option-active\">\n <div class=\"adf-people-cloud-row\" id=\"adf-people-cloud-user-{{ user.username }}\" data-automation-id=\"adf-people-cloud-row\">\n <div [outerHTML]=\"user | usernameInitials : 'adf-people-cloud-pic'\"></div>\n <span class=\"adf-people-label-name\"> {{ user | fullName : true }}</span>\n </div>\n </mat-option>\n </ng-container>\n <ng-template #noResults>\n <mat-option\n *ngIf=\"searchUserCtrl.hasError('searchTypingError') && !searchLoading\"\n disabled\n class=\"adf-people-cloud-option-not-active\"\n data-automation-id=\"adf-people-cloud-no-results\"\n >\n <span> {{ 'ADF_CLOUD_USERS.ERROR.NOT_FOUND' | translate : { userName: searchedValue } }}</span>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n </mat-form-field>\n\n <mat-progress-bar *ngIf=\"validationLoading\" mode=\"indeterminate\" />\n\n <div class=\"adf-error-container adf-error-messages-container\" *ngIf=\"showErrors\">\n <mat-error *ngIf=\"hasPreselectError() && !isValidationLoading()\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_USERS.ERROR.NOT_FOUND' | translate : { userName: validateUsersMessage } }}</div>\n </mat-error>\n <mat-error *ngIf=\"searchUserCtrl.hasError('pattern')\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.INVALID_PATTERN' | translate : { pattern: getValidationPattern() } }}</div>\n </mat-error>\n <mat-error *ngIf=\"searchUserCtrl.hasError('maxlength')\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">\n {{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.INVALID_MAX_LENGTH' | translate : { requiredLength: getValidationMaxLength() } }}\n </div>\n </mat-error>\n <mat-error *ngIf=\"searchUserCtrl.hasError('minlength')\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">\n {{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.INVALID_MIN_LENGTH' | translate : { requiredLength: getValidationMinLength() } }}\n </div>\n </mat-error>\n <mat-error\n *ngIf=\"(searchUserCtrl.hasError('required') || userChipsCtrl.hasError('required')) && isDirty()\"\n [@transitionMessages]=\"subscriptAnimationState\"\n class=\"adf-error\"\n >\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.REQUIRED' | translate }}</div>\n </mat-error>\n <mat-error\n *ngIf=\"searchUserCtrl.hasError('searchTypingError') && !this.isFocused\"\n [@transitionMessages]=\"subscriptAnimationState\"\n data-automation-id=\"invalid-users-typing-error\"\n class=\"adf-error\"\n >\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_USERS.ERROR.NOT_FOUND' | translate : { userName: searchedValue } }}</div>\n </mat-error>\n </div>\n</form>\n", styles: [".adf-people-cloud{width:100%}.adf-people-cloud-option-not-active:not(.adf-people-cloud:active){background:inherit;color:var(--adf-theme-foreground-secondary-text-color)}.adf-people-cloud-title{color:var(--adf-theme-foreground-secondary-text-color)}.adf-people-cloud-title--focus{color:var(--theme-primary-color)}.adf-people-cloud-list{margin:5px 0;padding:10px 0}.adf-people-cloud-option-active:not(.adf:disabled){color:var(--adf-theme-foreground-text-color)}.adf-people-cloud-option-not-active:not(.adf:active){color:var(--adf-theme-foreground-secondary-text-color)}.adf-people-cloud-row{display:flex;align-items:center;column-gap:10px}.adf-people-cloud-pic{background:var(--theme-primary-color);display:flex;justify-content:center;align-items:center;width:40px;height:40px;border-radius:100px;text-transform:uppercase}.adf-start-task-cloud-error{margin-top:-10px;position:absolute;height:20px}.adf-start-task-cloud-error-message{padding-right:8px;height:16px;line-height:1.33;width:auto}.adf-error,.adf-error-text,.adf-error-icon{color:var(--theme-warn-color)}\n"] }]
5187
+ ], encapsulation: ViewEncapsulation.None, template: "<form>\n <mat-form-field\n [subscriptSizing]=\"formFieldSubscriptSizing\"\n class=\"adf-people-cloud adf-form-field-input\"\n [class.adf-invalid]=\"hasError() && isDirty()\"\n >\n <mat-label *ngIf=\"!title\">\n <span>{{label}}</span>\n </mat-label>\n <mat-label *ngIf=\"title\">{{ title | translate }}</mat-label>\n\n <mat-chip-grid [required]=\"required\" #userMultipleChipList data-automation-id=\"adf-cloud-people-chip-list\">\n <mat-chip-row\n *ngFor=\"let user of selectedUsers\"\n [removable]=\"!user.readonly\"\n [attr.data-automation-id]=\"'adf-people-cloud-chip-' + user.username\"\n (removed)=\"onRemove(user)\"\n [disabled]=\"isReadonly() || isValidationLoading()\"\n title=\"{{ (user.readonly ? 'ADF_CLOUD_GROUPS.MANDATORY' : '') | translate }}\"\n [matTooltip]=\"showFullNameOnHover ? (user | fullName : true) : user.email\"\n >\n {{ user | fullName }}\n <mat-icon\n matChipRemove\n *ngIf=\"!(user.readonly || readOnly)\"\n [attr.data-automation-id]=\"'adf-people-cloud-chip-remove-icon-' + user.username\"\n >\n cancel\n </mat-icon>\n </mat-chip-row>\n <input\n matInput\n [disabled]=\"isReadonly()\"\n [formControl]=\"searchUserCtrl\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"userMultipleChipList\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [disabled]=\"isReadonly() || isValidationLoading()\"\n (focus)=\"setFocus(true)\"\n (blur)=\"setFocus(false); markAsTouched()\"\n class=\"adf-cloud-input\"\n data-automation-id=\"adf-people-cloud-search-input\"\n #userInput\n />\n </mat-chip-grid>\n\n <mat-autocomplete\n autoActiveFirstOption\n class=\"adf-people-cloud-list\"\n #auto=\"matAutocomplete\"\n (optionSelected)=\"onSelect($event.option.value)\"\n [displayWith]=\"getDisplayName\"\n >\n <ng-container *ngIf=\"(searchUsers$ | async)?.length; else noResults\">\n <mat-option *ngFor=\"let user of searchUsers$ | async; let i = index\" [value]=\"user\" class=\"adf-people-cloud-option-active\">\n <div class=\"adf-people-cloud-row\" id=\"adf-people-cloud-user-{{ user.username }}\" data-automation-id=\"adf-people-cloud-row\">\n <div [outerHTML]=\"user | usernameInitials : 'adf-people-cloud-pic'\"></div>\n <span class=\"adf-people-label-name\"> {{ user | fullName : true }}</span>\n </div>\n </mat-option>\n </ng-container>\n <ng-template #noResults>\n <mat-option\n *ngIf=\"searchUserCtrl.hasError('searchTypingError') && !searchLoading\"\n disabled\n class=\"adf-people-cloud-option-not-active\"\n data-automation-id=\"adf-people-cloud-no-results\"\n >\n <span> {{ 'ADF_CLOUD_USERS.ERROR.NOT_FOUND' | translate : { userName: searchedValue } }}</span>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n </mat-form-field>\n\n <mat-progress-bar *ngIf=\"validationLoading\" mode=\"indeterminate\" />\n\n <div class=\"adf-error-container adf-error-messages-container\" *ngIf=\"showErrors\">\n <mat-error *ngIf=\"hasPreselectError() && !isValidationLoading()\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_USERS.ERROR.NOT_FOUND' | translate : { userName: validateUsersMessage } }}</div>\n </mat-error>\n <mat-error *ngIf=\"searchUserCtrl.hasError('pattern')\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.INVALID_PATTERN' | translate : { pattern: getValidationPattern() } }}</div>\n </mat-error>\n <mat-error *ngIf=\"searchUserCtrl.hasError('maxlength')\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">\n {{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.INVALID_MAX_LENGTH' | translate : { requiredLength: getValidationMaxLength() } }}\n </div>\n </mat-error>\n <mat-error *ngIf=\"searchUserCtrl.hasError('minlength')\" [@transitionMessages]=\"subscriptAnimationState\" class=\"adf-error\">\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">\n {{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.INVALID_MIN_LENGTH' | translate : { requiredLength: getValidationMinLength() } }}\n </div>\n </mat-error>\n <mat-error\n *ngIf=\"(searchUserCtrl.hasError('required') || userChipsCtrl.hasError('required')) && isDirty()\"\n [@transitionMessages]=\"subscriptAnimationState\"\n class=\"adf-error\"\n >\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_PEOPLE_GROUPS.ERROR.REQUIRED' | translate }}</div>\n </mat-error>\n <mat-error\n *ngIf=\"searchUserCtrl.hasError('searchTypingError') && !this.isFocused\"\n [@transitionMessages]=\"subscriptAnimationState\"\n data-automation-id=\"invalid-users-typing-error\"\n class=\"adf-error\"\n >\n <mat-icon class=\"adf-error-icon\">error_outline</mat-icon>\n <div class=\"adf-error-text\">{{ 'ADF_CLOUD_USERS.ERROR.NOT_FOUND' | translate : { userName: searchedValue } }}</div>\n </mat-error>\n </div>\n</form>\n", styles: [".adf-people-cloud{width:100%}.adf-people-cloud-option-not-active:not(.adf-people-cloud:active){background:inherit;color:var(--adf-theme-foreground-secondary-text-color)}.adf-people-cloud-title{color:var(--adf-theme-foreground-secondary-text-color)}.adf-people-cloud-title--focus{color:var(--theme-primary-color)}.adf-people-cloud-list{margin:5px 0;padding:10px 0}.adf-people-cloud-option-active:not(.adf:disabled){color:var(--adf-theme-foreground-text-color)}.adf-people-cloud-option-not-active:not(.adf:active){color:var(--adf-theme-foreground-secondary-text-color)}.adf-people-cloud-row{display:flex;align-items:center;column-gap:10px}.adf-people-cloud-pic{background:var(--theme-primary-color);display:flex;justify-content:center;align-items:center;width:40px;height:40px;border-radius:100px;text-transform:uppercase}.adf-start-task-cloud-error{margin-top:-10px;position:absolute;height:20px}.adf-start-task-cloud-error-message{padding-right:8px;height:16px;line-height:1.33;width:auto}.adf-error,.adf-error-text,.adf-error-icon{color:var(--theme-warn-color)}\n"] }]
5226
5188
  }], ctorParameters: () => [{ type: IdentityUserService }], propDecorators: { label: [{
5227
5189
  type: Input
5228
5190
  }], appName: [{
@@ -5499,7 +5461,7 @@ class GroupCloudComponent {
5499
5461
  this.invalidGroups.push(group);
5500
5462
  }
5501
5463
  }
5502
- catch (error) {
5464
+ catch {
5503
5465
  this.invalidGroups.push(group);
5504
5466
  }
5505
5467
  }
@@ -6694,7 +6656,7 @@ class FormCloudService extends BaseCloudService {
6694
6656
  *
6695
6657
  * @param json JSON data to create the form
6696
6658
  * @param data Values for the form's fields
6697
- * @param readOnly Toggles whether or not the form should be read-only
6659
+ * @param readOnly Toggles whether the form should be read-only
6698
6660
  * @returns Form created from the JSON specification
6699
6661
  */
6700
6662
  parseForm(json, data, readOnly = false) {
@@ -6971,6 +6933,16 @@ class FormCloudComponent extends FormBaseComponent {
6971
6933
  this.appName = '';
6972
6934
  /** Toggle rendering of the `Complete` button. */
6973
6935
  this.showCompleteButton = false;
6936
+ /**
6937
+ * Custom text for the `Save` button.
6938
+ * If not provided, the default text will be used.
6939
+ */
6940
+ this.customSaveButtonText = '';
6941
+ /**
6942
+ * Custom text for the `Complete` button.
6943
+ * If not provided, the default text will be used.
6944
+ */
6945
+ this.customCompleteButtonText = '';
6974
6946
  /** Emitted when the form is submitted with the `Save` or custom outcomes. */
6975
6947
  this.formSaved = new EventEmitter();
6976
6948
  /** Emitted when the form is submitted with the `Complete` outcome. */
@@ -7099,6 +7071,15 @@ class FormCloudComponent extends FormBaseComponent {
7099
7071
  }
7100
7072
  }));
7101
7073
  }
7074
+ getCustomOutcomeButtonText(outcome) {
7075
+ if (outcome?.id === FormModel.SAVE_OUTCOME || outcome?.name === FormOutcomeModel.SAVE_ACTION) {
7076
+ return this.customSaveButtonText;
7077
+ }
7078
+ else if (outcome?.id === FormModel.COMPLETE_OUTCOME || outcome?.name === FormOutcomeModel.COMPLETE_ACTION) {
7079
+ return this.customCompleteButtonText;
7080
+ }
7081
+ return '';
7082
+ }
7102
7083
  isAProcessTask(taskRepresentation) {
7103
7084
  return taskRepresentation.processDefinitionId && taskRepresentation.processDefinitionDeploymentId !== 'null';
7104
7085
  }
@@ -7131,17 +7112,20 @@ class FormCloudComponent extends FormBaseComponent {
7131
7112
  delete flattenForm.formDefinition;
7132
7113
  return flattenForm;
7133
7114
  }), takeUntilDestroyed(this.destroyRef))
7134
- .subscribe((form) => {
7135
- this.formCloudRepresentationJSON = form;
7136
- this.formCloudRepresentationJSON.processVariables = this.data || [];
7137
- const parsedForm = this.parseForm(form);
7138
- this.visibilityService.refreshVisibility(parsedForm);
7139
- parsedForm?.validateForm();
7140
- this.form = parsedForm;
7141
- this.form.nodeId = '-my-';
7142
- this.onFormLoaded(this.form);
7143
- }, (error) => {
7144
- this.handleError(error);
7115
+ .subscribe({
7116
+ next: (form) => {
7117
+ this.formCloudRepresentationJSON = form;
7118
+ this.formCloudRepresentationJSON.processVariables = this.data || [];
7119
+ const parsedForm = this.parseForm(form);
7120
+ this.visibilityService.refreshVisibility(parsedForm);
7121
+ parsedForm?.validateForm();
7122
+ this.form = parsedForm;
7123
+ this.form.nodeId = '-my-';
7124
+ this.onFormLoaded(this.form);
7125
+ },
7126
+ error: (error) => {
7127
+ this.handleError(error);
7128
+ }
7145
7129
  });
7146
7130
  }
7147
7131
  saveTaskForm() {
@@ -7149,9 +7133,12 @@ class FormCloudComponent extends FormBaseComponent {
7149
7133
  this.formCloudService
7150
7134
  .saveTaskForm(this.appName, this.taskId, this.processInstanceId, `${this.form.id}`, this.form.values)
7151
7135
  .pipe(takeUntilDestroyed(this.destroyRef))
7152
- .subscribe(() => {
7153
- this.onTaskSaved(this.form);
7154
- }, (error) => this.onTaskSavedError(error));
7136
+ .subscribe({
7137
+ next: () => {
7138
+ this.onTaskSaved(this.form);
7139
+ },
7140
+ error: (error) => this.onTaskSavedError(error)
7141
+ });
7155
7142
  this.displayModeService.onSaveTask(this.id, this.displayMode, this.displayModeConfigurations);
7156
7143
  }
7157
7144
  }
@@ -7179,9 +7166,12 @@ class FormCloudComponent extends FormBaseComponent {
7179
7166
  this.formCloudService
7180
7167
  .completeTaskForm(this.appName, this.taskId, this.processInstanceId, `${this.form.id}`, this.form.values, outcome, this.appVersion)
7181
7168
  .pipe(takeUntilDestroyed(this.destroyRef))
7182
- .subscribe(() => {
7183
- this.onTaskCompleted(this.form);
7184
- }, (error) => this.onTaskCompletedError(error));
7169
+ .subscribe({
7170
+ next: () => {
7171
+ this.onTaskCompleted(this.form);
7172
+ },
7173
+ error: (error) => this.onTaskCompletedError(error)
7174
+ });
7185
7175
  }
7186
7176
  }
7187
7177
  parseForm(formCloudRepresentationJSON) {
@@ -7205,7 +7195,7 @@ class FormCloudComponent extends FormBaseComponent {
7205
7195
  * @returns list of form outcomes
7206
7196
  */
7207
7197
  getFormDefinitionOutcomes(form) {
7208
- return [new FormOutcomeModel(form, { id: '$save', name: FormOutcomeModel.SAVE_ACTION, isSystem: true })];
7198
+ return [new FormOutcomeModel(form, { id: FormModel.SAVE_OUTCOME, name: FormOutcomeModel.SAVE_ACTION, isSystem: true })];
7209
7199
  }
7210
7200
  checkVisibility(field) {
7211
7201
  if (field?.form) {
@@ -7260,12 +7250,12 @@ class FormCloudComponent extends FormBaseComponent {
7260
7250
  return this.displayModeService.findConfiguration(FormCloudDisplayMode[displayMode], this.displayModeConfigurations);
7261
7251
  }
7262
7252
  loadInjectedFieldValidators(injectedFieldValidators) {
7263
- if (injectedFieldValidators && injectedFieldValidators?.length) {
7253
+ if (Array.isArray(injectedFieldValidators) && injectedFieldValidators.length) {
7264
7254
  this.fieldValidators = [...this.fieldValidators, ...injectedFieldValidators];
7265
7255
  }
7266
7256
  }
7267
7257
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FormCloudComponent, deps: [{ token: FORM_CLOUD_FIELD_VALIDATORS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
7268
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: FormCloudComponent, isStandalone: true, selector: "adf-cloud-form", inputs: { appName: "appName", appVersion: "appVersion", formId: "formId", processInstanceId: "processInstanceId", taskId: "taskId", data: "data", displayModeConfigurations: "displayModeConfigurations", showCompleteButton: "showCompleteButton" }, outputs: { formSaved: "formSaved", formCompleted: "formCompleted", formLoaded: "formLoaded", formDataRefreshed: "formDataRefreshed", formContentClicked: "formContentClicked", displayModeOn: "displayModeOn", displayModeOff: "displayModeOff" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, providers: [FormCloudSpinnerService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!hasForm()\">\n <ng-content select=\"[empty-form]\" />\n</div>\n\n<div\n *ngIf=\"hasForm()\"\n class=\"adf-cloud-form-container adf-cloud-form-{{ displayConfiguration?.options?.fullscreen ? 'fullscreen' : 'inline' }}-container\"\n [style]=\"formStyle\"\n>\n <div class=\"adf-cloud-form-content\" [cdkTrapFocus]=\"displayConfiguration?.options?.trapFocus\" cdkTrapFocusAutoCapture>\n <adf-toolbar class=\"adf-cloud-form-toolbar\" *ngIf=\"displayConfiguration?.options?.displayToolbar\">\n <div class=\"adf-cloud-form__form-title\">\n <span class=\"adf-cloud-form__display-name\" [title]=\"form.taskName\">\n {{ form.taskName }}\n <ng-container *ngIf=\"!form.taskName\">\n {{ 'FORM.FORM_RENDERER.NAMELESS_TASK' | translate }}\n </ng-container>\n </span>\n </div>\n\n <adf-toolbar-divider *ngIf=\"displayConfiguration?.options?.displayCloseButton\" />\n <button\n *ngIf=\"displayConfiguration?.options?.displayCloseButton\"\n class=\"adf-cloud-form-close-button\"\n data-automation-id=\"adf-toolbar-right-back\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n [attr.data-automation-id]=\"'adf-cloud-form-close-button'\"\n [title]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\"\n (click)=\"switchToDisplayMode()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </adf-toolbar>\n\n <mat-card\n appearance=\"outlined\"\n class=\"adf-cloud-form-content-card\"\n [class.adf-cloud-form-content-card-fullscreen]=\"displayMode === 'fullScreen'\"\n >\n <div class=\"adf-cloud-form-content-card-container\">\n <mat-card-header *ngIf=\"showTitle || showRefreshButton || showValidationIcon\">\n <mat-card-title>\n <h4>\n <div *ngIf=\"showValidationIcon\" class=\"adf-form-validation-button\">\n <i id=\"adf-valid-form-icon\" class=\"material-icons\" *ngIf=\"form.isValid; else no_valid_form\">check_circle</i>\n <ng-template #no_valid_form>\n <i id=\"adf-invalid-form-icon\" class=\"material-icons adf-invalid-color\">error</i>\n </ng-template>\n </div>\n <div\n *ngIf=\"!displayConfiguration?.options?.fullscreen && findDisplayConfiguration('fullScreen')\"\n class=\"adf-cloud-form-fullscreen-button\"\n >\n <button\n mat-icon-button\n (click)=\"switchToDisplayMode('fullScreen')\"\n [attr.data-automation-id]=\"'adf-cloud-form-fullscreen-button'\"\n >\n <mat-icon>fullscreen</mat-icon>\n </button>\n </div>\n <div *ngIf=\"showRefreshButton\" class=\"adf-cloud-form-reload-button\" [title]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\">\n <button mat-icon-button (click)=\"onRefreshClicked()\" [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\">\n <mat-icon>refresh</mat-icon>\n </button>\n </div>\n <span *ngIf=\"isTitleEnabled()\" class=\"adf-cloud-form-title\" [title]=\"form.taskName\"\n >{{ form.taskName }}\n <ng-container *ngIf=\"!form.taskName\">\n {{ 'FORM.FORM_RENDERER.NAMELESS_TASK' | translate }}\n </ng-container>\n </span>\n </h4>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content class=\"adf-form-container-card-content\">\n <adf-form-renderer [formDefinition]=\"form\" [readOnly]=\"readOnly\" />\n </mat-card-content>\n <mat-card-actions *ngIf=\"form.hasOutcomes()\" class=\"adf-cloud-form-content-card-actions\" align=\"end\">\n <ng-content select=\"adf-cloud-form-custom-outcomes\" />\n <ng-container *ngFor=\"let outcome of form.outcomes\">\n <button\n *ngIf=\"outcome.isVisible\"\n [id]=\"'adf-form-' + outcome.name | formatSpace\"\n [color]=\"getColorForOutcome(outcome.name)\"\n mat-button\n [disabled]=\"!isOutcomeButtonEnabled(outcome)\"\n [class.adf-form-hide-button]=\"!isOutcomeButtonVisible(outcome, form.readOnly)\"\n class=\"adf-cloud-form-custom-outcome-button\"\n (click)=\"onOutcomeClicked(outcome)\"\n >\n {{ outcome.name | translate | uppercase }}\n </button>\n </ng-container>\n </mat-card-actions>\n </div>\n </mat-card>\n </div>\n</div>\n", styles: [".adf-full-screen,.adf-cloud-form-inline-container,.adf-cloud-form-container .adf-cloud-form-content{width:100%;height:100%;background-color:var(--adf-theme-background-card-color)}.adf-cloud-form-container .adf-cloud-form-content{flex:1;flex-direction:column;display:flex;position:relative}.adf-cloud-form-fullscreen-container .adf-cloud-form-content{position:fixed;top:0;left:0;z-index:100000}.adf-cloud-form-toolbar .mat-toolbar{background-color:var(--adf-theme-background-card-color-087)}.adf-cloud-form-fullscreen-button{position:absolute;right:70px;top:30px}.adf-cloud-form__display-name{font-size:var(--theme-subheading-2-font-size);opacity:.87;line-height:1.5;letter-spacing:-.4px;font-weight:400;font-style:normal;font-stretch:normal;max-width:400px;text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:middle;color:var(--adf-theme-foreground-text-color)}.adf-cloud-form__form-title{text-align:center;flex:1 1 auto}.adf-cloud-form-content-card{padding-bottom:2em;overflow-y:auto;position:static;height:70%}.adf-cloud-form-content-card-fullscreen{padding:0;height:100%;width:100%;position:relative}.adf-cloud-form-content-card-fullscreen-container{display:flex;flex-direction:column;height:100%}.adf-cloud-form-content-card-fullscreen-container .mat-mdc-card-content{height:100%;overflow:hidden auto}.adf-cloud-form-content-card-container .adf-form-container-card-content{padding-left:1%;padding-right:1%}.adf-cloud-form-sidebars{display:flex;flex:1 1 auto}.adf-cloud-form-sidebars adf-viewer-render{order:1;flex:1 1 auto;display:flex}.adf-cloud-form .adf-label{white-space:normal}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: FormatSpacePipe, name: "formatSpace" }, { 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: "ngmodule", type: MatCardModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i4.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: FormRendererComponent, selector: "adf-form-renderer", inputs: ["formDefinition", "readOnly"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ToolbarDividerComponent, selector: "adf-toolbar-divider" }, { kind: "component", type: ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i5$2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] }); }
7258
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: FormCloudComponent, isStandalone: true, selector: "adf-cloud-form", inputs: { appName: "appName", appVersion: "appVersion", formId: "formId", processInstanceId: "processInstanceId", taskId: "taskId", data: "data", displayModeConfigurations: "displayModeConfigurations", showCompleteButton: "showCompleteButton", customSaveButtonText: "customSaveButtonText", customCompleteButtonText: "customCompleteButtonText" }, outputs: { formSaved: "formSaved", formCompleted: "formCompleted", formLoaded: "formLoaded", formDataRefreshed: "formDataRefreshed", formContentClicked: "formContentClicked", displayModeOn: "displayModeOn", displayModeOff: "displayModeOff" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, providers: [FormCloudSpinnerService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!hasForm()\">\n <ng-content select=\"[empty-form]\" />\n</div>\n\n<div\n *ngIf=\"hasForm()\"\n class=\"adf-cloud-form-container adf-cloud-form-{{ displayConfiguration?.options?.fullscreen ? 'fullscreen' : 'inline' }}-container\"\n [style]=\"formStyle\"\n>\n <div class=\"adf-cloud-form-content\" [cdkTrapFocus]=\"displayConfiguration?.options?.trapFocus\" cdkTrapFocusAutoCapture>\n <adf-toolbar class=\"adf-cloud-form-toolbar\" *ngIf=\"displayConfiguration?.options?.displayToolbar\">\n <div class=\"adf-cloud-form__form-title\">\n <span class=\"adf-cloud-form__display-name\" [title]=\"form.taskName\">\n {{ form.taskName }}\n <ng-container *ngIf=\"!form.taskName\">\n {{ 'FORM.FORM_RENDERER.NAMELESS_TASK' | translate }}\n </ng-container>\n </span>\n </div>\n\n <adf-toolbar-divider *ngIf=\"displayConfiguration?.options?.displayCloseButton\" />\n <button\n *ngIf=\"displayConfiguration?.options?.displayCloseButton\"\n class=\"adf-cloud-form-close-button\"\n data-automation-id=\"adf-toolbar-right-back\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n [attr.data-automation-id]=\"'adf-cloud-form-close-button'\"\n [title]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\"\n (click)=\"switchToDisplayMode()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </adf-toolbar>\n\n <mat-card\n appearance=\"outlined\"\n class=\"adf-cloud-form-content-card\"\n [class.adf-cloud-form-content-card-fullscreen]=\"displayMode === 'fullScreen'\"\n >\n <div class=\"adf-cloud-form-content-card-container\">\n <mat-card-header *ngIf=\"showTitle || showRefreshButton || showValidationIcon\">\n <mat-card-title>\n <h4>\n <div *ngIf=\"showValidationIcon\" class=\"adf-form-validation-button\">\n <i id=\"adf-valid-form-icon\" class=\"material-icons\" *ngIf=\"form.isValid; else no_valid_form\">check_circle</i>\n <ng-template #no_valid_form>\n <i id=\"adf-invalid-form-icon\" class=\"material-icons adf-invalid-color\">error</i>\n </ng-template>\n </div>\n <div\n *ngIf=\"!displayConfiguration?.options?.fullscreen && findDisplayConfiguration('fullScreen')\"\n class=\"adf-cloud-form-fullscreen-button\"\n >\n <button\n mat-icon-button\n (click)=\"switchToDisplayMode('fullScreen')\"\n [attr.data-automation-id]=\"'adf-cloud-form-fullscreen-button'\"\n >\n <mat-icon>fullscreen</mat-icon>\n </button>\n </div>\n <div *ngIf=\"showRefreshButton\" class=\"adf-cloud-form-reload-button\" [title]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\">\n <button mat-icon-button (click)=\"onRefreshClicked()\" [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\">\n <mat-icon>refresh</mat-icon>\n </button>\n </div>\n <span *ngIf=\"isTitleEnabled()\" class=\"adf-cloud-form-title\" [title]=\"form.taskName\"\n >{{ form.taskName }}\n <ng-container *ngIf=\"!form.taskName\">\n {{ 'FORM.FORM_RENDERER.NAMELESS_TASK' | translate }}\n </ng-container>\n </span>\n </h4>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content class=\"adf-form-container-card-content\">\n <adf-form-renderer [formDefinition]=\"form\" [readOnly]=\"readOnly\" />\n </mat-card-content>\n <mat-card-actions *ngIf=\"form.hasOutcomes()\" class=\"adf-cloud-form-content-card-actions\" align=\"end\">\n <ng-content select=\"adf-cloud-form-custom-outcomes\" />\n <ng-container *ngFor=\"let outcome of form.outcomes\">\n <button\n *ngIf=\"outcome.isVisible\"\n [id]=\"'adf-form-' + outcome.name | formatSpace\"\n [color]=\"getColorForOutcome(outcome.name)\"\n mat-button\n [disabled]=\"!isOutcomeButtonEnabled(outcome)\"\n [class.adf-form-hide-button]=\"!isOutcomeButtonVisible(outcome, form.readOnly)\"\n class=\"adf-cloud-form-custom-outcome-button\"\n (click)=\"onOutcomeClicked(outcome)\"\n >\n {{ getCustomOutcomeButtonText(outcome) || (outcome.name | translate | uppercase) }}\n </button>\n </ng-container>\n </mat-card-actions>\n </div>\n </mat-card>\n </div>\n</div>\n", styles: [".adf-full-screen,.adf-cloud-form-inline-container,.adf-cloud-form-container .adf-cloud-form-content{width:100%;height:100%;background-color:var(--adf-theme-background-card-color)}.adf-cloud-form-container .adf-cloud-form-content{flex:1;flex-direction:column;display:flex;position:relative}.adf-cloud-form-fullscreen-container .adf-cloud-form-content{position:fixed;top:0;left:0;z-index:100000}.adf-cloud-form-toolbar .mat-toolbar{background-color:var(--adf-theme-background-card-color-087)}.adf-cloud-form-fullscreen-button{position:absolute;right:70px;top:30px}.adf-cloud-form__display-name{font-size:var(--theme-subheading-2-font-size);opacity:.87;line-height:1.5;letter-spacing:-.4px;font-weight:400;font-style:normal;font-stretch:normal;max-width:400px;text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:middle;color:var(--adf-theme-foreground-text-color)}.adf-cloud-form__form-title{text-align:center;flex:1 1 auto}.adf-cloud-form-content-card{padding-bottom:2em;overflow-y:auto;position:static;height:70%}.adf-cloud-form-content-card-fullscreen{padding:0;height:100%;width:100%;position:relative}.adf-cloud-form-content-card-fullscreen-container{display:flex;flex-direction:column;height:100%}.adf-cloud-form-content-card-fullscreen-container .mat-mdc-card-content{height:100%;overflow:hidden auto}.adf-cloud-form-content-card-container .adf-form-container-card-content{padding-left:1%;padding-right:1%}.adf-cloud-form-sidebars{display:flex;flex:1 1 auto}.adf-cloud-form-sidebars adf-viewer-render{order:1;flex:1 1 auto;display:flex}.adf-cloud-form .adf-label{white-space:normal}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: FormatSpacePipe, name: "formatSpace" }, { 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: "ngmodule", type: MatCardModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i4.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: FormRendererComponent, selector: "adf-form-renderer", inputs: ["formDefinition", "readOnly"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ToolbarDividerComponent, selector: "adf-toolbar-divider" }, { kind: "component", type: ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i5$2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] }); }
7269
7259
  }
7270
7260
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FormCloudComponent, decorators: [{
7271
7261
  type: Component,
@@ -7280,7 +7270,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
7280
7270
  ToolbarDividerComponent,
7281
7271
  ToolbarComponent,
7282
7272
  A11yModule
7283
- ], providers: [FormCloudSpinnerService], template: "<div *ngIf=\"!hasForm()\">\n <ng-content select=\"[empty-form]\" />\n</div>\n\n<div\n *ngIf=\"hasForm()\"\n class=\"adf-cloud-form-container adf-cloud-form-{{ displayConfiguration?.options?.fullscreen ? 'fullscreen' : 'inline' }}-container\"\n [style]=\"formStyle\"\n>\n <div class=\"adf-cloud-form-content\" [cdkTrapFocus]=\"displayConfiguration?.options?.trapFocus\" cdkTrapFocusAutoCapture>\n <adf-toolbar class=\"adf-cloud-form-toolbar\" *ngIf=\"displayConfiguration?.options?.displayToolbar\">\n <div class=\"adf-cloud-form__form-title\">\n <span class=\"adf-cloud-form__display-name\" [title]=\"form.taskName\">\n {{ form.taskName }}\n <ng-container *ngIf=\"!form.taskName\">\n {{ 'FORM.FORM_RENDERER.NAMELESS_TASK' | translate }}\n </ng-container>\n </span>\n </div>\n\n <adf-toolbar-divider *ngIf=\"displayConfiguration?.options?.displayCloseButton\" />\n <button\n *ngIf=\"displayConfiguration?.options?.displayCloseButton\"\n class=\"adf-cloud-form-close-button\"\n data-automation-id=\"adf-toolbar-right-back\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n [attr.data-automation-id]=\"'adf-cloud-form-close-button'\"\n [title]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\"\n (click)=\"switchToDisplayMode()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </adf-toolbar>\n\n <mat-card\n appearance=\"outlined\"\n class=\"adf-cloud-form-content-card\"\n [class.adf-cloud-form-content-card-fullscreen]=\"displayMode === 'fullScreen'\"\n >\n <div class=\"adf-cloud-form-content-card-container\">\n <mat-card-header *ngIf=\"showTitle || showRefreshButton || showValidationIcon\">\n <mat-card-title>\n <h4>\n <div *ngIf=\"showValidationIcon\" class=\"adf-form-validation-button\">\n <i id=\"adf-valid-form-icon\" class=\"material-icons\" *ngIf=\"form.isValid; else no_valid_form\">check_circle</i>\n <ng-template #no_valid_form>\n <i id=\"adf-invalid-form-icon\" class=\"material-icons adf-invalid-color\">error</i>\n </ng-template>\n </div>\n <div\n *ngIf=\"!displayConfiguration?.options?.fullscreen && findDisplayConfiguration('fullScreen')\"\n class=\"adf-cloud-form-fullscreen-button\"\n >\n <button\n mat-icon-button\n (click)=\"switchToDisplayMode('fullScreen')\"\n [attr.data-automation-id]=\"'adf-cloud-form-fullscreen-button'\"\n >\n <mat-icon>fullscreen</mat-icon>\n </button>\n </div>\n <div *ngIf=\"showRefreshButton\" class=\"adf-cloud-form-reload-button\" [title]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\">\n <button mat-icon-button (click)=\"onRefreshClicked()\" [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\">\n <mat-icon>refresh</mat-icon>\n </button>\n </div>\n <span *ngIf=\"isTitleEnabled()\" class=\"adf-cloud-form-title\" [title]=\"form.taskName\"\n >{{ form.taskName }}\n <ng-container *ngIf=\"!form.taskName\">\n {{ 'FORM.FORM_RENDERER.NAMELESS_TASK' | translate }}\n </ng-container>\n </span>\n </h4>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content class=\"adf-form-container-card-content\">\n <adf-form-renderer [formDefinition]=\"form\" [readOnly]=\"readOnly\" />\n </mat-card-content>\n <mat-card-actions *ngIf=\"form.hasOutcomes()\" class=\"adf-cloud-form-content-card-actions\" align=\"end\">\n <ng-content select=\"adf-cloud-form-custom-outcomes\" />\n <ng-container *ngFor=\"let outcome of form.outcomes\">\n <button\n *ngIf=\"outcome.isVisible\"\n [id]=\"'adf-form-' + outcome.name | formatSpace\"\n [color]=\"getColorForOutcome(outcome.name)\"\n mat-button\n [disabled]=\"!isOutcomeButtonEnabled(outcome)\"\n [class.adf-form-hide-button]=\"!isOutcomeButtonVisible(outcome, form.readOnly)\"\n class=\"adf-cloud-form-custom-outcome-button\"\n (click)=\"onOutcomeClicked(outcome)\"\n >\n {{ outcome.name | translate | uppercase }}\n </button>\n </ng-container>\n </mat-card-actions>\n </div>\n </mat-card>\n </div>\n</div>\n", styles: [".adf-full-screen,.adf-cloud-form-inline-container,.adf-cloud-form-container .adf-cloud-form-content{width:100%;height:100%;background-color:var(--adf-theme-background-card-color)}.adf-cloud-form-container .adf-cloud-form-content{flex:1;flex-direction:column;display:flex;position:relative}.adf-cloud-form-fullscreen-container .adf-cloud-form-content{position:fixed;top:0;left:0;z-index:100000}.adf-cloud-form-toolbar .mat-toolbar{background-color:var(--adf-theme-background-card-color-087)}.adf-cloud-form-fullscreen-button{position:absolute;right:70px;top:30px}.adf-cloud-form__display-name{font-size:var(--theme-subheading-2-font-size);opacity:.87;line-height:1.5;letter-spacing:-.4px;font-weight:400;font-style:normal;font-stretch:normal;max-width:400px;text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:middle;color:var(--adf-theme-foreground-text-color)}.adf-cloud-form__form-title{text-align:center;flex:1 1 auto}.adf-cloud-form-content-card{padding-bottom:2em;overflow-y:auto;position:static;height:70%}.adf-cloud-form-content-card-fullscreen{padding:0;height:100%;width:100%;position:relative}.adf-cloud-form-content-card-fullscreen-container{display:flex;flex-direction:column;height:100%}.adf-cloud-form-content-card-fullscreen-container .mat-mdc-card-content{height:100%;overflow:hidden auto}.adf-cloud-form-content-card-container .adf-form-container-card-content{padding-left:1%;padding-right:1%}.adf-cloud-form-sidebars{display:flex;flex:1 1 auto}.adf-cloud-form-sidebars adf-viewer-render{order:1;flex:1 1 auto;display:flex}.adf-cloud-form .adf-label{white-space:normal}\n"] }]
7273
+ ], providers: [FormCloudSpinnerService], template: "<div *ngIf=\"!hasForm()\">\n <ng-content select=\"[empty-form]\" />\n</div>\n\n<div\n *ngIf=\"hasForm()\"\n class=\"adf-cloud-form-container adf-cloud-form-{{ displayConfiguration?.options?.fullscreen ? 'fullscreen' : 'inline' }}-container\"\n [style]=\"formStyle\"\n>\n <div class=\"adf-cloud-form-content\" [cdkTrapFocus]=\"displayConfiguration?.options?.trapFocus\" cdkTrapFocusAutoCapture>\n <adf-toolbar class=\"adf-cloud-form-toolbar\" *ngIf=\"displayConfiguration?.options?.displayToolbar\">\n <div class=\"adf-cloud-form__form-title\">\n <span class=\"adf-cloud-form__display-name\" [title]=\"form.taskName\">\n {{ form.taskName }}\n <ng-container *ngIf=\"!form.taskName\">\n {{ 'FORM.FORM_RENDERER.NAMELESS_TASK' | translate }}\n </ng-container>\n </span>\n </div>\n\n <adf-toolbar-divider *ngIf=\"displayConfiguration?.options?.displayCloseButton\" />\n <button\n *ngIf=\"displayConfiguration?.options?.displayCloseButton\"\n class=\"adf-cloud-form-close-button\"\n data-automation-id=\"adf-toolbar-right-back\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n [attr.data-automation-id]=\"'adf-cloud-form-close-button'\"\n [title]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\"\n (click)=\"switchToDisplayMode()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </adf-toolbar>\n\n <mat-card\n appearance=\"outlined\"\n class=\"adf-cloud-form-content-card\"\n [class.adf-cloud-form-content-card-fullscreen]=\"displayMode === 'fullScreen'\"\n >\n <div class=\"adf-cloud-form-content-card-container\">\n <mat-card-header *ngIf=\"showTitle || showRefreshButton || showValidationIcon\">\n <mat-card-title>\n <h4>\n <div *ngIf=\"showValidationIcon\" class=\"adf-form-validation-button\">\n <i id=\"adf-valid-form-icon\" class=\"material-icons\" *ngIf=\"form.isValid; else no_valid_form\">check_circle</i>\n <ng-template #no_valid_form>\n <i id=\"adf-invalid-form-icon\" class=\"material-icons adf-invalid-color\">error</i>\n </ng-template>\n </div>\n <div\n *ngIf=\"!displayConfiguration?.options?.fullscreen && findDisplayConfiguration('fullScreen')\"\n class=\"adf-cloud-form-fullscreen-button\"\n >\n <button\n mat-icon-button\n (click)=\"switchToDisplayMode('fullScreen')\"\n [attr.data-automation-id]=\"'adf-cloud-form-fullscreen-button'\"\n >\n <mat-icon>fullscreen</mat-icon>\n </button>\n </div>\n <div *ngIf=\"showRefreshButton\" class=\"adf-cloud-form-reload-button\" [title]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\">\n <button mat-icon-button (click)=\"onRefreshClicked()\" [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\">\n <mat-icon>refresh</mat-icon>\n </button>\n </div>\n <span *ngIf=\"isTitleEnabled()\" class=\"adf-cloud-form-title\" [title]=\"form.taskName\"\n >{{ form.taskName }}\n <ng-container *ngIf=\"!form.taskName\">\n {{ 'FORM.FORM_RENDERER.NAMELESS_TASK' | translate }}\n </ng-container>\n </span>\n </h4>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content class=\"adf-form-container-card-content\">\n <adf-form-renderer [formDefinition]=\"form\" [readOnly]=\"readOnly\" />\n </mat-card-content>\n <mat-card-actions *ngIf=\"form.hasOutcomes()\" class=\"adf-cloud-form-content-card-actions\" align=\"end\">\n <ng-content select=\"adf-cloud-form-custom-outcomes\" />\n <ng-container *ngFor=\"let outcome of form.outcomes\">\n <button\n *ngIf=\"outcome.isVisible\"\n [id]=\"'adf-form-' + outcome.name | formatSpace\"\n [color]=\"getColorForOutcome(outcome.name)\"\n mat-button\n [disabled]=\"!isOutcomeButtonEnabled(outcome)\"\n [class.adf-form-hide-button]=\"!isOutcomeButtonVisible(outcome, form.readOnly)\"\n class=\"adf-cloud-form-custom-outcome-button\"\n (click)=\"onOutcomeClicked(outcome)\"\n >\n {{ getCustomOutcomeButtonText(outcome) || (outcome.name | translate | uppercase) }}\n </button>\n </ng-container>\n </mat-card-actions>\n </div>\n </mat-card>\n </div>\n</div>\n", styles: [".adf-full-screen,.adf-cloud-form-inline-container,.adf-cloud-form-container .adf-cloud-form-content{width:100%;height:100%;background-color:var(--adf-theme-background-card-color)}.adf-cloud-form-container .adf-cloud-form-content{flex:1;flex-direction:column;display:flex;position:relative}.adf-cloud-form-fullscreen-container .adf-cloud-form-content{position:fixed;top:0;left:0;z-index:100000}.adf-cloud-form-toolbar .mat-toolbar{background-color:var(--adf-theme-background-card-color-087)}.adf-cloud-form-fullscreen-button{position:absolute;right:70px;top:30px}.adf-cloud-form__display-name{font-size:var(--theme-subheading-2-font-size);opacity:.87;line-height:1.5;letter-spacing:-.4px;font-weight:400;font-style:normal;font-stretch:normal;max-width:400px;text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:middle;color:var(--adf-theme-foreground-text-color)}.adf-cloud-form__form-title{text-align:center;flex:1 1 auto}.adf-cloud-form-content-card{padding-bottom:2em;overflow-y:auto;position:static;height:70%}.adf-cloud-form-content-card-fullscreen{padding:0;height:100%;width:100%;position:relative}.adf-cloud-form-content-card-fullscreen-container{display:flex;flex-direction:column;height:100%}.adf-cloud-form-content-card-fullscreen-container .mat-mdc-card-content{height:100%;overflow:hidden auto}.adf-cloud-form-content-card-container .adf-form-container-card-content{padding-left:1%;padding-right:1%}.adf-cloud-form-sidebars{display:flex;flex:1 1 auto}.adf-cloud-form-sidebars adf-viewer-render{order:1;flex:1 1 auto;display:flex}.adf-cloud-form .adf-label{white-space:normal}\n"] }]
7284
7274
  }], ctorParameters: () => [{ type: undefined, decorators: [{
7285
7275
  type: Optional
7286
7276
  }, {
@@ -7302,6 +7292,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
7302
7292
  type: Input
7303
7293
  }], showCompleteButton: [{
7304
7294
  type: Input
7295
+ }], customSaveButtonText: [{
7296
+ type: Input
7297
+ }], customCompleteButtonText: [{
7298
+ type: Input
7305
7299
  }], formSaved: [{
7306
7300
  type: Output
7307
7301
  }], formCompleted: [{
@@ -8371,6 +8365,7 @@ class DropdownCloudWidgetComponent extends WidgetComponent {
8371
8365
  });
8372
8366
  }
8373
8367
  updateReactiveFormControl() {
8368
+ this.setFormControlValue();
8374
8369
  this.updateFormControlState();
8375
8370
  this.handleErrors();
8376
8371
  }
@@ -8721,13 +8716,14 @@ class DropdownCloudWidgetComponent extends WidgetComponent {
8721
8716
  }
8722
8717
  }
8723
8718
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DropdownCloudWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
8724
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: DropdownCloudWidgetComponent, isStandalone: true, selector: "dropdown-cloud-widget", usesInheritance: true, ngImport: i0, template: "<div\n class=\"adf-dropdown-widget {{field.className}}\"\n [class.adf-invalid]=\"dropdownControl.invalid && dropdownControl.touched\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span>\n </label>\n </div>\n <div>\n <mat-form-field class=\"adf-form-field-input\">\n @if ( (field.name || this.field?.required) && !field.leftLabels) { <mat-label class=\"adf-label\" [attr.for]=\"field.id\">{{ field.name | translate }}</mat-label> }\n <mat-select\n class=\"adf-select\"\n [formControl]=\"dropdownControl\"\n [id]=\"field.id\"\n [compareWith]=\"compareDropdownValues\"\n [title]=\"field.tooltip\"\n panelClass=\"adf-select-filter\"\n [multiple]=\"field.hasMultipleValues\"\n [disabled]=\"field.readOnly\"\n [required]=\"field.required \"\n >\n <adf-select-filter-input *ngIf=\"showInputFilter\" (change)=\"filter$.next($event)\" />\n\n <mat-option *ngFor=\"let opt of list$ | async\" [value]=\"opt\" [id]=\"opt.id\">{{opt.name}}</mat-option>\n <mat-option id=\"readonlyOption\" *ngIf=\"isReadOnlyType\" [value]=\"field.value\">{{field.value}}</mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"adf-error-messages-container\" *ngIf=\"!previewState && !field.readOnly\">\n <error-widget\n class=\"adf-dropdown-required-message\"\n *ngIf=\"showRequiredMessage\"\n required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\"\n />\n <error-widget\n class=\"adf-dropdown-failed-message\"\n *ngIf=\"isRestApiFailed\"\n required=\"{{ 'FORM.FIELD.REST_API_FAILED' | translate: { hostname: restApiHostName } }}\"\n />\n <error-widget\n class=\"adf-dropdown-failed-message\"\n *ngIf=\"variableOptionsFailed\"\n required=\"{{ 'FORM.FIELD.VARIABLE_DROPDOWN_OPTIONS_FAILED' | translate }}\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-dropdown-widget{width:100%}.adf-dropdown-widget .adf-select{padding-top:0;width:100%}.adf-dropdown-widget .adf-select-filter{font-size:var(--theme-body-1-font-size)}.adf-dropdown-widget-select{width:100%}.adf-dropdown-widget-dropdown-required-message .adf-error-container,.adf-dropdown-widget-dropdown-failed-message .adf-error-container{margin-top:1px}.adf-dropdown-widget .mat-mdc-select-arrow-wrapper{height:auto}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { 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: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: SelectFilterInputComponent, selector: "adf-select-filter-input", outputs: ["change"] }], encapsulation: i0.ViewEncapsulation.None }); }
8719
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: DropdownCloudWidgetComponent, isStandalone: true, selector: "dropdown-cloud-widget", usesInheritance: true, ngImport: i0, template: "<div\n class=\"adf-dropdown-widget {{field.className}}\"\n [class.adf-invalid]=\"dropdownControl.invalid && dropdownControl.touched\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span>\n </label>\n </div>\n <div>\n <mat-form-field class=\"adf-form-field-input\">\n @if ( (field.name || this.field?.required) && !field.leftLabels) {\n <mat-label class=\"adf-label\" [attr.for]=\"field.id\">{{ field.name | translate }}</mat-label> }\n <mat-select\n class=\"adf-select\"\n [formControl]=\"dropdownControl\"\n [id]=\"field.id\"\n [compareWith]=\"compareDropdownValues\"\n [title]=\"field.tooltip\"\n panelClass=\"adf-select-filter\"\n [multiple]=\"field.hasMultipleValues\"\n [disabled]=\"field.readOnly\"\n [required]=\"field.required \"\n >\n <adf-select-filter-input *ngIf=\"showInputFilter\" (change)=\"filter$.next($event)\" />\n\n <mat-option *ngFor=\"let opt of list$ | async\" [value]=\"opt\" [id]=\"opt.id\">{{opt.name}}</mat-option>\n <mat-option id=\"readonlyOption\" *ngIf=\"isReadOnlyType\" [value]=\"field.value\">{{field.value}}</mat-option>\n </mat-select>\n </mat-form-field>\n <div\n class=\"adf-error-messages-container\"\n [ngClass]=\"!previewState && !field.readOnly ? 'adf-error-messages-container-visible' : 'adf-error-messages-container-hidden'\"\n >\n <error-widget class=\"adf-dropdown-required-message\" *ngIf=\"showRequiredMessage\" required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\" />\n <error-widget\n class=\"adf-dropdown-failed-message\"\n *ngIf=\"isRestApiFailed\"\n required=\"{{ 'FORM.FIELD.REST_API_FAILED' | translate: { hostname: restApiHostName } }}\"\n />\n <error-widget\n class=\"adf-dropdown-failed-message\"\n *ngIf=\"variableOptionsFailed\"\n required=\"{{ 'FORM.FIELD.VARIABLE_DROPDOWN_OPTIONS_FAILED' | translate }}\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-dropdown-widget{width:100%}.adf-dropdown-widget .adf-select{padding-top:0;width:100%}.adf-dropdown-widget .adf-select-filter{font-size:var(--theme-body-1-font-size)}.adf-dropdown-widget-select{width:100%}.adf-dropdown-widget-dropdown-required-message .adf-error-container,.adf-dropdown-widget-dropdown-failed-message .adf-error-container{margin-top:1px}.adf-dropdown-widget .mat-mdc-select-arrow-wrapper{height:auto}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { 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: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: SelectFilterInputComponent, selector: "adf-select-filter-input", outputs: ["change"] }], encapsulation: i0.ViewEncapsulation.None }); }
8725
8720
  }
8726
8721
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DropdownCloudWidgetComponent, decorators: [{
8727
8722
  type: Component,
8728
8723
  args: [{ selector: 'dropdown-cloud-widget', encapsulation: ViewEncapsulation.None, imports: [
8729
8724
  NgIf,
8730
8725
  NgFor,
8726
+ NgClass,
8731
8727
  AsyncPipe,
8732
8728
  ReactiveFormsModule,
8733
8729
  MatFormFieldModule,
@@ -8735,7 +8731,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
8735
8731
  ErrorWidgetComponent,
8736
8732
  TranslatePipe,
8737
8733
  SelectFilterInputComponent
8738
- ], template: "<div\n class=\"adf-dropdown-widget {{field.className}}\"\n [class.adf-invalid]=\"dropdownControl.invalid && dropdownControl.touched\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span>\n </label>\n </div>\n <div>\n <mat-form-field class=\"adf-form-field-input\">\n @if ( (field.name || this.field?.required) && !field.leftLabels) { <mat-label class=\"adf-label\" [attr.for]=\"field.id\">{{ field.name | translate }}</mat-label> }\n <mat-select\n class=\"adf-select\"\n [formControl]=\"dropdownControl\"\n [id]=\"field.id\"\n [compareWith]=\"compareDropdownValues\"\n [title]=\"field.tooltip\"\n panelClass=\"adf-select-filter\"\n [multiple]=\"field.hasMultipleValues\"\n [disabled]=\"field.readOnly\"\n [required]=\"field.required \"\n >\n <adf-select-filter-input *ngIf=\"showInputFilter\" (change)=\"filter$.next($event)\" />\n\n <mat-option *ngFor=\"let opt of list$ | async\" [value]=\"opt\" [id]=\"opt.id\">{{opt.name}}</mat-option>\n <mat-option id=\"readonlyOption\" *ngIf=\"isReadOnlyType\" [value]=\"field.value\">{{field.value}}</mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"adf-error-messages-container\" *ngIf=\"!previewState && !field.readOnly\">\n <error-widget\n class=\"adf-dropdown-required-message\"\n *ngIf=\"showRequiredMessage\"\n required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\"\n />\n <error-widget\n class=\"adf-dropdown-failed-message\"\n *ngIf=\"isRestApiFailed\"\n required=\"{{ 'FORM.FIELD.REST_API_FAILED' | translate: { hostname: restApiHostName } }}\"\n />\n <error-widget\n class=\"adf-dropdown-failed-message\"\n *ngIf=\"variableOptionsFailed\"\n required=\"{{ 'FORM.FIELD.VARIABLE_DROPDOWN_OPTIONS_FAILED' | translate }}\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-dropdown-widget{width:100%}.adf-dropdown-widget .adf-select{padding-top:0;width:100%}.adf-dropdown-widget .adf-select-filter{font-size:var(--theme-body-1-font-size)}.adf-dropdown-widget-select{width:100%}.adf-dropdown-widget-dropdown-required-message .adf-error-container,.adf-dropdown-widget-dropdown-failed-message .adf-error-container{margin-top:1px}.adf-dropdown-widget .mat-mdc-select-arrow-wrapper{height:auto}\n"] }]
8734
+ ], template: "<div\n class=\"adf-dropdown-widget {{field.className}}\"\n [class.adf-invalid]=\"dropdownControl.invalid && dropdownControl.touched\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span>\n </label>\n </div>\n <div>\n <mat-form-field class=\"adf-form-field-input\">\n @if ( (field.name || this.field?.required) && !field.leftLabels) {\n <mat-label class=\"adf-label\" [attr.for]=\"field.id\">{{ field.name | translate }}</mat-label> }\n <mat-select\n class=\"adf-select\"\n [formControl]=\"dropdownControl\"\n [id]=\"field.id\"\n [compareWith]=\"compareDropdownValues\"\n [title]=\"field.tooltip\"\n panelClass=\"adf-select-filter\"\n [multiple]=\"field.hasMultipleValues\"\n [disabled]=\"field.readOnly\"\n [required]=\"field.required \"\n >\n <adf-select-filter-input *ngIf=\"showInputFilter\" (change)=\"filter$.next($event)\" />\n\n <mat-option *ngFor=\"let opt of list$ | async\" [value]=\"opt\" [id]=\"opt.id\">{{opt.name}}</mat-option>\n <mat-option id=\"readonlyOption\" *ngIf=\"isReadOnlyType\" [value]=\"field.value\">{{field.value}}</mat-option>\n </mat-select>\n </mat-form-field>\n <div\n class=\"adf-error-messages-container\"\n [ngClass]=\"!previewState && !field.readOnly ? 'adf-error-messages-container-visible' : 'adf-error-messages-container-hidden'\"\n >\n <error-widget class=\"adf-dropdown-required-message\" *ngIf=\"showRequiredMessage\" required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\" />\n <error-widget\n class=\"adf-dropdown-failed-message\"\n *ngIf=\"isRestApiFailed\"\n required=\"{{ 'FORM.FIELD.REST_API_FAILED' | translate: { hostname: restApiHostName } }}\"\n />\n <error-widget\n class=\"adf-dropdown-failed-message\"\n *ngIf=\"variableOptionsFailed\"\n required=\"{{ 'FORM.FIELD.VARIABLE_DROPDOWN_OPTIONS_FAILED' | translate }}\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-dropdown-widget{width:100%}.adf-dropdown-widget .adf-select{padding-top:0;width:100%}.adf-dropdown-widget .adf-select-filter{font-size:var(--theme-body-1-font-size)}.adf-dropdown-widget-select{width:100%}.adf-dropdown-widget-dropdown-required-message .adf-error-container,.adf-dropdown-widget-dropdown-failed-message .adf-error-container{margin-top:1px}.adf-dropdown-widget .mat-mdc-select-arrow-wrapper{height:auto}\n"] }]
8739
8735
  }] });
8740
8736
 
8741
8737
  /*!
@@ -8936,6 +8932,11 @@ class UserTaskCloudButtonsComponent {
8936
8932
  this.appName = '';
8937
8933
  /** Toggle rendering of the `Cancel` button. */
8938
8934
  this.showCancelButton = true;
8935
+ /**
8936
+ * Custom text for the `Cancel` button.
8937
+ * If not provided, the default text will be used.
8938
+ */
8939
+ this.customCancelButtonText = '';
8939
8940
  /** Emitted when any error occurs. */
8940
8941
  this.error = new EventEmitter();
8941
8942
  /** Emitted when the cancel button is clicked. */
@@ -8958,11 +8959,11 @@ class UserTaskCloudButtonsComponent {
8958
8959
  this.cancelClick.emit();
8959
8960
  }
8960
8961
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: UserTaskCloudButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8961
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: UserTaskCloudButtonsComponent, isStandalone: true, selector: "adf-cloud-user-task-cloud-buttons", inputs: { appName: "appName", canClaimTask: "canClaimTask", canUnclaimTask: "canUnclaimTask", taskId: "taskId", showCancelButton: "showCancelButton" }, outputs: { error: "error", cancelClick: "cancelClick", claimTask: "claimTask", unclaimTask: "unclaimTask" }, ngImport: i0, template: "<button\n *ngIf=\"showCancelButton\"\n mat-button\n id=\"adf-cloud-cancel-task\"\n (click)=\"onCancelClick()\"\n>\n {{'ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.CANCEL' | translate}}\n</button>\n<button\n *ngIf=\"canClaimTask\"\n adf-cloud-claim-task\n class=\"adf-user-task-cloud-claim-btn\"\n mat-button\n [appName]=\"appName\"\n [taskId]=\"taskId\"\n (success)=\"onClaimTask()\"\n (error)=\"onError($event)\"\n>\n {{'ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.CLAIM' | translate}}\n</button>\n<button\n *ngIf=\"canUnclaimTask\"\n adf-cloud-unclaim-task\n class=\"adf-user-task-cloud-unclaim-btn\"\n mat-button\n [appName]=\"appName\"\n [taskId]=\"taskId\"\n (success)=\"onUnclaimTask()\"\n (error)=\"onError($event)\"\n>\n {{'ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.UNCLAIM' | translate}}\n</button>\n", styles: ["button{margin-right:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: UnClaimTaskCloudDirective, selector: "[adf-cloud-unclaim-task]", inputs: ["taskId", "appName"], outputs: ["success", "error"] }, { kind: "directive", type: ClaimTaskCloudDirective, selector: "[adf-cloud-claim-task]", inputs: ["taskId", "appName"], outputs: ["success", "error"] }, { 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"] }] }); }
8962
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: UserTaskCloudButtonsComponent, isStandalone: true, selector: "adf-cloud-user-task-cloud-buttons", inputs: { appName: "appName", canClaimTask: "canClaimTask", canUnclaimTask: "canUnclaimTask", taskId: "taskId", showCancelButton: "showCancelButton", customCancelButtonText: "customCancelButtonText" }, outputs: { error: "error", cancelClick: "cancelClick", claimTask: "claimTask", unclaimTask: "unclaimTask" }, ngImport: i0, template: "<button *ngIf=\"showCancelButton\" mat-button id=\"adf-cloud-cancel-task\" (click)=\"onCancelClick()\">\n {{ customCancelButtonText || ('ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.CANCEL' | translate) }}\n</button>\n<button\n *ngIf=\"canClaimTask\"\n adf-cloud-claim-task\n class=\"adf-user-task-cloud-claim-btn\"\n mat-button\n [appName]=\"appName\"\n [taskId]=\"taskId\"\n (success)=\"onClaimTask()\"\n (error)=\"onError($event)\"\n>\n {{ 'ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.CLAIM' | translate }}\n</button>\n<button\n *ngIf=\"canUnclaimTask\"\n adf-cloud-unclaim-task\n class=\"adf-user-task-cloud-unclaim-btn\"\n mat-button\n [appName]=\"appName\"\n [taskId]=\"taskId\"\n (success)=\"onUnclaimTask()\"\n (error)=\"onError($event)\"\n>\n {{ 'ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.UNCLAIM' | translate }}\n</button>\n", styles: ["button{margin-right:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: UnClaimTaskCloudDirective, selector: "[adf-cloud-unclaim-task]", inputs: ["taskId", "appName"], outputs: ["success", "error"] }, { kind: "directive", type: ClaimTaskCloudDirective, selector: "[adf-cloud-claim-task]", inputs: ["taskId", "appName"], outputs: ["success", "error"] }, { 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"] }] }); }
8962
8963
  }
8963
8964
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: UserTaskCloudButtonsComponent, decorators: [{
8964
8965
  type: Component,
8965
- args: [{ selector: 'adf-cloud-user-task-cloud-buttons', imports: [CommonModule, TranslatePipe, UnClaimTaskCloudDirective, ClaimTaskCloudDirective, MatButtonModule], template: "<button\n *ngIf=\"showCancelButton\"\n mat-button\n id=\"adf-cloud-cancel-task\"\n (click)=\"onCancelClick()\"\n>\n {{'ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.CANCEL' | translate}}\n</button>\n<button\n *ngIf=\"canClaimTask\"\n adf-cloud-claim-task\n class=\"adf-user-task-cloud-claim-btn\"\n mat-button\n [appName]=\"appName\"\n [taskId]=\"taskId\"\n (success)=\"onClaimTask()\"\n (error)=\"onError($event)\"\n>\n {{'ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.CLAIM' | translate}}\n</button>\n<button\n *ngIf=\"canUnclaimTask\"\n adf-cloud-unclaim-task\n class=\"adf-user-task-cloud-unclaim-btn\"\n mat-button\n [appName]=\"appName\"\n [taskId]=\"taskId\"\n (success)=\"onUnclaimTask()\"\n (error)=\"onError($event)\"\n>\n {{'ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.UNCLAIM' | translate}}\n</button>\n", styles: ["button{margin-right:8px}\n"] }]
8966
+ args: [{ selector: 'adf-cloud-user-task-cloud-buttons', imports: [CommonModule, TranslatePipe, UnClaimTaskCloudDirective, ClaimTaskCloudDirective, MatButtonModule], template: "<button *ngIf=\"showCancelButton\" mat-button id=\"adf-cloud-cancel-task\" (click)=\"onCancelClick()\">\n {{ customCancelButtonText || ('ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.CANCEL' | translate) }}\n</button>\n<button\n *ngIf=\"canClaimTask\"\n adf-cloud-claim-task\n class=\"adf-user-task-cloud-claim-btn\"\n mat-button\n [appName]=\"appName\"\n [taskId]=\"taskId\"\n (success)=\"onClaimTask()\"\n (error)=\"onError($event)\"\n>\n {{ 'ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.CLAIM' | translate }}\n</button>\n<button\n *ngIf=\"canUnclaimTask\"\n adf-cloud-unclaim-task\n class=\"adf-user-task-cloud-unclaim-btn\"\n mat-button\n [appName]=\"appName\"\n [taskId]=\"taskId\"\n (success)=\"onUnclaimTask()\"\n (error)=\"onError($event)\"\n>\n {{ 'ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.UNCLAIM' | translate }}\n</button>\n", styles: ["button{margin-right:8px}\n"] }]
8966
8967
  }], propDecorators: { appName: [{
8967
8968
  type: Input
8968
8969
  }], canClaimTask: [{
@@ -8973,6 +8974,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
8973
8974
  type: Input
8974
8975
  }], showCancelButton: [{
8975
8976
  type: Input
8977
+ }], customCancelButtonText: [{
8978
+ type: Input
8976
8979
  }], error: [{
8977
8980
  type: Output
8978
8981
  }], cancelClick: [{
@@ -9047,8 +9050,27 @@ class TaskFormCloudComponent {
9047
9050
  this.showCancelButton = true;
9048
9051
  /** Toggle rendering of the `Complete` button. */
9049
9052
  this.showCompleteButton = true;
9053
+ /** Toggle rendering of the `Save` button. */
9054
+ this.showSaveButton = true;
9055
+ /**
9056
+ * Custom text for the `Cancel` button.
9057
+ * If not provided, the default text will be used.
9058
+ */
9059
+ this.customCancelButtonText = '';
9060
+ /**
9061
+ * Custom text for the `Complete` button.
9062
+ * If not provided, the default text will be used.
9063
+ */
9064
+ this.customCompleteButtonText = '';
9065
+ /**
9066
+ * Custom text for the `Save` button.
9067
+ * If not provided, the default text will be used.
9068
+ */
9069
+ this.customSaveButtonText = '';
9050
9070
  /** Toggle readonly state of the task. */
9051
9071
  this.readOnly = false;
9072
+ /** Emitted when the form is loaded or reloaded. */
9073
+ this.formLoaded = new EventEmitter();
9052
9074
  /** Emitted when the form is saved. */
9053
9075
  this.formSaved = new EventEmitter();
9054
9076
  /** Emitted when the form is submitted with the `Complete` outcome. */
@@ -9140,12 +9162,15 @@ class TaskFormCloudComponent {
9140
9162
  onDisplayModeOff(displayModeConfiguration) {
9141
9163
  this.displayModeOff.emit(displayModeConfiguration);
9142
9164
  }
9165
+ onFormLoaded(form) {
9166
+ this.formLoaded.emit(form);
9167
+ }
9143
9168
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TaskFormCloudComponent, deps: [{ token: TaskCloudService }, { token: i1$1.FormRenderingService }], target: i0.ɵɵFactoryTarget.Component }); }
9144
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: TaskFormCloudComponent, isStandalone: true, selector: "adf-cloud-task-form", inputs: { appName: "appName", candidateUsers: "candidateUsers", candidateGroups: "candidateGroups", taskId: "taskId", showTitle: "showTitle", showRefreshButton: "showRefreshButton", showValidationIcon: "showValidationIcon", showCancelButton: "showCancelButton", showCompleteButton: "showCompleteButton", readOnly: "readOnly", displayModeConfigurations: "displayModeConfigurations", taskDetails: "taskDetails" }, outputs: { formSaved: "formSaved", formCompleted: "formCompleted", taskCompleted: "taskCompleted", taskClaimed: "taskClaimed", taskUnclaimed: "taskUnclaimed", cancelClick: "cancelClick", error: "error", formContentClicked: "formContentClicked", executeOutcome: "executeOutcome", displayModeOn: "displayModeOn", displayModeOff: "displayModeOff" }, viewQueries: [{ propertyName: "adfCloudForm", first: true, predicate: ["adfCloudForm"], descendants: true }], ngImport: i0, template: "<div class=\"adf-task-form-cloud-container\">\n <adf-cloud-form\n #adfCloudForm\n [appName]=\"appName\"\n [appVersion]=\"taskDetails.appVersion\"\n [taskId]=\"taskId\"\n [showTitle]=\"showTitle\"\n [processInstanceId]=\"taskDetails.processInstanceId\"\n [readOnly]=\"isReadOnly()\"\n [showRefreshButton]=\"showRefreshButton\"\n [showValidationIcon]=\"showValidationIcon\"\n [showCompleteButton]=\"canCompleteTask()\"\n [showSaveButton]=\"canCompleteTask()\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n (formSaved)=\"onFormSaved($event)\"\n (formCompleted)=\"onFormCompleted($event)\"\n (formError)=\"onError($event)\"\n (error)=\"onError($event)\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (executeOutcome)=\"onFormExecuteOutcome($event)\"\n (displayModeOn)=\"onDisplayModeOn($event)\"\n (displayModeOff)=\"onDisplayModeOff($event)\"\n >\n <adf-cloud-form-custom-outcomes>\n <adf-cloud-user-task-cloud-buttons\n [appName]=\"appName\"\n [canClaimTask]=\"canClaimTask()\"\n [canUnclaimTask]=\"canUnclaimTask()\"\n [showCancelButton]=\"showCancelButton\"\n [taskId]=\"taskId\"\n (cancelClick)=\"onCancelClick()\"\n (claimTask)=\"onClaimTask()\"\n (unclaimTask)=\"onUnclaimTask()\"\n (error)=\"onError($event)\"\n />\n </adf-cloud-form-custom-outcomes>\n </adf-cloud-form>\n</div>\n", styles: [".adf-task-form-cloud-container{height:100%}.adf-task-form-cloud-container .adf-task-form-container{overflow:hidden}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button){padding-bottom:25px;padding-right:25px}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .adf-task-form-actions-button{height:36px;border-radius:5px}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .mdc-button__label{min-width:58px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: UserTaskCloudButtonsComponent, selector: "adf-cloud-user-task-cloud-buttons", inputs: ["appName", "canClaimTask", "canUnclaimTask", "taskId", "showCancelButton"], outputs: ["error", "cancelClick", "claimTask", "unclaimTask"] }, { kind: "component", type: FormCustomOutcomesComponent, selector: "adf-cloud-form-custom-outcomes" }, { kind: "component", type: FormCloudComponent, selector: "adf-cloud-form", inputs: ["appName", "appVersion", "formId", "processInstanceId", "taskId", "data", "displayModeConfigurations", "showCompleteButton"], outputs: ["formSaved", "formCompleted", "formLoaded", "formDataRefreshed", "formContentClicked", "displayModeOn", "displayModeOff"] }], encapsulation: i0.ViewEncapsulation.None }); }
9169
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: TaskFormCloudComponent, isStandalone: true, selector: "adf-cloud-task-form", inputs: { appName: "appName", candidateUsers: "candidateUsers", candidateGroups: "candidateGroups", taskId: "taskId", showTitle: "showTitle", showRefreshButton: "showRefreshButton", showValidationIcon: "showValidationIcon", showCancelButton: "showCancelButton", showCompleteButton: "showCompleteButton", showSaveButton: "showSaveButton", customCancelButtonText: "customCancelButtonText", customCompleteButtonText: "customCompleteButtonText", customSaveButtonText: "customSaveButtonText", readOnly: "readOnly", displayModeConfigurations: "displayModeConfigurations", taskDetails: "taskDetails" }, outputs: { formLoaded: "formLoaded", formSaved: "formSaved", formCompleted: "formCompleted", taskCompleted: "taskCompleted", taskClaimed: "taskClaimed", taskUnclaimed: "taskUnclaimed", cancelClick: "cancelClick", error: "error", formContentClicked: "formContentClicked", executeOutcome: "executeOutcome", displayModeOn: "displayModeOn", displayModeOff: "displayModeOff" }, viewQueries: [{ propertyName: "adfCloudForm", first: true, predicate: ["adfCloudForm"], descendants: true }], ngImport: i0, template: "<div class=\"adf-task-form-cloud-container\">\n <adf-cloud-form\n #adfCloudForm\n [appName]=\"appName\"\n [appVersion]=\"taskDetails.appVersion\"\n [taskId]=\"taskId\"\n [showTitle]=\"showTitle\"\n [processInstanceId]=\"taskDetails.processInstanceId\"\n [readOnly]=\"isReadOnly()\"\n [showRefreshButton]=\"showRefreshButton\"\n [showValidationIcon]=\"showValidationIcon\"\n [showCompleteButton]=\"showCompleteButton && canCompleteTask()\"\n [showSaveButton]=\"showSaveButton && canCompleteTask()\"\n [customSaveButtonText]=\"customSaveButtonText\"\n [customCompleteButtonText]=\"customCompleteButtonText\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n (formLoaded)=\"onFormLoaded($event)\"\n (formSaved)=\"onFormSaved($event)\"\n (formCompleted)=\"onFormCompleted($event)\"\n (formError)=\"onError($event)\"\n (error)=\"onError($event)\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (executeOutcome)=\"onFormExecuteOutcome($event)\"\n (displayModeOn)=\"onDisplayModeOn($event)\"\n (displayModeOff)=\"onDisplayModeOff($event)\"\n >\n <adf-cloud-form-custom-outcomes>\n <adf-cloud-user-task-cloud-buttons\n [appName]=\"appName\"\n [canClaimTask]=\"canClaimTask()\"\n [canUnclaimTask]=\"canUnclaimTask()\"\n [showCancelButton]=\"showCancelButton\"\n [customCancelButtonText]=\"customCancelButtonText\"\n [taskId]=\"taskId\"\n (cancelClick)=\"onCancelClick()\"\n (claimTask)=\"onClaimTask()\"\n (unclaimTask)=\"onUnclaimTask()\"\n (error)=\"onError($event)\"\n />\n </adf-cloud-form-custom-outcomes>\n </adf-cloud-form>\n</div>\n", styles: [".adf-task-form-cloud-container{height:100%}.adf-task-form-cloud-container .adf-task-form-container{overflow:hidden}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button){padding-bottom:25px;padding-right:25px}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .adf-task-form-actions-button{height:36px;border-radius:5px}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .mdc-button__label{min-width:58px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: UserTaskCloudButtonsComponent, selector: "adf-cloud-user-task-cloud-buttons", inputs: ["appName", "canClaimTask", "canUnclaimTask", "taskId", "showCancelButton", "customCancelButtonText"], outputs: ["error", "cancelClick", "claimTask", "unclaimTask"] }, { kind: "component", type: FormCustomOutcomesComponent, selector: "adf-cloud-form-custom-outcomes" }, { 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"] }], encapsulation: i0.ViewEncapsulation.None }); }
9145
9170
  }
9146
9171
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TaskFormCloudComponent, decorators: [{
9147
9172
  type: Component,
9148
- args: [{ selector: 'adf-cloud-task-form', imports: [CommonModule, UserTaskCloudButtonsComponent, FormCustomOutcomesComponent, FormCloudComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-task-form-cloud-container\">\n <adf-cloud-form\n #adfCloudForm\n [appName]=\"appName\"\n [appVersion]=\"taskDetails.appVersion\"\n [taskId]=\"taskId\"\n [showTitle]=\"showTitle\"\n [processInstanceId]=\"taskDetails.processInstanceId\"\n [readOnly]=\"isReadOnly()\"\n [showRefreshButton]=\"showRefreshButton\"\n [showValidationIcon]=\"showValidationIcon\"\n [showCompleteButton]=\"canCompleteTask()\"\n [showSaveButton]=\"canCompleteTask()\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n (formSaved)=\"onFormSaved($event)\"\n (formCompleted)=\"onFormCompleted($event)\"\n (formError)=\"onError($event)\"\n (error)=\"onError($event)\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (executeOutcome)=\"onFormExecuteOutcome($event)\"\n (displayModeOn)=\"onDisplayModeOn($event)\"\n (displayModeOff)=\"onDisplayModeOff($event)\"\n >\n <adf-cloud-form-custom-outcomes>\n <adf-cloud-user-task-cloud-buttons\n [appName]=\"appName\"\n [canClaimTask]=\"canClaimTask()\"\n [canUnclaimTask]=\"canUnclaimTask()\"\n [showCancelButton]=\"showCancelButton\"\n [taskId]=\"taskId\"\n (cancelClick)=\"onCancelClick()\"\n (claimTask)=\"onClaimTask()\"\n (unclaimTask)=\"onUnclaimTask()\"\n (error)=\"onError($event)\"\n />\n </adf-cloud-form-custom-outcomes>\n </adf-cloud-form>\n</div>\n", styles: [".adf-task-form-cloud-container{height:100%}.adf-task-form-cloud-container .adf-task-form-container{overflow:hidden}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button){padding-bottom:25px;padding-right:25px}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .adf-task-form-actions-button{height:36px;border-radius:5px}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .mdc-button__label{min-width:58px}\n"] }]
9173
+ args: [{ selector: 'adf-cloud-task-form', imports: [CommonModule, UserTaskCloudButtonsComponent, FormCustomOutcomesComponent, FormCloudComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-task-form-cloud-container\">\n <adf-cloud-form\n #adfCloudForm\n [appName]=\"appName\"\n [appVersion]=\"taskDetails.appVersion\"\n [taskId]=\"taskId\"\n [showTitle]=\"showTitle\"\n [processInstanceId]=\"taskDetails.processInstanceId\"\n [readOnly]=\"isReadOnly()\"\n [showRefreshButton]=\"showRefreshButton\"\n [showValidationIcon]=\"showValidationIcon\"\n [showCompleteButton]=\"showCompleteButton && canCompleteTask()\"\n [showSaveButton]=\"showSaveButton && canCompleteTask()\"\n [customSaveButtonText]=\"customSaveButtonText\"\n [customCompleteButtonText]=\"customCompleteButtonText\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n (formLoaded)=\"onFormLoaded($event)\"\n (formSaved)=\"onFormSaved($event)\"\n (formCompleted)=\"onFormCompleted($event)\"\n (formError)=\"onError($event)\"\n (error)=\"onError($event)\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (executeOutcome)=\"onFormExecuteOutcome($event)\"\n (displayModeOn)=\"onDisplayModeOn($event)\"\n (displayModeOff)=\"onDisplayModeOff($event)\"\n >\n <adf-cloud-form-custom-outcomes>\n <adf-cloud-user-task-cloud-buttons\n [appName]=\"appName\"\n [canClaimTask]=\"canClaimTask()\"\n [canUnclaimTask]=\"canUnclaimTask()\"\n [showCancelButton]=\"showCancelButton\"\n [customCancelButtonText]=\"customCancelButtonText\"\n [taskId]=\"taskId\"\n (cancelClick)=\"onCancelClick()\"\n (claimTask)=\"onClaimTask()\"\n (unclaimTask)=\"onUnclaimTask()\"\n (error)=\"onError($event)\"\n />\n </adf-cloud-form-custom-outcomes>\n </adf-cloud-form>\n</div>\n", styles: [".adf-task-form-cloud-container{height:100%}.adf-task-form-cloud-container .adf-task-form-container{overflow:hidden}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button){padding-bottom:25px;padding-right:25px}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .adf-task-form-actions-button{height:36px;border-radius:5px}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .mdc-button__label{min-width:58px}\n"] }]
9149
9174
  }], ctorParameters: () => [{ type: TaskCloudService }, { type: i1$1.FormRenderingService }], propDecorators: { appName: [{
9150
9175
  type: Input
9151
9176
  }], candidateUsers: [{
@@ -9164,12 +9189,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
9164
9189
  type: Input
9165
9190
  }], showCompleteButton: [{
9166
9191
  type: Input
9192
+ }], showSaveButton: [{
9193
+ type: Input
9194
+ }], customCancelButtonText: [{
9195
+ type: Input
9196
+ }], customCompleteButtonText: [{
9197
+ type: Input
9198
+ }], customSaveButtonText: [{
9199
+ type: Input
9167
9200
  }], readOnly: [{
9168
9201
  type: Input
9169
9202
  }], displayModeConfigurations: [{
9170
9203
  type: Input
9171
9204
  }], taskDetails: [{
9172
9205
  type: Input
9206
+ }], formLoaded: [{
9207
+ type: Output
9173
9208
  }], formSaved: [{
9174
9209
  type: Output
9175
9210
  }], formCompleted: [{
@@ -9197,6 +9232,115 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
9197
9232
  args: ['adfCloudForm', { static: false }]
9198
9233
  }] } });
9199
9234
 
9235
+ /*!
9236
+ * @license
9237
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
9238
+ *
9239
+ * Licensed under the Apache License, Version 2.0 (the "License");
9240
+ * you may not use this file except in compliance with the License.
9241
+ * You may obtain a copy of the License at
9242
+ *
9243
+ * http://www.apache.org/licenses/LICENSE-2.0
9244
+ *
9245
+ * Unless required by applicable law or agreed to in writing, software
9246
+ * distributed under the License is distributed on an "AS IS" BASIS,
9247
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9248
+ * See the License for the specific language governing permissions and
9249
+ * limitations under the License.
9250
+ */
9251
+ /**
9252
+ * Injection token for custom screens.
9253
+ * This token can be used to inject custom screen components into the application.
9254
+ * It allows for multiple screen components to be registered and injected.
9255
+ */
9256
+ const APP_CUSTOM_SCREEN_TOKEN = new InjectionToken('Injection token for custom screens.');
9257
+ /**
9258
+ * Provides a custom screen component to be used in the application.
9259
+ * This function allows you to register a custom screen component that can be injected
9260
+ * into the application using the `APP_CUSTOM_SCREEN_TOKEN`.
9261
+ *
9262
+ * @param key - A unique key to identify the screen component.
9263
+ * @param component - The screen component to be registered.
9264
+ * @returns A provider that can be used in the Angular dependency injection system.
9265
+ */
9266
+ function provideScreen(key, component) {
9267
+ return {
9268
+ provide: APP_CUSTOM_SCREEN_TOKEN,
9269
+ multi: true,
9270
+ useValue: {
9271
+ key,
9272
+ component
9273
+ }
9274
+ };
9275
+ }
9276
+
9277
+ /*!
9278
+ * @license
9279
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
9280
+ *
9281
+ * Licensed under the Apache License, Version 2.0 (the "License");
9282
+ * you may not use this file except in compliance with the License.
9283
+ * You may obtain a copy of the License at
9284
+ *
9285
+ * http://www.apache.org/licenses/LICENSE-2.0
9286
+ *
9287
+ * Unless required by applicable law or agreed to in writing, software
9288
+ * distributed under the License is distributed on an "AS IS" BASIS,
9289
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9290
+ * See the License for the specific language governing permissions and
9291
+ * limitations under the License.
9292
+ */
9293
+ /**
9294
+ * Service for managing and rendering custom screen components.
9295
+ *
9296
+ * Custom screens can be registered using the {@link provideScreen} helper function
9297
+ * and the {@link APP_CUSTOM_SCREEN_TOKEN} injection token.
9298
+ *
9299
+ * @example
9300
+ * ```
9301
+ * // Register a custom screen in your Angular module providers:
9302
+ * import { provideScreen, ScreenRenderingService } from '@alfresco/adf-process-services-cloud';
9303
+ *
9304
+ * @Component({
9305
+ * template: '<div>My Custom Screen</div>'
9306
+ * })
9307
+ * class MyCustomScreenComponent {}
9308
+ *
9309
+ * @NgModule({
9310
+ * providers: [
9311
+ * provideScreen('my-custom-screen', MyCustomScreenComponent)
9312
+ * ]
9313
+ * })
9314
+ * export class MyModule {}
9315
+ *
9316
+ * // The custom screen can now be resolved and rendered by ScreenRenderingService.
9317
+ * ```
9318
+ */
9319
+ class ScreenRenderingService extends DynamicComponentMapper {
9320
+ constructor() {
9321
+ super();
9322
+ this.customScreens = inject(APP_CUSTOM_SCREEN_TOKEN, { optional: true }) || [];
9323
+ this.registerCustomScreens();
9324
+ }
9325
+ registerCustomScreens() {
9326
+ if (this.customScreens && this.customScreens.length > 0) {
9327
+ this.customScreens.forEach((screen) => {
9328
+ if (!screen)
9329
+ return; // Skip null or undefined screens
9330
+ this.setComponentTypeResolver(screen.key, () => screen.component, true);
9331
+ });
9332
+ }
9333
+ }
9334
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ScreenRenderingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9335
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ScreenRenderingService, providedIn: 'root' }); }
9336
+ }
9337
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ScreenRenderingService, decorators: [{
9338
+ type: Injectable,
9339
+ args: [{
9340
+ providedIn: 'root'
9341
+ }]
9342
+ }], ctorParameters: () => [] });
9343
+
9200
9344
  /*!
9201
9345
  * @license
9202
9346
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -9490,6 +9634,23 @@ class UserTaskCloudComponent {
9490
9634
  this.showCancelButton = true;
9491
9635
  /** Toggle rendering of the `Complete` button. */
9492
9636
  this.showCompleteButton = true;
9637
+ /** Toggle rendering of the `Save` button. */
9638
+ this.showSaveButton = true;
9639
+ /**
9640
+ * Custom text for the `Cancel` button.
9641
+ * If not provided, the default text will be used.
9642
+ */
9643
+ this.customCancelButtonText = '';
9644
+ /**
9645
+ * Custom text for the `Complete` button.
9646
+ * If not provided, the default text will be used.
9647
+ */
9648
+ this.customCompleteButtonText = '';
9649
+ /**
9650
+ * Custom text for the `Save` button.
9651
+ * If not provided, the default text will be used.
9652
+ */
9653
+ this.customSaveButtonText = '';
9493
9654
  /** Toggle rendering of the `Open next task` checkbox (for screens only). */
9494
9655
  this.showNextTaskCheckbox = false;
9495
9656
  /** Whether the `Open next task` checkbox is checked by default or not. */
@@ -9511,6 +9672,8 @@ class UserTaskCloudComponent {
9511
9672
  this.executeOutcome = new EventEmitter();
9512
9673
  /** Emitted when form content is clicked. */
9513
9674
  this.formContentClicked = new EventEmitter();
9675
+ /** Emitted when the form is loaded or reloaded. */
9676
+ this.formLoaded = new EventEmitter();
9514
9677
  /** Emitted when the form is saved. */
9515
9678
  this.formSaved = new EventEmitter();
9516
9679
  /**
@@ -9600,6 +9763,9 @@ class UserTaskCloudComponent {
9600
9763
  onError(data) {
9601
9764
  this.error.emit(data);
9602
9765
  }
9766
+ onFormLoaded(form) {
9767
+ this.formLoaded.emit(form);
9768
+ }
9603
9769
  onExecuteOutcome(outcome) {
9604
9770
  this.executeOutcome.emit(outcome);
9605
9771
  }
@@ -9651,7 +9817,7 @@ class UserTaskCloudComponent {
9651
9817
  }
9652
9818
  }
9653
9819
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: UserTaskCloudComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9654
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: UserTaskCloudComponent, isStandalone: true, selector: "adf-cloud-user-task", inputs: { appName: "appName", displayModeConfigurations: "displayModeConfigurations", readOnly: "readOnly", showCancelButton: "showCancelButton", showCompleteButton: "showCompleteButton", showNextTaskCheckbox: "showNextTaskCheckbox", isNextTaskCheckboxChecked: "isNextTaskCheckboxChecked", showTitle: "showTitle", showValidationIcon: "showValidationIcon", taskId: "taskId" }, outputs: { cancelClick: "cancelClick", error: "error", nextTaskCheckboxCheckedChanged: "nextTaskCheckboxCheckedChanged", executeOutcome: "executeOutcome", formContentClicked: "formContentClicked", formSaved: "formSaved", onTaskLoaded: "onTaskLoaded", taskClaimed: "taskClaimed", taskUnclaimed: "taskUnclaimed", taskCompleted: "taskCompleted" }, viewQueries: [{ propertyName: "adfCloudTaskForm", first: true, predicate: ["adfCloudTaskForm"], descendants: true }, { propertyName: "adfCloudTaskScreen", first: true, predicate: ["adfCloudTaskScreen"], descendants: true }], usesOnChanges: true, ngImport: i0, template: " <div class=\"adf-user-task-cloud-container\">\n <div *ngIf=\"!loading; else loadingTemplate\">\n <ng-container [ngSwitch]=\"taskType\">\n <ng-container *ngSwitchCase=\"taskTypeEnum.Form\">\n <adf-cloud-task-form\n #adfCloudTaskForm\n [appName]=\"appName\"\n [candidateUsers]=\"candidateUsers\"\n [candidateGroups]=\"candidateGroups\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n [showValidationIcon]=\"showValidationIcon\"\n [showTitle]=\"showTitle\"\n [taskId]=\"taskId\"\n [taskDetails]=\"taskDetails\"\n (cancelClick)=\"onCancelForm()\"\n (executeOutcome)=\"onExecuteOutcome($event)\"\n (error)=\"onError($event)\"\n (formSaved)=\"onFormSaved()\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (taskCompleted)=\"onCompleteTaskForm()\"\n (taskClaimed)=\"onClaimTask()\"\n (taskUnclaimed)=\"onTaskUnclaimed()\"\n />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"taskTypeEnum.Screen\">\n <adf-cloud-task-screen\n #adfCloudTaskScreen\n [appName]=\"appName\"\n [canClaimTask]=\"canClaimTask()\"\n [canUnclaimTask]=\"canUnclaimTask()\"\n [processInstanceId]=\"taskDetails.processInstanceId\"\n [rootProcessInstanceId]=\"taskDetails.rootProcessInstanceId\"\n [screenId]=\"screenId\"\n [showCancelButton]=\"showCancelButton\"\n [taskName]=\"taskDetails.name\"\n [taskId]=\"taskId\"\n [showNextTaskCheckbox]=\"showNextTaskCheckbox && canCompleteTask()\"\n [isNextTaskCheckboxChecked]=\"isNextTaskCheckboxChecked\"\n\n (cancelTask)=\"onCancelClick()\"\n (claimTask)=\"onClaimTask()\"\n (error)=\"onError($event)\"\n (taskCompleted)=\"onCompleteTask($event)\"\n (taskSaved)=\"onFormSaved()\"\n (unclaimTask)=\"onUnclaimTask()\"\n (nextTaskCheckboxCheckedChanged)=\"onNextTaskCheckboxCheckedChanged($event)\"\n />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"taskTypeEnum.None\">\n <mat-card appearance=\"outlined\" class=\"adf-task-form-container\">\n <mat-card-header *ngIf=\"showTitle\">\n <mat-card-title>\n <h4>\n <span class=\"adf-form-title\">\n {{ taskDetails?.name || 'FORM.FORM_RENDERER.NAMELESS_TASK' | translate }}\n </span>\n </h4>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <adf-empty-content\n [icon]=\"'description'\"\n [title]=\"'ADF_CLOUD_TASK_FORM.EMPTY_FORM.TITLE'\"\n [subtitle]=\"'ADF_CLOUD_TASK_FORM.EMPTY_FORM.SUBTITLE'\"\n />\n </mat-card-content>\n <mat-card-actions class=\"adf-task-form-actions\" align=\"end\">\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n <button\n *ngIf=\"canCompleteTask()\"\n mat-button\n adf-cloud-complete-task\n [appName]=\"appName\"\n [taskId]=\"taskId\"\n (success)=\"onCompleteTask()\"\n (error)=\"onError($event)\"\n color=\"primary\"\n id=\"adf-form-complete\"\n >\n {{ 'ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.COMPLETE' | translate }}\n </button>\n </mat-card-actions>\n </mat-card>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loadingTemplate>\n <mat-spinner class=\"adf-user-task-cloud-spinner\" />\n</ng-template>\n\n<ng-template #taskFormCloudButtons>\n <adf-cloud-user-task-cloud-buttons\n [appName]=\"appName\"\n [canClaimTask]=\"canClaimTask()\"\n [canUnclaimTask]=\"canUnclaimTask()\"\n [showCancelButton]=\"showCancelButton\"\n [taskId]=\"taskId\"\n (cancelClick)=\"onCancelClick()\"\n (claimTask)=\"onClaimTask()\"\n (unclaimTask)=\"onUnclaimTask()\"\n (error)=\"onError($event)\"\n />\n</ng-template>\n", styles: [".adf-user-task-cloud-container{height:100%}.adf-user-task-cloud-container>div{height:100%}.adf-user-task-cloud-spinner{top:50%;left:50%;transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { 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: "component", type: UserTaskCloudButtonsComponent, selector: "adf-cloud-user-task-cloud-buttons", inputs: ["appName", "canClaimTask", "canUnclaimTask", "taskId", "showCancelButton"], outputs: ["error", "cancelClick", "claimTask", "unclaimTask"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { 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: "ngmodule", type: MatCardModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i4.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: EmptyContentComponent, selector: "adf-empty-content", inputs: ["icon", "title", "subtitle"] }, { kind: "component", type: TaskScreenCloudComponent, selector: "adf-cloud-task-screen", inputs: ["taskId", "appName", "canClaimTask", "canUnclaimTask", "showCancelButton", "screenId", "processInstanceId", "taskName", "readOnly", "rootProcessInstanceId", "isNextTaskCheckboxChecked", "showNextTaskCheckbox"], outputs: ["taskSaved", "taskCompleted", "error", "cancelTask", "claimTask", "unclaimTask", "nextTaskCheckboxCheckedChanged"] }, { kind: "component", type: TaskFormCloudComponent, selector: "adf-cloud-task-form", inputs: ["appName", "candidateUsers", "candidateGroups", "taskId", "showTitle", "showRefreshButton", "showValidationIcon", "showCancelButton", "showCompleteButton", "readOnly", "displayModeConfigurations", "taskDetails"], outputs: ["formSaved", "formCompleted", "taskCompleted", "taskClaimed", "taskUnclaimed", "cancelClick", "error", "formContentClicked", "executeOutcome", "displayModeOn", "displayModeOff"] }, { kind: "directive", type: CompleteTaskDirective, selector: "[adf-cloud-complete-task]", inputs: ["taskId", "appName"], outputs: ["success", "error"] }, { kind: "ngmodule", type: MatCheckboxModule }] }); }
9820
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: UserTaskCloudComponent, isStandalone: true, selector: "adf-cloud-user-task", inputs: { appName: "appName", displayModeConfigurations: "displayModeConfigurations", readOnly: "readOnly", showCancelButton: "showCancelButton", showCompleteButton: "showCompleteButton", showSaveButton: "showSaveButton", customCancelButtonText: "customCancelButtonText", customCompleteButtonText: "customCompleteButtonText", customSaveButtonText: "customSaveButtonText", showNextTaskCheckbox: "showNextTaskCheckbox", isNextTaskCheckboxChecked: "isNextTaskCheckboxChecked", showTitle: "showTitle", showValidationIcon: "showValidationIcon", taskId: "taskId" }, outputs: { cancelClick: "cancelClick", error: "error", nextTaskCheckboxCheckedChanged: "nextTaskCheckboxCheckedChanged", executeOutcome: "executeOutcome", formContentClicked: "formContentClicked", formLoaded: "formLoaded", formSaved: "formSaved", onTaskLoaded: "onTaskLoaded", taskClaimed: "taskClaimed", taskUnclaimed: "taskUnclaimed", taskCompleted: "taskCompleted" }, viewQueries: [{ propertyName: "adfCloudTaskForm", first: true, predicate: ["adfCloudTaskForm"], descendants: true }, { propertyName: "adfCloudTaskScreen", first: true, predicate: ["adfCloudTaskScreen"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"adf-user-task-cloud-container\">\n <div *ngIf=\"!loading; else loadingTemplate\">\n <ng-container [ngSwitch]=\"taskType\">\n <ng-container *ngSwitchCase=\"taskTypeEnum.Form\">\n <adf-cloud-task-form\n #adfCloudTaskForm\n [appName]=\"appName\"\n [candidateUsers]=\"candidateUsers\"\n [candidateGroups]=\"candidateGroups\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n [showValidationIcon]=\"showValidationIcon\"\n [showTitle]=\"showTitle\"\n [taskId]=\"taskId\"\n [taskDetails]=\"taskDetails\"\n [showCancelButton]=\"showCancelButton\"\n [showSaveButton]=\"showSaveButton && canCompleteTask()\"\n [showCompleteButton]=\"showCompleteButton && canCompleteTask()\"\n [customCancelButtonText]=\"customCancelButtonText\"\n [customSaveButtonText]=\"customSaveButtonText\"\n [customCompleteButtonText]=\"customCompleteButtonText\"\n (cancelClick)=\"onCancelForm()\"\n (executeOutcome)=\"onExecuteOutcome($event)\"\n (error)=\"onError($event)\"\n (formLoaded)=\"onFormLoaded($event)\"\n (formSaved)=\"onFormSaved()\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (taskCompleted)=\"onCompleteTaskForm()\"\n (taskClaimed)=\"onClaimTask()\"\n (taskUnclaimed)=\"onTaskUnclaimed()\"\n />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"taskTypeEnum.Screen\">\n <adf-cloud-task-screen\n #adfCloudTaskScreen\n [appName]=\"appName\"\n [canClaimTask]=\"canClaimTask()\"\n [canUnclaimTask]=\"canUnclaimTask()\"\n [processInstanceId]=\"taskDetails.processInstanceId\"\n [rootProcessInstanceId]=\"taskDetails.rootProcessInstanceId\"\n [screenId]=\"screenId\"\n [showCancelButton]=\"showCancelButton\"\n [taskName]=\"taskDetails.name\"\n [taskId]=\"taskId\"\n [showNextTaskCheckbox]=\"showNextTaskCheckbox && canCompleteTask()\"\n [isNextTaskCheckboxChecked]=\"isNextTaskCheckboxChecked\"\n (cancelTask)=\"onCancelClick()\"\n (claimTask)=\"onClaimTask()\"\n (error)=\"onError($event)\"\n (taskCompleted)=\"onCompleteTask($event)\"\n (taskSaved)=\"onFormSaved()\"\n (unclaimTask)=\"onUnclaimTask()\"\n (nextTaskCheckboxCheckedChanged)=\"onNextTaskCheckboxCheckedChanged($event)\"\n />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"taskTypeEnum.None\">\n <mat-card appearance=\"outlined\" class=\"adf-task-form-container\">\n <mat-card-header *ngIf=\"showTitle\">\n <mat-card-title>\n <h4>\n <span class=\"adf-form-title\">\n {{ taskDetails?.name || 'FORM.FORM_RENDERER.NAMELESS_TASK' | translate }}\n </span>\n </h4>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <adf-empty-content\n [icon]=\"'description'\"\n [title]=\"'ADF_CLOUD_TASK_FORM.EMPTY_FORM.TITLE'\"\n [subtitle]=\"'ADF_CLOUD_TASK_FORM.EMPTY_FORM.SUBTITLE'\"\n />\n </mat-card-content>\n <mat-card-actions class=\"adf-task-form-actions\" align=\"end\">\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n <button\n *ngIf=\"canCompleteTask()\"\n mat-button\n adf-cloud-complete-task\n [appName]=\"appName\"\n [taskId]=\"taskId\"\n (success)=\"onCompleteTask()\"\n (error)=\"onError($event)\"\n color=\"primary\"\n id=\"adf-form-complete\"\n >\n {{ customCompleteButtonText || ('ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.COMPLETE' | translate) }}\n </button>\n </mat-card-actions>\n </mat-card>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loadingTemplate>\n <mat-spinner class=\"adf-user-task-cloud-spinner\" />\n</ng-template>\n\n<ng-template #taskFormCloudButtons>\n <adf-cloud-user-task-cloud-buttons\n [appName]=\"appName\"\n [canClaimTask]=\"canClaimTask()\"\n [canUnclaimTask]=\"canUnclaimTask()\"\n [showCancelButton]=\"showCancelButton\"\n [customCancelButtonText]=\"customCancelButtonText\"\n [taskId]=\"taskId\"\n (cancelClick)=\"onCancelClick()\"\n (claimTask)=\"onClaimTask()\"\n (unclaimTask)=\"onUnclaimTask()\"\n (error)=\"onError($event)\"\n />\n</ng-template>\n", styles: [".adf-user-task-cloud-container{height:100%}.adf-user-task-cloud-container>div{height:100%}.adf-user-task-cloud-spinner{top:50%;left:50%;transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { 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: "component", type: UserTaskCloudButtonsComponent, selector: "adf-cloud-user-task-cloud-buttons", inputs: ["appName", "canClaimTask", "canUnclaimTask", "taskId", "showCancelButton", "customCancelButtonText"], outputs: ["error", "cancelClick", "claimTask", "unclaimTask"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { 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: "ngmodule", type: MatCardModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i4.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: EmptyContentComponent, selector: "adf-empty-content", inputs: ["icon", "title", "subtitle"] }, { kind: "component", type: TaskScreenCloudComponent, selector: "adf-cloud-task-screen", inputs: ["taskId", "appName", "canClaimTask", "canUnclaimTask", "showCancelButton", "screenId", "processInstanceId", "taskName", "readOnly", "rootProcessInstanceId", "isNextTaskCheckboxChecked", "showNextTaskCheckbox"], outputs: ["taskSaved", "taskCompleted", "error", "cancelTask", "claimTask", "unclaimTask", "nextTaskCheckboxCheckedChanged"] }, { kind: "component", type: TaskFormCloudComponent, selector: "adf-cloud-task-form", inputs: ["appName", "candidateUsers", "candidateGroups", "taskId", "showTitle", "showRefreshButton", "showValidationIcon", "showCancelButton", "showCompleteButton", "showSaveButton", "customCancelButtonText", "customCompleteButtonText", "customSaveButtonText", "readOnly", "displayModeConfigurations", "taskDetails"], outputs: ["formLoaded", "formSaved", "formCompleted", "taskCompleted", "taskClaimed", "taskUnclaimed", "cancelClick", "error", "formContentClicked", "executeOutcome", "displayModeOn", "displayModeOff"] }, { kind: "directive", type: CompleteTaskDirective, selector: "[adf-cloud-complete-task]", inputs: ["taskId", "appName"], outputs: ["success", "error"] }, { kind: "ngmodule", type: MatCheckboxModule }] }); }
9655
9821
  }
9656
9822
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: UserTaskCloudComponent, decorators: [{
9657
9823
  type: Component,
@@ -9667,7 +9833,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
9667
9833
  TaskFormCloudComponent,
9668
9834
  CompleteTaskDirective,
9669
9835
  MatCheckboxModule
9670
- ], template: " <div class=\"adf-user-task-cloud-container\">\n <div *ngIf=\"!loading; else loadingTemplate\">\n <ng-container [ngSwitch]=\"taskType\">\n <ng-container *ngSwitchCase=\"taskTypeEnum.Form\">\n <adf-cloud-task-form\n #adfCloudTaskForm\n [appName]=\"appName\"\n [candidateUsers]=\"candidateUsers\"\n [candidateGroups]=\"candidateGroups\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n [showValidationIcon]=\"showValidationIcon\"\n [showTitle]=\"showTitle\"\n [taskId]=\"taskId\"\n [taskDetails]=\"taskDetails\"\n (cancelClick)=\"onCancelForm()\"\n (executeOutcome)=\"onExecuteOutcome($event)\"\n (error)=\"onError($event)\"\n (formSaved)=\"onFormSaved()\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (taskCompleted)=\"onCompleteTaskForm()\"\n (taskClaimed)=\"onClaimTask()\"\n (taskUnclaimed)=\"onTaskUnclaimed()\"\n />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"taskTypeEnum.Screen\">\n <adf-cloud-task-screen\n #adfCloudTaskScreen\n [appName]=\"appName\"\n [canClaimTask]=\"canClaimTask()\"\n [canUnclaimTask]=\"canUnclaimTask()\"\n [processInstanceId]=\"taskDetails.processInstanceId\"\n [rootProcessInstanceId]=\"taskDetails.rootProcessInstanceId\"\n [screenId]=\"screenId\"\n [showCancelButton]=\"showCancelButton\"\n [taskName]=\"taskDetails.name\"\n [taskId]=\"taskId\"\n [showNextTaskCheckbox]=\"showNextTaskCheckbox && canCompleteTask()\"\n [isNextTaskCheckboxChecked]=\"isNextTaskCheckboxChecked\"\n\n (cancelTask)=\"onCancelClick()\"\n (claimTask)=\"onClaimTask()\"\n (error)=\"onError($event)\"\n (taskCompleted)=\"onCompleteTask($event)\"\n (taskSaved)=\"onFormSaved()\"\n (unclaimTask)=\"onUnclaimTask()\"\n (nextTaskCheckboxCheckedChanged)=\"onNextTaskCheckboxCheckedChanged($event)\"\n />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"taskTypeEnum.None\">\n <mat-card appearance=\"outlined\" class=\"adf-task-form-container\">\n <mat-card-header *ngIf=\"showTitle\">\n <mat-card-title>\n <h4>\n <span class=\"adf-form-title\">\n {{ taskDetails?.name || 'FORM.FORM_RENDERER.NAMELESS_TASK' | translate }}\n </span>\n </h4>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <adf-empty-content\n [icon]=\"'description'\"\n [title]=\"'ADF_CLOUD_TASK_FORM.EMPTY_FORM.TITLE'\"\n [subtitle]=\"'ADF_CLOUD_TASK_FORM.EMPTY_FORM.SUBTITLE'\"\n />\n </mat-card-content>\n <mat-card-actions class=\"adf-task-form-actions\" align=\"end\">\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n <button\n *ngIf=\"canCompleteTask()\"\n mat-button\n adf-cloud-complete-task\n [appName]=\"appName\"\n [taskId]=\"taskId\"\n (success)=\"onCompleteTask()\"\n (error)=\"onError($event)\"\n color=\"primary\"\n id=\"adf-form-complete\"\n >\n {{ 'ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.COMPLETE' | translate }}\n </button>\n </mat-card-actions>\n </mat-card>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loadingTemplate>\n <mat-spinner class=\"adf-user-task-cloud-spinner\" />\n</ng-template>\n\n<ng-template #taskFormCloudButtons>\n <adf-cloud-user-task-cloud-buttons\n [appName]=\"appName\"\n [canClaimTask]=\"canClaimTask()\"\n [canUnclaimTask]=\"canUnclaimTask()\"\n [showCancelButton]=\"showCancelButton\"\n [taskId]=\"taskId\"\n (cancelClick)=\"onCancelClick()\"\n (claimTask)=\"onClaimTask()\"\n (unclaimTask)=\"onUnclaimTask()\"\n (error)=\"onError($event)\"\n />\n</ng-template>\n", styles: [".adf-user-task-cloud-container{height:100%}.adf-user-task-cloud-container>div{height:100%}.adf-user-task-cloud-spinner{top:50%;left:50%;transform:translate(-50%,-50%)}\n"] }]
9836
+ ], template: "<div class=\"adf-user-task-cloud-container\">\n <div *ngIf=\"!loading; else loadingTemplate\">\n <ng-container [ngSwitch]=\"taskType\">\n <ng-container *ngSwitchCase=\"taskTypeEnum.Form\">\n <adf-cloud-task-form\n #adfCloudTaskForm\n [appName]=\"appName\"\n [candidateUsers]=\"candidateUsers\"\n [candidateGroups]=\"candidateGroups\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n [showValidationIcon]=\"showValidationIcon\"\n [showTitle]=\"showTitle\"\n [taskId]=\"taskId\"\n [taskDetails]=\"taskDetails\"\n [showCancelButton]=\"showCancelButton\"\n [showSaveButton]=\"showSaveButton && canCompleteTask()\"\n [showCompleteButton]=\"showCompleteButton && canCompleteTask()\"\n [customCancelButtonText]=\"customCancelButtonText\"\n [customSaveButtonText]=\"customSaveButtonText\"\n [customCompleteButtonText]=\"customCompleteButtonText\"\n (cancelClick)=\"onCancelForm()\"\n (executeOutcome)=\"onExecuteOutcome($event)\"\n (error)=\"onError($event)\"\n (formLoaded)=\"onFormLoaded($event)\"\n (formSaved)=\"onFormSaved()\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (taskCompleted)=\"onCompleteTaskForm()\"\n (taskClaimed)=\"onClaimTask()\"\n (taskUnclaimed)=\"onTaskUnclaimed()\"\n />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"taskTypeEnum.Screen\">\n <adf-cloud-task-screen\n #adfCloudTaskScreen\n [appName]=\"appName\"\n [canClaimTask]=\"canClaimTask()\"\n [canUnclaimTask]=\"canUnclaimTask()\"\n [processInstanceId]=\"taskDetails.processInstanceId\"\n [rootProcessInstanceId]=\"taskDetails.rootProcessInstanceId\"\n [screenId]=\"screenId\"\n [showCancelButton]=\"showCancelButton\"\n [taskName]=\"taskDetails.name\"\n [taskId]=\"taskId\"\n [showNextTaskCheckbox]=\"showNextTaskCheckbox && canCompleteTask()\"\n [isNextTaskCheckboxChecked]=\"isNextTaskCheckboxChecked\"\n (cancelTask)=\"onCancelClick()\"\n (claimTask)=\"onClaimTask()\"\n (error)=\"onError($event)\"\n (taskCompleted)=\"onCompleteTask($event)\"\n (taskSaved)=\"onFormSaved()\"\n (unclaimTask)=\"onUnclaimTask()\"\n (nextTaskCheckboxCheckedChanged)=\"onNextTaskCheckboxCheckedChanged($event)\"\n />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"taskTypeEnum.None\">\n <mat-card appearance=\"outlined\" class=\"adf-task-form-container\">\n <mat-card-header *ngIf=\"showTitle\">\n <mat-card-title>\n <h4>\n <span class=\"adf-form-title\">\n {{ taskDetails?.name || 'FORM.FORM_RENDERER.NAMELESS_TASK' | translate }}\n </span>\n </h4>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content>\n <adf-empty-content\n [icon]=\"'description'\"\n [title]=\"'ADF_CLOUD_TASK_FORM.EMPTY_FORM.TITLE'\"\n [subtitle]=\"'ADF_CLOUD_TASK_FORM.EMPTY_FORM.SUBTITLE'\"\n />\n </mat-card-content>\n <mat-card-actions class=\"adf-task-form-actions\" align=\"end\">\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n <button\n *ngIf=\"canCompleteTask()\"\n mat-button\n adf-cloud-complete-task\n [appName]=\"appName\"\n [taskId]=\"taskId\"\n (success)=\"onCompleteTask()\"\n (error)=\"onError($event)\"\n color=\"primary\"\n id=\"adf-form-complete\"\n >\n {{ customCompleteButtonText || ('ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.COMPLETE' | translate) }}\n </button>\n </mat-card-actions>\n </mat-card>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #loadingTemplate>\n <mat-spinner class=\"adf-user-task-cloud-spinner\" />\n</ng-template>\n\n<ng-template #taskFormCloudButtons>\n <adf-cloud-user-task-cloud-buttons\n [appName]=\"appName\"\n [canClaimTask]=\"canClaimTask()\"\n [canUnclaimTask]=\"canUnclaimTask()\"\n [showCancelButton]=\"showCancelButton\"\n [customCancelButtonText]=\"customCancelButtonText\"\n [taskId]=\"taskId\"\n (cancelClick)=\"onCancelClick()\"\n (claimTask)=\"onClaimTask()\"\n (unclaimTask)=\"onUnclaimTask()\"\n (error)=\"onError($event)\"\n />\n</ng-template>\n", styles: [".adf-user-task-cloud-container{height:100%}.adf-user-task-cloud-container>div{height:100%}.adf-user-task-cloud-spinner{top:50%;left:50%;transform:translate(-50%,-50%)}\n"] }]
9671
9837
  }], propDecorators: { adfCloudTaskForm: [{
9672
9838
  type: ViewChild,
9673
9839
  args: ['adfCloudTaskForm']
@@ -9684,6 +9850,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
9684
9850
  type: Input
9685
9851
  }], showCompleteButton: [{
9686
9852
  type: Input
9853
+ }], showSaveButton: [{
9854
+ type: Input
9855
+ }], customCancelButtonText: [{
9856
+ type: Input
9857
+ }], customCompleteButtonText: [{
9858
+ type: Input
9859
+ }], customSaveButtonText: [{
9860
+ type: Input
9687
9861
  }], showNextTaskCheckbox: [{
9688
9862
  type: Input
9689
9863
  }], isNextTaskCheckboxChecked: [{
@@ -9704,6 +9878,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
9704
9878
  type: Output
9705
9879
  }], formContentClicked: [{
9706
9880
  type: Output
9881
+ }], formLoaded: [{
9882
+ type: Output
9707
9883
  }], formSaved: [{
9708
9884
  type: Output
9709
9885
  }], onTaskLoaded: [{
@@ -13362,8 +13538,7 @@ class StartProcessCloudComponent {
13362
13538
  this.isProcessStarting = false;
13363
13539
  },
13364
13540
  error: (err) => {
13365
- this.errorMessageId = 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.START';
13366
- this.unifyErrorResponse(err);
13541
+ this.errorMessageId = err?.response?.body?.message || 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.START_PROCESS';
13367
13542
  this.error.emit(err);
13368
13543
  this.isProcessStarting = false;
13369
13544
  }
@@ -13387,13 +13562,6 @@ class StartProcessCloudComponent {
13387
13562
  });
13388
13563
  }
13389
13564
  }
13390
- unifyErrorResponse(err) {
13391
- if (!err?.response?.body?.entry && err?.response?.body?.message) {
13392
- err.response.body = {
13393
- entry: JSON.parse(err.response.body.message)
13394
- };
13395
- }
13396
- }
13397
13565
  cancelStartProcess() {
13398
13566
  this.cancel.emit();
13399
13567
  }
@@ -13468,11 +13636,11 @@ class StartProcessCloudComponent {
13468
13636
  return processName;
13469
13637
  }
13470
13638
  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 }); }
13471
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.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: "<mat-card appearance=\"outlined\" class=\"adf-start-process\" *ngIf=\"processDefinitionLoaded; else spinner\">\n\n <mat-card-content>\n <mat-card-title\n *ngIf=\"showTitle\"\n class=\"adf-title\">\n {{'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.TITLE' | translate}}\n </mat-card-title>\n\n <mat-card-subtitle id=\"error-message\" *ngIf=\"errorMessageId\">\n {{ errorMessageId | translate }}\n </mat-card-subtitle>\n\n <div *ngIf=\"!isProcessDefinitionsEmpty; else emptyProcessDefinitionsList\">\n <form [formGroup]=\"processForm\" class=\"adf-select-process-form\">\n <mat-form-field\n class=\"adf-process-input-container\"\n floatLabel=\"always\"\n *ngIf=\"showSelectProcessDropdown\"\n data-automation-id=\"adf-select-cloud-process-dropdown\"\n >\n <mat-label class=\"adf-start-process-input-label\">{{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.TYPE' | translate }}</mat-label>\n <input\n matInput\n formControlName=\"processDefinition\"\n [matAutocomplete]=\"auto\"\n id=\"processDefinitionName\"\n >\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 <mat-option\n *ngFor=\"let processDef of filteredProcesses\"\n [value]=\"getProcessDefinitionValue(processDef)\"\n (click)=\"processDefinitionSelectionChanged(processDef)\">\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 <mat-icon>arrow_drop_down</mat-icon>\n </button>\n\n </div>\n <mat-error\n *ngIf=\"processDefinition.hasError('required')\"\n class=\"adf-error-pb\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_DEFINITION_REQUIRED' | translate }}\n </mat-error>\n </mat-form-field>\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 <span *ngIf=\"processInstanceName.hasError('required')\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_NAME_REQUIRED' | translate }}\n </span>\n <span *ngIf=\"processInstanceName.hasError('maxlength')\" id=\"adf-start-process-maxlength-error\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.MAXIMUM_LENGTH' | translate : { characters : maxNameLength } }}\n </span>\n <span *ngIf=\"processInstanceName.hasError('pattern')\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.SPACE_VALIDATOR' | translate }}\n </span>\n </ng-container>\n </adf-inplace-form-input>\n </form>\n\n <ng-container *ngIf=\"hasForm else taskFormCloudButtons\">\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 </ng-container>\n </div>\n\n </mat-card-content>\n\n</mat-card>\n\n<ng-template #taskFormCloudButtons>\n <div class=\"adf-start-process-cloud-actions\">\n <button\n *ngIf=\"showCancelButton\"\n mat-button\n (click)=\"cancelStartProcess()\"\n id=\"cancel_process\"\n >\n {{ cancelButtonLabel }}\n </button>\n <button\n *ngIf=\"showStartProcessButton$ | async\"\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 </div>\n</ng-template>\n\n<ng-template #emptyProcessDefinitionsList>\n <mat-card-content *ngIf=\"processDefinitionLoaded\">\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</ng-template>\n\n<ng-template #spinner>\n <div class=\"adf-loading-container\">\n <mat-progress-spinner\n class=\"adf-loading\"\n color=\"primary\"\n mode=\"indeterminate\" />\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-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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"], outputs: ["formSaved", "formCompleted", "formLoaded", "formDataRefreshed", "formContentClicked", "displayModeOn", "displayModeOff"] }, { kind: "component", type: FormCustomOutcomesComponent, selector: "adf-cloud-form-custom-outcomes" }], encapsulation: i0.ViewEncapsulation.None }); }
13639
+ 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 }); }
13472
13640
  }
13473
13641
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: StartProcessCloudComponent, decorators: [{
13474
13642
  type: Component,
13475
- args: [{ selector: 'adf-cloud-start-process', imports: [
13643
+ args: [{ selector: 'adf-cloud-start-process', standalone: true, imports: [
13476
13644
  CommonModule,
13477
13645
  TranslatePipe,
13478
13646
  MatProgressSpinnerModule,
@@ -13486,7 +13654,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
13486
13654
  ReactiveFormsModule,
13487
13655
  FormCloudComponent,
13488
13656
  FormCustomOutcomesComponent
13489
- ], providers: [LocalizedDatePipe], encapsulation: ViewEncapsulation.None, template: "<mat-card appearance=\"outlined\" class=\"adf-start-process\" *ngIf=\"processDefinitionLoaded; else spinner\">\n\n <mat-card-content>\n <mat-card-title\n *ngIf=\"showTitle\"\n class=\"adf-title\">\n {{'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.TITLE' | translate}}\n </mat-card-title>\n\n <mat-card-subtitle id=\"error-message\" *ngIf=\"errorMessageId\">\n {{ errorMessageId | translate }}\n </mat-card-subtitle>\n\n <div *ngIf=\"!isProcessDefinitionsEmpty; else emptyProcessDefinitionsList\">\n <form [formGroup]=\"processForm\" class=\"adf-select-process-form\">\n <mat-form-field\n class=\"adf-process-input-container\"\n floatLabel=\"always\"\n *ngIf=\"showSelectProcessDropdown\"\n data-automation-id=\"adf-select-cloud-process-dropdown\"\n >\n <mat-label class=\"adf-start-process-input-label\">{{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.TYPE' | translate }}</mat-label>\n <input\n matInput\n formControlName=\"processDefinition\"\n [matAutocomplete]=\"auto\"\n id=\"processDefinitionName\"\n >\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 <mat-option\n *ngFor=\"let processDef of filteredProcesses\"\n [value]=\"getProcessDefinitionValue(processDef)\"\n (click)=\"processDefinitionSelectionChanged(processDef)\">\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 <mat-icon>arrow_drop_down</mat-icon>\n </button>\n\n </div>\n <mat-error\n *ngIf=\"processDefinition.hasError('required')\"\n class=\"adf-error-pb\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_DEFINITION_REQUIRED' | translate }}\n </mat-error>\n </mat-form-field>\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 <span *ngIf=\"processInstanceName.hasError('required')\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_NAME_REQUIRED' | translate }}\n </span>\n <span *ngIf=\"processInstanceName.hasError('maxlength')\" id=\"adf-start-process-maxlength-error\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.MAXIMUM_LENGTH' | translate : { characters : maxNameLength } }}\n </span>\n <span *ngIf=\"processInstanceName.hasError('pattern')\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.SPACE_VALIDATOR' | translate }}\n </span>\n </ng-container>\n </adf-inplace-form-input>\n </form>\n\n <ng-container *ngIf=\"hasForm else taskFormCloudButtons\">\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 </ng-container>\n </div>\n\n </mat-card-content>\n\n</mat-card>\n\n<ng-template #taskFormCloudButtons>\n <div class=\"adf-start-process-cloud-actions\">\n <button\n *ngIf=\"showCancelButton\"\n mat-button\n (click)=\"cancelStartProcess()\"\n id=\"cancel_process\"\n >\n {{ cancelButtonLabel }}\n </button>\n <button\n *ngIf=\"showStartProcessButton$ | async\"\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 </div>\n</ng-template>\n\n<ng-template #emptyProcessDefinitionsList>\n <mat-card-content *ngIf=\"processDefinitionLoaded\">\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</ng-template>\n\n<ng-template #spinner>\n <div class=\"adf-loading-container\">\n <mat-progress-spinner\n class=\"adf-loading\"\n color=\"primary\"\n mode=\"indeterminate\" />\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-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"] }]
13657
+ ], 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"] }]
13490
13658
  }], ctorParameters: () => [{ type: i1$1.TranslationService }], propDecorators: { inputAutocomplete: [{
13491
13659
  type: ViewChild,
13492
13660
  args: [MatAutocompleteTrigger]
@@ -14235,7 +14403,7 @@ class DisplayRichTextWidgetComponent extends WidgetComponent {
14235
14403
  this.parsedHTML = this.sanitizer.sanitize(SecurityContext.HTML, this.parsedHTML);
14236
14404
  }
14237
14405
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DisplayRichTextWidgetComponent, deps: [{ token: i1$1.FormService }, { token: i2$5.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
14238
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: DisplayRichTextWidgetComponent, isStandalone: true, selector: "display-rich-text", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"adf-display-rich-text-widget\">\n <div class=\"adf-display-rich-text-widget-parsed-html\" [innerHTML]=\"parsedHTML\"></div>\n</div>\n", styles: [".adf-display-rich-text-widget pre{min-height:100px;font-family:Menlo,Monaco,Consolas,Courier New,monospace;color:#41314e;line-height:1.6em;font-size:12px;background:#f8f7fa;border:1px solid #f1f1f4;box-shadow:none;white-space:pre;word-wrap:normal;overflow-x:auto;resize:vertical;border-radius:3px;padding:10px 12px;outline:none;width:100%}\n"], encapsulation: i0.ViewEncapsulation.None }); }
14406
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: DisplayRichTextWidgetComponent, isStandalone: true, selector: "display-rich-text", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"adf-display-rich-text-widget\">\n <div class=\"adf-display-rich-text-widget-parsed-html\" [innerHTML]=\"parsedHTML\"></div>\n</div>\n", styles: [".adf-display-rich-text-widget pre{min-height:100px;font-family:Menlo,Monaco,Consolas,Courier New,monospace;color:#41314e;line-height:1.6em;font-size:12px;background:#f8f7fa;border:1px solid #f1f1f4;box-shadow:none;white-space:pre;word-wrap:normal;overflow-x:auto;resize:vertical;border-radius:3px;outline:none;width:100%}\n"], encapsulation: i0.ViewEncapsulation.None }); }
14239
14407
  }
14240
14408
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DisplayRichTextWidgetComponent, decorators: [{
14241
14409
  type: Component,
@@ -14249,239 +14417,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
14249
14417
  '(input)': 'event($event)',
14250
14418
  '(invalid)': 'event($event)',
14251
14419
  '(select)': 'event($event)'
14252
- }, encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-display-rich-text-widget\">\n <div class=\"adf-display-rich-text-widget-parsed-html\" [innerHTML]=\"parsedHTML\"></div>\n</div>\n", styles: [".adf-display-rich-text-widget pre{min-height:100px;font-family:Menlo,Monaco,Consolas,Courier New,monospace;color:#41314e;line-height:1.6em;font-size:12px;background:#f8f7fa;border:1px solid #f1f1f4;box-shadow:none;white-space:pre;word-wrap:normal;overflow-x:auto;resize:vertical;border-radius:3px;padding:10px 12px;outline:none;width:100%}\n"] }]
14420
+ }, encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-display-rich-text-widget\">\n <div class=\"adf-display-rich-text-widget-parsed-html\" [innerHTML]=\"parsedHTML\"></div>\n</div>\n", styles: [".adf-display-rich-text-widget pre{min-height:100px;font-family:Menlo,Monaco,Consolas,Courier New,monospace;color:#41314e;line-height:1.6em;font-size:12px;background:#f8f7fa;border:1px solid #f1f1f4;box-shadow:none;white-space:pre;word-wrap:normal;overflow-x:auto;resize:vertical;border-radius:3px;outline:none;width:100%}\n"] }]
14253
14421
  }], ctorParameters: () => [{ type: i1$1.FormService }, { type: i2$5.DomSanitizer }] });
14254
14422
 
14255
- /*!
14256
- * @license
14257
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
14258
- *
14259
- * Licensed under the Apache License, Version 2.0 (the "License");
14260
- * you may not use this file except in compliance with the License.
14261
- * You may obtain a copy of the License at
14262
- *
14263
- * http://www.apache.org/licenses/LICENSE-2.0
14264
- *
14265
- * Unless required by applicable law or agreed to in writing, software
14266
- * distributed under the License is distributed on an "AS IS" BASIS,
14267
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14268
- * See the License for the specific language governing permissions and
14269
- * limitations under the License.
14270
- */
14271
- /** Plugin import */
14272
- const editorJsConfig = {
14273
- autofocus: true,
14274
- logLevel: 'ERROR',
14275
- tools: {
14276
- underline: {
14277
- class: Underline,
14278
- shortcut: 'CMD+U'
14279
- },
14280
- header: {
14281
- class: Header,
14282
- inlineToolbar: true,
14283
- tunes: ['anyTuneName']
14284
- },
14285
- paragraph: {
14286
- class: Paragraph,
14287
- inlineToolbar: true,
14288
- tunes: ['anyTuneName']
14289
- },
14290
- list: {
14291
- class: List,
14292
- inlineToolbar: true,
14293
- config: {
14294
- defaultStyle: 'unordered'
14295
- }
14296
- },
14297
- Color: {
14298
- class: ColorPlugin,
14299
- config: {
14300
- customPicker: true,
14301
- colorCollections: [
14302
- '#FF1300',
14303
- '#ffa500',
14304
- '#9C27B0',
14305
- '#673AB7',
14306
- '#3F51B5',
14307
- '#0070FF',
14308
- '#03A9F4',
14309
- '#00BCD4',
14310
- '#5f9ea0',
14311
- '#4CAF50',
14312
- '#8BC34A',
14313
- '#CDDC39',
14314
- '#FFF',
14315
- '#000',
14316
- '#c0c0c0',
14317
- '#808080',
14318
- '#800000'
14319
- ],
14320
- defaultColor: '#FF1300',
14321
- type: 'text'
14322
- }
14323
- },
14324
- Marker: {
14325
- class: Marker,
14326
- shortcut: 'CMD+M'
14327
- },
14328
- 'Increase/Decrease font size': {
14329
- class: ChangeFontSize,
14330
- config: {
14331
- cssClass: 'plus20pc',
14332
- buttonIcon: '<span class="material-icons">format_size</span>'
14333
- }
14334
- },
14335
- inlineCode: {
14336
- class: InlineCode,
14337
- shortcut: 'CMD+SHIFT+M'
14338
- },
14339
- anyTuneName: {
14340
- class: AlignmentTuneTool
14341
- },
14342
- code: CodeTool
14343
- }
14344
- };
14345
-
14346
- /*!
14347
- * @license
14348
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
14349
- *
14350
- * Licensed under the Apache License, Version 2.0 (the "License");
14351
- * you may not use this file except in compliance with the License.
14352
- * You may obtain a copy of the License at
14353
- *
14354
- * http://www.apache.org/licenses/LICENSE-2.0
14355
- *
14356
- * Unless required by applicable law or agreed to in writing, software
14357
- * distributed under the License is distributed on an "AS IS" BASIS,
14358
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14359
- * See the License for the specific language governing permissions and
14360
- * limitations under the License.
14361
- */
14362
- class RichTextEditorComponent {
14363
- constructor() {
14364
- this.placeholder = '';
14365
- this.autoFocus = false;
14366
- this._outputData = new Subject();
14367
- this.outputData$ = this._outputData.asObservable();
14368
- this.isReady = false;
14369
- }
14370
- ngOnInit() {
14371
- this.dynamicId = `editorjs-${crypto.getRandomValues(new Uint32Array(1))}`;
14372
- }
14373
- ngAfterViewInit() {
14374
- this.editorInstance = new EditorJS({
14375
- holder: this.dynamicId,
14376
- placeholder: this.placeholder,
14377
- autofocus: this.autoFocus,
14378
- ...editorJsConfig,
14379
- data: this.data,
14380
- onChange: () => {
14381
- this.sendEditorOutputData();
14382
- },
14383
- onReady: () => {
14384
- this.isReady = true;
14385
- this.sendEditorOutputData();
14386
- }
14387
- });
14388
- }
14389
- sendEditorOutputData() {
14390
- this.editorInstance
14391
- .save()
14392
- .then((outputData) => {
14393
- this._outputData.next(outputData);
14394
- })
14395
- .catch((error) => {
14396
- console.error('Saving failed: ', error);
14397
- });
14398
- }
14399
- getEditorContent() {
14400
- return this.editorInstance.save();
14401
- }
14402
- ngOnDestroy() {
14403
- if (this.isReady) {
14404
- this.editorInstance.destroy();
14405
- }
14406
- }
14407
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: RichTextEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14408
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: RichTextEditorComponent, isStandalone: true, selector: "adf-cloud-rich-text-editor", inputs: { data: "data", placeholder: "placeholder", autoFocus: "autoFocus" }, ngImport: i0, template: "<div class=\"adf-rich-text-editor-container\">\n <div class=\"editorjs\" id=\"{{dynamicId}}\"></div>\n</div>\n", styles: [".adf-rich-text-editor-container{color:var(--theme-text-fg-color, rgba(0, 0, 0, .87))}.adf-rich-text-editor-container .editorjs.readonly .codex-editor__redactor{padding-bottom:0!important}.adf-rich-text-editor-container .ce-inline-toolbar{transform:scale(1)}.adf-rich-text-editor-container .ce-inline-toolbar .ce-popover__items{overflow:hidden}.adf-rich-text-editor-container .ce-inline-toolbar .ce-inline-tool .material-icons{font-size:20px}xy-color-picker{position:relative;background-color:transparent;margin:0;overflow:hidden}\n"], encapsulation: i0.ViewEncapsulation.None }); }
14409
- }
14410
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: RichTextEditorComponent, decorators: [{
14411
- type: Component,
14412
- args: [{ selector: 'adf-cloud-rich-text-editor', encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-rich-text-editor-container\">\n <div class=\"editorjs\" id=\"{{dynamicId}}\"></div>\n</div>\n", styles: [".adf-rich-text-editor-container{color:var(--theme-text-fg-color, rgba(0, 0, 0, .87))}.adf-rich-text-editor-container .editorjs.readonly .codex-editor__redactor{padding-bottom:0!important}.adf-rich-text-editor-container .ce-inline-toolbar{transform:scale(1)}.adf-rich-text-editor-container .ce-inline-toolbar .ce-popover__items{overflow:hidden}.adf-rich-text-editor-container .ce-inline-toolbar .ce-inline-tool .material-icons{font-size:20px}xy-color-picker{position:relative;background-color:transparent;margin:0;overflow:hidden}\n"] }]
14413
- }], propDecorators: { data: [{
14414
- type: Input
14415
- }], placeholder: [{
14416
- type: Input
14417
- }], autoFocus: [{
14418
- type: Input
14419
- }] } });
14420
-
14421
- /*!
14422
- * @license
14423
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
14424
- *
14425
- * Licensed under the Apache License, Version 2.0 (the "License");
14426
- * you may not use this file except in compliance with the License.
14427
- * You may obtain a copy of the License at
14428
- *
14429
- * http://www.apache.org/licenses/LICENSE-2.0
14430
- *
14431
- * Unless required by applicable law or agreed to in writing, software
14432
- * distributed under the License is distributed on an "AS IS" BASIS,
14433
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14434
- * See the License for the specific language governing permissions and
14435
- * limitations under the License.
14436
- */
14437
- /** @deprecated use `RichTextEditorComponent` instead */
14438
- class RichTextEditorModule {
14439
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: RichTextEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14440
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: RichTextEditorModule, imports: [RichTextEditorComponent], exports: [RichTextEditorComponent] }); }
14441
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: RichTextEditorModule }); }
14442
- }
14443
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: RichTextEditorModule, decorators: [{
14444
- type: NgModule,
14445
- args: [{
14446
- imports: [RichTextEditorComponent],
14447
- exports: [RichTextEditorComponent]
14448
- }]
14449
- }] });
14450
-
14451
- /*!
14452
- * @license
14453
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
14454
- *
14455
- * Licensed under the Apache License, Version 2.0 (the "License");
14456
- * you may not use this file except in compliance with the License.
14457
- * You may obtain a copy of the License at
14458
- *
14459
- * http://www.apache.org/licenses/LICENSE-2.0
14460
- *
14461
- * Unless required by applicable law or agreed to in writing, software
14462
- * distributed under the License is distributed on an "AS IS" BASIS,
14463
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14464
- * See the License for the specific language governing permissions and
14465
- * limitations under the License.
14466
- */
14467
-
14468
- /*!
14469
- * @license
14470
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
14471
- *
14472
- * Licensed under the Apache License, Version 2.0 (the "License");
14473
- * you may not use this file except in compliance with the License.
14474
- * You may obtain a copy of the License at
14475
- *
14476
- * http://www.apache.org/licenses/LICENSE-2.0
14477
- *
14478
- * Unless required by applicable law or agreed to in writing, software
14479
- * distributed under the License is distributed on an "AS IS" BASIS,
14480
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14481
- * See the License for the specific language governing permissions and
14482
- * limitations under the License.
14483
- */
14484
-
14485
14423
  /*!
14486
14424
  * @license
14487
14425
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -14499,7 +14437,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
14499
14437
  * limitations under the License.
14500
14438
  */
14501
14439
  const FORM_CLOUD_DIRECTIVES = [
14502
- RichTextEditorComponent,
14503
14440
  FormSpinnerComponent,
14504
14441
  PropertiesViewerWrapperComponent,
14505
14442
  PropertiesViewerWidgetComponent,
@@ -14518,8 +14455,7 @@ const FORM_CLOUD_DIRECTIVES = [
14518
14455
  /** @deprecated use ...FORM_CLOUD_DIRECTIVES instead */
14519
14456
  class FormCloudModule {
14520
14457
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FormCloudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14521
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: FormCloudModule, imports: [RichTextEditorComponent,
14522
- FormSpinnerComponent,
14458
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: FormCloudModule, imports: [FormSpinnerComponent,
14523
14459
  PropertiesViewerWrapperComponent,
14524
14460
  PropertiesViewerWidgetComponent,
14525
14461
  DisplayRichTextWidgetComponent,
@@ -14532,8 +14468,7 @@ class FormCloudModule {
14532
14468
  UploadCloudWidgetComponent,
14533
14469
  PeopleCloudWidgetComponent,
14534
14470
  GroupCloudWidgetComponent,
14535
- FormCloudComponent], exports: [RichTextEditorComponent,
14536
- FormSpinnerComponent,
14471
+ FormCloudComponent], exports: [FormSpinnerComponent,
14537
14472
  PropertiesViewerWrapperComponent,
14538
14473
  PropertiesViewerWidgetComponent,
14539
14474
  DisplayRichTextWidgetComponent,
@@ -14958,7 +14893,7 @@ class DisplayExternalPropertyWidgetComponent extends WidgetComponent {
14958
14893
  }
14959
14894
  }
14960
14895
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DisplayExternalPropertyWidgetComponent, deps: [{ token: i1$1.FormService }, { token: FormCloudService }], target: i0.ɵɵFactoryTarget.Component }); }
14961
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: DisplayExternalPropertyWidgetComponent, isStandalone: true, selector: "adf-cloud-display-external-property", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"adf-textfield adf-display-external-property-widget {{ field.className }}\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span>\n </label>\n </div>\n\n <div>\n <mat-form-field class=\"adf-form-field-input\" [floatLabel]=\"field.placeholder ? 'always' : null\">\n @if( (field.name || field?.required) && !field.leftLabels) {\n <mat-label class=\"adf-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}\n </mat-label>\n }\n <input matInput\n class=\"adf-input\"\n type=\"text\"\n data-automation-id=\"adf-display-external-property-widget\"\n [id]=\"field.id\"\n [formControl]=\"propertyControl\"\n [required]=\"field.required\"\n >\n\n <ng-container *ngIf=\"previewState\">\n <span class=\"adf-display-external-property-widget-preview\"\n data-automation-id=\"adf-display-external-property-widget-preview\"\n >\n {{ field.params.externalPropertyLabel }}\n </span>\n </ng-container>\n </mat-form-field>\n\n <ng-container *ngIf=\"!previewState\">\n <error-widget *ngIf=\"propertyLoadFailed\" [required]=\"'FORM.FIELD.EXTERNAL_PROPERTY_LOAD_FAILED' | translate\" />\n </ng-container>\n</div>\n", styles: [".adf-display-external-property-widget{width:100%}.adf-display-external-property-widget .adf-label{top:20px}.adf-display-external-property-widget-preview{color:var(--adf-theme-foreground-secondary-text-color);word-break:break-all}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { 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: "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: "ngmodule", type: FormBaseModule }, { kind: "component", type: i1$1.ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14896
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: DisplayExternalPropertyWidgetComponent, isStandalone: true, selector: "adf-cloud-display-external-property", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"adf-textfield adf-display-external-property-widget {{ field.className }}\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span>\n </label>\n </div>\n\n <div>\n <mat-form-field class=\"adf-form-field-input\" [floatLabel]=\"field.placeholder ? 'always' : null\">\n @if( (field.name || field?.required) && !field.leftLabels) {\n <mat-label class=\"adf-label\" [attr.for]=\"field.id\"> {{ field.name | translate }} </mat-label>\n }\n <input\n matInput\n class=\"adf-input\"\n type=\"text\"\n data-automation-id=\"adf-display-external-property-widget\"\n [id]=\"field.id\"\n [formControl]=\"propertyControl\"\n [required]=\"field.required\"\n />\n\n <ng-container *ngIf=\"previewState\">\n <span class=\"adf-display-external-property-widget-preview\" data-automation-id=\"adf-display-external-property-widget-preview\">\n {{ field.params.externalPropertyLabel }}\n </span>\n </ng-container>\n </mat-form-field>\n\n <div\n class=\"adf-error-messages-container\"\n [ngClass]=\"!previewState ? 'adf-error-messages-container-visible' : 'adf-error-messages-container-hidden'\"\n >\n <error-widget *ngIf=\"propertyLoadFailed\" [required]=\"'FORM.FIELD.EXTERNAL_PROPERTY_LOAD_FAILED' | translate\" />\n </div>\n </div>\n</div>\n", styles: [".adf-display-external-property-widget{width:100%}.adf-display-external-property-widget .adf-label{top:20px}.adf-display-external-property-widget-preview{color:var(--adf-theme-foreground-secondary-text-color);word-break:break-all}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { 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: "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: "ngmodule", type: FormBaseModule }, { kind: "component", type: i1$1.ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14962
14897
  }
14963
14898
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: DisplayExternalPropertyWidgetComponent, decorators: [{
14964
14899
  type: Component,
@@ -14972,7 +14907,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
14972
14907
  '(input)': 'event($event)',
14973
14908
  '(invalid)': 'event($event)',
14974
14909
  '(select)': 'event($event)'
14975
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"adf-textfield adf-display-external-property-widget {{ field.className }}\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span>\n </label>\n </div>\n\n <div>\n <mat-form-field class=\"adf-form-field-input\" [floatLabel]=\"field.placeholder ? 'always' : null\">\n @if( (field.name || field?.required) && !field.leftLabels) {\n <mat-label class=\"adf-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}\n </mat-label>\n }\n <input matInput\n class=\"adf-input\"\n type=\"text\"\n data-automation-id=\"adf-display-external-property-widget\"\n [id]=\"field.id\"\n [formControl]=\"propertyControl\"\n [required]=\"field.required\"\n >\n\n <ng-container *ngIf=\"previewState\">\n <span class=\"adf-display-external-property-widget-preview\"\n data-automation-id=\"adf-display-external-property-widget-preview\"\n >\n {{ field.params.externalPropertyLabel }}\n </span>\n </ng-container>\n </mat-form-field>\n\n <ng-container *ngIf=\"!previewState\">\n <error-widget *ngIf=\"propertyLoadFailed\" [required]=\"'FORM.FIELD.EXTERNAL_PROPERTY_LOAD_FAILED' | translate\" />\n </ng-container>\n</div>\n", styles: [".adf-display-external-property-widget{width:100%}.adf-display-external-property-widget .adf-label{top:20px}.adf-display-external-property-widget-preview{color:var(--adf-theme-foreground-secondary-text-color);word-break:break-all}\n"] }]
14910
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"adf-textfield adf-display-external-property-widget {{ field.className }}\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span>\n </label>\n </div>\n\n <div>\n <mat-form-field class=\"adf-form-field-input\" [floatLabel]=\"field.placeholder ? 'always' : null\">\n @if( (field.name || field?.required) && !field.leftLabels) {\n <mat-label class=\"adf-label\" [attr.for]=\"field.id\"> {{ field.name | translate }} </mat-label>\n }\n <input\n matInput\n class=\"adf-input\"\n type=\"text\"\n data-automation-id=\"adf-display-external-property-widget\"\n [id]=\"field.id\"\n [formControl]=\"propertyControl\"\n [required]=\"field.required\"\n />\n\n <ng-container *ngIf=\"previewState\">\n <span class=\"adf-display-external-property-widget-preview\" data-automation-id=\"adf-display-external-property-widget-preview\">\n {{ field.params.externalPropertyLabel }}\n </span>\n </ng-container>\n </mat-form-field>\n\n <div\n class=\"adf-error-messages-container\"\n [ngClass]=\"!previewState ? 'adf-error-messages-container-visible' : 'adf-error-messages-container-hidden'\"\n >\n <error-widget *ngIf=\"propertyLoadFailed\" [required]=\"'FORM.FIELD.EXTERNAL_PROPERTY_LOAD_FAILED' | translate\" />\n </div>\n </div>\n</div>\n", styles: [".adf-display-external-property-widget{width:100%}.adf-display-external-property-widget .adf-label{top:20px}.adf-display-external-property-widget-preview{color:var(--adf-theme-foreground-secondary-text-color);word-break:break-all}\n"] }]
14976
14911
  }], ctorParameters: () => [{ type: i1$1.FormService }, { type: FormCloudService }] });
14977
14912
 
14978
14913
  /*!
@@ -15079,20 +15014,20 @@ const PROCESS_SERVICES_CLOUD_DIRECTIVES = [
15079
15014
  ...APP_LIST_CLOUD_DIRECTIVES,
15080
15015
  ...FORM_CLOUD_DIRECTIVES,
15081
15016
  ...TASK_FORM_CLOUD_DIRECTIVES,
15082
- PeopleCloudComponent,
15083
- RichTextEditorComponent
15017
+ PeopleCloudComponent
15084
15018
  ];
15085
15019
  /**
15086
15020
  * @deprecated this module is deprecated and will be removed in the future versions
15087
15021
  *
15088
15022
  * Instead, import the standalone components directly, or use the following provider API to replicate the behaviour:
15089
- *
15023
+ * ```
15090
15024
  * providers: [
15091
15025
  * provideTranslations('adf-process-services-cloud', 'assets/adf-process-services-cloud')
15092
15026
  * provideCloudPreferences()
15093
15027
  * provideCloudFormRenderer(),
15094
15028
  * { provide: TASK_LIST_CLOUD_TOKEN, useClass: TaskListCloudService }
15095
15029
  * ]
15030
+ * ```
15096
15031
  */
15097
15032
  class ProcessServicesCloudModule {
15098
15033
  static forRoot(filterPreferenceServiceInstance, listPreferenceServiceInstance) {
@@ -15115,9 +15050,7 @@ class ProcessServicesCloudModule {
15115
15050
  };
15116
15051
  }
15117
15052
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ProcessServicesCloudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15118
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ProcessServicesCloudModule, imports: [ProcessCloudModule, TaskCloudModule, GroupCloudComponent, AppListCloudComponent, AppDetailsCloudComponent, RichTextEditorComponent, FormSpinnerComponent, PropertiesViewerWrapperComponent, PropertiesViewerWidgetComponent, DisplayRichTextWidgetComponent, FileViewerWidgetComponent, FilePropertiesTableCloudComponent, FormCustomOutcomesComponent, FormDefinitionSelectorCloudComponent, RadioButtonsCloudWidgetComponent, AttachFileCloudWidgetComponent, UploadCloudWidgetComponent, PeopleCloudWidgetComponent, GroupCloudWidgetComponent, FormCloudComponent, UserTaskCloudButtonsComponent, TaskFormCloudComponent, UserTaskCloudComponent, PeopleCloudComponent,
15119
- RichTextEditorComponent], exports: [ProcessCloudModule, TaskCloudModule, GroupCloudComponent, AppListCloudComponent, AppDetailsCloudComponent, RichTextEditorComponent, FormSpinnerComponent, PropertiesViewerWrapperComponent, PropertiesViewerWidgetComponent, DisplayRichTextWidgetComponent, FileViewerWidgetComponent, FilePropertiesTableCloudComponent, FormCustomOutcomesComponent, FormDefinitionSelectorCloudComponent, RadioButtonsCloudWidgetComponent, AttachFileCloudWidgetComponent, UploadCloudWidgetComponent, PeopleCloudWidgetComponent, GroupCloudWidgetComponent, FormCloudComponent, UserTaskCloudButtonsComponent, TaskFormCloudComponent, UserTaskCloudComponent, PeopleCloudComponent,
15120
- RichTextEditorComponent] }); }
15053
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ProcessServicesCloudModule, imports: [ProcessCloudModule, TaskCloudModule, GroupCloudComponent, AppListCloudComponent, AppDetailsCloudComponent, FormSpinnerComponent, PropertiesViewerWrapperComponent, PropertiesViewerWidgetComponent, DisplayRichTextWidgetComponent, FileViewerWidgetComponent, FilePropertiesTableCloudComponent, FormCustomOutcomesComponent, FormDefinitionSelectorCloudComponent, RadioButtonsCloudWidgetComponent, AttachFileCloudWidgetComponent, UploadCloudWidgetComponent, PeopleCloudWidgetComponent, GroupCloudWidgetComponent, FormCloudComponent, UserTaskCloudButtonsComponent, TaskFormCloudComponent, UserTaskCloudComponent, PeopleCloudComponent], exports: [ProcessCloudModule, TaskCloudModule, GroupCloudComponent, AppListCloudComponent, AppDetailsCloudComponent, FormSpinnerComponent, PropertiesViewerWrapperComponent, PropertiesViewerWidgetComponent, DisplayRichTextWidgetComponent, FileViewerWidgetComponent, FilePropertiesTableCloudComponent, FormCustomOutcomesComponent, FormDefinitionSelectorCloudComponent, RadioButtonsCloudWidgetComponent, AttachFileCloudWidgetComponent, UploadCloudWidgetComponent, PeopleCloudWidgetComponent, GroupCloudWidgetComponent, FormCloudComponent, UserTaskCloudButtonsComponent, TaskFormCloudComponent, UserTaskCloudComponent, PeopleCloudComponent] }); }
15121
15054
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ProcessServicesCloudModule, imports: [ProcessCloudModule, TaskCloudModule, GroupCloudComponent, AppListCloudComponent, AppDetailsCloudComponent, FormSpinnerComponent, PropertiesViewerWrapperComponent, PropertiesViewerWidgetComponent, FileViewerWidgetComponent, FilePropertiesTableCloudComponent, FormDefinitionSelectorCloudComponent, RadioButtonsCloudWidgetComponent, AttachFileCloudWidgetComponent, UploadCloudWidgetComponent, PeopleCloudWidgetComponent, GroupCloudWidgetComponent, FormCloudComponent, UserTaskCloudButtonsComponent, TaskFormCloudComponent, UserTaskCloudComponent, PeopleCloudComponent, ProcessCloudModule, TaskCloudModule] }); }
15122
15055
  }
15123
15056
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ProcessServicesCloudModule, decorators: [{
@@ -16030,5 +15963,5 @@ const DATE_FORMAT_CLOUD = 'YYYY-MM-DD';
16030
15963
  * Generated bundle index. Do not edit.
16031
15964
  */
16032
15965
 
16033
- export { APP_LIST_CLOUD_DIRECTIVES, AppDetailsCloudComponent, AppListCloudComponent, ApplicationVersionModel, ApplicationVersionResponseModel, AppsProcessCloudService, AssignmentType, AttachFileCloudWidgetComponent, BaseCloudService, CloudFormRenderingService, ContentCloudNodeSelectorService, DATE_FORMAT_CLOUD, DEFAULT_APP_INSTANCE_ICON, DEFAULT_APP_INSTANCE_THEME, DEFAULT_OPTION, DEFAULT_TASK_PRIORITIES, DEPLOYED_STATUS, DateCloudFilterType, DateCloudWidgetComponent, DateRangeFilterService, DescriptorCustomUIAuthFlowType, DisplayModeService, DisplayRichTextWidgetComponent, DropdownCloudWidgetComponent, EditProcessFilterCloudComponent, EditServiceTaskFilterCloudComponent, EditTaskFilterCloudComponent, FORM_CLOUD_DIRECTIVES, FORM_CLOUD_FIELD_VALIDATORS_TOKEN, FORM_CLOUD_SERVICE_FIELD_VALIDATORS_TOKEN, FilePropertiesTableCloudComponent, FileViewerWidgetComponent, FormCloudComponent, FormCloudDisplayMode, FormCloudModule, FormCloudService, FormCustomOutcomesComponent, FormDefinitionSelectorCloudComponent, FormDefinitionSelectorCloudService, FormFieldType, FormSpinnerComponent, GroupCloudComponent, GroupCloudModule, GroupCloudWidgetComponent, HIDE_FILTER_LIMIT, IdentityGroupService, IdentityUserService, LAYOUT_GRID, LAYOUT_LIST, LocalPreferenceCloudService, NotificationCloudService, PROCESS_CLOUD_DIRECTIVES, PROCESS_FILTERS_CLOUD_DIRECTIVES, PROCESS_FILTERS_SERVICE_TOKEN, PROCESS_FILTER_ACTION_DELETE, PROCESS_FILTER_ACTION_RESTORE, PROCESS_FILTER_ACTION_SAVE, PROCESS_FILTER_ACTION_SAVE_AS, PROCESS_FILTER_ACTION_SAVE_DEFAULT, PROCESS_LISTS_PREFERENCES_SERVICE_TOKEN, PROCESS_SERVICES_CLOUD_DIRECTIVES, PeopleCloudComponent, PeopleCloudModule, PeopleCloudWidgetComponent, PeopleModeOptions, ProcessCloudContentService, ProcessCloudModule, ProcessCloudService, ProcessDefinitionCloud, ProcessFilterCloudAdapter, ProcessFilterCloudModel, ProcessFilterCloudService, ProcessFilterDialogCloudComponent, ProcessFiltersCloudComponent, ProcessFiltersCloudModule, ProcessHeaderCloudComponent, ProcessHeaderCloudModule, ProcessListCloudComponent, ProcessListCloudModule, ProcessListCloudPreferences, ProcessListCloudService, ProcessListCloudSortingModel, ProcessListRequestModel, ProcessListRequestSortingModel, ProcessPayloadCloud, ProcessQueryCloudRequestModel, ProcessServicesCloudModule, ProcessTaskListCloudService, PropertiesViewerWidgetComponent, PropertiesViewerWrapperComponent, RadioButtonsCloudWidgetComponent, RichTextEditorComponent, RichTextEditorModule, ScreenRenderingService, ServiceTaskFilterCloudService, ServiceTaskFiltersCloudComponent, ServiceTaskListCloudComponent, ServiceTaskListCloudService, StartProcessCloudComponent, StartProcessCloudService, StartTaskCloudRequestModel, TASK_ASSIGNED_STATE, TASK_CANCELLED_STATE, TASK_CLAIM_PERMISSION, TASK_COMPLETED_STATE, TASK_CREATED_STATE, TASK_FILTERS_CLOUD_DIRECTIVES, TASK_FILTERS_SERVICE_TOKEN, TASK_FORM_CLOUD_DIRECTIVES, TASK_LIST_CLOUD_DIRECTIVES, TASK_LIST_CLOUD_TOKEN, TASK_LIST_PREFERENCES_SERVICE_TOKEN, TASK_RELEASE_PERMISSION, TASK_SUSPENDED_STATE, TASK_UPDATE_PERMISSION, TASK_VIEW_PERMISSION, TaskAssignmentFilterCloudComponent, TaskCloudEntryModel, TaskCloudModule, TaskCloudNodePaging, TaskCloudPagingList, TaskCloudService, TaskFilterCloudAdapter, TaskFilterCloudModel, TaskFilterCloudService, TaskFilterDialogCloudComponent, TaskFiltersCloudComponent, TaskFiltersCloudModule, TaskFormCloudComponent, TaskFormModule, TaskHeaderCloudComponent, TaskHeaderCloudModule, TaskListCloudComponent, TaskListCloudModule, TaskListCloudService, TaskListCloudSortingModel, TaskListRequestModel, TaskListRequestSortingModel, TaskQueryCloudRequestModel, TaskStatusFilter, TaskVariableCloud, UploadCloudWidgetComponent, UserPreferenceCloudService, UserTaskCloudButtonsComponent, UserTaskCloudComponent, VariableMapperService, WebSocketService, processCloudPresetsDefaultModel, provideCloudFormRenderer, provideCloudPreferences, radioButtonsSchema };
15966
+ export { APP_CUSTOM_SCREEN_TOKEN, APP_LIST_CLOUD_DIRECTIVES, AppDetailsCloudComponent, AppListCloudComponent, ApplicationVersionModel, ApplicationVersionResponseModel, AppsProcessCloudService, AssignmentType, AttachFileCloudWidgetComponent, BaseCloudService, CloudFormRenderingService, ContentCloudNodeSelectorService, DATE_FORMAT_CLOUD, DEFAULT_APP_INSTANCE_ICON, DEFAULT_APP_INSTANCE_THEME, DEFAULT_OPTION, DEFAULT_TASK_PRIORITIES, DEPLOYED_STATUS, DateCloudFilterType, DateCloudWidgetComponent, DateRangeFilterService, DescriptorCustomUIAuthFlowType, DisplayModeService, DisplayRichTextWidgetComponent, DropdownCloudWidgetComponent, EditProcessFilterCloudComponent, EditServiceTaskFilterCloudComponent, EditTaskFilterCloudComponent, FORM_CLOUD_DIRECTIVES, FORM_CLOUD_FIELD_VALIDATORS_TOKEN, FORM_CLOUD_SERVICE_FIELD_VALIDATORS_TOKEN, FilePropertiesTableCloudComponent, FileViewerWidgetComponent, FormCloudComponent, FormCloudDisplayMode, FormCloudModule, FormCloudService, FormCustomOutcomesComponent, FormDefinitionSelectorCloudComponent, FormDefinitionSelectorCloudService, FormFieldType, FormSpinnerComponent, GroupCloudComponent, GroupCloudModule, GroupCloudWidgetComponent, HIDE_FILTER_LIMIT, IdentityGroupService, IdentityUserService, LAYOUT_GRID, LAYOUT_LIST, LocalPreferenceCloudService, NotificationCloudService, PROCESS_CLOUD_DIRECTIVES, PROCESS_FILTERS_CLOUD_DIRECTIVES, PROCESS_FILTERS_SERVICE_TOKEN, PROCESS_FILTER_ACTION_DELETE, PROCESS_FILTER_ACTION_RESTORE, PROCESS_FILTER_ACTION_SAVE, PROCESS_FILTER_ACTION_SAVE_AS, PROCESS_FILTER_ACTION_SAVE_DEFAULT, PROCESS_LISTS_PREFERENCES_SERVICE_TOKEN, PROCESS_SERVICES_CLOUD_DIRECTIVES, PeopleCloudComponent, PeopleCloudModule, PeopleCloudWidgetComponent, PeopleModeOptions, ProcessCloudContentService, ProcessCloudModule, ProcessCloudService, ProcessDefinitionCloud, ProcessFilterCloudAdapter, ProcessFilterCloudModel, ProcessFilterCloudService, ProcessFilterDialogCloudComponent, ProcessFiltersCloudComponent, ProcessFiltersCloudModule, ProcessHeaderCloudComponent, ProcessHeaderCloudModule, ProcessListCloudComponent, ProcessListCloudModule, ProcessListCloudPreferences, ProcessListCloudService, ProcessListCloudSortingModel, ProcessListRequestModel, ProcessListRequestSortingModel, ProcessPayloadCloud, ProcessQueryCloudRequestModel, ProcessServicesCloudModule, ProcessTaskListCloudService, PropertiesViewerWidgetComponent, PropertiesViewerWrapperComponent, RadioButtonsCloudWidgetComponent, ScreenRenderingService, ServiceTaskFilterCloudService, ServiceTaskFiltersCloudComponent, ServiceTaskListCloudComponent, ServiceTaskListCloudService, StartProcessCloudComponent, StartProcessCloudService, StartTaskCloudRequestModel, TASK_ASSIGNED_STATE, TASK_CANCELLED_STATE, TASK_CLAIM_PERMISSION, TASK_COMPLETED_STATE, TASK_CREATED_STATE, TASK_FILTERS_CLOUD_DIRECTIVES, TASK_FILTERS_SERVICE_TOKEN, TASK_FORM_CLOUD_DIRECTIVES, TASK_LIST_CLOUD_DIRECTIVES, TASK_LIST_CLOUD_TOKEN, TASK_LIST_PREFERENCES_SERVICE_TOKEN, TASK_RELEASE_PERMISSION, TASK_SUSPENDED_STATE, TASK_UPDATE_PERMISSION, TASK_VIEW_PERMISSION, TaskAssignmentFilterCloudComponent, TaskCloudEntryModel, TaskCloudModule, TaskCloudNodePaging, TaskCloudPagingList, TaskCloudService, TaskFilterCloudAdapter, TaskFilterCloudModel, TaskFilterCloudService, TaskFilterDialogCloudComponent, TaskFiltersCloudComponent, TaskFiltersCloudModule, TaskFormCloudComponent, TaskFormModule, TaskHeaderCloudComponent, TaskHeaderCloudModule, TaskListCloudComponent, TaskListCloudModule, TaskListCloudService, TaskListCloudSortingModel, TaskListRequestModel, TaskListRequestSortingModel, TaskQueryCloudRequestModel, TaskStatusFilter, TaskVariableCloud, UploadCloudWidgetComponent, UserPreferenceCloudService, UserTaskCloudButtonsComponent, UserTaskCloudComponent, VariableMapperService, WebSocketService, processCloudPresetsDefaultModel, provideCloudFormRenderer, provideCloudPreferences, provideScreen, radioButtonsSchema };
16034
15967
  //# sourceMappingURL=adf-process-services-cloud.mjs.map