@firestitch/app-message 12.7.6 → 12.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/app/modules/message-queues/components/queues/queues.component.d.ts +1 -1
  2. package/app/modules/message-queues/message-queues.module.d.ts +15 -16
  3. package/app/modules/message-queues/services/message-queue.service.d.ts +4 -6
  4. package/app/modules/message-templates/message-templates.module.d.ts +5 -6
  5. package/app/modules/messages/messages.module.d.ts +8 -9
  6. package/bundles/firestitch-app-message.umd.js +718 -590
  7. package/bundles/firestitch-app-message.umd.js.map +1 -1
  8. package/esm2015/app/modules/app-message/app-message.module.js +4 -4
  9. package/esm2015/app/modules/message-preview/components/preview/preview.component.js +3 -3
  10. package/esm2015/app/modules/message-preview/message-preview.module.js +4 -4
  11. package/esm2015/app/modules/message-queues/components/queue/queue.component.js +6 -7
  12. package/esm2015/app/modules/message-queues/components/queues/queues.component.js +23 -22
  13. package/esm2015/app/modules/message-queues/components/recipient/recipient.component.js +3 -3
  14. package/esm2015/app/modules/message-queues/message-queues.module.js +14 -24
  15. package/esm2015/app/modules/message-queues/pipes/linkify.pipe.js +3 -3
  16. package/esm2015/app/modules/message-queues/pipes/truncate.pipe.js +3 -3
  17. package/esm2015/app/modules/message-queues/services/message-queue.service.js +13 -17
  18. package/esm2015/app/modules/message-templates/components/template/template.component.js +3 -3
  19. package/esm2015/app/modules/message-templates/components/templates/templates.component.js +3 -3
  20. package/esm2015/app/modules/message-templates/message-templates.module.js +10 -14
  21. package/esm2015/app/modules/messages/components/attachments/attachments.component.js +3 -3
  22. package/esm2015/app/modules/messages/components/message/message.component.js +5 -6
  23. package/esm2015/app/modules/messages/components/messages/messages.component.js +3 -3
  24. package/esm2015/app/modules/messages/messages.module.js +14 -18
  25. package/esm2015/app/modules/webhooks/components/webhooks/webhooks.component.js +3 -3
  26. package/esm2015/app/modules/webhooks/webhooks.module.js +4 -4
  27. package/esm2015/public_api.js +7 -10
  28. package/fesm2015/firestitch-app-message.js +170 -189
  29. package/fesm2015/firestitch-app-message.js.map +1 -1
  30. package/package.json +2 -2
  31. package/public_api.d.ts +6 -6
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/router'), require('@angular/flex-layout'), require('@angular/material/button'), require('@angular/material/core'), require('@angular/material/dialog'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/tabs'), require('@angular/material/checkbox'), require('@angular/material/tooltip'), require('@firestitch/label'), require('@firestitch/dialog'), require('@firestitch/list'), require('@firestitch/skeleton'), require('@firestitch/tabs'), require('@angular/forms'), require('@firestitch/form'), require('@firestitch/text-editor'), require('@firestitch/html-editor'), require('rxjs/operators'), require('rxjs'), require('@firestitch/filter'), require('@firestitch/iframe'), require('@firestitch/prompt'), require('@firestitch/message'), require('@firestitch/common'), require('@angular/flex-layout/flex'), require('@angular/material/icon'), require('@firestitch/date'), require('@firestitch/selection'), require('date-fns'), require('anchorme')) :
3
- typeof define === 'function' && define.amd ? define('@firestitch/app-message', ['exports', '@angular/core', '@angular/common', '@angular/router', '@angular/flex-layout', '@angular/material/button', '@angular/material/core', '@angular/material/dialog', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@angular/material/tabs', '@angular/material/checkbox', '@angular/material/tooltip', '@firestitch/label', '@firestitch/dialog', '@firestitch/list', '@firestitch/skeleton', '@firestitch/tabs', '@angular/forms', '@firestitch/form', '@firestitch/text-editor', '@firestitch/html-editor', 'rxjs/operators', 'rxjs', '@firestitch/filter', '@firestitch/iframe', '@firestitch/prompt', '@firestitch/message', '@firestitch/common', '@angular/flex-layout/flex', '@angular/material/icon', '@firestitch/date', '@firestitch/selection', 'date-fns', 'anchorme'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.firestitch = global.firestitch || {}, global.firestitch["app-message"] = {}), global.ng.core, global.ng.common, global.ng.router, global.ng.flexLayout, global.ng.material.button, global.ng.material.core, global.ng.material.dialog, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.ng.material.tabs, global.ng.material.checkbox, global.ng.material.tooltip, global.i6$1, global.i4, global.i2$1, global.i14, global.i18, global.ng.forms, global.i16, global.i10, global.i11, global.rxjs.operators, global.rxjs, global.filter, global.i2, global.i1$2, global.i1$1, global.i3$1, global.ng.flexLayout.flex, global.ng.material.icon, global.i10$1, global.selection, global.dateFns, global.anchorme));
5
- })(this, (function (exports, i0, i17, router, flexLayout, i3, i9, i1, i6, i20, i8, i5, checkbox, i3$2, i6$1, i4, i2$1, i14, i18, i15, i16, i10, i11, operators, rxjs, filter, i2, i1$2, i1$1, i3$1, i19, i1$3, i10$1, selection, dateFns, anchorme) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('@angular/router'), require('@angular/material/button'), require('@angular/material/dialog'), require('@angular/material/icon'), require('@angular/material/tabs'), require('@angular/material/tooltip'), require('@firestitch/date'), require('@firestitch/dialog'), require('@firestitch/form'), require('@firestitch/iframe'), require('@firestitch/label'), require('@firestitch/list'), require('@firestitch/prompt'), require('@firestitch/skeleton'), require('@angular/material/checkbox'), require('@angular/material/core'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/select'), require('@firestitch/common'), require('@firestitch/html-editor'), require('@firestitch/tabs'), require('@firestitch/text-editor'), require('rxjs/operators'), require('rxjs'), require('@firestitch/message'), require('@firestitch/filter'), require('anchorme'), require('@firestitch/selection'), require('date-fns')) :
3
+ typeof define === 'function' && define.amd ? define('@firestitch/app-message', ['exports', '@angular/core', '@angular/common', '@angular/forms', '@angular/router', '@angular/material/button', '@angular/material/dialog', '@angular/material/icon', '@angular/material/tabs', '@angular/material/tooltip', '@firestitch/date', '@firestitch/dialog', '@firestitch/form', '@firestitch/iframe', '@firestitch/label', '@firestitch/list', '@firestitch/prompt', '@firestitch/skeleton', '@angular/material/checkbox', '@angular/material/core', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@firestitch/common', '@firestitch/html-editor', '@firestitch/tabs', '@firestitch/text-editor', 'rxjs/operators', 'rxjs', '@firestitch/message', '@firestitch/filter', 'anchorme', '@firestitch/selection', 'date-fns'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.firestitch = global.firestitch || {}, global.firestitch["app-message"] = {}), global.ng.core, global.ng.common, global.ng.forms, global.ng.router, global.ng.material.button, global.ng.material.dialog, global.ng.material.icon, global.ng.material.tabs, global.ng.material.tooltip, global.i10$1, global.i4, global.i16, global.i2, global.i6$1, global.i2$1, global.i1$2, global.i14, global.ng.material.checkbox, global.ng.material.core, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.i3$1, global.i11, global.i18, global.i10, global.rxjs.operators, global.rxjs, global.i1$1, global.filter, global.anchorme, global.selection, global.dateFns));
5
+ })(this, (function (exports, i0, i17, i15, router, i3, i1, i1$3, i5, i3$2, i10$1, i4, i16, i2, i6$1, i2$1, i1$2, i14, checkbox, i9, i6, i19, i8, i3$1, i11, i18, i10, operators, rxjs, i1$1, filter, anchorme, selection, dateFns) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -26,32 +26,49 @@
26
26
 
27
27
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
28
28
  var i17__namespace = /*#__PURE__*/_interopNamespace(i17);
29
+ var i15__namespace = /*#__PURE__*/_interopNamespace(i15);
29
30
  var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
30
- var i9__namespace = /*#__PURE__*/_interopNamespace(i9);
31
31
  var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
32
- var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
33
- var i20__namespace = /*#__PURE__*/_interopNamespace(i20);
34
- var i8__namespace = /*#__PURE__*/_interopNamespace(i8);
32
+ var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$3);
35
33
  var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
36
34
  var i3__namespace$2 = /*#__PURE__*/_interopNamespace(i3$2);
37
- var i6__namespace$1 = /*#__PURE__*/_interopNamespace(i6$1);
35
+ var i10__namespace$1 = /*#__PURE__*/_interopNamespace(i10$1);
38
36
  var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
37
+ var i16__namespace = /*#__PURE__*/_interopNamespace(i16);
38
+ var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
39
+ var i6__namespace$1 = /*#__PURE__*/_interopNamespace(i6$1);
39
40
  var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
41
+ var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$2);
40
42
  var i14__namespace = /*#__PURE__*/_interopNamespace(i14);
43
+ var i9__namespace = /*#__PURE__*/_interopNamespace(i9);
44
+ var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
45
+ var i19__namespace = /*#__PURE__*/_interopNamespace(i19);
46
+ var i8__namespace = /*#__PURE__*/_interopNamespace(i8);
47
+ var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
48
+ var i11__namespace = /*#__PURE__*/_interopNamespace(i11);
41
49
  var i18__namespace = /*#__PURE__*/_interopNamespace(i18);
42
- var i15__namespace = /*#__PURE__*/_interopNamespace(i15);
43
- var i16__namespace = /*#__PURE__*/_interopNamespace(i16);
44
50
  var i10__namespace = /*#__PURE__*/_interopNamespace(i10);
45
- var i11__namespace = /*#__PURE__*/_interopNamespace(i11);
46
- var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
47
- var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$2);
48
51
  var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
49
- var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
50
- var i19__namespace = /*#__PURE__*/_interopNamespace(i19);
51
- var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$3);
52
- var i10__namespace$1 = /*#__PURE__*/_interopNamespace(i10$1);
53
52
  var anchorme__default = /*#__PURE__*/_interopDefaultLegacy(anchorme);
54
53
 
54
+ var FsAppMessageModule = /** @class */ (function () {
55
+ function FsAppMessageModule() {
56
+ }
57
+ FsAppMessageModule.forRoot = function () {
58
+ return {
59
+ ngModule: FsAppMessageModule,
60
+ };
61
+ };
62
+ return FsAppMessageModule;
63
+ }());
64
+ FsAppMessageModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
65
+ FsAppMessageModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageModule });
66
+ FsAppMessageModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageModule });
67
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageModule, decorators: [{
68
+ type: i0.NgModule,
69
+ args: [{}]
70
+ }] });
71
+
55
72
  var PreviewComponent = /** @class */ (function () {
56
73
  function PreviewComponent(_data) {
57
74
  this._data = _data;
@@ -62,9 +79,9 @@
62
79
  };
63
80
  return PreviewComponent;
64
81
  }());
65
- PreviewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PreviewComponent, deps: [{ token: i1.MAT_DIALOG_DATA }], target: i0__namespace.ɵɵFactoryTarget.Component });
66
- PreviewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PreviewComponent, selector: "ng-component", ngImport: i0__namespace, template: "<fs-dialog>\n <div mat-dialog-title>Preview</div>\n <mat-dialog-content>\n <fs-iframe\n [html]=\"html\"\n [width]=\"'100%'\"\n [styles]=\"styles\">\n </fs-iframe>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"null\" color=\"primary\" type=\"button\">Done</button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: [""], components: [{ type: i4__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileActionPlacement", "mobileWidth", "mode"] }, { type: i2__namespace.FsIFrameComponent, selector: "fs-iframe", inputs: ["html", "src", "styles", "width", "height"] }, { type: i3__namespace.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }] });
67
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: PreviewComponent, decorators: [{
82
+ PreviewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PreviewComponent, deps: [{ token: i1.MAT_DIALOG_DATA }], target: i0__namespace.ɵɵFactoryTarget.Component });
83
+ PreviewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PreviewComponent, selector: "ng-component", ngImport: i0__namespace, template: "<fs-dialog>\n <div mat-dialog-title>Preview</div>\n <mat-dialog-content>\n <fs-iframe\n [html]=\"html\"\n [width]=\"'100%'\"\n [styles]=\"styles\">\n </fs-iframe>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"null\" color=\"primary\" type=\"button\">Done</button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: [""], components: [{ type: i4__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileActionPlacement", "mobileWidth", "mode"] }, { type: i2__namespace.FsIFrameComponent, selector: "fs-iframe", inputs: ["html", "src", "styles", "width", "height"] }, { type: i3__namespace.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }] });
84
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PreviewComponent, decorators: [{
68
85
  type: i0.Component,
69
86
  args: [{
70
87
  templateUrl: './preview.component.html',
@@ -77,6 +94,40 @@
77
94
  }] }];
78
95
  } });
79
96
 
97
+ var FsAppMessagePreviewModule = /** @class */ (function () {
98
+ function FsAppMessagePreviewModule() {
99
+ }
100
+ return FsAppMessagePreviewModule;
101
+ }());
102
+ FsAppMessagePreviewModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagePreviewModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
103
+ FsAppMessagePreviewModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagePreviewModule, declarations: [PreviewComponent], imports: [i1.MatDialogModule,
104
+ i3.MatButtonModule,
105
+ i4.FsDialogModule,
106
+ i2.FsIFrameModule], exports: [PreviewComponent] });
107
+ FsAppMessagePreviewModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagePreviewModule, imports: [[
108
+ i1.MatDialogModule,
109
+ i3.MatButtonModule,
110
+ i4.FsDialogModule,
111
+ i2.FsIFrameModule,
112
+ ]] });
113
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagePreviewModule, decorators: [{
114
+ type: i0.NgModule,
115
+ args: [{
116
+ imports: [
117
+ i1.MatDialogModule,
118
+ i3.MatButtonModule,
119
+ i4.FsDialogModule,
120
+ i2.FsIFrameModule,
121
+ ],
122
+ declarations: [
123
+ PreviewComponent,
124
+ ],
125
+ exports: [
126
+ PreviewComponent,
127
+ ]
128
+ }]
129
+ }] });
130
+
80
131
  var FS_APP_MESSAGE_ROOT_CONFIG = new i0.InjectionToken('fs-app-message-root-config');
81
132
  var FS_APP_MESSAGE_CONFIG = new i0.InjectionToken('fs-app-message-config');
82
133
 
@@ -151,9 +202,9 @@
151
202
  };
152
203
  return AttachmentsComponent;
153
204
  }());
