stream-chat-angular 6.4.0 → 7.0.0-rc.1
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/assets/version.d.ts +1 -1
- package/{esm2020 → esm2022}/assets/version.mjs +2 -2
- package/{esm2020 → esm2022}/lib/attachment-configuration.service.mjs +4 -4
- package/esm2022/lib/attachment-list/attachment-list.component.mjs +232 -0
- package/esm2022/lib/attachment-preview-list/attachment-preview-list.component.mjs +55 -0
- package/{esm2020 → esm2022}/lib/attachment.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/avatar/avatar.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/avatar-placeholder/avatar-placeholder.component.mjs +6 -6
- package/esm2022/lib/channel/channel.component.mjs +45 -0
- package/{esm2020 → esm2022}/lib/channel-header/channel-header.component.mjs +6 -6
- package/esm2022/lib/channel-list/channel-list.component.mjs +47 -0
- package/{esm2020 → esm2022}/lib/channel-preview/channel-preview.component.mjs +6 -6
- package/esm2022/lib/channel.service.mjs +1575 -0
- package/{esm2020 → esm2022}/lib/chat-client.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/custom-templates.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/date-parser.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/icon/icon-placeholder/icon-placeholder.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/icon/icon.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/icon/icon.module.mjs +11 -11
- package/{esm2020 → esm2022}/lib/icon/loading-indicator/loading-indicator.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/icon/loading-indicator-placeholder/loading-indicator-placeholder.component.mjs +6 -6
- package/esm2022/lib/message/message.component.mjs +501 -0
- package/{esm2020 → esm2022}/lib/message-actions-box/message-actions-box.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/message-actions.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/message-blocked/message-blocked.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/message-bounce-prompt/message-bounce-prompt.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/message-input/emoji-input.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/message-input/message-input-config.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/message-input/message-input.component.mjs +7 -7
- package/{esm2020 → esm2022}/lib/message-input/textarea/textarea.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/message-input/textarea.directive.mjs +5 -5
- package/{esm2020 → esm2022}/lib/message-input/voice-recorder.service.mjs +5 -5
- package/esm2022/lib/message-list/message-list.component.mjs +717 -0
- package/{esm2020 → esm2022}/lib/message-reactions/message-reactions.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/message-reactions-selector/message-reactions-selector.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/message-reactions.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/message-text/message-text.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/message.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/modal/modal.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/modal/stream-modal.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/notification/notification.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/notification-list/notification-list.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/notification-list/stream-notification.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/notification.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/paginated-list/paginated-list.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/paginated-list/stream-paginated-list.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/polls/base-poll.component.mjs +5 -5
- package/esm2022/lib/polls/poll/poll.component.mjs +34 -0
- package/{esm2020 → esm2022}/lib/polls/poll-actions/add-option/add-option.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/polls/poll-actions/poll-actions.component.mjs +6 -6
- package/esm2022/lib/polls/poll-actions/poll-answers-list/poll-answers-list.component.mjs +82 -0
- package/esm2022/lib/polls/poll-actions/poll-results/poll-results-list/poll-results-list.component.mjs +63 -0
- package/{esm2020 → esm2022}/lib/polls/poll-actions/poll-results/poll-vote/poll-vote.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/polls/poll-actions/poll-results/poll-vote-results-list/poll-vote-results-list.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/polls/poll-actions/upsert-answer/upsert-answer.component.mjs +4 -4
- package/esm2022/lib/polls/poll-composer/poll-composer.component.mjs +134 -0
- package/{esm2020 → esm2022}/lib/polls/poll-header/poll-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/polls/poll-option-selector/poll-option-selector.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/polls/poll-options-list/poll-options-list.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/polls/poll-preview/poll-preview.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/polls/stream-polls.module.mjs +41 -41
- package/esm2022/lib/stream-autocomplete-textarea.module.mjs +33 -0
- package/{esm2020 → esm2022}/lib/stream-avatar.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/stream-chat.module.mjs +67 -67
- package/esm2022/lib/stream-i18n.service.mjs +34 -0
- package/esm2022/lib/stream-textarea.module.mjs +31 -0
- package/{esm2020 → esm2022}/lib/theme.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/thread/thread.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/transliteration.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/types.mjs +1 -1
- package/{esm2020 → esm2022}/lib/user-list/user-list.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/voice-recorder/amplitude-recorder.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/voice-recorder/audio-recorder.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/voice-recorder/transcoder.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/voice-recorder/voice-recorder-wavebar/voice-recorder-wavebar.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/voice-recorder/voice-recorder.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/voice-recorder/voice-recorder.module.mjs +9 -9
- package/{esm2020 → esm2022}/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/voice-recording/voice-recording.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/voice-recording/voice-recording.module.mjs +5 -5
- package/{fesm2020 → fesm2022}/stream-chat-angular.mjs +464 -471
- package/fesm2022/stream-chat-angular.mjs.map +1 -0
- package/lib/attachment-list/attachment-list.component.d.ts +1 -1
- package/lib/attachment-preview-list/attachment-preview-list.component.d.ts +1 -1
- package/lib/avatar/avatar.component.d.ts +1 -1
- package/lib/avatar-placeholder/avatar-placeholder.component.d.ts +1 -1
- package/lib/channel-preview/channel-preview.component.d.ts +1 -1
- package/lib/chat-client.service.d.ts +1 -1
- package/lib/custom-templates.service.d.ts +1 -0
- package/lib/icon/icon-placeholder/icon-placeholder.component.d.ts +1 -1
- package/lib/icon/icon.component.d.ts +2 -2
- package/lib/message/message.component.d.ts +1 -1
- package/lib/message-actions-box/message-actions-box.component.d.ts +1 -1
- package/lib/message-blocked/message-blocked.component.d.ts +1 -1
- package/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.d.ts +1 -1
- package/lib/message-input/message-input.component.d.ts +1 -1
- package/lib/message-input/textarea/textarea.component.d.ts +1 -1
- package/lib/message-input/textarea.directive.d.ts +1 -1
- package/lib/message-list/group-styles.d.ts +1 -1
- package/lib/message-list/message-list.component.d.ts +1 -1
- package/lib/message-reactions/message-reactions.component.d.ts +1 -1
- package/lib/message-reactions-selector/message-reactions-selector.component.d.ts +1 -1
- package/lib/message-text/message-text.component.d.ts +2 -2
- package/lib/modal/modal.component.d.ts +1 -1
- package/lib/notification/notification.component.d.ts +1 -1
- package/lib/paginated-list/paginated-list.component.d.ts +5 -2
- package/lib/polls/base-poll.component.d.ts +1 -1
- package/lib/polls/poll-actions/add-option/add-option.component.d.ts +1 -1
- package/lib/polls/poll-actions/poll-actions.component.d.ts +2 -2
- package/lib/polls/poll-actions/poll-answers-list/poll-answers-list.component.d.ts +1 -1
- package/lib/polls/poll-actions/poll-results/poll-vote/poll-vote.component.d.ts +1 -1
- package/lib/polls/poll-actions/poll-results/poll-vote-results-list/poll-vote-results-list.component.d.ts +1 -1
- package/lib/polls/poll-actions/upsert-answer/upsert-answer.component.d.ts +1 -1
- package/lib/polls/poll-composer/poll-composer.component.d.ts +2 -2
- package/lib/polls/poll-header/poll-header.component.d.ts +1 -1
- package/lib/polls/poll-option-selector/poll-option-selector.component.d.ts +1 -1
- package/lib/polls/poll-options-list/poll-options-list.component.d.ts +1 -1
- package/lib/types.d.ts +79 -79
- package/lib/user-list/user-list.component.d.ts +1 -1
- package/lib/voice-recorder/amplitude-recorder.service.d.ts +2 -2
- package/lib/voice-recorder/media-recorder.d.ts +2 -2
- package/lib/voice-recorder/transcoder.service.d.ts +4 -4
- package/lib/voice-recorder/voice-recorder.component.d.ts +1 -1
- package/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.d.ts +1 -1
- package/lib/voice-recording/voice-recording.component.d.ts +1 -1
- package/package.json +11 -17
- package/src/assets/version.ts +1 -1
- package/esm2020/lib/attachment-list/attachment-list.component.mjs +0 -232
- package/esm2020/lib/attachment-preview-list/attachment-preview-list.component.mjs +0 -55
- package/esm2020/lib/channel/channel.component.mjs +0 -45
- package/esm2020/lib/channel-list/channel-list.component.mjs +0 -47
- package/esm2020/lib/channel.service.mjs +0 -1575
- package/esm2020/lib/message/message.component.mjs +0 -501
- package/esm2020/lib/message-list/message-list.component.mjs +0 -717
- package/esm2020/lib/polls/poll/poll.component.mjs +0 -34
- package/esm2020/lib/polls/poll-actions/poll-answers-list/poll-answers-list.component.mjs +0 -82
- package/esm2020/lib/polls/poll-actions/poll-results/poll-results-list/poll-results-list.component.mjs +0 -63
- package/esm2020/lib/polls/poll-composer/poll-composer.component.mjs +0 -134
- package/esm2020/lib/stream-autocomplete-textarea.module.mjs +0 -33
- package/esm2020/lib/stream-i18n.service.mjs +0 -41
- package/esm2020/lib/stream-textarea.module.mjs +0 -31
- package/fesm2015/stream-chat-angular.mjs +0 -10596
- package/fesm2015/stream-chat-angular.mjs.map +0 -1
- package/fesm2020/stream-chat-angular.mjs.map +0 -1
- /package/{esm2020 → esm2022}/assets/i18n/en.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/channel-query.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/file-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/format-duration.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/get-channel-display-text.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/get-message-translation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/injection-tokens.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/is-image-attachment.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/is-on-separate-date.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/is-safari.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/list-users.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/message-input/textarea.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/message-list/group-styles.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/message-preview.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/parse-date.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/polls/poll-composer/validators.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/polls/unique.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/read-by.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/types-custom.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/virtualized-list.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/virtualized-message-list.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/voice-recorder/media-recorder.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/voice-recorder/mp3-transcoder.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/wave-form-sampler.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/stream-chat-angular.mjs +0 -0
- /package/{esm2020 → esm2022}/stream-chat.mjs +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { combineLatest } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../channel.service";
|
|
6
|
+
import * as i2 from "../theme.service";
|
|
7
|
+
import * as i3 from "../custom-templates.service";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i5 from "../icon/icon.component";
|
|
10
|
+
import * as i6 from "../notification-list/notification-list.component";
|
|
11
|
+
import * as i7 from "../message-bounce-prompt/message-bounce-prompt.component";
|
|
12
|
+
import * as i8 from "@ngx-translate/core";
|
|
13
|
+
/**
|
|
14
|
+
* The `Channel` component is a container component that displays the [`ChannelHeader`](/chat/docs/sdk/angular/components/ChannelHeaderComponent/), [`MessageList`](/chat/docs/sdk/angular/components/MessageListComponent), [`NotificationList`](/chat/docs/sdk/angular/components/NotificationListComponent/) and [`MessageInput`](/chat/docs/sdk/angular/components/MessageInputComponent/) components. You can also provide the [`Thread`](/chat/docs/sdk/angular/components/ThreadComponent/) component to use message [threads](/chat/docs/javascript/threads/).
|
|
15
|
+
*/
|
|
16
|
+
export class ChannelComponent {
|
|
17
|
+
constructor(channelService, themeService, customTemplatesService) {
|
|
18
|
+
this.channelService = channelService;
|
|
19
|
+
this.themeService = themeService;
|
|
20
|
+
this.customTemplatesService = customTemplatesService;
|
|
21
|
+
this.subscriptions = [];
|
|
22
|
+
this.isError$ = combineLatest([
|
|
23
|
+
this.channelService.channelQueryState$,
|
|
24
|
+
this.channelService.activeChannel$,
|
|
25
|
+
]).pipe(map(([state, activeChannel]) => {
|
|
26
|
+
return !activeChannel && state?.state === 'error';
|
|
27
|
+
}));
|
|
28
|
+
this.isInitializing$ = combineLatest([
|
|
29
|
+
this.channelService.channelQueryState$,
|
|
30
|
+
this.channelService.activeChannel$,
|
|
31
|
+
]).pipe(map(([state, activeChannel]) => {
|
|
32
|
+
return !activeChannel && state?.state === 'in-progress';
|
|
33
|
+
}));
|
|
34
|
+
this.isActiveThread$ = this.channelService.activeParentMessageId$.pipe(map((id) => !!id));
|
|
35
|
+
this.theme$ = this.themeService.theme$;
|
|
36
|
+
this.isActiveChannel$ = this.channelService.activeChannel$.pipe(map((c) => !!c));
|
|
37
|
+
}
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChannelComponent, deps: [{ token: i1.ChannelService }, { token: i2.ThemeService }, { token: i3.CustomTemplatesService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChannelComponent, selector: "stream-channel", ngImport: i0, template: "<div\n class=\"str-chat str-chat-channel messaging str-chat__channel str-chat__theme-{{\n theme$ | async\n }}\"\n>\n <div\n *ngIf=\"\n (isError$ | async) === false &&\n (isInitializing$ | async) === false &&\n (isActiveChannel$ | async) === true;\n else noChannel\n \"\n class=\"str-chat__container\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n (customTemplatesService.messageBouncePromptTemplate$ | async) ||\n defaultMessageBouncePrompt\n \"\n />\n <ng-template #defaultMessageBouncePrompt>\n <stream-message-bounce-prompt />\n </ng-template>\n <div class=\"str-chat__main-panel\">\n <ng-content></ng-content>\n </div>\n <ng-content\n *ngIf=\"isActiveThread$ | async\"\n select='[name=\"thread\"]'\n ></ng-content>\n </div>\n <ng-template #noChannel>\n <div\n *ngIf=\"\n (isInitializing$ | async) === false &&\n ((isError$ | async) === true || (isActiveChannel$ | async) === false)\n \"\n class=\"str-chat__empty-channel\"\n >\n <stream-icon icon=\"chat-bubble\" />\n <p class=\"str-chat__empty-channel-text\">\n {{ \"streamChat.No chats here yet\u2026\" | translate }}\n </p>\n <div class=\"str-chat__empty-channel-notifications\">\n <stream-notification-list />\n </div>\n </div>\n <div\n *ngIf=\"\n (isInitializing$ | async) === true &&\n (isError$ | async) === false &&\n (isActiveChannel$ | async) === false\n \"\n class=\"str-chat__loading-channel\"\n >\n <div class=\"str-chat__loading-channel-header\">\n <div class=\"str-chat__loading-channel-header-avatar\"></div>\n <div class=\"str-chat__loading-channel-header-end\">\n <div class=\"str-chat__loading-channel-header-name\"></div>\n <div class=\"str-chat__loading-channel-header-info\"></div>\n </div>\n </div>\n <div class=\"str-chat__loading-channel-message-list\">\n <div class=\"str-chat__loading-channel-message\">\n <div class=\"str-chat__loading-channel-message-avatar\"></div>\n <div class=\"str-chat__loading-channel-message-end\">\n <div class=\"str-chat__loading-channel-message-sender\"></div>\n <div class=\"str-chat__loading-channel-message-last-row\">\n <div class=\"str-chat__loading-channel-message-text\"></div>\n <div class=\"str-chat__loading-channel-message-date\"></div>\n </div>\n </div>\n </div>\n <div class=\"str-chat__loading-channel-message\">\n <div class=\"str-chat__loading-channel-message-avatar\"></div>\n <div class=\"str-chat__loading-channel-message-end\">\n <div class=\"str-chat__loading-channel-message-sender\"></div>\n <div class=\"str-chat__loading-channel-message-last-row\">\n <div class=\"str-chat__loading-channel-message-text\"></div>\n <div class=\"str-chat__loading-channel-message-date\"></div>\n </div>\n </div>\n </div>\n <div class=\"str-chat__loading-channel-message\">\n <div class=\"str-chat__loading-channel-message-avatar\"></div>\n <div class=\"str-chat__loading-channel-message-end\">\n <div class=\"str-chat__loading-channel-message-sender\"></div>\n <div class=\"str-chat__loading-channel-message-last-row\">\n <div class=\"str-chat__loading-channel-message-text\"></div>\n <div class=\"str-chat__loading-channel-message-date\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"str-chat__loading-channel-message-input-row\">\n <div class=\"str-chat__loading-channel-message-input\"></div>\n <div class=\"str-chat__loading-channel-message-send\"></div>\n </div>\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.IconComponent, selector: "stream-icon", inputs: ["icon"] }, { kind: "component", type: i6.NotificationListComponent, selector: "stream-notification-list" }, { kind: "component", type: i7.MessageBouncePromptComponent, selector: "stream-message-bounce-prompt" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChannelComponent, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{ selector: 'stream-channel', template: "<div\n class=\"str-chat str-chat-channel messaging str-chat__channel str-chat__theme-{{\n theme$ | async\n }}\"\n>\n <div\n *ngIf=\"\n (isError$ | async) === false &&\n (isInitializing$ | async) === false &&\n (isActiveChannel$ | async) === true;\n else noChannel\n \"\n class=\"str-chat__container\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n (customTemplatesService.messageBouncePromptTemplate$ | async) ||\n defaultMessageBouncePrompt\n \"\n />\n <ng-template #defaultMessageBouncePrompt>\n <stream-message-bounce-prompt />\n </ng-template>\n <div class=\"str-chat__main-panel\">\n <ng-content></ng-content>\n </div>\n <ng-content\n *ngIf=\"isActiveThread$ | async\"\n select='[name=\"thread\"]'\n ></ng-content>\n </div>\n <ng-template #noChannel>\n <div\n *ngIf=\"\n (isInitializing$ | async) === false &&\n ((isError$ | async) === true || (isActiveChannel$ | async) === false)\n \"\n class=\"str-chat__empty-channel\"\n >\n <stream-icon icon=\"chat-bubble\" />\n <p class=\"str-chat__empty-channel-text\">\n {{ \"streamChat.No chats here yet\u2026\" | translate }}\n </p>\n <div class=\"str-chat__empty-channel-notifications\">\n <stream-notification-list />\n </div>\n </div>\n <div\n *ngIf=\"\n (isInitializing$ | async) === true &&\n (isError$ | async) === false &&\n (isActiveChannel$ | async) === false\n \"\n class=\"str-chat__loading-channel\"\n >\n <div class=\"str-chat__loading-channel-header\">\n <div class=\"str-chat__loading-channel-header-avatar\"></div>\n <div class=\"str-chat__loading-channel-header-end\">\n <div class=\"str-chat__loading-channel-header-name\"></div>\n <div class=\"str-chat__loading-channel-header-info\"></div>\n </div>\n </div>\n <div class=\"str-chat__loading-channel-message-list\">\n <div class=\"str-chat__loading-channel-message\">\n <div class=\"str-chat__loading-channel-message-avatar\"></div>\n <div class=\"str-chat__loading-channel-message-end\">\n <div class=\"str-chat__loading-channel-message-sender\"></div>\n <div class=\"str-chat__loading-channel-message-last-row\">\n <div class=\"str-chat__loading-channel-message-text\"></div>\n <div class=\"str-chat__loading-channel-message-date\"></div>\n </div>\n </div>\n </div>\n <div class=\"str-chat__loading-channel-message\">\n <div class=\"str-chat__loading-channel-message-avatar\"></div>\n <div class=\"str-chat__loading-channel-message-end\">\n <div class=\"str-chat__loading-channel-message-sender\"></div>\n <div class=\"str-chat__loading-channel-message-last-row\">\n <div class=\"str-chat__loading-channel-message-text\"></div>\n <div class=\"str-chat__loading-channel-message-date\"></div>\n </div>\n </div>\n </div>\n <div class=\"str-chat__loading-channel-message\">\n <div class=\"str-chat__loading-channel-message-avatar\"></div>\n <div class=\"str-chat__loading-channel-message-end\">\n <div class=\"str-chat__loading-channel-message-sender\"></div>\n <div class=\"str-chat__loading-channel-message-last-row\">\n <div class=\"str-chat__loading-channel-message-text\"></div>\n <div class=\"str-chat__loading-channel-message-date\"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"str-chat__loading-channel-message-input-row\">\n <div class=\"str-chat__loading-channel-message-input\"></div>\n <div class=\"str-chat__loading-channel-message-send\"></div>\n </div>\n </div>\n </ng-template>\n</div>\n" }]
|
|
44
|
+
}], ctorParameters: () => [{ type: i1.ChannelService }, { type: i2.ThemeService }, { type: i3.CustomTemplatesService }] });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvY2hhbm5lbC9jaGFubmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsL2NoYW5uZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFLckM7O0dBRUc7QUFNSCxNQUFNLE9BQU8sZ0JBQWdCO0lBUTNCLFlBQ1UsY0FBOEIsRUFDOUIsWUFBMEIsRUFDekIsc0JBQThDO1FBRi9DLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUN6QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBTnpELGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQVFqQyxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQztZQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQjtZQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWM7U0FDbkMsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFO1lBQzdCLE9BQU8sQ0FBQyxhQUFhLElBQUksS0FBSyxFQUFFLEtBQUssS0FBSyxPQUFPLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlLEdBQUcsYUFBYSxDQUFDO1lBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCO1lBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYztTQUNuQyxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUU7WUFDN0IsT0FBTyxDQUFDLGFBQWEsSUFBSSxLQUFLLEVBQUUsS0FBSyxLQUFLLGFBQWEsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FDcEUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ2xCLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzdELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNoQixDQUFDO0lBQ0osQ0FBQzsrR0FwQ1UsZ0JBQWdCO21HQUFoQixnQkFBZ0Isc0RDZjdCLDQySEFxR0E7OzRGRHRGYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhbm5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IFRoZW1lU2VydmljZSB9IGZyb20gJy4uL3RoZW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3VzdG9tVGVtcGxhdGVzU2VydmljZSB9IGZyb20gJy4uL2N1c3RvbS10ZW1wbGF0ZXMuc2VydmljZSc7XG5cbi8qKlxuICogVGhlIGBDaGFubmVsYCBjb21wb25lbnQgaXMgYSBjb250YWluZXIgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgdGhlIFtgQ2hhbm5lbEhlYWRlcmBdKC9jaGF0L2RvY3Mvc2RrL2FuZ3VsYXIvY29tcG9uZW50cy9DaGFubmVsSGVhZGVyQ29tcG9uZW50LyksIFtgTWVzc2FnZUxpc3RgXSgvY2hhdC9kb2NzL3Nkay9hbmd1bGFyL2NvbXBvbmVudHMvTWVzc2FnZUxpc3RDb21wb25lbnQpLCBbYE5vdGlmaWNhdGlvbkxpc3RgXSgvY2hhdC9kb2NzL3Nkay9hbmd1bGFyL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uTGlzdENvbXBvbmVudC8pIGFuZCBbYE1lc3NhZ2VJbnB1dGBdKC9jaGF0L2RvY3Mvc2RrL2FuZ3VsYXIvY29tcG9uZW50cy9NZXNzYWdlSW5wdXRDb21wb25lbnQvKSBjb21wb25lbnRzLiBZb3UgY2FuIGFsc28gcHJvdmlkZSB0aGUgW2BUaHJlYWRgXSgvY2hhdC9kb2NzL3Nkay9hbmd1bGFyL2NvbXBvbmVudHMvVGhyZWFkQ29tcG9uZW50LykgY29tcG9uZW50IHRvIHVzZSBtZXNzYWdlIFt0aHJlYWRzXSgvY2hhdC9kb2NzL2phdmFzY3JpcHQvdGhyZWFkcy8pLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHJlYW0tY2hhbm5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFubmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhbm5lbENvbXBvbmVudCB7XG4gIGlzRXJyb3IkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBpc0luaXRpYWxpemluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGlzQWN0aXZlVGhyZWFkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaXNBY3RpdmVDaGFubmVsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgdGhlbWUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0aGVtZVNlcnZpY2U6IFRoZW1lU2VydmljZSxcbiAgICByZWFkb25seSBjdXN0b21UZW1wbGF0ZXNTZXJ2aWNlOiBDdXN0b21UZW1wbGF0ZXNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuaXNFcnJvciQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY2hhbm5lbFNlcnZpY2UuY2hhbm5lbFF1ZXJ5U3RhdGUkLFxuICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5hY3RpdmVDaGFubmVsJCxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbc3RhdGUsIGFjdGl2ZUNoYW5uZWxdKSA9PiB7XG4gICAgICAgIHJldHVybiAhYWN0aXZlQ2hhbm5lbCAmJiBzdGF0ZT8uc3RhdGUgPT09ICdlcnJvcic7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5pc0luaXRpYWxpemluZyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY2hhbm5lbFNlcnZpY2UuY2hhbm5lbFF1ZXJ5U3RhdGUkLFxuICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5hY3RpdmVDaGFubmVsJCxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbc3RhdGUsIGFjdGl2ZUNoYW5uZWxdKSA9PiB7XG4gICAgICAgIHJldHVybiAhYWN0aXZlQ2hhbm5lbCAmJiBzdGF0ZT8uc3RhdGUgPT09ICdpbi1wcm9ncmVzcyc7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5pc0FjdGl2ZVRocmVhZCQgPSB0aGlzLmNoYW5uZWxTZXJ2aWNlLmFjdGl2ZVBhcmVudE1lc3NhZ2VJZCQucGlwZShcbiAgICAgIG1hcCgoaWQpID0+ICEhaWQpXG4gICAgKTtcbiAgICB0aGlzLnRoZW1lJCA9IHRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lJDtcbiAgICB0aGlzLmlzQWN0aXZlQ2hhbm5lbCQgPSB0aGlzLmNoYW5uZWxTZXJ2aWNlLmFjdGl2ZUNoYW5uZWwkLnBpcGUoXG4gICAgICBtYXAoKGMpID0+ICEhYylcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic3RyLWNoYXQgc3RyLWNoYXQtY2hhbm5lbCBtZXNzYWdpbmcgc3RyLWNoYXRfX2NoYW5uZWwgc3RyLWNoYXRfX3RoZW1lLXt7XG4gICAgdGhlbWUkIHwgYXN5bmNcbiAgfX1cIlxuPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJcbiAgICAgIChpc0Vycm9yJCB8IGFzeW5jKSA9PT0gZmFsc2UgJiZcbiAgICAgICAgKGlzSW5pdGlhbGl6aW5nJCB8IGFzeW5jKSA9PT0gZmFsc2UgJiZcbiAgICAgICAgKGlzQWN0aXZlQ2hhbm5lbCQgfCBhc3luYykgPT09IHRydWU7XG4gICAgICBlbHNlIG5vQ2hhbm5lbFxuICAgIFwiXG4gICAgY2xhc3M9XCJzdHItY2hhdF9fY29udGFpbmVyXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIChjdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLm1lc3NhZ2VCb3VuY2VQcm9tcHRUZW1wbGF0ZSQgfCBhc3luYykgfHxcbiAgICAgICAgZGVmYXVsdE1lc3NhZ2VCb3VuY2VQcm9tcHRcbiAgICAgIFwiXG4gICAgLz5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRNZXNzYWdlQm91bmNlUHJvbXB0PlxuICAgICAgPHN0cmVhbS1tZXNzYWdlLWJvdW5jZS1wcm9tcHQgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbWFpbi1wYW5lbFwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250ZW50XG4gICAgICAqbmdJZj1cImlzQWN0aXZlVGhyZWFkJCB8IGFzeW5jXCJcbiAgICAgIHNlbGVjdD0nW25hbWU9XCJ0aHJlYWRcIl0nXG4gICAgPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbm9DaGFubmVsPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIChpc0luaXRpYWxpemluZyQgfCBhc3luYykgPT09IGZhbHNlICYmXG4gICAgICAgICgoaXNFcnJvciQgfCBhc3luYykgPT09IHRydWUgfHwgKGlzQWN0aXZlQ2hhbm5lbCQgfCBhc3luYykgPT09IGZhbHNlKVxuICAgICAgXCJcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX2VtcHR5LWNoYW5uZWxcIlxuICAgID5cbiAgICAgIDxzdHJlYW0taWNvbiBpY29uPVwiY2hhdC1idWJibGVcIiAvPlxuICAgICAgPHAgY2xhc3M9XCJzdHItY2hhdF9fZW1wdHktY2hhbm5lbC10ZXh0XCI+XG4gICAgICAgIHt7IFwic3RyZWFtQ2hhdC5ObyBjaGF0cyBoZXJlIHlldOKAplwiIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3A+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2VtcHR5LWNoYW5uZWwtbm90aWZpY2F0aW9uc1wiPlxuICAgICAgICA8c3RyZWFtLW5vdGlmaWNhdGlvbi1saXN0IC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIlxuICAgICAgICAoaXNJbml0aWFsaXppbmckIHwgYXN5bmMpID09PSB0cnVlICYmXG4gICAgICAgIChpc0Vycm9yJCB8IGFzeW5jKSA9PT0gZmFsc2UgJiZcbiAgICAgICAgKGlzQWN0aXZlQ2hhbm5lbCQgfCBhc3luYykgPT09IGZhbHNlXG4gICAgICBcIlxuICAgICAgY2xhc3M9XCJzdHItY2hhdF9fbG9hZGluZy1jaGFubmVsXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbC1oZWFkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19sb2FkaW5nLWNoYW5uZWwtaGVhZGVyLWF2YXRhclwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbC1oZWFkZXItZW5kXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19sb2FkaW5nLWNoYW5uZWwtaGVhZGVyLW5hbWVcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbC1oZWFkZXItaW5mb1wiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19sb2FkaW5nLWNoYW5uZWwtbWVzc2FnZS1saXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbG9hZGluZy1jaGFubmVsLW1lc3NhZ2VcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbC1tZXNzYWdlLWF2YXRhclwiPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbG9hZGluZy1jaGFubmVsLW1lc3NhZ2UtZW5kXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbC1tZXNzYWdlLXNlbmRlclwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19sb2FkaW5nLWNoYW5uZWwtbWVzc2FnZS1sYXN0LXJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbC1tZXNzYWdlLXRleHRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19sb2FkaW5nLWNoYW5uZWwtbWVzc2FnZS1kYXRlXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbG9hZGluZy1jaGFubmVsLW1lc3NhZ2VcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbC1tZXNzYWdlLWF2YXRhclwiPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbG9hZGluZy1jaGFubmVsLW1lc3NhZ2UtZW5kXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbC1tZXNzYWdlLXNlbmRlclwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19sb2FkaW5nLWNoYW5uZWwtbWVzc2FnZS1sYXN0LXJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbC1tZXNzYWdlLXRleHRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19sb2FkaW5nLWNoYW5uZWwtbWVzc2FnZS1kYXRlXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbG9hZGluZy1jaGFubmVsLW1lc3NhZ2VcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbC1tZXNzYWdlLWF2YXRhclwiPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbG9hZGluZy1jaGFubmVsLW1lc3NhZ2UtZW5kXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbC1tZXNzYWdlLXNlbmRlclwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19sb2FkaW5nLWNoYW5uZWwtbWVzc2FnZS1sYXN0LXJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbC1tZXNzYWdlLXRleHRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19sb2FkaW5nLWNoYW5uZWwtbWVzc2FnZS1kYXRlXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbG9hZGluZy1jaGFubmVsLW1lc3NhZ2UtaW5wdXQtcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbG9hZGluZy1jaGFubmVsLW1lc3NhZ2UtaW5wdXRcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19sb2FkaW5nLWNoYW5uZWwtbWVzc2FnZS1zZW5kXCI+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|
|
@@ -62,11 +62,11 @@ export class ChannelHeaderComponent {
|
|
|
62
62
|
get avatarName() {
|
|
63
63
|
return this.activeChannel?.data?.name;
|
|
64
64
|
}
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChannelHeaderComponent, deps: [{ token: i1.ChannelService }, { token: i2.CustomTemplatesService }, { token: i0.ChangeDetectorRef }, { token: i3.ChatClientService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChannelHeaderComponent, selector: "stream-channel-header", ngImport: i0, template: "<div class=\"str-chat__header-livestream str-chat__channel-header\">\n <ng-content></ng-content>\n <stream-avatar-placeholder\n type=\"channel\"\n location=\"channel-header\"\n imageUrl=\"{{ activeChannel?.data?.image }}\"\n name=\"{{ avatarName }}\"\n [channel]=\"activeChannel\"\n />\n <div class=\"str-chat__header-livestream-left str-chat__channel-header-end\">\n <p\n data-testid=\"name\"\n class=\"str-chat__header-livestream-left--title str-chat__channel-header-title\"\n >\n {{ displayText }}\n </p>\n <ng-container\n *ngTemplateOutlet=\"\n channelHeaderInfoTemplate || defaultChannelInfo;\n context: getChannelInfoContext()\n \"\n />\n <ng-template #defaultChannelInfo>\n <p\n data-testid=\"info\"\n class=\"str-chat__header-livestream-left--members str-chat__channel-header-info\"\n >\n {{'streamChat.{{ memberCount }} members' | translate:memberCountParam}}\n {{canReceiveConnectEvents ? ('streamChat.{{ watcherCount }} online' |\n translate:watcherCountParam) : ''}}\n </p>\n </ng-template>\n </div>\n <ng-container *ngIf=\"channelActionsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"\n channelActionsTemplate;\n context: getChannelActionsContext()\n \"\n />\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.AvatarPlaceholderComponent, selector: "stream-avatar-placeholder", inputs: ["name", "imageUrl", "location", "channel", "user", "type", "initialsType", "showOnlineIndicator"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
65
67
|
}
|
|
66
|
-
|
|
67
|
-
ChannelHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ChannelHeaderComponent, selector: "stream-channel-header", ngImport: i0, template: "<div class=\"str-chat__header-livestream str-chat__channel-header\">\n <ng-content></ng-content>\n <stream-avatar-placeholder\n type=\"channel\"\n location=\"channel-header\"\n imageUrl=\"{{ activeChannel?.data?.image }}\"\n name=\"{{ avatarName }}\"\n [channel]=\"activeChannel\"\n ></stream-avatar-placeholder>\n <div class=\"str-chat__header-livestream-left str-chat__channel-header-end\">\n <p\n data-testid=\"name\"\n class=\"str-chat__header-livestream-left--title str-chat__channel-header-title\"\n >\n {{ displayText }}\n </p>\n <ng-container\n *ngTemplateOutlet=\"\n channelHeaderInfoTemplate || defaultChannelInfo;\n context: getChannelInfoContext()\n \"\n ></ng-container>\n <ng-template #defaultChannelInfo>\n <p\n data-testid=\"info\"\n class=\"str-chat__header-livestream-left--members str-chat__channel-header-info\"\n >\n {{'streamChat.{{ memberCount }} members' | translate:memberCountParam}}\n {{canReceiveConnectEvents ? ('streamChat.{{ watcherCount }} online' |\n translate:watcherCountParam) : ''}}\n </p>\n </ng-template>\n </div>\n <ng-container *ngIf=\"channelActionsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"\n channelActionsTemplate;\n context: getChannelActionsContext()\n \"\n ></ng-container>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.AvatarPlaceholderComponent, selector: "stream-avatar-placeholder", inputs: ["name", "imageUrl", "location", "channel", "user", "type", "initialsType", "showOnlineIndicator"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ChannelHeaderComponent, decorators: [{
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChannelHeaderComponent, decorators: [{
|
|
69
69
|
type: Component,
|
|
70
|
-
args: [{ selector: 'stream-channel-header', template: "<div class=\"str-chat__header-livestream str-chat__channel-header\">\n <ng-content></ng-content>\n <stream-avatar-placeholder\n type=\"channel\"\n location=\"channel-header\"\n imageUrl=\"{{ activeChannel?.data?.image }}\"\n name=\"{{ avatarName }}\"\n [channel]=\"activeChannel\"\n
|
|
71
|
-
}], ctorParameters:
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
args: [{ selector: 'stream-channel-header', template: "<div class=\"str-chat__header-livestream str-chat__channel-header\">\n <ng-content></ng-content>\n <stream-avatar-placeholder\n type=\"channel\"\n location=\"channel-header\"\n imageUrl=\"{{ activeChannel?.data?.image }}\"\n name=\"{{ avatarName }}\"\n [channel]=\"activeChannel\"\n />\n <div class=\"str-chat__header-livestream-left str-chat__channel-header-end\">\n <p\n data-testid=\"name\"\n class=\"str-chat__header-livestream-left--title str-chat__channel-header-title\"\n >\n {{ displayText }}\n </p>\n <ng-container\n *ngTemplateOutlet=\"\n channelHeaderInfoTemplate || defaultChannelInfo;\n context: getChannelInfoContext()\n \"\n />\n <ng-template #defaultChannelInfo>\n <p\n data-testid=\"info\"\n class=\"str-chat__header-livestream-left--members str-chat__channel-header-info\"\n >\n {{'streamChat.{{ memberCount }} members' | translate:memberCountParam}}\n {{canReceiveConnectEvents ? ('streamChat.{{ watcherCount }} online' |\n translate:watcherCountParam) : ''}}\n </p>\n </ng-template>\n </div>\n <ng-container *ngIf=\"channelActionsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"\n channelActionsTemplate;\n context: getChannelActionsContext()\n \"\n />\n </ng-container>\n</div>\n" }]
|
|
71
|
+
}], ctorParameters: () => [{ type: i1.ChannelService }, { type: i2.CustomTemplatesService }, { type: i0.ChangeDetectorRef }, { type: i3.ChatClientService }] });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL2NoYW5uZWwtaGVhZGVyL2NoYW5uZWwtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLWhlYWRlci9jaGFubmVsLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxHQUlWLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7OztBQUdwRTs7R0FFRztBQU1ILE1BQU0sT0FBTyxzQkFBc0I7SUFPakMsWUFDVSxjQUE4QixFQUM5QixzQkFBOEMsRUFDOUMsS0FBd0IsRUFDeEIsaUJBQW9DO1FBSHBDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFOdEMsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBUXpDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSTtnQkFDM0MsRUFBRSxnQkFBNEIsQ0FBQztZQUNqQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNqQixPQUFPO2FBQ1I7WUFDRCxJQUFJLENBQUMsdUJBQXVCO2dCQUMxQixZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUMzRCxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ1gsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFFBQVEsQ0FBQztZQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FDRixDQUNGLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLDBCQUEwQixDQUFDLFNBQVMsQ0FDOUQsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNYLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxRQUFRLENBQUM7WUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELHdCQUF3QjtRQUN0QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFjLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWMsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLFlBQVksSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxhQUFhLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxPQUFPLHFCQUFxQixDQUMxQixJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUssQ0FDeEMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztJQUN4QyxDQUFDOytHQTNFVSxzQkFBc0I7bUdBQXRCLHNCQUFzQiw2REN2Qm5DLHMxQ0EwQ0E7OzRGRG5CYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2hhbm5lbCB9IGZyb20gJ3N0cmVhbS1jaGF0JztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhbm5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IENoYXRDbGllbnRTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhdC1jbGllbnQuc2VydmljZSc7XG5pbXBvcnQgeyBDdXN0b21UZW1wbGF0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vY3VzdG9tLXRlbXBsYXRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IGdldENoYW5uZWxEaXNwbGF5VGV4dCB9IGZyb20gJy4uL2dldC1jaGFubmVsLWRpc3BsYXktdGV4dCc7XG5pbXBvcnQgeyBDaGFubmVsQWN0aW9uc0NvbnRleHQsIENoYW5uZWxIZWFkZXJJbmZvQ29udGV4dCB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiBUaGUgYENoYW5uZWxIZWFkZXJgIGNvbXBvbmVudCBkaXNwbGF5cyB0aGUgYXZhdGFyIGFuZCBuYW1lIG9mIHRoZSBjdXJyZW50bHkgYWN0aXZlIGNoYW5uZWwgYWxvbmcgd2l0aCBtZW1iZXIgYW5kIHdhdGNoZXIgaW5mb3JtYXRpb24uIFlvdSBjYW4gcmVhZCBhYm91dCBbdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBtZW1iZXJzIGFuZCB3YXRjaGVyc10oL2NoYXQvZG9jcy9qYXZhc2NyaXB0L3dhdGNoX2NoYW5uZWwvI3dhdGNoZXJzLXZzLW1lbWJlcnMpIGluIHRoZSBwbGF0Zm9ybSBkb2N1bWVudGF0aW9uLiBQbGVhc2Ugbm90ZSB0aGF0IG51bWJlciBvZiB3YXRjaGVycyBpcyBvbmx5IGRpc3BsYXllZCBpZiB0aGUgdXNlciBoYXMgW2Bjb25uZWN0LWV2ZW50c2AgY2FwYWJpbGl0eV0oL2NoYXQvZG9jcy9qYXZhc2NyaXB0L2NoYW5uZWxfY2FwYWJpbGl0aWVzLylcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3RyZWFtLWNoYW5uZWwtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYW5uZWwtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhbm5lbEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgY2hhbm5lbEFjdGlvbnNUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPENoYW5uZWxBY3Rpb25zQ29udGV4dD47XG4gIGNoYW5uZWxIZWFkZXJJbmZvVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxDaGFubmVsSGVhZGVySW5mb0NvbnRleHQ+O1xuICBhY3RpdmVDaGFubmVsOiBDaGFubmVsIHwgdW5kZWZpbmVkO1xuICBjYW5SZWNlaXZlQ29ubmVjdEV2ZW50czogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgY3VzdG9tVGVtcGxhdGVzU2VydmljZTogQ3VzdG9tVGVtcGxhdGVzU2VydmljZSxcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGNoYXRDbGllbnRTZXJ2aWNlOiBDaGF0Q2xpZW50U2VydmljZVxuICApIHtcbiAgICB0aGlzLmNoYW5uZWxTZXJ2aWNlLmFjdGl2ZUNoYW5uZWwkLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgdGhpcy5hY3RpdmVDaGFubmVsID0gYztcbiAgICAgIGNvbnN0IGNhcGFiaWxpdGllcyA9IHRoaXMuYWN0aXZlQ2hhbm5lbD8uZGF0YVxuICAgICAgICA/Lm93bl9jYXBhYmlsaXRpZXMgYXMgc3RyaW5nW107XG4gICAgICBpZiAoIWNhcGFiaWxpdGllcykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmNhblJlY2VpdmVDb25uZWN0RXZlbnRzID1cbiAgICAgICAgY2FwYWJpbGl0aWVzLmluZGV4T2YoJ2Nvbm5lY3QtZXZlbnRzJykgIT09IC0xO1xuICAgIH0pO1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLmNoYW5uZWxBY3Rpb25zVGVtcGxhdGUkLnN1YnNjcmliZShcbiAgICAgICAgKHRlbXBsYXRlKSA9PiB7XG4gICAgICAgICAgdGhpcy5jaGFubmVsQWN0aW9uc1RlbXBsYXRlID0gdGVtcGxhdGU7XG4gICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLmNoYW5uZWxIZWFkZXJJbmZvVGVtcGxhdGUkLnN1YnNjcmliZShcbiAgICAgICAgKHRlbXBsYXRlKSA9PiB7XG4gICAgICAgICAgdGhpcy5jaGFubmVsSGVhZGVySW5mb1RlbXBsYXRlID0gdGVtcGxhdGU7XG4gICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHMpID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBnZXRDaGFubmVsQWN0aW9uc0NvbnRleHQoKTogQ2hhbm5lbEFjdGlvbnNDb250ZXh0IHtcbiAgICByZXR1cm4geyBjaGFubmVsOiB0aGlzLmFjdGl2ZUNoYW5uZWwhIH07XG4gIH1cblxuICBnZXRDaGFubmVsSW5mb0NvbnRleHQoKTogQ2hhbm5lbEhlYWRlckluZm9Db250ZXh0IHtcbiAgICByZXR1cm4geyBjaGFubmVsOiB0aGlzLmFjdGl2ZUNoYW5uZWwhIH07XG4gIH1cblxuICBnZXQgbWVtYmVyQ291bnRQYXJhbSgpIHtcbiAgICByZXR1cm4geyBtZW1iZXJDb3VudDogdGhpcy5hY3RpdmVDaGFubmVsPy5kYXRhPy5tZW1iZXJfY291bnQgfHwgMCB9O1xuICB9XG5cbiAgZ2V0IHdhdGNoZXJDb3VudFBhcmFtKCkge1xuICAgIHJldHVybiB7IHdhdGNoZXJDb3VudDogdGhpcy5hY3RpdmVDaGFubmVsPy5zdGF0ZT8ud2F0Y2hlcl9jb3VudCB8fCAwIH07XG4gIH1cblxuICBnZXQgZGlzcGxheVRleHQoKSB7XG4gICAgaWYgKCF0aGlzLmFjdGl2ZUNoYW5uZWwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGdldENoYW5uZWxEaXNwbGF5VGV4dChcbiAgICAgIHRoaXMuYWN0aXZlQ2hhbm5lbCxcbiAgICAgIHRoaXMuY2hhdENsaWVudFNlcnZpY2UuY2hhdENsaWVudC51c2VyIVxuICAgICk7XG4gIH1cblxuICBnZXQgYXZhdGFyTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVDaGFubmVsPy5kYXRhPy5uYW1lO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2hlYWRlci1saXZlc3RyZWFtIHN0ci1jaGF0X19jaGFubmVsLWhlYWRlclwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDxzdHJlYW0tYXZhdGFyLXBsYWNlaG9sZGVyXG4gICAgdHlwZT1cImNoYW5uZWxcIlxuICAgIGxvY2F0aW9uPVwiY2hhbm5lbC1oZWFkZXJcIlxuICAgIGltYWdlVXJsPVwie3sgYWN0aXZlQ2hhbm5lbD8uZGF0YT8uaW1hZ2UgfX1cIlxuICAgIG5hbWU9XCJ7eyBhdmF0YXJOYW1lIH19XCJcbiAgICBbY2hhbm5lbF09XCJhY3RpdmVDaGFubmVsXCJcbiAgLz5cbiAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19oZWFkZXItbGl2ZXN0cmVhbS1sZWZ0IHN0ci1jaGF0X19jaGFubmVsLWhlYWRlci1lbmRcIj5cbiAgICA8cFxuICAgICAgZGF0YS10ZXN0aWQ9XCJuYW1lXCJcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX2hlYWRlci1saXZlc3RyZWFtLWxlZnQtLXRpdGxlIHN0ci1jaGF0X19jaGFubmVsLWhlYWRlci10aXRsZVwiXG4gICAgPlxuICAgICAge3sgZGlzcGxheVRleHQgfX1cbiAgICA8L3A+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgY2hhbm5lbEhlYWRlckluZm9UZW1wbGF0ZSB8fCBkZWZhdWx0Q2hhbm5lbEluZm87XG4gICAgICAgIGNvbnRleHQ6IGdldENoYW5uZWxJbmZvQ29udGV4dCgpXG4gICAgICBcIlxuICAgIC8+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q2hhbm5lbEluZm8+XG4gICAgICA8cFxuICAgICAgICBkYXRhLXRlc3RpZD1cImluZm9cIlxuICAgICAgICBjbGFzcz1cInN0ci1jaGF0X19oZWFkZXItbGl2ZXN0cmVhbS1sZWZ0LS1tZW1iZXJzIHN0ci1jaGF0X19jaGFubmVsLWhlYWRlci1pbmZvXCJcbiAgICAgID5cbiAgICAgICAge3snc3RyZWFtQ2hhdC57eyBtZW1iZXJDb3VudCB9fSBtZW1iZXJzJyB8IHRyYW5zbGF0ZTptZW1iZXJDb3VudFBhcmFtfX1cbiAgICAgICAge3tjYW5SZWNlaXZlQ29ubmVjdEV2ZW50cyA/ICgnc3RyZWFtQ2hhdC57eyB3YXRjaGVyQ291bnQgfX0gb25saW5lJyB8XG4gICAgICAgIHRyYW5zbGF0ZTp3YXRjaGVyQ291bnRQYXJhbSkgOiAnJ319XG4gICAgICA8L3A+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjaGFubmVsQWN0aW9uc1RlbXBsYXRlXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgY2hhbm5lbEFjdGlvbnNUZW1wbGF0ZTtcbiAgICAgICAgY29udGV4dDogZ2V0Q2hhbm5lbEFjdGlvbnNDb250ZXh0KClcbiAgICAgIFwiXG4gICAgLz5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../channel.service";
|
|
5
|
+
import * as i2 from "../custom-templates.service";
|
|
6
|
+
import * as i3 from "../theme.service";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "../icon/icon.component";
|
|
9
|
+
import * as i6 from "../paginated-list/paginated-list.component";
|
|
10
|
+
import * as i7 from "../channel-preview/channel-preview.component";
|
|
11
|
+
import * as i8 from "@ngx-translate/core";
|
|
12
|
+
/**
|
|
13
|
+
* The `ChannelList` component renders the list of channels.
|
|
14
|
+
*/
|
|
15
|
+
export class ChannelListComponent {
|
|
16
|
+
constructor(channelService, customTemplatesService, themeService) {
|
|
17
|
+
this.channelService = channelService;
|
|
18
|
+
this.customTemplatesService = customTemplatesService;
|
|
19
|
+
this.themeService = themeService;
|
|
20
|
+
this.isLoadingMoreChannels = false;
|
|
21
|
+
this.subscriptions = [];
|
|
22
|
+
this.theme$ = this.themeService.theme$;
|
|
23
|
+
this.channels$ = this.channelService.channels$;
|
|
24
|
+
this.hasMoreChannels$ = this.channelService.hasMoreChannels$;
|
|
25
|
+
this.isError$ = this.channelService.channelQueryState$.pipe(map((s) => !this.isLoadingMoreChannels && s?.state === 'error'));
|
|
26
|
+
this.isInitializing$ = this.channelService.channelQueryState$.pipe(map((s) => !this.isLoadingMoreChannels && s?.state === 'in-progress'));
|
|
27
|
+
this.subscriptions.push(this.customTemplatesService.channelPreviewTemplate$.subscribe((template) => (this.customChannelPreviewTemplate = template)));
|
|
28
|
+
}
|
|
29
|
+
ngOnDestroy() {
|
|
30
|
+
this.subscriptions.forEach((s) => s.unsubscribe());
|
|
31
|
+
}
|
|
32
|
+
async loadMoreChannels() {
|
|
33
|
+
this.isLoadingMoreChannels = true;
|
|
34
|
+
await this.channelService.loadMoreChannels();
|
|
35
|
+
this.isLoadingMoreChannels = false;
|
|
36
|
+
}
|
|
37
|
+
trackByChannelId(_, item) {
|
|
38
|
+
return item.cid;
|
|
39
|
+
}
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChannelListComponent, deps: [{ token: i1.ChannelService }, { token: i2.CustomTemplatesService }, { token: i3.ThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChannelListComponent, selector: "stream-channel-list", ngImport: i0, template: "<div\n #container\n data-testid=\"channel-list-container\"\n class=\"str-chat str-chat-angular__channel-list str-chat__channel-list str-chat-channel-list messaging str-chat__theme-{{\n theme$ | async\n }}\"\n>\n <div\n *ngIf=\"\n (isError$ | async) === false && (isInitializing$ | async) === false;\n else statusIndicator\n \"\n class=\"str-chat__channel-list-messenger\"\n >\n <div class=\"str-chat__channel-list-messenger__main\">\n <ng-content select=\"[channel-list-top]\"></ng-content>\n <div\n *ngIf=\"!(channels$ | async)?.length\"\n class=\"str-chat__channel-list-empty\"\n >\n <stream-icon icon=\"chat-bubble\" />\n <p data-testid=\"empty-channel-list-indicator\">\n {{ \"streamChat.You have no channels currently\" | translate }}\n </p>\n </div>\n <p\n *ngIf=\"!(channels$ | async)?.length\"\n class=\"str-chat__channel-list-empty-v1\"\n data-testid=\"empty-channel-list-indicator\"\n >\n {{ \"streamChat.You have no channels currently\" | translate }}\n </p>\n <stream-paginated-list\n [items]=\"(channels$ | async) ?? []\"\n [hasMore]=\"(hasMoreChannels$ | async) ?? false\"\n [isLoading]=\"isLoadingMoreChannels\"\n (loadMore)=\"loadMoreChannels()\"\n [trackBy]=\"trackByChannelId\"\n >\n <ng-template let-channel=\"item\">\n <ng-template #defaultTemplate let-channelInput=\"channel\">\n <stream-channel-preview\n data-testclass=\"channel-preview\"\n [channel]=\"channelInput\"\n />\n </ng-template>\n <div>\n <ng-container\n *ngTemplateOutlet=\"\n customChannelPreviewTemplate || defaultTemplate;\n context: { channel: channel }\n \"\n />\n </div>\n </ng-template>\n </stream-paginated-list>\n <ng-content select=\"[channel-list-bottom]\"></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #statusIndicator>\n <ng-container *ngIf=\"isError$ | async\">\n <ng-container *ngTemplateOutlet=\"chatDown\" />\n </ng-container>\n <ng-container *ngIf=\"isInitializing$ | async\">\n <ng-container *ngTemplateOutlet=\"loadingChannels\" />\n </ng-container>\n</ng-template>\n\n<ng-template #chatDown>\n <div data-testid=\"chatdown-container\" class=\"str-chat__down\">\n <ng-container *ngTemplateOutlet=\"loadingChannels\" />\n </div>\n</ng-template>\n\n<ng-template #loadingChannels>\n <div\n data-testid=\"loading-indicator-full-size\"\n class=\"str-chat__loading-channels\"\n >\n <ng-container *ngTemplateOutlet=\"loadingChannel\" />\n <ng-container *ngTemplateOutlet=\"loadingChannel\" />\n <ng-container *ngTemplateOutlet=\"loadingChannel\" />\n </div>\n</ng-template>\n\n<ng-template #loadingChannel>\n <div\n class=\"str-chat__loading-channels-item str-chat__channel-preview-loading\"\n >\n <div class=\"str-chat__loading-channels-avatar\"></div>\n <div\n class=\"str-chat__loading-channels-meta str-chat__channel-preview-end-loading\"\n >\n <div class=\"str-chat__loading-channels-username\"></div>\n <div class=\"str-chat__loading-channels-status\"></div>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.IconComponent, selector: "stream-icon", inputs: ["icon"] }, { kind: "component", type: i6.PaginatedListComponent, selector: "stream-paginated-list", inputs: ["items", "isLoading", "hasMore", "trackBy"], outputs: ["loadMore"] }, { kind: "component", type: i7.ChannelPreviewComponent, selector: "stream-channel-preview", inputs: ["channel"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChannelListComponent, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{ selector: 'stream-channel-list', template: "<div\n #container\n data-testid=\"channel-list-container\"\n class=\"str-chat str-chat-angular__channel-list str-chat__channel-list str-chat-channel-list messaging str-chat__theme-{{\n theme$ | async\n }}\"\n>\n <div\n *ngIf=\"\n (isError$ | async) === false && (isInitializing$ | async) === false;\n else statusIndicator\n \"\n class=\"str-chat__channel-list-messenger\"\n >\n <div class=\"str-chat__channel-list-messenger__main\">\n <ng-content select=\"[channel-list-top]\"></ng-content>\n <div\n *ngIf=\"!(channels$ | async)?.length\"\n class=\"str-chat__channel-list-empty\"\n >\n <stream-icon icon=\"chat-bubble\" />\n <p data-testid=\"empty-channel-list-indicator\">\n {{ \"streamChat.You have no channels currently\" | translate }}\n </p>\n </div>\n <p\n *ngIf=\"!(channels$ | async)?.length\"\n class=\"str-chat__channel-list-empty-v1\"\n data-testid=\"empty-channel-list-indicator\"\n >\n {{ \"streamChat.You have no channels currently\" | translate }}\n </p>\n <stream-paginated-list\n [items]=\"(channels$ | async) ?? []\"\n [hasMore]=\"(hasMoreChannels$ | async) ?? false\"\n [isLoading]=\"isLoadingMoreChannels\"\n (loadMore)=\"loadMoreChannels()\"\n [trackBy]=\"trackByChannelId\"\n >\n <ng-template let-channel=\"item\">\n <ng-template #defaultTemplate let-channelInput=\"channel\">\n <stream-channel-preview\n data-testclass=\"channel-preview\"\n [channel]=\"channelInput\"\n />\n </ng-template>\n <div>\n <ng-container\n *ngTemplateOutlet=\"\n customChannelPreviewTemplate || defaultTemplate;\n context: { channel: channel }\n \"\n />\n </div>\n </ng-template>\n </stream-paginated-list>\n <ng-content select=\"[channel-list-bottom]\"></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #statusIndicator>\n <ng-container *ngIf=\"isError$ | async\">\n <ng-container *ngTemplateOutlet=\"chatDown\" />\n </ng-container>\n <ng-container *ngIf=\"isInitializing$ | async\">\n <ng-container *ngTemplateOutlet=\"loadingChannels\" />\n </ng-container>\n</ng-template>\n\n<ng-template #chatDown>\n <div data-testid=\"chatdown-container\" class=\"str-chat__down\">\n <ng-container *ngTemplateOutlet=\"loadingChannels\" />\n </div>\n</ng-template>\n\n<ng-template #loadingChannels>\n <div\n data-testid=\"loading-indicator-full-size\"\n class=\"str-chat__loading-channels\"\n >\n <ng-container *ngTemplateOutlet=\"loadingChannel\" />\n <ng-container *ngTemplateOutlet=\"loadingChannel\" />\n <ng-container *ngTemplateOutlet=\"loadingChannel\" />\n </div>\n</ng-template>\n\n<ng-template #loadingChannel>\n <div\n class=\"str-chat__loading-channels-item str-chat__channel-preview-loading\"\n >\n <div class=\"str-chat__loading-channels-avatar\"></div>\n <div\n class=\"str-chat__loading-channels-meta str-chat__channel-preview-end-loading\"\n >\n <div class=\"str-chat__loading-channels-username\"></div>\n <div class=\"str-chat__loading-channels-status\"></div>\n </div>\n </div>\n</ng-template>\n" }]
|
|
46
|
+
}], ctorParameters: () => [{ type: i1.ChannelService }, { type: i2.CustomTemplatesService }, { type: i3.ThemeService }] });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLWxpc3QvY2hhbm5lbC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLWxpc3QvY2hhbm5lbC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTBCLE1BQU0sZUFBZSxDQUFDO0FBRWxFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQU9yQzs7R0FFRztBQU1ILE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFDVSxjQUE4QixFQUM5QixzQkFBOEMsRUFDOUMsWUFBMEI7UUFGMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFUcEMsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBSTlCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQU9qQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUM7UUFDN0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FDekQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUNoRSxDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FDaEUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLLGFBQWEsQ0FBQyxDQUN0RSxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQzNELENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxRQUFRLENBQUMsQ0FDN0QsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0I7UUFDcEIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztRQUNsQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxDQUFTLEVBQUUsSUFBYTtRQUN2QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQzsrR0EzQ1Usb0JBQW9CO21HQUFwQixvQkFBb0IsMkRDakJqQyxveEdBb0dBOzs0RkRuRmEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDaGFubmVsIH0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi9jaGFubmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3VzdG9tVGVtcGxhdGVzU2VydmljZSB9IGZyb20gJy4uL2N1c3RvbS10ZW1wbGF0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi90aGVtZS5zZXJ2aWNlJztcbmltcG9ydCB7IENoYW5uZWxQcmV2aWV3Q29udGV4dCB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiBUaGUgYENoYW5uZWxMaXN0YCBjb21wb25lbnQgcmVuZGVycyB0aGUgbGlzdCBvZiBjaGFubmVscy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3RyZWFtLWNoYW5uZWwtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFubmVsLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFubmVsTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIGNoYW5uZWxzJDogT2JzZXJ2YWJsZTxDaGFubmVsW10gfCB1bmRlZmluZWQ+O1xuICBpc0Vycm9yJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaXNJbml0aWFsaXppbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBpc0xvYWRpbmdNb3JlQ2hhbm5lbHMgPSBmYWxzZTtcbiAgaGFzTW9yZUNoYW5uZWxzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgY3VzdG9tQ2hhbm5lbFByZXZpZXdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8Q2hhbm5lbFByZXZpZXdDb250ZXh0PiB8IHVuZGVmaW5lZDtcbiAgdGhlbWUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjdXN0b21UZW1wbGF0ZXNTZXJ2aWNlOiBDdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGhlbWVTZXJ2aWNlOiBUaGVtZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy50aGVtZSQgPSB0aGlzLnRoZW1lU2VydmljZS50aGVtZSQ7XG4gICAgdGhpcy5jaGFubmVscyQgPSB0aGlzLmNoYW5uZWxTZXJ2aWNlLmNoYW5uZWxzJDtcbiAgICB0aGlzLmhhc01vcmVDaGFubmVscyQgPSB0aGlzLmNoYW5uZWxTZXJ2aWNlLmhhc01vcmVDaGFubmVscyQ7XG4gICAgdGhpcy5pc0Vycm9yJCA9IHRoaXMuY2hhbm5lbFNlcnZpY2UuY2hhbm5lbFF1ZXJ5U3RhdGUkLnBpcGUoXG4gICAgICBtYXAoKHMpID0+ICF0aGlzLmlzTG9hZGluZ01vcmVDaGFubmVscyAmJiBzPy5zdGF0ZSA9PT0gJ2Vycm9yJylcbiAgICApO1xuICAgIHRoaXMuaXNJbml0aWFsaXppbmckID0gdGhpcy5jaGFubmVsU2VydmljZS5jaGFubmVsUXVlcnlTdGF0ZSQucGlwZShcbiAgICAgIG1hcCgocykgPT4gIXRoaXMuaXNMb2FkaW5nTW9yZUNoYW5uZWxzICYmIHM/LnN0YXRlID09PSAnaW4tcHJvZ3Jlc3MnKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmN1c3RvbVRlbXBsYXRlc1NlcnZpY2UuY2hhbm5lbFByZXZpZXdUZW1wbGF0ZSQuc3Vic2NyaWJlKFxuICAgICAgICAodGVtcGxhdGUpID0+ICh0aGlzLmN1c3RvbUNoYW5uZWxQcmV2aWV3VGVtcGxhdGUgPSB0ZW1wbGF0ZSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHMpID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBhc3luYyBsb2FkTW9yZUNoYW5uZWxzKCkge1xuICAgIHRoaXMuaXNMb2FkaW5nTW9yZUNoYW5uZWxzID0gdHJ1ZTtcbiAgICBhd2FpdCB0aGlzLmNoYW5uZWxTZXJ2aWNlLmxvYWRNb3JlQ2hhbm5lbHMoKTtcbiAgICB0aGlzLmlzTG9hZGluZ01vcmVDaGFubmVscyA9IGZhbHNlO1xuICB9XG5cbiAgdHJhY2tCeUNoYW5uZWxJZChfOiBudW1iZXIsIGl0ZW06IENoYW5uZWwpIHtcbiAgICByZXR1cm4gaXRlbS5jaWQ7XG4gIH1cbn1cbiIsIjxkaXZcbiAgI2NvbnRhaW5lclxuICBkYXRhLXRlc3RpZD1cImNoYW5uZWwtbGlzdC1jb250YWluZXJcIlxuICBjbGFzcz1cInN0ci1jaGF0IHN0ci1jaGF0LWFuZ3VsYXJfX2NoYW5uZWwtbGlzdCBzdHItY2hhdF9fY2hhbm5lbC1saXN0IHN0ci1jaGF0LWNoYW5uZWwtbGlzdCBtZXNzYWdpbmcgc3RyLWNoYXRfX3RoZW1lLXt7XG4gICAgdGhlbWUkIHwgYXN5bmNcbiAgfX1cIlxuPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJcbiAgICAgIChpc0Vycm9yJCB8IGFzeW5jKSA9PT0gZmFsc2UgJiYgKGlzSW5pdGlhbGl6aW5nJCB8IGFzeW5jKSA9PT0gZmFsc2U7XG4gICAgICBlbHNlIHN0YXR1c0luZGljYXRvclxuICAgIFwiXG4gICAgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1saXN0LW1lc3NlbmdlclwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtbGlzdC1tZXNzZW5nZXJfX21haW5cIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltjaGFubmVsLWxpc3QtdG9wXVwiPjwvbmctY29udGVudD5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCIhKGNoYW5uZWxzJCB8IGFzeW5jKT8ubGVuZ3RoXCJcbiAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1saXN0LWVtcHR5XCJcbiAgICAgID5cbiAgICAgICAgPHN0cmVhbS1pY29uIGljb249XCJjaGF0LWJ1YmJsZVwiIC8+XG4gICAgICAgIDxwIGRhdGEtdGVzdGlkPVwiZW1wdHktY2hhbm5lbC1saXN0LWluZGljYXRvclwiPlxuICAgICAgICAgIHt7IFwic3RyZWFtQ2hhdC5Zb3UgaGF2ZSBubyBjaGFubmVscyBjdXJyZW50bHlcIiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxwXG4gICAgICAgICpuZ0lmPVwiIShjaGFubmVscyQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtbGlzdC1lbXB0eS12MVwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiZW1wdHktY2hhbm5lbC1saXN0LWluZGljYXRvclwiXG4gICAgICA+XG4gICAgICAgIHt7IFwic3RyZWFtQ2hhdC5Zb3UgaGF2ZSBubyBjaGFubmVscyBjdXJyZW50bHlcIiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9wPlxuICAgICAgPHN0cmVhbS1wYWdpbmF0ZWQtbGlzdFxuICAgICAgICBbaXRlbXNdPVwiKGNoYW5uZWxzJCB8IGFzeW5jKSA/PyBbXVwiXG4gICAgICAgIFtoYXNNb3JlXT1cIihoYXNNb3JlQ2hhbm5lbHMkIHwgYXN5bmMpID8/IGZhbHNlXCJcbiAgICAgICAgW2lzTG9hZGluZ109XCJpc0xvYWRpbmdNb3JlQ2hhbm5lbHNcIlxuICAgICAgICAobG9hZE1vcmUpPVwibG9hZE1vcmVDaGFubmVscygpXCJcbiAgICAgICAgW3RyYWNrQnldPVwidHJhY2tCeUNoYW5uZWxJZFwiXG4gICAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtY2hhbm5lbD1cIml0ZW1cIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZSBsZXQtY2hhbm5lbElucHV0PVwiY2hhbm5lbFwiPlxuICAgICAgICAgICAgPHN0cmVhbS1jaGFubmVsLXByZXZpZXdcbiAgICAgICAgICAgICAgZGF0YS10ZXN0Y2xhc3M9XCJjaGFubmVsLXByZXZpZXdcIlxuICAgICAgICAgICAgICBbY2hhbm5lbF09XCJjaGFubmVsSW5wdXRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgY3VzdG9tQ2hhbm5lbFByZXZpZXdUZW1wbGF0ZSB8fCBkZWZhdWx0VGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgY29udGV4dDogeyBjaGFubmVsOiBjaGFubmVsIH1cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L3N0cmVhbS1wYWdpbmF0ZWQtbGlzdD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltjaGFubmVsLWxpc3QtYm90dG9tXVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzdGF0dXNJbmRpY2F0b3I+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0Vycm9yJCB8IGFzeW5jXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNoYXREb3duXCIgLz5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0luaXRpYWxpemluZyQgfCBhc3luY1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nQ2hhbm5lbHNcIiAvPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY2hhdERvd24+XG4gIDxkaXYgZGF0YS10ZXN0aWQ9XCJjaGF0ZG93bi1jb250YWluZXJcIiBjbGFzcz1cInN0ci1jaGF0X19kb3duXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvYWRpbmdDaGFubmVsc1wiIC8+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nQ2hhbm5lbHM+XG4gIDxkaXZcbiAgICBkYXRhLXRlc3RpZD1cImxvYWRpbmctaW5kaWNhdG9yLWZ1bGwtc2l6ZVwiXG4gICAgY2xhc3M9XCJzdHItY2hhdF9fbG9hZGluZy1jaGFubmVsc1wiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ0NoYW5uZWxcIiAvPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nQ2hhbm5lbFwiIC8+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvYWRpbmdDaGFubmVsXCIgLz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmdDaGFubmVsPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzdHItY2hhdF9fbG9hZGluZy1jaGFubmVscy1pdGVtIHN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbG9hZGluZ1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbHMtYXZhdGFyXCI+PC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzdHItY2hhdF9fbG9hZGluZy1jaGFubmVscy1tZXRhIHN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctZW5kLWxvYWRpbmdcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbG9hZGluZy1jaGFubmVscy11c2VybmFtZVwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19sb2FkaW5nLWNoYW5uZWxzLXN0YXR1c1wiPjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -146,13 +146,13 @@ export class ChannelPreviewComponent {
|
|
|
146
146
|
this.unreadCount = this.channel.countUnread();
|
|
147
147
|
this.isUnread = !!this.unreadCount;
|
|
148
148
|
}
|
|
149
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChannelPreviewComponent, deps: [{ token: i1.ChannelService }, { token: i0.NgZone }, { token: i2.ChatClientService }, { token: i3.MessageService }, { token: i4.CustomTemplatesService }, { token: i5.DateParserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
150
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChannelPreviewComponent, selector: "stream-channel-preview", inputs: { channel: "channel" }, ngImport: i0, template: "<button\n class=\"str-chat__channel-preview-messenger str-chat__channel-preview\"\n data-testid=\"channel-preview-container\"\n [class.str-chat__channel-preview-messenger--active]=\"isActive\"\n [class.str-chat__channel-preview--active]=\"isActive\"\n [class.str-chat__channel-preview-messenger--unread]=\"isUnread\"\n (click)=\"setAsActiveChannel()\"\n>\n <div class=\"str-chat__channel-preview-messenger--left\">\n <stream-avatar-placeholder\n type=\"channel\"\n location=\"channel-preview\"\n name=\"{{ avatarName }}\"\n imageUrl=\"{{ avatarImage }}\"\n [channel]=\"channel\"\n />\n </div>\n <div\n class=\"str-chat__channel-preview-messenger--right str-chat__channel-preview-end\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n (customTemplatesService.channelPreviewInfoTemplate$ | async) ||\n defaultChannelInfo;\n context: {\n channelDisplayTitle: title,\n channel: channel,\n unreadCount: unreadCount,\n latestMessageText: latestMessageText,\n latestMessageStatus: latestMessageStatus,\n latestMessageTime: latestMessageTime,\n latestMessage: latestMessage\n }\n \"\n />\n <ng-template\n #defaultChannelInfo\n let-channelDisplayTitle=\"channelDisplayTitle\"\n let-unreadCount=\"unreadCount\"\n let-latestMessageText=\"latestMessageText\"\n let-latestMessageStatus=\"latestMessageStatus\"\n let-latestMessageTime=\"latestMessageTime\"\n >\n <div class=\"str-chat__channel-preview-end-first-row\">\n <div class=\"str-chat__channel-preview-messenger--name\">\n <span data-testid=\"channel-preview-title\">{{\n channelDisplayTitle\n }}</span>\n </div>\n <div\n *ngIf=\"unreadCount\"\n data-testid=\"unread-badge\"\n class=\"str-chat__channel-preview-unread-badge\"\n >\n {{ unreadCount }}\n </div>\n </div>\n <div class=\"str-chat__channel-preview-end-second-row\">\n <div\n data-testid=\"latest-message\"\n class=\"str-chat__channel-preview-messenger--last-message\"\n >\n <ng-container *ngIf=\"displayAs === 'text'; else asHTML\">\n {{ latestMessageText | translate }}\n </ng-container>\n <ng-template #asHTML>\n <span\n data-testid=\"html-content\"\n [innerHTML]=\"latestMessageText | translate\"\n ></span>\n </ng-template>\n </div>\n <div\n *ngIf=\"latestMessageStatus\"\n data-testid=\"latest-message-status\"\n class=\"str-chat__channel-preview-messenger--status str-chat__channel-preview-messenger--status-{{\n latestMessageStatus\n }}\"\n >\n <stream-icon-placeholder\n [icon]=\"latestMessageStatus === 'delivered' ? 'delivered' : 'read'\"\n />\n </div>\n <div\n *ngIf=\"latestMessageTime\"\n data-testid=\"latest-message-time\"\n class=\"str-chat__channel-preview-messenger--time\"\n >\n {{ latestMessageTime }}\n </div>\n </div>\n </ng-template>\n </div>\n</button>\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7.AvatarPlaceholderComponent, selector: "stream-avatar-placeholder", inputs: ["name", "imageUrl", "location", "channel", "user", "type", "initialsType", "showOnlineIndicator"] }, { kind: "component", type: i8.IconPlaceholderComponent, selector: "stream-icon-placeholder", inputs: ["icon"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] }); }
|
|
149
151
|
}
|
|
150
|
-
|
|
151
|
-
ChannelPreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ChannelPreviewComponent, selector: "stream-channel-preview", inputs: { channel: "channel" }, ngImport: i0, template: "<button\n class=\"str-chat__channel-preview-messenger str-chat__channel-preview\"\n data-testid=\"channel-preview-container\"\n [class.str-chat__channel-preview-messenger--active]=\"isActive\"\n [class.str-chat__channel-preview--active]=\"isActive\"\n [class.str-chat__channel-preview-messenger--unread]=\"isUnread\"\n (click)=\"setAsActiveChannel()\"\n>\n <div class=\"str-chat__channel-preview-messenger--left\">\n <stream-avatar-placeholder\n type=\"channel\"\n location=\"channel-preview\"\n name=\"{{ avatarName }}\"\n imageUrl=\"{{ avatarImage }}\"\n [channel]=\"channel\"\n ></stream-avatar-placeholder>\n </div>\n <div\n class=\"str-chat__channel-preview-messenger--right str-chat__channel-preview-end\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n (customTemplatesService.channelPreviewInfoTemplate$ | async) ||\n defaultChannelInfo;\n context: {\n channelDisplayTitle: title,\n channel: channel,\n unreadCount: unreadCount,\n latestMessageText: latestMessageText,\n latestMessageStatus: latestMessageStatus,\n latestMessageTime: latestMessageTime,\n latestMessage: latestMessage\n }\n \"\n ></ng-container>\n <ng-template\n #defaultChannelInfo\n let-channelDisplayTitle=\"channelDisplayTitle\"\n let-unreadCount=\"unreadCount\"\n let-latestMessageText=\"latestMessageText\"\n let-latestMessageStatus=\"latestMessageStatus\"\n let-latestMessageTime=\"latestMessageTime\"\n >\n <div class=\"str-chat__channel-preview-end-first-row\">\n <div class=\"str-chat__channel-preview-messenger--name\">\n <span data-testid=\"channel-preview-title\">{{\n channelDisplayTitle\n }}</span>\n </div>\n <div\n *ngIf=\"unreadCount\"\n data-testid=\"unread-badge\"\n class=\"str-chat__channel-preview-unread-badge\"\n >\n {{ unreadCount }}\n </div>\n </div>\n <div class=\"str-chat__channel-preview-end-second-row\">\n <div\n data-testid=\"latest-message\"\n class=\"str-chat__channel-preview-messenger--last-message\"\n >\n <ng-container *ngIf=\"displayAs === 'text'; else asHTML\">\n {{ latestMessageText | translate }}\n </ng-container>\n <ng-template #asHTML>\n <span\n data-testid=\"html-content\"\n [innerHTML]=\"latestMessageText | translate\"\n ></span>\n </ng-template>\n </div>\n <div\n *ngIf=\"latestMessageStatus\"\n data-testid=\"latest-message-status\"\n class=\"str-chat__channel-preview-messenger--status str-chat__channel-preview-messenger--status-{{\n latestMessageStatus\n }}\"\n >\n <stream-icon-placeholder\n [icon]=\"latestMessageStatus === 'delivered' ? 'delivered' : 'read'\"\n ></stream-icon-placeholder>\n </div>\n <div\n *ngIf=\"latestMessageTime\"\n data-testid=\"latest-message-time\"\n class=\"str-chat__channel-preview-messenger--time\"\n >\n {{ latestMessageTime }}\n </div>\n </div>\n </ng-template>\n </div>\n</button>\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7.AvatarPlaceholderComponent, selector: "stream-avatar-placeholder", inputs: ["name", "imageUrl", "location", "channel", "user", "type", "initialsType", "showOnlineIndicator"] }, { kind: "component", type: i8.IconPlaceholderComponent, selector: "stream-icon-placeholder", inputs: ["icon"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
|
|
152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ChannelPreviewComponent, decorators: [{
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChannelPreviewComponent, decorators: [{
|
|
153
153
|
type: Component,
|
|
154
|
-
args: [{ selector: 'stream-channel-preview', template: "<button\n class=\"str-chat__channel-preview-messenger str-chat__channel-preview\"\n data-testid=\"channel-preview-container\"\n [class.str-chat__channel-preview-messenger--active]=\"isActive\"\n [class.str-chat__channel-preview--active]=\"isActive\"\n [class.str-chat__channel-preview-messenger--unread]=\"isUnread\"\n (click)=\"setAsActiveChannel()\"\n>\n <div class=\"str-chat__channel-preview-messenger--left\">\n <stream-avatar-placeholder\n type=\"channel\"\n location=\"channel-preview\"\n name=\"{{ avatarName }}\"\n imageUrl=\"{{ avatarImage }}\"\n [channel]=\"channel\"\n
|
|
155
|
-
}], ctorParameters:
|
|
154
|
+
args: [{ selector: 'stream-channel-preview', template: "<button\n class=\"str-chat__channel-preview-messenger str-chat__channel-preview\"\n data-testid=\"channel-preview-container\"\n [class.str-chat__channel-preview-messenger--active]=\"isActive\"\n [class.str-chat__channel-preview--active]=\"isActive\"\n [class.str-chat__channel-preview-messenger--unread]=\"isUnread\"\n (click)=\"setAsActiveChannel()\"\n>\n <div class=\"str-chat__channel-preview-messenger--left\">\n <stream-avatar-placeholder\n type=\"channel\"\n location=\"channel-preview\"\n name=\"{{ avatarName }}\"\n imageUrl=\"{{ avatarImage }}\"\n [channel]=\"channel\"\n />\n </div>\n <div\n class=\"str-chat__channel-preview-messenger--right str-chat__channel-preview-end\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n (customTemplatesService.channelPreviewInfoTemplate$ | async) ||\n defaultChannelInfo;\n context: {\n channelDisplayTitle: title,\n channel: channel,\n unreadCount: unreadCount,\n latestMessageText: latestMessageText,\n latestMessageStatus: latestMessageStatus,\n latestMessageTime: latestMessageTime,\n latestMessage: latestMessage\n }\n \"\n />\n <ng-template\n #defaultChannelInfo\n let-channelDisplayTitle=\"channelDisplayTitle\"\n let-unreadCount=\"unreadCount\"\n let-latestMessageText=\"latestMessageText\"\n let-latestMessageStatus=\"latestMessageStatus\"\n let-latestMessageTime=\"latestMessageTime\"\n >\n <div class=\"str-chat__channel-preview-end-first-row\">\n <div class=\"str-chat__channel-preview-messenger--name\">\n <span data-testid=\"channel-preview-title\">{{\n channelDisplayTitle\n }}</span>\n </div>\n <div\n *ngIf=\"unreadCount\"\n data-testid=\"unread-badge\"\n class=\"str-chat__channel-preview-unread-badge\"\n >\n {{ unreadCount }}\n </div>\n </div>\n <div class=\"str-chat__channel-preview-end-second-row\">\n <div\n data-testid=\"latest-message\"\n class=\"str-chat__channel-preview-messenger--last-message\"\n >\n <ng-container *ngIf=\"displayAs === 'text'; else asHTML\">\n {{ latestMessageText | translate }}\n </ng-container>\n <ng-template #asHTML>\n <span\n data-testid=\"html-content\"\n [innerHTML]=\"latestMessageText | translate\"\n ></span>\n </ng-template>\n </div>\n <div\n *ngIf=\"latestMessageStatus\"\n data-testid=\"latest-message-status\"\n class=\"str-chat__channel-preview-messenger--status str-chat__channel-preview-messenger--status-{{\n latestMessageStatus\n }}\"\n >\n <stream-icon-placeholder\n [icon]=\"latestMessageStatus === 'delivered' ? 'delivered' : 'read'\"\n />\n </div>\n <div\n *ngIf=\"latestMessageTime\"\n data-testid=\"latest-message-time\"\n class=\"str-chat__channel-preview-messenger--time\"\n >\n {{ latestMessageTime }}\n </div>\n </div>\n </ng-template>\n </div>\n</button>\n" }]
|
|
155
|
+
}], ctorParameters: () => [{ type: i1.ChannelService }, { type: i0.NgZone }, { type: i2.ChatClientService }, { type: i3.MessageService }, { type: i4.CustomTemplatesService }, { type: i5.DateParserService }], propDecorators: { channel: [{
|
|
156
156
|
type: Input
|
|
157
157
|
}] } });
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLXByZXZpZXcvY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLXByZXZpZXcvY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUU1RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFHMUQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8sdUJBQXVCO0lBa0JsQyxZQUNVLGNBQThCLEVBQzlCLE1BQWMsRUFDZCxpQkFBb0MsRUFDNUMsY0FBOEIsRUFDdkIsc0JBQThDLEVBQzdDLFVBQTZCO1FBTDdCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUVyQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzdDLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBbkJ2QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLEtBQUssQ0FBQztRQUNqQyxh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QyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDO29CQUNwRCxDQUFDLENBQUMsTUFBTTtvQkFDUixDQUFDLENBQUMsV0FBVyxDQUFDO1NBQ25CO2FBQU07WUFDTCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO1NBQ3RDO1FBQ0QsSUFDRSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUM7WUFDakQsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQ3ZCO1lBQ0EsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDckMsQ0FBQzs7b0hBN0xVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDhGQ3RCcEMsb3hHQThGQTsyRkR4RWEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHdCQUF3Qjs0UEFRekIsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDaGFubmVsLCBFdmVudCwgRm9ybWF0TWVzc2FnZVJlc3BvbnNlIH0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi9jaGFubmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0Q2hhbm5lbERpc3BsYXlUZXh0IH0gZnJvbSAnLi4vZ2V0LWNoYW5uZWwtZGlzcGxheS10ZXh0JztcbmltcG9ydCB7IENoYXRDbGllbnRTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhdC1jbGllbnQuc2VydmljZSc7XG5pbXBvcnQgeyBnZXRNZXNzYWdlVHJhbnNsYXRpb24gfSBmcm9tICcuLi9nZXQtbWVzc2FnZS10cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uL21lc3NhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDdXN0b21UZW1wbGF0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vY3VzdG9tLXRlbXBsYXRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IGdldFJlYWRCeSB9IGZyb20gJy4uL3JlYWQtYnknO1xuaW1wb3J0IHsgaXNPblNlcGFyYXRlRGF0ZSB9IGZyb20gJy4uL2lzLW9uLXNlcGFyYXRlLWRhdGUnO1xuaW1wb3J0IHsgRGF0ZVBhcnNlclNlcnZpY2UgfSBmcm9tICcuLi9kYXRlLXBhcnNlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBUaGUgYENoYW5uZWxQcmV2aWV3YCBjb21wb25lbnQgZGlzcGxheXMgYSBjaGFubmVsIHByZXZpZXcgaW4gdGhlIGNoYW5uZWwgbGlzdCwgaXQgY29uc2lzdHMgb2YgdGhlIGltYWdlLCBuYW1lIGFuZCBsYXRlc3QgbWVzc2FnZSBvZiB0aGUgY2hhbm5lbC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3RyZWFtLWNoYW5uZWwtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFubmVsLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFubmVsUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRoZSBjaGFubmVsIHRvIGJlIGRpc3BsYXllZFxuICAgKi9cbiAgQElucHV0KCkgY2hhbm5lbDogQ2hhbm5lbCB8IHVuZGVmaW5lZDtcbiAgaXNBY3RpdmUgPSBmYWxzZTtcbiAgaXNVbnJlYWRNZXNzYWdlV2FzQ2FsbGVkID0gZmFsc2U7XG4gIGlzVW5yZWFkID0gZmFsc2U7XG4gIHVucmVhZENvdW50OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIGxhdGVzdE1lc3NhZ2VUZXh0OiBzdHJpbmcgPSAnc3RyZWFtQ2hhdC5Ob3RoaW5nIHlldC4uLic7XG4gIGxhdGVzdE1lc3NhZ2VTdGF0dXM/OiAnZGVsaXZlcmVkJyB8ICdyZWFkJztcbiAgbGF0ZXN0TWVzc2FnZVRpbWU/OiBzdHJpbmc7XG4gIGxhdGVzdE1lc3NhZ2U/OiBGb3JtYXRNZXNzYWdlUmVzcG9uc2U7XG4gIGRpc3BsYXlBczogJ3RleHQnIHwgJ2h0bWwnO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogKFN1YnNjcmlwdGlvbiB8IHsgdW5zdWJzY3JpYmU6ICgpID0+IHZvaWQgfSlbXSA9IFtdO1xuICBwcml2YXRlIGNhblNlbmRSZWFkRXZlbnRzID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5uZWxTZXJ2aWNlOiBDaGFubmVsU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgY2hhdENsaWVudFNlcnZpY2U6IENoYXRDbGllbnRTZXJ2aWNlLFxuICAgIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwdWJsaWMgY3VzdG9tVGVtcGxhdGVzU2VydmljZTogQ3VzdG9tVGVtcGxhdGVzU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGVQYXJzZXI6IERhdGVQYXJzZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZGlzcGxheUFzID0gbWVzc2FnZVNlcnZpY2UuZGlzcGxheUFzO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYXRDbGllbnRTZXJ2aWNlLnVzZXIkLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICBpZiAodXNlcj8uaWQgIT09IHRoaXMudXNlcklkKSB7XG4gICAgICAgICAgdGhpcy51c2VySWQgPSB1c2VyPy5pZDtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5hY3RpdmVDaGFubmVsJC5zdWJzY3JpYmUoXG4gICAgICAgIChhY3RpdmVDaGFubmVsKSA9PlxuICAgICAgICAgICh0aGlzLmlzQWN0aXZlID0gYWN0aXZlQ2hhbm5lbD8uaWQgPT09IHRoaXMuY2hhbm5lbD8uaWQpXG4gICAgICApXG4gICAgKTtcbiAgICBjb25zdCBtZXNzYWdlcyA9IHRoaXMuY2hhbm5lbD8uc3RhdGU/LmxhdGVzdE1lc3NhZ2VzO1xuICAgIGlmIChtZXNzYWdlcyAmJiBtZXNzYWdlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnNldExhdGVzdE1lc3NhZ2UobWVzc2FnZXNbbWVzc2FnZXMubGVuZ3RoIC0gMV0pO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVVucmVhZFN0YXRlKCk7XG4gICAgY29uc3QgY2FwYWJpbGl0aWVzID1cbiAgICAgICh0aGlzLmNoYW5uZWw/LmRhdGE/Lm93bl9jYXBhYmlsaXRpZXMgYXMgc3RyaW5nW10pIHx8IFtdO1xuICAgIHRoaXMuY2FuU2VuZFJlYWRFdmVudHMgPSBjYXBhYmlsaXRpZXMuaW5kZXhPZigncmVhZC1ldmVudHMnKSAhPT0gLTE7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYW5uZWwhLm9uKCdtZXNzYWdlLm5ldycsIHRoaXMuaGFuZGxlTWVzc2FnZUV2ZW50LmJpbmQodGhpcykpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhbm5lbCEub24oJ21lc3NhZ2UudXBkYXRlZCcsIHRoaXMuaGFuZGxlTWVzc2FnZUV2ZW50LmJpbmQodGhpcykpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhbm5lbCEub24oJ21lc3NhZ2UuZGVsZXRlZCcsIHRoaXMuaGFuZGxlTWVzc2FnZUV2ZW50LmJpbmQodGhpcykpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhbm5lbCEub24oJ2NoYW5uZWwudHJ1bmNhdGVkJywgdGhpcy5oYW5kbGVNZXNzYWdlRXZlbnQuYmluZCh0aGlzKSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsIS5vbignbWVzc2FnZS5yZWFkJywgKCkgPT5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzVW5yZWFkTWVzc2FnZVdhc0NhbGxlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMudXBkYXRlVW5yZWFkU3RhdGUoKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGF0Q2xpZW50U2VydmljZS5ldmVudHMkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgIChlKSA9PlxuICAgICAgICAgICAgICBlLmV2ZW50VHlwZSA9PT0gJ25vdGlmaWNhdGlvbi5tYXJrX3VucmVhZCcgJiZcbiAgICAgICAgICAgICAgdGhpcy5jaGFubmVsIS5pZCA9PT0gZS5ldmVudD8uY2hhbm5lbF9pZFxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc1VucmVhZE1lc3NhZ2VXYXNDYWxsZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVVbnJlYWRTdGF0ZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGdldCBhdmF0YXJJbWFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jaGFubmVsPy5kYXRhPy5pbWFnZTtcbiAgfVxuXG4gIGdldCBhdmF0YXJOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmNoYW5uZWw/LmRhdGE/Lm5hbWU7XG4gIH1cblxuICBnZXQgdGl0bGUoKSB7XG4gICAgaWYgKCF0aGlzLmNoYW5uZWwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGdldENoYW5uZWxEaXNwbGF5VGV4dChcbiAgICAgIHRoaXMuY2hhbm5lbCxcbiAgICAgIHRoaXMuY2hhdENsaWVudFNlcnZpY2UuY2hhdENsaWVudC51c2VyIVxuICAgICk7XG4gIH1cblxuICBzZXRBc0FjdGl2ZUNoYW5uZWwoKTogdm9pZCB7XG4gICAgdm9pZCB0aGlzLmNoYW5uZWxTZXJ2aWNlLnNldEFzQWN0aXZlQ2hhbm5lbCh0aGlzLmNoYW5uZWwhKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTWVzc2FnZUV2ZW50KGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jaGFubmVsPy5zdGF0ZS5sYXRlc3RNZXNzYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VTdGF0dXMgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZVRleHQgPSAnc3RyZWFtQ2hhdC5Ob3RoaW5nIHlldC4uLic7XG4gICAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZVRpbWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGxhdGVzdE1lc3NhZ2UgPVxuICAgICAgICB0aGlzLmNoYW5uZWw/LnN0YXRlLmxhdGVzdE1lc3NhZ2VzW1xuICAgICAgICAgIHRoaXMuY2hhbm5lbD8uc3RhdGUubGF0ZXN0TWVzc2FnZXMubGVuZ3RoIC0gMVxuICAgICAgICBdO1xuICAgICAgaWYgKCFldmVudC5tZXNzYWdlIHx8IGxhdGVzdE1lc3NhZ2U/LmlkICE9PSBldmVudC5tZXNzYWdlLmlkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0TGF0ZXN0TWVzc2FnZShsYXRlc3RNZXNzYWdlKTtcbiAgICAgIHRoaXMudXBkYXRlVW5yZWFkU3RhdGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TGF0ZXN0TWVzc2FnZShtZXNzYWdlPzogRm9ybWF0TWVzc2FnZVJlc3BvbnNlKSB7XG4gICAgdGhpcy5sYXRlc3RNZXNzYWdlID0gbWVzc2FnZTtcbiAgICBpZiAobWVzc2FnZT8uZGVsZXRlZF9hdCkge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlVGV4dCA9ICdzdHJlYW1DaGF0Lk1lc3NhZ2UgZGVsZXRlZCc7XG4gICAgfSBlbHNlIGlmIChtZXNzYWdlPy50ZXh0KSB7XG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VUZXh0ID1cbiAgICAgICAgZ2V0TWVzc2FnZVRyYW5zbGF0aW9uKFxuICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgdGhpcy5jaGFubmVsLFxuICAgICAgICAgIHRoaXMuY2hhdENsaWVudFNlcnZpY2UuY2hhdENsaWVudC51c2VyXG4gICAgICAgICkgfHwgbWVzc2FnZS50ZXh0O1xuICAgIH0gZWxzZSBpZiAobWVzc2FnZT8uYXR0YWNobWVudHMgJiYgbWVzc2FnZS5hdHRhY2htZW50cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZVRleHQgPSAnc3RyZWFtQ2hhdC7wn4+ZIEF0dGFjaG1lbnQuLi4nO1xuICAgIH0gZWxzZSBpZiAobWVzc2FnZT8ucG9sbF9pZCkge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlVGV4dCA9IGDwn5OKICR7bWVzc2FnZS5wb2xsPy5uYW1lfWA7XG4gICAgfVxuICAgIGlmICh0aGlzLmxhdGVzdE1lc3NhZ2UgJiYgdGhpcy5sYXRlc3RNZXNzYWdlLnR5cGUgPT09ICdyZWd1bGFyJykge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlVGltZSA9IGlzT25TZXBhcmF0ZURhdGUoXG4gICAgICAgIG5ldyBEYXRlKCksXG4gICAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZS5jcmVhdGVkX2F0XG4gICAgICApXG4gICAgICAgID8gdGhpcy5kYXRlUGFyc2VyLnBhcnNlRGF0ZSh0aGlzLmxhdGVzdE1lc3NhZ2UuY3JlYXRlZF9hdClcbiAgICAgICAgOiB0aGlzLmRhdGVQYXJzZXIucGFyc2VUaW1lKHRoaXMubGF0ZXN0TWVzc2FnZS5jcmVhdGVkX2F0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlVGltZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVVucmVhZFN0YXRlKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMuY2hhbm5lbCAmJlxuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlICYmXG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2UudXNlcj8uaWQgPT09IHRoaXMudXNlcklkICYmXG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2Uuc3RhdHVzID09PSAncmVjZWl2ZWQnICYmXG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2UudHlwZSA9PT0gJ3JlZ3VsYXInXG4gICAgKSB7XG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VTdGF0dXMgPVxuICAgICAgICBnZXRSZWFkQnkodGhpcy5sYXRlc3RNZXNzYWdlLCB0aGlzLmNoYW5uZWwpLmxlbmd0aCA+IDBcbiAgICAgICAgICA/ICdyZWFkJ1xuICAgICAgICAgIDogJ2RlbGl2ZXJlZCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZVN0YXR1cyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgKHRoaXMuaXNBY3RpdmUgJiYgIXRoaXMuaXNVbnJlYWRNZXNzYWdlV2FzQ2FsbGVkKSB8fFxuICAgICAgIXRoaXMuY2FuU2VuZFJlYWRFdmVudHNcbiAgICApIHtcbiAgICAgIHRoaXMudW5yZWFkQ291bnQgPSAwO1xuICAgICAgdGhpcy5pc1VucmVhZCA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnVucmVhZENvdW50ID0gdGhpcy5jaGFubmVsIS5jb3VudFVucmVhZCgpO1xuICAgIHRoaXMuaXNVbnJlYWQgPSAhIXRoaXMudW5yZWFkQ291bnQ7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3NlbmdlciBzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3XCJcbiAgZGF0YS10ZXN0aWQ9XCJjaGFubmVsLXByZXZpZXctY29udGFpbmVyXCJcbiAgW2NsYXNzLnN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS1hY3RpdmVdPVwiaXNBY3RpdmVcIlxuICBbY2xhc3Muc3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy0tYWN0aXZlXT1cImlzQWN0aXZlXCJcbiAgW2NsYXNzLnN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS11bnJlYWRdPVwiaXNVbnJlYWRcIlxuICAoY2xpY2spPVwic2V0QXNBY3RpdmVDaGFubmVsKClcIlxuPlxuICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLWxlZnRcIj5cbiAgICA8c3RyZWFtLWF2YXRhci1wbGFjZWhvbGRlclxuICAgICAgdHlwZT1cImNoYW5uZWxcIlxuICAgICAgbG9jYXRpb249XCJjaGFubmVsLXByZXZpZXdcIlxuICAgICAgbmFtZT1cInt7IGF2YXRhck5hbWUgfX1cIlxuICAgICAgaW1hZ2VVcmw9XCJ7eyBhdmF0YXJJbWFnZSB9fVwiXG4gICAgICBbY2hhbm5lbF09XCJjaGFubmVsXCJcbiAgICA+PC9zdHJlYW0tYXZhdGFyLXBsYWNlaG9sZGVyPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLXJpZ2h0IHN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctZW5kXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIChjdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLmNoYW5uZWxQcmV2aWV3SW5mb1RlbXBsYXRlJCB8IGFzeW5jKSB8fFxuICAgICAgICAgIGRlZmF1bHRDaGFubmVsSW5mbztcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgIGNoYW5uZWxEaXNwbGF5VGl0bGU6IHRpdGxlLFxuICAgICAgICAgIGNoYW5uZWw6IGNoYW5uZWwsXG4gICAgICAgICAgdW5yZWFkQ291bnQ6IHVucmVhZENvdW50LFxuICAgICAgICAgIGxhdGVzdE1lc3NhZ2VUZXh0OiBsYXRlc3RNZXNzYWdlVGV4dCxcbiAgICAgICAgICBsYXRlc3RNZXNzYWdlU3RhdHVzOiBsYXRlc3RNZXNzYWdlU3RhdHVzLFxuICAgICAgICAgIGxhdGVzdE1lc3NhZ2VUaW1lOiBsYXRlc3RNZXNzYWdlVGltZSxcbiAgICAgICAgICBsYXRlc3RNZXNzYWdlOiBsYXRlc3RNZXNzYWdlXG4gICAgICAgIH1cbiAgICAgIFwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgI2RlZmF1bHRDaGFubmVsSW5mb1xuICAgICAgbGV0LWNoYW5uZWxEaXNwbGF5VGl0bGU9XCJjaGFubmVsRGlzcGxheVRpdGxlXCJcbiAgICAgIGxldC11bnJlYWRDb3VudD1cInVucmVhZENvdW50XCJcbiAgICAgIGxldC1sYXRlc3RNZXNzYWdlVGV4dD1cImxhdGVzdE1lc3NhZ2VUZXh0XCJcbiAgICAgIGxldC1sYXRlc3RNZXNzYWdlU3RhdHVzPVwibGF0ZXN0TWVzc2FnZVN0YXR1c1wiXG4gICAgICBsZXQtbGF0ZXN0TWVzc2FnZVRpbWU9XCJsYXRlc3RNZXNzYWdlVGltZVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctZW5kLWZpcnN0LXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLW5hbWVcIj5cbiAgICAgICAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImNoYW5uZWwtcHJldmlldy10aXRsZVwiPnt7XG4gICAgICAgICAgICBjaGFubmVsRGlzcGxheVRpdGxlXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCJ1bnJlYWRDb3VudFwiXG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJ1bnJlYWQtYmFkZ2VcIlxuICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy11bnJlYWQtYmFkZ2VcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgdW5yZWFkQ291bnQgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LWVuZC1zZWNvbmQtcm93XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBkYXRhLXRlc3RpZD1cImxhdGVzdC1tZXNzYWdlXCJcbiAgICAgICAgICBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS1sYXN0LW1lc3NhZ2VcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlBcyA9PT0gJ3RleHQnOyBlbHNlIGFzSFRNTFwiPlxuICAgICAgICAgICAge3sgbGF0ZXN0TWVzc2FnZVRleHQgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2FzSFRNTD5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiaHRtbC1jb250ZW50XCJcbiAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJsYXRlc3RNZXNzYWdlVGV4dCB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCJsYXRlc3RNZXNzYWdlU3RhdHVzXCJcbiAgICAgICAgICBkYXRhLXRlc3RpZD1cImxhdGVzdC1tZXNzYWdlLXN0YXR1c1wiXG4gICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3Nlbmdlci0tc3RhdHVzIHN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS1zdGF0dXMte3tcbiAgICAgICAgICAgIGxhdGVzdE1lc3NhZ2VTdGF0dXNcbiAgICAgICAgICB9fVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3RyZWFtLWljb24tcGxhY2Vob2xkZXJcbiAgICAgICAgICAgIFtpY29uXT1cImxhdGVzdE1lc3NhZ2VTdGF0dXMgPT09ICdkZWxpdmVyZWQnID8gJ2RlbGl2ZXJlZCcgOiAncmVhZCdcIlxuICAgICAgICAgID48L3N0cmVhbS1pY29uLXBsYWNlaG9sZGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwibGF0ZXN0TWVzc2FnZVRpbWVcIlxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwibGF0ZXN0LW1lc3NhZ2UtdGltZVwiXG4gICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3Nlbmdlci0tdGltZVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBsYXRlc3RNZXNzYWdlVGltZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9idXR0b24+XG4iXX0=
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLXByZXZpZXcvY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLXByZXZpZXcvY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUU1RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFHMUQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8sdUJBQXVCO0lBa0JsQyxZQUNVLGNBQThCLEVBQzlCLE1BQWMsRUFDZCxpQkFBb0MsRUFDNUMsY0FBOEIsRUFDdkIsc0JBQThDLEVBQzdDLFVBQTZCO1FBTDdCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUVyQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzdDLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBbkJ2QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLEtBQUssQ0FBQztRQUNqQyxh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QyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDO29CQUNwRCxDQUFDLENBQUMsTUFBTTtvQkFDUixDQUFDLENBQUMsV0FBVyxDQUFDO1NBQ25CO2FBQU07WUFDTCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO1NBQ3RDO1FBQ0QsSUFDRSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUM7WUFDakQsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQ3ZCO1lBQ0EsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDckMsQ0FBQzsrR0E3TFUsdUJBQXVCO21HQUF2Qix1QkFBdUIsOEZDdEJwQyxrdEdBOEZBOzs0RkR4RWEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHdCQUF3QjswT0FRekIsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDaGFubmVsLCBFdmVudCwgRm9ybWF0TWVzc2FnZVJlc3BvbnNlIH0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi9jaGFubmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0Q2hhbm5lbERpc3BsYXlUZXh0IH0gZnJvbSAnLi4vZ2V0LWNoYW5uZWwtZGlzcGxheS10ZXh0JztcbmltcG9ydCB7IENoYXRDbGllbnRTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhdC1jbGllbnQuc2VydmljZSc7XG5pbXBvcnQgeyBnZXRNZXNzYWdlVHJhbnNsYXRpb24gfSBmcm9tICcuLi9nZXQtbWVzc2FnZS10cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uL21lc3NhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDdXN0b21UZW1wbGF0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vY3VzdG9tLXRlbXBsYXRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IGdldFJlYWRCeSB9IGZyb20gJy4uL3JlYWQtYnknO1xuaW1wb3J0IHsgaXNPblNlcGFyYXRlRGF0ZSB9IGZyb20gJy4uL2lzLW9uLXNlcGFyYXRlLWRhdGUnO1xuaW1wb3J0IHsgRGF0ZVBhcnNlclNlcnZpY2UgfSBmcm9tICcuLi9kYXRlLXBhcnNlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBUaGUgYENoYW5uZWxQcmV2aWV3YCBjb21wb25lbnQgZGlzcGxheXMgYSBjaGFubmVsIHByZXZpZXcgaW4gdGhlIGNoYW5uZWwgbGlzdCwgaXQgY29uc2lzdHMgb2YgdGhlIGltYWdlLCBuYW1lIGFuZCBsYXRlc3QgbWVzc2FnZSBvZiB0aGUgY2hhbm5lbC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3RyZWFtLWNoYW5uZWwtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFubmVsLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFubmVsUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRoZSBjaGFubmVsIHRvIGJlIGRpc3BsYXllZFxuICAgKi9cbiAgQElucHV0KCkgY2hhbm5lbDogQ2hhbm5lbCB8IHVuZGVmaW5lZDtcbiAgaXNBY3RpdmUgPSBmYWxzZTtcbiAgaXNVbnJlYWRNZXNzYWdlV2FzQ2FsbGVkID0gZmFsc2U7XG4gIGlzVW5yZWFkID0gZmFsc2U7XG4gIHVucmVhZENvdW50OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIGxhdGVzdE1lc3NhZ2VUZXh0OiBzdHJpbmcgPSAnc3RyZWFtQ2hhdC5Ob3RoaW5nIHlldC4uLic7XG4gIGxhdGVzdE1lc3NhZ2VTdGF0dXM/OiAnZGVsaXZlcmVkJyB8ICdyZWFkJztcbiAgbGF0ZXN0TWVzc2FnZVRpbWU/OiBzdHJpbmc7XG4gIGxhdGVzdE1lc3NhZ2U/OiBGb3JtYXRNZXNzYWdlUmVzcG9uc2U7XG4gIGRpc3BsYXlBczogJ3RleHQnIHwgJ2h0bWwnO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogKFN1YnNjcmlwdGlvbiB8IHsgdW5zdWJzY3JpYmU6ICgpID0+IHZvaWQgfSlbXSA9IFtdO1xuICBwcml2YXRlIGNhblNlbmRSZWFkRXZlbnRzID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5uZWxTZXJ2aWNlOiBDaGFubmVsU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgY2hhdENsaWVudFNlcnZpY2U6IENoYXRDbGllbnRTZXJ2aWNlLFxuICAgIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwdWJsaWMgY3VzdG9tVGVtcGxhdGVzU2VydmljZTogQ3VzdG9tVGVtcGxhdGVzU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGVQYXJzZXI6IERhdGVQYXJzZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZGlzcGxheUFzID0gbWVzc2FnZVNlcnZpY2UuZGlzcGxheUFzO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYXRDbGllbnRTZXJ2aWNlLnVzZXIkLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICBpZiAodXNlcj8uaWQgIT09IHRoaXMudXNlcklkKSB7XG4gICAgICAgICAgdGhpcy51c2VySWQgPSB1c2VyPy5pZDtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5hY3RpdmVDaGFubmVsJC5zdWJzY3JpYmUoXG4gICAgICAgIChhY3RpdmVDaGFubmVsKSA9PlxuICAgICAgICAgICh0aGlzLmlzQWN0aXZlID0gYWN0aXZlQ2hhbm5lbD8uaWQgPT09IHRoaXMuY2hhbm5lbD8uaWQpXG4gICAgICApXG4gICAgKTtcbiAgICBjb25zdCBtZXNzYWdlcyA9IHRoaXMuY2hhbm5lbD8uc3RhdGU/LmxhdGVzdE1lc3NhZ2VzO1xuICAgIGlmIChtZXNzYWdlcyAmJiBtZXNzYWdlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnNldExhdGVzdE1lc3NhZ2UobWVzc2FnZXNbbWVzc2FnZXMubGVuZ3RoIC0gMV0pO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVVucmVhZFN0YXRlKCk7XG4gICAgY29uc3QgY2FwYWJpbGl0aWVzID1cbiAgICAgICh0aGlzLmNoYW5uZWw/LmRhdGE/Lm93bl9jYXBhYmlsaXRpZXMgYXMgc3RyaW5nW10pIHx8IFtdO1xuICAgIHRoaXMuY2FuU2VuZFJlYWRFdmVudHMgPSBjYXBhYmlsaXRpZXMuaW5kZXhPZigncmVhZC1ldmVudHMnKSAhPT0gLTE7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYW5uZWwhLm9uKCdtZXNzYWdlLm5ldycsIHRoaXMuaGFuZGxlTWVzc2FnZUV2ZW50LmJpbmQodGhpcykpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhbm5lbCEub24oJ21lc3NhZ2UudXBkYXRlZCcsIHRoaXMuaGFuZGxlTWVzc2FnZUV2ZW50LmJpbmQodGhpcykpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhbm5lbCEub24oJ21lc3NhZ2UuZGVsZXRlZCcsIHRoaXMuaGFuZGxlTWVzc2FnZUV2ZW50LmJpbmQodGhpcykpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhbm5lbCEub24oJ2NoYW5uZWwudHJ1bmNhdGVkJywgdGhpcy5oYW5kbGVNZXNzYWdlRXZlbnQuYmluZCh0aGlzKSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsIS5vbignbWVzc2FnZS5yZWFkJywgKCkgPT5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzVW5yZWFkTWVzc2FnZVdhc0NhbGxlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMudXBkYXRlVW5yZWFkU3RhdGUoKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGF0Q2xpZW50U2VydmljZS5ldmVudHMkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgIChlKSA9PlxuICAgICAgICAgICAgICBlLmV2ZW50VHlwZSA9PT0gJ25vdGlmaWNhdGlvbi5tYXJrX3VucmVhZCcgJiZcbiAgICAgICAgICAgICAgdGhpcy5jaGFubmVsIS5pZCA9PT0gZS5ldmVudD8uY2hhbm5lbF9pZFxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc1VucmVhZE1lc3NhZ2VXYXNDYWxsZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVVbnJlYWRTdGF0ZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGdldCBhdmF0YXJJbWFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jaGFubmVsPy5kYXRhPy5pbWFnZTtcbiAgfVxuXG4gIGdldCBhdmF0YXJOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmNoYW5uZWw/LmRhdGE/Lm5hbWU7XG4gIH1cblxuICBnZXQgdGl0bGUoKSB7XG4gICAgaWYgKCF0aGlzLmNoYW5uZWwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGdldENoYW5uZWxEaXNwbGF5VGV4dChcbiAgICAgIHRoaXMuY2hhbm5lbCxcbiAgICAgIHRoaXMuY2hhdENsaWVudFNlcnZpY2UuY2hhdENsaWVudC51c2VyIVxuICAgICk7XG4gIH1cblxuICBzZXRBc0FjdGl2ZUNoYW5uZWwoKTogdm9pZCB7XG4gICAgdm9pZCB0aGlzLmNoYW5uZWxTZXJ2aWNlLnNldEFzQWN0aXZlQ2hhbm5lbCh0aGlzLmNoYW5uZWwhKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTWVzc2FnZUV2ZW50KGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jaGFubmVsPy5zdGF0ZS5sYXRlc3RNZXNzYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VTdGF0dXMgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZVRleHQgPSAnc3RyZWFtQ2hhdC5Ob3RoaW5nIHlldC4uLic7XG4gICAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZVRpbWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGxhdGVzdE1lc3NhZ2UgPVxuICAgICAgICB0aGlzLmNoYW5uZWw/LnN0YXRlLmxhdGVzdE1lc3NhZ2VzW1xuICAgICAgICAgIHRoaXMuY2hhbm5lbD8uc3RhdGUubGF0ZXN0TWVzc2FnZXMubGVuZ3RoIC0gMVxuICAgICAgICBdO1xuICAgICAgaWYgKCFldmVudC5tZXNzYWdlIHx8IGxhdGVzdE1lc3NhZ2U/LmlkICE9PSBldmVudC5tZXNzYWdlLmlkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0TGF0ZXN0TWVzc2FnZShsYXRlc3RNZXNzYWdlKTtcbiAgICAgIHRoaXMudXBkYXRlVW5yZWFkU3RhdGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TGF0ZXN0TWVzc2FnZShtZXNzYWdlPzogRm9ybWF0TWVzc2FnZVJlc3BvbnNlKSB7XG4gICAgdGhpcy5sYXRlc3RNZXNzYWdlID0gbWVzc2FnZTtcbiAgICBpZiAobWVzc2FnZT8uZGVsZXRlZF9hdCkge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlVGV4dCA9ICdzdHJlYW1DaGF0Lk1lc3NhZ2UgZGVsZXRlZCc7XG4gICAgfSBlbHNlIGlmIChtZXNzYWdlPy50ZXh0KSB7XG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VUZXh0ID1cbiAgICAgICAgZ2V0TWVzc2FnZVRyYW5zbGF0aW9uKFxuICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgdGhpcy5jaGFubmVsLFxuICAgICAgICAgIHRoaXMuY2hhdENsaWVudFNlcnZpY2UuY2hhdENsaWVudC51c2VyXG4gICAgICAgICkgfHwgbWVzc2FnZS50ZXh0O1xuICAgIH0gZWxzZSBpZiAobWVzc2FnZT8uYXR0YWNobWVudHMgJiYgbWVzc2FnZS5hdHRhY2htZW50cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZVRleHQgPSAnc3RyZWFtQ2hhdC7wn4+ZIEF0dGFjaG1lbnQuLi4nO1xuICAgIH0gZWxzZSBpZiAobWVzc2FnZT8ucG9sbF9pZCkge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlVGV4dCA9IGDwn5OKICR7bWVzc2FnZS5wb2xsPy5uYW1lfWA7XG4gICAgfVxuICAgIGlmICh0aGlzLmxhdGVzdE1lc3NhZ2UgJiYgdGhpcy5sYXRlc3RNZXNzYWdlLnR5cGUgPT09ICdyZWd1bGFyJykge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlVGltZSA9IGlzT25TZXBhcmF0ZURhdGUoXG4gICAgICAgIG5ldyBEYXRlKCksXG4gICAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZS5jcmVhdGVkX2F0XG4gICAgICApXG4gICAgICAgID8gdGhpcy5kYXRlUGFyc2VyLnBhcnNlRGF0ZSh0aGlzLmxhdGVzdE1lc3NhZ2UuY3JlYXRlZF9hdClcbiAgICAgICAgOiB0aGlzLmRhdGVQYXJzZXIucGFyc2VUaW1lKHRoaXMubGF0ZXN0TWVzc2FnZS5jcmVhdGVkX2F0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlVGltZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVVucmVhZFN0YXRlKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMuY2hhbm5lbCAmJlxuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlICYmXG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2UudXNlcj8uaWQgPT09IHRoaXMudXNlcklkICYmXG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2Uuc3RhdHVzID09PSAncmVjZWl2ZWQnICYmXG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2UudHlwZSA9PT0gJ3JlZ3VsYXInXG4gICAgKSB7XG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2VTdGF0dXMgPVxuICAgICAgICBnZXRSZWFkQnkodGhpcy5sYXRlc3RNZXNzYWdlLCB0aGlzLmNoYW5uZWwpLmxlbmd0aCA+IDBcbiAgICAgICAgICA/ICdyZWFkJ1xuICAgICAgICAgIDogJ2RlbGl2ZXJlZCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZVN0YXR1cyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgKHRoaXMuaXNBY3RpdmUgJiYgIXRoaXMuaXNVbnJlYWRNZXNzYWdlV2FzQ2FsbGVkKSB8fFxuICAgICAgIXRoaXMuY2FuU2VuZFJlYWRFdmVudHNcbiAgICApIHtcbiAgICAgIHRoaXMudW5yZWFkQ291bnQgPSAwO1xuICAgICAgdGhpcy5pc1VucmVhZCA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnVucmVhZENvdW50ID0gdGhpcy5jaGFubmVsIS5jb3VudFVucmVhZCgpO1xuICAgIHRoaXMuaXNVbnJlYWQgPSAhIXRoaXMudW5yZWFkQ291bnQ7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3NlbmdlciBzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3XCJcbiAgZGF0YS10ZXN0aWQ9XCJjaGFubmVsLXByZXZpZXctY29udGFpbmVyXCJcbiAgW2NsYXNzLnN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS1hY3RpdmVdPVwiaXNBY3RpdmVcIlxuICBbY2xhc3Muc3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy0tYWN0aXZlXT1cImlzQWN0aXZlXCJcbiAgW2NsYXNzLnN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS11bnJlYWRdPVwiaXNVbnJlYWRcIlxuICAoY2xpY2spPVwic2V0QXNBY3RpdmVDaGFubmVsKClcIlxuPlxuICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLWxlZnRcIj5cbiAgICA8c3RyZWFtLWF2YXRhci1wbGFjZWhvbGRlclxuICAgICAgdHlwZT1cImNoYW5uZWxcIlxuICAgICAgbG9jYXRpb249XCJjaGFubmVsLXByZXZpZXdcIlxuICAgICAgbmFtZT1cInt7IGF2YXRhck5hbWUgfX1cIlxuICAgICAgaW1hZ2VVcmw9XCJ7eyBhdmF0YXJJbWFnZSB9fVwiXG4gICAgICBbY2hhbm5lbF09XCJjaGFubmVsXCJcbiAgICAvPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLXJpZ2h0IHN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctZW5kXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIChjdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLmNoYW5uZWxQcmV2aWV3SW5mb1RlbXBsYXRlJCB8IGFzeW5jKSB8fFxuICAgICAgICAgIGRlZmF1bHRDaGFubmVsSW5mbztcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgIGNoYW5uZWxEaXNwbGF5VGl0bGU6IHRpdGxlLFxuICAgICAgICAgIGNoYW5uZWw6IGNoYW5uZWwsXG4gICAgICAgICAgdW5yZWFkQ291bnQ6IHVucmVhZENvdW50LFxuICAgICAgICAgIGxhdGVzdE1lc3NhZ2VUZXh0OiBsYXRlc3RNZXNzYWdlVGV4dCxcbiAgICAgICAgICBsYXRlc3RNZXNzYWdlU3RhdHVzOiBsYXRlc3RNZXNzYWdlU3RhdHVzLFxuICAgICAgICAgIGxhdGVzdE1lc3NhZ2VUaW1lOiBsYXRlc3RNZXNzYWdlVGltZSxcbiAgICAgICAgICBsYXRlc3RNZXNzYWdlOiBsYXRlc3RNZXNzYWdlXG4gICAgICAgIH1cbiAgICAgIFwiXG4gICAgLz5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICNkZWZhdWx0Q2hhbm5lbEluZm9cbiAgICAgIGxldC1jaGFubmVsRGlzcGxheVRpdGxlPVwiY2hhbm5lbERpc3BsYXlUaXRsZVwiXG4gICAgICBsZXQtdW5yZWFkQ291bnQ9XCJ1bnJlYWRDb3VudFwiXG4gICAgICBsZXQtbGF0ZXN0TWVzc2FnZVRleHQ9XCJsYXRlc3RNZXNzYWdlVGV4dFwiXG4gICAgICBsZXQtbGF0ZXN0TWVzc2FnZVN0YXR1cz1cImxhdGVzdE1lc3NhZ2VTdGF0dXNcIlxuICAgICAgbGV0LWxhdGVzdE1lc3NhZ2VUaW1lPVwibGF0ZXN0TWVzc2FnZVRpbWVcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LWVuZC1maXJzdC1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS1uYW1lXCI+XG4gICAgICAgICAgPHNwYW4gZGF0YS10ZXN0aWQ9XCJjaGFubmVsLXByZXZpZXctdGl0bGVcIj57e1xuICAgICAgICAgICAgY2hhbm5lbERpc3BsYXlUaXRsZVxuICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwidW5yZWFkQ291bnRcIlxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwidW5yZWFkLWJhZGdlXCJcbiAgICAgICAgICBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctdW5yZWFkLWJhZGdlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHVucmVhZENvdW50IH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1lbmQtc2Vjb25kLXJvd1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJsYXRlc3QtbWVzc2FnZVwiXG4gICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3Nlbmdlci0tbGFzdC1tZXNzYWdlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkaXNwbGF5QXMgPT09ICd0ZXh0JzsgZWxzZSBhc0hUTUxcIj5cbiAgICAgICAgICAgIHt7IGxhdGVzdE1lc3NhZ2VUZXh0IHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNhc0hUTUw+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImh0bWwtY29udGVudFwiXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwibGF0ZXN0TWVzc2FnZVRleHQgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwibGF0ZXN0TWVzc2FnZVN0YXR1c1wiXG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJsYXRlc3QtbWVzc2FnZS1zdGF0dXNcIlxuICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLXN0YXR1cyBzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3Nlbmdlci0tc3RhdHVzLXt7XG4gICAgICAgICAgICBsYXRlc3RNZXNzYWdlU3RhdHVzXG4gICAgICAgICAgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHN0cmVhbS1pY29uLXBsYWNlaG9sZGVyXG4gICAgICAgICAgICBbaWNvbl09XCJsYXRlc3RNZXNzYWdlU3RhdHVzID09PSAnZGVsaXZlcmVkJyA/ICdkZWxpdmVyZWQnIDogJ3JlYWQnXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwibGF0ZXN0TWVzc2FnZVRpbWVcIlxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwibGF0ZXN0LW1lc3NhZ2UtdGltZVwiXG4gICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3Nlbmdlci0tdGltZVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBsYXRlc3RNZXNzYWdlVGltZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9idXR0b24+XG4iXX0=
|