@firestitch/app-message 15.0.0 → 17.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/modules/message-queues/components/queues/queues.component.d.ts +1 -1
- package/app/modules/message-queues/components/recipient/recipient.component.d.ts +1 -1
- package/app/modules/messages/components/attachments/attachments.component.d.ts +1 -1
- package/{esm2020 → esm2022}/app/modules/app-message/app-message.module.mjs +5 -5
- package/esm2022/app/modules/message-preview/components/preview/preview.component.mjs +29 -0
- package/{esm2020 → esm2022}/app/modules/message-preview/message-preview.module.mjs +11 -11
- package/esm2022/app/modules/message-queues/components/queue/queue.component.mjs +225 -0
- package/esm2022/app/modules/message-queues/components/queues/queues.component.mjs +203 -0
- package/esm2022/app/modules/message-queues/components/recipient/recipient.component.mjs +29 -0
- package/{esm2020 → esm2022}/app/modules/message-queues/message-queues.module.mjs +46 -46
- package/{esm2020 → esm2022}/app/modules/message-queues/pipes/linkify.pipe.mjs +4 -4
- package/esm2022/app/modules/message-queues/pipes/truncate.pipe.mjs +22 -0
- package/esm2022/app/modules/message-queues/services/message-queue.service.mjs +30 -0
- package/esm2022/app/modules/message-templates/components/template/template.component.mjs +87 -0
- package/esm2022/app/modules/message-templates/components/templates/templates.component.mjs +83 -0
- package/{esm2020 → esm2022}/app/modules/message-templates/message-templates.module.mjs +39 -39
- package/esm2022/app/modules/messages/components/attachments/attachments.component.mjs +84 -0
- package/esm2022/app/modules/messages/components/message/message.component.mjs +136 -0
- package/esm2022/app/modules/messages/components/messages/messages.component.mjs +74 -0
- package/{esm2020 → esm2022}/app/modules/messages/messages.module.mjs +52 -52
- package/esm2022/app/modules/webhooks/components/webhooks/webhooks.component.mjs +67 -0
- package/{esm2020 → esm2022}/app/modules/webhooks/webhooks.module.mjs +7 -7
- package/{fesm2020 → fesm2022}/firestitch-app-message.mjs +320 -269
- package/fesm2022/firestitch-app-message.mjs.map +1 -0
- package/package.json +5 -11
- package/esm2020/app/modules/message-preview/components/preview/preview.component.mjs +0 -26
- package/esm2020/app/modules/message-queues/components/queue/queue.component.mjs +0 -210
- package/esm2020/app/modules/message-queues/components/queues/queues.component.mjs +0 -198
- package/esm2020/app/modules/message-queues/components/recipient/recipient.component.mjs +0 -26
- package/esm2020/app/modules/message-queues/pipes/truncate.pipe.mjs +0 -22
- package/esm2020/app/modules/message-queues/services/message-queue.service.mjs +0 -29
- package/esm2020/app/modules/message-templates/components/template/template.component.mjs +0 -81
- package/esm2020/app/modules/message-templates/components/templates/templates.component.mjs +0 -81
- package/esm2020/app/modules/messages/components/attachments/attachments.component.mjs +0 -81
- package/esm2020/app/modules/messages/components/message/message.component.mjs +0 -129
- package/esm2020/app/modules/messages/components/messages/messages.component.mjs +0 -72
- package/esm2020/app/modules/webhooks/components/webhooks/webhooks.component.mjs +0 -63
- package/fesm2015/firestitch-app-message.mjs +0 -1317
- package/fesm2015/firestitch-app-message.mjs.map +0 -1
- package/fesm2020/firestitch-app-message.mjs.map +0 -1
- /package/{esm2020 → esm2022}/app/helpers/index-name-value.mjs +0 -0
- /package/{esm2020 → esm2022}/app/helpers/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/app-message/injectors/app-message-config.injector.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/app-message/injectors/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/app-message/interfaces/app-message-config.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/app-message/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/app-message/types/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/app-message/types/types.type.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/message-preview/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/message-preview/components/preview/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/message-queues/consts/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/message-queues/consts/message-queue-event-type.const.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/message-queues/consts/message-queue-states.const.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/message-queues/enums/email-message-queue-format.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/message-queues/enums/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/message-queues/enums/message-queue-event-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/message-queues/enums/message-queue-state.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/message-queues/enums/message-queue-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/message-templates/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/message-templates/components/template/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/message-templates/components/templates/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/messages/components/attachments/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/messages/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/messages/components/message/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/messages/components/messages/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/messages/consts/email-message-formats.const.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/messages/consts/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/messages/enums/email-message-format.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/app/modules/messages/enums/index.mjs +0 -0
- /package/{esm2020 → esm2022}/firestitch-app-message.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { ItemType } from '@firestitch/filter';
|
|
3
|
+
import { FsListComponent } from '@firestitch/list';
|
|
4
|
+
import { SelectionActionType } from '@firestitch/selection';
|
|
5
|
+
import { FsStore } from '@firestitch/store';
|
|
6
|
+
import { Subject } from 'rxjs';
|
|
7
|
+
import { filter, map, takeUntil, tap } from 'rxjs/operators';
|
|
8
|
+
import { isAfter } from 'date-fns';
|
|
9
|
+
import { indexNameValue } from '../../../../helpers';
|
|
10
|
+
import { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';
|
|
11
|
+
import { MessageQueueStates } from '../../consts';
|
|
12
|
+
import { MessageQueueType } from '../../enums';
|
|
13
|
+
import { MessageQueueState } from '../../enums/message-queue-state.enum';
|
|
14
|
+
import { FsMessageQueueService } from '../../services/message-queue.service';
|
|
15
|
+
import * as i0 from "@angular/core";
|
|
16
|
+
import * as i1 from "../../services/message-queue.service";
|
|
17
|
+
import * as i2 from "@firestitch/store";
|
|
18
|
+
import * as i3 from "@angular/common";
|
|
19
|
+
import * as i4 from "@angular/material/tooltip";
|
|
20
|
+
import * as i5 from "@angular/material/button";
|
|
21
|
+
import * as i6 from "@angular/material/icon";
|
|
22
|
+
import * as i7 from "@firestitch/list";
|
|
23
|
+
import * as i8 from "@firestitch/form";
|
|
24
|
+
import * as i9 from "@firestitch/message";
|
|
25
|
+
import * as i10 from "../recipient/recipient.component";
|
|
26
|
+
import * as i11 from "@firestitch/date";
|
|
27
|
+
import * as i12 from "../../pipes/truncate.pipe";
|
|
28
|
+
export class QueuesComponent {
|
|
29
|
+
_config;
|
|
30
|
+
_messageQueueService;
|
|
31
|
+
_cdRef;
|
|
32
|
+
_store;
|
|
33
|
+
list = null;
|
|
34
|
+
query = {};
|
|
35
|
+
type = null;
|
|
36
|
+
config = null;
|
|
37
|
+
messageQueueStates = {};
|
|
38
|
+
MessageQueueState = MessageQueueState;
|
|
39
|
+
webHookEnabled;
|
|
40
|
+
_destroy$ = new Subject();
|
|
41
|
+
constructor(_config, _messageQueueService, _cdRef, _store) {
|
|
42
|
+
this._config = _config;
|
|
43
|
+
this._messageQueueService = _messageQueueService;
|
|
44
|
+
this._cdRef = _cdRef;
|
|
45
|
+
this._store = _store;
|
|
46
|
+
}
|
|
47
|
+
ngOnInit() {
|
|
48
|
+
this.messageQueueStates = indexNameValue(MessageQueueStates);
|
|
49
|
+
this.initList();
|
|
50
|
+
this.initWebhook();
|
|
51
|
+
}
|
|
52
|
+
enableWebhook() {
|
|
53
|
+
this._config.createWebhook()
|
|
54
|
+
.subscribe(() => {
|
|
55
|
+
this.initWebhook();
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
initWebhook() {
|
|
59
|
+
const domain = document.location.hostname;
|
|
60
|
+
if (domain === 'localhost' || domain === '[::1]') {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
this._config.loadWebhooks({ domain })
|
|
64
|
+
.pipe(filter(() => {
|
|
65
|
+
return !this._store.get('messagesWebhookEnabled');
|
|
66
|
+
}))
|
|
67
|
+
.subscribe((webhooks) => {
|
|
68
|
+
this._cdRef.markForCheck();
|
|
69
|
+
this.webHookEnabled = webhooks
|
|
70
|
+
.some((webhook) => {
|
|
71
|
+
const url = new URL(webhook.url);
|
|
72
|
+
return url.host === domain;
|
|
73
|
+
});
|
|
74
|
+
this._store.set('messagesWebhookEnabled', this.webHookEnabled);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
initList() {
|
|
78
|
+
this.config = {
|
|
79
|
+
filters: [
|
|
80
|
+
{
|
|
81
|
+
name: 'keyword',
|
|
82
|
+
type: ItemType.Keyword,
|
|
83
|
+
label: 'Search',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: 'state',
|
|
87
|
+
type: ItemType.Select,
|
|
88
|
+
label: 'Status',
|
|
89
|
+
values: () => {
|
|
90
|
+
return MessageQueueStates;
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
name: 'date',
|
|
95
|
+
type: ItemType.DateRange,
|
|
96
|
+
label: ['From Date', 'To Date'],
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
sort: { value: 'created_date', direction: 'desc' },
|
|
100
|
+
fetch: (query) => {
|
|
101
|
+
query = {
|
|
102
|
+
...query,
|
|
103
|
+
...this.query,
|
|
104
|
+
type: this.type,
|
|
105
|
+
messageQueueAttachmentCounts: true,
|
|
106
|
+
emailMessageQueues: true,
|
|
107
|
+
emailMessageQueueBodies: false,
|
|
108
|
+
smsMessageQueues: true,
|
|
109
|
+
};
|
|
110
|
+
return this._config.loadMessageQueues(query)
|
|
111
|
+
.pipe(map((response) => ({
|
|
112
|
+
data: response.data
|
|
113
|
+
.map((messageQueue) => {
|
|
114
|
+
return {
|
|
115
|
+
...messageQueue,
|
|
116
|
+
scheduled: messageQueue.state === MessageQueueState.Queued && isAfter(messageQueue.scheduledDate, new Date()),
|
|
117
|
+
messageQueueRecipients: messageQueue.messageQueueRecipients
|
|
118
|
+
.reduce((accum, messageQueueRecipient) => {
|
|
119
|
+
accum[messageQueueRecipient.recipient] = messageQueueRecipient.state;
|
|
120
|
+
return accum;
|
|
121
|
+
}, {}),
|
|
122
|
+
};
|
|
123
|
+
}), paging: response.paging,
|
|
124
|
+
})));
|
|
125
|
+
},
|
|
126
|
+
};
|
|
127
|
+
if (this._config.bulkMessageQueues) {
|
|
128
|
+
this.config.selection = {
|
|
129
|
+
selectAll: false,
|
|
130
|
+
actions: [
|
|
131
|
+
{
|
|
132
|
+
type: SelectionActionType.Action,
|
|
133
|
+
name: 'queue',
|
|
134
|
+
label: 'Queue',
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: SelectionActionType.Action,
|
|
138
|
+
name: 'resend',
|
|
139
|
+
label: 'Resend',
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
type: SelectionActionType.Action,
|
|
143
|
+
name: 'cancel',
|
|
144
|
+
label: 'Cancel',
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
actionSelected: (actionSelected) => {
|
|
148
|
+
return this._config.bulkMessageQueues(actionSelected.action.name, actionSelected.selected)
|
|
149
|
+
.pipe(tap(() => {
|
|
150
|
+
this.list.reload();
|
|
151
|
+
}));
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
this.config.filters.push({
|
|
156
|
+
name: 'messageId',
|
|
157
|
+
type: ItemType.Select,
|
|
158
|
+
label: 'Message Type',
|
|
159
|
+
values: (query) => {
|
|
160
|
+
query = {
|
|
161
|
+
...query,
|
|
162
|
+
limit: 50,
|
|
163
|
+
};
|
|
164
|
+
return this._config.loadMessages(query)
|
|
165
|
+
.pipe(map((response) => {
|
|
166
|
+
return [
|
|
167
|
+
{ value: null, name: 'All' },
|
|
168
|
+
...response.data
|
|
169
|
+
.map((item) => ({ name: item.name, value: item.id })),
|
|
170
|
+
];
|
|
171
|
+
}));
|
|
172
|
+
},
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
open(messageQueue) {
|
|
176
|
+
this._messageQueueService.openMessageQueue(messageQueue.id)
|
|
177
|
+
.pipe(takeUntil(this._destroy$))
|
|
178
|
+
.subscribe(() => {
|
|
179
|
+
this.list.reload();
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
ngOnDestroy() {
|
|
183
|
+
this._destroy$.next(null);
|
|
184
|
+
this._destroy$.complete();
|
|
185
|
+
}
|
|
186
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: QueuesComponent, deps: [{ token: FS_APP_MESSAGE_CONFIG }, { token: i1.FsMessageQueueService }, { token: i0.ChangeDetectorRef }, { token: i2.FsStore }], target: i0.ɵɵFactoryTarget.Component });
|
|
187
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: QueuesComponent, selector: "fs-app-message-queues", inputs: { query: "query", type: "type" }, viewQueries: [{ propertyName: "list", first: true, predicate: FsListComponent, descendants: true, static: true }], ngImport: i0, template: "<ng-container *ngIf=\"webHookEnabled === false\">\n <fs-message-info>\n <div class=\"fs-row\">\n <span class=\"fs-flex\">The webhook which provides email delivery confirmations is not enabled.</span>\n <a \n (click)=\"enableWebhook()\"\n mat-raised-button>\n Enable\n </a>\n </div>\n\n </fs-message-info>\n</ng-container>\n\n<fs-list [config]=\"config\" #list>\n <fs-list-column title=\"Message\" name=\"subject\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <a (click)=\"open(row)\">{{row.emailMessageQueue.subject|truncate:100}}</a>\n <ng-container *ngIf=\"row.messageQueueAttachmentCount\">\n <mat-icon \n class=\"attachment-icon\"\n [matTooltip]=\"row.messageQueueAttachmentCount + ' Attachment(s)'\">\n attach_file\n </mat-icon>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <a (click)=\"open(row)\">{{row.smsMessageQueue.body|truncate:100}}</a>\n </ng-container>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Recipients\" class=\"col-recipients\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <ng-container *ngIf=\"row.emailMessageQueue.toRecipients.length; else unspecified\">\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.toRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.ccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.bccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <ng-container *ngIf=\"row.smsMessageQueue.toNumber; else unspecified\">\n <app-recipient \n class=\"small\"\n [state]=\"row.state\"\n [name]=\"row.smsMessageQueue.toNumber\">\n </app-recipient>\n </ng-container>\n </ng-container>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Status\" class=\"col-state\">\n <ng-template fs-list-cell let-row=\"row\"> \n <ng-container *ngIf=\"row.scheduled; else state\">\n Scheduled\n <div class=\"small\">\n {{row.scheduledDate | fsDateFormat: 'date-time' }}\n </div>\n </ng-container>\n <ng-template #state>\n <span [class]=\"'state-' + row.state\">{{messageQueueStates[row.state]}}</span>\n </ng-template>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Date\" name=\"created_date\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createdDate | fsDateFormat: 'date-time-yeardiff' }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n\n<ng-template #unspecified>\n <app-recipient \n class=\"small\"\n [state]=\"MessageQueueState.Failed\"\n name=\"Unspecified\">\n </app-recipient>\n</ng-template>", styles: [":host ::ng-deep .col-recipients small+small:before{content:\", \"}:host ::ng-deep .col-state .state-F,:host ::ng-deep .col-state .state-P{color:#d8524e}.attachment-icon{vertical-align:bottom}fs-message-info{margin-bottom:10px;display:block}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { kind: "directive", type: i7.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "sortableDirection", "direction", "align", "width", "class"] }, { kind: "directive", type: i7.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { kind: "directive", type: i8.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "component", type: i9.FsMessageInfoComponent, selector: "fs-message-info" }, { kind: "component", type: i10.RecipientComponent, selector: "app-recipient", inputs: ["name", "state"] }, { kind: "pipe", type: i11.FsDateFormatPipe, name: "fsDateFormat" }, { kind: "pipe", type: i12.TruncatePipe, name: "truncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
188
|
+
}
|
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: QueuesComponent, decorators: [{
|
|
190
|
+
type: Component,
|
|
191
|
+
args: [{ selector: 'fs-app-message-queues', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"webHookEnabled === false\">\n <fs-message-info>\n <div class=\"fs-row\">\n <span class=\"fs-flex\">The webhook which provides email delivery confirmations is not enabled.</span>\n <a \n (click)=\"enableWebhook()\"\n mat-raised-button>\n Enable\n </a>\n </div>\n\n </fs-message-info>\n</ng-container>\n\n<fs-list [config]=\"config\" #list>\n <fs-list-column title=\"Message\" name=\"subject\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <a (click)=\"open(row)\">{{row.emailMessageQueue.subject|truncate:100}}</a>\n <ng-container *ngIf=\"row.messageQueueAttachmentCount\">\n <mat-icon \n class=\"attachment-icon\"\n [matTooltip]=\"row.messageQueueAttachmentCount + ' Attachment(s)'\">\n attach_file\n </mat-icon>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <a (click)=\"open(row)\">{{row.smsMessageQueue.body|truncate:100}}</a>\n </ng-container>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Recipients\" class=\"col-recipients\">\n <ng-template fs-list-cell let-row=\"row\">\n <ng-container *ngIf=\"row.emailMessageQueue\">\n <ng-container *ngIf=\"row.emailMessageQueue.toRecipients.length; else unspecified\">\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.toRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.ccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n <div class=\"small\" *ngFor=\"let recipient of row.emailMessageQueue.bccRecipients\">\n <app-recipient \n [state]=\"row.messageQueueRecipients[recipient] || row.state\"\n [name]=\"recipient\">\n </app-recipient>\n </div>\n </ng-container>\n <ng-container *ngIf=\"row.smsMessageQueue\">\n <ng-container *ngIf=\"row.smsMessageQueue.toNumber; else unspecified\">\n <app-recipient \n class=\"small\"\n [state]=\"row.state\"\n [name]=\"row.smsMessageQueue.toNumber\">\n </app-recipient>\n </ng-container>\n </ng-container>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Status\" class=\"col-state\">\n <ng-template fs-list-cell let-row=\"row\"> \n <ng-container *ngIf=\"row.scheduled; else state\">\n Scheduled\n <div class=\"small\">\n {{row.scheduledDate | fsDateFormat: 'date-time' }}\n </div>\n </ng-container>\n <ng-template #state>\n <span [class]=\"'state-' + row.state\">{{messageQueueStates[row.state]}}</span>\n </ng-template>\n </ng-template>\n </fs-list-column> \n <fs-list-column title=\"Date\" name=\"created_date\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.createdDate | fsDateFormat: 'date-time-yeardiff' }}\n </ng-template>\n </fs-list-column>\n</fs-list>\n\n<ng-template #unspecified>\n <app-recipient \n class=\"small\"\n [state]=\"MessageQueueState.Failed\"\n name=\"Unspecified\">\n </app-recipient>\n</ng-template>", styles: [":host ::ng-deep .col-recipients small+small:before{content:\", \"}:host ::ng-deep .col-state .state-F,:host ::ng-deep .col-state .state-P{color:#d8524e}.attachment-icon{vertical-align:bottom}fs-message-info{margin-bottom:10px;display:block}\n"] }]
|
|
192
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
193
|
+
type: Inject,
|
|
194
|
+
args: [FS_APP_MESSAGE_CONFIG]
|
|
195
|
+
}] }, { type: i1.FsMessageQueueService }, { type: i0.ChangeDetectorRef }, { type: i2.FsStore }], propDecorators: { list: [{
|
|
196
|
+
type: ViewChild,
|
|
197
|
+
args: [FsListComponent, { static: true }]
|
|
198
|
+
}], query: [{
|
|
199
|
+
type: Input
|
|
200
|
+
}], type: [{
|
|
201
|
+
type: Input
|
|
202
|
+
}] } });
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9tZXNzYWdlLXF1ZXVlcy9jb21wb25lbnRzL3F1ZXVlcy9xdWV1ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL21lc3NhZ2UtcXVldWVzL2NvbXBvbmVudHMvcXVldWVzL3F1ZXVlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduSSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUF3QixlQUFlLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFp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QUMsTUFBTTs7MEJBbUI1QyxNQUFNOzJCQUFDLHFCQUFxQjttSUFkeEIsSUFBSTtzQkFEVixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRzVCLEtBQUs7c0JBQXBCLEtBQUs7Z0JBRVUsSUFBSTtzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWx0ZXInO1xuaW1wb3J0IHsgRnNMaXN0QWN0aW9uU2VsZWN0ZWQsIEZzTGlzdENvbXBvbmVudCwgRnNMaXN0Q29uZmlnIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbGlzdCc7XG5pbXBvcnQgeyBTZWxlY3Rpb25BY3Rpb25UeXBlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvc2VsZWN0aW9uJztcbmltcG9ydCB7IEZzU3RvcmUgfSBmcm9tICdAZmlyZXN0aXRjaC9zdG9yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgaXNBZnRlciB9IGZyb20gJ2RhdGUtZm5zJztcblxuaW1wb3J0IHsgaW5kZXhOYW1lVmFsdWUgfSBmcm9tICcuLi8uLi8uLi8uLi9oZWxwZXJzJztcbmltcG9ydCB7IEZTX0FQUF9NRVNTQUdFX0NPTkZJRyB9IGZyb20gJy4uLy4uLy4uL2FwcC1tZXNzYWdlL2luamVjdG9ycyc7XG5pbXBvcnQgeyBGc0FwcE1lc3NhZ2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi9hcHAtbWVzc2FnZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1lc3NhZ2VRdWV1ZVN0YXRlcyB9IGZyb20gJy4uLy4uL2NvbnN0cyc7XG5pbXBvcnQgeyBNZXNzYWdlUXVldWVUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgTWVzc2FnZVF1ZXVlU3RhdGUgfSBmcm9tICcuLi8uLi9lbnVtcy9tZXNzYWdlLXF1ZXVlLXN0YXRlLmVudW0nO1xuaW1wb3J0IHsgRnNNZXNzYWdlUXVldWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZS1xdWV1ZS5zZXJ2aWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1hcHAtbWVzc2FnZS1xdWV1ZXMnLFxuICBzdHlsZVVybHM6IFsnLi9xdWV1ZXMuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXVlcy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBRdWV1ZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQFZpZXdDaGlsZChGc0xpc3RDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBsaXN0OiBGc0xpc3RDb21wb25lbnQgPSBudWxsO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBxdWVyeSA9IHt9O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyB0eXBlOiBNZXNzYWdlUXVldWVUeXBlID0gbnVsbDtcblxuICBwdWJsaWMgY29uZmlnOiBGc0xpc3RDb25maWcgPSBudWxsO1xuICBwdWJsaWMgbWVzc2FnZVF1ZXVlU3RhdGVzID0ge307XG4gIHB1YmxpYyBNZXNzYWdlUXVldWVTdGF0ZSA9IE1lc3NhZ2VRdWV1ZVN0YXRlO1xuICBwdWJsaWMgd2ViSG9va0VuYWJsZWQ7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRlNfQVBQX01FU1NBR0VfQ09ORklHKSBwcml2YXRlIF9jb25maWc6IEZzQXBwTWVzc2FnZUNvbmZpZyxcbiAgICBwcml2YXRlIF9tZXNzYWdlUXVldWVTZXJ2aWNlOiBGc01lc3NhZ2VRdWV1ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX3N0b3JlOiBGc1N0b3JlLFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm1lc3NhZ2VRdWV1ZVN0YXRlcyA9IGluZGV4TmFtZVZhbHVlKE1lc3NhZ2VRdWV1ZVN0YXRlcyk7XG4gICAgdGhpcy5pbml0TGlzdCgpO1xuICAgIHRoaXMuaW5pdFdlYmhvb2soKTtcbiAgfVxuXG4gIHB1YmxpYyBlbmFibGVXZWJob29rKCkge1xuICAgIHRoaXMuX2NvbmZpZy5jcmVhdGVXZWJob29rKClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmluaXRXZWJob29rKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0V2ViaG9vaygpIHtcbiAgICBjb25zdCBkb21haW4gPSBkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZTtcblxuICAgIGlmKGRvbWFpbiA9PT0gJ2xvY2FsaG9zdCcgfHwgZG9tYWluID09PSAnWzo6MV0nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fY29uZmlnLmxvYWRXZWJob29rcyh7IGRvbWFpbiB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuICF0aGlzLl9zdG9yZS5nZXQoJ21lc3NhZ2VzV2ViaG9va0VuYWJsZWQnKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh3ZWJob29rcykgPT4ge1xuICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgdGhpcy53ZWJIb29rRW5hYmxlZCA9IHdlYmhvb2tzXG4gICAgICAgICAgLnNvbWUoKHdlYmhvb2spID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwod2ViaG9vay51cmwpO1xuXG4gICAgICAgICAgICByZXR1cm4gdXJsLmhvc3QgPT09IGRvbWFpbjtcbiAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9zdG9yZS5zZXQoJ21lc3NhZ2VzV2ViaG9va0VuYWJsZWQnLCB0aGlzLndlYkhvb2tFbmFibGVkKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGluaXRMaXN0KCkge1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgZmlsdGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2tleXdvcmQnLFxuICAgICAgICAgIHR5cGU6IEl0ZW1UeXBlLktleXdvcmQsXG4gICAgICAgICAgbGFiZWw6ICdTZWFyY2gnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3N0YXRlJyxcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXG4gICAgICAgICAgbGFiZWw6ICdTdGF0dXMnLFxuICAgICAgICAgIHZhbHVlczogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE1lc3NhZ2VRdWV1ZVN0YXRlcztcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2RhdGUnLFxuICAgICAgICAgIHR5cGU6IEl0ZW1UeXBlLkRhdGVSYW5nZSxcbiAgICAgICAgICBsYWJlbDogWydGcm9tIERhdGUnLCAnVG8gRGF0ZSddLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHNvcnQ6IHsgdmFsdWU6ICdjcmVhdGVkX2RhdGUnLCBkaXJlY3Rpb246ICdkZXNjJyB9LFxuICAgICAgZmV0Y2g6IChxdWVyeSkgPT4ge1xuICAgICAgICBxdWVyeSA9IHtcbiAgICAgICAgICAuLi5xdWVyeSxcbiAgICAgICAgICAuLi50aGlzLnF1ZXJ5LFxuICAgICAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgICAgICBtZXNzYWdlUXVldWVBdHRhY2htZW50Q291bnRzOiB0cnVlLFxuICAgICAgICAgIGVtYWlsTWVzc2FnZVF1ZXVlczogdHJ1ZSxcbiAgICAgICAgICBlbWFpbE1lc3NhZ2VRdWV1ZUJvZGllczogZmFsc2UsXG4gICAgICAgICAgc21zTWVzc2FnZVF1ZXVlczogdHJ1ZSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmxvYWRNZXNzYWdlUXVldWVzKHF1ZXJ5KVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4gKHtcbiAgICAgICAgICAgICAgZGF0YTogcmVzcG9uc2UuZGF0YVxuICAgICAgICAgICAgICAgIC5tYXAoKG1lc3NhZ2VRdWV1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4ubWVzc2FnZVF1ZXVlLFxuICAgICAgICAgICAgICAgICAgICBzY2hlZHVsZWQ6IG1lc3NhZ2VRdWV1ZS5zdGF0ZSA9PT0gTWVzc2FnZVF1ZXVlU3RhdGUuUXVldWVkICYmIGlzQWZ0ZXIobWVzc2FnZVF1ZXVlLnNjaGVkdWxlZERhdGUsIG5ldyBEYXRlKCkpLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlUXVldWVSZWNpcGllbnRzOiBtZXNzYWdlUXVldWUubWVzc2FnZVF1ZXVlUmVjaXBpZW50c1xuICAgICAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGFjY3VtLCBtZXNzYWdlUXVldWVSZWNpcGllbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjY3VtW21lc3NhZ2VRdWV1ZVJlY2lwaWVudC5yZWNpcGllbnRdID0gbWVzc2FnZVF1ZXVlUmVjaXBpZW50LnN0YXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICAgICAgICAgICAgICAgICAgfSwge30pLFxuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KSwgcGFnaW5nOiByZXNwb25zZS5wYWdpbmcsXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGlmICh0aGlzLl9jb25maWcuYnVsa01lc3NhZ2VRdWV1ZXMpIHtcbiAgICAgIHRoaXMuY29uZmlnLnNlbGVjdGlvbiA9IHtcbiAgICAgICAgc2VsZWN0QWxsOiBmYWxzZSxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6IFNlbGVjdGlvbkFjdGlvblR5cGUuQWN0aW9uLFxuICAgICAgICAgICAgbmFtZTogJ3F1ZXVlJyxcbiAgICAgICAgICAgIGxhYmVsOiAnUXVldWUnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogU2VsZWN0aW9uQWN0aW9uVHlwZS5BY3Rpb24sXG4gICAgICAgICAgICBuYW1lOiAncmVzZW5kJyxcbiAgICAgICAgICAgIGxhYmVsOiAnUmVzZW5kJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6IFNlbGVjdGlvbkFjdGlvblR5cGUuQWN0aW9uLFxuICAgICAgICAgICAgbmFtZTogJ2NhbmNlbCcsXG4gICAgICAgICAgICBsYWJlbDogJ0NhbmNlbCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgYWN0aW9uU2VsZWN0ZWQ6IChhY3Rpb25TZWxlY3RlZDogRnNMaXN0QWN0aW9uU2VsZWN0ZWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmJ1bGtNZXNzYWdlUXVldWVzKGFjdGlvblNlbGVjdGVkLmFjdGlvbi5uYW1lLCBhY3Rpb25TZWxlY3RlZC5zZWxlY3RlZClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZy5maWx0ZXJzLnB1c2goe1xuICAgICAgbmFtZTogJ21lc3NhZ2VJZCcsXG4gICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXG4gICAgICBsYWJlbDogJ01lc3NhZ2UgVHlwZScsXG4gICAgICB2YWx1ZXM6IChxdWVyeSkgPT4ge1xuICAgICAgICBxdWVyeSA9IHtcbiAgICAgICAgICAuLi5xdWVyeSxcbiAgICAgICAgICBsaW1pdDogNTAsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5sb2FkTWVzc2FnZXMocXVlcnkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogbnVsbCwgbmFtZTogJ0FsbCcgfSxcbiAgICAgICAgICAgICAgICAuLi5yZXNwb25zZS5kYXRhXG4gICAgICAgICAgICAgICAgICAubWFwKChpdGVtKSA9PiAoeyBuYW1lOiBpdGVtLm5hbWUsIHZhbHVlOiBpdGVtLmlkIH0pKSxcbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICB9LFxuICAgIH0gYXMgYW55KTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKG1lc3NhZ2VRdWV1ZSkge1xuICAgIHRoaXMuX21lc3NhZ2VRdWV1ZVNlcnZpY2Uub3Blbk1lc3NhZ2VRdWV1ZShtZXNzYWdlUXVldWUuaWQpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmxpc3QucmVsb2FkKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ3ZWJIb29rRW5hYmxlZCA9PT0gZmFsc2VcIj5cbiAgPGZzLW1lc3NhZ2UtaW5mbz5cbiAgICA8ZGl2IGNsYXNzPVwiZnMtcm93XCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImZzLWZsZXhcIj5UaGUgd2ViaG9vayB3aGljaCBwcm92aWRlcyBlbWFpbCBkZWxpdmVyeSBjb25maXJtYXRpb25zIGlzIG5vdCBlbmFibGVkLjwvc3Bhbj5cbiAgICAgIDxhICBcbiAgICAgICAgICAoY2xpY2spPVwiZW5hYmxlV2ViaG9vaygpXCJcbiAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvbj5cbiAgICAgICAgRW5hYmxlXG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG5cbiAgPC9mcy1tZXNzYWdlLWluZm8+XG48L25nLWNvbnRhaW5lcj5cblxuPGZzLWxpc3QgW2NvbmZpZ109XCJjb25maWdcIiAjbGlzdD5cbiAgPGZzLWxpc3QtY29sdW1uIHRpdGxlPVwiTWVzc2FnZVwiIG5hbWU9XCJzdWJqZWN0XCIgW3NvcnRhYmxlXT1cInRydWVcIj5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cuZW1haWxNZXNzYWdlUXVldWVcIj5cbiAgICAgICAgPGEgKGNsaWNrKT1cIm9wZW4ocm93KVwiPnt7cm93LmVtYWlsTWVzc2FnZVF1ZXVlLnN1YmplY3R8dHJ1bmNhdGU6MTAwfX08L2E+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cubWVzc2FnZVF1ZXVlQXR0YWNobWVudENvdW50XCI+XG4gICAgICAgICAgPG1hdC1pY29uICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIGNsYXNzPVwiYXR0YWNobWVudC1pY29uXCJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwicm93Lm1lc3NhZ2VRdWV1ZUF0dGFjaG1lbnRDb3VudCArICcgQXR0YWNobWVudChzKSdcIj5cbiAgICAgICAgICAgIGF0dGFjaF9maWxlXG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cuc21zTWVzc2FnZVF1ZXVlXCI+XG4gICAgICAgIDxhIChjbGljayk9XCJvcGVuKHJvdylcIj57e3Jvdy5zbXNNZXNzYWdlUXVldWUuYm9keXx0cnVuY2F0ZToxMDB9fTwvYT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZnMtbGlzdC1jb2x1bW4+XG4gIDxmcy1saXN0LWNvbHVtbiB0aXRsZT1cIlJlY2lwaWVudHNcIiBjbGFzcz1cImNvbC1yZWNpcGllbnRzXCI+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93LmVtYWlsTWVzc2FnZVF1ZXVlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cuZW1haWxNZXNzYWdlUXVldWUudG9SZWNpcGllbnRzLmxlbmd0aDsgZWxzZSB1bnNwZWNpZmllZFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWFsbFwiICpuZ0Zvcj1cImxldCByZWNpcGllbnQgb2Ygcm93LmVtYWlsTWVzc2FnZVF1ZXVlLnRvUmVjaXBpZW50c1wiPlxuICAgICAgICAgICAgPGFwcC1yZWNpcGllbnQgXG4gICAgICAgICAgICAgIFtzdGF0ZV09XCJyb3cubWVzc2FnZVF1ZXVlUmVjaXBpZW50c1tyZWNpcGllbnRdIHx8IHJvdy5zdGF0ZVwiXG4gICAgICAgICAgICAgIFtuYW1lXT1cInJlY2lwaWVudFwiPlxuICAgICAgICAgICAgPC9hcHAtcmVjaXBpZW50PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsXCIgKm5nRm9yPVwibGV0IHJlY2lwaWVudCBvZiByb3cuZW1haWxNZXNzYWdlUXVldWUuY2NSZWNpcGllbnRzXCI+XG4gICAgICAgICAgPGFwcC1yZWNpcGllbnQgXG4gICAgICAgICAgICBbc3RhdGVdPVwicm93Lm1lc3NhZ2VRdWV1ZVJlY2lwaWVudHNbcmVjaXBpZW50XSB8fCByb3cuc3RhdGVcIlxuICAgICAgICAgICAgW25hbWVdPVwicmVjaXBpZW50XCI+XG4gICAgICAgICAgPC9hcHAtcmVjaXBpZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsXCIgKm5nRm9yPVwibGV0IHJlY2lwaWVudCBvZiByb3cuZW1haWxNZXNzYWdlUXVldWUuYmNjUmVjaXBpZW50c1wiPlxuICAgICAgICAgIDxhcHAtcmVjaXBpZW50ICAgICAgICAgICAgIFxuICAgICAgICAgICAgW3N0YXRlXT1cInJvdy5tZXNzYWdlUXVldWVSZWNpcGllbnRzW3JlY2lwaWVudF0gfHwgcm93LnN0YXRlXCJcbiAgICAgICAgICAgIFtuYW1lXT1cInJlY2lwaWVudFwiPlxuICAgICAgICAgIDwvYXBwLXJlY2lwaWVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cuc21zTWVzc2FnZVF1ZXVlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cuc21zTWVzc2FnZVF1ZXVlLnRvTnVtYmVyOyBlbHNlIHVuc3BlY2lmaWVkXCI+XG4gICAgICAgICAgPGFwcC1yZWNpcGllbnQgXG4gICAgICAgICAgICBjbGFzcz1cInNtYWxsXCJcbiAgICAgICAgICAgIFtzdGF0ZV09XCJyb3cuc3RhdGVcIlxuICAgICAgICAgICAgW25hbWVdPVwicm93LnNtc01lc3NhZ2VRdWV1ZS50b051bWJlclwiPlxuICAgICAgICAgIDwvYXBwLXJlY2lwaWVudD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2ZzLWxpc3QtY29sdW1uPiBcbiAgPGZzLWxpc3QtY29sdW1uIHRpdGxlPVwiU3RhdHVzXCIgY2xhc3M9XCJjb2wtc3RhdGVcIj5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj4gICAgXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93LnNjaGVkdWxlZDsgZWxzZSBzdGF0ZVwiPlxuICAgICAgICBTY2hlZHVsZWRcbiAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsXCI+XG4gICAgICAgICAgIHt7cm93LnNjaGVkdWxlZERhdGUgfCBmc0RhdGVGb3JtYXQ6ICdkYXRlLXRpbWUnIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI3N0YXRlPlxuICAgICAgICA8c3BhbiBbY2xhc3NdPVwiJ3N0YXRlLScgKyByb3cuc3RhdGVcIj57e21lc3NhZ2VRdWV1ZVN0YXRlc1tyb3cuc3RhdGVdfX08L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZnMtbGlzdC1jb2x1bW4+IFxuICA8ZnMtbGlzdC1jb2x1bW4gdGl0bGU9XCJEYXRlXCIgbmFtZT1cImNyZWF0ZWRfZGF0ZVwiIFtzb3J0YWJsZV09XCJ0cnVlXCI+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCI+XG4gICAgICB7eyByb3cuY3JlYXRlZERhdGUgfCBmc0RhdGVGb3JtYXQ6ICdkYXRlLXRpbWUteWVhcmRpZmYnIH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbjwvZnMtbGlzdD5cblxuPG5nLXRlbXBsYXRlICN1bnNwZWNpZmllZD5cbiAgPGFwcC1yZWNpcGllbnQgXG4gICAgY2xhc3M9XCJzbWFsbFwiXG4gICAgW3N0YXRlXT1cIk1lc3NhZ2VRdWV1ZVN0YXRlLkZhaWxlZFwiXG4gICAgbmFtZT1cIlVuc3BlY2lmaWVkXCI+XG4gIDwvYXBwLXJlY2lwaWVudD5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@angular/material/tooltip";
|
|
5
|
+
import * as i3 from "@angular/material/icon";
|
|
6
|
+
export class RecipientComponent {
|
|
7
|
+
name;
|
|
8
|
+
state;
|
|
9
|
+
icon;
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
const icons = {
|
|
12
|
+
'S': { name: 'check_circle', tooltip: 'Sent' },
|
|
13
|
+
'E': { name: 'offline_bolt', tooltip: 'Sending' },
|
|
14
|
+
'F': { name: 'info', tooltip: 'Failed' },
|
|
15
|
+
};
|
|
16
|
+
this.icon = icons[this.state];
|
|
17
|
+
}
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RecipientComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: RecipientComponent, selector: "app-recipient", inputs: { name: "name", state: "state" }, ngImport: i0, template: "<span class=\"recipient\">\n <span class=\"name\">{{name}}</span>\n <mat-icon *ngIf=\"icon\" [class]=\"'state-' + state\" [matTooltip]=\"icon.tooltip\">{{icon.name}}</mat-icon>\n</span>", styles: ["mat-icon{font-size:14px;width:14px;height:14px;line-height:normal;margin-left:2px}mat-icon.state-S{color:#5fa099}mat-icon.state-E{color:#fbbc04}mat-icon.state-F{color:#d8524e}.recipient{display:inline-flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RecipientComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ selector: 'app-recipient', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"recipient\">\n <span class=\"name\">{{name}}</span>\n <mat-icon *ngIf=\"icon\" [class]=\"'state-' + state\" [matTooltip]=\"icon.tooltip\">{{icon.name}}</mat-icon>\n</span>", styles: ["mat-icon{font-size:14px;width:14px;height:14px;line-height:normal;margin-left:2px}mat-icon.state-S{color:#5fa099}mat-icon.state-E{color:#fbbc04}mat-icon.state-F{color:#d8524e}.recipient{display:inline-flex;align-items:center}\n"] }]
|
|
24
|
+
}], propDecorators: { name: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}], state: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}] } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9tZXNzYWdlLXF1ZXVlcy9jb21wb25lbnRzL3JlY2lwaWVudC9yZWNpcGllbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL21lc3NhZ2UtcXVldWVzL2NvbXBvbmVudHMvcmVjaXBpZW50L3JlY2lwaWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxLQUFLLEdBQ2pCLE1BQU0sZUFBZSxDQUFDOzs7OztBQVV2QixNQUFNLE9BQU8sa0JBQWtCO0lBRXBCLElBQUksQ0FBQztJQUNMLEtBQUssQ0FBQztJQUVSLElBQUksQ0FBQztJQUVMLFFBQVE7UUFFYixNQUFNLEtBQUssR0FBRztZQUNaLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRTtZQUM5QyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUU7WUFDakQsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1NBQ3pDLENBQUE7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzt3R0FoQlUsa0JBQWtCOzRGQUFsQixrQkFBa0IsK0ZDYi9CLDZMQUdPOzs0RkRVTSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNOzhCQUl0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcmVjaXBpZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY2lwaWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY2lwaWVudC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmVjaXBpZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgXG4gIEBJbnB1dCgpIG5hbWU7XG4gIEBJbnB1dCgpIHN0YXRlO1xuICBcbiAgcHVibGljIGljb247XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIFxuICAgIGNvbnN0IGljb25zID0ge1xuICAgICAgJ1MnOiB7IG5hbWU6ICdjaGVja19jaXJjbGUnLCB0b29sdGlwOiAnU2VudCcgfSxcbiAgICAgICdFJzogeyBuYW1lOiAnb2ZmbGluZV9ib2x0JywgdG9vbHRpcDogJ1NlbmRpbmcnIH0sXG4gICAgICAnRic6IHsgbmFtZTogJ2luZm8nLCB0b29sdGlwOiAnRmFpbGVkJyB9LFxuICAgIH1cblxuICAgIHRoaXMuaWNvbiA9IGljb25zW3RoaXMuc3RhdGVdO1xuICB9XG5cbn1cbiIsIjxzcGFuIGNsYXNzPVwicmVjaXBpZW50XCI+XG4gIDxzcGFuIGNsYXNzPVwibmFtZVwiPnt7bmFtZX19PC9zcGFuPlxuICA8bWF0LWljb24gKm5nSWY9XCJpY29uXCIgW2NsYXNzXT1cIidzdGF0ZS0nICsgc3RhdGVcIiBbbWF0VG9vbHRpcF09XCJpY29uLnRvb2x0aXBcIj57e2ljb24ubmFtZX19PC9tYXQtaWNvbj5cbjwvc3Bhbj4iXX0=
|
|
@@ -25,52 +25,52 @@ import { TruncatePipe } from './pipes/truncate.pipe';
|
|
|
25
25
|
import { FsMessageQueueService } from './services/message-queue.service';
|
|
26
26
|
import * as i0 from "@angular/core";
|
|
27
27
|
export class FsAppMessageQueuesModule {
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsAppMessageQueuesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
29
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FsAppMessageQueuesModule, declarations: [QueuesComponent,
|
|
30
|
+
QueueComponent,
|
|
31
|
+
LinkifyPipe,
|
|
32
|
+
TruncatePipe,
|
|
33
|
+
RecipientComponent], imports: [RouterModule,
|
|
34
|
+
FormsModule,
|
|
35
|
+
CommonModule,
|
|
36
|
+
MatTooltipModule,
|
|
37
|
+
MatDialogModule,
|
|
38
|
+
MatButtonModule,
|
|
39
|
+
MatIconModule,
|
|
40
|
+
MatTabsModule,
|
|
41
|
+
FsListModule,
|
|
42
|
+
FsDialogModule,
|
|
43
|
+
FsLabelModule,
|
|
44
|
+
FsDateModule,
|
|
45
|
+
FsSkeletonModule,
|
|
46
|
+
FsAppMessagesModule,
|
|
47
|
+
FsFormModule,
|
|
48
|
+
FsPromptInputModule,
|
|
49
|
+
FsIFrameModule,
|
|
50
|
+
FsMessageModule], exports: [QueuesComponent,
|
|
51
|
+
QueueComponent] });
|
|
52
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsAppMessageQueuesModule, providers: [
|
|
53
|
+
FsMessageQueueService,
|
|
54
|
+
], imports: [RouterModule,
|
|
55
|
+
FormsModule,
|
|
56
|
+
CommonModule,
|
|
57
|
+
MatTooltipModule,
|
|
58
|
+
MatDialogModule,
|
|
59
|
+
MatButtonModule,
|
|
60
|
+
MatIconModule,
|
|
61
|
+
MatTabsModule,
|
|
62
|
+
FsListModule,
|
|
63
|
+
FsDialogModule,
|
|
64
|
+
FsLabelModule,
|
|
65
|
+
FsDateModule,
|
|
66
|
+
FsSkeletonModule,
|
|
67
|
+
FsAppMessagesModule,
|
|
68
|
+
FsFormModule,
|
|
69
|
+
FsPromptInputModule,
|
|
70
|
+
FsIFrameModule,
|
|
71
|
+
FsMessageModule] });
|
|
28
72
|
}
|
|
29
|
-
|
|
30
|
-
FsAppMessageQueuesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: FsAppMessageQueuesModule, declarations: [QueuesComponent,
|
|
31
|
-
QueueComponent,
|
|
32
|
-
LinkifyPipe,
|
|
33
|
-
TruncatePipe,
|
|
34
|
-
RecipientComponent], imports: [RouterModule,
|
|
35
|
-
FormsModule,
|
|
36
|
-
CommonModule,
|
|
37
|
-
MatTooltipModule,
|
|
38
|
-
MatDialogModule,
|
|
39
|
-
MatButtonModule,
|
|
40
|
-
MatIconModule,
|
|
41
|
-
MatTabsModule,
|
|
42
|
-
FsListModule,
|
|
43
|
-
FsDialogModule,
|
|
44
|
-
FsLabelModule,
|
|
45
|
-
FsDateModule,
|
|
46
|
-
FsSkeletonModule,
|
|
47
|
-
FsAppMessagesModule,
|
|
48
|
-
FsFormModule,
|
|
49
|
-
FsPromptInputModule,
|
|
50
|
-
FsIFrameModule,
|
|
51
|
-
FsMessageModule], exports: [QueuesComponent,
|
|
52
|
-
QueueComponent] });
|
|
53
|
-
FsAppMessageQueuesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FsAppMessageQueuesModule, providers: [
|
|
54
|
-
FsMessageQueueService,
|
|
55
|
-
], imports: [RouterModule,
|
|
56
|
-
FormsModule,
|
|
57
|
-
CommonModule,
|
|
58
|
-
MatTooltipModule,
|
|
59
|
-
MatDialogModule,
|
|
60
|
-
MatButtonModule,
|
|
61
|
-
MatIconModule,
|
|
62
|
-
MatTabsModule,
|
|
63
|
-
FsListModule,
|
|
64
|
-
FsDialogModule,
|
|
65
|
-
FsLabelModule,
|
|
66
|
-
FsDateModule,
|
|
67
|
-
FsSkeletonModule,
|
|
68
|
-
FsAppMessagesModule,
|
|
69
|
-
FsFormModule,
|
|
70
|
-
FsPromptInputModule,
|
|
71
|
-
FsIFrameModule,
|
|
72
|
-
FsMessageModule] });
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FsAppMessageQueuesModule, decorators: [{
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsAppMessageQueuesModule, decorators: [{
|
|
74
74
|
type: NgModule,
|
|
75
75
|
args: [{
|
|
76
76
|
imports: [
|
|
@@ -109,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
109
109
|
],
|
|
110
110
|
}]
|
|
111
111
|
}] });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1xdWV1ZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL21lc3NhZ2UtcXVldWVzL21lc3NhZ2UtcXVldWVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQXlDekUsTUFBTSxPQUFPLHdCQUF3Qjt3R0FBeEIsd0JBQXdCO3lHQUF4Qix3QkFBd0IsaUJBZGpDLGVBQWU7WUFDZixjQUFjO1lBQ2QsV0FBVztZQUNYLFlBQVk7WUFDWixrQkFBa0IsYUExQmxCLFlBQVk7WUFDWixXQUFXO1lBQ1gsWUFBWTtZQUVaLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBRWIsWUFBWTtZQUNaLGNBQWM7WUFDZCxhQUFhO1lBQ2IsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsZUFBZSxhQVVmLGVBQWU7WUFDZixjQUFjO3lHQU1MLHdCQUF3QixhQUp4QjtZQUNULHFCQUFxQjtTQUN0QixZQWxDQyxZQUFZO1lBQ1osV0FBVztZQUNYLFlBQVk7WUFFWixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGVBQWU7WUFDZixhQUFhO1lBQ2IsYUFBYTtZQUViLFlBQVk7WUFDWixjQUFjO1lBQ2QsYUFBYTtZQUNiLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGVBQWU7OzRGQWlCTix3QkFBd0I7a0JBdENwQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTt3QkFFWixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBRWIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsZUFBZTtxQkFDaEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixjQUFjO3FCQUNmO29CQUNELFNBQVMsRUFBRTt3QkFDVCxxQkFBcUI7cUJBQ3RCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cblxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IEZzRGF0ZU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2RhdGUnO1xuaW1wb3J0IHsgRnNEaWFsb2dNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9kaWFsb2cnO1xuaW1wb3J0IHsgRnNGb3JtTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZm9ybSc7XG5pbXBvcnQgeyBGc0lGcmFtZU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2lmcmFtZSc7XG5pbXBvcnQgeyBGc0xhYmVsTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbGFiZWwnO1xuaW1wb3J0IHsgRnNMaXN0TW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbGlzdCc7XG5pbXBvcnQgeyBGc01lc3NhZ2VNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9tZXNzYWdlJztcbmltcG9ydCB7IEZzUHJvbXB0SW5wdXRNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9wcm9tcHQnO1xuaW1wb3J0IHsgRnNTa2VsZXRvbk1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL3NrZWxldG9uJztcblxuaW1wb3J0IHsgRnNBcHBNZXNzYWdlc01vZHVsZSB9IGZyb20gJy4uL21lc3NhZ2VzL21lc3NhZ2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFF1ZXVlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3F1ZXVlL3F1ZXVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRdWV1ZXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcXVldWVzL3F1ZXVlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVjaXBpZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlY2lwaWVudC9yZWNpcGllbnQuY29tcG9uZW50JztcbmltcG9ydCB7IExpbmtpZnlQaXBlIH0gZnJvbSAnLi9waXBlcy9saW5raWZ5LnBpcGUnO1xuaW1wb3J0IHsgVHJ1bmNhdGVQaXBlIH0gZnJvbSAnLi9waXBlcy90cnVuY2F0ZS5waXBlJztcbmltcG9ydCB7IEZzTWVzc2FnZVF1ZXVlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbWVzc2FnZS1xdWV1ZS5zZXJ2aWNlJztcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcblxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRhYnNNb2R1bGUsXG5cbiAgICBGc0xpc3RNb2R1bGUsXG4gICAgRnNEaWFsb2dNb2R1bGUsXG4gICAgRnNMYWJlbE1vZHVsZSxcbiAgICBGc0RhdGVNb2R1bGUsXG4gICAgRnNTa2VsZXRvbk1vZHVsZSxcbiAgICBGc0FwcE1lc3NhZ2VzTW9kdWxlLFxuICAgIEZzRm9ybU1vZHVsZSxcbiAgICBGc1Byb21wdElucHV0TW9kdWxlLFxuICAgIEZzSUZyYW1lTW9kdWxlLFxuICAgIEZzTWVzc2FnZU1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUXVldWVzQ29tcG9uZW50LFxuICAgIFF1ZXVlQ29tcG9uZW50LFxuICAgIExpbmtpZnlQaXBlLFxuICAgIFRydW5jYXRlUGlwZSxcbiAgICBSZWNpcGllbnRDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBRdWV1ZXNDb21wb25lbnQsXG4gICAgUXVldWVDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIEZzTWVzc2FnZVF1ZXVlU2VydmljZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNBcHBNZXNzYWdlUXVldWVzTW9kdWxlIHsgfVxuIl19
|
|
@@ -12,11 +12,11 @@ export class LinkifyPipe {
|
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LinkifyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
16
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: LinkifyPipe, name: "linkify" });
|
|
15
17
|
}
|
|
16
|
-
|
|
17
|
-
LinkifyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: LinkifyPipe, name: "linkify" });
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LinkifyPipe, decorators: [{
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LinkifyPipe, decorators: [{
|
|
19
19
|
type: Pipe,
|
|
20
20
|
args: [{ name: 'linkify' }]
|
|
21
21
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2lmeS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL21lc3NhZ2UtcXVldWVzL3BpcGVzL2xpbmtpZnkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUM7O0FBSWhDLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sUUFBUSxDQUFDO1lBQ2QsS0FBSztZQUNMLE9BQU8sRUFBRTtnQkFDUCxVQUFVLEVBQUU7b0JBQ1YsTUFBTSxFQUFFLFFBQVE7aUJBQ2pCO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO3dHQVZVLFdBQVc7c0dBQVgsV0FBVzs7NEZBQVgsV0FBVztrQkFEdkIsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCBhbmNob3JtZSBmcm9tICdhbmNob3JtZSc7XG5cblxuQFBpcGUoe25hbWU6ICdsaW5raWZ5J30pXG5leHBvcnQgY2xhc3MgTGlua2lmeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBhbmNob3JtZSh7XG4gICAgICBpbnB1dCxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIHRhcmdldDogXCJfYmxhbmtcIixcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TruncatePipe {
|
|
4
|
+
transform(value, limit = 25, completeWords = false, ellipsis = '...') {
|
|
5
|
+
if (value.length < limit) {
|
|
6
|
+
return `${value.substr(0, limit)}`;
|
|
7
|
+
}
|
|
8
|
+
if (completeWords) {
|
|
9
|
+
limit = value.substr(0, limit).lastIndexOf(' ');
|
|
10
|
+
}
|
|
11
|
+
return `${value.substr(0, limit)}${ellipsis}`;
|
|
12
|
+
}
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
14
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TruncatePipe, name: "truncate" });
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TruncatePipe, decorators: [{
|
|
17
|
+
type: Pipe,
|
|
18
|
+
args: [{
|
|
19
|
+
name: 'truncate'
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9tZXNzYWdlLXF1ZXVlcy9waXBlcy90cnVuY2F0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8sWUFBWTtJQUN6QixTQUFTLENBQUMsS0FBYSxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUUsYUFBYSxHQUFHLEtBQUssRUFBRSxRQUFRLEdBQUcsS0FBSztRQUUxRSxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFDekIsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckMsQ0FBQztRQUVBLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDO0lBQ2pELENBQUM7d0dBWFksWUFBWTtzR0FBWixZQUFZOzs0RkFBWixZQUFZO2tCQUh4QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxVQUFVO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAndHJ1bmNhdGUnXG59KVxuZXhwb3J0IGNsYXNzIFRydW5jYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xudHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIGxpbWl0ID0gMjUsIGNvbXBsZXRlV29yZHMgPSBmYWxzZSwgZWxsaXBzaXMgPSAnLi4uJykge1xuXG4gIGlmICh2YWx1ZS5sZW5ndGggPCBsaW1pdCkge1xuICAgIHJldHVybiBgJHt2YWx1ZS5zdWJzdHIoMCwgbGltaXQpfWA7XG4gIH1cblxuICAgaWYgKGNvbXBsZXRlV29yZHMpIHtcbiAgICAgbGltaXQgPSB2YWx1ZS5zdWJzdHIoMCwgbGltaXQpLmxhc3RJbmRleE9mKCcgJyk7XG4gICB9XG4gICByZXR1cm4gYCR7dmFsdWUuc3Vic3RyKDAsIGxpbWl0KX0ke2VsbGlwc2lzfWA7XG59XG59XG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
+
import { QueueComponent } from '../components/queue/queue.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/dialog";
|
|
6
|
+
export class FsMessageQueueService {
|
|
7
|
+
_dialog;
|
|
8
|
+
constructor(_dialog) {
|
|
9
|
+
this._dialog = _dialog;
|
|
10
|
+
}
|
|
11
|
+
openMessageQueue(messageQueueId, options = {}) {
|
|
12
|
+
return this._dialog.open(QueueComponent, {
|
|
13
|
+
...options,
|
|
14
|
+
data: {
|
|
15
|
+
messageQueueId,
|
|
16
|
+
},
|
|
17
|
+
width: options.width || '85%',
|
|
18
|
+
})
|
|
19
|
+
.afterClosed();
|
|
20
|
+
}
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsMessageQueueService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsMessageQueueService, providedIn: 'root' });
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FsMessageQueueService, decorators: [{
|
|
25
|
+
type: Injectable,
|
|
26
|
+
args: [{
|
|
27
|
+
providedIn: 'root',
|
|
28
|
+
}]
|
|
29
|
+
}], ctorParameters: () => [{ type: i1.MatDialog }] });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1xdWV1ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL21lc3NhZ2UtcXVldWVzL3NlcnZpY2VzL21lc3NhZ2UtcXVldWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUtyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7OztBQU1yRSxNQUFNLE9BQU8scUJBQXFCO0lBR3RCO0lBRFYsWUFDVSxPQUFrQjtRQUFsQixZQUFPLEdBQVAsT0FBTyxDQUFXO0lBQ3hCLENBQUM7SUFFRSxnQkFBZ0IsQ0FBQyxjQUFzQixFQUFFLFVBQWUsRUFBRTtRQUMvRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QyxHQUFHLE9BQU87WUFDVixJQUFJLEVBQUU7Z0JBQ0osY0FBYzthQUNmO1lBQ0QsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSztTQUM5QixDQUFDO2FBQ0MsV0FBVyxFQUFFLENBQUM7SUFDbkIsQ0FBQzt3R0FmVSxxQkFBcUI7NEdBQXJCLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUXVldWVDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3F1ZXVlL3F1ZXVlLmNvbXBvbmVudCc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZzTWVzc2FnZVF1ZXVlU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXG4gICkgeyB9XG5cbiAgcHVibGljIG9wZW5NZXNzYWdlUXVldWUobWVzc2FnZVF1ZXVlSWQ6IG51bWJlciwgb3B0aW9uczogYW55ID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9kaWFsb2cub3BlbihRdWV1ZUNvbXBvbmVudCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgbWVzc2FnZVF1ZXVlSWQsXG4gICAgICB9LFxuICAgICAgd2lkdGg6IG9wdGlvbnMud2lkdGggfHwgJzg1JScsXG4gICAgfSlcbiAgICAgIC5hZnRlckNsb3NlZCgpO1xuICB9XG5cbn1cbiJdfQ==
|