154
- AttachmentsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AttachmentsComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: i1__namespace$1.FsMessage }], target: i0__namespace.ɵɵFactoryTarget.Component });
155
- AttachmentsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AttachmentsComponent, selector: "fs-app-message-attachments", inputs: { message: "message" }, viewQueries: [{ propertyName: "list", first: true, predicate: i2$1.FsListComponent, descendants: true, static: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"config\">\n <fs-list-column title=\"File Name\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.filename}}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"File Size\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.size | fsFormatBytes}}\n </ng-template>\n </fs-list-column>\n</fs-list>", components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }], pipes: { "fsFormatBytes": i3__namespace$1.FsFormatBytesPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
156
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: AttachmentsComponent, decorators: [{
205
+ AttachmentsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AttachmentsComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: i1__namespace$1.FsMessage }], target: i0__namespace.ɵɵFactoryTarget.Component });
206
+ AttachmentsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AttachmentsComponent, selector: "fs-app-message-attachments", inputs: { message: "message" }, viewQueries: [{ propertyName: "list", first: true, predicate: i2$1.FsListComponent, descendants: true, static: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"config\">\n <fs-list-column title=\"File Name\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.filename}}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"File Size\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.size | fsFormatBytes}}\n </ng-template>\n </fs-list-column>\n</fs-list>", components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }], pipes: { "fsFormatBytes": i3__namespace$1.FsFormatBytesPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
207
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AttachmentsComponent, decorators: [{
157
208
  type: i0.Component,
158
209
  args: [{
159
210
  selector: 'fs-app-message-attachments',
@@ -262,9 +313,9 @@
262
313
  };
263
314
  return MessageComponent;
264
315
  }());
265
- MessageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: MessageComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: i1.MAT_DIALOG_DATA }, { token: i1__namespace$2.FsPrompt }, { token: i1__namespace$1.FsMessage }, { token: i1__namespace.MatDialog }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
266
- MessageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: MessageComponent, selector: "ng-component", ngImport: i0__namespace, template: "<form\n fsForm\n [submit]=\"save\"\n #form=\"ngForm\"\n *fsSkeleton=\"message\"\n [confirmTabs]=\"false\">\n <fs-dialog *ngIf=\"message\">\n <div mat-dialog-title>Edit Message</div>\n <mat-dialog-content>\n <mat-tab-group \n fsTabs \n [(selected)]=\"tab\">\n <mat-tab label=\"General\" name=\"general\">\n <ng-template matTabContent>\n <div fxLayout=\"column\">\n <div fxLayoutGap=\"20px\">\n <mat-form-field fxFlex>\n <input\n matInput\n placeholder=\"Name\"\n [(ngModel)]=\"message.name\"\n name=\"Name\"\n required>\n </mat-form-field>\n <fs-label-field>\n <fs-label>Reference</fs-label>\n {{message.reference}}\n </fs-label-field>\n </div>\n <mat-form-field>\n <input\n matInput\n placeholder=\"Description\"\n [(ngModel)]=\"message.description\"\n name=\"description\">\n </mat-form-field>\n\n <div\n fxLayout=\"row\"\n fxLayoutGap=\"10px\"\n fxLayout.xs=\"column\"\n fxLayout.sm=\"column\">\n <mat-form-field fxFlex>\n <input\n matInput\n placeholder=\"From Email\"\n [(ngModel)]=\"message.emailMessage.fromEmail\"\n name=\"from_email\">\n </mat-form-field>\n <mat-form-field fxFlex>\n <input\n matInput\n placeholder=\"From Name\"\n [(ngModel)]=\"message.emailMessage.fromName\"\n name=\"from_name\">\n </mat-form-field>\n <mat-form-field fxFlex>\n <input\n matInput\n placeholder=\"Reply To\"\n [(ngModel)]=\"message.emailMessage.replyTo\"\n name=\"reply_to\">\n </mat-form-field>\n </div>\n\n <div\n fxLayout=\"row\"\n fxLayoutGap=\"10px\"\n fxLayout.xs=\"column\"\n fxLayout.sm=\"column\">\n <mat-form-field fxFlex>\n <input\n matInput\n placeholder=\"To\"\n [(ngModel)]=\"message.emailMessage.toRecipients\"\n name=\"to\">\n </mat-form-field>\n <mat-form-field fxFlex>\n <input\n matInput\n placeholder=\"CC\"\n [(ngModel)]=\"message.emailMessage.ccRecipients\"\n name=\"cc\">\n </mat-form-field>\n <mat-form-field fxFlex>\n <input\n matInput\n placeholder=\"BCC\"\n [(ngModel)]=\"message.emailMessage.bccRecipients\"\n name=\"bcc\">\n </mat-form-field>\n </div>\n </div>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Email Message\" *ngIf=\"message.emailMessage\" name=\"email\">\n <ng-template matTabContent>\n <div fxLayout=\"column\">\n <div fxLayout=\"row\" fxLayoutGap=\"10px\">\n <mat-form-field>\n <mat-select\n required\n placeholder=\"Customize Message\"\n [(ngModel)]=\"message.emailMessage.customize\"\n name=\"customizeEmail\">\n <mat-option [value]=\"true\">Yes</mat-option>\n <mat-option [value]=\"false\">No</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-select\n required\n placeholder=\"Format\"\n [(ngModel)]=\"message.emailMessage.format\"\n name=\"format\">\n <mat-option *ngFor=\"let item of emailMessageFormats\" [value]=\"item.value\">\n {{item.name}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-select\n placeholder=\"Template\"\n [(ngModel)]=\"message.emailMessage.messageTemplateId\"\n name=\"template\">\n <mat-option [value]=\"null\">None</mat-option>\n <mat-option *ngFor=\"let item of messageTemplates\" [value]=\"item.id\">\n {{item.name}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container *ngIf=\"message.emailMessage.customize\">\n <mat-form-field fxFlex>\n <input\n matInput\n placeholder=\"Subject\"\n [(ngModel)]=\"message.emailMessage.subject\"\n name=\"name\"\n required>\n </mat-form-field>\n\n <div [@.disabled]=\"true\">\n <mat-tab-group [dynamicHeight]=\"false\">\n <mat-tab label=\"Content\">\n <ng-template matTabContent>\n <ng-container *ngIf=\"message.emailMessage.format===emailMessageFormat.HTML\">\n <fs-text-editor \n [(ngModel)]=\"message.emailMessage.body\"\n name=\"body\"\n [config]=\"{ language: 'html '}\">\n </fs-text-editor>\n </ng-container>\n\n <ng-container *ngIf=\"message.emailMessage.format===emailMessageFormat.RichText\">\n <fs-html-editor \n [(ngModel)]=\"message.emailMessage.body\"\n name=\"body\">\n </fs-html-editor>\n </ng-container>\n\n <ng-container *ngIf=\"message.emailMessage.format===emailMessageFormat.Text\">\n <fs-text-editor \n [(ngModel)]=\"message.emailMessage.body\"\n name=\"emailMessageBody\"\n [config]=\"{ language: 'text' }\">\n </fs-text-editor>\n </ng-container>\n </ng-template>\n </mat-tab>\n <mat-tab\n *ngIf=\"message.emailMessage.format===emailMessageFormat.HTML || message.emailMessage.format===emailMessageFormat.RichText\"\n label=\"Styles\">\n <ng-template matTabContent>\n <fs-text-editor\n [(ngModel)]=\"message.emailMessage.styles\"\n name=\"styles\"\n [config]=\"{ language: 'scss' }\">\n </fs-text-editor>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!message.emailMessage.customize\">\n <fs-label-field>\n <fs-label>Subject</fs-label>\n {{message.defaultEmailSubject}}\n </fs-label-field>\n <div>\n <fs-label-field>\n <fs-label>Content</fs-label>\n <div class=\"email-body-html-default\">\n <fs-html-renderer\n *ngIf=\"message.emailMessage.format===emailMessageFormat.RichText || message.emailMessage.format===emailMessageFormat.HTML\"\n [html]=\"message.defaultEmailBody\">\n </fs-html-renderer>\n </div>\n <div\n class=\"email-body-text-default\"\n *ngIf=\"message.emailMessage.format===emailMessageFormat.Text\">\n {{message.defaultEmailBody}}\n </div>\n </fs-label-field>\n </div>\n </ng-container>\n </div>\n </ng-template>\n </mat-tab>\n\n <ng-container *ngIf=\"!!message.smsMessage\">\n <mat-tab label=\"SMS Message\" name=\"sms\">\n <ng-template matTabContent>\n <mat-form-field>\n <mat-select\n required\n placeholder=\"Customize Message\"\n [(ngModel)]=\"message.smsMessage.customize\"\n name=\"customizeSms\">\n <mat-option [value]=\"true\">Yes</mat-option>\n <mat-option [value]=\"false\">No</mat-option>\n </mat-select>\n </mat-form-field>\n <div\n *ngIf=\"message.smsMessage.customize\"\n [@.disabled]=\"true\">\n <mat-tab-group [dynamicHeight]=\"false\">\n <mat-tab label=\"Content\">\n <ng-template matTabContent>\n <fs-text-editor\n [(ngModel)]=\"message.smsMessage.message\"\n name=\"smsMessageMessage\"\n [config]=\"{ language: 'text '}\">\n </fs-text-editor>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n <fs-label-field *ngIf=\"!message.smsMessage.customize\">\n <fs-label>Message</fs-label>\n {{message.defaultSmsMessage}}\n </fs-label-field>\n </ng-template>\n </mat-tab>\n </ng-container>\n\n <mat-tab label=\"Attachments\" *ngIf=\"message.emailMessage\" name=\"attachments\">\n <ng-template matTabContent>\n <fs-app-message-attachments \n [message]=\"message\">\n </fs-app-message-attachments>\n </ng-template>\n </mat-tab>\n\n <mat-tab label=\"Variables\" *ngIf=\"message.variables\">\n <ng-template matTabContent>\n <div *ngFor=\"let variable of message.variables\" class=\"variable\">\n {{variable.name}}\n </div>\n </ng-template>\n </mat-tab>\n\n <mat-tab label=\"Defaults\">\n <ng-template matTabContent>\n <ng-container *ngIf=\"message.emailMessage\">\n <h2 *ngIf=\"message.emailMessage && message.smsMessage\">Email</h2>\n <fs-label-field>\n <fs-label>Subject</fs-label>\n <div class=\"content\">{{message.defaultEmailSubject}}</div>\n </fs-label-field>\n <fs-label-field>\n <fs-label>Content</fs-label>\n <div class=\"content\">{{message.defaultEmailBody}}</div>\n </fs-label-field>\n </ng-container>\n <ng-container *ngIf=\"message.smsMessage\">\n <h2 *ngIf=\"message.emailMessage && message.smsMessage\">SMS</h2>\n <fs-label-field>\n <fs-label>Content</fs-label>\n <div class=\"content\">{{message.defaultSmsMessage}}</div>\n </fs-label-field>\n </ng-container>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n\n </mat-dialog-content>\n <mat-dialog-actions>\n <ng-container *ngIf=\"tab==='email' || tab==='sms' || tab==='general'; else done\">\n <button \n mat-button \n color=\"primary\">\n Save\n </button> \n <ng-container *ngIf=\"tab==='email'\">\n <button \n mat-button\n type=\"button\"\n (click)=\"openPreview()\"\n type=\"button\">\n Preview\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"sendTest('email')\"\n type=\"button\">\n Send Test Email\n </button>\n </ng-container>\n <ng-container *ngIf=\"tab==='sms'\">\n <button \n mat-button\n type=\"button\"\n (click)=\"sendTest('sms')\"\n type=\"button\">\n Send Test SMS\n </button>\n </ng-container>\n <button \n mat-button \n [mat-dialog-close]=\"null\" \n type=\"button\">\n Cancel\n </button>\n </ng-container> \n <ng-template #done>\n <button \n mat-button \n color=\"primary\"\n [mat-dialog-close]=\"null\" \n type=\"button\">\n Close\n </button>\n </ng-template>\n </mat-dialog-actions>\n </fs-dialog>\n</form>\n", styles: ["fs-label-field .content{white-space:pre-wrap}:host ::ng-deep .mat-tab-body-content,:host ::ng-deep .mat-tab-body{overflow:visible}:host ::ng-deep .sms-message{width:100%}:host ::ng-deep .email-body-text-default{white-space:pre-line}.email-body-text{width:100%}.variable{margin-bottom:4px}\n"], components: [{ type: i4__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileActionPlacement", "mobileWidth", "mode"] }, { type: i5__namespace.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i5__namespace.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby"], exportAs: ["matTab"] }, { type: i6__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i6__namespace$1.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i6__namespace$1.FsLabelComponent, selector: "fs-label" }, { type: i8__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i9__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i10__namespace.FsTextEditorComponent, selector: "fs-text-editor", inputs: ["config", "scrollable"], outputs: ["init", "blur"] }, { type: i11__namespace.FsHtmlEditorComponent, selector: "fs-html-editor", inputs: ["config", "hint"] }, { type: i11__namespace.FsHtmlRendererComponent, selector: "fs-html-renderer", inputs: ["html"] }, { type: AttachmentsComponent, selector: "fs-app-message-attachments", inputs: ["message"] }, { type: i3__namespace.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i14__namespace.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i15__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i15__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i15__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i16__namespace.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup", "deactivationGuard"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"] }, { type: i17__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i18__namespace.FsTabsHeaderTabGroupDirective, selector: "mat-tab-group, matTabGroup, [matTabGroup]", inputs: ["orientation", "selected", "selectedData"], outputs: ["selectedChange", "selectedDataChange"], exportAs: ["fsTabsHeaderTabGroup"] }, { type: i18__namespace.FsTabsTabDirective, selector: "mat-tab,matTab", inputs: ["name", "data"], exportAs: ["fsTabsTab"] }, { type: i5__namespace.MatTabContent, selector: "[matTabContent]" }, { type: i19__namespace.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i19__namespace.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i19__namespace.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i20__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i15__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i15__namespace.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i15__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i15__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i16__namespace.FsFormRequiredDirective, selector: "[fsFormRequired],[ngModel][required]", inputs: ["fsFormRequired", "required", "fsFormRequiredMessage"] }, { type: i16__namespace.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { type: i17__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i16__namespace.FsButtonDirective, selector: "[mat-raised-button],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit", "form"] }, { type: i1__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
267
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: MessageComponent, decorators: [{
316
+ MessageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MessageComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: i1.MAT_DIALOG_DATA }, { token: i1__namespace$2.FsPrompt }, { token: i1__namespace$1.FsMessage }, { token: i1__namespace.MatDialog }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
317
+ MessageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MessageComponent, selector: "ng-component", ngImport: i0__namespace, template: "<form\n fsForm\n [submit]=\"save\"\n #form=\"ngForm\"\n *fsSkeleton=\"message\"\n [confirmTabs]=\"false\">\n <fs-dialog *ngIf=\"message\">\n <div mat-dialog-title>Edit Message</div>\n <mat-dialog-content>\n <mat-tab-group \n fsTabs \n [(selected)]=\"tab\">\n <mat-tab label=\"General\" name=\"general\">\n <ng-template matTabContent>\n <div class=\"fs-column\">\n <mat-form-field>\n <input\n matInput\n placeholder=\"Name\"\n [(ngModel)]=\"message.name\"\n name=\"Name\"\n required>\n </mat-form-field>\n <fs-label-field>\n <fs-label>Reference</fs-label>\n {{message.reference}}\n </fs-label-field>\n <mat-form-field>\n <input\n matInput\n placeholder=\"Description\"\n [(ngModel)]=\"message.description\"\n name=\"description\">\n </mat-form-field>\n\n <div class=\"fs-row.gap-small.wrap\">\n <mat-form-field>\n <input\n matInput\n placeholder=\"From Email\"\n [(ngModel)]=\"message.emailMessage.fromEmail\"\n name=\"from_email\">\n </mat-form-field>\n <mat-form-field>\n <input\n matInput\n placeholder=\"From Name\"\n [(ngModel)]=\"message.emailMessage.fromName\"\n name=\"from_name\">\n </mat-form-field>\n <mat-form-field>\n <input\n matInput\n placeholder=\"Reply To\"\n [(ngModel)]=\"message.emailMessage.replyTo\"\n name=\"reply_to\">\n </mat-form-field>\n </div>\n\n <div class=\"fs-row.gap-small.wrap\">\n <mat-form-field>\n <input\n matInput\n placeholder=\"To\"\n [(ngModel)]=\"message.emailMessage.toRecipients\"\n name=\"to\">\n </mat-form-field>\n <mat-form-field>\n <input\n matInput\n placeholder=\"CC\"\n [(ngModel)]=\"message.emailMessage.ccRecipients\"\n name=\"cc\">\n </mat-form-field>\n <mat-form-field>\n <input\n matInput\n placeholder=\"BCC\"\n [(ngModel)]=\"message.emailMessage.bccRecipients\"\n name=\"bcc\">\n </mat-form-field>\n </div>\n </div>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Email Message\" *ngIf=\"message.emailMessage\" name=\"email\">\n <ng-template matTabContent>\n <div class=\"fs-column\">\n <div class=\"fs-row.gap-small\">\n <mat-form-field>\n <mat-select\n required\n placeholder=\"Customize Message\"\n [(ngModel)]=\"message.emailMessage.customize\"\n name=\"customizeEmail\">\n <mat-option [value]=\"true\">Yes</mat-option>\n <mat-option [value]=\"false\">No</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-select\n required\n placeholder=\"Format\"\n [(ngModel)]=\"message.emailMessage.format\"\n name=\"format\">\n <mat-option *ngFor=\"let item of emailMessageFormats\" [value]=\"item.value\">\n {{item.name}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-select\n placeholder=\"Template\"\n [(ngModel)]=\"message.emailMessage.messageTemplateId\"\n name=\"template\">\n <mat-option [value]=\"null\">None</mat-option>\n <mat-option *ngFor=\"let item of messageTemplates\" [value]=\"item.id\">\n {{item.name}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container *ngIf=\"message.emailMessage.customize\">\n <mat-form-field>\n <input\n matInput\n placeholder=\"Subject\"\n [(ngModel)]=\"message.emailMessage.subject\"\n name=\"name\"\n required>\n </mat-form-field>\n\n <div [@.disabled]=\"true\">\n <mat-tab-group [dynamicHeight]=\"false\">\n <mat-tab label=\"Content\">\n <ng-template matTabContent>\n <ng-container *ngIf=\"message.emailMessage.format===emailMessageFormat.HTML\">\n <fs-text-editor \n [(ngModel)]=\"message.emailMessage.body\"\n name=\"body\"\n [config]=\"{ language: 'html '}\">\n </fs-text-editor>\n </ng-container>\n\n <ng-container *ngIf=\"message.emailMessage.format===emailMessageFormat.RichText\">\n <fs-html-editor \n [(ngModel)]=\"message.emailMessage.body\"\n name=\"body\">\n </fs-html-editor>\n </ng-container>\n\n <ng-container *ngIf=\"message.emailMessage.format===emailMessageFormat.Text\">\n <fs-text-editor \n [(ngModel)]=\"message.emailMessage.body\"\n name=\"emailMessageBody\"\n [config]=\"{ language: 'text' }\">\n </fs-text-editor>\n </ng-container>\n </ng-template>\n </mat-tab>\n <mat-tab\n *ngIf=\"message.emailMessage.format===emailMessageFormat.HTML || message.emailMessage.format===emailMessageFormat.RichText\"\n label=\"Styles\">\n <ng-template matTabContent>\n <fs-text-editor\n [(ngModel)]=\"message.emailMessage.styles\"\n name=\"styles\"\n [config]=\"{ language: 'scss' }\">\n </fs-text-editor>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!message.emailMessage.customize\">\n <fs-label-field>\n <fs-label>Subject</fs-label>\n {{message.defaultEmailSubject}}\n </fs-label-field>\n <div>\n <fs-label-field>\n <fs-label>Content</fs-label>\n <div class=\"email-body-html-default\">\n <fs-html-renderer\n *ngIf=\"message.emailMessage.format===emailMessageFormat.RichText || message.emailMessage.format===emailMessageFormat.HTML\"\n [html]=\"message.defaultEmailBody\">\n </fs-html-renderer>\n </div>\n <div\n class=\"email-body-text-default\"\n *ngIf=\"message.emailMessage.format===emailMessageFormat.Text\">\n {{message.defaultEmailBody}}\n </div>\n </fs-label-field>\n </div>\n </ng-container>\n </div>\n </ng-template>\n </mat-tab>\n\n <ng-container *ngIf=\"!!message.smsMessage\">\n <mat-tab label=\"SMS Message\" name=\"sms\">\n <ng-template matTabContent>\n <mat-form-field>\n <mat-select\n required\n placeholder=\"Customize Message\"\n [(ngModel)]=\"message.smsMessage.customize\"\n name=\"customizeSms\">\n <mat-option [value]=\"true\">Yes</mat-option>\n <mat-option [value]=\"false\">No</mat-option>\n </mat-select>\n </mat-form-field>\n <div\n *ngIf=\"message.smsMessage.customize\"\n [@.disabled]=\"true\">\n <mat-tab-group [dynamicHeight]=\"false\">\n <mat-tab label=\"Content\">\n <ng-template matTabContent>\n <fs-text-editor\n [(ngModel)]=\"message.smsMessage.message\"\n name=\"smsMessageMessage\"\n [config]=\"{ language: 'text '}\">\n </fs-text-editor>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n <fs-label-field *ngIf=\"!message.smsMessage.customize\">\n <fs-label>Message</fs-label>\n {{message.defaultSmsMessage}}\n </fs-label-field>\n </ng-template>\n </mat-tab>\n </ng-container>\n\n <mat-tab label=\"Attachments\" *ngIf=\"message.emailMessage\" name=\"attachments\">\n <ng-template matTabContent>\n <fs-app-message-attachments \n [message]=\"message\">\n </fs-app-message-attachments>\n </ng-template>\n </mat-tab>\n\n <mat-tab label=\"Variables\" *ngIf=\"message.variables\">\n <ng-template matTabContent>\n <div *ngFor=\"let variable of message.variables\" class=\"variable\">\n {{variable.name}}\n </div>\n </ng-template>\n </mat-tab>\n\n <mat-tab label=\"Defaults\">\n <ng-template matTabContent>\n <ng-container *ngIf=\"message.emailMessage\">\n <h2 *ngIf=\"message.emailMessage && message.smsMessage\">Email</h2>\n <fs-label-field>\n <fs-label>Subject</fs-label>\n <div class=\"content\">{{message.defaultEmailSubject}}</div>\n </fs-label-field>\n <fs-label-field>\n <fs-label>Content</fs-label>\n <div class=\"content\">{{message.defaultEmailBody}}</div>\n </fs-label-field>\n </ng-container>\n <ng-container *ngIf=\"message.smsMessage\">\n <h2 *ngIf=\"message.emailMessage && message.smsMessage\">SMS</h2>\n <fs-label-field>\n <fs-label>Content</fs-label>\n <div class=\"content\">{{message.defaultSmsMessage}}</div>\n </fs-label-field>\n </ng-container>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n\n </mat-dialog-content>\n <mat-dialog-actions>\n <ng-container *ngIf=\"tab==='email' || tab==='sms' || tab==='general'; else done\">\n <button \n mat-button \n color=\"primary\">\n Save\n </button> \n <ng-container *ngIf=\"tab==='email'\">\n <button \n mat-button\n type=\"button\"\n (click)=\"openPreview()\"\n type=\"button\">\n Preview\n </button>\n <button\n mat-button\n type=\"button\"\n (click)=\"sendTest('email')\"\n type=\"button\">\n Send Test Email\n </button>\n </ng-container>\n <ng-container *ngIf=\"tab==='sms'\">\n <button \n mat-button\n type=\"button\"\n (click)=\"sendTest('sms')\"\n type=\"button\">\n Send Test SMS\n </button>\n </ng-container>\n <button \n mat-button \n [mat-dialog-close]=\"null\" \n type=\"button\">\n Cancel\n </button>\n </ng-container> \n <ng-template #done>\n <button \n mat-button \n color=\"primary\"\n [mat-dialog-close]=\"null\" \n type=\"button\">\n Close\n </button>\n </ng-template>\n </mat-dialog-actions>\n </fs-dialog>\n</form>\n", styles: ["fs-label-field .content{white-space:pre-wrap}:host ::ng-deep .mat-tab-body-content,:host ::ng-deep .mat-tab-body{overflow:visible}:host ::ng-deep .sms-message{width:100%}:host ::ng-deep .email-body-text-default{white-space:pre-line}.fs-column .mat-form-field{flex:1}.email-body-text{width:100%}.variable{margin-bottom:4px}\n"], components: [{ type: i4__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileActionPlacement", "mobileWidth", "mode"] }, { type: i5__namespace.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i5__namespace.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby"], exportAs: ["matTab"] }, { type: i6__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i6__namespace$1.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i6__namespace$1.FsLabelComponent, selector: "fs-label" }, { type: i8__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i9__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i10__namespace.FsTextEditorComponent, selector: "fs-text-editor", inputs: ["config", "scrollable"], outputs: ["init", "blur"] }, { type: i11__namespace.FsHtmlEditorComponent, selector: "fs-html-editor", inputs: ["config", "hint"] }, { type: i11__namespace.FsHtmlRendererComponent, selector: "fs-html-renderer", inputs: ["html"] }, { type: AttachmentsComponent, selector: "fs-app-message-attachments", inputs: ["message"] }, { type: i3__namespace.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i14__namespace.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i15__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i15__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i15__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i16__namespace.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup", "deactivationGuard"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"] }, { type: i17__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i18__namespace.FsTabsHeaderTabGroupDirective, selector: "mat-tab-group, matTabGroup, [matTabGroup]", inputs: ["orientation", "selected", "selectedData"], outputs: ["selectedChange", "selectedDataChange"], exportAs: ["fsTabsHeaderTabGroup"] }, { type: i18__namespace.FsTabsTabDirective, selector: "mat-tab,matTab", inputs: ["name", "data"], exportAs: ["fsTabsTab"] }, { type: i5__namespace.MatTabContent, selector: "[matTabContent]" }, { type: i19__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i15__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i15__namespace.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i15__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i15__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i16__namespace.FsFormRequiredDirective, selector: "[fsFormRequired],[ngModel][required]", inputs: ["fsFormRequired", "required", "fsFormRequiredMessage"] }, { type: i16__namespace.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { type: i17__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i16__namespace.FsButtonDirective, selector: "[mat-raised-button],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit", "form"] }, { type: i1__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
318
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MessageComponent, decorators: [{
268
319
  type: i0.Component,
269
320
  args: [{
270
321
  templateUrl: './message.component.html',
@@ -337,9 +388,9 @@
337
388
  };
338
389
  return MessagesComponent;
339
390
  }());
340
- MessagesComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: MessagesComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: i1__namespace.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Component });
341
- MessagesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: MessagesComponent, selector: "fs-app-messages", viewQueries: [{ propertyName: "list", first: true, predicate: i2$1.FsListComponent, descendants: true, static: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"config\">\n <fs-list-column title=\"Name\" name=\"name\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"open(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Email Format\">\n <ng-template fs-list-cell let-row=\"row\">\n {{emailMessageFormats[row.emailMessage.format]}}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Email Message Template\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.emailMessage.messageTemplate?.name || 'None'}}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Customized Message\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessage?.customize || row.smsMessage?.customize; else noCustomize\">\n <ng-container *ngIf=\"row.emailMessage?.customize\">\n {{row.emailMessage.customize ? 'Email' : ''}}\n </ng-container> \n <ng-container *ngIf=\"row.smsMessage?.customize\">\n {{row.smsMessage.customize ? 'SMS' : ''}}\n </ng-container> \n </ng-container>\n <ng-template #noCustomize>\n None\n </ng-template>\n </ng-template>\n </fs-list-column>\n</fs-list>\n", components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i17__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
342
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: MessagesComponent, decorators: [{
391
+ MessagesComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MessagesComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: i1__namespace.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Component });
392
+ MessagesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MessagesComponent, selector: "fs-app-messages", viewQueries: [{ propertyName: "list", first: true, predicate: i2$1.FsListComponent, descendants: true, static: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"config\">\n <fs-list-column title=\"Name\" name=\"name\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"open(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Email Format\">\n <ng-template fs-list-cell let-row=\"row\">\n {{emailMessageFormats[row.emailMessage.format]}}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Email Message Template\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.emailMessage.messageTemplate?.name || 'None'}}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Customized Message\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessage?.customize || row.smsMessage?.customize; else noCustomize\">\n <ng-container *ngIf=\"row.emailMessage?.customize\">\n {{row.emailMessage.customize ? 'Email' : ''}}\n </ng-container> \n <ng-container *ngIf=\"row.smsMessage?.customize\">\n {{row.smsMessage.customize ? 'SMS' : ''}}\n </ng-container> \n </ng-container>\n <ng-template #noCustomize>\n None\n </ng-template>\n </ng-template>\n </fs-list-column>\n</fs-list>\n", components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i17__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
393
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MessagesComponent, decorators: [{
343
394
  type: i0.Component,
344
395
  args: [{
345
396
  selector: 'fs-app-messages',
@@ -355,47 +406,13 @@
355
406
  args: [i2$1.FsListComponent, { static: true }]
356
407
  }] } });
357
408
 
358
- var FsAppMessagePreviewModule = /** @class */ (function () {
359
- function FsAppMessagePreviewModule() {
360
- }
361
- return FsAppMessagePreviewModule;
362
- }());
363
- FsAppMessagePreviewModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessagePreviewModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
364
- FsAppMessagePreviewModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessagePreviewModule, declarations: [PreviewComponent], imports: [i1.MatDialogModule,
365
- i3.MatButtonModule,
366
- i4.FsDialogModule,
367
- i2.FsIFrameModule], exports: [PreviewComponent] });
368
- FsAppMessagePreviewModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessagePreviewModule, imports: [[
369
- i1.MatDialogModule,
370
- i3.MatButtonModule,
371
- i4.FsDialogModule,
372
- i2.FsIFrameModule,
373
- ]] });
374
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessagePreviewModule, decorators: [{
375
- type: i0.NgModule,
376
- args: [{
377
- imports: [
378
- i1.MatDialogModule,
379
- i3.MatButtonModule,
380
- i4.FsDialogModule,
381
- i2.FsIFrameModule,
382
- ],
383
- declarations: [
384
- PreviewComponent,
385
- ],
386
- exports: [
387
- PreviewComponent,
388
- ]
389
- }]
390
- }] });
391
-
392
409
  var FsAppMessagesModule = /** @class */ (function () {
393
410
  function FsAppMessagesModule() {
394
411
  }
395
412
  return FsAppMessagesModule;
396
413
  }());
