@firestitch/app-message 9.1.4 → 9.2.1

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 (56) hide show
  1. package/app/modules/app-message/interfaces/app-message-config.d.ts +2 -1
  2. package/app/modules/app-message/types/types.type.d.ts +4 -0
  3. package/app/modules/message-queues/components/queue/queue.component.d.ts +6 -2
  4. package/app/modules/message-queues/components/queues/queues.component.d.ts +3 -1
  5. package/app/modules/message-queues/consts/message-queue-event-type.const.d.ts +5 -0
  6. package/app/modules/message-queues/enums/index.d.ts +1 -0
  7. package/app/modules/message-queues/enums/message-queue-event-type.enum.d.ts +4 -0
  8. package/app/modules/message-queues/services/message-queue.service.d.ts +9 -0
  9. package/bundles/firestitch-app-message.umd.js +110 -63
  10. package/bundles/firestitch-app-message.umd.js.map +1 -1
  11. package/bundles/firestitch-app-message.umd.min.js +1 -1
  12. package/bundles/firestitch-app-message.umd.min.js.map +1 -1
  13. package/esm2015/app/modules/app-message/interfaces/app-message-config.js +1 -1
  14. package/esm2015/app/modules/app-message/types/types.type.js +1 -1
  15. package/esm2015/app/modules/message-queues/components/queue/queue.component.js +20 -7
  16. package/esm2015/app/modules/message-queues/components/queues/queues.component.js +9 -12
  17. package/esm2015/app/modules/message-queues/consts/message-queue-event-type.const.js +6 -0
  18. package/esm2015/app/modules/message-queues/enums/index.js +2 -1
  19. package/esm2015/app/modules/message-queues/enums/message-queue-event-type.enum.js +6 -0
  20. package/esm2015/app/modules/message-queues/message-queues.module.js +8 -2
  21. package/esm2015/app/modules/message-queues/services/message-queue.service.js +31 -0
  22. package/esm2015/app/modules/messages/components/messages/messages.component.js +3 -7
  23. package/esm2015/firestitch-app-message.js +2 -2
  24. package/esm2015/public_api.js +2 -1
  25. package/esm5/app/modules/app-message/interfaces/app-message-config.js +1 -1
  26. package/esm5/app/modules/app-message/types/types.type.js +1 -1
  27. package/esm5/app/modules/message-queues/components/queue/queue.component.js +21 -7
  28. package/esm5/app/modules/message-queues/components/queues/queues.component.js +9 -12
  29. package/esm5/app/modules/message-queues/consts/message-queue-event-type.const.js +6 -0
  30. package/esm5/app/modules/message-queues/enums/index.js +2 -1
  31. package/esm5/app/modules/message-queues/enums/message-queue-event-type.enum.js +6 -0
  32. package/esm5/app/modules/message-queues/message-queues.module.js +8 -2
  33. package/esm5/app/modules/message-queues/services/message-queue.service.js +33 -0
  34. package/esm5/app/modules/messages/components/messages/messages.component.js +3 -7
  35. package/esm5/firestitch-app-message.js +2 -2
  36. package/esm5/public_api.js +2 -1
  37. package/fesm2015/firestitch-app-message.js +105 -62
  38. package/fesm2015/firestitch-app-message.js.map +1 -1
  39. package/fesm5/firestitch-app-message.js +111 -65
  40. package/fesm5/firestitch-app-message.js.map +1 -1
  41. package/firestitch-app-message.d.ts +1 -1
  42. package/firestitch-app-message.metadata.json +1 -1
  43. package/package.json +1 -1
  44. package/public_api.d.ts +1 -0
  45. package/app/modules/message-queues/components/index.d.ts +0 -3
  46. package/app/modules/message-queues/components/queue/index.d.ts +0 -1
  47. package/app/modules/message-queues/components/queues/index.d.ts +0 -1
  48. package/app/modules/message-queues/components/recipient/index.d.ts +0 -1
  49. package/esm2015/app/modules/message-queues/components/index.js +0 -4
  50. package/esm2015/app/modules/message-queues/components/queue/index.js +0 -2
  51. package/esm2015/app/modules/message-queues/components/queues/index.js +0 -2
  52. package/esm2015/app/modules/message-queues/components/recipient/index.js +0 -2
  53. package/esm5/app/modules/message-queues/components/index.js +0 -4
  54. package/esm5/app/modules/message-queues/components/queue/index.js +0 -2
  55. package/esm5/app/modules/message-queues/components/queues/index.js +0 -2
  56. 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 (response) {
237
- if (response) {
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.messageQueue.id)
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.anchorme(body);
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.anchorme(_this.messageQueue.smsMessageQueue.body);
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.anchorme = function (html) {
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=\"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",
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._dialog.open(QueueComponent, {
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 }),
@@ -665,11 +707,41 @@ var QueuesComponent = /** @class */ (function () {
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