@firestitch/app-message 9.1.4 → 9.1.5

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 (38) hide show
  1. package/app/modules/message-queues/components/queues/queues.component.d.ts +3 -1
  2. package/app/modules/message-queues/services/message-queue.service.d.ts +9 -0
  3. package/bundles/firestitch-app-message.umd.js +80 -53
  4. package/bundles/firestitch-app-message.umd.js.map +1 -1
  5. package/bundles/firestitch-app-message.umd.min.js +1 -1
  6. package/bundles/firestitch-app-message.umd.min.js.map +1 -1
  7. package/esm2015/app/modules/message-queues/components/queue/queue.component.js +2 -2
  8. package/esm2015/app/modules/message-queues/components/queues/queues.component.js +9 -12
  9. package/esm2015/app/modules/message-queues/message-queues.module.js +6 -2
  10. package/esm2015/app/modules/message-queues/services/message-queue.service.js +31 -0
  11. package/esm2015/firestitch-app-message.js +2 -2
  12. package/esm2015/public_api.js +2 -1
  13. package/esm5/app/modules/message-queues/components/queue/queue.component.js +2 -2
  14. package/esm5/app/modules/message-queues/components/queues/queues.component.js +9 -12
  15. package/esm5/app/modules/message-queues/message-queues.module.js +6 -2
  16. package/esm5/app/modules/message-queues/services/message-queue.service.js +33 -0
  17. package/esm5/firestitch-app-message.js +2 -2
  18. package/esm5/public_api.js +2 -1
  19. package/fesm2015/firestitch-app-message.js +76 -52
  20. package/fesm2015/firestitch-app-message.js.map +1 -1
  21. package/fesm5/firestitch-app-message.js +81 -55
  22. package/fesm5/firestitch-app-message.js.map +1 -1
  23. package/firestitch-app-message.d.ts +1 -1
  24. package/firestitch-app-message.metadata.json +1 -1
  25. package/package.json +1 -1
  26. package/public_api.d.ts +1 -0
  27. package/app/modules/message-queues/components/index.d.ts +0 -3
  28. package/app/modules/message-queues/components/queue/index.d.ts +0 -1
  29. package/app/modules/message-queues/components/queues/index.d.ts +0 -1
  30. package/app/modules/message-queues/components/recipient/index.d.ts +0 -1
  31. package/esm2015/app/modules/message-queues/components/index.js +0 -4
  32. package/esm2015/app/modules/message-queues/components/queue/index.js +0 -2
  33. package/esm2015/app/modules/message-queues/components/queues/index.js +0 -2
  34. package/esm2015/app/modules/message-queues/components/recipient/index.js +0 -2
  35. package/esm5/app/modules/message-queues/components/index.js +0 -4
  36. package/esm5/app/modules/message-queues/components/queue/index.js +0 -2
  37. package/esm5/app/modules/message-queues/components/queues/index.js +0 -2
  38. package/esm5/app/modules/message-queues/components/recipient/index.js +0 -2
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __param, __metadata } 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';
@@ -312,19 +312,6 @@ FsAppMessagesModule = __decorate([
312
312
  })
313
313
  ], FsAppMessagesModule);
314
314
 
315
- var EmailMessageQueueFormat;
316
- (function (EmailMessageQueueFormat) {
317
- EmailMessageQueueFormat["Text"] = "T";
318
- EmailMessageQueueFormat["HTML"] = "H";
319
- EmailMessageQueueFormat["RichText"] = "R";
320
- })(EmailMessageQueueFormat || (EmailMessageQueueFormat = {}));
321
-
322
- var MessageQueueType;
323
- (function (MessageQueueType) {
324
- MessageQueueType["Sms"] = "S";
325
- MessageQueueType["Email"] = "E";
326
- })(MessageQueueType || (MessageQueueType = {}));
327
-
328
315
  var MessageQueueState;