397
- FsAppMessagesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessagesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
398
- FsAppMessagesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessagesModule, declarations: [MessagesComponent,
414
+ FsAppMessagesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
415
+ FsAppMessagesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagesModule, declarations: [MessagesComponent,
399
416
  MessageComponent,
400
417
  AttachmentsComponent], imports: [router.RouterModule,
401
418
  i17.CommonModule,
@@ -404,7 +421,7 @@
404
421
  i3.MatButtonModule,
405
422
  i5.MatTabsModule,
406
423
  i6.MatFormFieldModule,
407
- i20.MatInputModule,
424
+ i19.MatInputModule,
408
425
  i9.MatOptionModule,
409
426
  i8.MatSelectModule,
410
427
  i3$2.MatTooltipModule,
@@ -412,7 +429,6 @@
412
429
  i4.FsDialogModule,
413
430
  i2$1.FsListModule,
414
431
  i6$1.FsLabelModule,
415
- flexLayout.FlexLayoutModule,
416
432
  i14.FsSkeletonModule,
417
433
  i16.FsFormModule,
418
434
  i10.FsTextEditorModule,
@@ -422,7 +438,7 @@
422
438
  i18.FsTabsModule,
423
439
  FsAppMessagePreviewModule], exports: [MessagesComponent,
424
440
  MessageComponent] });
425
- FsAppMessagesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessagesModule, imports: [[
441
+ FsAppMessagesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagesModule, imports: [[
426
442
  router.RouterModule,
427
443
  i17.CommonModule,
428
444
  i15.FormsModule,
@@ -430,7 +446,7 @@
430
446
  i3.MatButtonModule,
431
447
  i5.MatTabsModule,
432
448
  i6.MatFormFieldModule,
433
- i20.MatInputModule,
449
+ i19.MatInputModule,
434
450
  i9.MatOptionModule,
435
451
  i8.MatSelectModule,
436
452
  i3$2.MatTooltipModule,
@@ -438,7 +454,6 @@
438
454
  i4.FsDialogModule,
439
455
  i2$1.FsListModule,
440
456
  i6$1.FsLabelModule,
441
- flexLayout.FlexLayoutModule,
442
457
  i14.FsSkeletonModule,
443
458
  i16.FsFormModule,
444
459
  i10.FsTextEditorModule,
@@ -448,7 +463,7 @@
448
463
  i18.FsTabsModule,
449
464
  FsAppMessagePreviewModule,
450
465
  ]] });
