@valtimo/form-flow-management 13.30.0 → 13.32.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-form-flow-management.mjs +13 -106
- package/fesm2022/valtimo-form-flow-management.mjs.map +1 -1
- package/lib/components/editor/form-flow-editor.component.d.ts +3 -81
- package/lib/components/editor/form-flow-editor.component.d.ts.map +1 -1
- package/lib/services/form-flow.service.d.ts +1 -0
- package/lib/services/form-flow.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ import { BaseApiService, getCaseManagementRouteParams, getContextObservable, get
|
|
|
5
5
|
import * as i1 from '@angular/common/http';
|
|
6
6
|
import * as i1$2 from '@valtimo/components';
|
|
7
7
|
import { CARBON_CONSTANTS, ValtimoCdsModalDirective, ViewType, CarbonListComponent, ConfirmationModalModule, EditorModule, RenderInPageHeaderDirective, OverflowMenuComponent, OverflowMenuOptionComponent, OverflowMenuTriggerComponent, CarbonListModule } from '@valtimo/components';
|
|
8
|
-
import { BehaviorSubject, combineLatest, tap, switchMap, of, map, take, finalize } from 'rxjs';
|
|
8
|
+
import { BehaviorSubject, combineLatest, tap, switchMap, of, map, shareReplay, take, finalize } from 'rxjs';
|
|
9
9
|
import * as i3$1 from '@angular/router';
|
|
10
10
|
import * as i4 from '@ngx-translate/core';
|
|
11
11
|
import { TranslateModule } from '@ngx-translate/core';
|
|
@@ -55,6 +55,9 @@ class FormFlowService extends BaseApiService {
|
|
|
55
55
|
this.httpClient = httpClient;
|
|
56
56
|
this.configService = configService;
|
|
57
57
|
}
|
|
58
|
+
getFormFlowDefinitionSchema() {
|
|
59
|
+
return this.httpClient.get(this.getApiUrl('management/v1/form-flow-definition/schema'));
|
|
60
|
+
}
|
|
58
61
|
getFormFlowDefinitions(caseDefinitionKey, caseVersionTag) {
|
|
59
62
|
return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition`));
|
|
60
63
|
}
|
|
@@ -297,107 +300,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
297
300
|
args: [CarbonListComponent]
|
|
298
301
|
}] } });
|
|
299
302
|
|
|
300
|
-
var $schema = "http://json-schema.org/draft-07/schema#";
|
|
301
|
-
var $id = "formflow.schema";
|
|
302
|
-
var title = "Form flow definition";
|
|
303
|
-
var description = "Representation of a form flow definition";
|
|
304
|
-
var type = "object";
|
|
305
|
-
var properties = {
|
|
306
|
-
startStep: {
|
|
307
|
-
type: "string",
|
|
308
|
-
description: "This must contain the key of the first step of the form flow"
|
|
309
|
-
},
|
|
310
|
-
steps: {
|
|
311
|
-
type: "array",
|
|
312
|
-
description: "This array should contain all the possible steps of the form flow",
|
|
313
|
-
items: {
|
|
314
|
-
type: "object",
|
|
315
|
-
properties: {
|
|
316
|
-
key: {
|
|
317
|
-
type: "string",
|
|
318
|
-
description: "The identifying human readable key of the step"
|
|
319
|
-
},
|
|
320
|
-
type: {
|
|
321
|
-
type: "object",
|
|
322
|
-
description: "The type of form that should be displayed",
|
|
323
|
-
properties: {
|
|
324
|
-
name: {
|
|
325
|
-
type: "string",
|
|
326
|
-
description: "This defines the type of the step, for instance: 'form'"
|
|
327
|
-
},
|
|
328
|
-
properties: {
|
|
329
|
-
type: "object",
|
|
330
|
-
description: "This object holds additional properties for the specified type"
|
|
331
|
-
}
|
|
332
|
-
},
|
|
333
|
-
required: [
|
|
334
|
-
"name",
|
|
335
|
-
"properties"
|
|
336
|
-
]
|
|
337
|
-
},
|
|
338
|
-
onOpen: {
|
|
339
|
-
type: "array",
|
|
340
|
-
description: "An array of expressions which are executed in order when opening the step",
|
|
341
|
-
items: {
|
|
342
|
-
type: "string",
|
|
343
|
-
description: "An expression that is executed when opening the step"
|
|
344
|
-
}
|
|
345
|
-
},
|
|
346
|
-
onComplete: {
|
|
347
|
-
type: "array",
|
|
348
|
-
description: "An array of expressions which are executed in order when completing the step",
|
|
349
|
-
items: {
|
|
350
|
-
type: "string",
|
|
351
|
-
description: "An expression that is executed when completing the step"
|
|
352
|
-
}
|
|
353
|
-
},
|
|
354
|
-
nextSteps: {
|
|
355
|
-
type: "array",
|
|
356
|
-
description: "The possible next steps. A condition must be added on all steps but one. The step without a condition is the default step that will be used when all conditions fail",
|
|
357
|
-
items: {
|
|
358
|
-
type: "object",
|
|
359
|
-
properties: {
|
|
360
|
-
step: {
|
|
361
|
-
type: "string",
|
|
362
|
-
title: "The key of the next step. This should match one of the keys in the steps array"
|
|
363
|
-
},
|
|
364
|
-
condition: {
|
|
365
|
-
type: [
|
|
366
|
-
"string",
|
|
367
|
-
"null"
|
|
368
|
-
],
|
|
369
|
-
title: "This should contain an expression telling what condition should be met to go to this next step. If there is no condition this is the default next step."
|
|
370
|
-
}
|
|
371
|
-
},
|
|
372
|
-
required: [
|
|
373
|
-
"step"
|
|
374
|
-
]
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
},
|
|
378
|
-
required: [
|
|
379
|
-
"key",
|
|
380
|
-
"type"
|
|
381
|
-
]
|
|
382
|
-
},
|
|
383
|
-
minItems: 0,
|
|
384
|
-
uniqueItems: true
|
|
385
|
-
}
|
|
386
|
-
};
|
|
387
|
-
var required = [
|
|
388
|
-
"startStep",
|
|
389
|
-
"steps"
|
|
390
|
-
];
|
|
391
|
-
var formFlowSchemaJson = {
|
|
392
|
-
$schema: $schema,
|
|
393
|
-
$id: $id,
|
|
394
|
-
title: title,
|
|
395
|
-
description: description,
|
|
396
|
-
type: type,
|
|
397
|
-
properties: properties,
|
|
398
|
-
required: required
|
|
399
|
-
};
|
|
400
|
-
|
|
401
303
|
/*
|
|
402
304
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
403
305
|
*
|
|
@@ -463,7 +365,6 @@ class FormFlowEditorComponent {
|
|
|
463
365
|
this.valid$ = new BehaviorSubject(false);
|
|
464
366
|
this.loading$ = new BehaviorSubject(true);
|
|
465
367
|
this.showDeleteModal$ = new BehaviorSubject(false);
|
|
466
|
-
this.formFlowDefinitionId$ = new BehaviorSubject(null);
|
|
467
368
|
this.CARBON_THEME = 'g10';
|
|
468
369
|
this._context$ = getContextObservable(this.route);
|
|
469
370
|
this._params$ = this._context$.pipe(switchMap(context => {
|
|
@@ -485,7 +386,12 @@ class FormFlowEditorComponent {
|
|
|
485
386
|
...params,
|
|
486
387
|
})));
|
|
487
388
|
}));
|
|
488
|
-
this.formFlowSchemaJson =
|
|
389
|
+
this.formFlowSchemaJson$ = this.formFlowService
|
|
390
|
+
.getFormFlowDefinitionSchema()
|
|
391
|
+
.pipe(shareReplay(1));
|
|
392
|
+
this.editorOptions = {
|
|
393
|
+
quickSuggestions: { other: true, comments: false, strings: true },
|
|
394
|
+
};
|
|
489
395
|
this._formFlowDefinition2$ = combineLatest([this._params$, this._context$]).pipe(tap(() => this.loading$.next(true)), switchMap(([params, context]) => {
|
|
490
396
|
this.initBreadcrumbs(params, context);
|
|
491
397
|
if (context === 'buildingBlock') {
|
|
@@ -561,6 +467,7 @@ class FormFlowEditorComponent {
|
|
|
561
467
|
return {
|
|
562
468
|
value: JSON.stringify(clone),
|
|
563
469
|
language: 'json',
|
|
470
|
+
uri: `inmemory://form-flow/${formFlowDefinition.key}.formflow.json`,
|
|
564
471
|
};
|
|
565
472
|
}
|
|
566
473
|
showSuccessMessage(formFlowDefinitionKey) {
|
|
@@ -604,11 +511,11 @@ class FormFlowEditorComponent {
|
|
|
604
511
|
}
|
|
605
512
|
}
|
|
606
513
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormFlowEditorComponent, deps: [{ token: i1$2.BreadcrumbService }, { token: FormFlowDownloadService }, { token: FormFlowService }, { token: i3.IconService }, { token: i2.GlobalNotificationService }, { token: i1$2.PageHeaderService }, { token: i1$2.PageTitleService }, { token: i3$1.ActivatedRoute }, { token: i3$1.Router }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
607
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: FormFlowEditorComponent, isStandalone: false, selector: "ng-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\n@if (model$ | async; as model) {\n
|
|
514
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: FormFlowEditorComponent, isStandalone: false, selector: "ng-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\n@if ({model: model$ | async, schema: formFlowSchemaJson$ | async}; as obs) {\n @if (obs.model && obs.schema) {\n <valtimo-editor\n [disabled]=\"(loading$ | async) === false && readOnly$ | async\"\n [editorOptions]=\"editorOptions\"\n [model]=\"obs.model\"\n [jsonSchema]=\"obs.schema\"\n (validEvent)=\"onValid($event)\"\n (valueChangeEvent)=\"onValueChange($event)\"\n [fitPage]=\"true\"\n ></valtimo-editor>\n } @else {\n <cds-loading></cds-loading>\n }\n}\n\n<ng-container renderInPageHeader>\n <ng-template>\n <div\n *ngIf=\"{\n compactMode: compactMode$ | async,\n valid: valid$ | async,\n readOnly: readOnly$ | async,\n model: model$ | async,\n } as obs\"\n class=\"buttons-container\"\n >\n <v-overflow-menu placement=\"bottom-end\">\n <v-overflow-menu-trigger overflowTrigger></v-overflow-menu-trigger>\n <v-overflow-menu-option\n [disabled]=\"!obs.valid && !obs.readOnly\"\n (selected)=\"downloadFormFlowDefinition(obs.model)\"\n >{{ 'interface.export' | translate }}\n </v-overflow-menu-option>\n\n <v-overflow-menu-option\n [disabled]=\"obs.readOnly\"\n type=\"danger\"\n (selected)=\"showDeleteModal()\"\n >{{ 'interface.delete' | translate }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n\n <button cdsButton=\"secondary\" [size]=\"obs.compactMode ? 'sm' : 'md'\" (click)=\"navigateBack()\">\n {{ 'interface.back' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"arrow--left\" size=\"16\"></svg>\n </button>\n\n <button\n [disabled]=\"!obs.valid || obs.readOnly\"\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"updateFormFlowDefinition()\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </div>\n </ng-template>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete()\"\n></valtimo-confirmation-modal>\n", styles: ["cds-loading{display:flex;justify-content:center}.buttons-container{display:flex;align-items:center;justify-self:flex-end;gap:16px}\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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i1$2.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i1$2.EditorComponent, selector: "valtimo-editor", inputs: ["editorOptions", "model", "disabled", "formatOnLoad", "widthPx", "heightPx", "heightStyle", "jsonSchema", "fitPage", "fitPageSpaceAdjustment"], outputs: ["validEvent", "valueChangeEvent"] }, { kind: "directive", type: i1$2.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i3.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i1$2.OverflowMenuComponent, selector: "v-overflow-menu", inputs: ["open", "placement", "menuWidth", "offsetX", "offsetY", "closeOnSelect", "useHostAsReference", "portalToBody"], outputs: ["openChange"] }, { kind: "component", type: i1$2.OverflowMenuOptionComponent, selector: "v-overflow-menu-option", inputs: ["disabled", "type", "testId", "optionId"], outputs: ["selected"] }, { kind: "component", type: i1$2.OverflowMenuTriggerComponent, selector: "v-overflow-menu-trigger", inputs: ["compact"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
608
515
|
}
|
|
609
516
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormFlowEditorComponent, decorators: [{
|
|
610
517
|
type: Component,
|
|
611
|
-
args: [{ standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, 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@if (model$ | async; as model) {\n
|
|
518
|
+
args: [{ standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, 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@if ({model: model$ | async, schema: formFlowSchemaJson$ | async}; as obs) {\n @if (obs.model && obs.schema) {\n <valtimo-editor\n [disabled]=\"(loading$ | async) === false && readOnly$ | async\"\n [editorOptions]=\"editorOptions\"\n [model]=\"obs.model\"\n [jsonSchema]=\"obs.schema\"\n (validEvent)=\"onValid($event)\"\n (valueChangeEvent)=\"onValueChange($event)\"\n [fitPage]=\"true\"\n ></valtimo-editor>\n } @else {\n <cds-loading></cds-loading>\n }\n}\n\n<ng-container renderInPageHeader>\n <ng-template>\n <div\n *ngIf=\"{\n compactMode: compactMode$ | async,\n valid: valid$ | async,\n readOnly: readOnly$ | async,\n model: model$ | async,\n } as obs\"\n class=\"buttons-container\"\n >\n <v-overflow-menu placement=\"bottom-end\">\n <v-overflow-menu-trigger overflowTrigger></v-overflow-menu-trigger>\n <v-overflow-menu-option\n [disabled]=\"!obs.valid && !obs.readOnly\"\n (selected)=\"downloadFormFlowDefinition(obs.model)\"\n >{{ 'interface.export' | translate }}\n </v-overflow-menu-option>\n\n <v-overflow-menu-option\n [disabled]=\"obs.readOnly\"\n type=\"danger\"\n (selected)=\"showDeleteModal()\"\n >{{ 'interface.delete' | translate }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n\n <button cdsButton=\"secondary\" [size]=\"obs.compactMode ? 'sm' : 'md'\" (click)=\"navigateBack()\">\n {{ 'interface.back' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"arrow--left\" size=\"16\"></svg>\n </button>\n\n <button\n [disabled]=\"!obs.valid || obs.readOnly\"\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"updateFormFlowDefinition()\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </div>\n </ng-template>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete()\"\n></valtimo-confirmation-modal>\n", styles: ["cds-loading{display:flex;justify-content:center}.buttons-container{display:flex;align-items:center;justify-self:flex-end;gap:16px}\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"] }]
|
|
612
519
|
}], ctorParameters: () => [{ type: i1$2.BreadcrumbService }, { type: FormFlowDownloadService }, { type: FormFlowService }, { type: i3.IconService }, { type: i2.GlobalNotificationService }, { type: i1$2.PageHeaderService }, { type: i1$2.PageTitleService }, { type: i3$1.ActivatedRoute }, { type: i3$1.Router }, { type: i4.TranslateService }] });
|
|
613
520
|
|
|
614
521
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtimo-form-flow-management.mjs","sources":["../../../../projects/valtimo/form-flow-management/src/lib/models/form-flow.model.ts","../../../../projects/valtimo/form-flow-management/src/lib/models/index.ts","../../../../projects/valtimo/form-flow-management/src/lib/services/form-flow.service.ts","../../../../projects/valtimo/form-flow-management/src/lib/services/index.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/new-form-flow-modal/new-form-flow-modal.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/new-form-flow-modal/new-form-flow-modal.component.html","../../../../projects/valtimo/form-flow-management/src/lib/components/overview/form-flow-overview.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/overview/form-flow-overview.component.html","../../../../projects/valtimo/form-flow-management/src/lib/services/form-flow-download.service.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/editor/form-flow-editor.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/editor/form-flow-editor.component.html","../../../../projects/valtimo/form-flow-management/src/lib/components/delete-form-flow-modal/delete-form-flow-modal.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/delete-form-flow-modal/delete-form-flow-modal.component.html","../../../../projects/valtimo/form-flow-management/src/lib/form-flow-management.module.ts","../../../../projects/valtimo/form-flow-management/src/public-api.ts","../../../../projects/valtimo/form-flow-management/src/valtimo-form-flow-management.ts"],"sourcesContent":["/*\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\ninterface ListFormFlowDefinition {\n key: string;\n versions: Array<number>;\n readOnly?: boolean;\n}\n\ninterface FormFlowDefinition {\n key: string;\n readOnly?: boolean;\n startStep: string;\n steps: Array<FormFlowStep>;\n}\n\ninterface FormFlowDefinitionId {\n key: string;\n version: number;\n}\n\ninterface FormFlowStep {\n key: string;\n nextSteps: Array<FormFlowNextStep>;\n onBack: Array<string>;\n onOpen: Array<string>;\n onComplete: Array<string>;\n type: FormFlowStepType;\n}\n\ninterface FormFlowNextStep {\n condition?: string;\n step: string;\n}\n\ninterface FormFlowStepType {\n name: string;\n properties: FormStepTypeProperties | CustomComponentStepTypeProperties;\n}\n\ninterface FormStepTypeProperties {\n definition: string;\n}\n\ninterface CustomComponentStepTypeProperties {\n componentId: string;\n}\n\ninterface DeleteFormFlowsRequest {\n formFlowKeys: Array<string>;\n}\n\ninterface LoadedValue<T> {\n isLoading: boolean;\n value?: T;\n}\n\ninterface FormFlowEditorParams {\n formFlowDefinitionKey: string;\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n}\n\ninterface FormFlowRouteParams {\n formFlowDefinitionKey: string;\n}\n\nexport {\n ListFormFlowDefinition,\n FormFlowDefinition,\n FormFlowDefinitionId,\n FormFlowStep,\n FormFlowNextStep,\n FormFlowStepType,\n FormStepTypeProperties,\n CustomComponentStepTypeProperties,\n DeleteFormFlowsRequest,\n LoadedValue,\n FormFlowEditorParams,\n FormFlowRouteParams,\n};\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\nexport * from './form-flow.model';\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\nimport {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {ConfigService, Page, BaseApiService} from '@valtimo/shared';\nimport {BehaviorSubject, catchError, Observable, of, switchMap, take, tap} from 'rxjs';\nimport {FormFlowDefinition, FormFlowDefinitionId, ListFormFlowDefinition} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FormFlowService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public getFormFlowDefinitions(\n caseDefinitionKey: string,\n caseVersionTag: string\n ): Observable<Page<ListFormFlowDefinition>> {\n return this.httpClient.get<Page<ListFormFlowDefinition>>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition`\n )\n );\n }\n\n public getFormFlowDefinitionByKey(\n caseDefinitionKey: string,\n caseVersionTag: string,\n formFlowDefinitionKey: string\n ): Observable<FormFlowDefinition> {\n return this.httpClient.get<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition/${formFlowDefinitionKey}`\n )\n );\n }\n\n public createFormFlowDefinition(\n caseDefinitionKey: string,\n caseVersionTag: string,\n definition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.post<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition`\n ),\n definition\n );\n }\n\n public deleteFormFlowDefinition(\n caseDefinitionKey: string,\n caseVersionTag: string,\n definitionKey: string\n ): Observable<null> {\n return this.httpClient.delete<null>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition/${definitionKey}`\n )\n );\n }\n\n public updateFormFlowDefinition(\n caseDefinitionKey: string,\n caseVersionTag: string,\n definitionKey: string,\n updatedDefinition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.put<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition/${definitionKey}`\n ),\n updatedDefinition\n );\n }\n\n public getBuildingBlockFormFlowDefinitions(\n buildingBlockKey: string,\n versionTag: string\n ): Observable<Page<ListFormFlowDefinition>> {\n return this.httpClient.get<Page<ListFormFlowDefinition>>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition`\n )\n );\n }\n\n public getBuildingBlockFormFlowDefinitionByKey(\n buildingBlockKey: string,\n versionTag: string,\n formFlowDefinitionKey: string\n ): Observable<FormFlowDefinition> {\n return this.httpClient.get<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition/${formFlowDefinitionKey}`\n )\n );\n }\n\n public createBuildingBlockFormFlowDefinition(\n buildingBlockKey: string,\n versionTag: string,\n definition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.post<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition`\n ),\n definition\n );\n }\n\n public deleteBuildingBlockFormFlowDefinition(\n buildingBlockKey: string,\n versionTag: string,\n definitionKey: string\n ): Observable<null> {\n return this.httpClient.delete<null>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition/${definitionKey}`\n )\n );\n }\n\n public updateBuildingBlockFormFlowDefinition(\n buildingBlockKey: string,\n versionTag: string,\n definitionKey: string,\n updatedDefinition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.put<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition/${definitionKey}`\n ),\n updatedDefinition\n );\n }\n}\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\nexport * from './form-flow.service';\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\nimport {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {FormBuilder, ReactiveFormsModule, Validators} from '@angular/forms';\nimport {FormFlowDefinition} from '../../models';\nimport {CARBON_CONSTANTS, ValtimoCdsModalDirective} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {ButtonModule, InputModule, ModalModule} from 'carbon-components-angular';\n\n@Component({\n standalone: true,\n selector: 'valtimo-new-form-flow-modal',\n templateUrl: './new-form-flow-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ReactiveFormsModule,\n TranslateModule,\n ModalModule,\n InputModule,\n ButtonModule,\n ValtimoCdsModalDirective,\n ],\n})\nexport class NewFormFlowModalComponent {\n @Input() open = false;\n @Output() closeEvent = new EventEmitter<FormFlowDefinition | null>();\n\n public form = this.fb.group({\n key: this.fb.control('', Validators.required),\n });\n\n public get key() {\n return this.form?.get('key');\n }\n\n constructor(private readonly fb: FormBuilder) {}\n\n public onCancel(): void {\n this.closeEvent.emit(null);\n this.resetForm();\n }\n\n public onConfirm(): void {\n if (!this.key) {\n return;\n }\n\n this.closeEvent.emit({\n key: this.key.value ?? '',\n startStep: 'start-step',\n steps: [],\n });\n this.resetForm();\n }\n\n private resetForm(): void {\n setTimeout(() => {\n this.form.reset();\n }, CARBON_CONSTANTS.modalAnimationMs);\n }\n}\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\n<cds-modal\n [open]=\"open\"\n showFooter=\"true\"\n [title]=\"'formFlow.add' | translate\"\n valtimoCdsModal\n (close)=\"onCancel()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ 'formFlow.add' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\">\n <cds-label [invalid]=\"key.dirty && key.invalid\">\n {{ 'formFlow.key' | translate }}\n\n <input\n formControlName=\"key\"\n cdsText\n placeholder=\"{{ 'formFlow.key' | translate }}\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"key.dirty && key.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"this.form.invalid\" (click)=\"onConfirm()\" cdsButton=\"primary\">\n {{ 'interface.create' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\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 */\nimport {ChangeDetectionStrategy, Component, ViewChild} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ActionItem, CarbonListComponent, ColumnConfig, ViewType} from '@valtimo/components';\nimport {\n CaseManagementParams,\n EditPermissionsService,\n getCaseManagementRouteParams,\n GlobalNotificationService,\n Page,\n} from '@valtimo/shared';\nimport {BehaviorSubject, combineLatest, map, Observable, of, switchMap, tap} from 'rxjs';\nimport {FormFlowDefinition, ListFormFlowDefinition} from '../../models';\nimport {FormFlowService} from '../../services';\n\n@Component({\n standalone: false,\n templateUrl: './form-flow-overview.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormFlowOverviewComponent {\n @ViewChild(CarbonListComponent) carbonList: CarbonListComponent;\n\n public readonly FIELDS: ColumnConfig[] = [\n {\n viewType: ViewType.TEXT,\n key: 'key',\n label: 'formFlow.key',\n },\n {\n viewType: ViewType.TEXT,\n key: 'versions.0',\n label: 'formFlow.version',\n },\n {\n viewType: ViewType.BOOLEAN,\n key: 'readOnly',\n label: 'formFlow.readOnly',\n },\n ];\n\n public readonly ACTION_ITEMS: ActionItem[] = [\n {\n callback: this.editFormFlowDetails.bind(this),\n label: 'interface.edit',\n },\n {\n callback: this.deleteFormFlow.bind(this),\n label: 'interface.delete',\n type: 'danger',\n },\n ];\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly showDeleteModal$ = new BehaviorSubject<boolean>(false);\n public readonly deleteDefinitionKey$ = new BehaviorSubject<string | null>(null);\n\n private _params: CaseManagementParams | undefined = undefined;\n private readonly _refresh$ = new BehaviorSubject<null>(null);\n public readonly formFlowDefinitions$: Observable<ListFormFlowDefinition[]> = combineLatest([\n getCaseManagementRouteParams(this.route),\n this._refresh$,\n ]).pipe(\n tap(([params]) => {\n this.loading$.next(true);\n this._params = params;\n }),\n switchMap(([params]) =>\n !params\n ? of(null)\n : this.formFlowService.getFormFlowDefinitions(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n )\n ),\n map((formFlows: Page<ListFormFlowDefinition> | null) => {\n this.loading$.next(false);\n return !formFlows ? [] : formFlows.content;\n })\n );\n public readonly showAddModal$ = new BehaviorSubject<boolean>(false);\n\n public readonly params$ = getCaseManagementRouteParams(this.route);\n\n public readonly hasEditPermissions$: Observable<boolean> = this.params$.pipe(\n switchMap(params =>\n this.editPermissionsService.hasEditPermissions(\n params?.caseDefinitionKey,\n params?.caseDefinitionVersionTag\n )\n )\n );\n\n constructor(\n private readonly formFlowService: FormFlowService,\n private readonly globalNotificationService: GlobalNotificationService,\n private readonly route: ActivatedRoute,\n private readonly router: Router,\n private readonly translateService: TranslateService,\n private readonly editPermissionsService: EditPermissionsService\n ) {}\n\n public openAddModal(): void {\n this.showAddModal$.next(true);\n }\n\n public onAdd(formFlowDefinition: FormFlowDefinition | null): void {\n this.showAddModal$.next(false);\n\n if (!formFlowDefinition || !this._params) return;\n\n this.formFlowService\n .createFormFlowDefinition(\n this._params.caseDefinitionKey,\n this._params.caseDefinitionVersionTag,\n formFlowDefinition\n )\n .subscribe((formFlowDefinition: FormFlowDefinition) => {\n this.showAddModal$.next(false);\n this.router.navigate([formFlowDefinition.key], {relativeTo: this.route});\n });\n }\n\n public editFormFlowDetails(formFlowDefinition: ListFormFlowDefinition): void {\n this.router.navigate([formFlowDefinition.key], {relativeTo: this.route});\n }\n\n public deleteFormFlow(item: ListFormFlowDefinition): void {\n this.deleteDefinitionKey$.next(item.key);\n this.showDeleteModal$.next(true);\n }\n\n public onDelete(definitionKey: string): void {\n if (!this._params) return;\n\n this.formFlowService\n .deleteFormFlowDefinition(\n this._params.caseDefinitionKey,\n this._params.caseDefinitionVersionTag,\n definitionKey\n )\n .subscribe(() => {\n this.globalNotificationService.showToast({\n title: this.translateService.instant('interface.delete'),\n caption: this.translateService.instant('formFlow.deletedSuccessfully', {\n key: definitionKey,\n }),\n type: 'success',\n });\n this._refresh$.next(null);\n });\n }\n}\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\n<valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [header]=\"false\"\n [items]=\"formFlowDefinitions$ | async\"\n [fields]=\"FIELDS\"\n [loading]=\"loading$ | async\"\n (rowClicked)=\"editFormFlowDetails($event)\"\n>\n <ng-container header> {{ 'formFlow.title' | translate }} </ng-container>\n\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addFormFlowButton\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"addFormFlowButton\"\n description=\"{{ 'formFlow.noResults.description' | translate }}\"\n title=\"{{ 'formFlow.noResults.title' | translate }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-new-form-flow-modal\n [open]=\"showAddModal$ | async\"\n (closeEvent)=\"onAdd($event)\"\n></valtimo-new-form-flow-modal>\n\n<ng-template #addFormFlowButton>\n <button *ngIf=\"hasEditPermissions$ | async\" cdsButton=\"primary\" (click)=\"openAddModal()\">\n {{ 'formFlow.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteDefinitionKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\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 */\nimport {Injectable} from '@angular/core';\nimport {FormFlowEditorParams} from '../models';\n\n@Injectable({providedIn: 'root'})\nexport class FormFlowDownloadService {\n public downloadJson(\n json: object,\n params: FormFlowEditorParams\n ): void {\n const sJson = JSON.stringify(json, null, 2);\n const element = document.createElement('a');\n element.setAttribute('href', 'data:text/json;charset=UTF-8,' + encodeURIComponent(sJson));\n element.setAttribute(\n 'download',\n `${params.caseDefinitionKey}-${params.caseDefinitionVersionTag}-${params.formFlowDefinitionKey}.formflow.json`\n );\n element.style.display = 'none';\n document.body.appendChild(element);\n element.click(); // simulate click\n document.body.removeChild(element);\n }\n}\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 */\nimport {ChangeDetectionStrategy, Component, OnDestroy} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {ArrowLeft16} from '@carbon/icons';\nimport {TranslateService} from '@ngx-translate/core';\nimport {\n BreadcrumbService,\n EditorModel,\n PageHeaderService,\n PageTitleService,\n} from '@valtimo/components';\nimport {\n BuildingBlockManagementParams,\n CaseManagementParams,\n getBuildingBlockManagementRouteParams,\n getCaseManagementRouteParams,\n getContextObservable,\n GlobalNotificationService,\n ManagementContext,\n} from '@valtimo/shared';\nimport {IconService} from 'carbon-components-angular';\nimport {\n BehaviorSubject,\n combineLatest,\n finalize,\n map,\n Observable,\n of,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {FormFlowDefinition, FormFlowDefinitionId, FormFlowEditorParams, FormFlowRouteParams} from '../../models';\nimport {FormFlowService} from '../../services';\nimport {FormFlowDownloadService} from '../../services/form-flow-download.service';\nimport formFlowSchemaJson from './formflow.schema.json';\n\n@Component({\n standalone: false,\n templateUrl: './form-flow-editor.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./form-flow-editor.component.scss'],\n})\nexport class FormFlowEditorComponent implements OnDestroy {\n public readonly readOnly$ = new BehaviorSubject<boolean>(false);\n public readonly valid$ = new BehaviorSubject<boolean>(false);\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly showDeleteModal$ = new BehaviorSubject<boolean>(false);\n public readonly formFlowDefinitionId$ = new BehaviorSubject<FormFlowDefinitionId | null>(null);\n public readonly CARBON_THEME = 'g10';\n\n private readonly _context$: Observable<ManagementContext | null> = getContextObservable(\n this.route\n );\n\n private readonly _params$: Observable<FormFlowEditorParams> = this._context$.pipe(\n switchMap(context => {\n if (context === 'buildingBlock') {\n return combineLatest([\n getBuildingBlockManagementRouteParams(this.route),\n this.route.params as Observable<FormFlowRouteParams>,\n ]).pipe(\n map(([bbParams, params]) => ({\n caseDefinitionKey: bbParams?.buildingBlockDefinitionKey ?? '',\n caseDefinitionVersionTag: bbParams?.buildingBlockDefinitionVersionTag ?? '',\n formFlowDefinitionKey: params.formFlowDefinitionKey,\n }))\n );\n }\n\n return combineLatest([\n getCaseManagementRouteParams(this.route),\n this.route.params as Observable<FormFlowRouteParams>,\n ]).pipe(\n map(([caseManagementParams, params]) => ({\n ...(caseManagementParams ?? {caseDefinitionKey: '', caseDefinitionVersionTag: ''}),\n ...params,\n }))\n );\n })\n );\n\n public readonly formFlowSchemaJson = formFlowSchemaJson;\n\n private readonly _formFlowDefinition2$ = combineLatest([this._params$, this._context$]).pipe(\n tap(() => this.loading$.next(true)),\n switchMap(([params, context]) => {\n this.initBreadcrumbs(params, context);\n\n if (context === 'buildingBlock') {\n return this.formFlowService.getBuildingBlockFormFlowDefinitionByKey(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n }\n\n return this.formFlowService.getFormFlowDefinitionByKey(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n }),\n tap((formFlowDefinition: FormFlowDefinition) => {\n this.pageTitleService.setCustomPageTitle(formFlowDefinition.key);\n this.readOnly$.next(formFlowDefinition.readOnly === true);\n this.loading$.next(false);\n })\n );\n public readonly model$: Observable<EditorModel> = this._formFlowDefinition2$.pipe(\n map((formFlowDefinition: FormFlowDefinition) => this.getEditorModel(formFlowDefinition))\n );\n\n private readonly _updatedModelValue$ = new BehaviorSubject<string>('');\n\n public readonly compactMode$ = this.pageHeaderService.compactMode$;\n\n constructor(\n private readonly breadcrumbService: BreadcrumbService,\n private readonly formFlowDownloadService: FormFlowDownloadService,\n private readonly formFlowService: FormFlowService,\n private readonly iconService: IconService,\n private readonly notificationService: GlobalNotificationService,\n private readonly pageHeaderService: PageHeaderService,\n private readonly pageTitleService: PageTitleService,\n private readonly route: ActivatedRoute,\n private readonly router: Router,\n private readonly translateService: TranslateService\n ) {\n this.iconService.registerAll([ArrowLeft16]);\n this.pageTitleService.disableReset();\n }\n\n public ngOnDestroy(): void {\n this.pageTitleService.enableReset();\n this.breadcrumbService.clearThirdBreadcrumb();\n this.breadcrumbService.clearFourthBreadcrumb();\n }\n\n public onValid(valid: boolean): void {\n this.valid$.next(valid);\n }\n\n public onValueChange(value: string): void {\n this._updatedModelValue$.next(value);\n }\n\n public updateFormFlowDefinition(): void {\n this.loading$.next(true);\n\n combineLatest([this._params$, this._updatedModelValue$, this._context$])\n .pipe(\n take(1),\n switchMap(([params, updatedModelValue, context]) => {\n const updatedDefinition = {\n ...(JSON.parse(updatedModelValue) as FormFlowDefinition),\n key: params.formFlowDefinitionKey,\n };\n\n if (context === 'buildingBlock') {\n return this.formFlowService.updateBuildingBlockFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey,\n updatedDefinition\n );\n }\n\n return this.formFlowService.updateFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey,\n updatedDefinition\n );\n }),\n finalize(() => this.loading$.next(false))\n )\n .subscribe(result => {\n this.showSuccessMessage(result.key);\n });\n }\n\n public onDelete(): void {\n this.loading$.next(true);\n combineLatest([this._params$, this._context$])\n .pipe(\n take(1),\n switchMap(([params, context]) => {\n if (context === 'buildingBlock') {\n return this.formFlowService.deleteBuildingBlockFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n }\n\n return this.formFlowService.deleteFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n })\n )\n .subscribe(() => {\n this.router.navigate(['../'], {relativeTo: this.route});\n });\n }\n\n public showDeleteModal(): void {\n this.showDeleteModal$.next(true);\n }\n\n public downloadFormFlowDefinition(model: EditorModel): void {\n this._params$\n .pipe(take(1))\n .subscribe((params: FormFlowEditorParams) =>\n this.formFlowDownloadService.downloadJson(JSON.parse(model.value), params)\n );\n }\n\n public navigateBack(): void {\n this.router.navigate(['../'], {relativeTo: this.route});\n }\n\n private getEditorModel(formFlowDefinition: FormFlowDefinition): EditorModel {\n const clone = {...formFlowDefinition};\n delete clone.readOnly;\n return {\n value: JSON.stringify(clone),\n language: 'json',\n };\n }\n\n private showSuccessMessage(formFlowDefinitionKey: string): void {\n this.notificationService.showToast({\n caption: this.translateService.instant('formFlow.savedSuccessTitleMessage', {\n key: formFlowDefinitionKey,\n }),\n type: 'success',\n title: this.translateService.instant('formFlow.savedSuccessTitle'),\n });\n }\n\n private initBreadcrumbs(\n params: FormFlowEditorParams,\n context: ManagementContext | null\n ): void {\n if (context === 'buildingBlock') {\n const route = `/building-block-management/building-block/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}`;\n const generalRoute = `${route}/general`;\n\n this.breadcrumbService.setThirdBreadcrumb({\n route: [generalRoute],\n content: `${params.caseDefinitionKey} (${params.caseDefinitionVersionTag})`,\n href: generalRoute,\n });\n\n const routeWithFormFlows = `${route}/form-flows`;\n\n this.breadcrumbService.setFourthBreadcrumb({\n route: [routeWithFormFlows],\n content: this.translateService.instant('buildingBlockManagement.tabs.formFlows'),\n href: routeWithFormFlows,\n });\n } else {\n const route = `/case-management/case/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}`;\n\n this.breadcrumbService.setThirdBreadcrumb({\n route: [route],\n content: `${params.caseDefinitionKey} (${params.caseDefinitionVersionTag})`,\n href: route,\n });\n\n const routeWithFormFlows = `${route}/form-flows`;\n\n this.breadcrumbService.setFourthBreadcrumb({\n route: [routeWithFormFlows],\n content: this.translateService.instant('caseManagement.tabs.formFlows'),\n href: routeWithFormFlows,\n });\n }\n }\n}\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\n@if (model$ | async; as model) {\n <valtimo-editor\n [disabled]=\"(loading$ | async) === false && readOnly$ | async\"\n [model]=\"model\"\n [jsonSchema]=\"formFlowSchemaJson\"\n (validEvent)=\"onValid($event)\"\n (valueChangeEvent)=\"onValueChange($event)\"\n [fitPage]=\"true\"\n ></valtimo-editor>\n} @else {\n <cds-loading></cds-loading>\n}\n\n<ng-container renderInPageHeader>\n <ng-template>\n <div\n *ngIf=\"{\n compactMode: compactMode$ | async,\n valid: valid$ | async,\n readOnly: readOnly$ | async,\n model: model$ | async,\n } as obs\"\n class=\"buttons-container\"\n >\n <v-overflow-menu placement=\"bottom-end\">\n <v-overflow-menu-trigger overflowTrigger></v-overflow-menu-trigger>\n <v-overflow-menu-option\n [disabled]=\"!obs.valid && !obs.readOnly\"\n (selected)=\"downloadFormFlowDefinition(obs.model)\"\n >{{ 'interface.export' | translate }}\n </v-overflow-menu-option>\n\n <v-overflow-menu-option\n [disabled]=\"obs.readOnly\"\n type=\"danger\"\n (selected)=\"showDeleteModal()\"\n >{{ 'interface.delete' | translate }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n\n <button cdsButton=\"secondary\" [size]=\"obs.compactMode ? 'sm' : 'md'\" (click)=\"navigateBack()\">\n {{ 'interface.back' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"arrow--left\" size=\"16\"></svg>\n </button>\n\n <button\n [disabled]=\"!obs.valid || obs.readOnly\"\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"updateFormFlowDefinition()\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </div>\n </ng-template>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete()\"\n></valtimo-confirmation-modal>\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\nimport {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {Observable} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'valtimo-delete-form-flow-modal',\n templateUrl: './delete-form-flow-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DeleteFormFlowModalComponent {\n @Input() deleteFormFlowDefinitionKey: string;\n @Input() showDeleteModal$: Observable<boolean>;\n @Output() deleteEvent = new EventEmitter<string>();\n\n public onDelete(formFlowDefinitionKey: string): void {\n this.deleteEvent.emit(formFlowDefinitionKey);\n }\n}\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\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteFormFlowDefinitionKey\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\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\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {\n CarbonListModule,\n ConfirmationModalModule,\n EditorModule,\n OverflowMenuComponent,\n OverflowMenuOptionComponent,\n OverflowMenuTriggerComponent,\n RenderInPageHeaderDirective,\n} from '@valtimo/components';\nimport {FormFlowOverviewComponent} from './components/overview/form-flow-overview.component';\nimport {NewFormFlowModalComponent} from './components/new-form-flow-modal/new-form-flow-modal.component';\nimport {\n ButtonModule,\n DropdownModule,\n IconModule,\n InputModule,\n LoadingModule,\n ModalModule,\n NotificationModule,\n} from 'carbon-components-angular';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {FormFlowEditorComponent} from './components/editor/form-flow-editor.component';\nimport {DeleteFormFlowModalComponent} from './components/delete-form-flow-modal/delete-form-flow-modal.component';\n\n@NgModule({\n declarations: [\n FormFlowOverviewComponent,\n FormFlowEditorComponent,\n DeleteFormFlowModalComponent,\n ],\n imports: [\n CommonModule,\n ButtonModule,\n FormsModule,\n ModalModule,\n TranslateModule,\n ReactiveFormsModule,\n InputModule,\n IconModule,\n ConfirmationModalModule,\n EditorModule,\n RenderInPageHeaderDirective,\n LoadingModule,\n IconModule,\n OverflowMenuComponent,\n OverflowMenuOptionComponent,\n OverflowMenuTriggerComponent,\n NotificationModule,\n CarbonListModule,\n DropdownModule,\n ConfirmationModalModule,\n NewFormFlowModalComponent,\n ],\n})\nexport class FormFlowManagementModule {}\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\n/*\n * Public API Surface of form-flow\n */\n\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/components/overview/form-flow-overview.component';\nexport * from './lib/components/editor/form-flow-editor.component';\nexport * from './lib/components/new-form-flow-modal/new-form-flow-modal.component';\nexport * from './lib/form-flow-management.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.FormFlowService","i3","i6","i7","i8.NewFormFlowModalComponent","i2.FormFlowDownloadService","i3.FormFlowService","i4","i5","i8"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"valtimo-form-flow-management.mjs","sources":["../../../../projects/valtimo/form-flow-management/src/lib/models/form-flow.model.ts","../../../../projects/valtimo/form-flow-management/src/lib/models/index.ts","../../../../projects/valtimo/form-flow-management/src/lib/services/form-flow.service.ts","../../../../projects/valtimo/form-flow-management/src/lib/services/index.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/new-form-flow-modal/new-form-flow-modal.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/new-form-flow-modal/new-form-flow-modal.component.html","../../../../projects/valtimo/form-flow-management/src/lib/components/overview/form-flow-overview.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/overview/form-flow-overview.component.html","../../../../projects/valtimo/form-flow-management/src/lib/services/form-flow-download.service.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/editor/form-flow-editor.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/editor/form-flow-editor.component.html","../../../../projects/valtimo/form-flow-management/src/lib/components/delete-form-flow-modal/delete-form-flow-modal.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/delete-form-flow-modal/delete-form-flow-modal.component.html","../../../../projects/valtimo/form-flow-management/src/lib/form-flow-management.module.ts","../../../../projects/valtimo/form-flow-management/src/public-api.ts","../../../../projects/valtimo/form-flow-management/src/valtimo-form-flow-management.ts"],"sourcesContent":["/*\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\ninterface ListFormFlowDefinition {\n key: string;\n versions: Array<number>;\n readOnly?: boolean;\n}\n\ninterface FormFlowDefinition {\n key: string;\n readOnly?: boolean;\n startStep: string;\n steps: Array<FormFlowStep>;\n}\n\ninterface FormFlowDefinitionId {\n key: string;\n version: number;\n}\n\ninterface FormFlowStep {\n key: string;\n nextSteps: Array<FormFlowNextStep>;\n onBack: Array<string>;\n onOpen: Array<string>;\n onComplete: Array<string>;\n type: FormFlowStepType;\n}\n\ninterface FormFlowNextStep {\n condition?: string;\n step: string;\n}\n\ninterface FormFlowStepType {\n name: string;\n properties: FormStepTypeProperties | CustomComponentStepTypeProperties;\n}\n\ninterface FormStepTypeProperties {\n definition: string;\n}\n\ninterface CustomComponentStepTypeProperties {\n componentId: string;\n}\n\ninterface DeleteFormFlowsRequest {\n formFlowKeys: Array<string>;\n}\n\ninterface LoadedValue<T> {\n isLoading: boolean;\n value?: T;\n}\n\ninterface FormFlowEditorParams {\n formFlowDefinitionKey: string;\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n}\n\ninterface FormFlowRouteParams {\n formFlowDefinitionKey: string;\n}\n\nexport {\n ListFormFlowDefinition,\n FormFlowDefinition,\n FormFlowDefinitionId,\n FormFlowStep,\n FormFlowNextStep,\n FormFlowStepType,\n FormStepTypeProperties,\n CustomComponentStepTypeProperties,\n DeleteFormFlowsRequest,\n LoadedValue,\n FormFlowEditorParams,\n FormFlowRouteParams,\n};\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\nexport * from './form-flow.model';\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\nimport {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {ConfigService, Page, BaseApiService} from '@valtimo/shared';\nimport {BehaviorSubject, catchError, Observable, of, switchMap, take, tap} from 'rxjs';\nimport {FormFlowDefinition, FormFlowDefinitionId, ListFormFlowDefinition} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FormFlowService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public getFormFlowDefinitionSchema(): Observable<object> {\n return this.httpClient.get<object>(this.getApiUrl('management/v1/form-flow-definition/schema'));\n }\n\n public getFormFlowDefinitions(\n caseDefinitionKey: string,\n caseVersionTag: string\n ): Observable<Page<ListFormFlowDefinition>> {\n return this.httpClient.get<Page<ListFormFlowDefinition>>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition`\n )\n );\n }\n\n public getFormFlowDefinitionByKey(\n caseDefinitionKey: string,\n caseVersionTag: string,\n formFlowDefinitionKey: string\n ): Observable<FormFlowDefinition> {\n return this.httpClient.get<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition/${formFlowDefinitionKey}`\n )\n );\n }\n\n public createFormFlowDefinition(\n caseDefinitionKey: string,\n caseVersionTag: string,\n definition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.post<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition`\n ),\n definition\n );\n }\n\n public deleteFormFlowDefinition(\n caseDefinitionKey: string,\n caseVersionTag: string,\n definitionKey: string\n ): Observable<null> {\n return this.httpClient.delete<null>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition/${definitionKey}`\n )\n );\n }\n\n public updateFormFlowDefinition(\n caseDefinitionKey: string,\n caseVersionTag: string,\n definitionKey: string,\n updatedDefinition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.put<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition/${definitionKey}`\n ),\n updatedDefinition\n );\n }\n\n public getBuildingBlockFormFlowDefinitions(\n buildingBlockKey: string,\n versionTag: string\n ): Observable<Page<ListFormFlowDefinition>> {\n return this.httpClient.get<Page<ListFormFlowDefinition>>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition`\n )\n );\n }\n\n public getBuildingBlockFormFlowDefinitionByKey(\n buildingBlockKey: string,\n versionTag: string,\n formFlowDefinitionKey: string\n ): Observable<FormFlowDefinition> {\n return this.httpClient.get<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition/${formFlowDefinitionKey}`\n )\n );\n }\n\n public createBuildingBlockFormFlowDefinition(\n buildingBlockKey: string,\n versionTag: string,\n definition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.post<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition`\n ),\n definition\n );\n }\n\n public deleteBuildingBlockFormFlowDefinition(\n buildingBlockKey: string,\n versionTag: string,\n definitionKey: string\n ): Observable<null> {\n return this.httpClient.delete<null>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition/${definitionKey}`\n )\n );\n }\n\n public updateBuildingBlockFormFlowDefinition(\n buildingBlockKey: string,\n versionTag: string,\n definitionKey: string,\n updatedDefinition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.put<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition/${definitionKey}`\n ),\n updatedDefinition\n );\n }\n}\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\nexport * from './form-flow.service';\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\nimport {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {FormBuilder, ReactiveFormsModule, Validators} from '@angular/forms';\nimport {FormFlowDefinition} from '../../models';\nimport {CARBON_CONSTANTS, ValtimoCdsModalDirective} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {ButtonModule, InputModule, ModalModule} from 'carbon-components-angular';\n\n@Component({\n standalone: true,\n selector: 'valtimo-new-form-flow-modal',\n templateUrl: './new-form-flow-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ReactiveFormsModule,\n TranslateModule,\n ModalModule,\n InputModule,\n ButtonModule,\n ValtimoCdsModalDirective,\n ],\n})\nexport class NewFormFlowModalComponent {\n @Input() open = false;\n @Output() closeEvent = new EventEmitter<FormFlowDefinition | null>();\n\n public form = this.fb.group({\n key: this.fb.control('', Validators.required),\n });\n\n public get key() {\n return this.form?.get('key');\n }\n\n constructor(private readonly fb: FormBuilder) {}\n\n public onCancel(): void {\n this.closeEvent.emit(null);\n this.resetForm();\n }\n\n public onConfirm(): void {\n if (!this.key) {\n return;\n }\n\n this.closeEvent.emit({\n key: this.key.value ?? '',\n startStep: 'start-step',\n steps: [],\n });\n this.resetForm();\n }\n\n private resetForm(): void {\n setTimeout(() => {\n this.form.reset();\n }, CARBON_CONSTANTS.modalAnimationMs);\n }\n}\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\n<cds-modal\n [open]=\"open\"\n showFooter=\"true\"\n [title]=\"'formFlow.add' | translate\"\n valtimoCdsModal\n (close)=\"onCancel()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ 'formFlow.add' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\">\n <cds-label [invalid]=\"key.dirty && key.invalid\">\n {{ 'formFlow.key' | translate }}\n\n <input\n formControlName=\"key\"\n cdsText\n placeholder=\"{{ 'formFlow.key' | translate }}\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"key.dirty && key.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"this.form.invalid\" (click)=\"onConfirm()\" cdsButton=\"primary\">\n {{ 'interface.create' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\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 */\nimport {ChangeDetectionStrategy, Component, ViewChild} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ActionItem, CarbonListComponent, ColumnConfig, ViewType} from '@valtimo/components';\nimport {\n CaseManagementParams,\n EditPermissionsService,\n getCaseManagementRouteParams,\n GlobalNotificationService,\n Page,\n} from '@valtimo/shared';\nimport {BehaviorSubject, combineLatest, map, Observable, of, switchMap, tap} from 'rxjs';\nimport {FormFlowDefinition, ListFormFlowDefinition} from '../../models';\nimport {FormFlowService} from '../../services';\n\n@Component({\n standalone: false,\n templateUrl: './form-flow-overview.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormFlowOverviewComponent {\n @ViewChild(CarbonListComponent) carbonList: CarbonListComponent;\n\n public readonly FIELDS: ColumnConfig[] = [\n {\n viewType: ViewType.TEXT,\n key: 'key',\n label: 'formFlow.key',\n },\n {\n viewType: ViewType.TEXT,\n key: 'versions.0',\n label: 'formFlow.version',\n },\n {\n viewType: ViewType.BOOLEAN,\n key: 'readOnly',\n label: 'formFlow.readOnly',\n },\n ];\n\n public readonly ACTION_ITEMS: ActionItem[] = [\n {\n callback: this.editFormFlowDetails.bind(this),\n label: 'interface.edit',\n },\n {\n callback: this.deleteFormFlow.bind(this),\n label: 'interface.delete',\n type: 'danger',\n },\n ];\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly showDeleteModal$ = new BehaviorSubject<boolean>(false);\n public readonly deleteDefinitionKey$ = new BehaviorSubject<string | null>(null);\n\n private _params: CaseManagementParams | undefined = undefined;\n private readonly _refresh$ = new BehaviorSubject<null>(null);\n public readonly formFlowDefinitions$: Observable<ListFormFlowDefinition[]> = combineLatest([\n getCaseManagementRouteParams(this.route),\n this._refresh$,\n ]).pipe(\n tap(([params]) => {\n this.loading$.next(true);\n this._params = params;\n }),\n switchMap(([params]) =>\n !params\n ? of(null)\n : this.formFlowService.getFormFlowDefinitions(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n )\n ),\n map((formFlows: Page<ListFormFlowDefinition> | null) => {\n this.loading$.next(false);\n return !formFlows ? [] : formFlows.content;\n })\n );\n public readonly showAddModal$ = new BehaviorSubject<boolean>(false);\n\n public readonly params$ = getCaseManagementRouteParams(this.route);\n\n public readonly hasEditPermissions$: Observable<boolean> = this.params$.pipe(\n switchMap(params =>\n this.editPermissionsService.hasEditPermissions(\n params?.caseDefinitionKey,\n params?.caseDefinitionVersionTag\n )\n )\n );\n\n constructor(\n private readonly formFlowService: FormFlowService,\n private readonly globalNotificationService: GlobalNotificationService,\n private readonly route: ActivatedRoute,\n private readonly router: Router,\n private readonly translateService: TranslateService,\n private readonly editPermissionsService: EditPermissionsService\n ) {}\n\n public openAddModal(): void {\n this.showAddModal$.next(true);\n }\n\n public onAdd(formFlowDefinition: FormFlowDefinition | null): void {\n this.showAddModal$.next(false);\n\n if (!formFlowDefinition || !this._params) return;\n\n this.formFlowService\n .createFormFlowDefinition(\n this._params.caseDefinitionKey,\n this._params.caseDefinitionVersionTag,\n formFlowDefinition\n )\n .subscribe((formFlowDefinition: FormFlowDefinition) => {\n this.showAddModal$.next(false);\n this.router.navigate([formFlowDefinition.key], {relativeTo: this.route});\n });\n }\n\n public editFormFlowDetails(formFlowDefinition: ListFormFlowDefinition): void {\n this.router.navigate([formFlowDefinition.key], {relativeTo: this.route});\n }\n\n public deleteFormFlow(item: ListFormFlowDefinition): void {\n this.deleteDefinitionKey$.next(item.key);\n this.showDeleteModal$.next(true);\n }\n\n public onDelete(definitionKey: string): void {\n if (!this._params) return;\n\n this.formFlowService\n .deleteFormFlowDefinition(\n this._params.caseDefinitionKey,\n this._params.caseDefinitionVersionTag,\n definitionKey\n )\n .subscribe(() => {\n this.globalNotificationService.showToast({\n title: this.translateService.instant('interface.delete'),\n caption: this.translateService.instant('formFlow.deletedSuccessfully', {\n key: definitionKey,\n }),\n type: 'success',\n });\n this._refresh$.next(null);\n });\n }\n}\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\n<valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [header]=\"false\"\n [items]=\"formFlowDefinitions$ | async\"\n [fields]=\"FIELDS\"\n [loading]=\"loading$ | async\"\n (rowClicked)=\"editFormFlowDetails($event)\"\n>\n <ng-container header> {{ 'formFlow.title' | translate }} </ng-container>\n\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addFormFlowButton\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"addFormFlowButton\"\n description=\"{{ 'formFlow.noResults.description' | translate }}\"\n title=\"{{ 'formFlow.noResults.title' | translate }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-new-form-flow-modal\n [open]=\"showAddModal$ | async\"\n (closeEvent)=\"onAdd($event)\"\n></valtimo-new-form-flow-modal>\n\n<ng-template #addFormFlowButton>\n <button *ngIf=\"hasEditPermissions$ | async\" cdsButton=\"primary\" (click)=\"openAddModal()\">\n {{ 'formFlow.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteDefinitionKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\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 */\nimport {Injectable} from '@angular/core';\nimport {FormFlowEditorParams} from '../models';\n\n@Injectable({providedIn: 'root'})\nexport class FormFlowDownloadService {\n public downloadJson(\n json: object,\n params: FormFlowEditorParams\n ): void {\n const sJson = JSON.stringify(json, null, 2);\n const element = document.createElement('a');\n element.setAttribute('href', 'data:text/json;charset=UTF-8,' + encodeURIComponent(sJson));\n element.setAttribute(\n 'download',\n `${params.caseDefinitionKey}-${params.caseDefinitionVersionTag}-${params.formFlowDefinitionKey}.formflow.json`\n );\n element.style.display = 'none';\n document.body.appendChild(element);\n element.click(); // simulate click\n document.body.removeChild(element);\n }\n}\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 */\nimport {ChangeDetectionStrategy, Component, OnDestroy} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {ArrowLeft16} from '@carbon/icons';\nimport {TranslateService} from '@ngx-translate/core';\nimport {\n BreadcrumbService,\n EditorModel,\n PageHeaderService,\n PageTitleService,\n} from '@valtimo/components';\nimport {\n getBuildingBlockManagementRouteParams,\n getCaseManagementRouteParams,\n getContextObservable,\n GlobalNotificationService,\n ManagementContext,\n} from '@valtimo/shared';\nimport {IconService} from 'carbon-components-angular';\nimport {editor} from 'monaco-editor';\nimport {\n BehaviorSubject,\n combineLatest,\n finalize,\n map,\n Observable,\n shareReplay,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {FormFlowDefinition, FormFlowEditorParams, FormFlowRouteParams} from '../../models';\nimport {FormFlowService} from '../../services';\nimport {FormFlowDownloadService} from '../../services/form-flow-download.service';\n\n@Component({\n standalone: false,\n templateUrl: './form-flow-editor.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./form-flow-editor.component.scss'],\n})\nexport class FormFlowEditorComponent implements OnDestroy {\n public readonly readOnly$ = new BehaviorSubject<boolean>(false);\n public readonly valid$ = new BehaviorSubject<boolean>(false);\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly showDeleteModal$ = new BehaviorSubject<boolean>(false);\n public readonly CARBON_THEME = 'g10';\n\n private readonly _context$: Observable<ManagementContext | null> = getContextObservable(\n this.route\n );\n\n private readonly _params$: Observable<FormFlowEditorParams> = this._context$.pipe(\n switchMap(context => {\n if (context === 'buildingBlock') {\n return combineLatest([\n getBuildingBlockManagementRouteParams(this.route),\n this.route.params as Observable<FormFlowRouteParams>,\n ]).pipe(\n map(([bbParams, params]) => ({\n caseDefinitionKey: bbParams?.buildingBlockDefinitionKey ?? '',\n caseDefinitionVersionTag: bbParams?.buildingBlockDefinitionVersionTag ?? '',\n formFlowDefinitionKey: params.formFlowDefinitionKey,\n }))\n );\n }\n\n return combineLatest([\n getCaseManagementRouteParams(this.route),\n this.route.params as Observable<FormFlowRouteParams>,\n ]).pipe(\n map(([caseManagementParams, params]) => ({\n ...(caseManagementParams ?? {caseDefinitionKey: '', caseDefinitionVersionTag: ''}),\n ...params,\n }))\n );\n })\n );\n\n public readonly formFlowSchemaJson$: Observable<object> = this.formFlowService\n .getFormFlowDefinitionSchema()\n .pipe(shareReplay(1));\n\n public readonly editorOptions: editor.IEditorOptions = {\n quickSuggestions: {other: true, comments: false, strings: true},\n };\n\n private readonly _formFlowDefinition2$ = combineLatest([this._params$, this._context$]).pipe(\n tap(() => this.loading$.next(true)),\n switchMap(([params, context]) => {\n this.initBreadcrumbs(params, context);\n\n if (context === 'buildingBlock') {\n return this.formFlowService.getBuildingBlockFormFlowDefinitionByKey(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n }\n\n return this.formFlowService.getFormFlowDefinitionByKey(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n }),\n tap((formFlowDefinition: FormFlowDefinition) => {\n this.pageTitleService.setCustomPageTitle(formFlowDefinition.key);\n this.readOnly$.next(formFlowDefinition.readOnly === true);\n this.loading$.next(false);\n })\n );\n public readonly model$: Observable<EditorModel> = this._formFlowDefinition2$.pipe(\n map((formFlowDefinition: FormFlowDefinition) => this.getEditorModel(formFlowDefinition))\n );\n\n private readonly _updatedModelValue$ = new BehaviorSubject<string>('');\n\n public readonly compactMode$ = this.pageHeaderService.compactMode$;\n\n constructor(\n private readonly breadcrumbService: BreadcrumbService,\n private readonly formFlowDownloadService: FormFlowDownloadService,\n private readonly formFlowService: FormFlowService,\n private readonly iconService: IconService,\n private readonly notificationService: GlobalNotificationService,\n private readonly pageHeaderService: PageHeaderService,\n private readonly pageTitleService: PageTitleService,\n private readonly route: ActivatedRoute,\n private readonly router: Router,\n private readonly translateService: TranslateService\n ) {\n this.iconService.registerAll([ArrowLeft16]);\n this.pageTitleService.disableReset();\n }\n\n public ngOnDestroy(): void {\n this.pageTitleService.enableReset();\n this.breadcrumbService.clearThirdBreadcrumb();\n this.breadcrumbService.clearFourthBreadcrumb();\n }\n\n public onValid(valid: boolean): void {\n this.valid$.next(valid);\n }\n\n public onValueChange(value: string): void {\n this._updatedModelValue$.next(value);\n }\n\n public updateFormFlowDefinition(): void {\n this.loading$.next(true);\n\n combineLatest([this._params$, this._updatedModelValue$, this._context$])\n .pipe(\n take(1),\n switchMap(([params, updatedModelValue, context]) => {\n const updatedDefinition = {\n ...(JSON.parse(updatedModelValue) as FormFlowDefinition),\n key: params.formFlowDefinitionKey,\n };\n\n if (context === 'buildingBlock') {\n return this.formFlowService.updateBuildingBlockFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey,\n updatedDefinition\n );\n }\n\n return this.formFlowService.updateFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey,\n updatedDefinition\n );\n }),\n finalize(() => this.loading$.next(false))\n )\n .subscribe(result => {\n this.showSuccessMessage(result.key);\n });\n }\n\n public onDelete(): void {\n this.loading$.next(true);\n combineLatest([this._params$, this._context$])\n .pipe(\n take(1),\n switchMap(([params, context]) => {\n if (context === 'buildingBlock') {\n return this.formFlowService.deleteBuildingBlockFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n }\n\n return this.formFlowService.deleteFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n })\n )\n .subscribe(() => {\n this.router.navigate(['../'], {relativeTo: this.route});\n });\n }\n\n public showDeleteModal(): void {\n this.showDeleteModal$.next(true);\n }\n\n public downloadFormFlowDefinition(model: EditorModel): void {\n this._params$\n .pipe(take(1))\n .subscribe((params: FormFlowEditorParams) =>\n this.formFlowDownloadService.downloadJson(JSON.parse(model.value), params)\n );\n }\n\n public navigateBack(): void {\n this.router.navigate(['../'], {relativeTo: this.route});\n }\n\n private getEditorModel(formFlowDefinition: FormFlowDefinition): EditorModel {\n const clone = {...formFlowDefinition};\n delete clone.readOnly;\n return {\n value: JSON.stringify(clone),\n language: 'json',\n uri: `inmemory://form-flow/${formFlowDefinition.key}.formflow.json`,\n };\n }\n\n private showSuccessMessage(formFlowDefinitionKey: string): void {\n this.notificationService.showToast({\n caption: this.translateService.instant('formFlow.savedSuccessTitleMessage', {\n key: formFlowDefinitionKey,\n }),\n type: 'success',\n title: this.translateService.instant('formFlow.savedSuccessTitle'),\n });\n }\n\n private initBreadcrumbs(params: FormFlowEditorParams, context: ManagementContext | null): void {\n if (context === 'buildingBlock') {\n const route = `/building-block-management/building-block/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}`;\n const generalRoute = `${route}/general`;\n\n this.breadcrumbService.setThirdBreadcrumb({\n route: [generalRoute],\n content: `${params.caseDefinitionKey} (${params.caseDefinitionVersionTag})`,\n href: generalRoute,\n });\n\n const routeWithFormFlows = `${route}/form-flows`;\n\n this.breadcrumbService.setFourthBreadcrumb({\n route: [routeWithFormFlows],\n content: this.translateService.instant('buildingBlockManagement.tabs.formFlows'),\n href: routeWithFormFlows,\n });\n } else {\n const route = `/case-management/case/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}`;\n\n this.breadcrumbService.setThirdBreadcrumb({\n route: [route],\n content: `${params.caseDefinitionKey} (${params.caseDefinitionVersionTag})`,\n href: route,\n });\n\n const routeWithFormFlows = `${route}/form-flows`;\n\n this.breadcrumbService.setFourthBreadcrumb({\n route: [routeWithFormFlows],\n content: this.translateService.instant('caseManagement.tabs.formFlows'),\n href: routeWithFormFlows,\n });\n }\n }\n}\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\n@if ({model: model$ | async, schema: formFlowSchemaJson$ | async}; as obs) {\n @if (obs.model && obs.schema) {\n <valtimo-editor\n [disabled]=\"(loading$ | async) === false && readOnly$ | async\"\n [editorOptions]=\"editorOptions\"\n [model]=\"obs.model\"\n [jsonSchema]=\"obs.schema\"\n (validEvent)=\"onValid($event)\"\n (valueChangeEvent)=\"onValueChange($event)\"\n [fitPage]=\"true\"\n ></valtimo-editor>\n } @else {\n <cds-loading></cds-loading>\n }\n}\n\n<ng-container renderInPageHeader>\n <ng-template>\n <div\n *ngIf=\"{\n compactMode: compactMode$ | async,\n valid: valid$ | async,\n readOnly: readOnly$ | async,\n model: model$ | async,\n } as obs\"\n class=\"buttons-container\"\n >\n <v-overflow-menu placement=\"bottom-end\">\n <v-overflow-menu-trigger overflowTrigger></v-overflow-menu-trigger>\n <v-overflow-menu-option\n [disabled]=\"!obs.valid && !obs.readOnly\"\n (selected)=\"downloadFormFlowDefinition(obs.model)\"\n >{{ 'interface.export' | translate }}\n </v-overflow-menu-option>\n\n <v-overflow-menu-option\n [disabled]=\"obs.readOnly\"\n type=\"danger\"\n (selected)=\"showDeleteModal()\"\n >{{ 'interface.delete' | translate }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n\n <button cdsButton=\"secondary\" [size]=\"obs.compactMode ? 'sm' : 'md'\" (click)=\"navigateBack()\">\n {{ 'interface.back' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"arrow--left\" size=\"16\"></svg>\n </button>\n\n <button\n [disabled]=\"!obs.valid || obs.readOnly\"\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"updateFormFlowDefinition()\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </div>\n </ng-template>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete()\"\n></valtimo-confirmation-modal>\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\nimport {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {Observable} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'valtimo-delete-form-flow-modal',\n templateUrl: './delete-form-flow-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DeleteFormFlowModalComponent {\n @Input() deleteFormFlowDefinitionKey: string;\n @Input() showDeleteModal$: Observable<boolean>;\n @Output() deleteEvent = new EventEmitter<string>();\n\n public onDelete(formFlowDefinitionKey: string): void {\n this.deleteEvent.emit(formFlowDefinitionKey);\n }\n}\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\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteFormFlowDefinitionKey\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\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\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {\n CarbonListModule,\n ConfirmationModalModule,\n EditorModule,\n OverflowMenuComponent,\n OverflowMenuOptionComponent,\n OverflowMenuTriggerComponent,\n RenderInPageHeaderDirective,\n} from '@valtimo/components';\nimport {FormFlowOverviewComponent} from './components/overview/form-flow-overview.component';\nimport {NewFormFlowModalComponent} from './components/new-form-flow-modal/new-form-flow-modal.component';\nimport {\n ButtonModule,\n DropdownModule,\n IconModule,\n InputModule,\n LoadingModule,\n ModalModule,\n NotificationModule,\n} from 'carbon-components-angular';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {FormFlowEditorComponent} from './components/editor/form-flow-editor.component';\nimport {DeleteFormFlowModalComponent} from './components/delete-form-flow-modal/delete-form-flow-modal.component';\n\n@NgModule({\n declarations: [\n FormFlowOverviewComponent,\n FormFlowEditorComponent,\n DeleteFormFlowModalComponent,\n ],\n imports: [\n CommonModule,\n ButtonModule,\n FormsModule,\n ModalModule,\n TranslateModule,\n ReactiveFormsModule,\n InputModule,\n IconModule,\n ConfirmationModalModule,\n EditorModule,\n RenderInPageHeaderDirective,\n LoadingModule,\n IconModule,\n OverflowMenuComponent,\n OverflowMenuOptionComponent,\n OverflowMenuTriggerComponent,\n NotificationModule,\n CarbonListModule,\n DropdownModule,\n ConfirmationModalModule,\n NewFormFlowModalComponent,\n ],\n})\nexport class FormFlowManagementModule {}\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\n/*\n * Public API Surface of form-flow\n */\n\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/components/overview/form-flow-overview.component';\nexport * from './lib/components/editor/form-flow-editor.component';\nexport * from './lib/components/new-form-flow-modal/new-form-flow-modal.component';\nexport * from './lib/form-flow-management.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.FormFlowService","i3","i6","i7","i8.NewFormFlowModalComponent","i2.FormFlowDownloadService","i3.FormFlowService","i4","i5","i8"],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import { TranslateService } from '@ngx-translate/core';
|
|
|
4
4
|
import { BreadcrumbService, EditorModel, PageHeaderService, PageTitleService } from '@valtimo/components';
|
|
5
5
|
import { GlobalNotificationService } from '@valtimo/shared';
|
|
6
6
|
import { IconService } from 'carbon-components-angular';
|
|
7
|
+
import { editor } from 'monaco-editor';
|
|
7
8
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
8
|
-
import { FormFlowDefinitionId } from '../../models';
|
|
9
9
|
import { FormFlowService } from '../../services';
|
|
10
10
|
import { FormFlowDownloadService } from '../../services/form-flow-download.service';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
@@ -24,89 +24,11 @@ export declare class FormFlowEditorComponent implements OnDestroy {
|
|
|
24
24
|
readonly valid$: BehaviorSubject<boolean>;
|
|
25
25
|
readonly loading$: BehaviorSubject<boolean>;
|
|
26
26
|
readonly showDeleteModal$: BehaviorSubject<boolean>;
|
|
27
|
-
readonly formFlowDefinitionId$: BehaviorSubject<FormFlowDefinitionId>;
|
|
28
27
|
readonly CARBON_THEME = "g10";
|
|
29
28
|
private readonly _context$;
|
|
30
29
|
private readonly _params$;
|
|
31
|
-
readonly formFlowSchemaJson
|
|
32
|
-
|
|
33
|
-
$id: string;
|
|
34
|
-
title: string;
|
|
35
|
-
description: string;
|
|
36
|
-
type: string;
|
|
37
|
-
properties: {
|
|
38
|
-
startStep: {
|
|
39
|
-
type: string;
|
|
40
|
-
description: string;
|
|
41
|
-
};
|
|
42
|
-
steps: {
|
|
43
|
-
type: string;
|
|
44
|
-
description: string;
|
|
45
|
-
items: {
|
|
46
|
-
type: string;
|
|
47
|
-
properties: {
|
|
48
|
-
key: {
|
|
49
|
-
type: string;
|
|
50
|
-
description: string;
|
|
51
|
-
};
|
|
52
|
-
type: {
|
|
53
|
-
type: string;
|
|
54
|
-
description: string;
|
|
55
|
-
properties: {
|
|
56
|
-
name: {
|
|
57
|
-
type: string;
|
|
58
|
-
description: string;
|
|
59
|
-
};
|
|
60
|
-
properties: {
|
|
61
|
-
type: string;
|
|
62
|
-
description: string;
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
required: string[];
|
|
66
|
-
};
|
|
67
|
-
onOpen: {
|
|
68
|
-
type: string;
|
|
69
|
-
description: string;
|
|
70
|
-
items: {
|
|
71
|
-
type: string;
|
|
72
|
-
description: string;
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
onComplete: {
|
|
76
|
-
type: string;
|
|
77
|
-
description: string;
|
|
78
|
-
items: {
|
|
79
|
-
type: string;
|
|
80
|
-
description: string;
|
|
81
|
-
};
|
|
82
|
-
};
|
|
83
|
-
nextSteps: {
|
|
84
|
-
type: string;
|
|
85
|
-
description: string;
|
|
86
|
-
items: {
|
|
87
|
-
type: string;
|
|
88
|
-
properties: {
|
|
89
|
-
step: {
|
|
90
|
-
type: string;
|
|
91
|
-
title: string;
|
|
92
|
-
};
|
|
93
|
-
condition: {
|
|
94
|
-
type: string[];
|
|
95
|
-
title: string;
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
required: string[];
|
|
99
|
-
};
|
|
100
|
-
};
|
|
101
|
-
};
|
|
102
|
-
required: string[];
|
|
103
|
-
};
|
|
104
|
-
minItems: number;
|
|
105
|
-
uniqueItems: boolean;
|
|
106
|
-
};
|
|
107
|
-
};
|
|
108
|
-
required: string[];
|
|
109
|
-
};
|
|
30
|
+
readonly formFlowSchemaJson$: Observable<object>;
|
|
31
|
+
readonly editorOptions: editor.IEditorOptions;
|
|
110
32
|
private readonly _formFlowDefinition2$;
|
|
111
33
|
readonly model$: Observable<EditorModel>;
|
|
112
34
|
private readonly _updatedModelValue$;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-flow-editor.component.d.ts","sourceRoot":"","sources":["../../../../../../projects/valtimo/form-flow-management/src/lib/components/editor/form-flow-editor.component.ts"],"names":[],"mappings":"AAeA,OAAO,EAAqC,SAAS,EAAC,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAC,cAAc,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"form-flow-editor.component.d.ts","sourceRoot":"","sources":["../../../../../../projects/valtimo/form-flow-management/src/lib/components/editor/form-flow-editor.component.ts"],"names":[],"mappings":"AAeA,OAAO,EAAqC,SAAS,EAAC,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAC,cAAc,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,yBAAyB,EAE1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EACL,eAAe,EAIf,UAAU,EAKX,MAAM,MAAM,CAAC;AAEd,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,uBAAuB,EAAC,MAAM,2CAA2C,CAAC;;AAElF,qBAMa,uBAAwB,YAAW,SAAS;IAgFrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAxFnC,SAAgB,SAAS,2BAAuC;IAChE,SAAgB,MAAM,2BAAuC;IAC7D,SAAgB,QAAQ,2BAAsC;IAC9D,SAAgB,gBAAgB,2BAAuC;IACvE,SAAgB,YAAY,SAAS;IAErC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAExB;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAyBvB;IAEF,SAAgB,mBAAmB,EAAE,UAAU,CAAC,MAAM,CAAC,CAE/B;IAExB,SAAgB,aAAa,EAAE,MAAM,CAAC,cAAc,CAElD;IAEF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAwBpC;IACF,SAAgB,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAE7C;IAEF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAmC;IAEvE,SAAgB,YAAY,sBAAuC;gBAGhD,iBAAiB,EAAE,iBAAiB,EACpC,uBAAuB,EAAE,uBAAuB,EAChD,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,yBAAyB,EAC9C,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB;IAM9C,WAAW,IAAI,IAAI;IAMnB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI7B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIlC,wBAAwB,IAAI,IAAI;IAmChC,QAAQ,IAAI,IAAI;IA0BhB,eAAe,IAAI,IAAI;IAIvB,0BAA0B,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAQpD,YAAY,IAAI,IAAI;IAI3B,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,eAAe;yCA9MZ,uBAAuB;2CAAvB,uBAAuB;CAkPnC"}
|
|
@@ -7,6 +7,7 @@ export declare class FormFlowService extends BaseApiService {
|
|
|
7
7
|
protected readonly httpClient: HttpClient;
|
|
8
8
|
protected readonly configService: ConfigService;
|
|
9
9
|
constructor(httpClient: HttpClient, configService: ConfigService);
|
|
10
|
+
getFormFlowDefinitionSchema(): Observable<object>;
|
|
10
11
|
getFormFlowDefinitions(caseDefinitionKey: string, caseVersionTag: string): Observable<Page<ListFormFlowDefinition>>;
|
|
11
12
|
getFormFlowDefinitionByKey(caseDefinitionKey: string, caseVersionTag: string, formFlowDefinitionKey: string): Observable<FormFlowDefinition>;
|
|
12
13
|
createFormFlowDefinition(caseDefinitionKey: string, caseVersionTag: string, definition: FormFlowDefinition): Observable<FormFlowDefinition>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-flow.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/form-flow-management/src/lib/services/form-flow.service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAC,aAAa,EAAE,IAAI,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAA8B,UAAU,EAA2B,MAAM,MAAM,CAAC;AACvF,OAAO,EAAC,kBAAkB,EAAwB,sBAAsB,EAAC,MAAM,WAAW,CAAC;;AAE3F,qBAGa,eAAgB,SAAQ,cAAc;IAE/C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IACzC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;gBAD5B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa;IAK1C,sBAAsB,CAC3B,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,GACrB,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAQpC,0BAA0B,CAC/B,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,qBAAqB,EAAE,MAAM,GAC5B,UAAU,CAAC,kBAAkB,CAAC;IAQ1B,wBAAwB,CAC7B,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,kBAAkB,GAC7B,UAAU,CAAC,kBAAkB,CAAC;IAS1B,wBAAwB,CAC7B,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,UAAU,CAAC,IAAI,CAAC;IAQZ,wBAAwB,CAC7B,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,kBAAkB,GACpC,UAAU,CAAC,kBAAkB,CAAC;IAS1B,mCAAmC,CACxC,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAQpC,uCAAuC,CAC5C,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,qBAAqB,EAAE,MAAM,GAC5B,UAAU,CAAC,kBAAkB,CAAC;IAQ1B,qCAAqC,CAC1C,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,kBAAkB,GAC7B,UAAU,CAAC,kBAAkB,CAAC;IAS1B,qCAAqC,CAC1C,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,UAAU,CAAC,IAAI,CAAC;IAQZ,qCAAqC,CAC1C,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,kBAAkB,GACpC,UAAU,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"form-flow.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/form-flow-management/src/lib/services/form-flow.service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAC,aAAa,EAAE,IAAI,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAA8B,UAAU,EAA2B,MAAM,MAAM,CAAC;AACvF,OAAO,EAAC,kBAAkB,EAAwB,sBAAsB,EAAC,MAAM,WAAW,CAAC;;AAE3F,qBAGa,eAAgB,SAAQ,cAAc;IAE/C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IACzC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;gBAD5B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa;IAK1C,2BAA2B,IAAI,UAAU,CAAC,MAAM,CAAC;IAIjD,sBAAsB,CAC3B,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,GACrB,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAQpC,0BAA0B,CAC/B,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,qBAAqB,EAAE,MAAM,GAC5B,UAAU,CAAC,kBAAkB,CAAC;IAQ1B,wBAAwB,CAC7B,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,kBAAkB,GAC7B,UAAU,CAAC,kBAAkB,CAAC;IAS1B,wBAAwB,CAC7B,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,UAAU,CAAC,IAAI,CAAC;IAQZ,wBAAwB,CAC7B,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,kBAAkB,GACpC,UAAU,CAAC,kBAAkB,CAAC;IAS1B,mCAAmC,CACxC,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAQpC,uCAAuC,CAC5C,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,qBAAqB,EAAE,MAAM,GAC5B,UAAU,CAAC,kBAAkB,CAAC;IAQ1B,qCAAqC,CAC1C,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,kBAAkB,GAC7B,UAAU,CAAC,kBAAkB,CAAC;IAS1B,qCAAqC,CAC1C,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,UAAU,CAAC,IAAI,CAAC;IAQZ,qCAAqC,CAC1C,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,kBAAkB,GACpC,UAAU,CAAC,kBAAkB,CAAC;yCA/HtB,eAAe;6CAAf,eAAe;CAuI3B"}
|