@firestitch/app-message 12.7.6 → 12.7.7

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 (28) hide show
  1. package/app/modules/message-queues/components/queues/queues.component.d.ts +1 -1
  2. package/app/modules/message-queues/services/message-queue.service.d.ts +4 -6
  3. package/bundles/firestitch-app-message.umd.js +669 -531
  4. package/bundles/firestitch-app-message.umd.js.map +1 -1
  5. package/esm2015/app/modules/app-message/app-message.module.js +4 -4
  6. package/esm2015/app/modules/message-preview/components/preview/preview.component.js +3 -3
  7. package/esm2015/app/modules/message-preview/message-preview.module.js +4 -4
  8. package/esm2015/app/modules/message-queues/components/queue/queue.component.js +3 -3
  9. package/esm2015/app/modules/message-queues/components/queues/queues.component.js +20 -18
  10. package/esm2015/app/modules/message-queues/components/recipient/recipient.component.js +3 -3
  11. package/esm2015/app/modules/message-queues/message-queues.module.js +12 -18
  12. package/esm2015/app/modules/message-queues/pipes/linkify.pipe.js +3 -3
  13. package/esm2015/app/modules/message-queues/pipes/truncate.pipe.js +3 -3
  14. package/esm2015/app/modules/message-queues/services/message-queue.service.js +13 -17
  15. package/esm2015/app/modules/message-templates/components/template/template.component.js +3 -3
  16. package/esm2015/app/modules/message-templates/components/templates/templates.component.js +3 -3
  17. package/esm2015/app/modules/message-templates/message-templates.module.js +4 -4
  18. package/esm2015/app/modules/messages/components/attachments/attachments.component.js +3 -3
  19. package/esm2015/app/modules/messages/components/message/message.component.js +3 -3
  20. package/esm2015/app/modules/messages/components/messages/messages.component.js +3 -3
  21. package/esm2015/app/modules/messages/messages.module.js +4 -4
  22. package/esm2015/app/modules/webhooks/components/webhooks/webhooks.component.js +3 -3
  23. package/esm2015/app/modules/webhooks/webhooks.module.js +4 -4
  24. package/esm2015/public_api.js +7 -10
  25. package/fesm2015/firestitch-app-message.js +136 -144
  26. package/fesm2015/firestitch-app-message.js.map +1 -1
  27. package/package.json +2 -2
  28. 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/flex-layout'), 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/core'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/checkbox'), require('@firestitch/tabs'), require('@firestitch/text-editor'), require('@firestitch/html-editor'), require('rxjs/operators'), require('rxjs'), require('@firestitch/filter'), require('@firestitch/message'), require('@firestitch/common'), require('@angular/flex-layout/flex'), require('anchorme'), require('@firestitch/selection'), require('date-fns')) :
3
+ typeof define === 'function' && define.amd ? define('@firestitch/app-message', ['exports', '@angular/core', '@angular/common', '@angular/flex-layout', '@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/core', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@angular/material/checkbox', '@firestitch/tabs', '@firestitch/text-editor', '@firestitch/html-editor', 'rxjs/operators', 'rxjs', '@firestitch/filter', '@firestitch/message', '@firestitch/common', '@angular/flex-layout/flex', '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.flexLayout, 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.core, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.ng.material.checkbox, global.i18, global.i10, global.i11, global.rxjs.operators, global.rxjs, global.filter, global.i1$1, global.i3$1, global.ng.flexLayout.flex, global.anchorme, global.selection, global.dateFns));
5
+ })(this, (function (exports, i0, i17, flexLayout, i15, router, i3, i1, i1$3, i5, i3$2, i10$1, i4, i16, i2, i6$1, i2$1, i1$2, i14, i9, i6, i20, i8, checkbox, i18, i10, i11, operators, rxjs, filter, i1$1, i3$1, i19, 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,50 @@
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 i20__namespace = /*#__PURE__*/_interopNamespace(i20);
46
+ var i8__namespace = /*#__PURE__*/_interopNamespace(i8);
41
47
  var i18__namespace = /*#__PURE__*/_interopNamespace(i18);
42
- var i15__namespace = /*#__PURE__*/_interopNamespace(i15);
43
- var i16__namespace = /*#__PURE__*/_interopNamespace(i16);
44
48
  var i10__namespace = /*#__PURE__*/_interopNamespace(i10);
45
49
  var i11__namespace = /*#__PURE__*/_interopNamespace(i11);
46
- var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
47
- var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$2);
48
50
  var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
49
51
  var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
50
52
  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
53
  var anchorme__default = /*#__PURE__*/_interopDefaultLegacy(anchorme);
54
54
 
55
+ var FsAppMessageModule = /** @class */ (function () {
56
+ function FsAppMessageModule() {
57
+ }
58
+ FsAppMessageModule.forRoot = function () {
59
+ return {
60
+ ngModule: FsAppMessageModule,
61
+ };
62
+ };
63
+ return FsAppMessageModule;
64
+ }());
65
+ FsAppMessageModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
66
+ FsAppMessageModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageModule });
67
+ FsAppMessageModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageModule });
68
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageModule, decorators: [{
69
+ type: i0.NgModule,
70
+ args: [{}]
71
+ }] });
72
+
55
73
  var PreviewComponent = /** @class */ (function () {
56
74
  function PreviewComponent(_data) {
57
75
  this._data = _data;
@@ -62,9 +80,9 @@
62
80
  };
63
81
  return PreviewComponent;
64
82
  }());
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: [{
83
+ 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 });
84
+ 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"] }] });
85
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PreviewComponent, decorators: [{
68
86
  type: i0.Component,
69
87
  args: [{
70
88
  templateUrl: './preview.component.html',
@@ -151,9 +169,9 @@
151
169
  };
152
170
  return AttachmentsComponent;
153
171
  }());
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: [{
172
+ 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 });
173
+ 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 });
174
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AttachmentsComponent, decorators: [{
157
175
  type: i0.Component,
158
176
  args: [{
159
177
  selector: 'fs-app-message-attachments',
@@ -262,9 +280,9 @@
262
280
  };
263
281
  return MessageComponent;
264
282
  }());
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: [{
283
+ 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 });
284
+ 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 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 });
285
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MessageComponent, decorators: [{
268
286
  type: i0.Component,
269
287
  args: [{
270
288
  templateUrl: './message.component.html',
@@ -337,9 +355,9 @@
337
355
  };
338
356
  return MessagesComponent;
339
357
  }());
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: [{
358
+ 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 });
359
+ 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"] }] });
360
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MessagesComponent, decorators: [{
343
361
  type: i0.Component,
344
362
  args: [{
345
363
  selector: 'fs-app-messages',
@@ -360,18 +378,18 @@
360
378
  }
361
379
  return FsAppMessagePreviewModule;
362
380
  }());
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,
381
+ FsAppMessagePreviewModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagePreviewModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
382
+ FsAppMessagePreviewModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagePreviewModule, declarations: [PreviewComponent], imports: [i1.MatDialogModule,
365
383
  i3.MatButtonModule,
366
384
  i4.FsDialogModule,
367
385
  i2.FsIFrameModule], exports: [PreviewComponent] });