451
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessagesModule, decorators: [{
466
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagesModule, decorators: [{
452
467
  type: i0.NgModule,
453
468
  args: [{
454
469
  imports: [
@@ -459,7 +474,7 @@
459
474
  i3.MatButtonModule,
460
475
  i5.MatTabsModule,
461
476
  i6.MatFormFieldModule,
462
- i20.MatInputModule,
477
+ i19.MatInputModule,
463
478
  i9.MatOptionModule,
464
479
  i8.MatSelectModule,
465
480
  i3$2.MatTooltipModule,
@@ -467,7 +482,6 @@
467
482
  i4.FsDialogModule,
468
483
  i2$1.FsListModule,
469
484
  i6$1.FsLabelModule,
470
- flexLayout.FlexLayoutModule,
471
485
  i14.FsSkeletonModule,
472
486
  i16.FsFormModule,
473
487
  i10.FsTextEditorModule,
@@ -489,385 +503,67 @@
489
503
  }]
490
504
  }] });
491
505
 
492
- /*! *****************************************************************************
493
- Copyright (c) Microsoft Corporation.
494
-
495
- Permission to use, copy, modify, and/or distribute this software for any
496
- purpose with or without fee is hereby granted.
497
-
498
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
499
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
500
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
501
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
502
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
503
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
504
- PERFORMANCE OF THIS SOFTWARE.
505
- ***************************************************************************** */
506
- /* global Reflect, Promise */
507
- var extendStatics = function (d, b) {
508
- extendStatics = Object.setPrototypeOf ||
509
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
510
- function (d, b) { for (var p in b)
511
- if (Object.prototype.hasOwnProperty.call(b, p))
512
- d[p] = b[p]; };
513
- return extendStatics(d, b);
514
- };
515
- function __extends(d, b) {
516
- if (typeof b !== "function" && b !== null)
517
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
518
- extendStatics(d, b);
519
- function __() { this.constructor = d; }
520
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
521
- }
522
- var __assign = function () {
523
- __assign = Object.assign || function __assign(t) {
524
- for (var s, i = 1, n = arguments.length; i < n; i++) {
525
- s = arguments[i];
526
- for (var p in s)
527
- if (Object.prototype.hasOwnProperty.call(s, p))
528
- t[p] = s[p];
529
- }
530
- return t;
531
- };
532
- return __assign.apply(this, arguments);
533
- };
534
- function __rest(s, e) {
535
- var t = {};
536
- for (var p in s)
537
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
538
- t[p] = s[p];
539
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
540
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
541
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
542
- t[p[i]] = s[p[i]];
543
- }
544
- return t;
545
- }
546
- function __decorate(decorators, target, key, desc) {
547
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
548
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
549
- r = Reflect.decorate(decorators, target, key, desc);
550
- else
551
- for (var i = decorators.length - 1; i >= 0; i--)
552
- if (d = decorators[i])
553
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
554
- return c > 3 && r && Object.defineProperty(target, key, r), r;
555
- }
556
- function __param(paramIndex, decorator) {
557
- return function (target, key) { decorator(target, key, paramIndex); };
558
- }
559
- function __metadata(metadataKey, metadataValue) {
560
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
561
- return Reflect.metadata(metadataKey, metadataValue);
562
- }
563
- function __awaiter(thisArg, _arguments, P, generator) {
564
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
565
- return new (P || (P = Promise))(function (resolve, reject) {
566
- function fulfilled(value) { try {
567
- step(generator.next(value));
568
- }
569
- catch (e) {
570
- reject(e);
571
- } }
572
- function rejected(value) { try {
573
- step(generator["throw"](value));
574
- }
575
- catch (e) {
576
- reject(e);
577
- } }
578
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
579
- step((generator = generator.apply(thisArg, _arguments || [])).next());
580
- });
581
- }
582
- function __generator(thisArg, body) {
583
- var _ = { label: 0, sent: function () { if (t[0] & 1)
584
- throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
585
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
586
- function verb(n) { return function (v) { return step([n, v]); }; }
587
- function step(op) {
588
- if (f)
589
- throw new TypeError("Generator is already executing.");
590
- while (_)
591
- try {
592
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
593
- return t;
594
- if (y = 0, t)
595
- op = [op[0] & 2, t.value];
596
- switch (op[0]) {
597
- case 0:
598
- case 1:
599
- t = op;
600
- break;
601
- case 4:
602
- _.label++;
603
- return { value: op[1], done: false };
604
- case 5:
605
- _.label++;
606
- y = op[1];
607
- op = [0];
608
- continue;
609
- case 7:
610
- op = _.ops.pop();
611
- _.trys.pop();
612
- continue;
613
- default:
614
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
615
- _ = 0;
616
- continue;
617
- }
618
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
619
- _.label = op[1];
620
- break;
621
- }
622
- if (op[0] === 6 && _.label < t[1]) {
623
- _.label = t[1];
624
- t = op;
625
- break;
626
- }
627
- if (t && _.label < t[2]) {
628
- _.label = t[2];
629
- _.ops.push(op);
630
- break;
631
- }
632
- if (t[2])
633
- _.ops.pop();
634
- _.trys.pop();
635
- continue;
636
- }
637
- op = body.call(thisArg, _);
638
- }
639
- catch (e) {
640
- op = [6, e];
641
- y = 0;
642
- }
643
- finally {
644
- f = t = 0;
645
- }
646
- if (op[0] & 5)
647
- throw op[1];
648
- return { value: op[0] ? op[1] : void 0, done: true };
649
- }
650
- }
651
- var __createBinding = Object.create ? (function (o, m, k, k2) {
652
- if (k2 === undefined)
653
- k2 = k;
654
- Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
655
- }) : (function (o, m, k, k2) {
656
- if (k2 === undefined)
657
- k2 = k;
658
- o[k2] = m[k];
659
- });
660
- function __exportStar(m, o) {
661
- for (var p in m)
662
- if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
663
- __createBinding(o, m, p);
664
- }
665
- function __values(o) {
666
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
667
- if (m)
668
- return m.call(o);
669
- if (o && typeof o.length === "number")
670
- return {
671
- next: function () {
672
- if (o && i >= o.length)
673
- o = void 0;
674
- return { value: o && o[i++], done: !o };
675
- }
676
- };
677
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
678
- }
679
- function __read(o, n) {
680
- var m = typeof Symbol === "function" && o[Symbol.iterator];
681
- if (!m)
682
- return o;
683
- var i = m.call(o), r, ar = [], e;
684
- try {
685
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
686
- ar.push(r.value);
687
- }
688
- catch (error) {
689
- e = { error: error };
690
- }
691
- finally {
692
- try {
693
- if (r && !r.done && (m = i["return"]))
694
- m.call(i);
695
- }
696
- finally {
697
- if (e)
698
- throw e.error;
699
- }
700
- }
701
- return ar;
702
- }
703
- /** @deprecated */
704
- function __spread() {
705
- for (var ar = [], i = 0; i < arguments.length; i++)
706
- ar = ar.concat(__read(arguments[i]));
707
- return ar;
708
- }
709
- /** @deprecated */
710
- function __spreadArrays() {
711
- for (var s = 0, i = 0, il = arguments.length; i < il; i++)
712
- s += arguments[i].length;
713
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
714
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
715
- r[k] = a[j];
716
- return r;
717
- }
718
- function __spreadArray(to, from, pack) {
719
- if (pack || arguments.length === 2)
720
- for (var i = 0, l = from.length, ar; i < l; i++) {
721
- if (ar || !(i in from)) {
722
- if (!ar)
723
- ar = Array.prototype.slice.call(from, 0, i);
724
- ar[i] = from[i];
725
- }
726
- }
727
- return to.concat(ar || Array.prototype.slice.call(from));
728
- }
729
- function __await(v) {
730
- return this instanceof __await ? (this.v = v, this) : new __await(v);
731
- }
732
- function __asyncGenerator(thisArg, _arguments, generator) {
733
- if (!Symbol.asyncIterator)
734
- throw new TypeError("Symbol.asyncIterator is not defined.");
735
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
736
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
737
- function verb(n) { if (g[n])
738
- i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
739
- function resume(n, v) { try {
740
- step(g[n](v));
741
- }
742
- catch (e) {
743
- settle(q[0][3], e);
744
- } }
745
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
746
- function fulfill(value) { resume("next", value); }
747
- function reject(value) { resume("throw", value); }
748
- function settle(f, v) { if (f(v), q.shift(), q.length)
749
- resume(q[0][0], q[0][1]); }
750
- }
751
- function __asyncDelegator(o) {
752
- var i, p;
753
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
754
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
755
- }
756
- function __asyncValues(o) {
757
- if (!Symbol.asyncIterator)
758
- throw new TypeError("Symbol.asyncIterator is not defined.");
759
- var m = o[Symbol.asyncIterator], i;
760
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
761
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
762
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
763
- }
764
- function __makeTemplateObject(cooked, raw) {
765
- if (Object.defineProperty) {
766
- Object.defineProperty(cooked, "raw", { value: raw });
767
- }
768
- else {
769
- cooked.raw = raw;
770
- }
771
- return cooked;
772
- }
773
- ;
774
- var __setModuleDefault = Object.create ? (function (o, v) {
775
- Object.defineProperty(o, "default", { enumerable: true, value: v });
776
- }) : function (o, v) {
777
- o["default"] = v;
778
- };
779
- function __importStar(mod) {
780
- if (mod && mod.__esModule)
781
- return mod;
782
- var result = {};
783
- if (mod != null)
784
- for (var k in mod)
785
- if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
786
- __createBinding(result, mod, k);
787
- __setModuleDefault(result, mod);
788
- return result;
789
- }
790
- function __importDefault(mod) {
791
- return (mod && mod.__esModule) ? mod : { default: mod };
792
- }
793
- function __classPrivateFieldGet(receiver, state, kind, f) {
794
- if (kind === "a" && !f)
795
- throw new TypeError("Private accessor was defined without a getter");
796
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
797
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
798
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
799
- }
800
- function __classPrivateFieldSet(receiver, state, value, kind, f) {
801
- if (kind === "m")
802
- throw new TypeError("Private method is not writable");
803
- if (kind === "a" && !f)
804
- throw new TypeError("Private accessor was defined without a setter");
805
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
806
- throw new TypeError("Cannot write private member to an object whose class did not declare it");
807
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
808
- }
809
-
810
- var MessageQueueState;
811
- (function (MessageQueueState) {
812
- MessageQueueState["Sent"] = "S";
813
- MessageQueueState["PartiallySent"] = "P";
814
- MessageQueueState["Sending"] = "E";
815
- MessageQueueState["Queued"] = "Q";
816
- MessageQueueState["Canceled"] = "C";
817
- MessageQueueState["InvalidRecipients"] = "I";
818
- MessageQueueState["Failed"] = "F";
819
- })(MessageQueueState || (MessageQueueState = {}));
820
-
821
- var MessageQueueStates = [
822
- { name: 'Sent', value: MessageQueueState.Sent },
823
- { name: 'Partially Sent', value: MessageQueueState.PartiallySent },
824
- { name: 'Sending', value: MessageQueueState.Sending },
825
- { name: 'Queued', value: MessageQueueState.Queued },
826
- { name: 'Canceled', value: MessageQueueState.Canceled },
827
- { name: 'Invalid Recipients', value: MessageQueueState.InvalidRecipients },
828
- { name: 'Failed', value: MessageQueueState.Failed }
829
- ];
830
-
831
- var EmailMessageQueueFormat;
832
- (function (EmailMessageQueueFormat) {
833
- EmailMessageQueueFormat["Text"] = "T";
834
- EmailMessageQueueFormat["HTML"] = "H";
835
- EmailMessageQueueFormat["RichText"] = "R";
836
- })(EmailMessageQueueFormat || (EmailMessageQueueFormat = {}));
837
-
838
- var MessageQueueType;
839
- (function (MessageQueueType) {
840
- MessageQueueType["Sms"] = "S";
841
- MessageQueueType["Email"] = "E";
842
- })(MessageQueueType || (MessageQueueType = {}));
843
-
844
- var MessageQueueEventType;
845
- (function (MessageQueueEventType) {
846
- MessageQueueEventType["Click"] = "click";
847
- MessageQueueEventType["Open"] = "open";
848
- })(MessageQueueEventType || (MessageQueueEventType = {}));
849
-
850
- var MessageQueueEventTypes = [
851
- { name: 'Open', value: MessageQueueEventType.Open },
852
- { name: 'Click', value: MessageQueueEventType.Click },
853
- ];
854
-
855
- var RecipientComponent = /** @class */ (function () {
856
- function RecipientComponent() {
857
- }
858
- RecipientComponent.prototype.ngOnInit = function () {
859
- var icons = {
860
- 'S': { name: 'check_circle', tooltip: 'Sent' },
861
- 'E': { name: 'offline_bolt', tooltip: 'Sending' },
862
- 'F': { name: 'info', tooltip: 'Failed' },
863
- };
864
- this.icon = icons[this.state];
506
+ var EmailMessageQueueFormat;
507
+ (function (EmailMessageQueueFormat) {
508
+ EmailMessageQueueFormat["Text"] = "T";
509
+ EmailMessageQueueFormat["HTML"] = "H";
510
+ EmailMessageQueueFormat["RichText"] = "R";
511
+ })(EmailMessageQueueFormat || (EmailMessageQueueFormat = {}));
512
+
513
+ var MessageQueueType;
514
+ (function (MessageQueueType) {
515
+ MessageQueueType["Sms"] = "S";
516
+ MessageQueueType["Email"] = "E";
517
+ })(MessageQueueType || (MessageQueueType = {}));
518
+
519
+ var MessageQueueEventType;
520
+ (function (MessageQueueEventType) {
521
+ MessageQueueEventType["Click"] = "click";
522
+ MessageQueueEventType["Open"] = "open";
523
+ })(MessageQueueEventType || (MessageQueueEventType = {}));
524
+
525
+ var MessageQueueState;
526
+ (function (MessageQueueState) {
527
+ MessageQueueState["Sent"] = "S";
528
+ MessageQueueState["PartiallySent"] = "P";
529
+ MessageQueueState["Sending"] = "E";
530
+ MessageQueueState["Queued"] = "Q";
531
+ MessageQueueState["Canceled"] = "C";
532
+ MessageQueueState["InvalidRecipients"] = "I";
533
+ MessageQueueState["Failed"] = "F";
534
+ })(MessageQueueState || (MessageQueueState = {}));
535
+
536
+ var MessageQueueStates = [
537
+ { name: 'Sent', value: MessageQueueState.Sent },
538
+ { name: 'Partially Sent', value: MessageQueueState.PartiallySent },
539
+ { name: 'Sending', value: MessageQueueState.Sending },
540
+ { name: 'Queued', value: MessageQueueState.Queued },
541
+ { name: 'Canceled', value: MessageQueueState.Canceled },
542
+ { name: 'Invalid Recipients', value: MessageQueueState.InvalidRecipients },
543
+ { name: 'Failed', value: MessageQueueState.Failed }
544
+ ];
545
+
546
+ var MessageQueueEventTypes = [
547
+ { name: 'Open', value: MessageQueueEventType.Open },
548
+ { name: 'Click', value: MessageQueueEventType.Click },
549
+ ];
550
+
551
+ var RecipientComponent = /** @class */ (function () {
552
+ function RecipientComponent() {
553
+ }
554
+ RecipientComponent.prototype.ngOnInit = function () {
555
+ var icons = {
556
+ 'S': { name: 'check_circle', tooltip: 'Sent' },
557
+ 'E': { name: 'offline_bolt', tooltip: 'Sending' },
558
+ 'F': { name: 'info', tooltip: 'Failed' },
559
+ };
560
+ this.icon = icons[this.state];
865
561
  };
866
562
  return RecipientComponent;
867
563
  }());
868
- RecipientComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RecipientComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
869
- RecipientComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: RecipientComponent, selector: "app-recipient", inputs: { name: "name", state: "state" }, ngImport: i0__namespace, template: "<span class=\"recipient\">\n <span class=\"name\">{{name}}</span>\n <mat-icon *ngIf=\"icon\" [class]=\"'state-' + state\" [matTooltip]=\"icon.tooltip\">{{icon.name}}</mat-icon>\n</span>", styles: ["mat-icon{font-size:14px;width:14px;height:14px;line-height:normal;margin-left:2px}mat-icon.state-S{color:#5fa099}mat-icon.state-E{color:#fbbc04}mat-icon.state-F{color:#d8524e}.recipient{display:inline-flex;align-items:center}\n"], components: [{ type: i1__namespace$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i17__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
870
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: RecipientComponent, decorators: [{
564
+ RecipientComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RecipientComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
565
+ RecipientComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RecipientComponent, selector: "app-recipient", inputs: { name: "name", state: "state" }, ngImport: i0__namespace, template: "<span class=\"recipient\">\n <span class=\"name\">{{name}}</span>\n <mat-icon *ngIf=\"icon\" [class]=\"'state-' + state\" [matTooltip]=\"icon.tooltip\">{{icon.name}}</mat-icon>\n</span>", styles: ["mat-icon{font-size:14px;width:14px;height:14px;line-height:normal;margin-left:2px}mat-icon.state-S{color:#5fa099}mat-icon.state-E{color:#fbbc04}mat-icon.state-F{color:#d8524e}.recipient{display:inline-flex;align-items:center}\n"], components: [{ type: i1__namespace$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i17__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
566
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RecipientComponent, decorators: [{
871
567
  type: i0.Component,
872
568
  args: [{
873
569
  selector: 'app-recipient',
@@ -1017,85 +713,547 @@
1017
713
  return _this._config.loadMessageQueueEvents(messageQueue, query);
1018
714
  }
1019
715
  };
1020
- };
1021
- QueueComponent.prototype._setAttachmentsConfig = function (messageQueue) {
1022
- var _this = this;
1023
- this.attachmentConfig = {
1024
- queryParam: false,
1025
- fetch: function (query) {
1026
- return _this._config.loadMessageQueueAttachments(messageQueue, query)
1027
- .pipe(operators.map(function (response) { return ({
1028
- data: response.data.map(function (value) {
1029
- value.prettyFilesize = _this._prettyFilesize(value.filesize);
1030
- return value;
1031
- }), paging: response.paging
1032
- }); }));
716
+ };
717
+ QueueComponent.prototype._setAttachmentsConfig = function (messageQueue) {
718
+ var _this = this;
719
+ this.attachmentConfig = {
720
+ queryParam: false,
721
+ fetch: function (query) {
722
+ return _this._config.loadMessageQueueAttachments(messageQueue, query)
723
+ .pipe(operators.map(function (response) { return ({
724
+ data: response.data.map(function (value) {
725
+ value.prettyFilesize = _this._prettyFilesize(value.filesize);
726
+ return value;
727
+ }), paging: response.paging
728
+ }); }));
729
+ }
730
+ };
731
+ if (this._config.downloadMessageQueueAttachment) {
732
+ this.attachmentConfig.rowActions = [
733
+ {
734
+ click: function (messageAttachment) {
735
+ _this._config.downloadMessageQueueAttachment(messageAttachment, _this.messageQueue);
736
+ },
737
+ label: 'Download',
738
+ }
739
+ ];
740
+ }
741
+ };
742
+ QueueComponent.prototype._prettyFilesize = function (bytes) {
743
+ if (bytes === 0) {
744
+ return '0.00 B';
745
+ }
746
+ var e = Math.floor(Math.log(bytes) / Math.log(1024));
747
+ return (bytes / Math.pow(1024, e)).toFixed(2) + ' ' + ' KMGTP'.charAt(e) + 'B';
748
+ };
749
+ return QueueComponent;
750
+ }());
751
+ QueueComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QueueComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: i1.MAT_DIALOG_DATA }, { token: i1__namespace$1.FsMessage }, { token: i1__namespace$2.FsPrompt }, { token: i1__namespace.MatDialog }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
752
+ QueueComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QueueComponent, selector: "ng-component", viewQueries: [{ propertyName: "logList", first: true, predicate: ["logList"], descendants: true }], ngImport: i0__namespace, template: "<fs-dialog *fsSkeleton=\"messageQueue\">\n <div mat-dialog-title>Message Queue</div>\n <mat-dialog-content>\n <mat-tab-group>\n <mat-tab label=\"Overview\">\n <ng-template matTabContent>\n <div class=\"fs-row.gap-large.wrap\">\n <ng-container *ngIf=\"messageQueue.emailMessageQueue\">\n <fs-label-field>\n <fs-label>\n To Recipients\n </fs-label>\n <app-recipient \n *ngFor=\"let recipient of messageQueue.emailMessageQueue.toRecipients\"\n [state]=\"messageQueueRecipients[recipient]\"\n [name]=\"recipient\">\n </app-recipient>\n </fs-label-field>\n\n <fs-label-field *ngIf=\"messageQueue.emailMessageQueue.ccRecipients.length\">\n <fs-label>\n CC\n </fs-label>\n <app-recipient \n *ngFor=\"let recipient of messageQueue.emailMessageQueue.ccRecipients\"\n [state]=\"messageQueueRecipients[recipient]\"\n [name]=\"recipient\">\n </app-recipient> \n </fs-label-field>\n\n <fs-label-field *ngIf=\"messageQueue.emailMessageQueue.bccRecipients.length\">\n <fs-label>\n BCC\n </fs-label>\n <app-recipient \n *ngFor=\"let recipient of messageQueue.emailMessageQueue.bccRecipients\"\n [state]=\"messageQueueRecipients[recipient]\"\n [name]=\"recipient\">\n </app-recipient> \n </fs-label-field>\n\n <fs-label-field *ngIf=\"messageQueue.emailMessageQueue.fromName || messageQueue.emailMessageQueue.fromEmail\">\n <fs-label>\n From\n </fs-label>\n <ng-container *ngIf=\"messageQueue.emailMessageQueue.fromName === messageQueue.emailMessageQueue.fromEmail; else fromEmailName\">\n {{messageQueue.emailMessageQueue.fromName}}\n </ng-container>\n\n <ng-template #fromEmailName>\n {{messageQueue.emailMessageQueue.fromName}}\n <ng-container *ngIf=\"messageQueue.emailMessageQueue.fromEmail\">\n ({{messageQueue.emailMessageQueue.fromEmail}})\n </ng-container>\n </ng-template>\n </fs-label-field>\n\n <fs-label-field *ngIf=\"messageQueue.emailMessageQueue.replyEmail && messageQueue.emailMessageQueue.replyEmail.length\">\n <fs-label>\n Reply To\n </fs-label>\n {{messageQueue.emailMessageQueue.replyEmail.join(', ')}}\n </fs-label-field>\n </ng-container>\n\n <ng-container *ngIf=\"messageQueue.smsMessageQueue\">\n <fs-label-field>\n <fs-label>\n To Number\n </fs-label>\n <app-recipient \n [state]=\"messageQueue.state\"\n [name]=\"messageQueue.smsMessageQueue.toNumber\">\n </app-recipient> \n </fs-label-field>\n\n <fs-label-field *ngIf=\"messageQueue.smsMessageQueue.fromNumber\">\n <fs-label>\n From Number\n </fs-label>\n {{messageQueue.smsMessageQueue.fromNumber}}\n </fs-label-field>\n </ng-container>\n \n <fs-label-field>\n <fs-label>\n Date\n </fs-label>\n {{messageQueue.scheduledDate | fsDateFormat: 'full-date-time'}}\n </fs-label-field>\n\n <fs-label-field>\n <fs-label>\n Status\n </fs-label>\n {{messageQueueStates[messageQueue.state]}}\n </fs-label-field>\n\n <fs-label-field *ngIf=\"messageQueue.message\">\n <fs-label>\n Message Type\n </fs-label>\n <a\n (click)=\"openMessage(messageQueue.message)\"\n *ngIf=\"loadMessage; else elseMessage\">\n {{messageQueue.message.name}}\n </a>\n <ng-template #elseMessage>\n {{messageQueue.message.name}}\n </ng-template>\n </fs-label-field>\n </div>\n\n <ng-container *ngIf=\"messageQueue.emailMessageQueue\">\n <fs-label-field class=\"subject\">\n <fs-label>\n Subject\n </fs-label>\n {{messageQueue.emailMessageQueue.subject}}\n </fs-label-field>\n\n <fs-label-field class=\"body\">\n <fs-label>\n Body\n </fs-label>\n <div\n *ngIf=\"messageQueue.emailMessageQueue.format===emailMessageQueueFormat.Text\"\n class=\"format-text\"\n [innerHTML]=\"messageQueue.emailMessageQueue.body\">\n </div>\n <fs-iframe\n *ngIf=\"messageQueue.emailMessageQueue.format===emailMessageQueueFormat.HTML || messageQueue.emailMessageQueue.format===emailMessageQueueFormat.RichText\"\n [html]=\"messageQueue.emailMessageQueue.body\"\n [width]=\"'100%'\">\n </fs-iframe>\n </fs-label-field>\n </ng-container>\n\n <ng-container *ngIf=\"messageQueue.smsMessageQueue\">\n <fs-label-field>\n <fs-label>\n Message\n </fs-label>\n <div\n class=\"format-text\"\n [innerHTML]=\"messageQueue.smsMessageQueue.body\">\n </div>\n </fs-label-field>\n </ng-container>\n\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Logs\">\n <ng-template matTabContent>\n <fs-list [config]=\"logConfig\" #logList>\n <fs-list-column title=\"Message\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.message}}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Date\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-date-ago [date]=\"row.createdDate\"></fs-date-ago>\n </ng-template>\n </fs-list-column>\n </fs-list>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Attachments\">\n <ng-template matTabContent>\n <fs-list [config]=\"attachmentConfig\">\n <fs-list-column title=\"File Name\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.filename}}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"File Size\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.prettyFilesize}}\n </ng-template>\n </fs-list-column>\n </fs-list>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Events\">\n <ng-template matTabContent>\n <fs-list [config]=\"eventConfig\">\n <fs-list-column title=\"Recipient\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.messageQueueRecipient.recipient}}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Event\">\n <ng-template fs-list-cell let-row=\"row\">\n {{MessageQueueEventTypes[row.type]}}\n <div class=\"small\" *ngIf=\"row.type === MessageQueueEventType.Click\">\n <a [href]=\"row.meta?.url\" target=\"_blank\">{{row.meta?.url}}</a>\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Date\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.createDate | fsDateFormat: 'date-time-yearless'}}\n </ng-template>\n </fs-list-column>\n </fs-list>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n [mat-dialog-close]=\"null\"\n color=\"primary\">\n Done\n </button>\n <button\n mat-button\n *ngIf=\"resendMessageQueue\"\n type=\"button\"\n (click)=\"resend()\"\n type=\"button\">\n Resend\n </button>\n <button\n mat-button\n *ngIf=\"forwardMessageQueue\"\n type=\"button\"\n (click)=\"forward()\"\n type=\"button\">\n Forward\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: [".subject,.body{display:block;margin-top:15px}.body .format-text{white-space:pre-wrap}.body .body-frame{border:0}.body ::ng-deep .field-label{margin-bottom:10px}app-recipient{display:block}[hidden]{display:none!important}\n"], components: [{ type: i4__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileActionPlacement", "mobileWidth", "mode"] }, { type: i5__namespace.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i5__namespace.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby"], exportAs: ["matTab"] }, { type: i6__namespace$1.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i6__namespace$1.FsLabelComponent, selector: "fs-label" }, { type: RecipientComponent, selector: "app-recipient", inputs: ["name", "state"] }, { type: i2__namespace.FsIFrameComponent, selector: "fs-iframe", inputs: ["html", "src", "styles", "width", "height"] }, { type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i10__namespace$1.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }, { type: i3__namespace.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i14__namespace.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i1__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i5__namespace.MatTabContent, selector: "[matTabContent]" }, { type: i17__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i17__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i16__namespace.FsButtonDirective, selector: "[mat-raised-button],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit", "form"] }, { type: i1__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "fsDateFormat": i10__namespace$1.FsDateFormatPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
753
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QueueComponent, decorators: [{
754
+ type: i0.Component,
755
+ args: [{
756
+ templateUrl: './queue.component.html',
757
+ styleUrls: ['./queue.component.scss'],
758
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
759
+ }]
760
+ }], ctorParameters: function () {
761
+ return [{ type: undefined, decorators: [{
762
+ type: i0.Inject,
763
+ args: [FS_APP_MESSAGE_CONFIG]
764
+ }] }, { type: undefined, decorators: [{
765
+ type: i0.Inject,
766
+ args: [i1.MAT_DIALOG_DATA]
767
+ }] }, { type: i1__namespace$1.FsMessage }, { type: i1__namespace$2.FsPrompt }, { type: i1__namespace.MatDialog }, { type: i0__namespace.ChangeDetectorRef }];
768
+ }, propDecorators: { logList: [{
769
+ type: i0.ViewChild,
770
+ args: ['logList']
771
+ }] } });
772
+
773
+ /******************************************************************************
774
+ Copyright (c) Microsoft Corporation.
775
+
776
+ Permission to use, copy, modify, and/or distribute this software for any
777
+ purpose with or without fee is hereby granted.
778
+
779
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
780
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
781
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
782
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
783
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
784
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
785
+ PERFORMANCE OF THIS SOFTWARE.
786
+ ***************************************************************************** */
787
+ /* global Reflect, Promise, SuppressedError, Symbol */
788
+ var extendStatics = function (d, b) {
789
+ extendStatics = Object.setPrototypeOf ||
790
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
791
+ function (d, b) { for (var p in b)
792
+ if (Object.prototype.hasOwnProperty.call(b, p))
793
+ d[p] = b[p]; };
794
+ return extendStatics(d, b);
795
+ };
796
+ function __extends(d, b) {
797
+ if (typeof b !== "function" && b !== null)
798
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
799
+ extendStatics(d, b);
800
+ function __() { this.constructor = d; }
801
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
802
+ }
803
+ var __assign = function () {
804
+ __assign = Object.assign || function __assign(t) {
805
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
806
+ s = arguments[i];
807
+ for (var p in s)
808
+ if (Object.prototype.hasOwnProperty.call(s, p))
809
+ t[p] = s[p];
810
+ }
811
+ return t;
812
+ };
813
+ return __assign.apply(this, arguments);
814
+ };
815
+ function __rest(s, e) {
816
+ var t = {};
817
+ for (var p in s)
818
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
819
+ t[p] = s[p];
820
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
821
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
822
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
823
+ t[p[i]] = s[p[i]];
824
+ }
825
+ return t;
826
+ }
827
+ function __decorate(decorators, target, key, desc) {
828
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
829
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
830
+ r = Reflect.decorate(decorators, target, key, desc);
831
+ else
832
+ for (var i = decorators.length - 1; i >= 0; i--)
833
+ if (d = decorators[i])
834
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
835
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
836
+ }
837
+ function __param(paramIndex, decorator) {
838
+ return function (target, key) { decorator(target, key, paramIndex); };
839
+ }
840
+ function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
841
+ function accept(f) { if (f !== void 0 && typeof f !== "function")
842
+ throw new TypeError("Function expected"); return f; }
843
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
844
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
845
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
846
+ var _, done = false;
847
+ for (var i = decorators.length - 1; i >= 0; i--) {
848
+ var context = {};
849
+ for (var p in contextIn)
850
+ context[p] = p === "access" ? {} : contextIn[p];
851
+ for (var p in contextIn.access)
852
+ context.access[p] = contextIn.access[p];
853
+ context.addInitializer = function (f) { if (done)
854
+ throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
855
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
856
+ if (kind === "accessor") {
857
+ if (result === void 0)
858
+ continue;
859
+ if (result === null || typeof result !== "object")
860
+ throw new TypeError("Object expected");
861
+ if (_ = accept(result.get))
862
+ descriptor.get = _;
863
+ if (_ = accept(result.set))
864
+ descriptor.set = _;
865
+ if (_ = accept(result.init))
866
+ initializers.unshift(_);
867
+ }
868
+ else if (_ = accept(result)) {
869
+ if (kind === "field")
870
+ initializers.unshift(_);
871
+ else
872
+ descriptor[key] = _;
873
+ }
874
+ }
875
+ if (target)
876
+ Object.defineProperty(target, contextIn.name, descriptor);
877
+ done = true;
878
+ }
879
+ ;
880
+ function __runInitializers(thisArg, initializers, value) {
881
+ var useValue = arguments.length > 2;
882
+ for (var i = 0; i < initializers.length; i++) {
883
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
884
+ }
885
+ return useValue ? value : void 0;
886
+ }
887
+ ;
888
+ function __propKey(x) {
889
+ return typeof x === "symbol" ? x : "".concat(x);
890
+ }
891
+ ;
892
+ function __setFunctionName(f, name, prefix) {
893
+ if (typeof name === "symbol")
894
+ name = name.description ? "[".concat(name.description, "]") : "";
895
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
896
+ }
897
+ ;
898
+ function __metadata(metadataKey, metadataValue) {
899
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
900
+ return Reflect.metadata(metadataKey, metadataValue);
901
+ }
902
+ function __awaiter(thisArg, _arguments, P, generator) {
903
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
904
+ return new (P || (P = Promise))(function (resolve, reject) {
905
+ function fulfilled(value) { try {
906
+ step(generator.next(value));
907
+ }
908
+ catch (e) {
909
+ reject(e);
910
+ } }
911
+ function rejected(value) { try {
912
+ step(generator["throw"](value));
913
+ }
914
+ catch (e) {
915
+ reject(e);
916
+ } }
917
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
918
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
919
+ });
920
+ }
921
+ function __generator(thisArg, body) {
922
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
923
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
924
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
925
+ function verb(n) { return function (v) { return step([n, v]); }; }
926
+ function step(op) {
927
+ if (f)
928
+ throw new TypeError("Generator is already executing.");
929
+ while (g && (g = 0, op[0] && (_ = 0)), _)
930
+ try {
931
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
932
+ return t;
933
+ if (y = 0, t)
934
+ op = [op[0] & 2, t.value];
935
+ switch (op[0]) {
936
+ case 0:
937
+ case 1:
938
+ t = op;
939
+ break;
940
+ case 4:
941
+ _.label++;
942
+ return { value: op[1], done: false };
943
+ case 5:
944
+ _.label++;
945
+ y = op[1];
946
+ op = [0];
947
+ continue;
948
+ case 7:
949
+ op = _.ops.pop();
950
+ _.trys.pop();
951
+ continue;
952
+ default:
953
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
954
+ _ = 0;
955
+ continue;
956
+ }
957
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
958
+ _.label = op[1];
959
+ break;
960
+ }
961
+ if (op[0] === 6 && _.label < t[1]) {
962
+ _.label = t[1];
963
+ t = op;
964
+ break;
965
+ }
966
+ if (t && _.label < t[2]) {
967
+ _.label = t[2];
968
+ _.ops.push(op);
969
+ break;
970
+ }
971
+ if (t[2])
972
+ _.ops.pop();
973
+ _.trys.pop();
974
+ continue;
975
+ }
976
+ op = body.call(thisArg, _);
977
+ }
978
+ catch (e) {
979
+ op = [6, e];
980
+ y = 0;
981
+ }
982
+ finally {
983
+ f = t = 0;
984
+ }
985
+ if (op[0] & 5)
986
+ throw op[1];
987
+ return { value: op[0] ? op[1] : void 0, done: true };
988
+ }
989
+ }
990
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
991
+ if (k2 === undefined)
992
+ k2 = k;
993
+ var desc = Object.getOwnPropertyDescriptor(m, k);
994
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
995
+ desc = { enumerable: true, get: function () { return m[k]; } };
996
+ }
997
+ Object.defineProperty(o, k2, desc);
998
+ }) : (function (o, m, k, k2) {
999
+ if (k2 === undefined)
1000
+ k2 = k;
1001
+ o[k2] = m[k];
1002
+ });
1003
+ function __exportStar(m, o) {
1004
+ for (var p in m)
1005
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
1006
+ __createBinding(o, m, p);
1007
+ }
1008
+ function __values(o) {
1009
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
1010
+ if (m)
1011
+ return m.call(o);
1012
+ if (o && typeof o.length === "number")
1013
+ return {
1014
+ next: function () {
1015
+ if (o && i >= o.length)
1016
+ o = void 0;
1017
+ return { value: o && o[i++], done: !o };
1018
+ }
1019
+ };
1020
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
1021
+ }
1022
+ function __read(o, n) {
1023
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
1024
+ if (!m)
1025
+ return o;
1026
+ var i = m.call(o), r, ar = [], e;
1027
+ try {
1028
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
1029
+ ar.push(r.value);
1030
+ }
1031
+ catch (error) {
1032
+ e = { error: error };
1033
+ }
1034
+ finally {
1035
+ try {
1036
+ if (r && !r.done && (m = i["return"]))
1037
+ m.call(i);
1038
+ }
1039
+ finally {
1040
+ if (e)
1041
+ throw e.error;
1042
+ }
1043
+ }
1044
+ return ar;
1045
+ }
1046
+ /** @deprecated */
1047
+ function __spread() {
1048
+ for (var ar = [], i = 0; i < arguments.length; i++)
1049
+ ar = ar.concat(__read(arguments[i]));
1050
+ return ar;
1051
+ }
1052
+ /** @deprecated */
1053
+ function __spreadArrays() {
1054
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
1055
+ s += arguments[i].length;
1056
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
1057
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
1058
+ r[k] = a[j];
1059
+ return r;
1060
+ }
1061
+ function __spreadArray(to, from, pack) {
1062
+ if (pack || arguments.length === 2)
1063
+ for (var i = 0, l = from.length, ar; i < l; i++) {
1064
+ if (ar || !(i in from)) {
1065
+ if (!ar)
1066
+ ar = Array.prototype.slice.call(from, 0, i);
1067
+ ar[i] = from[i];
1033
1068
  }
1034
- };
1035
- if (this._config.downloadMessageQueueAttachment) {
1036
- this.attachmentConfig.rowActions = [
1037
- {
1038
- click: function (messageAttachment) {
1039
- _this._config.downloadMessageQueueAttachment(messageAttachment, _this.messageQueue);
1040
- },
1041
- label: 'Download',
1042
- }
1043
- ];
1044
1069
  }
1045
- };
1046
- QueueComponent.prototype._prettyFilesize = function (bytes) {
1047
- if (bytes === 0) {
1048
- return '0.00 B';
1070
+ return to.concat(ar || Array.prototype.slice.call(from));
1071
+ }
1072
+ function __await(v) {
1073
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
1074
+ }
1075
+ function __asyncGenerator(thisArg, _arguments, generator) {
1076
+ if (!Symbol.asyncIterator)
1077
+ throw new TypeError("Symbol.asyncIterator is not defined.");
1078
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
1079
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
1080
+ function verb(n) { if (g[n])
1081
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
1082
+ function resume(n, v) { try {
1083
+ step(g[n](v));
1084
+ }
1085
+ catch (e) {
1086
+ settle(q[0][3], e);
1087
+ } }
1088
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
1089
+ function fulfill(value) { resume("next", value); }
1090
+ function reject(value) { resume("throw", value); }
1091
+ function settle(f, v) { if (f(v), q.shift(), q.length)
1092
+ resume(q[0][0], q[0][1]); }
1093
+ }
1094
+ function __asyncDelegator(o) {
1095
+ var i, p;
1096
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
1097
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
1098
+ }
1099
+ function __asyncValues(o) {
1100
+ if (!Symbol.asyncIterator)
1101
+ throw new TypeError("Symbol.asyncIterator is not defined.");
1102
+ var m = o[Symbol.asyncIterator], i;
1103
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
1104
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
1105
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
1106
+ }
1107
+ function __makeTemplateObject(cooked, raw) {
1108
+ if (Object.defineProperty) {
1109
+ Object.defineProperty(cooked, "raw", { value: raw });
1110
+ }
1111
+ else {
1112
+ cooked.raw = raw;
1113
+ }
1114
+ return cooked;
1115
+ }
1116
+ ;
1117
+ var __setModuleDefault = Object.create ? (function (o, v) {
1118
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
1119
+ }) : function (o, v) {
1120
+ o["default"] = v;
1121
+ };
1122
+ function __importStar(mod) {
1123
+ if (mod && mod.__esModule)
1124
+ return mod;
1125
+ var result = {};
1126
+ if (mod != null)
1127
+ for (var k in mod)
1128
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
1129
+ __createBinding(result, mod, k);
1130
+ __setModuleDefault(result, mod);
1131
+ return result;
1132
+ }
1133
+ function __importDefault(mod) {
1134
+ return (mod && mod.__esModule) ? mod : { default: mod };
1135
+ }
1136
+ function __classPrivateFieldGet(receiver, state, kind, f) {
1137
+ if (kind === "a" && !f)
1138
+ throw new TypeError("Private accessor was defined without a getter");
1139
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
1140
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
1141
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
1142
+ }
1143
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
1144
+ if (kind === "m")
1145
+ throw new TypeError("Private method is not writable");
1146
+ if (kind === "a" && !f)
1147
+ throw new TypeError("Private accessor was defined without a setter");
1148
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
1149
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
1150
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
1151
+ }
1152
+ function __classPrivateFieldIn(state, receiver) {
1153
+ if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
1154
+ throw new TypeError("Cannot use 'in' operator on non-object");
1155
+ return typeof state === "function" ? receiver === state : state.has(receiver);
1156
+ }
1157
+ function __addDisposableResource(env, value, async) {
1158
+ if (value !== null && value !== void 0) {
1159
+ if (typeof value !== "object" && typeof value !== "function")
1160
+ throw new TypeError("Object expected.");
1161
+ var dispose;
1162
+ if (async) {
1163
+ if (!Symbol.asyncDispose)
1164
+ throw new TypeError("Symbol.asyncDispose is not defined.");
1165
+ dispose = value[Symbol.asyncDispose];
1049
1166
  }
1050
- var e = Math.floor(Math.log(bytes) / Math.log(1024));
1051
- return (bytes / Math.pow(1024, e)).toFixed(2) + ' ' + ' KMGTP'.charAt(e) + 'B';
1052
- };
1053
- return QueueComponent;
1054
- }());
1055
- QueueComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: QueueComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: i1.MAT_DIALOG_DATA }, { token: i1__namespace$1.FsMessage }, { token: i1__namespace$2.FsPrompt }, { token: i1__namespace.MatDialog }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1056
- QueueComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: QueueComponent, selector: "ng-component", viewQueries: [{ propertyName: "logList", first: true, predicate: ["logList"], descendants: true }], ngImport: i0__namespace, template: "<fs-dialog *fsSkeleton=\"messageQueue\">\n <div mat-dialog-title>Message Queue</div>\n <mat-dialog-content>\n <mat-tab-group>\n <mat-tab label=\"Overview\">\n <ng-template matTabContent>\n <div fxLayout=\"row wrap\" fxLayoutGap=\"25px\">\n <ng-container *ngIf=\"messageQueue.emailMessageQueue\">\n <fs-label-field>\n <fs-label>\n To Recipients\n </fs-label>\n <app-recipient \n *ngFor=\"let recipient of messageQueue.emailMessageQueue.toRecipients\"\n [state]=\"messageQueueRecipients[recipient]\"\n [name]=\"recipient\">\n </app-recipient>\n </fs-label-field>\n\n <fs-label-field *ngIf=\"messageQueue.emailMessageQueue.ccRecipients.length\">\n <fs-label>\n CC\n </fs-label>\n <app-recipient \n *ngFor=\"let recipient of messageQueue.emailMessageQueue.ccRecipients\"\n [state]=\"messageQueueRecipients[recipient]\"\n [name]=\"recipient\">\n </app-recipient> \n </fs-label-field>\n\n <fs-label-field *ngIf=\"messageQueue.emailMessageQueue.bccRecipients.length\">\n <fs-label>\n BCC\n </fs-label>\n <app-recipient \n *ngFor=\"let recipient of messageQueue.emailMessageQueue.bccRecipients\"\n [state]=\"messageQueueRecipients[recipient]\"\n [name]=\"recipient\">\n </app-recipient> \n </fs-label-field>\n\n <fs-label-field *ngIf=\"messageQueue.emailMessageQueue.fromName || messageQueue.emailMessageQueue.fromEmail\">\n <fs-label>\n From\n </fs-label>\n <ng-container *ngIf=\"messageQueue.emailMessageQueue.fromName === messageQueue.emailMessageQueue.fromEmail; else fromEmailName\">\n {{messageQueue.emailMessageQueue.fromName}}\n </ng-container>\n\n <ng-template #fromEmailName>\n {{messageQueue.emailMessageQueue.fromName}}\n <ng-container *ngIf=\"messageQueue.emailMessageQueue.fromEmail\">\n ({{messageQueue.emailMessageQueue.fromEmail}})\n </ng-container>\n </ng-template>\n </fs-label-field>\n\n <fs-label-field *ngIf=\"messageQueue.emailMessageQueue.replyEmail && messageQueue.emailMessageQueue.replyEmail.length\">\n <fs-label>\n Reply To\n </fs-label>\n {{messageQueue.emailMessageQueue.replyEmail.join(', ')}}\n </fs-label-field>\n </ng-container>\n\n <ng-container *ngIf=\"messageQueue.smsMessageQueue\">\n <fs-label-field>\n <fs-label>\n To Number\n </fs-label>\n <app-recipient \n [state]=\"messageQueue.state\"\n [name]=\"messageQueue.smsMessageQueue.toNumber\">\n </app-recipient> \n </fs-label-field>\n\n <fs-label-field *ngIf=\"messageQueue.smsMessageQueue.fromNumber\">\n <fs-label>\n From Number\n </fs-label>\n {{messageQueue.smsMessageQueue.fromNumber}}\n </fs-label-field>\n </ng-container>\n \n <fs-label-field>\n <fs-label>\n Date\n </fs-label>\n {{messageQueue.scheduledDate | fsDateFormat: 'full-date-time'}}\n </fs-label-field>\n\n <fs-label-field>\n <fs-label>\n Status\n </fs-label>\n {{messageQueueStates[messageQueue.state]}}\n </fs-label-field>\n\n <fs-label-field *ngIf=\"messageQueue.message\">\n <fs-label>\n Message Type\n </fs-label>\n <a\n (click)=\"openMessage(messageQueue.message)\"\n *ngIf=\"loadMessage; else elseMessage\">\n {{messageQueue.message.name}}\n </a>\n <ng-template #elseMessage>\n {{messageQueue.message.name}}\n </ng-template>\n </fs-label-field>\n </div>\n\n <ng-container *ngIf=\"messageQueue.emailMessageQueue\">\n <fs-label-field class=\"subject\">\n <fs-label>\n Subject\n </fs-label>\n {{messageQueue.emailMessageQueue.subject}}\n </fs-label-field>\n\n <fs-label-field class=\"body\">\n <fs-label>\n Body\n </fs-label>\n <div\n *ngIf=\"messageQueue.emailMessageQueue.format===emailMessageQueueFormat.Text\"\n class=\"format-text\"\n [innerHTML]=\"messageQueue.emailMessageQueue.body\">\n </div>\n <fs-iframe\n *ngIf=\"messageQueue.emailMessageQueue.format===emailMessageQueueFormat.HTML || messageQueue.emailMessageQueue.format===emailMessageQueueFormat.RichText\"\n [html]=\"messageQueue.emailMessageQueue.body\"\n [width]=\"'100%'\">\n </fs-iframe>\n </fs-label-field>\n </ng-container>\n\n <ng-container *ngIf=\"messageQueue.smsMessageQueue\">\n <fs-label-field>\n <fs-label>\n Message\n </fs-label>\n <div\n class=\"format-text\"\n [innerHTML]=\"messageQueue.smsMessageQueue.body\">\n </div>\n </fs-label-field>\n </ng-container>\n\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Logs\">\n <ng-template matTabContent>\n <fs-list [config]=\"logConfig\" #logList>\n <fs-list-column title=\"Message\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.message}}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Date\">\n <ng-template fs-list-cell let-row=\"row\">\n <fs-date-ago [date]=\"row.createdDate\"></fs-date-ago>\n </ng-template>\n </fs-list-column>\n </fs-list>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Attachments\">\n <ng-template matTabContent>\n <fs-list [config]=\"attachmentConfig\">\n <fs-list-column title=\"File Name\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.filename}}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"File Size\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.prettyFilesize}}\n </ng-template>\n </fs-list-column>\n </fs-list>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Events\">\n <ng-template matTabContent>\n <fs-list [config]=\"eventConfig\">\n <fs-list-column title=\"Recipient\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.messageQueueRecipient.recipient}}\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Event\">\n <ng-template fs-list-cell let-row=\"row\">\n {{MessageQueueEventTypes[row.type]}}\n <div class=\"small\" *ngIf=\"row.type === MessageQueueEventType.Click\">\n <a [href]=\"row.meta?.url\" target=\"_blank\">{{row.meta?.url}}</a>\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Date\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.createDate | fsDateFormat: 'date-time-yearless'}}\n </ng-template>\n </fs-list-column>\n </fs-list>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n [mat-dialog-close]=\"null\"\n color=\"primary\">\n Done\n </button>\n <button\n mat-button\n *ngIf=\"resendMessageQueue\"\n type=\"button\"\n (click)=\"resend()\"\n type=\"button\">\n Resend\n </button>\n <button\n mat-button\n *ngIf=\"forwardMessageQueue\"\n type=\"button\"\n (click)=\"forward()\"\n type=\"button\">\n Forward\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: [".subject,.body{display:block;margin-top:15px}.body .format-text{white-space:pre-wrap}.body .body-frame{border:0}.body ::ng-deep .field-label{margin-bottom:10px}app-recipient{display:block}[hidden]{display:none!important}\n"], components: [{ type: i4__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileActionPlacement", "mobileWidth", "mode"] }, { type: i5__namespace.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i5__namespace.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby"], exportAs: ["matTab"] }, { type: i6__namespace$1.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i6__namespace$1.FsLabelComponent, selector: "fs-label" }, { type: RecipientComponent, selector: "app-recipient", inputs: ["name", "state"] }, { type: i2__namespace.FsIFrameComponent, selector: "fs-iframe", inputs: ["html", "src", "styles", "width", "height"] }, { type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i10__namespace$1.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }, { type: i3__namespace.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i14__namespace.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i1__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i5__namespace.MatTabContent, selector: "[matTabContent]" }, { type: i19__namespace.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i19__namespace.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i17__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i17__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i16__namespace.FsButtonDirective, selector: "[mat-raised-button],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit", "form"] }, { type: i1__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "fsDateFormat": i10__namespace$1.FsDateFormatPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1057
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: QueueComponent, decorators: [{
1058
- type: i0.Component,
1059
- args: [{
1060
- templateUrl: './queue.component.html',
1061
- styleUrls: ['./queue.component.scss'],
1062
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
1063
- }]
1064
- }], ctorParameters: function () {
1065
- return [{ type: undefined, decorators: [{
1066
- type: i0.Inject,
1067
- args: [FS_APP_MESSAGE_CONFIG]
1068
- }] }, { type: undefined, decorators: [{
1069
- type: i0.Inject,
1070
- args: [i1.MAT_DIALOG_DATA]
1071
- }] }, { type: i1__namespace$1.FsMessage }, { type: i1__namespace$2.FsPrompt }, { type: i1__namespace.MatDialog }, { type: i0__namespace.ChangeDetectorRef }];
1072
- }, propDecorators: { logList: [{
1073
- type: i0.ViewChild,
1074
- args: ['logList']
1075
- }] } });
1167
+ if (dispose === void 0) {
1168
+ if (!Symbol.dispose)
1169
+ throw new TypeError("Symbol.dispose is not defined.");
1170
+ dispose = value[Symbol.dispose];
1171
+ }
1172
+ if (typeof dispose !== "function")
1173
+ throw new TypeError("Object not disposable.");
1174
+ env.stack.push({ value: value, dispose: dispose, async: async });
1175
+ }
1176
+ else if (async) {
1177
+ env.stack.push({ async: true });
1178
+ }
1179
+ return value;
1180
+ }
1181
+ var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
1182
+ var e = new Error(message);
1183
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
1184
+ };
1185
+ function __disposeResources(env) {
1186
+ function fail(e) {
1187
+ env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
1188
+ env.hasError = true;
1189
+ }
1190
+ function next() {
1191
+ while (env.stack.length) {
1192
+ var rec = env.stack.pop();
1193
+ try {
1194
+ var result = rec.dispose && rec.dispose.call(rec.value);
1195
+ if (rec.async)
1196
+ return Promise.resolve(result).then(next, function (e) { fail(e); return next(); });
1197
+ }
1198
+ catch (e) {
1199
+ fail(e);
1200
+ }
1201
+ }
1202
+ if (env.hasError)
1203
+ throw env.error;
1204
+ }
1205
+ return next();
1206
+ }
1207
+ var tslib_es6 = {
1208
+ __extends: __extends,
1209
+ __assign: __assign,
1210
+ __rest: __rest,
1211
+ __decorate: __decorate,
1212
+ __param: __param,
1213
+ __metadata: __metadata,
1214
+ __awaiter: __awaiter,
1215
+ __generator: __generator,
1216
+ __createBinding: __createBinding,
1217
+ __exportStar: __exportStar,
1218
+ __values: __values,
1219
+ __read: __read,
1220
+ __spread: __spread,
1221
+ __spreadArrays: __spreadArrays,
1222
+ __spreadArray: __spreadArray,
1223
+ __await: __await,
1224
+ __asyncGenerator: __asyncGenerator,
1225
+ __asyncDelegator: __asyncDelegator,
1226
+ __asyncValues: __asyncValues,
1227
+ __makeTemplateObject: __makeTemplateObject,
1228
+ __importStar: __importStar,
1229
+ __importDefault: __importDefault,
1230
+ __classPrivateFieldGet: __classPrivateFieldGet,
1231
+ __classPrivateFieldSet: __classPrivateFieldSet,
1232
+ __classPrivateFieldIn: __classPrivateFieldIn,
1233
+ __addDisposableResource: __addDisposableResource,
1234
+ __disposeResources: __disposeResources,
1235
+ };
1076
1236
 
