@messaia/cdk-cms 21.1.0 → 22.0.0-rc.3
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.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, inject, ViewChild, Component, Directive, Inject, ViewEncapsulation, NgModule } from '@angular/core';
|
|
3
|
-
import * as
|
|
2
|
+
import { Injectable, inject, ViewChild, ChangeDetectionStrategy, Component, Directive, Inject, ViewEncapsulation, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1$1 from '@angular/router';
|
|
4
4
|
import { RouterModule } from '@angular/router';
|
|
5
5
|
import * as i2 from '@messaia/cdk';
|
|
6
6
|
import { prop, required, AuditEntity, Column, FormField, Display, Grid, FormFieldType, Utils, Api, Table, GenericService, GenericReactiveFormComponent, EnumService, RxReactiveFormsModule, MatFormFieldEditorDirective, VdLayoutNavComponent, VdLayoutCardOverComponent, VdGenericFormComponent, VdEditorDirective, AuthHelper, SaveAction, VdFileInputComponent, BaseComponent, VdChipsComponent, GlobalRoles } from '@messaia/cdk';
|
|
@@ -8,22 +8,22 @@ import { VdAuditComponent, DocumentBase, VdDynamicListComponent, VdDynamicFormCo
|
|
|
8
8
|
import { ENTER, COMMA } from '@angular/cdk/keycodes';
|
|
9
9
|
import * as i3 from '@angular/common/http';
|
|
10
10
|
import { HttpEventType, HttpResponse } from '@angular/common/http';
|
|
11
|
-
import * as
|
|
11
|
+
import * as i4 from '@angular/forms';
|
|
12
12
|
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
13
|
-
import * as
|
|
13
|
+
import * as i8 from '@angular/material/button';
|
|
14
14
|
import { MatButtonModule } from '@angular/material/button';
|
|
15
|
-
import * as
|
|
15
|
+
import * as i6 from '@angular/material/expansion';
|
|
16
16
|
import { MatExpansionModule } from '@angular/material/expansion';
|
|
17
|
-
import * as
|
|
17
|
+
import * as i7 from '@angular/material/form-field';
|
|
18
18
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
19
|
-
import * as
|
|
19
|
+
import * as i5 from '@tinymce/tinymce-angular';
|
|
20
20
|
import { EditorModule } from '@tinymce/tinymce-angular';
|
|
21
21
|
import { of, map as map$1 } from 'rxjs';
|
|
22
|
-
import { __decorate
|
|
22
|
+
import { __decorate } from 'tslib';
|
|
23
23
|
import { map } from 'rxjs/operators';
|
|
24
|
-
import * as
|
|
24
|
+
import * as i3$1 from '@angular/material/dialog';
|
|
25
25
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
26
|
-
import * as
|
|
26
|
+
import * as i6$2 from '@ctrl/ngx-codemirror';
|
|
27
27
|
import { CodemirrorModule } from '@ctrl/ngx-codemirror';
|
|
28
28
|
import 'codemirror/addon/edit/closetag';
|
|
29
29
|
import 'codemirror/addon/edit/matchbrackets';
|
|
@@ -34,9 +34,9 @@ import { saveAs } from 'file-saver';
|
|
|
34
34
|
import { MatCard } from '@angular/material/card';
|
|
35
35
|
import { MatDivider } from '@angular/material/divider';
|
|
36
36
|
import { MatIcon } from '@angular/material/icon';
|
|
37
|
-
import * as
|
|
37
|
+
import * as i4$1 from '@angular/material/progress-bar';
|
|
38
38
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
39
|
-
import * as
|
|
39
|
+
import * as i6$1 from 'ng2-pdf-viewer';
|
|
40
40
|
import { PdfViewerModule } from 'ng2-pdf-viewer';
|
|
41
41
|
import * as i1 from 'angular-auth-oidc-client';
|
|
42
42
|
|
|
@@ -114,12 +114,10 @@ class ContentClient {
|
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
116
|
__decorate([
|
|
117
|
-
prop()
|
|
118
|
-
__metadata("design:type", Number)
|
|
117
|
+
prop()
|
|
119
118
|
], ContentClient.prototype, "contentId", void 0);
|
|
120
119
|
__decorate([
|
|
121
|
-
required()
|
|
122
|
-
__metadata("design:type", Number)
|
|
120
|
+
required()
|
|
123
121
|
], ContentClient.prototype, "clientId", void 0);
|
|
124
122
|
|
|
125
123
|
/**
|
|
@@ -151,12 +149,10 @@ class ContentDepartment {
|
|
|
151
149
|
}
|
|
152
150
|
}
|
|
153
151
|
__decorate([
|
|
154
|
-
prop()
|
|
155
|
-
__metadata("design:type", Number)
|
|
152
|
+
prop()
|
|
156
153
|
], ContentDepartment.prototype, "contentId", void 0);
|
|
157
154
|
__decorate([
|
|
158
|
-
required()
|
|
159
|
-
__metadata("design:type", Number)
|
|
155
|
+
required()
|
|
160
156
|
], ContentDepartment.prototype, "departmentId", void 0);
|
|
161
157
|
|
|
162
158
|
let Content = class Content extends AuditEntity {
|
|
@@ -258,50 +254,42 @@ let Content = class Content extends AuditEntity {
|
|
|
258
254
|
departmentJoins;
|
|
259
255
|
};
|
|
260
256
|
__decorate([
|
|
261
|
-
prop()
|
|
262
|
-
__metadata("design:type", Number)
|
|
257
|
+
prop()
|
|
263
258
|
], Content.prototype, "type", void 0);
|
|
264
259
|
__decorate([
|
|
265
|
-
prop()
|
|
266
|
-
__metadata("design:type", Number)
|
|
260
|
+
prop()
|
|
267
261
|
], Content.prototype, "sectionId", void 0);
|
|
268
262
|
__decorate([
|
|
269
263
|
required(),
|
|
270
264
|
Column(),
|
|
271
265
|
FormField({ row: 20 }),
|
|
272
|
-
Display($localize `:@@title:Title`)
|
|
273
|
-
__metadata("design:type", String)
|
|
266
|
+
Display($localize `:@@title:Title`)
|
|
274
267
|
], Content.prototype, "title", void 0);
|
|
275
268
|
__decorate([
|
|
276
269
|
required(),
|
|
277
270
|
Column({ maxWidth: 190, display: Grid.Md }),
|
|
278
271
|
FormField({ row: 30 }),
|
|
279
|
-
Display($localize `:@@name:Name`)
|
|
280
|
-
__metadata("design:type", String)
|
|
272
|
+
Display($localize `:@@name:Name`)
|
|
281
273
|
], Content.prototype, "name", void 0);
|
|
282
274
|
__decorate([
|
|
283
275
|
prop(),
|
|
284
276
|
FormField({ row: 40, type: FormFieldType.Chips }),
|
|
285
|
-
Display($localize `:@@aliases:Aliases`)
|
|
286
|
-
__metadata("design:type", String)
|
|
277
|
+
Display($localize `:@@aliases:Aliases`)
|
|
287
278
|
], Content.prototype, "aliases", void 0);
|
|
288
279
|
__decorate([
|
|
289
280
|
prop(),
|
|
290
281
|
FormField({ row: 50 }),
|
|
291
|
-
Display($localize `:@@wrap:Wrap`)
|
|
292
|
-
__metadata("design:type", String)
|
|
282
|
+
Display($localize `:@@wrap:Wrap`)
|
|
293
283
|
], Content.prototype, "wrapTag", void 0);
|
|
294
284
|
__decorate([
|
|
295
285
|
prop(),
|
|
296
286
|
FormField({ row: 50 }),
|
|
297
|
-
Display($localize `:@@layout:Layout`)
|
|
298
|
-
__metadata("design:type", String)
|
|
287
|
+
Display($localize `:@@layout:Layout`)
|
|
299
288
|
], Content.prototype, "layout", void 0);
|
|
300
289
|
__decorate([
|
|
301
290
|
prop(),
|
|
302
291
|
FormField({ row: 60, type: FormFieldType.Editor }),
|
|
303
|
-
Display($localize `:@@content:Content`)
|
|
304
|
-
__metadata("design:type", String)
|
|
292
|
+
Display($localize `:@@content:Content`)
|
|
305
293
|
], Content.prototype, "body", void 0);
|
|
306
294
|
__decorate([
|
|
307
295
|
prop(),
|
|
@@ -310,8 +298,7 @@ __decorate([
|
|
|
310
298
|
type: FormFieldType.TextArea,
|
|
311
299
|
hint: $localize `:@@scriptHint:Do not include <script> tags.`
|
|
312
300
|
}),
|
|
313
|
-
Display($localize `:@@bodyScript:Body Script`)
|
|
314
|
-
__metadata("design:type", String)
|
|
301
|
+
Display($localize `:@@bodyScript:Body Script`)
|
|
315
302
|
], Content.prototype, "script", void 0);
|
|
316
303
|
__decorate([
|
|
317
304
|
prop(),
|
|
@@ -320,8 +307,7 @@ __decorate([
|
|
|
320
307
|
type: FormFieldType.TextArea,
|
|
321
308
|
hint: $localize `:@@headScriptHint:Do not include <script> tags.`
|
|
322
309
|
}),
|
|
323
|
-
Display($localize `:@@headScript:Head Script`)
|
|
324
|
-
__metadata("design:type", String)
|
|
310
|
+
Display($localize `:@@headScript:Head Script`)
|
|
325
311
|
], Content.prototype, "headScript", void 0);
|
|
326
312
|
__decorate([
|
|
327
313
|
prop(),
|
|
@@ -330,8 +316,7 @@ __decorate([
|
|
|
330
316
|
type: FormFieldType.TextArea,
|
|
331
317
|
hint: $localize `:@@noScriptHint:Do not include <noscript> tags.`
|
|
332
318
|
}),
|
|
333
|
-
Display($localize `:@@noScript:NoScript`)
|
|
334
|
-
__metadata("design:type", String)
|
|
319
|
+
Display($localize `:@@noScript:NoScript`)
|
|
335
320
|
], Content.prototype, "noScript", void 0);
|
|
336
321
|
__decorate([
|
|
337
322
|
prop(),
|
|
@@ -340,14 +325,12 @@ __decorate([
|
|
|
340
325
|
type: FormFieldType.TextArea,
|
|
341
326
|
hint: $localize `:@@styleHint:Do not include <style> or <link> tags.`
|
|
342
327
|
}),
|
|
343
|
-
Display($localize `:@@style:Style`)
|
|
344
|
-
__metadata("design:type", String)
|
|
328
|
+
Display($localize `:@@style:Style`)
|
|
345
329
|
], Content.prototype, "style", void 0);
|
|
346
330
|
__decorate([
|
|
347
331
|
prop(),
|
|
348
332
|
FormField({ row: 200 }),
|
|
349
|
-
Display($localize `:@@showTitle:Show title`)
|
|
350
|
-
__metadata("design:type", Boolean)
|
|
333
|
+
Display($localize `:@@showTitle:Show title`)
|
|
351
334
|
], Content.prototype, "showTitle", void 0);
|
|
352
335
|
__decorate([
|
|
353
336
|
prop(),
|
|
@@ -356,8 +339,7 @@ __decorate([
|
|
|
356
339
|
event: 'toggle'
|
|
357
340
|
}),
|
|
358
341
|
FormField({ row: 210 }),
|
|
359
|
-
Display($localize `:@@enabled:Enabled`)
|
|
360
|
-
__metadata("design:type", Boolean)
|
|
342
|
+
Display($localize `:@@enabled:Enabled`)
|
|
361
343
|
], Content.prototype, "enabled", void 0);
|
|
362
344
|
__decorate([
|
|
363
345
|
required({ conditionalExpression: (x) => true }),
|
|
@@ -385,8 +367,7 @@ __decorate([
|
|
|
385
367
|
optionTemplate: (x) => x?.clientName,
|
|
386
368
|
triggerMapper: (x) => x?.clientName
|
|
387
369
|
}),
|
|
388
|
-
Display($localize `:@@projects:Projects`)
|
|
389
|
-
__metadata("design:type", Array)
|
|
370
|
+
Display($localize `:@@projects:Projects`)
|
|
390
371
|
], Content.prototype, "clientJoins", void 0);
|
|
391
372
|
__decorate([
|
|
392
373
|
prop(),
|
|
@@ -415,8 +396,7 @@ __decorate([
|
|
|
415
396
|
optionTemplate: (x) => x?.departmentName,
|
|
416
397
|
triggerMapper: (x) => x?.departmentName
|
|
417
398
|
}),
|
|
418
|
-
Display($localize `:@@departments:Departments`)
|
|
419
|
-
__metadata("design:type", Array)
|
|
399
|
+
Display($localize `:@@departments:Departments`)
|
|
420
400
|
], Content.prototype, "departmentJoins", void 0);
|
|
421
401
|
Content = __decorate([
|
|
422
402
|
Api('content'),
|
|
@@ -442,10 +422,10 @@ class ContentService extends GenericService {
|
|
|
442
422
|
isAliasAvailable(item) {
|
|
443
423
|
return this.create(item, '/isAliasAvailable').pipe(map((x) => x.value));
|
|
444
424
|
}
|
|
445
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
446
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
425
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ContentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
426
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ContentService, providedIn: 'root' });
|
|
447
427
|
}
|
|
448
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
428
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ContentService, decorators: [{
|
|
449
429
|
type: Injectable,
|
|
450
430
|
args: [{ providedIn: 'root' }]
|
|
451
431
|
}], ctorParameters: () => [] });
|
|
@@ -454,8 +434,6 @@ class ContentFormComponent extends GenericReactiveFormComponent {
|
|
|
454
434
|
service;
|
|
455
435
|
fileService;
|
|
456
436
|
httpClient;
|
|
457
|
-
route;
|
|
458
|
-
changeDetectorRef;
|
|
459
437
|
/**
|
|
460
438
|
* Injects the CmsSettings service using Angular's `inject()` function.
|
|
461
439
|
* This allows access to the CmsSettings instance outside of constructor-based dependency injection,
|
|
@@ -497,13 +475,11 @@ class ContentFormComponent extends GenericReactiveFormComponent {
|
|
|
497
475
|
/**
|
|
498
476
|
* Constructor
|
|
499
477
|
*/
|
|
500
|
-
constructor(service, fileService, httpClient
|
|
501
|
-
super(Content, service
|
|
478
|
+
constructor(service, fileService, httpClient) {
|
|
479
|
+
super(Content, service);
|
|
502
480
|
this.service = service;
|
|
503
481
|
this.fileService = fileService;
|
|
504
482
|
this.httpClient = httpClient;
|
|
505
|
-
this.route = route;
|
|
506
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
507
483
|
if (this.settings?.multitenantable || this.settings?.multiClients) {
|
|
508
484
|
this.include('ClientJoins', true);
|
|
509
485
|
}
|
|
@@ -697,12 +673,12 @@ class ContentFormComponent extends GenericReactiveFormComponent {
|
|
|
697
673
|
this.routeSubscription.unsubscribe();
|
|
698
674
|
}
|
|
699
675
|
}
|
|
700
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
701
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
676
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ContentFormComponent, deps: [{ token: ContentService }, { token: i2.FileService }, { token: i3.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
|
|
677
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: ContentFormComponent, isStandalone: true, selector: "app-content-form", viewQueries: [{ propertyName: "formElement", first: true, predicate: ["form"], descendants: true }, { propertyName: "editorComponent", first: true, predicate: ["editor"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<vd-layout-nav color=\"primary\" [backNavigationRoute]=\"listRoute\" toolbarTitle=\"Content\" i18n-toolbarTitle=\"@@content\" [editMode]=\"isEditMode\" [actions]=\"toolbarActions\" [data]=\"item\" [context]=\"this\">\r\n @if (form) {\r\n <form [formGroup]=\"form\" novalidate (ngSubmit)=\"save()\">\r\n <vd-layout-card-over class=\"accordion\" cardWidth=\"70\" color=\"primary\" flex>\r\n <mat-accordion [multi]=\"!isEditMode\">\r\n <!-- #region Details -->\r\n <mat-expansion-panel expanded=\"true\" id=\"details\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title i18n=\"@@details\">Details</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <vd-generic-form [formGroup]=\"form\" [fieldGroups]=\"fieldGroups\" [context]=\"this\">\r\n <ng-template vd-editor let-field=\"field\" let-formGroup=\"formGroup\">\r\n <mat-form-field [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\" flex>\r\n <mat-label>{{field.label}}</mat-label>\r\n <editor [formControlName]=\"field.name\" [init]=\"editorConfig\" tinyMatFormControl flex></editor>\r\n @if (field.hint) {\r\n <mat-hint>{{field.hint}}</mat-hint>\r\n }\r\n @for (errorMessage of formGroup.controls[field.name]['errorMessages']; track errorMessage) {\r\n <mat-error>{{errorMessage}}</mat-error>\r\n }\r\n </mat-form-field>\r\n </ng-template>\r\n </vd-generic-form>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n @if (isEditMode || true) {\r\n <button type=\"button\" mat-button (click)=\"apply()\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n }\r\n <button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n <!-- #endregion -->\r\n <!-- #region Audit -->\r\n @if (isEditMode) {\r\n <mat-expansion-panel id=\"audit\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <span i18n=\"@@audit\">Audit</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <vd-audit [entity]=\"item\"> </vd-audit>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"button\" mat-flat-button color=\"accent\" (click)=\"back()\" i18n=\"@@close\">Close</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n }\r\n <!-- #endregion -->\r\n </mat-accordion>\r\n </vd-layout-card-over>\r\n </form>\r\n }\r\n</vd-layout-nav>", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: RxReactiveFormsModule }, { 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: "ngmodule", type: EditorModule }, { kind: "component", type: i5.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "licenseKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i6.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i6.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: i6.MatExpansionPanelActionRow, selector: "mat-action-row" }, { kind: "component", type: i6.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i6.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i6.MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatFormFieldEditorDirective, selector: "[tinyMatFormControl]", inputs: ["errorStateMatcher", "disabled", "id", "placeholder", "required", "value"], outputs: ["editorChange"] }, { kind: "component", type: VdLayoutNavComponent, selector: "vd-layout-nav", inputs: ["toolbarTitle", "editMode", "actions", "data", "context", "hideToolbar", "icon", "logo", "color", "hideToggle", "backNavigationRoute", "navigationRoute"], outputs: ["reload"] }, { kind: "component", type: VdLayoutCardOverComponent, selector: "vd-layout-card-over", inputs: ["cardTitle", "cardSubtitle", "cardWidth", "color"] }, { kind: "component", type: VdGenericFormComponent, selector: "vd-generic-form", inputs: ["formGroup", "classType", "formDefinition", "fieldGroups", "groupName", "fieldSets", "context", "debugValue", "readonly", "separatorKeysCodes"], outputs: ["init"] }, { kind: "directive", type: VdEditorDirective, selector: "[vd-editor]ng-template" }, { kind: "component", type: VdAuditComponent, selector: "vd-audit", inputs: ["entity"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
702
678
|
}
|
|
703
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
679
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ContentFormComponent, decorators: [{
|
|
704
680
|
type: Component,
|
|
705
|
-
args: [{ selector: 'app-content-form', imports: [
|
|
681
|
+
args: [{ selector: 'app-content-form', changeDetection: ChangeDetectionStrategy.Eager, imports: [
|
|
706
682
|
ReactiveFormsModule,
|
|
707
683
|
RxReactiveFormsModule,
|
|
708
684
|
EditorModule,
|
|
@@ -716,7 +692,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
716
692
|
VdEditorDirective,
|
|
717
693
|
VdAuditComponent
|
|
718
694
|
], template: "<vd-layout-nav color=\"primary\" [backNavigationRoute]=\"listRoute\" toolbarTitle=\"Content\" i18n-toolbarTitle=\"@@content\" [editMode]=\"isEditMode\" [actions]=\"toolbarActions\" [data]=\"item\" [context]=\"this\">\r\n @if (form) {\r\n <form [formGroup]=\"form\" novalidate (ngSubmit)=\"save()\">\r\n <vd-layout-card-over class=\"accordion\" cardWidth=\"70\" color=\"primary\" flex>\r\n <mat-accordion [multi]=\"!isEditMode\">\r\n <!-- #region Details -->\r\n <mat-expansion-panel expanded=\"true\" id=\"details\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title i18n=\"@@details\">Details</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <vd-generic-form [formGroup]=\"form\" [fieldGroups]=\"fieldGroups\" [context]=\"this\">\r\n <ng-template vd-editor let-field=\"field\" let-formGroup=\"formGroup\">\r\n <mat-form-field [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\" flex>\r\n <mat-label>{{field.label}}</mat-label>\r\n <editor [formControlName]=\"field.name\" [init]=\"editorConfig\" tinyMatFormControl flex></editor>\r\n @if (field.hint) {\r\n <mat-hint>{{field.hint}}</mat-hint>\r\n }\r\n @for (errorMessage of formGroup.controls[field.name]['errorMessages']; track errorMessage) {\r\n <mat-error>{{errorMessage}}</mat-error>\r\n }\r\n </mat-form-field>\r\n </ng-template>\r\n </vd-generic-form>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n @if (isEditMode || true) {\r\n <button type=\"button\" mat-button (click)=\"apply()\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n }\r\n <button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n <!-- #endregion -->\r\n <!-- #region Audit -->\r\n @if (isEditMode) {\r\n <mat-expansion-panel id=\"audit\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <span i18n=\"@@audit\">Audit</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <vd-audit [entity]=\"item\"> </vd-audit>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"button\" mat-flat-button color=\"accent\" (click)=\"back()\" i18n=\"@@close\">Close</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n }\r\n <!-- #endregion -->\r\n </mat-accordion>\r\n </vd-layout-card-over>\r\n </form>\r\n }\r\n</vd-layout-nav>" }]
|
|
719
|
-
}], ctorParameters: () => [{ type: ContentService }, { type: i2.FileService }, { type: i3.HttpClient }
|
|
695
|
+
}], ctorParameters: () => [{ type: ContentService }, { type: i2.FileService }, { type: i3.HttpClient }], propDecorators: { formElement: [{
|
|
720
696
|
type: ViewChild,
|
|
721
697
|
args: ['form', { static: false }]
|
|
722
698
|
}], editorComponent: [{
|
|
@@ -771,8 +747,7 @@ __decorate([
|
|
|
771
747
|
readonly: (x) => (x.id ?? 0) > 0,
|
|
772
748
|
hide: (_, __, ctx) => ctx?.currentUser?.isDepartmentAdmin
|
|
773
749
|
}),
|
|
774
|
-
Display($localize `:@@project:Project`)
|
|
775
|
-
__metadata("design:type", Number)
|
|
750
|
+
Display($localize `:@@project:Project`)
|
|
776
751
|
], Document.prototype, "clientId", void 0);
|
|
777
752
|
__decorate([
|
|
778
753
|
prop(),
|
|
@@ -793,12 +768,10 @@ __decorate([
|
|
|
793
768
|
readonly: (x) => (x.id ?? 0) > 0 || !x.clientId,
|
|
794
769
|
hide: (_, __, ctx) => ctx?.currentUser?.isDepartmentAdmin
|
|
795
770
|
}),
|
|
796
|
-
Display($localize `:@@department:Department`)
|
|
797
|
-
__metadata("design:type", Number)
|
|
771
|
+
Display($localize `:@@department:Department`)
|
|
798
772
|
], Document.prototype, "departmentId", void 0);
|
|
799
773
|
__decorate([
|
|
800
|
-
required()
|
|
801
|
-
__metadata("design:type", String)
|
|
774
|
+
required()
|
|
802
775
|
], Document.prototype, "path", void 0);
|
|
803
776
|
Document = __decorate([
|
|
804
777
|
Table({
|
|
@@ -806,42 +779,9 @@ Document = __decorate([
|
|
|
806
779
|
projection: ['id', 'createdDate', 'name', 'extension', 'publicLink', 'isEditable', 'isDeletable'],
|
|
807
780
|
editable: false,
|
|
808
781
|
downloadable: true
|
|
809
|
-
})
|
|
810
|
-
__metadata("design:paramtypes", [Object])
|
|
782
|
+
})
|
|
811
783
|
], Document);
|
|
812
784
|
|
|
813
|
-
class DocumentGenericService extends GenericService {
|
|
814
|
-
/**
|
|
815
|
-
* Constructor
|
|
816
|
-
* @param serviceName
|
|
817
|
-
*/
|
|
818
|
-
constructor(serviceName) {
|
|
819
|
-
super(serviceName);
|
|
820
|
-
}
|
|
821
|
-
}
|
|
822
|
-
|
|
823
|
-
class DocumentService extends DocumentGenericService {
|
|
824
|
-
/**
|
|
825
|
-
* Constructor
|
|
826
|
-
*/
|
|
827
|
-
constructor() {
|
|
828
|
-
super('document');
|
|
829
|
-
}
|
|
830
|
-
/**
|
|
831
|
-
* Sends an email to the customer
|
|
832
|
-
* @param id The ID of the document
|
|
833
|
-
*/
|
|
834
|
-
sendMail(id) {
|
|
835
|
-
return this.update(`sendMail/${id}`, null);
|
|
836
|
-
}
|
|
837
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DocumentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
838
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DocumentService, providedIn: 'root' });
|
|
839
|
-
}
|
|
840
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DocumentService, decorators: [{
|
|
841
|
-
type: Injectable,
|
|
842
|
-
args: [{ providedIn: 'root' }]
|
|
843
|
-
}], ctorParameters: () => [] });
|
|
844
|
-
|
|
845
785
|
const DocumentFormTemplate = /* html */ `
|
|
846
786
|
<div mat-dialog-title class="mat-headline-6" i18n="@@newDocument">New document</div>
|
|
847
787
|
@if(form){
|
|
@@ -866,8 +806,6 @@ class DocumentFormBaseComponent extends GenericReactiveFormComponent {
|
|
|
866
806
|
documentService;
|
|
867
807
|
fileService;
|
|
868
808
|
dialogRef;
|
|
869
|
-
route;
|
|
870
|
-
changeDetectorRef;
|
|
871
809
|
data;
|
|
872
810
|
/**
|
|
873
811
|
* Upload status
|
|
@@ -880,14 +818,12 @@ class DocumentFormBaseComponent extends GenericReactiveFormComponent {
|
|
|
880
818
|
/**
|
|
881
819
|
* Constructor
|
|
882
820
|
*/
|
|
883
|
-
constructor(entityType, documentService, fileService, dialogRef,
|
|
884
|
-
super(entityType, documentService
|
|
821
|
+
constructor(entityType, documentService, fileService, dialogRef, data) {
|
|
822
|
+
super(entityType, documentService);
|
|
885
823
|
this.entityType = entityType;
|
|
886
824
|
this.documentService = documentService;
|
|
887
825
|
this.fileService = fileService;
|
|
888
826
|
this.dialogRef = dialogRef;
|
|
889
|
-
this.route = route;
|
|
890
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
891
827
|
this.data = data;
|
|
892
828
|
this.item = data;
|
|
893
829
|
}
|
|
@@ -940,29 +876,57 @@ class DocumentFormBaseComponent extends GenericReactiveFormComponent {
|
|
|
940
876
|
departmentId: this.currentUser?.departmentId
|
|
941
877
|
}), this.data || {}));
|
|
942
878
|
}
|
|
943
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
944
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
879
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DocumentFormBaseComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
880
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: DocumentFormBaseComponent, isStandalone: true, usesInheritance: true, ngImport: i0 });
|
|
945
881
|
}
|
|
946
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
882
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DocumentFormBaseComponent, decorators: [{
|
|
947
883
|
type: Directive
|
|
948
|
-
}], ctorParameters: () => [{ type: i0.Type }, { type: undefined }, { type: i2.FileService }, { type:
|
|
884
|
+
}], ctorParameters: () => [{ type: i0.Type }, { type: undefined }, { type: i2.FileService }, { type: i3$1.MatDialogRef }, { type: undefined }] });
|
|
885
|
+
|
|
886
|
+
class DocumentGenericService extends GenericService {
|
|
887
|
+
/**
|
|
888
|
+
* Constructor
|
|
889
|
+
* @param serviceName
|
|
890
|
+
*/
|
|
891
|
+
constructor(serviceName) {
|
|
892
|
+
super(serviceName);
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
class DocumentService extends DocumentGenericService {
|
|
897
|
+
/**
|
|
898
|
+
* Constructor
|
|
899
|
+
*/
|
|
900
|
+
constructor() {
|
|
901
|
+
super('document');
|
|
902
|
+
}
|
|
903
|
+
/**
|
|
904
|
+
* Sends an email to the customer
|
|
905
|
+
* @param id The ID of the document
|
|
906
|
+
*/
|
|
907
|
+
sendMail(id) {
|
|
908
|
+
return this.update(`sendMail/${id}`, null);
|
|
909
|
+
}
|
|
910
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DocumentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
911
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DocumentService, providedIn: 'root' });
|
|
912
|
+
}
|
|
913
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DocumentService, decorators: [{
|
|
914
|
+
type: Injectable,
|
|
915
|
+
args: [{ providedIn: 'root' }]
|
|
916
|
+
}], ctorParameters: () => [] });
|
|
949
917
|
|
|
950
918
|
class DocumentDialogComponent extends DocumentFormBaseComponent {
|
|
951
919
|
documentService;
|
|
952
920
|
fileService;
|
|
953
|
-
route;
|
|
954
|
-
changeDetectorRef;
|
|
955
921
|
dialogRef;
|
|
956
922
|
data;
|
|
957
923
|
/**
|
|
958
924
|
* Constructor
|
|
959
925
|
*/
|
|
960
|
-
constructor(documentService, fileService,
|
|
961
|
-
super(Document, documentService, fileService, dialogRef,
|
|
926
|
+
constructor(documentService, fileService, dialogRef, data = new Document()) {
|
|
927
|
+
super(Document, documentService, fileService, dialogRef, data);
|
|
962
928
|
this.documentService = documentService;
|
|
963
929
|
this.fileService = fileService;
|
|
964
|
-
this.route = route;
|
|
965
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
966
930
|
this.dialogRef = dialogRef;
|
|
967
931
|
this.data = data;
|
|
968
932
|
}
|
|
@@ -972,14 +936,15 @@ class DocumentDialogComponent extends DocumentFormBaseComponent {
|
|
|
972
936
|
onBeforeFormBuild() {
|
|
973
937
|
this.item.isPublic = true;
|
|
974
938
|
}
|
|
975
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
976
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
939
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DocumentDialogComponent, deps: [{ token: DocumentService }, { token: i2.FileService }, { token: i3$1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
940
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: DocumentDialogComponent, isStandalone: true, selector: "document-dialog", usesInheritance: true, ngImport: i0, template: "\n <div mat-dialog-title class=\"mat-headline-6\" i18n=\"@@newDocument\">New document</div>\n @if(form){\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <vd-generic-form [formGroup]=\"form\" [fieldGroups]=\"fieldGroups\" [context]=\"this\">\n <ng-template vd-file let-field=\"field\" let-formGroup=\"formGroup\">\n <mat-form-field [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\">\n <mat-label>{{field.header}}</mat-label>\n <div vd-file-input [formControlName]=\"field.name\" (select)=\"upload($event)\" [accept]=\"field.fileExtensions\"></div>\n </mat-form-field>\n </ng-template>\n </vd-generic-form>\n <div mat-dialog-actions class=\"pad-top\">\n <button type=\"submit\" mat-flat-button [disabled]=\"isSaving\" color=\"primary\" i18n=\"@@save\">Save</button>\n <button type=\"button\" mat-button (click)=\"cancel()\" i18n=\"@@cancel\">Cancel</button>\n </div>\n </form>\n }", isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i3$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "component", type: VdGenericFormComponent, selector: "vd-generic-form", inputs: ["formGroup", "classType", "formDefinition", "fieldGroups", "groupName", "fieldSets", "context", "debugValue", "readonly", "separatorKeysCodes"], outputs: ["init"] }, { kind: "component", type: VdFileInputComponent, selector: "[vd-file-input]", inputs: ["accept", "placeholder", "required", "multiple", "disabled", "errorState"], outputs: ["select", "clear"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
977
941
|
}
|
|
978
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
942
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DocumentDialogComponent, decorators: [{
|
|
979
943
|
type: Component,
|
|
980
944
|
args: [{
|
|
981
945
|
selector: 'document-dialog',
|
|
982
946
|
template: DocumentFormTemplate,
|
|
947
|
+
changeDetection: ChangeDetectionStrategy.Eager,
|
|
983
948
|
imports: [
|
|
984
949
|
ReactiveFormsModule,
|
|
985
950
|
MatDialogModule,
|
|
@@ -988,7 +953,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
988
953
|
VdFileInputComponent
|
|
989
954
|
]
|
|
990
955
|
}]
|
|
991
|
-
}], ctorParameters: () => [{ type: DocumentService }, { type: i2.FileService }, { type: i3$1.
|
|
956
|
+
}], ctorParameters: () => [{ type: DocumentService }, { type: i2.FileService }, { type: i3$1.MatDialogRef }, { type: Document, decorators: [{
|
|
992
957
|
type: Inject,
|
|
993
958
|
args: [MAT_DIALOG_DATA]
|
|
994
959
|
}] }] });
|
|
@@ -1022,12 +987,10 @@ class FaqClient {
|
|
|
1022
987
|
}
|
|
1023
988
|
}
|
|
1024
989
|
__decorate([
|
|
1025
|
-
prop()
|
|
1026
|
-
__metadata("design:type", Number)
|
|
990
|
+
prop()
|
|
1027
991
|
], FaqClient.prototype, "faqId", void 0);
|
|
1028
992
|
__decorate([
|
|
1029
|
-
required()
|
|
1030
|
-
__metadata("design:type", Number)
|
|
993
|
+
required()
|
|
1031
994
|
], FaqClient.prototype, "clientId", void 0);
|
|
1032
995
|
|
|
1033
996
|
/**
|
|
@@ -1059,12 +1022,10 @@ class FaqDepartment {
|
|
|
1059
1022
|
}
|
|
1060
1023
|
}
|
|
1061
1024
|
__decorate([
|
|
1062
|
-
prop()
|
|
1063
|
-
__metadata("design:type", Number)
|
|
1025
|
+
prop()
|
|
1064
1026
|
], FaqDepartment.prototype, "faqId", void 0);
|
|
1065
1027
|
__decorate([
|
|
1066
|
-
required()
|
|
1067
|
-
__metadata("design:type", Number)
|
|
1028
|
+
required()
|
|
1068
1029
|
], FaqDepartment.prototype, "departmentId", void 0);
|
|
1069
1030
|
|
|
1070
1031
|
let Faq = class Faq extends AuditEntity {
|
|
@@ -1119,8 +1080,7 @@ __decorate([
|
|
|
1119
1080
|
contentLength: 30
|
|
1120
1081
|
}),
|
|
1121
1082
|
FormField({ row: 10 }),
|
|
1122
|
-
Display($localize `:@@question:Question`)
|
|
1123
|
-
__metadata("design:type", String)
|
|
1083
|
+
Display($localize `:@@question:Question`)
|
|
1124
1084
|
], Faq.prototype, "question", void 0);
|
|
1125
1085
|
__decorate([
|
|
1126
1086
|
required(),
|
|
@@ -1133,8 +1093,7 @@ __decorate([
|
|
|
1133
1093
|
row: 20,
|
|
1134
1094
|
type: FormFieldType.Autocomplete
|
|
1135
1095
|
}),
|
|
1136
|
-
Display($localize `:@@group:Group`)
|
|
1137
|
-
__metadata("design:type", String)
|
|
1096
|
+
Display($localize `:@@group:Group`)
|
|
1138
1097
|
], Faq.prototype, "group", void 0);
|
|
1139
1098
|
__decorate([
|
|
1140
1099
|
required({ conditionalExpression: (x) => true }),
|
|
@@ -1163,8 +1122,7 @@ __decorate([
|
|
|
1163
1122
|
optionTemplate: (x) => x?.clientName,
|
|
1164
1123
|
triggerMapper: (x) => x?.clientName
|
|
1165
1124
|
}),
|
|
1166
|
-
Display($localize `:@@projects:Projects`)
|
|
1167
|
-
__metadata("design:type", Array)
|
|
1125
|
+
Display($localize `:@@projects:Projects`)
|
|
1168
1126
|
], Faq.prototype, "clientJoins", void 0);
|
|
1169
1127
|
__decorate([
|
|
1170
1128
|
prop(),
|
|
@@ -1194,14 +1152,12 @@ __decorate([
|
|
|
1194
1152
|
optionTemplate: (x) => x?.departmentName,
|
|
1195
1153
|
triggerMapper: (x) => x?.departmentName
|
|
1196
1154
|
}),
|
|
1197
|
-
Display($localize `:@@departments:Departments`)
|
|
1198
|
-
__metadata("design:type", Array)
|
|
1155
|
+
Display($localize `:@@departments:Departments`)
|
|
1199
1156
|
], Faq.prototype, "departmentJoins", void 0);
|
|
1200
1157
|
__decorate([
|
|
1201
1158
|
prop(),
|
|
1202
1159
|
FormField({ row: 20 }),
|
|
1203
|
-
Display($localize `:@@ordering:Ordering`)
|
|
1204
|
-
__metadata("design:type", Number)
|
|
1160
|
+
Display($localize `:@@ordering:Ordering`)
|
|
1205
1161
|
], Faq.prototype, "ordering", void 0);
|
|
1206
1162
|
__decorate([
|
|
1207
1163
|
required(),
|
|
@@ -1209,8 +1165,7 @@ __decorate([
|
|
|
1209
1165
|
row: 50,
|
|
1210
1166
|
type: FormFieldType.Editor
|
|
1211
1167
|
}),
|
|
1212
|
-
Display($localize `:@@answer:Answer`)
|
|
1213
|
-
__metadata("design:type", String)
|
|
1168
|
+
Display($localize `:@@answer:Answer`)
|
|
1214
1169
|
], Faq.prototype, "answer", void 0);
|
|
1215
1170
|
__decorate([
|
|
1216
1171
|
prop(),
|
|
@@ -1219,8 +1174,7 @@ __decorate([
|
|
|
1219
1174
|
event: 'toggle'
|
|
1220
1175
|
}),
|
|
1221
1176
|
FormField({ row: 100 }),
|
|
1222
|
-
Display($localize `:@@enabled:Enabled`)
|
|
1223
|
-
__metadata("design:type", Boolean)
|
|
1177
|
+
Display($localize `:@@enabled:Enabled`)
|
|
1224
1178
|
], Faq.prototype, "enabled", void 0);
|
|
1225
1179
|
Faq = __decorate([
|
|
1226
1180
|
Api('faq'),
|
|
@@ -1228,8 +1182,7 @@ Faq = __decorate([
|
|
|
1228
1182
|
endpoint: 'faq',
|
|
1229
1183
|
projection: ['id', 'createdDate', 'question', 'group', 'enabled'],
|
|
1230
1184
|
duplicable: true
|
|
1231
|
-
})
|
|
1232
|
-
__metadata("design:paramtypes", [Object])
|
|
1185
|
+
})
|
|
1233
1186
|
], Faq);
|
|
1234
1187
|
|
|
1235
1188
|
class FaqService extends GenericService {
|
|
@@ -1239,10 +1192,10 @@ class FaqService extends GenericService {
|
|
|
1239
1192
|
constructor() {
|
|
1240
1193
|
super('faq');
|
|
1241
1194
|
}
|
|
1242
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1243
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1195
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FaqService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1196
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FaqService, providedIn: 'root' });
|
|
1244
1197
|
}
|
|
1245
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FaqService, decorators: [{
|
|
1246
1199
|
type: Injectable,
|
|
1247
1200
|
args: [{ providedIn: 'root' }]
|
|
1248
1201
|
}], ctorParameters: () => [] });
|
|
@@ -1251,8 +1204,6 @@ class FaqFormComponent extends GenericReactiveFormComponent {
|
|
|
1251
1204
|
service;
|
|
1252
1205
|
fileService;
|
|
1253
1206
|
httpClient;
|
|
1254
|
-
route;
|
|
1255
|
-
changeDetectorRef;
|
|
1256
1207
|
/**
|
|
1257
1208
|
* Injects the CmsSettings service using Angular's `inject()` function.
|
|
1258
1209
|
* This allows access to the CmsSettings instance outside of constructor-based dependency injection,
|
|
@@ -1262,13 +1213,11 @@ class FaqFormComponent extends GenericReactiveFormComponent {
|
|
|
1262
1213
|
/**
|
|
1263
1214
|
* Constructor
|
|
1264
1215
|
*/
|
|
1265
|
-
constructor(service, fileService, httpClient
|
|
1266
|
-
super(Faq, service
|
|
1216
|
+
constructor(service, fileService, httpClient) {
|
|
1217
|
+
super(Faq, service);
|
|
1267
1218
|
this.service = service;
|
|
1268
1219
|
this.fileService = fileService;
|
|
1269
1220
|
this.httpClient = httpClient;
|
|
1270
|
-
this.route = route;
|
|
1271
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
1272
1221
|
if (this.settings?.multitenantable || this.settings?.multiClients) {
|
|
1273
1222
|
this.include('ClientJoins', true);
|
|
1274
1223
|
}
|
|
@@ -1294,12 +1243,12 @@ class FaqFormComponent extends GenericReactiveFormComponent {
|
|
|
1294
1243
|
showClientJoins() {
|
|
1295
1244
|
return (!this.canCreate || (!this.settings?.multitenantable && !this.settings?.multiClients)) || this.isClientAdmin;
|
|
1296
1245
|
}
|
|
1297
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1298
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1246
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FaqFormComponent, deps: [{ token: FaqService }, { token: i2.FileService }, { token: i3.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
|
|
1247
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: FaqFormComponent, isStandalone: true, selector: "app-faq-form", usesInheritance: true, ngImport: i0, template: "<vd-layout-nav color=\"primary\" [backNavigationRoute]=\"listRoute\" toolbarTitle=\"FAQ\" i18n-toolbarTitle=\"@@faq\" [editMode]=\"isEditMode\" [actions]=\"toolbarActions\" [data]=\"item\" [context]=\"this\">\r\n @if (form) {\r\n <form [formGroup]=\"form\" novalidate (ngSubmit)=\"save()\">\r\n <vd-layout-card-over class=\"accordion\" cardWidth=\"70\" color=\"primary\" flex>\r\n <mat-accordion [multi]=\"!isEditMode\">\r\n <!-- #region Details -->\r\n <mat-expansion-panel expanded=\"true\" id=\"details\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title i18n=\"@@details\">Details</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <vd-generic-form [formGroup]=\"form\" [fieldGroups]=\"fieldGroups\" [context]=\"this\">\r\n <ng-template vd-editor let-field=\"field\" let-formGroup=\"formGroup\">\r\n <mat-form-field [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\" flex>\r\n <mat-label>{{field.label}}</mat-label>\r\n <editor [formControlName]=\"field.name\" [init]=\"editorConfig\" tinyMatFormControl flex></editor>\r\n @if (field.hint) {\r\n <mat-hint>{{field.hint}}</mat-hint>\r\n }\r\n @for (errorMessage of formGroup.controls[field.name]['errorMessages']; track errorMessage) {\r\n <mat-error>{{errorMessage}}</mat-error>\r\n }\r\n </mat-form-field>\r\n </ng-template>\r\n </vd-generic-form>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n @if (isEditMode || true) {\r\n <button type=\"button\" mat-button (click)=\"apply()\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n }\r\n <button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n <!-- #endregion -->\r\n <!-- #region Audit -->\r\n @if (isEditMode) {\r\n <mat-expansion-panel id=\"audit\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <span i18n=\"@@audit\">Audit</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <vd-audit [entity]=\"item\"> </vd-audit>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"button\" mat-flat-button color=\"accent\" (click)=\"back()\" i18n=\"@@close\">Close</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n }\r\n <!-- #endregion -->\r\n </mat-accordion>\r\n </vd-layout-card-over>\r\n </form>\r\n }\r\n</vd-layout-nav>", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: RxReactiveFormsModule }, { 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: "ngmodule", type: EditorModule }, { kind: "component", type: i5.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "licenseKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i6.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i6.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: i6.MatExpansionPanelActionRow, selector: "mat-action-row" }, { kind: "component", type: i6.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i6.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i6.MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatFormFieldEditorDirective, selector: "[tinyMatFormControl]", inputs: ["errorStateMatcher", "disabled", "id", "placeholder", "required", "value"], outputs: ["editorChange"] }, { kind: "component", type: VdLayoutNavComponent, selector: "vd-layout-nav", inputs: ["toolbarTitle", "editMode", "actions", "data", "context", "hideToolbar", "icon", "logo", "color", "hideToggle", "backNavigationRoute", "navigationRoute"], outputs: ["reload"] }, { kind: "component", type: VdLayoutCardOverComponent, selector: "vd-layout-card-over", inputs: ["cardTitle", "cardSubtitle", "cardWidth", "color"] }, { kind: "component", type: VdGenericFormComponent, selector: "vd-generic-form", inputs: ["formGroup", "classType", "formDefinition", "fieldGroups", "groupName", "fieldSets", "context", "debugValue", "readonly", "separatorKeysCodes"], outputs: ["init"] }, { kind: "directive", type: VdEditorDirective, selector: "[vd-editor]ng-template" }, { kind: "component", type: VdAuditComponent, selector: "vd-audit", inputs: ["entity"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
1299
1248
|
}
|
|
1300
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1249
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FaqFormComponent, decorators: [{
|
|
1301
1250
|
type: Component,
|
|
1302
|
-
args: [{ selector: 'app-faq-form', imports: [
|
|
1251
|
+
args: [{ selector: 'app-faq-form', changeDetection: ChangeDetectionStrategy.Eager, imports: [
|
|
1303
1252
|
ReactiveFormsModule,
|
|
1304
1253
|
RxReactiveFormsModule,
|
|
1305
1254
|
EditorModule,
|
|
@@ -1313,7 +1262,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
1313
1262
|
VdEditorDirective,
|
|
1314
1263
|
VdAuditComponent
|
|
1315
1264
|
], template: "<vd-layout-nav color=\"primary\" [backNavigationRoute]=\"listRoute\" toolbarTitle=\"FAQ\" i18n-toolbarTitle=\"@@faq\" [editMode]=\"isEditMode\" [actions]=\"toolbarActions\" [data]=\"item\" [context]=\"this\">\r\n @if (form) {\r\n <form [formGroup]=\"form\" novalidate (ngSubmit)=\"save()\">\r\n <vd-layout-card-over class=\"accordion\" cardWidth=\"70\" color=\"primary\" flex>\r\n <mat-accordion [multi]=\"!isEditMode\">\r\n <!-- #region Details -->\r\n <mat-expansion-panel expanded=\"true\" id=\"details\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title i18n=\"@@details\">Details</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <vd-generic-form [formGroup]=\"form\" [fieldGroups]=\"fieldGroups\" [context]=\"this\">\r\n <ng-template vd-editor let-field=\"field\" let-formGroup=\"formGroup\">\r\n <mat-form-field [attr.flex]=\"field.flex||0\" layout-margin appearance=\"outline\" flex>\r\n <mat-label>{{field.label}}</mat-label>\r\n <editor [formControlName]=\"field.name\" [init]=\"editorConfig\" tinyMatFormControl flex></editor>\r\n @if (field.hint) {\r\n <mat-hint>{{field.hint}}</mat-hint>\r\n }\r\n @for (errorMessage of formGroup.controls[field.name]['errorMessages']; track errorMessage) {\r\n <mat-error>{{errorMessage}}</mat-error>\r\n }\r\n </mat-form-field>\r\n </ng-template>\r\n </vd-generic-form>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n @if (isEditMode || true) {\r\n <button type=\"button\" mat-button (click)=\"apply()\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n }\r\n <button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n <!-- #endregion -->\r\n <!-- #region Audit -->\r\n @if (isEditMode) {\r\n <mat-expansion-panel id=\"audit\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <span i18n=\"@@audit\">Audit</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <vd-audit [entity]=\"item\"> </vd-audit>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"button\" mat-flat-button color=\"accent\" (click)=\"back()\" i18n=\"@@close\">Close</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n }\r\n <!-- #endregion -->\r\n </mat-accordion>\r\n </vd-layout-card-over>\r\n </form>\r\n }\r\n</vd-layout-nav>" }]
|
|
1316
|
-
}], ctorParameters: () => [{ type: FaqService }, { type: i2.FileService }, { type: i3.HttpClient }
|
|
1265
|
+
}], ctorParameters: () => [{ type: FaqService }, { type: i2.FileService }, { type: i3.HttpClient }] });
|
|
1317
1266
|
|
|
1318
1267
|
var TemplateType;
|
|
1319
1268
|
(function (TemplateType) {
|
|
@@ -1357,12 +1306,10 @@ class TemplateClient {
|
|
|
1357
1306
|
}
|
|
1358
1307
|
}
|
|
1359
1308
|
__decorate([
|
|
1360
|
-
prop()
|
|
1361
|
-
__metadata("design:type", Number)
|
|
1309
|
+
prop()
|
|
1362
1310
|
], TemplateClient.prototype, "templateId", void 0);
|
|
1363
1311
|
__decorate([
|
|
1364
|
-
required()
|
|
1365
|
-
__metadata("design:type", Number)
|
|
1312
|
+
required()
|
|
1366
1313
|
], TemplateClient.prototype, "clientId", void 0);
|
|
1367
1314
|
|
|
1368
1315
|
/**
|
|
@@ -1394,12 +1341,10 @@ class TemplateDepartment {
|
|
|
1394
1341
|
}
|
|
1395
1342
|
}
|
|
1396
1343
|
__decorate([
|
|
1397
|
-
prop()
|
|
1398
|
-
__metadata("design:type", Number)
|
|
1344
|
+
prop()
|
|
1399
1345
|
], TemplateDepartment.prototype, "templateId", void 0);
|
|
1400
1346
|
__decorate([
|
|
1401
|
-
required()
|
|
1402
|
-
__metadata("design:type", Number)
|
|
1347
|
+
required()
|
|
1403
1348
|
], TemplateDepartment.prototype, "departmentId", void 0);
|
|
1404
1349
|
|
|
1405
1350
|
let Template = class Template extends AuditEntity {
|
|
@@ -1507,8 +1452,7 @@ __decorate([
|
|
|
1507
1452
|
enumType: TemplateEngine,
|
|
1508
1453
|
fieldSets: ['details']
|
|
1509
1454
|
}),
|
|
1510
|
-
Display($localize `:@@engine:Engine`)
|
|
1511
|
-
__metadata("design:type", Number)
|
|
1455
|
+
Display($localize `:@@engine:Engine`)
|
|
1512
1456
|
], Template.prototype, "engine", void 0);
|
|
1513
1457
|
__decorate([
|
|
1514
1458
|
required(),
|
|
@@ -1517,8 +1461,7 @@ __decorate([
|
|
|
1517
1461
|
enumType: TemplateType,
|
|
1518
1462
|
fieldSets: ['details']
|
|
1519
1463
|
}),
|
|
1520
|
-
Display($localize `:@@type:Type`)
|
|
1521
|
-
__metadata("design:type", Number)
|
|
1464
|
+
Display($localize `:@@type:Type`)
|
|
1522
1465
|
], Template.prototype, "type", void 0);
|
|
1523
1466
|
__decorate([
|
|
1524
1467
|
required(),
|
|
@@ -1527,8 +1470,7 @@ __decorate([
|
|
|
1527
1470
|
row: 10,
|
|
1528
1471
|
fieldSets: ['details']
|
|
1529
1472
|
}),
|
|
1530
|
-
Display($localize `:@@name:Name`)
|
|
1531
|
-
__metadata("design:type", String)
|
|
1473
|
+
Display($localize `:@@name:Name`)
|
|
1532
1474
|
], Template.prototype, "name", void 0);
|
|
1533
1475
|
__decorate([
|
|
1534
1476
|
prop(),
|
|
@@ -1540,8 +1482,7 @@ __decorate([
|
|
|
1540
1482
|
fieldSets: ['details'],
|
|
1541
1483
|
change: (_, __, ___, ctx) => ctx?.loadDraft()
|
|
1542
1484
|
}),
|
|
1543
|
-
Display($localize `:@@draft:Draft`)
|
|
1544
|
-
__metadata("design:type", String)
|
|
1485
|
+
Display($localize `:@@draft:Draft`)
|
|
1545
1486
|
], Template.prototype, "draft", void 0);
|
|
1546
1487
|
__decorate([
|
|
1547
1488
|
prop(),
|
|
@@ -1550,8 +1491,7 @@ __decorate([
|
|
|
1550
1491
|
row: 30,
|
|
1551
1492
|
fieldSets: ['details']
|
|
1552
1493
|
}),
|
|
1553
|
-
Display($localize `:@@subject:Subject`)
|
|
1554
|
-
__metadata("design:type", String)
|
|
1494
|
+
Display($localize `:@@subject:Subject`)
|
|
1555
1495
|
], Template.prototype, "subject", void 0);
|
|
1556
1496
|
__decorate([
|
|
1557
1497
|
required(),
|
|
@@ -1560,8 +1500,7 @@ __decorate([
|
|
|
1560
1500
|
row: 10,
|
|
1561
1501
|
fieldSets: ['details']
|
|
1562
1502
|
}),
|
|
1563
|
-
Display('Key')
|
|
1564
|
-
__metadata("design:type", String)
|
|
1503
|
+
Display('Key')
|
|
1565
1504
|
], Template.prototype, "key", void 0);
|
|
1566
1505
|
__decorate([
|
|
1567
1506
|
prop(),
|
|
@@ -1570,21 +1509,17 @@ __decorate([
|
|
|
1570
1509
|
type: FormFieldType.TextArea,
|
|
1571
1510
|
fieldSets: ['details']
|
|
1572
1511
|
}),
|
|
1573
|
-
Display($localize `:@@notice:Notice`)
|
|
1574
|
-
__metadata("design:type", String)
|
|
1512
|
+
Display($localize `:@@notice:Notice`)
|
|
1575
1513
|
], Template.prototype, "notice", void 0);
|
|
1576
1514
|
__decorate([
|
|
1577
1515
|
prop(),
|
|
1578
|
-
Display($localize `:@@email:Email`)
|
|
1579
|
-
__metadata("design:type", String)
|
|
1516
|
+
Display($localize `:@@email:Email`)
|
|
1580
1517
|
], Template.prototype, "email", void 0);
|
|
1581
1518
|
__decorate([
|
|
1582
|
-
required()
|
|
1583
|
-
__metadata("design:type", String)
|
|
1519
|
+
required()
|
|
1584
1520
|
], Template.prototype, "content", void 0);
|
|
1585
1521
|
__decorate([
|
|
1586
|
-
prop()
|
|
1587
|
-
__metadata("design:type", String)
|
|
1522
|
+
prop()
|
|
1588
1523
|
], Template.prototype, "dummyData", void 0);
|
|
1589
1524
|
__decorate([
|
|
1590
1525
|
required({ conditionalExpression: (x) => true }),
|
|
@@ -1614,8 +1549,7 @@ __decorate([
|
|
|
1614
1549
|
optionTemplate: (x) => x?.clientName,
|
|
1615
1550
|
triggerMapper: (x) => x?.clientName
|
|
1616
1551
|
}),
|
|
1617
|
-
Display($localize `:@@projects:Projects`)
|
|
1618
|
-
__metadata("design:type", Array)
|
|
1552
|
+
Display($localize `:@@projects:Projects`)
|
|
1619
1553
|
], Template.prototype, "clientJoins", void 0);
|
|
1620
1554
|
__decorate([
|
|
1621
1555
|
prop(),
|
|
@@ -1646,8 +1580,7 @@ __decorate([
|
|
|
1646
1580
|
optionTemplate: (x) => x?.departmentName,
|
|
1647
1581
|
triggerMapper: (x) => x?.departmentName
|
|
1648
1582
|
}),
|
|
1649
|
-
Display($localize `:@@departments:Departments`)
|
|
1650
|
-
__metadata("design:type", Array)
|
|
1583
|
+
Display($localize `:@@departments:Departments`)
|
|
1651
1584
|
], Template.prototype, "departmentJoins", void 0);
|
|
1652
1585
|
__decorate([
|
|
1653
1586
|
prop(),
|
|
@@ -1661,8 +1594,7 @@ __decorate([
|
|
|
1661
1594
|
fieldSets: ['details'],
|
|
1662
1595
|
readonly: _ => true
|
|
1663
1596
|
}),
|
|
1664
|
-
Display($localize `:@@reviewed:Reviewed`)
|
|
1665
|
-
__metadata("design:type", Boolean)
|
|
1597
|
+
Display($localize `:@@reviewed:Reviewed`)
|
|
1666
1598
|
], Template.prototype, "reviewed", void 0);
|
|
1667
1599
|
__decorate([
|
|
1668
1600
|
prop(),
|
|
@@ -1671,12 +1603,10 @@ __decorate([
|
|
|
1671
1603
|
row: 100,
|
|
1672
1604
|
fieldSets: ['details']
|
|
1673
1605
|
}),
|
|
1674
|
-
Display($localize `:@@enabled:Enabled`)
|
|
1675
|
-
__metadata("design:type", Boolean)
|
|
1606
|
+
Display($localize `:@@enabled:Enabled`)
|
|
1676
1607
|
], Template.prototype, "enabled", void 0);
|
|
1677
1608
|
__decorate([
|
|
1678
|
-
prop()
|
|
1679
|
-
__metadata("design:type", Array)
|
|
1609
|
+
prop()
|
|
1680
1610
|
], Template.prototype, "attachments", void 0);
|
|
1681
1611
|
Template = __decorate([
|
|
1682
1612
|
Table({
|
|
@@ -1732,36 +1662,6 @@ class TemplatePreview {
|
|
|
1732
1662
|
}
|
|
1733
1663
|
}
|
|
1734
1664
|
|
|
1735
|
-
class TemplateService extends GenericService {
|
|
1736
|
-
/**
|
|
1737
|
-
* Constructor
|
|
1738
|
-
*/
|
|
1739
|
-
constructor() {
|
|
1740
|
-
super('template');
|
|
1741
|
-
}
|
|
1742
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TemplateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1743
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TemplateService, providedIn: 'root' });
|
|
1744
|
-
}
|
|
1745
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TemplateService, decorators: [{
|
|
1746
|
-
type: Injectable,
|
|
1747
|
-
args: [{ providedIn: 'root' }]
|
|
1748
|
-
}], ctorParameters: () => [] });
|
|
1749
|
-
|
|
1750
|
-
class TemplateDocService extends GenericService {
|
|
1751
|
-
/**
|
|
1752
|
-
* Constructor
|
|
1753
|
-
*/
|
|
1754
|
-
constructor() {
|
|
1755
|
-
super('templateDoc');
|
|
1756
|
-
}
|
|
1757
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TemplateDocService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1758
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TemplateDocService, providedIn: 'root' });
|
|
1759
|
-
}
|
|
1760
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TemplateDocService, decorators: [{
|
|
1761
|
-
type: Injectable,
|
|
1762
|
-
args: [{ providedIn: 'root' }]
|
|
1763
|
-
}], ctorParameters: () => [] });
|
|
1764
|
-
|
|
1765
1665
|
class TemplatePreviewService extends GenericService {
|
|
1766
1666
|
/**
|
|
1767
1667
|
* Constructor
|
|
@@ -1769,10 +1669,10 @@ class TemplatePreviewService extends GenericService {
|
|
|
1769
1669
|
constructor() {
|
|
1770
1670
|
super('templatePreview');
|
|
1771
1671
|
}
|
|
1772
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1773
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1672
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TemplatePreviewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1673
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TemplatePreviewService, providedIn: 'root' });
|
|
1774
1674
|
}
|
|
1775
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1675
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TemplatePreviewService, decorators: [{
|
|
1776
1676
|
type: Injectable,
|
|
1777
1677
|
args: [{ providedIn: 'root' }]
|
|
1778
1678
|
}], ctorParameters: () => [] });
|
|
@@ -1781,8 +1681,6 @@ class TemplatePreviewDialogComponent extends BaseComponent {
|
|
|
1781
1681
|
service;
|
|
1782
1682
|
dialogRef;
|
|
1783
1683
|
data;
|
|
1784
|
-
route;
|
|
1785
|
-
changeDetectorRef;
|
|
1786
1684
|
/**
|
|
1787
1685
|
* TemplateType
|
|
1788
1686
|
*/
|
|
@@ -1822,13 +1720,11 @@ class TemplatePreviewDialogComponent extends BaseComponent {
|
|
|
1822
1720
|
* @param dialogRef
|
|
1823
1721
|
* @param data
|
|
1824
1722
|
*/
|
|
1825
|
-
constructor(service, dialogRef, data
|
|
1826
|
-
super(
|
|
1723
|
+
constructor(service, dialogRef, data) {
|
|
1724
|
+
super();
|
|
1827
1725
|
this.service = service;
|
|
1828
1726
|
this.dialogRef = dialogRef;
|
|
1829
1727
|
this.data = data;
|
|
1830
|
-
this.route = route;
|
|
1831
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
1832
1728
|
this.data.email = localStorage.getItem('templatePreviewEmail') ?? '';
|
|
1833
1729
|
}
|
|
1834
1730
|
/**
|
|
@@ -1936,12 +1832,12 @@ class TemplatePreviewDialogComponent extends BaseComponent {
|
|
|
1936
1832
|
this.dialogRef.removePanelClass('full-screen');
|
|
1937
1833
|
}
|
|
1938
1834
|
}
|
|
1939
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1940
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1835
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TemplatePreviewDialogComponent, deps: [{ token: TemplatePreviewService }, { token: i3$1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
1836
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: TemplatePreviewDialogComponent, isStandalone: true, 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 @if (data.type == TemplateType.Pdf && pdfSrc ||true) {\r\n <div>\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 }\r\n</div>\r\n<form #form=\"ngForm\" novalidate layout=\"column\" flex>\r\n <!-- #region Entity -->\r\n @if (data.endpoint) {\r\n <div layout=\"row\" flex>\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 @if (entityId.errors!['required']) {\r\n <mat-error><span>{{data.entityName}}</span><span i18n=\"@@isRequired\"> is required</span></mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n }\r\n <!-- #endregion -->\r\n\r\n @if (isLoading) {\r\n <div layout=\"column\" layout-gt-sm=\"row\" class=\"push-bottom\" flex>\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\r\n <!-- #region PDF Content -->\r\n @if (data.type == TemplateType.Pdf) {\r\n <mat-card flex>\r\n @if (data.type == TemplateType.Pdf && pdfSrc) {\r\n <pdf-viewer [src]=\"pdfSrc\" [render-text]=\"true\" [zoom]=\"zoom\" [zoom-scale]=\"zoomScale\" [show-borders]=\"true\" [original-size]=\"false\" [autoresize]=\"true\"></pdf-viewer>\r\n }\r\n </mat-card>\r\n }\r\n <!-- #region Content -->\r\n\r\n @if (data.type != TemplateType.Pdf) {\r\n <div 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 <!-- #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 @if (email.errors && email.errors!['required']) {\r\n <mat-error><span i18n=\"@@email\">Email</span><span i18n=\"@@isRequired\"> is required</span></mat-error>\r\n }\r\n @if (!email.errors!['required'] && email.errors!['email']) {\r\n <mat-error><span i18n=\"@@email\">Email</span><span i18n=\"@@isInvalid\"> is invalid</span></mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n <!-- #endregion -->\r\n </div>\r\n }\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: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i4$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: 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: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: PdfViewerModule }, { kind: "component", type: i6$1.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"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
1941
1837
|
}
|
|
1942
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1838
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TemplatePreviewDialogComponent, decorators: [{
|
|
1943
1839
|
type: Component,
|
|
1944
|
-
args: [{ selector: 'app-template-preview', imports: [
|
|
1840
|
+
args: [{ selector: 'app-template-preview', changeDetection: ChangeDetectionStrategy.Eager, imports: [
|
|
1945
1841
|
MatIcon,
|
|
1946
1842
|
MatFormFieldModule,
|
|
1947
1843
|
MatProgressBarModule,
|
|
@@ -1951,10 +1847,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
1951
1847
|
FormsModule,
|
|
1952
1848
|
PdfViewerModule
|
|
1953
1849
|
], template: "<div mat-dialog-title>\r\n <span i18n=\"@@templatePreview\">Template preview</span>\r\n <span flex></span>\r\n @if (data.type == TemplateType.Pdf && pdfSrc ||true) {\r\n <div>\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 }\r\n</div>\r\n<form #form=\"ngForm\" novalidate layout=\"column\" flex>\r\n <!-- #region Entity -->\r\n @if (data.endpoint) {\r\n <div layout=\"row\" flex>\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 @if (entityId.errors!['required']) {\r\n <mat-error><span>{{data.entityName}}</span><span i18n=\"@@isRequired\"> is required</span></mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n }\r\n <!-- #endregion -->\r\n\r\n @if (isLoading) {\r\n <div layout=\"column\" layout-gt-sm=\"row\" class=\"push-bottom\" flex>\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\r\n <!-- #region PDF Content -->\r\n @if (data.type == TemplateType.Pdf) {\r\n <mat-card flex>\r\n @if (data.type == TemplateType.Pdf && pdfSrc) {\r\n <pdf-viewer [src]=\"pdfSrc\" [render-text]=\"true\" [zoom]=\"zoom\" [zoom-scale]=\"zoomScale\" [show-borders]=\"true\" [original-size]=\"false\" [autoresize]=\"true\"></pdf-viewer>\r\n }\r\n </mat-card>\r\n }\r\n <!-- #region Content -->\r\n\r\n @if (data.type != TemplateType.Pdf) {\r\n <div 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 <!-- #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 @if (email.errors && email.errors!['required']) {\r\n <mat-error><span i18n=\"@@email\">Email</span><span i18n=\"@@isRequired\"> is required</span></mat-error>\r\n }\r\n @if (!email.errors!['required'] && email.errors!['email']) {\r\n <mat-error><span i18n=\"@@email\">Email</span><span i18n=\"@@isInvalid\"> is invalid</span></mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n <!-- #endregion -->\r\n </div>\r\n }\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"] }]
|
|
1954
|
-
}], ctorParameters: () => [{ type: TemplatePreviewService }, { type:
|
|
1850
|
+
}], ctorParameters: () => [{ type: TemplatePreviewService }, { type: i3$1.MatDialogRef }, { type: TemplatePreview, decorators: [{
|
|
1955
1851
|
type: Inject,
|
|
1956
1852
|
args: [MAT_DIALOG_DATA]
|
|
1957
|
-
}] }
|
|
1853
|
+
}] }], propDecorators: { iframeRef: [{
|
|
1958
1854
|
type: ViewChild,
|
|
1959
1855
|
args: ['iframeRef', { static: false }]
|
|
1960
1856
|
}], emailModel: [{
|
|
@@ -1962,13 +1858,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
1962
1858
|
args: ['email']
|
|
1963
1859
|
}] } });
|
|
1964
1860
|
|
|
1861
|
+
class TemplateService extends GenericService {
|
|
1862
|
+
/**
|
|
1863
|
+
* Constructor
|
|
1864
|
+
*/
|
|
1865
|
+
constructor() {
|
|
1866
|
+
super('template');
|
|
1867
|
+
}
|
|
1868
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TemplateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1869
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TemplateService, providedIn: 'root' });
|
|
1870
|
+
}
|
|
1871
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TemplateService, decorators: [{
|
|
1872
|
+
type: Injectable,
|
|
1873
|
+
args: [{ providedIn: 'root' }]
|
|
1874
|
+
}], ctorParameters: () => [] });
|
|
1875
|
+
|
|
1876
|
+
class TemplateDocService extends GenericService {
|
|
1877
|
+
/**
|
|
1878
|
+
* Constructor
|
|
1879
|
+
*/
|
|
1880
|
+
constructor() {
|
|
1881
|
+
super('templateDoc');
|
|
1882
|
+
}
|
|
1883
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TemplateDocService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1884
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TemplateDocService, providedIn: 'root' });
|
|
1885
|
+
}
|
|
1886
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TemplateDocService, decorators: [{
|
|
1887
|
+
type: Injectable,
|
|
1888
|
+
args: [{ providedIn: 'root' }]
|
|
1889
|
+
}], ctorParameters: () => [] });
|
|
1890
|
+
|
|
1965
1891
|
class TemplateFormComponent extends GenericReactiveFormComponent {
|
|
1966
1892
|
service;
|
|
1967
1893
|
templateDocService;
|
|
1968
1894
|
fileService;
|
|
1969
1895
|
dialog;
|
|
1970
|
-
route;
|
|
1971
|
-
changeDetectorRef;
|
|
1972
1896
|
/**
|
|
1973
1897
|
* Injects the CmsSettings service using Angular's `inject()` function.
|
|
1974
1898
|
* This allows access to the CmsSettings instance outside of constructor-based dependency injection,
|
|
@@ -2015,14 +1939,12 @@ class TemplateFormComponent extends GenericReactiveFormComponent {
|
|
|
2015
1939
|
/**
|
|
2016
1940
|
* Initializes an instance of TemplateFormComponent.
|
|
2017
1941
|
*/
|
|
2018
|
-
constructor(service, templateDocService, fileService, dialog
|
|
2019
|
-
super(Template, service
|
|
1942
|
+
constructor(service, templateDocService, fileService, dialog) {
|
|
1943
|
+
super(Template, service);
|
|
2020
1944
|
this.service = service;
|
|
2021
1945
|
this.templateDocService = templateDocService;
|
|
2022
1946
|
this.fileService = fileService;
|
|
2023
1947
|
this.dialog = dialog;
|
|
2024
|
-
this.route = route;
|
|
2025
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
2026
1948
|
if (this.settings?.multitenantable || this.settings?.multiClients) {
|
|
2027
1949
|
this.include('ClientJoins', true);
|
|
2028
1950
|
}
|
|
@@ -2111,12 +2033,12 @@ class TemplateFormComponent extends GenericReactiveFormComponent {
|
|
|
2111
2033
|
this.form.markAllAsTouched();
|
|
2112
2034
|
});
|
|
2113
2035
|
}
|
|
2114
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2115
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: TemplateFormComponent, isStandalone: true, 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 @if (form) {\r\n <form [formGroup]=\"form\" novalidate (ngSubmit)=\"save()\">\r\n <vd-layout-card-over class=\"accordion\" cardWidth=\"70\" color=\"primary\" flex>\r\n <mat-accordion [multi]=\"!isEditMode\">\r\n <!-- #region Details -->\r\n <mat-expansion-panel expanded=\"true\" id=\"details\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title i18n=\"@@details\">Details</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <vd-generic-form [formGroup]=\"form\" [fieldGroups]=\"fieldGroups\" [fieldSets]=\"['details']\" [context]=\"this\"></vd-generic-form>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n @if (isEditMode) {\r\n <button type=\"button\" mat-button (click)=\"apply()\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n }\r\n <button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n <!-- #endregion -->\r\n <!-- #region Content -->\r\n <mat-expansion-panel id=\"content\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <span i18n=\"@@content\">Content</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div layout-margin>\r\n <ngx-codemirror formControlName=\"content\" rows=\"160\" [options]=\"editorOptions\"></ngx-codemirror>\r\n </div>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n @if (isEditMode) {\r\n <button type=\"button\" mat-button (click)=\"apply()\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n }\r\n @if (isEditMode) {\r\n <button type=\"button\" mat-button (click)=\"showPreview()\" [disabled]=\"isSaving || !form.pristine\" i18n=\"@@preview\">Preview</button>\r\n }\r\n <button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n <!-- #endregion -->\r\n <!-- #region Content -->\r\n <mat-expansion-panel id=\"testData\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <span i18n=\"@@testData\">Test Data</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div layout-margin>\r\n <ngx-codemirror formControlName=\"dummyData\" rows=\"120\" [options]=\"jsonEditorOptions\"></ngx-codemirror>\r\n </div>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n @if (isEditMode) {\r\n <button type=\"button\" mat-button (click)=\"apply()\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n }\r\n @if (isEditMode) {\r\n <button type=\"button\" mat-button (click)=\"showPreview()\" [disabled]=\"isSaving || !form.pristine\" i18n=\"@@preview\">Preview</button>\r\n }\r\n <button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n <!-- #endregion -->\r\n <!-- #region Audit -->\r\n @if (isEditMode) {\r\n <mat-expansion-panel id=\"audit\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <span i18n=\"@@audit\">Audit</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <vd-audit [entity]=\"item\"> </vd-audit>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"button\" mat-flat-button color=\"accent\" (click)=\"back()\" i18n=\"@@close\">Close</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n }\r\n <!-- #endregion -->\r\n </mat-accordion>\r\n </vd-layout-card-over>\r\n </form>\r\n }\r\n</vd-layout-nav>", styles: ["codemirror{width:100%}.CodeMirror{height:500px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: RxReactiveFormsModule }, { 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: "ngmodule", type: CodemirrorModule }, { kind: "component", type: i7$2.CodemirrorComponent, selector: "ngx-codemirror", inputs: ["className", "name", "autoFocus", "options", "preserveScrollPosition"], outputs: ["cursorActivity", "focusChange", "scroll", "drop", "codeMirrorLoaded"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i7.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i7.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: i7.MatExpansionPanelActionRow, selector: "mat-action-row" }, { kind: "component", type: i7.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i7.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i7.MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i9.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: VdLayoutNavComponent, selector: "vd-layout-nav", inputs: ["toolbarTitle", "editMode", "actions", "data", "context", "hideToolbar", "icon", "logo", "color", "hideToggle", "backNavigationRoute", "navigationRoute"], outputs: ["reload"] }, { kind: "component", type: VdLayoutCardOverComponent, selector: "vd-layout-card-over", inputs: ["cardTitle", "cardSubtitle", "cardWidth", "color"] }, { kind: "component", type: VdGenericFormComponent, selector: "vd-generic-form", inputs: ["formGroup", "classType", "formDefinition", "fieldGroups", "groupName", "fieldSets", "context", "debugValue", "readonly", "separatorKeysCodes"], outputs: ["init"] }, { kind: "component", type: VdAuditComponent, selector: "vd-audit", inputs: ["entity"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
2036
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TemplateFormComponent, deps: [{ token: TemplateService }, { token: TemplateDocService }, { token: i2.FileService }, { token: i3$1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
2037
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: TemplateFormComponent, isStandalone: true, 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 @if (form) {\r\n <form [formGroup]=\"form\" novalidate (ngSubmit)=\"save()\">\r\n <vd-layout-card-over class=\"accordion\" cardWidth=\"70\" color=\"primary\" flex>\r\n <mat-accordion [multi]=\"!isEditMode\">\r\n <!-- #region Details -->\r\n <mat-expansion-panel expanded=\"true\" id=\"details\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title i18n=\"@@details\">Details</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <vd-generic-form [formGroup]=\"form\" [fieldGroups]=\"fieldGroups\" [fieldSets]=\"['details']\" [context]=\"this\"></vd-generic-form>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n @if (isEditMode) {\r\n <button type=\"button\" mat-button (click)=\"apply()\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n }\r\n <button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n <!-- #endregion -->\r\n <!-- #region Content -->\r\n <mat-expansion-panel id=\"content\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <span i18n=\"@@content\">Content</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div layout-margin>\r\n <ngx-codemirror formControlName=\"content\" rows=\"160\" [options]=\"editorOptions\"></ngx-codemirror>\r\n </div>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n @if (isEditMode) {\r\n <button type=\"button\" mat-button (click)=\"apply()\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n }\r\n @if (isEditMode) {\r\n <button type=\"button\" mat-button (click)=\"showPreview()\" [disabled]=\"isSaving || !form.pristine\" i18n=\"@@preview\">Preview</button>\r\n }\r\n <button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n <!-- #endregion -->\r\n <!-- #region Content -->\r\n <mat-expansion-panel id=\"testData\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <span i18n=\"@@testData\">Test Data</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div layout-margin>\r\n <ngx-codemirror formControlName=\"dummyData\" rows=\"120\" [options]=\"jsonEditorOptions\"></ngx-codemirror>\r\n </div>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n @if (isEditMode) {\r\n <button type=\"button\" mat-button (click)=\"apply()\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n }\r\n @if (isEditMode) {\r\n <button type=\"button\" mat-button (click)=\"showPreview()\" [disabled]=\"isSaving || !form.pristine\" i18n=\"@@preview\">Preview</button>\r\n }\r\n <button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n <!-- #endregion -->\r\n <!-- #region Audit -->\r\n @if (isEditMode) {\r\n <mat-expansion-panel id=\"audit\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <span i18n=\"@@audit\">Audit</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <vd-audit [entity]=\"item\"> </vd-audit>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"button\" mat-flat-button color=\"accent\" (click)=\"back()\" i18n=\"@@close\">Close</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n }\r\n <!-- #endregion -->\r\n </mat-accordion>\r\n </vd-layout-card-over>\r\n </form>\r\n }\r\n</vd-layout-nav>", styles: ["codemirror{width:100%}.CodeMirror{height:500px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: RxReactiveFormsModule }, { 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: "ngmodule", type: CodemirrorModule }, { kind: "component", type: i6$2.CodemirrorComponent, selector: "ngx-codemirror", inputs: ["className", "name", "autoFocus", "options", "preserveScrollPosition"], outputs: ["cursorActivity", "focusChange", "scroll", "drop", "codeMirrorLoaded"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i6.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i6.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: i6.MatExpansionPanelActionRow, selector: "mat-action-row" }, { kind: "component", type: i6.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i6.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i6.MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: VdLayoutNavComponent, selector: "vd-layout-nav", inputs: ["toolbarTitle", "editMode", "actions", "data", "context", "hideToolbar", "icon", "logo", "color", "hideToggle", "backNavigationRoute", "navigationRoute"], outputs: ["reload"] }, { kind: "component", type: VdLayoutCardOverComponent, selector: "vd-layout-card-over", inputs: ["cardTitle", "cardSubtitle", "cardWidth", "color"] }, { kind: "component", type: VdGenericFormComponent, selector: "vd-generic-form", inputs: ["formGroup", "classType", "formDefinition", "fieldGroups", "groupName", "fieldSets", "context", "debugValue", "readonly", "separatorKeysCodes"], outputs: ["init"] }, { kind: "component", type: VdAuditComponent, selector: "vd-audit", inputs: ["entity"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
|
|
2116
2038
|
}
|
|
2117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2039
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: TemplateFormComponent, decorators: [{
|
|
2118
2040
|
type: Component,
|
|
2119
|
-
args: [{ selector: 'app-template-form', encapsulation: ViewEncapsulation.None, imports: [
|
|
2041
|
+
args: [{ selector: 'app-template-form', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Eager, imports: [
|
|
2120
2042
|
ReactiveFormsModule,
|
|
2121
2043
|
RxReactiveFormsModule,
|
|
2122
2044
|
CodemirrorModule,
|
|
@@ -2127,7 +2049,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
2127
2049
|
VdGenericFormComponent,
|
|
2128
2050
|
VdAuditComponent
|
|
2129
2051
|
], template: "<vd-layout-nav color=\"primary\" [backNavigationRoute]=\"listRoute\" toolbarTitle=\"Template\" i18n-toolbarTitle=\"@@template\" [editMode]=\"isEditMode\" [actions]=\"toolbarActions\" [data]=\"item\" [context]=\"this\">\r\n @if (form) {\r\n <form [formGroup]=\"form\" novalidate (ngSubmit)=\"save()\">\r\n <vd-layout-card-over class=\"accordion\" cardWidth=\"70\" color=\"primary\" flex>\r\n <mat-accordion [multi]=\"!isEditMode\">\r\n <!-- #region Details -->\r\n <mat-expansion-panel expanded=\"true\" id=\"details\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title i18n=\"@@details\">Details</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <vd-generic-form [formGroup]=\"form\" [fieldGroups]=\"fieldGroups\" [fieldSets]=\"['details']\" [context]=\"this\"></vd-generic-form>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n @if (isEditMode) {\r\n <button type=\"button\" mat-button (click)=\"apply()\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n }\r\n <button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n <!-- #endregion -->\r\n <!-- #region Content -->\r\n <mat-expansion-panel id=\"content\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <span i18n=\"@@content\">Content</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div layout-margin>\r\n <ngx-codemirror formControlName=\"content\" rows=\"160\" [options]=\"editorOptions\"></ngx-codemirror>\r\n </div>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n @if (isEditMode) {\r\n <button type=\"button\" mat-button (click)=\"apply()\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n }\r\n @if (isEditMode) {\r\n <button type=\"button\" mat-button (click)=\"showPreview()\" [disabled]=\"isSaving || !form.pristine\" i18n=\"@@preview\">Preview</button>\r\n }\r\n <button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n <!-- #endregion -->\r\n <!-- #region Content -->\r\n <mat-expansion-panel id=\"testData\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <span i18n=\"@@testData\">Test Data</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div layout-margin>\r\n <ngx-codemirror formControlName=\"dummyData\" rows=\"120\" [options]=\"jsonEditorOptions\"></ngx-codemirror>\r\n </div>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"submit\" mat-flat-button color=\"primary\" [disabled]=\"isSaving\" i18n=\"@@save\">Save</button>\r\n @if (isEditMode) {\r\n <button type=\"button\" mat-button (click)=\"apply()\" [disabled]=\"isSaving\" i18n=\"@@apply\">Apply</button>\r\n }\r\n @if (isEditMode) {\r\n <button type=\"button\" mat-button (click)=\"showPreview()\" [disabled]=\"isSaving || !form.pristine\" i18n=\"@@preview\">Preview</button>\r\n }\r\n <button type=\"button\" mat-button (click)=\"back()\" i18n=\"@@cancel\">Cancel</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n <!-- #endregion -->\r\n <!-- #region Audit -->\r\n @if (isEditMode) {\r\n <mat-expansion-panel id=\"audit\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <span i18n=\"@@audit\">Audit</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <vd-audit [entity]=\"item\"> </vd-audit>\r\n </ng-template>\r\n <mat-action-row>\r\n <button type=\"button\" mat-flat-button color=\"accent\" (click)=\"back()\" i18n=\"@@close\">Close</button>\r\n <span flex></span>\r\n </mat-action-row>\r\n </mat-expansion-panel>\r\n }\r\n <!-- #endregion -->\r\n </mat-accordion>\r\n </vd-layout-card-over>\r\n </form>\r\n }\r\n</vd-layout-nav>", styles: ["codemirror{width:100%}.CodeMirror{height:500px}\n"] }]
|
|
2130
|
-
}], ctorParameters: () => [{ type: TemplateService }, { type: TemplateDocService }, { type: i2.FileService }, { type:
|
|
2052
|
+
}], ctorParameters: () => [{ type: TemplateService }, { type: TemplateDocService }, { type: i2.FileService }, { type: i3$1.MatDialog }] });
|
|
2131
2053
|
|
|
2132
2054
|
/**
|
|
2133
2055
|
* @class
|
|
@@ -2158,12 +2080,10 @@ class ContentVariableClient {
|
|
|
2158
2080
|
}
|
|
2159
2081
|
}
|
|
2160
2082
|
__decorate([
|
|
2161
|
-
prop()
|
|
2162
|
-
__metadata("design:type", Number)
|
|
2083
|
+
prop()
|
|
2163
2084
|
], ContentVariableClient.prototype, "contentVariableId", void 0);
|
|
2164
2085
|
__decorate([
|
|
2165
|
-
required()
|
|
2166
|
-
__metadata("design:type", Number)
|
|
2086
|
+
required()
|
|
2167
2087
|
], ContentVariableClient.prototype, "clientId", void 0);
|
|
2168
2088
|
|
|
2169
2089
|
/**
|
|
@@ -2195,12 +2115,10 @@ class ContentVariableDepartment {
|
|
|
2195
2115
|
}
|
|
2196
2116
|
}
|
|
2197
2117
|
__decorate([
|
|
2198
|
-
prop()
|
|
2199
|
-
__metadata("design:type", Number)
|
|
2118
|
+
prop()
|
|
2200
2119
|
], ContentVariableDepartment.prototype, "contentVariableId", void 0);
|
|
2201
2120
|
__decorate([
|
|
2202
|
-
required()
|
|
2203
|
-
__metadata("design:type", Number)
|
|
2121
|
+
required()
|
|
2204
2122
|
], ContentVariableDepartment.prototype, "departmentId", void 0);
|
|
2205
2123
|
|
|
2206
2124
|
let ContentVariable = class ContentVariable extends AuditEntity {
|
|
@@ -2230,22 +2148,19 @@ let ContentVariable = class ContentVariable extends AuditEntity {
|
|
|
2230
2148
|
enabled;
|
|
2231
2149
|
};
|
|
2232
2150
|
__decorate([
|
|
2233
|
-
prop()
|
|
2234
|
-
__metadata("design:type", String)
|
|
2151
|
+
prop()
|
|
2235
2152
|
], ContentVariable.prototype, "title", void 0);
|
|
2236
2153
|
__decorate([
|
|
2237
2154
|
required(),
|
|
2238
2155
|
FormField({ row: 10 }),
|
|
2239
2156
|
Column({}),
|
|
2240
|
-
Display($localize `:@@name:Name`)
|
|
2241
|
-
__metadata("design:type", String)
|
|
2157
|
+
Display($localize `:@@name:Name`)
|
|
2242
2158
|
], ContentVariable.prototype, "name", void 0);
|
|
2243
2159
|
__decorate([
|
|
2244
2160
|
required(),
|
|
2245
2161
|
FormField({ row: 11 }),
|
|
2246
2162
|
Column({ display: Grid.Sm }),
|
|
2247
|
-
Display($localize `:@@value:Value`)
|
|
2248
|
-
__metadata("design:type", String)
|
|
2163
|
+
Display($localize `:@@value:Value`)
|
|
2249
2164
|
], ContentVariable.prototype, "value", void 0);
|
|
2250
2165
|
__decorate([
|
|
2251
2166
|
required({ conditionalExpression: (x) => true }),
|
|
@@ -2275,8 +2190,7 @@ __decorate([
|
|
|
2275
2190
|
optionTemplate: (x) => x?.clientName,
|
|
2276
2191
|
triggerMapper: (x) => x?.clientName
|
|
2277
2192
|
}),
|
|
2278
|
-
Display($localize `:@@projects:Projects`)
|
|
2279
|
-
__metadata("design:type", Array)
|
|
2193
|
+
Display($localize `:@@projects:Projects`)
|
|
2280
2194
|
], ContentVariable.prototype, "clientJoins", void 0);
|
|
2281
2195
|
__decorate([
|
|
2282
2196
|
prop(),
|
|
@@ -2307,15 +2221,13 @@ __decorate([
|
|
|
2307
2221
|
optionTemplate: (x) => x?.departmentName,
|
|
2308
2222
|
triggerMapper: (x) => x?.departmentName
|
|
2309
2223
|
}),
|
|
2310
|
-
Display($localize `:@@departments:Departments`)
|
|
2311
|
-
__metadata("design:type", Array)
|
|
2224
|
+
Display($localize `:@@departments:Departments`)
|
|
2312
2225
|
], ContentVariable.prototype, "departmentJoins", void 0);
|
|
2313
2226
|
__decorate([
|
|
2314
2227
|
prop(),
|
|
2315
2228
|
FormField({ row: 21 }),
|
|
2316
2229
|
Column({ event: 'toggle' }),
|
|
2317
|
-
Display($localize `:@@enabled:Enabled`)
|
|
2318
|
-
__metadata("design:type", Boolean)
|
|
2230
|
+
Display($localize `:@@enabled:Enabled`)
|
|
2319
2231
|
], ContentVariable.prototype, "enabled", void 0);
|
|
2320
2232
|
ContentVariable = __decorate([
|
|
2321
2233
|
Api('contentvariable'),
|
|
@@ -2391,21 +2303,18 @@ __decorate([
|
|
|
2391
2303
|
required(),
|
|
2392
2304
|
FormField({ row: 10 }),
|
|
2393
2305
|
Column({}),
|
|
2394
|
-
Display($localize `:@@name:Name`)
|
|
2395
|
-
__metadata("design:type", String)
|
|
2306
|
+
Display($localize `:@@name:Name`)
|
|
2396
2307
|
], Slider.prototype, "name", void 0);
|
|
2397
2308
|
__decorate([
|
|
2398
2309
|
required(),
|
|
2399
2310
|
FormField({ row: 20 }),
|
|
2400
2311
|
Column({ maxWidth: 150, display: Grid.Lg }),
|
|
2401
|
-
Display($localize `:@@group:Group`)
|
|
2402
|
-
__metadata("design:type", String)
|
|
2312
|
+
Display($localize `:@@group:Group`)
|
|
2403
2313
|
], Slider.prototype, "group", void 0);
|
|
2404
2314
|
__decorate([
|
|
2405
2315
|
required(),
|
|
2406
2316
|
FormField({ row: 50, type: FormFieldType.Editor }),
|
|
2407
|
-
Display($localize `:@@content:Content`)
|
|
2408
|
-
__metadata("design:type", String)
|
|
2317
|
+
Display($localize `:@@content:Content`)
|
|
2409
2318
|
], Slider.prototype, "content", void 0);
|
|
2410
2319
|
__decorate([
|
|
2411
2320
|
prop(),
|
|
@@ -2413,12 +2322,10 @@ __decorate([
|
|
|
2413
2322
|
row: 60,
|
|
2414
2323
|
type: FormFieldType.TextArea
|
|
2415
2324
|
}),
|
|
2416
|
-
Display($localize `:@@style:Style`)
|
|
2417
|
-
__metadata("design:type", String)
|
|
2325
|
+
Display($localize `:@@style:Style`)
|
|
2418
2326
|
], Slider.prototype, "styleInline", void 0);
|
|
2419
2327
|
__decorate([
|
|
2420
|
-
prop()
|
|
2421
|
-
__metadata("design:type", String)
|
|
2328
|
+
prop()
|
|
2422
2329
|
], Slider.prototype, "imagePath", void 0);
|
|
2423
2330
|
__decorate([
|
|
2424
2331
|
FormField({
|
|
@@ -2429,14 +2336,12 @@ __decorate([
|
|
|
2429
2336
|
change: (_, img, __, ctx) => ctx?.upload(img, 'images/sliders', true)
|
|
2430
2337
|
}),
|
|
2431
2338
|
Display($localize `:@@image:Image`),
|
|
2432
|
-
prop()
|
|
2433
|
-
__metadata("design:type", String)
|
|
2339
|
+
prop()
|
|
2434
2340
|
], Slider.prototype, "image", void 0);
|
|
2435
2341
|
__decorate([
|
|
2436
2342
|
prop(),
|
|
2437
2343
|
FormField({ row: 40 }),
|
|
2438
|
-
Display($localize `:@@cssClass:CSS Class`)
|
|
2439
|
-
__metadata("design:type", String)
|
|
2344
|
+
Display($localize `:@@cssClass:CSS Class`)
|
|
2440
2345
|
], Slider.prototype, "cssClass", void 0);
|
|
2441
2346
|
__decorate([
|
|
2442
2347
|
FormField({
|
|
@@ -2449,21 +2354,18 @@ __decorate([
|
|
|
2449
2354
|
display: Grid.Lg
|
|
2450
2355
|
}),
|
|
2451
2356
|
Display($localize `:@@project:Project`),
|
|
2452
|
-
prop()
|
|
2453
|
-
__metadata("design:type", Number)
|
|
2357
|
+
prop()
|
|
2454
2358
|
], Slider.prototype, "clientId", void 0);
|
|
2455
2359
|
__decorate([
|
|
2456
2360
|
prop(),
|
|
2457
2361
|
FormField({ row: 20 }),
|
|
2458
|
-
Display($localize `:@@ordering:Ordering`)
|
|
2459
|
-
__metadata("design:type", Number)
|
|
2362
|
+
Display($localize `:@@ordering:Ordering`)
|
|
2460
2363
|
], Slider.prototype, "ordering", void 0);
|
|
2461
2364
|
__decorate([
|
|
2462
2365
|
prop(),
|
|
2463
2366
|
FormField({ row: 100 }),
|
|
2464
2367
|
Column({ event: 'toggle' }),
|
|
2465
|
-
Display($localize `:@@enabled:Enabled`)
|
|
2466
|
-
__metadata("design:type", Boolean)
|
|
2368
|
+
Display($localize `:@@enabled:Enabled`)
|
|
2467
2369
|
], Slider.prototype, "enabled", void 0);
|
|
2468
2370
|
Slider = __decorate([
|
|
2469
2371
|
Api('slider'),
|
|
@@ -2512,10 +2414,10 @@ class DocumentListProjectionResolve {
|
|
|
2512
2414
|
return projection;
|
|
2513
2415
|
}));
|
|
2514
2416
|
}
|
|
2515
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2516
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2417
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DocumentListProjectionResolve, deps: [{ token: i1.OidcSecurityService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2418
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DocumentListProjectionResolve });
|
|
2517
2419
|
}
|
|
2518
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2420
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DocumentListProjectionResolve, decorators: [{
|
|
2519
2421
|
type: Injectable
|
|
2520
2422
|
}], ctorParameters: () => [{ type: i1.OidcSecurityService }] });
|
|
2521
2423
|
|
|
@@ -2535,10 +2437,10 @@ class ExcludedColumnsResolve {
|
|
|
2535
2437
|
resolve() {
|
|
2536
2438
|
return of(this.settings?.multitenantable ? [] : ['client.displayName']);
|
|
2537
2439
|
}
|
|
2538
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2539
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2440
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ExcludedColumnsResolve, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2441
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ExcludedColumnsResolve });
|
|
2540
2442
|
}
|
|
2541
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2443
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ExcludedColumnsResolve, decorators: [{
|
|
2542
2444
|
type: Injectable
|
|
2543
2445
|
}] });
|
|
2544
2446
|
|
|
@@ -2558,10 +2460,10 @@ class ExcludedFieldsResolve {
|
|
|
2558
2460
|
resolve() {
|
|
2559
2461
|
return of(this.settings?.multitenantable ? [] : ['clientId']);
|
|
2560
2462
|
}
|
|
2561
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2562
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2463
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ExcludedFieldsResolve, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2464
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ExcludedFieldsResolve });
|
|
2563
2465
|
}
|
|
2564
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2466
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ExcludedFieldsResolve, decorators: [{
|
|
2565
2467
|
type: Injectable
|
|
2566
2468
|
}] });
|
|
2567
2469
|
|
|
@@ -2605,10 +2507,10 @@ class FormIncludesResolve {
|
|
|
2605
2507
|
return includes;
|
|
2606
2508
|
}));
|
|
2607
2509
|
}
|
|
2608
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2609
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2510
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FormIncludesResolve, deps: [{ token: i1.OidcSecurityService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2511
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FormIncludesResolve });
|
|
2610
2512
|
}
|
|
2611
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2513
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FormIncludesResolve, decorators: [{
|
|
2612
2514
|
type: Injectable
|
|
2613
2515
|
}], ctorParameters: () => [{ type: i1.OidcSecurityService }] });
|
|
2614
2516
|
|
|
@@ -2628,10 +2530,10 @@ class FormValidationResolve {
|
|
|
2628
2530
|
resolve() {
|
|
2629
2531
|
return of(this.settings?.multitenantable ? { clientId: { required: true } } : {});
|
|
2630
2532
|
}
|
|
2631
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2632
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2533
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FormValidationResolve, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2534
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FormValidationResolve });
|
|
2633
2535
|
}
|
|
2634
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2536
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: FormValidationResolve, decorators: [{
|
|
2635
2537
|
type: Injectable
|
|
2636
2538
|
}] });
|
|
2637
2539
|
|
|
@@ -2675,10 +2577,10 @@ class ListProjectionResolve {
|
|
|
2675
2577
|
return projection;
|
|
2676
2578
|
}));
|
|
2677
2579
|
}
|
|
2678
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2679
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2580
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ListProjectionResolve, deps: [{ token: i1.OidcSecurityService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2581
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ListProjectionResolve });
|
|
2680
2582
|
}
|
|
2681
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2583
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ListProjectionResolve, decorators: [{
|
|
2682
2584
|
type: Injectable
|
|
2683
2585
|
}], ctorParameters: () => [{ type: i1.OidcSecurityService }] });
|
|
2684
2586
|
|
|
@@ -2707,10 +2609,10 @@ class SettingsResolve {
|
|
|
2707
2609
|
/** Return the injected settings as an observable */
|
|
2708
2610
|
return of(this.cmsSettings);
|
|
2709
2611
|
}
|
|
2710
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2711
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2612
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SettingsResolve, deps: [{ token: CmsSettings }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2613
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SettingsResolve });
|
|
2712
2614
|
}
|
|
2713
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2615
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SettingsResolve, decorators: [{
|
|
2714
2616
|
type: Injectable
|
|
2715
2617
|
}], ctorParameters: () => [{ type: CmsSettings, decorators: [{
|
|
2716
2618
|
type: Inject,
|
|
@@ -2754,9 +2656,9 @@ const routes = [
|
|
|
2754
2656
|
{ path: 'documents', component: VdDynamicListComponent, data: { classType: Document, addDialogType: DocumentDialogComponent, query: { type: DocumentType.Document } }, resolve: DocsListResolve },
|
|
2755
2657
|
];
|
|
2756
2658
|
class VdCmsRoutingModule {
|
|
2757
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2758
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
2759
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
2659
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdCmsRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2660
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: VdCmsRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] });
|
|
2661
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdCmsRoutingModule, providers: [
|
|
2760
2662
|
SettingsResolve,
|
|
2761
2663
|
ListProjectionResolve,
|
|
2762
2664
|
DocumentListProjectionResolve,
|
|
@@ -2766,7 +2668,7 @@ class VdCmsRoutingModule {
|
|
|
2766
2668
|
FormValidationResolve
|
|
2767
2669
|
], imports: [RouterModule.forChild(routes), RouterModule] });
|
|
2768
2670
|
}
|
|
2769
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2671
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdCmsRoutingModule, decorators: [{
|
|
2770
2672
|
type: NgModule,
|
|
2771
2673
|
args: [{
|
|
2772
2674
|
imports: [RouterModule.forChild(routes)],
|
|
@@ -2784,11 +2686,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
2784
2686
|
}] });
|
|
2785
2687
|
|
|
2786
2688
|
class VdCmsModule {
|
|
2787
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2788
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
2789
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
2689
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdCmsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2690
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: VdCmsModule, imports: [VdCmsRoutingModule] });
|
|
2691
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdCmsModule, imports: [VdCmsRoutingModule] });
|
|
2790
2692
|
}
|
|
2791
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2693
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: VdCmsModule, decorators: [{
|
|
2792
2694
|
type: NgModule,
|
|
2793
2695
|
args: [{
|
|
2794
2696
|
imports: [
|
|
@@ -2818,10 +2720,10 @@ class ContentVariableService extends GenericService {
|
|
|
2818
2720
|
isNameAvailable(item) {
|
|
2819
2721
|
return this.create(item, '/isNameAvailable').pipe(map((x) => x.value));
|
|
2820
2722
|
}
|
|
2821
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2822
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2723
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ContentVariableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2724
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ContentVariableService, providedIn: 'root' });
|
|
2823
2725
|
}
|
|
2824
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2726
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: ContentVariableService, decorators: [{
|
|
2825
2727
|
type: Injectable,
|
|
2826
2728
|
args: [{ providedIn: 'root' }]
|
|
2827
2729
|
}], ctorParameters: () => [] });
|
|
@@ -2833,10 +2735,10 @@ class SliderService extends GenericService {
|
|
|
2833
2735
|
constructor() {
|
|
2834
2736
|
super('slider');
|
|
2835
2737
|
}
|
|
2836
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2837
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2738
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SliderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2739
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SliderService, providedIn: 'root' });
|
|
2838
2740
|
}
|
|
2839
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2741
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SliderService, decorators: [{
|
|
2840
2742
|
type: Injectable,
|
|
2841
2743
|
args: [{ providedIn: 'root' }]
|
|
2842
2744
|
}], ctorParameters: () => [] });
|