368
- FsAppMessagePreviewModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessagePreviewModule, imports: [[
386
+ FsAppMessagePreviewModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagePreviewModule, imports: [[
369
387
  i1.MatDialogModule,
370
388
  i3.MatButtonModule,
371
389
  i4.FsDialogModule,
372
390
  i2.FsIFrameModule,
373
391
  ]] });
374
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessagePreviewModule, decorators: [{
392
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagePreviewModule, decorators: [{
375
393
  type: i0.NgModule,
376
394
  args: [{
377
395
  imports: [
@@ -394,8 +412,8 @@
394
412
  }
395
413
  return FsAppMessagesModule;
396
414
  }());
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,
415
+ FsAppMessagesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
416
+ FsAppMessagesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagesModule, declarations: [MessagesComponent,
399
417
  MessageComponent,
400
418
  AttachmentsComponent], imports: [router.RouterModule,
401
419
  i17.CommonModule,
@@ -422,7 +440,7 @@
422
440
  i18.FsTabsModule,
423
441
  FsAppMessagePreviewModule], exports: [MessagesComponent,
424
442
  MessageComponent] });
425
- FsAppMessagesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessagesModule, imports: [[
443
+ FsAppMessagesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagesModule, imports: [[
426
444
  router.RouterModule,
427
445
  i17.CommonModule,
428
446
  i15.FormsModule,
@@ -448,7 +466,7 @@
448
466
  i18.FsTabsModule,
449
467
  FsAppMessagePreviewModule,
450
468
  ]] });
451
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessagesModule, decorators: [{
469
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessagesModule, decorators: [{
452
470
  type: i0.NgModule,
453
471
  args: [{
454
472
  imports: [
@@ -489,371 +507,53 @@
489
507
  }]
490
508
  }] });
491
509
 
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() {
510
+ var EmailMessageQueueFormat;
511
+ (function (EmailMessageQueueFormat) {
512
+ EmailMessageQueueFormat["Text"] = "T";
513
+ EmailMessageQueueFormat["HTML"] = "H";
514
+ EmailMessageQueueFormat["RichText"] = "R";
515
+ })(EmailMessageQueueFormat || (EmailMessageQueueFormat = {}));
516
+
517
+ var MessageQueueType;
518
+ (function (MessageQueueType) {
519
+ MessageQueueType["Sms"] = "S";
520
+ MessageQueueType["Email"] = "E";
521
+ })(MessageQueueType || (MessageQueueType = {}));
522
+
523
+ var MessageQueueEventType;
524
+ (function (MessageQueueEventType) {
525
+ MessageQueueEventType["Click"] = "click";
526
+ MessageQueueEventType["Open"] = "open";
527
+ })(MessageQueueEventType || (MessageQueueEventType = {}));
528
+
529
+ var MessageQueueState;
530
+ (function (MessageQueueState) {
531
+ MessageQueueState["Sent"] = "S";
532
+ MessageQueueState["PartiallySent"] = "P";
533
+ MessageQueueState["Sending"] = "E";
534
+ MessageQueueState["Queued"] = "Q";
535
+ MessageQueueState["Canceled"] = "C";
536
+ MessageQueueState["InvalidRecipients"] = "I";
537
+ MessageQueueState["Failed"] = "F";
538
+ })(MessageQueueState || (MessageQueueState = {}));
539
+
540
+ var MessageQueueStates = [
541
+ { name: 'Sent', value: MessageQueueState.Sent },
542
+ { name: 'Partially Sent', value: MessageQueueState.PartiallySent },
543
+ { name: 'Sending', value: MessageQueueState.Sending },
544
+ { name: 'Queued', value: MessageQueueState.Queued },
545
+ { name: 'Canceled', value: MessageQueueState.Canceled },
546
+ { name: 'Invalid Recipients', value: MessageQueueState.InvalidRecipients },
547
+ { name: 'Failed', value: MessageQueueState.Failed }
548
+ ];
549
+
550
+ var MessageQueueEventTypes = [
551
+ { name: 'Open', value: MessageQueueEventType.Open },
552
+ { name: 'Click', value: MessageQueueEventType.Click },
553
+ ];
554
+
555
+ var RecipientComponent = /** @class */ (function () {
556
+ function RecipientComponent() {
857
557
  }
858
558
  RecipientComponent.prototype.ngOnInit = function () {
859
559
  var icons = {
@@ -865,9 +565,9 @@
865
565
  };
866
566
  return RecipientComponent;
867
567
  }());
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: [{
568
+ RecipientComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RecipientComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
569
+ 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 });
570
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RecipientComponent, decorators: [{
871
571
  type: i0.Component,
872
572
  args: [{
873
573
  selector: 'app-recipient',
@@ -1016,86 +716,548 @@
1016
716
  fetch: function (query) {
1017
717
  return _this._config.loadMessageQueueEvents(messageQueue, query);
1018
718
  }
1019
- };
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
- }); }));
719
+ };
720
+ };
721
+ QueueComponent.prototype._setAttachmentsConfig = function (messageQueue) {
722
+ var _this = this;
723
+ this.attachmentConfig = {
724
+ queryParam: false,
725
+ fetch: function (query) {
726
+ return _this._config.loadMessageQueueAttachments(messageQueue, query)
727
+ .pipe(operators.map(function (response) { return ({
728
+ data: response.data.map(function (value) {
729
+ value.prettyFilesize = _this._prettyFilesize(value.filesize);
730
+ return value;
731
+ }), paging: response.paging
732
+ }); }));
733
+ }
734
+ };
735
+ if (this._config.downloadMessageQueueAttachment) {
736
+ this.attachmentConfig.rowActions = [
737
+ {
738
+ click: function (messageAttachment) {
739
+ _this._config.downloadMessageQueueAttachment(messageAttachment, _this.messageQueue);
740
+ },
741
+ label: 'Download',
742
+ }
743
+ ];
744
+ }
745
+ };
746
+ QueueComponent.prototype._prettyFilesize = function (bytes) {
747
+ if (bytes === 0) {
748
+ return '0.00 B';
749
+ }
750
+ var e = Math.floor(Math.log(bytes) / Math.log(1024));
751
+ return (bytes / Math.pow(1024, e)).toFixed(2) + ' ' + ' KMGTP'.charAt(e) + 'B';
752
+ };
753
+ return QueueComponent;
754
+ }());
755
+ 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 });
756
+ 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 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 });
757
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QueueComponent, decorators: [{
758
+ type: i0.Component,
759
+ args: [{
760
+ templateUrl: './queue.component.html',
761
+ styleUrls: ['./queue.component.scss'],
762
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
763
+ }]
764
+ }], ctorParameters: function () {
765
+ return [{ type: undefined, decorators: [{
766
+ type: i0.Inject,
767
+ args: [FS_APP_MESSAGE_CONFIG]
768
+ }] }, { type: undefined, decorators: [{
769
+ type: i0.Inject,
770
+ args: [i1.MAT_DIALOG_DATA]
771
+ }] }, { type: i1__namespace$1.FsMessage }, { type: i1__namespace$2.FsPrompt }, { type: i1__namespace.MatDialog }, { type: i0__namespace.ChangeDetectorRef }];
772
+ }, propDecorators: { logList: [{
773
+ type: i0.ViewChild,
774
+ args: ['logList']
775
+ }] } });
776
+
777
+ /******************************************************************************
778
+ Copyright (c) Microsoft Corporation.
779
+
780
+ Permission to use, copy, modify, and/or distribute this software for any
781
+ purpose with or without fee is hereby granted.
782
+
783
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
784
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
785
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
786
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
787
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
788
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
789
+ PERFORMANCE OF THIS SOFTWARE.
790
+ ***************************************************************************** */
791
+ /* global Reflect, Promise, SuppressedError, Symbol */
792
+ var extendStatics = function (d, b) {
793
+ extendStatics = Object.setPrototypeOf ||
794
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
795
+ function (d, b) { for (var p in b)
796
+ if (Object.prototype.hasOwnProperty.call(b, p))
797
+ d[p] = b[p]; };
798
+ return extendStatics(d, b);
799
+ };
800
+ function __extends(d, b) {
801
+ if (typeof b !== "function" && b !== null)
802
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
803
+ extendStatics(d, b);
804
+ function __() { this.constructor = d; }
805
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
806
+ }
807
+ var __assign = function () {
808
+ __assign = Object.assign || function __assign(t) {
809
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
810
+ s = arguments[i];
811
+ for (var p in s)
812
+ if (Object.prototype.hasOwnProperty.call(s, p))
813
+ t[p] = s[p];
814
+ }
815
+ return t;
816
+ };
817
+ return __assign.apply(this, arguments);
818
+ };
819
+ function __rest(s, e) {
820
+ var t = {};
821
+ for (var p in s)
822
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
823
+ t[p] = s[p];
824
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
825
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
826
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
827
+ t[p[i]] = s[p[i]];
828
+ }
829
+ return t;
830
+ }
831
+ function __decorate(decorators, target, key, desc) {
832
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
833
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
834
+ r = Reflect.decorate(decorators, target, key, desc);
835
+ else
836
+ for (var i = decorators.length - 1; i >= 0; i--)
837
+ if (d = decorators[i])
838
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
839
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
840
+ }
841
+ function __param(paramIndex, decorator) {
842
+ return function (target, key) { decorator(target, key, paramIndex); };
843
+ }
844
+ function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
845
+ function accept(f) { if (f !== void 0 && typeof f !== "function")
846
+ throw new TypeError("Function expected"); return f; }
847
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
848
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
849
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
850
+ var _, done = false;
851
+ for (var i = decorators.length - 1; i >= 0; i--) {
852
+ var context = {};
853
+ for (var p in contextIn)
854
+ context[p] = p === "access" ? {} : contextIn[p];
855
+ for (var p in contextIn.access)
856
+ context.access[p] = contextIn.access[p];
857
+ context.addInitializer = function (f) { if (done)
858
+ throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
859
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
860
+ if (kind === "accessor") {
861
+ if (result === void 0)
862
+ continue;
863
+ if (result === null || typeof result !== "object")
864
+ throw new TypeError("Object expected");
865
+ if (_ = accept(result.get))
866
+ descriptor.get = _;
867
+ if (_ = accept(result.set))
868
+ descriptor.set = _;
869
+ if (_ = accept(result.init))
870
+ initializers.unshift(_);
871
+ }
872
+ else if (_ = accept(result)) {
873
+ if (kind === "field")
874
+ initializers.unshift(_);
875
+ else
876
+ descriptor[key] = _;
877
+ }
878
+ }
879
+ if (target)
880
+ Object.defineProperty(target, contextIn.name, descriptor);
881
+ done = true;
882
+ }
883
+ ;
884
+ function __runInitializers(thisArg, initializers, value) {
885
+ var useValue = arguments.length > 2;
886
+ for (var i = 0; i < initializers.length; i++) {
887
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
888
+ }
889
+ return useValue ? value : void 0;
890
+ }
891
+ ;
892
+ function __propKey(x) {
893
+ return typeof x === "symbol" ? x : "".concat(x);
894
+ }
895
+ ;
896
+ function __setFunctionName(f, name, prefix) {
897
+ if (typeof name === "symbol")
898
+ name = name.description ? "[".concat(name.description, "]") : "";
899
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
900
+ }
901
+ ;
902
+ function __metadata(metadataKey, metadataValue) {
903
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
904
+ return Reflect.metadata(metadataKey, metadataValue);
905
+ }
906
+ function __awaiter(thisArg, _arguments, P, generator) {
907
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
908
+ return new (P || (P = Promise))(function (resolve, reject) {
909
+ function fulfilled(value) { try {
910
+ step(generator.next(value));
911
+ }
912
+ catch (e) {
913
+ reject(e);
914
+ } }
915
+ function rejected(value) { try {
916
+ step(generator["throw"](value));
917
+ }
918
+ catch (e) {
919
+ reject(e);
920
+ } }
921
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
922
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
923
+ });
924
+ }
925
+ function __generator(thisArg, body) {
926
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
927
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
928
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
929
+ function verb(n) { return function (v) { return step([n, v]); }; }
930
+ function step(op) {
931
+ if (f)
932
+ throw new TypeError("Generator is already executing.");
933
+ while (g && (g = 0, op[0] && (_ = 0)), _)
934
+ try {
935
+ 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)
936
+ return t;
937
+ if (y = 0, t)
938
+ op = [op[0] & 2, t.value];
939
+ switch (op[0]) {
940
+ case 0:
941
+ case 1:
942
+ t = op;
943
+ break;
944
+ case 4:
945
+ _.label++;
946
+ return { value: op[1], done: false };
947
+ case 5:
948
+ _.label++;
949
+ y = op[1];
950
+ op = [0];
951
+ continue;
952
+ case 7:
953
+ op = _.ops.pop();
954
+ _.trys.pop();
955
+ continue;
956
+ default:
957
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
958
+ _ = 0;
959
+ continue;
960
+ }
961
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
962
+ _.label = op[1];
963
+ break;
964
+ }
965
+ if (op[0] === 6 && _.label < t[1]) {
966
+ _.label = t[1];
967
+ t = op;
968
+ break;
969
+ }
970
+ if (t && _.label < t[2]) {
971
+ _.label = t[2];
972
+ _.ops.push(op);
973
+ break;
974
+ }
975
+ if (t[2])
976
+ _.ops.pop();
977
+ _.trys.pop();
978
+ continue;
979
+ }
980
+ op = body.call(thisArg, _);
981
+ }
982
+ catch (e) {
983
+ op = [6, e];
984
+ y = 0;
985
+ }
986
+ finally {
987
+ f = t = 0;
988
+ }
989
+ if (op[0] & 5)
990
+ throw op[1];
991
+ return { value: op[0] ? op[1] : void 0, done: true };
992
+ }
993
+ }
994
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
995
+ if (k2 === undefined)
996
+ k2 = k;
997
+ var desc = Object.getOwnPropertyDescriptor(m, k);
998
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
999
+ desc = { enumerable: true, get: function () { return m[k]; } };
1000
+ }
1001
+ Object.defineProperty(o, k2, desc);
1002
+ }) : (function (o, m, k, k2) {
1003
+ if (k2 === undefined)
1004
+ k2 = k;
1005
+ o[k2] = m[k];
1006
+ });
1007
+ function __exportStar(m, o) {
1008
+ for (var p in m)
1009
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
1010
+ __createBinding(o, m, p);
1011
+ }
1012
+ function __values(o) {
1013
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
1014
+ if (m)
1015
+ return m.call(o);
1016
+ if (o && typeof o.length === "number")
1017
+ return {
1018
+ next: function () {
1019
+ if (o && i >= o.length)
1020
+ o = void 0;
1021
+ return { value: o && o[i++], done: !o };
1033
1022
  }
1034
1023
  };
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
- ];
1024
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
1025
+ }
1026
+ function __read(o, n) {
1027
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
1028
+ if (!m)
1029
+ return o;
1030
+ var i = m.call(o), r, ar = [], e;
1031
+ try {
1032
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
1033
+ ar.push(r.value);
1034
+ }
1035
+ catch (error) {
1036
+ e = { error: error };
1037
+ }
1038
+ finally {
1039
+ try {
1040
+ if (r && !r.done && (m = i["return"]))
1041
+ m.call(i);
1044
1042
  }
1045
- };
1046
- QueueComponent.prototype._prettyFilesize = function (bytes) {
1047
- if (bytes === 0) {
1048
- return '0.00 B';
1043
+ finally {
1044
+ if (e)
1045
+ throw e.error;
1049
1046
  }
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
- }] } });
1047
+ }
1048
+ return ar;
1049
+ }
1050
+ /** @deprecated */
1051
+ function __spread() {
1052
+ for (var ar = [], i = 0; i < arguments.length; i++)
1053
+ ar = ar.concat(__read(arguments[i]));
1054
+ return ar;
1055
+ }
1056
+ /** @deprecated */
1057
+ function __spreadArrays() {
1058
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
1059
+ s += arguments[i].length;
1060
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
1061
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
1062
+ r[k] = a[j];
1063
+ return r;
1064
+ }
1065
+ function __spreadArray(to, from, pack) {
1066
+ if (pack || arguments.length === 2)
1067
+ for (var i = 0, l = from.length, ar; i < l; i++) {
1068
+ if (ar || !(i in from)) {
1069
+ if (!ar)
1070
+ ar = Array.prototype.slice.call(from, 0, i);
1071
+ ar[i] = from[i];
1072
+ }
1073
+ }
1074
+ return to.concat(ar || Array.prototype.slice.call(from));
1075
+ }
1076
+ function __await(v) {
1077
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
1078
+ }
1079
+ function __asyncGenerator(thisArg, _arguments, generator) {
1080
+ if (!Symbol.asyncIterator)
1081
+ throw new TypeError("Symbol.asyncIterator is not defined.");
1082
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
1083
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
1084
+ function verb(n) { if (g[n])
1085
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
1086
+ function resume(n, v) { try {
1087
+ step(g[n](v));
1088
+ }
1089
+ catch (e) {
1090
+ settle(q[0][3], e);
1091
+ } }
1092
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
1093
+ function fulfill(value) { resume("next", value); }
1094
+ function reject(value) { resume("throw", value); }
1095
+ function settle(f, v) { if (f(v), q.shift(), q.length)
1096
+ resume(q[0][0], q[0][1]); }
1097
+ }
1098
+ function __asyncDelegator(o) {
1099
+ var i, p;
1100
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
1101
+ 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; }
1102
+ }
1103
+ function __asyncValues(o) {
1104
+ if (!Symbol.asyncIterator)
1105
+ throw new TypeError("Symbol.asyncIterator is not defined.");
1106
+ var m = o[Symbol.asyncIterator], i;
1107
+ 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);
1108
+ 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); }); }; }
1109
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
1110
+ }
1111
+ function __makeTemplateObject(cooked, raw) {
1112
+ if (Object.defineProperty) {
1113
+ Object.defineProperty(cooked, "raw", { value: raw });
1114
+ }
1115
+ else {
1116
+ cooked.raw = raw;
1117
+ }
1118
+ return cooked;
1119
+ }
1120
+ ;
1121
+ var __setModuleDefault = Object.create ? (function (o, v) {
1122
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
1123
+ }) : function (o, v) {
1124
+ o["default"] = v;
1125
+ };
1126
+ function __importStar(mod) {
1127
+ if (mod && mod.__esModule)
1128
+ return mod;
1129
+ var result = {};
1130
+ if (mod != null)
1131
+ for (var k in mod)
1132
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
1133
+ __createBinding(result, mod, k);
1134
+ __setModuleDefault(result, mod);
1135
+ return result;
1136
+ }
1137
+ function __importDefault(mod) {
1138
+ return (mod && mod.__esModule) ? mod : { default: mod };
1139
+ }
1140
+ function __classPrivateFieldGet(receiver, state, kind, f) {
1141
+ if (kind === "a" && !f)
1142
+ throw new TypeError("Private accessor was defined without a getter");
1143
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
1144
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
1145
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
1146
+ }
1147
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
1148
+ if (kind === "m")
1149
+ throw new TypeError("Private method is not writable");
1150
+ if (kind === "a" && !f)
1151
+ throw new TypeError("Private accessor was defined without a setter");
1152
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
1153
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
1154
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
1155
+ }
1156
+ function __classPrivateFieldIn(state, receiver) {
1157
+ if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
1158
+ throw new TypeError("Cannot use 'in' operator on non-object");
1159
+ return typeof state === "function" ? receiver === state : state.has(receiver);
1160
+ }
1161
+ function __addDisposableResource(env, value, async) {
1162
+ if (value !== null && value !== void 0) {
1163
+ if (typeof value !== "object" && typeof value !== "function")
1164
+ throw new TypeError("Object expected.");
1165
+ var dispose;
1166
+ if (async) {
1167
+ if (!Symbol.asyncDispose)
1168
+ throw new TypeError("Symbol.asyncDispose is not defined.");
1169
+ dispose = value[Symbol.asyncDispose];
1170
+ }
1171
+ if (dispose === void 0) {
1172
+ if (!Symbol.dispose)
1173
+ throw new TypeError("Symbol.dispose is not defined.");
1174
+ dispose = value[Symbol.dispose];
1175
+ }
1176
+ if (typeof dispose !== "function")
1177
+ throw new TypeError("Object not disposable.");
1178
+ env.stack.push({ value: value, dispose: dispose, async: async });
1179
+ }
1180
+ else if (async) {
1181
+ env.stack.push({ async: true });
1182
+ }
1183
+ return value;
1184
+ }
1185
+ var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
1186
+ var e = new Error(message);
1187
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
1188
+ };
1189
+ function __disposeResources(env) {
1190
+ function fail(e) {
1191
+ env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
1192
+ env.hasError = true;
1193
+ }
1194
+ function next() {
1195
+ while (env.stack.length) {
1196
+ var rec = env.stack.pop();
1197
+ try {
1198
+ var result = rec.dispose && rec.dispose.call(rec.value);
1199
+ if (rec.async)
1200
+ return Promise.resolve(result).then(next, function (e) { fail(e); return next(); });
1201
+ }
1202
+ catch (e) {
1203
+ fail(e);
1204
+ }
1205
+ }
1206
+ if (env.hasError)
1207
+ throw env.error;
1208
+ }
1209
+ return next();
1210
+ }
1211
+ var tslib_es6 = {
1212
+ __extends: __extends,
1213
+ __assign: __assign,
1214
+ __rest: __rest,
1215
+ __decorate: __decorate,
1216
+ __param: __param,
1217
+ __metadata: __metadata,
1218
+ __awaiter: __awaiter,
1219
+ __generator: __generator,
1220
+ __createBinding: __createBinding,
1221
+ __exportStar: __exportStar,
1222
+ __values: __values,
1223
+ __read: __read,
1224
+ __spread: __spread,
1225
+ __spreadArrays: __spreadArrays,
1226
+ __spreadArray: __spreadArray,
1227
+ __await: __await,
1228
+ __asyncGenerator: __asyncGenerator,
1229
+ __asyncDelegator: __asyncDelegator,
1230
+ __asyncValues: __asyncValues,
1231
+ __makeTemplateObject: __makeTemplateObject,
1232
+ __importStar: __importStar,
1233
+ __importDefault: __importDefault,
1234
+ __classPrivateFieldGet: __classPrivateFieldGet,
1235
+ __classPrivateFieldSet: __classPrivateFieldSet,
1236
+ __classPrivateFieldIn: __classPrivateFieldIn,
1237
+ __addDisposableResource: __addDisposableResource,
1238
+ __disposeResources: __disposeResources,
1239
+ };
1076
1240
 