1077
1237
  var FsMessageQueueService = /** @class */ (function () {
1078
1238
  function FsMessageQueueService(_dialog) {
1079
1239
  this._dialog = _dialog;
1080
- this._destroy$ = new rxjs.Subject();
1081
1240
  }
1082
1241
  FsMessageQueueService.prototype.openMessageQueue = function (messageQueueId, options) {
1083
1242
  if (options === void 0) { options = {}; }
1084
1243
  return this._dialog.open(QueueComponent, Object.assign(Object.assign({}, options), { data: {
1085
1244
  messageQueueId: messageQueueId,
1086
- }, width: options.width || '85%' })).afterClosed()
1087
- .pipe(operators.takeUntil(this._destroy$));
1088
- };
1089
- FsMessageQueueService.prototype.ngOnDestroy = function () {
1090
- this._destroy$.next();
1091
- this._destroy$.complete();
1245
+ }, width: options.width || '85%' }))
1246
+ .afterClosed();
1092
1247
  };
1093
1248
  return FsMessageQueueService;
1094
1249
  }());
1095
- FsMessageQueueService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsMessageQueueService, deps: [{ token: i1__namespace.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1096
- FsMessageQueueService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsMessageQueueService });
1097
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsMessageQueueService, decorators: [{
1098
- type: i0.Injectable
1250
+ FsMessageQueueService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsMessageQueueService, deps: [{ token: i1__namespace.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1251
+ FsMessageQueueService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsMessageQueueService, providedIn: 'root' });
1252
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsMessageQueueService, decorators: [{
1253
+ type: i0.Injectable,
1254
+ args: [{
1255
+ providedIn: 'root',
1256
+ }]
1099
1257
  }], ctorParameters: function () { return [{ type: i1__namespace.MatDialog }]; } });
