@firestitch/app-message 9.1.3 → 9.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/modules/app-message/interfaces/app-message-config.d.ts +2 -1
- package/app/modules/app-message/types/types.type.d.ts +4 -0
- package/app/modules/message-queues/components/queue/queue.component.d.ts +6 -2
- package/app/modules/message-queues/components/queues/queues.component.d.ts +3 -1
- package/app/modules/message-queues/consts/message-queue-event-type.const.d.ts +5 -0
- package/app/modules/message-queues/enums/index.d.ts +1 -0
- package/app/modules/message-queues/enums/message-queue-event-type.enum.d.ts +4 -0
- package/app/modules/message-queues/services/message-queue.service.d.ts +9 -0
- package/bundles/firestitch-app-message.umd.js +111 -64
- package/bundles/firestitch-app-message.umd.js.map +1 -1
- package/bundles/firestitch-app-message.umd.min.js +1 -1
- package/bundles/firestitch-app-message.umd.min.js.map +1 -1
- package/esm2015/app/modules/app-message/interfaces/app-message-config.js +1 -1
- package/esm2015/app/modules/app-message/types/types.type.js +1 -1
- package/esm2015/app/modules/message-queues/components/queue/queue.component.js +20 -7
- package/esm2015/app/modules/message-queues/components/queues/queues.component.js +10 -13
- package/esm2015/app/modules/message-queues/components/recipient/recipient.component.js +1 -1
- package/esm2015/app/modules/message-queues/consts/message-queue-event-type.const.js +6 -0
- package/esm2015/app/modules/message-queues/enums/index.js +2 -1
- package/esm2015/app/modules/message-queues/enums/message-queue-event-type.enum.js +6 -0
- package/esm2015/app/modules/message-queues/message-queues.module.js +8 -2
- package/esm2015/app/modules/message-queues/services/message-queue.service.js +31 -0
- package/esm2015/app/modules/messages/components/messages/messages.component.js +3 -7
- package/esm2015/firestitch-app-message.js +2 -2
- package/esm2015/public_api.js +2 -1
- package/esm5/app/modules/app-message/interfaces/app-message-config.js +1 -1
- package/esm5/app/modules/app-message/types/types.type.js +1 -1
- package/esm5/app/modules/message-queues/components/queue/queue.component.js +21 -7
- package/esm5/app/modules/message-queues/components/queues/queues.component.js +10 -13
- package/esm5/app/modules/message-queues/components/recipient/recipient.component.js +1 -1
- package/esm5/app/modules/message-queues/consts/message-queue-event-type.const.js +6 -0
- package/esm5/app/modules/message-queues/enums/index.js +2 -1
- package/esm5/app/modules/message-queues/enums/message-queue-event-type.enum.js +6 -0
- package/esm5/app/modules/message-queues/message-queues.module.js +8 -2
- package/esm5/app/modules/message-queues/services/message-queue.service.js +33 -0
- package/esm5/app/modules/messages/components/messages/messages.component.js +3 -7
- package/esm5/firestitch-app-message.js +2 -2
- package/esm5/public_api.js +2 -1
- package/fesm2015/firestitch-app-message.js +106 -63
- package/fesm2015/firestitch-app-message.js.map +1 -1
- package/fesm5/firestitch-app-message.js +112 -66
- package/fesm5/firestitch-app-message.js.map +1 -1
- package/firestitch-app-message.d.ts +1 -1
- package/firestitch-app-message.metadata.json +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/app/modules/message-queues/components/index.d.ts +0 -3
- package/app/modules/message-queues/components/queue/index.d.ts +0 -1
- package/app/modules/message-queues/components/queues/index.d.ts +0 -1
- package/app/modules/message-queues/components/recipient/index.d.ts +0 -1
- package/esm2015/app/modules/message-queues/components/index.js +0 -4
- package/esm2015/app/modules/message-queues/components/queue/index.js +0 -2
- package/esm2015/app/modules/message-queues/components/queues/index.js +0 -2
- package/esm2015/app/modules/message-queues/components/recipient/index.js +0 -2
- package/esm5/app/modules/message-queues/components/index.js +0 -4
- package/esm5/app/modules/message-queues/components/queue/index.js +0 -2
- package/esm5/app/modules/message-queues/components/queues/index.js +0 -2
- package/esm5/app/modules/message-queues/components/recipient/index.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate, __param, __metadata, __assign, __spread } from 'tslib';
|
|
2
|
-
import { Inject, Component, InjectionToken, ChangeDetectorRef, ChangeDetectionStrategy, ViewChild, NgModule, Input, Pipe } from '@angular/core';
|
|
2
|
+
import { Inject, Component, InjectionToken, ChangeDetectorRef, ChangeDetectionStrategy, ViewChild, NgModule, Injectable, Input, Pipe } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { RouterModule } from '@angular/router';
|
|
5
5
|
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
@@ -233,12 +233,8 @@ var MessagesComponent = /** @class */ (function () {
|
|
|
233
233
|
});
|
|
234
234
|
dialogRef.afterClosed()
|
|
235
235
|
.pipe(takeUntil(this._destroy$))
|
|
236
|
-
.subscribe(function (
|
|
237
|
-
|
|
238
|
-
_this.list.updateData(response, function (row) {
|
|
239
|
-
return row.id === response.id;
|
|
240
|
-
});
|
|
241
|
-
}
|
|
236
|
+
.subscribe(function () {
|
|
237
|
+
_this.list.reload();
|
|
242
238
|
});
|
|
243
239
|
};
|
|
244
240
|
MessagesComponent.prototype.ngOnDestroy = function () {
|
|
@@ -327,19 +323,6 @@ var FsAppMessagesModule = /** @class */ (function () {
|
|
|
327
323
|
return FsAppMessagesModule;
|
|
328
324
|
}());
|
|
329
325
|
|
|
330
|
-
var EmailMessageQueueFormat;
|
|
331
|
-
(function (EmailMessageQueueFormat) {
|
|
332
|
-
EmailMessageQueueFormat["Text"] = "T";
|
|
333
|
-
EmailMessageQueueFormat["HTML"] = "H";
|
|
334
|
-
EmailMessageQueueFormat["RichText"] = "R";
|
|
335
|
-
})(EmailMessageQueueFormat || (EmailMessageQueueFormat = {}));
|
|
336
|
-
|
|
337
|
-
var MessageQueueType;
|
|
338
|
-
(function (MessageQueueType) {
|
|
339
|
-
MessageQueueType["Sms"] = "S";
|
|
340
|
-
MessageQueueType["Email"] = "E";
|
|
341
|
-
})(MessageQueueType || (MessageQueueType = {}));
|
|
342
|
-
|
|
343
326
|
var MessageQueueState;
|
|
344
327
|
(function (MessageQueueState) {
|
|
345
328
|
MessageQueueState["Sent"] = "S";
|
|
@@ -361,6 +344,30 @@ var MessageQueueStates = [
|
|
|
361
344
|
{ name: 'Failed', value: MessageQueueState.Failed }
|
|
362
345
|
];
|
|
363
346
|
|
|
347
|
+
var EmailMessageQueueFormat;
|
|
348
|
+
(function (EmailMessageQueueFormat) {
|
|
349
|
+
EmailMessageQueueFormat["Text"] = "T";
|
|
350
|
+
EmailMessageQueueFormat["HTML"] = "H";
|
|
351
|
+
EmailMessageQueueFormat["RichText"] = "R";
|
|
352
|
+
})(EmailMessageQueueFormat || (EmailMessageQueueFormat = {}));
|
|
353
|
+
|
|
354
|
+
var MessageQueueType;
|
|
355
|
+
(function (MessageQueueType) {
|
|
356
|
+
MessageQueueType["Sms"] = "S";
|
|
357
|
+
MessageQueueType["Email"] = "E";
|
|
358
|
+
})(MessageQueueType || (MessageQueueType = {}));
|
|
359
|
+
|
|
360
|
+
var MessageQueueEventType;
|
|
361
|
+
(function (MessageQueueEventType) {
|
|
362
|
+
MessageQueueEventType["Click"] = "click";
|
|
363
|
+
MessageQueueEventType["Open"] = "open";
|
|
364
|
+
})(MessageQueueEventType || (MessageQueueEventType = {}));
|
|
365
|
+
|
|
366
|
+
var MessageQueueEventTypes = [
|
|
367
|
+
{ name: 'Open', value: MessageQueueEventType.Open },
|
|
368
|
+
{ name: 'Click', value: MessageQueueEventType.Click },
|
|
369
|
+
];
|
|
370
|
+
|
|
364
371
|
var QueueComponent = /** @class */ (function () {
|
|
365
372
|
function QueueComponent(_config, _message, _prompt, _dialog, _data) {
|
|
366
373
|
this._config = _config;
|
|
@@ -370,6 +377,8 @@ var QueueComponent = /** @class */ (function () {
|
|
|
370
377
|
this._data = _data;
|
|
371
378
|
this.messageQueueRecipients = {};
|
|
372
379
|
this.emailMessageQueueFormat = EmailMessageQueueFormat;
|
|
380
|
+
this.MessageQueueEventTypes = indexNameValue(MessageQueueEventTypes);
|
|
381
|
+
this.MessageQueueEventType = MessageQueueEventType;
|
|
373
382
|
this._destroy$ = new Subject();
|
|
374
383
|
}
|
|
375
384
|
QueueComponent.prototype.ngOnInit = function () {
|
|
@@ -377,7 +386,7 @@ var QueueComponent = /** @class */ (function () {
|
|
|
377
386
|
this.messageQueueStates = indexNameValue(MessageQueueStates);
|
|
378
387
|
this.resendMessageQueue = this._config.resendMessageQueue;
|
|
379
388
|
this.forwardMessageQueue = this._config.forwardMessageQueue;
|
|
380
|
-
this._config.loadMessageQueue(this._data.
|
|
389
|
+
this._config.loadMessageQueue(this._data.messageQueueId)
|
|
381
390
|
.subscribe(function (messageQueue) {
|
|
382
391
|
_this.messageQueue = messageQueue;
|
|
383
392
|
if (_this.messageQueue.emailMessageQueue) {
|
|
@@ -394,12 +403,12 @@ var QueueComponent = /** @class */ (function () {
|
|
|
394
403
|
}
|
|
395
404
|
}
|
|
396
405
|
else {
|
|
397
|
-
body = _this.
|
|
406
|
+
body = _this.anchorMe(body);
|
|
398
407
|
}
|
|
399
408
|
_this.messageQueue.emailMessageQueue.body = body;
|
|
400
409
|
}
|
|
401
410
|
if (_this.messageQueue.smsMessageQueue) {
|
|
402
|
-
_this.messageQueue.smsMessageQueue.body = _this.
|
|
411
|
+
_this.messageQueue.smsMessageQueue.body = _this.anchorMe(_this.messageQueue.smsMessageQueue.body);
|
|
403
412
|
}
|
|
404
413
|
_this.messageQueueRecipients = _this.messageQueue.messageQueueRecipients
|
|
405
414
|
.reduce(function (accum, messageQueueRecipient) {
|
|
@@ -408,9 +417,10 @@ var QueueComponent = /** @class */ (function () {
|
|
|
408
417
|
}, {});
|
|
409
418
|
_this._setLogsConfig(messageQueue);
|
|
410
419
|
_this._setAttachmentsConfig(messageQueue);
|
|
420
|
+
_this._setEventsConfig(messageQueue);
|
|
411
421
|
});
|
|
412
422
|
};
|
|
413
|
-
QueueComponent.prototype.
|
|
423
|
+
QueueComponent.prototype.anchorMe = function (html) {
|
|
414
424
|
return anchorme(html, {
|
|
415
425
|
options: {
|
|
416
426
|
attributes: [
|
|
@@ -481,6 +491,16 @@ var QueueComponent = /** @class */ (function () {
|
|
|
481
491
|
}
|
|
482
492
|
};
|
|
483
493
|
};
|
|
494
|
+
QueueComponent.prototype._setEventsConfig = function (messageQueue) {
|
|
495
|
+
var _this = this;
|
|
496
|
+
this.eventConfig = {
|
|
497
|
+
loadMore: true,
|
|
498
|
+
queryParam: false,
|
|
499
|
+
fetch: function (query) {
|
|
500
|
+
return _this._config.loadMessageQueueEvents(messageQueue, query);
|
|
501
|
+
}
|
|
502
|
+
};
|
|
503
|
+
};
|
|
484
504
|
QueueComponent.prototype._setAttachmentsConfig = function (messageQueue) {
|
|
485
505
|
var _this = this;
|
|
486
506
|
this.attachmentConfig = {
|
|
@@ -526,7 +546,7 @@ var QueueComponent = /** @class */ (function () {
|
|
|
526
546
|
], QueueComponent.prototype, "logList", void 0);
|
|
527
547
|
QueueComponent = __decorate([
|
|
528
548
|
Component({
|
|
529
|
-
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 </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-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",
|
|
549
|
+
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 </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=\"Event\">\n <ng-template fs-list-cell let-row=\"row\">\n {{MessageQueueEventTypes[row.type]}}\n <div class=\"small\" *ngIf=\"row.type === MessageQueueEventType.Click\">\n {{row.meta?.url}}\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",
|
|
530
550
|
styles: [".body,.subject{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}"]
|
|
531
551
|
}),
|
|
532
552
|
__param(0, Inject(FS_APP_MESSAGE_CONFIG)),
|
|
@@ -538,10 +558,37 @@ var QueueComponent = /** @class */ (function () {
|
|
|
538
558
|
return QueueComponent;
|
|
539
559
|
}());
|
|
540
560
|
|
|
561
|
+
var FsMessageQueueService = /** @class */ (function () {
|
|
562
|
+
function FsMessageQueueService(_dialog) {
|
|
563
|
+
this._dialog = _dialog;
|
|
564
|
+
this._destroy$ = new Subject();
|
|
565
|
+
}
|
|
566
|
+
FsMessageQueueService.prototype.openMessageQueue = function (messageQueueId, options) {
|
|
567
|
+
if (options === void 0) { options = {}; }
|
|
568
|
+
return this._dialog.open(QueueComponent, __assign(__assign({}, options), { data: {
|
|
569
|
+
messageQueueId: messageQueueId,
|
|
570
|
+
}, width: options.width || '85%' })).afterClosed()
|
|
571
|
+
.pipe(takeUntil(this._destroy$));
|
|
572
|
+
};
|
|
573
|
+
FsMessageQueueService.prototype.ngOnDestroy = function () {
|
|
574
|
+
this._destroy$.next();
|
|
575
|
+
this._destroy$.complete();
|
|
576
|
+
};
|
|
577
|
+
FsMessageQueueService.ctorParameters = function () { return [
|
|
578
|
+
{ type: MatDialog }
|
|
579
|
+
]; };
|
|
580
|
+
FsMessageQueueService = __decorate([
|
|
581
|
+
Injectable(),
|
|
582
|
+
__metadata("design:paramtypes", [MatDialog])
|
|
583
|
+
], FsMessageQueueService);
|
|
584
|
+
return FsMessageQueueService;
|
|
585
|
+
}());
|
|
586
|
+
|
|
541
587
|
var QueuesComponent = /** @class */ (function () {
|
|
542
|
-
function QueuesComponent(_config, _dialog) {
|
|
588
|
+
function QueuesComponent(_config, _dialog, _messageQueueService) {
|
|
543
589
|
this._config = _config;
|
|
544
590
|
this._dialog = _dialog;
|
|
591
|
+
this._messageQueueService = _messageQueueService;
|
|
545
592
|
this.list = null;
|
|
546
593
|
this.query = {};
|
|
547
594
|
this.config = null;
|
|
@@ -630,13 +677,7 @@ var QueuesComponent = /** @class */ (function () {
|
|
|
630
677
|
};
|
|
631
678
|
QueuesComponent.prototype.open = function (messageQueue) {
|
|
632
679
|
var _this = this;
|
|
633
|
-
this.
|
|
634
|
-
data: {
|
|
635
|
-
messageQueue: messageQueue,
|
|
636
|
-
},
|
|
637
|
-
width: '85%'
|
|
638
|
-
})
|
|
639
|
-
.afterClosed()
|
|
680
|
+
this._messageQueueService.openMessageQueue(messageQueue.id)
|
|
640
681
|
.pipe(takeUntil(this._destroy$))
|
|
641
682
|
.subscribe(function () {
|
|
642
683
|
_this.list.reload();
|
|
@@ -648,7 +689,8 @@ var QueuesComponent = /** @class */ (function () {
|
|
|
648
689
|
};
|
|
649
690
|
QueuesComponent.ctorParameters = function () { return [
|
|
650
691
|
{ type: undefined, decorators: [{ type: Inject, args: [FS_APP_MESSAGE_CONFIG,] }] },
|
|
651
|
-
{ type: MatDialog }
|
|
692
|
+
{ type: MatDialog },
|
|
693
|
+
{ type: FsMessageQueueService }
|
|
652
694
|
]; };
|
|
653
695
|
__decorate([
|
|
654
696
|
ViewChild(FsListComponent, { static: true }),
|
|
@@ -661,15 +703,45 @@ var QueuesComponent = /** @class */ (function () {
|
|
|
661
703
|
QueuesComponent = __decorate([
|
|
662
704
|
Component({
|
|
663
705
|
selector: 'fs-app-message-queues',
|
|
664
|
-
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]\"\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]\"\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]\"\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 <span [class]=\"'state-' + row.state\">{{messageQueueStates[row.state]}}</span>\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
|
|
706
|
+
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 <span [class]=\"'state-' + row.state\">{{messageQueueStates[row.state]}}</span>\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>",
|
|
665
707
|
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}"]
|
|
666
708
|
}),
|
|
667
709
|
__param(0, Inject(FS_APP_MESSAGE_CONFIG)),
|
|
668
|
-
__metadata("design:paramtypes", [Object, MatDialog
|
|
710
|
+
__metadata("design:paramtypes", [Object, MatDialog,
|
|
711
|
+
FsMessageQueueService])
|
|
669
712
|
], QueuesComponent);
|
|
670
713
|
return QueuesComponent;
|
|
671
714
|
}());
|
|
672
715
|
|
|
716
|
+
var RecipientComponent = /** @class */ (function () {
|
|
717
|
+
function RecipientComponent() {
|
|
718
|
+
}
|
|
719
|
+
RecipientComponent.prototype.ngOnInit = function () {
|
|
720
|
+
var icons = {
|
|
721
|
+
'S': { name: 'check_circle', tooltip: 'Sent' },
|
|
722
|
+
'E': { name: 'offline_bolt', tooltip: 'Sending' },
|
|
723
|
+
'F': { name: 'info', tooltip: 'Failed' },
|
|
724
|
+
};
|
|
725
|
+
this.icon = icons[this.state];
|
|
726
|
+
};
|
|
727
|
+
__decorate([
|
|
728
|
+
Input(),
|
|
729
|
+
__metadata("design:type", Object)
|
|
730
|
+
], RecipientComponent.prototype, "name", void 0);
|
|
731
|
+
__decorate([
|
|
732
|
+
Input(),
|
|
733
|
+
__metadata("design:type", Object)
|
|
734
|
+
], RecipientComponent.prototype, "state", void 0);
|
|
735
|
+
RecipientComponent = __decorate([
|
|
736
|
+
Component({
|
|
737
|
+
selector: 'app-recipient',
|
|
738
|
+
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>",
|
|
739
|
+
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}"]
|
|
740
|
+
})
|
|
741
|
+
], RecipientComponent);
|
|
742
|
+
return RecipientComponent;
|
|
743
|
+
}());
|
|
744
|
+
|
|
673
745
|
var LinkifyPipe = /** @class */ (function () {
|
|
674
746
|
function LinkifyPipe() {
|
|
675
747
|
}
|
|
@@ -712,35 +784,6 @@ var TruncatePipe = /** @class */ (function () {
|
|
|
712
784
|
return TruncatePipe;
|
|
713
785
|
}());
|
|
714
786
|
|
|
715
|
-
var RecipientComponent = /** @class */ (function () {
|
|
716
|
-
function RecipientComponent() {
|
|
717
|
-
}
|
|
718
|
-
RecipientComponent.prototype.ngOnInit = function () {
|
|
719
|
-
var icons = {
|
|
720
|
-
'S': { name: 'check_circle', tooltip: 'Sent' },
|
|
721
|
-
'E': { name: 'offline_bolt', tooltip: 'Sending' },
|
|
722
|
-
'F': { name: 'info', tooltip: 'Failed' },
|
|
723
|
-
};
|
|
724
|
-
this.icon = icons[this.state];
|
|
725
|
-
};
|
|
726
|
-
__decorate([
|
|
727
|
-
Input(),
|
|
728
|
-
__metadata("design:type", Object)
|
|
729
|
-
], RecipientComponent.prototype, "name", void 0);
|
|
730
|
-
__decorate([
|
|
731
|
-
Input(),
|
|
732
|
-
__metadata("design:type", Object)
|
|
733
|
-
], RecipientComponent.prototype, "state", void 0);
|
|
734
|
-
RecipientComponent = __decorate([
|
|
735
|
-
Component({
|
|
736
|
-
selector: 'app-recipient',
|
|
737
|
-
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>",
|
|
738
|
-
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}"]
|
|
739
|
-
})
|
|
740
|
-
], RecipientComponent);
|
|
741
|
-
return RecipientComponent;
|
|
742
|
-
}());
|
|
743
|
-
|
|
744
787
|
var FsAppMessageQueuesModule = /** @class */ (function () {
|
|
745
788
|
function FsAppMessageQueuesModule() {
|
|
746
789
|
}
|
|
@@ -776,6 +819,9 @@ var FsAppMessageQueuesModule = /** @class */ (function () {
|
|
|
776
819
|
exports: [
|
|
777
820
|
QueuesComponent,
|
|
778
821
|
QueueComponent,
|
|
822
|
+
],
|
|
823
|
+
providers: [
|
|
824
|
+
FsMessageQueueService
|
|
779
825
|
]
|
|
780
826
|
})
|
|
781
827
|
], FsAppMessageQueuesModule);
|
|
@@ -1077,5 +1123,5 @@ var FsAppMessageModule = /** @class */ (function () {
|
|
|
1077
1123
|
* Generated bundle index. Do not edit.
|
|
1078
1124
|
*/
|
|
1079
1125
|
|
|
1080
|
-
export { FS_APP_MESSAGE_CONFIG, FsAppMessageModule, FsAppMessageQueuesModule, FsAppMessageTemplatesModule, FsAppMessageWebhooksModule, FsAppMessagesModule, MessageComponent, MessagesComponent, QueueComponent, QueuesComponent, TemplatesComponent, FsAppMessagePreviewModule as ɵa, PreviewComponent as ɵb, FS_APP_MESSAGE_CONFIG as ɵc, LinkifyPipe as ɵd, TruncatePipe as ɵe, RecipientComponent as ɵf, TemplateComponent as ɵg, WebhooksComponent as ɵh };
|
|
1126
|
+
export { FS_APP_MESSAGE_CONFIG, FsAppMessageModule, FsAppMessageQueuesModule, FsAppMessageTemplatesModule, FsAppMessageWebhooksModule, FsAppMessagesModule, FsMessageQueueService, MessageComponent, MessagesComponent, QueueComponent, QueuesComponent, TemplatesComponent, FsAppMessagePreviewModule as ɵa, PreviewComponent as ɵb, FS_APP_MESSAGE_CONFIG as ɵc, LinkifyPipe as ɵd, TruncatePipe as ɵe, RecipientComponent as ɵf, TemplateComponent as ɵg, WebhooksComponent as ɵh };
|
|
1081
1127
|
//# sourceMappingURL=firestitch-app-message.js.map
|