1077
1241
  var FsMessageQueueService = /** @class */ (function () {
1078
1242
  function FsMessageQueueService(_dialog) {
1079
1243
  this._dialog = _dialog;
1080
- this._destroy$ = new rxjs.Subject();
1081
1244
  }
1082
1245
  FsMessageQueueService.prototype.openMessageQueue = function (messageQueueId, options) {
1083
1246
  if (options === void 0) { options = {}; }
1084
1247
  return this._dialog.open(QueueComponent, Object.assign(Object.assign({}, options), { data: {
1085
1248
  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();
1249
+ }, width: options.width || '85%' }))
1250
+ .afterClosed();
1092
1251
  };
1093
1252
  return FsMessageQueueService;
1094
1253
  }());
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
1254
+ 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 });
1255
+ FsMessageQueueService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsMessageQueueService, providedIn: 'root' });
1256
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsMessageQueueService, decorators: [{
1257
+ type: i0.Injectable,
1258
+ args: [{
1259
+ providedIn: 'root',
1260
+ }]
1099
1261
  }], ctorParameters: function () { return [{ type: i1__namespace.MatDialog }]; } });
1100
1262
 
1101
1263
  var TruncatePipe = /** @class */ (function () {
@@ -1115,9 +1277,9 @@
1115
1277
  };
1116
1278
  return TruncatePipe;
1117
1279
  }());
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: [{
1280
+ TruncatePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TruncatePipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
1281
+ TruncatePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TruncatePipe, name: "truncate" });
1282
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TruncatePipe, decorators: [{
1121
1283
  type: i0.Pipe,
1122
1284
  args: [{
1123
1285
  name: 'truncate'
@@ -1143,7 +1305,7 @@
1143
1305
  {
1144
1306
  name: 'keyword',
1145
1307
  type: filter.ItemType.Keyword,
1146
- label: 'Search'
1308
+ label: 'Search',
1147
1309
  },
1148
1310
  {
1149
1311
  name: 'state',
@@ -1151,7 +1313,7 @@
1151
1313
  label: 'Status',
1152
1314
  values: function () {
1153
1315
  return MessageQueueStates;
1154
- }
1316
+ },
1155
1317
  },
1156
1318
  {
1157
1319
  name: 'date',
@@ -1163,15 +1325,17 @@
1163
1325
  fetch: function (query) {
1164
1326
  query = Object.assign(Object.assign(Object.assign({}, query), _this.query), { messageQueueAttachmentCounts: true, emailMessageQueues: true, emailMessageQueueBodies: false, smsMessageQueues: true });
1165
1327
  return _this._config.loadMessageQueues(query)
1166
- .pipe(operators.map(function (response) { return ({ data: response.data
1328
+ .pipe(operators.map(function (response) { return ({
1329
+ data: response.data
1167
1330
  .map(function (messageQueue) {
1168
1331
  return Object.assign(Object.assign({}, messageQueue), { scheduled: messageQueue.state === MessageQueueState.Queued && dateFns.isAfter(messageQueue.scheduledDate, new Date()), messageQueueRecipients: messageQueue.messageQueueRecipients
1169
1332
  .reduce(function (accum, messageQueueRecipient) {
1170
1333
  accum[messageQueueRecipient.recipient] = messageQueueRecipient.state;
1171
1334
  return accum;
1172
1335
  }, {}) });
1173
- }), paging: response.paging }); }));
1174
- }
1336
+ }), paging: response.paging,
1337
+ }); }));
1338
+ },
1175
1339
  };
