@valtimo-plugins/freemarker 5.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/esm2022/lib/models/freemarker-template.mjs +17 -0
- package/esm2022/lib/models/index.mjs +17 -0
- package/esm2022/lib/plugins/mail-template/assets/index.mjs +17 -0
- package/esm2022/lib/plugins/mail-template/assets/mail-template-plugin-logo.mjs +18 -0
- package/esm2022/lib/plugins/mail-template/components/generate-mail-content/generate-mail-content.component.mjs +94 -0
- package/esm2022/lib/plugins/mail-template/components/generate-mail-file/generate-mail-file.component.mjs +94 -0
- package/esm2022/lib/plugins/mail-template/components/mail-template-add-edit-modal/mail-template-add-edit-modal.component.mjs +87 -0
- package/esm2022/lib/plugins/mail-template/components/mail-template-configuration/mail-template-configuration.component.mjs +77 -0
- package/esm2022/lib/plugins/mail-template/components/mail-template-delete-modal/mail-template-delete-modal.component.mjs +39 -0
- package/esm2022/lib/plugins/mail-template/components/mail-template-editor/mail-template-editor.component.mjs +168 -0
- package/esm2022/lib/plugins/mail-template/components/mail-template-list/mail-template-list.component.mjs +104 -0
- package/esm2022/lib/plugins/mail-template/mail-template-management-routing.module.mjs +48 -0
- package/esm2022/lib/plugins/mail-template/mail-template-plugin-module.mjs +158 -0
- package/esm2022/lib/plugins/mail-template/mail-template-plugin.specification.mjs +74 -0
- package/esm2022/lib/plugins/mail-template/models/config.mjs +17 -0
- package/esm2022/lib/plugins/mail-template/models/index.mjs +17 -0
- package/esm2022/lib/services/freemarker-template-management.service.mjs +68 -0
- package/esm2022/lib/services/index.mjs +17 -0
- package/esm2022/public_api.mjs +29 -0
- package/esm2022/valtimo-plugins-freemarker.mjs +5 -0
- package/fesm2022/valtimo-plugins-freemarker.mjs +1047 -0
- package/fesm2022/valtimo-plugins-freemarker.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/models/freemarker-template.d.ts +40 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/plugins/mail-template/assets/index.d.ts +1 -0
- package/lib/plugins/mail-template/assets/mail-template-plugin-logo.d.ts +2 -0
- package/lib/plugins/mail-template/components/generate-mail-content/generate-mail-content.component.d.ts +33 -0
- package/lib/plugins/mail-template/components/generate-mail-file/generate-mail-file.component.d.ts +33 -0
- package/lib/plugins/mail-template/components/mail-template-add-edit-modal/mail-template-add-edit-modal.component.d.ts +29 -0
- package/lib/plugins/mail-template/components/mail-template-configuration/mail-template-configuration.component.d.ts +25 -0
- package/lib/plugins/mail-template/components/mail-template-delete-modal/mail-template-delete-modal.component.d.ts +11 -0
- package/lib/plugins/mail-template/components/mail-template-editor/mail-template-editor.component.d.ts +50 -0
- package/lib/plugins/mail-template/components/mail-template-list/mail-template-list.component.d.ts +32 -0
- package/lib/plugins/mail-template/mail-template-management-routing.module.d.ts +8 -0
- package/lib/plugins/mail-template/mail-template-plugin-module.d.ts +20 -0
- package/lib/plugins/mail-template/mail-template-plugin.specification.d.ts +3 -0
- package/lib/plugins/mail-template/models/config.d.ts +12 -0
- package/lib/plugins/mail-template/models/index.d.ts +1 -0
- package/lib/services/freemarker-template-management.service.d.ts +20 -0
- package/lib/services/index.d.ts +1 -0
- package/package.json +29 -0
- package/public_api.d.ts +10 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlZW1hcmtlci10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZnJlZW1hcmtlci9zcmMvbGliL21vZGVscy9mcmVlbWFya2VyLXRlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW50ZXJmYWNlIFRlbXBsYXRlTGlzdEl0ZW0ge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHJlYWRPbmx5OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ3JlYXRlVGVtcGxhdGVSZXF1ZXN0IHtcbiAgICBrZXk6IHN0cmluZyxcbiAgICBjYXNlRGVmaW5pdGlvbk5hbWU/OiBzdHJpbmcsXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIG1ldGFkYXRhPzogYW55LFxufVxuXG5pbnRlcmZhY2UgRGVsZXRlVGVtcGxhdGVzUmVxdWVzdCB7XG4gICAgY2FzZURlZmluaXRpb25OYW1lPzogc3RyaW5nO1xuICAgIHR5cGU6IFRlbXBsYXRlVHlwZTtcbiAgICB0ZW1wbGF0ZXM6IEFycmF5PHN0cmluZz47XG59XG5cbmludGVyZmFjZSBVcGRhdGVUZW1wbGF0ZVJlcXVlc3Qge1xuICAgIGtleTogc3RyaW5nO1xuICAgIGNhc2VEZWZpbml0aW9uTmFtZT86IHN0cmluZztcbiAgICB0eXBlOiBUZW1wbGF0ZVR5cGU7XG4gICAgbWV0YWRhdGE/OiBhbnk7XG4gICAgY29udGVudDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgVGVtcGxhdGUge1xuICAgIGtleTogc3RyaW5nO1xuICAgIGNhc2VEZWZpbml0aW9uTmFtZT86IHN0cmluZztcbiAgICB0eXBlOiBUZW1wbGF0ZVR5cGU7XG4gICAgbWV0YWRhdGE6IGFueTtcbiAgICBjb250ZW50OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBUZW1wbGF0ZVJlc3BvbnNlIHtcbiAgICBrZXk6IHN0cmluZztcbiAgICBjYXNlRGVmaW5pdGlvbk5hbWU/OiBzdHJpbmc7XG4gICAgdHlwZTogVGVtcGxhdGVUeXBlO1xuICAgIG1ldGFkYXRhOiBhbnk7XG4gICAgY29udGVudDogc3RyaW5nO1xuICAgIHJlYWRPbmx5OiBib29sZWFuO1xufVxuXG50eXBlIFRlbXBsYXRlTWV0YWRhdGFNb2RhbCA9ICdhZGQnIHwgJ2VkaXQnO1xudHlwZSBUZW1wbGF0ZVR5cGUgPSAnbWFpbCc7XG5cbmV4cG9ydCB7XG4gICAgVGVtcGxhdGVMaXN0SXRlbSxcbiAgICBDcmVhdGVUZW1wbGF0ZVJlcXVlc3QsXG4gICAgRGVsZXRlVGVtcGxhdGVzUmVxdWVzdCxcbiAgICBUZW1wbGF0ZSxcbiAgICBVcGRhdGVUZW1wbGF0ZVJlcXVlc3QsXG4gICAgVGVtcGxhdGVSZXNwb25zZSxcbiAgICBUZW1wbGF0ZU1ldGFkYXRhTW9kYWwsXG4gICAgVGVtcGxhdGVUeXBlLFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export * from './freemarker-template';
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2ZyZWVtYXJrZXIvc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9mcmVlbWFya2VyLXRlbXBsYXRlJztcbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2022 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export * from './mail-template-plugin-logo';
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2ZyZWVtYXJrZXIvc3JjL2xpYi9wbHVnaW5zL21haWwtdGVtcGxhdGUvYXNzZXRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIyIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbWFpbC10ZW1wbGF0ZS1wbHVnaW4tbG9nbyc7XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2022 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
const FREEMARKER_PLUGIN_LOGO_BASE64 = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyBpZD0ic3ZnMiIgdmlld0JveD0iMCAwIDQwMCAyMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTSAzNDAuMzM3IDEzNS4zMjQgTCAzNTAuNTU1IDE1MC44MTUgTCAzODQuNiA5OS4xNzYgTCAzNTAuNTU1IDQ3LjUzNSBMIDM0MC4zMzcgNjMuMDI4IEwgMzY0LjE4MSA5OS4xNzYgTCAzNDAuMzM3IDEzNS4zMjQgWiIgc3R5bGU9ImZpbGw6IHJnYigwLCA4MCwgMTc4KTsiLz4KICA8cGF0aCBkPSJNIDU1LjQwNiA2My4wMjggTCA0NS4xODggNDcuNTM1IEwgMTEuMTQzIDk5LjE3NiBMIDQ1LjE4OCAxNTAuODE1IEwgNTUuNDA2IDEzNS4zMjQgTCAzMS41NjMgOTkuMTc2IEwgNTUuNDA2IDYzLjAyOCBaIiBzdHlsZT0iZmlsbDogcmdiKDAsIDgwLCAxNzgpOyIvPgogIDxwYXRoIGQ9Ik0gOTIuNzIxIDQ3LjUzNSBMIDExMy4zNzYgNDcuNTM1IEwgMTA5LjczMiA2OC4xOTEgTCAxMzAuMzg5IDY4LjE5MSBMIDEzNC4wMzIgNDcuNTM1IEwgMTU0LjY4OSA0Ny41MzUgTCAxNTEuMDQ1IDY4LjE5MSBMIDE3MS43MDEgNjguMTkxIEwgMTY4LjA0OSA4OC44NDggTCAxNDcuMzkzIDg4Ljg0OCBMIDE0My43NTYgMTA5LjUwNCBMIDE2NC40MTIgMTA5LjUwNCBMIDE2MC43NjcgMTMwLjE2IEwgMTQwLjExMSAxMzAuMTYgTCAxMzYuNDgyIDE1MC44MTUgTCAxMTUuODI2IDE1MC44MTUgTCAxMTkuNDYzIDEzMC4xNiBMIDk4LjgwNiAxMzAuMTYgTCA5NS4yMjkgMTUwLjgxNSBMIDc0LjUxMyAxNTAuODE1IEwgNzguMTUgMTMwLjE2IEwgNTcuNDk0IDEzMC4xNiBMIDYxLjEzOCAxMDkuNTA0IEwgODEuNzk1IDEwOS41MDQgTCA4NS40MzIgODguODk5IEwgNjQuNzc1IDg4Ljg5OSBMIDY4LjQyIDY4LjE5MSBMIDg5LjA3NiA2OC4xOTEgTCA5Mi43MjEgNDcuNTM1IFogTSAxMDIuNDUxIDEwOS41MDQgTCAxMjMuMTA3IDEwOS41MDQgTCAxMjYuNzUyIDg4Ljg0OCBMIDEwNi4wOTUgODguODQ4IEwgMTAyLjQ1MSAxMDkuNTA0IFoiIHN0eWxlPSJmaWxsOiByZ2IoMCwgODAsIDE3OCk7Ii8+CiAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMi4wMjgxNjQsIDAsIDAsIDIuMDI4MTY0LCAxNzkuMDc4MTg2LCAyNi4zMjE2NjcpIiBzdHlsZT0iIj4KICAgIDxwYXRoIGQ9Ik0gNjYuMDk3IDExLjUyOCBMIDkuMTk3IDExLjUyOCBDIDQuMTI2IDExLjUyOCAwIDE1LjY1NCAwIDIwLjcyNSBMIDAgNTMuNDQ3IEMgMCA1OC41MTggNC4xMjYgNjIuNjQ0IDkuMTk3IDYyLjY0NCBMIDY2LjA5NyA2Mi42NDQgQyA3MS4xNjggNjIuNjQ0IDc1LjI5NCA1OC41MTggNzUuMjk0IDUzLjQ0NyBMIDc1LjI5NCAyMC43MjYgQyA3NS4yOTUgMTUuNjU0IDcxLjE2OSAxMS41MjggNjYuMDk3IDExLjUyOCBaIE0gNjEuNjAzIDE3LjUyOCBMIDM3LjY0NyAzMi45NjIgTCAxMy42OTEgMTcuNTI4IEwgNjEuNjAzIDE3LjUyOCBaIE0gNjYuMDk3IDU2LjY0NSBMIDkuMTk3IDU2LjY0NSBDIDcuNDM0IDU2LjY0NSA2IDU1LjIxIDYgNTMuNDQ4IEwgNiAyMC44OTYgTCAzNS43OTYgNDAuMDU2IEMgMzUuODM2IDQwLjA4MSAzNS44NzkgNDAuMDk4IDM1LjkyIDQwLjEyMSBDIDM1Ljk2MyA0MC4xNDUgMzYuMDA3IDQwLjE2OCAzNi4wNTEgNDAuMTkgQyAzNi4yODIgNDAuMzA5IDM2LjUyIDQwLjQwNSAzNi43NjMgNDAuNDY4IEMgMzYuNzg4IDQwLjQ3NSAzNi44MTMgNDAuNDc4IDM2LjgzOCA0MC40ODQgQyAzNy4xMDUgNDAuNTQ3IDM3LjM3NSA0MC41ODYgMzcuNjQ1IDQwLjU4NiBDIDM3LjY0NiA0MC41ODYgMzcuNjQ3IDQwLjU4NiAzNy42NDcgNDAuNTg2IEMgMzcuNjQ5IDQwLjU4NiAzNy42NSA0MC41ODYgMzcuNjUxIDQwLjU4NiBDIDM3LjkyMSA0MC41ODYgMzguMTkxIDQwLjU0OCAzOC40NTggNDAuNDg0IEMgMzguNDgzIDQwLjQ3OCAzOC41MDggNDAuNDc1IDM4LjUzMyA0MC40NjggQyAzOC43NzYgNDAuNDA1IDM5LjAxMyA0MC4zMDkgMzkuMjQ1IDQwLjE5IEMgMzkuMjg5IDQwLjE2OCAzOS4zMzMgNDAuMTQ1IDM5LjM3NiA0MC4xMjEgQyAzOS40MTcgNDAuMDk4IDM5LjQ2IDQwLjA4MSAzOS41IDQwLjA1NiBMIDY5LjI5NiAyMC44OTYgTCA2OS4yOTYgNTMuNDQ3IEMgNjkuMjk1IDU1LjIxIDY3Ljg2IDU2LjY0NSA2Ni4wOTcgNTYuNjQ1IFoiLz4KICA8L2c+Cjwvc3ZnPg==';
|
|
17
|
+
export { FREEMARKER_PLUGIN_LOGO_BASE64 };
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbC10ZW1wbGF0ZS1wbHVnaW4tbG9nby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZnJlZW1hcmtlci9zcmMvbGliL3BsdWdpbnMvbWFpbC10ZW1wbGF0ZS9hc3NldHMvbWFpbC10ZW1wbGF0ZS1wbHVnaW4tbG9nby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE1BQU0sNkJBQTZCLEdBQ2pDLGcyRkFBZzJGLENBQUM7QUFFbjJGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjIgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuY29uc3QgRlJFRU1BUktFUl9QTFVHSU5fTE9HT19CQVNFNjQgPVxuICAnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRLUEhOMlp5QnBaRDBpYzNabk1pSWdkbWxsZDBKdmVEMGlNQ0F3SURRd01DQXlNREFpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrQ2lBZ1BIQmhkR2dnWkQwaVRTQXpOREF1TXpNM0lERXpOUzR6TWpRZ1RDQXpOVEF1TlRVMUlERTFNQzQ0TVRVZ1RDQXpPRFF1TmlBNU9TNHhOellnVENBek5UQXVOVFUxSURRM0xqVXpOU0JNSURNME1DNHpNemNnTmpNdU1ESTRJRXdnTXpZMExqRTRNU0E1T1M0eE56WWdUQ0F6TkRBdU16TTNJREV6TlM0ek1qUWdXaUlnYzNSNWJHVTlJbVpwYkd3NklISm5ZaWd3TENBNE1Dd2dNVGM0S1RzaUx6NEtJQ0E4Y0dGMGFDQmtQU0pOSURVMUxqUXdOaUEyTXk0d01qZ2dUQ0EwTlM0eE9EZ2dORGN1TlRNMUlFd2dNVEV1TVRReklEazVMakUzTmlCTUlEUTFMakU0T0NBeE5UQXVPREUxSUV3Z05UVXVOREEySURFek5TNHpNalFnVENBek1TNDFOak1nT1RrdU1UYzJJRXdnTlRVdU5EQTJJRFl6TGpBeU9DQmFJaUJ6ZEhsc1pUMGlabWxzYkRvZ2NtZGlLREFzSURnd0xDQXhOemdwT3lJdlBnb2dJRHh3WVhSb0lHUTlJazBnT1RJdU56SXhJRFEzTGpVek5TQk1JREV4TXk0ek56WWdORGN1TlRNMUlFd2dNVEE1TGpjek1pQTJPQzR4T1RFZ1RDQXhNekF1TXpnNUlEWTRMakU1TVNCTUlERXpOQzR3TXpJZ05EY3VOVE0xSUV3Z01UVTBMalk0T1NBME55NDFNelVnVENBeE5URXVNRFExSURZNExqRTVNU0JNSURFM01TNDNNREVnTmpndU1Ua3hJRXdnTVRZNExqQTBPU0E0T0M0NE5EZ2dUQ0F4TkRjdU16a3pJRGc0TGpnME9DQk1JREUwTXk0M05UWWdNVEE1TGpVd05DQk1JREUyTkM0ME1USWdNVEE1TGpVd05DQk1JREUyTUM0M05qY2dNVE13TGpFMklFd2dNVFF3TGpFeE1TQXhNekF1TVRZZ1RDQXhNell1TkRneUlERTFNQzQ0TVRVZ1RDQXhNVFV1T0RJMklERTFNQzQ0TVRVZ1RDQXhNVGt1TkRZeklERXpNQzR4TmlCTUlEazRMamd3TmlBeE16QXVNVFlnVENBNU5TNHlNamtnTVRVd0xqZ3hOU0JNSURjMExqVXhNeUF4TlRBdU9ERTFJRXdnTnpndU1UVWdNVE13TGpFMklFd2dOVGN1TkRrMElERXpNQzR4TmlCTUlEWXhMakV6T0NBeE1Ea3VOVEEwSUV3Z09ERXVOemsxSURFd09TNDFNRFFnVENBNE5TNDBNeklnT0RndU9EazVJRXdnTmpRdU56YzFJRGc0TGpnNU9TQk1JRFk0TGpReUlEWTRMakU1TVNCTUlEZzVMakEzTmlBMk9DNHhPVEVnVENBNU1pNDNNakVnTkRjdU5UTTFJRm9nVFNBeE1ESXVORFV4SURFd09TNDFNRFFnVENBeE1qTXVNVEEzSURFd09TNDFNRFFnVENBeE1qWXVOelV5SURnNExqZzBPQ0JNSURFd05pNHdPVFVnT0RndU9EUTRJRXdnTVRBeUxqUTFNU0F4TURrdU5UQTBJRm9pSUhOMGVXeGxQU0ptYVd4c09pQnlaMklvTUN3Z09EQXNJREUzT0NrN0lpOCtDaUFnUEdjZ2RISmhibk5tYjNKdFBTSnRZWFJ5YVhnb01pNHdNamd4TmpRc0lEQXNJREFzSURJdU1ESTRNVFkwTENBeE56a3VNRGM0TVRnMkxDQXlOaTR6TWpFMk5qY3BJaUJ6ZEhsc1pUMGlJajRLSUNBZ0lEeHdZWFJvSUdROUlrMGdOall1TURrM0lERXhMalV5T0NCTUlEa3VNVGszSURFeExqVXlPQ0JESURRdU1USTJJREV4TGpVeU9DQXdJREUxTGpZMU5DQXdJREl3TGpjeU5TQk1JREFnTlRNdU5EUTNJRU1nTUNBMU9DNDFNVGdnTkM0eE1qWWdOakl1TmpRMElEa3VNVGszSURZeUxqWTBOQ0JNSURZMkxqQTVOeUEyTWk0Mk5EUWdReUEzTVM0eE5qZ2dOakl1TmpRMElEYzFMakk1TkNBMU9DNDFNVGdnTnpVdU1qazBJRFV6TGpRME55Qk1JRGMxTGpJNU5DQXlNQzQzTWpZZ1F5QTNOUzR5T1RVZ01UVXVOalUwSURjeExqRTJPU0F4TVM0MU1qZ2dOall1TURrM0lERXhMalV5T0NCYUlFMGdOakV1TmpBeklERTNMalV5T0NCTUlETTNMalkwTnlBek1pNDVOaklnVENBeE15NDJPVEVnTVRjdU5USTRJRXdnTmpFdU5qQXpJREUzTGpVeU9DQmFJRTBnTmpZdU1EazNJRFUyTGpZME5TQk1JRGt1TVRrM0lEVTJMalkwTlNCRElEY3VORE0wSURVMkxqWTBOU0EySURVMUxqSXhJRFlnTlRNdU5EUTRJRXdnTmlBeU1DNDRPVFlnVENBek5TNDNPVFlnTkRBdU1EVTJJRU1nTXpVdU9ETTJJRFF3TGpBNE1TQXpOUzQ0TnprZ05EQXVNRGs0SURNMUxqa3lJRFF3TGpFeU1TQkRJRE0xTGprMk15QTBNQzR4TkRVZ016WXVNREEzSURRd0xqRTJPQ0F6Tmk0d05URWdOREF1TVRrZ1F5QXpOaTR5T0RJZ05EQXVNekE1SURNMkxqVXlJRFF3TGpRd05TQXpOaTQzTmpNZ05EQXVORFk0SUVNZ016WXVOemc0SURRd0xqUTNOU0F6Tmk0NE1UTWdOREF1TkRjNElETTJMamd6T0NBME1DNDBPRFFnUXlBek55NHhNRFVnTkRBdU5UUTNJRE0zTGpNM05TQTBNQzQxT0RZZ016Y3VOalExSURRd0xqVTROaUJESURNM0xqWTBOaUEwTUM0MU9EWWdNemN1TmpRM0lEUXdMalU0TmlBek55NDJORGNnTkRBdU5UZzJJRU1nTXpjdU5qUTVJRFF3TGpVNE5pQXpOeTQyTlNBME1DNDFPRFlnTXpjdU5qVXhJRFF3TGpVNE5pQkRJRE0zTGpreU1TQTBNQzQxT0RZZ016Z3VNVGt4SURRd0xqVTBPQ0F6T0M0ME5UZ2dOREF1TkRnMElFTWdNemd1TkRneklEUXdMalEzT0NBek9DNDFNRGdnTkRBdU5EYzFJRE00TGpVek15QTBNQzQwTmpnZ1F5QXpPQzQzTnpZZ05EQXVOREExSURNNUxqQXhNeUEwTUM0ek1Ea2dNemt1TWpRMUlEUXdMakU1SUVNZ016a3VNamc1SURRd0xqRTJPQ0F6T1M0ek16TWdOREF1TVRRMUlETTVMak0zTmlBME1DNHhNakVnUXlBek9TNDBNVGNnTkRBdU1EazRJRE01TGpRMklEUXdMakE0TVNBek9TNDFJRFF3TGpBMU5pQk1JRFk1TGpJNU5pQXlNQzQ0T1RZZ1RDQTJPUzR5T1RZZ05UTXVORFEzSUVNZ05qa3VNamsxSURVMUxqSXhJRFkzTGpnMklEVTJMalkwTlNBMk5pNHdPVGNnTlRZdU5qUTFJRm9pTHo0S0lDQThMMmMrQ2p3dmMzWm5QZz09JztcblxuZXhwb3J0IHtGUkVFTUFSS0VSX1BMVUdJTl9MT0dPX0JBU0U2NH07XG4iXX0=
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2022 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
17
|
+
import { BehaviorSubject, combineLatest, map, of, switchMap, take, tap, } from 'rxjs';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "@valtimo/components";
|
|
20
|
+
import * as i2 from "@valtimo/document";
|
|
21
|
+
import * as i3 from "../../../../services";
|
|
22
|
+
import * as i4 from "@angular/common";
|
|
23
|
+
import * as i5 from "carbon-components-angular";
|
|
24
|
+
import * as i6 from "@valtimo/plugin";
|
|
25
|
+
export class GenerateMailContentComponent {
|
|
26
|
+
constructor(modalService, documentService, templateService) {
|
|
27
|
+
this.modalService = modalService;
|
|
28
|
+
this.documentService = documentService;
|
|
29
|
+
this.templateService = templateService;
|
|
30
|
+
this.valid = new EventEmitter();
|
|
31
|
+
this.configuration = new EventEmitter();
|
|
32
|
+
this.formValue$ = new BehaviorSubject(null);
|
|
33
|
+
this.valid$ = new BehaviorSubject(false);
|
|
34
|
+
this.loading$ = new BehaviorSubject(true);
|
|
35
|
+
this.mailTemplateItems$ = this.modalService.modalData$.pipe(switchMap(params => this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(params?.processDefinitionKey)), switchMap(processDocumentDefinitions => combineLatest([
|
|
36
|
+
of({ content: [] }),
|
|
37
|
+
...processDocumentDefinitions.map(processDocumentDefinition => this.templateService.getAllMailTemplates(processDocumentDefinition.id.documentDefinitionId.name)),
|
|
38
|
+
])), map(results => {
|
|
39
|
+
return results
|
|
40
|
+
.flatMap(result => result.content)
|
|
41
|
+
.map(template => ({
|
|
42
|
+
id: template.key,
|
|
43
|
+
text: template.key,
|
|
44
|
+
}));
|
|
45
|
+
}), tap(() => {
|
|
46
|
+
this.loading$.next(false);
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
ngOnInit() {
|
|
50
|
+
this.openSaveSubscription();
|
|
51
|
+
}
|
|
52
|
+
ngOnDestroy() {
|
|
53
|
+
this.saveSubscription?.unsubscribe();
|
|
54
|
+
}
|
|
55
|
+
formValueChange(formValue) {
|
|
56
|
+
this.formValue$.next(formValue);
|
|
57
|
+
this.handleValid(formValue);
|
|
58
|
+
}
|
|
59
|
+
handleValid(formValue) {
|
|
60
|
+
const valid = !!(formValue.mailTemplateKey && formValue.processVariableName);
|
|
61
|
+
this.valid$.next(valid);
|
|
62
|
+
this.valid.emit(valid);
|
|
63
|
+
}
|
|
64
|
+
openSaveSubscription() {
|
|
65
|
+
this.saveSubscription = this.save$?.subscribe(save => {
|
|
66
|
+
combineLatest([this.formValue$, this.valid$])
|
|
67
|
+
.pipe(take(1))
|
|
68
|
+
.subscribe(([formValue, valid]) => {
|
|
69
|
+
if (valid) {
|
|
70
|
+
this.configuration.emit(formValue);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GenerateMailContentComponent, deps: [{ token: i1.ModalService }, { token: i2.DocumentService }, { token: i3.FreemarkerTemplateManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GenerateMailContentComponent, 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"], outputs: ["valueChange"] }, { kind: "component", type: i5.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" }] }); }
|
|
77
|
+
}
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GenerateMailContentComponent, decorators: [{
|
|
79
|
+
type: Component,
|
|
80
|
+
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" }]
|
|
81
|
+
}], ctorParameters: () => [{ type: i1.ModalService }, { type: i2.DocumentService }, { type: i3.FreemarkerTemplateManagementService }], propDecorators: { save$: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], disabled$: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], pluginId: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], prefillConfiguration$: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], valid: [{
|
|
90
|
+
type: Output
|
|
91
|
+
}], configuration: [{
|
|
92
|
+
type: Output
|
|
93
|
+
}] } });
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtbWFpbC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZnJlZW1hcmtlci9zcmMvbGliL3BsdWdpbnMvbWFpbC10ZW1wbGF0ZS9jb21wb25lbnRzL2dlbmVyYXRlLW1haWwtY29udGVudC9nZW5lcmF0ZS1tYWlsLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9mcmVlbWFya2VyL3NyYy9saWIvcGx1Z2lucy9tYWlsLXRlbXBsYXRlL2NvbXBvbmVudHMvZ2VuZXJhdGUtbWFpbC1jb250ZW50L2dlbmVyYXRlLW1haWwtY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3hGLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQWdCLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQVc5RyxNQUFNLE9BQU8sNEJBQTRCO0lBNENyQyxZQUNxQixZQUEwQixFQUMxQixlQUFnQyxFQUNoQyxlQUFvRDtRQUZwRCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQXFDO1FBekMvRCxVQUFLLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFDM0Qsa0JBQWEsR0FBNEMsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFHaEcsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFtQyxJQUFJLENBQUMsQ0FBQztRQUN6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QVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMiBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7RnVuY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50fSBmcm9tICdAdmFsdGltby9wbHVnaW4nO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiwgc3dpdGNoTWFwLCB0YWtlLCB0YXAsfSBmcm9tICdyeGpzJztcbmltcG9ydCB7R2VuZXJhdGVNYWlsQ29udGVudENvbmZpZ30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7RnVuY3Rpb25Db25maWd1cmF0aW9uRGF0YX0gZnJvbSAnQHZhbHRpbW8vcGx1Z2luL2xpYi9tb2RlbHMvcGx1Z2luJztcbmltcG9ydCB7TW9kYWxTZXJ2aWNlLCBTZWxlY3RJdGVtfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7RnJlZW1hcmtlclRlbXBsYXRlTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmFsdGltby1nZW5lcmF0ZS1tYWlsLWNvbnRlbnQtY29uZmlndXJhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyYXRlLW1haWwtY29udGVudC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEdlbmVyYXRlTWFpbENvbnRlbnRDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIEZ1bmN0aW9uQ29uZmlndXJhdGlvbkNvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHNhdmUkITogT2JzZXJ2YWJsZTx2b2lkPjtcbiAgICBASW5wdXQoKSBkaXNhYmxlZCQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIEBJbnB1dCgpIHBsdWdpbklkITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHByZWZpbGxDb25maWd1cmF0aW9uJCE6IE9ic2VydmFibGU8R2VuZXJhdGVNYWlsQ29udGVudENvbmZpZz47XG4gICAgQE91dHB1dCgpIHZhbGlkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGNvbmZpZ3VyYXRpb246IEV2ZW50RW1pdHRlcjxGdW5jdGlvbkNvbmZpZ3VyYXRpb25EYXRhPiA9IG5ldyBFdmVudEVtaXR0ZXI8RnVuY3Rpb25Db25maWd1cmF0aW9uRGF0YT4oKTtcblxuICAgIHByaXZhdGUgc2F2ZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1WYWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEdlbmVyYXRlTWFpbENvbnRlbnRDb25maWcgfCBudWxsPihudWxsKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgcmVhZG9ubHkgbG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gICAgcmVhZG9ubHkgbWFpbFRlbXBsYXRlSXRlbXMkOiBPYnNlcnZhYmxlPEFycmF5PFNlbGVjdEl0ZW0+PiA9IHRoaXMubW9kYWxTZXJ2aWNlLm1vZGFsRGF0YSQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHBhcmFtcyA9PlxuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZmluZFByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zQnlQcm9jZXNzRGVmaW5pdGlvbktleShcbiAgICAgICAgICAgICAgICBwYXJhbXM/LnByb2Nlc3NEZWZpbml0aW9uS2V5XG4gICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHN3aXRjaE1hcChwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ucyA9PlxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgb2Yoe2NvbnRlbnQ6IFtdfSksXG4gICAgICAgICAgICAgICAgLi4ucHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbnMubWFwKHByb2Nlc3NEb2N1bWVudERlZmluaXRpb24gPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZ2V0QWxsTWFpbFRlbXBsYXRlcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NEb2N1bWVudERlZmluaXRpb24uaWQuZG9jdW1lbnREZWZpbml0aW9uSWQubmFtZVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0pXG4gICAgICAgICksXG4gICAgICAgIG1hcChyZXN1bHRzID0+IHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHRzXG4gICAgICAgICAgICAgICAgLmZsYXRNYXAocmVzdWx0ID0+IHJlc3VsdC5jb250ZW50KVxuICAgICAgICAgICAgICAgIC5tYXAodGVtcGxhdGUgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHRlbXBsYXRlLmtleSxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogdGVtcGxhdGUua2V5LFxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZVNlcnZpY2U6IEZyZWVtYXJrZXJUZW1wbGF0ZU1hbmFnZW1lbnRTZXJ2aWNlXG4gICAgKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlblNhdmVTdWJzY3JpcHRpb24oKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYXZlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGZvcm1WYWx1ZUNoYW5nZShmb3JtVmFsdWU6IEdlbmVyYXRlTWFpbENvbnRlbnRDb25maWcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtVmFsdWUkLm5leHQoZm9ybVZhbHVlKTtcbiAgICAgICAgdGhpcy5oYW5kbGVWYWxpZChmb3JtVmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlVmFsaWQoZm9ybVZhbHVlOiBHZW5lcmF0ZU1haWxDb250ZW50Q29uZmlnKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbGlkID0gISEoZm9ybVZhbHVlLm1haWxUZW1wbGF0ZUtleSAmJiBmb3JtVmFsdWUucHJvY2Vzc1ZhcmlhYmxlTmFtZSk7XG5cbiAgICAgICAgdGhpcy52YWxpZCQubmV4dCh2YWxpZCk7XG4gICAgICAgIHRoaXMudmFsaWQuZW1pdCh2YWxpZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuU2F2ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYXZlU3Vic2NyaXB0aW9uID0gdGhpcy5zYXZlJD8uc3Vic2NyaWJlKHNhdmUgPT4ge1xuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5mb3JtVmFsdWUkLCB0aGlzLnZhbGlkJF0pXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChbZm9ybVZhbHVlLCB2YWxpZF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uZW1pdChmb3JtVmFsdWUhKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMiBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ7XG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkJCB8IGFzeW5jLFxuICAgIHByZWZpbGw6IHByZWZpbGxDb25maWd1cmF0aW9uJCA/IChwcmVmaWxsQ29uZmlndXJhdGlvbiQgfCBhc3luYykgOiBudWxsLFxuICAgIG1haWxUZW1wbGF0ZUl0ZW1zOiBtYWlsVGVtcGxhdGVJdGVtcyQgfCBhc3luYyxcbiAgICBsb2FkaW5nOiBsb2FkaW5nJCB8IGFzeW5jLFxuICB9IGFzIG9ic1wiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9icy5sb2FkaW5nID09PSBmYWxzZTsgZWxzZSBsb2FkaW5nXCI+XG4gICAgICAgIDx2LXBhcmFncmFwaCBbbWFyZ2luXT1cInRydWVcIiBbaXRhbGljXT1cInRydWVcIj5cbiAgICAgICAgICAgIHt7ICdnZW5lcmF0ZU1haWxDb250ZW50RGVzY3JpcHRpb24nIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jIH19XG4gICAgICAgIDwvdi1wYXJhZ3JhcGg+XG4gICAgICAgIDx2LWZvcm0gKHZhbHVlQ2hhbmdlKT1cImZvcm1WYWx1ZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8di1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIm9icy5tYWlsVGVtcGxhdGVJdGVtc1wiXG4gICAgICAgICAgICAgICAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cIm1haWxUZW1wbGF0ZUtleVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInbWFpbFRlbXBsYXRlS2V5JyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdFNlbGVjdGlvbklkXT1cIm9icy5wcmVmaWxsPy5tYWlsVGVtcGxhdGVLZXlcIlxuICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cIiFvYnMubWFpbFRlbXBsYXRlSXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcF09XCInbWFpbFRlbXBsYXRlS2V5VG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICAgICAgPjwvdi1zZWxlY3Q+XG4gICAgICAgICAgICA8di1pbnB1dFxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwicHJvY2Vzc1ZhcmlhYmxlTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncHJvY2Vzc1ZhcmlhYmxlTmFtZScgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdFZhbHVlXT1cIm9icy5wcmVmaWxsPy5wcm9jZXNzVmFyaWFibGVOYW1lIHx8ICdjb250ZW50J1wiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcF09XCIncHJvY2Vzc1ZhcmlhYmxlTmFtZVRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgICAgID48L3YtaW5wdXQ+XG4gICAgICAgIDwvdi1mb3JtPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICA8ZGl2IGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIj5cbiAgICAgICAgPGNkcy1sb2FkaW5nPjwvY2RzLWxvYWRpbmc+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2022 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
17
|
+
import { BehaviorSubject, combineLatest, map, of, switchMap, take, tap } from 'rxjs';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "@valtimo/components";
|
|
20
|
+
import * as i2 from "@valtimo/document";
|
|
21
|
+
import * as i3 from "../../../../services";
|
|
22
|
+
import * as i4 from "@angular/common";
|
|
23
|
+
import * as i5 from "carbon-components-angular";
|
|
24
|
+
import * as i6 from "@valtimo/plugin";
|
|
25
|
+
export class GenerateMailFileComponent {
|
|
26
|
+
constructor(modalService, documentService, templateService) {
|
|
27
|
+
this.modalService = modalService;
|
|
28
|
+
this.documentService = documentService;
|
|
29
|
+
this.templateService = templateService;
|
|
30
|
+
this.valid = new EventEmitter();
|
|
31
|
+
this.configuration = new EventEmitter();
|
|
32
|
+
this.formValue$ = new BehaviorSubject(null);
|
|
33
|
+
this.valid$ = new BehaviorSubject(false);
|
|
34
|
+
this.loading$ = new BehaviorSubject(true);
|
|
35
|
+
this.mailTemplateItems$ = this.modalService.modalData$.pipe(switchMap(params => this.documentService.findProcessDocumentDefinitionsByProcessDefinitionKey(params?.processDefinitionKey)), switchMap(processDocumentDefinitions => combineLatest([
|
|
36
|
+
of({ content: [] }),
|
|
37
|
+
...processDocumentDefinitions.map(processDocumentDefinition => this.templateService.getAllMailTemplates(processDocumentDefinition.id.documentDefinitionId.name)),
|
|
38
|
+
])), map(results => {
|
|
39
|
+
return results
|
|
40
|
+
.flatMap(result => result.content)
|
|
41
|
+
.map(template => ({
|
|
42
|
+
id: template.key,
|
|
43
|
+
text: template.key,
|
|
44
|
+
}));
|
|
45
|
+
}), tap(() => {
|
|
46
|
+
this.loading$.next(false);
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
ngOnInit() {
|
|
50
|
+
this.openSaveSubscription();
|
|
51
|
+
}
|
|
52
|
+
ngOnDestroy() {
|
|
53
|
+
this.saveSubscription?.unsubscribe();
|
|
54
|
+
}
|
|
55
|
+
formValueChange(formValue) {
|
|
56
|
+
this.formValue$.next(formValue);
|
|
57
|
+
this.handleValid(formValue);
|
|
58
|
+
}
|
|
59
|
+
handleValid(formValue) {
|
|
60
|
+
const valid = !!(formValue.mailTemplateKey && formValue.processVariableName);
|
|
61
|
+
this.valid$.next(valid);
|
|
62
|
+
this.valid.emit(valid);
|
|
63
|
+
}
|
|
64
|
+
openSaveSubscription() {
|
|
65
|
+
this.saveSubscription = this.save$?.subscribe(save => {
|
|
66
|
+
combineLatest([this.formValue$, this.valid$])
|
|
67
|
+
.pipe(take(1))
|
|
68
|
+
.subscribe(([formValue, valid]) => {
|
|
69
|
+
if (valid) {
|
|
70
|
+
this.configuration.emit(formValue);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GenerateMailFileComponent, deps: [{ token: i1.ModalService }, { token: i2.DocumentService }, { token: i3.FreemarkerTemplateManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GenerateMailFileComponent, 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"], outputs: ["valueChange"] }, { kind: "component", type: i5.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" }] }); }
|
|
77
|
+
}
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GenerateMailFileComponent, decorators: [{
|
|
79
|
+
type: Component,
|
|
80
|
+
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" }]
|
|
81
|
+
}], ctorParameters: () => [{ type: i1.ModalService }, { type: i2.DocumentService }, { type: i3.FreemarkerTemplateManagementService }], propDecorators: { save$: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], disabled$: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], pluginId: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], prefillConfiguration$: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], valid: [{
|
|
90
|
+
type: Output
|
|
91
|
+
}], configuration: [{
|
|
92
|
+
type: Output
|
|
93
|
+
}] } });
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtbWFpbC1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZnJlZW1hcmtlci9zcmMvbGliL3BsdWdpbnMvbWFpbC10ZW1wbGF0ZS9jb21wb25lbnRzL2dlbmVyYXRlLW1haWwtZmlsZS9nZW5lcmF0ZS1tYWlsLWZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9mcmVlbWFya2VyL3NyYy9saWIvcGx1Z2lucy9tYWlsLXRlbXBsYXRlL2NvbXBvbmVudHMvZ2VuZXJhdGUtbWFpbC1maWxlL2dlbmVyYXRlLW1haWwtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhGLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQWdCLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQVc3RyxNQUFNLE9BQU8seUJBQXlCO0lBNENsQyxZQUNxQixZQUEwQixFQUMxQixlQUFnQyxFQUNoQyxlQUFvRDtRQUZwRCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQXFDO1FBekMvRCxVQUFLLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFDM0Qsa0JBQWEsR0FBNEMsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFHaEcsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFnQyxJQUFJLENBQUMsQ0FBQztRQUN0RSxXQUFNLEdBQUcsSUFB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Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMiBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Z1bmN0aW9uQ29uZmlndXJhdGlvbkNvbXBvbmVudH0gZnJvbSAnQHZhbHRpbW8vcGx1Z2luJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24sIHN3aXRjaE1hcCwgdGFrZSwgdGFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7R2VuZXJhdGVNYWlsRmlsZUNvbmZpZ30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7RnVuY3Rpb25Db25maWd1cmF0aW9uRGF0YX0gZnJvbSAnQHZhbHRpbW8vcGx1Z2luL2xpYi9tb2RlbHMvcGx1Z2luJztcbmltcG9ydCB7TW9kYWxTZXJ2aWNlLCBTZWxlY3RJdGVtfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge0ZyZWVtYXJrZXJUZW1wbGF0ZU1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmFsdGltby1nZW5lcmF0ZS1tYWlsLWZpbGUtY29uZmlndXJhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyYXRlLW1haWwtZmlsZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEdlbmVyYXRlTWFpbEZpbGVDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIEZ1bmN0aW9uQ29uZmlndXJhdGlvbkNvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHNhdmUkITogT2JzZXJ2YWJsZTx2b2lkPjtcbiAgICBASW5wdXQoKSBkaXNhYmxlZCQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIEBJbnB1dCgpIHBsdWdpbklkITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHByZWZpbGxDb25maWd1cmF0aW9uJCE6IE9ic2VydmFibGU8R2VuZXJhdGVNYWlsRmlsZUNvbmZpZz47XG4gICAgQE91dHB1dCgpIHZhbGlkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGNvbmZpZ3VyYXRpb246IEV2ZW50RW1pdHRlcjxGdW5jdGlvbkNvbmZpZ3VyYXRpb25EYXRhPiA9IG5ldyBFdmVudEVtaXR0ZXI8RnVuY3Rpb25Db25maWd1cmF0aW9uRGF0YT4oKTtcblxuICAgIHByaXZhdGUgc2F2ZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1WYWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEdlbmVyYXRlTWFpbEZpbGVDb25maWcgfCBudWxsPihudWxsKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgcmVhZG9ubHkgbG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gICAgcmVhZG9ubHkgbWFpbFRlbXBsYXRlSXRlbXMkOiBPYnNlcnZhYmxlPEFycmF5PFNlbGVjdEl0ZW0+PiA9IHRoaXMubW9kYWxTZXJ2aWNlLm1vZGFsRGF0YSQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHBhcmFtcyA9PlxuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZmluZFByb2Nlc3NEb2N1bWVudERlZmluaXRpb25zQnlQcm9jZXNzRGVmaW5pdGlvbktleShcbiAgICAgICAgICAgICAgICBwYXJhbXM/LnByb2Nlc3NEZWZpbml0aW9uS2V5XG4gICAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIHN3aXRjaE1hcChwcm9jZXNzRG9jdW1lbnREZWZpbml0aW9ucyA9PlxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgb2Yoe2NvbnRlbnQ6IFtdfSksXG4gICAgICAgICAgICAgICAgLi4ucHJvY2Vzc0RvY3VtZW50RGVmaW5pdGlvbnMubWFwKHByb2Nlc3NEb2N1bWVudERlZmluaXRpb24gPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZ2V0QWxsTWFpbFRlbXBsYXRlcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NEb2N1bWVudERlZmluaXRpb24uaWQuZG9jdW1lbnREZWZpbml0aW9uSWQubmFtZVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0pXG4gICAgICAgICksXG4gICAgICAgIG1hcChyZXN1bHRzID0+IHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHRzXG4gICAgICAgICAgICAgICAgLmZsYXRNYXAocmVzdWx0ID0+IHJlc3VsdC5jb250ZW50KVxuICAgICAgICAgICAgICAgIC5tYXAodGVtcGxhdGUgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHRlbXBsYXRlLmtleSxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogdGVtcGxhdGUua2V5LFxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZVNlcnZpY2U6IEZyZWVtYXJrZXJUZW1wbGF0ZU1hbmFnZW1lbnRTZXJ2aWNlXG4gICAgKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlblNhdmVTdWJzY3JpcHRpb24oKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYXZlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGZvcm1WYWx1ZUNoYW5nZShmb3JtVmFsdWU6IEdlbmVyYXRlTWFpbEZpbGVDb25maWcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtVmFsdWUkLm5leHQoZm9ybVZhbHVlKTtcbiAgICAgICAgdGhpcy5oYW5kbGVWYWxpZChmb3JtVmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlVmFsaWQoZm9ybVZhbHVlOiBHZW5lcmF0ZU1haWxGaWxlQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbGlkID0gISEoZm9ybVZhbHVlLm1haWxUZW1wbGF0ZUtleSAmJiBmb3JtVmFsdWUucHJvY2Vzc1ZhcmlhYmxlTmFtZSk7XG5cbiAgICAgICAgdGhpcy52YWxpZCQubmV4dCh2YWxpZCk7XG4gICAgICAgIHRoaXMudmFsaWQuZW1pdCh2YWxpZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuU2F2ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYXZlU3Vic2NyaXB0aW9uID0gdGhpcy5zYXZlJD8uc3Vic2NyaWJlKHNhdmUgPT4ge1xuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5mb3JtVmFsdWUkLCB0aGlzLnZhbGlkJF0pXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChbZm9ybVZhbHVlLCB2YWxpZF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uZW1pdChmb3JtVmFsdWUhKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMiBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ7XG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkJCB8IGFzeW5jLFxuICAgIHByZWZpbGw6IHByZWZpbGxDb25maWd1cmF0aW9uJCA/IChwcmVmaWxsQ29uZmlndXJhdGlvbiQgfCBhc3luYykgOiBudWxsLFxuICAgIG1haWxUZW1wbGF0ZUl0ZW1zOiBtYWlsVGVtcGxhdGVJdGVtcyQgfCBhc3luYyxcbiAgICBsb2FkaW5nOiBsb2FkaW5nJCB8IGFzeW5jLFxuICB9IGFzIG9ic1wiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9icy5sb2FkaW5nID09PSBmYWxzZTsgZWxzZSBsb2FkaW5nXCI+XG4gICAgICAgIDx2LXBhcmFncmFwaCBbbWFyZ2luXT1cInRydWVcIiBbaXRhbGljXT1cInRydWVcIj5cbiAgICAgICAgICAgIHt7ICdnZW5lcmF0ZU1haWxGaWxlRGVzY3JpcHRpb24nIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jIH19XG4gICAgICAgIDwvdi1wYXJhZ3JhcGg+XG4gICAgICAgIDx2LWZvcm0gKHZhbHVlQ2hhbmdlKT1cImZvcm1WYWx1ZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8di1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIm9icy5tYWlsVGVtcGxhdGVJdGVtc1wiXG4gICAgICAgICAgICAgICAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cIm1haWxUZW1wbGF0ZUtleVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInbWFpbFRlbXBsYXRlS2V5JyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdFNlbGVjdGlvbklkXT1cIm9icy5wcmVmaWxsPy5tYWlsVGVtcGxhdGVLZXlcIlxuICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cIiFvYnMubWFpbFRlbXBsYXRlSXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcF09XCInbWFpbFRlbXBsYXRlS2V5VG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICAgICAgPjwvdi1zZWxlY3Q+XG4gICAgICAgICAgICA8di1pbnB1dFxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwicHJvY2Vzc1ZhcmlhYmxlTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncHJvY2Vzc1ZhcmlhYmxlTmFtZScgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdFZhbHVlXT1cIm9icy5wcmVmaWxsPy5wcm9jZXNzVmFyaWFibGVOYW1lIHx8ICdjb250ZW50SWQnXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwXT1cIidwcm9jZXNzVmFyaWFibGVOYW1lVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICAgICAgPjwvdi1pbnB1dD5cbiAgICAgICAgPC92LWZvcm0+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWNvbnRhaW5lclwiPlxuICAgICAgICA8Y2RzLWxvYWRpbmc+PC9jZHMtbG9hZGluZz5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
17
|
+
import { Validators } from '@angular/forms';
|
|
18
|
+
import { CARBON_CONSTANTS } from '@valtimo/components';
|
|
19
|
+
import * as i0 from "@angular/core";
|
|
20
|
+
import * as i1 from "@angular/forms";
|
|
21
|
+
import * as i2 from "@valtimo/components";
|
|
22
|
+
import * as i3 from "@angular/common";
|
|
23
|
+
import * as i4 from "carbon-components-angular";
|
|
24
|
+
import * as i5 from "@ngx-translate/core";
|
|
25
|
+
export class MailTemplateAddEditModalComponent {
|
|
26
|
+
set defaultKeyValue(value) {
|
|
27
|
+
this._defaultKeyValue = value;
|
|
28
|
+
this.setDefaultKeyValue(value);
|
|
29
|
+
}
|
|
30
|
+
get key() {
|
|
31
|
+
const key = this.form?.get('key');
|
|
32
|
+
if (!key?.value) {
|
|
33
|
+
return key;
|
|
34
|
+
}
|
|
35
|
+
key.setValue(this.keyGeneratorService.getUniqueKey(key.value, []));
|
|
36
|
+
return key;
|
|
37
|
+
}
|
|
38
|
+
constructor(fb, keyGeneratorService) {
|
|
39
|
+
this.fb = fb;
|
|
40
|
+
this.keyGeneratorService = keyGeneratorService;
|
|
41
|
+
this.open = false;
|
|
42
|
+
this.type = 'add';
|
|
43
|
+
this.closeEvent = new EventEmitter();
|
|
44
|
+
this.form = this.fb.group({
|
|
45
|
+
key: this.fb.control('', Validators.required),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
ngOnInit() {
|
|
49
|
+
}
|
|
50
|
+
onCancel() {
|
|
51
|
+
this.closeEvent.emit(null);
|
|
52
|
+
this.resetForm();
|
|
53
|
+
}
|
|
54
|
+
onConfirm() {
|
|
55
|
+
if (!this.key) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
this.closeEvent.emit({ key: this.key.value });
|
|
59
|
+
this.resetForm();
|
|
60
|
+
}
|
|
61
|
+
setDefaultKeyValue(value) {
|
|
62
|
+
this.key.setValue(value);
|
|
63
|
+
}
|
|
64
|
+
resetForm() {
|
|
65
|
+
setTimeout(() => {
|
|
66
|
+
this.form.reset();
|
|
67
|
+
if (this.type === 'edit') {
|
|
68
|
+
this.setDefaultKeyValue(this._defaultKeyValue);
|
|
69
|
+
}
|
|
70
|
+
}, CARBON_CONSTANTS.modalAnimationMs);
|
|
71
|
+
}
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MailTemplateAddEditModalComponent, deps: [{ token: i1.FormBuilder }, { token: i2.KeyGeneratorService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MailTemplateAddEditModalComponent, 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: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i4.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "component", type: i4.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
74
|
+
}
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MailTemplateAddEditModalComponent, decorators: [{
|
|
76
|
+
type: Component,
|
|
77
|
+
args: [{ selector: 'valtimo-mail-template-add-edit-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<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" }]
|
|
78
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.KeyGeneratorService }], propDecorators: { open: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], type: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], defaultKeyValue: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], closeEvent: [{
|
|
85
|
+
type: Output
|
|
86
|
+
}] } });
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbC10ZW1wbGF0ZS1hZGQtZWRpdC1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2ZyZWVtYXJrZXIvc3JjL2xpYi9wbHVnaW5zL21haWwtdGVtcGxhdGUvY29tcG9uZW50cy9tYWlsLXRlbXBsYXRlLWFkZC1lZGl0LW1vZGFsL21haWwtdGVtcGxhdGUtYWRkLWVkaXQtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9mcmVlbWFya2VyL3NyYy9saWIvcGx1Z2lucy9tYWlsLXRlbXBsYXRlL2NvbXBvbmVudHMvbWFpbC10ZW1wbGF0ZS1hZGQtZWRpdC1tb2RhbC9tYWlsLXRlbXBsYXRlLWFkZC1lZGl0LW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sR0FBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQWMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsT0FBTyxFQUFDLGdCQUFnQixFQUFzQixNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBTzFFLE1BQU0sT0FBTyxpQ0FBaUM7SUFJMUMsSUFBYSxlQUFlLENBQUMsS0FBYTtRQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBVUQsSUFBVyxHQUFHO1FBQ1YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNkLE9BQU8sR0FBRyxDQUFBO1FBQ2QsQ0FBQztRQUNELEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkUsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQsWUFDcUIsRUFBZSxFQUNmLG1CQUF3QztRQUR4QyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2Ysd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQTNCcEQsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLFNBQUksR0FBMEIsS0FBSyxDQUFDO1FBT25DLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBMEMsQ0FBQztRQUUzRSxTQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ2hELENBQUMsQ0FBQztJQWlCSCxDQUFDO0lBRU0sUUFBUTtJQUNmLENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxTQUFTO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNaLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBYTtRQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU8sU0FBUztRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2xCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDTCxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMxQyxDQUFDOytHQTVEUSxpQ0FBaUM7bUdBQWpDLGlDQUFpQywrTEMxQjlDLG15REE2REE7OzRGRG5DYSxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0ksc0NBQXNDLG1CQUUvQix1QkFBdUIsQ0FBQyxNQUFNO2tIQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVPLGVBQWU7c0JBQTNCLEtBQUs7Z0JBS0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VGVtcGxhdGVNZXRhZGF0YU1vZGFsfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtDQVJCT05fQ09OU1RBTlRTLCBLZXlHZW5lcmF0b3JTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2YWx0aW1vLW1haWwtdGVtcGxhdGUtYWRkLWVkaXQtbW9kYWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYWlsLXRlbXBsYXRlLWFkZC1lZGl0LW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWFpbFRlbXBsYXRlQWRkRWRpdE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBvcGVuID0gZmFsc2U7XG4gICAgQElucHV0KCkgdHlwZTogVGVtcGxhdGVNZXRhZGF0YU1vZGFsID0gJ2FkZCc7XG5cbiAgICBASW5wdXQoKSBzZXQgZGVmYXVsdEtleVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZGVmYXVsdEtleVZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0RGVmYXVsdEtleVZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgY2xvc2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBrZXk6IHN0cmluZzsgbWV0YWRhdGE/OiBhbnkgfSB8IG51bGw+KCk7XG5cbiAgICBwdWJsaWMgZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICBrZXk6IHRoaXMuZmIuY29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgfSk7XG5cbiAgICBwcml2YXRlIF9kZWZhdWx0S2V5VmFsdWUhOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgZ2V0IGtleSgpIHtcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5mb3JtPy5nZXQoJ2tleScpO1xuICAgICAgICBpZiAoIWtleT8udmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBrZXlcbiAgICAgICAgfVxuICAgICAgICBrZXkuc2V0VmFsdWUodGhpcy5rZXlHZW5lcmF0b3JTZXJ2aWNlLmdldFVuaXF1ZUtleShrZXkudmFsdWUsIFtdKSk7XG4gICAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGtleUdlbmVyYXRvclNlcnZpY2U6IEtleUdlbmVyYXRvclNlcnZpY2UsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNhbmNlbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQobnVsbCk7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ29uZmlybSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmtleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQoe2tleTogdGhpcy5rZXkudmFsdWV9KTtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldERlZmF1bHRLZXlWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMua2V5LnNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0Rm9ybSgpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdlZGl0Jykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdEtleVZhbHVlKHRoaXMuX2RlZmF1bHRLZXlWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIENBUkJPTl9DT05TVEFOVFMubW9kYWxBbmltYXRpb25Ncyk7XG4gICAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48Y2RzLW1vZGFsXG4gICpuZ0lmPVwie1xuICAgIGlzQWRkOiB0eXBlID09PSAnYWRkJ1xuICB9IGFzIHZhcnNcIlxuICBbb3Blbl09XCJvcGVuXCJcbiAgc2hvd0Zvb3Rlcj1cInRydWVcIlxuICBbdGl0bGVdPVwidmFycy50aXRsZVwiXG4gIHZhbHRpbW9DZHNNb2RhbFxuPlxuICA8Y2RzLW1vZGFsLWhlYWRlciBbc2hvd0Nsb3NlQnV0dG9uXT1cInRydWVcIiAoY2xvc2VTZWxlY3QpPVwib25DYW5jZWwoKVwiPlxuICAgIDxoMyBjZHNNb2RhbEhlYWRlckhlYWRpbmc+XG4gICAgICB7e1xuICAgICAgICB2YXJzLmlzQWRkXG4gICAgICAgICAgPyAnQWRkJ1xuICAgICAgICAgIDogJ0VkaXQnXG4gICAgICB9fVxuICAgIDwvaDM+XG4gIDwvY2RzLW1vZGFsLWhlYWRlcj5cblxuICA8c2VjdGlvbiBjZHNNb2RhbENvbnRlbnQ+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICA8Y2RzLWxhYmVsIFtpbnZhbGlkXT1cImtleS5kaXJ0eSAmJiBrZXkuaW52YWxpZFwiPlxuICAgICAgICB7eyAnS2V5JyB9fVxuXG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImtleVwiXG4gICAgICAgICAgY2RzVGV4dFxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2tleScgfX1cIlxuICAgICAgICAgIFthdHRyLm1vZGFsLXByaW1hcnktZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgICAgW2ludmFsaWRdPVwia2V5LmRpcnR5ICYmIGtleS5pbnZhbGlkXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2RzLWxhYmVsPlxuICAgIDwvZm9ybT5cbiAgPC9zZWN0aW9uPlxuXG4gIDxjZHMtbW9kYWwtZm9vdGVyPlxuICAgIDxidXR0b24gY2RzQnV0dG9uPVwiZ2hvc3RcIiAoY2xpY2spPVwib25DYW5jZWwoKVwiPlxuICAgICAge3sgJ2ludGVyZmFjZS5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJ0aGlzLmZvcm0uaW52YWxpZFwiIChjbGljayk9XCJvbkNvbmZpcm0oKVwiIGNkc0J1dHRvbj1cInByaW1hcnlcIj5cbiAgICAgIHt7IHZhcnMuaXNBZGQgPyAoJ2ludGVyZmFjZS5jcmVhdGUnIHwgdHJhbnNsYXRlKSA6ICgnaW50ZXJmYWNlLnNhdmUnIHwgdHJhbnNsYXRlKSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Nkcy1tb2RhbC1mb290ZXI+XG48L2Nkcy1tb2RhbD5cbiJdfQ==
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2022 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
17
|
+
import { BehaviorSubject, combineLatest, take } from 'rxjs';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "@angular/common";
|
|
20
|
+
import * as i2 from "@valtimo/components";
|
|
21
|
+
import * as i3 from "@valtimo/plugin";
|
|
22
|
+
export class MailTemplateConfigurationComponent {
|
|
23
|
+
constructor() {
|
|
24
|
+
this.valid = new EventEmitter();
|
|
25
|
+
this.configuration = new EventEmitter();
|
|
26
|
+
this.formValue$ = new BehaviorSubject(null);
|
|
27
|
+
this.valid$ = new BehaviorSubject(false);
|
|
28
|
+
}
|
|
29
|
+
ngOnInit() {
|
|
30
|
+
this.openSaveSubscription();
|
|
31
|
+
}
|
|
32
|
+
ngOnDestroy() {
|
|
33
|
+
this.saveSubscription?.unsubscribe();
|
|
34
|
+
}
|
|
35
|
+
formValueChange(formValue) {
|
|
36
|
+
this.formValue$.next(formValue);
|
|
37
|
+
this.handleValid(formValue);
|
|
38
|
+
}
|
|
39
|
+
handleValid(formValue) {
|
|
40
|
+
const valid = !!(formValue.configurationTitle);
|
|
41
|
+
this.valid$.next(valid);
|
|
42
|
+
this.valid.emit(valid);
|
|
43
|
+
}
|
|
44
|
+
openSaveSubscription() {
|
|
45
|
+
this.saveSubscription = this.save$?.subscribe(_ => {
|
|
46
|
+
combineLatest([this.formValue$, this.valid$])
|
|
47
|
+
.pipe(take(1))
|
|
48
|
+
.subscribe(([formValue, valid]) => {
|
|
49
|
+
if (valid) {
|
|
50
|
+
this.configuration.emit(formValue);
|
|
51
|
+
this.injectCaseTab();
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
injectCaseTab() {
|
|
57
|
+
}
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MailTemplateConfigurationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
59
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MailTemplateConfigurationComponent, 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: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2.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"], outputs: ["valueChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.PluginTranslatePipe, name: "pluginTranslate" }] }); }
|
|
60
|
+
}
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MailTemplateConfigurationComponent, decorators: [{
|
|
62
|
+
type: Component,
|
|
63
|
+
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" }]
|
|
64
|
+
}], ctorParameters: () => [], propDecorators: { save$: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], disabled$: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], pluginId: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], prefillConfiguration$: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], valid: [{
|
|
73
|
+
type: Output
|
|
74
|
+
}], configuration: [{
|
|
75
|
+
type: Output
|
|
76
|
+
}] } });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbC10ZW1wbGF0ZS1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZnJlZW1hcmtlci9zcmMvbGliL3BsdWdpbnMvbWFpbC10ZW1wbGF0ZS9jb21wb25lbnRzL21haWwtdGVtcGxhdGUtY29uZmlndXJhdGlvbi9tYWlsLXRlbXBsYXRlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9mcmVlbWFya2VyL3NyYy9saWIvcGx1Z2lucy9tYWlsLXRlbXBsYXRlL2NvbXBvbmVudHMvbWFpbC10ZW1wbGF0ZS1jb25maWd1cmF0aW9uL21haWwtdGVtcGxhdGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhGLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFpQyxJQUFJLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBT3pGLE1BQU0sT0FBTyxrQ0FBa0M7SUFVN0M7UUFIVSxVQUFLLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFDM0Qsa0JBQWEsR0FBMEMsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFNNUYsZUFBVSxHQUFHLElBQUksZUFBZSxDQUE0QixJQUFJLENBQUMsQ0FBQztRQUNsRSxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFKM0QsQ0FBQztJQU1KLFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQTZCO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxTQUE2QjtRQUMvQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoRCxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDYixTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLEtBQUssRUFBRSxDQUFDO29CQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVUsQ0FBQyxDQUFDO29CQUNwQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3ZCLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGFBQWE7SUFDckIsQ0FBQzsrR0FuRFUsa0NBQWtDO21HQUFsQyxrQ0FBa0Msa1FDekIvQyx1d0NBb0NBOzs0RkRYYSxrQ0FBa0M7a0JBSjlDLFNBQVM7K0JBQ0UscUNBQXFDO3dEQU10QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIyIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGx1Z2luQ29uZmlndXJhdGlvbkNvbXBvbmVudCwgUGx1Z2luQ29uZmlndXJhdGlvbkRhdGF9IGZyb20gJ0B2YWx0aW1vL3BsdWdpbic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIHRha2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtNYWlsVGVtcGxhdGVDb25maWd9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tbWFpbC10ZW1wbGF0ZS1jb25maWd1cmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21haWwtdGVtcGxhdGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1haWxUZW1wbGF0ZUNvbmZpZ3VyYXRpb25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBQbHVnaW5Db25maWd1cmF0aW9uQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKSBzYXZlJCE6IE9ic2VydmFibGU8dm9pZD47XG4gIEBJbnB1dCgpIGRpc2FibGVkJCE6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIEBJbnB1dCgpIHBsdWdpbklkITogc3RyaW5nO1xuICBASW5wdXQoKSBwcmVmaWxsQ29uZmlndXJhdGlvbiQhOiBPYnNlcnZhYmxlPE1haWxUZW1wbGF0ZUNvbmZpZz47XG4gIEBPdXRwdXQoKSB2YWxpZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgY29uZmlndXJhdGlvbjogRXZlbnRFbWl0dGVyPFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhPiA9IG5ldyBFdmVudEVtaXR0ZXI8UGx1Z2luQ29uZmlndXJhdGlvbkRhdGE+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICkge31cblxuICBwcml2YXRlIHNhdmVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybVZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFpbFRlbXBsYXRlQ29uZmlnIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsaWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuU2F2ZVN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zYXZlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZm9ybVZhbHVlQ2hhbmdlKGZvcm1WYWx1ZTogTWFpbFRlbXBsYXRlQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtVmFsdWUkLm5leHQoZm9ybVZhbHVlKTtcbiAgICB0aGlzLmhhbmRsZVZhbGlkKGZvcm1WYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVZhbGlkKGZvcm1WYWx1ZTogTWFpbFRlbXBsYXRlQ29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgdmFsaWQgPSAhIShmb3JtVmFsdWUuY29uZmlndXJhdGlvblRpdGxlKTtcblxuICAgIHRoaXMudmFsaWQkLm5leHQodmFsaWQpO1xuICAgIHRoaXMudmFsaWQuZW1pdCh2YWxpZCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TYXZlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbiA9IHRoaXMuc2F2ZSQ/LnN1YnNjcmliZShfID0+IHtcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuZm9ybVZhbHVlJCwgdGhpcy52YWxpZCRdKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKChbZm9ybVZhbHVlLCB2YWxpZF0pID0+IHtcbiAgICAgICAgICBpZiAodmFsaWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5lbWl0KGZvcm1WYWx1ZSEpO1xuICAgICAgICAgICAgdGhpcy5pbmplY3RDYXNlVGFiKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0Q2FzZVRhYigpIHtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjIgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48di1mb3JtXG4gICh2YWx1ZUNoYW5nZSk9XCJmb3JtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICpuZ0lmPVwie1xuICAgIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luYyxcbiAgICBwcmVmaWxsOiBwcmVmaWxsQ29uZmlndXJhdGlvbiQgPyAocHJlZmlsbENvbmZpZ3VyYXRpb24kIHwgYXN5bmMpIDogbnVsbFxuICB9IGFzIG9ic1wiXG4+XG4gIDx2LWlucHV0XG4gICAgbmFtZT1cImNvbmZpZ3VyYXRpb25UaXRsZVwiXG4gICAgW3RpdGxlXT1cIidjb25maWd1cmF0aW9uVGl0bGUnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgIFtkZWZhdWx0VmFsdWVdPVwib2JzLnByZWZpbGw/LmNvbmZpZ3VyYXRpb25UaXRsZVwiXG4gICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgIFt0b29sdGlwXT1cIidjb25maWd1cmF0aW9uVGl0bGVUb29sdGlwJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgW3dpZHRoUHhdPVwiMzUwXCJcbiAgICBwbGFjZWhvbGRlcj1cIk1haWwgVGVtcGxhdGUgUGx1Z2luXCJcbiAgPlxuICA8L3YtaW5wdXQ+XG48L3YtZm9ybT5cbiJdfQ==
|