@firestitch/app-message 9.1.5 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/app/helpers/index-name-value.d.ts +1 -1
  2. package/app/helpers/index.d.ts +1 -1
  3. package/app/modules/app-message/app-message.module.d.ts +8 -4
  4. package/app/modules/app-message/injectors/app-message-config.injector.d.ts +3 -3
  5. package/app/modules/app-message/injectors/index.d.ts +1 -1
  6. package/app/modules/app-message/interfaces/app-message-config.d.ts +26 -25
  7. package/app/modules/app-message/interfaces/index.d.ts +1 -1
  8. package/app/modules/app-message/types/index.d.ts +1 -1
  9. package/app/modules/app-message/types/types.type.d.ts +40 -36
  10. package/app/modules/message-preview/components/index.d.ts +1 -1
  11. package/app/modules/message-preview/components/preview/index.d.ts +1 -1
  12. package/app/modules/message-preview/components/preview/preview.component.d.ts +11 -8
  13. package/app/modules/message-preview/message-preview.module.d.ts +11 -2
  14. package/app/modules/message-queues/components/queue/queue.component.d.ts +43 -36
  15. package/app/modules/message-queues/components/queues/queues.component.d.ts +24 -21
  16. package/app/modules/message-queues/components/recipient/recipient.component.d.ts +10 -7
  17. package/app/modules/message-queues/consts/index.d.ts +1 -1
  18. package/app/modules/message-queues/consts/message-queue-event-type.const.d.ts +5 -0
  19. package/app/modules/message-queues/consts/message-queue-states.const.d.ts +5 -5
  20. package/app/modules/message-queues/enums/email-message-queue-format.enum.d.ts +5 -5
  21. package/app/modules/message-queues/enums/index.d.ts +3 -2
  22. package/app/modules/message-queues/enums/message-queue-event-type.enum.d.ts +4 -0
  23. package/app/modules/message-queues/enums/message-queue-state.enum.d.ts +9 -9
  24. package/app/modules/message-queues/enums/message-queue-type.enum.d.ts +4 -4
  25. package/app/modules/message-queues/message-queues.module.d.ts +29 -2
  26. package/app/modules/message-queues/pipes/linkify.pipe.d.ts +7 -4
  27. package/app/modules/message-queues/pipes/truncate.pipe.d.ts +7 -4
  28. package/app/modules/message-queues/services/message-queue.service.d.ts +12 -9
  29. package/app/modules/message-templates/components/index.d.ts +2 -0
  30. package/app/modules/message-templates/components/template/index.d.ts +1 -1
  31. package/app/modules/message-templates/components/template/template.component.d.ts +23 -20
  32. package/app/modules/message-templates/components/templates/index.d.ts +1 -0
  33. package/app/modules/message-templates/components/templates/templates.component.d.ts +19 -16
  34. package/app/modules/message-templates/message-templates.module.d.ts +25 -2
  35. package/app/modules/messages/components/index.d.ts +2 -2
  36. package/app/modules/messages/components/message/index.d.ts +1 -1
  37. package/app/modules/messages/components/message/message.component.d.ts +32 -29
  38. package/app/modules/messages/components/messages/index.d.ts +1 -1
  39. package/app/modules/messages/components/messages/messages.component.d.ts +19 -16
  40. package/app/modules/messages/consts/email-message-formats.const.d.ts +5 -5
  41. package/app/modules/messages/consts/index.d.ts +1 -1
  42. package/app/modules/messages/enums/email-message-format.enum.d.ts +5 -5
  43. package/app/modules/messages/enums/index.d.ts +1 -1
  44. package/app/modules/messages/messages.module.d.ts +29 -2
  45. package/app/modules/webhooks/components/webhooks/webhooks.component.d.ts +15 -12
  46. package/app/modules/webhooks/webhooks.module.d.ts +9 -2
  47. package/bundles/firestitch-app-message.umd.js +1572 -1244
  48. package/bundles/firestitch-app-message.umd.js.map +1 -1
  49. package/esm2015/app/helpers/index-name-value.js +8 -8
  50. package/esm2015/app/helpers/index.js +2 -2
  51. package/esm2015/app/modules/app-message/app-message.module.js +17 -15
  52. package/esm2015/app/modules/app-message/injectors/app-message-config.injector.js +4 -4
  53. package/esm2015/app/modules/app-message/injectors/index.js +2 -2
  54. package/esm2015/app/modules/app-message/interfaces/app-message-config.js +2 -1
  55. package/esm2015/app/modules/app-message/interfaces/index.js +2 -1
  56. package/esm2015/app/modules/app-message/types/index.js +2 -1
  57. package/esm2015/app/modules/app-message/types/types.type.js +2 -1
  58. package/esm2015/app/modules/message-preview/components/index.js +2 -2
  59. package/esm2015/app/modules/message-preview/components/preview/index.js +2 -2
  60. package/esm2015/app/modules/message-preview/components/preview/preview.component.js +29 -25
  61. package/esm2015/app/modules/message-preview/message-preview.module.js +38 -27
  62. package/esm2015/app/modules/message-queues/components/queue/queue.component.js +209 -187
  63. package/esm2015/app/modules/message-queues/components/queues/queues.component.js +145 -141
  64. package/esm2015/app/modules/message-queues/components/recipient/recipient.component.js +30 -29
  65. package/esm2015/app/modules/message-queues/consts/index.js +2 -2
  66. package/esm2015/app/modules/message-queues/consts/message-queue-event-type.const.js +6 -0
  67. package/esm2015/app/modules/message-queues/consts/message-queue-states.const.js +11 -11
  68. package/esm2015/app/modules/message-queues/enums/email-message-queue-format.enum.js +7 -7
  69. package/esm2015/app/modules/message-queues/enums/index.js +4 -3
  70. package/esm2015/app/modules/message-queues/enums/message-queue-event-type.enum.js +6 -0
  71. package/esm2015/app/modules/message-queues/enums/message-queue-state.enum.js +11 -11
  72. package/esm2015/app/modules/message-queues/enums/message-queue-type.enum.js +6 -6
  73. package/esm2015/app/modules/message-queues/message-queues.module.js +120 -68
  74. package/esm2015/app/modules/message-queues/pipes/linkify.pipe.js +22 -20
  75. package/esm2015/app/modules/message-queues/pipes/truncate.pipe.js +22 -20
  76. package/esm2015/app/modules/message-queues/services/message-queue.service.js +29 -31
  77. package/esm2015/app/modules/message-templates/components/index.js +3 -0
  78. package/esm2015/app/modules/message-templates/components/template/index.js +2 -2
  79. package/esm2015/app/modules/message-templates/components/template/template.component.js +84 -75
  80. package/esm2015/app/modules/message-templates/components/templates/index.js +2 -0
  81. package/esm2015/app/modules/message-templates/components/templates/templates.component.js +91 -91
  82. package/esm2015/app/modules/message-templates/message-templates.module.js +98 -57
  83. package/esm2015/app/modules/messages/components/index.js +3 -3
  84. package/esm2015/app/modules/messages/components/message/index.js +2 -2
  85. package/esm2015/app/modules/messages/components/message/message.component.js +137 -125
  86. package/esm2015/app/modules/messages/components/messages/index.js +2 -2
  87. package/esm2015/app/modules/messages/components/messages/messages.component.js +74 -78
  88. package/esm2015/app/modules/messages/consts/email-message-formats.const.js +7 -7
  89. package/esm2015/app/modules/messages/consts/index.js +2 -2
  90. package/esm2015/app/modules/messages/enums/email-message-format.enum.js +7 -7
  91. package/esm2015/app/modules/messages/enums/index.js +2 -2
  92. package/esm2015/app/modules/messages/messages.module.js +111 -64
  93. package/esm2015/app/modules/webhooks/components/webhooks/webhooks.component.js +64 -63
  94. package/esm2015/app/modules/webhooks/webhooks.module.js +30 -23
  95. package/esm2015/firestitch-app-message.js +5 -13
  96. package/esm2015/public_api.js +18 -16
  97. package/fesm2015/firestitch-app-message.js +1171 -982
  98. package/fesm2015/firestitch-app-message.js.map +1 -1
  99. package/firestitch-app-message.d.ts +5 -12
  100. package/package.json +5 -8
  101. package/public_api.d.ts +15 -13
  102. package/bundles/firestitch-app-message.umd.min.js +0 -2
  103. package/bundles/firestitch-app-message.umd.min.js.map +0 -1
  104. package/esm5/app/helpers/index-name-value.js +0 -8
  105. package/esm5/app/helpers/index.js +0 -2
  106. package/esm5/app/modules/app-message/app-message.module.js +0 -19
  107. package/esm5/app/modules/app-message/injectors/app-message-config.injector.js +0 -4
  108. package/esm5/app/modules/app-message/injectors/index.js +0 -2
  109. package/esm5/app/modules/app-message/interfaces/app-message-config.js +0 -1
  110. package/esm5/app/modules/app-message/interfaces/index.js +0 -1
  111. package/esm5/app/modules/app-message/types/index.js +0 -1
  112. package/esm5/app/modules/app-message/types/types.type.js +0 -1
  113. package/esm5/app/modules/message-preview/components/index.js +0 -2
  114. package/esm5/app/modules/message-preview/components/preview/index.js +0 -2
  115. package/esm5/app/modules/message-preview/components/preview/preview.component.js +0 -26
  116. package/esm5/app/modules/message-preview/message-preview.module.js +0 -30
  117. package/esm5/app/modules/message-queues/components/queue/queue.component.js +0 -193
  118. package/esm5/app/modules/message-queues/components/queues/queues.component.js +0 -143
  119. package/esm5/app/modules/message-queues/components/recipient/recipient.component.js +0 -32
  120. package/esm5/app/modules/message-queues/consts/index.js +0 -2
  121. package/esm5/app/modules/message-queues/consts/message-queue-states.const.js +0 -11
  122. package/esm5/app/modules/message-queues/enums/email-message-queue-format.enum.js +0 -7
  123. package/esm5/app/modules/message-queues/enums/index.js +0 -3
  124. package/esm5/app/modules/message-queues/enums/message-queue-state.enum.js +0 -11
  125. package/esm5/app/modules/message-queues/enums/message-queue-type.enum.js +0 -6
  126. package/esm5/app/modules/message-queues/message-queues.module.js +0 -71
  127. package/esm5/app/modules/message-queues/pipes/linkify.pipe.js +0 -23
  128. package/esm5/app/modules/message-queues/pipes/truncate.pipe.js +0 -26
  129. package/esm5/app/modules/message-queues/services/message-queue.service.js +0 -33
  130. package/esm5/app/modules/message-templates/components/template/index.js +0 -2
  131. package/esm5/app/modules/message-templates/components/template/template.component.js +0 -78
  132. package/esm5/app/modules/message-templates/components/templates/templates.component.js +0 -94
  133. package/esm5/app/modules/message-templates/message-templates.module.js +0 -60
  134. package/esm5/app/modules/messages/components/index.js +0 -3
  135. package/esm5/app/modules/messages/components/message/index.js +0 -2
  136. package/esm5/app/modules/messages/components/message/message.component.js +0 -130
  137. package/esm5/app/modules/messages/components/messages/index.js +0 -2
  138. package/esm5/app/modules/messages/components/messages/messages.component.js +0 -81
  139. package/esm5/app/modules/messages/consts/email-message-formats.const.js +0 -7
  140. package/esm5/app/modules/messages/consts/index.js +0 -2
  141. package/esm5/app/modules/messages/enums/email-message-format.enum.js +0 -7
  142. package/esm5/app/modules/messages/enums/index.js +0 -2
  143. package/esm5/app/modules/messages/messages.module.js +0 -67
  144. package/esm5/app/modules/webhooks/components/webhooks/webhooks.component.js +0 -65
  145. package/esm5/app/modules/webhooks/webhooks.module.js +0 -26
  146. package/esm5/firestitch-app-message.js +0 -13
  147. package/esm5/public_api.js +0 -16
  148. package/fesm5/firestitch-app-message.js +0 -1107
  149. package/fesm5/firestitch-app-message.js.map +0 -1
  150. package/firestitch-app-message.metadata.json +0 -1