1176
1340
  if (this._config.bulkMessageQueues) {
1177
1341
  this.config.selection = {
@@ -1198,7 +1362,7 @@
1198
1362
  .pipe(operators.tap(function () {
1199
1363
  _this.list.reload();
1200
1364
  }));
1201
- }
1365
+ },
1202
1366
  };
1203
1367
  }
1204
1368
  this.config.filters.push({
@@ -1210,11 +1374,11 @@
1210
1374
  return _this._config.loadMessages(query)
1211
1375
  .pipe(operators.map(function (response) {
1212
1376
  return __spreadArray([
1213
- { value: null, name: 'All', }
1377
+ { value: null, name: 'All' }
1214
1378
  ], __read(response.data
1215
1379
  .map(function (item) { return ({ name: item.name, value: item.id }); })));
1216
1380
  }));
1217
- }
1381
+ },
1218
1382
  });
1219
1383
  };
1220
1384
  QueuesComponent.prototype.open = function (messageQueue) {
@@ -1231,9 +1395,9 @@
1231
1395
  };
1232
1396
  return QueuesComponent;
1233
1397
  }());
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: [{
1398
+ 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 });
1399
+ 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 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 });
1400
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: QueuesComponent, decorators: [{
1237
1401
  type: i0.Component,
1238
1402
  args: [{
1239
1403
  selector: 'fs-app-message-queues',
@@ -1268,9 +1432,9 @@
1268
1432
  };
1269
1433
  return LinkifyPipe;
1270
1434
  }());
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: [{
1435
+ LinkifyPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LinkifyPipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
1436
+ LinkifyPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LinkifyPipe, name: "linkify" });
1437
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LinkifyPipe, decorators: [{
1274
1438
  type: i0.Pipe,
1275
1439
  args: [{ name: 'linkify' }]
1276
1440
  }] });
