@valtimo-plugins/freemarker 8.0.0 → 8.1.1-V12
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/README.md +0 -1
- package/esm2022/lib/models/freemarker-template.mjs +17 -0
- package/esm2022/lib/models/index.mjs +17 -0
- package/esm2022/lib/plugins/document-generator/assets/document-generator-plugin-logo.mjs +18 -0
- package/esm2022/lib/plugins/document-generator/assets/index.mjs +17 -0
- package/esm2022/lib/plugins/document-generator/components/document-generator-configuration/document-generator-configuration.component.mjs +77 -0
- package/esm2022/lib/plugins/document-generator/components/document-template-add-edit-modal/document-template-add-edit-modal.component.mjs +117 -0
- package/esm2022/lib/plugins/document-generator/components/document-template-delete-modal/document-template-delete-modal.component.mjs +42 -0
- package/esm2022/lib/plugins/document-generator/components/document-template-editor/document-template-editor.component.mjs +211 -0
- package/esm2022/lib/plugins/document-generator/components/document-template-list/document-template-list.component.mjs +126 -0
- package/esm2022/lib/plugins/document-generator/components/generate-csv/generate-csv.component.mjs +94 -0
- package/esm2022/lib/plugins/document-generator/components/generate-pdf/generate-pdf.component.mjs +94 -0
- package/esm2022/lib/plugins/document-generator/document-generator-management-routing.module.mjs +48 -0
- package/esm2022/lib/plugins/document-generator/document-generator-plugin-module.mjs +137 -0
- package/esm2022/lib/plugins/document-generator/document-generator-plugin.specification.mjs +74 -0
- package/esm2022/lib/plugins/document-generator/models/config.mjs +18 -0
- package/esm2022/lib/plugins/document-generator/models/index.mjs +17 -0
- package/esm2022/lib/plugins/mail-template/assets/index.mjs +17 -0
- package/esm2022/lib/plugins/mail-template/assets/mail-template-plugin-logo.mjs +18 -0
- package/esm2022/lib/plugins/mail-template/components/generate-mail-content/generate-mail-content.component.mjs +94 -0
- package/esm2022/lib/plugins/mail-template/components/generate-mail-file/generate-mail-file.component.mjs +94 -0
- package/esm2022/lib/plugins/mail-template/components/mail-template-add-edit-modal/mail-template-add-edit-modal.component.mjs +92 -0
- package/esm2022/lib/plugins/mail-template/components/mail-template-configuration/mail-template-configuration.component.mjs +77 -0
- package/esm2022/lib/plugins/mail-template/components/mail-template-delete-modal/mail-template-delete-modal.component.mjs +40 -0
- package/esm2022/lib/plugins/mail-template/components/mail-template-editor/mail-template-editor.component.mjs +201 -0
- package/esm2022/lib/plugins/mail-template/components/mail-template-list/mail-template-list.component.mjs +124 -0
- package/esm2022/lib/plugins/mail-template/mail-template-management-routing.module.mjs +48 -0
- package/esm2022/lib/plugins/mail-template/mail-template-plugin-module.mjs +154 -0
- package/esm2022/lib/plugins/mail-template/mail-template-plugin.specification.mjs +74 -0
- package/esm2022/lib/plugins/mail-template/models/config.mjs +17 -0
- package/esm2022/lib/plugins/mail-template/models/index.mjs +17 -0
- package/esm2022/lib/plugins/text-template/assets/index.mjs +17 -0
- package/esm2022/lib/plugins/text-template/assets/text-template-plugin-logo.mjs +18 -0
- package/esm2022/lib/plugins/text-template/components/generate-text-file/generate-text-file.component.mjs +94 -0
- package/esm2022/lib/plugins/text-template/components/text-template-add-edit-modal/text-template-add-edit-modal.component.mjs +92 -0
- package/esm2022/lib/plugins/text-template/components/text-template-configuration/text-template-configuration.component.mjs +77 -0
- package/esm2022/lib/plugins/text-template/components/text-template-delete-modal/text-template-delete-modal.component.mjs +42 -0
- package/esm2022/lib/plugins/text-template/components/text-template-editor/text-template-editor.component.mjs +189 -0
- package/esm2022/lib/plugins/text-template/components/text-template-list/text-template-list.component.mjs +124 -0
- package/esm2022/lib/plugins/text-template/models/config.mjs +17 -0
- package/esm2022/lib/plugins/text-template/models/index.mjs +17 -0
- package/esm2022/lib/plugins/text-template/text-template-management-routing.module.mjs +48 -0
- package/esm2022/lib/plugins/text-template/text-template-plugin-module.mjs +149 -0
- package/esm2022/lib/plugins/text-template/text-template-plugin.specification.mjs +66 -0
- package/esm2022/lib/services/freemarker-template-management.service.mjs +84 -0
- package/esm2022/lib/services/index.mjs +17 -0
- package/esm2022/public_api.mjs +54 -0
- package/esm2022/valtimo-plugins-freemarker.mjs +5 -0
- package/fesm2022/valtimo-plugins-freemarker.mjs +448 -468
- package/fesm2022/valtimo-plugins-freemarker.mjs.map +1 -1
- package/lib/models/freemarker-template.d.ts +11 -11
- package/lib/plugins/document-generator/components/document-template-add-edit-modal/document-template-add-edit-modal.component.d.ts +4 -4
- package/lib/plugins/document-generator/components/document-template-editor/document-template-editor.component.d.ts +7 -7
- package/lib/plugins/document-generator/components/document-template-list/document-template-list.component.d.ts +4 -7
- package/lib/plugins/document-generator/components/generate-csv/generate-csv.component.d.ts +7 -7
- package/lib/plugins/document-generator/components/generate-pdf/generate-pdf.component.d.ts +7 -7
- package/lib/plugins/document-generator/document-generator-plugin-module.d.ts +1 -1
- package/lib/plugins/mail-template/components/generate-mail-content/generate-mail-content.component.d.ts +10 -9
- package/lib/plugins/mail-template/components/generate-mail-file/generate-mail-file.component.d.ts +10 -9
- package/lib/plugins/mail-template/components/mail-template-add-edit-modal/mail-template-add-edit-modal.component.d.ts +2 -2
- package/lib/plugins/mail-template/components/mail-template-editor/mail-template-editor.component.d.ts +6 -6
- package/lib/plugins/mail-template/components/mail-template-list/mail-template-list.component.d.ts +3 -6
- package/lib/plugins/mail-template/mail-template-plugin-module.d.ts +5 -2
- package/lib/plugins/text-template/components/generate-text-file/generate-text-file.component.d.ts +10 -9
- package/lib/plugins/text-template/components/text-template-add-edit-modal/text-template-add-edit-modal.component.d.ts +2 -2
- package/lib/plugins/text-template/components/text-template-editor/text-template-editor.component.d.ts +6 -6
- package/lib/plugins/text-template/components/text-template-list/text-template-list.component.d.ts +3 -6
- package/lib/plugins/text-template/text-template-plugin-module.d.ts +5 -1
- package/lib/services/freemarker-template-management.service.d.ts +9 -10
- package/package.json +3 -1
|
@@ -0,0 +1,124 @@
|
|
|
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, CarbonListModule, ViewType } from '@valtimo/components';
|
|
19
|
+
import { CommonModule } from '@angular/common';
|
|
20
|
+
import { ButtonModule } from 'carbon-components-angular';
|
|
21
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
22
|
+
import { TextTemplateDeleteModalComponent } from '../text-template-delete-modal/text-template-delete-modal.component';
|
|
23
|
+
import { TextTemplateAddEditModalComponent } from '../text-template-add-edit-modal/text-template-add-edit-modal.component';
|
|
24
|
+
import * as i0 from "@angular/core";
|
|
25
|
+
import * as i1 from "../../../../services";
|
|
26
|
+
import * as i2 from "@angular/router";
|
|
27
|
+
import * as i3 from "@angular/common";
|
|
28
|
+
import * as i4 from "@valtimo/components";
|
|
29
|
+
import * as i5 from "carbon-components-angular";
|
|
30
|
+
import * as i6 from "@ngx-translate/core";
|
|
31
|
+
export class TextTemplateListComponent {
|
|
32
|
+
constructor(templateService, router, route) {
|
|
33
|
+
this.templateService = templateService;
|
|
34
|
+
this.router = router;
|
|
35
|
+
this.route = route;
|
|
36
|
+
this.fields = [
|
|
37
|
+
{
|
|
38
|
+
viewType: ViewType.TEXT,
|
|
39
|
+
key: 'key',
|
|
40
|
+
label: 'Key',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
viewType: ViewType.BOOLEAN,
|
|
44
|
+
key: 'readOnly',
|
|
45
|
+
label: 'Read only',
|
|
46
|
+
},
|
|
47
|
+
];
|
|
48
|
+
this._caseDefinitionName$ = this.route.params.pipe(map(params => params?.name), filter(caseDefinitionName => !!caseDefinitionName));
|
|
49
|
+
this.templates$ = new BehaviorSubject(null);
|
|
50
|
+
this.showAddModal$ = new BehaviorSubject(false);
|
|
51
|
+
this.showDeleteModal$ = new BehaviorSubject(false);
|
|
52
|
+
this.selectedRowKeys$ = new BehaviorSubject([]);
|
|
53
|
+
this.loading$ = new BehaviorSubject(true);
|
|
54
|
+
}
|
|
55
|
+
ngOnInit() {
|
|
56
|
+
this.reloadTemplateList();
|
|
57
|
+
}
|
|
58
|
+
openAddModal() {
|
|
59
|
+
this.showAddModal$.next(true);
|
|
60
|
+
}
|
|
61
|
+
onAdd(data) {
|
|
62
|
+
if (!data) {
|
|
63
|
+
this.showAddModal$.next(false);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
this._caseDefinitionName$.pipe(take(1), switchMap(caseDefinitionName => this.templateService.addTemplate({
|
|
67
|
+
caseDefinitionName,
|
|
68
|
+
type: 'text', ...data
|
|
69
|
+
}))).subscribe(template => {
|
|
70
|
+
this.showAddModal$.next(false);
|
|
71
|
+
this.gotoTextTemplateEditor(template.caseDefinitionName, template.key);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
showDeleteModal() {
|
|
75
|
+
this.setSelectedTemplateKeys();
|
|
76
|
+
this.showDeleteModal$.next(true);
|
|
77
|
+
}
|
|
78
|
+
onDelete(templates) {
|
|
79
|
+
this.loading$.next(true);
|
|
80
|
+
this._caseDefinitionName$.pipe(take(1), switchMap(caseDefinitionName => this.templateService.deleteTemplates({
|
|
81
|
+
caseDefinitionName,
|
|
82
|
+
type: 'text',
|
|
83
|
+
templates
|
|
84
|
+
}))).subscribe(_ => {
|
|
85
|
+
this.reloadTemplateList();
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
onRowClick(template) {
|
|
89
|
+
this._caseDefinitionName$.pipe(take(1)).subscribe(caseDefinitionName => this.gotoTextTemplateEditor(caseDefinitionName, template.key));
|
|
90
|
+
}
|
|
91
|
+
gotoTextTemplateEditor(caseDefinitionName, key) {
|
|
92
|
+
this.router.navigate([`/dossier-management/dossier/${caseDefinitionName}/text-template/${key}`]);
|
|
93
|
+
}
|
|
94
|
+
reloadTemplateList() {
|
|
95
|
+
this.loading$.next(true);
|
|
96
|
+
this._caseDefinitionName$.pipe(switchMap(caseDefinitionName => this.templateService.getAllTextTemplates(caseDefinitionName)), map(templatePage => templatePage.content), take(1)).subscribe(templateListItems => {
|
|
97
|
+
this.templates$.next(templateListItems);
|
|
98
|
+
this.loading$.next(false);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
setSelectedTemplateKeys() {
|
|
102
|
+
this.selectedRowKeys$.next(this.carbonList.selectedItems.map((template) => ({
|
|
103
|
+
key: template.key,
|
|
104
|
+
type: template.type
|
|
105
|
+
})));
|
|
106
|
+
}
|
|
107
|
+
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 }); }
|
|
108
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TextTemplateListComponent, isStandalone: true, 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { 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: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "component", type: TextTemplateDeleteModalComponent, selector: "valtimo-text-template-delete-modal", inputs: ["deleteRowKeys", "showDeleteModal$"], outputs: ["deleteEvent"] }, { kind: "component", type: TextTemplateAddEditModalComponent, selector: "valtimo-text-template-add-edit-modal", inputs: ["open", "type", "defaultKeyValue"], outputs: ["closeEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
109
|
+
}
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplateListComponent, decorators: [{
|
|
111
|
+
type: Component,
|
|
112
|
+
args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
113
|
+
CommonModule,
|
|
114
|
+
CarbonListModule,
|
|
115
|
+
ButtonModule,
|
|
116
|
+
TranslateModule,
|
|
117
|
+
TextTemplateDeleteModalComponent,
|
|
118
|
+
TextTemplateAddEditModalComponent
|
|
119
|
+
], 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" }]
|
|
120
|
+
}], ctorParameters: () => [{ type: i1.FreemarkerTemplateManagementService }, { type: i2.Router }, { type: i2.ActivatedRoute }], propDecorators: { carbonList: [{
|
|
121
|
+
type: ViewChild,
|
|
122
|
+
args: [CarbonListComponent]
|
|
123
|
+
}] } });
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10ZW1wbGF0ZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8tcGx1Z2lucy9mcmVlbWFya2VyL3NyYy9saWIvcGx1Z2lucy90ZXh0LXRlbXBsYXRlL2NvbXBvbmVudHMvdGV4dC10ZW1wbGF0ZS1saXN0L3RleHQtdGVtcGxhdGUtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vLXBsdWdpbnMvZnJlZW1hcmtlci9zcmMvbGliL3BsdWdpbnMvdGV4dC10ZW1wbGF0ZS9jb21wb25lbnRzL3RleHQtdGVtcGxhdGUtbGlzdC90ZXh0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLFNBQVMsR0FBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUvRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQWdCLFFBQVEsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR2xHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQ3BILE9BQU8sRUFDSCxpQ0FBaUMsRUFDcEMsTUFBTSx3RUFBd0UsQ0FBQzs7Ozs7Ozs7QUFlaEYsTUFBTSxPQUFPLHlC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LFFBQTBCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUYsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHO1lBQ2pCLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtTQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1QsQ0FBQzsrR0ExR1EseUJBQXlCO21HQUF6Qix5QkFBeUIsb0hBQ3ZCLG1CQUFtQixnREM1Q2xDLGl5RUFrRUEsMkNEL0JRLFlBQVksOFZBQ1osZ0JBQWdCLHcxQkFDaEIsWUFBWSxnTUFDWixlQUFlLDRGQUNmLGdDQUFnQyx3SkFDaEMsaUNBQWlDOzs0RkFHNUIseUJBQXlCO2tCQWJyQyxTQUFTO2lDQUNNLElBQUksbUJBRUMsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDTCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGdDQUFnQzt3QkFDaEMsaUNBQWlDO3FCQUNwQzswSkFHK0IsVUFBVTtzQkFBekMsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIHN3aXRjaE1hcCwgdGFrZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0NhcmJvbkxpc3RDb21wb25lbnQsIENhcmJvbkxpc3RNb2R1bGUsIENvbHVtbkNvbmZpZywgVmlld1R5cGV9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtGcmVlbWFya2VyVGVtcGxhdGVNYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtUZW1wbGF0ZUxpc3RJdGVtfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0J1dHRvbk1vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1RleHRUZW1wbGF0ZURlbGV0ZU1vZGFsQ29tcG9uZW50fSBmcm9tICcuLi90ZXh0LXRlbXBsYXRlLWRlbGV0ZS1tb2RhbC90ZXh0LXRlbXBsYXRlLWRlbGV0ZS1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBUZXh0VGVtcGxhdGVBZGRFZGl0TW9kYWxDb21wb25lbnRcbn0gZnJvbSAnLi4vdGV4dC10ZW1wbGF0ZS1hZGQtZWRpdC1tb2RhbC90ZXh0LXRlbXBsYXRlLWFkZC1lZGl0LW1vZGFsLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RleHQtdGVtcGxhdGUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIENhcmJvbkxpc3RNb2R1bGUsXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBUZXh0VGVtcGxhdGVEZWxldGVNb2RhbENvbXBvbmVudCxcbiAgICAgICAgVGV4dFRlbXBsYXRlQWRkRWRpdE1vZGFsQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUZXh0VGVtcGxhdGVMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKENhcmJvbkxpc3RDb21wb25lbnQpIGNhcmJvbkxpc3Q6IENhcmJvbkxpc3RDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgZmllbGRzOiBDb2x1bW5Db25maWdbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFWFQsXG4gICAgICAgICAgICBrZXk6ICdrZXknLFxuICAgICAgICAgICAgbGFiZWw6ICdLZXknLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB2aWV3VHlwZTogVmlld1R5cGUuQk9PTEVBTixcbiAgICAgICAgICAgIGtleTogJ3JlYWRPbmx5JyxcbiAgICAgICAgICAgIGxhYmVsOiAnUmVhZCBvbmx5JyxcbiAgICAgICAgfSxcbiAgICBdO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2FzZURlZmluaXRpb25OYW1lJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5yb3V0ZS5wYXJhbXMucGlwZShcbiAgICAgICAgbWFwKHBhcmFtcyA9PiBwYXJhbXM/Lm5hbWUpLFxuICAgICAgICBmaWx0ZXIoY2FzZURlZmluaXRpb25OYW1lID0+ICEhY2FzZURlZmluaXRpb25OYW1lKSxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHRlbXBsYXRlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlTGlzdEl0ZW1bXSB8IG51bGw+KG51bGwpO1xuICAgIHB1YmxpYyByZWFkb25seSBzaG93QWRkTW9kYWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHVibGljIHJlYWRvbmx5IHNob3dEZWxldGVNb2RhbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRSb3dLZXlzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8YW55Pj4oW10pO1xuICAgIHB1YmxpYyByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZVNlcnZpY2U6IEZyZWVtYXJrZXJUZW1wbGF0ZU1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICAgICkge1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWxvYWRUZW1wbGF0ZUxpc3QoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlbkFkZE1vZGFsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dBZGRNb2RhbCQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25BZGQoZGF0YT86IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0FkZE1vZGFsJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Nhc2VEZWZpbml0aW9uTmFtZSQucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoY2FzZURlZmluaXRpb25OYW1lID0+IHRoaXMudGVtcGxhdGVTZXJ2aWNlLmFkZFRlbXBsYXRlKHtcbiAgICAgICAgICAgICAgICBjYXNlRGVmaW5pdGlvbk5hbWUsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLCAuLi5kYXRhXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgKS5zdWJzY3JpYmUodGVtcGxhdGUgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93QWRkTW9kYWwkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5nb3RvVGV4dFRlbXBsYXRlRWRpdG9yKHRlbXBsYXRlLmNhc2VEZWZpbml0aW9uTmFtZSwgdGVtcGxhdGUua2V5KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3dEZWxldGVNb2RhbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFRlbXBsYXRlS2V5cygpO1xuICAgICAgICB0aGlzLnNob3dEZWxldGVNb2RhbCQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25EZWxldGUodGVtcGxhdGVzOiBBcnJheTxhbnk+KTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZGluZyQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5fY2FzZURlZmluaXRpb25OYW1lJC5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcChjYXNlRGVmaW5pdGlvbk5hbWUgPT4gdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZGVsZXRlVGVtcGxhdGVzKHtcbiAgICAgICAgICAgICAgICBjYXNlRGVmaW5pdGlvbk5hbWUsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIHRlbXBsYXRlc1xuICAgICAgICAgICAgfSkpLFxuICAgICAgICApLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVsb2FkVGVtcGxhdGVMaXN0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJvd0NsaWNrKHRlbXBsYXRlOiBUZW1wbGF0ZUxpc3RJdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Nhc2VEZWZpbml0aW9uTmFtZSQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoY2FzZURlZmluaXRpb25OYW1lID0+XG4gICAgICAgICAgICB0aGlzLmdvdG9UZXh0VGVtcGxhdGVFZGl0b3IoY2FzZURlZmluaXRpb25OYW1lLCB0ZW1wbGF0ZS5rZXkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnb3RvVGV4dFRlbXBsYXRlRWRpdG9yKGNhc2VEZWZpbml0aW9uTmFtZTogc3RyaW5nLCBrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9kb3NzaWVyLW1hbmFnZW1lbnQvZG9zc2llci8ke2Nhc2VEZWZpbml0aW9uTmFtZX0vdGV4dC10ZW1wbGF0ZS8ke2tleX1gXSlcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbG9hZFRlbXBsYXRlTGlzdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLl9jYXNlRGVmaW5pdGlvbk5hbWUkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoY2FzZURlZmluaXRpb25OYW1lID0+IHRoaXMudGVtcGxhdGVTZXJ2aWNlLmdldEFsbFRleHRUZW1wbGF0ZXMoY2FzZURlZmluaXRpb25OYW1lKSksXG4gICAgICAgICAgICBtYXAodGVtcGxhdGVQYWdlID0+IHRlbXBsYXRlUGFnZS5jb250ZW50KSxcbiAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKS5zdWJzY3JpYmUodGVtcGxhdGVMaXN0SXRlbXMgPT4ge1xuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZXMkLm5leHQodGVtcGxhdGVMaXN0SXRlbXMpO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTZWxlY3RlZFRlbXBsYXRlS2V5cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd0tleXMkLm5leHQodGhpcy5jYXJib25MaXN0LnNlbGVjdGVkSXRlbXMubWFwKCh0ZW1wbGF0ZTogVGVtcGxhdGVMaXN0SXRlbSkgPT4gKHtcbiAgICAgICAgICAgIGtleTogdGVtcGxhdGUua2V5LFxuICAgICAgICAgICAgdHlwZTogdGVtcGxhdGUudHlwZVxuICAgICAgICB9KSkpO1xuICAgIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHZhbHRpbW8tY2FyYm9uLWxpc3RcbiAgICAgICAgW2hlYWRlcl09XCJmYWxzZVwiXG4gICAgICAgIFtpdGVtc109XCJ0ZW1wbGF0ZXMkIHwgYXN5bmNcIlxuICAgICAgICBbZmllbGRzXT1cImZpZWxkc1wiXG4gICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmckIHwgYXN5bmNcIlxuICAgICAgICBbc2hvd1NlbGVjdGlvbkNvbHVtbl09XCJ0cnVlXCJcbiAgICAgICAgKHJvd0NsaWNrZWQpPVwib25Sb3dDbGljaygkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGFpbmVyIGhlYWRlcj4ge3sgJ1RpdGxlJyB9fSA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgY2FyYm9uVG9vbGJhckNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRkVGVtcGxhdGVCdXR0b25cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgY2FyYm9uVG9vbGJhckFjdGlvbnM+XG4gICAgICAgIDxidXR0b24gY2RzQnV0dG9uPVwicHJpbWFyeVwiIChjbGljayk9XCJzaG93RGVsZXRlTW9kYWwoKVwiPlxuICAgICAgICAgICAge3sgJ2ludGVyZmFjZS5kZWxldGUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiIGNkc0ljb249XCJ0cmFzaC1jYW5cIiBzaXplPVwiMTZcIj48L3N2Zz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dmFsdGltby1uby1yZXN1bHRzXG4gICAgICAgICAgICBbYWN0aW9uXT1cImFkZFRlbXBsYXRlQnV0dG9uXCJcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uPVwie3sgJ0NvbWUgYmFjayBsYXRlci4nIH19XCJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgJ05vIHRlbXBsYXRlcyBmb3VuZCcgfX1cIlxuICAgID48L3ZhbHRpbW8tbm8tcmVzdWx0cz5cbjwvdmFsdGltby1jYXJib24tbGlzdD5cblxuPHZhbHRpbW8tdGV4dC10ZW1wbGF0ZS1hZGQtZWRpdC1tb2RhbFxuICAgICAgICBbb3Blbl09XCJzaG93QWRkTW9kYWwkIHwgYXN5bmNcIlxuICAgICAgICAoY2xvc2VFdmVudCk9XCJvbkFkZCgkZXZlbnQpXCJcbj48L3ZhbHRpbW8tdGV4dC10ZW1wbGF0ZS1hZGQtZWRpdC1tb2RhbD5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIntzZWxlY3RlZFJvd0tleXM6IHNlbGVjdGVkUm93S2V5cyQgfCBhc3luY30gYXMgb2JzXCI+XG4gICAgPHZhbHRpbW8tdGV4dC10ZW1wbGF0ZS1kZWxldGUtbW9kYWxcbiAgICAgICAgICAgIFtkZWxldGVSb3dLZXlzXT1cIm9icy5zZWxlY3RlZFJvd0tleXNcIlxuICAgICAgICAgICAgW3Nob3dEZWxldGVNb2RhbCRdPVwic2hvd0RlbGV0ZU1vZGFsJFwiXG4gICAgICAgICAgICAoZGVsZXRlRXZlbnQpPVwib25EZWxldGUoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvdmFsdGltby10ZXh0LXRlbXBsYXRlLWRlbGV0ZS1tb2RhbD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2FkZFRlbXBsYXRlQnV0dG9uPlxuICAgIDxidXR0b24gY2RzQnV0dG9uPVwicHJpbWFyeVwiIChjbGljayk9XCJvcGVuQWRkTW9kYWwoKVwiPlxuICAgICAgICB7eyAnQWRkJyB9fVxuXG4gICAgICAgIDxzdmcgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiIGNkc0ljb249XCJhZGRcIiBzaXplPVwiMTZcIj48L3N2Zz5cbiAgICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
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==
|
|
@@ -0,0 +1,17 @@
|
|
|
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==
|
|
@@ -0,0 +1,48 @@
|
|
|
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=
|
|
@@ -0,0 +1,149 @@
|
|
|
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
|
+
import { NgModule } from '@angular/core';
|
|
17
|
+
import { TextTemplateConfigurationComponent } from './components/text-template-configuration/text-template-configuration.component';
|
|
18
|
+
import { CommonModule } from '@angular/common';
|
|
19
|
+
import { PluginTranslatePipeModule } from '@valtimo/plugin';
|
|
20
|
+
import { CarbonListModule, ConfirmationModalModule, EditorModule, FormModule, InputModule as ValtimoInputModule, ParagraphModule, RenderInPageHeaderDirectiveModule, SelectModule, } from '@valtimo/components';
|
|
21
|
+
import { ButtonModule, DialogModule, DropdownModule, IconModule, InputModule, LoadingModule, ModalModule, NotificationModule, TabsModule, } from 'carbon-components-angular';
|
|
22
|
+
import { CASE_MANAGEMENT_TAB_TOKEN } from '@valtimo/config';
|
|
23
|
+
import { TextTemplateListComponent } from './components/text-template-list/text-template-list.component';
|
|
24
|
+
import { TextTemplateAddEditModalComponent } from './components/text-template-add-edit-modal/text-template-add-edit-modal.component';
|
|
25
|
+
import { TextTemplateEditorComponent } from './components/text-template-editor/text-template-editor.component';
|
|
26
|
+
import { TextTemplateDeleteModalComponent } from './components/text-template-delete-modal/text-template-delete-modal.component';
|
|
27
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
28
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
29
|
+
import { TemplateManagementRoutingModule } from './text-template-management-routing.module';
|
|
30
|
+
import { GenerateTextFileComponent } from './components/generate-text-file/generate-text-file.component';
|
|
31
|
+
import * as i0 from "@angular/core";
|
|
32
|
+
export class TextTemplatePluginModule {
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplatePluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
34
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TextTemplatePluginModule, declarations: [GenerateTextFileComponent,
|
|
35
|
+
TextTemplateConfigurationComponent], imports: [CommonModule,
|
|
36
|
+
PluginTranslatePipeModule,
|
|
37
|
+
TemplateManagementRoutingModule,
|
|
38
|
+
FormModule,
|
|
39
|
+
ParagraphModule,
|
|
40
|
+
SelectModule,
|
|
41
|
+
ConfirmationModalModule,
|
|
42
|
+
TranslateModule,
|
|
43
|
+
ReactiveFormsModule,
|
|
44
|
+
CarbonListModule,
|
|
45
|
+
EditorModule,
|
|
46
|
+
ValtimoInputModule,
|
|
47
|
+
ButtonModule,
|
|
48
|
+
DialogModule,
|
|
49
|
+
DropdownModule,
|
|
50
|
+
IconModule,
|
|
51
|
+
InputModule,
|
|
52
|
+
LoadingModule,
|
|
53
|
+
ModalModule,
|
|
54
|
+
NotificationModule,
|
|
55
|
+
RenderInPageHeaderDirectiveModule,
|
|
56
|
+
TabsModule,
|
|
57
|
+
TextTemplateAddEditModalComponent,
|
|
58
|
+
TextTemplateEditorComponent,
|
|
59
|
+
TextTemplateDeleteModalComponent,
|
|
60
|
+
TextTemplateListComponent], exports: [GenerateTextFileComponent,
|
|
61
|
+
TextTemplateConfigurationComponent] }); }
|
|
62
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplatePluginModule, providers: [
|
|
63
|
+
{
|
|
64
|
+
provide: CASE_MANAGEMENT_TAB_TOKEN,
|
|
65
|
+
useValue: {
|
|
66
|
+
translationKey: 'Text templates',
|
|
67
|
+
component: TextTemplateListComponent,
|
|
68
|
+
},
|
|
69
|
+
multi: true,
|
|
70
|
+
}
|
|
71
|
+
], imports: [CommonModule,
|
|
72
|
+
PluginTranslatePipeModule,
|
|
73
|
+
TemplateManagementRoutingModule,
|
|
74
|
+
FormModule,
|
|
75
|
+
ParagraphModule,
|
|
76
|
+
SelectModule,
|
|
77
|
+
ConfirmationModalModule,
|
|
78
|
+
TranslateModule,
|
|
79
|
+
ReactiveFormsModule,
|
|
80
|
+
CarbonListModule,
|
|
81
|
+
EditorModule,
|
|
82
|
+
ValtimoInputModule,
|
|
83
|
+
ButtonModule,
|
|
84
|
+
DialogModule,
|
|
85
|
+
DropdownModule,
|
|
86
|
+
IconModule,
|
|
87
|
+
InputModule,
|
|
88
|
+
LoadingModule,
|
|
89
|
+
ModalModule,
|
|
90
|
+
NotificationModule,
|
|
91
|
+
RenderInPageHeaderDirectiveModule,
|
|
92
|
+
TabsModule,
|
|
93
|
+
TextTemplateAddEditModalComponent,
|
|
94
|
+
TextTemplateEditorComponent,
|
|
95
|
+
TextTemplateDeleteModalComponent,
|
|
96
|
+
TextTemplateListComponent] }); }
|
|
97
|
+
}
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplatePluginModule, decorators: [{
|
|
99
|
+
type: NgModule,
|
|
100
|
+
args: [{
|
|
101
|
+
declarations: [
|
|
102
|
+
GenerateTextFileComponent,
|
|
103
|
+
TextTemplateConfigurationComponent,
|
|
104
|
+
],
|
|
105
|
+
imports: [
|
|
106
|
+
CommonModule,
|
|
107
|
+
PluginTranslatePipeModule,
|
|
108
|
+
TemplateManagementRoutingModule,
|
|
109
|
+
FormModule,
|
|
110
|
+
ParagraphModule,
|
|
111
|
+
SelectModule,
|
|
112
|
+
ConfirmationModalModule,
|
|
113
|
+
TranslateModule,
|
|
114
|
+
ReactiveFormsModule,
|
|
115
|
+
CarbonListModule,
|
|
116
|
+
EditorModule,
|
|
117
|
+
ValtimoInputModule,
|
|
118
|
+
ButtonModule,
|
|
119
|
+
DialogModule,
|
|
120
|
+
DropdownModule,
|
|
121
|
+
IconModule,
|
|
122
|
+
InputModule,
|
|
123
|
+
LoadingModule,
|
|
124
|
+
ModalModule,
|
|
125
|
+
NotificationModule,
|
|
126
|
+
RenderInPageHeaderDirectiveModule,
|
|
127
|
+
TabsModule,
|
|
128
|
+
TextTemplateAddEditModalComponent,
|
|
129
|
+
TextTemplateEditorComponent,
|
|
130
|
+
TextTemplateDeleteModalComponent,
|
|
131
|
+
TextTemplateListComponent,
|
|
132
|
+
],
|
|
133
|
+
exports: [
|
|
134
|
+
GenerateTextFileComponent,
|
|
135
|
+
TextTemplateConfigurationComponent,
|
|
136
|
+
],
|
|
137
|
+
providers: [
|
|
138
|
+
{
|
|
139
|
+
provide: CASE_MANAGEMENT_TAB_TOKEN,
|
|
140
|
+
useValue: {
|
|
141
|
+
translationKey: 'Text templates',
|
|
142
|
+
component: TextTemplateListComponent,
|
|
143
|
+
},
|
|
144
|
+
multi: true,
|
|
145
|
+
}
|
|
146
|
+
]
|
|
147
|
+
}]
|
|
148
|
+
}] });
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10ZW1wbGF0ZS1wbHVnaW4tbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby1wbHVnaW5zL2ZyZWVtYXJrZXIvc3JjL2xpYi9wbHVnaW5zL3RleHQtdGVtcGxhdGUvdGV4dC10ZW1wbGF0ZS1wbHVnaW4tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUNsSSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUNILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLElBQUksa0JBQWtCLEVBQ2pDLGVBQWUsRUFBRSxpQ0FBaUMsRUFDbEQsWUFBWSxHQUNmLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNILFlBQVksRUFDWixZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsYUFBYSxFQUNiLFdBQVcsRUFDWCxrQkFBa0IsRUFBRSxVQUFVLEdBQ2pDLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDdkcsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sa0ZBQWtGLENBQUM7QUFDbkksT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDN0csT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDOUgsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzFGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDOztBQWtEdkcsTUFBTSxPQUFPLHdCQUF3QjsrR0FBeEIsd0JBQXdCO2dIQUF4Qix3QkFBd0IsaUJBOUM3Qix5QkFBeUI7WUFDekIsa0NBQWtDLGFBR2xDLFlBQVk7WUFDWix5QkFBeUI7WUFDekIsK0JBQStCO1lBQy9CLFVBQVU7WUFDVixlQUFlO1lBQ2YsWUFBWTtZQUNaLHVCQUF1QjtZQUN2QixlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixZQUFZO1lBQ1osY0FBYztZQUNkLFVBQVU7WUFDVixXQUFXO1lBQ1gsYUFBYTtZQUNiLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsaUNBQWlDO1lBQ2pDLFVBQVU7WUFDVixpQ0FBaUM7WUFDakMsMkJBQTJCO1lBQzNCLGdDQUFnQztZQUNoQyx5QkFBeUIsYUFHekIseUJBQXlCO1lBQ3pCLGtDQUFrQztnSEFhN0Isd0JBQXdCLGFBWHRCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLHlCQUF5QjtnQkFDbEMsUUFBUSxFQUFFO29CQUNOLGNBQWMsRUFBRSxnQkFBZ0I7b0JBQ2hDLFNBQVMsRUFBRSx5QkFBeUI7aUJBQ3ZDO2dCQUNELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixZQXhDRyxZQUFZO1lBQ1oseUJBQXlCO1lBQ3pCLCtCQUErQjtZQUMvQixVQUFVO1lBQ1YsZUFBZTtZQUNmLFlBQVk7WUFDWix1QkFBdUI7WUFDdkIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osWUFBWTtZQUNaLGNBQWM7WUFDZCxVQUFVO1lBQ1YsV0FBVztZQUNYLGFBQWE7WUFDYixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLGlDQUFpQztZQUNqQyxVQUFVO1lBQ1YsaUNBQWlDO1lBQ2pDLDJCQUEyQjtZQUMzQixnQ0FBZ0M7WUFDaEMseUJBQXlCOzs0RkFpQnBCLHdCQUF3QjtrQkFoRHBDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFO3dCQUNWLHlCQUF5Qjt3QkFDekIsa0NBQWtDO3FCQUNyQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWix5QkFBeUI7d0JBQ3pCLCtCQUErQjt3QkFDL0IsVUFBVTt3QkFDVixlQUFlO3dCQUNmLFlBQVk7d0JBQ1osdUJBQXVCO3dCQUN2QixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsVUFBVTt3QkFDVixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLGlDQUFpQzt3QkFDakMsVUFBVTt3QkFDVixpQ0FBaUM7d0JBQ2pDLDJCQUEyQjt3QkFDM0IsZ0NBQWdDO3dCQUNoQyx5QkFBeUI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDTCx5QkFBeUI7d0JBQ3pCLGtDQUFrQztxQkFDckM7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSx5QkFBeUI7NEJBQ2xDLFFBQVEsRUFBRTtnQ0FDTixjQUFjLEVBQUUsZ0JBQWdCO2dDQUNoQyxTQUFTLEVBQUUseUJBQXlCOzZCQUN2Qzs0QkFDRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIyIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUZXh0VGVtcGxhdGVDb25maWd1cmF0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dC10ZW1wbGF0ZS1jb25maWd1cmF0aW9uL3RleHQtdGVtcGxhdGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1BsdWdpblRyYW5zbGF0ZVBpcGVNb2R1bGV9IGZyb20gJ0B2YWx0aW1vL3BsdWdpbic7XG5pbXBvcnQge1xuICAgIENhcmJvbkxpc3RNb2R1bGUsXG4gICAgQ29uZmlybWF0aW9uTW9kYWxNb2R1bGUsXG4gICAgRWRpdG9yTW9kdWxlLFxuICAgIEZvcm1Nb2R1bGUsXG4gICAgSW5wdXRNb2R1bGUgYXMgVmFsdGltb0lucHV0TW9kdWxlLFxuICAgIFBhcmFncmFwaE1vZHVsZSwgUmVuZGVySW5QYWdlSGVhZGVyRGlyZWN0aXZlTW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBEaWFsb2dNb2R1bGUsXG4gICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBMb2FkaW5nTW9kdWxlLFxuICAgIE1vZGFsTW9kdWxlLFxuICAgIE5vdGlmaWNhdGlvbk1vZHVsZSwgVGFic01vZHVsZSxcbn0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0NBU0VfTUFOQUdFTUVOVF9UQUJfVE9LRU59IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge1RleHRUZW1wbGF0ZUxpc3RDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy90ZXh0LXRlbXBsYXRlLWxpc3QvdGV4dC10ZW1wbGF0ZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge1RleHRUZW1wbGF0ZUFkZEVkaXRNb2RhbENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHQtdGVtcGxhdGUtYWRkLWVkaXQtbW9kYWwvdGV4dC10ZW1wbGF0ZS1hZGQtZWRpdC1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHtUZXh0VGVtcGxhdGVFZGl0b3JDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy90ZXh0LXRlbXBsYXRlLWVkaXRvci90ZXh0LXRlbXBsYXRlLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHtUZXh0VGVtcGxhdGVEZWxldGVNb2RhbENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHQtdGVtcGxhdGUtZGVsZXRlLW1vZGFsL3RleHQtdGVtcGxhdGUtZGVsZXRlLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VGVtcGxhdGVNYW5hZ2VtZW50Um91dGluZ01vZHVsZX0gZnJvbSAnLi90ZXh0LXRlbXBsYXRlLW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHtHZW5lcmF0ZVRleHRGaWxlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZ2VuZXJhdGUtdGV4dC1maWxlL2dlbmVyYXRlLXRleHQtZmlsZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBHZW5lcmF0ZVRleHRGaWxlQ29tcG9uZW50LFxuICAgICAgICBUZXh0VGVtcGxhdGVDb25maWd1cmF0aW9uQ29tcG9uZW50LFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFBsdWdpblRyYW5zbGF0ZVBpcGVNb2R1bGUsXG4gICAgICAgIFRlbXBsYXRlTWFuYWdlbWVudFJvdXRpbmdNb2R1bGUsXG4gICAgICAgIEZvcm1Nb2R1bGUsXG4gICAgICAgIFBhcmFncmFwaE1vZHVsZSxcbiAgICAgICAgU2VsZWN0TW9kdWxlLFxuICAgICAgICBDb25maXJtYXRpb25Nb2RhbE1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBDYXJib25MaXN0TW9kdWxlLFxuICAgICAgICBFZGl0b3JNb2R1bGUsXG4gICAgICAgIFZhbHRpbW9JbnB1dE1vZHVsZSxcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxuICAgICAgICBEaWFsb2dNb2R1bGUsXG4gICAgICAgIERyb3Bkb3duTW9kdWxlLFxuICAgICAgICBJY29uTW9kdWxlLFxuICAgICAgICBJbnB1dE1vZHVsZSxcbiAgICAgICAgTG9hZGluZ01vZHVsZSxcbiAgICAgICAgTW9kYWxNb2R1bGUsXG4gICAgICAgIE5vdGlmaWNhdGlvbk1vZHVsZSxcbiAgICAgICAgUmVuZGVySW5QYWdlSGVhZGVyRGlyZWN0aXZlTW9kdWxlLFxuICAgICAgICBUYWJzTW9kdWxlLFxuICAgICAgICBUZXh0VGVtcGxhdGVBZGRFZGl0TW9kYWxDb21wb25lbnQsXG4gICAgICAgIFRleHRUZW1wbGF0ZUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgVGV4dFRlbXBsYXRlRGVsZXRlTW9kYWxDb21wb25lbnQsXG4gICAgICAgIFRleHRUZW1wbGF0ZUxpc3RDb21wb25lbnQsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEdlbmVyYXRlVGV4dEZpbGVDb21wb25lbnQsXG4gICAgICAgIFRleHRUZW1wbGF0ZUNvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ0FTRV9NQU5BR0VNRU5UX1RBQl9UT0tFTixcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb25LZXk6ICdUZXh0IHRlbXBsYXRlcycsXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBUZXh0VGVtcGxhdGVMaXN0Q29tcG9uZW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUZXh0VGVtcGxhdGVQbHVnaW5Nb2R1bGUge1xufVxuIl19
|
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
import { TextTemplateConfigurationComponent } from './components/text-template-configuration/text-template-configuration.component';
|
|
17
|
+
import { TEXT_TEMPLATE_PLUGIN_LOGO_BASE64 } from './assets';
|
|
18
|
+
import { GenerateTextFileComponent } from './components/generate-text-file/generate-text-file.component';
|
|
19
|
+
const textTemplatePluginSpecification = {
|
|
20
|
+
pluginId: 'text-template',
|
|
21
|
+
pluginConfigurationComponent: TextTemplateConfigurationComponent,
|
|
22
|
+
pluginLogoBase64: TEXT_TEMPLATE_PLUGIN_LOGO_BASE64,
|
|
23
|
+
functionConfigurationComponents: {
|
|
24
|
+
'generate-text-file': GenerateTextFileComponent,
|
|
25
|
+
},
|
|
26
|
+
pluginTranslations: {
|
|
27
|
+
nl: {
|
|
28
|
+
title: 'Text sjablonen',
|
|
29
|
+
'generate-text-file': 'Genereer Textbestand',
|
|
30
|
+
description: 'Maak Text sjablonen met Freemarker.',
|
|
31
|
+
configurationTitle: 'Configuratienaam',
|
|
32
|
+
configurationTitleTooltip: 'De naam van de huidige plug-in configuratie. Onder deze naam kan de configuratie worden gevonden in de rest van de applicatie.',
|
|
33
|
+
generateTextFileDescription: 'Deze actie genereert de inhoud van een text-template en slaat het resultaat op in een tijdelijk bestand. Het ID van het bestand wordt opgeslagen in een Proces Variabele.',
|
|
34
|
+
textTemplateKey: 'Text sjabloon',
|
|
35
|
+
textTemplateKeyTooltip: 'Op bases van deze sjabloon wordt de text-template gegenereerd',
|
|
36
|
+
processVariableName: 'Procesvariabelenaam',
|
|
37
|
+
processVariableNameTooltip: 'Het resultaat wordt opgeslagen in een procesvariabele met deze naam',
|
|
38
|
+
},
|
|
39
|
+
en: {
|
|
40
|
+
title: 'Text Templates',
|
|
41
|
+
'generate-text-file': 'Generate Text File',
|
|
42
|
+
description: 'Create text-template templates with Freemarker.',
|
|
43
|
+
configurationTitle: 'Configuration Name',
|
|
44
|
+
configurationTitleTooltip: 'The name of the current plug-in configuration. The configuration can be found under this name in the rest of the application.',
|
|
45
|
+
generateTextFileDescription: 'This action generates the content of an text-template and saves the result in a temporary file. The file ID is stored in a Process Variable.',
|
|
46
|
+
textTemplateKey: 'Text Template',
|
|
47
|
+
textTemplateKeyTooltip: 'The text-template will be generated based on this template.',
|
|
48
|
+
processVariableName: 'Process Variable Name',
|
|
49
|
+
processVariableNameTooltip: 'The result will be stored in a process variable with this name.',
|
|
50
|
+
},
|
|
51
|
+
de: {
|
|
52
|
+
title: 'Text-Vorlagen',
|
|
53
|
+
'generate-text-file': 'Text-Datei generieren',
|
|
54
|
+
description: 'Erstellen Sie Text-Vorlagen mit Freemarker.',
|
|
55
|
+
configurationTitle: 'Konfigurationsname',
|
|
56
|
+
configurationTitleTooltip: 'Der Name der aktuellen Plug-in-Konfiguration. Unter diesem Namen kann die Konfiguration im Rest der Anwendung gefunden werden.',
|
|
57
|
+
generateTextFileDescription: 'Diese Aktion generiert den Inhalt einer Text und speichert das Ergebnis in einer temporären Datei. Die Datei-ID wird in einer Prozessvariablen gespeichert.',
|
|
58
|
+
textTemplateKey: 'Text-Vorlage',
|
|
59
|
+
textTemplateKeyTooltip: 'Die Text wird basierend auf dieser Vorlage generiert.',
|
|
60
|
+
processVariableName: 'Prozessvariablenname',
|
|
61
|
+
processVariableNameTooltip: 'Das Ergebnis wird in einer Prozessvariablen mit diesem Namen gespeichert.',
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
export { textTemplatePluginSpecification };
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10ZW1wbGF0ZS1wbHVnaW4uc3BlY2lmaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8tcGx1Z2lucy9mcmVlbWFya2VyL3NyYy9saWIvcGx1Z2lucy90ZXh0LXRlbXBsYXRlL3RleHQtdGVtcGxhdGUtcGx1Z2luLnNwZWNpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFHSCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUNsSSxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDMUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sOERBQThELENBQUM7QUFFdkcsTUFBTSwrQkFBK0IsR0FBd0I7SUFDM0QsUUFBUSxFQUFFLGVBQWU7SUFDekIsNEJBQTRCLEVBQUUsa0NBQWtDO0lBQ2hFLGdCQUFnQixFQUFFLGdDQUFnQztJQUNsRCwrQkFBK0IsRUFBRTtRQUMvQixvQkFBb0IsRUFBRSx5QkFBeUI7S0FDaEQ7SUFDRCxrQkFBa0IsRUFBRTtRQUNsQixFQUFFLEVBQUU7WUFDRixLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLG9CQUFvQixFQUFFLHNCQUFzQjtZQUM1QyxXQUFXLEVBQUUscUNBQXFDO1lBQ2xELGtCQUFrQixFQUFFLGtCQUFrQjtZQUN0Qyx5QkFBeUIsRUFDckIsZ0lBQWdJO1lBQ3BJLDJCQUEyQixFQUN2QiwyS0FBMks7WUFDL0ssZUFBZSxFQUFFLGVBQWU7WUFDaEMsc0JBQXNCLEVBQUUsK0RBQStEO1lBQ3ZGLG1CQUFtQixFQUFFLHFCQUFxQjtZQUMxQywwQkFBMEIsRUFBRSxxRUFBcUU7U0FDbEc7UUFDRCxFQUFFLEVBQUU7WUFDRixLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLG9CQUFvQixFQUFFLG9CQUFvQjtZQUMxQyxXQUFXLEVBQUUsaURBQWlEO1lBQzlELGtCQUFrQixFQUFFLG9CQUFvQjtZQUN4Qyx5QkFBeUIsRUFDckIsK0hBQStIO1lBQ25JLDJCQUEyQixFQUN2Qiw4SUFBOEk7WUFDbEosZUFBZSxFQUFFLGVBQWU7WUFDaEMsc0JBQXNCLEVBQUUsNkRBQTZEO1lBQ3JGLG1CQUFtQixFQUFFLHVCQUF1QjtZQUM1QywwQkFBMEIsRUFBRSxpRUFBaUU7U0FDOUY7UUFDRCxFQUFFLEVBQUU7WUFDRixLQUFLLEVBQUUsZUFBZTtZQUN0QixvQkFBb0IsRUFBRSx1QkFBdUI7WUFDN0MsV0FBVyxFQUFFLDZDQUE2QztZQUMxRCxrQkFBa0IsRUFBRSxvQkFBb0I7WUFDeEMseUJBQXlCLEVBQ3JCLGdJQUFnSTtZQUNwSSwyQkFBMkIsRUFDdkIsNkpBQTZKO1lBQ2pLLGVBQWUsRUFBRSxjQUFjO1lBQy9CLHNCQUFzQixFQUFFLHVEQUF1RDtZQUMvRSxtQkFBbUIsRUFBRSxzQkFBc0I7WUFDM0MsMEJBQTBCLEVBQUUsMkVBQTJFO1NBQ3hHO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFDLCtCQUErQixFQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMiBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1BsdWdpblNwZWNpZmljYXRpb259IGZyb20gJ0B2YWx0aW1vL3BsdWdpbic7XG5pbXBvcnQge1RleHRUZW1wbGF0ZUNvbmZpZ3VyYXRpb25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy90ZXh0LXRlbXBsYXRlLWNvbmZpZ3VyYXRpb24vdGV4dC10ZW1wbGF0ZS1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1RFWFRfVEVNUExBVEVfUExVR0lOX0xPR09fQkFTRTY0fSBmcm9tICcuL2Fzc2V0cyc7XG5pbXBvcnQge0dlbmVyYXRlVGV4dEZpbGVDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmF0ZS10ZXh0LWZpbGUvZ2VuZXJhdGUtdGV4dC1maWxlLmNvbXBvbmVudCc7XG5cbmNvbnN0IHRleHRUZW1wbGF0ZVBsdWdpblNwZWNpZmljYXRpb246IFBsdWdpblNwZWNpZmljYXRpb24gPSB7XG4gIHBsdWdpbklkOiAndGV4dC10ZW1wbGF0ZScsXG4gIHBsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnQ6IFRleHRUZW1wbGF0ZUNvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gIHBsdWdpbkxvZ29CYXNlNjQ6IFRFWFRfVEVNUExBVEVfUExVR0lOX0xPR09fQkFTRTY0LFxuICBmdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnRzOiB7XG4gICAgJ2dlbmVyYXRlLXRleHQtZmlsZSc6IEdlbmVyYXRlVGV4dEZpbGVDb21wb25lbnQsXG4gIH0sXG4gIHBsdWdpblRyYW5zbGF0aW9uczoge1xuICAgIG5sOiB7XG4gICAgICB0aXRsZTogJ1RleHQgc2phYmxvbmVuJyxcbiAgICAgICdnZW5lcmF0ZS10ZXh0LWZpbGUnOiAnR2VuZXJlZXIgVGV4dGJlc3RhbmQnLFxuICAgICAgZGVzY3JpcHRpb246ICdNYWFrIFRleHQgc2phYmxvbmVuIG1ldCBGcmVlbWFya2VyLicsXG4gICAgICBjb25maWd1cmF0aW9uVGl0bGU6ICdDb25maWd1cmF0aWVuYWFtJyxcbiAgICAgIGNvbmZpZ3VyYXRpb25UaXRsZVRvb2x0aXA6XG4gICAgICAgICAgJ0RlIG5hYW0gdmFuIGRlIGh1aWRpZ2UgcGx1Zy1pbiBjb25maWd1cmF0aWUuIE9uZGVyIGRlemUgbmFhbSBrYW4gZGUgY29uZmlndXJhdGllIHdvcmRlbiBnZXZvbmRlbiBpbiBkZSByZXN0IHZhbiBkZSBhcHBsaWNhdGllLicsXG4gICAgICBnZW5lcmF0ZVRleHRGaWxlRGVzY3JpcHRpb246XG4gICAgICAgICAgJ0RlemUgYWN0aWUgZ2VuZXJlZXJ0IGRlIGluaG91ZCB2YW4gZWVuIHRleHQtdGVtcGxhdGUgZW4gc2xhYXQgaGV0IHJlc3VsdGFhdCBvcCBpbiBlZW4gdGlqZGVsaWprIGJlc3RhbmQuIEhldCBJRCB2YW4gaGV0IGJlc3RhbmQgd29yZHQgb3BnZXNsYWdlbiBpbiBlZW4gUHJvY2VzIFZhcmlhYmVsZS4nLFxuICAgICAgdGV4dFRlbXBsYXRlS2V5OiAnVGV4dCBzamFibG9vbicsXG4gICAgICB0ZXh0VGVtcGxhdGVLZXlUb29sdGlwOiAnT3AgYmFzZXMgdmFuIGRlemUgc2phYmxvb24gd29yZHQgZGUgdGV4dC10ZW1wbGF0ZSBnZWdlbmVyZWVyZCcsXG4gICAgICBwcm9jZXNzVmFyaWFibGVOYW1lOiAnUHJvY2VzdmFyaWFiZWxlbmFhbScsXG4gICAgICBwcm9jZXNzVmFyaWFibGVOYW1lVG9vbHRpcDogJ0hldCByZXN1bHRhYXQgd29yZHQgb3BnZXNsYWdlbiBpbiBlZW4gcHJvY2VzdmFyaWFiZWxlIG1ldCBkZXplIG5hYW0nLFxuICAgIH0sXG4gICAgZW46IHtcbiAgICAgIHRpdGxlOiAnVGV4dCBUZW1wbGF0ZXMnLFxuICAgICAgJ2dlbmVyYXRlLXRleHQtZmlsZSc6ICdHZW5lcmF0ZSBUZXh0IEZpbGUnLFxuICAgICAgZGVzY3JpcHRpb246ICdDcmVhdGUgdGV4dC10ZW1wbGF0ZSB0ZW1wbGF0ZXMgd2l0aCBGcmVlbWFya2VyLicsXG4gICAgICBjb25maWd1cmF0aW9uVGl0bGU6ICdDb25maWd1cmF0aW9uIE5hbWUnLFxuICAgICAgY29uZmlndXJhdGlvblRpdGxlVG9vbHRpcDpcbiAgICAgICAgICAnVGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgcGx1Zy1pbiBjb25maWd1cmF0aW9uLiBUaGUgY29uZmlndXJhdGlvbiBjYW4gYmUgZm91bmQgdW5kZXIgdGhpcyBuYW1lIGluIHRoZSByZXN0IG9mIHRoZSBhcHBsaWNhdGlvbi4nLFxuICAgICAgZ2VuZXJhdGVUZXh0RmlsZURlc2NyaXB0aW9uOlxuICAgICAgICAgICdUaGlzIGFjdGlvbiBnZW5lcmF0ZXMgdGhlIGNvbnRlbnQgb2YgYW4gdGV4dC10ZW1wbGF0ZSBhbmQgc2F2ZXMgdGhlIHJlc3VsdCBpbiBhIHRlbXBvcmFyeSBmaWxlLiBUaGUgZmlsZSBJRCBpcyBzdG9yZWQgaW4gYSBQcm9jZXNzIFZhcmlhYmxlLicsXG4gICAgICB0ZXh0VGVtcGxhdGVLZXk6ICdUZXh0IFRlbXBsYXRlJyxcbiAgICAgIHRleHRUZW1wbGF0ZUtleVRvb2x0aXA6ICdUaGUgdGV4dC10ZW1wbGF0ZSB3aWxsIGJlIGdlbmVyYXRlZCBiYXNlZCBvbiB0aGlzIHRlbXBsYXRlLicsXG4gICAgICBwcm9jZXNzVmFyaWFibGVOYW1lOiAnUHJvY2VzcyBWYXJpYWJsZSBOYW1lJyxcbiAgICAgIHByb2Nlc3NWYXJpYWJsZU5hbWVUb29sdGlwOiAnVGhlIHJlc3VsdCB3aWxsIGJlIHN0b3JlZCBpbiBhIHByb2Nlc3MgdmFyaWFibGUgd2l0aCB0aGlzIG5hbWUuJyxcbiAgICB9LFxuICAgIGRlOiB7XG4gICAgICB0aXRsZTogJ1RleHQtVm9ybGFnZW4nLFxuICAgICAgJ2dlbmVyYXRlLXRleHQtZmlsZSc6ICdUZXh0LURhdGVpIGdlbmVyaWVyZW4nLFxuICAgICAgZGVzY3JpcHRpb246ICdFcnN0ZWxsZW4gU2llIFRleHQtVm9ybGFnZW4gbWl0IEZyZWVtYXJrZXIuJyxcbiAgICAgIGNvbmZpZ3VyYXRpb25UaXRsZTogJ0tvbmZpZ3VyYXRpb25zbmFtZScsXG4gICAgICBjb25maWd1cmF0aW9uVGl0bGVUb29sdGlwOlxuICAgICAgICAgICdEZXIgTmFtZSBkZXIgYWt0dWVsbGVuIFBsdWctaW4tS29uZmlndXJhdGlvbi4gVW50ZXIgZGllc2VtIE5hbWVuIGthbm4gZGllIEtvbmZpZ3VyYXRpb24gaW0gUmVzdCBkZXIgQW53ZW5kdW5nIGdlZnVuZGVuIHdlcmRlbi4nLFxuICAgICAgZ2VuZXJhdGVUZXh0RmlsZURlc2NyaXB0aW9uOlxuICAgICAgICAgICdEaWVzZSBBa3Rpb24gZ2VuZXJpZXJ0IGRlbiBJbmhhbHQgZWluZXIgVGV4dCB1bmQgc3BlaWNoZXJ0IGRhcyBFcmdlYm5pcyBpbiBlaW5lciB0ZW1wb3LDpHJlbiBEYXRlaS4gRGllIERhdGVpLUlEIHdpcmQgaW4gZWluZXIgUHJvemVzc3ZhcmlhYmxlbiBnZXNwZWljaGVydC4nLFxuICAgICAgdGV4dFRlbXBsYXRlS2V5OiAnVGV4dC1Wb3JsYWdlJyxcbiAgICAgIHRleHRUZW1wbGF0ZUtleVRvb2x0aXA6ICdEaWUgVGV4dCB3aXJkIGJhc2llcmVuZCBhdWYgZGllc2VyIFZvcmxhZ2UgZ2VuZXJpZXJ0LicsXG4gICAgICBwcm9jZXNzVmFyaWFibGVOYW1lOiAnUHJvemVzc3ZhcmlhYmxlbm5hbWUnLFxuICAgICAgcHJvY2Vzc1ZhcmlhYmxlTmFtZVRvb2x0aXA6ICdEYXMgRXJnZWJuaXMgd2lyZCBpbiBlaW5lciBQcm96ZXNzdmFyaWFibGVuIG1pdCBkaWVzZW0gTmFtZW4gZ2VzcGVpY2hlcnQuJyxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IHt0ZXh0VGVtcGxhdGVQbHVnaW5TcGVjaWZpY2F0aW9ufTtcbiJdfQ==
|
|
@@ -0,0 +1,84 @@
|
|
|
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 { Injectable } from '@angular/core';
|
|
17
|
+
import * as i0 from "@angular/core";
|
|
18
|
+
import * as i1 from "@valtimo/config";
|
|
19
|
+
import * as i2 from "@angular/common/http";
|
|
20
|
+
export class FreemarkerTemplateManagementService {
|
|
21
|
+
constructor(configService, http) {
|
|
22
|
+
this.configService = configService;
|
|
23
|
+
this.http = http;
|
|
24
|
+
this.valtimoEndpointUri = `${this.configService.config.valtimoApi.endpointUri}management/`;
|
|
25
|
+
}
|
|
26
|
+
getAllMailTemplates(caseDefinitionName) {
|
|
27
|
+
return this.getTemplates(caseDefinitionName, 'mail', undefined, undefined, 0, 10000);
|
|
28
|
+
}
|
|
29
|
+
getAllTextTemplates(caseDefinitionName) {
|
|
30
|
+
return this.getTemplates(caseDefinitionName, 'text', undefined, undefined, 0, 10000);
|
|
31
|
+
}
|
|
32
|
+
getAllDocumentTemplates(caseDefinitionName) {
|
|
33
|
+
return this.getTemplates(caseDefinitionName, undefined, ['csv', 'pdf'], undefined, 0, 10000);
|
|
34
|
+
}
|
|
35
|
+
getAllTemplates(caseDefinitionName, templateType) {
|
|
36
|
+
return this.getTemplates(caseDefinitionName, templateType, undefined, undefined, 0, 10000);
|
|
37
|
+
}
|
|
38
|
+
getTemplates(caseDefinitionName, templateType, templateTypes, templateKey, page, pageSize) {
|
|
39
|
+
const params = {
|
|
40
|
+
caseDefinitionName,
|
|
41
|
+
templateType,
|
|
42
|
+
templateTypes,
|
|
43
|
+
templateKey,
|
|
44
|
+
page,
|
|
45
|
+
size: pageSize,
|
|
46
|
+
};
|
|
47
|
+
Object.keys(params).forEach(key => {
|
|
48
|
+
if (params[key] === undefined) {
|
|
49
|
+
delete params[key];
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
return this.http.get(`${this.valtimoEndpointUri}v1/template`, { params });
|
|
53
|
+
}
|
|
54
|
+
getMailTemplate(caseDefinitionName, key) {
|
|
55
|
+
return this.getTemplate(caseDefinitionName, 'mail', key);
|
|
56
|
+
}
|
|
57
|
+
getTextTemplate(caseDefinitionName, key) {
|
|
58
|
+
return this.getTemplate(caseDefinitionName, 'text', key);
|
|
59
|
+
}
|
|
60
|
+
getTemplate(caseDefinitionName, templateType, key) {
|
|
61
|
+
return this.http.get(`${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionName}/template-type/${templateType}/template/${key}`);
|
|
62
|
+
}
|
|
63
|
+
addTemplate(template) {
|
|
64
|
+
return this.http.post(`${this.valtimoEndpointUri}v1/template`, template);
|
|
65
|
+
}
|
|
66
|
+
deleteTemplates(request) {
|
|
67
|
+
return this.http.delete(`${this.valtimoEndpointUri}v1/template`, { body: request });
|
|
68
|
+
}
|
|
69
|
+
updateTemplate(template) {
|
|
70
|
+
return this.http.put(`${this.valtimoEndpointUri}v1/template`, template);
|
|
71
|
+
}
|
|
72
|
+
previewTemplate(template) {
|
|
73
|
+
return this.http.post(`${this.valtimoEndpointUri}v1/template/preview`, template, { responseType: 'blob' });
|
|
74
|
+
}
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FreemarkerTemplateManagementService, deps: [{ token: i1.ConfigService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
76
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FreemarkerTemplateManagementService, providedIn: 'root' }); }
|
|
77
|
+
}
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FreemarkerTemplateManagementService, decorators: [{
|
|
79
|
+
type: Injectable,
|
|
80
|
+
args: [{
|
|
81
|
+
providedIn: 'root',
|
|
82
|
+
}]
|
|
83
|
+
}], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.HttpClient }] });
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlZW1hcmtlci10ZW1wbGF0ZS1tYW5hZ2VtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vLXBsdWdpbnMvZnJlZW1hcmtlci9zcmMvbGliL3NlcnZpY2VzL2ZyZWVtYXJrZXItdGVtcGxhdGUtbWFuYWdlbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQWlCekMsTUFBTSxPQUFPLG1DQUFtQztJQUc1QyxZQUNxQixhQUE0QixFQUM1QixJQUFnQjtRQURoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRWpDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxXQUFXLGFBQWEsQ0FBQztJQUMvRixDQUFDO0lBRU0sbUJBQW1CLENBQUMsa0JBQTJCO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVNLG1CQUFtQixDQUFDLGtCQUEyQjtRQUNsRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxrQkFBMkI7UUFDdEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFTSxlQUFlLENBQUMsa0JBQTJCLEVBQUUsWUFBMkI7UUFDM0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRU0sWUFBWSxDQUNmLGtCQUEyQixFQUMzQixZQUEyQixFQUMzQixhQUE4QixFQUM5QixXQUFvQixFQUNwQixJQUFhLEVBQ2IsUUFBaUI7UUFFakIsTUFBTSxNQUFNLEdBQTJEO1lBQ25FLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osYUFBYTtZQUNiLFdBQVc7WUFDWCxJQUFJO1lBQ0osSUFBSSxFQUFFLFFBQVE7U0FDakIsQ0FBQztRQUVGLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzlCLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUM1QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNoQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsYUFBYSxFQUN2QyxFQUFDLE1BQU0sRUFBQyxDQUNYLENBQUM7SUFDTixDQUFDO0lBRU0sZUFBZSxDQUFDLGtCQUEwQixFQUFFLEdBQVc7UUFDMUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sZUFBZSxDQUFDLGtCQUEwQixFQUFFLEdBQVc7UUFDMUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sV0FBVyxDQUFDLGtCQUEwQixFQUFFLFlBQTBCLEVBQUUsR0FBVztRQUNsRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNoQixHQUFHLElBQUksQ0FBQyxrQkFBa0Isc0JBQXNCLGtCQUFrQixrQkFBa0IsWUFBWSxhQUFhLEdBQUcsRUFBRSxDQUNySCxDQUFDO0lBQ04sQ0FBQztJQUVNLFdBQVcsQ0FBQyxRQUFrQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFtQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTSxlQUFlLENBQUMsT0FBK0I7UUFDbEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsYUFBYSxFQUFFLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVNLGNBQWMsQ0FBQyxRQUErQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFtQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFTSxlQUFlLENBQUMsUUFBZ0M7UUFDbkQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IscUJBQXFCLEVBQUUsUUFBUSxFQUFFLEVBQUMsWUFBWSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7SUFDN0csQ0FBQzsrR0FuRlEsbUNBQW1DO21IQUFuQyxtQ0FBbUMsY0FGaEMsTUFBTTs7NEZBRVQsbUNBQW1DO2tCQUgvQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBIZWFkZXJzfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge21hcCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIERlbGV0ZVRlbXBsYXRlc1JlcXVlc3QsXG4gICAgVGVtcGxhdGUsXG4gICAgVGVtcGxhdGVMaXN0SXRlbSxcbiAgICBUZW1wbGF0ZVByZXZpZXdSZXF1ZXN0LFxuICAgIFRlbXBsYXRlUmVzcG9uc2UsXG4gICAgVGVtcGxhdGVUeXBlLFxuICAgIFVwZGF0ZVRlbXBsYXRlUmVxdWVzdCxcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7Q29uZmlnU2VydmljZSwgUGFnZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnJlZW1hcmtlclRlbXBsYXRlTWFuYWdlbWVudFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdGltb0VuZHBvaW50VXJpOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnRcbiAgICApIHtcbiAgICAgICAgdGhpcy52YWx0aW1vRW5kcG9pbnRVcmkgPSBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLnZhbHRpbW9BcGkuZW5kcG9pbnRVcml9bWFuYWdlbWVudC9gO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBbGxNYWlsVGVtcGxhdGVzKGNhc2VEZWZpbml0aW9uTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8UGFnZTxUZW1wbGF0ZUxpc3RJdGVtPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUZW1wbGF0ZXMoY2FzZURlZmluaXRpb25OYW1lLCAnbWFpbCcsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCAwLCAxMDAwMCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFsbFRleHRUZW1wbGF0ZXMoY2FzZURlZmluaXRpb25OYW1lPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxQYWdlPFRlbXBsYXRlTGlzdEl0ZW0+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRlbXBsYXRlcyhjYXNlRGVmaW5pdGlvbk5hbWUsICd0ZXh0JywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIDAsIDEwMDAwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWxsRG9jdW1lbnRUZW1wbGF0ZXMoY2FzZURlZmluaXRpb25OYW1lPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxQYWdlPFRlbXBsYXRlTGlzdEl0ZW0+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRlbXBsYXRlcyhjYXNlRGVmaW5pdGlvbk5hbWUsIHVuZGVmaW5lZCwgWydjc3YnLCAncGRmJ10sIHVuZGVmaW5lZCwgMCwgMTAwMDApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBbGxUZW1wbGF0ZXMoY2FzZURlZmluaXRpb25OYW1lPzogc3RyaW5nLCB0ZW1wbGF0ZVR5cGU/OiBUZW1wbGF0ZVR5cGUpOiBPYnNlcnZhYmxlPFBhZ2U8VGVtcGxhdGVMaXN0SXRlbT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VGVtcGxhdGVzKGNhc2VEZWZpbml0aW9uTmFtZSwgdGVtcGxhdGVUeXBlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgMCwgMTAwMDApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUZW1wbGF0ZXMoXG4gICAgICAgIGNhc2VEZWZpbml0aW9uTmFtZT86IHN0cmluZyxcbiAgICAgICAgdGVtcGxhdGVUeXBlPzogVGVtcGxhdGVUeXBlLFxuICAgICAgICB0ZW1wbGF0ZVR5cGVzPzogVGVtcGxhdGVUeXBlW10sXG4gICAgICAgIHRlbXBsYXRlS2V5Pzogc3RyaW5nLFxuICAgICAgICBwYWdlPzogbnVtYmVyLFxuICAgICAgICBwYWdlU2l6ZT86IG51bWJlcixcbiAgICApOiBPYnNlcnZhYmxlPFBhZ2U8VGVtcGxhdGVMaXN0SXRlbT4+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZD4gPSB7XG4gICAgICAgICAgICBjYXNlRGVmaW5pdGlvbk5hbWUsXG4gICAgICAgICAgICB0ZW1wbGF0ZVR5cGUsXG4gICAgICAgICAgICB0ZW1wbGF0ZVR5cGVzLFxuICAgICAgICAgICAgdGVtcGxhdGVLZXksXG4gICAgICAgICAgICBwYWdlLFxuICAgICAgICAgICAgc2l6ZTogcGFnZVNpemUsXG4gICAgICAgIH07XG5cbiAgICAgICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAocGFyYW1zW2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBwYXJhbXNba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UGFnZTxUZW1wbGF0ZUxpc3RJdGVtPj4oXG4gICAgICAgICAgICBgJHt0aGlzLnZhbHRpbW9FbmRwb2ludFVyaX12MS90ZW1wbGF0ZWAsXG4gICAgICAgICAgICB7cGFyYW1zfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRNYWlsVGVtcGxhdGUoY2FzZURlZmluaXRpb25OYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZVJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRlbXBsYXRlKGNhc2VEZWZpbml0aW9uTmFtZSwgJ21haWwnLCBrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUZXh0VGVtcGxhdGUoY2FzZURlZmluaXRpb25OYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZVJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRlbXBsYXRlKGNhc2VEZWZpbml0aW9uTmFtZSwgJ3RleHQnLCBrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUZW1wbGF0ZShjYXNlRGVmaW5pdGlvbk5hbWU6IHN0cmluZywgdGVtcGxhdGVUeXBlOiBUZW1wbGF0ZVR5cGUsIGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZVJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFRlbXBsYXRlUmVzcG9uc2U+KFxuICAgICAgICAgICAgYCR7dGhpcy52YWx0aW1vRW5kcG9pbnRVcml9djEvY2FzZS1kZWZpbml0aW9uLyR7Y2FzZURlZmluaXRpb25OYW1lfS90ZW1wbGF0ZS10eXBlLyR7dGVtcGxhdGVUeXBlfS90ZW1wbGF0ZS8ke2tleX1gXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZSk6IE9ic2VydmFibGU8VGVtcGxhdGVSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VGVtcGxhdGVSZXNwb25zZT4oYCR7dGhpcy52YWx0aW1vRW5kcG9pbnRVcml9djEvdGVtcGxhdGVgLCB0ZW1wbGF0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZVRlbXBsYXRlcyhyZXF1ZXN0OiBEZWxldGVUZW1wbGF0ZXNSZXF1ZXN0KTogT2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPG51bGw+KGAke3RoaXMudmFsdGltb0VuZHBvaW50VXJpfXYxL3RlbXBsYXRlYCwge2JvZHk6IHJlcXVlc3R9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlVGVtcGxhdGUodGVtcGxhdGU6IFVwZGF0ZVRlbXBsYXRlUmVxdWVzdCk6IE9ic2VydmFibGU8VGVtcGxhdGVSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxUZW1wbGF0ZVJlc3BvbnNlPihgJHt0aGlzLnZhbHRpbW9FbmRwb2ludFVyaX12MS90ZW1wbGF0ZWAsIHRlbXBsYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcHJldmlld1RlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVByZXZpZXdSZXF1ZXN0KTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnZhbHRpbW9FbmRwb2ludFVyaX12MS90ZW1wbGF0ZS9wcmV2aWV3YCwgdGVtcGxhdGUsIHtyZXNwb25zZVR5cGU6ICdibG9iJ30pO1xuICAgIH1cbn1cbiJdfQ==
|