329
316
  (function (MessageQueueState) {
330
317
  MessageQueueState["Sent"] = "S";
@@ -346,6 +333,19 @@ const MessageQueueStates = [
346
333
  { name: 'Failed', value: MessageQueueState.Failed }
347
334
  ];
348
335
 
336
+ var EmailMessageQueueFormat;
337
+ (function (EmailMessageQueueFormat) {
338
+ EmailMessageQueueFormat["Text"] = "T";
339
+ EmailMessageQueueFormat["HTML"] = "H";
340
+ EmailMessageQueueFormat["RichText"] = "R";
341
+ })(EmailMessageQueueFormat || (EmailMessageQueueFormat = {}));
342
+
343
+ var MessageQueueType;
344
+ (function (MessageQueueType) {
345
+ MessageQueueType["Sms"] = "S";
346
+ MessageQueueType["Email"] = "E";
347
+ })(MessageQueueType || (MessageQueueType = {}));
348
+
349
349
  let QueueComponent = class QueueComponent {
350
350
  constructor(_config, _message, _prompt, _dialog, _data) {
351
351
  this._config = _config;
@@ -361,7 +361,7 @@ let QueueComponent = class QueueComponent {
361
361
  this.messageQueueStates = indexNameValue(MessageQueueStates);
362
362
  this.resendMessageQueue = this._config.resendMessageQueue;
363
363
  this.forwardMessageQueue = this._config.forwardMessageQueue;
364
- this._config.loadMessageQueue(this._data.messageQueue.id)
364
+ this._config.loadMessageQueue(this._data.messageQueueId)
365
365
  .subscribe((messageQueue) => {
366
366
  this.messageQueue = messageQueue;
367
367
  if (this.messageQueue.emailMessageQueue) {
@@ -517,10 +517,35 @@ QueueComponent = __decorate([
517
517
  MatDialog, Object])
518
518
  ], QueueComponent);
519
519
 
520
+ let FsMessageQueueService = class FsMessageQueueService {
521
+ constructor(_dialog) {
522
+ this._dialog = _dialog;
523
+ this._destroy$ = new Subject();
524
+ }
525
+ openMessageQueue(messageQueueId, options = {}) {
526
+ return this._dialog.open(QueueComponent, Object.assign(Object.assign({}, options), { data: {
527
+ messageQueueId,
528
+ }, width: options.width || '85%' })).afterClosed()
529
+ .pipe(takeUntil(this._destroy$));
530
+ }
531
+ ngOnDestroy() {
532
+ this._destroy$.next();
533
+ this._destroy$.complete();
534
+ }
535
+ };
536
+ FsMessageQueueService.ctorParameters = () => [
537
+ { type: MatDialog }
538
+ ];
539
+ FsMessageQueueService = __decorate([
540
+ Injectable(),
541
+ __metadata("design:paramtypes", [MatDialog])
542
+ ], FsMessageQueueService);
543
+
520
544
  let QueuesComponent = class QueuesComponent {
521
- constructor(_config, _dialog) {
545
+ constructor(_config, _dialog, _messageQueueService) {
522
546
  this._config = _config;
523
547
  this._dialog = _dialog;
548
+ this._messageQueueService = _messageQueueService;
524
549
  this.list = null;
525
550
  this.query = {};
526
551
  this.config = null;
@@ -608,13 +633,7 @@ let QueuesComponent = class QueuesComponent {
608
633
  });
609
634
  }
610
635
  open(messageQueue) {
611
- this._dialog.open(QueueComponent, {
612
- data: {
613
- messageQueue: messageQueue,
614
- },
615
- width: '85%'
616
- })
617
- .afterClosed()
636
+ this._messageQueueService.openMessageQueue(messageQueue.id)
618
637
  .pipe(takeUntil(this._destroy$))
619
638
  .subscribe(() => {
620
639
  this.list.reload();
@@ -627,7 +646,8 @@ let QueuesComponent = class QueuesComponent {
627
646
  };
628
647
  QueuesComponent.ctorParameters = () => [
629
648
  { type: undefined, decorators: [{ type: Inject, args: [FS_APP_MESSAGE_CONFIG,] }] },
630
- { type: MatDialog }
649
+ { type: MatDialog },
650
+ { type: FsMessageQueueService }
631
651
  ];
632
652
  __decorate([
633
653
  ViewChild(FsListComponent, { static: true }),
@@ -644,9 +664,36 @@ QueuesComponent = __decorate([
644
664
  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}"]
645
665
  }),
646
666
  __param(0, Inject(FS_APP_MESSAGE_CONFIG)),
647
- __metadata("design:paramtypes", [Object, MatDialog])
667
+ __metadata("design:paramtypes", [Object, MatDialog,
668
+ FsMessageQueueService])
648
669
  ], QueuesComponent);
649
670
 
671
+ let RecipientComponent = class RecipientComponent {
672
+ ngOnInit() {
673
+ const icons = {
674
+ 'S': { name: 'check_circle', tooltip: 'Sent' },
675
+ 'E': { name: 'offline_bolt', tooltip: 'Sending' },
676
+ 'F': { name: 'info', tooltip: 'Failed' },
677
+ };
678
+ this.icon = icons[this.state];
679
+ }
680
+ };
681
+ __decorate([
682
+ Input(),
683
+ __metadata("design:type", Object)
684
+ ], RecipientComponent.prototype, "name", void 0);
685
+ __decorate([
686
+ Input(),
687
+ __metadata("design:type", Object)
688
+ ], RecipientComponent.prototype, "state", void 0);
689
+ RecipientComponent = __decorate([
690
+ Component({
691
+ selector: 'app-recipient',
692
+ 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>",
693
+ 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}"]
694
+ })
695
+ ], RecipientComponent);
696
+
650
697
  let LinkifyPipe = class LinkifyPipe {
651
698
  transform(value) {
652
699
  return anchorme(value, {
@@ -680,32 +727,6 @@ TruncatePipe = __decorate([
680
727
  })
681
728
  ], TruncatePipe);
682
729
 
683
- let RecipientComponent = class RecipientComponent {
684
- ngOnInit() {
685
- const icons = {
686
- 'S': { name: 'check_circle', tooltip: 'Sent' },
687
- 'E': { name: 'offline_bolt', tooltip: 'Sending' },
688
- 'F': { name: 'info', tooltip: 'Failed' },
689
- };
690
- this.icon = icons[this.state];
691
- }
692
- };
693
- __decorate([
694
- Input(),
695
- __metadata("design:type", Object)
696
- ], RecipientComponent.prototype, "name", void 0);
697
- __decorate([
698
- Input(),
699
- __metadata("design:type", Object)
700
- ], RecipientComponent.prototype, "state", void 0);
701
- RecipientComponent = __decorate([
702
- Component({
703
- selector: 'app-recipient',
704
- 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>",
705
- 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}"]
706
- })
707
- ], RecipientComponent);
708
-
709
730
  let FsAppMessageQueuesModule = class FsAppMessageQueuesModule {
710
731
  };
711
732
  FsAppMessageQueuesModule = __decorate([
@@ -740,6 +761,9 @@ FsAppMessageQueuesModule = __decorate([
740
761
  exports: [
741
762
  QueuesComponent,
742
763
  QueueComponent,
764
+ ],
765
+ providers: [
766
+ FsMessageQueueService
743
767
  ]
744
768
  })
745
769
  ], FsAppMessageQueuesModule);
@@ -1021,5 +1045,5 @@ FsAppMessageModule = FsAppMessageModule_1 = __decorate([
1021
1045
  * Generated bundle index. Do not edit.
1022
1046
  */
1023
1047
 
1024
- 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 };
1048
+ 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 };
1025
1049
  //# sourceMappingURL=firestitch-app-message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"firestitch-app-message.js","sources":["ng://@firestitch/app-message/app/modules/messages/enums/email-message-format.enum.ts","ng://@firestitch/app-message/app/modules/messages/consts/email-message-formats.const.ts","ng://@firestitch/app-message/app/modules/message-preview/components/preview/preview.component.ts","ng://@firestitch/app-message/app/modules/app-message/injectors/app-message-config.injector.ts","ng://@firestitch/app-message/app/modules/messages/components/message/message.component.ts","ng://@firestitch/app-message/app/helpers/index-name-value.ts","ng://@firestitch/app-message/app/modules/messages/components/messages/messages.component.ts","ng://@firestitch/app-message/app/modules/message-preview/message-preview.module.ts","ng://@firestitch/app-message/app/modules/messages/messages.module.ts","ng://@firestitch/app-message/app/modules/message-queues/enums/email-message-queue-format.enum.ts","ng://@firestitch/app-message/app/modules/message-queues/enums/message-queue-type.enum.ts","ng://@firestitch/app-message/app/modules/message-queues/enums/message-queue-state.enum.ts","ng://@firestitch/app-message/app/modules/message-queues/consts/message-queue-states.const.ts","ng://@firestitch/app-message/app/modules/message-queues/components/queue/queue.component.ts","ng://@firestitch/app-message/app/modules/message-queues/components/queues/queues.component.ts","ng://@firestitch/app-message/app/modules/message-queues/pipes/linkify.pipe.ts","ng://@firestitch/app-message/app/modules/message-queues/pipes/truncate.pipe.ts","ng://@firestitch/app-message/app/modules/message-queues/components/recipient/recipient.component.ts","ng://@firestitch/app-message/app/modules/message-queues/message-queues.module.ts","ng://@firestitch/app-message/app/modules/message-templates/components/template/template.component.ts","ng://@firestitch/app-message/app/modules/message-templates/components/templates/templates.component.ts","ng://@firestitch/app-message/app/modules/message-templates/message-templates.module.ts","ng://@firestitch/app-message/app/modules/webhooks/components/webhooks/webhooks.component.ts","ng://@firestitch/app-message/app/modules/webhooks/webhooks.module.ts","ng://@firestitch/app-message/app/modules/app-message/app-message.module.ts","ng://@firestitch/app-message/public_api.ts","ng://@firestitch/app-message/firestitch-app-message.ts"],"sourcesContent":["export enum EmailMessageFormat {\n Text = 'T',\n HTML = 'H',\n RichText = 'R'\n}\n","\nimport { EmailMessageFormat } from '../enums';\n\nexport const EmailMessageFormats = [\n { name: 'Text', value: EmailMessageFormat.Text },\n { name: 'HTML', value: EmailMessageFormat.HTML },\n { name: 'Rich Text', value: EmailMessageFormat.RichText }\n];\n","import { Component, OnInit, Inject } from '@angular/core';\n\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n\n@Component({\n templateUrl: './preview.component.html',\n styleUrls: ['./preview.component.scss']\n})\nexport class PreviewComponent implements OnInit {\n\n public html;\n public styles;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data,\n ) {\n this.html = _data.html;\n this.styles = _data.styles;\n }\n\n public ngOnInit() {\n\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FS_APP_MESSAGE_ROOT_CONFIG = new InjectionToken<any[]>('fs-app-message-root-config');\nexport const FS_APP_MESSAGE_CONFIG = new InjectionToken<any[]>('fs-app-message-config');\n","import { Component, OnInit, Inject, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\n\nimport { MatTabChangeEvent } from '@angular/material/tabs';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsPrompt } from '@firestitch/prompt';\n\nimport { switchMap, tap } from 'rxjs/operators';\n\nimport { EmailMessageFormats } from '../../consts';\nimport { EmailMessageFormat } from '../../enums';\nimport { PreviewComponent } from '../../../../modules/message-preview/components';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\nimport { of } from 'rxjs';\n\n\n@Component({\n templateUrl: './message.component.html',\n styleUrls: ['./message.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MessageComponent implements OnInit {\n\n public message;\n public tab;\n public messageTemplates = [];\n public emailMessageFormats = EmailMessageFormats;\n public emailMessageFormat = EmailMessageFormat;\n\n public constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n @Inject(MAT_DIALOG_DATA) private _data,\n private _prompt: FsPrompt,\n private _message: FsMessage,\n private _dialog: MatDialog,\n private _cdRef: ChangeDetectorRef,\n ) {\n }\n\n public ngOnInit() {\n this._config.loadMessage(this._data.message)\n .subscribe((response) => {\n this.message = response;\n\n if (this.message.emailMessage && this.message.emailMessage.customize === undefined) {\n this.message.emailMessage.customize = true;\n }\n if (this.message.smsMessage && this.message.smsMessage.customize === undefined) {\n this.message.smsMessage.customize = true;\n }\n\n this._cdRef.markForCheck();\n });\n\n this._config.loadMessageTemplates()\n .subscribe((data) => {\n this.messageTemplates = data.data;\n this._cdRef.markForCheck();\n });\n }\n\n public tabChange(event: MatTabChangeEvent) {\n switch (event.tab.textLabel) {\n case 'SMS Message':\n this.tab = 'sms';\n break;\n case 'Email Message':\n this.tab = 'email';\n break;\n default:\n this.tab = null;\n }\n }\n\n public save = () => {\n return this._config.saveMessage(this.message)\n .pipe(\n tap(() => {\n this._message.success('Saved Changes');\n })\n );\n }\n\n public openPreview(): void {\n let html = this.message.emailMessage.body;\n let styles = this.message.emailMessage.styles;\n\n if (this.message.emailMessage.messageTemplateId) {\n const messageTemplate = this.messageTemplates\n .find((item) => {\n return this.message.emailMessage.messageTemplateId === item.id;\n });\n\n if (messageTemplate) {\n html = messageTemplate.content.replace('{$content}', html);\n styles = messageTemplate.styles.concat(styles);\n }\n }\n\n this._dialog.open(PreviewComponent, {\n data: {\n styles,\n html,\n },\n width: '95%'\n });\n }\n\n public sendTest(type) {\n of(true)\n .pipe(\n switchMap(() => {\n return type === 'email' ? this._config.getTestEmail() : of('');\n }),\n switchMap((default_) => { \n const typeName = type === 'email' ? 'an email' : 'phone number';\n \n return this._prompt.input({\n label: `Please enter ${typeName} to send test to`,\n title: 'Send Test',\n commitLabel: 'Send',\n default: default_,\n required: true\n })\n })\n )\n .subscribe((value: string) => {\n this._config.testMessage(this.message, value, type)\n .subscribe(() => {\n this._message.success('Test Sent');\n });\n });\n }\n}\n","\nexport function indexNameValue(arry) {\n const obj = {};\n arry.forEach(item => {\n obj[item.value] = item.name;\n });\n\n return obj;\n}\n","import { Component, Inject, OnDestroy, OnInit, ViewChild } from '@angular/core';\n\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { takeUntil, map } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\nimport { ItemType } from '@firestitch/filter';\n\nimport { MessageComponent } from '../message';\nimport { EmailMessageFormats } from '../../consts';\nimport { indexNameValue } from '../../../../helpers';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\n\n@Component({\n selector: 'fs-app-messages',\n templateUrl: './messages.component.html'\n})\nexport class MessagesComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsListComponent, { static: true })\n public list: FsListComponent = null;\n\n public config: FsListConfig = null;\n public emailMessageFormats = {};\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _dialog: MatDialog,\n ) { }\n\n public ngOnInit(): void {\n this.emailMessageFormats = indexNameValue(EmailMessageFormats);\n\n this.config = {\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search'\n }\n ],\n\n fetch: query => {\n return this._config.loadMessages(query)\n .pipe(\n map(response => {\n return ({ data: response.data, paging: response.paging })\n })\n );\n }\n }\n }\n\n public open(message) {\n const dialogRef = this._dialog.open(MessageComponent, {\n data: {\n message: message,\n },\n width: '85%'\n });\n\n dialogRef.afterClosed()\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe((response) => {\n if (response) {\n this.list.updateData(\n response,\n (row: any) => {\n return row.id === response.id;\n });\n }\n })\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { FsIFrameModule } from '@firestitch/iframe';\nimport { FsDialogModule } from '@firestitch/dialog';\n\nimport { PreviewComponent } from './components/preview';\n\n\n@NgModule({\n imports: [\n MatDialogModule,\n MatButtonModule,\n\n FsDialogModule,\n FsIFrameModule,\n ],\n declarations: [\n PreviewComponent,\n ],\n exports: [\n PreviewComponent,\n ]\n})\nexport class FsAppMessagePreviewModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsListModule } from '@firestitch/list';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FormsModule } from '@angular/forms';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\nimport { FsEditorRichTextModule } from '@firestitch/editor';\n\nimport { MessagesComponent } from './components/messages/messages.component';\nimport { MessageComponent } from './components/message/message.component';\nimport { FsAppMessagePreviewModule } from '../message-preview/message-preview.module';\n\n@NgModule({\n imports: [\n RouterModule,\n CommonModule,\n FormsModule,\n\n MatDialogModule,\n MatButtonModule,\n MatTabsModule,\n MatFormFieldModule,\n MatInputModule,\n MatOptionModule,\n MatSelectModule,\n MatTooltipModule,\n MatCheckboxModule,\n\n FsDialogModule,\n FsListModule,\n FsLabelModule,\n FlexLayoutModule,\n FsSkeletonModule,\n FsFormModule,\n FsTextEditorModule,\n FsEditorRichTextModule,\n\n FsAppMessagePreviewModule,\n ],\n declarations: [\n MessagesComponent,\n MessageComponent,\n ],\n exports: [\n MessagesComponent,\n MessageComponent,\n ],\n})\nexport class FsAppMessagesModule {}\n","export enum EmailMessageQueueFormat {\n Text = 'T',\n HTML = 'H',\n RichText = 'R'\n}\n","export enum MessageQueueType {\n Sms = 'S',\n Email = 'E'\n}\n","export enum MessageQueueState {\n Sent = 'S',\n PartiallySent = 'P',\n Sending = 'E',\n Queued = 'Q',\n Canceled = 'C',\n InvalidRecipients = 'I',\n Failed = 'F'\n}","import { MessageQueueState } from '../enums/message-queue-state.enum';\n\n\nexport const MessageQueueStates = [\n { name: 'Sent', value: MessageQueueState.Sent },\n { name: 'Partially Sent', value: MessageQueueState.PartiallySent },\n { name: 'Sending', value: MessageQueueState.Sending },\n { name: 'Queued', value: MessageQueueState.Queued },\n { name: 'Canceled', value: MessageQueueState.Canceled },\n { name: 'Invalid Recipients', value: MessageQueueState.InvalidRecipients },\n { name: 'Failed', value: MessageQueueState.Failed }\n];\n","import {\n Component, OnInit, Inject, OnDestroy, ViewChild,\n} from '@angular/core';\n\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsPrompt } from '@firestitch/prompt';\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\n\nimport { map } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\nimport anchorme from 'anchorme';\n\nimport { EmailMessageQueueFormat } from '../../enums';\nimport { MessageQueueStates } from '../../consts';\nimport { indexNameValue } from '../../../../helpers';\nimport { MessageComponent } from '../../../../modules/messages/components';\nimport { MessageQueueType } from '../../enums';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\nimport { ResendMessageQueue, ForwardMessageQueue, LoadMessage } from '../../../app-message/types';\n\n\n@Component({\n templateUrl: './queue.component.html',\n styleUrls: ['./queue.component.scss'],\n})\nexport class QueueComponent implements OnInit, OnDestroy {\n\n @ViewChild('logList')\n public logList: FsListComponent;\n\n public messageQueue;\n public loadMessage: LoadMessage;\n public resendMessageQueue: ResendMessageQueue;\n public forwardMessageQueue: ForwardMessageQueue;\n public messageQueueRecipients = {};\n public emailMessageQueueFormat = EmailMessageQueueFormat;\n public messageQueueStates;\n public logConfig: FsListConfig;\n public attachmentConfig: FsListConfig;\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _message: FsMessage,\n private _prompt: FsPrompt,\n private _dialog: MatDialog,\n @Inject(MAT_DIALOG_DATA) private _data,\n ) {\n }\n\n public ngOnInit() {\n this.messageQueueStates = indexNameValue(MessageQueueStates);\n this.resendMessageQueue = this._config.resendMessageQueue;\n this.forwardMessageQueue = this._config.forwardMessageQueue;\n\n this._config.loadMessageQueue(this._data.messageQueue.id)\n .subscribe((messageQueue) => {\n this.messageQueue = messageQueue;\n\n if (this.messageQueue.emailMessageQueue) {\n let body = this.messageQueue.emailMessageQueue.body;\n if (this.messageQueue.emailMessageQueue.format === EmailMessageQueueFormat.HTML) {\n try {\n const doc = new DOMParser().parseFromString(body, 'text/html');\n\n doc.querySelectorAll('a').forEach((el) => {\n el.setAttribute('target', '_blank');\n });\n\n body = doc.documentElement.innerHTML;\n\n } catch (e) {\n }\n } else {\n body = this.anchorme(body);\n }\n\n this.messageQueue.emailMessageQueue.body = body;\n }\n\n if (this.messageQueue.smsMessageQueue) {\n this.messageQueue.smsMessageQueue.body = this.anchorme(this.messageQueue.smsMessageQueue.body);\n }\n\n this.messageQueueRecipients = this.messageQueue.messageQueueRecipients\n .reduce((accum, messageQueueRecipient) => {\n accum[messageQueueRecipient.recipient] = messageQueueRecipient.state;\n\n return accum;\n }, {});\n\n this._setLogsConfig(messageQueue);\n this._setAttachmentsConfig(messageQueue);\n });\n }\n\n public anchorme(html) {\n return anchorme(html, {\n options: {\n attributes: [\n {\n name: 'target',\n value: '_blank'\n },\n ],\n },\n });\n }\n\n public openMessage(message) {\n this._dialog.open(MessageComponent, {\n data: {\n message: message,\n },\n width: '85%'\n });\n }\n\n public resend() {\n this._prompt.confirm({\n title: 'Confirm',\n template: 'Are you sure you would like to resend this message?'\n }).subscribe(() => {\n this.resendMessageQueue(this.messageQueue)\n .subscribe(messageQueue => {\n Object.assign(this.messageQueue, messageQueue);\n this._message.success('Successfully resent');\n\n if (this.logList) {\n this.logList.reload();\n }\n });\n });\n }\n\n public forward() {\n const typeName = this.messageQueue.type === MessageQueueType.Email ? 'an email' : 'a phone number';\n\n this._prompt.input({\n label: `Please enter ${typeName} to forward to`,\n title: 'Forward Message',\n commitLabel: 'Forward',\n required: true\n }).subscribe((value: string) => {\n if (value) {\n this.forwardMessageQueue(this.messageQueue, value)\n .subscribe(messageQueue => {\n this.messageQueue = {\n ...this.messageQueue,\n messageQueue,\n };\n this._message.success('Successfully forwarded');\n\n if (this.logList) {\n this.logList.reload();\n }\n });\n }\n });\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _setLogsConfig(messageQueue) {\n this.logConfig = {\n loadMore: true,\n queryParam: false,\n fetch: query => {\n return this._config.loadLogs(messageQueue, query);\n }\n }\n }\n\n private _setAttachmentsConfig(messageQueue) {\n this.attachmentConfig = {\n queryParam: false,\n fetch: query => {\n return this._config.loadMessageQueueAttachments(messageQueue, query)\n .pipe(\n map(response => ({\n data: response.data.map(value => {\n value.prettyFilesize = this._prettyFilesize(value.filesize);\n return value;\n }), paging: response.paging\n }))\n );\n }\n };\n\n if (this._config.downloadMessageQueueAttachment) {\n this.attachmentConfig.rowActions = [\n {\n click: (messageAttachment) => {\n this._config.downloadMessageQueueAttachment(messageAttachment, this.messageQueue);\n },\n label: 'Download',\n }\n ];\n }\n }\n\n private _prettyFilesize(bytes) {\n if (bytes === 0) { return '0.00 B'; }\n const e = Math.floor(Math.log(bytes) / Math.log(1024));\n return (bytes / Math.pow(1024, e)).toFixed(2) + ' ' + ' KMGTP'.charAt(e) + 'B';\n }\n}\n","import { Component, Inject, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\n\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { takeUntil, map, switchMap, tap } from 'rxjs/operators';\nimport { Subject, of } from 'rxjs';\n\nimport { FsListActionSelected, FsListComponent, FsListConfig } from '@firestitch/list';\nimport { ItemType } from '@firestitch/filter';\nimport { SelectionActionType } from '@firestitch/selection';\n\nimport { QueueComponent } from '../queue';\nimport { MessageQueueStates } from '../../consts';\nimport { indexNameValue } from '../../../../helpers';\nimport { MessageQueueState } from '../../enums/message-queue-state.enum';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\n\n\n@Component({\n selector: 'fs-app-message-queues',\n styleUrls: ['./queues.component.scss'],\n templateUrl: './queues.component.html'\n})\nexport class QueuesComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsListComponent, { static: true })\n public list: FsListComponent = null;\n\n @Input() public query = {};\n\n public config: FsListConfig = null;\n public messageQueueStates = {};\n public MessageQueueState = MessageQueueState;\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig, \n private _dialog: MatDialog,\n ) { }\n\n public ngOnInit() {\n this.messageQueueStates = indexNameValue(MessageQueueStates);\n\n this.config = {\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search'\n },\n {\n name: 'state',\n type: ItemType.Select,\n label: 'Status',\n values: () => {\n return MessageQueueStates;\n }\n },\n {\n name: 'date',\n type: ItemType.DateRange,\n label: ['From Date', 'To Date'],\n },\n ],\n sort: { value: 'created_date', direction: 'desc' },\n fetch: query => {\n query = {\n ...query,\n ...this.query,\n messageQueueAttachmentCounts: true,\n emailMessageQueues: true,\n emailMessageQueueBodies: false,\n smsMessageQueues: true,\n };\n\n return this._config.loadMessageQueues(query)\n .pipe(\n map(response => ({ data: response.data\n .map((messageQueue) => { \n return {\n ...messageQueue,\n messageQueueRecipients: messageQueue.messageQueueRecipients\n .reduce((accum, messageQueueRecipient) => {\n accum[messageQueueRecipient.recipient] = messageQueueRecipient.state;\n\n return accum;\n }, {}),\n };\n }), paging: response.paging }))\n )\n }\n };\n\n // if any bulk actions add the selection object to config.\n if (this._config.cancelMessageQueues) {\n this.config.selection = {\n selectAll: false,\n actions: [\n ],\n actionSelected: (action: FsListActionSelected) => {\n return of(true)\n .pipe(\n switchMap(() => {\n if (action.action.name === 'cancel') {\n return this._config.cancelMessageQueues(action);\n }\n\n return of(true);\n }),\n tap(() => {\n this.list.reload();\n }),\n );\n }\n };\n }\n\n // add each individual bulk action to select actions\n if (this._config.cancelMessageQueues) {\n this.config.selection.actions.push({\n type: SelectionActionType.Action,\n name: 'cancel',\n label: 'Cancel Queued',\n });\n }\n\n this.config.filters.push({\n name: 'message_id',\n type: ItemType.Select,\n label: 'Message Type',\n values: (query) => {\n query = { \n ...query,\n limit: 50,\n };\n\n return this._config.loadMessages(query)\n .pipe(\n map((response) => {\n return [\n { value: null, name: 'All', },\n ...response.data.map((item) => ({ name: item.name, value: item.id })),\n ];\n })\n )\n }\n });\n }\n\n public open(messageQueue) {\n this._dialog.open(QueueComponent, {\n data: {\n messageQueue: messageQueue,\n },\n width: '85%'\n })\n .afterClosed()\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe(() => {\n this.list.reload();\n });\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport anchorme from 'anchorme';\n\n\n@Pipe({name: 'linkify'})\nexport class LinkifyPipe implements PipeTransform {\n transform(value: string): string {\n return anchorme(value, {\n attributes: [\n {\n name: 'target',\n value: '_blank'\n },\n ]\n });\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'truncate'\n})\nexport class TruncatePipe implements PipeTransform {\ntransform(value: string, limit = 25, completeWords = false, ellipsis = '...') {\n\n if (value.length < limit) {\n return `${value.substr(0, limit)}`;\n }\n\n if (completeWords) {\n limit = value.substr(0, limit).lastIndexOf(' ');\n }\n return `${value.substr(0, limit)}${ellipsis}`;\n}\n}\n","import {\n Component, Input, OnInit,\n} from '@angular/core';\n\n\n\n@Component({\n selector: 'app-recipient',\n templateUrl: './recipient.component.html',\n styleUrls: ['./recipient.component.scss'],\n})\nexport class RecipientComponent implements OnInit {\n \n @Input() name;\n @Input() state;\n \n public icon;\n\n public ngOnInit(): void {\n \n const icons = {\n 'S': { name: 'check_circle', tooltip: 'Sent' },\n 'E': { name: 'offline_bolt', tooltip: 'Sending' },\n 'F': { name: 'info', tooltip: 'Failed' },\n }\n\n this.icon = icons[this.state];\n }\n\n}\n","import { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsListModule } from '@firestitch/list';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsDateModule } from '@firestitch/date';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsIFrameModule } from '@firestitch/iframe';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsPromptInputModule } from '@firestitch/prompt';\n\nimport { FsAppMessagesModule } from '../messages/messages.module';\nimport { QueuesComponent } from './components/queues/queues.component';\nimport { QueueComponent } from './components/queue/queue.component';\nimport { LinkifyPipe } from './pipes/linkify.pipe';\nimport { TruncatePipe } from './pipes/truncate.pipe';\nimport { RecipientComponent } from './components';\n\n\n@NgModule({\n imports: [\n RouterModule,\n FormsModule,\n CommonModule,\n\n FlexLayoutModule,\n\n MatTooltipModule,\n MatDialogModule,\n MatButtonModule,\n MatIconModule,\n MatTabsModule,\n\n FsListModule,\n FsDialogModule,\n FsLabelModule,\n FsDateModule,\n FsSkeletonModule,\n FsAppMessagesModule,\n FsFormModule,\n FsPromptInputModule,\n FsIFrameModule,\n ],\n declarations: [\n QueuesComponent,\n QueueComponent,\n LinkifyPipe,\n TruncatePipe,\n RecipientComponent,\n ],\n exports: [\n QueuesComponent,\n QueueComponent,\n ]\n})\nexport class FsAppMessageQueuesModule {}\n","import { Component, OnInit, Inject } from '@angular/core';\n\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\n\nimport { tap } from 'rxjs/operators';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsTextEditorConfig } from '@firestitch/text-editor';\nimport { SubmitEvent } from '@firestitch/form';\n\nimport { PreviewComponent } from '../../../../modules/message-preview/components';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\n\n\n@Component({\n templateUrl: './template.component.html',\n styleUrls: ['./template.component.scss']\n})\nexport class TemplateComponent implements OnInit {\n\n public messageTemplate;\n public htmlEditorconfig: FsTextEditorConfig = {\n language: 'html',\n insertSpaces: true,\n tabSize: 2,\n };\n\n public cssEditorconfig: FsTextEditorConfig = {\n language: 'scss',\n insertSpaces: true,\n tabSize: 2,\n };\n\n public constructor(\n @Inject(MAT_DIALOG_DATA) private _data,\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _dialogRef: MatDialogRef<TemplateComponent>,\n private _message: FsMessage,\n private _dialog: MatDialog,\n ) {\n }\n\n public ngOnInit(): void {\n if (this._data.messageTemplate.id) {\n this._config.loadMessageTemplate(this._data.messageTemplate)\n .subscribe(messageTemplate => {\n this.messageTemplate = messageTemplate;\n });\n } else {\n this.messageTemplate = {};\n }\n }\n\n public openPreview() {\n this._dialog.open(PreviewComponent, {\n data: {\n styles: this.messageTemplate.styles,\n html: this.messageTemplate.content,\n },\n width: '95%'\n });\n }\n\n public save = (event: SubmitEvent) => {\n return this._config.saveMessageTemplate(this.messageTemplate)\n .pipe(\n tap(messageTemplate => {\n this._message.success('Saved Changes');\n if (event.submitter === 'save-close') {\n this._dialogRef.close(messageTemplate);\n }\n })\n );\n }\n}\n","import { Component, OnDestroy, OnInit, ViewChild, Inject } from '@angular/core';\n\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\n\nimport { MatDialog } from '@angular/material/dialog';\nimport { TemplateComponent } from '../template';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\n\n\n@Component({\n selector: 'fs-app-message-templates',\n templateUrl: './templates.component.html'\n})\nexport class TemplatesComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsListComponent, { static: true }) \n public list: FsListComponent = null;\n\n public config: FsListConfig = null;\n public messageQueueStates = [];\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _dialog: MatDialog\n ) { }\n\n public ngOnInit(): void {\n this.config = {\n actions: [\n {\n label: 'Create',\n click: () => {\n this.open({});\n }\n }\n ],\n status: false,\n fetch: query => {\n return this._config.loadMessageTemplates(query);\n }\n }\n\n if (this._config.deleteMessageTemplate) {\n this.config.rowActions = [\n {\n click: data => {\n return this._config.deleteMessageTemplate(data);\n },\n remove: {\n title: 'Confirm',\n template: 'Are you sure you would like to delete this template?',\n },\n menu: true,\n label: 'Delete'\n }\n ];\n }\n }\n\n public open(messageTemplate) {\n const dialogRef = this._dialog.open(TemplateComponent, {\n data: {\n messageTemplate: messageTemplate,\n },\n width: '85%'\n });\n\n dialogRef.afterClosed()\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe((response) => {\n if (response) {\n const update = this.list.updateData(\n response,\n (row: any) => {\n return row.id === response.id;\n });\n\n if (!update) {\n this.list.reload();\n }\n }\n })\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsListModule } from '@firestitch/list';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\n\nimport { TemplatesComponent } from './components/templates/templates.component';\nimport { TemplateComponent } from './components/template/template.component';\n\nimport { FsAppMessagePreviewModule } from '../message-preview/message-preview.module';\n\n\n@NgModule({\n imports: [\n RouterModule,\n CommonModule,\n FormsModule,\n\n MatTooltipModule,\n MatDialogModule,\n MatButtonModule,\n MatTabsModule,\n MatFormFieldModule,\n MatFormFieldModule,\n MatInputModule,\n\n FsListModule,\n FsDialogModule,\n FsLabelModule,\n FlexLayoutModule,\n FsSkeletonModule,\n FsFormModule,\n FsTextEditorModule,\n\n FsAppMessagePreviewModule,\n ],\n declarations: [\n TemplatesComponent,\n TemplateComponent,\n ],\n exports: [\n TemplatesComponent,\n TemplateComponent,\n ],\n})\nexport class FsAppMessageTemplatesModule {\n}\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\n\r\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\r\nimport { FsMessage } from '@firestitch/message';\r\n\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\r\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\r\n\r\n\r\n@Component({\r\n selector: 'fs-app-message-webhooks',\r\n templateUrl: './webhooks.component.html',\r\n})\r\nexport class WebhooksComponent implements OnInit {\r\n\r\n @ViewChild(FsListComponent)\r\n public list: FsListComponent;\r\n\r\n public listConfig: FsListConfig;\r\n\r\n constructor(\r\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\r\n private _message: FsMessage,\r\n ) {}\r\n\r\n public ngOnInit(): void {\r\n this.listConfig = {\r\n paging: false,\r\n actions: [\r\n {\r\n click: () => {\r\n this._config.createWebhook()\r\n .subscribe(() => {\r\n this._message.success('Created webhook');\r\n this.list.reload();\r\n });\r\n },\r\n label: 'Create',\r\n },\r\n ],\r\n rowActions: [\r\n {\r\n click: (webhook) => {\r\n this._config.deleteWebhook(webhook)\r\n .subscribe(() => {\r\n this._message.success('Deleted webhook');\r\n this.list.reload();\r\n });\r\n },\r\n label: 'Delete',\r\n },\r\n ],\r\n fetch: () => {\r\n return this._config.loadWebhooks()\r\n .pipe(\r\n map((webhooks) => ({ data: webhooks })),\r\n );\r\n },\r\n };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { FsDateModule } from '@firestitch/date';\n\nimport { FsListModule } from '@firestitch/list';\n\nimport { WebhooksComponent } from './components/webhooks/webhooks.component';\n\n@NgModule({\n imports: [\n FsListModule,\n\n FsDateModule,\n ],\n declarations: [\n WebhooksComponent,\n ],\n exports: [\n WebhooksComponent,\n ],\n})\nexport class FsAppMessageWebhooksModule {}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\n\n@NgModule({\n})\nexport class FsAppMessageModule {\n static forRoot(): ModuleWithProviders<FsAppMessageModule> {\n return {\n ngModule: FsAppMessageModule,\n };\n }\n}\n","/*\n * Public API Surface of fs-menu\n */\n\nexport { FsAppMessagesModule } from './app/modules/messages/messages.module';\nexport { FsAppMessageQueuesModule } from './app/modules/message-queues/message-queues.module';\nexport { FsAppMessageTemplatesModule } from './app/modules/message-templates/message-templates.module';\nexport { FsAppMessageWebhooksModule } from './app/modules/webhooks/webhooks.module';\nexport { FsAppMessageModule } from './app/modules/app-message/app-message.module';\n\nexport { MessagesComponent } from './app/modules/messages/components/messages/messages.component';\nexport { MessageComponent } from './app/modules/messages/components/message/message.component';\nexport { QueuesComponent } from './app/modules/message-queues/components/queues/queues.component';\nexport { QueueComponent } from './app/modules/message-queues/components/queue/queue.component';\nexport { TemplatesComponent } from './app/modules/message-templates/components/templates/templates.component';\n\nexport { FsAppMessageConfig } from './app/modules/app-message/interfaces';\n\nexport { FS_APP_MESSAGE_CONFIG } from './app/modules/app-message/injectors/app-message-config.injector';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {FS_APP_MESSAGE_CONFIG as ɵc} from './app/modules/app-message/injectors';\nexport {PreviewComponent as ɵb} from './app/modules/message-preview/components/preview';\nexport {FsAppMessagePreviewModule as ɵa} from './app/modules/message-preview/message-preview.module';\nexport {RecipientComponent as ɵf} from './app/modules/message-queues/components';\nexport {LinkifyPipe as ɵd} from './app/modules/message-queues/pipes/linkify.pipe';\nexport {TruncatePipe as ɵe} from './app/modules/message-queues/pipes/truncate.pipe';\nexport {TemplateComponent as ɵg} from './app/modules/message-templates/components/template/template.component';\nexport {WebhooksComponent as ɵh} from './app/modules/webhooks/components/webhooks/webhooks.component';"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firestitch-app-message.js","sources":["ng://@firestitch/app-message/app/modules/messages/enums/email-message-format.enum.ts","ng://@firestitch/app-message/app/modules/messages/consts/email-message-formats.const.ts","ng://@firestitch/app-message/app/modules/message-preview/components/preview/preview.component.ts","ng://@firestitch/app-message/app/modules/app-message/injectors/app-message-config.injector.ts","ng://@firestitch/app-message/app/modules/messages/components/message/message.component.ts","ng://@firestitch/app-message/app/helpers/index-name-value.ts","ng://@firestitch/app-message/app/modules/messages/components/messages/messages.component.ts","ng://@firestitch/app-message/app/modules/message-preview/message-preview.module.ts","ng://@firestitch/app-message/app/modules/messages/messages.module.ts","ng://@firestitch/app-message/app/modules/message-queues/enums/message-queue-state.enum.ts","ng://@firestitch/app-message/app/modules/message-queues/consts/message-queue-states.const.ts","ng://@firestitch/app-message/app/modules/message-queues/enums/email-message-queue-format.enum.ts","ng://@firestitch/app-message/app/modules/message-queues/enums/message-queue-type.enum.ts","ng://@firestitch/app-message/app/modules/message-queues/components/queue/queue.component.ts","ng://@firestitch/app-message/app/modules/message-queues/services/message-queue.service.ts","ng://@firestitch/app-message/app/modules/message-queues/components/queues/queues.component.ts","ng://@firestitch/app-message/app/modules/message-queues/components/recipient/recipient.component.ts","ng://@firestitch/app-message/app/modules/message-queues/pipes/linkify.pipe.ts","ng://@firestitch/app-message/app/modules/message-queues/pipes/truncate.pipe.ts","ng://@firestitch/app-message/app/modules/message-queues/message-queues.module.ts","ng://@firestitch/app-message/app/modules/message-templates/components/template/template.component.ts","ng://@firestitch/app-message/app/modules/message-templates/components/templates/templates.component.ts","ng://@firestitch/app-message/app/modules/message-templates/message-templates.module.ts","ng://@firestitch/app-message/app/modules/webhooks/components/webhooks/webhooks.component.ts","ng://@firestitch/app-message/app/modules/webhooks/webhooks.module.ts","ng://@firestitch/app-message/app/modules/app-message/app-message.module.ts","ng://@firestitch/app-message/public_api.ts","ng://@firestitch/app-message/firestitch-app-message.ts"],"sourcesContent":["export enum EmailMessageFormat {\n Text = 'T',\n HTML = 'H',\n RichText = 'R'\n}\n","\nimport { EmailMessageFormat } from '../enums';\n\nexport const EmailMessageFormats = [\n { name: 'Text', value: EmailMessageFormat.Text },\n { name: 'HTML', value: EmailMessageFormat.HTML },\n { name: 'Rich Text', value: EmailMessageFormat.RichText }\n];\n","import { Component, OnInit, Inject } from '@angular/core';\n\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n\n@Component({\n templateUrl: './preview.component.html',\n styleUrls: ['./preview.component.scss']\n})\nexport class PreviewComponent implements OnInit {\n\n public html;\n public styles;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data,\n ) {\n this.html = _data.html;\n this.styles = _data.styles;\n }\n\n public ngOnInit() {\n\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FS_APP_MESSAGE_ROOT_CONFIG = new InjectionToken<any[]>('fs-app-message-root-config');\nexport const FS_APP_MESSAGE_CONFIG = new InjectionToken<any[]>('fs-app-message-config');\n","import { Component, OnInit, Inject, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\n\nimport { MatTabChangeEvent } from '@angular/material/tabs';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsPrompt } from '@firestitch/prompt';\n\nimport { switchMap, tap } from 'rxjs/operators';\n\nimport { EmailMessageFormats } from '../../consts';\nimport { EmailMessageFormat } from '../../enums';\nimport { PreviewComponent } from '../../../../modules/message-preview/components';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\nimport { of } from 'rxjs';\n\n\n@Component({\n templateUrl: './message.component.html',\n styleUrls: ['./message.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MessageComponent implements OnInit {\n\n public message;\n public tab;\n public messageTemplates = [];\n public emailMessageFormats = EmailMessageFormats;\n public emailMessageFormat = EmailMessageFormat;\n\n public constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n @Inject(MAT_DIALOG_DATA) private _data,\n private _prompt: FsPrompt,\n private _message: FsMessage,\n private _dialog: MatDialog,\n private _cdRef: ChangeDetectorRef,\n ) {\n }\n\n public ngOnInit() {\n this._config.loadMessage(this._data.message)\n .subscribe((response) => {\n this.message = response;\n\n if (this.message.emailMessage && this.message.emailMessage.customize === undefined) {\n this.message.emailMessage.customize = true;\n }\n if (this.message.smsMessage && this.message.smsMessage.customize === undefined) {\n this.message.smsMessage.customize = true;\n }\n\n this._cdRef.markForCheck();\n });\n\n this._config.loadMessageTemplates()\n .subscribe((data) => {\n this.messageTemplates = data.data;\n this._cdRef.markForCheck();\n });\n }\n\n public tabChange(event: MatTabChangeEvent) {\n switch (event.tab.textLabel) {\n case 'SMS Message':\n this.tab = 'sms';\n break;\n case 'Email Message':\n this.tab = 'email';\n break;\n default:\n this.tab = null;\n }\n }\n\n public save = () => {\n return this._config.saveMessage(this.message)\n .pipe(\n tap(() => {\n this._message.success('Saved Changes');\n })\n );\n }\n\n public openPreview(): void {\n let html = this.message.emailMessage.body;\n let styles = this.message.emailMessage.styles;\n\n if (this.message.emailMessage.messageTemplateId) {\n const messageTemplate = this.messageTemplates\n .find((item) => {\n return this.message.emailMessage.messageTemplateId === item.id;\n });\n\n if (messageTemplate) {\n html = messageTemplate.content.replace('{$content}', html);\n styles = messageTemplate.styles.concat(styles);\n }\n }\n\n this._dialog.open(PreviewComponent, {\n data: {\n styles,\n html,\n },\n width: '95%'\n });\n }\n\n public sendTest(type) {\n of(true)\n .pipe(\n switchMap(() => {\n return type === 'email' ? this._config.getTestEmail() : of('');\n }),\n switchMap((default_) => { \n const typeName = type === 'email' ? 'an email' : 'phone number';\n \n return this._prompt.input({\n label: `Please enter ${typeName} to send test to`,\n title: 'Send Test',\n commitLabel: 'Send',\n default: default_,\n required: true\n })\n })\n )\n .subscribe((value: string) => {\n this._config.testMessage(this.message, value, type)\n .subscribe(() => {\n this._message.success('Test Sent');\n });\n });\n }\n}\n","\nexport function indexNameValue(arry) {\n const obj = {};\n arry.forEach(item => {\n obj[item.value] = item.name;\n });\n\n return obj;\n}\n","import { Component, Inject, OnDestroy, OnInit, ViewChild } from '@angular/core';\n\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { takeUntil, map } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\nimport { ItemType } from '@firestitch/filter';\n\nimport { MessageComponent } from '../message';\nimport { EmailMessageFormats } from '../../consts';\nimport { indexNameValue } from '../../../../helpers';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\n\n@Component({\n selector: 'fs-app-messages',\n templateUrl: './messages.component.html'\n})\nexport class MessagesComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsListComponent, { static: true })\n public list: FsListComponent = null;\n\n public config: FsListConfig = null;\n public emailMessageFormats = {};\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _dialog: MatDialog,\n ) { }\n\n public ngOnInit(): void {\n this.emailMessageFormats = indexNameValue(EmailMessageFormats);\n\n this.config = {\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search'\n }\n ],\n\n fetch: query => {\n return this._config.loadMessages(query)\n .pipe(\n map(response => {\n return ({ data: response.data, paging: response.paging })\n })\n );\n }\n }\n }\n\n public open(message) {\n const dialogRef = this._dialog.open(MessageComponent, {\n data: {\n message: message,\n },\n width: '85%'\n });\n\n dialogRef.afterClosed()\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe((response) => {\n if (response) {\n this.list.updateData(\n response,\n (row: any) => {\n return row.id === response.id;\n });\n }\n })\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { FsIFrameModule } from '@firestitch/iframe';\nimport { FsDialogModule } from '@firestitch/dialog';\n\nimport { PreviewComponent } from './components/preview';\n\n\n@NgModule({\n imports: [\n MatDialogModule,\n MatButtonModule,\n\n FsDialogModule,\n FsIFrameModule,\n ],\n declarations: [\n PreviewComponent,\n ],\n exports: [\n PreviewComponent,\n ]\n})\nexport class FsAppMessagePreviewModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsListModule } from '@firestitch/list';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FormsModule } from '@angular/forms';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\nimport { FsEditorRichTextModule } from '@firestitch/editor';\n\nimport { MessagesComponent } from './components/messages/messages.component';\nimport { MessageComponent } from './components/message/message.component';\nimport { FsAppMessagePreviewModule } from '../message-preview/message-preview.module';\n\n@NgModule({\n imports: [\n RouterModule,\n CommonModule,\n FormsModule,\n\n MatDialogModule,\n MatButtonModule,\n MatTabsModule,\n MatFormFieldModule,\n MatInputModule,\n MatOptionModule,\n MatSelectModule,\n MatTooltipModule,\n MatCheckboxModule,\n\n FsDialogModule,\n FsListModule,\n FsLabelModule,\n FlexLayoutModule,\n FsSkeletonModule,\n FsFormModule,\n FsTextEditorModule,\n FsEditorRichTextModule,\n\n FsAppMessagePreviewModule,\n ],\n declarations: [\n MessagesComponent,\n MessageComponent,\n ],\n exports: [\n MessagesComponent,\n MessageComponent,\n ],\n})\nexport class FsAppMessagesModule {}\n","export enum MessageQueueState {\n Sent = 'S',\n PartiallySent = 'P',\n Sending = 'E',\n Queued = 'Q',\n Canceled = 'C',\n InvalidRecipients = 'I',\n Failed = 'F'\n}","import { MessageQueueState } from '../enums/message-queue-state.enum';\n\n\nexport const MessageQueueStates = [\n { name: 'Sent', value: MessageQueueState.Sent },\n { name: 'Partially Sent', value: MessageQueueState.PartiallySent },\n { name: 'Sending', value: MessageQueueState.Sending },\n { name: 'Queued', value: MessageQueueState.Queued },\n { name: 'Canceled', value: MessageQueueState.Canceled },\n { name: 'Invalid Recipients', value: MessageQueueState.InvalidRecipients },\n { name: 'Failed', value: MessageQueueState.Failed }\n];\n","export enum EmailMessageQueueFormat {\n Text = 'T',\n HTML = 'H',\n RichText = 'R'\n}\n","export enum MessageQueueType {\n Sms = 'S',\n Email = 'E'\n}\n","import {\n Component, OnInit, Inject, OnDestroy, ViewChild,\n} from '@angular/core';\n\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsPrompt } from '@firestitch/prompt';\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\n\nimport { map } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\nimport anchorme from 'anchorme';\n\nimport { EmailMessageQueueFormat } from '../../enums';\nimport { MessageQueueStates } from '../../consts';\nimport { indexNameValue } from '../../../../helpers';\nimport { MessageComponent } from '../../../../modules/messages/components';\nimport { MessageQueueType } from '../../enums';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\nimport { ResendMessageQueue, ForwardMessageQueue, LoadMessage } from '../../../app-message/types';\n\n\n@Component({\n templateUrl: './queue.component.html',\n styleUrls: ['./queue.component.scss'],\n})\nexport class QueueComponent implements OnInit, OnDestroy {\n\n @ViewChild('logList')\n public logList: FsListComponent;\n\n public messageQueue;\n public loadMessage: LoadMessage;\n public resendMessageQueue: ResendMessageQueue;\n public forwardMessageQueue: ForwardMessageQueue;\n public messageQueueRecipients = {};\n public emailMessageQueueFormat = EmailMessageQueueFormat;\n public messageQueueStates;\n public logConfig: FsListConfig;\n public attachmentConfig: FsListConfig;\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _message: FsMessage,\n private _prompt: FsPrompt,\n private _dialog: MatDialog,\n @Inject(MAT_DIALOG_DATA) private _data,\n ) {\n }\n\n public ngOnInit() {\n this.messageQueueStates = indexNameValue(MessageQueueStates);\n this.resendMessageQueue = this._config.resendMessageQueue;\n this.forwardMessageQueue = this._config.forwardMessageQueue;\n\n this._config.loadMessageQueue(this._data.messageQueueId)\n .subscribe((messageQueue) => {\n this.messageQueue = messageQueue;\n\n if (this.messageQueue.emailMessageQueue) {\n let body = this.messageQueue.emailMessageQueue.body;\n if (this.messageQueue.emailMessageQueue.format === EmailMessageQueueFormat.HTML) {\n try {\n const doc = new DOMParser().parseFromString(body, 'text/html');\n\n doc.querySelectorAll('a').forEach((el) => {\n el.setAttribute('target', '_blank');\n });\n\n body = doc.documentElement.innerHTML;\n\n } catch (e) {\n }\n } else {\n body = this.anchorme(body);\n }\n\n this.messageQueue.emailMessageQueue.body = body;\n }\n\n if (this.messageQueue.smsMessageQueue) {\n this.messageQueue.smsMessageQueue.body = this.anchorme(this.messageQueue.smsMessageQueue.body);\n }\n\n this.messageQueueRecipients = this.messageQueue.messageQueueRecipients\n .reduce((accum, messageQueueRecipient) => {\n accum[messageQueueRecipient.recipient] = messageQueueRecipient.state;\n\n return accum;\n }, {});\n\n this._setLogsConfig(messageQueue);\n this._setAttachmentsConfig(messageQueue);\n });\n }\n\n public anchorme(html) {\n return anchorme(html, {\n options: {\n attributes: [\n {\n name: 'target',\n value: '_blank'\n },\n ],\n },\n });\n }\n\n public openMessage(message) {\n this._dialog.open(MessageComponent, {\n data: {\n message: message,\n },\n width: '85%'\n });\n }\n\n public resend() {\n this._prompt.confirm({\n title: 'Confirm',\n template: 'Are you sure you would like to resend this message?'\n }).subscribe(() => {\n this.resendMessageQueue(this.messageQueue)\n .subscribe(messageQueue => {\n Object.assign(this.messageQueue, messageQueue);\n this._message.success('Successfully resent');\n\n if (this.logList) {\n this.logList.reload();\n }\n });\n });\n }\n\n public forward() {\n const typeName = this.messageQueue.type === MessageQueueType.Email ? 'an email' : 'a phone number';\n\n this._prompt.input({\n label: `Please enter ${typeName} to forward to`,\n title: 'Forward Message',\n commitLabel: 'Forward',\n required: true\n }).subscribe((value: string) => {\n if (value) {\n this.forwardMessageQueue(this.messageQueue, value)\n .subscribe(messageQueue => {\n this.messageQueue = {\n ...this.messageQueue,\n messageQueue,\n };\n this._message.success('Successfully forwarded');\n\n if (this.logList) {\n this.logList.reload();\n }\n });\n }\n });\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _setLogsConfig(messageQueue) {\n this.logConfig = {\n loadMore: true,\n queryParam: false,\n fetch: query => {\n return this._config.loadLogs(messageQueue, query);\n }\n }\n }\n\n private _setAttachmentsConfig(messageQueue) {\n this.attachmentConfig = {\n queryParam: false,\n fetch: query => {\n return this._config.loadMessageQueueAttachments(messageQueue, query)\n .pipe(\n map(response => ({\n data: response.data.map(value => {\n value.prettyFilesize = this._prettyFilesize(value.filesize);\n return value;\n }), paging: response.paging\n }))\n );\n }\n };\n\n if (this._config.downloadMessageQueueAttachment) {\n this.attachmentConfig.rowActions = [\n {\n click: (messageAttachment) => {\n this._config.downloadMessageQueueAttachment(messageAttachment, this.messageQueue);\n },\n label: 'Download',\n }\n ];\n }\n }\n\n private _prettyFilesize(bytes) {\n if (bytes === 0) { return '0.00 B'; }\n const e = Math.floor(Math.log(bytes) / Math.log(1024));\n return (bytes / Math.pow(1024, e)).toFixed(2) + ' ' + ' KMGTP'.charAt(e) + 'B';\n }\n}\n","import { Injectable, OnDestroy } from \"@angular/core\";\n\nimport { MatDialog } from \"@angular/material/dialog\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { QueueComponent } from \"../components/queue/queue.component\";\n\n\n@Injectable()\nexport class FsMessageQueueService implements OnDestroy {\n\n private _destroy$ = new Subject();\n \n public constructor(\n private _dialog: MatDialog,\n ) {}\n \n public openMessageQueue(messageQueueId: number, options: any = {}) { \n return this._dialog.open(QueueComponent, {\n ...options,\n data: {\n messageQueueId,\n },\n width: options.width || '85%',\n }).afterClosed()\n .pipe(\n takeUntil(this._destroy$)\n );\n }\n \n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n}\n","import { Component, Inject, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\n\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { takeUntil, map, switchMap, tap } from 'rxjs/operators';\nimport { Subject, of } from 'rxjs';\n\nimport { FsListActionSelected, FsListComponent, FsListConfig } from '@firestitch/list';\nimport { ItemType } from '@firestitch/filter';\nimport { SelectionActionType } from '@firestitch/selection';\n\nimport { MessageQueueStates } from '../../consts';\nimport { indexNameValue } from '../../../../helpers';\nimport { MessageQueueState } from '../../enums/message-queue-state.enum';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\nimport { FsMessageQueueService } from '../../services/message-queue.service';\n\n\n@Component({\n selector: 'fs-app-message-queues',\n styleUrls: ['./queues.component.scss'],\n templateUrl: './queues.component.html'\n})\nexport class QueuesComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsListComponent, { static: true })\n public list: FsListComponent = null;\n\n @Input() public query = {};\n\n public config: FsListConfig = null;\n public messageQueueStates = {};\n public MessageQueueState = MessageQueueState;\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig, \n private _dialog: MatDialog,\n private _messageQueueService: FsMessageQueueService,\n ) { }\n\n public ngOnInit() {\n this.messageQueueStates = indexNameValue(MessageQueueStates);\n\n this.config = {\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search'\n },\n {\n name: 'state',\n type: ItemType.Select,\n label: 'Status',\n values: () => {\n return MessageQueueStates;\n }\n },\n {\n name: 'date',\n type: ItemType.DateRange,\n label: ['From Date', 'To Date'],\n },\n ],\n sort: { value: 'created_date', direction: 'desc' },\n fetch: query => {\n query = {\n ...query,\n ...this.query,\n messageQueueAttachmentCounts: true,\n emailMessageQueues: true,\n emailMessageQueueBodies: false,\n smsMessageQueues: true,\n };\n\n return this._config.loadMessageQueues(query)\n .pipe(\n map(response => ({ data: response.data\n .map((messageQueue) => { \n return {\n ...messageQueue,\n messageQueueRecipients: messageQueue.messageQueueRecipients\n .reduce((accum, messageQueueRecipient) => {\n accum[messageQueueRecipient.recipient] = messageQueueRecipient.state;\n\n return accum;\n }, {}),\n };\n }), paging: response.paging }))\n )\n }\n };\n\n // if any bulk actions add the selection object to config.\n if (this._config.cancelMessageQueues) {\n this.config.selection = {\n selectAll: false,\n actions: [\n ],\n actionSelected: (action: FsListActionSelected) => {\n return of(true)\n .pipe(\n switchMap(() => {\n if (action.action.name === 'cancel') {\n return this._config.cancelMessageQueues(action);\n }\n\n return of(true);\n }),\n tap(() => {\n this.list.reload();\n }),\n );\n }\n };\n }\n\n // add each individual bulk action to select actions\n if (this._config.cancelMessageQueues) {\n this.config.selection.actions.push({\n type: SelectionActionType.Action,\n name: 'cancel',\n label: 'Cancel Queued',\n });\n }\n\n this.config.filters.push({\n name: 'message_id',\n type: ItemType.Select,\n label: 'Message Type',\n values: (query) => {\n query = { \n ...query,\n limit: 50,\n };\n\n return this._config.loadMessages(query)\n .pipe(\n map((response) => {\n return [\n { value: null, name: 'All', },\n ...response.data.map((item) => ({ name: item.name, value: item.id })),\n ];\n })\n )\n }\n });\n }\n\n public open(messageQueue) {\n this._messageQueueService.openMessageQueue(messageQueue.id)\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe(() => {\n this.list.reload();\n });\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import {\n Component, Input, OnInit,\n} from '@angular/core';\n\n\n\n@Component({\n selector: 'app-recipient',\n templateUrl: './recipient.component.html',\n styleUrls: ['./recipient.component.scss'],\n})\nexport class RecipientComponent implements OnInit {\n \n @Input() name;\n @Input() state;\n \n public icon;\n\n public ngOnInit(): void {\n \n const icons = {\n 'S': { name: 'check_circle', tooltip: 'Sent' },\n 'E': { name: 'offline_bolt', tooltip: 'Sending' },\n 'F': { name: 'info', tooltip: 'Failed' },\n }\n\n this.icon = icons[this.state];\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport anchorme from 'anchorme';\n\n\n@Pipe({name: 'linkify'})\nexport class LinkifyPipe implements PipeTransform {\n transform(value: string): string {\n return anchorme(value, {\n attributes: [\n {\n name: 'target',\n value: '_blank'\n },\n ]\n });\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'truncate'\n})\nexport class TruncatePipe implements PipeTransform {\ntransform(value: string, limit = 25, completeWords = false, ellipsis = '...') {\n\n if (value.length < limit) {\n return `${value.substr(0, limit)}`;\n }\n\n if (completeWords) {\n limit = value.substr(0, limit).lastIndexOf(' ');\n }\n return `${value.substr(0, limit)}${ellipsis}`;\n}\n}\n","import { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsListModule } from '@firestitch/list';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsDateModule } from '@firestitch/date';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsIFrameModule } from '@firestitch/iframe';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsPromptInputModule } from '@firestitch/prompt';\n\nimport { FsAppMessagesModule } from '../messages/messages.module';\nimport { QueuesComponent } from './components/queues/queues.component';\nimport { QueueComponent } from './components/queue/queue.component';\nimport { RecipientComponent } from './components/recipient/recipient.component';\nimport { LinkifyPipe } from './pipes/linkify.pipe';\nimport { TruncatePipe } from './pipes/truncate.pipe';\nimport { FsMessageQueueService } from './services/message-queue.service';\n\n\n@NgModule({\n imports: [\n RouterModule,\n FormsModule,\n CommonModule,\n\n FlexLayoutModule,\n\n MatTooltipModule,\n MatDialogModule,\n MatButtonModule,\n MatIconModule,\n MatTabsModule,\n\n FsListModule,\n FsDialogModule,\n FsLabelModule,\n FsDateModule,\n FsSkeletonModule,\n FsAppMessagesModule,\n FsFormModule,\n FsPromptInputModule,\n FsIFrameModule,\n ],\n declarations: [\n QueuesComponent,\n QueueComponent,\n LinkifyPipe,\n TruncatePipe,\n RecipientComponent,\n ],\n exports: [\n QueuesComponent,\n QueueComponent,\n ],\n providers: [\n FsMessageQueueService\n ]\n})\nexport class FsAppMessageQueuesModule {}\n","import { Component, OnInit, Inject } from '@angular/core';\n\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\n\nimport { tap } from 'rxjs/operators';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsTextEditorConfig } from '@firestitch/text-editor';\nimport { SubmitEvent } from '@firestitch/form';\n\nimport { PreviewComponent } from '../../../../modules/message-preview/components';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\n\n\n@Component({\n templateUrl: './template.component.html',\n styleUrls: ['./template.component.scss']\n})\nexport class TemplateComponent implements OnInit {\n\n public messageTemplate;\n public htmlEditorconfig: FsTextEditorConfig = {\n language: 'html',\n insertSpaces: true,\n tabSize: 2,\n };\n\n public cssEditorconfig: FsTextEditorConfig = {\n language: 'scss',\n insertSpaces: true,\n tabSize: 2,\n };\n\n public constructor(\n @Inject(MAT_DIALOG_DATA) private _data,\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _dialogRef: MatDialogRef<TemplateComponent>,\n private _message: FsMessage,\n private _dialog: MatDialog,\n ) {\n }\n\n public ngOnInit(): void {\n if (this._data.messageTemplate.id) {\n this._config.loadMessageTemplate(this._data.messageTemplate)\n .subscribe(messageTemplate => {\n this.messageTemplate = messageTemplate;\n });\n } else {\n this.messageTemplate = {};\n }\n }\n\n public openPreview() {\n this._dialog.open(PreviewComponent, {\n data: {\n styles: this.messageTemplate.styles,\n html: this.messageTemplate.content,\n },\n width: '95%'\n });\n }\n\n public save = (event: SubmitEvent) => {\n return this._config.saveMessageTemplate(this.messageTemplate)\n .pipe(\n tap(messageTemplate => {\n this._message.success('Saved Changes');\n if (event.submitter === 'save-close') {\n this._dialogRef.close(messageTemplate);\n }\n })\n );\n }\n}\n","import { Component, OnDestroy, OnInit, ViewChild, Inject } from '@angular/core';\n\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\n\nimport { MatDialog } from '@angular/material/dialog';\nimport { TemplateComponent } from '../template';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\n\n\n@Component({\n selector: 'fs-app-message-templates',\n templateUrl: './templates.component.html'\n})\nexport class TemplatesComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsListComponent, { static: true }) \n public list: FsListComponent = null;\n\n public config: FsListConfig = null;\n public messageQueueStates = [];\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _dialog: MatDialog\n ) { }\n\n public ngOnInit(): void {\n this.config = {\n actions: [\n {\n label: 'Create',\n click: () => {\n this.open({});\n }\n }\n ],\n status: false,\n fetch: query => {\n return this._config.loadMessageTemplates(query);\n }\n }\n\n if (this._config.deleteMessageTemplate) {\n this.config.rowActions = [\n {\n click: data => {\n return this._config.deleteMessageTemplate(data);\n },\n remove: {\n title: 'Confirm',\n template: 'Are you sure you would like to delete this template?',\n },\n menu: true,\n label: 'Delete'\n }\n ];\n }\n }\n\n public open(messageTemplate) {\n const dialogRef = this._dialog.open(TemplateComponent, {\n data: {\n messageTemplate: messageTemplate,\n },\n width: '85%'\n });\n\n dialogRef.afterClosed()\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe((response) => {\n if (response) {\n const update = this.list.updateData(\n response,\n (row: any) => {\n return row.id === response.id;\n });\n\n if (!update) {\n this.list.reload();\n }\n }\n })\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsListModule } from '@firestitch/list';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\n\nimport { TemplatesComponent } from './components/templates/templates.component';\nimport { TemplateComponent } from './components/template/template.component';\n\nimport { FsAppMessagePreviewModule } from '../message-preview/message-preview.module';\n\n\n@NgModule({\n imports: [\n RouterModule,\n CommonModule,\n FormsModule,\n\n MatTooltipModule,\n MatDialogModule,\n MatButtonModule,\n MatTabsModule,\n MatFormFieldModule,\n MatFormFieldModule,\n MatInputModule,\n\n FsListModule,\n FsDialogModule,\n FsLabelModule,\n FlexLayoutModule,\n FsSkeletonModule,\n FsFormModule,\n FsTextEditorModule,\n\n FsAppMessagePreviewModule,\n ],\n declarations: [\n TemplatesComponent,\n TemplateComponent,\n ],\n exports: [\n TemplatesComponent,\n TemplateComponent,\n ],\n})\nexport class FsAppMessageTemplatesModule {\n}\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\n\r\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\r\nimport { FsMessage } from '@firestitch/message';\r\n\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\r\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\r\n\r\n\r\n@Component({\r\n selector: 'fs-app-message-webhooks',\r\n templateUrl: './webhooks.component.html',\r\n})\r\nexport class WebhooksComponent implements OnInit {\r\n\r\n @ViewChild(FsListComponent)\r\n public list: FsListComponent;\r\n\r\n public listConfig: FsListConfig;\r\n\r\n constructor(\r\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\r\n private _message: FsMessage,\r\n ) {}\r\n\r\n public ngOnInit(): void {\r\n this.listConfig = {\r\n paging: false,\r\n actions: [\r\n {\r\n click: () => {\r\n this._config.createWebhook()\r\n .subscribe(() => {\r\n this._message.success('Created webhook');\r\n this.list.reload();\r\n });\r\n },\r\n label: 'Create',\r\n },\r\n ],\r\n rowActions: [\r\n {\r\n click: (webhook) => {\r\n this._config.deleteWebhook(webhook)\r\n .subscribe(() => {\r\n this._message.success('Deleted webhook');\r\n this.list.reload();\r\n });\r\n },\r\n label: 'Delete',\r\n },\r\n ],\r\n fetch: () => {\r\n return this._config.loadWebhooks()\r\n .pipe(\r\n map((webhooks) => ({ data: webhooks })),\r\n );\r\n },\r\n };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { FsDateModule } from '@firestitch/date';\n\nimport { FsListModule } from '@firestitch/list';\n\nimport { WebhooksComponent } from './components/webhooks/webhooks.component';\n\n@NgModule({\n imports: [\n FsListModule,\n\n FsDateModule,\n ],\n declarations: [\n WebhooksComponent,\n ],\n exports: [\n WebhooksComponent,\n ],\n})\nexport class FsAppMessageWebhooksModule {}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\n\n@NgModule({\n})\nexport class FsAppMessageModule {\n static forRoot(): ModuleWithProviders<FsAppMessageModule> {\n return {\n ngModule: FsAppMessageModule,\n };\n }\n}\n","/*\n * Public API Surface of fs-menu\n */\n\nexport { FsAppMessagesModule } from './app/modules/messages/messages.module';\nexport { FsAppMessageQueuesModule } from './app/modules/message-queues/message-queues.module';\nexport { FsAppMessageTemplatesModule } from './app/modules/message-templates/message-templates.module';\nexport { FsAppMessageWebhooksModule } from './app/modules/webhooks/webhooks.module';\nexport { FsAppMessageModule } from './app/modules/app-message/app-message.module';\n\nexport { MessagesComponent } from './app/modules/messages/components/messages/messages.component';\nexport { MessageComponent } from './app/modules/messages/components/message/message.component';\nexport { QueuesComponent } from './app/modules/message-queues/components/queues/queues.component';\nexport { QueueComponent } from './app/modules/message-queues/components/queue/queue.component';\nexport { TemplatesComponent } from './app/modules/message-templates/components/templates/templates.component';\n\nexport { FsAppMessageConfig } from './app/modules/app-message/interfaces';\n\nexport { FsMessageQueueService } from './app/modules/message-queues/services/message-queue.service';\n\nexport { FS_APP_MESSAGE_CONFIG } from './app/modules/app-message/injectors/app-message-config.injector';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {FS_APP_MESSAGE_CONFIG as ɵc} from './app/modules/app-message/injectors';\nexport {PreviewComponent as ɵb} from './app/modules/message-preview/components/preview';\nexport {FsAppMessagePreviewModule as ɵa} from './app/modules/message-preview/message-preview.module';\nexport {RecipientComponent as ɵf} from './app/modules/message-queues/components/recipient/recipient.component';\nexport {LinkifyPipe as ɵd} from './app/modules/message-queues/pipes/linkify.pipe';\nexport {TruncatePipe as ɵe} from './app/modules/message-queues/pipes/truncate.pipe';\nexport {TemplateComponent as ɵg} from './app/modules/message-templates/components/template/template.component';\nexport {WebhooksComponent as ɵh} from './app/modules/webhooks/components/webhooks/webhooks.component';"],"names":[],"mappings":"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"}