@@ -1280,8 +1444,8 @@
1280
1444
  }
1281
1445
  return FsAppMessageQueuesModule;
1282
1446
  }());
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,
1447
+ FsAppMessageQueuesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageQueuesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1448
+ FsAppMessageQueuesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageQueuesModule, declarations: [QueuesComponent,
1285
1449
  QueueComponent,
1286
1450
  LinkifyPipe,
1287
1451
  TruncatePipe,
@@ -1304,7 +1468,7 @@
1304
1468
  i1$2.FsPromptInputModule,
1305
1469
  i2.FsIFrameModule], exports: [QueuesComponent,
1306
1470
  QueueComponent] });
1307
- FsAppMessageQueuesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageQueuesModule, providers: [
1471
+ FsAppMessageQueuesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageQueuesModule, providers: [
1308
1472
  FsMessageQueueService
1309
1473
  ], imports: [[
1310
1474
  router.RouterModule,
@@ -1325,10 +1489,8 @@
1325
1489
  i16.FsFormModule,
1326
1490
  i1$2.FsPromptInputModule,
1327
1491
  i2.FsIFrameModule,
1328
- //FsDeviceModule,
1329
- //FsIpModule,
1330
1492
  ]] });
1331
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageQueuesModule, decorators: [{
1493
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageQueuesModule, decorators: [{
1332
1494
  type: i0.NgModule,
1333
1495
  args: [{
1334
1496
  imports: [
@@ -1350,8 +1512,6 @@
1350
1512
  i16.FsFormModule,
1351
1513
  i1$2.FsPromptInputModule,
1352
1514
  i2.FsIFrameModule,
1353
- //FsDeviceModule,
1354
- //FsIpModule,
1355
1515
  ],
1356
1516
  declarations: [
1357
1517
  QueuesComponent,
@@ -1421,9 +1581,9 @@
1421
1581
  };
1422
1582
  return TemplateComponent;
1423
1583
  }());
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: [{
1584
+ 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 });
1585
+ 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: 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"] }] });
1586
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplateComponent, decorators: [{
1427
1587
  type: i0.Component,
1428
1588
  args: [{
1429
1589
  templateUrl: './template.component.html',
@@ -1500,9 +1660,9 @@
1500
1660
  };
1501
1661
  return TemplatesComponent;
1502
1662
  }());
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: [{
1663
+ 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 });
1664
+ 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"] }] });
1665
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TemplatesComponent, decorators: [{
1506
1666
  type: i0.Component,
1507
1667
  args: [{
1508
1668
  selector: 'fs-app-message-templates',
@@ -1523,8 +1683,8 @@
1523
1683
  }
1524
1684
  return FsAppMessageTemplatesModule;
1525
1685
  }());
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,
1686
+ FsAppMessageTemplatesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageTemplatesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1687
+ FsAppMessageTemplatesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageTemplatesModule, declarations: [TemplatesComponent,
1528
1688
  TemplateComponent], imports: [router.RouterModule,
1529
1689
  i17.CommonModule,
1530
1690
  i15.FormsModule,
@@ -1544,7 +1704,7 @@
1544
1704
  i10.FsTextEditorModule,
1545
1705
  FsAppMessagePreviewModule], exports: [TemplatesComponent,
1546
1706
  TemplateComponent] });
1547
- FsAppMessageTemplatesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageTemplatesModule, imports: [[
1707
+ FsAppMessageTemplatesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageTemplatesModule, imports: [[
1548
1708
  router.RouterModule,
1549
1709
  i17.CommonModule,
1550
1710
  i15.FormsModule,
@@ -1564,7 +1724,7 @@
1564
1724
  i10.FsTextEditorModule,
1565
1725
  FsAppMessagePreviewModule,
1566
1726
  ]] });
1567
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageTemplatesModule, decorators: [{
1727
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageTemplatesModule, decorators: [{
1568
1728
  type: i0.NgModule,
1569
1729
  args: [{
1570
1730
  imports: [
@@ -1639,9 +1799,9 @@
1639
1799
  };
1640
1800
  return WebhooksComponent;
1641
1801
  }());
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: [{
1802
+ 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 });
1803
+ 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 });
1804
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: WebhooksComponent, decorators: [{
1645
1805
  type: i0.Component,
1646
1806
  args: [{
1647
1807
  selector: 'fs-app-message-webhooks',
@@ -1663,14 +1823,14 @@
1663
1823
  }
1664
1824
  return FsAppMessageWebhooksModule;
1665
1825
  }());
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,
1826
+ FsAppMessageWebhooksModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageWebhooksModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1827
+ 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
1828
  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: [[
1829
+ FsAppMessageWebhooksModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageWebhooksModule, imports: [[
1670
1830
  i2$1.FsListModule,
1671
1831
  i10$1.FsDateModule,
1672
1832
  ]] });
1673
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsAppMessageWebhooksModule, decorators: [{
1833
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FsAppMessageWebhooksModule, decorators: [{
1674
1834
  type: i0.NgModule,
1675
1835
  args: [{
1676
1836
  imports: [
@@ -1686,28 +1846,6 @@
1686
1846
  }]
1687
1847
  }] });
1688
1848
 
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
1849
  /**
1712
1850
  * Generated bundle index. Do not edit.
1713
1851
  */