@firestitch/app-message 9.1.1 → 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.
- package/app/modules/message-queues/components/queues/queues.component.d.ts +3 -1
- package/app/modules/message-queues/services/message-queue.service.d.ts +9 -0
- package/app/modules/webhooks/components/webhooks/webhooks.component.d.ts +12 -0
- package/app/modules/webhooks/webhooks.module.d.ts +2 -0
- package/bundles/firestitch-app-message.umd.js +161 -54
- package/bundles/firestitch-app-message.umd.js.map +1 -1
- package/bundles/firestitch-app-message.umd.min.js +1 -1
- package/bundles/firestitch-app-message.umd.min.js.map +1 -1
- package/esm2015/app/modules/message-queues/components/queue/queue.component.js +2 -2
- package/esm2015/app/modules/message-queues/components/queues/queues.component.js +10 -13
- package/esm2015/app/modules/message-queues/components/recipient/recipient.component.js +3 -3
- package/esm2015/app/modules/message-queues/message-queues.module.js +6 -2
- package/esm2015/app/modules/message-queues/services/message-queue.service.js +31 -0
- package/esm2015/app/modules/webhooks/components/webhooks/webhooks.component.js +63 -0
- package/esm2015/app/modules/webhooks/webhooks.module.js +23 -0
- package/esm2015/firestitch-app-message.js +3 -2
- package/esm2015/public_api.js +3 -1
- package/esm5/app/modules/message-queues/components/queue/queue.component.js +2 -2
- package/esm5/app/modules/message-queues/components/queues/queues.component.js +10 -13
- package/esm5/app/modules/message-queues/components/recipient/recipient.component.js +3 -3
- package/esm5/app/modules/message-queues/message-queues.module.js +6 -2
- package/esm5/app/modules/message-queues/services/message-queue.service.js +33 -0
- package/esm5/app/modules/webhooks/components/webhooks/webhooks.component.js +65 -0
- package/esm5/app/modules/webhooks/webhooks.module.js +26 -0
- package/esm5/firestitch-app-message.js +3 -2
- package/esm5/public_api.js +3 -1
- package/fesm2015/firestitch-app-message.js +150 -53
- package/fesm2015/firestitch-app-message.js.map +1 -1
- package/fesm5/firestitch-app-message.js +160 -56
- package/fesm5/firestitch-app-message.js.map +1 -1
- package/firestitch-app-message.d.ts +2 -1
- package/firestitch-app-message.metadata.json +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +2 -0
- package/app/modules/message-queues/components/index.d.ts +0 -3
- package/app/modules/message-queues/components/queue/index.d.ts +0 -1
- package/app/modules/message-queues/components/queues/index.d.ts +0 -1
- package/app/modules/message-queues/components/recipient/index.d.ts +0 -1
- package/esm2015/app/modules/message-queues/components/index.js +0 -4
- package/esm2015/app/modules/message-queues/components/queue/index.js +0 -2
- package/esm2015/app/modules/message-queues/components/queues/index.js +0 -2
- package/esm2015/app/modules/message-queues/components/recipient/index.js +0 -2
- package/esm5/app/modules/message-queues/components/index.js +0 -4
- package/esm5/app/modules/message-queues/components/queue/index.js +0 -2
- package/esm5/app/modules/message-queues/components/queues/index.js +0 -2
- package/esm5/app/modules/message-queues/components/recipient/index.js +0 -2
|
@@ -1 +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/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 { 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 { 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';"],"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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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate, __param, __metadata, __assign, __spread } from 'tslib';
|
|
2
|
-
import { Inject, Component, InjectionToken, ChangeDetectorRef, ChangeDetectionStrategy, ViewChild, NgModule, Input, Pipe } from '@angular/core';
|
|
2
|
+
import { Inject, Component, InjectionToken, ChangeDetectorRef, ChangeDetectionStrategy, ViewChild, NgModule, Injectable, Input, Pipe } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { RouterModule } from '@angular/router';
|
|
5
5
|
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
@@ -327,19 +327,6 @@ var FsAppMessagesModule = /** @class */ (function () {
|
|
|
327
327
|
return FsAppMessagesModule;
|
|
328
328
|
}());
|
|
329
329
|
|
|
330
|
-
var EmailMessageQueueFormat;
|
|
331
|
-
(function (EmailMessageQueueFormat) {
|
|
332
|
-
EmailMessageQueueFormat["Text"] = "T";
|
|
333
|
-
EmailMessageQueueFormat["HTML"] = "H";
|
|
334
|
-
EmailMessageQueueFormat["RichText"] = "R";
|
|
335
|
-
})(EmailMessageQueueFormat || (EmailMessageQueueFormat = {}));
|
|
336
|
-
|
|
337
|
-
var MessageQueueType;
|
|
338
|
-
(function (MessageQueueType) {
|
|
339
|
-
MessageQueueType["Sms"] = "S";
|
|
340
|
-
MessageQueueType["Email"] = "E";
|
|
341
|
-
})(MessageQueueType || (MessageQueueType = {}));
|
|
342
|
-
|
|
343
330
|
var MessageQueueState;
|
|
344
331
|
(function (MessageQueueState) {
|
|
345
332
|
MessageQueueState["Sent"] = "S";
|
|
@@ -361,6 +348,19 @@ var MessageQueueStates = [
|
|
|
361
348
|
{ name: 'Failed', value: MessageQueueState.Failed }
|
|
362
349
|
];
|
|
363
350
|
|
|
351
|
+
var EmailMessageQueueFormat;
|
|
352
|
+
(function (EmailMessageQueueFormat) {
|
|
353
|
+
EmailMessageQueueFormat["Text"] = "T";
|
|
354
|
+
EmailMessageQueueFormat["HTML"] = "H";
|
|
355
|
+
EmailMessageQueueFormat["RichText"] = "R";
|
|
356
|
+
})(EmailMessageQueueFormat || (EmailMessageQueueFormat = {}));
|
|
357
|
+
|
|
358
|
+
var MessageQueueType;
|
|
359
|
+
(function (MessageQueueType) {
|
|
360
|
+
MessageQueueType["Sms"] = "S";
|
|
361
|
+
MessageQueueType["Email"] = "E";
|
|
362
|
+
})(MessageQueueType || (MessageQueueType = {}));
|
|
363
|
+
|
|
364
364
|
var QueueComponent = /** @class */ (function () {
|
|
365
365
|
function QueueComponent(_config, _message, _prompt, _dialog, _data) {
|
|
366
366
|
this._config = _config;
|
|
@@ -377,7 +377,7 @@ var QueueComponent = /** @class */ (function () {
|
|
|
377
377
|
this.messageQueueStates = indexNameValue(MessageQueueStates);
|
|
378
378
|
this.resendMessageQueue = this._config.resendMessageQueue;
|
|
379
379
|
this.forwardMessageQueue = this._config.forwardMessageQueue;
|
|
380
|
-
this._config.loadMessageQueue(this._data.
|
|
380
|
+
this._config.loadMessageQueue(this._data.messageQueueId)
|
|
381
381
|
.subscribe(function (messageQueue) {
|
|
382
382
|
_this.messageQueue = messageQueue;
|
|
383
383
|
if (_this.messageQueue.emailMessageQueue) {
|
|
@@ -538,10 +538,37 @@ var QueueComponent = /** @class */ (function () {
|
|
|
538
538
|
return QueueComponent;
|
|
539
539
|
}());
|
|
540
540
|
|
|
541
|
+
var FsMessageQueueService = /** @class */ (function () {
|
|
542
|
+
function FsMessageQueueService(_dialog) {
|
|
543
|
+
this._dialog = _dialog;
|
|
544
|
+
this._destroy$ = new Subject();
|
|
545
|
+
}
|
|
546
|
+
FsMessageQueueService.prototype.openMessageQueue = function (messageQueueId, options) {
|
|
547
|
+
if (options === void 0) { options = {}; }
|
|
548
|
+
return this._dialog.open(QueueComponent, __assign(__assign({}, options), { data: {
|
|
549
|
+
messageQueueId: messageQueueId,
|
|
550
|
+
}, width: options.width || '85%' })).afterClosed()
|
|
551
|
+
.pipe(takeUntil(this._destroy$));
|
|
552
|
+
};
|
|
553
|
+
FsMessageQueueService.prototype.ngOnDestroy = function () {
|
|
554
|
+
this._destroy$.next();
|
|
555
|
+
this._destroy$.complete();
|
|
556
|
+
};
|
|
557
|
+
FsMessageQueueService.ctorParameters = function () { return [
|
|
558
|
+
{ type: MatDialog }
|
|
559
|
+
]; };
|
|
560
|
+
FsMessageQueueService = __decorate([
|
|
561
|
+
Injectable(),
|
|
562
|
+
__metadata("design:paramtypes", [MatDialog])
|
|
563
|
+
], FsMessageQueueService);
|
|
564
|
+
return FsMessageQueueService;
|
|
565
|
+
}());
|
|
566
|
+
|
|
541
567
|
var QueuesComponent = /** @class */ (function () {
|
|
542
|
-
function QueuesComponent(_config, _dialog) {
|
|
568
|
+
function QueuesComponent(_config, _dialog, _messageQueueService) {
|
|
543
569
|
this._config = _config;
|
|
544
570
|
this._dialog = _dialog;
|
|
571
|
+
this._messageQueueService = _messageQueueService;
|
|
545
572
|
this.list = null;
|
|
546
573
|
this.query = {};
|
|
547
574
|
this.config = null;
|
|
@@ -630,13 +657,7 @@ var QueuesComponent = /** @class */ (function () {
|
|
|
630
657
|
};
|
|
631
658
|
QueuesComponent.prototype.open = function (messageQueue) {
|
|
632
659
|
var _this = this;
|
|
633
|
-
this.
|
|
634
|
-
data: {
|
|
635
|
-
messageQueue: messageQueue,
|
|
636
|
-
},
|
|
637
|
-
width: '85%'
|
|
638
|
-
})
|
|
639
|
-
.afterClosed()
|
|
660
|
+
this._messageQueueService.openMessageQueue(messageQueue.id)
|
|
640
661
|
.pipe(takeUntil(this._destroy$))
|
|
641
662
|
.subscribe(function () {
|
|
642
663
|
_this.list.reload();
|
|
@@ -648,7 +669,8 @@ var QueuesComponent = /** @class */ (function () {
|
|
|
648
669
|
};
|
|
649
670
|
QueuesComponent.ctorParameters = function () { return [
|
|
650
671
|
{ type: undefined, decorators: [{ type: Inject, args: [FS_APP_MESSAGE_CONFIG,] }] },
|
|
651
|
-
{ type: MatDialog }
|
|
672
|
+
{ type: MatDialog },
|
|
673
|
+
{ type: FsMessageQueueService }
|
|
652
674
|
]; };
|
|
653
675
|
__decorate([
|
|
654
676
|
ViewChild(FsListComponent, { static: true }),
|
|
@@ -661,15 +683,45 @@ var QueuesComponent = /** @class */ (function () {
|
|
|
661
683
|
QueuesComponent = __decorate([
|
|
662
684
|
Component({
|
|
663
685
|
selector: 'fs-app-message-queues',
|
|
664
|
-
template: "<fs-list [config]=\"config\" #list>\n <fs-list-column title=\"Message\" name=\"subject\" sortable=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <a (click)=\"open(row)\">{{row.emailMessageQueue.subject|truncate:100}}</a>\n <mat-icon *ngIf=\"row.messageQueueAttachmentCount\" [matTooltip]=\"row.messageQueueAttachmentCount + ' Attachment(s)'\">attach_file</mat-icon>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <a (click)=\"open(row)\">{{row.smsMessageQueue.body|truncate:100}}</a>\n </ng-container>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Recipients\" class=\"col-recipients\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <ng-container *ngIf=\"row.emailMessageQueue.toRecipients.length; else unspecified\">\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.toRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient]\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.ccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient]\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.bccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient]\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <ng-container *ngIf=\"row.smsMessageQueue.toNumber; else unspecified\">\n <app-recipient \n class=\"small\"\n [state]=\"row.state\"\n [name]=\"row.smsMessageQueue.toNumber\">\n </app-recipient>\n </ng-container>\n </ng-container>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Status\" class=\"col-state\">\n <ng-template fs-list-cell let-row=\"row\">\n <span [class]=\"'state-' + row.state\">{{messageQueueStates[row.state]}}</span>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Date\" name=\"created_date\" sortable=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n
|
|
686
|
+
template: "<fs-list [config]=\"config\" #list>\n <fs-list-column title=\"Message\" name=\"subject\" sortable=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <a (click)=\"open(row)\">{{row.emailMessageQueue.subject|truncate:100}}</a>\n <mat-icon *ngIf=\"row.messageQueueAttachmentCount\" [matTooltip]=\"row.messageQueueAttachmentCount + ' Attachment(s)'\">attach_file</mat-icon>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <a (click)=\"open(row)\">{{row.smsMessageQueue.body|truncate:100}}</a>\n </ng-container>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Recipients\" class=\"col-recipients\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <ng-container *ngIf=\"row.emailMessageQueue.toRecipients.length; else unspecified\">\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.toRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.ccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.bccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <ng-container *ngIf=\"row.smsMessageQueue.toNumber; else unspecified\">\n <app-recipient \n class=\"small\"\n [state]=\"row.state\"\n [name]=\"row.smsMessageQueue.toNumber\">\n </app-recipient>\n </ng-container>\n </ng-container>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Status\" class=\"col-state\">\n <ng-template fs-list-cell let-row=\"row\">\n <span [class]=\"'state-' + row.state\">{{messageQueueStates[row.state]}}</span>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Date\" name=\"created_date\" sortable=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createdDate | fsDateFormat: 'date-time-yeardiff' }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n\n<ng-template #unspecified>\n <app-recipient \n class=\"small\"\n [state]=\"MessageQueueState.Failed\"\n name=\"Unspecified\">\n </app-recipient>\n</ng-template>",
|
|
665
687
|
styles: [":host ::ng-deep .col-recipients small+small:before{content:\", \"}:host ::ng-deep .col-state .state-F,:host ::ng-deep .col-state .state-P{color:#d8524e}"]
|
|
666
688
|
}),
|
|
667
689
|
__param(0, Inject(FS_APP_MESSAGE_CONFIG)),
|
|
668
|
-
__metadata("design:paramtypes", [Object, MatDialog
|
|
690
|
+
__metadata("design:paramtypes", [Object, MatDialog,
|
|
691
|
+
FsMessageQueueService])
|
|
669
692
|
], QueuesComponent);
|
|
670
693
|
return QueuesComponent;
|
|
671
694
|
}());
|
|
672
695
|
|
|
696
|
+
var RecipientComponent = /** @class */ (function () {
|
|
697
|
+
function RecipientComponent() {
|
|
698
|
+
}
|
|
699
|
+
RecipientComponent.prototype.ngOnInit = function () {
|
|
700
|
+
var icons = {
|
|
701
|
+
'S': { name: 'check_circle', tooltip: 'Sent' },
|
|
702
|
+
'E': { name: 'offline_bolt', tooltip: 'Sending' },
|
|
703
|
+
'F': { name: 'info', tooltip: 'Failed' },
|
|
704
|
+
};
|
|
705
|
+
this.icon = icons[this.state];
|
|
706
|
+
};
|
|
707
|
+
__decorate([
|
|
708
|
+
Input(),
|
|
709
|
+
__metadata("design:type", Object)
|
|
710
|
+
], RecipientComponent.prototype, "name", void 0);
|
|
711
|
+
__decorate([
|
|
712
|
+
Input(),
|
|
713
|
+
__metadata("design:type", Object)
|
|
714
|
+
], RecipientComponent.prototype, "state", void 0);
|
|
715
|
+
RecipientComponent = __decorate([
|
|
716
|
+
Component({
|
|
717
|
+
selector: 'app-recipient',
|
|
718
|
+
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>",
|
|
719
|
+
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}"]
|
|
720
|
+
})
|
|
721
|
+
], RecipientComponent);
|
|
722
|
+
return RecipientComponent;
|
|
723
|
+
}());
|
|
724
|
+
|
|
673
725
|
var LinkifyPipe = /** @class */ (function () {
|
|
674
726
|
function LinkifyPipe() {
|
|
675
727
|
}
|
|
@@ -712,35 +764,6 @@ var TruncatePipe = /** @class */ (function () {
|
|
|
712
764
|
return TruncatePipe;
|
|
713
765
|
}());
|
|
714
766
|
|
|
715
|
-
var RecipientComponent = /** @class */ (function () {
|
|
716
|
-
function RecipientComponent() {
|
|
717
|
-
}
|
|
718
|
-
RecipientComponent.prototype.ngOnInit = function () {
|
|
719
|
-
var icons = {
|
|
720
|
-
'S': { name: 'check_circle', tooltip: 'Sent' },
|
|
721
|
-
'E': { name: 'offline_bolt', tooltip: 'Sending' },
|
|
722
|
-
'F': { name: 'info', tooltip: 'Failed' },
|
|
723
|
-
};
|
|
724
|
-
this.icon = icons[this.state];
|
|
725
|
-
};
|
|
726
|
-
__decorate([
|
|
727
|
-
Input(),
|
|
728
|
-
__metadata("design:type", Object)
|
|
729
|
-
], RecipientComponent.prototype, "name", void 0);
|
|
730
|
-
__decorate([
|
|
731
|
-
Input(),
|
|
732
|
-
__metadata("design:type", Object)
|
|
733
|
-
], RecipientComponent.prototype, "state", void 0);
|
|
734
|
-
RecipientComponent = __decorate([
|
|
735
|
-
Component({
|
|
736
|
-
selector: 'app-recipient',
|
|
737
|
-
template: "<span class=\"recipient\">\n <mat-icon *ngIf=\"icon\" [class]=\"'state-' + state\" [matTooltip]=\"icon.tooltip\">{{icon.name}}</mat-icon>\n <span class=\"name\">{{name}}</span>\n</span>",
|
|
738
|
-
styles: ["mat-icon{font-size:14px;width:14px;height:14px;line-height:normal;margin-right:2px}mat-icon.state-S{color:#5fa099}mat-icon.state-E{color:#fbbc04}mat-icon.state-F{color:#d8524e}.recipient{display:inline-flex;align-items:center}"]
|
|
739
|
-
})
|
|
740
|
-
], RecipientComponent);
|
|
741
|
-
return RecipientComponent;
|
|
742
|
-
}());
|
|
743
|
-
|
|
744
767
|
var FsAppMessageQueuesModule = /** @class */ (function () {
|
|
745
768
|
function FsAppMessageQueuesModule() {
|
|
746
769
|
}
|
|
@@ -776,6 +799,9 @@ var FsAppMessageQueuesModule = /** @class */ (function () {
|
|
|
776
799
|
exports: [
|
|
777
800
|
QueuesComponent,
|
|
778
801
|
QueueComponent,
|
|
802
|
+
],
|
|
803
|
+
providers: [
|
|
804
|
+
FsMessageQueueService
|
|
779
805
|
]
|
|
780
806
|
})
|
|
781
807
|
], FsAppMessageQueuesModule);
|
|
@@ -975,6 +1001,84 @@ var FsAppMessageTemplatesModule = /** @class */ (function () {
|
|
|
975
1001
|
return FsAppMessageTemplatesModule;
|
|
976
1002
|
}());
|
|
977
1003
|
|
|
1004
|
+
var WebhooksComponent = /** @class */ (function () {
|
|
1005
|
+
function WebhooksComponent(_config, _message) {
|
|
1006
|
+
this._config = _config;
|
|
1007
|
+
this._message = _message;
|
|
1008
|
+
}
|
|
1009
|
+
WebhooksComponent.prototype.ngOnInit = function () {
|
|
1010
|
+
var _this = this;
|
|
1011
|
+
this.listConfig = {
|
|
1012
|
+
paging: false,
|
|
1013
|
+
actions: [
|
|
1014
|
+
{
|
|
1015
|
+
click: function () {
|
|
1016
|
+
_this._config.createWebhook()
|
|
1017
|
+
.subscribe(function () {
|
|
1018
|
+
_this._message.success('Created webhook');
|
|
1019
|
+
_this.list.reload();
|
|
1020
|
+
});
|
|
1021
|
+
},
|
|
1022
|
+
label: 'Create',
|
|
1023
|
+
},
|
|
1024
|
+
],
|
|
1025
|
+
rowActions: [
|
|
1026
|
+
{
|
|
1027
|
+
click: function (webhook) {
|
|
1028
|
+
_this._config.deleteWebhook(webhook)
|
|
1029
|
+
.subscribe(function () {
|
|
1030
|
+
_this._message.success('Deleted webhook');
|
|
1031
|
+
_this.list.reload();
|
|
1032
|
+
});
|
|
1033
|
+
},
|
|
1034
|
+
label: 'Delete',
|
|
1035
|
+
},
|
|
1036
|
+
],
|
|
1037
|
+
fetch: function () {
|
|
1038
|
+
return _this._config.loadWebhooks()
|
|
1039
|
+
.pipe(map(function (webhooks) { return ({ data: webhooks }); }));
|
|
1040
|
+
},
|
|
1041
|
+
};
|
|
1042
|
+
};
|
|
1043
|
+
WebhooksComponent.ctorParameters = function () { return [
|
|
1044
|
+
{ type: undefined, decorators: [{ type: Inject, args: [FS_APP_MESSAGE_CONFIG,] }] },
|
|
1045
|
+
{ type: FsMessage }
|
|
1046
|
+
]; };
|
|
1047
|
+
__decorate([
|
|
1048
|
+
ViewChild(FsListComponent),
|
|
1049
|
+
__metadata("design:type", FsListComponent)
|
|
1050
|
+
], WebhooksComponent.prototype, "list", void 0);
|
|
1051
|
+
WebhooksComponent = __decorate([
|
|
1052
|
+
Component({
|
|
1053
|
+
selector: 'fs-app-message-webhooks',
|
|
1054
|
+
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>"
|
|
1055
|
+
}),
|
|
1056
|
+
__param(0, Inject(FS_APP_MESSAGE_CONFIG)),
|
|
1057
|
+
__metadata("design:paramtypes", [Object, FsMessage])
|
|
1058
|
+
], WebhooksComponent);
|
|
1059
|
+
return WebhooksComponent;
|
|
1060
|
+
}());
|
|
1061
|
+
|
|
1062
|
+
var FsAppMessageWebhooksModule = /** @class */ (function () {
|
|
1063
|
+
function FsAppMessageWebhooksModule() {
|
|
1064
|
+
}
|
|
1065
|
+
FsAppMessageWebhooksModule = __decorate([
|
|
1066
|
+
NgModule({
|
|
1067
|
+
imports: [
|
|
1068
|
+
FsListModule,
|
|
1069
|
+
FsDateModule,
|
|
1070
|
+
],
|
|
1071
|
+
declarations: [
|
|
1072
|
+
WebhooksComponent,
|
|
1073
|
+
],
|
|
1074
|
+
exports: [
|
|
1075
|
+
WebhooksComponent,
|
|
1076
|
+
],
|
|
1077
|
+
})
|
|
1078
|
+
], FsAppMessageWebhooksModule);
|
|
1079
|
+
return FsAppMessageWebhooksModule;
|
|
1080
|
+
}());
|
|
1081
|
+
|
|
978
1082
|
var FsAppMessageModule = /** @class */ (function () {
|
|
979
1083
|
function FsAppMessageModule() {
|
|
980
1084
|
}
|
|
@@ -999,5 +1103,5 @@ var FsAppMessageModule = /** @class */ (function () {
|
|
|
999
1103
|
* Generated bundle index. Do not edit.
|
|
1000
1104
|
*/
|
|
1001
1105
|
|
|
1002
|
-
export { FS_APP_MESSAGE_CONFIG, FsAppMessageModule, FsAppMessageQueuesModule, FsAppMessageTemplatesModule, 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 };
|
|
1106
|
+
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 };
|
|
1003
1107
|
//# sourceMappingURL=firestitch-app-message.js.map
|