@messaia/cdk-cms 18.2.3 → 19.0.0-rc01

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.
Files changed (50) hide show
  1. package/fesm2022/messaia-cdk-cms.mjs +81 -80
  2. package/fesm2022/messaia-cdk-cms.mjs.map +1 -1
  3. package/lib/comnponents/document-form-base/document-form-base.component.d.ts +1 -1
  4. package/package.json +4 -6
  5. package/esm2022/lib/cms-routing.module.mjs +0 -90
  6. package/esm2022/lib/cms.module.mjs +0 -159
  7. package/esm2022/lib/comnponents/content-form/content-form.component.mjs +0 -285
  8. package/esm2022/lib/comnponents/document-dialog/document-dialog.component.mjs +0 -57
  9. package/esm2022/lib/comnponents/document-form-base/document-form-base.component.mjs +0 -95
  10. package/esm2022/lib/comnponents/template-form/template-form.component.mjs +0 -169
  11. package/esm2022/lib/comnponents/template-preview-dialog/template-preview-dialog.component.mjs +0 -201
  12. package/esm2022/lib/enums/content-type.mjs +0 -6
  13. package/esm2022/lib/enums/faq-scope.mjs +0 -6
  14. package/esm2022/lib/enums/template-type.mjs +0 -6
  15. package/esm2022/lib/enums/wrap-tag.mjs +0 -9
  16. package/esm2022/lib/models/cms-settings.mjs +0 -37
  17. package/esm2022/lib/models/content-client.mjs +0 -39
  18. package/esm2022/lib/models/content-department.mjs +0 -39
  19. package/esm2022/lib/models/content-variable-client.mjs +0 -39
  20. package/esm2022/lib/models/content-variable-department.mjs +0 -39
  21. package/esm2022/lib/models/content-variable.mjs +0 -129
  22. package/esm2022/lib/models/content.mjs +0 -213
  23. package/esm2022/lib/models/document.mjs +0 -83
  24. package/esm2022/lib/models/faq-client.mjs +0 -39
  25. package/esm2022/lib/models/faq-department.mjs +0 -39
  26. package/esm2022/lib/models/faq.mjs +0 -164
  27. package/esm2022/lib/models/slider.mjs +0 -80
  28. package/esm2022/lib/models/template-client.mjs +0 -39
  29. package/esm2022/lib/models/template-department.mjs +0 -39
  30. package/esm2022/lib/models/template-preview.mjs +0 -46
  31. package/esm2022/lib/models/template.mjs +0 -208
  32. package/esm2022/lib/public-api.mjs +0 -35
  33. package/esm2022/lib/resolvers/document-list-projection.resolve.mjs +0 -49
  34. package/esm2022/lib/resolvers/excluded-columns.resolve.mjs +0 -22
  35. package/esm2022/lib/resolvers/excluded-fields.resolve.mjs +0 -22
  36. package/esm2022/lib/resolvers/form-includes.resolve.mjs +0 -49
  37. package/esm2022/lib/resolvers/form-validation.resolve.mjs +0 -22
  38. package/esm2022/lib/resolvers/list-projection.resolve.mjs +0 -49
  39. package/esm2022/lib/resolvers/settings.resolve.mjs +0 -24
  40. package/esm2022/lib/services/content-variable.service.mjs +0 -27
  41. package/esm2022/lib/services/content.service.mjs +0 -34
  42. package/esm2022/lib/services/document.generic-service.mjs +0 -11
  43. package/esm2022/lib/services/document.service`.mjs +0 -25
  44. package/esm2022/lib/services/faq.service.mjs +0 -18
  45. package/esm2022/lib/services/slider.service.mjs +0 -18
  46. package/esm2022/lib/services/template-preview.service.mjs +0 -18
  47. package/esm2022/lib/services/template.service.mjs +0 -18
  48. package/esm2022/lib/templates/document-form.template.mjs +0 -18
  49. package/esm2022/messaia-cdk-cms.mjs +0 -5
  50. package/esm2022/public_api.mjs +0 -5
@@ -1,169 +0,0 @@
1
- import { ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';
2
- import { MatDialog } from '@angular/material/dialog';
3
- import { ActivatedRoute } from '@angular/router';
4
- import { FileService, GenericReactiveFormComponent } from '@messaia/cdk';
5
- import 'codemirror/addon/edit/closetag';
6
- import 'codemirror/addon/edit/matchbrackets';
7
- import 'codemirror/addon/selection/active-line';
8
- import 'codemirror/mode/htmlmixed/htmlmixed';
9
- import 'codemirror/mode/javascript/javascript';
10
- import { saveAs } from 'file-saver';
11
- import { TemplateType } from '../../enums/template-type';
12
- import { CmsSettings } from '../../models/cms-settings';
13
- import { Template } from '../../models/template';
14
- import { TemplatePreview } from '../../models/template-preview';
15
- import { TemplateService } from '../../services/template.service';
16
- import { TemplatePreviewDialogComponent } from '../template-preview-dialog/template-preview-dialog.component';
17
- import * as i0 from "@angular/core";
18
- import * as i1 from "../../services/template.service";
19
- import * as i2 from "@messaia/cdk";
20
- import * as i3 from "@angular/material/dialog";
21
- import * as i4 from "@angular/router";
22
- import * as i5 from "@angular/common";
23
- import * as i6 from "@ctrl/ngx-codemirror";
24
- import * as i7 from "@angular/forms";
25
- import * as i8 from "@angular/material/expansion";
26
- import * as i9 from "@angular/material/button";
27
- import * as i10 from "@messaia/cdk-base";
28
- export class TemplateFormComponent extends GenericReactiveFormComponent {
29
- service;
30
- fileService;
31
- dialog;
32
- route;
33
- changeDetectorRef;
34
- /**
35
- * Template type
36
- */
37
- TemplateType = TemplateType;
38
- /**
39
- * settings: CmsSettings
40
- */
41
- settings = new CmsSettings();
42
- /**
43
- * Gets the attachments control
44
- */
45
- get attachmentsControl() { return this.form.controls.attachments; }
46
- /**
47
- * Editor options
48
- */
49
- editorOptions = {
50
- lineNumbers: true,
51
- theme: 'material',
52
- autoCloseTags: true,
53
- styleActiveLine: true,
54
- mode: 'text/html',
55
- profile: 'xhtml'
56
- };
57
- /**
58
- * Editor options
59
- */
60
- jsonEditorOptions = {
61
- lineNumbers: true,
62
- theme: 'material',
63
- autoCloseTags: true,
64
- styleActiveLine: true,
65
- mode: {
66
- name: "javascript",
67
- json: true,
68
- statementIndent: 2
69
- },
70
- profile: 'xhtml',
71
- lineWrapping: true,
72
- indentWithTabs: false,
73
- tabSize: 2
74
- };
75
- /**
76
- * Constructor
77
- */
78
- constructor(service, fileService, dialog, route, changeDetectorRef) {
79
- super(Template, service, route, changeDetectorRef);
80
- this.service = service;
81
- this.fileService = fileService;
82
- this.dialog = dialog;
83
- this.route = route;
84
- this.changeDetectorRef = changeDetectorRef;
85
- this.settings = this.getService(CmsSettings);
86
- if (this.settings?.multitenantable || this.settings?.multiClients) {
87
- this.include('ClientJoins', true);
88
- }
89
- if (this.settings?.multitenantable || this.settings?.multiDepartments) {
90
- this.include('DepartmentJoins', true);
91
- }
92
- }
93
- /**
94
- * Removes a attachment
95
- * @param attachment
96
- */
97
- removeAttachment(attachment) {
98
- if (Array.isArray(this.item?.attachments)) {
99
- var index = this.attachmentsControl.value.indexOf(attachment, 0);
100
- if (index > -1) {
101
- this.dialogService.openConfirm({
102
- message: 'Möchten Sie diesen Anhang wirklich löschen?',
103
- title: 'Löschen bestätigen',
104
- cancelButton: $localize `:@@cancel:Cancel`,
105
- acceptButton: $localize `:@@yes:Yes`,
106
- }).afterClosed().subscribe((accept) => {
107
- if (accept) {
108
- this.attachmentsControl.value.splice(index, 1);
109
- this.attachmentsControl.updateValueAndValidity();
110
- this.attachmentsControl.markAsDirty();
111
- }
112
- });
113
- }
114
- }
115
- }
116
- /**
117
- * Uploads a attachment file
118
- * @param file
119
- */
120
- uploadAttachment($event) {
121
- let file = (($event?.target).files ?? [])[0];
122
- if (file != null) {
123
- // this.fileService.upload(file, `upload`, { clientId: this.item.clientId, path: `${this.item.clientId ? '' : 'common/'}docs` }).subscribe(event => {
124
- // if (event.type === HttpEventType.UploadProgress) {
125
- // /* Calculate the progress percentage */
126
- // const percentDone = Math.round(100 * event.loaded / event.total);
127
- // /* Pass the percentage into the progress-stream */
128
- // console.info(percentDone);
129
- // } else if (event instanceof HttpResponse) {
130
- // /* Add our attachments */
131
- // this.attachmentsControl.setValue([...this.attachmentsControl.value, <Attachment>event.body]);
132
- // this.attachmentsControl.updateValueAndValidity();
133
- // this.attachmentsControl.markAsDirty();
134
- // }
135
- // });
136
- }
137
- }
138
- /**
139
- * Downloads a attachment
140
- * @param attachment
141
- */
142
- downloadAttachment(attachment) {
143
- if (attachment.id) {
144
- this.service.download(`downloadAttachment/${attachment.id}`).subscribe(x => {
145
- saveAs(new Blob([x.data], { type: '' }), x.filename);
146
- });
147
- }
148
- }
149
- /**
150
- * Shows template preview
151
- */
152
- showPreview() {
153
- this.dialog.open(TemplatePreviewDialogComponent, {
154
- width: this.item?.type == TemplateType.Pdf ? '1020px' : '920px',
155
- data: new TemplatePreview({
156
- templateId: this.item?.id,
157
- type: this.item?.type
158
- }),
159
- panelClass: ['dialog-full-screen']
160
- }).afterClosed().subscribe();
161
- }
162
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TemplateFormComponent, deps: [{ token: i1.TemplateService }, { token: i2.FileService }, { token: i3.MatDialog }, { token: i4.ActivatedRoute }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
163
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: TemplateFormComponent, selector: "app-template-form", usesInheritance: true, ngImport: i0, template: "<vd-layout-nav color=\"primary\" [backNavigationRoute]=\"listRoute\" toolbarTitle=\"Template\" i18n-toolbarTitle=\"@@template\" [editMode]=\"isEditMode\" [actions]=\"toolbarActions\" [data]=\"item\" [context]=\"this\">\r\n\t<form *ngIf=\"form\" [formGroup]=\"form\" novalidate (ngSubmit)=\"save()\">\r\n\t\t<vd-layout-card-over class=\"accordion\" cardWidth=\"70\" color=\"primary\" flex>\r\n\t\t\t<mat-accordion [multi]=\"!isEditMode\">\r\n\t\t\t\t<!-- #region Details -->\r\n\t\t\t\t<mat-expansion-panel expanded=\"true\" id=\"details\">\r\n\t\t\t\t\t<mat-expansion-panel-header>\r\n\t\t\t\t\t\t<mat-panel-title i18n=\"@@details\">Details</mat-panel-title>\r\n\t\t\t\t\t</mat-expansion-panel-header>\r\n\t\t\t\t\t<ng-template matExpansionPanelContent>\r\n\t\t\t\t\t\t<vd-generic-form [formGroup]=\"form\" [fieldGroups]=\"fieldGroups\" [fieldSets]=\"['details']\" [context]=\"this\"></vd-generic-form>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t<mat-action-row>\r\n\t\t\t\t\t\t<button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"apply()\" *ngIf=\"isEditMode\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n\t\t\t\t\t\t<span flex></span>\r\n\t\t\t\t\t</mat-action-row>\r\n\t\t\t\t</mat-expansion-panel>\r\n\t\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t\t<!-- #region Content -->\r\n\t\t\t\t<mat-expansion-panel id=\"content\">\r\n\t\t\t\t\t<mat-expansion-panel-header>\r\n\t\t\t\t\t\t<mat-panel-title>\r\n\t\t\t\t\t\t\t<span i18n=\"@@content\">Content</span>\r\n\t\t\t\t\t\t</mat-panel-title>\r\n\t\t\t\t\t</mat-expansion-panel-header>\r\n\t\t\t\t\t<ng-template matExpansionPanelContent>\r\n\t\t\t\t\t\t<div layout-margin>\r\n\t\t\t\t\t\t\t<ngx-codemirror formControlName=\"content\" rows=\"160\" [options]=\"editorOptions\"></ngx-codemirror>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t<mat-action-row>\r\n\t\t\t\t\t\t<button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"apply()\" *ngIf=\"isEditMode\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"showPreview()\" *ngIf=\"isEditMode\" [disabled]=\"isSaving || !form.pristine\" i18n=\"@@preview\">Preview</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n\t\t\t\t\t\t<span flex></span>\r\n\t\t\t\t\t</mat-action-row>\r\n\t\t\t\t</mat-expansion-panel>\r\n\t\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t\t<!-- #region Content -->\r\n\t\t\t\t<mat-expansion-panel id=\"testData\">\r\n\t\t\t\t\t<mat-expansion-panel-header>\r\n\t\t\t\t\t\t<mat-panel-title>\r\n\t\t\t\t\t\t\t<span i18n=\"@@testData\">Test Data</span>\r\n\t\t\t\t\t\t</mat-panel-title>\r\n\t\t\t\t\t</mat-expansion-panel-header>\r\n\t\t\t\t\t<ng-template matExpansionPanelContent>\r\n\t\t\t\t\t\t<div layout-margin>\r\n\t\t\t\t\t\t\t<ngx-codemirror formControlName=\"dummyData\" rows=\"120\" [options]=\"jsonEditorOptions\"></ngx-codemirror>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t<mat-action-row>\r\n\t\t\t\t\t\t<button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"apply()\" *ngIf=\"isEditMode\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"showPreview()\" *ngIf=\"isEditMode\" [disabled]=\"isSaving || !form.pristine\" i18n=\"@@preview\">Preview</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n\t\t\t\t\t\t<span flex></span>\r\n\t\t\t\t\t</mat-action-row>\r\n\t\t\t\t</mat-expansion-panel>\r\n\t\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t\t<!-- #region Audit -->\r\n\t\t\t\t<mat-expansion-panel id=\"audit\" *ngIf=\"isEditMode\">\r\n\t\t\t\t\t<mat-expansion-panel-header>\r\n\t\t\t\t\t\t<mat-panel-title>\r\n\t\t\t\t\t\t\t<span i18n=\"@@audit\">Audit</span>\r\n\t\t\t\t\t\t</mat-panel-title>\r\n\t\t\t\t\t</mat-expansion-panel-header>\r\n\t\t\t\t\t<ng-template matExpansionPanelContent>\r\n\t\t\t\t\t\t<vd-audit [entity]=\"item\"> </vd-audit>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t<mat-action-row>\r\n\t\t\t\t\t\t<button type=\"button\" mat-flat-button color=\"accent\" (click)=\"back()\" i18n=\"@@close\">Close</button>\r\n\t\t\t\t\t\t<span flex></span>\r\n\t\t\t\t\t</mat-action-row>\r\n\t\t\t\t</mat-expansion-panel>\r\n\t\t\t\t<!-- #endregion -->\r\n\t\t\t</mat-accordion>\r\n\t\t</vd-layout-card-over>\r\n\t</form>\r\n</vd-layout-nav>", styles: ["codemirror{width:100%}.CodeMirror{height:500px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.CodemirrorComponent, selector: "ngx-codemirror", inputs: ["className", "name", "autoFocus", "options", "preserveScrollPosition"], outputs: ["cursorActivity", "focusChange", "scroll", "drop", "codeMirrorLoaded"] }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.AsyncValidationDirective, selector: "[ngModel],[formControlName],[formControl]", inputs: ["async"] }, { kind: "directive", type: i2.RxwebFormDirective, selector: "[formGroup],[rxwebForm]", inputs: ["formGroup", "rxwebForm"] }, { kind: "directive", type: i2.RxFormControlDirective, selector: "[ngModel],[formControlName],[formControl]", inputs: ["rxalpha", "rxalphaNumeric", "rxascii", "rxcompare", "rxcompose", "rxcontains", "rxcreditCard", "rxdataUri", "rxdifferent", "rxdigit", "rxemail", "rxendsWith", "rxeven", "rxextension", "rxfactor", "rxfileSize", "rxgreaterThanEqualTo", "rxgreaterThan", "rxhexColor", "rxjson", "rxlatitude", "rxlatLong", "rxleapYear", "rxlessThan", "rxlessThanEqualTo", "rxlongitude", "rxlowerCase", "rxmac", "rxmaxDate", "rxmaxLength", "rxmaxNumber", "rxminDate", "rxminLength", "rxminNumber", "rxnumeric", "rxodd", "rxpassword", "rxport", "rxprimeNumber", "rxrequired", "rxrange", "rxrule", "rxstartsWith", "rxtime", "rxupperCase", "rxurl", "rxunique", "rxnotEmpty", "rxcusip", "rxgrid", "rxdate"] }, { kind: "directive", type: i8.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i8.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: i8.MatExpansionPanelActionRow, selector: "mat-action-row" }, { kind: "component", type: i8.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i8.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i8.MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.VdLayoutNavComponent, selector: "vd-layout-nav", inputs: ["toolbarTitle", "editMode", "actions", "data", "context", "icon", "logo", "color", "hideToggle", "backNavigationRoute", "navigationRoute"], outputs: ["reload"] }, { kind: "component", type: i2.VdLayoutCardOverComponent, selector: "vd-layout-card-over", inputs: ["cardTitle", "cardSubtitle", "cardWidth", "color"] }, { kind: "directive", type: i2.EmptyStringResetDirective, selector: "[ngModel],[formControlName],[formControl]" }, { kind: "directive", type: i2.NativeElementInjectorDirective, selector: "[ngModel], [formControl], [formControlName]" }, { kind: "component", type: i2.VdGenericFormComponent, selector: "vd-generic-form", inputs: ["formGroup", "classType", "formDefinition", "fieldGroups", "groupName", "fieldSets", "context", "debugValue", "readonly", "separatorKeysCodes"] }, { kind: "component", type: i10.VdAuditComponent, selector: "vd-audit", inputs: ["entity"] }], encapsulation: i0.ViewEncapsulation.None });
164
- }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TemplateFormComponent, decorators: [{
166
- type: Component,
167
- args: [{ selector: 'app-template-form', encapsulation: ViewEncapsulation.None, template: "<vd-layout-nav color=\"primary\" [backNavigationRoute]=\"listRoute\" toolbarTitle=\"Template\" i18n-toolbarTitle=\"@@template\" [editMode]=\"isEditMode\" [actions]=\"toolbarActions\" [data]=\"item\" [context]=\"this\">\r\n\t<form *ngIf=\"form\" [formGroup]=\"form\" novalidate (ngSubmit)=\"save()\">\r\n\t\t<vd-layout-card-over class=\"accordion\" cardWidth=\"70\" color=\"primary\" flex>\r\n\t\t\t<mat-accordion [multi]=\"!isEditMode\">\r\n\t\t\t\t<!-- #region Details -->\r\n\t\t\t\t<mat-expansion-panel expanded=\"true\" id=\"details\">\r\n\t\t\t\t\t<mat-expansion-panel-header>\r\n\t\t\t\t\t\t<mat-panel-title i18n=\"@@details\">Details</mat-panel-title>\r\n\t\t\t\t\t</mat-expansion-panel-header>\r\n\t\t\t\t\t<ng-template matExpansionPanelContent>\r\n\t\t\t\t\t\t<vd-generic-form [formGroup]=\"form\" [fieldGroups]=\"fieldGroups\" [fieldSets]=\"['details']\" [context]=\"this\"></vd-generic-form>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t<mat-action-row>\r\n\t\t\t\t\t\t<button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"apply()\" *ngIf=\"isEditMode\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n\t\t\t\t\t\t<span flex></span>\r\n\t\t\t\t\t</mat-action-row>\r\n\t\t\t\t</mat-expansion-panel>\r\n\t\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t\t<!-- #region Content -->\r\n\t\t\t\t<mat-expansion-panel id=\"content\">\r\n\t\t\t\t\t<mat-expansion-panel-header>\r\n\t\t\t\t\t\t<mat-panel-title>\r\n\t\t\t\t\t\t\t<span i18n=\"@@content\">Content</span>\r\n\t\t\t\t\t\t</mat-panel-title>\r\n\t\t\t\t\t</mat-expansion-panel-header>\r\n\t\t\t\t\t<ng-template matExpansionPanelContent>\r\n\t\t\t\t\t\t<div layout-margin>\r\n\t\t\t\t\t\t\t<ngx-codemirror formControlName=\"content\" rows=\"160\" [options]=\"editorOptions\"></ngx-codemirror>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t<mat-action-row>\r\n\t\t\t\t\t\t<button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"apply()\" *ngIf=\"isEditMode\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"showPreview()\" *ngIf=\"isEditMode\" [disabled]=\"isSaving || !form.pristine\" i18n=\"@@preview\">Preview</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n\t\t\t\t\t\t<span flex></span>\r\n\t\t\t\t\t</mat-action-row>\r\n\t\t\t\t</mat-expansion-panel>\r\n\t\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t\t<!-- #region Content -->\r\n\t\t\t\t<mat-expansion-panel id=\"testData\">\r\n\t\t\t\t\t<mat-expansion-panel-header>\r\n\t\t\t\t\t\t<mat-panel-title>\r\n\t\t\t\t\t\t\t<span i18n=\"@@testData\">Test Data</span>\r\n\t\t\t\t\t\t</mat-panel-title>\r\n\t\t\t\t\t</mat-expansion-panel-header>\r\n\t\t\t\t\t<ng-template matExpansionPanelContent>\r\n\t\t\t\t\t\t<div layout-margin>\r\n\t\t\t\t\t\t\t<ngx-codemirror formControlName=\"dummyData\" rows=\"120\" [options]=\"jsonEditorOptions\"></ngx-codemirror>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t<mat-action-row>\r\n\t\t\t\t\t\t<button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"apply()\" *ngIf=\"isEditMode\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"showPreview()\" *ngIf=\"isEditMode\" [disabled]=\"isSaving || !form.pristine\" i18n=\"@@preview\">Preview</button>\r\n\t\t\t\t\t\t<button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n\t\t\t\t\t\t<span flex></span>\r\n\t\t\t\t\t</mat-action-row>\r\n\t\t\t\t</mat-expansion-panel>\r\n\t\t\t\t<!-- #endregion -->\r\n\r\n\t\t\t\t<!-- #region Audit -->\r\n\t\t\t\t<mat-expansion-panel id=\"audit\" *ngIf=\"isEditMode\">\r\n\t\t\t\t\t<mat-expansion-panel-header>\r\n\t\t\t\t\t\t<mat-panel-title>\r\n\t\t\t\t\t\t\t<span i18n=\"@@audit\">Audit</span>\r\n\t\t\t\t\t\t</mat-panel-title>\r\n\t\t\t\t\t</mat-expansion-panel-header>\r\n\t\t\t\t\t<ng-template matExpansionPanelContent>\r\n\t\t\t\t\t\t<vd-audit [entity]=\"item\"> </vd-audit>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t<mat-action-row>\r\n\t\t\t\t\t\t<button type=\"button\" mat-flat-button color=\"accent\" (click)=\"back()\" i18n=\"@@close\">Close</button>\r\n\t\t\t\t\t\t<span flex></span>\r\n\t\t\t\t\t</mat-action-row>\r\n\t\t\t\t</mat-expansion-panel>\r\n\t\t\t\t<!-- #endregion -->\r\n\t\t\t</mat-accordion>\r\n\t\t</vd-layout-card-over>\r\n\t</form>\r\n</vd-layout-nav>", styles: ["codemirror{width:100%}.CodeMirror{height:500px}\n"] }]
168
- }], ctorParameters: () => [{ type: i1.TemplateService }, { type: i2.FileService }, { type: i3.MatDialog }, { type: i4.ActivatedRoute }, { type: i0.ChangeDetectorRef }] });
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGstY21zL3NyYy9saWIvY29tbnBvbmVudHMvdGVtcGxhdGUtZm9ybS90ZW1wbGF0ZS1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay1jbXMvc3JjL2xpYi9jb21ucG9uZW50cy90ZW1wbGF0ZS1mb3JtL3RlbXBsYXRlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekUsT0FBTyxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUs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QUFDLENBQUM7UUFDSixDQUFDO0lBQ0YsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRTtZQUNoRCxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPO1lBQy9ELElBQUksRUFBRSxJQUFJLGVBQWUsQ0FBQztnQkFDekIsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSTthQUNyQixDQUFDO1lBQ0YsVUFBVSxFQUFFLENBQUMsb0JBQW9CLENBQUM7U0FDbEMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzlCLENBQUM7dUdBL0lXLHFCQUFxQjsyRkFBckIscUJBQXFCLGdGQ3hCbEMsNnRKQW9GZ0I7OzJGRDVESCxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0MsbUJBQW1CLGlCQUdkLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEZpbGVTZXJ2aWNlLCBHZW5lcmljUmVhY3RpdmVGb3JtQ29tcG9uZW50IH0gZnJvbSAnQG1lc3NhaWEvY2RrJztcclxuaW1wb3J0IHsgQXR0YWNobWVudCB9IGZyb20gJ0BtZXNzYWlhL2Nkay1iYXNlJztcclxuaW1wb3J0ICdjb2RlbWlycm9yL2FkZG9uL2VkaXQvY2xvc2V0YWcnO1xyXG5pbXBvcnQgJ2NvZGVtaXJyb3IvYWRkb24vZWRpdC9tYXRjaGJyYWNrZXRzJztcclxuaW1wb3J0ICdjb2RlbWlycm9yL2FkZG9uL3NlbGVjdGlvbi9hY3RpdmUtbGluZSc7XHJcbmltcG9ydCAnY29kZW1pcnJvci9tb2RlL2h0bWxtaXhlZC9odG1sbWl4ZWQnO1xyXG5pbXBvcnQgJ2NvZGVtaXJyb3IvbW9kZS9qYXZhc2NyaXB0L2phdmFzY3JpcHQnO1xyXG5pbXBvcnQgeyBzYXZlQXMgfSBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0IHsgVGVtcGxhdGVUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvdGVtcGxhdGUtdHlwZSc7XHJcbmltcG9ydCB7IENtc1NldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Ntcy1zZXR0aW5ncyc7XHJcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RlbXBsYXRlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVQcmV2aWV3IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RlbXBsYXRlLXByZXZpZXcnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW1wbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVQcmV2aWV3RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vdGVtcGxhdGUtcHJldmlldy1kaWFsb2cvdGVtcGxhdGUtcHJldmlldy1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLXRlbXBsYXRlLWZvcm0nLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi90ZW1wbGF0ZS1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXHJcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVGb3JtQ29tcG9uZW50IGV4dGVuZHMgR2VuZXJpY1JlYWN0aXZlRm9ybUNvbXBvbmVudDxUZW1wbGF0ZSwgVGVtcGxhdGVTZXJ2aWNlPiB7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRlbXBsYXRlIHR5cGVcclxuXHQgKi9cclxuXHRwdWJsaWMgVGVtcGxhdGVUeXBlOiB0eXBlb2YgVGVtcGxhdGVUeXBlID0gVGVtcGxhdGVUeXBlO1xyXG5cclxuXHQvKipcclxuXHQgKiBzZXR0aW5nczogQ21zU2V0dGluZ3NcclxuXHQgKi9cclxuXHRwdWJsaWMgc2V0dGluZ3M6IENtc1NldHRpbmdzID0gbmV3IENtc1NldHRpbmdzKCk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEdldHMgdGhlIGF0dGFjaG1lbnRzIGNvbnRyb2xcclxuXHQgKi9cclxuXHRnZXQgYXR0YWNobWVudHNDb250cm9sKCkgeyByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzLmF0dGFjaG1lbnRzOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEVkaXRvciBvcHRpb25zXHJcblx0ICovXHJcblx0cHVibGljIGVkaXRvck9wdGlvbnM6IGFueSA9IHtcclxuXHRcdGxpbmVOdW1iZXJzOiB0cnVlLFxyXG5cdFx0dGhlbWU6ICdtYXRlcmlhbCcsXHJcblx0XHRhdXRvQ2xvc2VUYWdzOiB0cnVlLFxyXG5cdFx0c3R5bGVBY3RpdmVMaW5lOiB0cnVlLFxyXG5cdFx0bW9kZTogJ3RleHQvaHRtbCcsXHJcblx0XHRwcm9maWxlOiAneGh0bWwnXHJcblx0fTtcclxuXHJcblx0LyoqXHJcblx0ICogRWRpdG9yIG9wdGlvbnNcclxuXHQgKi9cclxuXHRwdWJsaWMganNvbkVkaXRvck9wdGlvbnM6IGFueSA9IHtcclxuXHRcdGxpbmVOdW1iZXJzOiB0cnVlLFxyXG5cdFx0dGhlbWU6ICdtYXRlcmlhbCcsXHJcblx0XHRhdXRvQ2xvc2VUYWdzOiB0cnVlLFxyXG5cdFx0c3R5bGVBY3RpdmVMaW5lOiB0cnVlLFxyXG5cdFx0bW9kZToge1xyXG5cdFx0XHRuYW1lOiBcImphdmFzY3JpcHRcIixcclxuXHRcdFx0anNvbjogdHJ1ZSxcclxuXHRcdFx0c3RhdGVtZW50SW5kZW50OiAyXHJcblx0XHR9LFxyXG5cdFx0cHJvZmlsZTogJ3hodG1sJyxcclxuXHRcdGxpbmVXcmFwcGluZzogdHJ1ZSxcclxuXHRcdGluZGVudFdpdGhUYWJzOiBmYWxzZSxcclxuXHRcdHRhYlNpemU6IDJcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENvbnN0cnVjdG9yXHJcblx0ICovXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcm90ZWN0ZWQgc2VydmljZTogVGVtcGxhdGVTZXJ2aWNlLFxyXG5cdFx0cHJvdGVjdGVkIGZpbGVTZXJ2aWNlOiBGaWxlU2VydmljZSxcclxuXHRcdHByb3RlY3RlZCBkaWFsb2c6IE1hdERpYWxvZyxcclxuXHRcdHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcblx0XHRwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXHJcblx0KSB7XHJcblx0XHRzdXBlcihUZW1wbGF0ZSwgc2VydmljZSwgcm91dGUsIGNoYW5nZURldGVjdG9yUmVmKVxyXG5cdFx0dGhpcy5zZXR0aW5ncyA9IHRoaXMuZ2V0U2VydmljZShDbXNTZXR0aW5ncyk7XHJcblxyXG5cdFx0aWYgKHRoaXMuc2V0dGluZ3M/Lm11bHRpdGVuYW50YWJsZSB8fCB0aGlzLnNldHRpbmdzPy5tdWx0aUNsaWVudHMpIHtcclxuXHRcdFx0dGhpcy5pbmNsdWRlKCdDbGllbnRKb2lucycsIHRydWUpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGlzLnNldHRpbmdzPy5tdWx0aXRlbmFudGFibGUgfHwgdGhpcy5zZXR0aW5ncz8ubXVsdGlEZXBhcnRtZW50cykge1xyXG5cdFx0XHR0aGlzLmluY2x1ZGUoJ0RlcGFydG1lbnRKb2lucycsIHRydWUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUmVtb3ZlcyBhIGF0dGFjaG1lbnRcclxuXHQgKiBAcGFyYW0gYXR0YWNobWVudCBcclxuXHQgKi9cclxuXHRwdWJsaWMgcmVtb3ZlQXR0YWNobWVudChhdHRhY2htZW50OiBBdHRhY2htZW50KTogdm9pZCB7XHJcblx0XHRpZiAoQXJyYXkuaXNBcnJheSh0aGlzLml0ZW0/LmF0dGFjaG1lbnRzKSkge1xyXG5cdFx0XHR2YXIgaW5kZXggPSB0aGlzLmF0dGFjaG1lbnRzQ29udHJvbC52YWx1ZS5pbmRleE9mKGF0dGFjaG1lbnQsIDApO1xyXG5cdFx0XHRpZiAoaW5kZXggPiAtMSkge1xyXG5cdFx0XHRcdHRoaXMuZGlhbG9nU2VydmljZS5vcGVuQ29uZmlybSh7XHJcblx0XHRcdFx0XHRtZXNzYWdlOiAnTcO2Y2h0ZW4gU2llIGRpZXNlbiBBbmhhbmcgd2lya2xpY2ggbMO2c2NoZW4/JyxcclxuXHRcdFx0XHRcdHRpdGxlOiAnTMO2c2NoZW4gYmVzdMOkdGlnZW4nLFxyXG5cdFx0XHRcdFx0Y2FuY2VsQnV0dG9uOiAkbG9jYWxpemVgOkBAY2FuY2VsOkNhbmNlbGAsXHJcblx0XHRcdFx0XHRhY2NlcHRCdXR0b246ICRsb2NhbGl6ZWA6QEB5ZXM6WWVzYCxcclxuXHRcdFx0XHR9KS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoYWNjZXB0OiBib29sZWFuKSA9PiB7XHJcblx0XHRcdFx0XHRpZiAoYWNjZXB0KSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuYXR0YWNobWVudHNDb250cm9sLnZhbHVlLnNwbGljZShpbmRleCwgMSk7XHJcblx0XHRcdFx0XHRcdHRoaXMuYXR0YWNobWVudHNDb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5hdHRhY2htZW50c0NvbnRyb2wubWFya0FzRGlydHkoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogVXBsb2FkcyBhIGF0dGFjaG1lbnQgZmlsZVxyXG5cdCAqIEBwYXJhbSBmaWxlIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyB1cGxvYWRBdHRhY2htZW50KCRldmVudDogRXZlbnQpOiB2b2lkIHtcclxuXHRcdGxldCBmaWxlID0gKCgkZXZlbnQ/LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5maWxlcyA/PyBbXSlbMF07XHJcblx0XHRpZiAoZmlsZSAhPSBudWxsKSB7XHJcblx0XHRcdC8vIHRoaXMuZmlsZVNlcnZpY2UudXBsb2FkKGZpbGUsIGB1cGxvYWRgLCB7IGNsaWVudElkOiB0aGlzLml0ZW0uY2xpZW50SWQsIHBhdGg6IGAke3RoaXMuaXRlbS5jbGllbnRJZCA/ICcnIDogJ2NvbW1vbi8nfWRvY3NgIH0pLnN1YnNjcmliZShldmVudCA9PiB7XHJcblx0XHRcdC8vIFx0aWYgKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3MpIHtcclxuXHJcblx0XHRcdC8vIFx0XHQvKiBDYWxjdWxhdGUgdGhlIHByb2dyZXNzIHBlcmNlbnRhZ2UgKi9cclxuXHRcdFx0Ly8gXHRcdGNvbnN0IHBlcmNlbnREb25lID0gTWF0aC5yb3VuZCgxMDAgKiBldmVudC5sb2FkZWQgLyBldmVudC50b3RhbCk7XHJcblxyXG5cdFx0XHQvLyBcdFx0LyogUGFzcyB0aGUgcGVyY2VudGFnZSBpbnRvIHRoZSBwcm9ncmVzcy1zdHJlYW0gKi9cclxuXHRcdFx0Ly8gXHRcdGNvbnNvbGUuaW5mbyhwZXJjZW50RG9uZSk7XHJcblx0XHRcdC8vIFx0fSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG5cdFx0XHQvLyBcdFx0LyogQWRkIG91ciBhdHRhY2htZW50cyAqL1xyXG5cdFx0XHQvLyBcdFx0dGhpcy5hdHRhY2htZW50c0NvbnRyb2wuc2V0VmFsdWUoWy4uLnRoaXMuYXR0YWNobWVudHNDb250cm9sLnZhbHVlLCA8QXR0YWNobWVudD5ldmVudC5ib2R5XSk7XHJcblx0XHRcdC8vIFx0XHR0aGlzLmF0dGFjaG1lbnRzQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcblx0XHRcdC8vIFx0XHR0aGlzLmF0dGFjaG1lbnRzQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG5cdFx0XHQvLyBcdH1cclxuXHRcdFx0Ly8gfSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBEb3dubG9hZHMgYSBhdHRhY2htZW50XHJcblx0ICogQHBhcmFtIGF0dGFjaG1lbnQgXHJcblx0ICovXHJcblx0cHVibGljIGRvd25sb2FkQXR0YWNobWVudChhdHRhY2htZW50OiBBdHRhY2htZW50KTogdm9pZCB7XHJcblx0XHRpZiAoYXR0YWNobWVudC5pZCkge1xyXG5cdFx0XHR0aGlzLnNlcnZpY2UuZG93bmxvYWQoYGRvd25sb2FkQXR0YWNobWVudC8ke2F0dGFjaG1lbnQuaWR9YCkuc3Vic2NyaWJlKHggPT4ge1xyXG5cdFx0XHRcdHNhdmVBcyhuZXcgQmxvYihbeC5kYXRhXSwgeyB0eXBlOiAnJyB9KSwgeC5maWxlbmFtZSk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogU2hvd3MgdGVtcGxhdGUgcHJldmlld1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBzaG93UHJldmlldygpOiB2b2lkIHtcclxuXHRcdHRoaXMuZGlhbG9nLm9wZW4oVGVtcGxhdGVQcmV2aWV3RGlhbG9nQ29tcG9uZW50LCB7XHJcblx0XHRcdHdpZHRoOiB0aGlzLml0ZW0/LnR5cGUgPT0gVGVtcGxhdGVUeXBlLlBkZiA/ICcxMDIwcHgnIDogJzkyMHB4JyxcclxuXHRcdFx0ZGF0YTogbmV3IFRlbXBsYXRlUHJldmlldyh7XHJcblx0XHRcdFx0dGVtcGxhdGVJZDogdGhpcy5pdGVtPy5pZCxcclxuXHRcdFx0XHR0eXBlOiB0aGlzLml0ZW0/LnR5cGVcclxuXHRcdFx0fSksXHJcblx0XHRcdHBhbmVsQ2xhc3M6IFsnZGlhbG9nLWZ1bGwtc2NyZWVuJ11cclxuXHRcdH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCk7XHJcblx0fVxyXG59IiwiPHZkLWxheW91dC1uYXYgY29sb3I9XCJwcmltYXJ5XCIgW2JhY2tOYXZpZ2F0aW9uUm91dGVdPVwibGlzdFJvdXRlXCIgdG9vbGJhclRpdGxlPVwiVGVtcGxhdGVcIiBpMThuLXRvb2xiYXJUaXRsZT1cIkBAdGVtcGxhdGVcIiBbZWRpdE1vZGVdPVwiaXNFZGl0TW9kZVwiIFthY3Rpb25zXT1cInRvb2xiYXJBY3Rpb25zXCIgW2RhdGFdPVwiaXRlbVwiIFtjb250ZXh0XT1cInRoaXNcIj5cclxuXHQ8Zm9ybSAqbmdJZj1cImZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBub3ZhbGlkYXRlIChuZ1N1Ym1pdCk9XCJzYXZlKClcIj5cclxuXHRcdDx2ZC1sYXlvdXQtY2FyZC1vdmVyIGNsYXNzPVwiYWNjb3JkaW9uXCIgY2FyZFdpZHRoPVwiNzBcIiBjb2xvcj1cInByaW1hcnlcIiBmbGV4PlxyXG5cdFx0XHQ8bWF0LWFjY29yZGlvbiBbbXVsdGldPVwiIWlzRWRpdE1vZGVcIj5cclxuXHRcdFx0XHQ8IS0tICNyZWdpb24gRGV0YWlscyAtLT5cclxuXHRcdFx0XHQ8bWF0LWV4cGFuc2lvbi1wYW5lbCBleHBhbmRlZD1cInRydWVcIiBpZD1cImRldGFpbHNcIj5cclxuXHRcdFx0XHRcdDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuXHRcdFx0XHRcdFx0PG1hdC1wYW5lbC10aXRsZSBpMThuPVwiQEBkZXRhaWxzXCI+RGV0YWlsczwvbWF0LXBhbmVsLXRpdGxlPlxyXG5cdFx0XHRcdFx0PC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XHJcblx0XHRcdFx0XHRcdDx2ZC1nZW5lcmljLWZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgW2ZpZWxkR3JvdXBzXT1cImZpZWxkR3JvdXBzXCIgW2ZpZWxkU2V0c109XCJbJ2RldGFpbHMnXVwiIFtjb250ZXh0XT1cInRoaXNcIj48L3ZkLWdlbmVyaWMtZm9ybT5cclxuXHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8bWF0LWFjdGlvbi1yb3c+XHJcblx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiaXNTYXZpbmdcIiBpMThuPVwiQEBzYXZlXCI+U2F2ZTwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtYnV0dG9uIChjbGljayk9XCJhcHBseSgpXCIgKm5nSWY9XCJpc0VkaXRNb2RlXCIgW2Rpc2FibGVkXT1cImlzU2F2aW5nXCIgaTE4bj1cIkBAYXBwbHlcIj5BcHBseTwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtYnV0dG9uIChjbGljayk9XCJiYWNrKClcIiBpMThuPVwiQEBjYW5jZWxcIj5DYW5jZWw8L2J1dHRvbj5cclxuXHRcdFx0XHRcdFx0PHNwYW4gZmxleD48L3NwYW4+XHJcblx0XHRcdFx0XHQ8L21hdC1hY3Rpb24tcm93PlxyXG5cdFx0XHRcdDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuXHRcdFx0XHQ8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG5cdFx0XHRcdDwhLS0gI3JlZ2lvbiBDb250ZW50IC0tPlxyXG5cdFx0XHRcdDxtYXQtZXhwYW5zaW9uLXBhbmVsIGlkPVwiY29udGVudFwiPlxyXG5cdFx0XHRcdFx0PG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG5cdFx0XHRcdFx0XHQ8bWF0LXBhbmVsLXRpdGxlPlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIGkxOG49XCJAQGNvbnRlbnRcIj5Db250ZW50PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L21hdC1wYW5lbC10aXRsZT5cclxuXHRcdFx0XHRcdDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcblx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgbWF0RXhwYW5zaW9uUGFuZWxDb250ZW50PlxyXG5cdFx0XHRcdFx0XHQ8ZGl2IGxheW91dC1tYXJnaW4+XHJcblx0XHRcdFx0XHRcdFx0PG5neC1jb2RlbWlycm9yIGZvcm1Db250cm9sTmFtZT1cImNvbnRlbnRcIiByb3dzPVwiMTYwXCIgW29wdGlvbnNdPVwiZWRpdG9yT3B0aW9uc1wiPjwvbmd4LWNvZGVtaXJyb3I+XHJcblx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdDxtYXQtYWN0aW9uLXJvdz5cclxuXHRcdFx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJpc1NhdmluZ1wiIGkxOG49XCJAQHNhdmVcIj5TYXZlPC9idXR0b24+XHJcblx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1idXR0b24gKGNsaWNrKT1cImFwcGx5KClcIiAqbmdJZj1cImlzRWRpdE1vZGVcIiBbZGlzYWJsZWRdPVwiaXNTYXZpbmdcIiBpMThuPVwiQEBhcHBseVwiPkFwcGx5PC9idXR0b24+XHJcblx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1idXR0b24gKGNsaWNrKT1cInNob3dQcmV2aWV3KClcIiAqbmdJZj1cImlzRWRpdE1vZGVcIiBbZGlzYWJsZWRdPVwiaXNTYXZpbmcgfHwgIWZvcm0ucHJpc3RpbmVcIiBpMThuPVwiQEBwcmV2aWV3XCI+UHJldmlldzwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtYnV0dG9uIChjbGljayk9XCJiYWNrKClcIiBpMThuPVwiQEBjYW5jZWxcIj5DYW5jZWw8L2J1dHRvbj5cclxuXHRcdFx0XHRcdFx0PHNwYW4gZmxleD48L3NwYW4+XHJcblx0XHRcdFx0XHQ8L21hdC1hY3Rpb24tcm93PlxyXG5cdFx0XHRcdDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuXHRcdFx0XHQ8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG5cdFx0XHRcdDwhLS0gI3JlZ2lvbiBDb250ZW50IC0tPlxyXG5cdFx0XHRcdDxtYXQtZXhwYW5zaW9uLXBhbmVsIGlkPVwidGVzdERhdGFcIj5cclxuXHRcdFx0XHRcdDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuXHRcdFx0XHRcdFx0PG1hdC1wYW5lbC10aXRsZT5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBpMThuPVwiQEB0ZXN0RGF0YVwiPlRlc3QgRGF0YTwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0PC9tYXQtcGFuZWwtdGl0bGU+XHJcblx0XHRcdFx0XHQ8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG5cdFx0XHRcdFx0PG5nLXRlbXBsYXRlIG1hdEV4cGFuc2lvblBhbmVsQ29udGVudD5cclxuXHRcdFx0XHRcdFx0PGRpdiBsYXlvdXQtbWFyZ2luPlxyXG5cdFx0XHRcdFx0XHRcdDxuZ3gtY29kZW1pcnJvciBmb3JtQ29udHJvbE5hbWU9XCJkdW1teURhdGFcIiByb3dzPVwiMTIwXCIgW29wdGlvbnNdPVwianNvbkVkaXRvck9wdGlvbnNcIj48L25neC1jb2RlbWlycm9yPlxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8bWF0LWFjdGlvbi1yb3c+XHJcblx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiaXNTYXZpbmdcIiBpMThuPVwiQEBzYXZlXCI+U2F2ZTwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtYnV0dG9uIChjbGljayk9XCJhcHBseSgpXCIgKm5nSWY9XCJpc0VkaXRNb2RlXCIgW2Rpc2FibGVkXT1cImlzU2F2aW5nXCIgaTE4bj1cIkBAYXBwbHlcIj5BcHBseTwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtYnV0dG9uIChjbGljayk9XCJzaG93UHJldmlldygpXCIgKm5nSWY9XCJpc0VkaXRNb2RlXCIgW2Rpc2FibGVkXT1cImlzU2F2aW5nIHx8ICFmb3JtLnByaXN0aW5lXCIgaTE4bj1cIkBAcHJldmlld1wiPlByZXZpZXc8L2J1dHRvbj5cclxuXHRcdFx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwiYmFjaygpXCIgaTE4bj1cIkBAY2FuY2VsXCI+Q2FuY2VsPC9idXR0b24+XHJcblx0XHRcdFx0XHRcdDxzcGFuIGZsZXg+PC9zcGFuPlxyXG5cdFx0XHRcdFx0PC9tYXQtYWN0aW9uLXJvdz5cclxuXHRcdFx0XHQ8L21hdC1leHBhbnNpb24tcGFuZWw+XHJcblx0XHRcdFx0PCEtLSAjZW5kcmVnaW9uIC0tPlxyXG5cclxuXHRcdFx0XHQ8IS0tICNyZWdpb24gQXVkaXQgLS0+XHJcblx0XHRcdFx0PG1hdC1leHBhbnNpb24tcGFuZWwgaWQ9XCJhdWRpdFwiICpuZ0lmPVwiaXNFZGl0TW9kZVwiPlxyXG5cdFx0XHRcdFx0PG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG5cdFx0XHRcdFx0XHQ8bWF0LXBhbmVsLXRpdGxlPlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIGkxOG49XCJAQGF1ZGl0XCI+QXVkaXQ8L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvbWF0LXBhbmVsLXRpdGxlPlxyXG5cdFx0XHRcdFx0PC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XHJcblx0XHRcdFx0XHRcdDx2ZC1hdWRpdCBbZW50aXR5XT1cIml0ZW1cIj4gPC92ZC1hdWRpdD5cclxuXHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8bWF0LWFjdGlvbi1yb3c+XHJcblx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJiYWNrKClcIiBpMThuPVwiQEBjbG9zZVwiPkNsb3NlPC9idXR0b24+XHJcblx0XHRcdFx0XHRcdDxzcGFuIGZsZXg+PC9zcGFuPlxyXG5cdFx0XHRcdFx0PC9tYXQtYWN0aW9uLXJvdz5cclxuXHRcdFx0XHQ8L21hdC1leHBhbnNpb24tcGFuZWw+XHJcblx0XHRcdFx0PCEtLSAjZW5kcmVnaW9uIC0tPlxyXG5cdFx0XHQ8L21hdC1hY2NvcmRpb24+XHJcblx0XHQ8L3ZkLWxheW91dC1jYXJkLW92ZXI+XHJcblx0PC9mb3JtPlxyXG48L3ZkLWxheW91dC1uYXY+Il19
@@ -1,201 +0,0 @@
1
- import { ChangeDetectorRef, Component, ElementRef, Inject, ViewChild } from '@angular/core';
2
- import { NgModel } from '@angular/forms';
3
- import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
4
- import { ActivatedRoute } from '@angular/router';
5
- import { BaseComponent } from '@messaia/cdk';
6
- import { saveAs } from 'file-saver';
7
- import { TemplateType } from '../../enums/template-type';
8
- import { TemplatePreview } from '../../models/template-preview';
9
- import { TemplatePreviewService } from '../../services/template-preview.service';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../../services/template-preview.service";
12
- import * as i2 from "@angular/material/dialog";
13
- import * as i3 from "@angular/router";
14
- import * as i4 from "@angular/common";
15
- import * as i5 from "@angular/forms";
16
- import * as i6 from "@messaia/cdk";
17
- import * as i7 from "@angular/material/card";
18
- import * as i8 from "@angular/material/button";
19
- import * as i9 from "@angular/material/icon";
20
- import * as i10 from "@angular/material/form-field";
21
- import * as i11 from "@angular/material/input";
22
- import * as i12 from "@angular/material/progress-bar";
23
- import * as i13 from "@angular/material/divider";
24
- import * as i14 from "ng2-pdf-viewer";
25
- import * as i15 from "../../models/template-preview";
26
- export class TemplatePreviewDialogComponent extends BaseComponent {
27
- service;
28
- dialogRef;
29
- data;
30
- route;
31
- changeDetectorRef;
32
- /**
33
- * TemplateType
34
- */
35
- TemplateType = TemplateType;
36
- /**
37
- * Pdf blob
38
- */
39
- pdfBlob;
40
- /**
41
- * PDF source
42
- */
43
- pdfSrc;
44
- /**
45
- * Pdf zoom
46
- */
47
- zoom = 0.98;
48
- /**
49
- * Pdf zoom scale
50
- */
51
- zoomScale = 'page-width';
52
- /**
53
- * Track whether the dialog is maximized
54
- */
55
- isMaximized = false;
56
- /*
57
- * Reference to the iframe element.
58
- * This will be used to manipulate the iframe's content programmatically.
59
- * 'static: false' indicates that the reference is resolved after view initialization.
60
- */
61
- iframeRef;
62
- /*
63
- * Reference to the NgModel directive for the input element.
64
- */
65
- emailModel;
66
- /**
67
- * Constructor
68
- * @param dialogRef
69
- * @param data
70
- */
71
- constructor(service, dialogRef, data, route, changeDetectorRef) {
72
- super(route, changeDetectorRef);
73
- this.service = service;
74
- this.dialogRef = dialogRef;
75
- this.data = data;
76
- this.route = route;
77
- this.changeDetectorRef = changeDetectorRef;
78
- this.data.email = localStorage.getItem('templatePreviewEmail') ?? '';
79
- }
80
- /**
81
- * Lifecycle hook that is called after data-bound properties
82
- * of a directive are initialized.
83
- */
84
- ngOnInit() {
85
- /* Set loading state to true */
86
- this.isLoading = true;
87
- if (this.data.type == TemplateType.Pdf) {
88
- this.service.create(this.data, undefined, { responseType: 'arraybuffer' }).subscribe({
89
- next: (x) => {
90
- /* Set loading state to false */
91
- this.isLoading = false;
92
- /* Create a Blob from the response */
93
- this.pdfBlob = new Blob([x], { type: 'application/pdf' });
94
- /* Create a URL for the PDF Blob */
95
- this.pdfSrc = URL.createObjectURL(this.pdfBlob);
96
- },
97
- error: () => {
98
- /* Handle error and set loading state to false */
99
- this.isLoading = false;
100
- }
101
- });
102
- }
103
- else {
104
- this.service.create(this.data).subscribe({
105
- next: (x) => {
106
- /* Set loading state to false */
107
- this.isLoading = false;
108
- /* Merge response data with existing data */
109
- Object.assign(this.data, x);
110
- /* Get the iframe element from the template reference variable */
111
- const iframe = this.iframeRef?.nativeElement;
112
- if (iframe) {
113
- /* Access the document object of the iframe */
114
- const doc = iframe.contentDocument || iframe.contentWindow.document;
115
- /* Write the HTML content to the iframe */
116
- doc.open();
117
- doc.write(x?.content ?? '');
118
- doc.close();
119
- }
120
- },
121
- error: () => {
122
- /* Handle error and set loading state to false */
123
- this.isLoading = false;
124
- }
125
- });
126
- }
127
- }
128
- /**
129
- * Sends a mail
130
- */
131
- sendMail() {
132
- /* Throw an exception if this.data.email is null */
133
- if (this.data.email == null) {
134
- throw new Error('Email is null. Cannot send mail.');
135
- }
136
- this.service.create(this.data, '/sendMail').subscribe({
137
- next: (x) => {
138
- this.isLoading = false;
139
- localStorage.setItem('templatePreviewEmail', this.data.email);
140
- this.snackBarService.open($localize `:@@snackbar.send.success:Data sent successfully.`, undefined, {
141
- duration: 3000,
142
- panelClass: ['primary']
143
- });
144
- },
145
- error: () => this.isLoading = false
146
- });
147
- }
148
- /**
149
- * Downloads the pdf
150
- */
151
- download() {
152
- saveAs(this.pdfBlob, "Pdf.pdf");
153
- }
154
- /**
155
- * Zooms in the pdf
156
- */
157
- zoomIn() {
158
- this.zoom += 0.1;
159
- }
160
- /**
161
- * Zooms out the pdf
162
- */
163
- zoomOut() {
164
- this.zoom += -0.1;
165
- }
166
- /**
167
- * Closes the dialog
168
- */
169
- cancel() {
170
- this.dialogRef.close();
171
- }
172
- /**
173
- * Toggle the dialog between maximized and normal size
174
- */
175
- toggleMaximize() {
176
- this.isMaximized = !this.isMaximized;
177
- /* Apply or remove the full-screen class based on the isMaximized flag */
178
- if (this.isMaximized) {
179
- this.dialogRef.addPanelClass('full-screen');
180
- }
181
- else {
182
- this.dialogRef.removePanelClass('full-screen');
183
- }
184
- }
185
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TemplatePreviewDialogComponent, deps: [{ token: i1.TemplatePreviewService }, { token: i2.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i3.ActivatedRoute }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
186
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: TemplatePreviewDialogComponent, selector: "app-template-preview", viewQueries: [{ propertyName: "iframeRef", first: true, predicate: ["iframeRef"], descendants: true }, { propertyName: "emailModel", first: true, predicate: ["email"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div mat-dialog-title>\r\n <span i18n=\"@@templatePreview\">Template preview</span>\r\n <span flex></span>\r\n <div *ngIf=\"data.type == TemplateType.Pdf && pdfSrc ||true\">\r\n <a mat-icon-button (click)=\"download()\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">download</mat-icon>\r\n </a>\r\n <a mat-icon-button (click)=\"zoomIn()\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">zoom_in</mat-icon>\r\n </a>\r\n <a mat-icon-button (click)=\"zoomOut()\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">zoom_out</mat-icon>\r\n </a>\r\n <a mat-icon-button (click)=\"toggleMaximize()\" class=\"maximize-button\">\r\n <mat-icon>{{ isMaximized ? 'fullscreen_exit' : 'fullscreen' }}</mat-icon>\r\n </a>\r\n </div>\r\n</div>\r\n<form #form=\"ngForm\" novalidate layout=\"column\" flex>\r\n <!-- #region Entity -->\r\n <div layout=\"row\" flex *ngIf=\"data.endpoint\">\r\n <mat-form-field flex layout-margin>\r\n <mat-label>{{data.entityName}}</mat-label>\r\n <vd-chips [(ngModel)]=\"data.entityId\" [endpoint]=\"data.endpoint\" [params]=\"{sortBy: 'id'}\" text=\"displayName\" name=\"entityId\" #entityId=\"ngModel\" [placeholder]=\"data.entityName??''\" required flex>\r\n <ng-template vd-chip let-entity=\"chip\">\r\n <span>{{entity[data.displayName??'']}}</span>\r\n </ng-template>\r\n <ng-template vd-autocomplete-option let-entity=\"option\">\r\n <span>{{entity[data.displayName??'']}}</span>\r\n </ng-template>\r\n </vd-chips>\r\n <mat-error *ngIf=\"entityId.errors?.required\"><span>{{data.entityName}}</span><span i18n=\"@@isRequired\"> is required</span></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <!-- #endregion -->\r\n\r\n <div layout=\"column\" layout-gt-sm=\"row\" class=\"push-bottom\" flex *ngIf=\"isLoading\">\r\n <div flex layout-margin>\r\n <div class=\"push-bottom-sm\" i18n=\"@@pleaseWait\">Please Wait...</div>\r\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n </div>\r\n </div>\r\n\r\n <!-- #region PDF Content -->\r\n <mat-card *ngIf=\"data.type == TemplateType.Pdf\" flex>\r\n <pdf-viewer [src]=\"pdfSrc\" *ngIf=\"data.type == TemplateType.Pdf && pdfSrc\" [render-text]=\"true\" [zoom]=\"zoom\" [zoom-scale]=\"zoomScale\" [show-borders]=\"true\" [original-size]=\"false\" [autoresize]=\"true\"></pdf-viewer>\r\n </mat-card>\r\n <!-- #region Content -->\r\n\r\n <div *ngIf=\"data.type != TemplateType.Pdf\" layout=\"column\" class=\"pad-top-none\" layout-padding margin-layout flex>\r\n <!-- #region Content -->\r\n <div class=\"pad-top-none\" layout-padding margin-layout flex>\r\n <iframe #iframeRef frameborder=\"0\"></iframe>\r\n </div>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Email-->\r\n <div layout-gt-sm=\"row\" layout=\"column\" class=\"pad-top\">\r\n <mat-form-field flex layout-margin>\r\n <mat-label i18n=\"@@email\">Email</mat-label>\r\n <input matInput type=\"email\" name=\"email\" [(ngModel)]=\"data.email\" #email=\"ngModel\" email placeholder=\"Email\" i18n-placeholder=\"@@email\">\r\n <mat-error *ngIf=\"email.errors?.required\"><span i18n=\"@@email\">Email</span><span i18n=\"@@isRequired\"> is required</span></mat-error>\r\n <mat-error *ngIf=\"!email.errors?.required && email.errors?.email\"><span i18n=\"@@email\">Email</span><span i18n=\"@@isInvalid\"> is invalid</span></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <!-- #endregion -->\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div mat-dialog-actions class=\"pad-left\">\r\n <button type=\"button\" mat-flat-button color=\"primary\" (click)=\"cancel()\" [autofocus]=\"true\" i18n=\"@@close\">Close</button>\r\n <button type=\"button\" mat-flat-button (click)=\"sendMail()\" [disabled]=\"data.email == undefined || !emailModel?.valid\" i18n=\"@@sendMail\">Send mail</button>\r\n </div>\r\n</form>", styles: [".content{overflow:scroll;min-height:200px;max-height:500px;border:1px solid #e5e5e5;border-radius:4px;padding:8px}iframe{width:100%;height:100%;min-height:200px;border:1px solid #e5e5e5;border-radius:4px}pdf-viewer{display:block;margin-left:-16px;width:calc(100% + 32px);height:calc(100vh - 170px);background:#dbdbdb}.mat-mdc-dialog-title{display:flex;padding:8px 12px;align-items:center}.dialog-content{width:100%;height:100%;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.AsyncValidationDirective, selector: "[ngModel],[formControlName],[formControl]", inputs: ["async"] }, { kind: "directive", type: i6.RxFormControlDirective, selector: "[ngModel],[formControlName],[formControl]", inputs: ["rxalpha", "rxalphaNumeric", "rxascii", "rxcompare", "rxcompose", "rxcontains", "rxcreditCard", "rxdataUri", "rxdifferent", "rxdigit", "rxemail", "rxendsWith", "rxeven", "rxextension", "rxfactor", "rxfileSize", "rxgreaterThanEqualTo", "rxgreaterThan", "rxhexColor", "rxjson", "rxlatitude", "rxlatLong", "rxleapYear", "rxlessThan", "rxlessThanEqualTo", "rxlongitude", "rxlowerCase", "rxmac", "rxmaxDate", "rxmaxLength", "rxmaxNumber", "rxminDate", "rxminLength", "rxminNumber", "rxnumeric", "rxodd", "rxpassword", "rxport", "rxprimeNumber", "rxrequired", "rxrange", "rxrule", "rxstartsWith", "rxtime", "rxupperCase", "rxurl", "rxunique", "rxnotEmpty", "rxcusip", "rxgrid", "rxdate"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "directive", type: i10.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i6.EmptyStringResetDirective, selector: "[ngModel],[formControlName],[formControl]" }, { kind: "directive", type: i6.MatFormFieldReadonlyDirective, selector: "mat-form-field" }, { kind: "directive", type: i6.NativeElementInjectorDirective, selector: "[ngModel], [formControl], [formControlName]" }, { kind: "component", type: i6.VdChipsComponent, selector: "vd-chips", inputs: ["classType", "chips", "endpoint", "params", "projection", "paginated", "customValue", "context", "key", "searchField", "searchFields", "filters", "removable", "selectFirst", "debounce", "autocompleteCssClass", "suffixButtons"], outputs: ["initSelect", "selected", "cleared", "launch", "chipFocus"] }, { kind: "directive", type: i6.VdAutocompleteOptionDirective, selector: "[vd-autocomplete-option]ng-template" }, { kind: "directive", type: i6.VdChipDirective, selector: "[vd-chip]ng-template" }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i12.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i13.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i14.PdfViewerComponent, selector: "pdf-viewer", inputs: ["src", "c-maps-url", "page", "render-text", "render-text-mode", "original-size", "show-all", "stick-to-page", "zoom", "zoom-scale", "rotation", "external-link-target", "autoresize", "fit-to-page", "show-borders"], outputs: ["after-load-complete", "page-rendered", "pages-initialized", "text-layer-rendered", "error", "on-progress", "pageChange"] }] });
187
- }
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TemplatePreviewDialogComponent, decorators: [{
189
- type: Component,
190
- args: [{ selector: 'app-template-preview', template: "<div mat-dialog-title>\r\n <span i18n=\"@@templatePreview\">Template preview</span>\r\n <span flex></span>\r\n <div *ngIf=\"data.type == TemplateType.Pdf && pdfSrc ||true\">\r\n <a mat-icon-button (click)=\"download()\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">download</mat-icon>\r\n </a>\r\n <a mat-icon-button (click)=\"zoomIn()\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">zoom_in</mat-icon>\r\n </a>\r\n <a mat-icon-button (click)=\"zoomOut()\">\r\n <mat-icon fontSet=\"material-symbols-outlined\">zoom_out</mat-icon>\r\n </a>\r\n <a mat-icon-button (click)=\"toggleMaximize()\" class=\"maximize-button\">\r\n <mat-icon>{{ isMaximized ? 'fullscreen_exit' : 'fullscreen' }}</mat-icon>\r\n </a>\r\n </div>\r\n</div>\r\n<form #form=\"ngForm\" novalidate layout=\"column\" flex>\r\n <!-- #region Entity -->\r\n <div layout=\"row\" flex *ngIf=\"data.endpoint\">\r\n <mat-form-field flex layout-margin>\r\n <mat-label>{{data.entityName}}</mat-label>\r\n <vd-chips [(ngModel)]=\"data.entityId\" [endpoint]=\"data.endpoint\" [params]=\"{sortBy: 'id'}\" text=\"displayName\" name=\"entityId\" #entityId=\"ngModel\" [placeholder]=\"data.entityName??''\" required flex>\r\n <ng-template vd-chip let-entity=\"chip\">\r\n <span>{{entity[data.displayName??'']}}</span>\r\n </ng-template>\r\n <ng-template vd-autocomplete-option let-entity=\"option\">\r\n <span>{{entity[data.displayName??'']}}</span>\r\n </ng-template>\r\n </vd-chips>\r\n <mat-error *ngIf=\"entityId.errors?.required\"><span>{{data.entityName}}</span><span i18n=\"@@isRequired\"> is required</span></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <!-- #endregion -->\r\n\r\n <div layout=\"column\" layout-gt-sm=\"row\" class=\"push-bottom\" flex *ngIf=\"isLoading\">\r\n <div flex layout-margin>\r\n <div class=\"push-bottom-sm\" i18n=\"@@pleaseWait\">Please Wait...</div>\r\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\r\n </div>\r\n </div>\r\n\r\n <!-- #region PDF Content -->\r\n <mat-card *ngIf=\"data.type == TemplateType.Pdf\" flex>\r\n <pdf-viewer [src]=\"pdfSrc\" *ngIf=\"data.type == TemplateType.Pdf && pdfSrc\" [render-text]=\"true\" [zoom]=\"zoom\" [zoom-scale]=\"zoomScale\" [show-borders]=\"true\" [original-size]=\"false\" [autoresize]=\"true\"></pdf-viewer>\r\n </mat-card>\r\n <!-- #region Content -->\r\n\r\n <div *ngIf=\"data.type != TemplateType.Pdf\" layout=\"column\" class=\"pad-top-none\" layout-padding margin-layout flex>\r\n <!-- #region Content -->\r\n <div class=\"pad-top-none\" layout-padding margin-layout flex>\r\n <iframe #iframeRef frameborder=\"0\"></iframe>\r\n </div>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Email-->\r\n <div layout-gt-sm=\"row\" layout=\"column\" class=\"pad-top\">\r\n <mat-form-field flex layout-margin>\r\n <mat-label i18n=\"@@email\">Email</mat-label>\r\n <input matInput type=\"email\" name=\"email\" [(ngModel)]=\"data.email\" #email=\"ngModel\" email placeholder=\"Email\" i18n-placeholder=\"@@email\">\r\n <mat-error *ngIf=\"email.errors?.required\"><span i18n=\"@@email\">Email</span><span i18n=\"@@isRequired\"> is required</span></mat-error>\r\n <mat-error *ngIf=\"!email.errors?.required && email.errors?.email\"><span i18n=\"@@email\">Email</span><span i18n=\"@@isInvalid\"> is invalid</span></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <!-- #endregion -->\r\n </div>\r\n <mat-divider></mat-divider>\r\n <div mat-dialog-actions class=\"pad-left\">\r\n <button type=\"button\" mat-flat-button color=\"primary\" (click)=\"cancel()\" [autofocus]=\"true\" i18n=\"@@close\">Close</button>\r\n <button type=\"button\" mat-flat-button (click)=\"sendMail()\" [disabled]=\"data.email == undefined || !emailModel?.valid\" i18n=\"@@sendMail\">Send mail</button>\r\n </div>\r\n</form>", styles: [".content{overflow:scroll;min-height:200px;max-height:500px;border:1px solid #e5e5e5;border-radius:4px;padding:8px}iframe{width:100%;height:100%;min-height:200px;border:1px solid #e5e5e5;border-radius:4px}pdf-viewer{display:block;margin-left:-16px;width:calc(100% + 32px);height:calc(100vh - 170px);background:#dbdbdb}.mat-mdc-dialog-title{display:flex;padding:8px 12px;align-items:center}.dialog-content{width:100%;height:100%;box-sizing:border-box}\n"] }]
191
- }], ctorParameters: () => [{ type: i1.TemplatePreviewService }, { type: i2.MatDialogRef }, { type: i15.TemplatePreview, decorators: [{
192
- type: Inject,
193
- args: [MAT_DIALOG_DATA]
194
- }] }, { type: i3.ActivatedRoute }, { type: i0.ChangeDetectorRef }], propDecorators: { iframeRef: [{
195
- type: ViewChild,
196
- args: ['iframeRef', { static: false }]
197
- }], emailModel: [{
198
- type: ViewChild,
199
- args: ['email']
200
- }] } });
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtcHJldmlldy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrLWNtcy9zcmMvbGliL2NvbW5wb25lbnRzL3RlbXBsYXRlLXByZXZpZXctZGlhbG9nL3RlbXBsYXRlLXByZXZpZXctZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay1jbXMvc3JjL2xpYi9jb21ucG9uZW50cy90ZW1wbGF0ZS1wcmV2aWV3LWRpYWxvZy90ZW1wbGF0ZS1wcmV2aWV3LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPakYsTUFBTSxPQUFPLDhCQUErQixTQUFRLGFBQWE7SUFvRC9DO0lBQ0g7SUFDeUI7SUFDdEI7SUFDQTtJQXREZDs7T0FFRztJQUNJLFlBQVksR0FBd0IsWUFBWSxDQUFDO0lB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SUFDSSxPQUFPO1FBQ1YsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3JDLHlFQUF5RTtRQUN6RSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNMLENBQUM7dUdBakxRLDhCQUE4QixvRkFzRDNCLGVBQWU7MkZBdERsQiw4QkFBOEIsaVJDaEIzQyxncklBd0VPOzsyRkR4RE0sOEJBQThCO2tCQUwxQyxTQUFTOytCQUNJLHNCQUFzQjs7MEJBMEQzQixNQUFNOzJCQUFDLGVBQWU7c0dBaEJwQixTQUFTO3NCQURmLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFPbEMsVUFBVTtzQkFEaEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdAbWVzc2FpYS9jZGsnO1xyXG5pbXBvcnQgeyBzYXZlQXMgfSBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0IHsgUERGU291cmNlIH0gZnJvbSAnbmcyLXBkZi12aWV3ZXInO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy90ZW1wbGF0ZS10eXBlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVQcmV2aWV3IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RlbXBsYXRlLXByZXZpZXcnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVByZXZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVtcGxhdGUtcHJldmlldy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtdGVtcGxhdGUtcHJldmlldycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLXByZXZpZXctZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWyd0ZW1wbGF0ZS1wcmV2aWV3LWRpYWxvZy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZVByZXZpZXdEaWFsb2dDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRlbXBsYXRlVHlwZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgVGVtcGxhdGVUeXBlOiB0eXBlb2YgVGVtcGxhdGVUeXBlID0gVGVtcGxhdGVUeXBlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGRmIGJsb2JcclxuICAgICAqL1xyXG4gICAgcHVibGljIHBkZkJsb2I/OiBCbG9iO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUERGIHNvdXJjZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcGRmU3JjPzogc3RyaW5nIHwgVWludDhBcnJheSB8IFBERlNvdXJjZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBkZiB6b29tXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB6b29tID0gMC45ODtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBkZiB6b29tIHNjYWxlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB6b29tU2NhbGU6ICdwYWdlLWhlaWdodCcgfCAncGFnZS1maXQnIHwgJ3BhZ2Utd2lkdGgnID0gJ3BhZ2Utd2lkdGgnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVHJhY2sgd2hldGhlciB0aGUgZGlhbG9nIGlzIG1heGltaXplZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaXNNYXhpbWl6ZWQgPSBmYWxzZTtcclxuXHJcbiAgICAvKiBcclxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgaWZyYW1lIGVsZW1lbnQuIFxyXG4gICAgICogVGhpcyB3aWxsIGJlIHVzZWQgdG8gbWFuaXB1bGF0ZSB0aGUgaWZyYW1lJ3MgY29udGVudCBwcm9ncmFtbWF0aWNhbGx5LlxyXG4gICAgICogJ3N0YXRpYzogZmFsc2UnIGluZGljYXRlcyB0aGF0IHRoZSByZWZlcmVuY2UgaXMgcmVzb2x2ZWQgYWZ0ZXIgdmlldyBpbml0aWFsaXphdGlvbi5cclxuICAgICAqL1xyXG4gICAgQFZpZXdDaGlsZCgnaWZyYW1lUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgICBwdWJsaWMgaWZyYW1lUmVmPzogRWxlbWVudFJlZjtcclxuXHJcbiAgICAvKiBcclxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgTmdNb2RlbCBkaXJlY3RpdmUgZm9yIHRoZSBpbnB1dCBlbGVtZW50LlxyXG4gICAgICovXHJcbiAgICBAVmlld0NoaWxkKCdlbWFpbCcpXHJcbiAgICBwdWJsaWMgZW1haWxNb2RlbD86IE5nTW9kZWw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb25zdHJ1Y3RvclxyXG4gICAgICogQHBhcmFtIGRpYWxvZ1JlZiBcclxuICAgICAqIEBwYXJhbSBkYXRhIFxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgc2VydmljZTogVGVtcGxhdGVQcmV2aWV3U2VydmljZSxcclxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGVtcGxhdGVQcmV2aWV3RGlhbG9nQ29tcG9uZW50PixcclxuICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IFRlbXBsYXRlUHJldmlldyxcclxuICAgICAgICBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKHJvdXRlLCBjaGFuZ2VEZXRlY3RvclJlZilcclxuICAgICAgICB0aGlzLmRhdGEuZW1haWwgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGVtcGxhdGVQcmV2aWV3RW1haWwnKSA/PyAnJztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIExpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIGFmdGVyIGRhdGEtYm91bmQgcHJvcGVydGllc1xyXG4gICAgICogb2YgYSBkaXJlY3RpdmUgYXJlIGluaXRpYWxpemVkLlxyXG4gICAgICovXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICAvKiBTZXQgbG9hZGluZyBzdGF0ZSB0byB0cnVlICovXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5kYXRhLnR5cGUgPT0gVGVtcGxhdGVUeXBlLlBkZikge1xyXG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UuY3JlYXRlKHRoaXMuZGF0YSwgdW5kZWZpbmVkLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICAgICAgbmV4dDogKHgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvKiBTZXQgbG9hZGluZyBzdGF0ZSB0byBmYWxzZSAqL1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8qIENyZWF0ZSBhIEJsb2IgZnJvbSB0aGUgcmVzcG9uc2UgKi9cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBkZkJsb2IgPSBuZXcgQmxvYihbPGFueT54XSwgeyB0eXBlOiAnYXBwbGljYXRpb24vcGRmJyB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLyogQ3JlYXRlIGEgVVJMIGZvciB0aGUgUERGIEJsb2IgKi9cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBkZlNyYyA9IFVSTC5jcmVhdGVPYmplY3RVUkwodGhpcy5wZGZCbG9iKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8qIEhhbmRsZSBlcnJvciBhbmQgc2V0IGxvYWRpbmcgc3RhdGUgdG8gZmFsc2UgKi9cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UuY3JlYXRlKHRoaXMuZGF0YSkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICAgIG5leHQ6ICh4OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvKiBTZXQgbG9hZGluZyBzdGF0ZSB0byBmYWxzZSAqL1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8qIE1lcmdlIHJlc3BvbnNlIGRhdGEgd2l0aCBleGlzdGluZyBkYXRhICovXHJcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmRhdGEsIHgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAvKiBHZXQgdGhlIGlmcmFtZSBlbGVtZW50IGZyb20gdGhlIHRlbXBsYXRlIHJlZmVyZW5jZSB2YXJpYWJsZSAqL1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlmcmFtZSA9IHRoaXMuaWZyYW1lUmVmPy5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpZnJhbWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLyogQWNjZXNzIHRoZSBkb2N1bWVudCBvYmplY3Qgb2YgdGhlIGlmcmFtZSAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkb2MgPSBpZnJhbWUuY29udGVudERvY3VtZW50IHx8IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLyogV3JpdGUgdGhlIEhUTUwgY29udGVudCB0byB0aGUgaWZyYW1lICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvYy5vcGVuKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvYy53cml0ZSh4Py5jb250ZW50ID8/ICcnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZG9jLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLyogSGFuZGxlIGVycm9yIGFuZCBzZXQgbG9hZGluZyBzdGF0ZSB0byBmYWxzZSAqL1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNlbmRzIGEgbWFpbFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2VuZE1haWwoKSB7XHJcbiAgICAgICAgLyogVGhyb3cgYW4gZXhjZXB0aW9uIGlmIHRoaXMuZGF0YS5lbWFpbCBpcyBudWxsICovXHJcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5lbWFpbCA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW1haWwgaXMgbnVsbC4gQ2Fubm90IHNlbmQgbWFpbC4nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2VydmljZS5jcmVhdGUodGhpcy5kYXRhLCAnL3NlbmRNYWlsJykuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKHgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndGVtcGxhdGVQcmV2aWV3RW1haWwnLCB0aGlzLmRhdGEuZW1haWwhKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJGxvY2FsaXplYDpAQHNuYWNrYmFyLnNlbmQuc3VjY2VzczpEYXRhIHNlbnQgc3VjY2Vzc2Z1bGx5LmAsIHVuZGVmaW5lZCwge1xyXG4gICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxyXG4gICAgICAgICAgICAgICAgICAgIHBhbmVsQ2xhc3M6IFsncHJpbWFyeSddXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZXJyb3I6ICgpID0+IHRoaXMuaXNMb2FkaW5nID0gZmFsc2VcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERvd25sb2FkcyB0aGUgcGRmXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkb3dubG9hZCgpOiB2b2lkIHtcclxuICAgICAgICBzYXZlQXModGhpcy5wZGZCbG9iISwgXCJQZGYucGRmXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogWm9vbXMgaW4gdGhlIHBkZlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgem9vbUluKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuem9vbSArPSAwLjE7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBab29tcyBvdXQgdGhlIHBkZlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgem9vbU91dCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnpvb20gKz0gLTAuMTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENsb3NlcyB0aGUgZGlhbG9nXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRvZ2dsZSB0aGUgZGlhbG9nIGJldHdlZW4gbWF4aW1pemVkIGFuZCBub3JtYWwgc2l6ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdG9nZ2xlTWF4aW1pemUoKSB7XHJcbiAgICAgICAgdGhpcy5pc01heGltaXplZCA9ICF0aGlzLmlzTWF4aW1pemVkO1xyXG4gICAgICAgIC8qIEFwcGx5IG9yIHJlbW92ZSB0aGUgZnVsbC1zY3JlZW4gY2xhc3MgYmFzZWQgb24gdGhlIGlzTWF4aW1pemVkIGZsYWcgKi9cclxuICAgICAgICBpZiAodGhpcy5pc01heGltaXplZCkge1xyXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5hZGRQYW5lbENsYXNzKCdmdWxsLXNjcmVlbicpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLnJlbW92ZVBhbmVsQ2xhc3MoJ2Z1bGwtc2NyZWVuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiPGRpdiBtYXQtZGlhbG9nLXRpdGxlPlxyXG4gICAgPHNwYW4gaTE4bj1cIkBAdGVtcGxhdGVQcmV2aWV3XCI+VGVtcGxhdGUgcHJldmlldzwvc3Bhbj5cclxuICAgIDxzcGFuIGZsZXg+PC9zcGFuPlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGEudHlwZSA9PSBUZW1wbGF0ZVR5cGUuUGRmICYmIHBkZlNyYyB8fHRydWVcIj5cclxuICAgICAgICA8YSBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImRvd25sb2FkKClcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIGZvbnRTZXQ9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+ZG93bmxvYWQ8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgICA8YSBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInpvb21JbigpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBmb250U2V0PVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPnpvb21faW48L21hdC1pY29uPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgICA8YSBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInpvb21PdXQoKVwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gZm9udFNldD1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj56b29tX291dDwvbWF0LWljb24+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICAgIDxhIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlTWF4aW1pemUoKVwiIGNsYXNzPVwibWF4aW1pemUtYnV0dG9uXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj57eyBpc01heGltaXplZCA/ICdmdWxsc2NyZWVuX2V4aXQnIDogJ2Z1bGxzY3JlZW4nIH19PC9tYXQtaWNvbj5cclxuICAgICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxmb3JtICNmb3JtPVwibmdGb3JtXCIgbm92YWxpZGF0ZSBsYXlvdXQ9XCJjb2x1bW5cIiBmbGV4PlxyXG4gICAgPCEtLSAjcmVnaW9uIEVudGl0eSAtLT5cclxuICAgIDxkaXYgbGF5b3V0PVwicm93XCIgZmxleCAqbmdJZj1cImRhdGEuZW5kcG9pbnRcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZmxleCBsYXlvdXQtbWFyZ2luPlxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7ZGF0YS5lbnRpdHlOYW1lfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgPHZkLWNoaXBzIFsobmdNb2RlbCldPVwiZGF0YS5lbnRpdHlJZFwiIFtlbmRwb2ludF09XCJkYXRhLmVuZHBvaW50XCIgW3BhcmFtc109XCJ7c29ydEJ5OiAnaWQnfVwiIHRleHQ9XCJkaXNwbGF5TmFtZVwiIG5hbWU9XCJlbnRpdHlJZFwiICNlbnRpdHlJZD1cIm5nTW9kZWxcIiBbcGxhY2Vob2xkZXJdPVwiZGF0YS5lbnRpdHlOYW1lPz8nJ1wiIHJlcXVpcmVkIGZsZXg+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgdmQtY2hpcCBsZXQtZW50aXR5PVwiY2hpcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ZW50aXR5W2RhdGEuZGlzcGxheU5hbWU/PycnXX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSB2ZC1hdXRvY29tcGxldGUtb3B0aW9uIGxldC1lbnRpdHk9XCJvcHRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2VudGl0eVtkYXRhLmRpc3BsYXlOYW1lPz8nJ119fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvdmQtY2hpcHM+XHJcbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJlbnRpdHlJZC5lcnJvcnM/LnJlcXVpcmVkXCI+PHNwYW4+e3tkYXRhLmVudGl0eU5hbWV9fTwvc3Bhbj48c3BhbiBpMThuPVwiQEBpc1JlcXVpcmVkXCI+IGlzIHJlcXVpcmVkPC9zcGFuPjwvbWF0LWVycm9yPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gI2VuZHJlZ2lvbiAtLT5cclxuXHJcbiAgICA8ZGl2IGxheW91dD1cImNvbHVtblwiIGxheW91dC1ndC1zbT1cInJvd1wiIGNsYXNzPVwicHVzaC1ib3R0b21cIiBmbGV4ICpuZ0lmPVwiaXNMb2FkaW5nXCI+XHJcbiAgICAgICAgPGRpdiBmbGV4IGxheW91dC1tYXJnaW4+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdXNoLWJvdHRvbS1zbVwiIGkxOG49XCJAQHBsZWFzZVdhaXRcIj5QbGVhc2UgV2FpdC4uLjwvZGl2PlxyXG4gICAgICAgICAgICA8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gI3JlZ2lvbiBQREYgQ29udGVudCAtLT5cclxuICAgIDxtYXQtY2FyZCAqbmdJZj1cImRhdGEudHlwZSA9PSBUZW1wbGF0ZVR5cGUuUGRmXCIgZmxleD5cclxuICAgICAgICA8cGRmLXZpZXdlciBbc3JjXT1cInBkZlNyY1wiICpuZ0lmPVwiZGF0YS50eXBlID09IFRlbXBsYXRlVHlwZS5QZGYgJiYgcGRmU3JjXCIgW3JlbmRlci10ZXh0XT1cInRydWVcIiBbem9vbV09XCJ6b29tXCIgW3pvb20tc2NhbGVdPVwiem9vbVNjYWxlXCIgW3Nob3ctYm9yZGVyc109XCJ0cnVlXCIgW29yaWdpbmFsLXNpemVdPVwiZmFsc2VcIiBbYXV0b3Jlc2l6ZV09XCJ0cnVlXCI+PC9wZGYtdmlld2VyPlxyXG4gICAgPC9tYXQtY2FyZD5cclxuICAgIDwhLS0gI3JlZ2lvbiBDb250ZW50IC0tPlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJkYXRhLnR5cGUgIT0gVGVtcGxhdGVUeXBlLlBkZlwiIGxheW91dD1cImNvbHVtblwiIGNsYXNzPVwicGFkLXRvcC1ub25lXCIgbGF5b3V0LXBhZGRpbmcgbWFyZ2luLWxheW91dCBmbGV4PlxyXG4gICAgICAgIDwhLS0gI3JlZ2lvbiBDb250ZW50IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYWQtdG9wLW5vbmVcIiBsYXlvdXQtcGFkZGluZyBtYXJnaW4tbGF5b3V0IGZsZXg+XHJcbiAgICAgICAgICAgIDxpZnJhbWUgI2lmcmFtZVJlZiBmcmFtZWJvcmRlcj1cIjBcIj48L2lmcmFtZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tICNlbmRyZWdpb24gLS0+XHJcblxyXG4gICAgICAgIDwhLS0gI3JlZ2lvbiBFbWFpbC0tPlxyXG4gICAgICAgIDxkaXYgbGF5b3V0LWd0LXNtPVwicm93XCIgbGF5b3V0PVwiY29sdW1uXCIgY2xhc3M9XCJwYWQtdG9wXCI+XHJcbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmbGV4IGxheW91dC1tYXJnaW4+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIGkxOG49XCJAQGVtYWlsXCI+RW1haWw8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwiZW1haWxcIiBuYW1lPVwiZW1haWxcIiBbKG5nTW9kZWwpXT1cImRhdGEuZW1haWxcIiAjZW1haWw9XCJuZ01vZGVsXCIgZW1haWwgcGxhY2Vob2xkZXI9XCJFbWFpbFwiIGkxOG4tcGxhY2Vob2xkZXI9XCJAQGVtYWlsXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZW1haWwuZXJyb3JzPy5yZXF1aXJlZFwiPjxzcGFuIGkxOG49XCJAQGVtYWlsXCI+RW1haWw8L3NwYW4+PHNwYW4gaTE4bj1cIkBAaXNSZXF1aXJlZFwiPiBpcyByZXF1aXJlZDwvc3Bhbj48L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCIhZW1haWwuZXJyb3JzPy5yZXF1aXJlZCAmJiBlbWFpbC5lcnJvcnM/LmVtYWlsXCI+PHNwYW4gaTE4bj1cIkBAZW1haWxcIj5FbWFpbDwvc3Bhbj48c3BhbiBpMThuPVwiQEBpc0ludmFsaWRcIj4gaXMgaW52YWxpZDwvc3Bhbj48L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tICNlbmRyZWdpb24gLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgY2xhc3M9XCJwYWQtbGVmdFwiPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY2FuY2VsKClcIiBbYXV0b2ZvY3VzXT1cInRydWVcIiBpMThuPVwiQEBjbG9zZVwiPkNsb3NlPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWZsYXQtYnV0dG9uIChjbGljayk9XCJzZW5kTWFpbCgpXCIgW2Rpc2FibGVkXT1cImRhdGEuZW1haWwgPT0gdW5kZWZpbmVkIHx8ICFlbWFpbE1vZGVsPy52YWxpZFwiIGkxOG49XCJAQHNlbmRNYWlsXCI+U2VuZCBtYWlsPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9mb3JtPiJdfQ==
@@ -1,6 +0,0 @@
1
- export var ContentType;
2
- (function (ContentType) {
3
- ContentType[ContentType["Page"] = 1] = "Page";
4
- ContentType[ContentType["Block"] = 2] = "Block";
5
- })(ContentType || (ContentType = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrLWNtcy9zcmMvbGliL2VudW1zL2NvbnRlbnQtdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ25CLDZDQUFRLENBQUE7SUFDUiwrQ0FBSyxDQUFBO0FBQ1QsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ29udGVudFR5cGUge1xyXG4gICAgUGFnZSA9IDEsXHJcbiAgICBCbG9ja1xyXG59Il19
@@ -1,6 +0,0 @@
1
- export var FaqScope;
2
- (function (FaqScope) {
3
- FaqScope[FaqScope["CustomerPortal"] = 0] = "CustomerPortal";
4
- FaqScope[FaqScope["Admin"] = 1] = "Admin";
5
- })(FaqScope || (FaqScope = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFxLXNjb3BlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrLWNtcy9zcmMvbGliL2VudW1zL2ZhcS1zY29wZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxRQUdYO0FBSEQsV0FBWSxRQUFRO0lBQ25CLDJEQUFjLENBQUE7SUFDZCx5Q0FBSyxDQUFBO0FBQ04sQ0FBQyxFQUhXLFFBQVEsS0FBUixRQUFRLFFBR25CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRmFxU2NvcGUge1xyXG5cdEN1c3RvbWVyUG9ydGFsLFxyXG5cdEFkbWluXHJcbn0iXX0=
@@ -1,6 +0,0 @@
1
- export var TemplateType;
2
- (function (TemplateType) {
3
- TemplateType[TemplateType["Email"] = 0] = "Email";
4
- TemplateType[TemplateType["Pdf"] = 1] = "Pdf";
5
- })(TemplateType || (TemplateType = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay1jbXMvc3JjL2xpYi9lbnVtcy90ZW1wbGF0ZS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDcEIsaURBQUssQ0FBQTtJQUNMLDZDQUFHLENBQUE7QUFDUCxDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBUZW1wbGF0ZVR5cGUge1xyXG4gICAgRW1haWwsXHJcbiAgICBQZGZcclxufSJdfQ==
@@ -1,9 +0,0 @@
1
- export var WrapTag;
2
- (function (WrapTag) {
3
- WrapTag["None"] = "";
4
- WrapTag["Section"] = "section";
5
- WrapTag["Div"] = "div";
6
- WrapTag["Address"] = "address";
7
- WrapTag["Article"] = "article";
8
- })(WrapTag || (WrapTag = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcC10YWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGstY21zL3NyYy9saWIvZW51bXMvd3JhcC10YWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksT0FNWDtBQU5ELFdBQVksT0FBTztJQUNmLG9CQUFTLENBQUE7SUFDVCw4QkFBbUIsQ0FBQTtJQUNuQixzQkFBVyxDQUFBO0lBQ1gsOEJBQW1CLENBQUE7SUFDbkIsOEJBQW1CLENBQUE7QUFDdkIsQ0FBQyxFQU5XLE9BQU8sS0FBUCxPQUFPLFFBTWxCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gV3JhcFRhZyB7XHJcbiAgICBOb25lID0gJycsXHJcbiAgICBTZWN0aW9uID0gJ3NlY3Rpb24nLFxyXG4gICAgRGl2ID0gJ2RpdicsXHJcbiAgICBBZGRyZXNzID0gJ2FkZHJlc3MnLFxyXG4gICAgQXJ0aWNsZSA9ICdhcnRpY2xlJ1xyXG59Il19
@@ -1,37 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class CmsSettings {
4
- /**
5
- * @property
6
- */
7
- multiClients = false;
8
- /**
9
- * @property
10
- */
11
- multiDepartments = false;
12
- /**
13
- * @property
14
- */
15
- multitenantable = false;
16
- /**
17
- * @property
18
- */
19
- styleUrlEndpoint;
20
- /**
21
- * @property
22
- */
23
- editorHeight = '700px';
24
- /**
25
- * constructor
26
- * @param init
27
- */
28
- constructor(init) {
29
- Object.assign(this, init);
30
- }
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CmsSettings, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
32
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CmsSettings });
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CmsSettings, decorators: [{
35
- type: Injectable
36
- }], ctorParameters: () => [{ type: undefined }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrLWNtcy9zcmMvbGliL21vZGVscy9jbXMtc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLFdBQVc7SUFDcEI7O09BRUc7SUFDSSxZQUFZLEdBQWEsS0FBSyxDQUFDO0lBRXRDOztPQUVHO0lBQ0ksZ0JBQWdCLEdBQWEsS0FBSyxDQUFDO0lBRTFDOztPQUVHO0lBQ0ksZUFBZSxHQUFhLEtBQUssQ0FBQztJQUV6Qzs7T0FFRztJQUNJLGdCQUFnQixDQUFZO0lBRW5DOztPQUVHO0lBQ0ksWUFBWSxHQUFZLE9BQU8sQ0FBQztJQUV2Qzs7O09BR0c7SUFDSCxZQUFtQixJQUEyQjtRQUMxQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO3VHQWhDUSxXQUFXOzJHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENtc1NldHRpbmdzIHtcclxuICAgIC8qKlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtdWx0aUNsaWVudHM/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIG11bHRpRGVwYXJ0bWVudHM/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIG11bHRpdGVuYW50YWJsZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3R5bGVVcmxFbmRwb2ludD86IEZ1bmN0aW9uO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBlZGl0b3JIZWlnaHQ/OiBzdHJpbmcgPSAnNzAwcHgnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogY29uc3RydWN0b3JcclxuICAgICAqIEBwYXJhbSBpbml0IFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoaW5pdD86IFBhcnRpYWw8Q21zU2V0dGluZ3M+KSB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcclxuICAgIH1cclxufSJdfQ==