1100
1258
 
1101
1259
  var TruncatePipe = /** @class */ (function () {
@@ -1115,9 +1273,9 @@
1115
1273
  };
1116
1274
  return TruncatePipe;
1117
1275
  }());
1118
- TruncatePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TruncatePipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
1119
- TruncatePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TruncatePipe, name: "truncate" });
1120
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TruncatePipe, decorators: [{
1276
+ TruncatePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TruncatePipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
1277
+ TruncatePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TruncatePipe, name: "truncate" });
1278
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TruncatePipe, decorators: [{
1121
1279
  type: i0.Pipe,
1122
1280
  args: [{
1123
1281
  name: 'truncate'
@@ -1143,7 +1301,7 @@
1143
1301
  {
1144
1302
  name: 'keyword',
1145
1303
  type: filter.ItemType.Keyword,
1146
- label: 'Search'
1304
+ label: 'Search',
1147
1305
  },
1148
1306
  {
1149
1307
  name: 'state',
@@ -1151,7 +1309,7 @@
1151
1309
  label: 'Status',
1152
1310
  values: function () {
1153
1311
  return MessageQueueStates;
1154
- }
1312
+ },
1155
1313
  },
1156
1314
  {
1157
1315
  name: 'date',
@@ -1163,15 +1321,17 @@
1163
1321
  fetch: function (query) {
1164
1322
  query = Object.assign(Object.assign(Object.assign({}, query), _this.query), { messageQueueAttachmentCounts: true, emailMessageQueues: true, emailMessageQueueBodies: false, smsMessageQueues: true });
1165
1323
  return _this._config.loadMessageQueues(query)
1166
- .pipe(operators.map(function (response) { return ({ data: response.data
1324
+ .pipe(operators.map(function (response) { return ({
1325
+ data: response.data
1167
1326
  .map(function (messageQueue) {
1168
1327
  return Object.assign(Object.assign({}, messageQueue), { scheduled: messageQueue.state === MessageQueueState.Queued && dateFns.isAfter(messageQueue.scheduledDate, new Date()), messageQueueRecipients: messageQueue.messageQueueRecipients
1169
1328
  .reduce(function (accum, messageQueueRecipient) {
1170
1329
  accum[messageQueueRecipient.recipient] = messageQueueRecipient.state;
1171
1330
  return accum;
1172
1331
  }, {}) });
1173
- }), paging: response.paging }); }));
1174
- }
1332
+ }), paging: response.paging,
1333
+ }); }));
1334
+ },
1175
1335
  };