@@ -1 +0,0 @@
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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"}
@@ -1 +0,0 @@
1
- {"__symbolic":"module","version":4,"metadata":{"FsAppMessagesModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":28,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":30,"character":4},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":31,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":32,"character":4},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialogModule","line":34,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":35,"character":4},{"__symbolic":"reference","module":"@angular/material/tabs","name":"MatTabsModule","line":36,"character":4},{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":37,"character":4},{"__symbolic":"reference","module":"@angular/material/input","name":"MatInputModule","line":38,"character":4},{"__symbolic":"reference","module":"@angular/material/core","name":"MatOptionModule","line":39,"character":4},{"__symbolic":"reference","module":"@angular/material/select","name":"MatSelectModule","line":40,"character":4},{"__symbolic":"reference","module":"@angular/material/tooltip","name":"MatTooltipModule","line":41,"character":4},{"__symbolic":"reference","module":"@angular/material/checkbox","name":"MatCheckboxModule","line":42,"character":4},{"__symbolic":"reference","module":"@firestitch/dialog","name":"FsDialogModule","line":44,"character":4},{"__symbolic":"reference","module":"@firestitch/list","name":"FsListModule","line":45,"character":4},{"__symbolic":"reference","module":"@firestitch/label","name":"FsLabelModule","line":46,"character":4},{"__symbolic":"reference","module":"@angular/flex-layout","name":"FlexLayoutModule","line":47,"character":4},{"__symbolic":"reference","module":"@firestitch/skeleton","name":"FsSkeletonModule","line":48,"character":4},{"__symbolic":"reference","module":"@firestitch/form","name":"FsFormModule","line":49,"character":4},{"__symbolic":"reference","module":"@firestitch/text-editor","name":"FsTextEditorModule","line":50,"character":4},{"__symbolic":"reference","module":"@firestitch/editor","name":"FsEditorRichTextModule","line":51,"character":4},{"__symbolic":"reference","name":"ɵa"}],"declarations":[{"__symbolic":"reference","name":"MessagesComponent"},{"__symbolic":"reference","name":"MessageComponent"}],"exports":[{"__symbolic":"reference","name":"MessagesComponent"},{"__symbolic":"reference","name":"MessageComponent"}]}]}],"members":{}},"FsAppMessageQueuesModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":31,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":33,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":34,"character":4},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":35,"character":4},{"__symbolic":"reference","module":"@angular/flex-layout","name":"FlexLayoutModule","line":37,"character":4},{"__symbolic":"reference","module":"@angular/material/tooltip","name":"MatTooltipModule","line":39,"character":4},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialogModule","line":40,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":41,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":42,"character":4},{"__symbolic":"reference","module":"@angular/material/tabs","name":"MatTabsModule","line":43,"character":4},{"__symbolic":"reference","module":"@firestitch/list","name":"FsListModule","line":45,"character":4},{"__symbolic":"reference","module":"@firestitch/dialog","name":"FsDialogModule","line":46,"character":4},{"__symbolic":"reference","module":"@firestitch/label","name":"FsLabelModule","line":47,"character":4},{"__symbolic":"reference","module":"@firestitch/date","name":"FsDateModule","line":48,"character":4},{"__symbolic":"reference","module":"@firestitch/skeleton","name":"FsSkeletonModule","line":49,"character":4},{"__symbolic":"reference","name":"FsAppMessagesModule"},{"__symbolic":"reference","module":"@firestitch/form","name":"FsFormModule","line":51,"character":4},{"__symbolic":"reference","module":"@firestitch/prompt","name":"FsPromptInputModule","line":52,"character":4},{"__symbolic":"reference","module":"@firestitch/iframe","name":"FsIFrameModule","line":53,"character":4}],"declarations":[{"__symbolic":"reference","name":"QueuesComponent"},{"__symbolic":"reference","name":"QueueComponent"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"}],"exports":[{"__symbolic":"reference","name":"QueuesComponent"},{"__symbolic":"reference","name":"QueueComponent"}],"providers":[{"__symbolic":"reference","name":"FsMessageQueueService"}]}]}],"members":{}},"FsAppMessageTemplatesModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":26,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":28,"character":4},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":29,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":30,"character":4},{"__symbolic":"reference","module":"@angular/material/tooltip","name":"MatTooltipModule","line":32,"character":4},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialogModule","line":33,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":34,"character":4},{"__symbolic":"reference","module":"@angular/material/tabs","name":"MatTabsModule","line":35,"character":4},{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":36,"character":4},{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":37,"character":4},{"__symbolic":"reference","module":"@angular/material/input","name":"MatInputModule","line":38,"character":4},{"__symbolic":"reference","module":"@firestitch/list","name":"FsListModule","line":40,"character":4},{"__symbolic":"reference","module":"@firestitch/dialog","name":"FsDialogModule","line":41,"character":4},{"__symbolic":"reference","module":"@firestitch/label","name":"FsLabelModule","line":42,"character":4},{"__symbolic":"reference","module":"@angular/flex-layout","name":"FlexLayoutModule","line":43,"character":4},{"__symbolic":"reference","module":"@firestitch/skeleton","name":"FsSkeletonModule","line":44,"character":4},{"__symbolic":"reference","module":"@firestitch/form","name":"FsFormModule","line":45,"character":4},{"__symbolic":"reference","module":"@firestitch/text-editor","name":"FsTextEditorModule","line":46,"character":4},{"__symbolic":"reference","name":"ɵa"}],"declarations":[{"__symbolic":"reference","name":"TemplatesComponent"},{"__symbolic":"reference","name":"ɵg"}],"exports":[{"__symbolic":"reference","name":"TemplatesComponent"},{"__symbolic":"reference","name":"ɵg"}]}]}],"members":{}},"FsAppMessageWebhooksModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@firestitch/list","name":"FsListModule","line":9,"character":4},{"__symbolic":"reference","module":"@firestitch/date","name":"FsDateModule","line":11,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵh"}],"exports":[{"__symbolic":"reference","name":"ɵh"}]}]}],"members":{}},"FsAppMessageModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":3,"character":1},"arguments":[{}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"FsAppMessageModule"}}}}},"MessagesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"fs-app-messages","template":"<fs-list [config]=\"config\">\n <fs-list-column title=\"Name\" name=\"name\" sortable=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"open(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Email Format\">\n <ng-template fs-list-cell let-row=\"row\">\n {{emailMessageFormats[row.emailMessage.format]}}\n </ng-template>\n </fs-list-column>\n</fs-list>\n"}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":22,"character":3},"arguments":[{"__symbolic":"reference","module":"@firestitch/list","name":"FsListComponent","line":22,"character":13},{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":31,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],null],"parameters":[{"__symbolic":"reference","name":"FsAppMessageConfig"},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":32,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"MessageComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":21,"character":19},"member":"OnPush"},"template":"<form\n fsForm\n [submit]=\"save\"\n #form=\"ngForm\"\n *fsSkeleton=\"message\"\n [dirtyConfirmTabs]=\"false\">\n <fs-dialog *ngIf=\"message\">\n <div mat-dialog-title>Edit Message</div>\n <mat-dialog-content>\n\n <mat-tab-group (selectedTabChange)=\"tabChange($event)\">\n <mat-tab label=\"General\">\n <ng-template matTabContent>\n <div fxLayout=\"column\">\n <mat-form-field>\n <input\n matInput\n placeholder=\"Name\"\n [(ngModel)]=\"message.name\"\n name=\"Name\"\n required>\n </mat-form-field>\n <mat-form-field>\n <input\n matInput\n placeholder=\"Description\"\n [(ngModel)]=\"message.description\"\n name=\"description\">\n </mat-form-field>\n\n <div\n fxLayout=\"row\"\n fxLayoutGap=\"10px\"\n fxLayout.xs=\"column\"\n fxLayout.sm=\"column\">\n <mat-form-field fxFlex>\n <input\n matInput\n placeholder=\"From Email\"\n [(ngModel)]=\"message.emailMessage.fromEmail\"\n name=\"from_email\">\n </mat-form-field>\n <mat-form-field fxFlex>\n <input\n matInput\n placeholder=\"From Name\"\n [(ngModel)]=\"message.emailMessage.fromName\"\n name=\"from_name\">\n </mat-form-field>\n <mat-form-field fxFlex>\n <input\n matInput\n placeholder=\"Reply To\"\n [(ngModel)]=\"message.emailMessage.replyTo\"\n name=\"reply_to\">\n </mat-form-field>\n </div>\n\n <div\n fxLayout=\"row\"\n fxLayoutGap=\"10px\"\n fxLayout.xs=\"column\"\n fxLayout.sm=\"column\">\n <mat-form-field fxFlex>\n <input\n matInput\n placeholder=\"To\"\n [(ngModel)]=\"message.emailMessage.toRecipients\"\n name=\"to\">\n </mat-form-field>\n <mat-form-field fxFlex>\n <input\n matInput\n placeholder=\"CC\"\n [(ngModel)]=\"message.emailMessage.ccRecipients\"\n name=\"cc\">\n </mat-form-field>\n <mat-form-field fxFlex>\n <input\n matInput\n placeholder=\"BCC\"\n [(ngModel)]=\"message.emailMessage.bccRecipients\"\n name=\"bcc\">\n </mat-form-field>\n </div>\n </div>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Email Message\" *ngIf=\"message.emailMessage\">\n <ng-template matTabContent>\n <div fxLayout=\"column\">\n <div fxLayout=\"row\" fxLayoutGap=\"10px\">\n <mat-form-field>\n <mat-select\n required\n placeholder=\"Customize Message\"\n [(ngModel)]=\"message.emailMessage.customize\"\n name=\"customizeEmail\">\n <mat-option [value]=\"true\">Yes</mat-option>\n <mat-option [value]=\"false\">No</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-select\n required\n placeholder=\"Format\"\n [(ngModel)]=\"message.emailMessage.format\"\n name=\"format\">\n <mat-option *ngFor=\"let item of emailMessageFormats\" [value]=\"item.value\">\n {{item.name}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-select\n placeholder=\"Template\"\n [(ngModel)]=\"message.emailMessage.messageTemplateId\"\n name=\"template\">\n <mat-option [value]=\"null\">None</mat-option>\n <mat-option *ngFor=\"let item of messageTemplates\" [value]=\"item.id\">\n {{item.name}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container *ngIf=\"message.emailMessage.customize\">\n <mat-form-field fxFlex>\n <input\n matInput\n placeholder=\"Subject\"\n [(ngModel)]=\"message.emailMessage.subject\"\n name=\"name\"\n required>\n </mat-form-field>\n\n <div [@.disabled]=\"true\">\n <mat-tab-group [dynamicHeight]=\"false\">\n <mat-tab label=\"Content\">\n <ng-template matTabContent>\n <fs-text-editor\n *ngIf=\"message.emailMessage.format===emailMessageFormat.HTML\"\n [(ngModel)]=\"message.emailMessage.body\"\n name=\"body\"\n [config]=\"{ language: 'html '}\">\n </fs-text-editor>\n\n <fs-editor-rich-text\n *ngIf=\"message.emailMessage.format===emailMessageFormat.RichText\"\n [(ngModel)]=\"message.emailMessage.body\"\n name=\"body\">\n </fs-editor-rich-text>\n\n <fs-text-editor\n *ngIf=\"message.emailMessage.format===emailMessageFormat.Text\"\n [(ngModel)]=\"message.emailMessage.body\"\n name=\"emailMessageBody\"\n [config]=\"{ language: 'text' }\">\n </fs-text-editor>\n </ng-template>\n </mat-tab>\n <mat-tab\n *ngIf=\"message.emailMessage.format===emailMessageFormat.HTML\"\n label=\"Styles\">\n <ng-template matTabContent>\n <fs-text-editor\n [(ngModel)]=\"message.emailMessage.styles\"\n name=\"styles\"\n [config]=\"{ language: 'scss' }\">\n </fs-text-editor>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n\n </ng-container>\n\n <ng-container *ngIf=\"!message.emailMessage.customize\">\n <fs-label-field>\n <fs-label>Subject</fs-label>\n {{message.defaultEmailSubject}}\n </fs-label-field>\n <div>\n <fs-label-field>\n <fs-label>Content</fs-label>\n <div\n class=\"email-body-html-default\"\n *ngIf=\"message.emailMessage.format===emailMessageFormat.HTML\">\n {{message.defaultEmailBody}}\n </div>\n <div\n *ngIf=\"message.emailMessage.format===emailMessageFormat.RichText\"\n fsEditorRenderer\n name=\"defaultEmailBody\"\n [ngModel]=\"message.defaultEmailBody\">\n </div>\n <div\n class=\"email-body-text-default\"\n *ngIf=\"message.emailMessage.format===emailMessageFormat.Text\">\n {{message.defaultEmailBody}}\n </div>\n </fs-label-field>\n </div>\n </ng-container>\n </div>\n </ng-template>\n </mat-tab>\n\n <mat-tab label=\"SMS Message\" *ngIf=\"message.smsMessage\">\n <ng-template matTabContent>\n <mat-form-field>\n <mat-select\n required\n placeholder=\"Customize Message\"\n [(ngModel)]=\"message.smsMessage.customize\"\n name=\"customizeSms\">\n <mat-option [value]=\"true\">Yes</mat-option>\n <mat-option [value]=\"false\">No</mat-option>\n </mat-select>\n </mat-form-field>\n <div\n *ngIf=\"message.smsMessage.customize\"\n [@.disabled]=\"true\">\n <mat-tab-group [dynamicHeight]=\"false\">\n <mat-tab label=\"Content\">\n <ng-template matTabContent>\n <fs-text-editor\n [(ngModel)]=\"message.smsMessage.message\"\n name=\"smsMessageMessage\"\n [config]=\"{ language: 'text '}\">\n </fs-text-editor>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n <fs-label-field *ngIf=\"!message.smsMessage.customize\">\n <fs-label>Message</fs-label>\n {{message.defaultSmsMessage}}\n </fs-label-field>\n </ng-template>\n </mat-tab>\n\n <mat-tab label=\"Variables\" *ngIf=\"message.variables\">\n <ng-template matTabContent>\n <div *ngFor=\"let variable of message.variables\" class=\"variable\">\n {{variable.name}}\n </div>\n </ng-template>\n </mat-tab>\n\n <mat-tab label=\"Defaults\">\n <ng-template matTabContent>\n <ng-container *ngIf=\"message.emailMessage\">\n <h2 *ngIf=\"message.emailMessage && message.smsMessage\">Email</h2>\n <fs-label-field>\n <fs-label>Subject</fs-label>\n <div class=\"content\">{{message.defaultEmailSubject}}</div>\n </fs-label-field>\n <fs-label-field>\n <fs-label>Content</fs-label>\n <div class=\"content\">{{message.defaultEmailBody}}</div>\n </fs-label-field>\n </ng-container>\n <ng-container *ngIf=\"message.smsMessage\">\n <h2 *ngIf=\"message.emailMessage && message.smsMessage\">SMS</h2>\n <fs-label-field>\n <fs-label>Content</fs-label>\n <div class=\"content\">{{message.defaultSmsMessage}}</div>\n </fs-label-field>\n </ng-container>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button color=\"primary\">Save</button>\n <button\n *ngIf=\"tab==='email' && message.emailMessage.format===emailMessageFormat.HTML\"\n mat-button\n type=\"button\"\n (click)=\"openPreview()\"\n type=\"button\">\n Preview\n </button>\n <button\n *ngIf=\"tab==='email'\"\n mat-button\n type=\"button\"\n (click)=\"sendTest('email')\"\n type=\"button\">\n Send Test Email\n </button>\n <button\n *ngIf=\"tab==='sms'\"\n mat-button\n type=\"button\"\n (click)=\"sendTest('sms')\"\n type=\"button\">\n Send Test SMS\n </button>\n <button mat-button [mat-dialog-close]=\"null\" type=\"button\">Cancel</button>\n </mat-dialog-actions>\n </fs-dialog>\n</form>\n","styles":["fs-label-field .content{white-space:pre-wrap}:host ::ng-deep .mat-tab-body,:host ::ng-deep .mat-tab-body-content{overflow:visible}:host ::ng-deep .sms-message{width:100%}:host ::ng-deep .email-body-html-default,:host ::ng-deep .email-body-text-default{white-space:pre-line}.email-body-text{width:100%}.variable{margin-bottom:4px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":32,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":33,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":33,"character":12}]}],null,null,null,null],"parameters":[{"__symbolic":"reference","name":"FsAppMessageConfig"},null,{"__symbolic":"reference","module":"@firestitch/prompt","name":"FsPrompt","line":34,"character":21},{"__symbolic":"reference","module":"@firestitch/message","name":"FsMessage","line":35,"character":22},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":36,"character":21},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":37,"character":20}]}],"ngOnInit":[{"__symbolic":"method"}],"tabChange":[{"__symbolic":"method"}],"openPreview":[{"__symbolic":"method"}],"sendTest":[{"__symbolic":"method"}]}},"QueuesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"fs-app-message-queues","template":"<fs-list [config]=\"config\" #list>\n <fs-list-column title=\"Message\" name=\"subject\" sortable=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <a (click)=\"open(row)\">{{row.emailMessageQueue.subject|truncate:100}}</a>\n <mat-icon *ngIf=\"row.messageQueueAttachmentCount\" [matTooltip]=\"row.messageQueueAttachmentCount + ' Attachment(s)'\">attach_file</mat-icon>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <a (click)=\"open(row)\">{{row.smsMessageQueue.body|truncate:100}}</a>\n </ng-container>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Recipients\" class=\"col-recipients\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <ng-container *ngIf=\"row.emailMessageQueue.toRecipients.length; else unspecified\">\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.toRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.ccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.bccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <ng-container *ngIf=\"row.smsMessageQueue.toNumber; else unspecified\">\n <app-recipient \n class=\"small\"\n [state]=\"row.state\"\n [name]=\"row.smsMessageQueue.toNumber\">\n </app-recipient>\n </ng-container>\n </ng-container>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Status\" class=\"col-state\">\n <ng-template fs-list-cell let-row=\"row\">\n <span [class]=\"'state-' + row.state\">{{messageQueueStates[row.state]}}</span>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Date\" name=\"created_date\" sortable=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createdDate | fsDateFormat: 'date-time-yeardiff' }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n\n<ng-template #unspecified>\n <app-recipient \n class=\"small\"\n [state]=\"MessageQueueState.Failed\"\n name=\"Unspecified\">\n </app-recipient>\n</ng-template>","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}"]}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":26,"character":3},"arguments":[{"__symbolic":"reference","module":"@firestitch/list","name":"FsListComponent","line":26,"character":13},{"static":true}]}]}],"query":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":38,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],null,null],"parameters":[{"__symbolic":"reference","name":"FsAppMessageConfig"},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":39,"character":21},{"__symbolic":"reference","name":"FsMessageQueueService"}]}],"ngOnInit":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"QueueComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"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","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}"]}]}],"members":{"logList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":31,"character":3},"arguments":["logList"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":47,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":51,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":51,"character":12}]}]],"parameters":[{"__symbolic":"reference","name":"FsAppMessageConfig"},{"__symbolic":"reference","module":"@firestitch/message","name":"FsMessage","line":48,"character":22},{"__symbolic":"reference","module":"@firestitch/prompt","name":"FsPrompt","line":49,"character":21},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":50,"character":21},null]}],"ngOnInit":[{"__symbolic":"method"}],"anchorme":[{"__symbolic":"method"}],"openMessage":[{"__symbolic":"method"}],"resend":[{"__symbolic":"method"}],"forward":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_setLogsConfig":[{"__symbolic":"method"}],"_setAttachmentsConfig":[{"__symbolic":"method"}],"_prettyFilesize":[{"__symbolic":"method"}]}},"TemplatesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"fs-app-message-templates","template":"<fs-list [config]=\"config\">\n <fs-list-column title=\"Name\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"open(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n</fs-list>"}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":19,"character":3},"arguments":[{"__symbolic":"reference","module":"@firestitch/list","name":"FsListComponent","line":19,"character":13},{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],null],"parameters":[{"__symbolic":"reference","name":"FsAppMessageConfig"},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":29,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"FsMessageQueueService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":16,"character":21}]}],"openMessageQueue":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"FS_APP_MESSAGE_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":41},"arguments":["fs-app-message-config"]},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialogModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":14,"character":4},{"__symbolic":"reference","module":"@firestitch/dialog","name":"FsDialogModule","line":16,"character":4},{"__symbolic":"reference","module":"@firestitch/iframe","name":"FsIFrameModule","line":17,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵb"}],"exports":[{"__symbolic":"reference","name":"ɵb"}]}]}],"members":{}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":5,"character":1},"arguments":[{"name":"linkify"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":2,"character":1},"arguments":[{"name":"truncate"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"app-recipient","template":"<span class=\"recipient\">\n <span class=\"name\">{{name}}</span>\n <mat-icon *ngIf=\"icon\" [class]=\"'state-' + state\" [matTooltip]=\"icon.tooltip\">{{icon.name}}</mat-icon>\n</span>","styles":["mat-icon{font-size:14px;width:14px;height:14px;line-height:normal;margin-left:2px}mat-icon.state-S{color:#5fa099}mat-icon.state-E{color:#fbbc04}mat-icon.state-F{color:#d8524e}.recipient{display:inline-flex;align-items:center}"]}]}],"members":{"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"state":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"template":"<form\n fsForm\n [submit]=\"save\"\n #form=\"ngForm\"\n *fsSkeleton=\"messageTemplate\"\n [dirtyConfirmTabs]=\"false\">\n <fs-dialog *ngIf=\"messageTemplate\">\n <div mat-dialog-title>Message Template</div>\n <mat-dialog-content>\n <mat-form-field class=\"name\">\n <input\n matInput\n placeholder=\"Name\"\n [(ngModel)]=\"messageTemplate.name\"\n name=\"name\"\n >\n </mat-form-field>\n <div [@.disabled]=\"true\">\n <mat-tab-group\n mat-align-tabs=\"start\"\n [dynamicHeight]=\"false\">\n <mat-tab label=\"Content\">\n <ng-template matTabContent>\n <div class=\"content\">\n <fs-label-field>\n <fs-text-editor\n [(ngModel)]=\"messageTemplate.content\"\n name=\"body\"\n [config]=\"htmlEditorconfig\">\n </fs-text-editor>\n <fs-label-message>\n &#123;$content&#125; will be replaced with the message content.\n </fs-label-message>\n </fs-label-field>\n </div>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Styles\">\n <ng-template matTabContent>\n <div class=\"styles\">\n <fs-text-editor\n [(ngModel)]=\"messageTemplate.styles\"\n name=\"styles\"\n [config]=\"cssEditorconfig\">\n </fs-text-editor>\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button color=\"primary\" name=\"close\">Save</button>\n <button mat-button name=\"save-close\">Save & Close</button>\n <button mat-button (click)=\"openPreview()\" type=\"button\">Preview</button>\n <button mat-button [mat-dialog-close]=\"null\" type=\"button\">Cancel</button>\n </mat-dialog-actions>\n </fs-dialog>\n</form>\n","styles":[".name{width:100%}:host ::ng-deep .mat-tab-body,:host ::ng-deep .mat-tab-body-content{overflow:visible}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":35,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":35,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":36,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],null,null,null],"parameters":[null,{"__symbolic":"reference","name":"FsAppMessageConfig"},{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material/dialog","arguments":[{"__symbolic":"reference","name":"ɵg"}]},{"__symbolic":"reference","module":"@firestitch/message","name":"FsMessage","line":38,"character":22},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":39,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"openPreview":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"fs-app-message-webhooks","template":"<fs-list [config]=\"listConfig\">\r\n <fs-list-column title=\"URL\">\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{row.url}}\r\n </ng-template>\r\n </fs-list-column>\r\n <fs-list-column title=\"Created\">\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{row.createDate | fsDate}}\r\n </ng-template>\r\n </fs-list-column>\r\n</fs-list>"}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":17,"character":3},"arguments":[{"__symbolic":"reference","module":"@firestitch/list","name":"FsListComponent","line":17,"character":13}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":23,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],null],"parameters":[{"__symbolic":"reference","name":"FsAppMessageConfig"},{"__symbolic":"reference","module":"@firestitch/message","name":"FsMessage","line":24,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}]}}},"origins":{"FsAppMessagesModule":"./app/modules/messages/messages.module","FsAppMessageQueuesModule":"./app/modules/message-queues/message-queues.module","FsAppMessageTemplatesModule":"./app/modules/message-templates/message-templates.module","FsAppMessageWebhooksModule":"./app/modules/webhooks/webhooks.module","FsAppMessageModule":"./app/modules/app-message/app-message.module","MessagesComponent":"./app/modules/messages/components/messages/messages.component","MessageComponent":"./app/modules/messages/components/message/message.component","QueuesComponent":"./app/modules/message-queues/components/queues/queues.component","QueueComponent":"./app/modules/message-queues/components/queue/queue.component","TemplatesComponent":"./app/modules/message-templates/components/templates/templates.component","FsAppMessageConfig":"./app/modules/app-message/interfaces","FsMessageQueueService":"./app/modules/message-queues/services/message-queue.service","FS_APP_MESSAGE_CONFIG":"./app/modules/app-message/injectors/app-message-config.injector","ɵa":"./app/modules/message-preview/message-preview.module","ɵb":"./app/modules/message-preview/components/preview","ɵc":"./app/modules/app-message/injectors","ɵd":"./app/modules/message-queues/pipes/linkify.pipe","ɵe":"./app/modules/message-queues/pipes/truncate.pipe","ɵf":"./app/modules/message-queues/components/recipient/recipient.component","ɵg":"./app/modules/message-templates/components/template/template.component","ɵh":"./app/modules/webhooks/components/webhooks/webhooks.component"},"importAs":"@firestitch/app-message"}