@valtimo/process-link 13.43.0 → 13.44.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/fesm2022/valtimo-process-link.mjs +364 -80
- package/fesm2022/valtimo-process-link.mjs.map +1 -1
- package/lib/components/choose-process-link-type/choose-process-link-type.component.d.ts +4 -0
- package/lib/components/choose-process-link-type/choose-process-link-type.component.d.ts.map +1 -1
- package/lib/components/configure-building-block-plugins/configure-building-block-plugins.component.d.ts.map +1 -1
- package/lib/components/import-plugin-configuration/import-plugin-configuration.component.d.ts +4 -2
- package/lib/components/import-plugin-configuration/import-plugin-configuration.component.d.ts.map +1 -1
- package/lib/components/plugin-action-configuration/plugin-action-configuration.component.d.ts +3 -0
- package/lib/components/plugin-action-configuration/plugin-action-configuration.component.d.ts.map +1 -1
- package/lib/components/process-link-modal/process-link-modal.component.d.ts +11 -0
- package/lib/components/process-link-modal/process-link-modal.component.d.ts.map +1 -1
- package/lib/components/select-plugin-action/select-plugin-action.component.d.ts +6 -0
- package/lib/components/select-plugin-action/select-plugin-action.component.d.ts.map +1 -1
- package/lib/components/select-plugin-configuration/select-plugin-configuration.component.d.ts +5 -0
- package/lib/components/select-plugin-configuration/select-plugin-configuration.component.d.ts.map +1 -1
- package/lib/constants/injection-tokens.d.ts +3 -3
- package/lib/constants/injection-tokens.d.ts.map +1 -1
- package/lib/constants/process-link.test-ids.d.ts +43 -0
- package/lib/constants/process-link.test-ids.d.ts.map +1 -1
- package/lib/directives/index.d.ts +2 -0
- package/lib/directives/index.d.ts.map +1 -0
- package/lib/directives/read-only-content.directive.d.ts +24 -0
- package/lib/directives/read-only-content.directive.d.ts.map +1 -0
- package/lib/models/form-flow.model.d.ts +1 -17
- package/lib/models/form-flow.model.d.ts.map +1 -1
- package/lib/models/process-link.model.d.ts +3 -3
- package/lib/models/process-link.model.d.ts.map +1 -1
- package/lib/process-link.module.d.ts +10 -9
- package/lib/process-link.module.d.ts.map +1 -1
- package/lib/services/building-block-state.service.d.ts +10 -0
- package/lib/services/building-block-state.service.d.ts.map +1 -1
- package/lib/services/form-flow-component.service.d.ts +1 -12
- package/lib/services/form-flow-component.service.d.ts.map +1 -1
- package/lib/services/process-link-building-block-api.service.d.ts +1 -0
- package/lib/services/process-link-building-block-api.service.d.ts.map +1 -1
- package/lib/services/process-link-state.service.d.ts +3 -0
- package/lib/services/process-link-state.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, InjectionToken, Optional, Inject, Component, EventEmitter, Output, Input, ViewChild, ChangeDetectionStrategy, NgModule, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { Injectable, InjectionToken, Optional, Inject, Component, EventEmitter, Output, Input, ViewChild, Directive, ChangeDetectionStrategy, NgModule, ViewContainerRef } from '@angular/core';
|
|
3
3
|
import { catchError, of, BehaviorSubject, combineLatest, map, Subject, switchMap, filter, Subscription, forkJoin, startWith, mergeMap, tap, withLatestFrom as withLatestFrom$1, take as take$1, shareReplay, distinctUntilChanged } from 'rxjs';
|
|
4
4
|
import * as i2 from '@angular/common/http';
|
|
5
5
|
import { HttpHeaders, HttpParams } from '@angular/common/http';
|
|
@@ -8,25 +8,27 @@ import { BaseApiService, InterceptorSkip, getCaseManagementRouteParams, getBuild
|
|
|
8
8
|
import { map as map$1, take, switchMap as switchMap$1, withLatestFrom, filter as filter$1, catchError as catchError$1, tap as tap$1 } from 'rxjs/operators';
|
|
9
9
|
import * as i1$1 from '@valtimo/plugin';
|
|
10
10
|
import { PluginTranslatePipeModule, PluginConfigurationContainerModule } from '@valtimo/plugin';
|
|
11
|
+
import * as i1$5 from '@valtimo/form-flow-management';
|
|
12
|
+
import { FormFlowComponentService } from '@valtimo/form-flow-management';
|
|
13
|
+
export { FORM_FLOW_COMPONENT_TOKEN, FormFlowComponentService } from '@valtimo/form-flow-management';
|
|
11
14
|
import * as i3 from '@ngx-translate/core';
|
|
12
15
|
import { TranslateModule } from '@ngx-translate/core';
|
|
13
|
-
import * as
|
|
16
|
+
import * as i4 from '@angular/common';
|
|
14
17
|
import { CommonModule } from '@angular/common';
|
|
15
|
-
import * as
|
|
18
|
+
import * as i5 from 'carbon-components-angular';
|
|
16
19
|
import { ComboBoxModule, RadioModule, InputModule, ButtonModule, IconModule, LayerModule, ModalModule as ModalModule$1, ProgressIndicatorModule, LoadingModule, StructuredListModule, TilesModule, SelectModule as SelectModule$1, ToggleModule, ToggletipModule, NotificationModule } from 'carbon-components-angular';
|
|
17
20
|
import * as i1$2 from '@angular/forms';
|
|
18
21
|
import { FormControl, Validators, FormGroup, FormArray, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
19
22
|
import { Upload16 } from '@carbon/icons';
|
|
20
23
|
import * as i2$1 from '@valtimo/components';
|
|
21
24
|
import { ValuePathSelectorPrefix, ValuePathSelectorComponent, InputLabelModule, SelectModule, FormioOptionsImpl, ModalModule, StepperModule, VModalModule, ParagraphModule, TooltipModule, TooltipIconModule, FormIoModule, ValtimoCdsModalDirective, RenderInPageHeaderDirective, CarbonMultiInputModule, RemoveClassnamesDirective } from '@valtimo/components';
|
|
22
|
-
import * as
|
|
25
|
+
import * as i6 from 'carbon-components-angular/dropdown';
|
|
23
26
|
import NavigatedViewer from 'bpmn-js/lib/NavigatedViewer';
|
|
24
27
|
import * as i1$3 from '@valtimo/process';
|
|
25
|
-
import * as i3$
|
|
28
|
+
import * as i3$1 from '@angular/router';
|
|
26
29
|
import { RouterModule } from '@angular/router';
|
|
27
30
|
import { AuthGuardService } from '@valtimo/security';
|
|
28
31
|
import * as i1$4 from '@valtimo/form';
|
|
29
|
-
import * as i1$5 from '@valtimo/form-flow-management';
|
|
30
32
|
|
|
31
33
|
/*
|
|
32
34
|
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
@@ -97,9 +99,13 @@ class ProcessLinkBuildingBlockApiService extends BaseApiService {
|
|
|
97
99
|
this.configService = configService;
|
|
98
100
|
this.httpClient = httpClient;
|
|
99
101
|
}
|
|
102
|
+
getAllVersionsForBuildingBlock(key) {
|
|
103
|
+
return this.getVersionsForBuildingBlock(key, 0, 5, true);
|
|
104
|
+
}
|
|
100
105
|
getVersionsForBuildingBlock(key, page = 0, size = 5, all = false) {
|
|
101
|
-
|
|
102
|
-
|
|
106
|
+
return this.httpClient.get(this.getApiUrl(`management/v1/building-block/${key}/version`), {
|
|
107
|
+
params: { page, size, all },
|
|
108
|
+
});
|
|
103
109
|
}
|
|
104
110
|
getPluginDefinitionsForBuildingBlock(key, versionTag) {
|
|
105
111
|
return this.httpClient.get(this.getApiUrl(`management/v1/building-block/${key}/version/${versionTag}/plugin`));
|
|
@@ -242,12 +248,10 @@ class BuildingBlockStateService {
|
|
|
242
248
|
if (!key)
|
|
243
249
|
return;
|
|
244
250
|
this._versionSubscription = this.processLinkBuildingBlockApiService
|
|
245
|
-
.
|
|
251
|
+
.getAllVersionsForBuildingBlock(key)
|
|
246
252
|
.subscribe({
|
|
247
253
|
next: versions => {
|
|
248
|
-
this._versions$.next(versions.content
|
|
249
|
-
return version.versionTag;
|
|
250
|
-
}) ?? []);
|
|
254
|
+
this._versions$.next(versions.content?.map(version => version.versionTag) ?? []);
|
|
251
255
|
if (initialVersionTag) {
|
|
252
256
|
this.setDefinitionVersionTag(initialVersionTag, true);
|
|
253
257
|
}
|
|
@@ -283,6 +287,24 @@ class BuildingBlockStateService {
|
|
|
283
287
|
this.loadFields(key, versionTag);
|
|
284
288
|
}
|
|
285
289
|
}
|
|
290
|
+
/**
|
|
291
|
+
* Switches building block version, keeping the plugin, input and output mappings the user entered;
|
|
292
|
+
* only the parts absent from the new version are dropped once its requirements and fields load.
|
|
293
|
+
*/
|
|
294
|
+
changeDefinitionVersionTag(versionTag) {
|
|
295
|
+
this._definitionVersionTag$.next(versionTag);
|
|
296
|
+
this.clearFields();
|
|
297
|
+
const key = this._definitionKey$.getValue();
|
|
298
|
+
if (!key || !versionTag) {
|
|
299
|
+
// No version means no fields to prune against, so clear the mappings.
|
|
300
|
+
this.clearPluginRequirements();
|
|
301
|
+
this.clearMappings();
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
this.clearPluginRequirements({ preserveMappings: true });
|
|
305
|
+
this.loadPluginRequirements(key, versionTag);
|
|
306
|
+
this.loadFields(key, versionTag, { pruneMappingsToFields: true });
|
|
307
|
+
}
|
|
286
308
|
setPluginConfigurationMapping(pluginDefinitionKey, configurationId) {
|
|
287
309
|
const current = this._pluginMappings$.getValue();
|
|
288
310
|
this._pluginMappings$.next({
|
|
@@ -377,14 +399,21 @@ class BuildingBlockStateService {
|
|
|
377
399
|
this._requiredPluginKeys$.next(pluginKeys);
|
|
378
400
|
this._pluginMappings$.next(normalized);
|
|
379
401
|
}
|
|
380
|
-
loadFields(key, versionTag) {
|
|
402
|
+
loadFields(key, versionTag, options = {}) {
|
|
381
403
|
this._loadingFields$.next(true);
|
|
382
404
|
this._fieldsSubscription?.unsubscribe();
|
|
383
405
|
this._fieldsSubscription = this.processLinkBuildingBlockApiService
|
|
384
406
|
.getFieldsForBuildingBlock(key, versionTag)
|
|
385
407
|
.subscribe({
|
|
386
408
|
next: fields => {
|
|
387
|
-
|
|
409
|
+
const buildingBlockFields = (fields ?? []).map(field => ({
|
|
410
|
+
...field,
|
|
411
|
+
name: ensureDocPrefix(field.name),
|
|
412
|
+
}));
|
|
413
|
+
this._buildingBlockFields$.next(buildingBlockFields);
|
|
414
|
+
if (options.pruneMappingsToFields) {
|
|
415
|
+
this.pruneMappingsToFields(buildingBlockFields);
|
|
416
|
+
}
|
|
388
417
|
this._loadingFields$.next(false);
|
|
389
418
|
},
|
|
390
419
|
error: () => {
|
|
@@ -393,6 +422,23 @@ class BuildingBlockStateService {
|
|
|
393
422
|
},
|
|
394
423
|
});
|
|
395
424
|
}
|
|
425
|
+
/**
|
|
426
|
+
* Drops mappings pointing at fields outside the given set, so switching between versions with the
|
|
427
|
+
* same fields keeps the configuration intact.
|
|
428
|
+
*/
|
|
429
|
+
pruneMappingsToFields(fields) {
|
|
430
|
+
const fieldNames = new Set(fields.map(field => field.name));
|
|
431
|
+
const inputMappings = this._inputMappings$.getValue();
|
|
432
|
+
const prunedInputMappings = inputMappings.filter(mapping => fieldNames.has(mapping.target));
|
|
433
|
+
if (prunedInputMappings.length !== inputMappings.length) {
|
|
434
|
+
this._inputMappings$.next(prunedInputMappings);
|
|
435
|
+
}
|
|
436
|
+
const outputMappings = this._outputMappings$.getValue();
|
|
437
|
+
const prunedOutputMappings = outputMappings.filter(mapping => fieldNames.has(mapping.source));
|
|
438
|
+
if (prunedOutputMappings.length !== outputMappings.length) {
|
|
439
|
+
this._outputMappings$.next(prunedOutputMappings);
|
|
440
|
+
}
|
|
441
|
+
}
|
|
396
442
|
clearPluginRequirements(options = {}) {
|
|
397
443
|
this._requirementsSubscription?.unsubscribe();
|
|
398
444
|
this._requiredPluginKeys$.next([]);
|
|
@@ -812,7 +858,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
812
858
|
* See the License for the specific language governing permissions and
|
|
813
859
|
* limitations under the License.
|
|
814
860
|
*/
|
|
815
|
-
const FORM_FLOW_COMPONENT_TOKEN = new InjectionToken('Supported form-flow Angular components', { factory: () => [] });
|
|
816
861
|
const FORM_CUSTOM_COMPONENT_TOKEN = new InjectionToken('Custom component that can be used instead of FormIO or form-flow');
|
|
817
862
|
|
|
818
863
|
/*
|
|
@@ -853,6 +898,49 @@ const UNSUPPORTED_PROCESS_LINK_TYPES_IN_BUILDING_BLOCK = ['ui-component'];
|
|
|
853
898
|
* See the License for the specific language governing permissions and
|
|
854
899
|
* limitations under the License.
|
|
855
900
|
*/
|
|
901
|
+
/** The process link wizard shell: header and footer navigation. */
|
|
902
|
+
const PROCESS_LINK_MODAL_TEST_IDS = {
|
|
903
|
+
heading: 'processLinkModalHeading',
|
|
904
|
+
pluginConfigurationLabel: 'processLinkModalPluginConfigurationLabel',
|
|
905
|
+
progressIndicator: 'processLinkModalProgressIndicator',
|
|
906
|
+
cancelButton: 'processLinkModalCancelButton',
|
|
907
|
+
unlinkButton: 'processLinkModalUnlinkButton',
|
|
908
|
+
backButton: 'processLinkModalBackButton',
|
|
909
|
+
nextButton: 'processLinkModalNextButton',
|
|
910
|
+
completeButton: 'processLinkModalCompleteButton',
|
|
911
|
+
};
|
|
912
|
+
const PROCESS_LINK_TYPE_CHOOSER_TEST_IDS = {
|
|
913
|
+
container: 'processLinkTypeChooser',
|
|
914
|
+
};
|
|
915
|
+
/**
|
|
916
|
+
* Prefix for the buttons of the "Choose link type" step. The full test id is
|
|
917
|
+
* `processLinkTypeButton-<processLinkType>`, e.g. `processLinkTypeButton-plugin`.
|
|
918
|
+
*/
|
|
919
|
+
const PROCESS_LINK_TYPE_BUTTON_TEST_ID_PREFIX = 'processLinkTypeButton-';
|
|
920
|
+
const SELECT_PLUGIN_CONFIGURATION_TEST_IDS = {
|
|
921
|
+
container: 'selectPluginConfiguration',
|
|
922
|
+
list: 'selectPluginConfigurationList',
|
|
923
|
+
};
|
|
924
|
+
/**
|
|
925
|
+
* Prefix for the rows of the plugin selection step. The full test id is
|
|
926
|
+
* `selectPluginConfigurationRow-<id>`, where the id is the plugin *definition*
|
|
927
|
+
* key in a building block (e.g. `zakenapi`) and the plugin *configuration* id in
|
|
928
|
+
* a case — the step lists definitions in the one and configurations in the other.
|
|
929
|
+
*/
|
|
930
|
+
const SELECT_PLUGIN_CONFIGURATION_ROW_TEST_ID_PREFIX = 'selectPluginConfigurationRow-';
|
|
931
|
+
const SELECT_PLUGIN_ACTION_TEST_IDS = {
|
|
932
|
+
container: 'selectPluginAction',
|
|
933
|
+
tileGroup: 'selectPluginActionTileGroup',
|
|
934
|
+
noActionsMessage: 'selectPluginActionNoActions',
|
|
935
|
+
};
|
|
936
|
+
/**
|
|
937
|
+
* Prefix for the action tiles. The full test id is
|
|
938
|
+
* `selectPluginActionTile-<pluginFunctionKey>`.
|
|
939
|
+
*/
|
|
940
|
+
const SELECT_PLUGIN_ACTION_TILE_TEST_ID_PREFIX = 'selectPluginActionTile-';
|
|
941
|
+
const PLUGIN_ACTION_CONFIGURATION_TEST_IDS = {
|
|
942
|
+
container: 'pluginActionConfiguration',
|
|
943
|
+
};
|
|
856
944
|
const BB_MAPPINGS_TEST_IDS = {
|
|
857
945
|
inputSection: 'bbMappingsInputSection',
|
|
858
946
|
outputSection: 'bbMappingsOutputSection',
|
|
@@ -1508,6 +1596,9 @@ class ProcessLinkStateService {
|
|
|
1508
1596
|
get showModal$() {
|
|
1509
1597
|
return this._showModal$.asObservable();
|
|
1510
1598
|
}
|
|
1599
|
+
get readOnly$() {
|
|
1600
|
+
return this._readOnly$.asObservable();
|
|
1601
|
+
}
|
|
1511
1602
|
get elementName$() {
|
|
1512
1603
|
return this._elementName$.asObservable();
|
|
1513
1604
|
}
|
|
@@ -1566,6 +1657,7 @@ class ProcessLinkStateService {
|
|
|
1566
1657
|
this.buildingBlockStateService = buildingBlockStateService;
|
|
1567
1658
|
this.formCustomComponentConfig = formCustomComponentConfig;
|
|
1568
1659
|
this._showModal$ = new BehaviorSubject(false);
|
|
1660
|
+
this._readOnly$ = new BehaviorSubject(false);
|
|
1569
1661
|
this._availableProcessLinkTypes$ = new BehaviorSubject([]);
|
|
1570
1662
|
this._elementName$ = new BehaviorSubject('');
|
|
1571
1663
|
this._selectedProcessLinkTypeId$ = new BehaviorSubject('');
|
|
@@ -1601,6 +1693,9 @@ class ProcessLinkStateService {
|
|
|
1601
1693
|
showModal() {
|
|
1602
1694
|
this._showModal$.next(true);
|
|
1603
1695
|
}
|
|
1696
|
+
setReadOnly(readOnly) {
|
|
1697
|
+
this._readOnly$.next(readOnly);
|
|
1698
|
+
}
|
|
1604
1699
|
closeModal() {
|
|
1605
1700
|
this._showModal$.next(false);
|
|
1606
1701
|
setTimeout(() => {
|
|
@@ -1734,6 +1829,7 @@ class ProcessLinkStateService {
|
|
|
1734
1829
|
this.deselectProcessLink();
|
|
1735
1830
|
this.resetBuildingBlockState();
|
|
1736
1831
|
this._isEditing$.next(false);
|
|
1832
|
+
this._readOnly$.next(false);
|
|
1737
1833
|
}
|
|
1738
1834
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProcessLinkStateService, deps: [{ token: ProcessLinkStepService }, { token: ProcessLinkButtonService }, { token: PluginStateService }, { token: BuildingBlockStateService }, { token: FORM_CUSTOM_COMPONENT_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1739
1835
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProcessLinkStateService }); }
|
|
@@ -1762,30 +1858,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
1762
1858
|
* See the License for the specific language governing permissions and
|
|
1763
1859
|
* limitations under the License.
|
|
1764
1860
|
*/
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
return this._supportedComponents$.pipe(filter(components => !!components));
|
|
1768
|
-
}
|
|
1769
|
-
constructor(supportedCustomComponents) {
|
|
1770
|
-
this.supportedCustomComponents = supportedCustomComponents;
|
|
1771
|
-
this._supportedComponents$ = new BehaviorSubject(null);
|
|
1772
|
-
this.setSupportedComponents(supportedCustomComponents);
|
|
1773
|
-
}
|
|
1774
|
-
setSupportedComponents(supportedComponents) {
|
|
1775
|
-
this._supportedComponents$.next(supportedComponents);
|
|
1776
|
-
}
|
|
1777
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowComponentService, deps: [{ token: FORM_FLOW_COMPONENT_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1778
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowComponentService, providedIn: 'root' }); }
|
|
1779
|
-
}
|
|
1780
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowComponentService, decorators: [{
|
|
1781
|
-
type: Injectable,
|
|
1782
|
-
args: [{
|
|
1783
|
-
providedIn: 'root',
|
|
1784
|
-
}]
|
|
1785
|
-
}], ctorParameters: () => [{ type: Array, decorators: [{
|
|
1786
|
-
type: Inject,
|
|
1787
|
-
args: [FORM_FLOW_COMPONENT_TOKEN]
|
|
1788
|
-
}] }] });
|
|
1861
|
+
// Moved to @valtimo/form-flow-management (the owning library); re-exported here for backwards
|
|
1862
|
+
// compatibility.
|
|
1789
1863
|
|
|
1790
1864
|
/*
|
|
1791
1865
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
@@ -1881,6 +1955,8 @@ class SelectPluginConfigurationComponent {
|
|
|
1881
1955
|
this.buttonService = buttonService;
|
|
1882
1956
|
this.stepService = stepService;
|
|
1883
1957
|
this.pluginTranslationService = pluginTranslationService;
|
|
1958
|
+
this.testIds = SELECT_PLUGIN_CONFIGURATION_TEST_IDS;
|
|
1959
|
+
this.rowTestIdPrefix = SELECT_PLUGIN_CONFIGURATION_ROW_TEST_ID_PREFIX;
|
|
1884
1960
|
this.isBuildingBlockContext$ = this.stateService.context$.pipe(map$1(context => context === 'buildingBlock'));
|
|
1885
1961
|
this.listItems$ = combineLatest([
|
|
1886
1962
|
this.isBuildingBlockContext$,
|
|
@@ -1982,11 +2058,11 @@ class SelectPluginConfigurationComponent {
|
|
|
1982
2058
|
}));
|
|
1983
2059
|
}
|
|
1984
2060
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SelectPluginConfigurationComponent, deps: [{ token: i1$1.PluginManagementService }, { token: PluginStateService }, { token: i1$1.PluginService }, { token: ProcessLinkStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkStepService }, { token: i1$1.PluginTranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1985
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SelectPluginConfigurationComponent, isStandalone: false, selector: "valtimo-select-plugin-configuration", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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=\"listItems$ | async as items; else loading\">\n <p class=\"step-description\">\n {{ pageHeaderText$ | async | translate }}\n </p>\n <div class=\"list-container\">\n <cds-structured-list
|
|
2061
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SelectPluginConfigurationComponent, isStandalone: false, selector: "valtimo-select-plugin-configuration", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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=\"listItems$ | async as items; else loading\">\n <p class=\"step-description\" [attr.data-test-id]=\"testIds.container\">\n {{ pageHeaderText$ | async | translate }}\n </p>\n <div class=\"list-container\">\n <cds-structured-list\n [attr.data-test-id]=\"testIds.list\"\n (selected)=\"selected($event)\"\n selection=\"true\"\n >\n <cds-list-header>\n <cds-list-column nowrap=\"true\"></cds-list-column>\n <cds-list-column nowrap=\"true\">\n {{ columnHeaderText$ | async | 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 item of items\"\n [attr.data-test-id]=\"rowTestIdPrefix + item.id\"\n [value]=\"item.payload\"\n >\n <cds-list-column>\n <div *ngIf=\"item.logo\">\n <img [src]=\"item.logo\" [title]=\"item.title\" class=\"plugin-configuration-logo\" />\n </div>\n </cds-list-column>\n <cds-list-column>{{ item.title }}</cds-list-column>\n <cds-list-column>{{ item.description }}</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}.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-2025 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: i5.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i5.StructuredList, selector: "cds-structured-list, ibm-structured-list", inputs: ["selection", "flushed", "condensed", "name", "skeleton"], outputs: ["selected"] }, { kind: "component", type: i5.ListRow, selector: "cds-list-row, ibm-list-row", inputs: ["selected", "label", "value"], outputs: ["change"] }, { kind: "component", type: i5.ListHeader, selector: "cds-list-header, ibm-list-header", inputs: ["skeleton"] }, { kind: "component", type: i5.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" }] }); }
|
|
1986
2062
|
}
|
|
1987
2063
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SelectPluginConfigurationComponent, decorators: [{
|
|
1988
2064
|
type: Component,
|
|
1989
|
-
args: [{ standalone: false, selector: 'valtimo-select-plugin-configuration', template: "<!--\n ~ Copyright 2015-2025 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=\"listItems$ | async as items; else loading\">\n <p class=\"step-description\">\n {{ pageHeaderText$ | async | translate }}\n </p>\n <div class=\"list-container\">\n <cds-structured-list
|
|
2065
|
+
args: [{ standalone: false, selector: 'valtimo-select-plugin-configuration', template: "<!--\n ~ Copyright 2015-2025 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=\"listItems$ | async as items; else loading\">\n <p class=\"step-description\" [attr.data-test-id]=\"testIds.container\">\n {{ pageHeaderText$ | async | translate }}\n </p>\n <div class=\"list-container\">\n <cds-structured-list\n [attr.data-test-id]=\"testIds.list\"\n (selected)=\"selected($event)\"\n selection=\"true\"\n >\n <cds-list-header>\n <cds-list-column nowrap=\"true\"></cds-list-column>\n <cds-list-column nowrap=\"true\">\n {{ columnHeaderText$ | async | 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 item of items\"\n [attr.data-test-id]=\"rowTestIdPrefix + item.id\"\n [value]=\"item.payload\"\n >\n <cds-list-column>\n <div *ngIf=\"item.logo\">\n <img [src]=\"item.logo\" [title]=\"item.title\" class=\"plugin-configuration-logo\" />\n </div>\n </cds-list-column>\n <cds-list-column>{{ item.title }}</cds-list-column>\n <cds-list-column>{{ item.description }}</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}.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-2025 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"] }]
|
|
1990
2066
|
}], ctorParameters: () => [{ type: i1$1.PluginManagementService }, { type: PluginStateService }, { type: i1$1.PluginService }, { type: ProcessLinkStateService }, { type: ProcessLinkButtonService }, { type: ProcessLinkStepService }, { type: i1$1.PluginTranslationService }] });
|
|
1991
2067
|
|
|
1992
2068
|
/*
|
|
@@ -2013,6 +2089,8 @@ class SelectPluginActionComponent {
|
|
|
2013
2089
|
this.stateService = stateService;
|
|
2014
2090
|
this.stepService = stepService;
|
|
2015
2091
|
this.processLinkStateService = processLinkStateService;
|
|
2092
|
+
this.testIds = SELECT_PLUGIN_ACTION_TEST_IDS;
|
|
2093
|
+
this.tileTestIdPrefix = SELECT_PLUGIN_ACTION_TILE_TEST_ID_PREFIX;
|
|
2016
2094
|
this.pluginFunctions$ = combineLatest([
|
|
2017
2095
|
this.stateService.selectedPluginDefinition$,
|
|
2018
2096
|
this.processLinkStateService.modalParams$,
|
|
@@ -2068,11 +2146,11 @@ class SelectPluginActionComponent {
|
|
|
2068
2146
|
}));
|
|
2069
2147
|
}
|
|
2070
2148
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SelectPluginActionComponent, deps: [{ token: ProcessLinkButtonService }, { token: i0.Injector }, { token: i1$1.PluginManagementService }, { token: i1$1.PluginService }, { token: PluginStateService }, { token: ProcessLinkStepService }, { token: ProcessLinkStateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2071
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SelectPluginActionComponent, isStandalone: false, selector: "valtimo-select-plugin-action", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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
|
|
2149
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SelectPluginActionComponent, isStandalone: false, selector: "valtimo-select-plugin-action", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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\n class=\"choose-plugin-action\"\n *ngIf=\"pluginFunctions?.length > 0\"\n [attr.data-test-id]=\"testIds.container\"\n >\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginActionDescription' | translate }}\n </p>\n <div class=\"action-tiles\">\n <cds-tile-group\n [attr.data-test-id]=\"testIds.tileGroup\"\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 [attr.data-test-id]=\"tileTestIdPrefix + pluginFunction.key\"\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\" [attr.data-test-id]=\"testIds.noActionsMessage\">\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-2025 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: i5.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i5.SelectionTile, selector: "cds-selection-tile, ibm-selection-tile", inputs: ["theme", "id", "selected", "value", "disabled"], outputs: ["change"] }, { kind: "component", type: i5.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$1.PluginTranslatePipe, name: "pluginTranslate" }] }); }
|
|
2072
2150
|
}
|
|
2073
2151
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SelectPluginActionComponent, decorators: [{
|
|
2074
2152
|
type: Component,
|
|
2075
|
-
args: [{ standalone: false, selector: 'valtimo-select-plugin-action', template: "<!--\n ~ Copyright 2015-2025 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
|
|
2153
|
+
args: [{ standalone: false, selector: 'valtimo-select-plugin-action', template: "<!--\n ~ Copyright 2015-2025 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\n class=\"choose-plugin-action\"\n *ngIf=\"pluginFunctions?.length > 0\"\n [attr.data-test-id]=\"testIds.container\"\n >\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginActionDescription' | translate }}\n </p>\n <div class=\"action-tiles\">\n <cds-tile-group\n [attr.data-test-id]=\"testIds.tileGroup\"\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 [attr.data-test-id]=\"tileTestIdPrefix + pluginFunction.key\"\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\" [attr.data-test-id]=\"testIds.noActionsMessage\">\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-2025 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"] }]
|
|
2076
2154
|
}], ctorParameters: () => [{ type: ProcessLinkButtonService }, { type: i0.Injector }, { type: i1$1.PluginManagementService }, { type: i1$1.PluginService }, { type: PluginStateService }, { type: ProcessLinkStepService }, { type: ProcessLinkStateService }] });
|
|
2077
2155
|
|
|
2078
2156
|
/*
|
|
@@ -2104,14 +2182,16 @@ class ImportPluginConfigurationComponent {
|
|
|
2104
2182
|
get activity() {
|
|
2105
2183
|
return this.importPluginForm.get('activity');
|
|
2106
2184
|
}
|
|
2107
|
-
constructor(cdsThemeService, formBuilder, processLinkService, iconService) {
|
|
2185
|
+
constructor(cdsThemeService, formBuilder, processLinkService, iconService, stateService) {
|
|
2108
2186
|
this.cdsThemeService = cdsThemeService;
|
|
2109
2187
|
this.formBuilder = formBuilder;
|
|
2110
2188
|
this.processLinkService = processLinkService;
|
|
2111
2189
|
this.iconService = iconService;
|
|
2190
|
+
this.stateService = stateService;
|
|
2112
2191
|
this.configurationEvent = new EventEmitter();
|
|
2113
2192
|
this.open$ = new Subject();
|
|
2114
2193
|
this.toggletipTheme$ = this.cdsThemeService.toggletipTheme$;
|
|
2194
|
+
this.readOnly$ = this.stateService.readOnly$;
|
|
2115
2195
|
this._compatiblePluginProcessLinksSubject$ = new BehaviorSubject([]);
|
|
2116
2196
|
this.compatiblePluginProcessLinks$ = this._compatiblePluginProcessLinksSubject$.asObservable();
|
|
2117
2197
|
this.importPluginForm = this.formBuilder.group({
|
|
@@ -2184,13 +2264,13 @@ class ImportPluginConfigurationComponent {
|
|
|
2184
2264
|
activitySelected(event) {
|
|
2185
2265
|
this.activity.setValue(event?.item?.content);
|
|
2186
2266
|
}
|
|
2187
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ImportPluginConfigurationComponent, deps: [{ token: i2$1.CdsThemeService }, { token: i1$2.FormBuilder }, { token: ProcessLinkService }, { token:
|
|
2188
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ImportPluginConfigurationComponent, isStandalone: false, selector: "valtimo-import-plugin-configuration", inputs: { pluginActionKey: "pluginActionKey" }, outputs: { configurationEvent: "configurationEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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<cds-toggletip align=\"right-bottom\"
|
|
2267
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ImportPluginConfigurationComponent, deps: [{ token: i2$1.CdsThemeService }, { token: i1$2.FormBuilder }, { token: ProcessLinkService }, { token: i5.IconService }, { token: ProcessLinkStateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2268
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ImportPluginConfigurationComponent, isStandalone: false, selector: "valtimo-import-plugin-configuration", inputs: { pluginActionKey: "pluginActionKey" }, outputs: { configurationEvent: "configurationEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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<cds-toggletip\n *ngIf=\"!(readOnly$ | async)\"\n align=\"right-bottom\"\n [autoAlign]=\"true\"\n [isOpen]=\"open$ | async\"\n>\n <button\n class=\"process-link-configuration-import-button\"\n [disabled]=\"((compatiblePluginProcessLinks$ | async) || []).length === 0\"\n cdsToggletipButton\n [removeClassnames]=\"['cds--toggletip-button']\"\n cdsButton=\"ghost\"\n >\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n\n <div\n cdsToggletipContent\n class=\"process-link-configuration-select\"\n >\n <cds-dropdown\n [attr.data-carbon-theme]=\"toggletipTheme$ | async\"\n [label]=\"'processLinkConfiguration.process' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectProcess' | translate\"\n (selected)=\"processSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"processListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [attr.data-carbon-theme]=\"toggletipTheme$ | async\"\n [label]=\"'processLinkConfiguration.version' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectVersion' | translate\"\n [disabled]=\"!process.value\"\n (selected)=\"versionSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"versionListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [attr.data-carbon-theme]=\"toggletipTheme$ | async\"\n [label]=\"'processLinkConfiguration.activity' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectActivity' | translate\"\n [disabled]=\"!process.value || !version.value\"\n (selected)=\"activitySelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"activityListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <button cdsButton [attr.data-carbon-theme]=\"toggletipTheme$ | async\" [disabled]=\"!importPluginForm.valid\" (click)=\"onSubmit()\" [cdsLayer]=\"1\">\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n </button>\n </div>\n</cds-toggletip>\n", styles: [":host ::ng-deep .cds--popover-content{max-inline-size:unset}.process-link-configuration-import-button{margin-bottom:16px}.process-link-configuration-select{width:400px;max-inline-size:400px;display:flex;flex-direction:column;gap:16px}.process-link-configuration-select .cds--btn{width:100%;max-width:unset}\n/*!\n * Copyright 2015-2025 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: "directive", type: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i5.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i6.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i6.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "directive", type: i5.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i5.Toggletip, selector: "cds-toggletip, ibm-toggletip", inputs: ["id", "isOpen"] }, { kind: "directive", type: i5.ToggletipButton, selector: "[cdsToggletipButton], [ibmToggletipButton]", inputs: ["ariaLabel"] }, { kind: "directive", type: i5.ToggletipContent, selector: "[cdsToggletipContent], [ibmToggletipContent]" }, { kind: "directive", type: i2$1.RemoveClassnamesDirective, selector: "[removeClassnames]", inputs: ["removeClassnames"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
2189
2269
|
}
|
|
2190
2270
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ImportPluginConfigurationComponent, decorators: [{
|
|
2191
2271
|
type: Component,
|
|
2192
|
-
args: [{ standalone: false, selector: 'valtimo-import-plugin-configuration', template: "<!--\n ~ Copyright 2015-2025 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<cds-toggletip align=\"right-bottom\"
|
|
2193
|
-
}], ctorParameters: () => [{ type: i2$1.CdsThemeService }, { type: i1$2.FormBuilder }, { type: ProcessLinkService }, { type:
|
|
2272
|
+
args: [{ standalone: false, selector: 'valtimo-import-plugin-configuration', template: "<!--\n ~ Copyright 2015-2025 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<cds-toggletip\n *ngIf=\"!(readOnly$ | async)\"\n align=\"right-bottom\"\n [autoAlign]=\"true\"\n [isOpen]=\"open$ | async\"\n>\n <button\n class=\"process-link-configuration-import-button\"\n [disabled]=\"((compatiblePluginProcessLinks$ | async) || []).length === 0\"\n cdsToggletipButton\n [removeClassnames]=\"['cds--toggletip-button']\"\n cdsButton=\"ghost\"\n >\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"upload\" size=\"16\"></svg>\n </button>\n\n <div\n cdsToggletipContent\n class=\"process-link-configuration-select\"\n >\n <cds-dropdown\n [attr.data-carbon-theme]=\"toggletipTheme$ | async\"\n [label]=\"'processLinkConfiguration.process' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectProcess' | translate\"\n (selected)=\"processSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"processListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [attr.data-carbon-theme]=\"toggletipTheme$ | async\"\n [label]=\"'processLinkConfiguration.version' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectVersion' | translate\"\n [disabled]=\"!process.value\"\n (selected)=\"versionSelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"versionListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-dropdown\n [attr.data-carbon-theme]=\"toggletipTheme$ | async\"\n [label]=\"'processLinkConfiguration.activity' | translate\"\n [placeholder]=\"'processLinkConfiguration.selectActivity' | translate\"\n [disabled]=\"!process.value || !version.value\"\n (selected)=\"activitySelected($event)\"\n [appendInline]=\"true\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list\n [items]=\"activityListItems$ | async\"\n onclick=\"event.stopPropagation()\"\n ></cds-dropdown-list>\n </cds-dropdown>\n\n <button cdsButton [attr.data-carbon-theme]=\"toggletipTheme$ | async\" [disabled]=\"!importPluginForm.valid\" (click)=\"onSubmit()\" [cdsLayer]=\"1\">\n {{ 'processLinkConfiguration.importConfiguration' | translate }}\n </button>\n </div>\n</cds-toggletip>\n", styles: [":host ::ng-deep .cds--popover-content{max-inline-size:unset}.process-link-configuration-import-button{margin-bottom:16px}.process-link-configuration-select{width:400px;max-inline-size:400px;display:flex;flex-direction:column;gap:16px}.process-link-configuration-select .cds--btn{width:100%;max-width:unset}\n/*!\n * Copyright 2015-2025 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"] }]
|
|
2273
|
+
}], ctorParameters: () => [{ type: i2$1.CdsThemeService }, { type: i1$2.FormBuilder }, { type: ProcessLinkService }, { type: i5.IconService }, { type: ProcessLinkStateService }], propDecorators: { pluginActionKey: [{
|
|
2194
2274
|
type: Input
|
|
2195
2275
|
}], configurationEvent: [{
|
|
2196
2276
|
type: Output
|
|
@@ -2218,6 +2298,7 @@ class PluginActionConfigurationComponent {
|
|
|
2218
2298
|
this.buttonService = buttonService;
|
|
2219
2299
|
this.stepService = stepService;
|
|
2220
2300
|
this.processLinkService = processLinkService;
|
|
2301
|
+
this.testIds = PLUGIN_ACTION_CONFIGURATION_TEST_IDS;
|
|
2221
2302
|
this.valid = new EventEmitter();
|
|
2222
2303
|
this.configuration = new EventEmitter();
|
|
2223
2304
|
this.pluginDefinitionKey$ = this.pluginStateService.pluginDefinitionKey$;
|
|
@@ -2349,11 +2430,11 @@ class PluginActionConfigurationComponent {
|
|
|
2349
2430
|
}));
|
|
2350
2431
|
}
|
|
2351
2432
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PluginActionConfigurationComponent, deps: [{ token: ProcessLinkStateService }, { token: PluginStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkStepService }, { token: ProcessLinkService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2352
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: PluginActionConfigurationComponent, isStandalone: false, selector: "valtimo-plugin-action-configuration", inputs: { selectedPluginConfiguration$: "selectedPluginConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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-import-plugin-configuration\n [pluginActionKey]=\"functionKey$ | async\"\n (configurationEvent)=\"onImportConfiguration($event)\"\n></valtimo-import-plugin-configuration>\n\n<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [functionKey]=\"functionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"saving$\"\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n type=\"function\"\n></valtimo-plugin-configuration-container>\n", styles: ["/*!\n * Copyright 2015-2025 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$1.PluginConfigurationContainerComponent, selector: "valtimo-plugin-configuration-container", inputs: ["type", "pluginDefinitionKey", "functionKey", "save$", "disabled$", "selectedPluginConfiguration$", "prefillConfiguration$"], outputs: ["valid", "configuration"] }, { kind: "component", type: ImportPluginConfigurationComponent, selector: "valtimo-import-plugin-configuration", inputs: ["pluginActionKey"], outputs: ["configurationEvent"] }, { kind: "pipe", type:
|
|
2433
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: PluginActionConfigurationComponent, isStandalone: false, selector: "valtimo-plugin-action-configuration", inputs: { selectedPluginConfiguration$: "selectedPluginConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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-import-plugin-configuration\n [attr.data-test-id]=\"testIds.container\"\n [pluginActionKey]=\"functionKey$ | async\"\n (configurationEvent)=\"onImportConfiguration($event)\"\n></valtimo-import-plugin-configuration>\n\n<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [functionKey]=\"functionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"saving$\"\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n type=\"function\"\n></valtimo-plugin-configuration-container>\n", styles: ["/*!\n * Copyright 2015-2025 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$1.PluginConfigurationContainerComponent, selector: "valtimo-plugin-configuration-container", inputs: ["type", "pluginDefinitionKey", "functionKey", "save$", "disabled$", "selectedPluginConfiguration$", "prefillConfiguration$"], outputs: ["valid", "configuration"] }, { kind: "component", type: ImportPluginConfigurationComponent, selector: "valtimo-import-plugin-configuration", inputs: ["pluginActionKey"], outputs: ["configurationEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
2353
2434
|
}
|
|
2354
2435
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PluginActionConfigurationComponent, decorators: [{
|
|
2355
2436
|
type: Component,
|
|
2356
|
-
args: [{ standalone: false, selector: 'valtimo-plugin-action-configuration', template: "<!--\n ~ Copyright 2015-2025 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-import-plugin-configuration\n [pluginActionKey]=\"functionKey$ | async\"\n (configurationEvent)=\"onImportConfiguration($event)\"\n></valtimo-import-plugin-configuration>\n\n<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [functionKey]=\"functionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"saving$\"\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n type=\"function\"\n></valtimo-plugin-configuration-container>\n", styles: ["/*!\n * Copyright 2015-2025 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"] }]
|
|
2437
|
+
args: [{ standalone: false, selector: 'valtimo-plugin-action-configuration', template: "<!--\n ~ Copyright 2015-2025 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-import-plugin-configuration\n [attr.data-test-id]=\"testIds.container\"\n [pluginActionKey]=\"functionKey$ | async\"\n (configurationEvent)=\"onImportConfiguration($event)\"\n></valtimo-import-plugin-configuration>\n\n<valtimo-plugin-configuration-container\n [pluginDefinitionKey]=\"pluginDefinitionKey$ | async\"\n [functionKey]=\"functionKey$ | async\"\n [save$]=\"save$\"\n [disabled$]=\"saving$\"\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n (valid)=\"onValid($event)\"\n (configuration)=\"onConfiguration($event)\"\n type=\"function\"\n></valtimo-plugin-configuration-container>\n", styles: ["/*!\n * Copyright 2015-2025 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"] }]
|
|
2357
2438
|
}], ctorParameters: () => [{ type: ProcessLinkStateService }, { type: PluginStateService }, { type: ProcessLinkButtonService }, { type: ProcessLinkStepService }, { type: ProcessLinkService }], propDecorators: { selectedPluginConfiguration$: [{
|
|
2358
2439
|
type: Input
|
|
2359
2440
|
}], valid: [{
|
|
@@ -2486,13 +2567,13 @@ class FormLinkProcessDiagramComponent {
|
|
|
2486
2567
|
}
|
|
2487
2568
|
this.version = +version;
|
|
2488
2569
|
}
|
|
2489
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormLinkProcessDiagramComponent, deps: [{ token: i1$3.ProcessService }, { token: i3$
|
|
2490
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: FormLinkProcessDiagramComponent, isStandalone: false, 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-2025 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-2025 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:
|
|
2570
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormLinkProcessDiagramComponent, deps: [{ token: i1$3.ProcessService }, { token: i3$1.ActivatedRoute }, { token: i2$1.PageTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2571
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: FormLinkProcessDiagramComponent, isStandalone: false, 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-2025 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-2025 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: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$1.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i5.Select, selector: "cds-select, ibm-select", inputs: ["value", "display", "label", "helperText", "invalidText", "warn", "warnText", "id", "size", "disabled", "skeleton", "invalid", "readonly", "theme", "ariaLabel", "fluid"], outputs: ["valueChange"] }, { kind: "directive", type: i5.Option, selector: "option" }] }); }
|
|
2491
2572
|
}
|
|
2492
2573
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormLinkProcessDiagramComponent, decorators: [{
|
|
2493
2574
|
type: Component,
|
|
2494
2575
|
args: [{ standalone: false, selector: 'valtimo-form-link-process-diagram', template: "<!--\n ~ Copyright 2015-2025 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-2025 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"] }]
|
|
2495
|
-
}], ctorParameters: () => [{ type: i1$3.ProcessService }, { type: i3$
|
|
2576
|
+
}], ctorParameters: () => [{ type: i1$3.ProcessService }, { type: i3$1.ActivatedRoute }, { type: i2$1.PageTitleService }], propDecorators: { el: [{
|
|
2496
2577
|
type: ViewChild,
|
|
2497
2578
|
args: ['ref']
|
|
2498
2579
|
}], bpmnElementModalOpen: [{
|
|
@@ -2501,6 +2582,182 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
2501
2582
|
type: Output
|
|
2502
2583
|
}] } });
|
|
2503
2584
|
|
|
2585
|
+
/*
|
|
2586
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
2587
|
+
*
|
|
2588
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
2589
|
+
* you may not use this file except in compliance with the License.
|
|
2590
|
+
* You may obtain a copy of the License at
|
|
2591
|
+
*
|
|
2592
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
2593
|
+
*
|
|
2594
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
2595
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
2596
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2597
|
+
* See the License for the specific language governing permissions and
|
|
2598
|
+
* limitations under the License.
|
|
2599
|
+
*/
|
|
2600
|
+
const READ_ONLY_INPUT_TYPES = ['email', 'number', 'password', 'search', 'tel', 'text', 'url'];
|
|
2601
|
+
const FOCUSABLE = 'a[href], area[href], button, input, select, textarea, iframe, [tabindex], [contenteditable]';
|
|
2602
|
+
// Carbon draws a control read-only through a modifier class on its wrapper.
|
|
2603
|
+
const CARBON_READ_ONLY_MODIFIERS = [
|
|
2604
|
+
['.cds--checkbox-group', 'cds--checkbox-group--readonly'],
|
|
2605
|
+
['.cds--checkbox-wrapper', 'cds--checkbox-wrapper--readonly'],
|
|
2606
|
+
['.cds--combo-box', 'cds--combo-box--readonly'],
|
|
2607
|
+
['.cds--dropdown', 'cds--dropdown--readonly'],
|
|
2608
|
+
['.cds--multi-select', 'cds--multi-select--readonly'],
|
|
2609
|
+
['.cds--number', 'cds--number--readonly'],
|
|
2610
|
+
['.cds--radio-button-group', 'cds--radio-button-group--readonly'],
|
|
2611
|
+
['.cds--select', 'cds--select--readonly'],
|
|
2612
|
+
['.cds--slider-container', 'cds--slider-container--readonly'],
|
|
2613
|
+
['.cds--text-area__wrapper', 'cds--text-area__wrapper--readonly'],
|
|
2614
|
+
['.cds--text-input-wrapper', 'cds--text-input-wrapper--readonly'],
|
|
2615
|
+
['.cds--time-picker', 'cds--time-picker--readonly'],
|
|
2616
|
+
['.cds--toggle', 'cds--toggle--readonly'],
|
|
2617
|
+
];
|
|
2618
|
+
// Fields used without their Carbon wrapper need their parent to carry the modifier instead.
|
|
2619
|
+
const CARBON_UNWRAPPED_FIELDS = [
|
|
2620
|
+
['.cds--text-area', '.cds--text-area__wrapper', 'cds--text-area__wrapper--readonly'],
|
|
2621
|
+
['.cds--text-input', '.cds--text-input-wrapper', 'cds--text-input-wrapper--readonly'],
|
|
2622
|
+
];
|
|
2623
|
+
// Carbon buttons change the content, so read-only content leaves them out instead of disabling them.
|
|
2624
|
+
const EDIT_ACTIONS = '.cds--btn:not(.cds--text-input--password__visibility__toggle)';
|
|
2625
|
+
class ReadOnlyContentDirective {
|
|
2626
|
+
set readOnly(readOnly) {
|
|
2627
|
+
this._readOnly = !!readOnly;
|
|
2628
|
+
this.apply();
|
|
2629
|
+
}
|
|
2630
|
+
constructor(elementRef) {
|
|
2631
|
+
this.elementRef = elementRef;
|
|
2632
|
+
this._readOnly = false;
|
|
2633
|
+
this._observer = null;
|
|
2634
|
+
this._originalStates = new Map();
|
|
2635
|
+
this._blockActivation = (event) => {
|
|
2636
|
+
if (!this._readOnly)
|
|
2637
|
+
return;
|
|
2638
|
+
event.preventDefault();
|
|
2639
|
+
event.stopPropagation();
|
|
2640
|
+
};
|
|
2641
|
+
}
|
|
2642
|
+
ngOnInit() {
|
|
2643
|
+
this._observer = new MutationObserver(() => this.apply());
|
|
2644
|
+
this._observer.observe(this.elementRef.nativeElement, { childList: true, subtree: true });
|
|
2645
|
+
this.elementRef.nativeElement.addEventListener('click', this._blockActivation, true);
|
|
2646
|
+
this.apply();
|
|
2647
|
+
}
|
|
2648
|
+
ngOnDestroy() {
|
|
2649
|
+
this._observer?.disconnect();
|
|
2650
|
+
this.elementRef.nativeElement.removeEventListener('click', this._blockActivation, true);
|
|
2651
|
+
this._originalStates.clear();
|
|
2652
|
+
}
|
|
2653
|
+
apply() {
|
|
2654
|
+
const host = this.elementRef?.nativeElement;
|
|
2655
|
+
if (!host)
|
|
2656
|
+
return;
|
|
2657
|
+
if (!this._readOnly) {
|
|
2658
|
+
this.restore();
|
|
2659
|
+
return;
|
|
2660
|
+
}
|
|
2661
|
+
Array.from(host.children).forEach(child => this.setStyle(child, 'pointerEvents', 'none'));
|
|
2662
|
+
host
|
|
2663
|
+
.querySelectorAll(FOCUSABLE)
|
|
2664
|
+
.forEach(element => this.setAttribute(element, 'tabindex', '-1'));
|
|
2665
|
+
host.querySelectorAll('input').forEach(input => {
|
|
2666
|
+
if (READ_ONLY_INPUT_TYPES.includes(input.type))
|
|
2667
|
+
this.setReadOnly(input);
|
|
2668
|
+
});
|
|
2669
|
+
host.querySelectorAll('textarea').forEach(textarea => this.setReadOnly(textarea));
|
|
2670
|
+
host
|
|
2671
|
+
.querySelectorAll('[contenteditable="true"]')
|
|
2672
|
+
.forEach(editor => this.setAttribute(editor, 'contenteditable', 'false'));
|
|
2673
|
+
host
|
|
2674
|
+
.querySelectorAll('[role="combobox"], [role="listbox"]')
|
|
2675
|
+
.forEach(element => this.setAttribute(element, 'aria-readonly', 'true'));
|
|
2676
|
+
host
|
|
2677
|
+
.querySelectorAll('[role="button"]')
|
|
2678
|
+
.forEach(element => this.setAttribute(element, 'aria-disabled', 'true'));
|
|
2679
|
+
host
|
|
2680
|
+
.querySelectorAll(EDIT_ACTIONS)
|
|
2681
|
+
.forEach(action => this.setStyle(action, 'display', 'none'));
|
|
2682
|
+
this.applyCarbonReadOnlyStyling(host);
|
|
2683
|
+
}
|
|
2684
|
+
applyCarbonReadOnlyStyling(host) {
|
|
2685
|
+
CARBON_READ_ONLY_MODIFIERS.forEach(([selector, modifier]) => host
|
|
2686
|
+
.querySelectorAll(selector)
|
|
2687
|
+
.forEach(wrapper => this.addClass(wrapper, modifier)));
|
|
2688
|
+
CARBON_UNWRAPPED_FIELDS.forEach(([field, wrapper, modifier]) => host.querySelectorAll(field).forEach(control => {
|
|
2689
|
+
const parent = control.parentElement;
|
|
2690
|
+
if (!parent || control.closest(wrapper))
|
|
2691
|
+
return;
|
|
2692
|
+
this.addClass(parent, modifier);
|
|
2693
|
+
}));
|
|
2694
|
+
}
|
|
2695
|
+
addClass(element, className) {
|
|
2696
|
+
if (element.classList.contains(className))
|
|
2697
|
+
return;
|
|
2698
|
+
element.classList.add(className);
|
|
2699
|
+
this.stateOf(element).addedClasses.push(className);
|
|
2700
|
+
}
|
|
2701
|
+
setAttribute(element, name, value) {
|
|
2702
|
+
const attributes = this.stateOf(element).attributes;
|
|
2703
|
+
if (!attributes.has(name))
|
|
2704
|
+
attributes.set(name, element.getAttribute(name));
|
|
2705
|
+
element.setAttribute(name, value);
|
|
2706
|
+
}
|
|
2707
|
+
setReadOnly(control) {
|
|
2708
|
+
const state = this.stateOf(control);
|
|
2709
|
+
if (state.readOnly === null)
|
|
2710
|
+
state.readOnly = control.readOnly;
|
|
2711
|
+
control.readOnly = true;
|
|
2712
|
+
}
|
|
2713
|
+
setStyle(element, property, value) {
|
|
2714
|
+
const styles = this.stateOf(element).styles;
|
|
2715
|
+
if (!styles.has(property))
|
|
2716
|
+
styles.set(property, element.style[property]);
|
|
2717
|
+
element.style[property] = value;
|
|
2718
|
+
}
|
|
2719
|
+
stateOf(element) {
|
|
2720
|
+
const state = this._originalStates.get(element) ?? {
|
|
2721
|
+
addedClasses: [],
|
|
2722
|
+
attributes: new Map(),
|
|
2723
|
+
readOnly: null,
|
|
2724
|
+
styles: new Map(),
|
|
2725
|
+
};
|
|
2726
|
+
this._originalStates.set(element, state);
|
|
2727
|
+
return state;
|
|
2728
|
+
}
|
|
2729
|
+
restore() {
|
|
2730
|
+
this._originalStates.forEach((original, element) => {
|
|
2731
|
+
original.attributes.forEach((value, name) => {
|
|
2732
|
+
if (value === null) {
|
|
2733
|
+
element.removeAttribute(name);
|
|
2734
|
+
}
|
|
2735
|
+
else {
|
|
2736
|
+
element.setAttribute(name, value);
|
|
2737
|
+
}
|
|
2738
|
+
});
|
|
2739
|
+
original.styles.forEach((value, property) => (element.style[property] = value));
|
|
2740
|
+
original.addedClasses.forEach(className => element.classList.remove(className));
|
|
2741
|
+
if (original.readOnly !== null) {
|
|
2742
|
+
element.readOnly = original.readOnly;
|
|
2743
|
+
}
|
|
2744
|
+
});
|
|
2745
|
+
this._originalStates.clear();
|
|
2746
|
+
}
|
|
2747
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ReadOnlyContentDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2748
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: ReadOnlyContentDirective, isStandalone: true, selector: "[valtimoReadOnlyContent]", inputs: { readOnly: ["valtimoReadOnlyContent", "readOnly"] }, ngImport: i0 }); }
|
|
2749
|
+
}
|
|
2750
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ReadOnlyContentDirective, decorators: [{
|
|
2751
|
+
type: Directive,
|
|
2752
|
+
args: [{
|
|
2753
|
+
standalone: true,
|
|
2754
|
+
selector: '[valtimoReadOnlyContent]',
|
|
2755
|
+
}]
|
|
2756
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { readOnly: [{
|
|
2757
|
+
type: Input,
|
|
2758
|
+
args: ['valtimoReadOnlyContent']
|
|
2759
|
+
}] } });
|
|
2760
|
+
|
|
2504
2761
|
/*
|
|
2505
2762
|
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
2506
2763
|
*
|
|
@@ -3018,8 +3275,8 @@ class ConfigureBuildingBlockMappingsComponent {
|
|
|
3018
3275
|
return false;
|
|
3019
3276
|
return fields.some(field => field.required && field.name === target);
|
|
3020
3277
|
}
|
|
3021
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ConfigureBuildingBlockMappingsComponent, deps: [{ token: i1$2.FormBuilder }, { token: BuildingBlockStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkStepService }, { token: ProcessLinkService }, { token: ProcessLinkStateService }, { token: i3.TranslateService }, { token: i3$
|
|
3022
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: ConfigureBuildingBlockMappingsComponent, isStandalone: true, selector: "valtimo-configure-building-block-mappings", ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 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@let obs =\n {\n fields: (buildingBlockFields$ | async),\n fieldItems: (buildingBlockFieldItems$ | async),\n params: (params$ | async),\n buildingBlockParams: (buildingBlockParams$ | async),\n sourceContextName: (sourceContextName$ | async),\n targetBuildingBlockName: (targetBuildingBlockName$ | async),\n sourceIsCase: (sourceIsCase$ | async),\n sourceIsIndependent: (sourceIsIndependent$ | async),\n caseLabelTranslation: ('Case' | translate),\n processLabelTranslation: ('processLinkConfiguration.buildingBlock.process' | translate),\n buildingBlockLabelTranslation:\n ('processLinkConfiguration.buildingBlock.selectLabel' | translate),\n };\n\n<div class=\"mapping-step\">\n <section class=\"mapping-section\" [attr.data-test-id]=\"testIds.inputSection\">\n <h4 class=\"section-header\">\n {{ 'processLinkConfiguration.buildingBlock.inputTitle' | translate }}\n </h4>\n\n <div class=\"mapping-table\" [formGroup]=\"inputsForm\">\n <div class=\"mapping-header input\">\n <v-input-label\n [title]=\"\n (obs.sourceIsIndependent\n ? obs.processLabelTranslation\n : obs.sourceIsCase\n ? obs.caseLabelTranslation\n : obs.buildingBlockLabelTranslation) +\n (obs.sourceIsIndependent ? '' : ': ' + obs.sourceContextName)\n \"\n />\n\n <v-input-label\n [title]=\"obs.buildingBlockLabelTranslation + ': ' + obs.targetBuildingBlockName\"\n />\n </div>\n\n <div formArrayName=\"inputs\">\n @for (group of inputs.controls; let inputIndex = $index; track inputIndex) {\n <div\n class=\"mapping-row input\"\n [formGroup]=\"group\"\n [attr.data-test-id]=\"testIds.inputRow\"\n >\n <div class=\"mapping-part\">\n @if (obs.sourceIsIndependent) {\n <input [cdsLayer]=\"2\" cdsText formControlName=\"source\" [placeholder]=\"'pv:'\" />\n } @else {\n <valtimo-value-path-selector\n [cdsLayer]=\"2\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [notation]=\"'slashes'\"\n [caseDefinitionKey]=\"obs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"obs.params?.caseDefinitionVersionTag\"\n [excludePrefixes]=\"[ValuePathSelectorPrefix.TASK]\"\n [buildingBlockDefinitionKey]=\"obs.buildingBlockParams?.buildingBlockDefinitionKey\"\n [buildingBlockDefinitionVersionTag]=\"\n obs.buildingBlockParams?.buildingBlockDefinitionVersionTag\n \"\n [appendInline]=\"false\"\n [dropUp]=\"false\"\n [formControl]=\"group.get('source')\"\n ></valtimo-value-path-selector>\n }\n\n <div class=\"arrow\">\u2192</div>\n </div>\n\n <div class=\"mapping-part\">\n <div class=\"mapping-cell\" [attr.data-test-id]=\"testIds.inputTargetSelectWrapper\">\n @if (isRequiredTarget(obs.fields, group.get('target')?.value)) {\n <div class=\"required-target\" [attr.data-test-id]=\"testIds.inputRequiredTargetLabel\">\n {{ group.get('target')?.value }}\n </div>\n } @else {\n <v-select\n [cdsLayer]=\"2\"\n [appendInline]=\"false\"\n formControlName=\"target\"\n [placeholder]=\"\n 'processLinkConfiguration.buildingBlock.selectedBuildingBlockFieldPlaceholder'\n | translate\n \"\n [items]=\"getBuildingBlockFieldItemsForRow$(group) | async\"\n [dropUp]=\"false\"\n >\n </v-select>\n }\n </div>\n\n <div class=\"mapping-cell-actions\">\n @if (!isRequiredTarget(obs.fields, group.get('target')?.value)) {\n <button\n cdsButton=\"danger--ghost\"\n iconOnly\n size=\"sm\"\n (click)=\"deleteInput(inputIndex)\"\n [attr.data-test-id]=\"testIds.inputDeleteButton\"\n >\n <svg cdsIcon=\"trash-can\" class=\"cds--btn__icon\" size=\"16\"></svg>\n </button>\n } @else {\n <div class=\"required-indicator\" [attr.data-test-id]=\"testIds.inputRequiredIndicator\">\n *\n </div>\n\n <div>\n {{ 'interface.required' | translate }}\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n\n <button\n cdsButton=\"tertiary\"\n size=\"sm\"\n (click)=\"addInput()\"\n [title]=\"'processLinkConfiguration.buildingBlock.addInput' | translate\"\n [disabled]=\"allInputsMapped$ | async\"\n [attr.data-test-id]=\"testIds.addInputButton\"\n >\n {{ 'processLinkConfiguration.buildingBlock.addInput' | translate }}\n\n <svg cdsIcon=\"add\" class=\"cds--btn__icon\" size=\"16\"></svg>\n </button>\n </section>\n\n <section class=\"mapping-section\" [attr.data-test-id]=\"testIds.outputSection\">\n <h4 class=\"section-header\">\n {{ 'processLinkConfiguration.buildingBlock.outputTitle' | translate }}\n </h4>\n\n <div class=\"mapping-table\" [formGroup]=\"outputsForm\">\n <div class=\"mapping-header output\">\n <v-input-label\n [title]=\"obs.buildingBlockLabelTranslation + ': ' + obs.targetBuildingBlockName\"\n />\n\n <v-input-label\n [title]=\"\n (obs.sourceIsIndependent\n ? obs.processLabelTranslation\n : obs.sourceIsCase\n ? obs.caseLabelTranslation\n : obs.buildingBlockLabelTranslation) +\n (obs.sourceIsIndependent ? '' : ': ' + obs.sourceContextName)\n \"\n />\n\n <div class=\"sync-options\">\n <v-input-label\n [title]=\"'processLinkConfiguration.buildingBlock.sync.title' | translate\"\n />\n </div>\n </div>\n\n <div formArrayName=\"outputs\">\n @for (group of outputs.controls; let outputIndex = $index; track outputIndex) {\n <div\n class=\"mapping-row output\"\n [formGroup]=\"group\"\n [attr.data-test-id]=\"testIds.outputRow\"\n >\n <div class=\"mapping-part\">\n <div class=\"mapping-cell\" [attr.data-test-id]=\"testIds.outputSourceSelectWrapper\">\n <v-select\n [cdsLayer]=\"2\"\n [appendInline]=\"false\"\n formControlName=\"source\"\n [items]=\"obs.fieldItems || []\"\n [placeholder]=\"\n 'processLinkConfiguration.buildingBlock.selectedBuildingBlockFieldPlaceholder'\n | translate\n \"\n [dropUp]=\"true\"\n >\n </v-select>\n </div>\n\n <div class=\"arrow\">\u2192</div>\n </div>\n\n <div class=\"mapping-part\">\n @if (obs.sourceIsIndependent) {\n <input [cdsLayer]=\"2\" cdsText formControlName=\"target\" [placeholder]=\"'pv:'\" />\n } @else {\n <valtimo-value-path-selector\n [cdsLayer]=\"2\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [notation]=\"'slashes'\"\n [caseDefinitionKey]=\"obs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"obs.params?.caseDefinitionVersionTag\"\n [excludePrefixes]=\"[ValuePathSelectorPrefix.TASK]\"\n [buildingBlockDefinitionKey]=\"obs.buildingBlockParams?.buildingBlockDefinitionKey\"\n [buildingBlockDefinitionVersionTag]=\"\n obs.buildingBlockParams?.buildingBlockDefinitionVersionTag\n \"\n [formControl]=\"group.get('target')\"\n [appendInline]=\"false\"\n [filterItems]=\"getUsedCaseTargetsForRow$(group) | async\"\n [dropUp]=\"true\"\n ></valtimo-value-path-selector>\n }\n </div>\n\n <div class=\"mapping-part\">\n <div class=\"mapping-cell\">\n <cds-radio-group\n class=\"sync-radio-group\"\n formControlName=\"syncTiming\"\n [attr.name]=\"'syncTiming-' + outputIndex\"\n >\n @for (item of syncTimingItems; track item.id) {\n <cds-radio [value]=\"item.id\" [checked]=\"isSyncTimingSelected(group, item.id)\">\n {{ item.labelKey | translate }}\n </cds-radio>\n }\n </cds-radio-group>\n </div>\n\n <div class=\"mapping-cell-actions\">\n <button\n cdsButton=\"danger--ghost\"\n iconOnly\n size=\"sm\"\n (click)=\"deleteOutput(outputIndex)\"\n [attr.data-test-id]=\"testIds.outputDeleteButton\"\n >\n <svg cdsIcon=\"trash-can\" class=\"cds--btn__icon\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n\n <button\n cdsButton=\"tertiary\"\n size=\"sm\"\n (click)=\"addOutput()\"\n [title]=\"'processLinkConfiguration.buildingBlock.addOutput' | translate\"\n [attr.data-test-id]=\"testIds.addOutputButton\"\n >\n {{ 'processLinkConfiguration.buildingBlock.addOutput' | translate }}\n\n <svg cdsIcon=\"add\" class=\"cds--btn__icon\" size=\"16\"></svg>\n </button>\n </section>\n</div>\n", styles: [".section-header{font-size:14px;line-height:18px;font-weight:600}.mapping-section{margin-bottom:16px}.mapping-row,.mapping-header{display:grid;align-items:center}.mapping-row.input,.mapping-header.input{grid-template-columns:1fr 1fr}.mapping-row.output,.mapping-header.output{grid-template-columns:5fr 6fr 3fr}.mapping-header.output .sync-options{padding-left:10px;display:flex}.mapping-row{margin-bottom:8px;padding:8px;background-color:var(--cds-layer)}.mapping-row .mapping-part{display:flex}.mapping-row .arrow{text-align:center;width:40px;line-height:40px;font-size:large}.mapping-row .mapping-cell{flex:1;min-width:0}.mapping-row .mapping-cell-actions{display:flex;align-self:flex-end;text-transform:capitalize;margin-left:10px}.mapping-row .mapping-cell-actions .required-indicator{margin:0 5px;color:var(--cds-text-error)}.mapping-row .mapping-cell-actions button{margin-bottom:5px}.mapping-row .mapping-cell-actions button ::ng-deep .cds--btn__icon{margin:0!important}.mapping-row .sync-radio-group{padding-left:10px;margin-top:8px}.mapping-row .sync-radio-group .sync-radio:first-child{margin-right:0}.mapping-row .sync-radio-group ::ng-deep .cds--radio-button__label{justify-content:normal}::ng-deep .process-link-modal-container .cds--modal-container{max-width:1280px}\n/*!\n * Copyright 2015-2026 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: "ngmodule", type: CommonModule }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "ngmodule", type: ComboBoxModule }, { kind: "ngmodule", type: RadioModule }, { kind: "component", type: i4.Radio, selector: "cds-radio, ibm-radio", inputs: ["checked", "name", "disabled", "labelPlacement", "ariaLabelledby", "ariaLabel", "required", "value", "skeleton", "id"], outputs: ["change"] }, { kind: "component", type: i4.RadioGroup, selector: "cds-radio-group, ibm-radio-group", inputs: ["selected", "value", "name", "disabled", "skeleton", "orientation", "labelPlacement", "legend", "ariaLabel", "ariaLabelledby", "helperText", "invalid", "invalidText", "warn", "warnText"], outputs: ["change"] }, { kind: "ngmodule", type: InputModule }, { kind: "directive", type: i4.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "excludePrefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i2$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i4.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i2$1.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "invalid", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "clearable", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "warn", "warnText", "dataTestId"], outputs: ["selectedChange"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i4.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3278
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ConfigureBuildingBlockMappingsComponent, deps: [{ token: i1$2.FormBuilder }, { token: BuildingBlockStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkStepService }, { token: ProcessLinkService }, { token: ProcessLinkStateService }, { token: i3.TranslateService }, { token: i3$1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: ProcessLinkBuildingBlockApiService }, { token: ProcessLinkStateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3279
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: ConfigureBuildingBlockMappingsComponent, isStandalone: true, selector: "valtimo-configure-building-block-mappings", ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 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@let obs =\n {\n fields: (buildingBlockFields$ | async),\n fieldItems: (buildingBlockFieldItems$ | async),\n params: (params$ | async),\n buildingBlockParams: (buildingBlockParams$ | async),\n sourceContextName: (sourceContextName$ | async),\n targetBuildingBlockName: (targetBuildingBlockName$ | async),\n sourceIsCase: (sourceIsCase$ | async),\n sourceIsIndependent: (sourceIsIndependent$ | async),\n caseLabelTranslation: ('Case' | translate),\n processLabelTranslation: ('processLinkConfiguration.buildingBlock.process' | translate),\n buildingBlockLabelTranslation:\n ('processLinkConfiguration.buildingBlock.selectLabel' | translate),\n };\n\n<div class=\"mapping-step\">\n <section class=\"mapping-section\" [attr.data-test-id]=\"testIds.inputSection\">\n <h4 class=\"section-header\">\n {{ 'processLinkConfiguration.buildingBlock.inputTitle' | translate }}\n </h4>\n\n <div class=\"mapping-table\" [formGroup]=\"inputsForm\">\n <div class=\"mapping-header input\">\n <v-input-label\n [title]=\"\n (obs.sourceIsIndependent\n ? obs.processLabelTranslation\n : obs.sourceIsCase\n ? obs.caseLabelTranslation\n : obs.buildingBlockLabelTranslation) +\n (obs.sourceIsIndependent ? '' : ': ' + obs.sourceContextName)\n \"\n />\n\n <v-input-label\n [title]=\"obs.buildingBlockLabelTranslation + ': ' + obs.targetBuildingBlockName\"\n />\n </div>\n\n <div formArrayName=\"inputs\">\n @for (group of inputs.controls; let inputIndex = $index; track inputIndex) {\n <div\n class=\"mapping-row input\"\n [formGroup]=\"group\"\n [attr.data-test-id]=\"testIds.inputRow\"\n >\n <div class=\"mapping-part\">\n @if (obs.sourceIsIndependent) {\n <input [cdsLayer]=\"2\" cdsText formControlName=\"source\" [placeholder]=\"'pv:'\" />\n } @else {\n <valtimo-value-path-selector\n [cdsLayer]=\"2\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [notation]=\"'slashes'\"\n [caseDefinitionKey]=\"obs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"obs.params?.caseDefinitionVersionTag\"\n [excludePrefixes]=\"[ValuePathSelectorPrefix.TASK]\"\n [buildingBlockDefinitionKey]=\"obs.buildingBlockParams?.buildingBlockDefinitionKey\"\n [buildingBlockDefinitionVersionTag]=\"\n obs.buildingBlockParams?.buildingBlockDefinitionVersionTag\n \"\n [appendInline]=\"false\"\n [dropUp]=\"false\"\n [formControl]=\"group.get('source')\"\n ></valtimo-value-path-selector>\n }\n\n <div class=\"arrow\">\u2192</div>\n </div>\n\n <div class=\"mapping-part\">\n <div class=\"mapping-cell\" [attr.data-test-id]=\"testIds.inputTargetSelectWrapper\">\n @if (isRequiredTarget(obs.fields, group.get('target')?.value)) {\n <div class=\"required-target\" [attr.data-test-id]=\"testIds.inputRequiredTargetLabel\">\n {{ group.get('target')?.value }}\n </div>\n } @else {\n <v-select\n [cdsLayer]=\"2\"\n [appendInline]=\"false\"\n formControlName=\"target\"\n [placeholder]=\"\n 'processLinkConfiguration.buildingBlock.selectedBuildingBlockFieldPlaceholder'\n | translate\n \"\n [items]=\"getBuildingBlockFieldItemsForRow$(group) | async\"\n [dropUp]=\"false\"\n >\n </v-select>\n }\n </div>\n\n <div class=\"mapping-cell-actions\">\n @if (!isRequiredTarget(obs.fields, group.get('target')?.value)) {\n <button\n cdsButton=\"danger--ghost\"\n iconOnly\n size=\"sm\"\n (click)=\"deleteInput(inputIndex)\"\n [attr.data-test-id]=\"testIds.inputDeleteButton\"\n >\n <svg cdsIcon=\"trash-can\" class=\"cds--btn__icon\" size=\"16\"></svg>\n </button>\n } @else {\n <div class=\"required-indicator\" [attr.data-test-id]=\"testIds.inputRequiredIndicator\">\n *\n </div>\n\n <div>\n {{ 'interface.required' | translate }}\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n\n <button\n cdsButton=\"tertiary\"\n size=\"sm\"\n (click)=\"addInput()\"\n [title]=\"'processLinkConfiguration.buildingBlock.addInput' | translate\"\n [disabled]=\"allInputsMapped$ | async\"\n [attr.data-test-id]=\"testIds.addInputButton\"\n >\n {{ 'processLinkConfiguration.buildingBlock.addInput' | translate }}\n\n <svg cdsIcon=\"add\" class=\"cds--btn__icon\" size=\"16\"></svg>\n </button>\n </section>\n\n <section class=\"mapping-section\" [attr.data-test-id]=\"testIds.outputSection\">\n <h4 class=\"section-header\">\n {{ 'processLinkConfiguration.buildingBlock.outputTitle' | translate }}\n </h4>\n\n <div class=\"mapping-table\" [formGroup]=\"outputsForm\">\n <div class=\"mapping-header output\">\n <v-input-label\n [title]=\"obs.buildingBlockLabelTranslation + ': ' + obs.targetBuildingBlockName\"\n />\n\n <v-input-label\n [title]=\"\n (obs.sourceIsIndependent\n ? obs.processLabelTranslation\n : obs.sourceIsCase\n ? obs.caseLabelTranslation\n : obs.buildingBlockLabelTranslation) +\n (obs.sourceIsIndependent ? '' : ': ' + obs.sourceContextName)\n \"\n />\n\n <div class=\"sync-options\">\n <v-input-label\n [title]=\"'processLinkConfiguration.buildingBlock.sync.title' | translate\"\n />\n </div>\n </div>\n\n <div formArrayName=\"outputs\">\n @for (group of outputs.controls; let outputIndex = $index; track outputIndex) {\n <div\n class=\"mapping-row output\"\n [formGroup]=\"group\"\n [attr.data-test-id]=\"testIds.outputRow\"\n >\n <div class=\"mapping-part\">\n <div class=\"mapping-cell\" [attr.data-test-id]=\"testIds.outputSourceSelectWrapper\">\n <v-select\n [cdsLayer]=\"2\"\n [appendInline]=\"false\"\n formControlName=\"source\"\n [items]=\"obs.fieldItems || []\"\n [placeholder]=\"\n 'processLinkConfiguration.buildingBlock.selectedBuildingBlockFieldPlaceholder'\n | translate\n \"\n [dropUp]=\"true\"\n >\n </v-select>\n </div>\n\n <div class=\"arrow\">\u2192</div>\n </div>\n\n <div class=\"mapping-part\">\n @if (obs.sourceIsIndependent) {\n <input [cdsLayer]=\"2\" cdsText formControlName=\"target\" [placeholder]=\"'pv:'\" />\n } @else {\n <valtimo-value-path-selector\n [cdsLayer]=\"2\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [notation]=\"'slashes'\"\n [caseDefinitionKey]=\"obs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"obs.params?.caseDefinitionVersionTag\"\n [excludePrefixes]=\"[ValuePathSelectorPrefix.TASK]\"\n [buildingBlockDefinitionKey]=\"obs.buildingBlockParams?.buildingBlockDefinitionKey\"\n [buildingBlockDefinitionVersionTag]=\"\n obs.buildingBlockParams?.buildingBlockDefinitionVersionTag\n \"\n [formControl]=\"group.get('target')\"\n [appendInline]=\"false\"\n [filterItems]=\"getUsedCaseTargetsForRow$(group) | async\"\n [dropUp]=\"true\"\n ></valtimo-value-path-selector>\n }\n </div>\n\n <div class=\"mapping-part\">\n <div class=\"mapping-cell\">\n <cds-radio-group\n class=\"sync-radio-group\"\n formControlName=\"syncTiming\"\n [attr.name]=\"'syncTiming-' + outputIndex\"\n >\n @for (item of syncTimingItems; track item.id) {\n <cds-radio [value]=\"item.id\" [checked]=\"isSyncTimingSelected(group, item.id)\">\n {{ item.labelKey | translate }}\n </cds-radio>\n }\n </cds-radio-group>\n </div>\n\n <div class=\"mapping-cell-actions\">\n <button\n cdsButton=\"danger--ghost\"\n iconOnly\n size=\"sm\"\n (click)=\"deleteOutput(outputIndex)\"\n [attr.data-test-id]=\"testIds.outputDeleteButton\"\n >\n <svg cdsIcon=\"trash-can\" class=\"cds--btn__icon\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n\n <button\n cdsButton=\"tertiary\"\n size=\"sm\"\n (click)=\"addOutput()\"\n [title]=\"'processLinkConfiguration.buildingBlock.addOutput' | translate\"\n [attr.data-test-id]=\"testIds.addOutputButton\"\n >\n {{ 'processLinkConfiguration.buildingBlock.addOutput' | translate }}\n\n <svg cdsIcon=\"add\" class=\"cds--btn__icon\" size=\"16\"></svg>\n </button>\n </section>\n</div>\n", styles: [".section-header{font-size:14px;line-height:18px;font-weight:600}.mapping-section{margin-bottom:16px}.mapping-row,.mapping-header{display:grid;align-items:center}.mapping-row.input,.mapping-header.input{grid-template-columns:1fr 1fr}.mapping-row.output,.mapping-header.output{grid-template-columns:5fr 6fr 3fr}.mapping-header.output .sync-options{padding-left:10px;display:flex}.mapping-row{margin-bottom:8px;padding:8px;background-color:var(--cds-layer)}.mapping-row .mapping-part{display:flex}.mapping-row .arrow{text-align:center;width:40px;line-height:40px;font-size:large}.mapping-row .mapping-cell{flex:1;min-width:0}.mapping-row .mapping-cell-actions{display:flex;align-self:flex-end;text-transform:capitalize;margin-left:10px}.mapping-row .mapping-cell-actions .required-indicator{margin:0 5px;color:var(--cds-text-error)}.mapping-row .mapping-cell-actions button{margin-bottom:5px}.mapping-row .mapping-cell-actions button ::ng-deep .cds--btn__icon{margin:0!important}.mapping-row .sync-radio-group{padding-left:10px;margin-top:8px}.mapping-row .sync-radio-group .sync-radio:first-child{margin-right:0}.mapping-row .sync-radio-group ::ng-deep .cds--radio-button__label{justify-content:normal}::ng-deep .process-link-modal-container .cds--modal-container{max-width:1280px}\n/*!\n * Copyright 2015-2026 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: "ngmodule", type: CommonModule }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "ngmodule", type: ComboBoxModule }, { kind: "ngmodule", type: RadioModule }, { kind: "component", type: i5.Radio, selector: "cds-radio, ibm-radio", inputs: ["checked", "name", "disabled", "labelPlacement", "ariaLabelledby", "ariaLabel", "required", "value", "skeleton", "id"], outputs: ["change"] }, { kind: "component", type: i5.RadioGroup, selector: "cds-radio-group, ibm-radio-group", inputs: ["selected", "value", "name", "disabled", "skeleton", "orientation", "labelPlacement", "legend", "ariaLabel", "ariaLabelledby", "helperText", "invalid", "invalidText", "warn", "warnText"], outputs: ["change"] }, { kind: "ngmodule", type: InputModule }, { kind: "directive", type: i5.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "excludePrefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i2$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i5.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i2$1.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "invalid", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "clearable", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "warn", "warnText", "dataTestId"], outputs: ["selectedChange"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i5.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3023
3280
|
}
|
|
3024
3281
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ConfigureBuildingBlockMappingsComponent, decorators: [{
|
|
3025
3282
|
type: Component,
|
|
@@ -3037,7 +3294,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
3037
3294
|
SelectModule,
|
|
3038
3295
|
LayerModule,
|
|
3039
3296
|
], template: "<!--\n ~ Copyright 2015-2026 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@let obs =\n {\n fields: (buildingBlockFields$ | async),\n fieldItems: (buildingBlockFieldItems$ | async),\n params: (params$ | async),\n buildingBlockParams: (buildingBlockParams$ | async),\n sourceContextName: (sourceContextName$ | async),\n targetBuildingBlockName: (targetBuildingBlockName$ | async),\n sourceIsCase: (sourceIsCase$ | async),\n sourceIsIndependent: (sourceIsIndependent$ | async),\n caseLabelTranslation: ('Case' | translate),\n processLabelTranslation: ('processLinkConfiguration.buildingBlock.process' | translate),\n buildingBlockLabelTranslation:\n ('processLinkConfiguration.buildingBlock.selectLabel' | translate),\n };\n\n<div class=\"mapping-step\">\n <section class=\"mapping-section\" [attr.data-test-id]=\"testIds.inputSection\">\n <h4 class=\"section-header\">\n {{ 'processLinkConfiguration.buildingBlock.inputTitle' | translate }}\n </h4>\n\n <div class=\"mapping-table\" [formGroup]=\"inputsForm\">\n <div class=\"mapping-header input\">\n <v-input-label\n [title]=\"\n (obs.sourceIsIndependent\n ? obs.processLabelTranslation\n : obs.sourceIsCase\n ? obs.caseLabelTranslation\n : obs.buildingBlockLabelTranslation) +\n (obs.sourceIsIndependent ? '' : ': ' + obs.sourceContextName)\n \"\n />\n\n <v-input-label\n [title]=\"obs.buildingBlockLabelTranslation + ': ' + obs.targetBuildingBlockName\"\n />\n </div>\n\n <div formArrayName=\"inputs\">\n @for (group of inputs.controls; let inputIndex = $index; track inputIndex) {\n <div\n class=\"mapping-row input\"\n [formGroup]=\"group\"\n [attr.data-test-id]=\"testIds.inputRow\"\n >\n <div class=\"mapping-part\">\n @if (obs.sourceIsIndependent) {\n <input [cdsLayer]=\"2\" cdsText formControlName=\"source\" [placeholder]=\"'pv:'\" />\n } @else {\n <valtimo-value-path-selector\n [cdsLayer]=\"2\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [notation]=\"'slashes'\"\n [caseDefinitionKey]=\"obs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"obs.params?.caseDefinitionVersionTag\"\n [excludePrefixes]=\"[ValuePathSelectorPrefix.TASK]\"\n [buildingBlockDefinitionKey]=\"obs.buildingBlockParams?.buildingBlockDefinitionKey\"\n [buildingBlockDefinitionVersionTag]=\"\n obs.buildingBlockParams?.buildingBlockDefinitionVersionTag\n \"\n [appendInline]=\"false\"\n [dropUp]=\"false\"\n [formControl]=\"group.get('source')\"\n ></valtimo-value-path-selector>\n }\n\n <div class=\"arrow\">\u2192</div>\n </div>\n\n <div class=\"mapping-part\">\n <div class=\"mapping-cell\" [attr.data-test-id]=\"testIds.inputTargetSelectWrapper\">\n @if (isRequiredTarget(obs.fields, group.get('target')?.value)) {\n <div class=\"required-target\" [attr.data-test-id]=\"testIds.inputRequiredTargetLabel\">\n {{ group.get('target')?.value }}\n </div>\n } @else {\n <v-select\n [cdsLayer]=\"2\"\n [appendInline]=\"false\"\n formControlName=\"target\"\n [placeholder]=\"\n 'processLinkConfiguration.buildingBlock.selectedBuildingBlockFieldPlaceholder'\n | translate\n \"\n [items]=\"getBuildingBlockFieldItemsForRow$(group) | async\"\n [dropUp]=\"false\"\n >\n </v-select>\n }\n </div>\n\n <div class=\"mapping-cell-actions\">\n @if (!isRequiredTarget(obs.fields, group.get('target')?.value)) {\n <button\n cdsButton=\"danger--ghost\"\n iconOnly\n size=\"sm\"\n (click)=\"deleteInput(inputIndex)\"\n [attr.data-test-id]=\"testIds.inputDeleteButton\"\n >\n <svg cdsIcon=\"trash-can\" class=\"cds--btn__icon\" size=\"16\"></svg>\n </button>\n } @else {\n <div class=\"required-indicator\" [attr.data-test-id]=\"testIds.inputRequiredIndicator\">\n *\n </div>\n\n <div>\n {{ 'interface.required' | translate }}\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n\n <button\n cdsButton=\"tertiary\"\n size=\"sm\"\n (click)=\"addInput()\"\n [title]=\"'processLinkConfiguration.buildingBlock.addInput' | translate\"\n [disabled]=\"allInputsMapped$ | async\"\n [attr.data-test-id]=\"testIds.addInputButton\"\n >\n {{ 'processLinkConfiguration.buildingBlock.addInput' | translate }}\n\n <svg cdsIcon=\"add\" class=\"cds--btn__icon\" size=\"16\"></svg>\n </button>\n </section>\n\n <section class=\"mapping-section\" [attr.data-test-id]=\"testIds.outputSection\">\n <h4 class=\"section-header\">\n {{ 'processLinkConfiguration.buildingBlock.outputTitle' | translate }}\n </h4>\n\n <div class=\"mapping-table\" [formGroup]=\"outputsForm\">\n <div class=\"mapping-header output\">\n <v-input-label\n [title]=\"obs.buildingBlockLabelTranslation + ': ' + obs.targetBuildingBlockName\"\n />\n\n <v-input-label\n [title]=\"\n (obs.sourceIsIndependent\n ? obs.processLabelTranslation\n : obs.sourceIsCase\n ? obs.caseLabelTranslation\n : obs.buildingBlockLabelTranslation) +\n (obs.sourceIsIndependent ? '' : ': ' + obs.sourceContextName)\n \"\n />\n\n <div class=\"sync-options\">\n <v-input-label\n [title]=\"'processLinkConfiguration.buildingBlock.sync.title' | translate\"\n />\n </div>\n </div>\n\n <div formArrayName=\"outputs\">\n @for (group of outputs.controls; let outputIndex = $index; track outputIndex) {\n <div\n class=\"mapping-row output\"\n [formGroup]=\"group\"\n [attr.data-test-id]=\"testIds.outputRow\"\n >\n <div class=\"mapping-part\">\n <div class=\"mapping-cell\" [attr.data-test-id]=\"testIds.outputSourceSelectWrapper\">\n <v-select\n [cdsLayer]=\"2\"\n [appendInline]=\"false\"\n formControlName=\"source\"\n [items]=\"obs.fieldItems || []\"\n [placeholder]=\"\n 'processLinkConfiguration.buildingBlock.selectedBuildingBlockFieldPlaceholder'\n | translate\n \"\n [dropUp]=\"true\"\n >\n </v-select>\n </div>\n\n <div class=\"arrow\">\u2192</div>\n </div>\n\n <div class=\"mapping-part\">\n @if (obs.sourceIsIndependent) {\n <input [cdsLayer]=\"2\" cdsText formControlName=\"target\" [placeholder]=\"'pv:'\" />\n } @else {\n <valtimo-value-path-selector\n [cdsLayer]=\"2\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [notation]=\"'slashes'\"\n [caseDefinitionKey]=\"obs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"obs.params?.caseDefinitionVersionTag\"\n [excludePrefixes]=\"[ValuePathSelectorPrefix.TASK]\"\n [buildingBlockDefinitionKey]=\"obs.buildingBlockParams?.buildingBlockDefinitionKey\"\n [buildingBlockDefinitionVersionTag]=\"\n obs.buildingBlockParams?.buildingBlockDefinitionVersionTag\n \"\n [formControl]=\"group.get('target')\"\n [appendInline]=\"false\"\n [filterItems]=\"getUsedCaseTargetsForRow$(group) | async\"\n [dropUp]=\"true\"\n ></valtimo-value-path-selector>\n }\n </div>\n\n <div class=\"mapping-part\">\n <div class=\"mapping-cell\">\n <cds-radio-group\n class=\"sync-radio-group\"\n formControlName=\"syncTiming\"\n [attr.name]=\"'syncTiming-' + outputIndex\"\n >\n @for (item of syncTimingItems; track item.id) {\n <cds-radio [value]=\"item.id\" [checked]=\"isSyncTimingSelected(group, item.id)\">\n {{ item.labelKey | translate }}\n </cds-radio>\n }\n </cds-radio-group>\n </div>\n\n <div class=\"mapping-cell-actions\">\n <button\n cdsButton=\"danger--ghost\"\n iconOnly\n size=\"sm\"\n (click)=\"deleteOutput(outputIndex)\"\n [attr.data-test-id]=\"testIds.outputDeleteButton\"\n >\n <svg cdsIcon=\"trash-can\" class=\"cds--btn__icon\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n\n <button\n cdsButton=\"tertiary\"\n size=\"sm\"\n (click)=\"addOutput()\"\n [title]=\"'processLinkConfiguration.buildingBlock.addOutput' | translate\"\n [attr.data-test-id]=\"testIds.addOutputButton\"\n >\n {{ 'processLinkConfiguration.buildingBlock.addOutput' | translate }}\n\n <svg cdsIcon=\"add\" class=\"cds--btn__icon\" size=\"16\"></svg>\n </button>\n </section>\n</div>\n", styles: [".section-header{font-size:14px;line-height:18px;font-weight:600}.mapping-section{margin-bottom:16px}.mapping-row,.mapping-header{display:grid;align-items:center}.mapping-row.input,.mapping-header.input{grid-template-columns:1fr 1fr}.mapping-row.output,.mapping-header.output{grid-template-columns:5fr 6fr 3fr}.mapping-header.output .sync-options{padding-left:10px;display:flex}.mapping-row{margin-bottom:8px;padding:8px;background-color:var(--cds-layer)}.mapping-row .mapping-part{display:flex}.mapping-row .arrow{text-align:center;width:40px;line-height:40px;font-size:large}.mapping-row .mapping-cell{flex:1;min-width:0}.mapping-row .mapping-cell-actions{display:flex;align-self:flex-end;text-transform:capitalize;margin-left:10px}.mapping-row .mapping-cell-actions .required-indicator{margin:0 5px;color:var(--cds-text-error)}.mapping-row .mapping-cell-actions button{margin-bottom:5px}.mapping-row .mapping-cell-actions button ::ng-deep .cds--btn__icon{margin:0!important}.mapping-row .sync-radio-group{padding-left:10px;margin-top:8px}.mapping-row .sync-radio-group .sync-radio:first-child{margin-right:0}.mapping-row .sync-radio-group ::ng-deep .cds--radio-button__label{justify-content:normal}::ng-deep .process-link-modal-container .cds--modal-container{max-width:1280px}\n/*!\n * Copyright 2015-2026 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"] }]
|
|
3040
|
-
}], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: BuildingBlockStateService }, { type: ProcessLinkButtonService }, { type: ProcessLinkStepService }, { type: ProcessLinkService }, { type: ProcessLinkStateService }, { type: i3.TranslateService }, { type: i3$
|
|
3297
|
+
}], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: BuildingBlockStateService }, { type: ProcessLinkButtonService }, { type: ProcessLinkStepService }, { type: ProcessLinkService }, { type: ProcessLinkStateService }, { type: i3.TranslateService }, { type: i3$1.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: ProcessLinkBuildingBlockApiService }, { type: ProcessLinkStateService }] });
|
|
3041
3298
|
|
|
3042
3299
|
/*
|
|
3043
3300
|
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
@@ -3057,6 +3314,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
3057
3314
|
class ChooseProcessLinkTypeComponent {
|
|
3058
3315
|
constructor(processLinkStateService) {
|
|
3059
3316
|
this.processLinkStateService = processLinkStateService;
|
|
3317
|
+
this.testIds = PROCESS_LINK_TYPE_CHOOSER_TEST_IDS;
|
|
3318
|
+
this.testIdPrefix = PROCESS_LINK_TYPE_BUTTON_TEST_ID_PREFIX;
|
|
3060
3319
|
this.availableProcessLinkTypes$ = this.processLinkStateService.availableProcessLinkTypes$;
|
|
3061
3320
|
}
|
|
3062
3321
|
getTooltipKey(processLinkTypeId) {
|
|
@@ -3070,11 +3329,11 @@ class ChooseProcessLinkTypeComponent {
|
|
|
3070
3329
|
this.processLinkStateService.selectProcessLinkType(processLinkTypeId);
|
|
3071
3330
|
}
|
|
3072
3331
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ChooseProcessLinkTypeComponent, deps: [{ token: ProcessLinkStateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3073
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ChooseProcessLinkTypeComponent, isStandalone: false, selector: "valtimo-choose-process-link-type", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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]=\"getTooltipKey(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 <svg\n *ngIf=\"processLinkTypeId === 'ui-component'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"receipt\"\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-2025 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:
|
|
3332
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ChooseProcessLinkTypeComponent, isStandalone: false, selector: "valtimo-choose-process-link-type", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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\" [attr.data-test-id]=\"testIds.container\">\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 [attr.data-test-id]=\"testIdPrefix + processLinkTypeId\"\n (click)=\"selectProcessLinkType(processLinkTypeId)\"\n cdsButton=\"secondary\"\n size=\"xl\"\n class=\"process-link-type-button\"\n [disabled]=\"!availableProcessLinkType.enabled\"\n [vTooltip]=\"getTooltipKey(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 <svg\n *ngIf=\"processLinkTypeId === 'ui-component'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"receipt\"\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-2025 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: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i5.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "directive", type: i2$1.TooltipDirective, selector: "[vTooltip]", inputs: ["vTooltip", "onBottom", "tooltipDisabled"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
3074
3333
|
}
|
|
3075
3334
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ChooseProcessLinkTypeComponent, decorators: [{
|
|
3076
3335
|
type: Component,
|
|
3077
|
-
args: [{ standalone: false, selector: 'valtimo-choose-process-link-type', template: "<!--\n ~ Copyright 2015-2025 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]=\"getTooltipKey(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 <svg\n *ngIf=\"processLinkTypeId === 'ui-component'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"receipt\"\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-2025 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"] }]
|
|
3336
|
+
args: [{ standalone: false, selector: 'valtimo-choose-process-link-type', template: "<!--\n ~ Copyright 2015-2025 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\" [attr.data-test-id]=\"testIds.container\">\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 [attr.data-test-id]=\"testIdPrefix + processLinkTypeId\"\n (click)=\"selectProcessLinkType(processLinkTypeId)\"\n cdsButton=\"secondary\"\n size=\"xl\"\n class=\"process-link-type-button\"\n [disabled]=\"!availableProcessLinkType.enabled\"\n [vTooltip]=\"getTooltipKey(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 <svg\n *ngIf=\"processLinkTypeId === 'ui-component'\"\n class=\"cds--btn__icon\"\n cdsIcon=\"receipt\"\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-2025 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"] }]
|
|
3078
3337
|
}], ctorParameters: () => [{ type: ProcessLinkStateService }] });
|
|
3079
3338
|
|
|
3080
3339
|
/*
|
|
@@ -3195,7 +3454,7 @@ class FormDisplayConfigurationComponent {
|
|
|
3195
3454
|
this.buttonService.disableSaveButton();
|
|
3196
3455
|
}
|
|
3197
3456
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormDisplayConfigurationComponent, deps: [{ token: ProcessLinkButtonService }, { token: ProcessLinkStateService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3198
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: FormDisplayConfigurationComponent, isStandalone: false, selector: "valtimo-form-display-configuration", inputs: { selectedFormDefinition: "selectedFormDefinition" }, outputs: { formDisplayValue: "formDisplayValue", formSizeValue: "formSizeValue", subtitlesValue: "subtitlesValue" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 formDisplayValue: formDisplayValue$ | async,\n formDisplayTypeListItems: formDisplayTypeListItems$ | async,\n formSizeListItems: formSizeListItems$ | async,\n disableFormSizeInput: disableFormSizeInput$ | async,\n subtitles: subtitles$ | async,\n isUserTask: isUserTask$ | async,\n isStartEvent: isStartEvent$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n @if (obs.isUserTask || obs.isStartEvent) {\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\n <br />\n }\n\n @if (obs.isUserTask || obs.isStartEvent) {\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 <br />\n }\n\n @if (obs.isUserTask) {\n <valtimo-carbon-multi-input\n type=\"value\"\n titleTranslationKey=\"processLinkSteps.subtitles\"\n addRowTranslationKey=\"processLinkSteps.addSubtitle\"\n [disabled]=\"obs.saving\"\n [fullWidth]=\"true\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n [defaultValues]=\"obs.subtitles\"\n (valueChange)=\"onSubtitlesChange($event)\"\n ></valtimo-carbon-multi-input>\n }\n</ng-container>\n", dependencies: [{ kind: "directive", type:
|
|
3457
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: FormDisplayConfigurationComponent, isStandalone: false, selector: "valtimo-form-display-configuration", inputs: { selectedFormDefinition: "selectedFormDefinition" }, outputs: { formDisplayValue: "formDisplayValue", formSizeValue: "formSizeValue", subtitlesValue: "subtitlesValue" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 formDisplayValue: formDisplayValue$ | async,\n formDisplayTypeListItems: formDisplayTypeListItems$ | async,\n formSizeListItems: formSizeListItems$ | async,\n disableFormSizeInput: disableFormSizeInput$ | async,\n subtitles: subtitles$ | async,\n isUserTask: isUserTask$ | async,\n isStartEvent: isStartEvent$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n @if (obs.isUserTask || obs.isStartEvent) {\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\n <br />\n }\n\n @if (obs.isUserTask || obs.isStartEvent) {\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 <br />\n }\n\n @if (obs.isUserTask) {\n <valtimo-carbon-multi-input\n type=\"value\"\n titleTranslationKey=\"processLinkSteps.subtitles\"\n addRowTranslationKey=\"processLinkSteps.addSubtitle\"\n [disabled]=\"obs.saving\"\n [fullWidth]=\"true\"\n [minimumAmountOfRows]=\"0\"\n [initialAmountOfRows]=\"0\"\n [defaultValues]=\"obs.subtitles\"\n (valueChange)=\"onSubtitlesChange($event)\"\n ></valtimo-carbon-multi-input>\n }\n</ng-container>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.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", "readonly", "fluid"], 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: i2$1.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addButtonType", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorCaseDefinitionKey", "valuePathSelectorPrefixes", "valuePathSelectorShowCaseDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
3199
3458
|
}
|
|
3200
3459
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormDisplayConfigurationComponent, decorators: [{
|
|
3201
3460
|
type: Component,
|
|
@@ -3385,13 +3644,13 @@ class SelectFormComponent {
|
|
|
3385
3644
|
this.stateService.sendProcessLinkCreateEvent(createRequest);
|
|
3386
3645
|
});
|
|
3387
3646
|
}
|
|
3388
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SelectFormComponent, deps: [{ token: i1$4.FormService }, { token: ProcessLinkStateService }, { token: ProcessLinkService }, { token: ProcessLinkButtonService }, { token: i3$
|
|
3389
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SelectFormComponent, isStandalone: false, selector: "valtimo-select-form", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 (subtitlesValue)=\"selectedSubtitlesValue($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-2025 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:
|
|
3647
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SelectFormComponent, deps: [{ token: i1$4.FormService }, { token: ProcessLinkStateService }, { token: ProcessLinkService }, { token: ProcessLinkButtonService }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3648
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SelectFormComponent, isStandalone: false, selector: "valtimo-select-form", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 (subtitlesValue)=\"selectedSubtitlesValue($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-2025 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: i5.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", "readonly", "fluid"], 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", "subtitlesValue"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
3390
3649
|
}
|
|
3391
3650
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SelectFormComponent, decorators: [{
|
|
3392
3651
|
type: Component,
|
|
3393
3652
|
args: [{ standalone: false, selector: 'valtimo-select-form', template: "<!--\n ~ Copyright 2015-2025 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 (subtitlesValue)=\"selectedSubtitlesValue($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-2025 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"] }]
|
|
3394
|
-
}], ctorParameters: () => [{ type: i1$4.FormService }, { type: ProcessLinkStateService }, { type: ProcessLinkService }, { type: ProcessLinkButtonService }, { type: i3$
|
|
3653
|
+
}], ctorParameters: () => [{ type: i1$4.FormService }, { type: ProcessLinkStateService }, { type: ProcessLinkService }, { type: ProcessLinkButtonService }, { type: i3$1.ActivatedRoute }] });
|
|
3395
3654
|
|
|
3396
3655
|
/*
|
|
3397
3656
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
@@ -3505,7 +3764,7 @@ class SelectFormFlowComponent {
|
|
|
3505
3764
|
.subscribe(([selectedProcessLink, isUserTask, isStartEvent]) => {
|
|
3506
3765
|
const updateProcessLinkRequest = {
|
|
3507
3766
|
id: selectedProcessLink.id,
|
|
3508
|
-
|
|
3767
|
+
formFlowDefinitionKey: this.selectedFormFlowDefinitionId,
|
|
3509
3768
|
activityId: selectedProcessLink.activityId,
|
|
3510
3769
|
...(isUserTask && {
|
|
3511
3770
|
formDisplayType: this.formDisplayValue || this._DEFAULT_FORM_DISPLAY_TYPE,
|
|
@@ -3550,13 +3809,13 @@ class SelectFormFlowComponent {
|
|
|
3550
3809
|
this.stateService.sendProcessLinkCreateEvent(createRequest);
|
|
3551
3810
|
});
|
|
3552
3811
|
}
|
|
3553
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SelectFormFlowComponent, deps: [{ token: i1$5.FormFlowService }, { token: ProcessLinkStateService }, { token: ProcessLinkService }, { token: ProcessLinkButtonService }, { token: i3$
|
|
3554
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SelectFormFlowComponent, isStandalone: false, selector: "valtimo-select-form-flow", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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\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\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormFlowDefinitionId\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($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-2025 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:
|
|
3812
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SelectFormFlowComponent, deps: [{ token: i1$5.FormFlowService }, { token: ProcessLinkStateService }, { token: ProcessLinkService }, { token: ProcessLinkButtonService }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3813
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SelectFormFlowComponent, isStandalone: false, selector: "valtimo-select-form-flow", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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\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\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormFlowDefinitionId\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($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-2025 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: i5.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", "readonly", "fluid"], 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", "subtitlesValue"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
3555
3814
|
}
|
|
3556
3815
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SelectFormFlowComponent, decorators: [{
|
|
3557
3816
|
type: Component,
|
|
3558
3817
|
args: [{ standalone: false, selector: 'valtimo-select-form-flow', template: "<!--\n ~ Copyright 2015-2025 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\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\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormFlowDefinitionId\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($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-2025 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"] }]
|
|
3559
|
-
}], ctorParameters: () => [{ type: i1$5.FormFlowService }, { type: ProcessLinkStateService }, { type: ProcessLinkService }, { type: ProcessLinkButtonService }, { type: i3$
|
|
3818
|
+
}], ctorParameters: () => [{ type: i1$5.FormFlowService }, { type: ProcessLinkStateService }, { type: ProcessLinkService }, { type: ProcessLinkButtonService }, { type: i3$1.ActivatedRoute }] });
|
|
3560
3819
|
|
|
3561
3820
|
/*
|
|
3562
3821
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
@@ -3655,7 +3914,7 @@ class SelectUIComponentComponent {
|
|
|
3655
3914
|
});
|
|
3656
3915
|
}
|
|
3657
3916
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SelectUIComponentComponent, deps: [{ token: ProcessLinkStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkService }, { token: FORM_CUSTOM_COMPONENT_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3658
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SelectUIComponentComponent, isStandalone: false, selector: "valtimo-select-ui-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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<cds-combo-box\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"formCustomComponentListItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'processLinkSteps.uiComponent' | translate\"\n (selected)=\"selectCustomComponent($event)\"\n>\n <cds-dropdown-list></cds-dropdown-list>\n</cds-combo-box>\n", styles: [".custom-widget{padding:24px}.custom-widget__header{display:flex;align-items:center;justify-content:space-between}.custom-widget__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\n/*!\n * Copyright 2015-2025 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: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type:
|
|
3917
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SelectUIComponentComponent, isStandalone: false, selector: "valtimo-select-ui-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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<cds-combo-box\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"formCustomComponentListItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'processLinkSteps.uiComponent' | translate\"\n (selected)=\"selectCustomComponent($event)\"\n>\n <cds-dropdown-list></cds-dropdown-list>\n</cds-combo-box>\n", styles: [".custom-widget{padding:24px}.custom-widget__header{display:flex;align-items:center;justify-content:space-between}.custom-widget__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\n/*!\n * Copyright 2015-2025 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: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.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", "readonly", "fluid"], 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" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3659
3918
|
}
|
|
3660
3919
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SelectUIComponentComponent, decorators: [{
|
|
3661
3920
|
type: Component,
|
|
@@ -3758,7 +4017,7 @@ class SelectBuildingBlockComponent {
|
|
|
3758
4017
|
return name;
|
|
3759
4018
|
}
|
|
3760
4019
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SelectBuildingBlockComponent, deps: [{ token: ProcessLinkBuildingBlockApiService }, { token: ProcessLinkStateService }, { token: BuildingBlockStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkStepService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3761
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SelectBuildingBlockComponent, isStandalone: false, selector: "valtimo-select-building-block", ngImport: i0, template: "<!--\n Copyright 2015-2025 Ritense BV\n Licensed under the EUPL, Version 1.2\n-->\n\n<div class=\"select-building-block\" *ngIf=\"!loading; else loadingState\">\n <ng-container *ngIf=\"buildingBlocks$ | async as buildingBlocks\">\n <ng-container *ngIf=\"buildingBlocks.length; else emptyState\">\n <div class=\"list-container\">\n <cds-structured-list (selected)=\"onSelectionChange($event)\" selection=\"true\">\n <cds-list-header>\n <cds-list-column nowrap=\"true\"></cds-list-column>\n <cds-list-column nowrap=\"true\">\n {{ 'processLinkConfiguration.buildingBlock.name' | translate }}\n </cds-list-column>\n <cds-list-column>\n {{ 'processLinkConfiguration.buildingBlock.description' | translate }}\n </cds-list-column>\n </cds-list-header>\n <cds-list-row *ngFor=\"let buildingBlock of buildingBlocks\" [value]=\"buildingBlock\">\n <cds-list-column>\n <div *ngIf=\"buildingBlock.imageBase64\">\n <img\n class=\"building-block-artwork\"\n [src]=\"'data:image/png;base64,' + buildingBlock.imageBase64\"\n [title]=\"buildingBlock.name\"\n />\n </div>\n </cds-list-column>\n <cds-list-column>{{ buildingBlock.name }}</cds-list-column>\n <cds-list-column>{{ buildingBlock.description }}</cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </div>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #loadingState>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #emptyState>\n <div class=\"empty-state\">\n {{ 'processLinkConfiguration.buildingBlock.emptyState' | translate }}\n </div>\n</ng-template>\n", styles: [".loading-container{display:flex;justify-content:center;padding:16px 0}.empty-state{padding:1rem;border:1px solid #e0e0e0;border-radius:4px;background-color:#f4f4f4;color:#8d8d8d}.building-block-artwork{object-fit:contain;height:60px;width:100%;margin-bottom:-.5rem}::ng-deep .list-container .cds--structured-list-td{vertical-align:top}\n"], dependencies: [{ kind: "directive", type:
|
|
4020
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: SelectBuildingBlockComponent, isStandalone: false, selector: "valtimo-select-building-block", ngImport: i0, template: "<!--\n Copyright 2015-2025 Ritense BV\n Licensed under the EUPL, Version 1.2\n-->\n\n<div class=\"select-building-block\" *ngIf=\"!loading; else loadingState\">\n <ng-container *ngIf=\"buildingBlocks$ | async as buildingBlocks\">\n <ng-container *ngIf=\"buildingBlocks.length; else emptyState\">\n <div class=\"list-container\">\n <cds-structured-list (selected)=\"onSelectionChange($event)\" selection=\"true\">\n <cds-list-header>\n <cds-list-column nowrap=\"true\"></cds-list-column>\n <cds-list-column nowrap=\"true\">\n {{ 'processLinkConfiguration.buildingBlock.name' | translate }}\n </cds-list-column>\n <cds-list-column>\n {{ 'processLinkConfiguration.buildingBlock.description' | translate }}\n </cds-list-column>\n </cds-list-header>\n <cds-list-row *ngFor=\"let buildingBlock of buildingBlocks\" [value]=\"buildingBlock\">\n <cds-list-column>\n <div *ngIf=\"buildingBlock.imageBase64\">\n <img\n class=\"building-block-artwork\"\n [src]=\"'data:image/png;base64,' + buildingBlock.imageBase64\"\n [title]=\"buildingBlock.name\"\n />\n </div>\n </cds-list-column>\n <cds-list-column>{{ buildingBlock.name }}</cds-list-column>\n <cds-list-column>{{ buildingBlock.description }}</cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </div>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #loadingState>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #emptyState>\n <div class=\"empty-state\">\n {{ 'processLinkConfiguration.buildingBlock.emptyState' | translate }}\n </div>\n</ng-template>\n", styles: [".loading-container{display:flex;justify-content:center;padding:16px 0}.empty-state{padding:1rem;border:1px solid #e0e0e0;border-radius:4px;background-color:#f4f4f4;color:#8d8d8d}.building-block-artwork{object-fit:contain;height:60px;width:100%;margin-bottom:-.5rem}::ng-deep .list-container .cds--structured-list-td{vertical-align:top}\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: i5.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i5.StructuredList, selector: "cds-structured-list, ibm-structured-list", inputs: ["selection", "flushed", "condensed", "name", "skeleton"], outputs: ["selected"] }, { kind: "component", type: i5.ListRow, selector: "cds-list-row, ibm-list-row", inputs: ["selected", "label", "value"], outputs: ["change"] }, { kind: "component", type: i5.ListHeader, selector: "cds-list-header, ibm-list-header", inputs: ["skeleton"] }, { kind: "component", type: i5.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" }] }); }
|
|
3762
4021
|
}
|
|
3763
4022
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SelectBuildingBlockComponent, decorators: [{
|
|
3764
4023
|
type: Component,
|
|
@@ -3880,9 +4139,15 @@ class ConfigureBuildingBlockPluginsComponent {
|
|
|
3880
4139
|
this.buildingBlockStateService.requiredPluginKeys$,
|
|
3881
4140
|
this.buildingBlockStateService.mappingsComplete$,
|
|
3882
4141
|
this.buildingBlockStateService.requirementsLoading$,
|
|
4142
|
+
/*
|
|
4143
|
+
Changing the version keeps the existing mappings and prunes them only once the new
|
|
4144
|
+
version's fields have loaded. Without this, the fields of the previous version could
|
|
4145
|
+
still be in play on the next step, and a save would send mappings that no longer exist.
|
|
4146
|
+
*/
|
|
4147
|
+
this.buildingBlockStateService.fieldsLoading$,
|
|
3883
4148
|
this.definitionVersionTag$,
|
|
3884
|
-
]).subscribe(([keys, complete,
|
|
3885
|
-
if (
|
|
4149
|
+
]).subscribe(([keys, complete, requirementsLoading, fieldsLoading, version]) => {
|
|
4150
|
+
if (requirementsLoading || fieldsLoading || !version) {
|
|
3886
4151
|
this.buttonService.disableNextButton();
|
|
3887
4152
|
return;
|
|
3888
4153
|
}
|
|
@@ -3946,8 +4211,7 @@ class ConfigureBuildingBlockPluginsComponent {
|
|
|
3946
4211
|
const currentVersion = this.buildingBlockStateService.getDefinitionSnapshot().versionTag;
|
|
3947
4212
|
if (normalizedValue === currentVersion)
|
|
3948
4213
|
return;
|
|
3949
|
-
this.buildingBlockStateService.
|
|
3950
|
-
this.buildingBlockStateService.setDefinitionVersionTag(normalizedValue);
|
|
4214
|
+
this.buildingBlockStateService.changeDefinitionVersionTag(normalizedValue);
|
|
3951
4215
|
}
|
|
3952
4216
|
createProcessLink() {
|
|
3953
4217
|
this.stateService.modalParams$.pipe(take(1)).subscribe(modalParams => {
|
|
@@ -4005,11 +4269,11 @@ class ConfigureBuildingBlockPluginsComponent {
|
|
|
4005
4269
|
}, {});
|
|
4006
4270
|
}
|
|
4007
4271
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ConfigureBuildingBlockPluginsComponent, deps: [{ token: ProcessLinkStateService }, { token: BuildingBlockStateService }, { token: ProcessLinkButtonService }, { token: ProcessLinkStepService }, { token: i1$1.PluginManagementService }, { token: i1$1.PluginTranslationService }, { token: ProcessLinkService }, { token: i3.TranslateService }, { token: ProcessLinkBuildingBlockApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4008
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: ConfigureBuildingBlockPluginsComponent, isStandalone: false, selector: "valtimo-configure-building-block-plugins", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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=\"configure-building-block-plugins\">\n <div\n *ngIf=\"dependenciesNotificationObject$ | async as dependenciesNotificationObject\"\n class=\"configure-building-block-plugins__warning\"\n >\n <cds-notification [notificationObj]=\"dependenciesNotificationObject\"> </cds-notification>\n </div>\n\n @if (versionItems$ | async; as versionItems) {\n @let versionPlaceholder = versionPlaceholder$ | async;\n <div class=\"version-select\">\n <cds-combo-box\n cdsLayer\n size=\"lg\"\n [appendInline]=\"true\"\n [items]=\"versionItems\"\n [label]=\"'processLinkConfiguration.buildingBlock.versionLabel' | translate\"\n [placeholder]=\"versionPlaceholder || ''\"\n (selected)=\"onVersionChange($event?.id || '')\"\n (clear)=\"onVersionChange('')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n\n @if (loading$ | async) {\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n } @else {\n <div class=\"plugin-list\">\n @if (definitionVersionTag$ | async) {\n @if (isNestedBuildingBlock$ | async) {\n <div class=\"empty-state\">\n {{ 'processLinkConfiguration.buildingBlock.nestedBuildingBlockInfo' | translate }}\n </div>\n } @else {\n @if (pluginConfigurationViewModels$ | async; as pluginConfigurationViewModels) {\n @if (pluginConfigurationViewModels.length === 0) {\n <div class=\"empty-state\">\n {{ 'processLinkConfiguration.buildingBlock.noRequirements' | translate }}\n </div>\n } @else {\n @let configurationPlaceholder = configurationPlaceholder$ | async;\n\n <div class=\"plugin-row\">\n <v-input-label\n [title]=\"'processLinkConfiguration.buildingBlock.pluginLabel' | translate\"\n >\n </v-input-label>\n <v-input-label\n [title]=\"'processLinkConfiguration.buildingBlock.configurationLabel' | translate\"\n required=\"true\"\n >\n </v-input-label>\n </div>\n\n @for (plugin of pluginConfigurationViewModels; track plugin.key) {\n <div class=\"plugin-row\">\n <div class=\"plugin-label\">\n {{ plugin.label }}\n </div>\n\n <cds-combo-box\n cdsLayer\n size=\"lg\"\n [appendInline]=\"true\"\n [items]=\"plugin.dropdownItems\"\n [placeholder]=\"configurationPlaceholder || ''\"\n (selected)=\"onMappingChange(plugin.key, $event?.id || '')\"\n (clear)=\"onMappingChange(plugin.key, '')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n }\n }\n }\n }\n </div>\n }\n</div>\n", styles: [".loading-container{display:flex;justify-content:center;padding:2rem 0}.empty-state{padding:1rem;border:1px solid #e0e0e0;border-radius:4px;background-color:#f4f4f4;color:#8d8d8d}.plugin-row{display:grid;align-items:center;grid-template-columns:1fr 1fr;margin-bottom:15px}.plugin-row .plugin-label{padding-left:16px;border-block-end:1px solid var(--cds-border-strong);height:100%;margin-right:15px;display:grid;align-items:center}.plugin-list{margin-top:30px}.configure-building-block-plugins__warning{display:flex;width:100%;margin-bottom:24px}.configure-building-block-plugins__warning ::ng-deep cds-notification{max-inline-size:100%;min-inline-size:100%}\n"], dependencies: [{ kind: "directive", type:
|
|
4272
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: ConfigureBuildingBlockPluginsComponent, isStandalone: false, selector: "valtimo-configure-building-block-plugins", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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=\"configure-building-block-plugins\">\n <div\n *ngIf=\"dependenciesNotificationObject$ | async as dependenciesNotificationObject\"\n class=\"configure-building-block-plugins__warning\"\n >\n <cds-notification [notificationObj]=\"dependenciesNotificationObject\"> </cds-notification>\n </div>\n\n @if (versionItems$ | async; as versionItems) {\n @let versionPlaceholder = versionPlaceholder$ | async;\n <div class=\"version-select\">\n <cds-combo-box\n cdsLayer\n size=\"lg\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"versionItems\"\n [label]=\"'processLinkConfiguration.buildingBlock.versionLabel' | translate\"\n [placeholder]=\"versionPlaceholder || ''\"\n (selected)=\"onVersionChange($event?.id || '')\"\n (clear)=\"onVersionChange('')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n\n @if (loading$ | async) {\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n } @else {\n <div class=\"plugin-list\">\n @if (definitionVersionTag$ | async) {\n @if (isNestedBuildingBlock$ | async) {\n <div class=\"empty-state\">\n {{ 'processLinkConfiguration.buildingBlock.nestedBuildingBlockInfo' | translate }}\n </div>\n } @else {\n @if (pluginConfigurationViewModels$ | async; as pluginConfigurationViewModels) {\n @if (pluginConfigurationViewModels.length === 0) {\n <div class=\"empty-state\">\n {{ 'processLinkConfiguration.buildingBlock.noRequirements' | translate }}\n </div>\n } @else {\n @let configurationPlaceholder = configurationPlaceholder$ | async;\n\n <div class=\"plugin-row\">\n <v-input-label\n [title]=\"'processLinkConfiguration.buildingBlock.pluginLabel' | translate\"\n >\n </v-input-label>\n <v-input-label\n [title]=\"'processLinkConfiguration.buildingBlock.configurationLabel' | translate\"\n required=\"true\"\n >\n </v-input-label>\n </div>\n\n @for (plugin of pluginConfigurationViewModels; track plugin.key) {\n <div class=\"plugin-row\">\n <div class=\"plugin-label\">\n {{ plugin.label }}\n </div>\n\n <cds-combo-box\n cdsLayer\n size=\"lg\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"plugin.dropdownItems\"\n [placeholder]=\"configurationPlaceholder || ''\"\n (selected)=\"onMappingChange(plugin.key, $event?.id || '')\"\n (clear)=\"onMappingChange(plugin.key, '')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n }\n }\n }\n }\n </div>\n }\n</div>\n", styles: [".version-select ::ng-deep .cds--list-box__menu{scrollbar-color:var(--cds-border-strong) var(--cds-layer);scrollbar-width:thin}.version-select ::ng-deep .cds--list-box__menu::-webkit-scrollbar{width:8px}.version-select ::ng-deep .cds--list-box__menu::-webkit-scrollbar-track{background:var(--cds-layer)}.version-select ::ng-deep .cds--list-box__menu::-webkit-scrollbar-thumb{background:var(--cds-border-strong);border-radius:4px}.loading-container{display:flex;justify-content:center;padding:2rem 0}.empty-state{padding:1rem;border:1px solid #e0e0e0;border-radius:4px;background-color:#f4f4f4;color:#8d8d8d}.plugin-row{display:grid;align-items:center;grid-template-columns:1fr 1fr;margin-bottom:15px}.plugin-row .plugin-label{padding-left:16px;border-block-end:1px solid var(--cds-border-strong);height:100%;margin-right:15px;display:grid;align-items:center}.plugin-list{margin-top:30px}.configure-building-block-plugins__warning{display:flex;width:100%;margin-bottom:24px}.configure-building-block-plugins__warning ::ng-deep cds-notification{max-inline-size:100%;min-inline-size:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.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", "readonly", "fluid"], 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: i5.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i5.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i2$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: i5.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
4009
4273
|
}
|
|
4010
4274
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ConfigureBuildingBlockPluginsComponent, decorators: [{
|
|
4011
4275
|
type: Component,
|
|
4012
|
-
args: [{ standalone: false, selector: 'valtimo-configure-building-block-plugins', template: "<!--\n ~ Copyright 2015-2025 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=\"configure-building-block-plugins\">\n <div\n *ngIf=\"dependenciesNotificationObject$ | async as dependenciesNotificationObject\"\n class=\"configure-building-block-plugins__warning\"\n >\n <cds-notification [notificationObj]=\"dependenciesNotificationObject\"> </cds-notification>\n </div>\n\n @if (versionItems$ | async; as versionItems) {\n @let versionPlaceholder = versionPlaceholder$ | async;\n <div class=\"version-select\">\n <cds-combo-box\n cdsLayer\n size=\"lg\"\n [appendInline]=\"true\"\n [items]=\"versionItems\"\n [label]=\"'processLinkConfiguration.buildingBlock.versionLabel' | translate\"\n [placeholder]=\"versionPlaceholder || ''\"\n (selected)=\"onVersionChange($event?.id || '')\"\n (clear)=\"onVersionChange('')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n\n @if (loading$ | async) {\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n } @else {\n <div class=\"plugin-list\">\n @if (definitionVersionTag$ | async) {\n @if (isNestedBuildingBlock$ | async) {\n <div class=\"empty-state\">\n {{ 'processLinkConfiguration.buildingBlock.nestedBuildingBlockInfo' | translate }}\n </div>\n } @else {\n @if (pluginConfigurationViewModels$ | async; as pluginConfigurationViewModels) {\n @if (pluginConfigurationViewModels.length === 0) {\n <div class=\"empty-state\">\n {{ 'processLinkConfiguration.buildingBlock.noRequirements' | translate }}\n </div>\n } @else {\n @let configurationPlaceholder = configurationPlaceholder$ | async;\n\n <div class=\"plugin-row\">\n <v-input-label\n [title]=\"'processLinkConfiguration.buildingBlock.pluginLabel' | translate\"\n >\n </v-input-label>\n <v-input-label\n [title]=\"'processLinkConfiguration.buildingBlock.configurationLabel' | translate\"\n required=\"true\"\n >\n </v-input-label>\n </div>\n\n @for (plugin of pluginConfigurationViewModels; track plugin.key) {\n <div class=\"plugin-row\">\n <div class=\"plugin-label\">\n {{ plugin.label }}\n </div>\n\n <cds-combo-box\n cdsLayer\n size=\"lg\"\n [appendInline]=\"true\"\n [items]=\"plugin.dropdownItems\"\n [placeholder]=\"configurationPlaceholder || ''\"\n (selected)=\"onMappingChange(plugin.key, $event?.id || '')\"\n (clear)=\"onMappingChange(plugin.key, '')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n }\n }\n }\n }\n </div>\n }\n</div>\n", styles: [".loading-container{display:flex;justify-content:center;padding:2rem 0}.empty-state{padding:1rem;border:1px solid #e0e0e0;border-radius:4px;background-color:#f4f4f4;color:#8d8d8d}.plugin-row{display:grid;align-items:center;grid-template-columns:1fr 1fr;margin-bottom:15px}.plugin-row .plugin-label{padding-left:16px;border-block-end:1px solid var(--cds-border-strong);height:100%;margin-right:15px;display:grid;align-items:center}.plugin-list{margin-top:30px}.configure-building-block-plugins__warning{display:flex;width:100%;margin-bottom:24px}.configure-building-block-plugins__warning ::ng-deep cds-notification{max-inline-size:100%;min-inline-size:100%}\n"] }]
|
|
4276
|
+
args: [{ standalone: false, selector: 'valtimo-configure-building-block-plugins', template: "<!--\n ~ Copyright 2015-2025 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=\"configure-building-block-plugins\">\n <div\n *ngIf=\"dependenciesNotificationObject$ | async as dependenciesNotificationObject\"\n class=\"configure-building-block-plugins__warning\"\n >\n <cds-notification [notificationObj]=\"dependenciesNotificationObject\"> </cds-notification>\n </div>\n\n @if (versionItems$ | async; as versionItems) {\n @let versionPlaceholder = versionPlaceholder$ | async;\n <div class=\"version-select\">\n <cds-combo-box\n cdsLayer\n size=\"lg\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"versionItems\"\n [label]=\"'processLinkConfiguration.buildingBlock.versionLabel' | translate\"\n [placeholder]=\"versionPlaceholder || ''\"\n (selected)=\"onVersionChange($event?.id || '')\"\n (clear)=\"onVersionChange('')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n\n @if (loading$ | async) {\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n } @else {\n <div class=\"plugin-list\">\n @if (definitionVersionTag$ | async) {\n @if (isNestedBuildingBlock$ | async) {\n <div class=\"empty-state\">\n {{ 'processLinkConfiguration.buildingBlock.nestedBuildingBlockInfo' | translate }}\n </div>\n } @else {\n @if (pluginConfigurationViewModels$ | async; as pluginConfigurationViewModels) {\n @if (pluginConfigurationViewModels.length === 0) {\n <div class=\"empty-state\">\n {{ 'processLinkConfiguration.buildingBlock.noRequirements' | translate }}\n </div>\n } @else {\n @let configurationPlaceholder = configurationPlaceholder$ | async;\n\n <div class=\"plugin-row\">\n <v-input-label\n [title]=\"'processLinkConfiguration.buildingBlock.pluginLabel' | translate\"\n >\n </v-input-label>\n <v-input-label\n [title]=\"'processLinkConfiguration.buildingBlock.configurationLabel' | translate\"\n required=\"true\"\n >\n </v-input-label>\n </div>\n\n @for (plugin of pluginConfigurationViewModels; track plugin.key) {\n <div class=\"plugin-row\">\n <div class=\"plugin-label\">\n {{ plugin.label }}\n </div>\n\n <cds-combo-box\n cdsLayer\n size=\"lg\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"plugin.dropdownItems\"\n [placeholder]=\"configurationPlaceholder || ''\"\n (selected)=\"onMappingChange(plugin.key, $event?.id || '')\"\n (clear)=\"onMappingChange(plugin.key, '')\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </div>\n }\n }\n }\n }\n }\n </div>\n }\n</div>\n", styles: [".version-select ::ng-deep .cds--list-box__menu{scrollbar-color:var(--cds-border-strong) var(--cds-layer);scrollbar-width:thin}.version-select ::ng-deep .cds--list-box__menu::-webkit-scrollbar{width:8px}.version-select ::ng-deep .cds--list-box__menu::-webkit-scrollbar-track{background:var(--cds-layer)}.version-select ::ng-deep .cds--list-box__menu::-webkit-scrollbar-thumb{background:var(--cds-border-strong);border-radius:4px}.loading-container{display:flex;justify-content:center;padding:2rem 0}.empty-state{padding:1rem;border:1px solid #e0e0e0;border-radius:4px;background-color:#f4f4f4;color:#8d8d8d}.plugin-row{display:grid;align-items:center;grid-template-columns:1fr 1fr;margin-bottom:15px}.plugin-row .plugin-label{padding-left:16px;border-block-end:1px solid var(--cds-border-strong);height:100%;margin-right:15px;display:grid;align-items:center}.plugin-list{margin-top:30px}.configure-building-block-plugins__warning{display:flex;width:100%;margin-bottom:24px}.configure-building-block-plugins__warning ::ng-deep cds-notification{max-inline-size:100%;min-inline-size:100%}\n"] }]
|
|
4013
4277
|
}], ctorParameters: () => [{ type: ProcessLinkStateService }, { type: BuildingBlockStateService }, { type: ProcessLinkButtonService }, { type: ProcessLinkStepService }, { type: i1$1.PluginManagementService }, { type: i1$1.PluginTranslationService }, { type: ProcessLinkService }, { type: i3.TranslateService }, { type: ProcessLinkBuildingBlockApiService }] });
|
|
4014
4278
|
|
|
4015
4279
|
/*
|
|
@@ -4035,6 +4299,7 @@ class ProcessLinkModalComponent {
|
|
|
4035
4299
|
this.pluginStateService = pluginStateService;
|
|
4036
4300
|
this.processLinkStateService = processLinkStateService;
|
|
4037
4301
|
this.configService = configService;
|
|
4302
|
+
this.testIds = PROCESS_LINK_MODAL_TEST_IDS;
|
|
4038
4303
|
this.showModal$ = this.stateService.showModal$;
|
|
4039
4304
|
this.processStepName$ = this.stateService.elementName$;
|
|
4040
4305
|
this.steps$ = this.stepService.steps$;
|
|
@@ -4050,6 +4315,7 @@ class ProcessLinkModalComponent {
|
|
|
4050
4315
|
this.typeOfSelectedProcessLink$ = this.stateService.typeOfSelectedProcessLink$;
|
|
4051
4316
|
this.viewModelEnabled$ = this.stateService.viewModelEnabled$;
|
|
4052
4317
|
this.isEditing$ = this.stateService.isEditing$;
|
|
4318
|
+
this.readOnly$ = this.stateService.readOnly$;
|
|
4053
4319
|
this.isAdHocBuildingBlock$ = this.stepService.skipBuildingBlockSelectionStep$;
|
|
4054
4320
|
this.selectedPluginConfiguration$ = this.pluginStateService.selectedPluginConfiguration$;
|
|
4055
4321
|
this.showViewModelToggle$ = this.configService.getFeatureToggleObservable('enableFormViewModel');
|
|
@@ -4077,11 +4343,11 @@ class ProcessLinkModalComponent {
|
|
|
4077
4343
|
this.processLinkStateService.setViewModelEnabled(value);
|
|
4078
4344
|
}
|
|
4079
4345
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProcessLinkModalComponent, deps: [{ token: ProcessLinkStateService }, { token: ProcessLinkStepService }, { token: ProcessLinkButtonService }, { token: PluginStateService }, { token: ProcessLinkStateService }, { token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4080
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ProcessLinkModalComponent, isStandalone: false, selector: "valtimo-process-link-modal", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 selectedPluginConfiguration: selectedPluginConfiguration$ | 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 isEditing: isEditing$ | async,\n isAdHocBuildingBlock: isAdHocBuildingBlock$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\" (close)=\"closeModal()\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 *ngIf=\"!obs.isAdHocBuildingBlock\" cdsModalHeaderLabel>{{ 'processLinkConfiguration.configureStep' | translate }}</h2>\n <h3 cdsModalHeaderHeading>\n <ng-container *ngIf=\"obs.isAdHocBuildingBlock; else defaultModalTitle\">\n {{ 'processLinkConfiguration.buildingBlockActionTitle' | translate: {buildingBlockName: obs.processStepName || '-'} }}\n </ng-container>\n <ng-template #defaultModalTitle>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </ng-template>\n </h3>\n <h4 cdsModalHeaderLabel *ngIf=\"obs.typeOfSelectedProgressLink === 'plugin'\">\n {{\n 'processLinkConfiguration.pluginConfiguration'\n | translate: {pluginConfigTitle: obs.selectedPluginConfiguration?.title || '-'}\n }}\n </h4>\n <div class=\"process-link-progress\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent [cdsLayer]=\"1\">\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 *ngIf=\"obs.currentStepId === 'selectForm'\">\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle$ | async\"\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 *ngIf=\"obs.currentStepId === 'selectFormFlow'\">\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'choosePluginConfiguration' ||\n obs.currentStepId === 'choosePluginDefinition'\n \"\n >\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'selectBuildingBlock'\">\n <valtimo-select-building-block></valtimo-select-building-block>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'configurePluginAction'\">\n <valtimo-plugin-action-configuration\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n ></valtimo-plugin-action-configuration>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'configureBuildingBlockPlugins'\">\n <valtimo-configure-building-block-plugins></valtimo-configure-building-block-plugins>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'configureBuildingBlockMappings'\">\n <valtimo-configure-building-block-mappings></valtimo-configure-building-block-mappings>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'uiComponent'\">\n <valtimo-select-ui-component></valtimo-select-ui-component>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <button cdsButton=\"ghost\" (click)=\"closeModal()\" [disabled]=\"obs.disabled\">\n {{ 'processLinkConfiguration.cancel' | translate }}\n </button>\n <div class=\"footer-spacer\"></div>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.isEditing\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\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\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showSaveButton && !obs.saving\"\n [disabled]=\"!obs.enableSaveButton\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\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 .footer-spacer{flex:0 1 50%}.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}.process-link-progress{width:100%;margin-top:32px;margin-bottom:16px}.hidden{visibility:hidden}\n/*!\n * Copyright 2015-2026 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$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.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$1.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i4.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "directive", type: i4.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: ConfigureBuildingBlockMappingsComponent, selector: "valtimo-configure-building-block-mappings" }, { 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", inputs: ["selectedPluginConfiguration$"], 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: SelectUIComponentComponent, selector: "valtimo-select-ui-component" }, { kind: "component", type: SelectBuildingBlockComponent, selector: "valtimo-select-building-block" }, { kind: "component", type: ConfigureBuildingBlockPluginsComponent, selector: "valtimo-configure-building-block-plugins" }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
4346
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ProcessLinkModalComponent, isStandalone: false, selector: "valtimo-process-link-modal", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 selectedPluginConfiguration: selectedPluginConfiguration$ | 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 isEditing: isEditing$ | async,\n isAdHocBuildingBlock: isAdHocBuildingBlock$ | async,\n readOnly: readOnly$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\" (close)=\"closeModal()\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 *ngIf=\"!obs.isAdHocBuildingBlock\" cdsModalHeaderLabel>\n {{ 'processLinkConfiguration.configureStep' | translate }}\n </h2>\n <h3 cdsModalHeaderHeading [attr.data-test-id]=\"testIds.heading\">\n <ng-container *ngIf=\"obs.isAdHocBuildingBlock; else defaultModalTitle\">\n {{\n 'processLinkConfiguration.buildingBlockActionTitle'\n | translate: {buildingBlockName: obs.processStepName || '-'}\n }}\n </ng-container>\n <ng-template #defaultModalTitle>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </ng-template>\n </h3>\n <h4\n cdsModalHeaderLabel\n *ngIf=\"obs.typeOfSelectedProgressLink === 'plugin'\"\n [attr.data-test-id]=\"testIds.pluginConfigurationLabel\"\n >\n {{\n 'processLinkConfiguration.pluginConfiguration'\n | translate: {pluginConfigTitle: obs.selectedPluginConfiguration?.title || '-'}\n }}\n </h4>\n <div class=\"process-link-progress\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent [cdsLayer]=\"1\" [valtimoReadOnlyContent]=\"obs.readOnly\">\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 [attr.data-test-id]=\"testIds.progressIndicator\"\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 *ngIf=\"obs.currentStepId === 'selectForm'\">\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle$ | async\"\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 *ngIf=\"obs.currentStepId === 'selectFormFlow'\">\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'choosePluginConfiguration' ||\n obs.currentStepId === 'choosePluginDefinition'\n \"\n >\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'selectBuildingBlock'\">\n <valtimo-select-building-block></valtimo-select-building-block>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'configurePluginAction'\">\n <valtimo-plugin-action-configuration\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n ></valtimo-plugin-action-configuration>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'configureBuildingBlockPlugins'\">\n <valtimo-configure-building-block-plugins></valtimo-configure-building-block-plugins>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'configureBuildingBlockMappings'\">\n <valtimo-configure-building-block-mappings></valtimo-configure-building-block-mappings>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'uiComponent'\">\n <valtimo-select-ui-component></valtimo-select-ui-component>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <button\n cdsButton=\"ghost\"\n [attr.data-test-id]=\"testIds.cancelButton\"\n (click)=\"closeModal()\"\n [disabled]=\"obs.disabled\"\n >\n {{ (obs.readOnly ? 'interface.close' : 'processLinkConfiguration.cancel') | translate }}\n </button>\n <div class=\"footer-spacer\"></div>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.isEditing && !obs.readOnly\"\n [attr.data-test-id]=\"testIds.unlinkButton\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n *ngIf=\"obs.showBackButton && !obs.saving && !obs.readOnly\"\n cdsButton=\"secondary\"\n [attr.data-test-id]=\"testIds.backButton\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving && !obs.readOnly\"\n [attr.data-test-id]=\"testIds.nextButton\"\n [disabled]=\"!obs.enableNextButton\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showSaveButton && !obs.saving && !obs.readOnly\"\n [attr.data-test-id]=\"testIds.completeButton\"\n [disabled]=\"!obs.enableSaveButton\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\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 .footer-spacer{flex:0 1 50%}.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}.process-link-progress{width:100%;margin-top:32px;margin-bottom:16px}.hidden{visibility:hidden}\n/*!\n * Copyright 2015-2026 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: ReadOnlyContentDirective, selector: "[valtimoReadOnlyContent]", inputs: ["valtimoReadOnlyContent"] }, { 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: i5.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i5.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i5.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i5.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i5.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i5.ModalHeaderLabel, selector: "[cdsModalHeaderLabel], [ibmModalHeaderLabel]" }, { kind: "component", type: i5.ProgressIndicator, selector: "cds-progress-indicator, ibm-progress-indicator", inputs: ["current", "steps", "translations", "orientation", "skeleton", "spacing"], outputs: ["stepSelected"] }, { kind: "directive", type: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i5.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i2$1.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i5.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "directive", type: i5.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: ConfigureBuildingBlockMappingsComponent, selector: "valtimo-configure-building-block-mappings" }, { 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", inputs: ["selectedPluginConfiguration$"], 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: SelectUIComponentComponent, selector: "valtimo-select-ui-component" }, { kind: "component", type: SelectBuildingBlockComponent, selector: "valtimo-select-building-block" }, { kind: "component", type: ConfigureBuildingBlockPluginsComponent, selector: "valtimo-configure-building-block-plugins" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
4081
4347
|
}
|
|
4082
4348
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProcessLinkModalComponent, decorators: [{
|
|
4083
4349
|
type: Component,
|
|
4084
|
-
args: [{ standalone: false, selector: 'valtimo-process-link-modal', template: "<!--\n ~ Copyright 2015-2025 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 selectedPluginConfiguration: selectedPluginConfiguration$ | 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 isEditing: isEditing$ | async,\n isAdHocBuildingBlock: isAdHocBuildingBlock$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\" (close)=\"closeModal()\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 *ngIf=\"!obs.isAdHocBuildingBlock\" cdsModalHeaderLabel
|
|
4350
|
+
args: [{ standalone: false, selector: 'valtimo-process-link-modal', template: "<!--\n ~ Copyright 2015-2025 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 selectedPluginConfiguration: selectedPluginConfiguration$ | 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 isEditing: isEditing$ | async,\n isAdHocBuildingBlock: isAdHocBuildingBlock$ | async,\n readOnly: readOnly$ | async,\n } as obs\"\n>\n <cds-modal valtimoCdsModal [open]=\"obs.showModal\" size=\"lg\" (close)=\"closeModal()\">\n <cds-modal-header (closeSelect)=\"closeModal()\">\n <h2 *ngIf=\"!obs.isAdHocBuildingBlock\" cdsModalHeaderLabel>\n {{ 'processLinkConfiguration.configureStep' | translate }}\n </h2>\n <h3 cdsModalHeaderHeading [attr.data-test-id]=\"testIds.heading\">\n <ng-container *ngIf=\"obs.isAdHocBuildingBlock; else defaultModalTitle\">\n {{\n 'processLinkConfiguration.buildingBlockActionTitle'\n | translate: {buildingBlockName: obs.processStepName || '-'}\n }}\n </ng-container>\n <ng-template #defaultModalTitle>\n {{\n 'processLinkConfiguration.modalTitle'\n | translate: {processStepName: obs.processStepName || '-'}\n }}\n </ng-template>\n </h3>\n <h4\n cdsModalHeaderLabel\n *ngIf=\"obs.typeOfSelectedProgressLink === 'plugin'\"\n [attr.data-test-id]=\"testIds.pluginConfigurationLabel\"\n >\n {{\n 'processLinkConfiguration.pluginConfiguration'\n | translate: {pluginConfigTitle: obs.selectedPluginConfiguration?.title || '-'}\n }}\n </h4>\n <div class=\"process-link-progress\">\n <ng-container *ngTemplateOutlet=\"progressIndicator; context: {obs: obs}\"></ng-container>\n </div>\n </cds-modal-header>\n <section cdsModalContent [cdsLayer]=\"1\" [valtimoReadOnlyContent]=\"obs.readOnly\">\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 [attr.data-test-id]=\"testIds.progressIndicator\"\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 *ngIf=\"obs.currentStepId === 'selectForm'\">\n <valtimo-select-form></valtimo-select-form>\n <br />\n <cds-toggle\n *ngIf=\"showViewModelToggle$ | async\"\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 *ngIf=\"obs.currentStepId === 'selectFormFlow'\">\n <valtimo-select-form-flow></valtimo-select-form-flow>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n obs.currentStepId === 'choosePluginConfiguration' ||\n obs.currentStepId === 'choosePluginDefinition'\n \"\n >\n <valtimo-select-plugin-configuration></valtimo-select-plugin-configuration>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'selectBuildingBlock'\">\n <valtimo-select-building-block></valtimo-select-building-block>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'choosePluginAction'\">\n <valtimo-select-plugin-action></valtimo-select-plugin-action>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'configurePluginAction'\">\n <valtimo-plugin-action-configuration\n [selectedPluginConfiguration$]=\"selectedPluginConfiguration$\"\n ></valtimo-plugin-action-configuration>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'configureBuildingBlockPlugins'\">\n <valtimo-configure-building-block-plugins></valtimo-configure-building-block-plugins>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'configureBuildingBlockMappings'\">\n <valtimo-configure-building-block-mappings></valtimo-configure-building-block-mappings>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"obs.currentStepId === 'uiComponent'\">\n <valtimo-select-ui-component></valtimo-select-ui-component>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #footer let-obs=\"obs\">\n <cds-modal-footer *ngIf=\"!obs.saving\">\n <button\n cdsButton=\"ghost\"\n [attr.data-test-id]=\"testIds.cancelButton\"\n (click)=\"closeModal()\"\n [disabled]=\"obs.disabled\"\n >\n {{ (obs.readOnly ? 'interface.close' : 'processLinkConfiguration.cancel') | translate }}\n </button>\n <div class=\"footer-spacer\"></div>\n <button\n cdsButton=\"danger--primary\"\n *ngIf=\"obs.isEditing && !obs.readOnly\"\n [attr.data-test-id]=\"testIds.unlinkButton\"\n (click)=\"unlinkButtonClick()\"\n >\n {{ 'processLinkConfiguration.unlink' | translate }}\n </button>\n <button\n *ngIf=\"obs.showBackButton && !obs.saving && !obs.readOnly\"\n cdsButton=\"secondary\"\n [attr.data-test-id]=\"testIds.backButton\"\n (click)=\"backButtonClick()\"\n >\n {{ 'processLinkConfiguration.back' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showNextButton && !obs.saving && !obs.readOnly\"\n [attr.data-test-id]=\"testIds.nextButton\"\n [disabled]=\"!obs.enableNextButton\"\n (click)=\"nextButtonClick()\"\n >\n {{ 'processLinkConfiguration.next' | translate }}\n </button>\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.showSaveButton && !obs.saving && !obs.readOnly\"\n [attr.data-test-id]=\"testIds.completeButton\"\n [disabled]=\"!obs.enableSaveButton\"\n (click)=\"saveButtonClick()\"\n >\n {{ 'processLinkConfiguration.complete' | translate }}\n </button>\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 .footer-spacer{flex:0 1 50%}.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}.process-link-progress{width:100%;margin-top:32px;margin-bottom:16px}.hidden{visibility:hidden}\n/*!\n * Copyright 2015-2026 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"] }]
|
|
4085
4351
|
}], ctorParameters: () => [{ type: ProcessLinkStateService }, { type: ProcessLinkStepService }, { type: ProcessLinkButtonService }, { type: PluginStateService }, { type: ProcessLinkStateService }, { type: i1.ConfigService }] });
|
|
4086
4352
|
|
|
4087
4353
|
/*
|
|
@@ -4170,7 +4436,7 @@ const routes = [
|
|
|
4170
4436
|
];
|
|
4171
4437
|
class ProcessLinkRoutingModule {
|
|
4172
4438
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProcessLinkRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4173
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: ProcessLinkRoutingModule, imports: [i3$
|
|
4439
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: ProcessLinkRoutingModule, imports: [i3$1.RouterModule], exports: [RouterModule] }); }
|
|
4174
4440
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProcessLinkRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
4175
4441
|
}
|
|
4176
4442
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProcessLinkRoutingModule, decorators: [{
|
|
@@ -4499,7 +4765,7 @@ class FormFlowComponent {
|
|
|
4499
4765
|
this.disabled$.next(false);
|
|
4500
4766
|
}
|
|
4501
4767
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowComponent, deps: [{ token: FormFlowService }, { token: i2$1.ValtimoModalService }, { token: i3.TranslateService }, { token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4502
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: FormFlowComponent, isStandalone: false, selector: "valtimo-form-flow", inputs: { formIoFormData: "formIoFormData", formFlowInstanceId: "formFlowInstanceId" }, outputs: { formFlowComplete: "formFlowComplete", formFlowChange: "formFlowChange" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 formFlowInstanceId: formFlowInstanceId$ | 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\n <div *ngIf=\"(formFlowStepType$ | async) === 'custom-component'\">\n <valtimo-form-flow-configuration-container\n [componentId]=\"FormFlowCustomComponentId$ | async\"\n [formFlowInstanceId]=\"obs.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/*!\n * Copyright 2015-2025 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:
|
|
4768
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: FormFlowComponent, isStandalone: false, selector: "valtimo-form-flow", inputs: { formIoFormData: "formIoFormData", formFlowInstanceId: "formFlowInstanceId" }, outputs: { formFlowComplete: "formFlowComplete", formFlowChange: "formFlowChange" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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 formFlowInstanceId: formFlowInstanceId$ | 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\n <div *ngIf=\"(formFlowStepType$ | async) === 'custom-component'\">\n <valtimo-form-flow-configuration-container\n [componentId]=\"FormFlowCustomComponentId$ | async\"\n [formFlowInstanceId]=\"obs.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/*!\n * Copyright 2015-2025 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: i5.ProgressIndicator, selector: "cds-progress-indicator, ibm-progress-indicator", inputs: ["current", "steps", "translations", "orientation", "skeleton", "spacing"], outputs: ["stepSelected"] }, { kind: "component", type: i2$1.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "errors", "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" }] }); }
|
|
4503
4769
|
}
|
|
4504
4770
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowComponent, decorators: [{
|
|
4505
4771
|
type: Component,
|
|
@@ -4549,6 +4815,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
4549
4815
|
* limitations under the License.
|
|
4550
4816
|
*/
|
|
4551
4817
|
|
|
4818
|
+
/*
|
|
4819
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
4820
|
+
*
|
|
4821
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4822
|
+
* you may not use this file except in compliance with the License.
|
|
4823
|
+
* You may obtain a copy of the License at
|
|
4824
|
+
*
|
|
4825
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4826
|
+
*
|
|
4827
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
4828
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
4829
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4830
|
+
* See the License for the specific language governing permissions and
|
|
4831
|
+
* limitations under the License.
|
|
4832
|
+
*/
|
|
4833
|
+
|
|
4552
4834
|
/*
|
|
4553
4835
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
4554
4836
|
*
|
|
@@ -4581,7 +4863,8 @@ class ProcessLinkModule {
|
|
|
4581
4863
|
SelectUIComponentComponent,
|
|
4582
4864
|
ImportPluginConfigurationComponent,
|
|
4583
4865
|
SelectBuildingBlockComponent,
|
|
4584
|
-
ConfigureBuildingBlockPluginsComponent], imports: [
|
|
4866
|
+
ConfigureBuildingBlockPluginsComponent], imports: [ReadOnlyContentDirective,
|
|
4867
|
+
CommonModule,
|
|
4585
4868
|
ProcessLinkRoutingModule,
|
|
4586
4869
|
FormsModule,
|
|
4587
4870
|
ReactiveFormsModule,
|
|
@@ -4688,6 +4971,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
4688
4971
|
ConfigureBuildingBlockPluginsComponent,
|
|
4689
4972
|
],
|
|
4690
4973
|
imports: [
|
|
4974
|
+
ReadOnlyContentDirective,
|
|
4691
4975
|
CommonModule,
|
|
4692
4976
|
ProcessLinkRoutingModule,
|
|
4693
4977
|
FormsModule,
|
|
@@ -4861,5 +5145,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
4861
5145
|
* Generated bundle index. Do not edit.
|
|
4862
5146
|
*/
|
|
4863
5147
|
|
|
4864
|
-
export { BB_MAPPINGS_TEST_IDS, BuildingBlockStateService, ChooseProcessLinkTypeComponent, FORM_CUSTOM_COMPONENT_TOKEN,
|
|
5148
|
+
export { BB_MAPPINGS_TEST_IDS, BuildingBlockStateService, ChooseProcessLinkTypeComponent, FORM_CUSTOM_COMPONENT_TOKEN, FormFlowComponent, FormFlowService, PLUGIN_ACTION_CONFIGURATION_TEST_IDS, PROCESS_LINK_MODAL_TEST_IDS, PROCESS_LINK_TYPE_BUTTON_TEST_ID_PREFIX, PROCESS_LINK_TYPE_CHOOSER_TEST_IDS, PluginActionConfigurationComponent, PluginStateService, ProcessLinkBuildingBlockApiService, ProcessLinkButtonService, ProcessLinkComponent, ProcessLinkModalComponent, ProcessLinkModule, ProcessLinkService, ProcessLinkStateService, ProcessLinkStepService, SELECT_PLUGIN_ACTION_TEST_IDS, SELECT_PLUGIN_ACTION_TILE_TEST_ID_PREFIX, SELECT_PLUGIN_CONFIGURATION_ROW_TEST_ID_PREFIX, SELECT_PLUGIN_CONFIGURATION_TEST_IDS, SelectPluginActionComponent, SelectPluginConfigurationComponent, UNSUPPORTED_PROCESS_LINK_TYPES_IN_BUILDING_BLOCK, UrlResolverService, UrlValidatorService, ensureDocPrefix, formSizeToCarbonModalSizeMap };
|
|
4865
5149
|
//# sourceMappingURL=valtimo-process-link.mjs.map
|