@valtimo-plugins/freemarker 6.0.0 → 7.0.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-plugins-freemarker.mjs +370 -274
- package/fesm2022/valtimo-plugins-freemarker.mjs.map +1 -1
- package/lib/models/freemarker-template.d.ts +10 -6
- package/lib/plugins/mail-template/components/generate-mail-content/generate-mail-content.component.d.ts +1 -2
- package/lib/plugins/mail-template/components/generate-mail-file/generate-mail-file.component.d.ts +1 -2
- package/lib/plugins/mail-template/components/mail-template-add-edit-modal/mail-template-add-edit-modal.component.d.ts +1 -1
- package/lib/plugins/mail-template/components/mail-template-delete-modal/mail-template-delete-modal.component.d.ts +1 -1
- package/lib/plugins/mail-template/components/mail-template-editor/mail-template-editor.component.d.ts +6 -3
- package/lib/plugins/mail-template/components/mail-template-list/mail-template-list.component.d.ts +7 -4
- package/lib/plugins/mail-template/mail-template-plugin-module.d.ts +9 -12
- package/lib/plugins/text-template/components/generate-text-file/generate-text-file.component.d.ts +1 -2
- package/lib/plugins/text-template/components/text-template-add-edit-modal/text-template-add-edit-modal.component.d.ts +1 -1
- package/lib/plugins/text-template/components/text-template-delete-modal/text-template-delete-modal.component.d.ts +1 -1
- package/lib/plugins/text-template/components/text-template-editor/text-template-editor.component.d.ts +7 -3
- package/lib/plugins/text-template/components/text-template-list/text-template-list.component.d.ts +7 -4
- package/lib/plugins/text-template/text-template-plugin-module.d.ts +8 -12
- package/lib/services/freemarker-template-management.service.d.ts +8 -7
- package/package.json +6 -9
- package/esm2022/lib/models/freemarker-template.mjs +0 -17
- package/esm2022/lib/models/index.mjs +0 -17
- package/esm2022/lib/plugins/mail-template/assets/index.mjs +0 -17
- package/esm2022/lib/plugins/mail-template/assets/mail-template-plugin-logo.mjs +0 -18
- package/esm2022/lib/plugins/mail-template/components/generate-mail-content/generate-mail-content.component.mjs +0 -94
- package/esm2022/lib/plugins/mail-template/components/generate-mail-file/generate-mail-file.component.mjs +0 -94
- package/esm2022/lib/plugins/mail-template/components/mail-template-add-edit-modal/mail-template-add-edit-modal.component.mjs +0 -87
- package/esm2022/lib/plugins/mail-template/components/mail-template-configuration/mail-template-configuration.component.mjs +0 -77
- package/esm2022/lib/plugins/mail-template/components/mail-template-delete-modal/mail-template-delete-modal.component.mjs +0 -39
- package/esm2022/lib/plugins/mail-template/components/mail-template-editor/mail-template-editor.component.mjs +0 -168
- package/esm2022/lib/plugins/mail-template/components/mail-template-list/mail-template-list.component.mjs +0 -104
- package/esm2022/lib/plugins/mail-template/mail-template-management-routing.module.mjs +0 -48
- package/esm2022/lib/plugins/mail-template/mail-template-plugin-module.mjs +0 -158
- package/esm2022/lib/plugins/mail-template/mail-template-plugin.specification.mjs +0 -74
- package/esm2022/lib/plugins/mail-template/models/config.mjs +0 -17
- package/esm2022/lib/plugins/mail-template/models/index.mjs +0 -17
- package/esm2022/lib/plugins/text-template/assets/index.mjs +0 -17
- package/esm2022/lib/plugins/text-template/assets/text-template-plugin-logo.mjs +0 -18
- package/esm2022/lib/plugins/text-template/components/generate-text-file/generate-text-file.component.mjs +0 -94
- package/esm2022/lib/plugins/text-template/components/text-template-add-edit-modal/text-template-add-edit-modal.component.mjs +0 -87
- package/esm2022/lib/plugins/text-template/components/text-template-configuration/text-template-configuration.component.mjs +0 -77
- package/esm2022/lib/plugins/text-template/components/text-template-delete-modal/text-template-delete-modal.component.mjs +0 -39
- package/esm2022/lib/plugins/text-template/components/text-template-editor/text-template-editor.component.mjs +0 -159
- package/esm2022/lib/plugins/text-template/components/text-template-list/text-template-list.component.mjs +0 -104
- package/esm2022/lib/plugins/text-template/models/config.mjs +0 -17
- package/esm2022/lib/plugins/text-template/models/index.mjs +0 -17
- package/esm2022/lib/plugins/text-template/text-template-management-routing.module.mjs +0 -48
- package/esm2022/lib/plugins/text-template/text-template-plugin-module.mjs +0 -153
- package/esm2022/lib/plugins/text-template/text-template-plugin.specification.mjs +0 -66
- package/esm2022/lib/services/freemarker-template-management.service.mjs +0 -74
- package/esm2022/lib/services/index.mjs +0 -17
- package/esm2022/public_api.mjs +0 -41
- package/esm2022/valtimo-plugins-freemarker.mjs +0 -5
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
17
|
-
import { BehaviorSubject, combineLatest, filter, map, switchMap, take, tap } from 'rxjs';
|
|
18
|
-
import { NotificationService } from 'carbon-components-angular';
|
|
19
|
-
import * as i0 from "@angular/core";
|
|
20
|
-
import * as i1 from "../../../../services";
|
|
21
|
-
import * as i2 from "@angular/router";
|
|
22
|
-
import * as i3 from "@valtimo/components";
|
|
23
|
-
import * as i4 from "carbon-components-angular";
|
|
24
|
-
import * as i5 from "@ngx-translate/core";
|
|
25
|
-
import * as i6 from "@angular/common";
|
|
26
|
-
import * as i7 from "../text-template-delete-modal/text-template-delete-modal.component";
|
|
27
|
-
export class TextTemplateEditorComponent {
|
|
28
|
-
constructor(templateService, route, pageTitleService, router, notificationService, translateService, breadcrumbService) {
|
|
29
|
-
this.templateService = templateService;
|
|
30
|
-
this.route = route;
|
|
31
|
-
this.pageTitleService = pageTitleService;
|
|
32
|
-
this.router = router;
|
|
33
|
-
this.notificationService = notificationService;
|
|
34
|
-
this.translateService = translateService;
|
|
35
|
-
this.breadcrumbService = breadcrumbService;
|
|
36
|
-
this.model$ = new BehaviorSubject(null);
|
|
37
|
-
this.template$ = new BehaviorSubject(null);
|
|
38
|
-
this.saveDisabled$ = new BehaviorSubject(true);
|
|
39
|
-
this.editorDisabled$ = new BehaviorSubject(false);
|
|
40
|
-
this.moreDisabled$ = new BehaviorSubject(true);
|
|
41
|
-
this.showDeleteModal$ = new BehaviorSubject(false);
|
|
42
|
-
this.updatedModelValue$ = new BehaviorSubject('');
|
|
43
|
-
this._caseDefinitionName$ = this.route.params.pipe(map(params => params?.name), filter(caseDefinitionName => !!caseDefinitionName));
|
|
44
|
-
this.templateKey$ = this.route.params.pipe(map(params => params?.key), filter(templateKey => !!templateKey));
|
|
45
|
-
}
|
|
46
|
-
ngOnInit() {
|
|
47
|
-
this.loadTemplate();
|
|
48
|
-
}
|
|
49
|
-
ngAfterViewInit() {
|
|
50
|
-
this.initBreadcrumb();
|
|
51
|
-
}
|
|
52
|
-
ngOnDestroy() {
|
|
53
|
-
this.pageTitleService.enableReset();
|
|
54
|
-
this.breadcrumbService.clearThirdBreadcrumb();
|
|
55
|
-
}
|
|
56
|
-
onValid(valid) {
|
|
57
|
-
this.saveDisabled$.next(valid === false);
|
|
58
|
-
}
|
|
59
|
-
onValueChange(value) {
|
|
60
|
-
this.updatedModelValue$.next(value);
|
|
61
|
-
}
|
|
62
|
-
updateTemplate() {
|
|
63
|
-
this.disableEditor();
|
|
64
|
-
this.disableSave();
|
|
65
|
-
this.disableMore();
|
|
66
|
-
combineLatest([this.updatedModelValue$, this._caseDefinitionName$, this.templateKey$]).pipe(switchMap(([updatedModelValue, caseDefinitionName, templateKey]) => this.templateService.updateTemplate({
|
|
67
|
-
key: templateKey,
|
|
68
|
-
caseDefinitionName,
|
|
69
|
-
type: 'text',
|
|
70
|
-
content: updatedModelValue,
|
|
71
|
-
})), take(1)).subscribe({
|
|
72
|
-
next: result => {
|
|
73
|
-
this.enableMore();
|
|
74
|
-
this.enableSave();
|
|
75
|
-
this.enableEditor();
|
|
76
|
-
this.showSuccessMessage(result.key);
|
|
77
|
-
this.setModel(result.content);
|
|
78
|
-
this.template$.next(result);
|
|
79
|
-
},
|
|
80
|
-
error: () => {
|
|
81
|
-
this.enableMore();
|
|
82
|
-
this.enableSave();
|
|
83
|
-
this.enableEditor();
|
|
84
|
-
},
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
onDelete(templates) {
|
|
88
|
-
this.disableEditor();
|
|
89
|
-
this.disableSave();
|
|
90
|
-
this.disableMore();
|
|
91
|
-
this._caseDefinitionName$.pipe(take(1)).subscribe(caseDefinitionName => this.templateService.deleteTemplates({ caseDefinitionName, type: 'text', templates }).pipe(take(1)).subscribe(_ => this.router.navigate([`/dossier-management/dossier/${caseDefinitionName}`])));
|
|
92
|
-
}
|
|
93
|
-
showDeleteModal() {
|
|
94
|
-
this.showDeleteModal$.next(true);
|
|
95
|
-
}
|
|
96
|
-
loadTemplate() {
|
|
97
|
-
combineLatest([this._caseDefinitionName$, this.templateKey$]).pipe(tap(([_, key]) => {
|
|
98
|
-
this.pageTitleService.setCustomPageTitle(`Text Template: ${key}`, true);
|
|
99
|
-
}), switchMap(([caseDefinitionName, key]) => this.templateService.getTextTemplate(caseDefinitionName, key)), take(1)).subscribe(result => {
|
|
100
|
-
this.enableMore();
|
|
101
|
-
this.enableSave();
|
|
102
|
-
this.enableEditor();
|
|
103
|
-
this.setModel(result.content);
|
|
104
|
-
this.template$.next(result);
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
setModel(content) {
|
|
108
|
-
this.model$.next({
|
|
109
|
-
value: content,
|
|
110
|
-
language: 'freemarker2',
|
|
111
|
-
});
|
|
112
|
-
this.updatedModelValue$.next(content);
|
|
113
|
-
}
|
|
114
|
-
disableMore() {
|
|
115
|
-
this.moreDisabled$.next(true);
|
|
116
|
-
}
|
|
117
|
-
enableMore() {
|
|
118
|
-
this.moreDisabled$.next(false);
|
|
119
|
-
}
|
|
120
|
-
disableSave() {
|
|
121
|
-
this.saveDisabled$.next(true);
|
|
122
|
-
}
|
|
123
|
-
enableSave() {
|
|
124
|
-
this.saveDisabled$.next(false);
|
|
125
|
-
}
|
|
126
|
-
disableEditor() {
|
|
127
|
-
this.editorDisabled$.next(true);
|
|
128
|
-
}
|
|
129
|
-
enableEditor() {
|
|
130
|
-
this.editorDisabled$.next(false);
|
|
131
|
-
}
|
|
132
|
-
initBreadcrumb() {
|
|
133
|
-
this._caseDefinitionName$.subscribe(caseDefinitionName => {
|
|
134
|
-
this.breadcrumbService.setThirdBreadcrumb({
|
|
135
|
-
route: [`/dossier-management/dossier/${caseDefinitionName}`],
|
|
136
|
-
content: caseDefinitionName,
|
|
137
|
-
href: `/dossier-management/dossier/${caseDefinitionName}`,
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
showSuccessMessage(key) {
|
|
142
|
-
this.notificationService.showToast({
|
|
143
|
-
caption: this.translateService.instant(`${key} was saved successfully`, {
|
|
144
|
-
key,
|
|
145
|
-
}),
|
|
146
|
-
type: 'success',
|
|
147
|
-
duration: 4000,
|
|
148
|
-
showClose: true,
|
|
149
|
-
title: this.translateService.instant('Saved successfully'),
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplateEditorComponent, deps: [{ token: i1.FreemarkerTemplateManagementService }, { token: i2.ActivatedRoute }, { token: i3.PageTitleService }, { token: i2.Router }, { token: i4.NotificationService }, { token: i5.TranslateService }, { token: i3.BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
153
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TextTemplateEditorComponent, selector: "ng-component", providers: [NotificationService], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n model: model$ | async,\n updatedModelValue: updatedModelValue$ | async,\n template: template$ | async,\n } as obs\">\n\n <div class=\"template-explanation\">\n Text Templates use <a target=\"_blank\" href=\"https://freemarker.apache.org/docs/dgui_quickstart_basics.html\">FreeMarker</a>\n to create placeholders inside the text. The data-model for FreeMarker is based upon nested <a\n target=\"_blank\" href=\"https://docs.valtimo.nl/reference/modules/value-resolver\">Valtimo value-resolvers</a>\n with a slightly different notation. For example: ${doc.firstName}. Retrieves\n the `firstName` from the case.\n\n Text Templates can be used as value resolvers. For example: ${template.my-text-template} or\n `template:my-text-template`.\n </div>\n\n <valtimo-editor\n [model]=\"obs.model\"\n [disabled]=\"(editorDisabled$ | async) || obs.template?.readOnly\"\n (validEvent)=\"onValid($event)\"\n (valueChangeEvent)=\"onValueChange($event)\"\n [fitPage]=\"true\"\n [fitPageExtraSpace]=\"80\"\n ></valtimo-editor>\n</ng-container>\n\n<ng-container renderInPageHeader>\n <ng-template>\n <div *ngIf=\"{\n model: model$ | async,\n moreDisabled: moreDisabled$ | async,\n template: template$ | async,\n } as obs\"\n class=\"buttons-container\"\n >\n <cds-overflow-menu class=\"overflow-button\">\n <cds-overflow-menu-option\n [disabled]=\"obs.moreDisabled || obs.template?.readOnly\"\n type=\"danger\"\n (selected)=\"showDeleteModal()\"\n >{{ 'interface.delete' | translate }}\n </cds-overflow-menu-option\n >\n </cds-overflow-menu>\n\n <button\n [disabled]=\"(saveDisabled$ | async) || obs.template?.readOnly\"\n cdsButton=\"primary\"\n size=\"md\"\n (click)=\"updateTemplate()\"\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<ng-container *ngIf=\"{templateKey: templateKey$ | async} as obs\">\n <valtimo-text-template-delete-modal\n [deleteRowKeys]=\"[obs.templateKey]\"\n [showDeleteModal$]=\"showDeleteModal$\"\n (deleteEvent)=\"onDelete($event)\"\n >\n </valtimo-text-template-delete-modal>\n</ng-container>\n", styles: [".loading-container{display:flex;width:100%;justify-content:center}.overflow-button{margin-right:16px}.buttons-container{display:flex;flex-direction:row}.template-explanation{margin-top:16px;margin-bottom:24px}\n/*!\n * Copyright 2015-2023 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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EditorComponent, selector: "valtimo-editor", inputs: ["editorOptions", "model", "disabled", "formatOnLoad", "widthPx", "heightPx", "heightStyle", "jsonSchema", "fitPage", "fitPageExtraSpace"], outputs: ["validEvent", "valueChangeEvent"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4.OverflowMenu, selector: "cds-overflow-menu, ibm-overflow-menu", inputs: ["buttonLabel", "flip", "placement", "open", "customTrigger", "offset", "wrapperClass", "triggerClass"], outputs: ["openChange"] }, { kind: "component", type: i4.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "directive", type: i4.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "directive", type: i3.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i7.TextTemplateDeleteModalComponent, selector: "valtimo-text-template-delete-modal", inputs: ["deleteRowKeys", "showDeleteModal$"], outputs: ["deleteEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
154
|
-
}
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplateEditorComponent, decorators: [{
|
|
156
|
-
type: Component,
|
|
157
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, providers: [NotificationService], template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n model: model$ | async,\n updatedModelValue: updatedModelValue$ | async,\n template: template$ | async,\n } as obs\">\n\n <div class=\"template-explanation\">\n Text Templates use <a target=\"_blank\" href=\"https://freemarker.apache.org/docs/dgui_quickstart_basics.html\">FreeMarker</a>\n to create placeholders inside the text. The data-model for FreeMarker is based upon nested <a\n target=\"_blank\" href=\"https://docs.valtimo.nl/reference/modules/value-resolver\">Valtimo value-resolvers</a>\n with a slightly different notation. For example: ${doc.firstName}. Retrieves\n the `firstName` from the case.\n\n Text Templates can be used as value resolvers. For example: ${template.my-text-template} or\n `template:my-text-template`.\n </div>\n\n <valtimo-editor\n [model]=\"obs.model\"\n [disabled]=\"(editorDisabled$ | async) || obs.template?.readOnly\"\n (validEvent)=\"onValid($event)\"\n (valueChangeEvent)=\"onValueChange($event)\"\n [fitPage]=\"true\"\n [fitPageExtraSpace]=\"80\"\n ></valtimo-editor>\n</ng-container>\n\n<ng-container renderInPageHeader>\n <ng-template>\n <div *ngIf=\"{\n model: model$ | async,\n moreDisabled: moreDisabled$ | async,\n template: template$ | async,\n } as obs\"\n class=\"buttons-container\"\n >\n <cds-overflow-menu class=\"overflow-button\">\n <cds-overflow-menu-option\n [disabled]=\"obs.moreDisabled || obs.template?.readOnly\"\n type=\"danger\"\n (selected)=\"showDeleteModal()\"\n >{{ 'interface.delete' | translate }}\n </cds-overflow-menu-option\n >\n </cds-overflow-menu>\n\n <button\n [disabled]=\"(saveDisabled$ | async) || obs.template?.readOnly\"\n cdsButton=\"primary\"\n size=\"md\"\n (click)=\"updateTemplate()\"\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<ng-container *ngIf=\"{templateKey: templateKey$ | async} as obs\">\n <valtimo-text-template-delete-modal\n [deleteRowKeys]=\"[obs.templateKey]\"\n [showDeleteModal$]=\"showDeleteModal$\"\n (deleteEvent)=\"onDelete($event)\"\n >\n </valtimo-text-template-delete-modal>\n</ng-container>\n", styles: [".loading-container{display:flex;width:100%;justify-content:center}.overflow-button{margin-right:16px}.buttons-container{display:flex;flex-direction:row}.template-explanation{margin-top:16px;margin-bottom:24px}\n/*!\n * Copyright 2015-2023 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"] }]
|
|
158
|
-
}], ctorParameters: () => [{ type: i1.FreemarkerTemplateManagementService }, { type: i2.ActivatedRoute }, { type: i3.PageTitleService }, { type: i2.Router }, { type: i4.NotificationService }, { type: i5.TranslateService }, { type: i3.BreadcrumbService }] });
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10ZW1wbGF0ZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby1wbHVnaW5zL2ZyZWVtYXJrZXIvc3JjL2xpYi9wbHVnaW5zL3RleHQtdGVtcGxhdGUvY29tcG9uZW50cy90ZXh0LXRlbXBsYXRlLWVkaXRvci90ZXh0LXRlbXBsYXRlLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vLXBsdWdpbnMvZnJlZW1hcmtlci9zcmMvbGliL3BsdWdpbnMvdGV4dC10ZW1wbGF0ZS9jb21wb25lbnRzL3RleHQtdGVtcGxhdGUtZWRpdG9yL3RleHQtdGVtcGxhdGUtZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFnQix1QkFBdUIsRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHbkcsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7OztBQVc5RCxNQUFNLE9BQU8sMkJBQTJCO0lBcUJwQyxZQUNxQixlQUFvRCxFQUNwRCxLQUFxQixFQUNyQixnQkFBa0MsRUFDbEMsTUFBYyxFQUNkLG1CQUF3QyxFQUN4QyxnQkFBa0MsRUFDbEMsaUJBQW9DO1FBTnBDLG9CQUFlLEdBQWYsZUFBZSxDQUFxQztRQUNwRCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCx3QkFB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Q0FFVyx1QkFBdUIsQ0FBQyxNQUFNLGFBRXBDLENBQUMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwLCB0YWtlLCB0YXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtCcmVhZGNydW1iU2VydmljZSwgRWRpdG9yTW9kZWwsIFBhZ2VUaXRsZVNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtOb3RpZmljYXRpb25TZXJ2aWNlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0ZyZWVtYXJrZXJUZW1wbGF0ZU1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1RlbXBsYXRlUmVzcG9uc2V9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi90ZXh0LXRlbXBsYXRlLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGV4dC10ZW1wbGF0ZS1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtOb3RpZmljYXRpb25TZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV4dFRlbXBsYXRlRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyByZWFkb25seSBtb2RlbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVkaXRvck1vZGVsIHwgbnVsbD4obnVsbCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHRlbXBsYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVSZXNwb25zZSB8IG51bGw+KG51bGwpO1xuICAgIHB1YmxpYyByZWFkb25seSBzYXZlRGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWRpdG9yRGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHVibGljIHJlYWRvbmx5IG1vcmVEaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICAgIHB1YmxpYyByZWFkb25seSBzaG93RGVsZXRlTW9kYWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHVibGljIHJlYWRvbmx5IHVwZGF0ZWRNb2RlbFZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jYXNlRGVmaW5pdGlvbk5hbWUkOiBPYnNlcnZhYmxlPHN0cmluZz4gPVxuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5waXBlKFxuICAgICAgICAgICAgbWFwKHBhcmFtcyA9PiBwYXJhbXM/Lm5hbWUpLFxuICAgICAgICAgICAgZmlsdGVyKGNhc2VEZWZpbml0aW9uTmFtZSA9PiAhIWNhc2VEZWZpbml0aW9uTmFtZSlcbiAgICAgICAgKTtcblxuICAgIHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZUtleSQ6IE9ic2VydmFibGU8c3RyaW5nPiA9XG4gICAgICAgIHRoaXMucm91dGUucGFyYW1zLnBpcGUoXG4gICAgICAgICAgICBtYXAocGFyYW1zID0+IHBhcmFtcz8ua2V5KSxcbiAgICAgICAgICAgIGZpbHRlcih0ZW1wbGF0ZUtleSA9PiAhIXRlbXBsYXRlS2V5KVxuICAgICAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGVtcGxhdGVTZXJ2aWNlOiBGcmVlbWFya2VyVGVtcGxhdGVNYW5hZ2VtZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnZVRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYnJlYWRjcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgICkge1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkVGVtcGxhdGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRCcmVhZGNydW1iKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2VUaXRsZVNlcnZpY2UuZW5hYmxlUmVzZXQoKTtcbiAgICAgICAgdGhpcy5icmVhZGNydW1iU2VydmljZS5jbGVhclRoaXJkQnJlYWRjcnVtYigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblZhbGlkKHZhbGlkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2F2ZURpc2FibGVkJC5uZXh0KHZhbGlkID09PSBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZWRNb2RlbFZhbHVlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlVGVtcGxhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZUVkaXRvcigpO1xuICAgICAgICB0aGlzLmRpc2FibGVTYXZlKCk7XG4gICAgICAgIHRoaXMuZGlzYWJsZU1vcmUoKTtcblxuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnVwZGF0ZWRNb2RlbFZhbHVlJCwgdGhpcy5fY2FzZURlZmluaXRpb25OYW1lJCwgdGhpcy50ZW1wbGF0ZUtleSRdKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChbdXBkYXRlZE1vZGVsVmFsdWUsIGNhc2VEZWZpbml0aW9uTmFtZSwgdGVtcGxhdGVLZXldKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlLnVwZGF0ZVRlbXBsYXRlKFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IHRlbXBsYXRlS2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZURlZmluaXRpb25OYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogdXBkYXRlZE1vZGVsVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGFrZSgxKVxuICAgICAgICApLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiByZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZW5hYmxlTW9yZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuZW5hYmxlU2F2ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuZW5hYmxlRWRpdG9yKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93U3VjY2Vzc01lc3NhZ2UocmVzdWx0LmtleSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRNb2RlbChyZXN1bHQuY29udGVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZSQubmV4dChyZXN1bHQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbmFibGVNb3JlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5lbmFibGVTYXZlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5lbmFibGVFZGl0b3IoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkRlbGV0ZSh0ZW1wbGF0ZXM6IEFycmF5PHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlRWRpdG9yKCk7XG4gICAgICAgIHRoaXMuZGlzYWJsZVNhdmUoKTtcbiAgICAgICAgdGhpcy5kaXNhYmxlTW9yZSgpO1xuXG4gICAgICAgIHRoaXMuX2Nhc2VEZWZpbml0aW9uTmFtZSQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoY2FzZURlZmluaXRpb25OYW1lID0+XG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5kZWxldGVUZW1wbGF0ZXMoe2Nhc2VEZWZpbml0aW9uTmFtZSwgdHlwZTogJ3RleHQnLCB0ZW1wbGF0ZXN9KS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShfID0+XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AvZG9zc2llci1tYW5hZ2VtZW50L2Rvc3NpZXIvJHtjYXNlRGVmaW5pdGlvbk5hbWV9YF0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3dEZWxldGVNb2RhbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaG93RGVsZXRlTW9kYWwkLm5leHQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkVGVtcGxhdGUoKTogdm9pZCB7XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX2Nhc2VEZWZpbml0aW9uTmFtZSQsIHRoaXMudGVtcGxhdGVLZXkkXSkucGlwZShcbiAgICAgICAgICAgIHRhcCgoW18sIGtleV0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VUaXRsZVNlcnZpY2Uuc2V0Q3VzdG9tUGFnZVRpdGxlKGBUZXh0IFRlbXBsYXRlOiAke2tleX1gLCB0cnVlKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChbY2FzZURlZmluaXRpb25OYW1lLCBrZXldKSA9PiB0aGlzLnRlbXBsYXRlU2VydmljZS5nZXRUZXh0VGVtcGxhdGUoY2FzZURlZmluaXRpb25OYW1lLCBrZXkpKSxcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZU1vcmUoKTtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlU2F2ZSgpO1xuICAgICAgICAgICAgdGhpcy5lbmFibGVFZGl0b3IoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0TW9kZWwocmVzdWx0LmNvbnRlbnQpO1xuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZSQubmV4dChyZXN1bHQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE1vZGVsKGNvbnRlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vZGVsJC5uZXh0KHtcbiAgICAgICAgICAgIHZhbHVlOiBjb250ZW50LFxuICAgICAgICAgICAgbGFuZ3VhZ2U6ICdmcmVlbWFya2VyMicsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnVwZGF0ZWRNb2RlbFZhbHVlJC5uZXh0KGNvbnRlbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGlzYWJsZU1vcmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9yZURpc2FibGVkJC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZW5hYmxlTW9yZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3JlRGlzYWJsZWQkLm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGlzYWJsZVNhdmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2F2ZURpc2FibGVkJC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZW5hYmxlU2F2ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYXZlRGlzYWJsZWQkLm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGlzYWJsZUVkaXRvcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JEaXNhYmxlZCQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGVuYWJsZUVkaXRvcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JEaXNhYmxlZCQubmV4dChmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0QnJlYWRjcnVtYigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2FzZURlZmluaXRpb25OYW1lJC5zdWJzY3JpYmUoY2FzZURlZmluaXRpb25OYW1lID0+IHtcbiAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYlNlcnZpY2Uuc2V0VGhpcmRCcmVhZGNydW1iKHtcbiAgICAgICAgICAgICAgICByb3V0ZTogW2AvZG9zc2llci1tYW5hZ2VtZW50L2Rvc3NpZXIvJHtjYXNlRGVmaW5pdGlvbk5hbWV9YF0sXG4gICAgICAgICAgICAgICAgY29udGVudDogY2FzZURlZmluaXRpb25OYW1lLFxuICAgICAgICAgICAgICAgIGhyZWY6IGAvZG9zc2llci1tYW5hZ2VtZW50L2Rvc3NpZXIvJHtjYXNlRGVmaW5pdGlvbk5hbWV9YCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dTdWNjZXNzTWVzc2FnZShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc2hvd1RvYXN0KHtcbiAgICAgICAgICAgIGNhcHRpb246IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGAke2tleX0gd2FzIHNhdmVkIHN1Y2Nlc3NmdWxseWAsIHtcbiAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgIGR1cmF0aW9uOiA0MDAwLFxuICAgICAgICAgICAgc2hvd0Nsb3NlOiB0cnVlLFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdTYXZlZCBzdWNjZXNzZnVsbHknKSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwie1xuICAgIG1vZGVsOiBtb2RlbCQgfCBhc3luYyxcbiAgICB1cGRhdGVkTW9kZWxWYWx1ZTogdXBkYXRlZE1vZGVsVmFsdWUkIHwgYXN5bmMsXG4gICAgdGVtcGxhdGU6IHRlbXBsYXRlJCB8IGFzeW5jLFxuICB9IGFzIG9ic1wiPlxuXG4gICAgPGRpdiBjbGFzcz1cInRlbXBsYXRlLWV4cGxhbmF0aW9uXCI+XG4gICAgICAgIFRleHQgVGVtcGxhdGVzIHVzZSA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9mcmVlbWFya2VyLmFwYWNoZS5vcmcvZG9jcy9kZ3VpX3F1aWNrc3RhcnRfYmFzaWNzLmh0bWxcIj5GcmVlTWFya2VyPC9hPlxuICAgICAgICB0byBjcmVhdGUgcGxhY2Vob2xkZXJzIGluc2lkZSB0aGUgdGV4dC4gVGhlIGRhdGEtbW9kZWwgZm9yIEZyZWVNYXJrZXIgaXMgYmFzZWQgdXBvbiBuZXN0ZWQgPGFcbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL2RvY3MudmFsdGltby5ubC9yZWZlcmVuY2UvbW9kdWxlcy92YWx1ZS1yZXNvbHZlclwiPlZhbHRpbW8gdmFsdWUtcmVzb2x2ZXJzPC9hPlxuICAgICAgICB3aXRoIGEgc2xpZ2h0bHkgZGlmZmVyZW50IG5vdGF0aW9uLiBGb3IgZXhhbXBsZTogJCYjMTIzO2RvYy5maXJzdE5hbWUmIzEyNTsuIFJldHJpZXZlc1xuICAgICAgICB0aGUgYGZpcnN0TmFtZWAgZnJvbSB0aGUgY2FzZS5cblxuICAgICAgICBUZXh0IFRlbXBsYXRlcyBjYW4gYmUgdXNlZCBhcyB2YWx1ZSByZXNvbHZlcnMuIEZvciBleGFtcGxlOiAkJiMxMjM7dGVtcGxhdGUubXktdGV4dC10ZW1wbGF0ZSYjMTI1OyBvclxuICAgICAgICBgdGVtcGxhdGU6bXktdGV4dC10ZW1wbGF0ZWAuXG4gICAgPC9kaXY+XG5cbiAgICA8dmFsdGltby1lZGl0b3JcbiAgICAgICAgICAgIFttb2RlbF09XCJvYnMubW9kZWxcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIihlZGl0b3JEaXNhYmxlZCQgfCBhc3luYykgfHwgb2JzLnRlbXBsYXRlPy5yZWFkT25seVwiXG4gICAgICAgICAgICAodmFsaWRFdmVudCk9XCJvblZhbGlkKCRldmVudClcIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlRXZlbnQpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtmaXRQYWdlXT1cInRydWVcIlxuICAgICAgICAgICAgW2ZpdFBhZ2VFeHRyYVNwYWNlXT1cIjgwXCJcbiAgICA+PC92YWx0aW1vLWVkaXRvcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyIHJlbmRlckluUGFnZUhlYWRlcj5cbiAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJ7XG4gICAgICAgICAgICAgICAgbW9kZWw6IG1vZGVsJCB8IGFzeW5jLFxuICAgICAgICAgICAgICAgIG1vcmVEaXNhYmxlZDogbW9yZURpc2FibGVkJCB8IGFzeW5jLFxuICAgICAgICAgICAgICAgIHRlbXBsYXRlOiB0ZW1wbGF0ZSQgfCBhc3luYyxcbiAgICAgICAgICAgICB9IGFzIG9ic1wiXG4gICAgICAgICAgICAgY2xhc3M9XCJidXR0b25zLWNvbnRhaW5lclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxjZHMtb3ZlcmZsb3ctbWVudSBjbGFzcz1cIm92ZXJmbG93LWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxjZHMtb3ZlcmZsb3ctbWVudS1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvYnMubW9yZURpc2FibGVkIHx8IG9icy50ZW1wbGF0ZT8ucmVhZE9ubHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImRhbmdlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwic2hvd0RlbGV0ZU1vZGFsKClcIlxuICAgICAgICAgICAgICAgID57eyAnaW50ZXJmYWNlLmRlbGV0ZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L2Nkcy1vdmVyZmxvdy1tZW51LW9wdGlvblxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvY2RzLW92ZXJmbG93LW1lbnU+XG5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIihzYXZlRGlzYWJsZWQkIHwgYXN5bmMpIHx8IG9icy50ZW1wbGF0ZT8ucmVhZE9ubHlcIlxuICAgICAgICAgICAgICAgICAgICBjZHNCdXR0b249XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1kXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInVwZGF0ZVRlbXBsYXRlKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7ICdpbnRlcmZhY2Uuc2F2ZScgfCB0cmFuc2xhdGUgfX1cblxuICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiIGNkc0ljb249XCJzYXZlXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwie3RlbXBsYXRlS2V5OiB0ZW1wbGF0ZUtleSQgfCBhc3luY30gYXMgb2JzXCI+XG4gICAgPHZhbHRpbW8tdGV4dC10ZW1wbGF0ZS1kZWxldGUtbW9kYWxcbiAgICAgICAgICAgIFtkZWxldGVSb3dLZXlzXT1cIltvYnMudGVtcGxhdGVLZXldXCJcbiAgICAgICAgICAgIFtzaG93RGVsZXRlTW9kYWwkXT1cInNob3dEZWxldGVNb2RhbCRcIlxuICAgICAgICAgICAgKGRlbGV0ZUV2ZW50KT1cIm9uRGVsZXRlKCRldmVudClcIlxuICAgID5cbiAgICA8L3ZhbHRpbW8tdGV4dC10ZW1wbGF0ZS1kZWxldGUtbW9kYWw+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { ChangeDetectionStrategy, Component, ViewChild, } from '@angular/core';
|
|
17
|
-
import { BehaviorSubject, filter, map, switchMap, take } from 'rxjs';
|
|
18
|
-
import { CarbonListComponent, ViewType } from '@valtimo/components';
|
|
19
|
-
import * as i0 from "@angular/core";
|
|
20
|
-
import * as i1 from "../../../../services";
|
|
21
|
-
import * as i2 from "@angular/router";
|
|
22
|
-
import * as i3 from "@angular/common";
|
|
23
|
-
import * as i4 from "@valtimo/components";
|
|
24
|
-
import * as i5 from "carbon-components-angular";
|
|
25
|
-
import * as i6 from "../text-template-add-edit-modal/text-template-add-edit-modal.component";
|
|
26
|
-
import * as i7 from "../text-template-delete-modal/text-template-delete-modal.component";
|
|
27
|
-
import * as i8 from "@ngx-translate/core";
|
|
28
|
-
export class TextTemplateListComponent {
|
|
29
|
-
constructor(templateService, router, route) {
|
|
30
|
-
this.templateService = templateService;
|
|
31
|
-
this.router = router;
|
|
32
|
-
this.route = route;
|
|
33
|
-
this.fields = [
|
|
34
|
-
{
|
|
35
|
-
viewType: ViewType.TEXT,
|
|
36
|
-
key: 'key',
|
|
37
|
-
label: 'Key',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
viewType: ViewType.BOOLEAN,
|
|
41
|
-
key: 'readOnly',
|
|
42
|
-
label: 'Read only',
|
|
43
|
-
},
|
|
44
|
-
];
|
|
45
|
-
this._caseDefinitionName$ = this.route.params.pipe(map(params => params?.name), filter(caseDefinitionName => !!caseDefinitionName));
|
|
46
|
-
this.templates$ = new BehaviorSubject(null);
|
|
47
|
-
this.showAddModal$ = new BehaviorSubject(false);
|
|
48
|
-
this.showDeleteModal$ = new BehaviorSubject(false);
|
|
49
|
-
this.selectedRowKeys$ = new BehaviorSubject([]);
|
|
50
|
-
this.loading$ = new BehaviorSubject(true);
|
|
51
|
-
}
|
|
52
|
-
ngOnInit() {
|
|
53
|
-
this.reloadTemplateList();
|
|
54
|
-
}
|
|
55
|
-
openAddModal() {
|
|
56
|
-
this.showAddModal$.next(true);
|
|
57
|
-
}
|
|
58
|
-
onAdd(data) {
|
|
59
|
-
if (!data) {
|
|
60
|
-
this.showAddModal$.next(false);
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
this._caseDefinitionName$.pipe(take(1), switchMap(caseDefinitionName => this.templateService.addTemplate({ caseDefinitionName, type: 'text', ...data }))).subscribe(template => {
|
|
64
|
-
this.showAddModal$.next(false);
|
|
65
|
-
this.gotoTextTemplateEditor(template.caseDefinitionName, template.key);
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
showDeleteModal() {
|
|
69
|
-
this.setSelectedTemplateKeys();
|
|
70
|
-
this.showDeleteModal$.next(true);
|
|
71
|
-
}
|
|
72
|
-
onDelete(templates) {
|
|
73
|
-
this.loading$.next(true);
|
|
74
|
-
this._caseDefinitionName$.pipe(take(1), switchMap(caseDefinitionName => this.templateService.deleteTemplates({ caseDefinitionName, type: 'text', templates }))).subscribe(_ => {
|
|
75
|
-
this.reloadTemplateList();
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
onRowClick(template) {
|
|
79
|
-
this._caseDefinitionName$.pipe(take(1)).subscribe(caseDefinitionName => this.gotoTextTemplateEditor(caseDefinitionName, template.key));
|
|
80
|
-
}
|
|
81
|
-
gotoTextTemplateEditor(caseDefinitionName, key) {
|
|
82
|
-
this.router.navigate([`/dossier-management/dossier/${caseDefinitionName}/text-template/${key}`]);
|
|
83
|
-
}
|
|
84
|
-
reloadTemplateList() {
|
|
85
|
-
this.loading$.next(true);
|
|
86
|
-
this._caseDefinitionName$.pipe(switchMap(caseDefinitionName => this.templateService.getAllTextTemplates(caseDefinitionName)), map(templatePage => templatePage.content), take(1)).subscribe(templateListItems => {
|
|
87
|
-
this.templates$.next(templateListItems);
|
|
88
|
-
this.loading$.next(false);
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
setSelectedTemplateKeys() {
|
|
92
|
-
this.selectedRowKeys$.next(this.carbonList.selectedItems.map((template) => template.key));
|
|
93
|
-
}
|
|
94
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplateListComponent, deps: [{ token: i1.FreemarkerTemplateManagementService }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
95
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TextTemplateListComponent, selector: "ng-component", viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 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 [header]=\"false\"\n [items]=\"templates$ | async\"\n [fields]=\"fields\"\n [loading]=\"loading$ | async\"\n [showSelectionColumn]=\"true\"\n (rowClicked)=\"onRowClick($event)\"\n>\n <ng-container header> {{ 'Title' }} </ng-container>\n\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addTemplateButton\"></ng-container>\n </div>\n\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showDeleteModal()\">\n {{ 'interface.delete' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addTemplateButton\"\n description=\"{{ 'Come back later.' }}\"\n title=\"{{ 'No templates found' }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-text-template-add-edit-modal\n [open]=\"showAddModal$ | async\"\n (closeEvent)=\"onAdd($event)\"\n></valtimo-text-template-add-edit-modal>\n\n<ng-container *ngIf=\"{selectedRowKeys: selectedRowKeys$ | async} as obs\">\n <valtimo-text-template-delete-modal\n [deleteRowKeys]=\"obs.selectedRowKeys\"\n [showDeleteModal$]=\"showDeleteModal$\"\n (deleteEvent)=\"onDelete($event)\"\n >\n </valtimo-text-template-delete-modal>\n</ng-container>\n\n<ng-template #addTemplateButton>\n <button cdsButton=\"primary\" (click)=\"openAddModal()\">\n {{ 'Add' }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i4.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "directive", type: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i5.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i6.TextTemplateAddEditModalComponent, selector: "valtimo-text-template-add-edit-modal", inputs: ["open", "type", "defaultKeyValue"], outputs: ["closeEvent"] }, { kind: "component", type: i7.TextTemplateDeleteModalComponent, selector: "valtimo-text-template-delete-modal", inputs: ["deleteRowKeys", "showDeleteModal$"], outputs: ["deleteEvent"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
96
|
-
}
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplateListComponent, decorators: [{
|
|
98
|
-
type: Component,
|
|
99
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2023 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 [header]=\"false\"\n [items]=\"templates$ | async\"\n [fields]=\"fields\"\n [loading]=\"loading$ | async\"\n [showSelectionColumn]=\"true\"\n (rowClicked)=\"onRowClick($event)\"\n>\n <ng-container header> {{ 'Title' }} </ng-container>\n\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addTemplateButton\"></ng-container>\n </div>\n\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showDeleteModal()\">\n {{ 'interface.delete' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addTemplateButton\"\n description=\"{{ 'Come back later.' }}\"\n title=\"{{ 'No templates found' }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-text-template-add-edit-modal\n [open]=\"showAddModal$ | async\"\n (closeEvent)=\"onAdd($event)\"\n></valtimo-text-template-add-edit-modal>\n\n<ng-container *ngIf=\"{selectedRowKeys: selectedRowKeys$ | async} as obs\">\n <valtimo-text-template-delete-modal\n [deleteRowKeys]=\"obs.selectedRowKeys\"\n [showDeleteModal$]=\"showDeleteModal$\"\n (deleteEvent)=\"onDelete($event)\"\n >\n </valtimo-text-template-delete-modal>\n</ng-container>\n\n<ng-template #addTemplateButton>\n <button cdsButton=\"primary\" (click)=\"openAddModal()\">\n {{ 'Add' }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n" }]
|
|
100
|
-
}], ctorParameters: () => [{ type: i1.FreemarkerTemplateManagementService }, { type: i2.Router }, { type: i2.ActivatedRoute }], propDecorators: { carbonList: [{
|
|
101
|
-
type: ViewChild,
|
|
102
|
-
args: [CarbonListComponent]
|
|
103
|
-
}] } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10ZW1wbGF0ZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8tcGx1Z2lucy9mcmVlbWFya2VyL3NyYy9saWIvcGx1Z2lucy90ZXh0LXRlbXBsYXRlL2NvbXBvbmVudHMvdGV4dC10ZW1wbGF0ZS1saXN0L3RleHQtdGVtcGxhdGUtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vLXBsdWdpbnMvZnJlZW1hcmtlci9zcmMvbGliL3BsdWdpbnMvdGV4dC10ZW1wbGF0ZS9jb21wb25lbnRzL3RleHQtdGVtcGxhdGUtbGlzdC90ZXh0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLFNBQVMsR0FBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUvRSxPQUFPLEVBQUMsbUJBQW1CLEVBQWdCLFFBQVEsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7O0FBUWhGLE1BQU0sT0FBTyx5QkFBeUI7SUEyQmxDLFlBQ3FCLGVBQW9ELEVBQ3BELE1BQWMsRUFDZCxLQUFxQjtRQUZyQixvQkFBZSxHQUFmLGVBQWUsQ0FBcUM7UUFDcEQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBM0JuQyxXQUFNLEdBQW1CO1lBQzVCO2dCQUNJLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSTtnQkFDdkIsR0FBRyxFQUFFLEtBQUs7Z0JBQ1YsS0FBSyxFQUFFLEtBQUs7YUFDZjtZ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KiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwLCB0YWtlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q2FyYm9uTGlzdENvbXBvbmVudCwgQ29sdW1uQ29uZmlnLCBWaWV3VHlwZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0ZyZWVtYXJrZXJUZW1wbGF0ZU1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1RlbXBsYXRlTGlzdEl0ZW19IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi90ZXh0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0VGVtcGxhdGVMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKENhcmJvbkxpc3RDb21wb25lbnQpIGNhcmJvbkxpc3Q6IENhcmJvbkxpc3RDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgZmllbGRzOiBDb2x1bW5Db25maWdbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFWFQsXG4gICAgICAgICAgICBrZXk6ICdrZXknLFxuICAgICAgICAgICAgbGFiZWw6ICdLZXknLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB2aWV3VHlwZTogVmlld1R5cGUuQk9PTEVBTixcbiAgICAgICAgICAgIGtleTogJ3JlYWRPbmx5JyxcbiAgICAgICAgICAgIGxhYmVsOiAnUmVhZCBvbmx5JyxcbiAgICAgICAgfSxcbiAgICBdO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2FzZURlZmluaXRpb25OYW1lJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5yb3V0ZS5wYXJhbXMucGlwZShcbiAgICAgICAgbWFwKHBhcmFtcyA9PiBwYXJhbXM/Lm5hbWUpLFxuICAgICAgICBmaWx0ZXIoY2FzZURlZmluaXRpb25OYW1lID0+ICEhY2FzZURlZmluaXRpb25OYW1lKSxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHRlbXBsYXRlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlTGlzdEl0ZW1bXSB8IG51bGw+KG51bGwpO1xuICAgIHB1YmxpYyByZWFkb25seSBzaG93QWRkTW9kYWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHVibGljIHJlYWRvbmx5IHNob3dEZWxldGVNb2RhbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRSb3dLZXlzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8c3RyaW5nPj4oW10pO1xuICAgIHB1YmxpYyByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZVNlcnZpY2U6IEZyZWVtYXJrZXJUZW1wbGF0ZU1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICAgICkge1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWxvYWRUZW1wbGF0ZUxpc3QoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlbkFkZE1vZGFsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dBZGRNb2RhbCQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25BZGQoZGF0YT86IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0FkZE1vZGFsJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Nhc2VEZWZpbml0aW9uTmFtZSQucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoY2FzZURlZmluaXRpb25OYW1lID0+IHRoaXMudGVtcGxhdGVTZXJ2aWNlLmFkZFRlbXBsYXRlKHtjYXNlRGVmaW5pdGlvbk5hbWUsIHR5cGU6ICd0ZXh0JywgLi4uZGF0YX0pKVxuICAgICAgICApLnN1YnNjcmliZSh0ZW1wbGF0ZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3dBZGRNb2RhbCQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmdvdG9UZXh0VGVtcGxhdGVFZGl0b3IodGVtcGxhdGUuY2FzZURlZmluaXRpb25OYW1lLCB0ZW1wbGF0ZS5rZXkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvd0RlbGV0ZU1vZGFsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkVGVtcGxhdGVLZXlzKCk7XG4gICAgICAgIHRoaXMuc2hvd0RlbGV0ZU1vZGFsJC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkRlbGV0ZSh0ZW1wbGF0ZXM6IEFycmF5PHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLl9jYXNlRGVmaW5pdGlvbk5hbWUkLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKGNhc2VEZWZpbml0aW9uTmFtZSA9PiB0aGlzLnRlbXBsYXRlU2VydmljZS5kZWxldGVUZW1wbGF0ZXMoe2Nhc2VEZWZpbml0aW9uTmFtZSwgdHlwZTogJ3RleHQnLCB0ZW1wbGF0ZXN9KSksXG4gICAgICAgICkuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWxvYWRUZW1wbGF0ZUxpc3QoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUm93Q2xpY2sodGVtcGxhdGU6IFRlbXBsYXRlTGlzdEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2FzZURlZmluaXRpb25OYW1lJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShjYXNlRGVmaW5pdGlvbk5hbWUgPT5cbiAgICAgICAgICAgIHRoaXMuZ290b1RleHRUZW1wbGF0ZUVkaXRvcihjYXNlRGVmaW5pdGlvbk5hbWUsIHRlbXBsYXRlLmtleSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdvdG9UZXh0VGVtcGxhdGVFZGl0b3IoY2FzZURlZmluaXRpb25OYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL2Rvc3NpZXItbWFuYWdlbWVudC9kb3NzaWVyLyR7Y2FzZURlZmluaXRpb25OYW1lfS90ZXh0LXRlbXBsYXRlLyR7a2V5fWBdKVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVsb2FkVGVtcGxhdGVMaXN0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuX2Nhc2VEZWZpbml0aW9uTmFtZSQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcChjYXNlRGVmaW5pdGlvbk5hbWUgPT4gdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZ2V0QWxsVGV4dFRlbXBsYXRlcyhjYXNlRGVmaW5pdGlvbk5hbWUpKSxcbiAgICAgICAgICAgIG1hcCh0ZW1wbGF0ZVBhZ2UgPT4gdGVtcGxhdGVQYWdlLmNvbnRlbnQpLFxuICAgICAgICAgICAgdGFrZSgxKVxuICAgICAgICApLnN1YnNjcmliZSh0ZW1wbGF0ZUxpc3RJdGVtcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlcyQubmV4dCh0ZW1wbGF0ZUxpc3RJdGVtcyk7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFNlbGVjdGVkVGVtcGxhdGVLZXlzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkUm93S2V5cyQubmV4dCh0aGlzLmNhcmJvbkxpc3Quc2VsZWN0ZWRJdGVtcy5tYXAoKHRlbXBsYXRlOiBUZW1wbGF0ZUxpc3RJdGVtKSA9PiB0ZW1wbGF0ZS5rZXkpKTtcbiAgICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjx2YWx0aW1vLWNhcmJvbi1saXN0XG4gICAgICAgIFtoZWFkZXJdPVwiZmFsc2VcIlxuICAgICAgICBbaXRlbXNdPVwidGVtcGxhdGVzJCB8IGFzeW5jXCJcbiAgICAgICAgW2ZpZWxkc109XCJmaWVsZHNcIlxuICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nJCB8IGFzeW5jXCJcbiAgICAgICAgW3Nob3dTZWxlY3Rpb25Db2x1bW5dPVwidHJ1ZVwiXG4gICAgICAgIChyb3dDbGlja2VkKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciBoZWFkZXI+IHt7ICdUaXRsZScgfX0gPC9uZy1jb250YWluZXI+XG5cbiAgICA8ZGl2IGNhcmJvblRvb2xiYXJDb250ZW50PlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkZFRlbXBsYXRlQnV0dG9uXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyIGNhcmJvblRvb2xiYXJBY3Rpb25zPlxuICAgICAgICA8YnV0dG9uIGNkc0J1dHRvbj1cInByaW1hcnlcIiAoY2xpY2spPVwic2hvd0RlbGV0ZU1vZGFsKClcIj5cbiAgICAgICAgICAgIHt7ICdpbnRlcmZhY2UuZGVsZXRlJyB8IHRyYW5zbGF0ZSB9fVxuXG4gICAgICAgICAgICA8c3ZnIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIiBjZHNJY29uPVwidHJhc2gtY2FuXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHZhbHRpbW8tbm8tcmVzdWx0c1xuICAgICAgICAgICAgW2FjdGlvbl09XCJhZGRUZW1wbGF0ZUJ1dHRvblwiXG4gICAgICAgICAgICBkZXNjcmlwdGlvbj1cInt7ICdDb21lIGJhY2sgbGF0ZXIuJyB9fVwiXG4gICAgICAgICAgICB0aXRsZT1cInt7ICdObyB0ZW1wbGF0ZXMgZm91bmQnIH19XCJcbiAgICA+PC92YWx0aW1vLW5vLXJlc3VsdHM+XG48L3ZhbHRpbW8tY2FyYm9uLWxpc3Q+XG5cbjx2YWx0aW1vLXRleHQtdGVtcGxhdGUtYWRkLWVkaXQtbW9kYWxcbiAgICAgICAgW29wZW5dPVwic2hvd0FkZE1vZGFsJCB8IGFzeW5jXCJcbiAgICAgICAgKGNsb3NlRXZlbnQpPVwib25BZGQoJGV2ZW50KVwiXG4+PC92YWx0aW1vLXRleHQtdGVtcGxhdGUtYWRkLWVkaXQtbW9kYWw+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ7c2VsZWN0ZWRSb3dLZXlzOiBzZWxlY3RlZFJvd0tleXMkIHwgYXN5bmN9IGFzIG9ic1wiPlxuICAgIDx2YWx0aW1vLXRleHQtdGVtcGxhdGUtZGVsZXRlLW1vZGFsXG4gICAgICAgICAgICBbZGVsZXRlUm93S2V5c109XCJvYnMuc2VsZWN0ZWRSb3dLZXlzXCJcbiAgICAgICAgICAgIFtzaG93RGVsZXRlTW9kYWwkXT1cInNob3dEZWxldGVNb2RhbCRcIlxuICAgICAgICAgICAgKGRlbGV0ZUV2ZW50KT1cIm9uRGVsZXRlKCRldmVudClcIlxuICAgID5cbiAgICA8L3ZhbHRpbW8tdGV4dC10ZW1wbGF0ZS1kZWxldGUtbW9kYWw+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNhZGRUZW1wbGF0ZUJ1dHRvbj5cbiAgICA8YnV0dG9uIGNkc0J1dHRvbj1cInByaW1hcnlcIiAoY2xpY2spPVwib3BlbkFkZE1vZGFsKClcIj5cbiAgICAgICAge3sgJ0FkZCcgfX1cblxuICAgICAgICA8c3ZnIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIiBjZHNJY29uPVwiYWRkXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gICAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2022 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
export {};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby1wbHVnaW5zL2ZyZWVtYXJrZXIvc3JjL2xpYi9wbHVnaW5zL3RleHQtdGVtcGxhdGUvbW9kZWxzL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIyIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7UGx1Z2luQ29uZmlndXJhdGlvbkRhdGF9IGZyb20gJ0B2YWx0aW1vL3BsdWdpbic7XG5cbmludGVyZmFjZSBUZXh0VGVtcGxhdGVDb25maWcgZXh0ZW5kcyBQbHVnaW5Db25maWd1cmF0aW9uRGF0YSB7XG59XG5cbmludGVyZmFjZSBHZW5lcmF0ZVRleHRDb250ZW50Q29uZmlnIHtcbiAgICB0ZXh0VGVtcGxhdGVLZXk6IHN0cmluZztcbiAgICBwcm9jZXNzVmFyaWFibGVOYW1lOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBHZW5lcmF0ZVRleHRGaWxlQ29uZmlnIHtcbiAgICB0ZXh0VGVtcGxhdGVLZXk6IHN0cmluZztcbiAgICBwcm9jZXNzVmFyaWFibGVOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB7VGV4dFRlbXBsYXRlQ29uZmlnLCBHZW5lcmF0ZVRleHRDb250ZW50Q29uZmlnLCBHZW5lcmF0ZVRleHRGaWxlQ29uZmlnfTtcbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2022 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
export * from './config';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vLXBsdWdpbnMvZnJlZW1hcmtlci9zcmMvbGliL3BsdWdpbnMvdGV4dC10ZW1wbGF0ZS9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIyIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnJztcbiJdfQ==
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { CommonModule } from '@angular/common';
|
|
17
|
-
import { NgModule } from '@angular/core';
|
|
18
|
-
import { RouterModule } from '@angular/router';
|
|
19
|
-
import { ROLE_ADMIN } from '@valtimo/config';
|
|
20
|
-
import { AuthGuardService } from '@valtimo/security';
|
|
21
|
-
import { TextTemplateEditorComponent } from './components/text-template-editor/text-template-editor.component';
|
|
22
|
-
import * as i0 from "@angular/core";
|
|
23
|
-
import * as i1 from "@angular/router";
|
|
24
|
-
const routes = [
|
|
25
|
-
{
|
|
26
|
-
path: 'dossier-management/dossier/:name/text-template/:key',
|
|
27
|
-
component: TextTemplateEditorComponent,
|
|
28
|
-
canActivate: [AuthGuardService],
|
|
29
|
-
data: {
|
|
30
|
-
title: 'Text Template Editor',
|
|
31
|
-
templates: [ROLE_ADMIN],
|
|
32
|
-
customPageTitle: true,
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
];
|
|
36
|
-
export class TemplateManagementRoutingModule {
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TemplateManagementRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
38
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TemplateManagementRoutingModule, imports: [CommonModule, i1.RouterModule], exports: [RouterModule] }); }
|
|
39
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TemplateManagementRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
|
|
40
|
-
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TemplateManagementRoutingModule, decorators: [{
|
|
42
|
-
type: NgModule,
|
|
43
|
-
args: [{
|
|
44
|
-
imports: [CommonModule, RouterModule.forChild(routes)],
|
|
45
|
-
exports: [RouterModule],
|
|
46
|
-
}]
|
|
47
|
-
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10ZW1wbGF0ZS1tYW5hZ2VtZW50LXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby1wbHVnaW5zL2ZyZWVtYXJrZXIvc3JjL2xpYi9wbHVnaW5zL3RleHQtdGVtcGxhdGUvdGV4dC10ZW1wbGF0ZS1tYW5hZ2VtZW50LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQzs7O0FBRTdHLE1BQU0sTUFBTSxHQUFXO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLHFEQUFxRDtRQUMzRCxTQUFTLEVBQUUsMkJBQTJCO1FBQ3RDLFdBQVcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLElBQUksRUFBRTtZQUNKLEtBQUssRUFBRSxzQkFBc0I7WUFDN0IsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDO1lBQ3ZCLGVBQWUsRUFBRSxJQUFJO1NBQ3RCO0tBQ0Y7Q0FDRixDQUFDO0FBTUYsTUFBTSxPQUFPLCtCQUErQjsrR0FBL0IsK0JBQStCO2dIQUEvQiwrQkFBK0IsWUFIaEMsWUFBWSw4QkFDWixZQUFZO2dIQUVYLCtCQUErQixZQUhoQyxZQUFZLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDM0MsWUFBWTs7NEZBRVgsK0JBQStCO2tCQUozQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlck1vZHVsZSwgUm91dGVzfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtST0xFX0FETUlOfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtBdXRoR3VhcmRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5pbXBvcnQge1RleHRUZW1wbGF0ZUVkaXRvckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHQtdGVtcGxhdGUtZWRpdG9yL3RleHQtdGVtcGxhdGUtZWRpdG9yLmNvbXBvbmVudCc7XG5cbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJ2Rvc3NpZXItbWFuYWdlbWVudC9kb3NzaWVyLzpuYW1lL3RleHQtdGVtcGxhdGUvOmtleScsXG4gICAgY29tcG9uZW50OiBUZXh0VGVtcGxhdGVFZGl0b3JDb21wb25lbnQsXG4gICAgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRTZXJ2aWNlXSxcbiAgICBkYXRhOiB7XG4gICAgICB0aXRsZTogJ1RleHQgVGVtcGxhdGUgRWRpdG9yJyxcbiAgICAgIHRlbXBsYXRlczogW1JPTEVfQURNSU5dLFxuICAgICAgY3VzdG9tUGFnZVRpdGxlOiB0cnVlLFxuICAgIH0sXG4gIH0sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZU1hbmFnZW1lbnRSb3V0aW5nTW9kdWxlIHt9XG4iXX0=
|