1176
1336
  if (this._config.bulkMessageQueues) {
1177
1337
  this.config.selection = {
@@ -1198,7 +1358,7 @@
1198
1358
  .pipe(operators.tap(function () {
1199
1359
  _this.list.reload();
1200
1360
  }));
1201
- }
1361
+ },
1202
1362
  };
1203
1363
  }
1204
1364
  this.config.filters.push({
@@ -1210,11 +1370,11 @@
1210
1370
  return _this._config.loadMessages(query)
1211
1371
  .pipe(operators.map(function (response) {
1212
1372
  return __spreadArray([
1213
- { value: null, name: 'All', }
1373
+ { value: null, name: 'All' }
1214
1374
  ], __read(response.data
1215
1375
  .map(function (item) { return ({ name: item.name, value: item.id }); })));
1216
1376
  }));
1217
- }
1377
+ },
1218
1378
  });
1219
1379
  };
1220
1380
  QueuesComponent.prototype.open = function (messageQueue) {
@@ -1231,9 +1391,9 @@
1231
1391
  };
1232
1392
  return QueuesComponent;
1233
1393
  }());
1234
- QueuesComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: QueuesComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: FsMessageQueueService }], target: i0__namespace.ɵɵFactoryTarget.Component });
1235
- QueuesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: QueuesComponent, selector: "fs-app-message-queues", inputs: { query: "query" }, viewQueries: [{ propertyName: "list", first: true, predicate: i2$1.FsListComponent, descendants: true, static: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"config\" #list>\n <fs-list-column title=\"Message\" name=\"subject\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <a (click)=\"open(row)\">{{row.emailMessageQueue.subject|truncate:100}}</a>\n <mat-icon *ngIf=\"row.messageQueueAttachmentCount\" [matTooltip]=\"row.messageQueueAttachmentCount + ' Attachment(s)'\">attach_file</mat-icon>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <a (click)=\"open(row)\">{{row.smsMessageQueue.body|truncate:100}}</a>\n </ng-container>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Recipients\" class=\"col-recipients\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <ng-container *ngIf=\"row.emailMessageQueue.toRecipients.length; else unspecified\">\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.toRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.ccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.bccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <ng-container *ngIf=\"row.smsMessageQueue.toNumber; else unspecified\">\n <app-recipient \n class=\"small\"\n [state]=\"row.state\"\n [name]=\"row.smsMessageQueue.toNumber\">\n </app-recipient>\n </ng-container>\n </ng-container>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Status\" class=\"col-state\">\n <ng-template fs-list-cell let-row=\"row\"> \n <ng-container *ngIf=\"row.scheduled; else state\">\n Scheduled\n <div class=\"small\">\n {{row.scheduledDate | fsDateFormat: 'date-time' }}\n </div>\n </ng-container>\n <ng-template #state>\n <span [class]=\"'state-' + row.state\">{{messageQueueStates[row.state]}}</span>\n </ng-template>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Date\" name=\"created_date\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createdDate | fsDateFormat: 'date-time-yeardiff' }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n\n<ng-template #unspecified>\n <app-recipient \n class=\"small\"\n [state]=\"MessageQueueState.Failed\"\n name=\"Unspecified\">\n </app-recipient>\n</ng-template>", styles: [":host ::ng-deep .col-recipients small+small:before{content:\", \"}:host ::ng-deep .col-state .state-F,:host ::ng-deep .col-state .state-P{color:#d8524e}\n"], components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i1__namespace$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: RecipientComponent, selector: "app-recipient", inputs: ["name", "state"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i17__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i19__namespace.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i19__namespace.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i3__namespace$2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i17__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "truncate": TruncatePipe, "fsDateFormat": i10__namespace$1.FsDateFormatPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1236
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: QueuesComponent, decorators: [{
1394
+ QueuesComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QueuesComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: FsMessageQueueService }], target: i0__namespace.ɵɵFactoryTarget.Component });
1395
+ QueuesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: QueuesComponent, selector: "fs-app-message-queues", inputs: { query: "query" }, viewQueries: [{ propertyName: "list", first: true, predicate: i2$1.FsListComponent, descendants: true, static: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"config\" #list>\n <fs-list-column title=\"Message\" name=\"subject\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <div class=\"fs-row.gap-tiny\">\n <a (click)=\"open(row)\">{{row.emailMessageQueue.subject|truncate:100}}</a>\n <mat-icon *ngIf=\"row.messageQueueAttachmentCount\" [matTooltip]=\"row.messageQueueAttachmentCount + ' Attachment(s)'\">attach_file</mat-icon>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <a (click)=\"open(row)\">{{row.smsMessageQueue.body|truncate:100}}</a>\n </ng-container>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Recipients\" class=\"col-recipients\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <ng-container *ngIf=\"row.emailMessageQueue.toRecipients.length; else unspecified\">\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.toRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.ccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.bccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <ng-container *ngIf=\"row.smsMessageQueue.toNumber; else unspecified\">\n <app-recipient \n class=\"small\"\n [state]=\"row.state\"\n [name]=\"row.smsMessageQueue.toNumber\">\n </app-recipient>\n </ng-container>\n </ng-container>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Status\" class=\"col-state\">\n <ng-template fs-list-cell let-row=\"row\"> \n <ng-container *ngIf=\"row.scheduled; else state\">\n Scheduled\n <div class=\"small\">\n {{row.scheduledDate | fsDateFormat: 'date-time' }}\n </div>\n </ng-container>\n <ng-template #state>\n <span [class]=\"'state-' + row.state\">{{messageQueueStates[row.state]}}</span>\n </ng-template>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Date\" name=\"created_date\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createdDate | fsDateFormat: 'date-time-yeardiff' }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n\n<ng-template #unspecified>\n <app-recipient \n class=\"small\"\n [state]=\"MessageQueueState.Failed\"\n name=\"Unspecified\">\n </app-recipient>\n</ng-template>", styles: [":host ::ng-deep .col-recipients small+small:before{content:\", \"}:host ::ng-deep .col-state .state-F,:host ::ng-deep .col-state .state-P{color:#d8524e}\n"], components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i1__namespace$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: RecipientComponent, selector: "app-recipient", inputs: ["name", "state"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i17__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i17__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "truncate": TruncatePipe, "fsDateFormat": i10__namespace$1.FsDateFormatPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1396
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QueuesComponent, decorators: [{
1237
1397
  type: i0.Component,
1238
1398
  args: [{
1239
1399
  selector: 'fs-app-message-queues',
@@ -1268,9 +1428,9 @@
1268
1428
  };
1269
1429
  return LinkifyPipe;
1270
1430
  }());
1271
- LinkifyPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: LinkifyPipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
1272
- LinkifyPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: LinkifyPipe, name: "linkify" });
1273
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: LinkifyPipe, decorators: [{
1431
+ LinkifyPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LinkifyPipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
1432
+ LinkifyPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LinkifyPipe, name: "linkify" });
1433
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LinkifyPipe, decorators: [{
1274
1434
  type: i0.Pipe,
1275
1435
  args: [{ name: 'linkify' }]
1276
1436
  }] });
@@ -1280,15 +1440,14 @@
1280
1440
  }
1281
1441
  return FsAppMessageQueuesModule;
1282
1442
  }());
1283
- FsAppMessageQueuesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageQueuesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1284
- FsAppMessageQueuesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageQueuesModule, declarations: [QueuesComponent,
1443
+ FsAppMessageQueuesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageQueuesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1444
+ FsAppMessageQueuesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageQueuesModule, declarations: [QueuesComponent,
1285
1445
  QueueComponent,
1286
1446
  LinkifyPipe,
1287
1447
  TruncatePipe,
1288
1448
  RecipientComponent], imports: [router.RouterModule,
1289
1449
  i15.FormsModule,
1290
1450
  i17.CommonModule,
1291
- flexLayout.FlexLayoutModule,
1292
1451
  i3$2.MatTooltipModule,
1293
1452
  i1.MatDialogModule,
1294
1453
  i3.MatButtonModule,
@@ -1304,13 +1463,12 @@
1304
1463
  i1$2.FsPromptInputModule,
1305
1464
  i2.FsIFrameModule], exports: [QueuesComponent,
1306
1465
  QueueComponent] });
1307
- FsAppMessageQueuesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageQueuesModule, providers: [
1308
- FsMessageQueueService
1466
+ FsAppMessageQueuesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageQueuesModule, providers: [
1467
+ FsMessageQueueService,
1309
1468
  ], imports: [[
1310
1469
  router.RouterModule,
1311
1470
  i15.FormsModule,
1312
1471
  i17.CommonModule,
1313
- flexLayout.FlexLayoutModule,
1314
1472
  i3$2.MatTooltipModule,
1315
1473
  i1.MatDialogModule,
1316
1474
  i3.MatButtonModule,
@@ -1325,17 +1483,14 @@
1325
1483
  i16.FsFormModule,
1326
1484
  i1$2.FsPromptInputModule,
1327
1485
  i2.FsIFrameModule,
1328
- //FsDeviceModule,
1329
- //FsIpModule,
1330
1486
  ]] });
