@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,24 +1,25 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter,
|
|
3
|
-
import { BehaviorSubject, combineLatest, take, switchMap, of,
|
|
4
|
-
import * as
|
|
2
|
+
import { EventEmitter, Output, Input, Component, Injectable, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject, combineLatest, take, map, switchMap, of, tap, filter, startWith } from 'rxjs';
|
|
4
|
+
import * as i4 from '@angular/common';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
6
6
|
import * as i1 from '@valtimo/components';
|
|
7
|
-
import { CARBON_CONSTANTS, ViewType, CarbonListComponent,
|
|
7
|
+
import { ConfirmationModalModule, CARBON_CONSTANTS, ViewType, CarbonListModule, CarbonListComponent, ValtimoCdsOverflowButtonDirectiveModule, EditorModule, RenderInPageHeaderDirectiveModule, FormModule, ParagraphModule, SelectModule, InputModule as InputModule$1 } from '@valtimo/components';
|
|
8
8
|
import * as i6 from '@valtimo/plugin';
|
|
9
9
|
import { PluginTranslatePipeModule } from '@valtimo/plugin';
|
|
10
10
|
import * as i2$1 from '@valtimo/document';
|
|
11
|
-
import * as i1$1 from '@valtimo/config';
|
|
12
|
-
import { ROLE_ADMIN, CASE_MANAGEMENT_TAB_TOKEN } from '@valtimo/config';
|
|
13
11
|
import * as i2 from '@angular/common/http';
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import { Validators, ReactiveFormsModule } from '@angular/forms';
|
|
12
|
+
import { HttpHeaders } from '@angular/common/http';
|
|
13
|
+
import * as i3 from '@valtimo/shared';
|
|
14
|
+
import { InterceptorSkip, getCaseManagementRouteParams, ROLE_ADMIN, CASE_MANAGEMENT_TAB_TOKEN } from '@valtimo/shared';
|
|
15
|
+
import * as i4$1 from 'carbon-components-angular';
|
|
16
|
+
import { ButtonModule, ModalModule, InputModule, TabsModule, DialogModule, NotificationService, DropdownModule, IconModule, LoadingModule, NotificationModule } from 'carbon-components-angular';
|
|
20
17
|
import * as i5 from '@ngx-translate/core';
|
|
21
18
|
import { TranslateModule } from '@ngx-translate/core';
|
|
19
|
+
import * as i1$1 from '@angular/forms';
|
|
20
|
+
import { Validators, ReactiveFormsModule } from '@angular/forms';
|
|
21
|
+
import * as i2$2 from '@angular/router';
|
|
22
|
+
import { RouterModule } from '@angular/router';
|
|
22
23
|
import { AuthGuardService } from '@valtimo/security';
|
|
23
24
|
|
|
24
25
|
/*
|
|
@@ -104,12 +105,12 @@ class MailTemplateConfigurationComponent {
|
|
|
104
105
|
}
|
|
105
106
|
injectCaseTab() {
|
|
106
107
|
}
|
|
107
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
108
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
108
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MailTemplateConfigurationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: MailTemplateConfigurationComponent, isStandalone: false, selector: "valtimo-mail-template-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2022 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<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n placeholder=\"Mail Template Plugin\"\n >\n </v-input>\n</v-form>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.PluginTranslatePipe, name: "pluginTranslate" }] }); }
|
|
109
110
|
}
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MailTemplateConfigurationComponent, decorators: [{
|
|
111
112
|
type: Component,
|
|
112
|
-
args: [{ selector: 'valtimo-mail-template-configuration', template: "<!--\n ~ Copyright 2015-2022 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<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n placeholder=\"Mail Template Plugin\"\n >\n </v-input>\n</v-form>\n" }]
|
|
113
|
+
args: [{ standalone: false, selector: 'valtimo-mail-template-configuration', template: "<!--\n ~ Copyright 2015-2022 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<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n placeholder=\"Mail Template Plugin\"\n >\n </v-input>\n</v-form>\n" }]
|
|
113
114
|
}], ctorParameters: () => [], propDecorators: { save$: [{
|
|
114
115
|
type: Input
|
|
115
116
|
}], disabled$: [{
|
|
@@ -145,15 +146,16 @@ class FreemarkerTemplateManagementService {
|
|
|
145
146
|
this.http = http;
|
|
146
147
|
this.valtimoEndpointUri = `${this.configService.config.valtimoApi.endpointUri}management/`;
|
|
147
148
|
}
|
|
148
|
-
getAllMailTemplates(
|
|
149
|
-
return this.getTemplates(
|
|
149
|
+
getAllMailTemplates(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
150
|
+
return this.getTemplates(caseDefinitionKey, caseDefinitionVersionTag, 'mail', undefined, 0, 10000);
|
|
150
151
|
}
|
|
151
|
-
getAllTextTemplates(
|
|
152
|
-
return this.getTemplates(
|
|
152
|
+
getAllTextTemplates(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
153
|
+
return this.getTemplates(caseDefinitionKey, caseDefinitionVersionTag, 'text', undefined, 0, 10000);
|
|
153
154
|
}
|
|
154
|
-
getTemplates(
|
|
155
|
+
getTemplates(caseDefinitionKey, caseDefinitionVersionTag, templateType, templateKey, page, pageSize) {
|
|
155
156
|
const params = {
|
|
156
|
-
|
|
157
|
+
caseDefinitionKey,
|
|
158
|
+
caseDefinitionVersionTag,
|
|
157
159
|
templateType,
|
|
158
160
|
templateKey,
|
|
159
161
|
page,
|
|
@@ -166,14 +168,14 @@ class FreemarkerTemplateManagementService {
|
|
|
166
168
|
});
|
|
167
169
|
return this.http.get(`${this.valtimoEndpointUri}v1/template`, { params });
|
|
168
170
|
}
|
|
169
|
-
getMailTemplate(
|
|
170
|
-
return this.getTemplate(
|
|
171
|
+
getMailTemplate(caseDefinitionKey, caseDefinitionVersionTag, key) {
|
|
172
|
+
return this.getTemplate(caseDefinitionKey, caseDefinitionVersionTag, 'mail', key);
|
|
171
173
|
}
|
|
172
|
-
getTextTemplate(
|
|
173
|
-
return this.getTemplate(
|
|
174
|
+
getTextTemplate(caseDefinitionKey, caseDefinitionVersionTag, key) {
|
|
175
|
+
return this.getTemplate(caseDefinitionKey, caseDefinitionVersionTag, 'text', key);
|
|
174
176
|
}
|
|
175
|
-
getTemplate(
|
|
176
|
-
return this.http.get(`${this.valtimoEndpointUri}v1/case-definition/${
|
|
177
|
+
getTemplate(caseDefinitionKey, caseDefinitionVersionTag, templateType, key) {
|
|
178
|
+
return this.http.get(`${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/template-type/${templateType}/template/${key}`);
|
|
177
179
|
}
|
|
178
180
|
addTemplate(template) {
|
|
179
181
|
return this.http.post(`${this.valtimoEndpointUri}v1/template`, template);
|
|
@@ -184,15 +186,22 @@ class FreemarkerTemplateManagementService {
|
|
|
184
186
|
updateTemplate(template) {
|
|
185
187
|
return this.http.put(`${this.valtimoEndpointUri}v1/template`, template);
|
|
186
188
|
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
+
isFinal(caseDefinitionKey, caseDefinitionVersionTag) {
|
|
190
|
+
return this.http
|
|
191
|
+
.get(`${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}`, {
|
|
192
|
+
headers: new HttpHeaders().set(InterceptorSkip, '403'),
|
|
193
|
+
})
|
|
194
|
+
.pipe(map(caseDefinition => caseDefinition.final));
|
|
195
|
+
}
|
|
196
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FreemarkerTemplateManagementService, deps: [{ token: i3.ConfigService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
197
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FreemarkerTemplateManagementService, providedIn: 'root' }); }
|
|
189
198
|
}
|
|
190
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FreemarkerTemplateManagementService, decorators: [{
|
|
191
200
|
type: Injectable,
|
|
192
201
|
args: [{
|
|
193
202
|
providedIn: 'root',
|
|
194
203
|
}]
|
|
195
|
-
}], ctorParameters: () => [{ type:
|
|
204
|
+
}], ctorParameters: () => [{ type: i3.ConfigService }, { type: i2.HttpClient }] });
|
|
196
205
|
|
|
197
206
|
/*
|
|
198
207
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
@@ -275,12 +284,12 @@ class GenerateMailContentComponent {
|
|
|
275
284
|
});
|
|
276
285
|
});
|
|
277
286
|
}
|
|
278
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
279
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
287
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: GenerateMailContentComponent, deps: [{ token: i1.ModalService }, { token: i2$1.DocumentService }, { token: FreemarkerTemplateManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
288
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: GenerateMailContentComponent, isStandalone: false, selector: "valtimo-generate-mail-content-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2022 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n mailTemplateItems: mailTemplateItems$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateMailContentDescription' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-select\n [items]=\"obs.mailTemplateItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"mailTemplateKey\"\n [title]=\"'mailTemplateKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.mailTemplateKey\"\n [required]=\"true\"\n [loading]=\"!obs.mailTemplateItems\"\n [tooltip]=\"'mailTemplateKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"processVariableName\"\n [title]=\"'processVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariableName || 'content'\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'processVariableNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i1.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "component", type: i1.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "component", type: i1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.PluginTranslatePipe, name: "pluginTranslate" }] }); }
|
|
280
289
|
}
|
|
281
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
290
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: GenerateMailContentComponent, decorators: [{
|
|
282
291
|
type: Component,
|
|
283
|
-
args: [{ selector: 'valtimo-generate-mail-content-configuration', template: "<!--\n ~ Copyright 2015-2022 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n mailTemplateItems: mailTemplateItems$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateMailContentDescription' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-select\n [items]=\"obs.mailTemplateItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"mailTemplateKey\"\n [title]=\"'mailTemplateKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.mailTemplateKey\"\n [required]=\"true\"\n [loading]=\"!obs.mailTemplateItems\"\n [tooltip]=\"'mailTemplateKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"processVariableName\"\n [title]=\"'processVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariableName || 'content'\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'processVariableNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n" }]
|
|
292
|
+
args: [{ standalone: false, selector: 'valtimo-generate-mail-content-configuration', template: "<!--\n ~ Copyright 2015-2022 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n mailTemplateItems: mailTemplateItems$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateMailContentDescription' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-select\n [items]=\"obs.mailTemplateItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"mailTemplateKey\"\n [title]=\"'mailTemplateKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.mailTemplateKey\"\n [required]=\"true\"\n [loading]=\"!obs.mailTemplateItems\"\n [tooltip]=\"'mailTemplateKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"processVariableName\"\n [title]=\"'processVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariableName || 'content'\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'processVariableNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n" }]
|
|
284
293
|
}], ctorParameters: () => [{ type: i1.ModalService }, { type: i2$1.DocumentService }, { type: FreemarkerTemplateManagementService }], propDecorators: { save$: [{
|
|
285
294
|
type: Input
|
|
286
295
|
}], disabled$: [{
|
|
@@ -360,12 +369,12 @@ class GenerateMailFileComponent {
|
|
|
360
369
|
});
|
|
361
370
|
});
|
|
362
371
|
}
|
|
363
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
364
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
372
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: GenerateMailFileComponent, deps: [{ token: i1.ModalService }, { token: i2$1.DocumentService }, { token: FreemarkerTemplateManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
373
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: GenerateMailFileComponent, isStandalone: false, selector: "valtimo-generate-mail-file-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2022 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n mailTemplateItems: mailTemplateItems$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateMailFileDescription' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-select\n [items]=\"obs.mailTemplateItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"mailTemplateKey\"\n [title]=\"'mailTemplateKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.mailTemplateKey\"\n [required]=\"true\"\n [loading]=\"!obs.mailTemplateItems\"\n [tooltip]=\"'mailTemplateKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"processVariableName\"\n [title]=\"'processVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariableName || 'contentId'\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'processVariableNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i1.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "component", type: i1.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "component", type: i1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.PluginTranslatePipe, name: "pluginTranslate" }] }); }
|
|
365
374
|
}
|
|
366
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
375
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: GenerateMailFileComponent, decorators: [{
|
|
367
376
|
type: Component,
|
|
368
|
-
args: [{ selector: 'valtimo-generate-mail-file-configuration', template: "<!--\n ~ Copyright 2015-2022 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n mailTemplateItems: mailTemplateItems$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateMailFileDescription' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-select\n [items]=\"obs.mailTemplateItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"mailTemplateKey\"\n [title]=\"'mailTemplateKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.mailTemplateKey\"\n [required]=\"true\"\n [loading]=\"!obs.mailTemplateItems\"\n [tooltip]=\"'mailTemplateKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"processVariableName\"\n [title]=\"'processVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariableName || 'contentId'\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'processVariableNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n" }]
|
|
377
|
+
args: [{ standalone: false, selector: 'valtimo-generate-mail-file-configuration', template: "<!--\n ~ Copyright 2015-2022 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n mailTemplateItems: mailTemplateItems$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateMailFileDescription' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-select\n [items]=\"obs.mailTemplateItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"mailTemplateKey\"\n [title]=\"'mailTemplateKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.mailTemplateKey\"\n [required]=\"true\"\n [loading]=\"!obs.mailTemplateItems\"\n [tooltip]=\"'mailTemplateKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"processVariableName\"\n [title]=\"'processVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariableName || 'contentId'\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'processVariableNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n" }]
|
|
369
378
|
}], ctorParameters: () => [{ type: i1.ModalService }, { type: i2$1.DocumentService }, { type: FreemarkerTemplateManagementService }], propDecorators: { save$: [{
|
|
370
379
|
type: Input
|
|
371
380
|
}], disabled$: [{
|
|
@@ -380,6 +389,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
380
389
|
type: Output
|
|
381
390
|
}] } });
|
|
382
391
|
|
|
392
|
+
/*
|
|
393
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
394
|
+
*
|
|
395
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
396
|
+
* you may not use this file except in compliance with the License.
|
|
397
|
+
* You may obtain a copy of the License at
|
|
398
|
+
*
|
|
399
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
400
|
+
*
|
|
401
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
402
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
403
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
404
|
+
* See the License for the specific language governing permissions and
|
|
405
|
+
* limitations under the License.
|
|
406
|
+
*/
|
|
407
|
+
class MailTemplateDeleteModalComponent {
|
|
408
|
+
constructor() {
|
|
409
|
+
this.deleteEvent = new EventEmitter();
|
|
410
|
+
}
|
|
411
|
+
onDelete(templates) {
|
|
412
|
+
this.deleteEvent.emit(templates);
|
|
413
|
+
}
|
|
414
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MailTemplateDeleteModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
415
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: MailTemplateDeleteModalComponent, isStandalone: true, selector: "valtimo-mail-template-delete-modal", inputs: { deleteRowKeys: "deleteRowKeys", showDeleteModal$: "showDeleteModal$" }, outputs: { deleteEvent: "deleteEvent" }, 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"template.deleteModalContent\"\n [outputOnConfirm]=\"deleteRowKeys\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n", dependencies: [{ kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
416
|
+
}
|
|
417
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MailTemplateDeleteModalComponent, decorators: [{
|
|
418
|
+
type: Component,
|
|
419
|
+
args: [{ standalone: true, selector: 'valtimo-mail-template-delete-modal', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
420
|
+
ConfirmationModalModule
|
|
421
|
+
], 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"template.deleteModalContent\"\n [outputOnConfirm]=\"deleteRowKeys\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n" }]
|
|
422
|
+
}], propDecorators: { deleteRowKeys: [{
|
|
423
|
+
type: Input
|
|
424
|
+
}], showDeleteModal$: [{
|
|
425
|
+
type: Input
|
|
426
|
+
}], deleteEvent: [{
|
|
427
|
+
type: Output
|
|
428
|
+
}] } });
|
|
429
|
+
|
|
383
430
|
/*
|
|
384
431
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
385
432
|
*
|
|
@@ -442,13 +489,20 @@ class MailTemplateAddEditModalComponent {
|
|
|
442
489
|
}
|
|
443
490
|
}, CARBON_CONSTANTS.modalAnimationMs);
|
|
444
491
|
}
|
|
445
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
446
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
492
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MailTemplateAddEditModalComponent, deps: [{ token: i1$1.FormBuilder }, { token: i1.KeyGeneratorService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
493
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: MailTemplateAddEditModalComponent, isStandalone: true, selector: "valtimo-mail-template-add-edit-modal", inputs: { open: "open", type: "type", defaultKeyValue: "defaultKeyValue" }, outputs: { closeEvent: "closeEvent" }, 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<cds-modal\n *ngIf=\"{\n isAdd: type === 'add'\n } as vars\"\n [open]=\"open\"\n showFooter=\"true\"\n [title]=\"vars.title\"\n valtimoCdsModal\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{\n vars.isAdd\n ? 'Add'\n : 'Edit'\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\">\n <cds-label [invalid]=\"key.dirty && key.invalid\">\n {{ 'Key' }}\n\n <input\n formControlName=\"key\"\n cdsText\n placeholder=\"{{ 'key' }}\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"key.dirty && key.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"this.form.invalid\" (click)=\"onConfirm()\" cdsButton=\"primary\">\n {{ vars.isAdd ? ('interface.create' | translate) : ('interface.save' | translate) }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i4$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i4$1.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i4$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
447
494
|
}
|
|
448
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
495
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MailTemplateAddEditModalComponent, decorators: [{
|
|
449
496
|
type: Component,
|
|
450
|
-
args: [{ selector: 'valtimo-mail-template-add-edit-modal', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
451
|
-
|
|
497
|
+
args: [{ standalone: true, selector: 'valtimo-mail-template-add-edit-modal', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
498
|
+
CommonModule,
|
|
499
|
+
ButtonModule,
|
|
500
|
+
TranslateModule,
|
|
501
|
+
ModalModule,
|
|
502
|
+
ReactiveFormsModule,
|
|
503
|
+
InputModule
|
|
504
|
+
], 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<cds-modal\n *ngIf=\"{\n isAdd: type === 'add'\n } as vars\"\n [open]=\"open\"\n showFooter=\"true\"\n [title]=\"vars.title\"\n valtimoCdsModal\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{\n vars.isAdd\n ? 'Add'\n : 'Edit'\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\">\n <cds-label [invalid]=\"key.dirty && key.invalid\">\n {{ 'Key' }}\n\n <input\n formControlName=\"key\"\n cdsText\n placeholder=\"{{ 'key' }}\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"key.dirty && key.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"this.form.invalid\" (click)=\"onConfirm()\" cdsButton=\"primary\">\n {{ vars.isAdd ? ('interface.create' | translate) : ('interface.save' | translate) }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n" }]
|
|
505
|
+
}], ctorParameters: () => [{ type: i1$1.FormBuilder }, { type: i1.KeyGeneratorService }], propDecorators: { open: [{
|
|
452
506
|
type: Input
|
|
453
507
|
}], type: [{
|
|
454
508
|
type: Input
|
|
@@ -458,42 +512,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
458
512
|
type: Output
|
|
459
513
|
}] } });
|
|
460
514
|
|
|
461
|
-
/*
|
|
462
|
-
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
463
|
-
*
|
|
464
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
465
|
-
* you may not use this file except in compliance with the License.
|
|
466
|
-
* You may obtain a copy of the License at
|
|
467
|
-
*
|
|
468
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
469
|
-
*
|
|
470
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
471
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
472
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
473
|
-
* See the License for the specific language governing permissions and
|
|
474
|
-
* limitations under the License.
|
|
475
|
-
*/
|
|
476
|
-
class MailTemplateDeleteModalComponent {
|
|
477
|
-
constructor() {
|
|
478
|
-
this.deleteEvent = new EventEmitter();
|
|
479
|
-
}
|
|
480
|
-
onDelete(templates) {
|
|
481
|
-
this.deleteEvent.emit(templates);
|
|
482
|
-
}
|
|
483
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MailTemplateDeleteModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
484
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MailTemplateDeleteModalComponent, selector: "valtimo-mail-template-delete-modal", inputs: { deleteRowKeys: "deleteRowKeys", showDeleteModal$: "showDeleteModal$" }, outputs: { deleteEvent: "deleteEvent" }, 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"template.deleteModalContent\"\n [outputOnConfirm]=\"deleteRowKeys\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n", dependencies: [{ kind: "component", type: i1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
485
|
-
}
|
|
486
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MailTemplateDeleteModalComponent, decorators: [{
|
|
487
|
-
type: Component,
|
|
488
|
-
args: [{ selector: 'valtimo-mail-template-delete-modal', 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"template.deleteModalContent\"\n [outputOnConfirm]=\"deleteRowKeys\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n" }]
|
|
489
|
-
}], propDecorators: { deleteRowKeys: [{
|
|
490
|
-
type: Input
|
|
491
|
-
}], showDeleteModal$: [{
|
|
492
|
-
type: Input
|
|
493
|
-
}], deleteEvent: [{
|
|
494
|
-
type: Output
|
|
495
|
-
}] } });
|
|
496
|
-
|
|
497
515
|
/*
|
|
498
516
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
499
517
|
*
|
|
@@ -510,23 +528,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
510
528
|
* limitations under the License.
|
|
511
529
|
*/
|
|
512
530
|
class MailTemplateListComponent {
|
|
513
|
-
constructor(templateService, router, route) {
|
|
531
|
+
constructor(templateService, router, route, environmentService) {
|
|
514
532
|
this.templateService = templateService;
|
|
515
533
|
this.router = router;
|
|
516
534
|
this.route = route;
|
|
535
|
+
this.environmentService = environmentService;
|
|
517
536
|
this.fields = [
|
|
518
537
|
{
|
|
519
538
|
viewType: ViewType.TEXT,
|
|
520
539
|
key: 'key',
|
|
521
540
|
label: 'Key',
|
|
522
541
|
},
|
|
523
|
-
{
|
|
524
|
-
viewType: ViewType.BOOLEAN,
|
|
525
|
-
key: 'readOnly',
|
|
526
|
-
label: 'Read only',
|
|
527
|
-
},
|
|
528
542
|
];
|
|
529
|
-
this.
|
|
543
|
+
this._caseDefinitionId$ = getCaseManagementRouteParams(this.route).pipe(filter((params) => !!params?.caseDefinitionKey));
|
|
544
|
+
this.readOnly$ = this._caseDefinitionId$.pipe(switchMap(caseDefinitionId => combineLatest([
|
|
545
|
+
this.environmentService.canUpdateGlobalConfiguration(),
|
|
546
|
+
this.templateService.isFinal(caseDefinitionId.caseDefinitionKey, caseDefinitionId.caseDefinitionVersionTag)
|
|
547
|
+
]).pipe(map(([canUpdateGlobal, isFinalCase]) => !canUpdateGlobal || isFinalCase), startWith(true))));
|
|
530
548
|
this.templates$ = new BehaviorSubject(null);
|
|
531
549
|
this.showAddModal$ = new BehaviorSubject(false);
|
|
532
550
|
this.showDeleteModal$ = new BehaviorSubject(false);
|
|
@@ -544,9 +562,13 @@ class MailTemplateListComponent {
|
|
|
544
562
|
this.showAddModal$.next(false);
|
|
545
563
|
return;
|
|
546
564
|
}
|
|
547
|
-
this.
|
|
565
|
+
this._caseDefinitionId$.pipe(take(1), switchMap(caseDefinitionId => this.templateService.addTemplate({
|
|
566
|
+
caseDefinitionKey: caseDefinitionId.caseDefinitionKey,
|
|
567
|
+
caseDefinitionVersionTag: caseDefinitionId.caseDefinitionVersionTag,
|
|
568
|
+
type: 'mail', ...data
|
|
569
|
+
}))).subscribe(template => {
|
|
548
570
|
this.showAddModal$.next(false);
|
|
549
|
-
this.gotoMailTemplateEditor(template.
|
|
571
|
+
this.gotoMailTemplateEditor(template.caseDefinitionKey, template.caseDefinitionVersionTag, template.key);
|
|
550
572
|
});
|
|
551
573
|
}
|
|
552
574
|
showDeleteModal() {
|
|
@@ -555,19 +577,24 @@ class MailTemplateListComponent {
|
|
|
555
577
|
}
|
|
556
578
|
onDelete(templates) {
|
|
557
579
|
this.loading$.next(true);
|
|
558
|
-
this.
|
|
580
|
+
this._caseDefinitionId$.pipe(take(1), switchMap(caseDefinitionId => this.templateService.deleteTemplates({
|
|
581
|
+
caseDefinitionKey: caseDefinitionId.caseDefinitionKey,
|
|
582
|
+
caseDefinitionVersionTag: caseDefinitionId.caseDefinitionVersionTag,
|
|
583
|
+
type: 'mail',
|
|
584
|
+
templates
|
|
585
|
+
}))).subscribe(_ => {
|
|
559
586
|
this.reloadTemplateList();
|
|
560
587
|
});
|
|
561
588
|
}
|
|
562
589
|
onRowClick(template) {
|
|
563
|
-
this.
|
|
590
|
+
this._caseDefinitionId$.pipe(take(1)).subscribe(caseDefinitionId => this.gotoMailTemplateEditor(caseDefinitionId.caseDefinitionKey, caseDefinitionId.caseDefinitionVersionTag, template.key));
|
|
564
591
|
}
|
|
565
|
-
gotoMailTemplateEditor(
|
|
566
|
-
this.router.navigate([`/
|
|
592
|
+
gotoMailTemplateEditor(caseDefinitionKey, caseDefinitionVersionTag, key) {
|
|
593
|
+
this.router.navigate([`/case-management/case/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/mail-template/${key}`]);
|
|
567
594
|
}
|
|
568
595
|
reloadTemplateList() {
|
|
569
596
|
this.loading$.next(true);
|
|
570
|
-
this.
|
|
597
|
+
this._caseDefinitionId$.pipe(switchMap((caseDefinitionId) => this.templateService.getAllMailTemplates(caseDefinitionId.caseDefinitionKey, caseDefinitionId.caseDefinitionVersionTag)), map(templatePage => templatePage.content), take(1)).subscribe(templateListItems => {
|
|
571
598
|
this.templates$.next(templateListItems);
|
|
572
599
|
this.loading$.next(false);
|
|
573
600
|
});
|
|
@@ -575,13 +602,20 @@ class MailTemplateListComponent {
|
|
|
575
602
|
setSelectedTemplateKeys() {
|
|
576
603
|
this.selectedRowKeys$.next(this.carbonList.selectedItems.map((template) => template.key));
|
|
577
604
|
}
|
|
578
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
579
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
605
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MailTemplateListComponent, deps: [{ token: FreemarkerTemplateManagementService }, { token: i2$2.Router }, { token: i2$2.ActivatedRoute }, { token: i3.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
606
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: MailTemplateListComponent, 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]=\"!(readOnly$ | async)\"\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-mail-template-add-edit-modal\n [open]=\"showAddModal$ | async\"\n (closeEvent)=\"onAdd($event)\"\n></valtimo-mail-template-add-edit-modal>\n\n<ng-container *ngIf=\"{selectedRowKeys: selectedRowKeys$ | async} as obs\">\n <valtimo-mail-template-delete-modal\n [deleteRowKeys]=\"obs.selectedRowKeys\"\n [showDeleteModal$]=\"showDeleteModal$\"\n (deleteEvent)=\"onDelete($event)\"\n >\n </valtimo-mail-template-delete-modal>\n</ng-container>\n\n<ng-template #addTemplateButton>\n <button cdsButton=\"primary\"\n [disabled]=\"readOnly$ | async\"\n (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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1.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: i1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: MailTemplateDeleteModalComponent, selector: "valtimo-mail-template-delete-modal", inputs: ["deleteRowKeys", "showDeleteModal$"], outputs: ["deleteEvent"] }, { kind: "component", type: MailTemplateAddEditModalComponent, selector: "valtimo-mail-template-add-edit-modal", inputs: ["open", "type", "defaultKeyValue"], outputs: ["closeEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
580
607
|
}
|
|
581
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
608
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MailTemplateListComponent, decorators: [{
|
|
582
609
|
type: Component,
|
|
583
|
-
args: [{
|
|
584
|
-
|
|
610
|
+
args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
611
|
+
CommonModule,
|
|
612
|
+
CarbonListModule,
|
|
613
|
+
ButtonModule,
|
|
614
|
+
TranslateModule,
|
|
615
|
+
MailTemplateDeleteModalComponent,
|
|
616
|
+
MailTemplateAddEditModalComponent
|
|
617
|
+
], 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]=\"!(readOnly$ | async)\"\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-mail-template-add-edit-modal\n [open]=\"showAddModal$ | async\"\n (closeEvent)=\"onAdd($event)\"\n></valtimo-mail-template-add-edit-modal>\n\n<ng-container *ngIf=\"{selectedRowKeys: selectedRowKeys$ | async} as obs\">\n <valtimo-mail-template-delete-modal\n [deleteRowKeys]=\"obs.selectedRowKeys\"\n [showDeleteModal$]=\"showDeleteModal$\"\n (deleteEvent)=\"onDelete($event)\"\n >\n </valtimo-mail-template-delete-modal>\n</ng-container>\n\n<ng-template #addTemplateButton>\n <button cdsButton=\"primary\"\n [disabled]=\"readOnly$ | async\"\n (click)=\"openAddModal()\">\n {{ 'Add' }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n" }]
|
|
618
|
+
}], ctorParameters: () => [{ type: FreemarkerTemplateManagementService }, { type: i2$2.Router }, { type: i2$2.ActivatedRoute }, { type: i3.EnvironmentService }], propDecorators: { carbonList: [{
|
|
585
619
|
type: ViewChild,
|
|
586
620
|
args: [CarbonListComponent]
|
|
587
621
|
}] } });
|
|
@@ -602,7 +636,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
602
636
|
* limitations under the License.
|
|
603
637
|
*/
|
|
604
638
|
class MailTemplateEditorComponent {
|
|
605
|
-
constructor(templateService, route, pageTitleService, router, notificationService, translateService, breadcrumbService) {
|
|
639
|
+
constructor(templateService, route, pageTitleService, router, notificationService, translateService, breadcrumbService, environmentService) {
|
|
606
640
|
this.templateService = templateService;
|
|
607
641
|
this.route = route;
|
|
608
642
|
this.pageTitleService = pageTitleService;
|
|
@@ -610,6 +644,7 @@ class MailTemplateEditorComponent {
|
|
|
610
644
|
this.notificationService = notificationService;
|
|
611
645
|
this.translateService = translateService;
|
|
612
646
|
this.breadcrumbService = breadcrumbService;
|
|
647
|
+
this.environmentService = environmentService;
|
|
613
648
|
this.model$ = new BehaviorSubject(null);
|
|
614
649
|
this.template$ = new BehaviorSubject(null);
|
|
615
650
|
this.saveDisabled$ = new BehaviorSubject(true);
|
|
@@ -617,8 +652,12 @@ class MailTemplateEditorComponent {
|
|
|
617
652
|
this.moreDisabled$ = new BehaviorSubject(true);
|
|
618
653
|
this.showDeleteModal$ = new BehaviorSubject(false);
|
|
619
654
|
this.updatedModelValue$ = new BehaviorSubject('');
|
|
620
|
-
this.
|
|
621
|
-
this.templateKey$ = this.route.params.pipe(map(params => params?.
|
|
655
|
+
this._caseDefinitionId$ = getCaseManagementRouteParams(this.route).pipe(filter((params) => !!params?.caseDefinitionKey));
|
|
656
|
+
this.templateKey$ = combineLatest([this.route.params, this.route.parent.params]).pipe(map(([params, parentParams]) => params?.templateKey || parentParams?.templateKey), filter(templateKey => !!templateKey));
|
|
657
|
+
this.readOnly$ = this._caseDefinitionId$.pipe(switchMap(caseDefinitionId => combineLatest([
|
|
658
|
+
this.environmentService.canUpdateGlobalConfiguration(),
|
|
659
|
+
this.templateService.isFinal(caseDefinitionId.caseDefinitionKey, caseDefinitionId.caseDefinitionVersionTag)
|
|
660
|
+
]).pipe(map(([canUpdateGlobal, isFinalCase]) => !canUpdateGlobal || isFinalCase), startWith(true))));
|
|
622
661
|
}
|
|
623
662
|
ngOnInit() {
|
|
624
663
|
this.loadTemplate();
|
|
@@ -629,6 +668,7 @@ class MailTemplateEditorComponent {
|
|
|
629
668
|
ngOnDestroy() {
|
|
630
669
|
this.pageTitleService.enableReset();
|
|
631
670
|
this.breadcrumbService.clearThirdBreadcrumb();
|
|
671
|
+
this.breadcrumbService.clearFourthBreadcrumb();
|
|
632
672
|
}
|
|
633
673
|
onValid(valid) {
|
|
634
674
|
this.saveDisabled$.next(valid === false);
|
|
@@ -640,9 +680,10 @@ class MailTemplateEditorComponent {
|
|
|
640
680
|
this.disableEditor();
|
|
641
681
|
this.disableSave();
|
|
642
682
|
this.disableMore();
|
|
643
|
-
combineLatest([this.updatedModelValue$, this.
|
|
683
|
+
combineLatest([this.updatedModelValue$, this._caseDefinitionId$, this.templateKey$]).pipe(switchMap(([updatedModelValue, caseDefinitionId, templateKey]) => this.templateService.updateTemplate({
|
|
644
684
|
key: templateKey,
|
|
645
|
-
|
|
685
|
+
caseDefinitionKey: caseDefinitionId.caseDefinitionKey,
|
|
686
|
+
caseDefinitionVersionTag: caseDefinitionId.caseDefinitionVersionTag,
|
|
646
687
|
type: 'mail',
|
|
647
688
|
content: updatedModelValue,
|
|
648
689
|
})), take(1)).subscribe({
|
|
@@ -665,15 +706,20 @@ class MailTemplateEditorComponent {
|
|
|
665
706
|
this.disableEditor();
|
|
666
707
|
this.disableSave();
|
|
667
708
|
this.disableMore();
|
|
668
|
-
this.
|
|
709
|
+
this._caseDefinitionId$.pipe(take(1)).subscribe(caseDefinitionId => this.templateService.deleteTemplates({
|
|
710
|
+
caseDefinitionKey: caseDefinitionId.caseDefinitionKey,
|
|
711
|
+
caseDefinitionVersionTag: caseDefinitionId.caseDefinitionVersionTag,
|
|
712
|
+
type: 'mail',
|
|
713
|
+
templates
|
|
714
|
+
}).pipe(take(1)).subscribe(_ => this.router.navigate([`/case-management/case/${caseDefinitionId.caseDefinitionKey}/version/${caseDefinitionId.caseDefinitionVersionTag}/mail-template`])));
|
|
669
715
|
}
|
|
670
716
|
showDeleteModal() {
|
|
671
717
|
this.showDeleteModal$.next(true);
|
|
672
718
|
}
|
|
673
719
|
loadTemplate() {
|
|
674
|
-
combineLatest([this.
|
|
720
|
+
combineLatest([this._caseDefinitionId$, this.templateKey$]).pipe(tap(([_, key]) => {
|
|
675
721
|
this.pageTitleService.setCustomPageTitle(`Mail template: ${key}`, true);
|
|
676
|
-
}), switchMap(([
|
|
722
|
+
}), switchMap(([caseDefinitionId, key]) => this.templateService.getMailTemplate(caseDefinitionId.caseDefinitionKey, caseDefinitionId.caseDefinitionVersionTag, key)), take(1)).subscribe(result => {
|
|
677
723
|
this.enableMore();
|
|
678
724
|
this.enableSave();
|
|
679
725
|
this.enableEditor();
|
|
@@ -712,15 +758,23 @@ class MailTemplateEditorComponent {
|
|
|
712
758
|
}
|
|
713
759
|
refreshViewer(html) {
|
|
714
760
|
setTimeout(() => {
|
|
715
|
-
document.getElementById('html-viewer-iframe')
|
|
716
|
-
|
|
761
|
+
const htmlViewer = document.getElementById('html-viewer-iframe');
|
|
762
|
+
if (htmlViewer) {
|
|
763
|
+
htmlViewer.srcdoc = html;
|
|
764
|
+
}
|
|
765
|
+
}, 100);
|
|
717
766
|
}
|
|
718
767
|
initBreadcrumb() {
|
|
719
|
-
this.
|
|
768
|
+
this._caseDefinitionId$.subscribe(caseDefinitionId => {
|
|
720
769
|
this.breadcrumbService.setThirdBreadcrumb({
|
|
721
|
-
route: [`/
|
|
722
|
-
content:
|
|
723
|
-
href: `/
|
|
770
|
+
route: [`/case-management/case/${caseDefinitionId.caseDefinitionKey}/version/${caseDefinitionId.caseDefinitionVersionTag}`],
|
|
771
|
+
content: `${caseDefinitionId.caseDefinitionKey}:${caseDefinitionId.caseDefinitionVersionTag}`,
|
|
772
|
+
href: `/case-management/case/${caseDefinitionId.caseDefinitionKey}/version/${caseDefinitionId.caseDefinitionVersionTag}`,
|
|
773
|
+
});
|
|
774
|
+
this.breadcrumbService.setFourthBreadcrumb({
|
|
775
|
+
route: [`/case-management/case/${caseDefinitionId.caseDefinitionKey}/version/${caseDefinitionId.caseDefinitionVersionTag}/mail-template`],
|
|
776
|
+
content: 'Mail template',
|
|
777
|
+
href: `/case-management/case/${caseDefinitionId.caseDefinitionKey}/version/${caseDefinitionId.caseDefinitionVersionTag}/mail-template`,
|
|
724
778
|
});
|
|
725
779
|
});
|
|
726
780
|
}
|
|
@@ -735,13 +789,24 @@ class MailTemplateEditorComponent {
|
|
|
735
789
|
title: this.translateService.instant('Saved successfully'),
|
|
736
790
|
});
|
|
737
791
|
}
|
|
738
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
739
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
792
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MailTemplateEditorComponent, deps: [{ token: FreemarkerTemplateManagementService }, { token: i2$2.ActivatedRoute }, { token: i1.PageTitleService }, { token: i2$2.Router }, { token: i4$1.NotificationService }, { token: i5.TranslateService }, { token: i1.BreadcrumbService }, { token: i3.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
793
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: MailTemplateEditorComponent, isStandalone: true, 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 Mail templates use <a target=\"_blank\" href=\"https://www.w3schools.com/html/html_intro.asp\">HTML</a> for the mail\n layout. <a target=\"_blank\" href=\"https://freemarker.apache.org/docs/dgui_quickstart_basics.html\">FreeMarker</a>\n can be used to create placeholders inside the HTML. The data-model for FreeMarker is based upon <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 </div>\n\n <cds-tabs type=\"contained\">\n <cds-tab [active]=\"true\" [heading]=\"'Editor'\">\n <valtimo-editor\n [model]=\"obs.model\"\n [disabled]=\"(editorDisabled$ | async) || (readOnly$ | async)\"\n (validEvent)=\"onValid($event)\"\n (valueChangeEvent)=\"onValueChange($event)\"\n [fitPage]=\"true\"\n [fitPageExtraSpace]=\"80\"\n ></valtimo-editor>\n </cds-tab>\n <cds-tab [heading]=\"'Viewer'\" (selected)=\"onSelectedTabViewer()\">\n <iframe title=\"HTML Viewer\" id=\"html-viewer-iframe\">\n </iframe>\n </cds-tab>\n </cds-tabs>\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 || (readOnly$ | async)\"\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) || (readOnly$ | async)\"\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-mail-template-delete-modal\n [deleteRowKeys]=\"[obs.templateKey]\"\n [showDeleteModal$]=\"showDeleteModal$\"\n (deleteEvent)=\"onDelete($event)\"\n >\n </valtimo-mail-template-delete-modal>\n</ng-container>\n", styles: ["::ng-deep .cds--tab-content{background:var(--cds-layer)!important}::ng-deep #html-viewer-iframe{width:100%;height:calc(100vh - 219px)}.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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i4$1.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i4$1.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i4$1.OverflowMenu, selector: "cds-overflow-menu, ibm-overflow-menu", inputs: ["buttonLabel", "description", "flip", "placement", "open", "customTrigger", "offset", "wrapperClass", "triggerClass"], outputs: ["openChange"] }, { kind: "component", type: i4$1.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "ngmodule", type: ValtimoCdsOverflowButtonDirectiveModule }, { kind: "component", type: MailTemplateDeleteModalComponent, selector: "valtimo-mail-template-delete-modal", inputs: ["deleteRowKeys", "showDeleteModal$"], outputs: ["deleteEvent"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: EditorModule }, { kind: "component", type: i1.EditorComponent, selector: "valtimo-editor", inputs: ["editorOptions", "model", "disabled", "formatOnLoad", "widthPx", "heightPx", "heightStyle", "jsonSchema", "fitPage", "fitPageExtraSpace"], outputs: ["validEvent", "valueChangeEvent"] }, { kind: "ngmodule", type: RenderInPageHeaderDirectiveModule }, { kind: "directive", type: i1.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
740
794
|
}
|
|
741
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
795
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MailTemplateEditorComponent, decorators: [{
|
|
742
796
|
type: Component,
|
|
743
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, providers: [NotificationService],
|
|
744
|
-
|
|
797
|
+
args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [NotificationService], imports: [
|
|
798
|
+
CommonModule,
|
|
799
|
+
TranslateModule,
|
|
800
|
+
TabsModule,
|
|
801
|
+
DialogModule,
|
|
802
|
+
ValtimoCdsOverflowButtonDirectiveModule,
|
|
803
|
+
MailTemplateDeleteModalComponent,
|
|
804
|
+
CarbonListModule,
|
|
805
|
+
ButtonModule,
|
|
806
|
+
EditorModule,
|
|
807
|
+
RenderInPageHeaderDirectiveModule,
|
|
808
|
+
], 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 Mail templates use <a target=\"_blank\" href=\"https://www.w3schools.com/html/html_intro.asp\">HTML</a> for the mail\n layout. <a target=\"_blank\" href=\"https://freemarker.apache.org/docs/dgui_quickstart_basics.html\">FreeMarker</a>\n can be used to create placeholders inside the HTML. The data-model for FreeMarker is based upon <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 </div>\n\n <cds-tabs type=\"contained\">\n <cds-tab [active]=\"true\" [heading]=\"'Editor'\">\n <valtimo-editor\n [model]=\"obs.model\"\n [disabled]=\"(editorDisabled$ | async) || (readOnly$ | async)\"\n (validEvent)=\"onValid($event)\"\n (valueChangeEvent)=\"onValueChange($event)\"\n [fitPage]=\"true\"\n [fitPageExtraSpace]=\"80\"\n ></valtimo-editor>\n </cds-tab>\n <cds-tab [heading]=\"'Viewer'\" (selected)=\"onSelectedTabViewer()\">\n <iframe title=\"HTML Viewer\" id=\"html-viewer-iframe\">\n </iframe>\n </cds-tab>\n </cds-tabs>\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 || (readOnly$ | async)\"\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) || (readOnly$ | async)\"\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-mail-template-delete-modal\n [deleteRowKeys]=\"[obs.templateKey]\"\n [showDeleteModal$]=\"showDeleteModal$\"\n (deleteEvent)=\"onDelete($event)\"\n >\n </valtimo-mail-template-delete-modal>\n</ng-container>\n", styles: ["::ng-deep .cds--tab-content{background:var(--cds-layer)!important}::ng-deep #html-viewer-iframe{width:100%;height:calc(100vh - 219px)}.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"] }]
|
|
809
|
+
}], ctorParameters: () => [{ type: FreemarkerTemplateManagementService }, { type: i2$2.ActivatedRoute }, { type: i1.PageTitleService }, { type: i2$2.Router }, { type: i4$1.NotificationService }, { type: i5.TranslateService }, { type: i1.BreadcrumbService }, { type: i3.EnvironmentService }] });
|
|
745
810
|
|
|
746
811
|
/*
|
|
747
812
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -760,7 +825,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
760
825
|
*/
|
|
761
826
|
const routes$1 = [
|
|
762
827
|
{
|
|
763
|
-
path: '
|
|
828
|
+
path: 'case-management/case/:caseDefinitionKey/version/:caseDefinitionVersionTag/mail-template/:templateKey',
|
|
764
829
|
component: MailTemplateEditorComponent,
|
|
765
830
|
canActivate: [AuthGuardService],
|
|
766
831
|
data: {
|
|
@@ -771,11 +836,11 @@ const routes$1 = [
|
|
|
771
836
|
},
|
|
772
837
|
];
|
|
773
838
|
let TemplateManagementRoutingModule$1 = class TemplateManagementRoutingModule {
|
|
774
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
775
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
776
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
839
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TemplateManagementRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
840
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: TemplateManagementRoutingModule, imports: [CommonModule, i2$2.RouterModule], exports: [RouterModule] }); }
|
|
841
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TemplateManagementRoutingModule, imports: [CommonModule, RouterModule.forChild(routes$1), RouterModule] }); }
|
|
777
842
|
};
|
|
778
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
843
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TemplateManagementRoutingModule$1, decorators: [{
|
|
779
844
|
type: NgModule,
|
|
780
845
|
args: [{
|
|
781
846
|
imports: [CommonModule, RouterModule.forChild(routes$1)],
|
|
@@ -799,14 +864,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
799
864
|
* limitations under the License.
|
|
800
865
|
*/
|
|
801
866
|
class MailTemplatePluginModule {
|
|
802
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
803
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
867
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MailTemplatePluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
868
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: MailTemplatePluginModule, declarations: [MailTemplateConfigurationComponent,
|
|
804
869
|
GenerateMailFileComponent,
|
|
805
|
-
GenerateMailContentComponent,
|
|
806
|
-
MailTemplateAddEditModalComponent,
|
|
807
|
-
MailTemplateEditorComponent,
|
|
808
|
-
MailTemplateDeleteModalComponent,
|
|
809
|
-
MailTemplateListComponent], imports: [CommonModule,
|
|
870
|
+
GenerateMailContentComponent], imports: [CommonModule,
|
|
810
871
|
PluginTranslatePipeModule,
|
|
811
872
|
TemplateManagementRoutingModule$1,
|
|
812
873
|
FormModule,
|
|
@@ -817,28 +878,26 @@ class MailTemplatePluginModule {
|
|
|
817
878
|
ReactiveFormsModule,
|
|
818
879
|
CarbonListModule,
|
|
819
880
|
EditorModule,
|
|
820
|
-
InputModule,
|
|
881
|
+
InputModule$1,
|
|
821
882
|
ButtonModule,
|
|
822
883
|
DialogModule,
|
|
823
884
|
DropdownModule,
|
|
824
885
|
IconModule,
|
|
825
|
-
InputModule
|
|
886
|
+
InputModule,
|
|
826
887
|
LoadingModule,
|
|
827
888
|
ModalModule,
|
|
828
889
|
NotificationModule,
|
|
829
890
|
RenderInPageHeaderDirectiveModule,
|
|
830
|
-
TabsModule
|
|
891
|
+
TabsModule,
|
|
892
|
+
ValtimoCdsOverflowButtonDirectiveModule,
|
|
893
|
+
MailTemplateDeleteModalComponent], exports: [MailTemplateConfigurationComponent,
|
|
831
894
|
GenerateMailFileComponent,
|
|
832
|
-
GenerateMailContentComponent
|
|
833
|
-
|
|
834
|
-
MailTemplateEditorComponent,
|
|
835
|
-
MailTemplateDeleteModalComponent,
|
|
836
|
-
MailTemplateListComponent] }); }
|
|
837
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MailTemplatePluginModule, providers: [
|
|
895
|
+
GenerateMailContentComponent] }); }
|
|
896
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MailTemplatePluginModule, providers: [
|
|
838
897
|
{
|
|
839
898
|
provide: CASE_MANAGEMENT_TAB_TOKEN,
|
|
840
899
|
useValue: {
|
|
841
|
-
translationKey: '
|
|
900
|
+
translationKey: 'mail-template',
|
|
842
901
|
component: MailTemplateListComponent,
|
|
843
902
|
},
|
|
844
903
|
multi: true,
|
|
@@ -854,29 +913,27 @@ class MailTemplatePluginModule {
|
|
|
854
913
|
ReactiveFormsModule,
|
|
855
914
|
CarbonListModule,
|
|
856
915
|
EditorModule,
|
|
857
|
-
InputModule,
|
|
916
|
+
InputModule$1,
|
|
858
917
|
ButtonModule,
|
|
859
918
|
DialogModule,
|
|
860
919
|
DropdownModule,
|
|
861
920
|
IconModule,
|
|
862
|
-
InputModule
|
|
921
|
+
InputModule,
|
|
863
922
|
LoadingModule,
|
|
864
923
|
ModalModule,
|
|
865
924
|
NotificationModule,
|
|
866
925
|
RenderInPageHeaderDirectiveModule,
|
|
867
|
-
TabsModule
|
|
926
|
+
TabsModule,
|
|
927
|
+
ValtimoCdsOverflowButtonDirectiveModule,
|
|
928
|
+
MailTemplateDeleteModalComponent] }); }
|
|
868
929
|
}
|
|
869
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
930
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: MailTemplatePluginModule, decorators: [{
|
|
870
931
|
type: NgModule,
|
|
871
932
|
args: [{
|
|
872
933
|
declarations: [
|
|
873
934
|
MailTemplateConfigurationComponent,
|
|
874
935
|
GenerateMailFileComponent,
|
|
875
936
|
GenerateMailContentComponent,
|
|
876
|
-
MailTemplateAddEditModalComponent,
|
|
877
|
-
MailTemplateEditorComponent,
|
|
878
|
-
MailTemplateDeleteModalComponent,
|
|
879
|
-
MailTemplateListComponent,
|
|
880
937
|
],
|
|
881
938
|
imports: [
|
|
882
939
|
CommonModule,
|
|
@@ -890,32 +947,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
890
947
|
ReactiveFormsModule,
|
|
891
948
|
CarbonListModule,
|
|
892
949
|
EditorModule,
|
|
893
|
-
InputModule,
|
|
950
|
+
InputModule$1,
|
|
894
951
|
ButtonModule,
|
|
895
952
|
DialogModule,
|
|
896
953
|
DropdownModule,
|
|
897
954
|
IconModule,
|
|
898
|
-
InputModule
|
|
955
|
+
InputModule,
|
|
899
956
|
LoadingModule,
|
|
900
957
|
ModalModule,
|
|
901
958
|
NotificationModule,
|
|
902
959
|
RenderInPageHeaderDirectiveModule,
|
|
903
960
|
TabsModule,
|
|
961
|
+
ValtimoCdsOverflowButtonDirectiveModule,
|
|
962
|
+
MailTemplateDeleteModalComponent,
|
|
904
963
|
],
|
|
905
964
|
exports: [
|
|
906
965
|
MailTemplateConfigurationComponent,
|
|
907
966
|
GenerateMailFileComponent,
|
|
908
967
|
GenerateMailContentComponent,
|
|
909
|
-
MailTemplateAddEditModalComponent,
|
|
910
|
-
MailTemplateEditorComponent,
|
|
911
|
-
MailTemplateDeleteModalComponent,
|
|
912
|
-
MailTemplateListComponent,
|
|
913
968
|
],
|
|
914
969
|
providers: [
|
|
915
970
|
{
|
|
916
971
|
provide: CASE_MANAGEMENT_TAB_TOKEN,
|
|
917
972
|
useValue: {
|
|
918
|
-
translationKey: '
|
|
973
|
+
translationKey: 'mail-template',
|
|
919
974
|
component: MailTemplateListComponent,
|
|
920
975
|
},
|
|
921
976
|
multi: true,
|
|
@@ -1109,12 +1164,12 @@ class TextTemplateConfigurationComponent {
|
|
|
1109
1164
|
}
|
|
1110
1165
|
injectCaseTab() {
|
|
1111
1166
|
}
|
|
1112
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1113
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1167
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TextTemplateConfigurationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1168
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TextTemplateConfigurationComponent, isStandalone: false, selector: "valtimo-text-template-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2022 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<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n placeholder=\"Text Template Plugin\"\n >\n </v-input>\n</v-form>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.PluginTranslatePipe, name: "pluginTranslate" }] }); }
|
|
1114
1169
|
}
|
|
1115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1170
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TextTemplateConfigurationComponent, decorators: [{
|
|
1116
1171
|
type: Component,
|
|
1117
|
-
args: [{ selector: 'valtimo-text-template-configuration', template: "<!--\n ~ Copyright 2015-2022 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<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n placeholder=\"Text Template Plugin\"\n >\n </v-input>\n</v-form>\n" }]
|
|
1172
|
+
args: [{ standalone: false, selector: 'valtimo-text-template-configuration', template: "<!--\n ~ Copyright 2015-2022 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<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n placeholder=\"Text Template Plugin\"\n >\n </v-input>\n</v-form>\n" }]
|
|
1118
1173
|
}], ctorParameters: () => [], propDecorators: { save$: [{
|
|
1119
1174
|
type: Input
|
|
1120
1175
|
}], disabled$: [{
|
|
@@ -1129,6 +1184,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1129
1184
|
type: Output
|
|
1130
1185
|
}] } });
|
|
1131
1186
|
|
|
1187
|
+
/*
|
|
1188
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
1189
|
+
*
|
|
1190
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1191
|
+
* you may not use this file except in compliance with the License.
|
|
1192
|
+
* You may obtain a copy of the License at
|
|
1193
|
+
*
|
|
1194
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
1195
|
+
*
|
|
1196
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1197
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
1198
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1199
|
+
* See the License for the specific language governing permissions and
|
|
1200
|
+
* limitations under the License.
|
|
1201
|
+
*/
|
|
1202
|
+
class TextTemplateDeleteModalComponent {
|
|
1203
|
+
constructor() {
|
|
1204
|
+
this.deleteEvent = new EventEmitter();
|
|
1205
|
+
}
|
|
1206
|
+
onDelete(templates) {
|
|
1207
|
+
this.deleteEvent.emit(templates);
|
|
1208
|
+
}
|
|
1209
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TextTemplateDeleteModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1210
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TextTemplateDeleteModalComponent, isStandalone: true, selector: "valtimo-text-template-delete-modal", inputs: { deleteRowKeys: "deleteRowKeys", showDeleteModal$: "showDeleteModal$" }, outputs: { deleteEvent: "deleteEvent" }, 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"template.deleteModalContent\"\n [outputOnConfirm]=\"deleteRowKeys\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n", dependencies: [{ kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1211
|
+
}
|
|
1212
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TextTemplateDeleteModalComponent, decorators: [{
|
|
1213
|
+
type: Component,
|
|
1214
|
+
args: [{ standalone: true, selector: 'valtimo-text-template-delete-modal', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
1215
|
+
ConfirmationModalModule
|
|
1216
|
+
], 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"template.deleteModalContent\"\n [outputOnConfirm]=\"deleteRowKeys\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n" }]
|
|
1217
|
+
}], propDecorators: { deleteRowKeys: [{
|
|
1218
|
+
type: Input
|
|
1219
|
+
}], showDeleteModal$: [{
|
|
1220
|
+
type: Input
|
|
1221
|
+
}], deleteEvent: [{
|
|
1222
|
+
type: Output
|
|
1223
|
+
}] } });
|
|
1224
|
+
|
|
1132
1225
|
/*
|
|
1133
1226
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
1134
1227
|
*
|
|
@@ -1191,13 +1284,20 @@ class TextTemplateAddEditModalComponent {
|
|
|
1191
1284
|
}
|
|
1192
1285
|
}, CARBON_CONSTANTS.modalAnimationMs);
|
|
1193
1286
|
}
|
|
1194
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1195
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1287
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TextTemplateAddEditModalComponent, deps: [{ token: i1$1.FormBuilder }, { token: i1.KeyGeneratorService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1288
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TextTemplateAddEditModalComponent, isStandalone: true, selector: "valtimo-text-template-add-edit-modal", inputs: { open: "open", type: "type", defaultKeyValue: "defaultKeyValue" }, outputs: { closeEvent: "closeEvent" }, 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<cds-modal\n *ngIf=\"{\n isAdd: type === 'add'\n } as vars\"\n [open]=\"open\"\n showFooter=\"true\"\n [title]=\"vars.title\"\n valtimoCdsModal\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{\n vars.isAdd\n ? 'Add'\n : 'Edit'\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\">\n <cds-label [invalid]=\"key.dirty && key.invalid\">\n {{ 'Key' }}\n\n <input\n formControlName=\"key\"\n cdsText\n placeholder=\"{{ 'key' }}\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"key.dirty && key.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"this.form.invalid\" (click)=\"onConfirm()\" cdsButton=\"primary\">\n {{ vars.isAdd ? ('interface.create' | translate) : ('interface.save' | translate) }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i4$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i4$1.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i4$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1196
1289
|
}
|
|
1197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1290
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TextTemplateAddEditModalComponent, decorators: [{
|
|
1198
1291
|
type: Component,
|
|
1199
|
-
args: [{ selector: 'valtimo-text-template-add-edit-modal', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1200
|
-
|
|
1292
|
+
args: [{ standalone: true, selector: 'valtimo-text-template-add-edit-modal', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
1293
|
+
CommonModule,
|
|
1294
|
+
ButtonModule,
|
|
1295
|
+
TranslateModule,
|
|
1296
|
+
ModalModule,
|
|
1297
|
+
ReactiveFormsModule,
|
|
1298
|
+
InputModule
|
|
1299
|
+
], 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<cds-modal\n *ngIf=\"{\n isAdd: type === 'add'\n } as vars\"\n [open]=\"open\"\n showFooter=\"true\"\n [title]=\"vars.title\"\n valtimoCdsModal\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{\n vars.isAdd\n ? 'Add'\n : 'Edit'\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\">\n <cds-label [invalid]=\"key.dirty && key.invalid\">\n {{ 'Key' }}\n\n <input\n formControlName=\"key\"\n cdsText\n placeholder=\"{{ 'key' }}\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"key.dirty && key.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"this.form.invalid\" (click)=\"onConfirm()\" cdsButton=\"primary\">\n {{ vars.isAdd ? ('interface.create' | translate) : ('interface.save' | translate) }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n" }]
|
|
1300
|
+
}], ctorParameters: () => [{ type: i1$1.FormBuilder }, { type: i1.KeyGeneratorService }], propDecorators: { open: [{
|
|
1201
1301
|
type: Input
|
|
1202
1302
|
}], type: [{
|
|
1203
1303
|
type: Input
|
|
@@ -1207,42 +1307,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1207
1307
|
type: Output
|
|
1208
1308
|
}] } });
|
|
1209
1309
|
|
|
1210
|
-
/*
|
|
1211
|
-
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
1212
|
-
*
|
|
1213
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1214
|
-
* you may not use this file except in compliance with the License.
|
|
1215
|
-
* You may obtain a copy of the License at
|
|
1216
|
-
*
|
|
1217
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
1218
|
-
*
|
|
1219
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
1220
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
1221
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1222
|
-
* See the License for the specific language governing permissions and
|
|
1223
|
-
* limitations under the License.
|
|
1224
|
-
*/
|
|
1225
|
-
class TextTemplateDeleteModalComponent {
|
|
1226
|
-
constructor() {
|
|
1227
|
-
this.deleteEvent = new EventEmitter();
|
|
1228
|
-
}
|
|
1229
|
-
onDelete(templates) {
|
|
1230
|
-
this.deleteEvent.emit(templates);
|
|
1231
|
-
}
|
|
1232
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplateDeleteModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1233
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TextTemplateDeleteModalComponent, selector: "valtimo-text-template-delete-modal", inputs: { deleteRowKeys: "deleteRowKeys", showDeleteModal$: "showDeleteModal$" }, outputs: { deleteEvent: "deleteEvent" }, 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"template.deleteModalContent\"\n [outputOnConfirm]=\"deleteRowKeys\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n", dependencies: [{ kind: "component", type: i1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1234
|
-
}
|
|
1235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplateDeleteModalComponent, decorators: [{
|
|
1236
|
-
type: Component,
|
|
1237
|
-
args: [{ selector: 'valtimo-text-template-delete-modal', 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"template.deleteModalContent\"\n [outputOnConfirm]=\"deleteRowKeys\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n" }]
|
|
1238
|
-
}], propDecorators: { deleteRowKeys: [{
|
|
1239
|
-
type: Input
|
|
1240
|
-
}], showDeleteModal$: [{
|
|
1241
|
-
type: Input
|
|
1242
|
-
}], deleteEvent: [{
|
|
1243
|
-
type: Output
|
|
1244
|
-
}] } });
|
|
1245
|
-
|
|
1246
1310
|
/*
|
|
1247
1311
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1248
1312
|
*
|
|
@@ -1259,10 +1323,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1259
1323
|
* limitations under the License.
|
|
1260
1324
|
*/
|
|
1261
1325
|
class TextTemplateListComponent {
|
|
1262
|
-
constructor(templateService, router, route) {
|
|
1326
|
+
constructor(templateService, router, route, environmentService) {
|
|
1263
1327
|
this.templateService = templateService;
|
|
1264
1328
|
this.router = router;
|
|
1265
1329
|
this.route = route;
|
|
1330
|
+
this.environmentService = environmentService;
|
|
1266
1331
|
this.fields = [
|
|
1267
1332
|
{
|
|
1268
1333
|
viewType: ViewType.TEXT,
|
|
@@ -1275,7 +1340,11 @@ class TextTemplateListComponent {
|
|
|
1275
1340
|
label: 'Read only',
|
|
1276
1341
|
},
|
|
1277
1342
|
];
|
|
1278
|
-
this.
|
|
1343
|
+
this._caseDefinitionId$ = getCaseManagementRouteParams(this.route).pipe(filter((params) => !!params?.caseDefinitionKey));
|
|
1344
|
+
this.readOnly$ = this._caseDefinitionId$.pipe(switchMap(caseDefinitionId => combineLatest([
|
|
1345
|
+
this.environmentService.canUpdateGlobalConfiguration(),
|
|
1346
|
+
this.templateService.isFinal(caseDefinitionId.caseDefinitionKey, caseDefinitionId.caseDefinitionVersionTag)
|
|
1347
|
+
]).pipe(map(([canUpdateGlobal, isFinalCase]) => !canUpdateGlobal || isFinalCase), startWith(true))));
|
|
1279
1348
|
this.templates$ = new BehaviorSubject(null);
|
|
1280
1349
|
this.showAddModal$ = new BehaviorSubject(false);
|
|
1281
1350
|
this.showDeleteModal$ = new BehaviorSubject(false);
|
|
@@ -1293,9 +1362,13 @@ class TextTemplateListComponent {
|
|
|
1293
1362
|
this.showAddModal$.next(false);
|
|
1294
1363
|
return;
|
|
1295
1364
|
}
|
|
1296
|
-
this.
|
|
1365
|
+
this._caseDefinitionId$.pipe(take(1), switchMap(caseDefinitionId => this.templateService.addTemplate({
|
|
1366
|
+
caseDefinitionKey: caseDefinitionId.caseDefinitionKey,
|
|
1367
|
+
caseDefinitionVersionTag: caseDefinitionId.caseDefinitionVersionTag,
|
|
1368
|
+
type: 'text', ...data
|
|
1369
|
+
}))).subscribe(template => {
|
|
1297
1370
|
this.showAddModal$.next(false);
|
|
1298
|
-
this.gotoTextTemplateEditor(template.
|
|
1371
|
+
this.gotoTextTemplateEditor(template.caseDefinitionKey, template.caseDefinitionVersionTag, template.key);
|
|
1299
1372
|
});
|
|
1300
1373
|
}
|
|
1301
1374
|
showDeleteModal() {
|
|
@@ -1304,19 +1377,24 @@ class TextTemplateListComponent {
|
|
|
1304
1377
|
}
|
|
1305
1378
|
onDelete(templates) {
|
|
1306
1379
|
this.loading$.next(true);
|
|
1307
|
-
this.
|
|
1380
|
+
this._caseDefinitionId$.pipe(take(1), switchMap(caseDefinitionId => this.templateService.deleteTemplates({
|
|
1381
|
+
caseDefinitionKey: caseDefinitionId.caseDefinitionKey,
|
|
1382
|
+
caseDefinitionVersionTag: caseDefinitionId.caseDefinitionVersionTag,
|
|
1383
|
+
type: 'text',
|
|
1384
|
+
templates
|
|
1385
|
+
}))).subscribe(_ => {
|
|
1308
1386
|
this.reloadTemplateList();
|
|
1309
1387
|
});
|
|
1310
1388
|
}
|
|
1311
1389
|
onRowClick(template) {
|
|
1312
|
-
this.
|
|
1390
|
+
this._caseDefinitionId$.pipe(take(1)).subscribe(caseDefinitionId => this.gotoTextTemplateEditor(caseDefinitionId.caseDefinitionKey, caseDefinitionId.caseDefinitionVersionTag, template.key));
|
|
1313
1391
|
}
|
|
1314
|
-
gotoTextTemplateEditor(
|
|
1315
|
-
this.router.navigate([`/
|
|
1392
|
+
gotoTextTemplateEditor(caseDefinitionKey, caseDefinitionVersionTag, key) {
|
|
1393
|
+
this.router.navigate([`/case-management/case/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/text-template/${key}`]);
|
|
1316
1394
|
}
|
|
1317
1395
|
reloadTemplateList() {
|
|
1318
1396
|
this.loading$.next(true);
|
|
1319
|
-
this.
|
|
1397
|
+
this._caseDefinitionId$.pipe(switchMap(caseDefinitionId => this.templateService.getAllTextTemplates(caseDefinitionId.caseDefinitionKey, caseDefinitionId.caseDefinitionVersionTag)), map(templatePage => templatePage.content), take(1)).subscribe(templateListItems => {
|
|
1320
1398
|
this.templates$.next(templateListItems);
|
|
1321
1399
|
this.loading$.next(false);
|
|
1322
1400
|
});
|
|
@@ -1324,13 +1402,20 @@ class TextTemplateListComponent {
|
|
|
1324
1402
|
setSelectedTemplateKeys() {
|
|
1325
1403
|
this.selectedRowKeys$.next(this.carbonList.selectedItems.map((template) => template.key));
|
|
1326
1404
|
}
|
|
1327
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1328
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1405
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TextTemplateListComponent, deps: [{ token: FreemarkerTemplateManagementService }, { token: i2$2.Router }, { token: i2$2.ActivatedRoute }, { token: i3.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1406
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", 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]=\"!(readOnly$ | async)\"\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\"\n [disabled]=\"readOnly$ | async\"\n (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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i1.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: i1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.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 }); }
|
|
1329
1407
|
}
|
|
1330
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TextTemplateListComponent, decorators: [{
|
|
1331
1409
|
type: Component,
|
|
1332
|
-
args: [{
|
|
1333
|
-
|
|
1410
|
+
args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
1411
|
+
CommonModule,
|
|
1412
|
+
CarbonListModule,
|
|
1413
|
+
ButtonModule,
|
|
1414
|
+
TranslateModule,
|
|
1415
|
+
TextTemplateDeleteModalComponent,
|
|
1416
|
+
TextTemplateAddEditModalComponent
|
|
1417
|
+
], 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]=\"!(readOnly$ | async)\"\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\"\n [disabled]=\"readOnly$ | async\"\n (click)=\"openAddModal()\">\n {{ 'Add' }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n" }]
|
|
1418
|
+
}], ctorParameters: () => [{ type: FreemarkerTemplateManagementService }, { type: i2$2.Router }, { type: i2$2.ActivatedRoute }, { type: i3.EnvironmentService }], propDecorators: { carbonList: [{
|
|
1334
1419
|
type: ViewChild,
|
|
1335
1420
|
args: [CarbonListComponent]
|
|
1336
1421
|
}] } });
|
|
@@ -1351,7 +1436,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1351
1436
|
* limitations under the License.
|
|
1352
1437
|
*/
|
|
1353
1438
|
class TextTemplateEditorComponent {
|
|
1354
|
-
constructor(templateService, route, pageTitleService, router, notificationService, translateService, breadcrumbService) {
|
|
1439
|
+
constructor(templateService, route, pageTitleService, router, notificationService, translateService, breadcrumbService, environmentService) {
|
|
1355
1440
|
this.templateService = templateService;
|
|
1356
1441
|
this.route = route;
|
|
1357
1442
|
this.pageTitleService = pageTitleService;
|
|
@@ -1359,6 +1444,7 @@ class TextTemplateEditorComponent {
|
|
|
1359
1444
|
this.notificationService = notificationService;
|
|
1360
1445
|
this.translateService = translateService;
|
|
1361
1446
|
this.breadcrumbService = breadcrumbService;
|
|
1447
|
+
this.environmentService = environmentService;
|
|
1362
1448
|
this.model$ = new BehaviorSubject(null);
|
|
1363
1449
|
this.template$ = new BehaviorSubject(null);
|
|
1364
1450
|
this.saveDisabled$ = new BehaviorSubject(true);
|
|
@@ -1366,8 +1452,13 @@ class TextTemplateEditorComponent {
|
|
|
1366
1452
|
this.moreDisabled$ = new BehaviorSubject(true);
|
|
1367
1453
|
this.showDeleteModal$ = new BehaviorSubject(false);
|
|
1368
1454
|
this.updatedModelValue$ = new BehaviorSubject('');
|
|
1369
|
-
this.
|
|
1370
|
-
this.
|
|
1455
|
+
this.canUpdateGlobalConfiguration$ = this.environmentService.canUpdateGlobalConfiguration();
|
|
1456
|
+
this._caseDefinitionId$ = getCaseManagementRouteParams(this.route).pipe(filter((params) => !!params?.caseDefinitionKey));
|
|
1457
|
+
this.templateKey$ = combineLatest([this.route.params, this.route.parent.params]).pipe(map(([params, parentParams]) => params?.templateKey || parentParams?.templateKey), filter(templateKey => !!templateKey));
|
|
1458
|
+
this.readOnly$ = this._caseDefinitionId$.pipe(switchMap(caseDefinitionId => combineLatest([
|
|
1459
|
+
this.environmentService.canUpdateGlobalConfiguration(),
|
|
1460
|
+
this.templateService.isFinal(caseDefinitionId.caseDefinitionKey, caseDefinitionId.caseDefinitionVersionTag)
|
|
1461
|
+
]).pipe(map(([canUpdateGlobal, isFinalCase]) => !canUpdateGlobal || isFinalCase), startWith(true))));
|
|
1371
1462
|
}
|
|
1372
1463
|
ngOnInit() {
|
|
1373
1464
|
this.loadTemplate();
|
|
@@ -1378,6 +1469,7 @@ class TextTemplateEditorComponent {
|
|
|
1378
1469
|
ngOnDestroy() {
|
|
1379
1470
|
this.pageTitleService.enableReset();
|
|
1380
1471
|
this.breadcrumbService.clearThirdBreadcrumb();
|
|
1472
|
+
this.breadcrumbService.clearFourthBreadcrumb();
|
|
1381
1473
|
}
|
|
1382
1474
|
onValid(valid) {
|
|
1383
1475
|
this.saveDisabled$.next(valid === false);
|
|
@@ -1389,9 +1481,10 @@ class TextTemplateEditorComponent {
|
|
|
1389
1481
|
this.disableEditor();
|
|
1390
1482
|
this.disableSave();
|
|
1391
1483
|
this.disableMore();
|
|
1392
|
-
combineLatest([this.updatedModelValue$, this.
|
|
1484
|
+
combineLatest([this.updatedModelValue$, this._caseDefinitionId$, this.templateKey$]).pipe(switchMap(([updatedModelValue, caseDefinitionId, templateKey]) => this.templateService.updateTemplate({
|
|
1393
1485
|
key: templateKey,
|
|
1394
|
-
|
|
1486
|
+
caseDefinitionKey: caseDefinitionId.caseDefinitionKey,
|
|
1487
|
+
caseDefinitionVersionTag: caseDefinitionId.caseDefinitionVersionTag,
|
|
1395
1488
|
type: 'text',
|
|
1396
1489
|
content: updatedModelValue,
|
|
1397
1490
|
})), take(1)).subscribe({
|
|
@@ -1414,15 +1507,20 @@ class TextTemplateEditorComponent {
|
|
|
1414
1507
|
this.disableEditor();
|
|
1415
1508
|
this.disableSave();
|
|
1416
1509
|
this.disableMore();
|
|
1417
|
-
this.
|
|
1510
|
+
this._caseDefinitionId$.pipe(take(1)).subscribe(caseDefinitionId => this.templateService.deleteTemplates({
|
|
1511
|
+
caseDefinitionKey: caseDefinitionId.caseDefinitionKey,
|
|
1512
|
+
caseDefinitionVersionTag: caseDefinitionId.caseDefinitionVersionTag,
|
|
1513
|
+
type: 'text',
|
|
1514
|
+
templates
|
|
1515
|
+
}).pipe(take(1)).subscribe(_ => this.router.navigate([`/case-management/case/${caseDefinitionId.caseDefinitionKey}/version/${caseDefinitionId.caseDefinitionVersionTag}/text-template`])));
|
|
1418
1516
|
}
|
|
1419
1517
|
showDeleteModal() {
|
|
1420
1518
|
this.showDeleteModal$.next(true);
|
|
1421
1519
|
}
|
|
1422
1520
|
loadTemplate() {
|
|
1423
|
-
combineLatest([this.
|
|
1424
|
-
this.pageTitleService.setCustomPageTitle(`Text
|
|
1425
|
-
}), switchMap(([
|
|
1521
|
+
combineLatest([this._caseDefinitionId$, this.templateKey$]).pipe(tap(([_, key]) => {
|
|
1522
|
+
this.pageTitleService.setCustomPageTitle(`Text template: ${key}`, true);
|
|
1523
|
+
}), switchMap(([caseDefinitionId, key]) => this.templateService.getTextTemplate(caseDefinitionId.caseDefinitionKey, caseDefinitionId.caseDefinitionVersionTag, key)), take(1)).subscribe(result => {
|
|
1426
1524
|
this.enableMore();
|
|
1427
1525
|
this.enableSave();
|
|
1428
1526
|
this.enableEditor();
|
|
@@ -1456,11 +1554,16 @@ class TextTemplateEditorComponent {
|
|
|
1456
1554
|
this.editorDisabled$.next(false);
|
|
1457
1555
|
}
|
|
1458
1556
|
initBreadcrumb() {
|
|
1459
|
-
this.
|
|
1557
|
+
this._caseDefinitionId$.subscribe(caseDefinitionId => {
|
|
1460
1558
|
this.breadcrumbService.setThirdBreadcrumb({
|
|
1461
|
-
route: [`/
|
|
1462
|
-
content:
|
|
1463
|
-
href: `/
|
|
1559
|
+
route: [`/case-management/case/${caseDefinitionId.caseDefinitionKey}/version/${caseDefinitionId.caseDefinitionVersionTag}`],
|
|
1560
|
+
content: `${caseDefinitionId.caseDefinitionKey}:${caseDefinitionId.caseDefinitionVersionTag}`,
|
|
1561
|
+
href: `/case-management/case/${caseDefinitionId.caseDefinitionKey}/version/${caseDefinitionId.caseDefinitionVersionTag}`,
|
|
1562
|
+
});
|
|
1563
|
+
this.breadcrumbService.setFourthBreadcrumb({
|
|
1564
|
+
route: [`/case-management/case/${caseDefinitionId.caseDefinitionKey}/version/${caseDefinitionId.caseDefinitionVersionTag}/text-template`],
|
|
1565
|
+
content: 'Text template',
|
|
1566
|
+
href: `/case-management/case/${caseDefinitionId.caseDefinitionKey}/version/${caseDefinitionId.caseDefinitionVersionTag}/text-template`,
|
|
1464
1567
|
});
|
|
1465
1568
|
});
|
|
1466
1569
|
}
|
|
@@ -1475,13 +1578,24 @@ class TextTemplateEditorComponent {
|
|
|
1475
1578
|
title: this.translateService.instant('Saved successfully'),
|
|
1476
1579
|
});
|
|
1477
1580
|
}
|
|
1478
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1479
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1581
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TextTemplateEditorComponent, deps: [{ token: FreemarkerTemplateManagementService }, { token: i2$2.ActivatedRoute }, { token: i1.PageTitleService }, { token: i2$2.Router }, { token: i4$1.NotificationService }, { token: i5.TranslateService }, { token: i1.BreadcrumbService }, { token: i3.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1582
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TextTemplateEditorComponent, isStandalone: true, 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) || (readOnly$ | async)\"\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 || (readOnly$ | async)\"\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) || (readOnly$ | async)\"\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: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TabsModule }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i4$1.OverflowMenu, selector: "cds-overflow-menu, ibm-overflow-menu", inputs: ["buttonLabel", "description", "flip", "placement", "open", "customTrigger", "offset", "wrapperClass", "triggerClass"], outputs: ["openChange"] }, { kind: "component", type: i4$1.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "ngmodule", type: ValtimoCdsOverflowButtonDirectiveModule }, { kind: "component", type: TextTemplateDeleteModalComponent, selector: "valtimo-text-template-delete-modal", inputs: ["deleteRowKeys", "showDeleteModal$"], outputs: ["deleteEvent"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: EditorModule }, { kind: "component", type: i1.EditorComponent, selector: "valtimo-editor", inputs: ["editorOptions", "model", "disabled", "formatOnLoad", "widthPx", "heightPx", "heightStyle", "jsonSchema", "fitPage", "fitPageExtraSpace"], outputs: ["validEvent", "valueChangeEvent"] }, { kind: "ngmodule", type: RenderInPageHeaderDirectiveModule }, { kind: "directive", type: i1.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1480
1583
|
}
|
|
1481
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1584
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TextTemplateEditorComponent, decorators: [{
|
|
1482
1585
|
type: Component,
|
|
1483
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, providers: [NotificationService],
|
|
1484
|
-
|
|
1586
|
+
args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [NotificationService], imports: [
|
|
1587
|
+
CommonModule,
|
|
1588
|
+
TranslateModule,
|
|
1589
|
+
TabsModule,
|
|
1590
|
+
DialogModule,
|
|
1591
|
+
ValtimoCdsOverflowButtonDirectiveModule,
|
|
1592
|
+
TextTemplateDeleteModalComponent,
|
|
1593
|
+
CarbonListModule,
|
|
1594
|
+
ButtonModule,
|
|
1595
|
+
EditorModule,
|
|
1596
|
+
RenderInPageHeaderDirectiveModule,
|
|
1597
|
+
], 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) || (readOnly$ | async)\"\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 || (readOnly$ | async)\"\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) || (readOnly$ | async)\"\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"] }]
|
|
1598
|
+
}], ctorParameters: () => [{ type: FreemarkerTemplateManagementService }, { type: i2$2.ActivatedRoute }, { type: i1.PageTitleService }, { type: i2$2.Router }, { type: i4$1.NotificationService }, { type: i5.TranslateService }, { type: i1.BreadcrumbService }, { type: i3.EnvironmentService }] });
|
|
1485
1599
|
|
|
1486
1600
|
/*
|
|
1487
1601
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -1500,7 +1614,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1500
1614
|
*/
|
|
1501
1615
|
const routes = [
|
|
1502
1616
|
{
|
|
1503
|
-
path: '
|
|
1617
|
+
path: 'case-management/case/:caseDefinitionKey/version/:caseDefinitionVersionTag/text-template/:templateKey',
|
|
1504
1618
|
component: TextTemplateEditorComponent,
|
|
1505
1619
|
canActivate: [AuthGuardService],
|
|
1506
1620
|
data: {
|
|
@@ -1511,11 +1625,11 @@ const routes = [
|
|
|
1511
1625
|
},
|
|
1512
1626
|
];
|
|
1513
1627
|
class TemplateManagementRoutingModule {
|
|
1514
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1515
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1516
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
1628
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TemplateManagementRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1629
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: TemplateManagementRoutingModule, imports: [CommonModule, i2$2.RouterModule], exports: [RouterModule] }); }
|
|
1630
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TemplateManagementRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
|
|
1517
1631
|
}
|
|
1518
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1632
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TemplateManagementRoutingModule, decorators: [{
|
|
1519
1633
|
type: NgModule,
|
|
1520
1634
|
args: [{
|
|
1521
1635
|
imports: [CommonModule, RouterModule.forChild(routes)],
|
|
@@ -1588,12 +1702,12 @@ class GenerateTextFileComponent {
|
|
|
1588
1702
|
});
|
|
1589
1703
|
});
|
|
1590
1704
|
}
|
|
1591
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1592
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1705
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: GenerateTextFileComponent, deps: [{ token: i1.ModalService }, { token: i2$1.DocumentService }, { token: FreemarkerTemplateManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1706
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: GenerateTextFileComponent, isStandalone: false, selector: "valtimo-generate-text-file-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2022 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n textTemplateItems: textTemplateItems$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateTextFileDescription' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-select\n [items]=\"obs.textTemplateItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"textTemplateKey\"\n [title]=\"'textTemplateKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.textTemplateKey\"\n [required]=\"true\"\n [loading]=\"!obs.textTemplateItems\"\n [tooltip]=\"'textTemplateKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"processVariableName\"\n [title]=\"'processVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariableName || 'contentId'\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'processVariableNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i1.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "component", type: i1.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "component", type: i1.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.PluginTranslatePipe, name: "pluginTranslate" }] }); }
|
|
1593
1707
|
}
|
|
1594
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1708
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: GenerateTextFileComponent, decorators: [{
|
|
1595
1709
|
type: Component,
|
|
1596
|
-
args: [{ selector: 'valtimo-generate-text-file-configuration', template: "<!--\n ~ Copyright 2015-2022 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n textTemplateItems: textTemplateItems$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateTextFileDescription' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-select\n [items]=\"obs.textTemplateItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"textTemplateKey\"\n [title]=\"'textTemplateKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.textTemplateKey\"\n [required]=\"true\"\n [loading]=\"!obs.textTemplateItems\"\n [tooltip]=\"'textTemplateKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"processVariableName\"\n [title]=\"'processVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariableName || 'contentId'\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'processVariableNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n" }]
|
|
1710
|
+
args: [{ standalone: false, selector: 'valtimo-generate-text-file-configuration', template: "<!--\n ~ Copyright 2015-2022 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n textTemplateItems: textTemplateItems$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'generateTextFileDescription' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-select\n [items]=\"obs.textTemplateItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"textTemplateKey\"\n [title]=\"'textTemplateKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.textTemplateKey\"\n [required]=\"true\"\n [loading]=\"!obs.textTemplateItems\"\n [tooltip]=\"'textTemplateKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"processVariableName\"\n [title]=\"'processVariableName' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.processVariableName || 'contentId'\"\n [disabled]=\"obs.disabled\"\n [tooltip]=\"'processVariableNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n" }]
|
|
1597
1711
|
}], ctorParameters: () => [{ type: i1.ModalService }, { type: i2$1.DocumentService }, { type: FreemarkerTemplateManagementService }], propDecorators: { save$: [{
|
|
1598
1712
|
type: Input
|
|
1599
1713
|
}], disabled$: [{
|
|
@@ -1624,13 +1738,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1624
1738
|
* limitations under the License.
|
|
1625
1739
|
*/
|
|
1626
1740
|
class TextTemplatePluginModule {
|
|
1627
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1628
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1629
|
-
TextTemplateConfigurationComponent,
|
|
1630
|
-
TextTemplateAddEditModalComponent,
|
|
1631
|
-
TextTemplateEditorComponent,
|
|
1632
|
-
TextTemplateDeleteModalComponent,
|
|
1633
|
-
TextTemplateListComponent], imports: [CommonModule,
|
|
1741
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TextTemplatePluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1742
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: TextTemplatePluginModule, declarations: [GenerateTextFileComponent,
|
|
1743
|
+
TextTemplateConfigurationComponent], imports: [CommonModule,
|
|
1634
1744
|
PluginTranslatePipeModule,
|
|
1635
1745
|
TemplateManagementRoutingModule,
|
|
1636
1746
|
FormModule,
|
|
@@ -1641,27 +1751,22 @@ class TextTemplatePluginModule {
|
|
|
1641
1751
|
ReactiveFormsModule,
|
|
1642
1752
|
CarbonListModule,
|
|
1643
1753
|
EditorModule,
|
|
1644
|
-
InputModule,
|
|
1754
|
+
InputModule$1,
|
|
1645
1755
|
ButtonModule,
|
|
1646
1756
|
DialogModule,
|
|
1647
1757
|
DropdownModule,
|
|
1648
1758
|
IconModule,
|
|
1649
|
-
InputModule
|
|
1759
|
+
InputModule,
|
|
1650
1760
|
LoadingModule,
|
|
1651
1761
|
ModalModule,
|
|
1652
1762
|
NotificationModule,
|
|
1653
1763
|
RenderInPageHeaderDirectiveModule,
|
|
1654
|
-
TabsModule], exports: [GenerateTextFileComponent
|
|
1655
|
-
|
|
1656
|
-
TextTemplateAddEditModalComponent,
|
|
1657
|
-
TextTemplateEditorComponent,
|
|
1658
|
-
TextTemplateDeleteModalComponent,
|
|
1659
|
-
TextTemplateListComponent] }); }
|
|
1660
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplatePluginModule, providers: [
|
|
1764
|
+
TabsModule], exports: [GenerateTextFileComponent] }); }
|
|
1765
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TextTemplatePluginModule, providers: [
|
|
1661
1766
|
{
|
|
1662
1767
|
provide: CASE_MANAGEMENT_TAB_TOKEN,
|
|
1663
1768
|
useValue: {
|
|
1664
|
-
translationKey: '
|
|
1769
|
+
translationKey: 'text-template',
|
|
1665
1770
|
component: TextTemplateListComponent,
|
|
1666
1771
|
},
|
|
1667
1772
|
multi: true,
|
|
@@ -1677,28 +1782,24 @@ class TextTemplatePluginModule {
|
|
|
1677
1782
|
ReactiveFormsModule,
|
|
1678
1783
|
CarbonListModule,
|
|
1679
1784
|
EditorModule,
|
|
1680
|
-
InputModule,
|
|
1785
|
+
InputModule$1,
|
|
1681
1786
|
ButtonModule,
|
|
1682
1787
|
DialogModule,
|
|
1683
1788
|
DropdownModule,
|
|
1684
1789
|
IconModule,
|
|
1685
|
-
InputModule
|
|
1790
|
+
InputModule,
|
|
1686
1791
|
LoadingModule,
|
|
1687
1792
|
ModalModule,
|
|
1688
1793
|
NotificationModule,
|
|
1689
1794
|
RenderInPageHeaderDirectiveModule,
|
|
1690
1795
|
TabsModule] }); }
|
|
1691
1796
|
}
|
|
1692
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1797
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TextTemplatePluginModule, decorators: [{
|
|
1693
1798
|
type: NgModule,
|
|
1694
1799
|
args: [{
|
|
1695
1800
|
declarations: [
|
|
1696
1801
|
GenerateTextFileComponent,
|
|
1697
1802
|
TextTemplateConfigurationComponent,
|
|
1698
|
-
TextTemplateAddEditModalComponent,
|
|
1699
|
-
TextTemplateEditorComponent,
|
|
1700
|
-
TextTemplateDeleteModalComponent,
|
|
1701
|
-
TextTemplateListComponent,
|
|
1702
1803
|
],
|
|
1703
1804
|
imports: [
|
|
1704
1805
|
CommonModule,
|
|
@@ -1712,12 +1813,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1712
1813
|
ReactiveFormsModule,
|
|
1713
1814
|
CarbonListModule,
|
|
1714
1815
|
EditorModule,
|
|
1715
|
-
InputModule,
|
|
1816
|
+
InputModule$1,
|
|
1716
1817
|
ButtonModule,
|
|
1717
1818
|
DialogModule,
|
|
1718
1819
|
DropdownModule,
|
|
1719
1820
|
IconModule,
|
|
1720
|
-
InputModule
|
|
1821
|
+
InputModule,
|
|
1721
1822
|
LoadingModule,
|
|
1722
1823
|
ModalModule,
|
|
1723
1824
|
NotificationModule,
|
|
@@ -1726,17 +1827,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1726
1827
|
],
|
|
1727
1828
|
exports: [
|
|
1728
1829
|
GenerateTextFileComponent,
|
|
1729
|
-
TextTemplateConfigurationComponent,
|
|
1730
|
-
TextTemplateAddEditModalComponent,
|
|
1731
|
-
TextTemplateEditorComponent,
|
|
1732
|
-
TextTemplateDeleteModalComponent,
|
|
1733
|
-
TextTemplateListComponent,
|
|
1734
1830
|
],
|
|
1735
1831
|
providers: [
|
|
1736
1832
|
{
|
|
1737
1833
|
provide: CASE_MANAGEMENT_TAB_TOKEN,
|
|
1738
1834
|
useValue: {
|
|
1739
|
-
translationKey: '
|
|
1835
|
+
translationKey: 'text-template',
|
|
1740
1836
|
component: TextTemplateListComponent,
|
|
1741
1837
|
},
|
|
1742
1838
|
multi: true,
|