@alfresco/adf-process-services-cloud 8.4.0-17806466306 → 8.4.0-17827115123
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.
- package/fesm2022/adf-process-services-cloud.mjs +77 -57
- package/fesm2022/adf-process-services-cloud.mjs.map +1 -1
- package/lib/form/components/form-cloud.component.d.ts +1 -1
- package/lib/process/start-process/components/start-process-cloud.component.d.ts +7 -5
- package/lib/task/task-form/components/task-form-cloud/task-form-cloud.component.d.ts +1 -2
- package/package.json +4 -4
|
@@ -4,7 +4,6 @@ import * as i1$1 from '@alfresco/adf-core';
|
|
|
4
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
6
|
import { CommonModule, NgIf, NgFor, NgClass, AsyncPipe, NgForOf } from '@angular/common';
|
|
7
|
-
import { TranslatePipe, TranslateService } from '@ngx-translate/core';
|
|
8
7
|
import * as i3 from '@angular/material/icon';
|
|
9
8
|
import { MatIconModule } from '@angular/material/icon';
|
|
10
9
|
import * as i4 from '@angular/material/card';
|
|
@@ -12,6 +11,7 @@ import { MatCardModule } from '@angular/material/card';
|
|
|
12
11
|
import { of, from, Subject, EMPTY, throwError, BehaviorSubject, combineLatest, firstValueFrom, forkJoin, catchError as catchError$1 } from 'rxjs';
|
|
13
12
|
import { map, catchError, take, tap, filter, switchMap, debounceTime, finalize, mergeMap, distinctUntilChanged, expand, reduce, mapTo, concatMap } from 'rxjs/operators';
|
|
14
13
|
import * as i1 from '@alfresco/adf-core/api';
|
|
14
|
+
import { TranslatePipe, TranslateService } from '@ngx-translate/core';
|
|
15
15
|
import * as i6 from '@angular/material/core';
|
|
16
16
|
import { MatLineModule, DateAdapter, MAT_DATE_FORMATS, MatOptionModule } from '@angular/material/core';
|
|
17
17
|
import * as i5 from '@angular/material/list';
|
|
@@ -145,7 +145,7 @@ class AppDetailsCloudComponent {
|
|
|
145
145
|
}
|
|
146
146
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: AppDetailsCloudComponent, decorators: [{
|
|
147
147
|
type: Component,
|
|
148
|
-
args: [{ selector: 'adf-cloud-app-details', imports: [CommonModule,
|
|
148
|
+
args: [{ selector: 'adf-cloud-app-details', imports: [CommonModule, MatIconModule, MatCardModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-app-listgrid\">\n <div class=\"adf-app-listgrid-item\">\n <mat-card\n appearance=\"outlined\"\n tabindex=\"0\"\n role=\"button\"\n class=\"adf-app-listgrid-item-card\"\n title=\"{{applicationInstance.name}}\"\n [ngClass]=\"getTheme()\"\n (click)=\"onSelectApp(applicationInstance)\"\n (keyup.enter)=\"onSelectApp(applicationInstance)\">\n <div class=\"adf-app-listgrid-item-card-logo\">\n <mat-icon class=\"adf-app-listgrid-item-card-logo-icon\">{{ getIcon() }}</mat-icon>\n </div>\n <div mat-card-title class=\"adf-app-listgrid-item-card-title\">\n <h1 class=\"adf-app-listgrid-item-card-title-text\">{{applicationInstance.name}}</h1>\n </div>\n <mat-card-subtitle class=\"adf-app-listgrid-item-card-subtitle\">\n <div class=\"adf-line-clamp\">{{applicationInstance.description}}</div>\n </mat-card-subtitle>\n </mat-card>\n </div>\n </div>\n", styles: ["adf-cloud-app-details .adf-app-listgrid{padding:8px;display:block}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item{outline:none;padding:8px;box-sizing:border-box;flex:unset;max-width:unset}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card{outline:none;transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1);min-height:200px;flex-direction:column;box-sizing:border-box;display:flex;padding:0;max-width:unset}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-1{background-color:#269abc}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-1 .adf-app-listgrid-item-card-logo-icon{color:#168aac}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-2{background-color:#7da9b0}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-2 .adf-app-listgrid-item-card-logo-icon{color:#6d99a0}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-3{background-color:#7689ab}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-3 .adf-app-listgrid-item-card-logo-icon{color:#66799b}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-4{background-color:#c74e3e}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-4 .adf-app-listgrid-item-card-logo-icon{color:#b73e2e}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-5{background-color:#fab96c}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-5 .adf-app-listgrid-item-card-logo-icon{color:#eaa95c}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-6{background-color:#759d4c}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-6 .adf-app-listgrid-item-card-logo-icon{color:#658d3c}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-7{background-color:#b1b489}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-7 .adf-app-listgrid-item-card-logo-icon{color:#a1a479}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-8{background-color:#a17299}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-8 .adf-app-listgrid-item-card-logo-icon{color:#916289}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-9{background-color:#696c67}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-9 .adf-app-listgrid-item-card-logo-icon{color:#595c57}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-10{background-color:#cabb33}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card.theme-10 .adf-app-listgrid-item-card-logo-icon{color:#baab23}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card:hover{box-shadow:0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f,0 5px 5px -3px #0003;cursor:pointer;transform:scale(1.015)}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card-logo{position:absolute;right:20px;top:20px;padding:16px;z-index:9}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card-logo .adf-app-listgrid-item-card-logo-icon{font-size:70px;width:1em;height:1em}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card-title:has(.adf-app-listgrid-item-card-title-text){padding:16px;margin-bottom:0;z-index:9999}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card-title:has(.adf-app-listgrid-item-card-title-text) h1{color:#fff;width:80%;font-size:var(--theme-headline-font-size);margin:0;line-height:normal;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card-subtitle:has(.adf-line-clamp){color:#fff;z-index:9999;padding:16px;flex:1 0 auto}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card-subtitle:has(.adf-line-clamp) .adf-line-clamp{position:relative;line-height:1.25;padding:0;overflow:hidden;text-overflow:ellipsis}@supports (-webkit-line-clamp: 1){adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card-subtitle:has(.adf-line-clamp) .adf-line-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;height:3.7125em}}@supports not (-webkit-line-clamp: 1){adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card-subtitle:has(.adf-line-clamp) .adf-line-clamp{white-space:nowrap;width:100%}}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card-actions{padding:0 16px 16px;border-top:1px solid rgba(0,0,0,.1);min-height:48px;box-sizing:border-box}adf-cloud-app-details .adf-app-listgrid .adf-app-listgrid-item-card-actions-icon{color:#e9f1f3}\n"] }]
|
|
149
149
|
}], propDecorators: { applicationInstance: [{
|
|
150
150
|
type: Input,
|
|
151
151
|
args: [{ required: true }]
|
|
@@ -7152,7 +7152,7 @@ class FormCloudComponent extends FormBaseComponent {
|
|
|
7152
7152
|
this.displayModeService.onSaveTask(this.id, this.displayMode, this.displayModeConfigurations);
|
|
7153
7153
|
}
|
|
7154
7154
|
}
|
|
7155
|
-
completeTaskForm(outcome) {
|
|
7155
|
+
completeTaskForm(outcome, outcomeId) {
|
|
7156
7156
|
if (this.form?.confirmMessage?.show === true) {
|
|
7157
7157
|
const dialogRef = this.dialog.open(ConfirmDialogComponent, {
|
|
7158
7158
|
data: {
|
|
@@ -7162,22 +7162,24 @@ class FormCloudComponent extends FormBaseComponent {
|
|
|
7162
7162
|
});
|
|
7163
7163
|
dialogRef.afterClosed().subscribe((result) => {
|
|
7164
7164
|
if (result === true) {
|
|
7165
|
-
this.completeForm(outcome);
|
|
7165
|
+
this.completeForm(outcome, outcomeId);
|
|
7166
7166
|
}
|
|
7167
7167
|
});
|
|
7168
7168
|
}
|
|
7169
7169
|
else {
|
|
7170
|
-
this.completeForm(outcome);
|
|
7170
|
+
this.completeForm(outcome, outcomeId);
|
|
7171
7171
|
}
|
|
7172
7172
|
this.displayModeService.onCompleteTask(this.id, this.displayMode, this.displayModeConfigurations);
|
|
7173
7173
|
}
|
|
7174
|
-
completeForm(outcome) {
|
|
7174
|
+
completeForm(outcome, outcomeId) {
|
|
7175
7175
|
if (this.form && this.appName && this.taskId) {
|
|
7176
7176
|
this.formCloudService
|
|
7177
7177
|
.completeTaskForm(this.appName, this.taskId, this.processInstanceId, `${this.form.id}`, this.form.values, outcome, this.appVersion)
|
|
7178
7178
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
7179
7179
|
.subscribe({
|
|
7180
7180
|
next: () => {
|
|
7181
|
+
this.form.selectedOutcome = outcome;
|
|
7182
|
+
this.form.selectedOutcomeId = outcomeId;
|
|
7181
7183
|
this.onTaskCompleted(this.form);
|
|
7182
7184
|
},
|
|
7183
7185
|
error: (error) => this.onTaskCompletedError(error)
|
|
@@ -9137,9 +9139,6 @@ class TaskFormCloudComponent {
|
|
|
9137
9139
|
isReadOnly() {
|
|
9138
9140
|
return this.readOnly || !this.taskCloudService.canCompleteTask(this.taskDetails);
|
|
9139
9141
|
}
|
|
9140
|
-
onCompleteTask() {
|
|
9141
|
-
this.taskCompleted.emit(this.taskId);
|
|
9142
|
-
}
|
|
9143
9142
|
onClaimTask() {
|
|
9144
9143
|
this.taskClaimed.emit(this.taskId);
|
|
9145
9144
|
}
|
|
@@ -9154,7 +9153,7 @@ class TaskFormCloudComponent {
|
|
|
9154
9153
|
}
|
|
9155
9154
|
onFormCompleted(form) {
|
|
9156
9155
|
this.formCompleted.emit(form);
|
|
9157
|
-
this.taskCompleted.emit(
|
|
9156
|
+
this.taskCompleted.emit(form);
|
|
9158
9157
|
}
|
|
9159
9158
|
onError(data) {
|
|
9160
9159
|
this.error.emit(data);
|
|
@@ -13317,8 +13316,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
13317
13316
|
*/
|
|
13318
13317
|
const MAX_NAME_LENGTH = 255;
|
|
13319
13318
|
const PROCESS_DEFINITION_DEBOUNCE = 300;
|
|
13320
|
-
const DATE_TIME_IDENTIFIER_REG_EXP =
|
|
13321
|
-
const PROCESS_DEFINITION_IDENTIFIER_REG_EXP =
|
|
13319
|
+
const DATE_TIME_IDENTIFIER_REG_EXP = /%{datetime}/i;
|
|
13320
|
+
const PROCESS_DEFINITION_IDENTIFIER_REG_EXP = /%{processdefinition}/i;
|
|
13322
13321
|
class StartProcessCloudComponent {
|
|
13323
13322
|
get isProcessFormValid() {
|
|
13324
13323
|
if (this.hasForm && this.isFormCloudLoaded) {
|
|
@@ -13373,6 +13372,7 @@ class StartProcessCloudComponent {
|
|
|
13373
13372
|
this.formContentClicked = new EventEmitter();
|
|
13374
13373
|
/** Emitted when process definition selection changes. */
|
|
13375
13374
|
this.processDefinitionSelection = new EventEmitter();
|
|
13375
|
+
this.customOutcomeSelected = new EventEmitter();
|
|
13376
13376
|
this.processDefinitionList = [];
|
|
13377
13377
|
this.errorMessageId = '';
|
|
13378
13378
|
this.processPayloadCloud = new ProcessPayloadCloud();
|
|
@@ -13380,7 +13380,7 @@ class StartProcessCloudComponent {
|
|
|
13380
13380
|
this.staticMappings = [];
|
|
13381
13381
|
this.isProcessStarting = false;
|
|
13382
13382
|
this.isFormCloudLoaded = false;
|
|
13383
|
-
this.isFormCloudLoading =
|
|
13383
|
+
this.isFormCloudLoading = true;
|
|
13384
13384
|
this.processDefinitionLoaded = false;
|
|
13385
13385
|
this.processForm = new FormGroup({
|
|
13386
13386
|
processInstanceName: new FormControl('', [
|
|
@@ -13402,7 +13402,12 @@ class StartProcessCloudComponent {
|
|
|
13402
13402
|
this.cancelButtonLabel = this.defaultCancelProcessButtonLabel;
|
|
13403
13403
|
}
|
|
13404
13404
|
ngOnInit() {
|
|
13405
|
-
|
|
13405
|
+
if (this.processDefinitionName) {
|
|
13406
|
+
this.processDefinition.setValue(this.processDefinitionName);
|
|
13407
|
+
}
|
|
13408
|
+
else {
|
|
13409
|
+
this.isFormCloudLoading = false;
|
|
13410
|
+
}
|
|
13406
13411
|
this.processDefinition.valueChanges
|
|
13407
13412
|
.pipe(debounceTime(PROCESS_DEFINITION_DEBOUNCE))
|
|
13408
13413
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
@@ -13440,7 +13445,8 @@ class StartProcessCloudComponent {
|
|
|
13440
13445
|
}
|
|
13441
13446
|
selectProcessDefinitionByProcessDefinitionName(processDefinitionName) {
|
|
13442
13447
|
this.filteredProcesses = this.getProcessDefinitionListByNameOrKey(processDefinitionName);
|
|
13443
|
-
|
|
13448
|
+
this.isFormCloudLoading = this.isProcessFormValid && this.filteredProcesses && this.filteredProcesses.length === 1;
|
|
13449
|
+
if (this.isFormCloudLoading) {
|
|
13444
13450
|
this.setProcessDefinitionOnForm(this.filteredProcesses[0].name);
|
|
13445
13451
|
}
|
|
13446
13452
|
}
|
|
@@ -13454,26 +13460,29 @@ class StartProcessCloudComponent {
|
|
|
13454
13460
|
this.startProcessCloudService
|
|
13455
13461
|
.getStartEventConstants(this.appName, processDefinitionCurrent.id)
|
|
13456
13462
|
.pipe(catchError(() => of([])))
|
|
13457
|
-
]).subscribe(
|
|
13458
|
-
|
|
13459
|
-
|
|
13460
|
-
|
|
13461
|
-
|
|
13462
|
-
|
|
13463
|
-
|
|
13464
|
-
|
|
13465
|
-
|
|
13466
|
-
|
|
13467
|
-
|
|
13468
|
-
|
|
13469
|
-
|
|
13470
|
-
|
|
13471
|
-
|
|
13472
|
-
|
|
13473
|
-
|
|
13474
|
-
|
|
13475
|
-
|
|
13476
|
-
|
|
13463
|
+
]).subscribe({
|
|
13464
|
+
next: ([staticMappings, constants]) => {
|
|
13465
|
+
this.staticMappings = staticMappings;
|
|
13466
|
+
this.resolvedValues = this.staticMappings.concat(this.values || []);
|
|
13467
|
+
this.processDefinitionCurrent = processDefinitionCurrent;
|
|
13468
|
+
const displayStart = constants?.find((constant) => constant.name === 'startEnabled');
|
|
13469
|
+
const startLabel = constants?.find((constant) => constant.name === 'startLabel');
|
|
13470
|
+
const displayCancel = constants?.find((constant) => constant.name === 'cancelEnabled');
|
|
13471
|
+
const cancelLabel = constants?.find((constant) => constant.name === 'cancelLabel');
|
|
13472
|
+
if (displayStart) {
|
|
13473
|
+
this.displayStartSubject.next(displayStart?.value);
|
|
13474
|
+
}
|
|
13475
|
+
if (startLabel) {
|
|
13476
|
+
this.startProcessButtonLabel =
|
|
13477
|
+
startLabel?.value?.trim()?.length > 0 ? startLabel.value.trim() : this.defaultStartProcessButtonLabel;
|
|
13478
|
+
}
|
|
13479
|
+
if (displayCancel) {
|
|
13480
|
+
this.showCancelButton = displayCancel?.value === 'true' && this.showCancelButton;
|
|
13481
|
+
}
|
|
13482
|
+
if (cancelLabel) {
|
|
13483
|
+
this.cancelButtonLabel = cancelLabel?.value?.trim()?.length > 0 ? cancelLabel.value.trim() : this.defaultCancelProcessButtonLabel;
|
|
13484
|
+
}
|
|
13485
|
+
this.isFormCloudLoading = false;
|
|
13477
13486
|
}
|
|
13478
13487
|
});
|
|
13479
13488
|
this.isFormCloudLoaded = false;
|
|
@@ -13505,23 +13514,30 @@ class StartProcessCloudComponent {
|
|
|
13505
13514
|
this.startProcessCloudService
|
|
13506
13515
|
.getProcessDefinitions(this.appName)
|
|
13507
13516
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
13508
|
-
.subscribe(
|
|
13509
|
-
|
|
13510
|
-
|
|
13511
|
-
|
|
13512
|
-
|
|
13513
|
-
else if (this.processDefinitionName) {
|
|
13514
|
-
this.processDefinition.setValue(this.processDefinitionName);
|
|
13515
|
-
const processDefinition = this.processDefinitionList.find((process) => process.name === this.processDefinitionName);
|
|
13516
|
-
if (processDefinition) {
|
|
13517
|
-
this.filteredProcesses = this.getProcessDefinitionListByNameOrKey(processDefinition.name);
|
|
13518
|
-
this.setProcessDefinitionOnForm(processDefinition.name);
|
|
13519
|
-
this.processDefinitionSelectionChanged(processDefinition);
|
|
13517
|
+
.subscribe({
|
|
13518
|
+
next: (processDefinitionRepresentations) => {
|
|
13519
|
+
this.processDefinitionList = processDefinitionRepresentations;
|
|
13520
|
+
if (processDefinitionRepresentations.length === 1) {
|
|
13521
|
+
this.selectDefaultProcessDefinition();
|
|
13520
13522
|
}
|
|
13523
|
+
else if (this.processDefinitionName) {
|
|
13524
|
+
this.processDefinition.setValue(this.processDefinitionName);
|
|
13525
|
+
const processDefinition = this.processDefinitionList.find((process) => process.name === this.processDefinitionName);
|
|
13526
|
+
if (processDefinition) {
|
|
13527
|
+
this.filteredProcesses = this.getProcessDefinitionListByNameOrKey(processDefinition.name);
|
|
13528
|
+
this.setProcessDefinitionOnForm(processDefinition.name);
|
|
13529
|
+
this.processDefinitionSelectionChanged(processDefinition);
|
|
13530
|
+
}
|
|
13531
|
+
}
|
|
13532
|
+
else {
|
|
13533
|
+
this.isFormCloudLoading = false;
|
|
13534
|
+
}
|
|
13535
|
+
this.processDefinitionLoaded = true;
|
|
13536
|
+
},
|
|
13537
|
+
error: () => {
|
|
13538
|
+
this.errorMessageId = 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.LOAD_PROCESS_DEFS';
|
|
13539
|
+
this.isFormCloudLoading = false;
|
|
13521
13540
|
}
|
|
13522
|
-
this.processDefinitionLoaded = true;
|
|
13523
|
-
}, () => {
|
|
13524
|
-
this.errorMessageId = 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.LOAD_PROCESS_DEFS';
|
|
13525
13541
|
});
|
|
13526
13542
|
}
|
|
13527
13543
|
isValidName(name) {
|
|
@@ -13542,7 +13558,8 @@ class StartProcessCloudComponent {
|
|
|
13542
13558
|
}
|
|
13543
13559
|
}
|
|
13544
13560
|
onCustomOutcomeClicked(outcome) {
|
|
13545
|
-
this.
|
|
13561
|
+
this.customOutcomeName = outcome.outcome.name;
|
|
13562
|
+
this.customOutcomeId = outcome.outcome.id;
|
|
13546
13563
|
this.startProcess();
|
|
13547
13564
|
}
|
|
13548
13565
|
startProcessWithoutConfirmation() {
|
|
@@ -13553,7 +13570,7 @@ class StartProcessCloudComponent {
|
|
|
13553
13570
|
processDefinitionKey: this.processPayloadCloud.processDefinitionKey,
|
|
13554
13571
|
variables: this.variables ?? {},
|
|
13555
13572
|
values: this.formCloud.values,
|
|
13556
|
-
outcome: this.
|
|
13573
|
+
outcome: this.customOutcomeName
|
|
13557
13574
|
}))
|
|
13558
13575
|
: this.startProcessCloudService.startProcess(this.appName, new ProcessPayloadCloud({
|
|
13559
13576
|
name: this.processInstanceName.value,
|
|
@@ -13562,6 +13579,7 @@ class StartProcessCloudComponent {
|
|
|
13562
13579
|
}));
|
|
13563
13580
|
action.subscribe({
|
|
13564
13581
|
next: (res) => {
|
|
13582
|
+
this.customOutcomeSelected.emit(this.customOutcomeId);
|
|
13565
13583
|
this.success.emit(res);
|
|
13566
13584
|
this.isProcessStarting = false;
|
|
13567
13585
|
},
|
|
@@ -13653,18 +13671,18 @@ class StartProcessCloudComponent {
|
|
|
13653
13671
|
}
|
|
13654
13672
|
getDefaultProcessName(processNameFormat, processInstance) {
|
|
13655
13673
|
let processName = processNameFormat;
|
|
13656
|
-
if (
|
|
13674
|
+
if (DATE_TIME_IDENTIFIER_REG_EXP.test(processName)) {
|
|
13657
13675
|
const presentDateTime = getTime(new Date());
|
|
13658
13676
|
processName = processName.replace(DATE_TIME_IDENTIFIER_REG_EXP, this.localizedDatePipe.transform(presentDateTime, 'medium'));
|
|
13659
13677
|
}
|
|
13660
|
-
if (
|
|
13678
|
+
if (PROCESS_DEFINITION_IDENTIFIER_REG_EXP.test(processName)) {
|
|
13661
13679
|
const selectedProcessDefinitionName = processInstance ? processInstance.processDefinitionName : '';
|
|
13662
13680
|
processName = processName.replace(PROCESS_DEFINITION_IDENTIFIER_REG_EXP, selectedProcessDefinitionName);
|
|
13663
13681
|
}
|
|
13664
13682
|
return processName;
|
|
13665
13683
|
}
|
|
13666
13684
|
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 }); }
|
|
13667
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: StartProcessCloudComponent, isStandalone: true, selector: "adf-cloud-start-process", inputs: { appName: "appName", maxNameLength: "maxNameLength", name: "name", processDefinitionName: "processDefinitionName", variables: "variables", values: "values", showSelectProcessDropdown: "showSelectProcessDropdown", showTitle: "showTitle", showCancelButton: "showCancelButton", displayModeConfigurations: "displayModeConfigurations" }, outputs: { success: "success", cancel: "cancel", error: "error", formContentClicked: "formContentClicked", processDefinitionSelection: "processDefinitionSelection" }, 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 }); }
|
|
13685
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: StartProcessCloudComponent, isStandalone: true, selector: "adf-cloud-start-process", inputs: { appName: "appName", maxNameLength: "maxNameLength", name: "name", processDefinitionName: "processDefinitionName", variables: "variables", values: "values", showSelectProcessDropdown: "showSelectProcessDropdown", showTitle: "showTitle", showCancelButton: "showCancelButton", displayModeConfigurations: "displayModeConfigurations" }, outputs: { success: "success", cancel: "cancel", error: "error", formContentClicked: "formContentClicked", processDefinitionSelection: "processDefinitionSelection", customOutcomeSelected: "customOutcomeSelected" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, providers: [LocalizedDatePipe], viewQueries: [{ propertyName: "inputAutocomplete", first: true, predicate: MatAutocompleteTrigger, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (processDefinitionLoaded && !isFormCloudLoading) {\n <mat-card appearance=\"outlined\" class=\"adf-start-process\">\n <mat-card-content>\n @if (showTitle) {\n <mat-card-title class=\"adf-title\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.TITLE' | translate }}\n </mat-card-title>\n }\n\n @if (errorMessageId) {\n <mat-card-subtitle class=\"adf-error-message\" id=\"error-message\">\n {{ errorMessageId | translate }}\n </mat-card-subtitle>\n }\n\n @if (!isProcessDefinitionsEmpty) {\n <div>\n <form [formGroup]=\"processForm\" class=\"adf-select-process-form\">\n @if (showSelectProcessDropdown) {\n <mat-form-field\n class=\"adf-process-input-container\"\n floatLabel=\"always\"\n data-automation-id=\"adf-select-cloud-process-dropdown\"\n >\n <mat-label class=\"adf-start-process-input-label\">{{\n 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.TYPE' | translate\n }}</mat-label>\n <input matInput formControlName=\"processDefinition\" [matAutocomplete]=\"auto\" id=\"processDefinitionName\" />\n\n <div class=\"adf-process-input-autocomplete\">\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n id=\"processDefinitionOptions\"\n [displayWith]=\"displayProcessNameOnDropdown\"\n (optionSelected)=\"setProcessDefinitionOnForm($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let processDef of filteredProcesses\"\n [value]=\"getProcessDefinitionValue(processDef)\"\n (click)=\"processDefinitionSelectionChanged(processDef)\"\n >\n {{ getProcessDefinitionValue(processDef) }}\n </mat-option>\n </mat-autocomplete>\n\n <button\n id=\"adf-select-process-dropdown\"\n title=\"{{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.SELECT_PROCESS_DROPDOWN' | translate }}\"\n mat-icon-button\n (click)=\"displayDropdown($event)\"\n >\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n </div>\n @if (processDefinition.hasError('required')) {\n <mat-error class=\"adf-error-pb\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_DEFINITION_REQUIRED' | translate }}\n </mat-error>\n }\n </mat-form-field>\n }\n\n <adf-inplace-form-input [control]=\"processInstanceName\">\n <ng-container label>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.NAME' | translate }}\n </ng-container>\n\n <ng-container error>\n @if (processInstanceName.hasError('required')) {\n <span>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_NAME_REQUIRED' | translate }}\n </span>\n }\n @if (processInstanceName.hasError('maxlength')) {\n <span id=\"adf-start-process-maxlength-error\">\n {{\n 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.MAXIMUM_LENGTH'\n | translate: { characters: maxNameLength }\n }}\n </span>\n }\n @if (processInstanceName.hasError('pattern')) {\n <span>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.SPACE_VALIDATOR' | translate }}\n </span>\n }\n </ng-container>\n </adf-inplace-form-input>\n </form>\n\n @if (hasForm) {\n <adf-cloud-form\n #startForm\n [appName]=\"appName\"\n [appVersion]=\"processDefinitionCurrent.appVersion\"\n [data]=\"resolvedValues\"\n [formId]=\"processDefinitionCurrent.formKey\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n [showSaveButton]=\"showSaveButton\"\n [showCompleteButton]=\"showCompleteButton\"\n [showRefreshButton]=\"false\"\n [showValidationIcon]=\"false\"\n [showTitle]=\"false\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (formLoaded)=\"onFormLoaded($event)\"\n (executeOutcome)=\"onCustomOutcomeClicked($event)\"\n >\n <adf-cloud-form-custom-outcomes>\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n </adf-cloud-form-custom-outcomes>\n </adf-cloud-form>\n } @else {\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n }\n </div>\n } @else {\n @if (processDefinitionLoaded) {\n <mat-card-content>\n <mat-card-subtitle class=\"error-message\" id=\"no-process-message\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.NO_PROCESS_DEFINITIONS' | translate | uppercase }}\n </mat-card-subtitle>\n </mat-card-content>\n }\n }\n </mat-card-content>\n </mat-card>\n} @else {\n <div class=\"adf-loading-container\">\n <mat-progress-spinner class=\"adf-loading\" color=\"primary\" mode=\"indeterminate\" />\n </div>\n}\n\n<ng-template #taskFormCloudButtons>\n <div class=\"adf-start-process-cloud-actions\">\n @if (showCancelButton) {\n <button mat-button (click)=\"cancelStartProcess()\" id=\"cancel_process\">\n {{ cancelButtonLabel }}\n </button>\n }\n @if (showStartProcessButton$ | async) {\n <button\n color=\"primary\"\n mat-raised-button\n [disabled]=\"disableStartButton || !isProcessFormValid\"\n (click)=\"startProcess()\"\n data-automation-id=\"btn-start\"\n id=\"button-start\"\n class=\"adf-btn-start\"\n >\n {{ startProcessButtonLabel }}\n </button>\n }\n </div>\n</ng-template>\n", styles: [".adf-start-process .adf-start-process-input-label{color:var(--adf-theme-mat-grey-color-a200-dark)}.adf-start-process-cloud-actions{display:flex;justify-content:flex-end}.adf-select-process-form{display:flex;flex-direction:column}.adf-title{padding-bottom:1.25em}.adf-error-message{padding-left:.5em}.adf-process-input-container{margin:0 7px}.adf-process-input-autocomplete{display:flex}.adf-process-input-autocomplete button{position:absolute;right:-14px;top:0}.adf-form-container .adf-form-container-card:has(.adf-form-container-card-content){box-shadow:none;padding:0}.adf-start-form-actions{text-align:right}.adf-loading{margin:auto}.adf-loading-container{min-height:300px;display:flex;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i4$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i4.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: InplaceFormInputComponent, selector: "adf-inplace-form-input", inputs: ["control"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i7$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i7$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormCloudComponent, selector: "adf-cloud-form", inputs: ["appName", "appVersion", "formId", "processInstanceId", "taskId", "data", "displayModeConfigurations", "showCompleteButton", "customSaveButtonText", "customCompleteButtonText"], outputs: ["formSaved", "formCompleted", "formLoaded", "formDataRefreshed", "formContentClicked", "displayModeOn", "displayModeOff"] }, { kind: "component", type: FormCustomOutcomesComponent, selector: "adf-cloud-form-custom-outcomes" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
13668
13686
|
}
|
|
13669
13687
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: StartProcessCloudComponent, decorators: [{
|
|
13670
13688
|
type: Component,
|
|
@@ -13682,7 +13700,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
13682
13700
|
ReactiveFormsModule,
|
|
13683
13701
|
FormCloudComponent,
|
|
13684
13702
|
FormCustomOutcomesComponent
|
|
13685
|
-
], providers: [LocalizedDatePipe], encapsulation: ViewEncapsulation.None, template: "@if (processDefinitionLoaded) {\n <mat-card appearance=\"outlined\" class=\"adf-start-process\">\n <mat-card-content>\n @if (showTitle) {\n <mat-card-title class=\"adf-title\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.TITLE' | translate }}\n </mat-card-title>\n }\n\n @if (errorMessageId) {\n <mat-card-subtitle class=\"adf-error-message\" id=\"error-message\">\n {{ errorMessageId | translate }}\n </mat-card-subtitle>\n }\n\n @if (!isProcessDefinitionsEmpty) {\n <div>\n <form [formGroup]=\"processForm\" class=\"adf-select-process-form\">\n @if (showSelectProcessDropdown) {\n <mat-form-field\n class=\"adf-process-input-container\"\n floatLabel=\"always\"\n data-automation-id=\"adf-select-cloud-process-dropdown\"\n >\n <mat-label class=\"adf-start-process-input-label\">{{\n 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.TYPE' | translate\n }}</mat-label>\n <input matInput formControlName=\"processDefinition\" [matAutocomplete]=\"auto\" id=\"processDefinitionName\" />\n\n <div class=\"adf-process-input-autocomplete\">\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n id=\"processDefinitionOptions\"\n [displayWith]=\"displayProcessNameOnDropdown\"\n (optionSelected)=\"setProcessDefinitionOnForm($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let processDef of filteredProcesses\"\n [value]=\"getProcessDefinitionValue(processDef)\"\n (click)=\"processDefinitionSelectionChanged(processDef)\"\n >\n {{ getProcessDefinitionValue(processDef) }}\n </mat-option>\n </mat-autocomplete>\n\n <button\n id=\"adf-select-process-dropdown\"\n title=\"{{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.SELECT_PROCESS_DROPDOWN' | translate }}\"\n mat-icon-button\n (click)=\"displayDropdown($event)\"\n >\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n </div>\n @if (processDefinition.hasError('required')) {\n <mat-error class=\"adf-error-pb\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_DEFINITION_REQUIRED' | translate }}\n </mat-error>\n }\n </mat-form-field>\n }\n\n <adf-inplace-form-input [control]=\"processInstanceName\">\n <ng-container label>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.NAME' | translate }}\n </ng-container>\n\n <ng-container error>\n @if (processInstanceName.hasError('required')) {\n <span>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_NAME_REQUIRED' | translate }}\n </span>\n }\n @if (processInstanceName.hasError('maxlength')) {\n <span id=\"adf-start-process-maxlength-error\">\n {{\n 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.MAXIMUM_LENGTH'\n | translate: { characters: maxNameLength }\n }}\n </span>\n }\n @if (processInstanceName.hasError('pattern')) {\n <span>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.SPACE_VALIDATOR' | translate }}\n </span>\n }\n </ng-container>\n </adf-inplace-form-input>\n </form>\n\n @if (hasForm) {\n <adf-cloud-form\n #startForm\n [appName]=\"appName\"\n [appVersion]=\"processDefinitionCurrent.appVersion\"\n [data]=\"resolvedValues\"\n [formId]=\"processDefinitionCurrent.formKey\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n [showSaveButton]=\"showSaveButton\"\n [showCompleteButton]=\"showCompleteButton\"\n [showRefreshButton]=\"false\"\n [showValidationIcon]=\"false\"\n [showTitle]=\"false\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (formLoaded)=\"onFormLoaded($event)\"\n (executeOutcome)=\"onCustomOutcomeClicked($event
|
|
13703
|
+
], providers: [LocalizedDatePipe], encapsulation: ViewEncapsulation.None, template: "@if (processDefinitionLoaded && !isFormCloudLoading) {\n <mat-card appearance=\"outlined\" class=\"adf-start-process\">\n <mat-card-content>\n @if (showTitle) {\n <mat-card-title class=\"adf-title\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.TITLE' | translate }}\n </mat-card-title>\n }\n\n @if (errorMessageId) {\n <mat-card-subtitle class=\"adf-error-message\" id=\"error-message\">\n {{ errorMessageId | translate }}\n </mat-card-subtitle>\n }\n\n @if (!isProcessDefinitionsEmpty) {\n <div>\n <form [formGroup]=\"processForm\" class=\"adf-select-process-form\">\n @if (showSelectProcessDropdown) {\n <mat-form-field\n class=\"adf-process-input-container\"\n floatLabel=\"always\"\n data-automation-id=\"adf-select-cloud-process-dropdown\"\n >\n <mat-label class=\"adf-start-process-input-label\">{{\n 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.TYPE' | translate\n }}</mat-label>\n <input matInput formControlName=\"processDefinition\" [matAutocomplete]=\"auto\" id=\"processDefinitionName\" />\n\n <div class=\"adf-process-input-autocomplete\">\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n id=\"processDefinitionOptions\"\n [displayWith]=\"displayProcessNameOnDropdown\"\n (optionSelected)=\"setProcessDefinitionOnForm($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let processDef of filteredProcesses\"\n [value]=\"getProcessDefinitionValue(processDef)\"\n (click)=\"processDefinitionSelectionChanged(processDef)\"\n >\n {{ getProcessDefinitionValue(processDef) }}\n </mat-option>\n </mat-autocomplete>\n\n <button\n id=\"adf-select-process-dropdown\"\n title=\"{{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.SELECT_PROCESS_DROPDOWN' | translate }}\"\n mat-icon-button\n (click)=\"displayDropdown($event)\"\n >\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n </div>\n @if (processDefinition.hasError('required')) {\n <mat-error class=\"adf-error-pb\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_DEFINITION_REQUIRED' | translate }}\n </mat-error>\n }\n </mat-form-field>\n }\n\n <adf-inplace-form-input [control]=\"processInstanceName\">\n <ng-container label>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.FORM.LABEL.NAME' | translate }}\n </ng-container>\n\n <ng-container error>\n @if (processInstanceName.hasError('required')) {\n <span>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.PROCESS_NAME_REQUIRED' | translate }}\n </span>\n }\n @if (processInstanceName.hasError('maxlength')) {\n <span id=\"adf-start-process-maxlength-error\">\n {{\n 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.MAXIMUM_LENGTH'\n | translate: { characters: maxNameLength }\n }}\n </span>\n }\n @if (processInstanceName.hasError('pattern')) {\n <span>\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.ERROR.SPACE_VALIDATOR' | translate }}\n </span>\n }\n </ng-container>\n </adf-inplace-form-input>\n </form>\n\n @if (hasForm) {\n <adf-cloud-form\n #startForm\n [appName]=\"appName\"\n [appVersion]=\"processDefinitionCurrent.appVersion\"\n [data]=\"resolvedValues\"\n [formId]=\"processDefinitionCurrent.formKey\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n [showSaveButton]=\"showSaveButton\"\n [showCompleteButton]=\"showCompleteButton\"\n [showRefreshButton]=\"false\"\n [showValidationIcon]=\"false\"\n [showTitle]=\"false\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (formLoaded)=\"onFormLoaded($event)\"\n (executeOutcome)=\"onCustomOutcomeClicked($event)\"\n >\n <adf-cloud-form-custom-outcomes>\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n </adf-cloud-form-custom-outcomes>\n </adf-cloud-form>\n } @else {\n <ng-template [ngTemplateOutlet]=\"taskFormCloudButtons\" />\n }\n </div>\n } @else {\n @if (processDefinitionLoaded) {\n <mat-card-content>\n <mat-card-subtitle class=\"error-message\" id=\"no-process-message\">\n {{ 'ADF_CLOUD_PROCESS_LIST.ADF_CLOUD_START_PROCESS.NO_PROCESS_DEFINITIONS' | translate | uppercase }}\n </mat-card-subtitle>\n </mat-card-content>\n }\n }\n </mat-card-content>\n </mat-card>\n} @else {\n <div class=\"adf-loading-container\">\n <mat-progress-spinner class=\"adf-loading\" color=\"primary\" mode=\"indeterminate\" />\n </div>\n}\n\n<ng-template #taskFormCloudButtons>\n <div class=\"adf-start-process-cloud-actions\">\n @if (showCancelButton) {\n <button mat-button (click)=\"cancelStartProcess()\" id=\"cancel_process\">\n {{ cancelButtonLabel }}\n </button>\n }\n @if (showStartProcessButton$ | async) {\n <button\n color=\"primary\"\n mat-raised-button\n [disabled]=\"disableStartButton || !isProcessFormValid\"\n (click)=\"startProcess()\"\n data-automation-id=\"btn-start\"\n id=\"button-start\"\n class=\"adf-btn-start\"\n >\n {{ startProcessButtonLabel }}\n </button>\n }\n </div>\n</ng-template>\n", styles: [".adf-start-process .adf-start-process-input-label{color:var(--adf-theme-mat-grey-color-a200-dark)}.adf-start-process-cloud-actions{display:flex;justify-content:flex-end}.adf-select-process-form{display:flex;flex-direction:column}.adf-title{padding-bottom:1.25em}.adf-error-message{padding-left:.5em}.adf-process-input-container{margin:0 7px}.adf-process-input-autocomplete{display:flex}.adf-process-input-autocomplete button{position:absolute;right:-14px;top:0}.adf-form-container .adf-form-container-card:has(.adf-form-container-card-content){box-shadow:none;padding:0}.adf-start-form-actions{text-align:right}.adf-loading{margin:auto}.adf-loading-container{min-height:300px;display:flex;height:100%}\n"] }]
|
|
13686
13704
|
}], ctorParameters: () => [{ type: i1$1.TranslationService }], propDecorators: { inputAutocomplete: [{
|
|
13687
13705
|
type: ViewChild,
|
|
13688
13706
|
args: [MatAutocompleteTrigger]
|
|
@@ -13716,6 +13734,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
13716
13734
|
type: Output
|
|
13717
13735
|
}], processDefinitionSelection: [{
|
|
13718
13736
|
type: Output
|
|
13737
|
+
}], customOutcomeSelected: [{
|
|
13738
|
+
type: Output
|
|
13719
13739
|
}], onKeyDown: [{
|
|
13720
13740
|
type: HostListener,
|
|
13721
13741
|
args: ['keydown', ['$event']]
|
|
@@ -14362,7 +14382,7 @@ class FileViewerWidgetComponent extends BaseViewerWidgetComponent {
|
|
|
14362
14382
|
}
|
|
14363
14383
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FileViewerWidgetComponent, decorators: [{
|
|
14364
14384
|
type: Component,
|
|
14365
|
-
args: [{ selector: 'file-viewer-widget', imports: [
|
|
14385
|
+
args: [{ selector: 'file-viewer-widget', imports: [ErrorWidgetComponent, AlfrescoViewerComponent, TranslatePipe], host: {
|
|
14366
14386
|
'(click)': 'event($event)',
|
|
14367
14387
|
'(blur)': 'event($event)',
|
|
14368
14388
|
'(change)': 'event($event)',
|