@valtimo/process-link 12.2.1 → 12.4.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.
- package/esm2022/lib/components/choose-process-link-type/choose-process-link-type.component.mjs +3 -3
- package/esm2022/lib/components/form-display-configuration/form-display-configuration.component.mjs +109 -0
- package/esm2022/lib/components/form-flow/form-flow.component.mjs +97 -22
- package/esm2022/lib/components/process-link-modal/process-link-modal.component.mjs +5 -4
- package/esm2022/lib/components/select-form/select-form.component.mjs +63 -26
- package/esm2022/lib/components/select-form-flow/select-form-flow.component.mjs +60 -25
- package/esm2022/lib/components/select-url/select-url.component.mjs +134 -0
- package/esm2022/lib/constants/index.mjs +2 -1
- package/esm2022/lib/constants/process.link.mjs +23 -0
- package/esm2022/lib/models/form-link.model.mjs +1 -1
- package/esm2022/lib/models/process-link-url.model.mjs +17 -0
- package/esm2022/lib/models/process-link.model.mjs +1 -1
- package/esm2022/lib/process-link.module.mjs +25 -5
- package/esm2022/lib/services/form-flow.service.mjs +7 -1
- package/esm2022/lib/services/process-link-state.service.mjs +6 -1
- package/esm2022/lib/services/process-link-step.service.mjs +25 -3
- package/esm2022/lib/services/process-link.service.mjs +21 -1
- package/esm2022/lib/services/url-resolver.service.mjs +18 -0
- package/esm2022/lib/services/url-validator.service.mjs +26 -0
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/valtimo-process-link.mjs +590 -100
- package/fesm2022/valtimo-process-link.mjs.map +1 -1
- package/lib/components/form-display-configuration/form-display-configuration.component.d.ts +40 -0
- package/lib/components/form-display-configuration/form-display-configuration.component.d.ts.map +1 -0
- package/lib/components/form-flow/form-flow.component.d.ts +25 -6
- package/lib/components/form-flow/form-flow.component.d.ts.map +1 -1
- package/lib/components/select-form/select-form.component.d.ts +10 -2
- package/lib/components/select-form/select-form.component.d.ts.map +1 -1
- package/lib/components/select-form-flow/select-form-flow.component.d.ts +10 -2
- package/lib/components/select-form-flow/select-form-flow.component.d.ts.map +1 -1
- package/lib/components/select-url/select-url.component.d.ts +31 -0
- package/lib/components/select-url/select-url.component.d.ts.map +1 -0
- package/lib/constants/index.d.ts +1 -0
- package/lib/constants/index.d.ts.map +1 -1
- package/lib/constants/process.link.d.ts +5 -0
- package/lib/constants/process.link.d.ts.map +1 -0
- package/lib/models/form-link.model.d.ts +11 -1
- package/lib/models/form-link.model.d.ts.map +1 -1
- package/lib/models/process-link-url.model.d.ts +5 -0
- package/lib/models/process-link-url.model.d.ts.map +1 -0
- package/lib/models/process-link.model.d.ts +22 -1
- package/lib/models/process-link.model.d.ts.map +1 -1
- package/lib/process-link.module.d.ts +10 -8
- package/lib/process-link.module.d.ts.map +1 -1
- package/lib/services/form-flow.service.d.ts +3 -1
- package/lib/services/form-flow.service.d.ts.map +1 -1
- package/lib/services/process-link-state.service.d.ts +2 -0
- package/lib/services/process-link-state.service.d.ts.map +1 -1
- package/lib/services/process-link-step.service.d.ts +2 -0
- package/lib/services/process-link-step.service.d.ts.map +1 -1
- package/lib/services/process-link.service.d.ts +6 -3
- package/lib/services/process-link.service.d.ts.map +1 -1
- package/lib/services/url-resolver.service.d.ts +7 -0
- package/lib/services/url-resolver.service.d.ts.map +1 -0
- package/lib/services/url-validator.service.d.ts +11 -0
- package/lib/services/url-validator.service.d.ts.map +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
- package/public-api.d.ts.map +1 -1
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, InjectionToken, Inject, Component, EventEmitter, Output, ViewChild, NgModule, ViewContainerRef
|
|
2
|
+
import { Injectable, InjectionToken, Inject, Component, EventEmitter, Output, ViewChild, Input, NgModule, ViewContainerRef } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common/http';
|
|
4
4
|
import { HttpParams, HttpHeaders } from '@angular/common/http';
|
|
5
|
-
import * as
|
|
5
|
+
import * as i1$1 from '@valtimo/config';
|
|
6
6
|
import { ROLE_ADMIN } from '@valtimo/config';
|
|
7
|
-
import { map, take, switchMap as switchMap$1, tap as tap$1 } from 'rxjs/operators';
|
|
7
|
+
import { map, take, switchMap as switchMap$1, distinctUntilChanged, tap as tap$1 } from 'rxjs/operators';
|
|
8
8
|
import { BehaviorSubject, Subject, switchMap, of, combineLatest, filter, map as map$1, Subscription, tap } from 'rxjs';
|
|
9
|
-
import * as i1$
|
|
9
|
+
import * as i1$2 from '@valtimo/plugin';
|
|
10
10
|
import { PluginTranslatePipeModule, PluginConfigurationContainerModule } from '@valtimo/plugin';
|
|
11
|
-
import * as
|
|
11
|
+
import * as i3 from '@ngx-translate/core';
|
|
12
12
|
import { TranslateModule } from '@ngx-translate/core';
|
|
13
|
-
import * as
|
|
13
|
+
import * as i4 from '@angular/common';
|
|
14
14
|
import { CommonModule } from '@angular/common';
|
|
15
|
-
import * as i4 from 'carbon-components-angular';
|
|
15
|
+
import * as i4$1 from 'carbon-components-angular';
|
|
16
16
|
import { ModalModule as ModalModule$1, ProgressIndicatorModule, ButtonModule as ButtonModule$1, IconModule, ComboBoxModule, InputModule, LoadingModule, StructuredListModule, TilesModule, SelectModule, ToggleModule } from 'carbon-components-angular';
|
|
17
|
+
import * as i5 from '@angular/forms';
|
|
18
|
+
import { FormGroup, FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
19
|
+
import * as i2 from '@valtimo/components';
|
|
20
|
+
import { FormioOptionsImpl, ModalModule, SearchableDropdownSelectModule, StepperModule, VModalModule, VCardModule, ParagraphModule, ButtonModule, TitleModule, TooltipModule, TooltipIconModule, FormIoModule, ValtimoCdsModalDirectiveModule, RenderInPageHeaderDirectiveModule } from '@valtimo/components';
|
|
17
21
|
import BpmnJS from 'bpmn-js/dist/bpmn-navigated-viewer.production.min.js';
|
|
18
|
-
import * as i1$
|
|
22
|
+
import * as i1$3 from '@valtimo/process';
|
|
19
23
|
import * as i2$1 from '@angular/router';
|
|
20
24
|
import { RouterModule } from '@angular/router';
|
|
21
|
-
import * as i2$2 from '@valtimo/components';
|
|
22
|
-
import { FormioOptionsImpl, ModalModule, SearchableDropdownSelectModule, StepperModule, VModalModule, VCardModule, ParagraphModule, ButtonModule, TitleModule, TooltipModule, TooltipIconModule, FormIoModule, ValtimoCdsModalDirectiveModule, RenderInPageHeaderDirectiveModule } from '@valtimo/components';
|
|
23
|
-
import * as i5 from '@angular/forms';
|
|
24
|
-
import { FormsModule } from '@angular/forms';
|
|
25
25
|
import { AuthGuardService } from '@valtimo/security';
|
|
26
|
-
import * as
|
|
27
|
-
import * as
|
|
26
|
+
import * as i2$2 from '@valtimo/form';
|
|
27
|
+
import * as i6 from 'carbon-components-angular/dropdown';
|
|
28
28
|
|
|
29
29
|
/*
|
|
30
30
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
@@ -65,7 +65,13 @@ class FormFlowService {
|
|
|
65
65
|
save(formFlowInstanceId, submissionData) {
|
|
66
66
|
return this.http.post(`${this.valtimoEndpointUri}v1/form-flow/instance/${formFlowInstanceId}/save`, submissionData);
|
|
67
67
|
}
|
|
68
|
-
|
|
68
|
+
getBreadcrumbs(formFlowInstanceId) {
|
|
69
|
+
return this.http.get(`${this.valtimoEndpointUri}v1/form-flow/instance/${formFlowInstanceId}/breadcrumbs`);
|
|
70
|
+
}
|
|
71
|
+
navigateToStep(instanceId, currentStepInstanceId, targetStepInstanceId, submissionData) {
|
|
72
|
+
return this.http.post(`${this.valtimoEndpointUri}v1/form-flow/instance/${instanceId}/step/instance/${currentStepInstanceId}/to/step/instance/${targetStepInstanceId}`, submissionData);
|
|
73
|
+
}
|
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowService, deps: [{ token: i1.HttpClient }, { token: i1$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
69
75
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowService, providedIn: 'root' }); }
|
|
70
76
|
}
|
|
71
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowService, decorators: [{
|
|
@@ -73,7 +79,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
73
79
|
args: [{
|
|
74
80
|
providedIn: 'root',
|
|
75
81
|
}]
|
|
76
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type:
|
|
82
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i1$1.ConfigService }] });
|
|
77
83
|
|
|
78
84
|
/*
|
|
79
85
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
@@ -149,7 +155,27 @@ class ProcessLinkService {
|
|
|
149
155
|
};
|
|
150
156
|
return this.http.post(`${this.VALTIMO_ENDPOINT_URI}v1/process-link/${processLinkId}/form/submission`, formData, httpOptions);
|
|
151
157
|
}
|
|
152
|
-
|
|
158
|
+
submitURLProcessLink(processLinkId, documentId, taskInstanceId, documentDefinitionName) {
|
|
159
|
+
let params = new HttpParams();
|
|
160
|
+
if (documentId) {
|
|
161
|
+
params = params.set('documentId', documentId);
|
|
162
|
+
}
|
|
163
|
+
if (taskInstanceId) {
|
|
164
|
+
params = params.set('taskInstanceId', taskInstanceId);
|
|
165
|
+
}
|
|
166
|
+
if (documentDefinitionName) {
|
|
167
|
+
params = params.set('documentDefinitionName', documentDefinitionName);
|
|
168
|
+
}
|
|
169
|
+
const httpOptions = {
|
|
170
|
+
headers: new HttpHeaders().set('Content-Type', 'application/json'),
|
|
171
|
+
params,
|
|
172
|
+
};
|
|
173
|
+
return this.http.post(`${this.VALTIMO_ENDPOINT_URI}v1/process-link/url/${processLinkId}`, {}, httpOptions);
|
|
174
|
+
}
|
|
175
|
+
getVariables() {
|
|
176
|
+
return this.http.get(`${this.VALTIMO_ENDPOINT_URI}v1/process-link/url/variables`);
|
|
177
|
+
}
|
|
178
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkService, deps: [{ token: i1$1.ConfigService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
153
179
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkService, providedIn: 'root' }); }
|
|
154
180
|
}
|
|
155
181
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkService, decorators: [{
|
|
@@ -157,7 +183,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
157
183
|
args: [{
|
|
158
184
|
providedIn: 'root',
|
|
159
185
|
}]
|
|
160
|
-
}], ctorParameters: () => [{ type:
|
|
186
|
+
}], ctorParameters: () => [{ type: i1$1.ConfigService }, { type: i1.HttpClient }] });
|
|
187
|
+
|
|
188
|
+
class UrlResolverService {
|
|
189
|
+
resolveUrlVariables(url, variables) {
|
|
190
|
+
let resolvingUrl = url;
|
|
191
|
+
Object.keys(variables).forEach(key => {
|
|
192
|
+
let value = variables[key];
|
|
193
|
+
resolvingUrl = resolvingUrl.replace('<' + key + '>', value);
|
|
194
|
+
});
|
|
195
|
+
return resolvingUrl;
|
|
196
|
+
}
|
|
197
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UrlResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
198
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UrlResolverService }); }
|
|
199
|
+
}
|
|
200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UrlResolverService, decorators: [{
|
|
201
|
+
type: Injectable
|
|
202
|
+
}] });
|
|
203
|
+
|
|
204
|
+
class UrlValidatorService {
|
|
205
|
+
constructor(urlResolverService) {
|
|
206
|
+
this.urlResolverService = urlResolverService;
|
|
207
|
+
}
|
|
208
|
+
urlValidator(variables) {
|
|
209
|
+
return (control) => {
|
|
210
|
+
const url = this.urlResolverService.resolveUrlVariables(control.value, variables);
|
|
211
|
+
try {
|
|
212
|
+
new URL(url);
|
|
213
|
+
return null;
|
|
214
|
+
}
|
|
215
|
+
catch (_) {
|
|
216
|
+
return { invalidUrl: url };
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UrlValidatorService, deps: [{ token: UrlResolverService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
221
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UrlValidatorService }); }
|
|
222
|
+
}
|
|
223
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UrlValidatorService, decorators: [{
|
|
224
|
+
type: Injectable
|
|
225
|
+
}], ctorParameters: () => [{ type: UrlResolverService }] });
|
|
161
226
|
|
|
162
227
|
/*
|
|
163
228
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
@@ -234,7 +299,7 @@ class PluginStateService {
|
|
|
234
299
|
save() {
|
|
235
300
|
this._save$.next(null);
|
|
236
301
|
}
|
|
237
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PluginStateService, deps: [{ token: i1$
|
|
302
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PluginStateService, deps: [{ token: i1$2.PluginManagementService }, { token: i1$2.PluginService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
238
303
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PluginStateService, providedIn: 'root' }); }
|
|
239
304
|
}
|
|
240
305
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PluginStateService, decorators: [{
|
|
@@ -242,7 +307,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
242
307
|
args: [{
|
|
243
308
|
providedIn: 'root',
|
|
244
309
|
}]
|
|
245
|
-
}], ctorParameters: () => [{ type: i1$
|
|
310
|
+
}], ctorParameters: () => [{ type: i1$2.PluginManagementService }, { type: i1$2.PluginService }] });
|
|
246
311
|
|
|
247
312
|
/*
|
|
248
313
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
@@ -510,6 +575,17 @@ class ProcessLinkStepService {
|
|
|
510
575
|
}
|
|
511
576
|
});
|
|
512
577
|
}
|
|
578
|
+
setURLSteps() {
|
|
579
|
+
this._steps$.next([
|
|
580
|
+
{ label: 'chooseProcessLinkType', secondaryLabel: 'processLinkType.url' },
|
|
581
|
+
{ label: 'selectURL' },
|
|
582
|
+
]);
|
|
583
|
+
this._currentStepIndex$.next(1);
|
|
584
|
+
}
|
|
585
|
+
setSingleURLStep() {
|
|
586
|
+
this._steps$.next([{ label: 'selectURL' }]);
|
|
587
|
+
this._currentStepIndex$.next(0);
|
|
588
|
+
}
|
|
513
589
|
disableSteps() {
|
|
514
590
|
this._disableSteps$.next(true);
|
|
515
591
|
}
|
|
@@ -524,14 +600,13 @@ class ProcessLinkStepService {
|
|
|
524
600
|
case 'form':
|
|
525
601
|
if (hasOneOption) {
|
|
526
602
|
this.setSingleFormStep();
|
|
527
|
-
this.buttonService.hideSaveButton();
|
|
528
603
|
this.buttonService.hideBackButton();
|
|
529
604
|
}
|
|
530
605
|
else {
|
|
531
606
|
this.setFormSteps();
|
|
532
|
-
this.buttonService.showSaveButton();
|
|
533
607
|
this.buttonService.showBackButton();
|
|
534
608
|
}
|
|
609
|
+
this.buttonService.showSaveButton();
|
|
535
610
|
break;
|
|
536
611
|
case 'form-flow':
|
|
537
612
|
if (hasOneOption) {
|
|
@@ -557,6 +632,18 @@ class ProcessLinkStepService {
|
|
|
557
632
|
this.buttonService.showNextButton();
|
|
558
633
|
}
|
|
559
634
|
break;
|
|
635
|
+
case 'url':
|
|
636
|
+
if (hasOneOption) {
|
|
637
|
+
this.setSingleURLStep();
|
|
638
|
+
this.buttonService.hideBackButton();
|
|
639
|
+
this.buttonService.showSaveButton();
|
|
640
|
+
}
|
|
641
|
+
else {
|
|
642
|
+
this.setURLSteps();
|
|
643
|
+
this.buttonService.showBackButton();
|
|
644
|
+
this.buttonService.showSaveButton();
|
|
645
|
+
}
|
|
646
|
+
break;
|
|
560
647
|
}
|
|
561
648
|
}
|
|
562
649
|
setChoiceSteps() {
|
|
@@ -567,12 +654,12 @@ class ProcessLinkStepService {
|
|
|
567
654
|
]);
|
|
568
655
|
this._currentStepIndex$.next(0);
|
|
569
656
|
}
|
|
570
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkStepService, deps: [{ token:
|
|
657
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkStepService, deps: [{ token: i3.TranslateService }, { token: ProcessLinkButtonService }, { token: PluginStateService }, { token: i1$2.PluginTranslationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
571
658
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkStepService }); }
|
|
572
659
|
}
|
|
573
660
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkStepService, decorators: [{
|
|
574
661
|
type: Injectable
|
|
575
|
-
}], ctorParameters: () => [{ type:
|
|
662
|
+
}], ctorParameters: () => [{ type: i3.TranslateService }, { type: ProcessLinkButtonService }, { type: PluginStateService }, { type: i1$2.PluginTranslationService }] });
|
|
576
663
|
|
|
577
664
|
/*
|
|
578
665
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
@@ -631,6 +718,7 @@ class ProcessLinkStateService {
|
|
|
631
718
|
this._elementName$ = new BehaviorSubject('');
|
|
632
719
|
this._selectedProcessLinkTypeId$ = new BehaviorSubject('');
|
|
633
720
|
this._viewModelEnabled$ = new BehaviorSubject(false);
|
|
721
|
+
this._url$ = new BehaviorSubject("");
|
|
634
722
|
this._saving$ = new BehaviorSubject(false);
|
|
635
723
|
this._modalParams$ = new BehaviorSubject(undefined);
|
|
636
724
|
this._selectedProcessLink$ = new BehaviorSubject(undefined);
|
|
@@ -669,6 +757,9 @@ class ProcessLinkStateService {
|
|
|
669
757
|
get viewModelEnabled$() {
|
|
670
758
|
return this._viewModelEnabled$.asObservable();
|
|
671
759
|
}
|
|
760
|
+
get url$() {
|
|
761
|
+
return this._url$.asObservable();
|
|
762
|
+
}
|
|
672
763
|
clearSelectedProcessLinkType() {
|
|
673
764
|
this._selectedProcessLinkTypeId$.next('');
|
|
674
765
|
}
|
|
@@ -692,6 +783,7 @@ class ProcessLinkStateService {
|
|
|
692
783
|
this._selectedProcessLink$.next(processLink);
|
|
693
784
|
this.pluginStateService.selectProcessLink(processLink);
|
|
694
785
|
this.setViewModelEnabled(processLink.viewModelEnabled);
|
|
786
|
+
this._url$.next(processLink.url);
|
|
695
787
|
}
|
|
696
788
|
deselectProcessLink() {
|
|
697
789
|
this._selectedProcessLink$.next(undefined);
|
|
@@ -736,6 +828,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
736
828
|
*/
|
|
737
829
|
const FORM_FLOW_COMPONENT_TOKEN = new InjectionToken('Supported form-flow Angular components', { factory: () => [] });
|
|
738
830
|
|
|
831
|
+
/*
|
|
832
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
833
|
+
*
|
|
834
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
835
|
+
* you may not use this file except in compliance with the License.
|
|
836
|
+
* You may obtain a copy of the License at
|
|
837
|
+
*
|
|
838
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
839
|
+
*
|
|
840
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
841
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
842
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
843
|
+
* See the License for the specific language governing permissions and
|
|
844
|
+
* limitations under the License.
|
|
845
|
+
*/
|
|
846
|
+
const formSizeToCarbonModalSizeMap = {
|
|
847
|
+
extraSmall: 'xs',
|
|
848
|
+
small: 'sm',
|
|
849
|
+
medium: 'md',
|
|
850
|
+
large: 'lg',
|
|
851
|
+
};
|
|
852
|
+
|
|
739
853
|
/*
|
|
740
854
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
741
855
|
*
|
|
@@ -865,13 +979,13 @@ class SelectPluginConfigurationComponent {
|
|
|
865
979
|
this.stepService.setChoosePluginActionSteps();
|
|
866
980
|
}));
|
|
867
981
|
}
|
|
868
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginConfigurationComponent, deps: [{ token: i1$
|
|
869
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectPluginConfigurationComponent, selector: "valtimo-select-plugin-configuration", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"pluginConfigurations$ | async as pluginConfigurations; else loading\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginConfigurationDescription' | translate }}\n </p>\n <div class=\"list-container\">\n <cds-structured-list (selected)=\"selected($event)\" selection=\"true\">\n <cds-list-header>\n <cds-list-column nowrap=\"true\"></cds-list-column>\n <cds-list-column nowrap=\"true\">{{\n 'pluginManagement.labels.configurationName' | translate\n }}</cds-list-column>\n <cds-list-column>{{\n 'processLinkConfiguration.pluginDescription' | translate\n }}</cds-list-column>\n </cds-list-header>\n <cds-list-row\n *ngFor=\"let pluginConfiguration of pluginConfigurations\"\n [value]=\"pluginConfiguration\"\n >\n <cds-list-column>\n <div *ngIf=\"pluginConfiguration.pluginLogoBase64\">\n <img\n [src]=\"pluginConfiguration.pluginLogoBase64\"\n [title]=\"'title' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async\"\n class=\"plugin-configuration-logo\"\n /></div\n ></cds-list-column>\n <cds-list-column>{{ pluginConfiguration.title }}</cds-list-column>\n <cds-list-column>\n {{ 'description' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async }}\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plugin-configuration-logo{object-fit:contain;height:60px;width:100%;margin-bottom:-.5rem}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.list-container{margin-top:32px;margin-bottom:32px}::ng-deep .list-container .cds--structured-list-td{vertical-align:top}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type:
|
|
982
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginConfigurationComponent, deps: [{ token: i1$2.PluginManagementService }, { token: PluginStateService }, { token: i1$2.PluginService }, { token: ProcessLinkStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkStepService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
983
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectPluginConfigurationComponent, selector: "valtimo-select-plugin-configuration", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"pluginConfigurations$ | async as pluginConfigurations; else loading\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginConfigurationDescription' | translate }}\n </p>\n <div class=\"list-container\">\n <cds-structured-list (selected)=\"selected($event)\" selection=\"true\">\n <cds-list-header>\n <cds-list-column nowrap=\"true\"></cds-list-column>\n <cds-list-column nowrap=\"true\">{{\n 'pluginManagement.labels.configurationName' | translate\n }}</cds-list-column>\n <cds-list-column>{{\n 'processLinkConfiguration.pluginDescription' | translate\n }}</cds-list-column>\n </cds-list-header>\n <cds-list-row\n *ngFor=\"let pluginConfiguration of pluginConfigurations\"\n [value]=\"pluginConfiguration\"\n >\n <cds-list-column>\n <div *ngIf=\"pluginConfiguration.pluginLogoBase64\">\n <img\n [src]=\"pluginConfiguration.pluginLogoBase64\"\n [title]=\"'title' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async\"\n class=\"plugin-configuration-logo\"\n /></div\n ></cds-list-column>\n <cds-list-column>{{ pluginConfiguration.title }}</cds-list-column>\n <cds-list-column>\n {{ 'description' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async }}\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plugin-configuration-logo{object-fit:contain;height:60px;width:100%;margin-bottom:-.5rem}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.list-container{margin-top:32px;margin-bottom:32px}::ng-deep .list-container .cds--structured-list-td{vertical-align:top}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i4$1.StructuredList, selector: "cds-structured-list, ibm-structured-list", inputs: ["selection", "flushed", "condensed", "name", "skeleton"], outputs: ["selected"] }, { kind: "component", type: i4$1.ListRow, selector: "cds-list-row, ibm-list-row", inputs: ["selected", "label", "value"], outputs: ["change"] }, { kind: "component", type: i4$1.ListHeader, selector: "cds-list-header, ibm-list-header", inputs: ["skeleton"] }, { kind: "component", type: i4$1.ListColumn, selector: "cds-list-column, ibm-list-column", inputs: ["skeleton", "nowrap"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1$2.PluginTranslatePipe, name: "pluginTranslate" }] }); }
|
|
870
984
|
}
|
|
871
985
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginConfigurationComponent, decorators: [{
|
|
872
986
|
type: Component,
|
|
873
987
|
args: [{ selector: 'valtimo-select-plugin-configuration', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"pluginConfigurations$ | async as pluginConfigurations; else loading\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginConfigurationDescription' | translate }}\n </p>\n <div class=\"list-container\">\n <cds-structured-list (selected)=\"selected($event)\" selection=\"true\">\n <cds-list-header>\n <cds-list-column nowrap=\"true\"></cds-list-column>\n <cds-list-column nowrap=\"true\">{{\n 'pluginManagement.labels.configurationName' | translate\n }}</cds-list-column>\n <cds-list-column>{{\n 'processLinkConfiguration.pluginDescription' | translate\n }}</cds-list-column>\n </cds-list-header>\n <cds-list-row\n *ngFor=\"let pluginConfiguration of pluginConfigurations\"\n [value]=\"pluginConfiguration\"\n >\n <cds-list-column>\n <div *ngIf=\"pluginConfiguration.pluginLogoBase64\">\n <img\n [src]=\"pluginConfiguration.pluginLogoBase64\"\n [title]=\"'title' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async\"\n class=\"plugin-configuration-logo\"\n /></div\n ></cds-list-column>\n <cds-list-column>{{ pluginConfiguration.title }}</cds-list-column>\n <cds-list-column>\n {{ 'description' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async }}\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plugin-configuration-logo{object-fit:contain;height:60px;width:100%;margin-bottom:-.5rem}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.list-container{margin-top:32px;margin-bottom:32px}::ng-deep .list-container .cds--structured-list-td{vertical-align:top}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
874
|
-
}], ctorParameters: () => [{ type: i1$
|
|
988
|
+
}], ctorParameters: () => [{ type: i1$2.PluginManagementService }, { type: PluginStateService }, { type: i1$2.PluginService }, { type: ProcessLinkStateService }, { type: ProcessLinkButtonService }, { type: ProcessLinkStepService }] });
|
|
875
989
|
|
|
876
990
|
/*
|
|
877
991
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
@@ -930,13 +1044,135 @@ class SelectPluginActionComponent {
|
|
|
930
1044
|
this.stepService.setConfigurePluginActionSteps();
|
|
931
1045
|
}));
|
|
932
1046
|
}
|
|
933
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginActionComponent, deps: [{ token: ProcessLinkButtonService }, { token: i1$
|
|
934
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectPluginActionComponent, selector: "valtimo-select-plugin-action", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"pluginFunctions$ | async as pluginFunctions; else loading\">\n <div class=\"choose-plugin-action\" *ngIf=\"pluginFunctions?.length > 0\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginActionDescription' | translate }}\n </p>\n <div class=\"action-tiles\">\n <cds-tile-group\n [multiple]=\"false\"\n *ngIf=\"{selectedPluginDefinition: selectedPluginDefinition$ | async} as obs\"\n (selected)=\"selected($event)\"\n >\n <cds-selection-tile\n *ngFor=\"let pluginFunction of pluginFunctions\"\n [value]=\"stringify(pluginFunction)\"\n [selected]=\"false\"\n >{{\n pluginFunction.key | pluginTranslate: obs.selectedPluginDefinition.key | async\n }}</cds-selection-tile\n >\n </cds-tile-group>\n </div>\n </div>\n <ng-container *ngIf=\"!pluginFunctions || pluginFunctions?.length === 0\">\n <ng-container *ngTemplateOutlet=\"noPluginFunctionsTemplate\"> </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #noPluginFunctionsTemplate>\n <p class=\"step-description\">\n {{ 'processLink.noPluginFunctions' | translate }}\n </p>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.action-tiles{margin-top:24px;width:calc(100% + 8px);margin-left:-8px}::ng-deep .choose-plugin-action cds-selection-tile{display:flex;width:calc(33.3% - 8px)}::ng-deep .choose-plugin-action .cds--tile{width:100%}::ng-deep .choose-plugin-action cds-tile-group fieldset{display:flex;flex-direction:row;flex-wrap:wrap}::ng-deep .choose-plugin-action cds-selection-tile{margin-left:8px}::ng-deep .choose-plugin-action cds-selection-tile:nth-child(n+4){margin-top:8px}::ng-deep .action-tiles .cds--tile{background-color:var(--cds-layer-02, #ffffff)}::ng-deep .action-tiles .cds--tile:hover{background:var(--cds-layer-hover)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type:
|
|
1047
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginActionComponent, deps: [{ token: ProcessLinkButtonService }, { token: i1$2.PluginManagementService }, { token: PluginStateService }, { token: ProcessLinkStepService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1048
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectPluginActionComponent, selector: "valtimo-select-plugin-action", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"pluginFunctions$ | async as pluginFunctions; else loading\">\n <div class=\"choose-plugin-action\" *ngIf=\"pluginFunctions?.length > 0\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginActionDescription' | translate }}\n </p>\n <div class=\"action-tiles\">\n <cds-tile-group\n [multiple]=\"false\"\n *ngIf=\"{selectedPluginDefinition: selectedPluginDefinition$ | async} as obs\"\n (selected)=\"selected($event)\"\n >\n <cds-selection-tile\n *ngFor=\"let pluginFunction of pluginFunctions\"\n [value]=\"stringify(pluginFunction)\"\n [selected]=\"false\"\n >{{\n pluginFunction.key | pluginTranslate: obs.selectedPluginDefinition.key | async\n }}</cds-selection-tile\n >\n </cds-tile-group>\n </div>\n </div>\n <ng-container *ngIf=\"!pluginFunctions || pluginFunctions?.length === 0\">\n <ng-container *ngTemplateOutlet=\"noPluginFunctionsTemplate\"> </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #noPluginFunctionsTemplate>\n <p class=\"step-description\">\n {{ 'processLink.noPluginFunctions' | translate }}\n </p>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.action-tiles{margin-top:24px;width:calc(100% + 8px);margin-left:-8px}::ng-deep .choose-plugin-action cds-selection-tile{display:flex;width:calc(33.3% - 8px)}::ng-deep .choose-plugin-action .cds--tile{width:100%}::ng-deep .choose-plugin-action cds-tile-group fieldset{display:flex;flex-direction:row;flex-wrap:wrap}::ng-deep .choose-plugin-action cds-selection-tile{margin-left:8px}::ng-deep .choose-plugin-action cds-selection-tile:nth-child(n+4){margin-top:8px}::ng-deep .action-tiles .cds--tile{background-color:var(--cds-layer-02, #ffffff)}::ng-deep .action-tiles .cds--tile:hover{background:var(--cds-layer-hover)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i4$1.SelectionTile, selector: "cds-selection-tile, ibm-selection-tile", inputs: ["theme", "id", "selected", "value", "disabled"], outputs: ["change"] }, { kind: "component", type: i4$1.TileGroup, selector: "cds-tile-group, ibm-tile-group", inputs: ["name", "multiple", "legend"], outputs: ["selected"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1$2.PluginTranslatePipe, name: "pluginTranslate" }] }); }
|
|
935
1049
|
}
|
|
936
1050
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginActionComponent, decorators: [{
|
|
937
1051
|
type: Component,
|
|
938
1052
|
args: [{ selector: 'valtimo-select-plugin-action', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"pluginFunctions$ | async as pluginFunctions; else loading\">\n <div class=\"choose-plugin-action\" *ngIf=\"pluginFunctions?.length > 0\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginActionDescription' | translate }}\n </p>\n <div class=\"action-tiles\">\n <cds-tile-group\n [multiple]=\"false\"\n *ngIf=\"{selectedPluginDefinition: selectedPluginDefinition$ | async} as obs\"\n (selected)=\"selected($event)\"\n >\n <cds-selection-tile\n *ngFor=\"let pluginFunction of pluginFunctions\"\n [value]=\"stringify(pluginFunction)\"\n [selected]=\"false\"\n >{{\n pluginFunction.key | pluginTranslate: obs.selectedPluginDefinition.key | async\n }}</cds-selection-tile\n >\n </cds-tile-group>\n </div>\n </div>\n <ng-container *ngIf=\"!pluginFunctions || pluginFunctions?.length === 0\">\n <ng-container *ngTemplateOutlet=\"noPluginFunctionsTemplate\"> </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #noPluginFunctionsTemplate>\n <p class=\"step-description\">\n {{ 'processLink.noPluginFunctions' | translate }}\n </p>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.action-tiles{margin-top:24px;width:calc(100% + 8px);margin-left:-8px}::ng-deep .choose-plugin-action cds-selection-tile{display:flex;width:calc(33.3% - 8px)}::ng-deep .choose-plugin-action .cds--tile{width:100%}::ng-deep .choose-plugin-action cds-tile-group fieldset{display:flex;flex-direction:row;flex-wrap:wrap}::ng-deep .choose-plugin-action cds-selection-tile{margin-left:8px}::ng-deep .choose-plugin-action cds-selection-tile:nth-child(n+4){margin-top:8px}::ng-deep .action-tiles .cds--tile{background-color:var(--cds-layer-02, #ffffff)}::ng-deep .action-tiles .cds--tile:hover{background:var(--cds-layer-hover)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
939
|
-
}], ctorParameters: () => [{ type: ProcessLinkButtonService }, { type: i1$
|
|
1053
|
+
}], ctorParameters: () => [{ type: ProcessLinkButtonService }, { type: i1$2.PluginManagementService }, { type: PluginStateService }, { type: ProcessLinkStepService }] });
|
|
1054
|
+
|
|
1055
|
+
/*
|
|
1056
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1057
|
+
*
|
|
1058
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1059
|
+
* you may not use this file except in compliance with the License.
|
|
1060
|
+
* You may obtain a copy of the License at
|
|
1061
|
+
*
|
|
1062
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
1063
|
+
*
|
|
1064
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1065
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
1066
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1067
|
+
* See the License for the specific language governing permissions and
|
|
1068
|
+
* limitations under the License.
|
|
1069
|
+
*/
|
|
1070
|
+
class SelectUrlComponent {
|
|
1071
|
+
get url() {
|
|
1072
|
+
return this.urlForm.get('url');
|
|
1073
|
+
}
|
|
1074
|
+
constructor(stateService, buttonService, processLinkService, urlValidatorService, urlResolverService, alertService) {
|
|
1075
|
+
this.stateService = stateService;
|
|
1076
|
+
this.buttonService = buttonService;
|
|
1077
|
+
this.processLinkService = processLinkService;
|
|
1078
|
+
this.urlValidatorService = urlValidatorService;
|
|
1079
|
+
this.urlResolverService = urlResolverService;
|
|
1080
|
+
this.alertService = alertService;
|
|
1081
|
+
this.urlForm = new FormGroup({
|
|
1082
|
+
url: new FormControl('', Validators.required)
|
|
1083
|
+
});
|
|
1084
|
+
this._subscriptions = new Subscription();
|
|
1085
|
+
}
|
|
1086
|
+
ngOnInit() {
|
|
1087
|
+
this.openBackButtonSubscription();
|
|
1088
|
+
this.openSaveButtonSubscription();
|
|
1089
|
+
this._subscriptions.add(this.urlForm.statusChanges
|
|
1090
|
+
.pipe(distinctUntilChanged())
|
|
1091
|
+
.subscribe(status => {
|
|
1092
|
+
if (status === 'VALID') {
|
|
1093
|
+
this.buttonService.enableSaveButton();
|
|
1094
|
+
}
|
|
1095
|
+
else {
|
|
1096
|
+
this.buttonService.disableSaveButton();
|
|
1097
|
+
}
|
|
1098
|
+
}));
|
|
1099
|
+
this.stateService.url$
|
|
1100
|
+
.subscribe(url => this.url.setValue(url));
|
|
1101
|
+
this.processLinkService.getVariables()
|
|
1102
|
+
.subscribe(urlVariables => {
|
|
1103
|
+
this.url.addValidators(this.urlValidatorService.urlValidator(urlVariables.variables));
|
|
1104
|
+
this.variables = urlVariables.variables;
|
|
1105
|
+
});
|
|
1106
|
+
}
|
|
1107
|
+
ngOnDestroy() {
|
|
1108
|
+
this._subscriptions.unsubscribe();
|
|
1109
|
+
}
|
|
1110
|
+
openBackButtonSubscription() {
|
|
1111
|
+
this._subscriptions.add(this.buttonService.backButtonClick$.subscribe(() => {
|
|
1112
|
+
this.stateService.setInitial();
|
|
1113
|
+
}));
|
|
1114
|
+
}
|
|
1115
|
+
openSaveButtonSubscription() {
|
|
1116
|
+
this._subscriptions.add(this.buttonService.saveButtonClick$.subscribe(() => {
|
|
1117
|
+
this.stateService.startSaving();
|
|
1118
|
+
this.saveProcessLink();
|
|
1119
|
+
}));
|
|
1120
|
+
}
|
|
1121
|
+
saveProcessLink() {
|
|
1122
|
+
this.stateService.selectedProcessLink$.pipe(take(1)).subscribe(selectedProcessLink => {
|
|
1123
|
+
if (selectedProcessLink) {
|
|
1124
|
+
this.updateProcessLink();
|
|
1125
|
+
}
|
|
1126
|
+
else {
|
|
1127
|
+
this.saveNewProcessLink();
|
|
1128
|
+
}
|
|
1129
|
+
});
|
|
1130
|
+
}
|
|
1131
|
+
updateProcessLink() {
|
|
1132
|
+
this.stateService.selectedProcessLink$
|
|
1133
|
+
.pipe(take(1))
|
|
1134
|
+
.subscribe((selectedProcessLink) => {
|
|
1135
|
+
const updateProcessLinkRequest = {
|
|
1136
|
+
id: selectedProcessLink.id,
|
|
1137
|
+
url: this.url.value,
|
|
1138
|
+
};
|
|
1139
|
+
this.processLinkService.updateProcessLink(updateProcessLinkRequest).subscribe(() => {
|
|
1140
|
+
this.stateService.closeModal();
|
|
1141
|
+
}, () => {
|
|
1142
|
+
this.stateService.stopSaving();
|
|
1143
|
+
});
|
|
1144
|
+
});
|
|
1145
|
+
}
|
|
1146
|
+
saveNewProcessLink() {
|
|
1147
|
+
combineLatest([
|
|
1148
|
+
this.stateService.modalParams$,
|
|
1149
|
+
this.stateService.selectedProcessLinkTypeId$
|
|
1150
|
+
])
|
|
1151
|
+
.pipe(take(1), switchMap(([modalParams, processLinkTypeId]) => this.processLinkService.saveProcessLink({
|
|
1152
|
+
url: this.url.value,
|
|
1153
|
+
activityType: modalParams.element.activityListenerType,
|
|
1154
|
+
processDefinitionId: modalParams.processDefinitionId,
|
|
1155
|
+
processLinkType: processLinkTypeId,
|
|
1156
|
+
activityId: modalParams.element.id
|
|
1157
|
+
})))
|
|
1158
|
+
.subscribe({
|
|
1159
|
+
complete: () => this.stateService.closeModal(),
|
|
1160
|
+
error: () => {
|
|
1161
|
+
this.alertService.error('Failed to save process link');
|
|
1162
|
+
this.stateService.stopSaving();
|
|
1163
|
+
}
|
|
1164
|
+
});
|
|
1165
|
+
}
|
|
1166
|
+
resolveUrlVariables(url) {
|
|
1167
|
+
return this.urlResolverService.resolveUrlVariables(url, this.variables);
|
|
1168
|
+
}
|
|
1169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectUrlComponent, deps: [{ token: ProcessLinkStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkService }, { token: UrlValidatorService }, { token: UrlResolverService }, { token: i2.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1170
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectUrlComponent, selector: "valtimo-select-url", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div [formGroup]=\"urlForm\">\n <cds-label [invalidText]=\"\n 'processLinkUrlInvalid' | translate : { URL: (url.errors?.invalidUrl ?? '') }\n \"\n [invalid]=\"url.invalid && url.touched\"\n [helperText]=\"url.invalid ? '' : resolveUrlVariables(url.value)\">Url\n <input\n cdsText\n type=\"text\"\n required\n class=\"form-control\"\n formControlName=\"url\"\n [invalid]=\"url.invalid\"\n >\n </cds-label>\n</div>\n", dependencies: [{ kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4$1.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i4$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
1171
|
+
}
|
|
1172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectUrlComponent, decorators: [{
|
|
1173
|
+
type: Component,
|
|
1174
|
+
args: [{ selector: 'valtimo-select-url', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div [formGroup]=\"urlForm\">\n <cds-label [invalidText]=\"\n 'processLinkUrlInvalid' | translate : { URL: (url.errors?.invalidUrl ?? '') }\n \"\n [invalid]=\"url.invalid && url.touched\"\n [helperText]=\"url.invalid ? '' : resolveUrlVariables(url.value)\">Url\n <input\n cdsText\n type=\"text\"\n required\n class=\"form-control\"\n formControlName=\"url\"\n [invalid]=\"url.invalid\"\n >\n </cds-label>\n</div>\n" }]
|
|
1175
|
+
}], ctorParameters: () => [{ type: ProcessLinkStateService }, { type: ProcessLinkButtonService }, { type: ProcessLinkService }, { type: UrlValidatorService }, { type: UrlResolverService }, { type: i2.AlertService }] });
|
|
940
1176
|
|
|
941
1177
|
/*
|
|
942
1178
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
@@ -1046,7 +1282,7 @@ class PluginActionConfigurationComponent {
|
|
|
1046
1282
|
}));
|
|
1047
1283
|
}
|
|
1048
1284
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PluginActionConfigurationComponent, deps: [{ token: ProcessLinkStateService }, { token: PluginStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkStepService }, { token: ProcessLinkService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1049
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PluginActionConfigurationComponent, selector: "valtimo-plugin-action-configuration", outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [functionKey]=\"functionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"saving$\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n type=\"function\"\n></valtimo-plugin-configuration-container>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "component", type: i1$
|
|
1285
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PluginActionConfigurationComponent, selector: "valtimo-plugin-action-configuration", outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [functionKey]=\"functionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"saving$\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n type=\"function\"\n></valtimo-plugin-configuration-container>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "component", type: i1$2.PluginConfigurationContainerComponent, selector: "valtimo-plugin-configuration-container", inputs: ["type", "pluginDefinitionKey", "functionKey", "save$", "disabled$", "prefillConfiguration$"], outputs: ["valid", "configuration"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
1050
1286
|
}
|
|
1051
1287
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PluginActionConfigurationComponent, decorators: [{
|
|
1052
1288
|
type: Component,
|
|
@@ -1181,13 +1417,13 @@ class FormLinkProcessDiagramComponent {
|
|
|
1181
1417
|
}
|
|
1182
1418
|
this.version = +version;
|
|
1183
1419
|
}
|
|
1184
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormLinkProcessDiagramComponent, deps: [{ token: i1$
|
|
1185
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormLinkProcessDiagramComponent, selector: "valtimo-form-link-process-diagram", outputs: { bpmnElementModalOpen: "bpmnElementModalOpen", bpmnElementModalClose: "bpmnElementModalClose" }, viewQueries: [{ propertyName: "el", first: true, predicate: ["ref"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"container-fluid\">\n <div class=\"row p-4 bg-white\">\n <div class=\"col\">\n <div #ref class=\"diagram-container\"></div>\n </div>\n </div>\n</div>\n<div class=\"p-4 text-center legenda-holder\">\n <span>Click on a User Task to specify a form definition for that User Task.</span>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div class=\"form-link-dossier-actions\">\n <cds-select [label]=\"'Process'\" (change)=\"setProcessDefinitionKey($event.target.value)\"\n ><option\n *ngFor=\"let processDefinition of processDefinitions\"\n [value]=\"processDefinition.key\"\n [selected]=\"processDefinitionKey === processDefinition.key\"\n >\n {{ processDefinition.name }}\n </option>\n </cds-select>\n <cds-select [label]=\"'Version'\" (change)=\"setProcessDefinitionVersion($event.target.value)\">\n <option\n *ngFor=\"let processDefinitionVersion of processDefinitionVersions\"\n [value]=\"processDefinitionVersion.version\"\n [selected]=\"processDefinitionVersion.version === version\"\n >\n {{ processDefinitionVersion.version }}\n </option>\n </cds-select>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".diagram-container-switch-holder{width:100%;z-index:1000}.diagram-container{height:58vh}.container-fluid{border:1px solid #dee2e6}.options{border-bottom:1px solid #dee2e6}.form-link-dossier-actions{display:flex;flex-direction:row;gap:8px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type:
|
|
1420
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormLinkProcessDiagramComponent, deps: [{ token: i1$3.ProcessService }, { token: i2$1.ActivatedRoute }, { token: i2.PageTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1421
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormLinkProcessDiagramComponent, selector: "valtimo-form-link-process-diagram", outputs: { bpmnElementModalOpen: "bpmnElementModalOpen", bpmnElementModalClose: "bpmnElementModalClose" }, viewQueries: [{ propertyName: "el", first: true, predicate: ["ref"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"container-fluid\">\n <div class=\"row p-4 bg-white\">\n <div class=\"col\">\n <div #ref class=\"diagram-container\"></div>\n </div>\n </div>\n</div>\n<div class=\"p-4 text-center legenda-holder\">\n <span>Click on a User Task to specify a form definition for that User Task.</span>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div class=\"form-link-dossier-actions\">\n <cds-select [label]=\"'Process'\" (change)=\"setProcessDefinitionKey($event.target.value)\"\n ><option\n *ngFor=\"let processDefinition of processDefinitions\"\n [value]=\"processDefinition.key\"\n [selected]=\"processDefinitionKey === processDefinition.key\"\n >\n {{ processDefinition.name }}\n </option>\n </cds-select>\n <cds-select [label]=\"'Version'\" (change)=\"setProcessDefinitionVersion($event.target.value)\">\n <option\n *ngFor=\"let processDefinitionVersion of processDefinitionVersions\"\n [value]=\"processDefinitionVersion.version\"\n [selected]=\"processDefinitionVersion.version === version\"\n >\n {{ processDefinitionVersion.version }}\n </option>\n </cds-select>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".diagram-container-switch-holder{width:100%;z-index:1000}.diagram-container{height:58vh}.container-fluid{border:1px solid #dee2e6}.options{border-bottom:1px solid #dee2e6}.form-link-dossier-actions{display:flex;flex-direction:row;gap:8px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i4$1.Select, selector: "cds-select, ibm-select", inputs: ["display", "label", "helperText", "invalidText", "warn", "warnText", "id", "size", "disabled", "skeleton", "invalid", "theme", "ariaLabel", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i4$1.Option, selector: "option" }] }); }
|
|
1186
1422
|
}
|
|
1187
1423
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormLinkProcessDiagramComponent, decorators: [{
|
|
1188
1424
|
type: Component,
|
|
1189
1425
|
args: [{ selector: 'valtimo-form-link-process-diagram', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"container-fluid\">\n <div class=\"row p-4 bg-white\">\n <div class=\"col\">\n <div #ref class=\"diagram-container\"></div>\n </div>\n </div>\n</div>\n<div class=\"p-4 text-center legenda-holder\">\n <span>Click on a User Task to specify a form definition for that User Task.</span>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div class=\"form-link-dossier-actions\">\n <cds-select [label]=\"'Process'\" (change)=\"setProcessDefinitionKey($event.target.value)\"\n ><option\n *ngFor=\"let processDefinition of processDefinitions\"\n [value]=\"processDefinition.key\"\n [selected]=\"processDefinitionKey === processDefinition.key\"\n >\n {{ processDefinition.name }}\n </option>\n </cds-select>\n <cds-select [label]=\"'Version'\" (change)=\"setProcessDefinitionVersion($event.target.value)\">\n <option\n *ngFor=\"let processDefinitionVersion of processDefinitionVersions\"\n [value]=\"processDefinitionVersion.version\"\n [selected]=\"processDefinitionVersion.version === version\"\n >\n {{ processDefinitionVersion.version }}\n </option>\n </cds-select>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".diagram-container-switch-holder{width:100%;z-index:1000}.diagram-container{height:58vh}.container-fluid{border:1px solid #dee2e6}.options{border-bottom:1px solid #dee2e6}.form-link-dossier-actions{display:flex;flex-direction:row;gap:8px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1190
|
-
}], ctorParameters: () => [{ type: i1$
|
|
1426
|
+
}], ctorParameters: () => [{ type: i1$3.ProcessService }, { type: i2$1.ActivatedRoute }, { type: i2.PageTitleService }], propDecorators: { el: [{
|
|
1191
1427
|
type: ViewChild,
|
|
1192
1428
|
args: ['ref']
|
|
1193
1429
|
}], bpmnElementModalOpen: [{
|
|
@@ -1220,13 +1456,112 @@ class ChooseProcessLinkTypeComponent {
|
|
|
1220
1456
|
this.processLinkStateService.selectProcessLinkType(processLinkTypeId);
|
|
1221
1457
|
}
|
|
1222
1458
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChooseProcessLinkTypeComponent, deps: [{ token: ProcessLinkStateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1223
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChooseProcessLinkTypeComponent, selector: "valtimo-choose-process-link-type", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n availableProcessLinkTypes: availableProcessLinkTypes$ | async
|
|
1459
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChooseProcessLinkTypeComponent, selector: "valtimo-choose-process-link-type", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n availableProcessLinkTypes: availableProcessLinkTypes$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseProcessLinkTypeDescription' | translate }}\n </p>\n <div class=\"process-link-grid\">\n <div\n class=\"process-link-item\"\n *ngFor=\"let availableProcessLinkType of obs.availableProcessLinkTypes\"\n >\n <ng-container *ngIf=\"availableProcessLinkType.processLinkType as processLinkTypeId\">\n <button\n (click)=\"selectProcessLinkType(processLinkTypeId)\"\n cdsButton=\"secondary\"\n size=\"xl\"\n class=\"process-link-type-button\"\n [disabled]=\"!availableProcessLinkType.enabled\"\n [vTooltip]=\"'processLinkTypeDisabledTooltip.' + processLinkTypeId | translate\"\n [onBottom]=\"true\"\n [tooltipDisabled]=\"availableProcessLinkType.enabled\"\n >\n {{ 'processLinkType.' + processLinkTypeId | translate }}\n <svg\n *ngIf=\"processLinkTypeId === 'plugin'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"link\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'form'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"receipt\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'form-flow'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"flow--data\"\n size=\"16\"\n ></svg>\n </button>\n </ng-container>\n </div>\n </div>\n</ng-container>\n", styles: [".process-link-type-button{width:100%}.process-link-grid{margin-top:24px;display:flex;justify-content:flex-start;width:100%;flex-wrap:wrap;gap:8px}.process-link-item{flex-basis:calc(33.3% - 5.3333333333px)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "directive", type: i2.TooltipDirective, selector: "[vTooltip]", inputs: ["vTooltip", "onBottom", "tooltipDisabled"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
1224
1460
|
}
|
|
1225
1461
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChooseProcessLinkTypeComponent, decorators: [{
|
|
1226
1462
|
type: Component,
|
|
1227
|
-
args: [{ selector: 'valtimo-choose-process-link-type', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n availableProcessLinkTypes: availableProcessLinkTypes$ | async
|
|
1463
|
+
args: [{ selector: 'valtimo-choose-process-link-type', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n availableProcessLinkTypes: availableProcessLinkTypes$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseProcessLinkTypeDescription' | translate }}\n </p>\n <div class=\"process-link-grid\">\n <div\n class=\"process-link-item\"\n *ngFor=\"let availableProcessLinkType of obs.availableProcessLinkTypes\"\n >\n <ng-container *ngIf=\"availableProcessLinkType.processLinkType as processLinkTypeId\">\n <button\n (click)=\"selectProcessLinkType(processLinkTypeId)\"\n cdsButton=\"secondary\"\n size=\"xl\"\n class=\"process-link-type-button\"\n [disabled]=\"!availableProcessLinkType.enabled\"\n [vTooltip]=\"'processLinkTypeDisabledTooltip.' + processLinkTypeId | translate\"\n [onBottom]=\"true\"\n [tooltipDisabled]=\"availableProcessLinkType.enabled\"\n >\n {{ 'processLinkType.' + processLinkTypeId | translate }}\n <svg\n *ngIf=\"processLinkTypeId === 'plugin'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"link\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'form'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"receipt\"\n size=\"16\"\n ></svg>\n <svg\n *ngIf=\"processLinkTypeId === 'form-flow'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"flow--data\"\n size=\"16\"\n ></svg>\n </button>\n </ng-container>\n </div>\n </div>\n</ng-container>\n", styles: [".process-link-type-button{width:100%}.process-link-grid{margin-top:24px;display:flex;justify-content:flex-start;width:100%;flex-wrap:wrap;gap:8px}.process-link-item{flex-basis:calc(33.3% - 5.3333333333px)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1228
1464
|
}], ctorParameters: () => [{ type: ProcessLinkStateService }] });
|
|
1229
1465
|
|
|
1466
|
+
class FormDisplayConfigurationComponent {
|
|
1467
|
+
constructor(buttonService, configService, stateService, translateService) {
|
|
1468
|
+
this.buttonService = buttonService;
|
|
1469
|
+
this.configService = configService;
|
|
1470
|
+
this.stateService = stateService;
|
|
1471
|
+
this.translateService = translateService;
|
|
1472
|
+
this.formDisplayValue = new EventEmitter();
|
|
1473
|
+
this.formSizeValue = new EventEmitter();
|
|
1474
|
+
this.formDisplayValue$ = new BehaviorSubject(null);
|
|
1475
|
+
this.formSizeValue$ = new BehaviorSubject(null);
|
|
1476
|
+
this.disableFormSizeInput$ = new BehaviorSubject(true);
|
|
1477
|
+
this.saving$ = this.stateService.saving$;
|
|
1478
|
+
this.taskPanelEnabled$ = new BehaviorSubject(false);
|
|
1479
|
+
this.isUserTask$ = new BehaviorSubject(false);
|
|
1480
|
+
this._DISPLAY_TYPE_OPTIONS = ['modal', 'panel'];
|
|
1481
|
+
this._FORM_SIZE_OPTIONS = ['extraSmall', 'small', 'medium', 'large'];
|
|
1482
|
+
this._subscriptions = new Subscription();
|
|
1483
|
+
this.formDisplayTypeListItems$ = combineLatest([
|
|
1484
|
+
this.formDisplayValue$,
|
|
1485
|
+
this.translateService.stream('key'),
|
|
1486
|
+
]).pipe(map(([formDisplayValue]) => this._DISPLAY_TYPE_OPTIONS.map((key) => ({
|
|
1487
|
+
content: this.translateService.instant(`processLinkSteps.displayType.options.${key}`),
|
|
1488
|
+
key: key,
|
|
1489
|
+
selected: this.formDisplayValue$.getValue() === key,
|
|
1490
|
+
}))));
|
|
1491
|
+
this.formSizeListItems$ = combineLatest([
|
|
1492
|
+
this.formSizeValue$,
|
|
1493
|
+
this.translateService.stream('key'),
|
|
1494
|
+
]).pipe(map(([formSizeValue]) => this._FORM_SIZE_OPTIONS.map((key) => ({
|
|
1495
|
+
content: this.translateService.instant(`processLinkSteps.formSize.options.${key}`),
|
|
1496
|
+
key: key,
|
|
1497
|
+
selected: this.formSizeValue$.getValue() === key,
|
|
1498
|
+
}))));
|
|
1499
|
+
this.taskPanelEnabled$.next(!!this.configService.featureToggles?.enableTaskPanel);
|
|
1500
|
+
}
|
|
1501
|
+
ngOnInit() {
|
|
1502
|
+
this._subscriptions.add(combineLatest([
|
|
1503
|
+
this.stateService.modalParams$,
|
|
1504
|
+
this.stateService.selectedProcessLink$,
|
|
1505
|
+
]).subscribe(([modalParams, selectedProcessLink]) => {
|
|
1506
|
+
this.isUserTask$.next(modalParams?.element?.type === 'bpmn:UserTask');
|
|
1507
|
+
if (selectedProcessLink) {
|
|
1508
|
+
if (selectedProcessLink.formDisplayType)
|
|
1509
|
+
this.disableFormSizeInput$.next(false);
|
|
1510
|
+
if (selectedProcessLink.activityType.includes('bpmn:UserTask'))
|
|
1511
|
+
this.isUserTask$.next(true);
|
|
1512
|
+
this.formDisplayValue$.next(selectedProcessLink.formDisplayType);
|
|
1513
|
+
this.formSizeValue$.next(selectedProcessLink.formSize);
|
|
1514
|
+
}
|
|
1515
|
+
}));
|
|
1516
|
+
}
|
|
1517
|
+
ngOnDestroy() {
|
|
1518
|
+
this._subscriptions.unsubscribe();
|
|
1519
|
+
}
|
|
1520
|
+
selectFormDisplayType(event) {
|
|
1521
|
+
this.updateFormDisplayType(event?.key);
|
|
1522
|
+
this.enableSaveButtonWhenValid();
|
|
1523
|
+
}
|
|
1524
|
+
selectFormSize(event) {
|
|
1525
|
+
this.updateFormSize(event?.key);
|
|
1526
|
+
this.enableSaveButtonWhenValid();
|
|
1527
|
+
}
|
|
1528
|
+
updateFormDisplayType(formDisplayType) {
|
|
1529
|
+
formDisplayType ? this.disableFormSizeInput$.next(false) : this.resetFormSize();
|
|
1530
|
+
this.formDisplayValue$.next(formDisplayType);
|
|
1531
|
+
this.formDisplayValue.emit(formDisplayType);
|
|
1532
|
+
}
|
|
1533
|
+
updateFormSize(formSize) {
|
|
1534
|
+
this.formSizeValue$.next(formSize);
|
|
1535
|
+
this.formSizeValue.emit(formSize);
|
|
1536
|
+
}
|
|
1537
|
+
resetFormSize() {
|
|
1538
|
+
this.disableFormSizeInput$.next(true);
|
|
1539
|
+
this.updateFormSize(null);
|
|
1540
|
+
}
|
|
1541
|
+
enableSaveButtonWhenValid() {
|
|
1542
|
+
if (this.selectedFormDefinition &&
|
|
1543
|
+
this.formDisplayValue$.getValue() &&
|
|
1544
|
+
this.formSizeValue$.getValue()) {
|
|
1545
|
+
this.buttonService.enableSaveButton();
|
|
1546
|
+
}
|
|
1547
|
+
else {
|
|
1548
|
+
this.buttonService.disableSaveButton();
|
|
1549
|
+
}
|
|
1550
|
+
}
|
|
1551
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormDisplayConfigurationComponent, deps: [{ token: ProcessLinkButtonService }, { token: i1$1.ConfigService }, { token: ProcessLinkStateService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1552
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FormDisplayConfigurationComponent, selector: "valtimo-form-display-configuration", inputs: { selectedFormDefinition: "selectedFormDefinition" }, outputs: { formDisplayValue: "formDisplayValue", formSizeValue: "formSizeValue" }, ngImport: i0, template: "<ng-container\n *ngIf=\"{\n formDisplayValue: formDisplayValue$ | async,\n formDisplayTypeListItems: formDisplayTypeListItems$ | async,\n formSizeListItems: formSizeListItems$ | async,\n disableFormSizeInput: disableFormSizeInput$ | async,\n isUserTask: isUserTask$ | async,\n taskPanelEnabled: taskPanelEnabled$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n @if (obs.taskPanelEnabled && obs.isUserTask) {\n <cds-combo-box\n [placeholder]=\"'processLinkSteps.displayType.placeholder' | translate\"\n [label]=\"'processLinkSteps.displayType.label' | translate\"\n [disabled]=\"obs.saving\"\n (selected)=\"selectFormDisplayType($event)\"\n >\n <cds-dropdown-list [items]=\"obs.formDisplayTypeListItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n <br />\n\n <cds-combo-box\n [placeholder]=\"'processLinkSteps.formSize.placeholder' | translate\"\n [label]=\"'processLinkSteps.formSize.label' | translate\"\n [disabled]=\"obs.disableFormSizeInput || obs.saving\"\n (selected)=\"selectFormSize($event)\"\n >\n <cds-dropdown-list [items]=\"obs.formSizeListItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n }\n</ng-container>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
1553
|
+
}
|
|
1554
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormDisplayConfigurationComponent, decorators: [{
|
|
1555
|
+
type: Component,
|
|
1556
|
+
args: [{ selector: 'valtimo-form-display-configuration', template: "<ng-container\n *ngIf=\"{\n formDisplayValue: formDisplayValue$ | async,\n formDisplayTypeListItems: formDisplayTypeListItems$ | async,\n formSizeListItems: formSizeListItems$ | async,\n disableFormSizeInput: disableFormSizeInput$ | async,\n isUserTask: isUserTask$ | async,\n taskPanelEnabled: taskPanelEnabled$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n @if (obs.taskPanelEnabled && obs.isUserTask) {\n <cds-combo-box\n [placeholder]=\"'processLinkSteps.displayType.placeholder' | translate\"\n [label]=\"'processLinkSteps.displayType.label' | translate\"\n [disabled]=\"obs.saving\"\n (selected)=\"selectFormDisplayType($event)\"\n >\n <cds-dropdown-list [items]=\"obs.formDisplayTypeListItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n <br />\n\n <cds-combo-box\n [placeholder]=\"'processLinkSteps.formSize.placeholder' | translate\"\n [label]=\"'processLinkSteps.formSize.label' | translate\"\n [disabled]=\"obs.disableFormSizeInput || obs.saving\"\n (selected)=\"selectFormSize($event)\"\n >\n <cds-dropdown-list [items]=\"obs.formSizeListItems || []\"></cds-dropdown-list>\n </cds-combo-box>\n }\n</ng-container>\n" }]
|
|
1557
|
+
}], ctorParameters: () => [{ type: ProcessLinkButtonService }, { type: i1$1.ConfigService }, { type: ProcessLinkStateService }, { type: i3.TranslateService }], propDecorators: { selectedFormDefinition: [{
|
|
1558
|
+
type: Input
|
|
1559
|
+
}], formDisplayValue: [{
|
|
1560
|
+
type: Output
|
|
1561
|
+
}], formSizeValue: [{
|
|
1562
|
+
type: Output
|
|
1563
|
+
}] } });
|
|
1564
|
+
|
|
1230
1565
|
/*
|
|
1231
1566
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1232
1567
|
*
|
|
@@ -1243,11 +1578,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1243
1578
|
* limitations under the License.
|
|
1244
1579
|
*/
|
|
1245
1580
|
class SelectFormComponent {
|
|
1246
|
-
constructor(formService, stateService, processLinkService, buttonService) {
|
|
1581
|
+
constructor(configService, formService, stateService, processLinkService, buttonService) {
|
|
1582
|
+
this.configService = configService;
|
|
1247
1583
|
this.formService = formService;
|
|
1248
1584
|
this.stateService = stateService;
|
|
1249
1585
|
this.processLinkService = processLinkService;
|
|
1250
1586
|
this.buttonService = buttonService;
|
|
1587
|
+
this.formDisplayValue = '';
|
|
1588
|
+
this.formSizeValue = '';
|
|
1251
1589
|
this.saving$ = this.stateService.saving$;
|
|
1252
1590
|
this.formDefinitions$ = this.formService.getAllFormDefinitions();
|
|
1253
1591
|
this.formDefinitionListItems$ = combineLatest([this.stateService.selectedProcessLink$, this.formDefinitions$]).pipe(map$1(([selectedProcessLink, formDefinitions]) => formDefinitions.map(definition => ({
|
|
@@ -1263,23 +1601,37 @@ class SelectFormComponent {
|
|
|
1263
1601
|
}
|
|
1264
1602
|
}));
|
|
1265
1603
|
this._subscriptions = new Subscription();
|
|
1604
|
+
this.isUserTask$ = new BehaviorSubject(false);
|
|
1605
|
+
this.taskPanelToggle = this.configService.featureToggles?.enableTaskPanel;
|
|
1266
1606
|
}
|
|
1267
1607
|
ngOnInit() {
|
|
1268
1608
|
this.openBackButtonSubscription();
|
|
1269
1609
|
this.openSaveButtonSubscription();
|
|
1610
|
+
this._subscriptions.add(combineLatest([
|
|
1611
|
+
this.stateService.selectedProcessLink$,
|
|
1612
|
+
this.stateService.modalParams$,
|
|
1613
|
+
]).subscribe(([selectedProcessLink, modalParams]) => {
|
|
1614
|
+
if (selectedProcessLink) {
|
|
1615
|
+
this.formDisplayValue = selectedProcessLink.formDisplayType;
|
|
1616
|
+
this.formSizeValue = selectedProcessLink.formSize;
|
|
1617
|
+
}
|
|
1618
|
+
this.isUserTask$.next(modalParams?.element?.type === 'bpmn:UserTask');
|
|
1619
|
+
}));
|
|
1270
1620
|
}
|
|
1271
1621
|
ngOnDestroy() {
|
|
1272
1622
|
this._subscriptions.unsubscribe();
|
|
1273
1623
|
}
|
|
1274
1624
|
selectFormDefinition(formDefinition) {
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
this.buttonService.enableSaveButton()
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1625
|
+
this.selectedFormDefinition = formDefinition?.id ? formDefinition : null;
|
|
1626
|
+
this.selectedFormDefinition
|
|
1627
|
+
? this.buttonService.enableSaveButton()
|
|
1628
|
+
: this.buttonService.disableSaveButton();
|
|
1629
|
+
}
|
|
1630
|
+
selectedFormDisplayValue(formDisplay) {
|
|
1631
|
+
this.formDisplayValue = formDisplay;
|
|
1632
|
+
}
|
|
1633
|
+
selectedFormSizeValue(formSize) {
|
|
1634
|
+
this.formSizeValue = formSize;
|
|
1283
1635
|
}
|
|
1284
1636
|
openBackButtonSubscription() {
|
|
1285
1637
|
this._subscriptions.add(this.buttonService.backButtonClick$.subscribe(() => {
|
|
@@ -1303,13 +1655,22 @@ class SelectFormComponent {
|
|
|
1303
1655
|
});
|
|
1304
1656
|
}
|
|
1305
1657
|
updateProcessLink() {
|
|
1306
|
-
combineLatest([
|
|
1658
|
+
combineLatest([
|
|
1659
|
+
this.stateService.selectedProcessLink$,
|
|
1660
|
+
this.stateService.viewModelEnabled$,
|
|
1661
|
+
this.isUserTask$,
|
|
1662
|
+
])
|
|
1307
1663
|
.pipe(take(1))
|
|
1308
|
-
.subscribe(([selectedProcessLink, viewModelEnabled]) => {
|
|
1664
|
+
.subscribe(([selectedProcessLink, viewModelEnabled, isUserTask]) => {
|
|
1309
1665
|
const updateProcessLinkRequest = {
|
|
1310
1666
|
id: selectedProcessLink.id,
|
|
1311
|
-
formDefinitionId: this.
|
|
1667
|
+
formDefinitionId: this.selectedFormDefinition.id,
|
|
1312
1668
|
viewModelEnabled,
|
|
1669
|
+
...(this.taskPanelToggle &&
|
|
1670
|
+
isUserTask && {
|
|
1671
|
+
formDisplayType: this.formDisplayValue,
|
|
1672
|
+
}),
|
|
1673
|
+
...(this.taskPanelToggle && isUserTask && { formSize: this.formSizeValue }),
|
|
1313
1674
|
};
|
|
1314
1675
|
this.processLinkService.updateProcessLink(updateProcessLinkRequest).subscribe(() => {
|
|
1315
1676
|
this.stateService.closeModal();
|
|
@@ -1323,14 +1684,23 @@ class SelectFormComponent {
|
|
|
1323
1684
|
this.stateService.modalParams$,
|
|
1324
1685
|
this.stateService.selectedProcessLinkTypeId$,
|
|
1325
1686
|
this.stateService.viewModelEnabled$,
|
|
1687
|
+
this.isUserTask$,
|
|
1326
1688
|
])
|
|
1327
|
-
.pipe(take(1), switchMap(([modalParams, processLinkTypeId, viewModelEnabled]) => this.processLinkService.saveProcessLink({
|
|
1328
|
-
formDefinitionId: this.
|
|
1689
|
+
.pipe(take(1), switchMap(([modalParams, processLinkTypeId, viewModelEnabled, isUserTask]) => this.processLinkService.saveProcessLink({
|
|
1690
|
+
formDefinitionId: this.selectedFormDefinition.id,
|
|
1329
1691
|
activityType: modalParams.element.activityListenerType,
|
|
1330
1692
|
processDefinitionId: modalParams.processDefinitionId,
|
|
1331
1693
|
processLinkType: processLinkTypeId,
|
|
1332
1694
|
activityId: modalParams.element.id,
|
|
1333
1695
|
viewModelEnabled,
|
|
1696
|
+
...(this.taskPanelToggle &&
|
|
1697
|
+
isUserTask && {
|
|
1698
|
+
formDisplayType: this.formDisplayValue,
|
|
1699
|
+
}),
|
|
1700
|
+
...(this.taskPanelToggle &&
|
|
1701
|
+
isUserTask && {
|
|
1702
|
+
formSize: this.formSizeValue,
|
|
1703
|
+
}),
|
|
1334
1704
|
})))
|
|
1335
1705
|
.subscribe(() => {
|
|
1336
1706
|
this.stateService.closeModal();
|
|
@@ -1338,13 +1708,13 @@ class SelectFormComponent {
|
|
|
1338
1708
|
this.stateService.stopSaving();
|
|
1339
1709
|
});
|
|
1340
1710
|
}
|
|
1341
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormComponent, deps: [{ token: i1$
|
|
1342
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectFormComponent, selector: "valtimo-select-form", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formDefinitions: formDefinitionListItems$ | async,\n saving: saving$ | async
|
|
1711
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormComponent, deps: [{ token: i1$1.ConfigService }, { token: i2$2.FormService }, { token: ProcessLinkStateService }, { token: ProcessLinkService }, { token: ProcessLinkButtonService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1712
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectFormComponent, selector: "valtimo-select-form", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formDefinitions: formDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormDescription' | translate }}\n </p>\n <div class=\"select-form\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formDefinitions || obs.saving\"\n [items]=\"obs.formDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormDefinition($event)\"\n [label]=\"'processLinkSteps.selectForm' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form{display:flex;flex-direction:column;width:100%;margin-top:24px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: FormDisplayConfigurationComponent, selector: "valtimo-form-display-configuration", inputs: ["selectedFormDefinition"], outputs: ["formDisplayValue", "formSizeValue"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
1343
1713
|
}
|
|
1344
1714
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormComponent, decorators: [{
|
|
1345
1715
|
type: Component,
|
|
1346
|
-
args: [{ selector: 'valtimo-select-form', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formDefinitions: formDefinitionListItems$ | async,\n saving: saving$ | async
|
|
1347
|
-
}], ctorParameters: () => [{ type: i1$
|
|
1716
|
+
args: [{ selector: 'valtimo-select-form', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formDefinitions: formDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormDescription' | translate }}\n </p>\n <div class=\"select-form\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formDefinitions || obs.saving\"\n [items]=\"obs.formDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormDefinition($event)\"\n [label]=\"'processLinkSteps.selectForm' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form{display:flex;flex-direction:column;width:100%;margin-top:24px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1717
|
+
}], ctorParameters: () => [{ type: i1$1.ConfigService }, { type: i2$2.FormService }, { type: ProcessLinkStateService }, { type: ProcessLinkService }, { type: ProcessLinkButtonService }] });
|
|
1348
1718
|
|
|
1349
1719
|
/*
|
|
1350
1720
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
@@ -1362,11 +1732,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1362
1732
|
* limitations under the License.
|
|
1363
1733
|
*/
|
|
1364
1734
|
class SelectFormFlowComponent {
|
|
1365
|
-
constructor(formFlowService, stateService, processLinkService, buttonService) {
|
|
1735
|
+
constructor(configService, formFlowService, stateService, processLinkService, buttonService) {
|
|
1736
|
+
this.configService = configService;
|
|
1366
1737
|
this.formFlowService = formFlowService;
|
|
1367
1738
|
this.stateService = stateService;
|
|
1368
1739
|
this.processLinkService = processLinkService;
|
|
1369
1740
|
this.buttonService = buttonService;
|
|
1741
|
+
this.formDisplayValue = '';
|
|
1742
|
+
this.formSizeValue = '';
|
|
1370
1743
|
this.saving$ = this.stateService.saving$;
|
|
1371
1744
|
this.formFlowDefinitions$ = this.formFlowService.getFormFlowDefinitions();
|
|
1372
1745
|
this.formFlowDefinitionListItems$ = combineLatest([this.stateService.selectedProcessLink$, this.formFlowDefinitions$]).pipe(map$1(([selectedProcessLink, formFlowDefinitions]) => formFlowDefinitions.map(definition => ({
|
|
@@ -1382,23 +1755,37 @@ class SelectFormFlowComponent {
|
|
|
1382
1755
|
}
|
|
1383
1756
|
}));
|
|
1384
1757
|
this._subscriptions = new Subscription();
|
|
1758
|
+
this.isUserTask$ = new BehaviorSubject(false);
|
|
1759
|
+
this.taskPanelToggle = this.configService.featureToggles?.enableTaskPanel;
|
|
1385
1760
|
}
|
|
1386
1761
|
ngOnInit() {
|
|
1387
1762
|
this.openBackButtonSubscription();
|
|
1388
1763
|
this.openSaveButtonSubscription();
|
|
1764
|
+
this._subscriptions.add(combineLatest([
|
|
1765
|
+
this.stateService.selectedProcessLink$,
|
|
1766
|
+
this.stateService.modalParams$,
|
|
1767
|
+
]).subscribe(([selectedProcessLink, modalParams]) => {
|
|
1768
|
+
if (selectedProcessLink) {
|
|
1769
|
+
this.formDisplayValue = selectedProcessLink.formDisplayType;
|
|
1770
|
+
this.formSizeValue = selectedProcessLink.formSize;
|
|
1771
|
+
}
|
|
1772
|
+
this.isUserTask$.next(modalParams?.element?.type === 'bpmn:UserTask');
|
|
1773
|
+
}));
|
|
1389
1774
|
}
|
|
1390
1775
|
ngOnDestroy() {
|
|
1391
1776
|
this._subscriptions.unsubscribe();
|
|
1392
1777
|
}
|
|
1778
|
+
selectedFormDisplayValue(formDisplay) {
|
|
1779
|
+
this.formDisplayValue = formDisplay;
|
|
1780
|
+
}
|
|
1781
|
+
selectedFormSizeValue(formSize) {
|
|
1782
|
+
this.formSizeValue = formSize;
|
|
1783
|
+
}
|
|
1393
1784
|
selectFormFlowDefinition(formFlowDefinition) {
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
this.buttonService.enableSaveButton()
|
|
1397
|
-
|
|
1398
|
-
else {
|
|
1399
|
-
this._selectedFormFlowDefinition = null;
|
|
1400
|
-
this.buttonService.disableSaveButton();
|
|
1401
|
-
}
|
|
1785
|
+
this.selectedFormFlowDefinition = formFlowDefinition?.id ? formFlowDefinition : null;
|
|
1786
|
+
this.selectedFormFlowDefinition
|
|
1787
|
+
? this.buttonService.enableSaveButton()
|
|
1788
|
+
: this.buttonService.disableSaveButton();
|
|
1402
1789
|
}
|
|
1403
1790
|
openBackButtonSubscription() {
|
|
1404
1791
|
this._subscriptions.add(this.buttonService.backButtonClick$.subscribe(() => {
|
|
@@ -1422,10 +1809,17 @@ class SelectFormFlowComponent {
|
|
|
1422
1809
|
});
|
|
1423
1810
|
}
|
|
1424
1811
|
updateProcessLink() {
|
|
1425
|
-
this.stateService.selectedProcessLink
|
|
1812
|
+
combineLatest(this.stateService.selectedProcessLink$, this.isUserTask$)
|
|
1813
|
+
.pipe(take(1))
|
|
1814
|
+
.subscribe(([selectedProcessLink, isUserTask]) => {
|
|
1426
1815
|
const updateProcessLinkRequest = {
|
|
1427
1816
|
id: selectedProcessLink.id,
|
|
1428
|
-
formFlowDefinitionId: this.
|
|
1817
|
+
formFlowDefinitionId: this.selectedFormFlowDefinition.id,
|
|
1818
|
+
...(this.taskPanelToggle &&
|
|
1819
|
+
isUserTask && {
|
|
1820
|
+
formDisplayType: this.formDisplayValue,
|
|
1821
|
+
}),
|
|
1822
|
+
...(this.taskPanelToggle && isUserTask && { formSize: this.formSizeValue }),
|
|
1429
1823
|
};
|
|
1430
1824
|
this.processLinkService.updateProcessLink(updateProcessLinkRequest).subscribe(() => {
|
|
1431
1825
|
this.stateService.closeModal();
|
|
@@ -1435,13 +1829,22 @@ class SelectFormFlowComponent {
|
|
|
1435
1829
|
});
|
|
1436
1830
|
}
|
|
1437
1831
|
saveNewProcessLink() {
|
|
1438
|
-
combineLatest([
|
|
1439
|
-
|
|
1440
|
-
|
|
1832
|
+
combineLatest([
|
|
1833
|
+
this.stateService.modalParams$,
|
|
1834
|
+
this.stateService.selectedProcessLinkTypeId$,
|
|
1835
|
+
this.isUserTask$,
|
|
1836
|
+
])
|
|
1837
|
+
.pipe(take(1), switchMap(([modalParams, processLinkTypeId, isUserTask]) => this.processLinkService.saveProcessLink({
|
|
1838
|
+
formFlowDefinitionId: this.selectedFormFlowDefinition.id,
|
|
1441
1839
|
activityType: modalParams.element.activityListenerType,
|
|
1442
1840
|
processDefinitionId: modalParams.processDefinitionId,
|
|
1443
1841
|
processLinkType: processLinkTypeId,
|
|
1444
1842
|
activityId: modalParams.element.id,
|
|
1843
|
+
...(this.taskPanelToggle &&
|
|
1844
|
+
isUserTask && {
|
|
1845
|
+
formDisplayType: this.formDisplayValue,
|
|
1846
|
+
}),
|
|
1847
|
+
...(this.taskPanelToggle && isUserTask && { formSize: this.formSizeValue }),
|
|
1445
1848
|
})))
|
|
1446
1849
|
.subscribe(() => {
|
|
1447
1850
|
this.stateService.closeModal();
|
|
@@ -1449,13 +1852,13 @@ class SelectFormFlowComponent {
|
|
|
1449
1852
|
this.stateService.stopSaving();
|
|
1450
1853
|
});
|
|
1451
1854
|
}
|
|
1452
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormFlowComponent, deps: [{ token: FormFlowService }, { token: ProcessLinkStateService }, { token: ProcessLinkService }, { token: ProcessLinkButtonService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1453
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectFormFlowComponent, selector: "valtimo-select-form-flow", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formFlowDefinitions: formFlowDefinitionListItems$ | async,\n saving: saving$ | async
|
|
1855
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormFlowComponent, deps: [{ token: i1$1.ConfigService }, { token: FormFlowService }, { token: ProcessLinkStateService }, { token: ProcessLinkService }, { token: ProcessLinkButtonService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1856
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectFormFlowComponent, selector: "valtimo-select-form-flow", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formFlowDefinitions: formFlowDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormFlowDescription' | translate }}\n </p>\n <div class=\"select-form-flow\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formFlowDefinitions || obs.saving\"\n [items]=\"obs.formFlowDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormFlowDefinition($event)\"\n [label]=\"'processLinkSteps.selectFormFlow' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormFlowDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form-flow{display:flex;flex-direction:column;width:100%;margin-top:24px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: FormDisplayConfigurationComponent, selector: "valtimo-form-display-configuration", inputs: ["selectedFormDefinition"], outputs: ["formDisplayValue", "formSizeValue"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
1454
1857
|
}
|
|
1455
1858
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormFlowComponent, decorators: [{
|
|
1456
1859
|
type: Component,
|
|
1457
|
-
args: [{ selector: 'valtimo-select-form-flow', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formFlowDefinitions: formFlowDefinitionListItems$ | async,\n saving: saving$ | async
|
|
1458
|
-
}], ctorParameters: () => [{ type: FormFlowService }, { type: ProcessLinkStateService }, { type: ProcessLinkService }, { type: ProcessLinkButtonService }] });
|
|
1860
|
+
args: [{ selector: 'valtimo-select-form-flow', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formFlowDefinitions: formFlowDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormFlowDescription' | translate }}\n </p>\n <div class=\"select-form-flow\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formFlowDefinitions || obs.saving\"\n [items]=\"obs.formFlowDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormFlowDefinition($event)\"\n [label]=\"'processLinkSteps.selectFormFlow' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormFlowDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form-flow{display:flex;flex-direction:column;width:100%;margin-top:24px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1861
|
+
}], ctorParameters: () => [{ type: i1$1.ConfigService }, { type: FormFlowService }, { type: ProcessLinkStateService }, { type: ProcessLinkService }, { type: ProcessLinkButtonService }] });
|
|
1459
1862
|
|
|
1460
1863
|
/*
|
|
1461
1864
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
@@ -1521,13 +1924,13 @@ class ProcessLinkModalComponent {
|
|
|
1521
1924
|
toggleCheckedChange(value) {
|
|
1522
1925
|
this.processLinkStateService.setViewModelEnabled(value);
|
|
1523
1926
|
}
|
|
1524
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModalComponent, deps: [{ token: ProcessLinkStateService }, { token: ProcessLinkStepService }, { token: ProcessLinkButtonService }, { token: ProcessLinkService }, { token: ProcessLinkStateService }, { token:
|
|
1525
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ProcessLinkModalComponent, selector: "valtimo-process-link-modal", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </h3>\n <div class=\"process-link-progress\" *ngIf=\"!obs.typeOfSelectedProgressLink\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"stepContent; context: {obs: obs}\"></ng-container>\n </section>\n <ng-template *ngTemplateOutlet=\"footer; context: {obs: obs}\"></ng-template>\n </cds-modal>\n</div>\n\n<ng-template #progressIndicator let-obs=\"obs\">\n <cds-progress-indicator\n *ngIf=\"obs.steps && !obs.hideProgressIndicator\"\n [steps]=\"obs.steps\"\n [current]=\"obs.currentStepIndex\"\n spacing=\"equal\"\n ></cds-progress-indicator>\n</ng-template>\n\n<ng-template #stepContent let-obs=\"obs\">\n <div class=\"cds-loading-container\" *ngIf=\"obs.saving\">\n <cds-loading></cds-loading>\n </div>\n <div [ngClass]=\"{hidden: obs.saving}\">\n <ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'chooseProcessLinkType'\">\n <valtimo-choose-process-link-type></valtimo-choose-process-link-type>\n </ng-container>\n <ng-container\n *ngIf=\"obs.currentStepId === 'selectForm' || obs.typeOfSelectedProgressLink === 'form'\"\n >\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle\"\n [label]=\"'processLinkConfiguration.toggleViewModel.title' | translate\"\n [onText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [offText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [checked]=\"viewModelEnabled$ | async\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'selectFormFlow' || obs.typeOfSelectedProgressLink === 'form-flow'\n \"\n >\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginConfiguration'\">\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'configurePluginAction' ||\n obs.typeOfSelectedProgressLink === 'plugin'\n \"\n >\n <valtimo-plugin-action-configuration></valtimo-plugin-action-configuration>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <div class=\"cancel-button\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'processLinkConfiguration.cancel' | translate }}\n </button>\n </div>\n <div class=\"navigation-buttons\">\n <button\n *ngIf=\"obs.showBackButton && !obs.saving\"\n cdsButton=\"secondary\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving\"\n [disabled]=\"obs.enableNextButton === false\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.typeOfSelectedProgressLink\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"(obs.showSaveButton && !obs.saving) || obs.typeOfSelectedProgressLink\"\n [disabled]=\"obs.enableSaveButton === false\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</ng-template>\n", styles: ["::ng-deep .process-link-modal-container .cds--modal-container{max-width:960px;min-height:70%}::ng-deep .process-link-modal-container .cds--modal-footer{justify-content:space-between}.cds-loading-container{position:absolute;top:50px;padding-bottom:50px;left:0;width:100%;height:calc(100% - 50px);display:flex;justify-content:center;align-items:center;background:var(--cds-layer);z-index:99;box-sizing:border-box}.navigation-buttons{justify-content:flex-end}.navigation-buttons,.cancel-button{max-width:50%;display:flex;flex-direction:row;flex-grow:1}.navigation-buttons button,.cancel-button button{min-width:50%}.cancel-button{max-width:25%}.cancel-button button{min-width:100%}.process-link-progress{width:100%;margin-top:32px;margin-bottom:40px}.hidden{visibility:hidden}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i4.ModalHeaderLabel, selector: "[cdsModalHeaderLabel], [ibmModalHeaderLabel]" }, { kind: "component", type: i4.ProgressIndicator, selector: "cds-progress-indicator, ibm-progress-indicator", inputs: ["current", "steps", "translations", "orientation", "skeleton", "spacing"], outputs: ["stepSelected"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i2$2.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i4.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "component", type: SelectPluginConfigurationComponent, selector: "valtimo-select-plugin-configuration" }, { kind: "component", type: SelectPluginActionComponent, selector: "valtimo-select-plugin-action" }, { kind: "component", type: PluginActionConfigurationComponent, selector: "valtimo-plugin-action-configuration", outputs: ["valid", "configuration"] }, { kind: "component", type: ChooseProcessLinkTypeComponent, selector: "valtimo-choose-process-link-type" }, { kind: "component", type: SelectFormComponent, selector: "valtimo-select-form" }, { kind: "component", type: SelectFormFlowComponent, selector: "valtimo-select-form-flow" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
1927
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModalComponent, deps: [{ token: ProcessLinkStateService }, { token: ProcessLinkStepService }, { token: ProcessLinkButtonService }, { token: ProcessLinkService }, { token: ProcessLinkStateService }, { token: i1$1.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1928
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ProcessLinkModalComponent, selector: "valtimo-process-link-modal", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </h3>\n <div class=\"process-link-progress\" *ngIf=\"!obs.typeOfSelectedProgressLink\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"stepContent; context: {obs: obs}\"></ng-container>\n </section>\n <ng-template *ngTemplateOutlet=\"footer; context: {obs: obs}\"></ng-template>\n </cds-modal>\n</div>\n\n<ng-template #progressIndicator let-obs=\"obs\">\n <cds-progress-indicator\n *ngIf=\"obs.steps && !obs.hideProgressIndicator\"\n [steps]=\"obs.steps\"\n [current]=\"obs.currentStepIndex\"\n spacing=\"equal\"\n ></cds-progress-indicator>\n</ng-template>\n\n<ng-template #stepContent let-obs=\"obs\">\n <div class=\"cds-loading-container\" *ngIf=\"obs.saving\">\n <cds-loading></cds-loading>\n </div>\n <div [ngClass]=\"{hidden: obs.saving}\">\n <ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'chooseProcessLinkType'\">\n <valtimo-choose-process-link-type></valtimo-choose-process-link-type>\n </ng-container>\n <ng-container\n *ngIf=\"obs.currentStepId === 'selectForm' || obs.typeOfSelectedProgressLink === 'form'\"\n >\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle\"\n [label]=\"'processLinkConfiguration.toggleViewModel.title' | translate\"\n [onText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [offText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [checked]=\"viewModelEnabled$ | async\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'selectFormFlow' || obs.typeOfSelectedProgressLink === 'form-flow'\n \"\n >\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginConfiguration'\">\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'configurePluginAction' ||\n obs.typeOfSelectedProgressLink === 'plugin'\n \"\n >\n <valtimo-plugin-action-configuration></valtimo-plugin-action-configuration>\n </ng-container>\n </ng-container>\n <valtimo-select-url\n *ngIf=\"obs.currentStepId === 'selectURL' || obs.typeOfSelectedProgressLink === 'url'\"\n ></valtimo-select-url>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <div class=\"cancel-button\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'processLinkConfiguration.cancel' | translate }}\n </button>\n </div>\n <div class=\"navigation-buttons\">\n <button\n *ngIf=\"obs.showBackButton && !obs.saving\"\n cdsButton=\"secondary\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving\"\n [disabled]=\"obs.enableNextButton === false\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.typeOfSelectedProgressLink\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"(obs.showSaveButton && !obs.saving) || obs.typeOfSelectedProgressLink\"\n [disabled]=\"obs.enableSaveButton === false\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</ng-template>\n", styles: ["::ng-deep .process-link-modal-container .cds--modal-container{max-width:960px;min-height:70%}::ng-deep .process-link-modal-container .cds--modal-footer{justify-content:space-between}.cds-loading-container{position:absolute;top:50px;padding-bottom:50px;left:0;width:100%;height:calc(100% - 50px);display:flex;justify-content:center;align-items:center;background:var(--cds-layer);z-index:99;box-sizing:border-box}.navigation-buttons{justify-content:flex-end}.navigation-buttons,.cancel-button{max-width:50%;display:flex;flex-direction:row;flex-grow:1}.navigation-buttons button,.cancel-button button{min-width:50%}.cancel-button{max-width:25%}.cancel-button button{min-width:100%}.process-link-progress{width:100%;margin-top:32px;margin-bottom:40px}.hidden{visibility:hidden}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i4$1.ModalHeaderLabel, selector: "[cdsModalHeaderLabel], [ibmModalHeaderLabel]" }, { kind: "component", type: i4$1.ProgressIndicator, selector: "cds-progress-indicator, ibm-progress-indicator", inputs: ["current", "steps", "translations", "orientation", "skeleton", "spacing"], outputs: ["stepSelected"] }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i2.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i4$1.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "component", type: SelectPluginConfigurationComponent, selector: "valtimo-select-plugin-configuration" }, { kind: "component", type: SelectPluginActionComponent, selector: "valtimo-select-plugin-action" }, { kind: "component", type: PluginActionConfigurationComponent, selector: "valtimo-plugin-action-configuration", outputs: ["valid", "configuration"] }, { kind: "component", type: ChooseProcessLinkTypeComponent, selector: "valtimo-choose-process-link-type" }, { kind: "component", type: SelectFormComponent, selector: "valtimo-select-form" }, { kind: "component", type: SelectFormFlowComponent, selector: "valtimo-select-form-flow" }, { kind: "component", type: SelectUrlComponent, selector: "valtimo-select-url" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
1526
1929
|
}
|
|
1527
1930
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModalComponent, decorators: [{
|
|
1528
1931
|
type: Component,
|
|
1529
|
-
args: [{ selector: 'valtimo-process-link-modal', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async
|
|
1530
|
-
}], ctorParameters: () => [{ type: ProcessLinkStateService }, { type: ProcessLinkStepService }, { type: ProcessLinkButtonService }, { type: ProcessLinkService }, { type: ProcessLinkStateService }, { type:
|
|
1932
|
+
args: [{ selector: 'valtimo-process-link-modal', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"process-link-modal-container\"\n *ngIf=\"{\n showModal: showModal$ | async,\n processStepName: processStepName$ | async,\n steps: steps$ | async,\n currentStepIndex: currentStepIndex$ | async,\n currentStepId: currentStepId$ | async,\n showSaveButton: showSaveButton$ | async,\n enableSaveButton: enableSaveButton$ | async,\n showBackButton: showBackButton$ | async,\n showNextButton: showNextButton$ | async,\n enableNextButton: enableNextButton$ | async,\n saving: saving$ | async,\n hideProgressIndicator: hideProgressIndicator$ | async,\n typeOfSelectedProgressLink: typeOfSelectedProcessLink$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </h3>\n <div class=\"process-link-progress\" *ngIf=\"!obs.typeOfSelectedProgressLink\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"stepContent; context: {obs: obs}\"></ng-container>\n </section>\n <ng-template *ngTemplateOutlet=\"footer; context: {obs: obs}\"></ng-template>\n </cds-modal>\n</div>\n\n<ng-template #progressIndicator let-obs=\"obs\">\n <cds-progress-indicator\n *ngIf=\"obs.steps && !obs.hideProgressIndicator\"\n [steps]=\"obs.steps\"\n [current]=\"obs.currentStepIndex\"\n spacing=\"equal\"\n ></cds-progress-indicator>\n</ng-template>\n\n<ng-template #stepContent let-obs=\"obs\">\n <div class=\"cds-loading-container\" *ngIf=\"obs.saving\">\n <cds-loading></cds-loading>\n </div>\n <div [ngClass]=\"{hidden: obs.saving}\">\n <ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'chooseProcessLinkType'\">\n <valtimo-choose-process-link-type></valtimo-choose-process-link-type>\n </ng-container>\n <ng-container\n *ngIf=\"obs.currentStepId === 'selectForm' || obs.typeOfSelectedProgressLink === 'form'\"\n >\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle\"\n [label]=\"'processLinkConfiguration.toggleViewModel.title' | translate\"\n [onText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [offText]=\"'processLinkConfiguration.toggleViewModel.checkboxDescription' | translate\"\n [checked]=\"viewModelEnabled$ | async\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'selectFormFlow' || obs.typeOfSelectedProgressLink === 'form-flow'\n \"\n >\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginConfiguration'\">\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'configurePluginAction' ||\n obs.typeOfSelectedProgressLink === 'plugin'\n \"\n >\n <valtimo-plugin-action-configuration></valtimo-plugin-action-configuration>\n </ng-container>\n </ng-container>\n <valtimo-select-url\n *ngIf=\"obs.currentStepId === 'selectURL' || obs.typeOfSelectedProgressLink === 'url'\"\n ></valtimo-select-url>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <div class=\"cancel-button\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'processLinkConfiguration.cancel' | translate }}\n </button>\n </div>\n <div class=\"navigation-buttons\">\n <button\n *ngIf=\"obs.showBackButton && !obs.saving\"\n cdsButton=\"secondary\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving\"\n [disabled]=\"obs.enableNextButton === false\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.typeOfSelectedProgressLink\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"(obs.showSaveButton && !obs.saving) || obs.typeOfSelectedProgressLink\"\n [disabled]=\"obs.enableSaveButton === false\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</ng-template>\n", styles: ["::ng-deep .process-link-modal-container .cds--modal-container{max-width:960px;min-height:70%}::ng-deep .process-link-modal-container .cds--modal-footer{justify-content:space-between}.cds-loading-container{position:absolute;top:50px;padding-bottom:50px;left:0;width:100%;height:calc(100% - 50px);display:flex;justify-content:center;align-items:center;background:var(--cds-layer);z-index:99;box-sizing:border-box}.navigation-buttons{justify-content:flex-end}.navigation-buttons,.cancel-button{max-width:50%;display:flex;flex-direction:row;flex-grow:1}.navigation-buttons button,.cancel-button button{min-width:50%}.cancel-button{max-width:25%}.cancel-button button{min-width:100%}.process-link-progress{width:100%;margin-top:32px;margin-bottom:40px}.hidden{visibility:hidden}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1933
|
+
}], ctorParameters: () => [{ type: ProcessLinkStateService }, { type: ProcessLinkStepService }, { type: ProcessLinkButtonService }, { type: ProcessLinkService }, { type: ProcessLinkStateService }, { type: i1$1.ConfigService }] });
|
|
1531
1934
|
|
|
1532
1935
|
/*
|
|
1533
1936
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
@@ -1582,13 +1985,13 @@ class ProcessLinkComponent {
|
|
|
1582
1985
|
.subscribe();
|
|
1583
1986
|
}
|
|
1584
1987
|
}
|
|
1585
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkComponent, deps: [{ token: ProcessLinkService }, { token: ProcessLinkStateService }, { token: i2
|
|
1988
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkComponent, deps: [{ token: ProcessLinkService }, { token: ProcessLinkStateService }, { token: i2.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1586
1989
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ProcessLinkComponent, selector: "valtimo-process-link", providers: [ProcessLinkStateService, ProcessLinkStepService, ProcessLinkButtonService], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <valtimo-form-link-process-diagram\n (bpmnElementModalOpen)=\"openModal($event)\"\n ></valtimo-form-link-process-diagram>\n </div>\n</div>\n\n<valtimo-process-link-modal></valtimo-process-link-modal>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "component", type: FormLinkProcessDiagramComponent, selector: "valtimo-form-link-process-diagram", outputs: ["bpmnElementModalOpen", "bpmnElementModalClose"] }, { kind: "component", type: ProcessLinkModalComponent, selector: "valtimo-process-link-modal" }] }); }
|
|
1587
1990
|
}
|
|
1588
1991
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkComponent, decorators: [{
|
|
1589
1992
|
type: Component,
|
|
1590
1993
|
args: [{ selector: 'valtimo-process-link', providers: [ProcessLinkStateService, ProcessLinkStepService, ProcessLinkButtonService], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <valtimo-form-link-process-diagram\n (bpmnElementModalOpen)=\"openModal($event)\"\n ></valtimo-form-link-process-diagram>\n </div>\n</div>\n\n<valtimo-process-link-modal></valtimo-process-link-modal>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1591
|
-
}], ctorParameters: () => [{ type: ProcessLinkService }, { type: ProcessLinkStateService }, { type: i2
|
|
1994
|
+
}], ctorParameters: () => [{ type: ProcessLinkService }, { type: ProcessLinkStateService }, { type: i2.ModalService }] });
|
|
1592
1995
|
|
|
1593
1996
|
/*
|
|
1594
1997
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
@@ -1777,43 +2180,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1777
2180
|
* limitations under the License.
|
|
1778
2181
|
*/
|
|
1779
2182
|
class FormFlowComponent {
|
|
1780
|
-
constructor(formFlowService, modalService) {
|
|
2183
|
+
constructor(formFlowService, modalService, translateService, configService) {
|
|
1781
2184
|
this.formFlowService = formFlowService;
|
|
1782
2185
|
this.modalService = modalService;
|
|
2186
|
+
this.translateService = translateService;
|
|
2187
|
+
this.configService = configService;
|
|
1783
2188
|
this.formIoFormData = new BehaviorSubject(null);
|
|
1784
2189
|
this.formFlowComplete = new EventEmitter();
|
|
2190
|
+
this.breadcrumbs$ = new BehaviorSubject([]);
|
|
1785
2191
|
this.disabled$ = new BehaviorSubject(false);
|
|
1786
2192
|
this.formFlowStepType$ = new BehaviorSubject(null);
|
|
1787
2193
|
this.FormFlowCustomComponentId$ = new BehaviorSubject('');
|
|
2194
|
+
this.currentStepIndex$ = new BehaviorSubject(0);
|
|
2195
|
+
this.enableFormFlowBreadcrumbs$ = this.configService.getFeatureToggleObservable('enableFormFlowBreadcrumbs');
|
|
2196
|
+
this._subscriptions = new Subscription();
|
|
1788
2197
|
this.formioOptions = new FormioOptionsImpl();
|
|
1789
2198
|
this.formioOptions.disableAlerts = true;
|
|
1790
2199
|
}
|
|
1791
2200
|
ngOnInit() {
|
|
1792
2201
|
this.getFormFlowStep();
|
|
2202
|
+
this.getBreadcrumbs();
|
|
2203
|
+
}
|
|
2204
|
+
ngOnDestroy() {
|
|
2205
|
+
this._subscriptions.unsubscribe();
|
|
1793
2206
|
}
|
|
1794
2207
|
onChange(event) {
|
|
1795
|
-
if (event?.data)
|
|
2208
|
+
if (event?.data)
|
|
1796
2209
|
this.formIoFormData.next(event.data);
|
|
1797
|
-
}
|
|
1798
2210
|
}
|
|
1799
2211
|
onSubmit(submission) {
|
|
1800
2212
|
this.disable();
|
|
1801
2213
|
if (submission.data) {
|
|
1802
2214
|
this.formIoFormData.next(submission.data);
|
|
1803
2215
|
}
|
|
1804
|
-
if (submission.data.submit) {
|
|
2216
|
+
if (submission.data.submit && this.formFlowInstanceId && this.formFlowStepInstanceId) {
|
|
1805
2217
|
this.formFlowService
|
|
1806
2218
|
.submitStep(this.formFlowInstanceId, this.formFlowStepInstanceId, this.formIoFormData.getValue())
|
|
1807
|
-
.subscribe(
|
|
1808
|
-
|
|
1809
|
-
|
|
2219
|
+
.subscribe({
|
|
2220
|
+
next: (result) => {
|
|
2221
|
+
this.handleFormFlowStep(result);
|
|
2222
|
+
},
|
|
2223
|
+
error: errors => {
|
|
2224
|
+
this.form?.showErrors(errors);
|
|
2225
|
+
this.enable();
|
|
2226
|
+
},
|
|
1810
2227
|
});
|
|
1811
2228
|
}
|
|
1812
2229
|
else if (submission.data['back']) {
|
|
1813
|
-
this.
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
2230
|
+
this.back(submission.data);
|
|
2231
|
+
}
|
|
2232
|
+
}
|
|
2233
|
+
onEvent(submission) {
|
|
2234
|
+
if (submission.data['back'] || submission.type == 'back') {
|
|
2235
|
+
this.back(submission.data);
|
|
1817
2236
|
}
|
|
1818
2237
|
}
|
|
1819
2238
|
saveData() {
|
|
@@ -1822,13 +2241,67 @@ class FormFlowComponent {
|
|
|
1822
2241
|
this.formFlowService.save(this.formFlowInstanceId, formIoFormDataValue).subscribe(() => null, errors => this.form.showErrors(errors));
|
|
1823
2242
|
}
|
|
1824
2243
|
}
|
|
2244
|
+
onStepSelected(event) {
|
|
2245
|
+
this.disable();
|
|
2246
|
+
this.currentStepIndex$.next(event.index);
|
|
2247
|
+
const submissionData = this.formIoFormData.getValue().data;
|
|
2248
|
+
if (!this.formFlowInstanceId || !this.formFlowStepInstanceId)
|
|
2249
|
+
return;
|
|
2250
|
+
this.formFlowService
|
|
2251
|
+
.navigateToStep(this.formFlowInstanceId, this.formFlowStepInstanceId, event.step.stepInstanceId, submissionData)
|
|
2252
|
+
.subscribe({
|
|
2253
|
+
next: (result) => this.handleFormFlowStep(result),
|
|
2254
|
+
error: errors => {
|
|
2255
|
+
this.form?.showErrors(errors);
|
|
2256
|
+
this.enable();
|
|
2257
|
+
},
|
|
2258
|
+
});
|
|
2259
|
+
}
|
|
2260
|
+
getBreadcrumbs() {
|
|
2261
|
+
if (!this.formFlowInstanceId)
|
|
2262
|
+
return;
|
|
2263
|
+
this._subscriptions.add(combineLatest([
|
|
2264
|
+
this.enableFormFlowBreadcrumbs$,
|
|
2265
|
+
this.formFlowService.getBreadcrumbs(this.formFlowInstanceId),
|
|
2266
|
+
this.translateService.stream('key'),
|
|
2267
|
+
])
|
|
2268
|
+
.pipe(filter(([enableFormFlowBreadcrumbs]) => enableFormFlowBreadcrumbs), map(([_, breadcrumbs]) => breadcrumbs))
|
|
2269
|
+
.subscribe(breadcrumbs => {
|
|
2270
|
+
this.currentStepIndex$.next(breadcrumbs.currentStepIndex);
|
|
2271
|
+
this.breadcrumbs$.next(breadcrumbs.breadcrumbs.map(breadcrumb => ({
|
|
2272
|
+
label: breadcrumb.title ??
|
|
2273
|
+
this.translateService.instant(`formFlow.step.${breadcrumb.key}.title`) ??
|
|
2274
|
+
breadcrumb.key,
|
|
2275
|
+
disabled: breadcrumb.stepInstanceId === null,
|
|
2276
|
+
complete: breadcrumb.completed,
|
|
2277
|
+
stepInstanceId: breadcrumb.stepInstanceId,
|
|
2278
|
+
})));
|
|
2279
|
+
const classElement = document.getElementsByClassName('cds--progress-step--current');
|
|
2280
|
+
if (classElement.length > 0) {
|
|
2281
|
+
classElement[0].scrollIntoView({ behavior: 'smooth', inline: 'center' });
|
|
2282
|
+
}
|
|
2283
|
+
}));
|
|
2284
|
+
}
|
|
1825
2285
|
getFormFlowStep() {
|
|
2286
|
+
if (!this.formFlowInstanceId)
|
|
2287
|
+
return;
|
|
1826
2288
|
this.formFlowService
|
|
1827
2289
|
.getFormFlowStep(this.formFlowInstanceId)
|
|
1828
2290
|
.subscribe((result) => {
|
|
1829
2291
|
this.handleFormFlowStep(result);
|
|
1830
2292
|
});
|
|
1831
2293
|
}
|
|
2294
|
+
back(submissionData) {
|
|
2295
|
+
if (!this.formFlowInstanceId)
|
|
2296
|
+
return;
|
|
2297
|
+
this.formFlowService.back(this.formFlowInstanceId, submissionData).subscribe({
|
|
2298
|
+
next: (result) => this.handleFormFlowStep(result),
|
|
2299
|
+
error: errors => {
|
|
2300
|
+
this.form?.showErrors(errors);
|
|
2301
|
+
this.enable();
|
|
2302
|
+
},
|
|
2303
|
+
});
|
|
2304
|
+
}
|
|
1832
2305
|
handleFormFlowStep(formFlowInstance) {
|
|
1833
2306
|
if (formFlowInstance.step === null) {
|
|
1834
2307
|
this.formFlowStepType$.next(null);
|
|
@@ -1838,12 +2311,13 @@ class FormFlowComponent {
|
|
|
1838
2311
|
this.formFlowComplete.emit(null);
|
|
1839
2312
|
}
|
|
1840
2313
|
else {
|
|
2314
|
+
this.getBreadcrumbs();
|
|
1841
2315
|
this.modalService.scrollToTop();
|
|
1842
|
-
this.formFlowStepType$.next(formFlowInstance.step
|
|
2316
|
+
this.formFlowStepType$.next(formFlowInstance.step?.type ?? null);
|
|
1843
2317
|
this.FormFlowCustomComponentId$.next(formFlowInstance?.step?.typeProperties?.id || '');
|
|
1844
2318
|
this.formFlowInstanceId = formFlowInstance.id;
|
|
1845
|
-
this.formFlowStepInstanceId = formFlowInstance.step
|
|
1846
|
-
this.formDefinition = formFlowInstance.step
|
|
2319
|
+
this.formFlowStepInstanceId = formFlowInstance.step?.id ?? null;
|
|
2320
|
+
this.formDefinition = formFlowInstance.step?.typeProperties.definition;
|
|
1847
2321
|
}
|
|
1848
2322
|
this.enable();
|
|
1849
2323
|
}
|
|
@@ -1853,13 +2327,13 @@ class FormFlowComponent {
|
|
|
1853
2327
|
enable() {
|
|
1854
2328
|
this.disabled$.next(false);
|
|
1855
2329
|
}
|
|
1856
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowComponent, deps: [{ token: FormFlowService }, { token: i2
|
|
1857
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormFlowComponent, selector: "valtimo-form-flow", inputs: { formIoFormData: "formIoFormData", formFlowInstanceId: "formFlowInstanceId" }, outputs: { formFlowComplete: "formFlowComplete" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div>\n <div
|
|
2330
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowComponent, deps: [{ token: FormFlowService }, { token: i2.ValtimoModalService }, { token: i3.TranslateService }, { token: i1$1.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2331
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FormFlowComponent, selector: "valtimo-form-flow", inputs: { formIoFormData: "formIoFormData", formFlowInstanceId: "formFlowInstanceId" }, outputs: { formFlowComplete: "formFlowComplete" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n breadcrumbs: breadcrumbs$ | async,\n currentStepIndex: currentStepIndex$ | async,\n enableFormFlowBreadcrumbs: enableFormFlowBreadcrumbs$ | async,\n } as obs\"\n>\n <div *ngIf=\"formDefinition && (formFlowStepType$ | async) === 'form'\">\n <div *ngIf=\"obs.enableFormFlowBreadcrumbs\" class=\"form-flow__progress-bar-indicator\">\n <cds-progress-indicator\n [spacing]=\"'equal'\"\n [skeleton]=\"obs.breadcrumbs.length === 0\"\n [current]=\"obs.currentStepIndex\"\n [steps]=\"obs.breadcrumbs\"\n (stepSelected)=\"onStepSelected($event)\"\n >\n </cds-progress-indicator>\n </div>\n\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n (submit)=\"onSubmit($event)\"\n (change)=\"onChange($event)\"\n (event)=\"onEvent($event)\"\n [options]=\"formioOptions\"\n ></valtimo-form-io>\n </div>\n <div *ngIf=\"(formFlowStepType$ | async) === 'custom-component'\">\n <valtimo-form-flow-configuration-container\n [componentId]=\"FormFlowCustomComponentId$ | async\"\n [formFlowInstanceId]=\"formFlowInstanceId\"\n [disabled]=\"disabled$ | async\"\n (submitEvent)=\"onSubmit($event)\"\n (changeEvent)=\"onChange($event)\"\n >\n </valtimo-form-flow-configuration-container>\n </div>\n</div>\n", styles: [".form-flow__progress-bar-indicator{height:64px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.form-flow__progress-bar-indicator ::-webkit-scrollbar{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.ProgressIndicator, selector: "cds-progress-indicator, ibm-progress-indicator", inputs: ["current", "steps", "translations", "orientation", "skeleton", "spacing"], outputs: ["stepSelected"] }, { kind: "component", type: i2.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: FormFlowConfigurationContainerComponent, selector: "valtimo-form-flow-configuration-container", inputs: ["disabled", "componentId", "formFlowInstanceId"], outputs: ["changeEvent", "submitEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
1858
2332
|
}
|
|
1859
2333
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormFlowComponent, decorators: [{
|
|
1860
2334
|
type: Component,
|
|
1861
|
-
args: [{ selector: 'valtimo-form-flow', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div>\n <div
|
|
1862
|
-
}], ctorParameters: () => [{ type: FormFlowService }, { type: i2
|
|
2335
|
+
args: [{ selector: 'valtimo-form-flow', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n breadcrumbs: breadcrumbs$ | async,\n currentStepIndex: currentStepIndex$ | async,\n enableFormFlowBreadcrumbs: enableFormFlowBreadcrumbs$ | async,\n } as obs\"\n>\n <div *ngIf=\"formDefinition && (formFlowStepType$ | async) === 'form'\">\n <div *ngIf=\"obs.enableFormFlowBreadcrumbs\" class=\"form-flow__progress-bar-indicator\">\n <cds-progress-indicator\n [spacing]=\"'equal'\"\n [skeleton]=\"obs.breadcrumbs.length === 0\"\n [current]=\"obs.currentStepIndex\"\n [steps]=\"obs.breadcrumbs\"\n (stepSelected)=\"onStepSelected($event)\"\n >\n </cds-progress-indicator>\n </div>\n\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n (submit)=\"onSubmit($event)\"\n (change)=\"onChange($event)\"\n (event)=\"onEvent($event)\"\n [options]=\"formioOptions\"\n ></valtimo-form-io>\n </div>\n <div *ngIf=\"(formFlowStepType$ | async) === 'custom-component'\">\n <valtimo-form-flow-configuration-container\n [componentId]=\"FormFlowCustomComponentId$ | async\"\n [formFlowInstanceId]=\"formFlowInstanceId\"\n [disabled]=\"disabled$ | async\"\n (submitEvent)=\"onSubmit($event)\"\n (changeEvent)=\"onChange($event)\"\n >\n </valtimo-form-flow-configuration-container>\n </div>\n</div>\n", styles: [".form-flow__progress-bar-indicator{height:64px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.form-flow__progress-bar-indicator ::-webkit-scrollbar{display:none}\n"] }]
|
|
2336
|
+
}], ctorParameters: () => [{ type: FormFlowService }, { type: i2.ValtimoModalService }, { type: i3.TranslateService }, { type: i1$1.ConfigService }], propDecorators: { form: [{
|
|
1863
2337
|
type: ViewChild,
|
|
1864
2338
|
args: ['form']
|
|
1865
2339
|
}], formIoFormData: [{
|
|
@@ -1929,9 +2403,12 @@ class ProcessLinkModule {
|
|
|
1929
2403
|
SelectFormComponent,
|
|
1930
2404
|
FormFlowComponent,
|
|
1931
2405
|
SelectFormFlowComponent,
|
|
1932
|
-
FormFlowConfigurationContainerComponent
|
|
2406
|
+
FormFlowConfigurationContainerComponent,
|
|
2407
|
+
SelectUrlComponent,
|
|
2408
|
+
FormDisplayConfigurationComponent], imports: [CommonModule,
|
|
1933
2409
|
ProcessLinkRoutingModule,
|
|
1934
2410
|
FormsModule,
|
|
2411
|
+
ReactiveFormsModule,
|
|
1935
2412
|
ModalModule,
|
|
1936
2413
|
SearchableDropdownSelectModule,
|
|
1937
2414
|
TranslateModule,
|
|
@@ -1963,10 +2440,15 @@ class ProcessLinkModule {
|
|
|
1963
2440
|
SelectPluginActionComponent,
|
|
1964
2441
|
PluginActionConfigurationComponent,
|
|
1965
2442
|
ProcessLinkModalComponent,
|
|
1966
|
-
FormFlowComponent
|
|
1967
|
-
|
|
2443
|
+
FormFlowComponent,
|
|
2444
|
+
SelectUrlComponent] }); }
|
|
2445
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProcessLinkModule, providers: [
|
|
2446
|
+
UrlValidatorService,
|
|
2447
|
+
UrlResolverService
|
|
2448
|
+
], imports: [CommonModule,
|
|
1968
2449
|
ProcessLinkRoutingModule,
|
|
1969
2450
|
FormsModule,
|
|
2451
|
+
ReactiveFormsModule,
|
|
1970
2452
|
ModalModule,
|
|
1971
2453
|
SearchableDropdownSelectModule,
|
|
1972
2454
|
TranslateModule,
|
|
@@ -2010,11 +2492,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2010
2492
|
FormFlowComponent,
|
|
2011
2493
|
SelectFormFlowComponent,
|
|
2012
2494
|
FormFlowConfigurationContainerComponent,
|
|
2495
|
+
SelectUrlComponent,
|
|
2496
|
+
FormDisplayConfigurationComponent,
|
|
2013
2497
|
],
|
|
2014
2498
|
imports: [
|
|
2015
2499
|
CommonModule,
|
|
2016
2500
|
ProcessLinkRoutingModule,
|
|
2017
2501
|
FormsModule,
|
|
2502
|
+
ReactiveFormsModule,
|
|
2018
2503
|
ModalModule,
|
|
2019
2504
|
SearchableDropdownSelectModule,
|
|
2020
2505
|
TranslateModule,
|
|
@@ -2050,7 +2535,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2050
2535
|
PluginActionConfigurationComponent,
|
|
2051
2536
|
ProcessLinkModalComponent,
|
|
2052
2537
|
FormFlowComponent,
|
|
2538
|
+
SelectUrlComponent,
|
|
2053
2539
|
],
|
|
2540
|
+
providers: [
|
|
2541
|
+
UrlValidatorService,
|
|
2542
|
+
UrlResolverService
|
|
2543
|
+
]
|
|
2054
2544
|
}]
|
|
2055
2545
|
}] });
|
|
2056
2546
|
|
|
@@ -2141,5 +2631,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2141
2631
|
* Generated bundle index. Do not edit.
|
|
2142
2632
|
*/
|
|
2143
2633
|
|
|
2144
|
-
export { ChooseProcessLinkTypeComponent, FORM_FLOW_COMPONENT_TOKEN, FormFlowComponent, FormFlowService, PluginActionConfigurationComponent, ProcessLinkComponent, ProcessLinkModalComponent, ProcessLinkModule, ProcessLinkService, SelectPluginActionComponent, SelectPluginConfigurationComponent };
|
|
2634
|
+
export { ChooseProcessLinkTypeComponent, FORM_FLOW_COMPONENT_TOKEN, FormFlowComponent, FormFlowService, PluginActionConfigurationComponent, ProcessLinkComponent, ProcessLinkModalComponent, ProcessLinkModule, ProcessLinkService, SelectPluginActionComponent, SelectPluginConfigurationComponent, SelectUrlComponent, UrlResolverService, UrlValidatorService, formSizeToCarbonModalSizeMap };
|
|
2145
2635
|
//# sourceMappingURL=valtimo-process-link.mjs.map
|