1331
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageQueuesModule, decorators: [{
1487
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageQueuesModule, decorators: [{
1332
1488
  type: i0.NgModule,
1333
1489
  args: [{
1334
1490
  imports: [
1335
1491
  router.RouterModule,
1336
1492
  i15.FormsModule,
1337
1493
  i17.CommonModule,
1338
- flexLayout.FlexLayoutModule,
1339
1494
  i3$2.MatTooltipModule,
1340
1495
  i1.MatDialogModule,
1341
1496
  i3.MatButtonModule,
@@ -1350,8 +1505,6 @@
1350
1505
  i16.FsFormModule,
1351
1506
  i1$2.FsPromptInputModule,
1352
1507
  i2.FsIFrameModule,
1353
- //FsDeviceModule,
1354
- //FsIpModule,
1355
1508
  ],
1356
1509
  declarations: [
1357
1510
  QueuesComponent,
@@ -1365,8 +1518,8 @@
1365
1518
  QueueComponent,
1366
1519
  ],
1367
1520
  providers: [
1368
- FsMessageQueueService
1369
- ]
1521
+ FsMessageQueueService,
1522
+ ],
1370
1523
  }]
1371
1524
  }] });
1372
1525
 
@@ -1421,9 +1574,9 @@
1421
1574
  };
1422
1575
  return TemplateComponent;
1423
1576
  }());
1424
- TemplateComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TemplateComponent, deps: [{ token: i1.MAT_DIALOG_DATA }, { token: FS_APP_MESSAGE_CONFIG }, { token: i1__namespace.MatDialogRef }, { token: i1__namespace$1.FsMessage }, { token: i1__namespace.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Component });
1425
- TemplateComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TemplateComponent, selector: "ng-component", ngImport: i0__namespace, template: "<form\n fsForm\n [submit]=\"save\"\n #form=\"ngForm\"\n *fsSkeleton=\"messageTemplate\"\n [confirmTabs]=\"false\">\n <fs-dialog *ngIf=\"messageTemplate\">\n <div mat-dialog-title>Message Template</div>\n <mat-dialog-content>\n <mat-form-field class=\"name\">\n <input\n matInput\n placeholder=\"Name\"\n [(ngModel)]=\"messageTemplate.name\"\n name=\"name\"\n >\n </mat-form-field>\n <div [@.disabled]=\"true\">\n <mat-tab-group\n mat-align-tabs=\"start\"\n [dynamicHeight]=\"false\">\n <mat-tab label=\"Content\">\n <ng-template matTabContent>\n <div class=\"content\">\n <fs-label-field>\n <fs-text-editor\n [(ngModel)]=\"messageTemplate.content\"\n name=\"body\"\n [config]=\"htmlEditorconfig\">\n </fs-text-editor>\n <fs-label-message>\n &#123;$content&#125; will be replaced with the message content.\n </fs-label-message>\n </fs-label-field>\n </div>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Styles\">\n <ng-template matTabContent>\n <div class=\"styles\">\n <fs-text-editor\n [(ngModel)]=\"messageTemplate.styles\"\n name=\"styles\"\n [config]=\"cssEditorconfig\">\n </fs-text-editor>\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button type=\"submit\" color=\"primary\" name=\"close\">Save</button>\n <button mat-button type=\"submit\" name=\"save-close\">Save & Close</button>\n <button mat-button (click)=\"openPreview()\" type=\"button\">Preview</button>\n <button mat-button [mat-dialog-close]=\"null\" type=\"button\">Cancel</button>\n </mat-dialog-actions>\n </fs-dialog>\n</form>\n", styles: [".name{width:100%}:host ::ng-deep .mat-tab-body-content,:host ::ng-deep .mat-tab-body{overflow:visible}\n"], components: [{ type: i4__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileActionPlacement", "mobileWidth", "mode"] }, { type: i6__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i5__namespace.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i5__namespace.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby"], exportAs: ["matTab"] }, { type: i6__namespace$1.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i10__namespace.FsTextEditorComponent, selector: "fs-text-editor", inputs: ["config", "scrollable"], outputs: ["init", "blur"] }, { type: i6__namespace$1.FsLabelMessageComponent, selector: "fs-label-message" }, { type: i3__namespace.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i14__namespace.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i15__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i15__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i15__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i16__namespace.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup", "deactivationGuard"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"] }, { type: i17__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i20__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i15__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i15__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i15__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i16__namespace.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { type: i5__namespace.MatTabContent, selector: "[matTabContent]" }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i16__namespace.FsButtonDirective, selector: "[mat-raised-button],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit", "form"] }, { type: i1__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }] });
1426
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TemplateComponent, decorators: [{
1577
+ TemplateComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateComponent, deps: [{ token: i1.MAT_DIALOG_DATA }, { token: FS_APP_MESSAGE_CONFIG }, { token: i1__namespace.MatDialogRef }, { token: i1__namespace$1.FsMessage }, { token: i1__namespace.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Component });
1578
+ TemplateComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TemplateComponent, selector: "ng-component", ngImport: i0__namespace, template: "<form\n fsForm\n [submit]=\"save\"\n #form=\"ngForm\"\n *fsSkeleton=\"messageTemplate\"\n [confirmTabs]=\"false\">\n <fs-dialog *ngIf=\"messageTemplate\">\n <div mat-dialog-title>Message Template</div>\n <mat-dialog-content>\n <mat-form-field class=\"name\">\n <input\n matInput\n placeholder=\"Name\"\n [(ngModel)]=\"messageTemplate.name\"\n name=\"name\"\n >\n </mat-form-field>\n <div [@.disabled]=\"true\">\n <mat-tab-group\n mat-align-tabs=\"start\"\n [dynamicHeight]=\"false\">\n <mat-tab label=\"Content\">\n <ng-template matTabContent>\n <div class=\"content\">\n <fs-label-field>\n <fs-text-editor\n [(ngModel)]=\"messageTemplate.content\"\n name=\"body\"\n [config]=\"htmlEditorconfig\">\n </fs-text-editor>\n <fs-label-message>\n &#123;$content&#125; will be replaced with the message content.\n </fs-label-message>\n </fs-label-field>\n </div>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Styles\">\n <ng-template matTabContent>\n <div class=\"styles\">\n <fs-text-editor\n [(ngModel)]=\"messageTemplate.styles\"\n name=\"styles\"\n [config]=\"cssEditorconfig\">\n </fs-text-editor>\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button type=\"submit\" color=\"primary\" name=\"close\">Save</button>\n <button mat-button type=\"submit\" name=\"save-close\">Save & Close</button>\n <button mat-button (click)=\"openPreview()\" type=\"button\">Preview</button>\n <button mat-button [mat-dialog-close]=\"null\" type=\"button\">Cancel</button>\n </mat-dialog-actions>\n </fs-dialog>\n</form>\n", styles: [".name{width:100%}:host ::ng-deep .mat-tab-body-content,:host ::ng-deep .mat-tab-body{overflow:visible}\n"], components: [{ type: i4__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileActionPlacement", "mobileWidth", "mode"] }, { type: i6__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i5__namespace.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i5__namespace.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby"], exportAs: ["matTab"] }, { type: i6__namespace$1.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i10__namespace.FsTextEditorComponent, selector: "fs-text-editor", inputs: ["config", "scrollable"], outputs: ["init", "blur"] }, { type: i6__namespace$1.FsLabelMessageComponent, selector: "fs-label-message" }, { type: i3__namespace.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i14__namespace.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i15__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i15__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i15__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i16__namespace.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup", "deactivationGuard"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"] }, { type: i17__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i19__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i15__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i15__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i15__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i16__namespace.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { type: i5__namespace.MatTabContent, selector: "[matTabContent]" }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i16__namespace.FsButtonDirective, selector: "[mat-raised-button],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit", "form"] }, { type: i1__namespace.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }] });
1579
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateComponent, decorators: [{
1427
1580
  type: i0.Component,
1428
1581
  args: [{
1429
1582
  templateUrl: './template.component.html',
@@ -1500,9 +1653,9 @@
1500
1653
  };
1501
1654
  return TemplatesComponent;
1502
1655
  }());
1503
- TemplatesComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TemplatesComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: i1__namespace.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Component });
1504
- TemplatesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TemplatesComponent, selector: "fs-app-message-templates", viewQueries: [{ propertyName: "list", first: true, predicate: i2$1.FsListComponent, descendants: true, static: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"config\">\n <fs-list-column title=\"Name\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"open(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n</fs-list>", components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }] });
1505
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TemplatesComponent, decorators: [{
1656
+ TemplatesComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplatesComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: i1__namespace.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Component });
1657
+ TemplatesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TemplatesComponent, selector: "fs-app-message-templates", viewQueries: [{ propertyName: "list", first: true, predicate: i2$1.FsListComponent, descendants: true, static: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"config\">\n <fs-list-column title=\"Name\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"open(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n</fs-list>", components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }] });
1658
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplatesComponent, decorators: [{
1506
1659
  type: i0.Component,
1507
1660
  args: [{
1508
1661
  selector: 'fs-app-message-templates',
@@ -1523,8 +1676,8 @@
1523
1676
  }
1524
1677
  return FsAppMessageTemplatesModule;
1525
1678
  }());
1526
- FsAppMessageTemplatesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageTemplatesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1527
- FsAppMessageTemplatesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageTemplatesModule, declarations: [TemplatesComponent,
1679
+ FsAppMessageTemplatesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageTemplatesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1680
+ FsAppMessageTemplatesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageTemplatesModule, declarations: [TemplatesComponent,
1528
1681
  TemplateComponent], imports: [router.RouterModule,
1529
1682
  i17.CommonModule,
1530
1683
  i15.FormsModule,
@@ -1534,17 +1687,16 @@
1534
1687
  i5.MatTabsModule,
1535
1688
  i6.MatFormFieldModule,
1536
1689
  i6.MatFormFieldModule,
1537
- i20.MatInputModule,
1690
+ i19.MatInputModule,
1538
1691
  i2$1.FsListModule,
1539
1692
  i4.FsDialogModule,
1540
1693
  i6$1.FsLabelModule,
1541
- flexLayout.FlexLayoutModule,
1542
1694
  i14.FsSkeletonModule,
1543
1695
  i16.FsFormModule,
1544
1696
  i10.FsTextEditorModule,
1545
1697
  FsAppMessagePreviewModule], exports: [TemplatesComponent,
1546
1698
  TemplateComponent] });
1547
- FsAppMessageTemplatesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageTemplatesModule, imports: [[
1699
+ FsAppMessageTemplatesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageTemplatesModule, imports: [[
1548
1700
  router.RouterModule,
1549
1701
  i17.CommonModule,
1550
1702
  i15.FormsModule,
@@ -1554,17 +1706,16 @@
1554
1706
  i5.MatTabsModule,
1555
1707
  i6.MatFormFieldModule,
1556
1708
  i6.MatFormFieldModule,
1557
- i20.MatInputModule,
1709
+ i19.MatInputModule,
1558
1710
  i2$1.FsListModule,
1559
1711
  i4.FsDialogModule,
1560
1712
  i6$1.FsLabelModule,
1561
- flexLayout.FlexLayoutModule,
1562
1713
  i14.FsSkeletonModule,
1563
1714
  i16.FsFormModule,
1564
1715
  i10.FsTextEditorModule,
1565
1716
  FsAppMessagePreviewModule,
1566
1717
  ]] });
1567
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageTemplatesModule, decorators: [{
1718
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageTemplatesModule, decorators: [{
1568
1719
  type: i0.NgModule,
1569
1720
  args: [{
1570
1721
  imports: [
@@ -1577,11 +1728,10 @@
1577
1728
  i5.MatTabsModule,
1578
1729
  i6.MatFormFieldModule,
1579
1730
  i6.MatFormFieldModule,
1580
- i20.MatInputModule,
1731
+ i19.MatInputModule,
1581
1732
  i2$1.FsListModule,
1582
1733
  i4.FsDialogModule,
1583
1734
  i6$1.FsLabelModule,
1584
- flexLayout.FlexLayoutModule,
1585
1735
  i14.FsSkeletonModule,
1586
1736
  i16.FsFormModule,
1587
1737
  i10.FsTextEditorModule,
@@ -1639,9 +1789,9 @@
1639
1789
  };
1640
1790
  return WebhooksComponent;
1641
1791
  }());
1642
- WebhooksComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: WebhooksComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: i1__namespace$1.FsMessage }], target: i0__namespace.ɵɵFactoryTarget.Component });
1643
- WebhooksComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: WebhooksComponent, selector: "fs-app-message-webhooks", viewQueries: [{ propertyName: "list", first: true, predicate: i2$1.FsListComponent, descendants: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"listConfig\">\r\n <fs-list-column title=\"URL\">\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{row.url}}\r\n </ng-template>\r\n </fs-list-column>\r\n <fs-list-column title=\"Created\">\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{row.createDate | fsDate}}\r\n </ng-template>\r\n </fs-list-column>\r\n</fs-list>", components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }], pipes: { "fsDate": i10__namespace$1.FsDatePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1644
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: WebhooksComponent, decorators: [{
1792
+ WebhooksComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: WebhooksComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: i1__namespace$1.FsMessage }], target: i0__namespace.ɵɵFactoryTarget.Component });
1793
+ WebhooksComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: WebhooksComponent, selector: "fs-app-message-webhooks", viewQueries: [{ propertyName: "list", first: true, predicate: i2$1.FsListComponent, descendants: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"listConfig\">\r\n <fs-list-column title=\"URL\">\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{row.url}}\r\n </ng-template>\r\n </fs-list-column>\r\n <fs-list-column title=\"Created\">\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{row.createDate | fsDate}}\r\n </ng-template>\r\n </fs-list-column>\r\n</fs-list>", components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }], pipes: { "fsDate": i10__namespace$1.FsDatePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1794
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: WebhooksComponent, decorators: [{
1645
1795
  type: i0.Component,
1646
1796
  args: [{
1647
1797
  selector: 'fs-app-message-webhooks',
@@ -1663,14 +1813,14 @@
1663
1813
  }
1664
1814
  return FsAppMessageWebhooksModule;
1665
1815
  }());
1666
- FsAppMessageWebhooksModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageWebhooksModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1667
- FsAppMessageWebhooksModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageWebhooksModule, declarations: [WebhooksComponent], imports: [i2$1.FsListModule,
1816
+ FsAppMessageWebhooksModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageWebhooksModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1817
+ FsAppMessageWebhooksModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageWebhooksModule, declarations: [WebhooksComponent], imports: [i2$1.FsListModule,
1668
1818
  i10$1.FsDateModule], exports: [WebhooksComponent] });
1669
- FsAppMessageWebhooksModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageWebhooksModule, imports: [[
1819
+ FsAppMessageWebhooksModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageWebhooksModule, imports: [[
1670
1820
  i2$1.FsListModule,
1671
1821
  i10$1.FsDateModule,
1672
1822
  ]] });
1673
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageWebhooksModule, decorators: [{
1823
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageWebhooksModule, decorators: [{
1674
1824
  type: i0.NgModule,
1675
1825
  args: [{
1676
1826
  imports: [
@@ -1686,28 +1836,6 @@
1686
1836
  }]
1687
1837
  }] });
1688
1838
 
1689
- var FsAppMessageModule = /** @class */ (function () {
1690
- function FsAppMessageModule() {
1691
- }
1692
- FsAppMessageModule.forRoot = function () {
1693
- return {
1694
- ngModule: FsAppMessageModule,
1695
- };
1696
- };
1697
- return FsAppMessageModule;
1698
- }());
1699
- FsAppMessageModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1700
- FsAppMessageModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageModule });
1701
- FsAppMessageModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageModule });
1702
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageModule, decorators: [{
1703
- type: i0.NgModule,
1704
- args: [{}]
1705
- }] });
1706
-
1707
- /*
1708
- * Public API Surface of fs-menu
1709
- */
1710
-
1711
1839
  /**
1712
1840
  * Generated bundle index. Do not edit.
1713
1841
  */