@firestitch/app-message 9.0.4 → 9.0.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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","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/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/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/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"],"names":["EmailMessageFormat","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","EmailMessageFormats","name","value","Text","HTML","RichText","PreviewComponent","_data","html","styles","ngOnInit","Inject","args","MAT_DIALOG_DATA","Component","template","FS_APP_MESSAGE_CONFIG","InjectionToken","MessageComponent","_config","_prompt","_message","_dialog","_cdRef","_this","messageTemplates","emailMessageFormats","emailMessageFormat","save","saveMessage","message","pipe","tap","success","loadMessage","subscribe","response","emailMessage","undefined","customize","smsMessage","markForCheck","loadMessageTemplates","data","tabChange","event","tab","textLabel","openPreview","body","messageTemplateId","messageTemplate","find","item","id","content","replace","concat","open","width","sendTest","type","of","switchMap","getTestEmail","default_","typeName","input","label","title","commitLabel","default","required","testMessage","FsPrompt","FsMessage","MatDialog","ChangeDetectorRef","changeDetection","ChangeDetectionStrategy","OnPush","indexNameValue","arry","obj","forEach","EmailMessageQueueFormat","MessageQueueType","MessageQueueState","MessagesComponent","list","config","_destroy$","Subject","filters","ItemType","Keyword","fetch","query","loadMessages","map","paging","afterClosed","takeUntil","updateData","row","ngOnDestroy","next","complete","ViewChild","FsListComponent","static","selector","FsAppMessagePreviewModule","NgModule","imports","MatDialogModule","MatButtonModule","FsDialogModule","FsIFrameModule","declarations","exports","FsAppMessagesModule","RouterModule","CommonModule","FormsModule","MatTabsModule","MatFormFieldModule","MatInputModule","MatOptionModule","MatSelectModule","MatTooltipModule","MatCheckboxModule","FsListModule","FsLabelModule","FlexLayoutModule","FsSkeletonModule","FsFormModule","FsTextEditorModule","FsEditorRichTextModule","MessageQueueStates","Sent","PartiallySent","Sending","Queued","Canceled","InvalidRecipients","Failed","QueueComponent","messageQueueRecipients","emailMessageQueueFormat","messageQueueStates","resendMessageQueue","forwardMessageQueue","loadMessageQueue","messageQueue","emailMessageQueue","format","doc","DOMParser","parseFromString","querySelectorAll","el","setAttribute","documentElement","innerHTML","e","anchorme","smsMessageQueue","reduce","accum","messageQueueRecipient","recipient","state","_setLogsConfig","_setAttachmentsConfig","options","attributes","openMessage","resend","confirm","logList","reload","forward","Email","logConfig","loadMore","queryParam","loadLogs","attachmentConfig","loadMessageQueueAttachments","prettyFilesize","_prettyFilesize","filesize","downloadMessageQueueAttachment","rowActions","click","messageAttachment","bytes","Math","floor","log","pow","toFixed","charAt","QueuesComponent","Select","values","DateRange","sort","direction","messageQueueAttachmentCounts","emailMessageQueues","emailMessageQueueBodies","smsMessageQueues","loadMessageQueues","cancelMessageQueues","selection","selectAll","actions","actionSelected","action","push","SelectionActionType","Action","Input","LinkifyPipe","transform","Pipe","TruncatePipe","limit","completeWords","ellipsis","substr","lastIndexOf","RecipientComponent","icon","S","tooltip","E","F","FsAppMessageQueuesModule","MatIconModule","FsDateModule","FsPromptInputModule","TemplateComponent","_dialogRef","htmlEditorconfig","language","insertSpaces","tabSize","cssEditorconfig","saveMessageTemplate","submitter","close","loadMessageTemplate","MatDialogRef","TemplatesComponent","status","deleteMessageTemplate","remove","menu","FsAppMessageTemplatesModule","FsAppMessageModule","forRoot","ngModule","FsAppMessageModule_1"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","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","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 { 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","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 return this._config.loadMessages(query)\n .pipe(\n map((response) => {\n return response.data.map((item) => ({ name: item.name, value: item.id }));\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"]}
1
+ {"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","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/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/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/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"],"names":["EmailMessageFormat","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","EmailMessageFormats","name","Text","HTML","RichText","PreviewComponent","_data","html","styles","ngOnInit","Inject","args","MAT_DIALOG_DATA","Component","template","FS_APP_MESSAGE_CONFIG","InjectionToken","MessageComponent","_config","_prompt","_message","_dialog","_cdRef","_this","messageTemplates","emailMessageFormats","emailMessageFormat","save","saveMessage","message","pipe","tap","success","loadMessage","subscribe","response","emailMessage","undefined","customize","smsMessage","markForCheck","loadMessageTemplates","data","tabChange","event","tab","textLabel","openPreview","body","messageTemplateId","messageTemplate","find","item","id","content","replace","concat","open","width","sendTest","type","of","switchMap","getTestEmail","default_","typeName","input","label","title","commitLabel","default","required","testMessage","FsPrompt","FsMessage","MatDialog","ChangeDetectorRef","changeDetection","ChangeDetectionStrategy","OnPush","indexNameValue","arry","obj","forEach","EmailMessageQueueFormat","MessageQueueType","MessageQueueState","MessagesComponent","list","config","_destroy$","Subject","filters","ItemType","Keyword","fetch","query","loadMessages","map","paging","afterClosed","takeUntil","updateData","row","ngOnDestroy","complete","ViewChild","FsListComponent","static","selector","FsAppMessagePreviewModule","NgModule","imports","MatDialogModule","MatButtonModule","FsDialogModule","FsIFrameModule","declarations","exports","FsAppMessagesModule","RouterModule","CommonModule","FormsModule","MatTabsModule","MatFormFieldModule","MatInputModule","MatOptionModule","MatSelectModule","MatTooltipModule","MatCheckboxModule","FsListModule","FsLabelModule","FlexLayoutModule","FsSkeletonModule","FsFormModule","FsTextEditorModule","FsEditorRichTextModule","MessageQueueStates","Sent","PartiallySent","Sending","Queued","Canceled","InvalidRecipients","Failed","QueueComponent","messageQueueRecipients","emailMessageQueueFormat","messageQueueStates","resendMessageQueue","forwardMessageQueue","loadMessageQueue","messageQueue","emailMessageQueue","format","doc","DOMParser","parseFromString","querySelectorAll","el","setAttribute","documentElement","innerHTML","anchorme","smsMessageQueue","reduce","accum","messageQueueRecipient","recipient","state","_setLogsConfig","_setAttachmentsConfig","options","attributes","openMessage","resend","confirm","logList","reload","forward","Email","logConfig","loadMore","queryParam","loadLogs","attachmentConfig","loadMessageQueueAttachments","prettyFilesize","_prettyFilesize","filesize","downloadMessageQueueAttachment","rowActions","click","messageAttachment","bytes","Math","floor","log","pow","toFixed","charAt","QueuesComponent","Select","values","DateRange","sort","direction","messageQueueAttachmentCounts","emailMessageQueues","emailMessageQueueBodies","smsMessageQueues","loadMessageQueues","cancelMessageQueues","selection","selectAll","actions","actionSelected","action","SelectionActionType","Action","limit","__spread","Input","LinkifyPipe","transform","Pipe","TruncatePipe","completeWords","ellipsis","substr","lastIndexOf","RecipientComponent","icon","S","tooltip","E","F","FsAppMessageQueuesModule","MatIconModule","FsDateModule","FsPromptInputModule","TemplateComponent","_dialogRef","htmlEditorconfig","language","insertSpaces","tabSize","cssEditorconfig","saveMessageTemplate","submitter","close","loadMessageTemplate","MatDialogRef","TemplatesComponent","status","deleteMessageTemplate","remove","menu","FsAppMessageTemplatesModule","FsAppMessageModule","forRoot","ngModule","FsAppMessageModule_1"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","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","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 { 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","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"]}
@@ -90,9 +90,13 @@ let QueuesComponent = class QueuesComponent {
90
90
  type: ItemType.Select,
91
91
  label: 'Message Type',
92
92
  values: (query) => {
93
+ query = Object.assign(Object.assign({}, query), { limit: 50 });
93
94
  return this._config.loadMessages(query)
94
95
  .pipe(map((response) => {
95
- return response.data.map((item) => ({ name: item.name, value: item.id }));
96
+ return [
97
+ { value: null, name: 'All', },
98
+ ...response.data.map((item) => ({ name: item.name, value: item.id })),
99
+ ];
96
100
  }));
97
101
  }
98
102
  });
@@ -137,4 +141,4 @@ QueuesComponent = __decorate([
137
141
  __metadata("design:paramtypes", [Object, MatDialog])
138
142
  ], QueuesComponent);
139
143
  export { QueuesComponent };
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2FwcC1tZXNzYWdlLyIsInNvdXJjZXMiOlsiYXBwL21vZHVsZXMvbWVzc2FnZS1xdWV1ZXMvY29tcG9uZW50cy9xdWV1ZXMvcXVldWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuQyxPQUFPLEVBQXdCLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBU3ZFLElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWU7SUFhMUIsWUFDeUMsT0FBMkIsRUFDMUQsT0FBa0I7UUFEYSxZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMxRCxZQUFPLEdBQVAsT0FBTyxDQUFXO1FBWnJCLFNB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RUFBRTthQUNiLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7Q0FDRixDQUFBOzs0Q0E3SEksTUFBTSxTQUFDLHFCQUFxQjtZQUNaLFNBQVM7O0FBWjVCO0lBREMsU0FBUyxDQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzs4QkFDaEMsZUFBZTs2Q0FBUTtBQUUzQjtJQUFSLEtBQUssRUFBRTs7OENBQW1CO0FBTGhCLGVBQWU7SUFMM0IsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLHVCQUF1QjtRQUVqQyxnM0ZBQXNDOztLQUN2QyxDQUFDO0lBZUcsV0FBQSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTs2Q0FDYixTQUFTO0dBZmpCLGVBQWUsQ0EySTNCO1NBM0lZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgdGFrZVVudGlsLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRnNMaXN0QWN0aW9uU2VsZWN0ZWQsIEZzTGlzdENvbXBvbmVudCwgRnNMaXN0Q29uZmlnIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbGlzdCc7XG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2ZpbHRlcic7XG5pbXBvcnQgeyBTZWxlY3Rpb25BY3Rpb25UeXBlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvc2VsZWN0aW9uJztcblxuaW1wb3J0IHsgUXVldWVDb21wb25lbnQgfSBmcm9tICcuLi9xdWV1ZSc7XG5pbXBvcnQgeyBNZXNzYWdlUXVldWVTdGF0ZXMgfSBmcm9tICcuLi8uLi9jb25zdHMnO1xuaW1wb3J0IHsgaW5kZXhOYW1lVmFsdWUgfSBmcm9tICcuLi8uLi8uLi8uLi9oZWxwZXJzJztcbmltcG9ydCB7IE1lc3NhZ2VRdWV1ZVN0YXRlIH0gZnJvbSAnLi4vLi4vZW51bXMvbWVzc2FnZS1xdWV1ZS1zdGF0ZS5lbnVtJztcbmltcG9ydCB7IEZTX0FQUF9NRVNTQUdFX0NPTkZJRyB9IGZyb20gJy4uLy4uLy4uL2FwcC1tZXNzYWdlL2luamVjdG9ycyc7XG5pbXBvcnQgeyBGc0FwcE1lc3NhZ2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi9hcHAtbWVzc2FnZS9pbnRlcmZhY2VzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1hcHAtbWVzc2FnZS1xdWV1ZXMnLFxuICBzdHlsZVVybHM6IFsnLi9xdWV1ZXMuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXVlcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUXVldWVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBWaWV3Q2hpbGQoRnNMaXN0Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgbGlzdDogRnNMaXN0Q29tcG9uZW50ID0gbnVsbDtcblxuICBASW5wdXQoKSBwdWJsaWMgcXVlcnkgPSB7fTtcblxuICBwdWJsaWMgY29uZmlnOiBGc0xpc3RDb25maWcgPSBudWxsO1xuICBwdWJsaWMgbWVzc2FnZVF1ZXVlU3RhdGVzID0ge307XG4gIHB1YmxpYyBNZXNzYWdlUXVldWVTdGF0ZSA9IE1lc3NhZ2VRdWV1ZVN0YXRlO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEZTX0FQUF9NRVNTQUdFX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBGc0FwcE1lc3NhZ2VDb25maWcsICAgIFxuICAgIHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nLFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm1lc3NhZ2VRdWV1ZVN0YXRlcyA9IGluZGV4TmFtZVZhbHVlKE1lc3NhZ2VRdWV1ZVN0YXRlcyk7XG5cbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIGZpbHRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdrZXl3b3JkJyxcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5LZXl3b3JkLFxuICAgICAgICAgIGxhYmVsOiAnU2VhcmNoJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3N0YXRlJyxcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXG4gICAgICAgICAgbGFiZWw6ICdTdGF0dXMnLFxuICAgICAgICAgIHZhbHVlczogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE1lc3NhZ2VRdWV1ZVN0YXRlcztcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnZGF0ZScsXG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuRGF0ZVJhbmdlLFxuICAgICAgICAgIGxhYmVsOiBbJ0Zyb20gRGF0ZScsICdUbyBEYXRlJ10sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgc29ydDogeyB2YWx1ZTogJ2NyZWF0ZWRfZGF0ZScsIGRpcmVjdGlvbjogJ2Rlc2MnIH0sXG4gICAgICBmZXRjaDogcXVlcnkgPT4ge1xuICAgICAgICBxdWVyeSA9IHtcbiAgICAgICAgICAuLi5xdWVyeSxcbiAgICAgICAgICAuLi50aGlzLnF1ZXJ5LFxuICAgICAgICAgIG1lc3NhZ2VRdWV1ZUF0dGFjaG1lbnRDb3VudHM6IHRydWUsXG4gICAgICAgICAgZW1haWxNZXNzYWdlUXVldWVzOiB0cnVlLFxuICAgICAgICAgIGVtYWlsTWVzc2FnZVF1ZXVlQm9kaWVzOiBmYWxzZSxcbiAgICAgICAgICBzbXNNZXNzYWdlUXVldWVzOiB0cnVlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcubG9hZE1lc3NhZ2VRdWV1ZXMocXVlcnkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gKHsgZGF0YTogcmVzcG9uc2UuZGF0YVxuICAgICAgICAgICAgICAubWFwKChtZXNzYWdlUXVldWUpID0+IHsgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAuLi5tZXNzYWdlUXVldWUsXG4gICAgICAgICAgICAgICAgICBtZXNzYWdlUXVldWVSZWNpcGllbnRzOiBtZXNzYWdlUXVldWUubWVzc2FnZVF1ZXVlUmVjaXBpZW50c1xuICAgICAgICAgICAgICAgICAgLnJlZHVjZSgoYWNjdW0sIG1lc3NhZ2VRdWV1ZVJlY2lwaWVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhY2N1bVttZXNzYWdlUXVldWVSZWNpcGllbnQucmVjaXBpZW50XSA9IG1lc3NhZ2VRdWV1ZVJlY2lwaWVudC5zdGF0ZTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICAgICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfSksIHBhZ2luZzogcmVzcG9uc2UucGFnaW5nIH0pKVxuICAgICAgICAgIClcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gaWYgYW55IGJ1bGsgYWN0aW9ucyBhZGQgdGhlIHNlbGVjdGlvbiBvYmplY3QgdG8gY29uZmlnLlxuICAgIGlmICh0aGlzLl9jb25maWcuY2FuY2VsTWVzc2FnZVF1ZXVlcykge1xuICAgICAgdGhpcy5jb25maWcuc2VsZWN0aW9uID0ge1xuICAgICAgICBzZWxlY3RBbGw6IGZhbHNlLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgIF0sXG4gICAgICAgIGFjdGlvblNlbGVjdGVkOiAoYWN0aW9uOiBGc0xpc3RBY3Rpb25TZWxlY3RlZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBvZih0cnVlKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbi5hY3Rpb24ubmFtZSA9PT0gJ2NhbmNlbCcpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb25maWcuY2FuY2VsTWVzc2FnZVF1ZXVlcyhhY3Rpb24pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5saXN0LnJlbG9hZCgpO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gYWRkIGVhY2ggaW5kaXZpZHVhbCBidWxrIGFjdGlvbiB0byBzZWxlY3QgYWN0aW9uc1xuICAgIGlmICh0aGlzLl9jb25maWcuY2FuY2VsTWVzc2FnZVF1ZXVlcykge1xuICAgICAgdGhpcy5jb25maWcuc2VsZWN0aW9uLmFjdGlvbnMucHVzaCh7XG4gICAgICAgIHR5cGU6IFNlbGVjdGlvbkFjdGlvblR5cGUuQWN0aW9uLFxuICAgICAgICBuYW1lOiAnY2FuY2VsJyxcbiAgICAgICAgbGFiZWw6ICdDYW5jZWwgUXVldWVkJyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuY29uZmlnLmZpbHRlcnMucHVzaCh7XG4gICAgICBuYW1lOiAnbWVzc2FnZV9pZCcsXG4gICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXG4gICAgICBsYWJlbDogJ01lc3NhZ2UgVHlwZScsXG4gICAgICB2YWx1ZXM6IChxdWVyeSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmxvYWRNZXNzYWdlcyhxdWVyeSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEubWFwKChpdGVtKSA9PiAoeyBuYW1lOiBpdGVtLm5hbWUsIHZhbHVlOiBpdGVtLmlkIH0pKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9wZW4obWVzc2FnZVF1ZXVlKSB7XG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oUXVldWVDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgbWVzc2FnZVF1ZXVlOiBtZXNzYWdlUXVldWUsXG4gICAgICB9LFxuICAgICAgd2lkdGg6ICc4NSUnXG4gICAgfSlcbiAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2FwcC1tZXNzYWdlLyIsInNvdXJjZXMiOlsiYXBwL21vZHVsZXMvbWVzc2FnZS1xdWV1ZXMvY29tcG9uZW50cy9xdWV1ZXMvcXVldWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuQyxPQUFPLEVBQXdCLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBU3ZFLElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWU7SUFhMUIsWUFDeUMsT0FBMkIsRUFDMUQsT0FBa0I7UUFEYSxZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMxRCxZQUFPLEdBQVAsT0FBTyxDQUFXO1FBWnJCLFNB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QUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNoQyxJQUFJLEVBQUU7Z0JBQ0osWUFBWSxFQUFFLFlBQVk7YUFDM0I7WUFDRCxLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7YUFDQyxXQUFXLEVBQUU7YUFDYixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0YsQ0FBQTs7NENBcklJLE1BQU0sU0FBQyxxQkFBcUI7WUFDWixTQUFTOztBQVo1QjtJQURDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7OEJBQ2hDLGVBQWU7NkNBQVE7QUFFM0I7SUFBUixLQUFLLEVBQUU7OzhDQUFtQjtBQUxoQixlQUFlO0lBTDNCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSx1QkFBdUI7UUFFakMsZzNGQUFzQzs7S0FDdkMsQ0FBQztJQWVHLFdBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7NkNBQ2IsU0FBUztHQWZqQixlQUFlLENBbUozQjtTQW5KWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IHRha2VVbnRpbCwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZzTGlzdEFjdGlvblNlbGVjdGVkLCBGc0xpc3RDb21wb25lbnQsIEZzTGlzdENvbmZpZyB9IGZyb20gJ0BmaXJlc3RpdGNoL2xpc3QnO1xuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWx0ZXInO1xuaW1wb3J0IHsgU2VsZWN0aW9uQWN0aW9uVHlwZSB9IGZyb20gJ0BmaXJlc3RpdGNoL3NlbGVjdGlvbic7XG5cbmltcG9ydCB7IFF1ZXVlQ29tcG9uZW50IH0gZnJvbSAnLi4vcXVldWUnO1xuaW1wb3J0IHsgTWVzc2FnZVF1ZXVlU3RhdGVzIH0gZnJvbSAnLi4vLi4vY29uc3RzJztcbmltcG9ydCB7IGluZGV4TmFtZVZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vLi4vaGVscGVycyc7XG5pbXBvcnQgeyBNZXNzYWdlUXVldWVTdGF0ZSB9IGZyb20gJy4uLy4uL2VudW1zL21lc3NhZ2UtcXVldWUtc3RhdGUuZW51bSc7XG5pbXBvcnQgeyBGU19BUFBfTUVTU0FHRV9DT05GSUcgfSBmcm9tICcuLi8uLi8uLi9hcHAtbWVzc2FnZS9pbmplY3RvcnMnO1xuaW1wb3J0IHsgRnNBcHBNZXNzYWdlQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vYXBwLW1lc3NhZ2UvaW50ZXJmYWNlcyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtYXBwLW1lc3NhZ2UtcXVldWVzJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVldWVzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWV1ZXMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXVlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBAVmlld0NoaWxkKEZzTGlzdENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGxpc3Q6IEZzTGlzdENvbXBvbmVudCA9IG51bGw7XG5cbiAgQElucHV0KCkgcHVibGljIHF1ZXJ5ID0ge307XG5cbiAgcHVibGljIGNvbmZpZzogRnNMaXN0Q29uZmlnID0gbnVsbDtcbiAgcHVibGljIG1lc3NhZ2VRdWV1ZVN0YXRlcyA9IHt9O1xuICBwdWJsaWMgTWVzc2FnZVF1ZXVlU3RhdGUgPSBNZXNzYWdlUXVldWVTdGF0ZTtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChGU19BUFBfTUVTU0FHRV9DT05GSUcpIHByaXZhdGUgX2NvbmZpZzogRnNBcHBNZXNzYWdlQ29uZmlnLCAgICBcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5tZXNzYWdlUXVldWVTdGF0ZXMgPSBpbmRleE5hbWVWYWx1ZShNZXNzYWdlUXVldWVTdGF0ZXMpO1xuXG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICBmaWx0ZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAna2V5d29yZCcsXG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuS2V5d29yZCxcbiAgICAgICAgICBsYWJlbDogJ1NlYXJjaCdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdzdGF0ZScsXG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuU2VsZWN0LFxuICAgICAgICAgIGxhYmVsOiAnU3RhdHVzJyxcbiAgICAgICAgICB2YWx1ZXM6ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBNZXNzYWdlUXVldWVTdGF0ZXM7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2RhdGUnLFxuICAgICAgICAgIHR5cGU6IEl0ZW1UeXBlLkRhdGVSYW5nZSxcbiAgICAgICAgICBsYWJlbDogWydGcm9tIERhdGUnLCAnVG8gRGF0ZSddLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHNvcnQ6IHsgdmFsdWU6ICdjcmVhdGVkX2RhdGUnLCBkaXJlY3Rpb246ICdkZXNjJyB9LFxuICAgICAgZmV0Y2g6IHF1ZXJ5ID0+IHtcbiAgICAgICAgcXVlcnkgPSB7XG4gICAgICAgICAgLi4ucXVlcnksXG4gICAgICAgICAgLi4udGhpcy5xdWVyeSxcbiAgICAgICAgICBtZXNzYWdlUXVldWVBdHRhY2htZW50Q291bnRzOiB0cnVlLFxuICAgICAgICAgIGVtYWlsTWVzc2FnZVF1ZXVlczogdHJ1ZSxcbiAgICAgICAgICBlbWFpbE1lc3NhZ2VRdWV1ZUJvZGllczogZmFsc2UsXG4gICAgICAgICAgc21zTWVzc2FnZVF1ZXVlczogdHJ1ZSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmxvYWRNZXNzYWdlUXVldWVzKHF1ZXJ5KVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+ICh7IGRhdGE6IHJlc3BvbnNlLmRhdGFcbiAgICAgICAgICAgICAgLm1hcCgobWVzc2FnZVF1ZXVlKSA9PiB7ICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgLi4ubWVzc2FnZVF1ZXVlLFxuICAgICAgICAgICAgICAgICAgbWVzc2FnZVF1ZXVlUmVjaXBpZW50czogbWVzc2FnZVF1ZXVlLm1lc3NhZ2VRdWV1ZVJlY2lwaWVudHNcbiAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGFjY3VtLCBtZXNzYWdlUXVldWVSZWNpcGllbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYWNjdW1bbWVzc2FnZVF1ZXVlUmVjaXBpZW50LnJlY2lwaWVudF0gPSBtZXNzYWdlUXVldWVSZWNpcGllbnQuc3RhdGU7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgICAgICAgICAgICAgfSwge30pLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH0pLCBwYWdpbmc6IHJlc3BvbnNlLnBhZ2luZyB9KSlcbiAgICAgICAgICApXG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIGlmIGFueSBidWxrIGFjdGlvbnMgYWRkIHRoZSBzZWxlY3Rpb24gb2JqZWN0IHRvIGNvbmZpZy5cbiAgICBpZiAodGhpcy5fY29uZmlnLmNhbmNlbE1lc3NhZ2VRdWV1ZXMpIHtcbiAgICAgIHRoaXMuY29uZmlnLnNlbGVjdGlvbiA9IHtcbiAgICAgICAgc2VsZWN0QWxsOiBmYWxzZSxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICBdLFxuICAgICAgICBhY3Rpb25TZWxlY3RlZDogKGFjdGlvbjogRnNMaXN0QWN0aW9uU2VsZWN0ZWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gb2YodHJ1ZSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChhY3Rpb24uYWN0aW9uLm5hbWUgPT09ICdjYW5jZWwnKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmNhbmNlbE1lc3NhZ2VRdWV1ZXMoYWN0aW9uKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIGFkZCBlYWNoIGluZGl2aWR1YWwgYnVsayBhY3Rpb24gdG8gc2VsZWN0IGFjdGlvbnNcbiAgICBpZiAodGhpcy5fY29uZmlnLmNhbmNlbE1lc3NhZ2VRdWV1ZXMpIHtcbiAgICAgIHRoaXMuY29uZmlnLnNlbGVjdGlvbi5hY3Rpb25zLnB1c2goe1xuICAgICAgICB0eXBlOiBTZWxlY3Rpb25BY3Rpb25UeXBlLkFjdGlvbixcbiAgICAgICAgbmFtZTogJ2NhbmNlbCcsXG4gICAgICAgIGxhYmVsOiAnQ2FuY2VsIFF1ZXVlZCcsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZy5maWx0ZXJzLnB1c2goe1xuICAgICAgbmFtZTogJ21lc3NhZ2VfaWQnLFxuICAgICAgdHlwZTogSXRlbVR5cGUuU2VsZWN0LFxuICAgICAgbGFiZWw6ICdNZXNzYWdlIFR5cGUnLFxuICAgICAgdmFsdWVzOiAocXVlcnkpID0+IHtcbiAgICAgICAgcXVlcnkgPSB7IFxuICAgICAgICAgIC4uLnF1ZXJ5LFxuICAgICAgICAgIGxpbWl0OiA1MCxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmxvYWRNZXNzYWdlcyhxdWVyeSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiBudWxsLCBuYW1lOiAnQWxsJywgfSxcbiAgICAgICAgICAgICAgICAuLi5yZXNwb25zZS5kYXRhLm1hcCgoaXRlbSkgPT4gKHsgbmFtZTogaXRlbS5uYW1lLCB2YWx1ZTogaXRlbS5pZCB9KSksXG4gICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKG1lc3NhZ2VRdWV1ZSkge1xuICAgIHRoaXMuX2RpYWxvZy5vcGVuKFF1ZXVlQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIG1lc3NhZ2VRdWV1ZTogbWVzc2FnZVF1ZXVlLFxuICAgICAgfSxcbiAgICAgIHdpZHRoOiAnODUlJ1xuICAgIH0pXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmxpc3QucmVsb2FkKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { __assign, __decorate, __metadata, __param } from "tslib";
1
+ import { __assign, __decorate, __metadata, __param, __read, __spread } from "tslib";
2
2
  import { Component, Inject, Input, ViewChild } from '@angular/core';
3
3
  import { MatDialog } from '@angular/material/dialog';
4
4
  import { takeUntil, map, switchMap, tap } from 'rxjs/operators';
@@ -91,9 +91,12 @@ var QueuesComponent = /** @class */ (function () {
91
91
  type: ItemType.Select,
92
92
  label: 'Message Type',
93
93
  values: function (query) {
94
+ query = __assign(__assign({}, query), { limit: 50 });
94
95
  return _this._config.loadMessages(query)
95
96
  .pipe(map(function (response) {
96
- return response.data.map(function (item) { return ({ name: item.name, value: item.id }); });
97
+ return __spread([
98
+ { value: null, name: 'All', }
99
+ ], response.data.map(function (item) { return ({ name: item.name, value: item.id }); }));
97
100
  }));
98
101
  }
99
102
  });
@@ -140,4 +143,4 @@ var QueuesComponent = /** @class */ (function () {
140
143
  return QueuesComponent;
141
144
  }());
142
145
  export { QueuesComponent };
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2FwcC1tZXNzYWdlLyIsInNvdXJjZXMiOlsiYXBwL21vZHVsZXMvbWVzc2FnZS1xdWV1ZXMvY29tcG9uZW50cy9xdWV1ZXMvcXVldWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuQyxPQUFPLEVBQXdCLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBU3ZFO0lBYUUseUJBQ3lDLE9BQTJCLEVBQzFELE9BQWtCO1FBRGEsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDMUQsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQVpyQixTQUFJLEdBQW9CLElBQUksQ0FBQztRQUVwQixV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QUNBLFNBQVMsQ0FBQztZQUNULEtBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0scUNBQVcsR0FBbEI7UUFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7Z0RBNUhFLE1BQU0sU0FBQyxxQkFBcUI7Z0JBQ1osU0FBUzs7SUFaNUI7UUFEQyxTQUFTLENBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO2tDQUNoQyxlQUFlO2lEQUFRO0lBRTNCO1FBQVIsS0FBSyxFQUFFOztrREFBbUI7SUFMaEIsZUFBZTtRQUwzQixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsdUJBQXVCO1lBRWpDLGczRkFBc0M7O1NBQ3ZDLENBQUM7UUFlRyxXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO2lEQUNiLFNBQVM7T0FmakIsZUFBZSxDQTJJM0I7SUFBRCxzQkFBQztDQUFBLEFBM0lELElBMklDO1NBM0lZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgdGFrZVVudGlsLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRnNMaXN0QWN0aW9uU2VsZWN0ZWQsIEZzTGlzdENvbXBvbmVudCwgRnNMaXN0Q29uZmlnIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbGlzdCc7XG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2ZpbHRlcic7XG5pbXBvcnQgeyBTZWxlY3Rpb25BY3Rpb25UeXBlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvc2VsZWN0aW9uJztcblxuaW1wb3J0IHsgUXVldWVDb21wb25lbnQgfSBmcm9tICcuLi9xdWV1ZSc7XG5pbXBvcnQgeyBNZXNzYWdlUXVldWVTdGF0ZXMgfSBmcm9tICcuLi8uLi9jb25zdHMnO1xuaW1wb3J0IHsgaW5kZXhOYW1lVmFsdWUgfSBmcm9tICcuLi8uLi8uLi8uLi9oZWxwZXJzJztcbmltcG9ydCB7IE1lc3NhZ2VRdWV1ZVN0YXRlIH0gZnJvbSAnLi4vLi4vZW51bXMvbWVzc2FnZS1xdWV1ZS1zdGF0ZS5lbnVtJztcbmltcG9ydCB7IEZTX0FQUF9NRVNTQUdFX0NPTkZJRyB9IGZyb20gJy4uLy4uLy4uL2FwcC1tZXNzYWdlL2luamVjdG9ycyc7XG5pbXBvcnQgeyBGc0FwcE1lc3NhZ2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi9hcHAtbWVzc2FnZS9pbnRlcmZhY2VzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1hcHAtbWVzc2FnZS1xdWV1ZXMnLFxuICBzdHlsZVVybHM6IFsnLi9xdWV1ZXMuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXVlcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUXVldWVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBWaWV3Q2hpbGQoRnNMaXN0Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgbGlzdDogRnNMaXN0Q29tcG9uZW50ID0gbnVsbDtcblxuICBASW5wdXQoKSBwdWJsaWMgcXVlcnkgPSB7fTtcblxuICBwdWJsaWMgY29uZmlnOiBGc0xpc3RDb25maWcgPSBudWxsO1xuICBwdWJsaWMgbWVzc2FnZVF1ZXVlU3RhdGVzID0ge307XG4gIHB1YmxpYyBNZXNzYWdlUXVldWVTdGF0ZSA9IE1lc3NhZ2VRdWV1ZVN0YXRlO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEZTX0FQUF9NRVNTQUdFX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBGc0FwcE1lc3NhZ2VDb25maWcsICAgIFxuICAgIHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nLFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm1lc3NhZ2VRdWV1ZVN0YXRlcyA9IGluZGV4TmFtZVZhbHVlKE1lc3NhZ2VRdWV1ZVN0YXRlcyk7XG5cbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIGZpbHRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdrZXl3b3JkJyxcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5LZXl3b3JkLFxuICAgICAgICAgIGxhYmVsOiAnU2VhcmNoJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3N0YXRlJyxcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXG4gICAgICAgICAgbGFiZWw6ICdTdGF0dXMnLFxuICAgICAgICAgIHZhbHVlczogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE1lc3NhZ2VRdWV1ZVN0YXRlcztcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnZGF0ZScsXG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuRGF0ZVJhbmdlLFxuICAgICAgICAgIGxhYmVsOiBbJ0Zyb20gRGF0ZScsICdUbyBEYXRlJ10sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgc29ydDogeyB2YWx1ZTogJ2NyZWF0ZWRfZGF0ZScsIGRpcmVjdGlvbjogJ2Rlc2MnIH0sXG4gICAgICBmZXRjaDogcXVlcnkgPT4ge1xuICAgICAgICBxdWVyeSA9IHtcbiAgICAgICAgICAuLi5xdWVyeSxcbiAgICAgICAgICAuLi50aGlzLnF1ZXJ5LFxuICAgICAgICAgIG1lc3NhZ2VRdWV1ZUF0dGFjaG1lbnRDb3VudHM6IHRydWUsXG4gICAgICAgICAgZW1haWxNZXNzYWdlUXVldWVzOiB0cnVlLFxuICAgICAgICAgIGVtYWlsTWVzc2FnZVF1ZXVlQm9kaWVzOiBmYWxzZSxcbiAgICAgICAgICBzbXNNZXNzYWdlUXVldWVzOiB0cnVlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcubG9hZE1lc3NhZ2VRdWV1ZXMocXVlcnkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gKHsgZGF0YTogcmVzcG9uc2UuZGF0YVxuICAgICAgICAgICAgICAubWFwKChtZXNzYWdlUXVldWUpID0+IHsgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAuLi5tZXNzYWdlUXVldWUsXG4gICAgICAgICAgICAgICAgICBtZXNzYWdlUXVldWVSZWNpcGllbnRzOiBtZXNzYWdlUXVldWUubWVzc2FnZVF1ZXVlUmVjaXBpZW50c1xuICAgICAgICAgICAgICAgICAgLnJlZHVjZSgoYWNjdW0sIG1lc3NhZ2VRdWV1ZVJlY2lwaWVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhY2N1bVttZXNzYWdlUXVldWVSZWNpcGllbnQucmVjaXBpZW50XSA9IG1lc3NhZ2VRdWV1ZVJlY2lwaWVudC5zdGF0ZTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICAgICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfSksIHBhZ2luZzogcmVzcG9uc2UucGFnaW5nIH0pKVxuICAgICAgICAgIClcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gaWYgYW55IGJ1bGsgYWN0aW9ucyBhZGQgdGhlIHNlbGVjdGlvbiBvYmplY3QgdG8gY29uZmlnLlxuICAgIGlmICh0aGlzLl9jb25maWcuY2FuY2VsTWVzc2FnZVF1ZXVlcykge1xuICAgICAgdGhpcy5jb25maWcuc2VsZWN0aW9uID0ge1xuICAgICAgICBzZWxlY3RBbGw6IGZhbHNlLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgIF0sXG4gICAgICAgIGFjdGlvblNlbGVjdGVkOiAoYWN0aW9uOiBGc0xpc3RBY3Rpb25TZWxlY3RlZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBvZih0cnVlKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbi5hY3Rpb24ubmFtZSA9PT0gJ2NhbmNlbCcpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb25maWcuY2FuY2VsTWVzc2FnZVF1ZXVlcyhhY3Rpb24pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5saXN0LnJlbG9hZCgpO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gYWRkIGVhY2ggaW5kaXZpZHVhbCBidWxrIGFjdGlvbiB0byBzZWxlY3QgYWN0aW9uc1xuICAgIGlmICh0aGlzLl9jb25maWcuY2FuY2VsTWVzc2FnZVF1ZXVlcykge1xuICAgICAgdGhpcy5jb25maWcuc2VsZWN0aW9uLmFjdGlvbnMucHVzaCh7XG4gICAgICAgIHR5cGU6IFNlbGVjdGlvbkFjdGlvblR5cGUuQWN0aW9uLFxuICAgICAgICBuYW1lOiAnY2FuY2VsJyxcbiAgICAgICAgbGFiZWw6ICdDYW5jZWwgUXVldWVkJyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuY29uZmlnLmZpbHRlcnMucHVzaCh7XG4gICAgICBuYW1lOiAnbWVzc2FnZV9pZCcsXG4gICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXG4gICAgICBsYWJlbDogJ01lc3NhZ2UgVHlwZScsXG4gICAgICB2YWx1ZXM6IChxdWVyeSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmxvYWRNZXNzYWdlcyhxdWVyeSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEubWFwKChpdGVtKSA9PiAoeyBuYW1lOiBpdGVtLm5hbWUsIHZhbHVlOiBpdGVtLmlkIH0pKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9wZW4obWVzc2FnZVF1ZXVlKSB7XG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oUXVldWVDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgbWVzc2FnZVF1ZXVlOiBtZXNzYWdlUXVldWUsXG4gICAgICB9LFxuICAgICAgd2lkdGg6ICc4NSUnXG4gICAgfSlcbiAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2FwcC1tZXNzYWdlLyIsInNvdXJjZXMiOlsiYXBwL21vZHVsZXMvbWVzc2FnZS1xdWV1ZXMvY29tcG9uZW50cy9xdWV1ZXMvcXVldWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuQyxPQUFPLEVBQXdCLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBU3ZFO0lBYUUseUJBQ3lDLE9BQTJCLEVBQzFELE9BQWtCO1FBRGEsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDMUQsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQVpyQixTQUFJLEdBQW9CLElBQUksQ0FBQztRQUVwQixV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WTthQUMzQjtZQUNELEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQzthQUNDLFdBQVcsRUFBRTthQUNiLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQztZQUNULEtBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0scUNBQVcsR0FBbEI7UUFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7Z0RBcElFLE1BQU0sU0FBQyxxQkFBcUI7Z0JBQ1osU0FBUzs7SUFaNUI7UUFEQyxTQUFTLENBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO2tDQUNoQyxlQUFlO2lEQUFRO0lBRTNCO1FBQVIsS0FBSyxFQUFFOztrREFBbUI7SUFMaEIsZUFBZTtRQUwzQixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsdUJBQXVCO1lBRWpDLGczRkFBc0M7O1NBQ3ZDLENBQUM7UUFlRyxXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO2lEQUNiLFNBQVM7T0FmakIsZUFBZSxDQW1KM0I7SUFBRCxzQkFBQztDQUFBLEFBbkpELElBbUpDO1NBbkpZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgdGFrZVVudGlsLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRnNMaXN0QWN0aW9uU2VsZWN0ZWQsIEZzTGlzdENvbXBvbmVudCwgRnNMaXN0Q29uZmlnIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbGlzdCc7XG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2ZpbHRlcic7XG5pbXBvcnQgeyBTZWxlY3Rpb25BY3Rpb25UeXBlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvc2VsZWN0aW9uJztcblxuaW1wb3J0IHsgUXVldWVDb21wb25lbnQgfSBmcm9tICcuLi9xdWV1ZSc7XG5pbXBvcnQgeyBNZXNzYWdlUXVldWVTdGF0ZXMgfSBmcm9tICcuLi8uLi9jb25zdHMnO1xuaW1wb3J0IHsgaW5kZXhOYW1lVmFsdWUgfSBmcm9tICcuLi8uLi8uLi8uLi9oZWxwZXJzJztcbmltcG9ydCB7IE1lc3NhZ2VRdWV1ZVN0YXRlIH0gZnJvbSAnLi4vLi4vZW51bXMvbWVzc2FnZS1xdWV1ZS1zdGF0ZS5lbnVtJztcbmltcG9ydCB7IEZTX0FQUF9NRVNTQUdFX0NPTkZJRyB9IGZyb20gJy4uLy4uLy4uL2FwcC1tZXNzYWdlL2luamVjdG9ycyc7XG5pbXBvcnQgeyBGc0FwcE1lc3NhZ2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi9hcHAtbWVzc2FnZS9pbnRlcmZhY2VzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1hcHAtbWVzc2FnZS1xdWV1ZXMnLFxuICBzdHlsZVVybHM6IFsnLi9xdWV1ZXMuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXVlcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUXVldWVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBWaWV3Q2hpbGQoRnNMaXN0Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgbGlzdDogRnNMaXN0Q29tcG9uZW50ID0gbnVsbDtcblxuICBASW5wdXQoKSBwdWJsaWMgcXVlcnkgPSB7fTtcblxuICBwdWJsaWMgY29uZmlnOiBGc0xpc3RDb25maWcgPSBudWxsO1xuICBwdWJsaWMgbWVzc2FnZVF1ZXVlU3RhdGVzID0ge307XG4gIHB1YmxpYyBNZXNzYWdlUXVldWVTdGF0ZSA9IE1lc3NhZ2VRdWV1ZVN0YXRlO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEZTX0FQUF9NRVNTQUdFX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBGc0FwcE1lc3NhZ2VDb25maWcsICAgIFxuICAgIHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nLFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm1lc3NhZ2VRdWV1ZVN0YXRlcyA9IGluZGV4TmFtZVZhbHVlKE1lc3NhZ2VRdWV1ZVN0YXRlcyk7XG5cbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIGZpbHRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdrZXl3b3JkJyxcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5LZXl3b3JkLFxuICAgICAgICAgIGxhYmVsOiAnU2VhcmNoJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3N0YXRlJyxcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXG4gICAgICAgICAgbGFiZWw6ICdTdGF0dXMnLFxuICAgICAgICAgIHZhbHVlczogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE1lc3NhZ2VRdWV1ZVN0YXRlcztcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnZGF0ZScsXG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuRGF0ZVJhbmdlLFxuICAgICAgICAgIGxhYmVsOiBbJ0Zyb20gRGF0ZScsICdUbyBEYXRlJ10sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgc29ydDogeyB2YWx1ZTogJ2NyZWF0ZWRfZGF0ZScsIGRpcmVjdGlvbjogJ2Rlc2MnIH0sXG4gICAgICBmZXRjaDogcXVlcnkgPT4ge1xuICAgICAgICBxdWVyeSA9IHtcbiAgICAgICAgICAuLi5xdWVyeSxcbiAgICAgICAgICAuLi50aGlzLnF1ZXJ5LFxuICAgICAgICAgIG1lc3NhZ2VRdWV1ZUF0dGFjaG1lbnRDb3VudHM6IHRydWUsXG4gICAgICAgICAgZW1haWxNZXNzYWdlUXVldWVzOiB0cnVlLFxuICAgICAgICAgIGVtYWlsTWVzc2FnZVF1ZXVlQm9kaWVzOiBmYWxzZSxcbiAgICAgICAgICBzbXNNZXNzYWdlUXVldWVzOiB0cnVlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcubG9hZE1lc3NhZ2VRdWV1ZXMocXVlcnkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gKHsgZGF0YTogcmVzcG9uc2UuZGF0YVxuICAgICAgICAgICAgICAubWFwKChtZXNzYWdlUXVldWUpID0+IHsgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAuLi5tZXNzYWdlUXVldWUsXG4gICAgICAgICAgICAgICAgICBtZXNzYWdlUXVldWVSZWNpcGllbnRzOiBtZXNzYWdlUXVldWUubWVzc2FnZVF1ZXVlUmVjaXBpZW50c1xuICAgICAgICAgICAgICAgICAgLnJlZHVjZSgoYWNjdW0sIG1lc3NhZ2VRdWV1ZVJlY2lwaWVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhY2N1bVttZXNzYWdlUXVldWVSZWNpcGllbnQucmVjaXBpZW50XSA9IG1lc3NhZ2VRdWV1ZVJlY2lwaWVudC5zdGF0ZTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICAgICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfSksIHBhZ2luZzogcmVzcG9uc2UucGFnaW5nIH0pKVxuICAgICAgICAgIClcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gaWYgYW55IGJ1bGsgYWN0aW9ucyBhZGQgdGhlIHNlbGVjdGlvbiBvYmplY3QgdG8gY29uZmlnLlxuICAgIGlmICh0aGlzLl9jb25maWcuY2FuY2VsTWVzc2FnZVF1ZXVlcykge1xuICAgICAgdGhpcy5jb25maWcuc2VsZWN0aW9uID0ge1xuICAgICAgICBzZWxlY3RBbGw6IGZhbHNlLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgIF0sXG4gICAgICAgIGFjdGlvblNlbGVjdGVkOiAoYWN0aW9uOiBGc0xpc3RBY3Rpb25TZWxlY3RlZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBvZih0cnVlKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbi5hY3Rpb24ubmFtZSA9PT0gJ2NhbmNlbCcpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb25maWcuY2FuY2VsTWVzc2FnZVF1ZXVlcyhhY3Rpb24pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5saXN0LnJlbG9hZCgpO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gYWRkIGVhY2ggaW5kaXZpZHVhbCBidWxrIGFjdGlvbiB0byBzZWxlY3QgYWN0aW9uc1xuICAgIGlmICh0aGlzLl9jb25maWcuY2FuY2VsTWVzc2FnZVF1ZXVlcykge1xuICAgICAgdGhpcy5jb25maWcuc2VsZWN0aW9uLmFjdGlvbnMucHVzaCh7XG4gICAgICAgIHR5cGU6IFNlbGVjdGlvbkFjdGlvblR5cGUuQWN0aW9uLFxuICAgICAgICBuYW1lOiAnY2FuY2VsJyxcbiAgICAgICAgbGFiZWw6ICdDYW5jZWwgUXVldWVkJyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuY29uZmlnLmZpbHRlcnMucHVzaCh7XG4gICAgICBuYW1lOiAnbWVzc2FnZV9pZCcsXG4gICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXG4gICAgICBsYWJlbDogJ01lc3NhZ2UgVHlwZScsXG4gICAgICB2YWx1ZXM6IChxdWVyeSkgPT4ge1xuICAgICAgICBxdWVyeSA9IHsgXG4gICAgICAgICAgLi4ucXVlcnksXG4gICAgICAgICAgbGltaXQ6IDUwLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcubG9hZE1lc3NhZ2VzKHF1ZXJ5KVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHsgdmFsdWU6IG51bGwsIG5hbWU6ICdBbGwnLCB9LFxuICAgICAgICAgICAgICAgIC4uLnJlc3BvbnNlLmRhdGEubWFwKChpdGVtKSA9PiAoeyBuYW1lOiBpdGVtLm5hbWUsIHZhbHVlOiBpdGVtLmlkIH0pKSxcbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9wZW4obWVzc2FnZVF1ZXVlKSB7XG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oUXVldWVDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgbWVzc2FnZVF1ZXVlOiBtZXNzYWdlUXVldWUsXG4gICAgICB9LFxuICAgICAgd2lkdGg6ICc4NSUnXG4gICAgfSlcbiAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -596,9 +596,13 @@ let QueuesComponent = class QueuesComponent {
596
596
  type: ItemType.Select,
597
597
  label: 'Message Type',
598
598
  values: (query) => {
599
+ query = Object.assign(Object.assign({}, query), { limit: 50 });
599
600
  return this._config.loadMessages(query)
600
601
  .pipe(map((response) => {
601
- return response.data.map((item) => ({ name: item.name, value: item.id }));
602
+ return [
603
+ { value: null, name: 'All', },
604
+ ...response.data.map((item) => ({ name: item.name, value: item.id })),
605
+ ];
602
606
  }));
603
607
  }
604
608
  });