@cometchat/chat-uikit-angular 4.0.0-beta.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/Calls/CallingExtension.d.ts +5 -0
- package/Calls/CallingExtensionDecorator.d.ts +17 -0
- package/Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component.d.ts +75 -0
- package/Calls/CometChatCallButtons/cometchat-call-buttons.module.d.ts +11 -0
- package/Calls/CometChatIncomingCall/cometchat-incoming-call/cometchat-incoming-call.component.d.ts +80 -0
- package/Calls/CometChatIncomingCall/cometchat-incoming-call.module.d.ts +11 -0
- package/Calls/CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component.d.ts +26 -0
- package/Calls/CometChatOngoingCall/cometchat-ongoing-call.module.d.ts +9 -0
- package/Calls/CometChatOutgoingCall/cometchat-outgoing-call/cometchat-outgoing-call.component.d.ts +58 -0
- package/Calls/CometChatOutgoingCall/cometchat-outgoing-call.module.d.ts +10 -0
- package/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.d.ts +109 -0
- package/CometChatAddMembers/cometchat-add-members.module.d.ts +12 -0
- package/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.d.ts +140 -0
- package/CometChatBannedMembers/cometchat-banned-members.module.d.ts +13 -0
- package/CometChatConversations/cometchat-conversations/cometchat-conversations.component.d.ts +335 -0
- package/CometChatConversations/cometchat-conversations.module.d.ts +10 -0
- package/CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component.d.ts +86 -0
- package/CometChatConversationsWithMessages/cometchat-conversations-with-messages.module.d.ts +12 -0
- package/CometChatDetails/cometchat-details/cometchat-details.component.d.ts +149 -0
- package/CometChatDetails/cometchat-details.module.d.ts +12 -0
- package/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.d.ts +145 -0
- package/CometChatGroupMembers/cometchat-group-members.module.d.ts +13 -0
- package/CometChatGroups/cometchat-groups/cometchat-groups.component.d.ts +136 -0
- package/CometChatGroups/cometchat-groups.module.d.ts +10 -0
- package/CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component.d.ts +100 -0
- package/CometChatGroupsWithMessages/cometchat-groups-with-messages.module.d.ts +13 -0
- package/CometChatList/cometchat-list.component.d.ts +87 -0
- package/CometChatList/cometchat-list.module.d.ts +10 -0
- package/CometChatMessageBubble/cometchat-message-bubble/cometchat-message-bubble.component.d.ts +62 -0
- package/CometChatMessageBubble/cometchat-message-bubble.module.d.ts +8 -0
- package/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.d.ts +165 -0
- package/CometChatMessageComposer/cometchat-message-composer.module.d.ts +9 -0
- package/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.d.ts +85 -0
- package/CometChatMessageHeader/cometchat-message-header.module.d.ts +9 -0
- package/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.d.ts +510 -0
- package/CometChatMessageList/cometchat-message-list.module.d.ts +11 -0
- package/CometChatMessages/cometchat-messages/cometchat-messages.component.d.ts +136 -0
- package/CometChatMessages/cometchat-messages.module.d.ts +15 -0
- package/CometChatTheme.service.d.ts +7 -0
- package/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.d.ts +73 -0
- package/CometChatThreadedMessages/cometchat-threaded-messages.module.d.ts +12 -0
- package/CometChatTransferOwnership/cometchat-transfer-ownership/cometchat-transfer-ownership.component.d.ts +88 -0
- package/CometChatTransferOwnership/cometchat-transfer-ownership.module.d.ts +10 -0
- package/CometChatUsers/cometchat-users/cometchat-users.component.d.ts +105 -0
- package/CometChatUsers/cometchat-users.module.d.ts +11 -0
- package/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.d.ts +71 -0
- package/CometChatUsersWithMessages/cometchat-users-with-messages.module.d.ts +12 -0
- package/Extensions/CollaborativeDocument/CollaborativeDocumentExtension.d.ts +9 -0
- package/Extensions/CollaborativeDocument/CollaborativeDocumentExtensionDecorator.d.ts +17 -0
- package/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtension.d.ts +9 -0
- package/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtensionDecorator.d.ts +17 -0
- package/Extensions/ImageModeration/ImageModerationExtension.d.ts +5 -0
- package/Extensions/ImageModeration/ImageModerationExtensionDecorator.d.ts +6 -0
- package/Extensions/LinkPreviewExtension/LinkPreviewExtension.d.ts +5 -0
- package/Extensions/LinkPreviewExtension/LinkPreviewExtensionDecorator.d.ts +6 -0
- package/Extensions/MessageTranslation/MessageTranslationExtension.d.ts +9 -0
- package/Extensions/MessageTranslation/MessageTranslationExtensionDecorator.d.ts +12 -0
- package/Extensions/PollsExtension/PollsExtension.d.ts +5 -0
- package/Extensions/PollsExtension/PollsExtensionDecorator.d.ts +15 -0
- package/Extensions/Reactions/ReactionExtension.d.ts +5 -0
- package/Extensions/Reactions/ReactionExtensionDecorator.d.ts +10 -0
- package/Extensions/SmartReplies/SmartRepliesExtension.d.ts +9 -0
- package/Extensions/SmartReplies/SmartRepliesExtensionDecorator.d.ts +16 -0
- package/Extensions/Stickers/StickersExtension.d.ts +9 -0
- package/Extensions/Stickers/StickersExtensionDecorator.d.ts +27 -0
- package/Extensions/TextModerator/TextModeratorExtension.d.ts +5 -0
- package/Extensions/TextModerator/TextModeratorExtensionDecorator.d.ts +9 -0
- package/Extensions/ThumbnailGeneration/ThumbnailGenerationExtension.d.ts +5 -0
- package/Extensions/ThumbnailGeneration/ThumbnailGenerationExtensionDecorator.d.ts +6 -0
- package/README.md +60 -0
- package/Shared/CometChatUIkit/CometChatUIKit.d.ts +18 -0
- package/Shared/Framework/ChatConfigurator.d.ts +8 -0
- package/Shared/Framework/DataSource.d.ts +29 -0
- package/Shared/Framework/DataSourceDecorator.d.ts +32 -0
- package/Shared/Framework/ExtensionDataSource.d.ts +3 -0
- package/Shared/Utils/MessageUtils.d.ts +43 -0
- package/assets/.gitkeep +0 -0
- package/assets/Audio-Call.svg +11 -0
- package/assets/Audio-Call2x.svg +11 -0
- package/assets/Copy.svg +17 -0
- package/assets/Grid-layout.svg +1 -0
- package/assets/Heart.svg +11 -0
- package/assets/Imagemoderation.svg +14 -0
- package/assets/Info.svg +13 -0
- package/assets/Locked.svg +10 -0
- package/assets/More@2x.svg +9 -0
- package/assets/Plus.svg +13 -0
- package/assets/Private.svg +10 -0
- package/assets/Reactionsicon.svg +9 -0
- package/assets/Send.svg +12 -0
- package/assets/Spinner.svg +15 -0
- package/assets/Stickers.svg +16 -0
- package/assets/Stipop.svg +9 -0
- package/assets/Video-call.svg +12 -0
- package/assets/Video-call2x.svg +12 -0
- package/assets/activity.svg +22 -0
- package/assets/addreaction.svg +9 -0
- package/assets/animals.svg +15 -0
- package/assets/attachment-file.svg +14 -0
- package/assets/audio-file.svg +12 -0
- package/assets/back.png +0 -0
- package/assets/backbutton.svg +12 -0
- package/assets/call.svg +1 -0
- package/assets/chats.svg +1 -0
- package/assets/checkmark.svg +11 -0
- package/assets/close.svg +12 -0
- package/assets/close2x.svg +12 -0
- package/assets/collaborativedocument.svg +13 -0
- package/assets/collaborativewhiteboard.svg +12 -0
- package/assets/create-button.svg +12 -0
- package/assets/declaration.d.ts +3 -0
- package/assets/delete.svg +7 -0
- package/assets/deleteicon.svg +15 -0
- package/assets/down-arrow.svg +1 -0
- package/assets/download.svg +13 -0
- package/assets/editicon.svg +14 -0
- package/assets/emoji.svg +2693 -0
- package/assets/file-upload.svg +2693 -0
- package/assets/flags.svg +12 -0
- package/assets/food.svg +26 -0
- package/assets/group.svg +40 -0
- package/assets/heart-reaction.png +0 -0
- package/assets/heart.png +0 -0
- package/assets/image.svg +2693 -0
- package/assets/incomingcall.wav +0 -0
- package/assets/increase-size.svg +6 -0
- package/assets/location.svg +2693 -0
- package/assets/message-delivered.png +0 -0
- package/assets/message-delivered.svg +4 -0
- package/assets/message-read.png +0 -0
- package/assets/message-read.svg +4 -0
- package/assets/message-sent.png +0 -0
- package/assets/message-sent.svg +3 -0
- package/assets/moreicon.svg +9 -0
- package/assets/objects.svg +13 -0
- package/assets/open-thread.svg +11 -0
- package/assets/password-protected-group.svg +3 -0
- package/assets/photolibrary.svg +11 -0
- package/assets/placeholder.png +0 -0
- package/assets/plus-rotated.svg +13 -0
- package/assets/polls.svg +14 -0
- package/assets/privacy.svg +4 -0
- package/assets/private-group.svg +9 -0
- package/assets/public.svg +3 -0
- package/assets/reduce-size.svg +6 -0
- package/assets/right-arrow.svg +6 -0
- package/assets/search.png +0 -0
- package/assets/search.svg +4 -0
- package/assets/side-arrow.svg +1 -0
- package/assets/smileys.svg +16 -0
- package/assets/start-chat.svg +1 -0
- package/assets/symbols.svg +16 -0
- package/assets/thread-arrow.svg +1 -0
- package/assets/thread-icon.svg +38 -0
- package/assets/threadicon.svg +14 -0
- package/assets/translation.svg +16 -0
- package/assets/travel.svg +18 -0
- package/assets/unsafe-content.svg +23 -0
- package/assets/user.svg +31 -0
- package/assets/video-upload.svg +2693 -0
- package/assets/video.svg +12 -0
- package/assets/wait.png +0 -0
- package/assets/wait.svg +4 -0
- package/assets/warning-small.png +0 -0
- package/assets/warning-small.svg +5 -0
- package/cometchat-chat-uikit-angular.d.ts +5 -0
- package/esm2020/Calls/CallingExtension.mjs +11 -0
- package/esm2020/Calls/CallingExtensionDecorator.mjs +114 -0
- package/esm2020/Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component.mjs +358 -0
- package/esm2020/Calls/CometChatCallButtons/cometchat-call-buttons.module.mjs +32 -0
- package/esm2020/Calls/CometChatIncomingCall/cometchat-incoming-call/cometchat-incoming-call.component.mjs +423 -0
- package/esm2020/Calls/CometChatIncomingCall/cometchat-incoming-call.module.mjs +32 -0
- package/esm2020/Calls/CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component.mjs +54 -0
- package/esm2020/Calls/CometChatOngoingCall/cometchat-ongoing-call.module.mjs +27 -0
- package/esm2020/Calls/CometChatOutgoingCall/cometchat-outgoing-call/cometchat-outgoing-call.component.mjs +196 -0
- package/esm2020/Calls/CometChatOutgoingCall/cometchat-outgoing-call.module.mjs +28 -0
- package/esm2020/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.mjs +353 -0
- package/esm2020/CometChatAddMembers/cometchat-add-members.module.mjs +23 -0
- package/esm2020/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.mjs +446 -0
- package/esm2020/CometChatBannedMembers/cometchat-banned-members.module.mjs +24 -0
- package/esm2020/CometChatConversations/cometchat-conversations/cometchat-conversations.component.mjs +1400 -0
- package/esm2020/CometChatConversations/cometchat-conversations.module.mjs +28 -0
- package/esm2020/CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component.mjs +272 -0
- package/esm2020/CometChatConversationsWithMessages/cometchat-conversations-with-messages.module.mjs +39 -0
- package/esm2020/CometChatDetails/cometchat-details/cometchat-details.component.mjs +696 -0
- package/esm2020/CometChatDetails/cometchat-details.module.mjs +27 -0
- package/esm2020/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.mjs +676 -0
- package/esm2020/CometChatGroupMembers/cometchat-group-members.module.mjs +24 -0
- package/esm2020/CometChatGroups/cometchat-groups/cometchat-groups.component.mjs +564 -0
- package/esm2020/CometChatGroups/cometchat-groups.module.mjs +28 -0
- package/esm2020/CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component.mjs +430 -0
- package/esm2020/CometChatGroupsWithMessages/cometchat-groups-with-messages.module.mjs +43 -0
- package/esm2020/CometChatList/cometchat-list.component.mjs +210 -0
- package/esm2020/CometChatList/cometchat-list.module.mjs +28 -0
- package/esm2020/CometChatMessageBubble/cometchat-message-bubble/cometchat-message-bubble.component.mjs +157 -0
- package/esm2020/CometChatMessageBubble/cometchat-message-bubble.module.mjs +23 -0
- package/esm2020/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.mjs +930 -0
- package/esm2020/CometChatMessageComposer/cometchat-message-composer.module.mjs +24 -0
- package/esm2020/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.mjs +420 -0
- package/esm2020/CometChatMessageHeader/cometchat-message-header.module.mjs +26 -0
- package/esm2020/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.mjs +2598 -0
- package/esm2020/CometChatMessageList/cometchat-message-list.module.mjs +34 -0
- package/esm2020/CometChatMessages/cometchat-messages/cometchat-messages.component.mjs +393 -0
- package/esm2020/CometChatMessages/cometchat-messages.module.mjs +48 -0
- package/esm2020/CometChatTheme.service.mjs +17 -0
- package/esm2020/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.mjs +304 -0
- package/esm2020/CometChatThreadedMessages/cometchat-threaded-messages.module.mjs +36 -0
- package/esm2020/CometChatTransferOwnership/cometchat-transfer-ownership/cometchat-transfer-ownership.component.mjs +337 -0
- package/esm2020/CometChatTransferOwnership/cometchat-transfer-ownership.module.mjs +21 -0
- package/esm2020/CometChatUsers/cometchat-users/cometchat-users.component.mjs +447 -0
- package/esm2020/CometChatUsers/cometchat-users.module.mjs +32 -0
- package/esm2020/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.mjs +185 -0
- package/esm2020/CometChatUsersWithMessages/cometchat-users-with-messages.module.mjs +39 -0
- package/esm2020/Extensions/CollaborativeDocument/CollaborativeDocumentExtension.mjs +11 -0
- package/esm2020/Extensions/CollaborativeDocument/CollaborativeDocumentExtensionDecorator.mjs +89 -0
- package/esm2020/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtension.mjs +11 -0
- package/esm2020/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtensionDecorator.mjs +89 -0
- package/esm2020/Extensions/ImageModeration/ImageModerationExtension.mjs +10 -0
- package/esm2020/Extensions/ImageModeration/ImageModerationExtensionDecorator.mjs +10 -0
- package/esm2020/Extensions/LinkPreviewExtension/LinkPreviewExtension.mjs +10 -0
- package/esm2020/Extensions/LinkPreviewExtension/LinkPreviewExtensionDecorator.mjs +10 -0
- package/esm2020/Extensions/MessageTranslation/MessageTranslationExtension.mjs +11 -0
- package/esm2020/Extensions/MessageTranslation/MessageTranslationExtensionDecorator.mjs +33 -0
- package/esm2020/Extensions/PollsExtension/PollsExtension.mjs +10 -0
- package/esm2020/Extensions/PollsExtension/PollsExtensionDecorator.mjs +75 -0
- package/esm2020/Extensions/Reactions/ReactionExtension.mjs +10 -0
- package/esm2020/Extensions/Reactions/ReactionExtensionDecorator.mjs +30 -0
- package/esm2020/Extensions/SmartReplies/SmartRepliesExtension.mjs +11 -0
- package/esm2020/Extensions/SmartReplies/SmartRepliesExtensionDecorator.mjs +117 -0
- package/esm2020/Extensions/Stickers/StickersExtension.mjs +15 -0
- package/esm2020/Extensions/Stickers/StickersExtensionDecorator.mjs +118 -0
- package/esm2020/Extensions/TextModerator/TextModeratorExtension.mjs +10 -0
- package/esm2020/Extensions/TextModerator/TextModeratorExtensionDecorator.mjs +32 -0
- package/esm2020/Extensions/ThumbnailGeneration/ThumbnailGenerationExtension.mjs +10 -0
- package/esm2020/Extensions/ThumbnailGeneration/ThumbnailGenerationExtensionDecorator.mjs +10 -0
- package/esm2020/Shared/CometChatUIkit/CometChatUIKit.mjs +180 -0
- package/esm2020/Shared/Framework/ChatConfigurator.mjs +20 -0
- package/esm2020/Shared/Framework/DataSource.mjs +3 -0
- package/esm2020/Shared/Framework/DataSourceDecorator.mjs +80 -0
- package/esm2020/Shared/Framework/ExtensionDataSource.mjs +4 -0
- package/esm2020/Shared/Utils/MessageUtils.mjs +342 -0
- package/esm2020/cometchat-chat-uikit-angular.mjs +5 -0
- package/esm2020/public-api.mjs +93 -0
- package/fesm2015/cometchat-chat-uikit-angular.mjs +13683 -0
- package/fesm2015/cometchat-chat-uikit-angular.mjs.map +1 -0
- package/fesm2020/cometchat-chat-uikit-angular.mjs +13586 -0
- package/fesm2020/cometchat-chat-uikit-angular.mjs.map +1 -0
- package/package.json +51 -0
- package/public-api.d.ts +79 -0
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { Component, ViewChild, Input, ChangeDetectionStrategy } from "@angular/core";
|
|
2
|
+
import { CometChat } from "@cometchat-pro/chat";
|
|
3
|
+
import '@cometchat/uikit-elements';
|
|
4
|
+
import { localize, CometChatTheme, fontHelper, CometChatUserEvents } from "@cometchat/uikit-resources";
|
|
5
|
+
import { WithMessagesStyle, MessagesConfiguration, UsersConfiguration } from "@cometchat/uikit-shared";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../CometChatTheme.service";
|
|
8
|
+
import * as i2 from "../../CometChatUsers/cometchat-users/cometchat-users.component";
|
|
9
|
+
import * as i3 from "../../CometChatMessages/cometchat-messages/cometchat-messages.component";
|
|
10
|
+
import * as i4 from "@angular/common";
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* CometChatUsersWithMessagesComponent is a wrapper component for CometChatMessagesComponent and CometChatConversations component to show chats and messages in one screen
|
|
14
|
+
*
|
|
15
|
+
* @version 1.0.0
|
|
16
|
+
* @author CometChatTeam
|
|
17
|
+
* @copyright © 2022 CometChat Inc.
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
export class CometChatUsersWithMessagesComponent {
|
|
21
|
+
constructor(elementRef, ref, themeService) {
|
|
22
|
+
this.elementRef = elementRef;
|
|
23
|
+
this.ref = ref;
|
|
24
|
+
this.themeService = themeService;
|
|
25
|
+
this.isMobileView = false;
|
|
26
|
+
this.messageText = localize("NO_USERS_SELECTED");
|
|
27
|
+
this.usersWithMessagesStyle = {
|
|
28
|
+
width: "100%",
|
|
29
|
+
height: "100%",
|
|
30
|
+
borderRadius: "none",
|
|
31
|
+
border: "none",
|
|
32
|
+
};
|
|
33
|
+
this.messagesConfiguration = new MessagesConfiguration({});
|
|
34
|
+
this.usersConfiguration = new UsersConfiguration({});
|
|
35
|
+
this.onError = (error) => {
|
|
36
|
+
console.log(error);
|
|
37
|
+
};
|
|
38
|
+
this.theme = new CometChatTheme({});
|
|
39
|
+
this.labelStyle = {
|
|
40
|
+
background: "transparent",
|
|
41
|
+
textFont: "700 22px Inter",
|
|
42
|
+
textColor: "rgba(20, 20, 20, 0.33)"
|
|
43
|
+
};
|
|
44
|
+
this.onBack = () => {
|
|
45
|
+
this.user = null;
|
|
46
|
+
};
|
|
47
|
+
this.onItemClick = (user) => {
|
|
48
|
+
this.user = user;
|
|
49
|
+
this.ref.detectChanges();
|
|
50
|
+
};
|
|
51
|
+
this.emptyMessageStyle = () => {
|
|
52
|
+
return {
|
|
53
|
+
background: this.usersWithMessagesStyle.background || this.themeService.theme.palette.getBackground(),
|
|
54
|
+
height: this.usersWithMessagesStyle.height,
|
|
55
|
+
width: `calc(${this.usersWithMessagesStyle.width} - 280px)`,
|
|
56
|
+
border: this.usersWithMessagesStyle.border,
|
|
57
|
+
borderRadius: this.usersWithMessagesStyle.borderRadius,
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
this.usersWrapperStyles = () => {
|
|
61
|
+
return {
|
|
62
|
+
height: this.usersWithMessagesStyle.height,
|
|
63
|
+
width: this.usersWithMessagesStyle.width,
|
|
64
|
+
border: this.usersWithMessagesStyle.border,
|
|
65
|
+
borderRadius: this.usersWithMessagesStyle.borderRadius,
|
|
66
|
+
background: this.usersWithMessagesStyle.background || this.themeService.theme.palette.getBackground(),
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
ngAfterViewInit() {
|
|
71
|
+
this.updateBackdropHeight();
|
|
72
|
+
}
|
|
73
|
+
updateBackdropHeight() {
|
|
74
|
+
const divHeight = this.elementRef.nativeElement.offsetHeight;
|
|
75
|
+
const divWidth = this.elementRef.nativeElement.offsetWidth;
|
|
76
|
+
let backdropStyle = {
|
|
77
|
+
height: divHeight + "px",
|
|
78
|
+
width: divWidth + "px",
|
|
79
|
+
background: "rgba(0, 0, 0, 0.5)"
|
|
80
|
+
};
|
|
81
|
+
this.messagesConfiguration.messageListConfiguration.backdropStyle = backdropStyle;
|
|
82
|
+
this.messagesConfiguration.detailsConfiguration.backdropStyle = backdropStyle;
|
|
83
|
+
this.messagesConfiguration.messageComposerConfiguration.backdropStyle = backdropStyle;
|
|
84
|
+
this.messagesConfiguration.detailsConfiguration.groupMembersConfiguration.backdropStyle = backdropStyle;
|
|
85
|
+
this.ref.detectChanges();
|
|
86
|
+
}
|
|
87
|
+
ngOnChanges(changes) {
|
|
88
|
+
if (changes["isMobileView"]) {
|
|
89
|
+
if (this.isMobileView) {
|
|
90
|
+
this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = false;
|
|
91
|
+
this.messagesConfiguration.messageHeaderConfiguration = { ...this.messagesConfiguration.messageHeaderConfiguration };
|
|
92
|
+
this.messagesConfiguration = { ...this.messagesConfiguration };
|
|
93
|
+
}
|
|
94
|
+
else if (!this.isMobileView) {
|
|
95
|
+
this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = true;
|
|
96
|
+
this.messagesConfiguration.messageHeaderConfiguration = { ...this.messagesConfiguration.messageHeaderConfiguration };
|
|
97
|
+
this.messagesConfiguration = { ...this.messagesConfiguration };
|
|
98
|
+
}
|
|
99
|
+
this.updateBackdropHeight();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
ngOnInit() {
|
|
103
|
+
this.setWithMessagesStyle();
|
|
104
|
+
if (!this.messagesConfiguration.messageHeaderConfiguration.onBack) {
|
|
105
|
+
this.messagesConfiguration.messageHeaderConfiguration.onBack = this.onBack;
|
|
106
|
+
}
|
|
107
|
+
this.subscribeToEvents();
|
|
108
|
+
CometChat.getLoggedinUser()
|
|
109
|
+
.then((user) => {
|
|
110
|
+
this.loggedInUser = user;
|
|
111
|
+
})
|
|
112
|
+
.catch((error) => {
|
|
113
|
+
if (this.onError) {
|
|
114
|
+
this.onError(error);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
setWithMessagesStyle() {
|
|
119
|
+
let defaultStyle = new WithMessagesStyle({
|
|
120
|
+
width: "100%",
|
|
121
|
+
height: "100%",
|
|
122
|
+
background: this.themeService.theme.palette.getBackground(),
|
|
123
|
+
borderRadius: "none",
|
|
124
|
+
border: "none",
|
|
125
|
+
messageTextColor: this.themeService.theme.palette.getAccent600(),
|
|
126
|
+
messageTextFont: fontHelper(this.themeService.theme.typography.title1),
|
|
127
|
+
});
|
|
128
|
+
this.usersWithMessagesStyle = {
|
|
129
|
+
...defaultStyle,
|
|
130
|
+
...this.usersWithMessagesStyle
|
|
131
|
+
};
|
|
132
|
+
this.labelStyle.textFont = this.usersWithMessagesStyle.messageTextFont;
|
|
133
|
+
this.labelStyle.textColor = this.usersWithMessagesStyle.messageTextColor;
|
|
134
|
+
}
|
|
135
|
+
ngOnDestroy() {
|
|
136
|
+
this.unsubscribeToEvents();
|
|
137
|
+
}
|
|
138
|
+
// subscribe to global events
|
|
139
|
+
subscribeToEvents() {
|
|
140
|
+
this.ccUserBlocked = CometChatUserEvents.ccUserBlocked.subscribe((user) => {
|
|
141
|
+
if (this.user && user.getUid() == this.user.getUid()) {
|
|
142
|
+
this.user = user;
|
|
143
|
+
this.ref.detectChanges();
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
this.ccUserUnBlocked = CometChatUserEvents.ccUserUnblocked.subscribe((user) => {
|
|
147
|
+
if (this.user && user.getUid() == this.user.getUid()) {
|
|
148
|
+
this.user = user;
|
|
149
|
+
this.ref.detectChanges();
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
// unsubscribe to subscribed events.
|
|
154
|
+
unsubscribeToEvents() {
|
|
155
|
+
this.ccUserBlocked?.unsubscribe();
|
|
156
|
+
this.ccUserUnBlocked?.unsubscribe();
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
CometChatUsersWithMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatUsersWithMessagesComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
160
|
+
CometChatUsersWithMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatUsersWithMessagesComponent, selector: "cometchat-users-with-messages", inputs: { user: "user", isMobileView: "isMobileView", messageText: "messageText", usersWithMessagesStyle: "usersWithMessagesStyle", messagesConfiguration: "messagesConfiguration", usersConfiguration: "usersConfiguration", onError: "onError" }, viewQueries: [{ propertyName: "userRef", first: true, predicate: ["usersRef"], descendants: true }, { propertyName: "messageListRef", first: true, predicate: ["messagesRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-with-messages__wrapper\" [ngStyle]=\"usersWrapperStyles()\">\n <div class=\"cc-with-messages__sidebar\" [ngClass]=\"{mobile : isMobileView}\">\n <cometchat-users\n #usersRef\n [activeUser]=\"user\"\n [hideSearch]=\"usersConfiguration.hideSearch\"\n [searchIconURL]=\"usersConfiguration.searchIconURL\"\n [searchRequestBuilder]=\"usersConfiguration.searchRequestBuilder\"\n [onItemClick]=\"usersConfiguration.onItemClick || onItemClick\"\n [usersStyle]=\"usersConfiguration.usersStyle\"\n [subtitleView]=\"usersConfiguration.subtitleView\"\n [options]=\"usersConfiguration.options\"\n [usersRequestBuilder]=\"usersConfiguration.usersRequestBuilder\"\n [emptyStateView]=\"usersConfiguration.emptyStateView\"\n [onSelect]=\"usersConfiguration.onSelect\"\n [loadingIconURL]=\"usersConfiguration.loadingIconURL\"\n [errorStateView]=\"usersConfiguration.errorStateView\"\n [loadingStateView]=\"usersConfiguration.loadingStateView\"\n [titleAlignment]=\"usersConfiguration.titleAlignment\"\n [showSectionHeader]=\"usersConfiguration.showSectionHeader\"\n [listItemView]=\"usersConfiguration.listItemView\"\n [menu]=\"usersConfiguration.menu\"\n [hideSeparator]=\"usersConfiguration.hideSeparator\"\n [hideError]=\"usersConfiguration.hideError\"\n [selectionMode]=\"usersConfiguration.selectionMode\"\n [listItemStyle]=\"usersConfiguration.listItemStyle\"\n\n ></cometchat-users>\n </div>\n <div class=\"cc-with-messages__main\" [ngClass]=\"{mobile : isMobileView}\" *ngIf=\"user\">\n <!--Message List Screen-->\n <cometchat-messages\n #messagesRef\n [user]=\"user!\"\n [messageHeaderConfiguration]=\"messagesConfiguration.messageHeaderConfiguration\"\n [messageListConfiguration]=\"messagesConfiguration.messageListConfiguration\"\n [messageComposerConfiguration]=\"messagesConfiguration.messageComposerConfiguration\"\n [messagesStyle]=\"messagesConfiguration.messagesStyle\"\n [customSoundForIncomingMessages]=\"messagesConfiguration.customSoundForIncomingMessages\"\n [customSoundForOutgoingMessages]=\"messagesConfiguration.customSoundForOutgoingMessages\"\n [detailsConfiguration]=\"messagesConfiguration.detailsConfiguration\"\n [disableSoundForMessages]=\"messagesConfiguration.disableSoundForMessages\"\n [disableTyping]=\"messagesConfiguration.disableTyping\"\n [hideMessageComposer]=\"messagesConfiguration.hideMessageComposer\"\n [hideMessageHeader]=\"messagesConfiguration.hideMessageHeader\"\n [messageComposerView]=\"messagesConfiguration.messageComposerView\"\n [messageHeaderView]=\"messagesConfiguration.messageHeaderView\"\n [messageListView]=\"messagesConfiguration.messageListView\"\n >\n </cometchat-messages>\n <!--Message List Screen ENDS-->\n </div>\n <div class=\"cc-decorator__message--empty\" *ngIf=\"!user\" [ngStyle]=\"emptyMessageStyle()\">\n <cometchat-label [text]=\"messageText\" [labelStyle]=\"labelStyle\"></cometchat-label>\n </div>\n</div>", styles: [".cc-with-messages__wrapper{display:flex;height:100%;width:100%;box-sizing:border-box}.cc-with-messages__sidebar{width:280px;height:100%;position:relative}.cc-with-messages__main{width:calc(100% - 280px);height:100%}.mobile{width:100%!important;height:100%;position:absolute}.cc-decorator__message--empty{display:flex;justify-content:center;align-items:center}\n"], components: [{ type: i2.CometChatUsersComponent, selector: "cometchat-users", inputs: ["usersRequestBuilder", "searchRequestBuilder", "subtitleView", "disableUsersPresence", "listItemView", "menu", "options", "activeUser", "hideSeparator", "searchPlaceholder", "hideError", "selectionMode", "searchIconURL", "hideSearch", "title", "onError", "emptyStateView", "onSelect", "errorStateView", "loadingIconURL", "showSectionHeader", "sectionHeaderField", "loadingStateView", "emptyStateText", "errorStateText", "titleAlignment", "usersStyle", "listItemStyle", "statusIndicatorStyle", "avatarStyle", "onItemClick"] }, { type: i3.CometChatMessagesComponent, selector: "cometchat-messages", inputs: ["user", "group", "hideMessageComposer", "disableTyping", "messageHeaderConfiguration", "messageListConfiguration", "messageComposerConfiguration", "threadedMessageConfiguration", "detailsConfiguration", "customSoundForIncomingMessages", "customSoundForOutgoingMessages", "disableSoundForMessages", "messagesStyle", "messageHeaderView", "messageComposerView", "messageListView", "hideMessageHeader", "hideDetails", "auxiliaryMenu"] }], directives: [{ type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
161
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatUsersWithMessagesComponent, decorators: [{
|
|
162
|
+
type: Component,
|
|
163
|
+
args: [{ selector: "cometchat-users-with-messages", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-with-messages__wrapper\" [ngStyle]=\"usersWrapperStyles()\">\n <div class=\"cc-with-messages__sidebar\" [ngClass]=\"{mobile : isMobileView}\">\n <cometchat-users\n #usersRef\n [activeUser]=\"user\"\n [hideSearch]=\"usersConfiguration.hideSearch\"\n [searchIconURL]=\"usersConfiguration.searchIconURL\"\n [searchRequestBuilder]=\"usersConfiguration.searchRequestBuilder\"\n [onItemClick]=\"usersConfiguration.onItemClick || onItemClick\"\n [usersStyle]=\"usersConfiguration.usersStyle\"\n [subtitleView]=\"usersConfiguration.subtitleView\"\n [options]=\"usersConfiguration.options\"\n [usersRequestBuilder]=\"usersConfiguration.usersRequestBuilder\"\n [emptyStateView]=\"usersConfiguration.emptyStateView\"\n [onSelect]=\"usersConfiguration.onSelect\"\n [loadingIconURL]=\"usersConfiguration.loadingIconURL\"\n [errorStateView]=\"usersConfiguration.errorStateView\"\n [loadingStateView]=\"usersConfiguration.loadingStateView\"\n [titleAlignment]=\"usersConfiguration.titleAlignment\"\n [showSectionHeader]=\"usersConfiguration.showSectionHeader\"\n [listItemView]=\"usersConfiguration.listItemView\"\n [menu]=\"usersConfiguration.menu\"\n [hideSeparator]=\"usersConfiguration.hideSeparator\"\n [hideError]=\"usersConfiguration.hideError\"\n [selectionMode]=\"usersConfiguration.selectionMode\"\n [listItemStyle]=\"usersConfiguration.listItemStyle\"\n\n ></cometchat-users>\n </div>\n <div class=\"cc-with-messages__main\" [ngClass]=\"{mobile : isMobileView}\" *ngIf=\"user\">\n <!--Message List Screen-->\n <cometchat-messages\n #messagesRef\n [user]=\"user!\"\n [messageHeaderConfiguration]=\"messagesConfiguration.messageHeaderConfiguration\"\n [messageListConfiguration]=\"messagesConfiguration.messageListConfiguration\"\n [messageComposerConfiguration]=\"messagesConfiguration.messageComposerConfiguration\"\n [messagesStyle]=\"messagesConfiguration.messagesStyle\"\n [customSoundForIncomingMessages]=\"messagesConfiguration.customSoundForIncomingMessages\"\n [customSoundForOutgoingMessages]=\"messagesConfiguration.customSoundForOutgoingMessages\"\n [detailsConfiguration]=\"messagesConfiguration.detailsConfiguration\"\n [disableSoundForMessages]=\"messagesConfiguration.disableSoundForMessages\"\n [disableTyping]=\"messagesConfiguration.disableTyping\"\n [hideMessageComposer]=\"messagesConfiguration.hideMessageComposer\"\n [hideMessageHeader]=\"messagesConfiguration.hideMessageHeader\"\n [messageComposerView]=\"messagesConfiguration.messageComposerView\"\n [messageHeaderView]=\"messagesConfiguration.messageHeaderView\"\n [messageListView]=\"messagesConfiguration.messageListView\"\n >\n </cometchat-messages>\n <!--Message List Screen ENDS-->\n </div>\n <div class=\"cc-decorator__message--empty\" *ngIf=\"!user\" [ngStyle]=\"emptyMessageStyle()\">\n <cometchat-label [text]=\"messageText\" [labelStyle]=\"labelStyle\"></cometchat-label>\n </div>\n</div>", styles: [".cc-with-messages__wrapper{display:flex;height:100%;width:100%;box-sizing:border-box}.cc-with-messages__sidebar{width:280px;height:100%;position:relative}.cc-with-messages__main{width:calc(100% - 280px);height:100%}.mobile{width:100%!important;height:100%;position:absolute}.cc-decorator__message--empty{display:flex;justify-content:center;align-items:center}\n"] }]
|
|
164
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.CometChatThemeService }]; }, propDecorators: { userRef: [{
|
|
165
|
+
type: ViewChild,
|
|
166
|
+
args: ["usersRef", { static: false }]
|
|
167
|
+
}], messageListRef: [{
|
|
168
|
+
type: ViewChild,
|
|
169
|
+
args: ["messagesRef", { static: false }]
|
|
170
|
+
}], user: [{
|
|
171
|
+
type: Input
|
|
172
|
+
}], isMobileView: [{
|
|
173
|
+
type: Input
|
|
174
|
+
}], messageText: [{
|
|
175
|
+
type: Input
|
|
176
|
+
}], usersWithMessagesStyle: [{
|
|
177
|
+
type: Input
|
|
178
|
+
}], messagesConfiguration: [{
|
|
179
|
+
type: Input
|
|
180
|
+
}], usersConfiguration: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], onError: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}] } });
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXRjaGF0LXVzZXJzLXdpdGgtbWVzc2FnZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC11aWtpdC1hbmd1bGFyL3NyYy9Db21ldENoYXRVc2Vyc1dpdGhNZXNzYWdlcy9jb21ldGNoYXQtdXNlcnMtd2l0aC1tZXNzYWdlcy9jb21ldGNoYXQtdXNlcnMtd2l0aC1tZXNzYWdlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0LXVpa2l0LWFuZ3VsYXIvc3JjL0NvbWV0Q2hhdFVzZXJzV2l0aE1lc3NhZ2VzL2NvbWV0Y2hhdC11c2Vycy13aXRoLW1lc3NhZ2VzL2NvbWV0Y2hhdC11c2Vycy13aXRoLW1lc3NhZ2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBMkQsTUFBTSxlQUFlLENBQUM7QUFDdEosT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR2hELE9BQU8sMkJBQTJCLENBQUE7QUFHbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQUNyRzs7Ozs7Ozs7RUFRQztBQU9ILE1BQU0sT0FBTyxtQ0FBbUM7SUFpQzlDLFlBQW9CLFVBQXNCLEVBQVMsR0FBc0IsRUFBUyxZQUFrQztRQUFoRyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxpQkFBWSxHQUFaLFlBQVksQ0FBc0I7UUE1QjNHLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGdC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QkFBK0IsbUJBR3hCLHVCQUF1QixDQUFDLE1BQU07cUtBSUwsT0FBTztzQkFBaEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNLLGNBQWM7c0JBQTFELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDbEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxzQkFBc0I7c0JBQS9CLEtBQUs7Z0JBTUcscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgQ2hhbmdlRGV0ZWN0b3JSZWYsIEVsZW1lbnRSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tZXRDaGF0IH0gZnJvbSBcIkBjb21ldGNoYXQtcHJvL2NoYXRcIjtcbmltcG9ydCB7IENvbWV0Q2hhdE1lc3NhZ2VzQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL0NvbWV0Q2hhdE1lc3NhZ2VzL2NvbWV0Y2hhdC1tZXNzYWdlcy9jb21ldGNoYXQtbWVzc2FnZXMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb21ldENoYXRDb252ZXJzYXRpb25zQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL0NvbWV0Q2hhdENvbnZlcnNhdGlvbnMvY29tZXRjaGF0LWNvbnZlcnNhdGlvbnMvY29tZXRjaGF0LWNvbnZlcnNhdGlvbnMuY29tcG9uZW50XCI7XG5pbXBvcnQgJ0Bjb21ldGNoYXQvdWlraXQtZWxlbWVudHMnXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgQ29tZXRDaGF0VGhlbWVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL0NvbWV0Q2hhdFRoZW1lLnNlcnZpY2VcIjtcbmltcG9ydCB7IGxvY2FsaXplLCBDb21ldENoYXRUaGVtZSwgZm9udEhlbHBlciwgQ29tZXRDaGF0VXNlckV2ZW50cyB9IGZyb20gXCJAY29tZXRjaGF0L3Vpa2l0LXJlc291cmNlc1wiO1xuaW1wb3J0IHsgV2l0aE1lc3NhZ2VzU3R5bGUsIE1lc3NhZ2VzQ29uZmlndXJhdGlvbiwgVXNlcnNDb25maWd1cmF0aW9uIH0gZnJvbSBcIkBjb21ldGNoYXQvdWlraXQtc2hhcmVkXCI7XG4gIC8qKlxuICpcbiAqIENvbWV0Q2hhdFVzZXJzV2l0aE1lc3NhZ2VzQ29tcG9uZW50IGlzIGEgd3JhcHBlciBjb21wb25lbnQgZm9yIENvbWV0Q2hhdE1lc3NhZ2VzQ29tcG9uZW50IGFuZCBDb21ldENoYXRDb252ZXJzYXRpb25zIGNvbXBvbmVudCB0byBzaG93IGNoYXRzIGFuZCBtZXNzYWdlcyBpbiBvbmUgc2NyZWVuXG4gKlxuICogQHZlcnNpb24gMS4wLjBcbiAqIEBhdXRob3IgQ29tZXRDaGF0VGVhbVxuICogQGNvcHlyaWdodCDCqSAyMDIyIENvbWV0Q2hhdCBJbmMuXG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiY29tZXRjaGF0LXVzZXJzLXdpdGgtbWVzc2FnZXNcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9jb21ldGNoYXQtdXNlcnMtd2l0aC1tZXNzYWdlcy5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vY29tZXRjaGF0LXVzZXJzLXdpdGgtbWVzc2FnZXMuY29tcG9uZW50LnNjc3NcIl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDb21ldENoYXRVc2Vyc1dpdGhNZXNzYWdlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgLy8gdGFraW5nIHJlZmVyZW5jZSBvZiBjb252ZXJzYXRpb25Db21wb25lbnQgYW5kIE1lc3NhZ2VzQ29tcG9uZW50XG4gIEBWaWV3Q2hpbGQoXCJ1c2Vyc1JlZlwiLCB7IHN0YXRpYzogZmFsc2UgfSkgdXNlclJlZiE6IENvbWV0Q2hhdENvbnZlcnNhdGlvbnNDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoXCJtZXNzYWdlc1JlZlwiLCB7IHN0YXRpYzogZmFsc2UgfSkgbWVzc2FnZUxpc3RSZWYhOiBDb21ldENoYXRNZXNzYWdlc0NvbXBvbmVudDtcbiAgQElucHV0KCkgdXNlciE6IENvbWV0Q2hhdC5Vc2VyIHwgbnVsbDtcbiAgQElucHV0KCkgaXNNb2JpbGVWaWV3OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1lc3NhZ2VUZXh0OiBzdHJpbmcgPSBsb2NhbGl6ZShcIk5PX1VTRVJTX1NFTEVDVEVEXCIpO1xuICBASW5wdXQoKSAgdXNlcnNXaXRoTWVzc2FnZXNTdHlsZTogV2l0aE1lc3NhZ2VzU3R5bGUgPSB7XG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgYm9yZGVyUmFkaXVzOiBcIm5vbmVcIixcbiAgICBib3JkZXI6IFwibm9uZVwiLFxuICB9O1xuICBASW5wdXQoKSBtZXNzYWdlc0NvbmZpZ3VyYXRpb246IE1lc3NhZ2VzQ29uZmlndXJhdGlvbiA9IG5ldyBNZXNzYWdlc0NvbmZpZ3VyYXRpb24oe30pO1xuICBASW5wdXQoKSB1c2Vyc0NvbmZpZ3VyYXRpb246IFVzZXJzQ29uZmlndXJhdGlvbiA9IG5ldyBVc2Vyc0NvbmZpZ3VyYXRpb24oe30pO1xuICBASW5wdXQoKSBvbkVycm9yOigoZXJyb3I6YW55KT0+dm9pZCApIHwgbnVsbD0gKGVycm9yOmFueSk9PntcbiAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgfVxuICAgdGhlbWU6IENvbWV0Q2hhdFRoZW1lID0gbmV3IENvbWV0Q2hhdFRoZW1lKHt9KTtcbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0aWVzIGZvciBpbnRlcm5hbCB1c2VcbiAgICAgKi9cbiAgcHVibGljIGxvZ2dlZEluVXNlciE6IENvbWV0Q2hhdC5Vc2VyIHwgbnVsbDtcbiAgbGFiZWxTdHlsZTphbnkgPSB7XG4gICAgYmFja2dyb3VuZDpcInRyYW5zcGFyZW50XCIsXG4gICAgdGV4dEZvbnQ6XCI3MDAgMjJweCBJbnRlclwiLFxuICAgIHRleHRDb2xvcjpcInJnYmEoMjAsIDIwLCAyMCwgMC4zMylcIlxuICB9XG4gICAgIC8qKlxuICAgICAqIEV2ZW50c1xuICAgICAqL1xuICBjY1VzZXJCbG9ja2VkITpTdWJzY3JpcHRpb247XG4gIGNjVXNlclVuQmxvY2tlZCE6U3Vic2NyaXB0aW9uO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYscHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLHByaXZhdGUgdGhlbWVTZXJ2aWNlOkNvbWV0Q2hhdFRoZW1lU2VydmljZSkge1xuICAgfVxuICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudXBkYXRlQmFja2Ryb3BIZWlnaHQoKVxuICAgICAgfVxuICAgICAgdXBkYXRlQmFja2Ryb3BIZWlnaHQoKXtcbiAgICAgICAgY29uc3QgZGl2SGVpZ2h0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICBjb25zdCBkaXZXaWR0aCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgICBsZXQgYmFja2Ryb3BTdHlsZSA9ICB7XG4gICAgICAgICAgaGVpZ2h0OmRpdkhlaWdodCArIFwicHhcIixcbiAgICAgICAgICB3aWR0aDpkaXZXaWR0aCArIFwicHhcIixcbiAgICAgICAgICBiYWNrZ3JvdW5kOlwicmdiYSgwLCAwLCAwLCAwLjUpXCJcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlTGlzdENvbmZpZ3VyYXRpb24uYmFja2Ryb3BTdHlsZSA9IGJhY2tkcm9wU3R5bGVcbiAgICAgICAgdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24uZGV0YWlsc0NvbmZpZ3VyYXRpb24uYmFja2Ryb3BTdHlsZSA9IGJhY2tkcm9wU3R5bGVcbiAgICAgICAgdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24ubWVzc2FnZUNvbXBvc2VyQ29uZmlndXJhdGlvbi5iYWNrZHJvcFN0eWxlID0gYmFja2Ryb3BTdHlsZVxuICAgICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5kZXRhaWxzQ29uZmlndXJhdGlvbi5ncm91cE1lbWJlcnNDb25maWd1cmF0aW9uLmJhY2tkcm9wU3R5bGUgPSBiYWNrZHJvcFN0eWxlXG4gICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKVxuICAgICAgfVxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYoY2hhbmdlc1tcImlzTW9iaWxlVmlld1wiXSl7XG4gICAgICBpZiAodGhpcy5pc01vYmlsZVZpZXcpIHtcblxuICAgICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlSGVhZGVyQ29uZmlndXJhdGlvbi5oaWRlQmFja0J1dHRvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlSGVhZGVyQ29uZmlndXJhdGlvbiA9IHsuLi50aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlSGVhZGVyQ29uZmlndXJhdGlvbn1cbiAgICAgICAgdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24gPSB7IC4uLnRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uIH1cblxuICAgICAgfVxuICAgICAgZWxzZSBpZiAoIXRoaXMuaXNNb2JpbGVWaWV3KSB7XG4gICAgICAgIHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uLm1lc3NhZ2VIZWFkZXJDb25maWd1cmF0aW9uLmhpZGVCYWNrQnV0dG9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24ubWVzc2FnZUhlYWRlckNvbmZpZ3VyYXRpb24gPSB7Li4udGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24ubWVzc2FnZUhlYWRlckNvbmZpZ3VyYXRpb259XG4gICAgICAgIHRoaXMubWVzc2FnZXNDb25maWd1cmF0aW9uID0geyAuLi50aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbiB9XG4gICAgICB9XG4gICAgICB0aGlzLnVwZGF0ZUJhY2tkcm9wSGVpZ2h0KClcbiAgICB9XG4gIH1cbiAgb25CYWNrID0gKCk9PntcbiAgICB0aGlzLnVzZXIgPSBudWxsXG4gIH1cbiAgIG9uSXRlbUNsaWNrOiAoKHVzZXI6Q29tZXRDaGF0LlVzZXIpPT52b2lkKSA9ICh1c2VyOkNvbWV0Q2hhdC5Vc2VyKT0+e1xuICAgIHRoaXMudXNlciA9IHVzZXI7XG4gICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gIH07XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0V2l0aE1lc3NhZ2VzU3R5bGUoKVxuICAgIGlmKCF0aGlzLm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlSGVhZGVyQ29uZmlndXJhdGlvbi5vbkJhY2spe1xuICAgICAgdGhpcy5tZXNzYWdlc0NvbmZpZ3VyYXRpb24ubWVzc2FnZUhlYWRlckNvbmZpZ3VyYXRpb24ub25CYWNrID0gdGhpcy5vbkJhY2tcbiAgICB9XG4gICAgdGhpcy5zdWJzY3JpYmVUb0V2ZW50cygpO1xuICAgICAgQ29tZXRDaGF0LmdldExvZ2dlZGluVXNlcigpXG4gICAgICAgIC50aGVuKCh1c2VyOkNvbWV0Q2hhdC5Vc2VyIHwgbnVsbCkgPT4ge1xuICAgICAgICAgIHRoaXMubG9nZ2VkSW5Vc2VyID0gdXNlcjtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcjphbnkpID0+IHtcbiAgICAgICAgICBpZih0aGlzLm9uRXJyb3Ipe1xuICAgICAgICAgICAgdGhpcy5vbkVycm9yKGVycm9yKVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgfVxuICBzZXRXaXRoTWVzc2FnZXNTdHlsZSgpe1xuICAgIGxldCBkZWZhdWx0U3R5bGU6V2l0aE1lc3NhZ2VzU3R5bGUgPSBuZXcgV2l0aE1lc3NhZ2VzU3R5bGUoe1xuICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgIGJhY2tncm91bmQ6IHRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QmFja2dyb3VuZCgpLFxuICAgICAgYm9yZGVyUmFkaXVzOiBcIm5vbmVcIixcbiAgICAgIGJvcmRlcjogXCJub25lXCIsXG4gICAgICBtZXNzYWdlVGV4dENvbG9yOiB0aGlzLnRoZW1lU2VydmljZS50aGVtZS5wYWxldHRlLmdldEFjY2VudDYwMCgpLFxuICAgICAgbWVzc2FnZVRleHRGb250OiBmb250SGVscGVyKHRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnR5cG9ncmFwaHkudGl0bGUxKSxcbiAgICB9KVxuICAgIHRoaXMudXNlcnNXaXRoTWVzc2FnZXNTdHlsZSA9IHtcbiAgICAgIC4uLmRlZmF1bHRTdHlsZSxcbiAgICAgIC4uLnRoaXMudXNlcnNXaXRoTWVzc2FnZXNTdHlsZVxuICAgIH1cbiAgICB0aGlzLmxhYmVsU3R5bGUudGV4dEZvbnQgPSB0aGlzLnVzZXJzV2l0aE1lc3NhZ2VzU3R5bGUubWVzc2FnZVRleHRGb250XG4gICAgdGhpcy5sYWJlbFN0eWxlLnRleHRDb2xvciA9IHRoaXMudXNlcnNXaXRoTWVzc2FnZXNTdHlsZS5tZXNzYWdlVGV4dENvbG9yXG4gIH1cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51bnN1YnNjcmliZVRvRXZlbnRzKCk7XG4gIH1cblxuICAvLyBzdWJzY3JpYmUgdG8gZ2xvYmFsIGV2ZW50c1xuICBzdWJzY3JpYmVUb0V2ZW50cygpIHtcbiAgICB0aGlzLmNjVXNlckJsb2NrZWQgPSBDb21ldENoYXRVc2VyRXZlbnRzLmNjVXNlckJsb2NrZWQuc3Vic2NyaWJlKCh1c2VyOkNvbWV0Q2hhdC5Vc2VyKSA9PiB7XG4gICAgICAgaWYodGhpcy51c2VyICYmIHVzZXIuZ2V0VWlkKCkgPT0gdGhpcy51c2VyLmdldFVpZCgpKXtcbiAgICAgICAgIHRoaXMudXNlciA9IHVzZXI7XG4gICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICAgICB9XG4gICAgfSlcbiAgICB0aGlzLmNjVXNlclVuQmxvY2tlZCA9IENvbWV0Q2hhdFVzZXJFdmVudHMuY2NVc2VyVW5ibG9ja2VkLnN1YnNjcmliZSgodXNlcjpDb21ldENoYXQuVXNlcikgPT4ge1xuICAgICAgaWYodGhpcy51c2VyICYmIHVzZXIuZ2V0VWlkKCkgPT0gdGhpcy51c2VyLmdldFVpZCgpKXtcbiAgICAgICAgdGhpcy51c2VyID0gdXNlcjtcbiAgICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICB9XG4gICAgfSlcblxuICB9XG4gIC8vIHVuc3Vic2NyaWJlIHRvIHN1YnNjcmliZWQgZXZlbnRzLlxuICB1bnN1YnNjcmliZVRvRXZlbnRzKCkge1xuICAgIHRoaXMuY2NVc2VyQmxvY2tlZD8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmNjVXNlclVuQmxvY2tlZD8udW5zdWJzY3JpYmUoKTtcbiAgfVxuICBlbXB0eU1lc3NhZ2VTdHlsZSA9ICgpPT57XG4gICAgcmV0dXJuIHtcbiAgICAgIGJhY2tncm91bmQ6IHRoaXMudXNlcnNXaXRoTWVzc2FnZXNTdHlsZS5iYWNrZ3JvdW5kIHx8IHRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QmFja2dyb3VuZCgpLFxuICAgICAgaGVpZ2h0OnRoaXMudXNlcnNXaXRoTWVzc2FnZXNTdHlsZS5oZWlnaHQsXG4gICAgICB3aWR0aDpgY2FsYygke3RoaXMudXNlcnNXaXRoTWVzc2FnZXNTdHlsZS53aWR0aH0gLSAyODBweClgLFxuICAgICAgYm9yZGVyOnRoaXMudXNlcnNXaXRoTWVzc2FnZXNTdHlsZS5ib3JkZXIsXG4gICAgICBib3JkZXJSYWRpdXM6dGhpcy51c2Vyc1dpdGhNZXNzYWdlc1N0eWxlLmJvcmRlclJhZGl1cyxcbiAgICB9XG4gIH1cbiAgdXNlcnNXcmFwcGVyU3R5bGVzID0gICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgaGVpZ2h0OiB0aGlzLnVzZXJzV2l0aE1lc3NhZ2VzU3R5bGUuaGVpZ2h0LFxuICAgICAgd2lkdGg6IHRoaXMudXNlcnNXaXRoTWVzc2FnZXNTdHlsZS53aWR0aCxcbiAgICAgIGJvcmRlcjogdGhpcy51c2Vyc1dpdGhNZXNzYWdlc1N0eWxlLmJvcmRlcixcbiAgICAgIGJvcmRlclJhZGl1czogdGhpcy51c2Vyc1dpdGhNZXNzYWdlc1N0eWxlLmJvcmRlclJhZGl1cyxcbiAgICAgIGJhY2tncm91bmQ6IHRoaXMudXNlcnNXaXRoTWVzc2FnZXNTdHlsZS5iYWNrZ3JvdW5kIHx8IHRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QmFja2dyb3VuZCgpLFxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNjLXdpdGgtbWVzc2FnZXNfX3dyYXBwZXJcIiBbbmdTdHlsZV09XCJ1c2Vyc1dyYXBwZXJTdHlsZXMoKVwiPlxuICA8ZGl2IGNsYXNzPVwiY2Mtd2l0aC1tZXNzYWdlc19fc2lkZWJhclwiIFtuZ0NsYXNzXT1cInttb2JpbGUgOiBpc01vYmlsZVZpZXd9XCI+XG4gICAgPGNvbWV0Y2hhdC11c2Vyc1xuICAgICN1c2Vyc1JlZlxuICAgIFthY3RpdmVVc2VyXT1cInVzZXJcIlxuICAgIFtoaWRlU2VhcmNoXT1cInVzZXJzQ29uZmlndXJhdGlvbi5oaWRlU2VhcmNoXCJcbiAgICBbc2VhcmNoSWNvblVSTF09XCJ1c2Vyc0NvbmZpZ3VyYXRpb24uc2VhcmNoSWNvblVSTFwiXG4gICAgW3NlYXJjaFJlcXVlc3RCdWlsZGVyXT1cInVzZXJzQ29uZmlndXJhdGlvbi5zZWFyY2hSZXF1ZXN0QnVpbGRlclwiXG4gICAgW29uSXRlbUNsaWNrXT1cInVzZXJzQ29uZmlndXJhdGlvbi5vbkl0ZW1DbGljayB8fCBvbkl0ZW1DbGlja1wiXG4gICAgW3VzZXJzU3R5bGVdPVwidXNlcnNDb25maWd1cmF0aW9uLnVzZXJzU3R5bGVcIlxuICAgIFtzdWJ0aXRsZVZpZXddPVwidXNlcnNDb25maWd1cmF0aW9uLnN1YnRpdGxlVmlld1wiXG4gICAgW29wdGlvbnNdPVwidXNlcnNDb25maWd1cmF0aW9uLm9wdGlvbnNcIlxuICAgIFt1c2Vyc1JlcXVlc3RCdWlsZGVyXT1cInVzZXJzQ29uZmlndXJhdGlvbi51c2Vyc1JlcXVlc3RCdWlsZGVyXCJcbiAgICBbZW1wdHlTdGF0ZVZpZXddPVwidXNlcnNDb25maWd1cmF0aW9uLmVtcHR5U3RhdGVWaWV3XCJcbiAgICBbb25TZWxlY3RdPVwidXNlcnNDb25maWd1cmF0aW9uLm9uU2VsZWN0XCJcbiAgICBbbG9hZGluZ0ljb25VUkxdPVwidXNlcnNDb25maWd1cmF0aW9uLmxvYWRpbmdJY29uVVJMXCJcbiAgICBbZXJyb3JTdGF0ZVZpZXddPVwidXNlcnNDb25maWd1cmF0aW9uLmVycm9yU3RhdGVWaWV3XCJcbiAgICBbbG9hZGluZ1N0YXRlVmlld109XCJ1c2Vyc0NvbmZpZ3VyYXRpb24ubG9hZGluZ1N0YXRlVmlld1wiXG4gICAgW3RpdGxlQWxpZ25tZW50XT1cInVzZXJzQ29uZmlndXJhdGlvbi50aXRsZUFsaWdubWVudFwiXG4gICAgW3Nob3dTZWN0aW9uSGVhZGVyXT1cInVzZXJzQ29uZmlndXJhdGlvbi5zaG93U2VjdGlvbkhlYWRlclwiXG4gICAgW2xpc3RJdGVtVmlld109XCJ1c2Vyc0NvbmZpZ3VyYXRpb24ubGlzdEl0ZW1WaWV3XCJcbiAgICBbbWVudV09XCJ1c2Vyc0NvbmZpZ3VyYXRpb24ubWVudVwiXG4gICAgW2hpZGVTZXBhcmF0b3JdPVwidXNlcnNDb25maWd1cmF0aW9uLmhpZGVTZXBhcmF0b3JcIlxuICAgIFtoaWRlRXJyb3JdPVwidXNlcnNDb25maWd1cmF0aW9uLmhpZGVFcnJvclwiXG4gICAgW3NlbGVjdGlvbk1vZGVdPVwidXNlcnNDb25maWd1cmF0aW9uLnNlbGVjdGlvbk1vZGVcIlxuICAgIFtsaXN0SXRlbVN0eWxlXT1cInVzZXJzQ29uZmlndXJhdGlvbi5saXN0SXRlbVN0eWxlXCJcblxuICAgID48L2NvbWV0Y2hhdC11c2Vycz5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjYy13aXRoLW1lc3NhZ2VzX19tYWluXCIgW25nQ2xhc3NdPVwie21vYmlsZSA6IGlzTW9iaWxlVmlld31cIiAqbmdJZj1cInVzZXJcIj5cbiAgICA8IS0tTWVzc2FnZSBMaXN0IFNjcmVlbi0tPlxuICAgIDxjb21ldGNoYXQtbWVzc2FnZXNcbiAgICAjbWVzc2FnZXNSZWZcbiAgICBbdXNlcl09XCJ1c2VyIVwiXG4gICAgW21lc3NhZ2VIZWFkZXJDb25maWd1cmF0aW9uXT1cIm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlSGVhZGVyQ29uZmlndXJhdGlvblwiXG4gICAgW21lc3NhZ2VMaXN0Q29uZmlndXJhdGlvbl09XCJtZXNzYWdlc0NvbmZpZ3VyYXRpb24ubWVzc2FnZUxpc3RDb25maWd1cmF0aW9uXCJcbiAgICBbbWVzc2FnZUNvbXBvc2VyQ29uZmlndXJhdGlvbl09XCJtZXNzYWdlc0NvbmZpZ3VyYXRpb24ubWVzc2FnZUNvbXBvc2VyQ29uZmlndXJhdGlvblwiXG4gICAgW21lc3NhZ2VzU3R5bGVdPVwibWVzc2FnZXNDb25maWd1cmF0aW9uLm1lc3NhZ2VzU3R5bGVcIlxuICAgIFtjdXN0b21Tb3VuZEZvckluY29taW5nTWVzc2FnZXNdPVwibWVzc2FnZXNDb25maWd1cmF0aW9uLmN1c3RvbVNvdW5kRm9ySW5jb21pbmdNZXNzYWdlc1wiXG4gICAgW2N1c3RvbVNvdW5kRm9yT3V0Z29pbmdNZXNzYWdlc109XCJtZXNzYWdlc0NvbmZpZ3VyYXRpb24uY3VzdG9tU291bmRGb3JPdXRnb2luZ01lc3NhZ2VzXCJcbiAgICBbZGV0YWlsc0NvbmZpZ3VyYXRpb25dPVwibWVzc2FnZXNDb25maWd1cmF0aW9uLmRldGFpbHNDb25maWd1cmF0aW9uXCJcbiAgICBbZGlzYWJsZVNvdW5kRm9yTWVzc2FnZXNdPVwibWVzc2FnZXNDb25maWd1cmF0aW9uLmRpc2FibGVTb3VuZEZvck1lc3NhZ2VzXCJcbiAgICBbZGlzYWJsZVR5cGluZ109XCJtZXNzYWdlc0NvbmZpZ3VyYXRpb24uZGlzYWJsZVR5cGluZ1wiXG4gICAgW2hpZGVNZXNzYWdlQ29tcG9zZXJdPVwibWVzc2FnZXNDb25maWd1cmF0aW9uLmhpZGVNZXNzYWdlQ29tcG9zZXJcIlxuICAgIFtoaWRlTWVzc2FnZUhlYWRlcl09XCJtZXNzYWdlc0NvbmZpZ3VyYXRpb24uaGlkZU1lc3NhZ2VIZWFkZXJcIlxuICAgIFttZXNzYWdlQ29tcG9zZXJWaWV3XT1cIm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlQ29tcG9zZXJWaWV3XCJcbiAgICBbbWVzc2FnZUhlYWRlclZpZXddPVwibWVzc2FnZXNDb25maWd1cmF0aW9uLm1lc3NhZ2VIZWFkZXJWaWV3XCJcbiAgICBbbWVzc2FnZUxpc3RWaWV3XT1cIm1lc3NhZ2VzQ29uZmlndXJhdGlvbi5tZXNzYWdlTGlzdFZpZXdcIlxuICAgID5cbiAgICA8L2NvbWV0Y2hhdC1tZXNzYWdlcz5cbiAgICA8IS0tTWVzc2FnZSBMaXN0IFNjcmVlbiBFTkRTLS0+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY2MtZGVjb3JhdG9yX19tZXNzYWdlLS1lbXB0eVwiICpuZ0lmPVwiIXVzZXJcIiBbbmdTdHlsZV09XCJlbXB0eU1lc3NhZ2VTdHlsZSgpXCI+XG4gICAgPGNvbWV0Y2hhdC1sYWJlbCBbdGV4dF09XCJtZXNzYWdlVGV4dFwiIFtsYWJlbFN0eWxlXT1cImxhYmVsU3R5bGVcIj48L2NvbWV0Y2hhdC1sYWJlbD5cbiAgIDwvZGl2PlxuPC9kaXY+Il19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { BrowserModule } from "@angular/platform-browser";
|
|
4
|
+
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
|
|
5
|
+
import { CometChatUsersWithMessagesComponent } from "./cometchat-users-with-messages/cometchat-users-with-messages.component";
|
|
6
|
+
import { CometChatMessages } from "../CometChatMessages/cometchat-messages.module";
|
|
7
|
+
import { CometChatUsers } from "../CometChatUsers/cometchat-users.module";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class CometChatUsersWithMessages {
|
|
10
|
+
}
|
|
11
|
+
CometChatUsersWithMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatUsersWithMessages, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
CometChatUsersWithMessages.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatUsersWithMessages, declarations: [CometChatUsersWithMessagesComponent], imports: [CommonModule,
|
|
13
|
+
CometChatUsers,
|
|
14
|
+
CometChatMessages,
|
|
15
|
+
BrowserModule,
|
|
16
|
+
BrowserAnimationsModule], exports: [CometChatUsersWithMessagesComponent] });
|
|
17
|
+
CometChatUsersWithMessages.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatUsersWithMessages, imports: [[
|
|
18
|
+
CommonModule,
|
|
19
|
+
CometChatUsers,
|
|
20
|
+
CometChatMessages,
|
|
21
|
+
BrowserModule,
|
|
22
|
+
BrowserAnimationsModule,
|
|
23
|
+
]] });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatUsersWithMessages, decorators: [{
|
|
25
|
+
type: NgModule,
|
|
26
|
+
args: [{
|
|
27
|
+
declarations: [CometChatUsersWithMessagesComponent],
|
|
28
|
+
imports: [
|
|
29
|
+
CommonModule,
|
|
30
|
+
CometChatUsers,
|
|
31
|
+
CometChatMessages,
|
|
32
|
+
BrowserModule,
|
|
33
|
+
BrowserAnimationsModule,
|
|
34
|
+
],
|
|
35
|
+
exports: [CometChatUsersWithMessagesComponent],
|
|
36
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
37
|
+
}]
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXRjaGF0LXVzZXJzLXdpdGgtbWVzc2FnZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC11aWtpdC1hbmd1bGFyL3NyYy9Db21ldENoYXRVc2Vyc1dpdGhNZXNzYWdlcy9jb21ldGNoYXQtdXNlcnMtd2l0aC1tZXNzYWdlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzlILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFjMUUsTUFBTSxPQUFPLDBCQUEwQjs7d0hBQTFCLDBCQUEwQjt5SEFBMUIsMEJBQTBCLGlCQVh0QixtQ0FBbUMsYUFFaEQsWUFBWTtRQUNaLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsYUFBYTtRQUNiLHVCQUF1QixhQUVmLG1DQUFtQzt5SEFHbEMsMEJBQTBCLFlBVjVCO1lBQ1AsWUFBWTtZQUNaLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsYUFBYTtZQUNiLHVCQUF1QjtTQUN4Qjs0RkFJVSwwQkFBMEI7a0JBWnRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUNBQW1DLENBQUM7b0JBQ25ELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLHVCQUF1QjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsbUNBQW1DLENBQUM7b0JBQzlDLE9BQU8sRUFBQyxDQUFDLHNCQUFzQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zXCI7XG5pbXBvcnQgeyBDb21ldENoYXRVc2Vyc1dpdGhNZXNzYWdlc0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbWV0Y2hhdC11c2Vycy13aXRoLW1lc3NhZ2VzL2NvbWV0Y2hhdC11c2Vycy13aXRoLW1lc3NhZ2VzLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ29tZXRDaGF0TWVzc2FnZXMgfSBmcm9tIFwiLi4vQ29tZXRDaGF0TWVzc2FnZXMvY29tZXRjaGF0LW1lc3NhZ2VzLm1vZHVsZVwiO1xuaW1wb3J0IHsgQ29tZXRDaGF0VXNlcnMgfSBmcm9tIFwiLi4vQ29tZXRDaGF0VXNlcnMvY29tZXRjaGF0LXVzZXJzLm1vZHVsZVwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDb21ldENoYXRVc2Vyc1dpdGhNZXNzYWdlc0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ29tZXRDaGF0VXNlcnMsXG4gICAgQ29tZXRDaGF0TWVzc2FnZXMsXG4gICAgQnJvd3Nlck1vZHVsZSxcbiAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW0NvbWV0Q2hhdFVzZXJzV2l0aE1lc3NhZ2VzQ29tcG9uZW50XSxcbiAgc2NoZW1hczpbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cbn0pXG5leHBvcnQgY2xhc3MgQ29tZXRDaGF0VXNlcnNXaXRoTWVzc2FnZXMge31cbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ChatConfigurator } from "../../Shared/Framework/ChatConfigurator";
|
|
2
|
+
import { CollaborativeDocumentExtensionDecorator } from "./CollaborativeDocumentExtensionDecorator";
|
|
3
|
+
export class CollaborativeDocumentExtension {
|
|
4
|
+
constructor({ configuration } = {}) {
|
|
5
|
+
this.configuration = configuration;
|
|
6
|
+
}
|
|
7
|
+
enable() {
|
|
8
|
+
ChatConfigurator.enable((dataSource) => new CollaborativeDocumentExtensionDecorator(dataSource, this.configuration));
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sbGFib3JhdGl2ZURvY3VtZW50RXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC11aWtpdC1hbmd1bGFyL3NyYy9FeHRlbnNpb25zL0NvbGxhYm9yYXRpdmVEb2N1bWVudC9Db2xsYWJvcmF0aXZlRG9jdW1lbnRFeHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFM0UsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFcEcsTUFBTSxPQUFPLDhCQUE4QjtJQUd2QyxZQUFZLEVBQUUsYUFBYSxLQUE2RCxFQUFFO1FBQ3hGLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNO1FBQ0osZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLHVDQUF1QyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUN2SCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyAgQ29sbGFib3JhdGl2ZURvY3VtZW50Q29uZmlndXJhdGlvbn0gZnJvbSBcIkBjb21ldGNoYXQvdWlraXQtc2hhcmVkXCI7XG5pbXBvcnQgeyBDaGF0Q29uZmlndXJhdG9yIH0gZnJvbSBcIi4uLy4uL1NoYXJlZC9GcmFtZXdvcmsvQ2hhdENvbmZpZ3VyYXRvclwiO1xuaW1wb3J0IHsgRXh0ZW5zaW9uc0RhdGFTb3VyY2UgfSBmcm9tIFwiLi4vLi4vU2hhcmVkL0ZyYW1ld29yay9FeHRlbnNpb25EYXRhU291cmNlXCI7XG5pbXBvcnQgeyBDb2xsYWJvcmF0aXZlRG9jdW1lbnRFeHRlbnNpb25EZWNvcmF0b3IgfSBmcm9tIFwiLi9Db2xsYWJvcmF0aXZlRG9jdW1lbnRFeHRlbnNpb25EZWNvcmF0b3JcIjtcblxuZXhwb3J0IGNsYXNzIENvbGxhYm9yYXRpdmVEb2N1bWVudEV4dGVuc2lvbiBpbXBsZW1lbnRzIEV4dGVuc2lvbnNEYXRhU291cmNlIHtcbiAgICBjb25maWd1cmF0aW9uPzogQ29sbGFib3JhdGl2ZURvY3VtZW50Q29uZmlndXJhdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKHsgY29uZmlndXJhdGlvbiB9OiB7IGNvbmZpZ3VyYXRpb24/OiBDb2xsYWJvcmF0aXZlRG9jdW1lbnRDb25maWd1cmF0aW9uIH0gPSB7fSkge1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjtcbiAgICB9XG5cbiAgICBlbmFibGUoKTogdm9pZCB7XG4gICAgICBDaGF0Q29uZmlndXJhdG9yLmVuYWJsZSgoZGF0YVNvdXJjZSkgPT4gbmV3IENvbGxhYm9yYXRpdmVEb2N1bWVudEV4dGVuc2lvbkRlY29yYXRvcihkYXRhU291cmNlLCB0aGlzLmNvbmZpZ3VyYXRpb24pKTtcbiAgICB9XG4gIH1cbiJdfQ==
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { CometChat } from "@cometchat-pro/chat";
|
|
2
|
+
import { CometChatTheme, CometChatMessageTemplate, CometChatMessageComposerAction, fontHelper, CometChatUIKitConstants, localize } from "@cometchat/uikit-resources";
|
|
3
|
+
import { CollaborativeDocumentConstants } from "@cometchat/uikit-shared";
|
|
4
|
+
import { ChatConfigurator } from "../../Shared/Framework/ChatConfigurator";
|
|
5
|
+
import { DataSourceDecorator } from "../../Shared/Framework/DataSourceDecorator";
|
|
6
|
+
export class CollaborativeDocumentExtensionDecorator extends DataSourceDecorator {
|
|
7
|
+
constructor(dataSource, configuration) {
|
|
8
|
+
super(dataSource);
|
|
9
|
+
this.configuration = configuration;
|
|
10
|
+
}
|
|
11
|
+
getAllMessageTypes() {
|
|
12
|
+
const types = super.getAllMessageTypes();
|
|
13
|
+
if (!types.includes(CollaborativeDocumentConstants.extension_document)) {
|
|
14
|
+
types.push(CollaborativeDocumentConstants.extension_document);
|
|
15
|
+
}
|
|
16
|
+
return types;
|
|
17
|
+
}
|
|
18
|
+
getId() {
|
|
19
|
+
return "collaborativedocument";
|
|
20
|
+
}
|
|
21
|
+
getAllMessageCategories() {
|
|
22
|
+
const categories = super.getAllMessageCategories();
|
|
23
|
+
if (!categories.includes(CometChatUIKitConstants.MessageCategory.custom)) {
|
|
24
|
+
categories.push(CometChatUIKitConstants.MessageCategory.custom);
|
|
25
|
+
}
|
|
26
|
+
return categories;
|
|
27
|
+
}
|
|
28
|
+
checkIfTemplateExist(template, type) {
|
|
29
|
+
return template.some(obj => obj.type === type);
|
|
30
|
+
}
|
|
31
|
+
getAllMessageTemplates() {
|
|
32
|
+
const templates = super.getAllMessageTemplates();
|
|
33
|
+
if (!this.checkIfTemplateExist(templates, CollaborativeDocumentConstants.extension_document)) {
|
|
34
|
+
templates.push(this.getDocumentTemplate());
|
|
35
|
+
}
|
|
36
|
+
return templates;
|
|
37
|
+
}
|
|
38
|
+
getDocumentTemplate() {
|
|
39
|
+
return new CometChatMessageTemplate({
|
|
40
|
+
type: CollaborativeDocumentConstants.extension_document,
|
|
41
|
+
category: CometChatUIKitConstants.MessageCategory.custom,
|
|
42
|
+
options: (loggedInUser, messageObject, theme, group) => {
|
|
43
|
+
return ChatConfigurator.getDataSource().getCommonOptions(loggedInUser, messageObject, theme, group);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
getAttachmentOptions(theme = new CometChatTheme({}), user, group, id) {
|
|
48
|
+
if (!id?.parentMessageId) {
|
|
49
|
+
let receiverType = user ? CometChatUIKitConstants.MessageReceiverType.user : CometChatUIKitConstants.MessageReceiverType.group;
|
|
50
|
+
let receiverId = user ? user.getUid() : group?.getGuid();
|
|
51
|
+
const messageComposerActions = super.getAttachmentOptions(theme, user, group, id);
|
|
52
|
+
let newAction = new CometChatMessageComposerAction({
|
|
53
|
+
id: CollaborativeDocumentConstants.document,
|
|
54
|
+
title: localize("COLLABORATIVE_DOCUMENT"),
|
|
55
|
+
iconURL: "assets/collaborativedocument.svg",
|
|
56
|
+
iconTint: theme.palette.getAccent700(),
|
|
57
|
+
titleColor: theme.palette.getAccent600(),
|
|
58
|
+
titleFont: fontHelper(theme.typography.subtitle1),
|
|
59
|
+
background: theme.palette.getAccent100(),
|
|
60
|
+
onClick: () => {
|
|
61
|
+
CometChat.callExtension(CollaborativeDocumentConstants.document, CollaborativeDocumentConstants.post, CollaborativeDocumentConstants.v1_create, {
|
|
62
|
+
receiver: receiverId,
|
|
63
|
+
receiverType: receiverType,
|
|
64
|
+
})
|
|
65
|
+
.then((res) => {
|
|
66
|
+
})
|
|
67
|
+
.catch((error) => {
|
|
68
|
+
console.log(error);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
messageComposerActions.push(newAction);
|
|
73
|
+
return messageComposerActions;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
return super.getAttachmentOptions(theme, user, group, id);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
getLastConversationMessage(conversation, loggedInUser) {
|
|
80
|
+
const message = conversation.getLastMessage();
|
|
81
|
+
if (message != null && message.getType() == CollaborativeDocumentConstants.extension_document && message.getCategory() == CometChatUIKitConstants.MessageCategory.custom) {
|
|
82
|
+
return localize("CUSTOM_MESSAGE_DOCUMENT");
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
return super.getLastConversationMessage(conversation, loggedInUser);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sbGFib3JhdGl2ZURvY3VtZW50RXh0ZW5zaW9uRGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC11aWtpdC1hbmd1bGFyL3NyYy9FeHRlbnNpb25zL0NvbGxhYm9yYXRpdmVEb2N1bWVudC9Db2xsYWJvcmF0aXZlRG9jdW1lbnRFeHRlbnNpb25EZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQUUsOEJBQThCLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JLLE9BQU8sRUFBc0MsOEJBQThCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixNQUFNLE9BQU8sdUNBQXdDLFNBQVEsbUJBQW1CO0lBRTVFLFlBQVksVUFBc0IsRUFBRSxhQUFrRDtRQUNsRixLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFjLENBQUM7SUFDeEMsQ0FBQztJQUNRLGtCQUFrQjtRQUN2QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyw4QkFBOEIsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQ3BFLEtBQUssQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNqRTtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDUSxLQUFLO1FBQ1YsT0FBTyx1QkFB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Q0FBQyxTQUFTLEVBQUU7d0JBQzVJLFFBQVEsRUFBRSxVQUFVO3dCQUNwQixZQUFZLEVBQUUsWUFBWTtxQkFDM0IsQ0FBQzt5QkFDQyxJQUFJLENBQUMsQ0FBQyxHQUFPLEVBQUUsRUFBRTtvQkFDbEIsQ0FBQyxDQUFDO3lCQUNELEtBQUssQ0FBQyxDQUFDLEtBQVMsRUFBRSxFQUFFO3dCQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUNwQixDQUFDLENBQUMsQ0FBQztnQkFDWCxDQUFDO2FBQ0osQ0FBQyxDQUFBO1lBQ0Ysc0JBQXNCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3RDLE9BQU8sc0JBQXNCLENBQUM7U0FDakM7YUFBTTtZQUNILE9BQU8sS0FBSyxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzVEO0lBQ0YsQ0FBQztJQUNRLDBCQUEwQixDQUFDLFlBQW9DLEVBQUUsWUFBNEI7UUFDckcsTUFBTSxPQUFPLEdBQXNDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNqRixJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLDhCQUE4QixDQUFDLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFO1lBQ3hLLE9BQU8sUUFBUSxDQUFDLHlCQUF5QixDQUFDLENBQUM7U0FDNUM7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDLDBCQUEwQixDQUFDLFlBQVksRUFBQyxZQUFZLENBQUMsQ0FBQztTQUNwRTtJQUNILENBQUM7Q0FDQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbWV0Q2hhdCB9IGZyb20gXCJAY29tZXRjaGF0LXByby9jaGF0XCI7XG5pbXBvcnQgeyBDb21ldENoYXRUaGVtZSwgQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlLCBDb21ldENoYXRNZXNzYWdlQ29tcG9zZXJBY3Rpb24sIGZvbnRIZWxwZXIsIENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLCBsb2NhbGl6ZSB9IGZyb20gXCJAY29tZXRjaGF0L3Vpa2l0LXJlc291cmNlc1wiO1xuaW1wb3J0IHsgQ29sbGFib3JhdGl2ZURvY3VtZW50Q29uZmlndXJhdGlvbiwgQ29sbGFib3JhdGl2ZURvY3VtZW50Q29uc3RhbnRzIH0gZnJvbSBcIkBjb21ldGNoYXQvdWlraXQtc2hhcmVkXCI7XG5pbXBvcnQgeyBDaGF0Q29uZmlndXJhdG9yIH0gZnJvbSBcIi4uLy4uL1NoYXJlZC9GcmFtZXdvcmsvQ2hhdENvbmZpZ3VyYXRvclwiO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gXCIuLi8uLi9TaGFyZWQvRnJhbWV3b3JrL0RhdGFTb3VyY2VcIjtcbmltcG9ydCB7IERhdGFTb3VyY2VEZWNvcmF0b3IgfSBmcm9tIFwiLi4vLi4vU2hhcmVkL0ZyYW1ld29yay9EYXRhU291cmNlRGVjb3JhdG9yXCI7XG5leHBvcnQgY2xhc3MgQ29sbGFib3JhdGl2ZURvY3VtZW50RXh0ZW5zaW9uRGVjb3JhdG9yIGV4dGVuZHMgRGF0YVNvdXJjZURlY29yYXRvciB7XG4gICBwcml2YXRlIGNvbmZpZ3VyYXRpb24hOkNvbGxhYm9yYXRpdmVEb2N1bWVudENvbmZpZ3VyYXRpb247XG4gICAgY29uc3RydWN0b3IoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSwgY29uZmlndXJhdGlvbj86IENvbGxhYm9yYXRpdmVEb2N1bWVudENvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgc3VwZXIoZGF0YVNvdXJjZSk7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24hO1xuICAgIH1cbiAgICBvdmVycmlkZSBnZXRBbGxNZXNzYWdlVHlwZXMoKTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCB0eXBlcyA9IHN1cGVyLmdldEFsbE1lc3NhZ2VUeXBlcygpO1xuICAgICAgICBpZiAoIXR5cGVzLmluY2x1ZGVzKENvbGxhYm9yYXRpdmVEb2N1bWVudENvbnN0YW50cy5leHRlbnNpb25fZG9jdW1lbnQpKSB7XG4gICAgICAgICAgICB0eXBlcy5wdXNoKENvbGxhYm9yYXRpdmVEb2N1bWVudENvbnN0YW50cy5leHRlbnNpb25fZG9jdW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0eXBlcztcbiAgICB9XG4gICAgb3ZlcnJpZGUgZ2V0SWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFwiY29sbGFib3JhdGl2ZWRvY3VtZW50XCI7XG4gICAgICB9XG4gICAgb3ZlcnJpZGUgZ2V0QWxsTWVzc2FnZUNhdGVnb3JpZXMoKTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCBjYXRlZ29yaWVzID0gc3VwZXIuZ2V0QWxsTWVzc2FnZUNhdGVnb3JpZXMoKTtcbiAgICAgICAgaWYgKCFjYXRlZ29yaWVzLmluY2x1ZGVzKENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VDYXRlZ29yeS5jdXN0b20pKSB7XG4gICAgICAgICAgICBjYXRlZ29yaWVzLnB1c2goQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZUNhdGVnb3J5LmN1c3RvbSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNhdGVnb3JpZXM7XG4gICAgfVxuICAgIGNoZWNrSWZUZW1wbGF0ZUV4aXN0KHRlbXBsYXRlOkNvbWV0Q2hhdE1lc3NhZ2VUZW1wbGF0ZVtdLCB0eXBlOnN0cmluZyk6Ym9vbGVhbntcbiAgICAgICAgcmV0dXJuIHRlbXBsYXRlLnNvbWUob2JqID0+IG9iai50eXBlID09PSB0eXBlKVxuICAgICAgfVxuICAgIG92ZXJyaWRlIGdldEFsbE1lc3NhZ2VUZW1wbGF0ZXMoKTogQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlW10ge1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZXMgPSBzdXBlci5nZXRBbGxNZXNzYWdlVGVtcGxhdGVzKCk7XG4gICAgICAgIGlmKCF0aGlzLmNoZWNrSWZUZW1wbGF0ZUV4aXN0KHRlbXBsYXRlcyxDb2xsYWJvcmF0aXZlRG9jdW1lbnRDb25zdGFudHMuZXh0ZW5zaW9uX2RvY3VtZW50KSl7XG4gICAgICAgICAgICAgdGVtcGxhdGVzLnB1c2godGhpcy5nZXREb2N1bWVudFRlbXBsYXRlKCkpXG4gICAgICAgICAgIH1cblxuICAgICAgICAgICAgIHJldHVybiB0ZW1wbGF0ZXNcblxuICAgIH1cbiAgICBnZXREb2N1bWVudFRlbXBsYXRlKCk6Q29tZXRDaGF0TWVzc2FnZVRlbXBsYXRle1xuICAgIHJldHVybiBuZXcgQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlKHtcbiAgICAgIHR5cGU6Q29sbGFib3JhdGl2ZURvY3VtZW50Q29uc3RhbnRzLmV4dGVuc2lvbl9kb2N1bWVudCxcbiAgICAgIGNhdGVnb3J5OkNvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VDYXRlZ29yeS5jdXN0b20sXG4gICAgICBvcHRpb25zOiAobG9nZ2VkSW5Vc2VyOiBDb21ldENoYXQuVXNlciwgbWVzc2FnZU9iamVjdDogQ29tZXRDaGF0LkJhc2VNZXNzYWdlLCB0aGVtZTogQ29tZXRDaGF0VGhlbWUsIGdyb3VwPzogQ29tZXRDaGF0Lkdyb3VwKT0+e1xuICAgICAgICByZXR1cm4gQ2hhdENvbmZpZ3VyYXRvci5nZXREYXRhU291cmNlKCkuZ2V0Q29tbW9uT3B0aW9ucyhsb2dnZWRJblVzZXIsIG1lc3NhZ2VPYmplY3QsIHRoZW1lLCBncm91cClcbiAgICAgICB9XG4gICAgfSlcbiAgICB9XG4gICAgb3ZlcnJpZGUgZ2V0QXR0YWNobWVudE9wdGlvbnModGhlbWU6IENvbWV0Q2hhdFRoZW1lID0gbmV3IENvbWV0Q2hhdFRoZW1lKHt9KSx1c2VyPzpDb21ldENoYXQuVXNlcixncm91cD86Q29tZXRDaGF0Lkdyb3VwLCBpZD86IGFueSkge1xuICAgICAgaWYgKCFpZD8ucGFyZW50TWVzc2FnZUlkKSB7XG4gICAgICAgIGxldCByZWNlaXZlclR5cGU6c3RyaW5nID0gdXNlciAgPyBDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlUmVjZWl2ZXJUeXBlLnVzZXIgOiBDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlUmVjZWl2ZXJUeXBlLmdyb3VwXG4gICAgICAgICBsZXQgcmVjZWl2ZXJJZDpzdHJpbmcgfCB1bmRlZmluZWQgPSAgdXNlciAgPyB1c2VyLmdldFVpZCgpIDogZ3JvdXA/LmdldEd1aWQoKVxuICAgICAgICBjb25zdCBtZXNzYWdlQ29tcG9zZXJBY3Rpb25zOkNvbWV0Q2hhdE1lc3NhZ2VDb21wb3NlckFjdGlvbltdID0gc3VwZXIuZ2V0QXR0YWNobWVudE9wdGlvbnModGhlbWUsdXNlcixncm91cCxpZCk7XG4gICAgICAgIGxldCBuZXdBY3Rpb246Q29tZXRDaGF0TWVzc2FnZUNvbXBvc2VyQWN0aW9uID0gbmV3IENvbWV0Q2hhdE1lc3NhZ2VDb21wb3NlckFjdGlvbih7XG4gICAgICAgICAgICBpZDpDb2xsYWJvcmF0aXZlRG9jdW1lbnRDb25zdGFudHMuZG9jdW1lbnQsXG4gICAgICAgICAgICB0aXRsZTpsb2NhbGl6ZShcIkNPTExBQk9SQVRJVkVfRE9DVU1FTlRcIiksXG4gICAgICAgICAgICBpY29uVVJMOlwiYXNzZXRzL2NvbGxhYm9yYXRpdmVkb2N1bWVudC5zdmdcIixcbiAgICAgICAgICAgIGljb25UaW50OnRoZW1lLnBhbGV0dGUuZ2V0QWNjZW50NzAwKCksXG4gICAgICAgICAgICB0aXRsZUNvbG9yOnRoZW1lLnBhbGV0dGUuZ2V0QWNjZW50NjAwKCksXG4gICAgICAgICAgICB0aXRsZUZvbnQ6Zm9udEhlbHBlcih0aGVtZS50eXBvZ3JhcGh5LnN1YnRpdGxlMSksXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOnRoZW1lLnBhbGV0dGUuZ2V0QWNjZW50MTAwKCksXG4gICAgICAgICAgICBvbkNsaWNrOigpPT57XG4gICAgICAgICAgICAgICAgQ29tZXRDaGF0LmNhbGxFeHRlbnNpb24oQ29sbGFib3JhdGl2ZURvY3VtZW50Q29uc3RhbnRzLmRvY3VtZW50LCBDb2xsYWJvcmF0aXZlRG9jdW1lbnRDb25zdGFudHMucG9zdCwgQ29sbGFib3JhdGl2ZURvY3VtZW50Q29uc3RhbnRzLnYxX2NyZWF0ZSwge1xuICAgICAgICAgICAgICAgICAgICByZWNlaXZlcjogcmVjZWl2ZXJJZCxcbiAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZXJUeXBlOiByZWNlaXZlclR5cGUsXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAudGhlbigocmVzOmFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycm9yOmFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgbWVzc2FnZUNvbXBvc2VyQWN0aW9ucy5wdXNoKG5ld0FjdGlvbilcbiAgICAgICAgcmV0dXJuIG1lc3NhZ2VDb21wb3NlckFjdGlvbnM7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldEF0dGFjaG1lbnRPcHRpb25zKHRoZW1lLCB1c2VyLGdyb3VwLCBpZCk7XG4gICAgfVxuICAgfVxuICAgb3ZlcnJpZGUgZ2V0TGFzdENvbnZlcnNhdGlvbk1lc3NhZ2UoY29udmVyc2F0aW9uOiBDb21ldENoYXQuQ29udmVyc2F0aW9uLCBsb2dnZWRJblVzZXI6IENvbWV0Q2hhdC5Vc2VyKTogc3RyaW5nIHtcbiAgICBjb25zdCBtZXNzYWdlOiBDb21ldENoYXQuQmFzZU1lc3NhZ2UgfCB1bmRlZmluZWQgPSBjb252ZXJzYXRpb24uZ2V0TGFzdE1lc3NhZ2UoKTtcbiAgICBpZiAobWVzc2FnZSAhPSBudWxsICYmIG1lc3NhZ2UuZ2V0VHlwZSgpID09IENvbGxhYm9yYXRpdmVEb2N1bWVudENvbnN0YW50cy5leHRlbnNpb25fZG9jdW1lbnQgJiYgbWVzc2FnZS5nZXRDYXRlZ29yeSgpID09IENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VDYXRlZ29yeS5jdXN0b20pIHtcbiAgICAgIHJldHVybiBsb2NhbGl6ZShcIkNVU1RPTV9NRVNTQUdFX0RPQ1VNRU5UXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gc3VwZXIuZ2V0TGFzdENvbnZlcnNhdGlvbk1lc3NhZ2UoY29udmVyc2F0aW9uLGxvZ2dlZEluVXNlcik7XG4gICAgfVxuICB9XG4gIH1cbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ChatConfigurator } from "../../Shared/Framework/ChatConfigurator";
|
|
2
|
+
import { CollaborativeWhiteBoardExtensionDecorator } from "./CollaborativeWhiteboardExtensionDecorator";
|
|
3
|
+
export class CollaborativeWhiteBoardExtension {
|
|
4
|
+
constructor({ configuration } = {}) {
|
|
5
|
+
this.configuration = configuration;
|
|
6
|
+
}
|
|
7
|
+
enable() {
|
|
8
|
+
ChatConfigurator.enable((dataSource) => new CollaborativeWhiteBoardExtensionDecorator(dataSource, this.configuration));
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sbGFib3JhdGl2ZVdoaXRlYm9hcmRFeHRlbnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0LXVpa2l0LWFuZ3VsYXIvc3JjL0V4dGVuc2lvbnMvQ29sbGFib3JhdGl2ZVdoaXRlYm9hcmQvQ29sbGFib3JhdGl2ZVdoaXRlYm9hcmRFeHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFM0UsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFeEcsTUFBTSxPQUFPLGdDQUFnQztJQUd6QyxZQUFZLEVBQUUsYUFBYSxLQUErRCxFQUFFO1FBQzFGLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNO1FBQ0osZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLHlDQUF5QyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUN6SCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyAgQ29sbGFib3JhdGl2ZVdoaXRlYm9hcmRDb25maWd1cmF0aW9uLCBDb2xsYWJvcmF0aXZlV2hpdGVib2FyZFN0eWxlIH0gZnJvbSBcIkBjb21ldGNoYXQvdWlraXQtc2hhcmVkXCI7XG5pbXBvcnQgeyBDaGF0Q29uZmlndXJhdG9yIH0gZnJvbSBcIi4uLy4uL1NoYXJlZC9GcmFtZXdvcmsvQ2hhdENvbmZpZ3VyYXRvclwiO1xuaW1wb3J0IHsgRXh0ZW5zaW9uc0RhdGFTb3VyY2UgfSBmcm9tIFwiLi4vLi4vU2hhcmVkL0ZyYW1ld29yay9FeHRlbnNpb25EYXRhU291cmNlXCI7XG5pbXBvcnQgeyBDb2xsYWJvcmF0aXZlV2hpdGVCb2FyZEV4dGVuc2lvbkRlY29yYXRvciB9IGZyb20gXCIuL0NvbGxhYm9yYXRpdmVXaGl0ZWJvYXJkRXh0ZW5zaW9uRGVjb3JhdG9yXCI7XG5cbmV4cG9ydCBjbGFzcyBDb2xsYWJvcmF0aXZlV2hpdGVCb2FyZEV4dGVuc2lvbiBpbXBsZW1lbnRzIEV4dGVuc2lvbnNEYXRhU291cmNlIHtcbiAgICBjb25maWd1cmF0aW9uPzogQ29sbGFib3JhdGl2ZVdoaXRlYm9hcmRDb25maWd1cmF0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoeyBjb25maWd1cmF0aW9uIH06IHsgY29uZmlndXJhdGlvbj86IENvbGxhYm9yYXRpdmVXaGl0ZWJvYXJkQ29uZmlndXJhdGlvbiB9ID0ge30pIHtcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgfVxuXG4gICAgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgQ2hhdENvbmZpZ3VyYXRvci5lbmFibGUoKGRhdGFTb3VyY2UpID0+IG5ldyBDb2xsYWJvcmF0aXZlV2hpdGVCb2FyZEV4dGVuc2lvbkRlY29yYXRvcihkYXRhU291cmNlLCB0aGlzLmNvbmZpZ3VyYXRpb24pKTtcbiAgICB9XG4gIH1cbiJdfQ==
|
package/esm2020/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtensionDecorator.mjs
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { CometChat } from "@cometchat-pro/chat";
|
|
2
|
+
import { CometChatTheme, CometChatMessageTemplate, CometChatMessageComposerAction, fontHelper, CometChatUIKitConstants, localize } from "@cometchat/uikit-resources";
|
|
3
|
+
import { CollaborativeWhiteboardConstants } from "@cometchat/uikit-shared";
|
|
4
|
+
import { ChatConfigurator } from "../../Shared/Framework/ChatConfigurator";
|
|
5
|
+
import { DataSourceDecorator } from "../../Shared/Framework/DataSourceDecorator";
|
|
6
|
+
export class CollaborativeWhiteBoardExtensionDecorator extends DataSourceDecorator {
|
|
7
|
+
constructor(dataSource, configuration) {
|
|
8
|
+
super(dataSource);
|
|
9
|
+
this.configuration = configuration;
|
|
10
|
+
}
|
|
11
|
+
getAllMessageTypes() {
|
|
12
|
+
const types = super.getAllMessageTypes();
|
|
13
|
+
if (!types.includes(CollaborativeWhiteboardConstants.extension_whiteboard)) {
|
|
14
|
+
types.push(CollaborativeWhiteboardConstants.extension_whiteboard);
|
|
15
|
+
}
|
|
16
|
+
return types;
|
|
17
|
+
}
|
|
18
|
+
getId() {
|
|
19
|
+
return "collaborativewhiteboard";
|
|
20
|
+
}
|
|
21
|
+
getAllMessageCategories() {
|
|
22
|
+
const categories = super.getAllMessageCategories();
|
|
23
|
+
if (!categories.includes(CometChatUIKitConstants.MessageCategory.custom)) {
|
|
24
|
+
categories.push(CometChatUIKitConstants.MessageCategory.custom);
|
|
25
|
+
}
|
|
26
|
+
return categories;
|
|
27
|
+
}
|
|
28
|
+
checkIfTemplateExist(template, type) {
|
|
29
|
+
return template.some(obj => obj.type === type);
|
|
30
|
+
}
|
|
31
|
+
getAllMessageTemplates() {
|
|
32
|
+
const templates = super.getAllMessageTemplates();
|
|
33
|
+
if (!this.checkIfTemplateExist(templates, CollaborativeWhiteboardConstants.extension_whiteboard)) {
|
|
34
|
+
templates.push(this.getWhiteBoardTemplate());
|
|
35
|
+
}
|
|
36
|
+
return templates;
|
|
37
|
+
}
|
|
38
|
+
getWhiteBoardTemplate() {
|
|
39
|
+
return new CometChatMessageTemplate({
|
|
40
|
+
type: CollaborativeWhiteboardConstants.extension_whiteboard,
|
|
41
|
+
category: CometChatUIKitConstants.MessageCategory.custom,
|
|
42
|
+
options: (loggedInUser, messageObject, theme, group) => {
|
|
43
|
+
return ChatConfigurator.getDataSource().getCommonOptions(loggedInUser, messageObject, theme, group);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
getAttachmentOptions(theme = new CometChatTheme({}), user, group, id) {
|
|
48
|
+
if (!id?.parentMessageId) {
|
|
49
|
+
let receiverType = user ? CometChatUIKitConstants.MessageReceiverType.user : CometChatUIKitConstants.MessageReceiverType.group;
|
|
50
|
+
let receiverId = user ? user.getUid() : group?.getGuid();
|
|
51
|
+
const messageComposerActions = super.getAttachmentOptions(theme, user, group, id);
|
|
52
|
+
let newAction = new CometChatMessageComposerAction({
|
|
53
|
+
id: CollaborativeWhiteboardConstants.whiteboard,
|
|
54
|
+
title: localize("COLLABORATIVE_WHITEBOARD"),
|
|
55
|
+
iconURL: "assets/collaborativewhiteboard.svg",
|
|
56
|
+
iconTint: theme.palette.getAccent700(),
|
|
57
|
+
titleColor: theme.palette.getAccent600(),
|
|
58
|
+
titleFont: fontHelper(theme.typography.subtitle1),
|
|
59
|
+
background: theme.palette.getAccent100(),
|
|
60
|
+
onClick: () => {
|
|
61
|
+
CometChat.callExtension(CollaborativeWhiteboardConstants.whiteboard, CollaborativeWhiteboardConstants.post, CollaborativeWhiteboardConstants.v1_create, {
|
|
62
|
+
receiver: receiverId,
|
|
63
|
+
receiverType: receiverType,
|
|
64
|
+
})
|
|
65
|
+
.then((res) => {
|
|
66
|
+
})
|
|
67
|
+
.catch((error) => {
|
|
68
|
+
console.log(error);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
messageComposerActions.push(newAction);
|
|
73
|
+
return messageComposerActions;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
return super.getAttachmentOptions(theme, user, group, id);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
getLastConversationMessage(conversation, loggedInUser) {
|
|
80
|
+
const message = conversation.getLastMessage();
|
|
81
|
+
if (message != null && message.getType() == CollaborativeWhiteboardConstants.extension_whiteboard && message.getCategory() == CometChatUIKitConstants.MessageCategory.custom) {
|
|
82
|
+
return localize("CUSTOM_MESSAGE_WHITEBOARD");
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
return super.getLastConversationMessage(conversation, loggedInUser);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sbGFib3JhdGl2ZVdoaXRlYm9hcmRFeHRlbnNpb25EZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0LXVpa2l0LWFuZ3VsYXIvc3JjL0V4dGVuc2lvbnMvQ29sbGFib3JhdGl2ZVdoaXRlYm9hcmQvQ29sbGFib3JhdGl2ZVdoaXRlYm9hcmRFeHRlbnNpb25EZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQUUsOEJBQThCLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JLLE9BQU8sRUFBd0MsZ0NBQWdDLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVqRixNQUFNLE9BQU8seUNBQTBDLFNBQVEsbUJBQW1CO0lBRTlFLFlBQVksVUFBc0IsRUFBRSxhQUFvRDtRQUNwRixLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFjLENBQUM7SUFDeEMsQ0FBQztJQUVRLGtCQUFrQjtRQUN2QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQ0FBZ0MsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO1lBQ3hFLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUNyRTtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDUSxLQUFLO1FBQ1YsT0FB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Q0FBZ0MsQ0FBQyxTQUFTLEVBQUU7d0JBQ3BKLFFBQVEsRUFBRSxVQUFVO3dCQUNwQixZQUFZLEVBQUUsWUFBWTtxQkFDM0IsQ0FBQzt5QkFDQyxJQUFJLENBQUMsQ0FBQyxHQUFPLEVBQUUsRUFBRTtvQkFFbEIsQ0FBQyxDQUFDO3lCQUNELEtBQUssQ0FBQyxDQUFDLEtBQVMsRUFBRSxFQUFFO3dCQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUNwQixDQUFDLENBQUMsQ0FBQztnQkFDWCxDQUFDO2FBRUosQ0FBQyxDQUFBO1lBQ0Ysc0JBQXNCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3RDLE9BQU8sc0JBQXNCLENBQUM7U0FDakM7YUFBTTtZQUNILE9BQU8sS0FBSyxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzVEO0lBQ0YsQ0FBQztJQUNRLDBCQUEwQixDQUFDLFlBQW9DLEVBQUUsWUFBNEI7UUFDckcsTUFBTSxPQUFPLEdBQXNDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNqRixJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLGdDQUFnQyxDQUFDLG9CQUFvQixJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFO1lBQzVLLE9BQU8sUUFBUSxDQUFDLDJCQUEyQixDQUFDLENBQUM7U0FDOUM7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDLDBCQUEwQixDQUFDLFlBQVksRUFBQyxZQUFZLENBQUMsQ0FBQztTQUNwRTtJQUNILENBQUM7Q0FHQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbWV0Q2hhdCB9IGZyb20gXCJAY29tZXRjaGF0LXByby9jaGF0XCI7XG5pbXBvcnQgeyBDb21ldENoYXRUaGVtZSwgQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlLCBDb21ldENoYXRNZXNzYWdlQ29tcG9zZXJBY3Rpb24sIGZvbnRIZWxwZXIsIENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLCBsb2NhbGl6ZSB9IGZyb20gXCJAY29tZXRjaGF0L3Vpa2l0LXJlc291cmNlc1wiO1xuaW1wb3J0IHsgQ29sbGFib3JhdGl2ZVdoaXRlYm9hcmRDb25maWd1cmF0aW9uLCBDb2xsYWJvcmF0aXZlV2hpdGVib2FyZENvbnN0YW50cyB9IGZyb20gXCJAY29tZXRjaGF0L3Vpa2l0LXNoYXJlZFwiO1xuaW1wb3J0IHsgQ2hhdENvbmZpZ3VyYXRvciB9IGZyb20gXCIuLi8uLi9TaGFyZWQvRnJhbWV3b3JrL0NoYXRDb25maWd1cmF0b3JcIjtcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tIFwiLi4vLi4vU2hhcmVkL0ZyYW1ld29yay9EYXRhU291cmNlXCI7XG5pbXBvcnQgeyBEYXRhU291cmNlRGVjb3JhdG9yIH0gZnJvbSBcIi4uLy4uL1NoYXJlZC9GcmFtZXdvcmsvRGF0YVNvdXJjZURlY29yYXRvclwiO1xuXG5leHBvcnQgY2xhc3MgQ29sbGFib3JhdGl2ZVdoaXRlQm9hcmRFeHRlbnNpb25EZWNvcmF0b3IgZXh0ZW5kcyBEYXRhU291cmNlRGVjb3JhdG9yIHtcbiAgIHByaXZhdGUgY29uZmlndXJhdGlvbiE6Q29sbGFib3JhdGl2ZVdoaXRlYm9hcmRDb25maWd1cmF0aW9uO1xuICAgIGNvbnN0cnVjdG9yKGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsIGNvbmZpZ3VyYXRpb24/OiBDb2xsYWJvcmF0aXZlV2hpdGVib2FyZENvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgc3VwZXIoZGF0YVNvdXJjZSk7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24hO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGdldEFsbE1lc3NhZ2VUeXBlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IHR5cGVzID0gc3VwZXIuZ2V0QWxsTWVzc2FnZVR5cGVzKCk7XG4gICAgICAgIGlmICghdHlwZXMuaW5jbHVkZXMoQ29sbGFib3JhdGl2ZVdoaXRlYm9hcmRDb25zdGFudHMuZXh0ZW5zaW9uX3doaXRlYm9hcmQpKSB7XG4gICAgICAgICAgICB0eXBlcy5wdXNoKENvbGxhYm9yYXRpdmVXaGl0ZWJvYXJkQ29uc3RhbnRzLmV4dGVuc2lvbl93aGl0ZWJvYXJkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHlwZXM7XG4gICAgfVxuICAgIG92ZXJyaWRlIGdldElkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBcImNvbGxhYm9yYXRpdmV3aGl0ZWJvYXJkXCI7XG4gICAgICB9XG5cbiAgICBvdmVycmlkZSBnZXRBbGxNZXNzYWdlQ2F0ZWdvcmllcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBzdXBlci5nZXRBbGxNZXNzYWdlQ2F0ZWdvcmllcygpO1xuICAgICAgICBpZiAoIWNhdGVnb3JpZXMuaW5jbHVkZXMoQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZUNhdGVnb3J5LmN1c3RvbSkpIHtcbiAgICAgICAgICAgIGNhdGVnb3JpZXMucHVzaChDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlQ2F0ZWdvcnkuY3VzdG9tKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2F0ZWdvcmllcztcbiAgICB9XG4gICAgY2hlY2tJZlRlbXBsYXRlRXhpc3QodGVtcGxhdGU6Q29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlW10sIHR5cGU6c3RyaW5nKTpib29sZWFue1xuICAgICAgICByZXR1cm4gdGVtcGxhdGUuc29tZShvYmogPT4gb2JqLnR5cGUgPT09IHR5cGUpXG4gICAgICB9XG4gICAgb3ZlcnJpZGUgZ2V0QWxsTWVzc2FnZVRlbXBsYXRlcygpOiBDb21ldENoYXRNZXNzYWdlVGVtcGxhdGVbXSB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlcyA9IHN1cGVyLmdldEFsbE1lc3NhZ2VUZW1wbGF0ZXMoKTtcbiAgICAgICAgaWYoIXRoaXMuY2hlY2tJZlRlbXBsYXRlRXhpc3QodGVtcGxhdGVzLENvbGxhYm9yYXRpdmVXaGl0ZWJvYXJkQ29uc3RhbnRzLmV4dGVuc2lvbl93aGl0ZWJvYXJkKSl7XG4gICAgICAgICAgdGVtcGxhdGVzLnB1c2godGhpcy5nZXRXaGl0ZUJvYXJkVGVtcGxhdGUoKSlcbiAgICAgICAgICAgfVxuICAgICAgICAgICAgIHJldHVybiB0ZW1wbGF0ZXNcbiAgICB9XG4gICAgZ2V0V2hpdGVCb2FyZFRlbXBsYXRlKCk6Q29tZXRDaGF0TWVzc2FnZVRlbXBsYXRle1xuICAgIHJldHVybiBuZXcgQ29tZXRDaGF0TWVzc2FnZVRlbXBsYXRlKHtcbiAgICAgIHR5cGU6Q29sbGFib3JhdGl2ZVdoaXRlYm9hcmRDb25zdGFudHMuZXh0ZW5zaW9uX3doaXRlYm9hcmQsXG4gICAgICBjYXRlZ29yeTpDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlQ2F0ZWdvcnkuY3VzdG9tLFxuICAgICAgb3B0aW9uczogKGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIsIG1lc3NhZ2VPYmplY3Q6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSwgdGhlbWU6IENvbWV0Q2hhdFRoZW1lLCBncm91cD86IENvbWV0Q2hhdC5Hcm91cCk9PntcbiAgICAgICAgcmV0dXJuIENoYXRDb25maWd1cmF0b3IuZ2V0RGF0YVNvdXJjZSgpLmdldENvbW1vbk9wdGlvbnMobG9nZ2VkSW5Vc2VyLCBtZXNzYWdlT2JqZWN0LCB0aGVtZSwgZ3JvdXApXG4gICAgICAgfVxuXG4gICAgfSlcbiAgICB9XG4gICBvdmVycmlkZSBnZXRBdHRhY2htZW50T3B0aW9ucyh0aGVtZTogQ29tZXRDaGF0VGhlbWUgPSBuZXcgQ29tZXRDaGF0VGhlbWUoe30pLHVzZXI/OkNvbWV0Q2hhdC5Vc2VyLGdyb3VwPzpDb21ldENoYXQuR3JvdXAsIGlkPzogYW55KSB7XG4gICAgaWYgKCFpZD8ucGFyZW50TWVzc2FnZUlkKSB7XG4gICAgICAgIGxldCByZWNlaXZlclR5cGU6c3RyaW5nID0gdXNlciAgPyBDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlUmVjZWl2ZXJUeXBlLnVzZXIgOiBDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlUmVjZWl2ZXJUeXBlLmdyb3VwXG4gICAgICAgICBsZXQgcmVjZWl2ZXJJZDpzdHJpbmcgfCB1bmRlZmluZWQgPSAgdXNlciAgPyB1c2VyLmdldFVpZCgpIDogZ3JvdXA/LmdldEd1aWQoKVxuICAgICAgICBjb25zdCBtZXNzYWdlQ29tcG9zZXJBY3Rpb25zOkNvbWV0Q2hhdE1lc3NhZ2VDb21wb3NlckFjdGlvbltdID0gc3VwZXIuZ2V0QXR0YWNobWVudE9wdGlvbnModGhlbWUsdXNlcixncm91cCxpZCk7XG4gICAgICAgIGxldCBuZXdBY3Rpb246Q29tZXRDaGF0TWVzc2FnZUNvbXBvc2VyQWN0aW9uID0gbmV3IENvbWV0Q2hhdE1lc3NhZ2VDb21wb3NlckFjdGlvbih7XG4gICAgICAgICAgICBpZDpDb2xsYWJvcmF0aXZlV2hpdGVib2FyZENvbnN0YW50cy53aGl0ZWJvYXJkLFxuICAgICAgICAgICAgdGl0bGU6bG9jYWxpemUoXCJDT0xMQUJPUkFUSVZFX1dISVRFQk9BUkRcIiksXG4gICAgICAgICAgICBpY29uVVJMOlwiYXNzZXRzL2NvbGxhYm9yYXRpdmV3aGl0ZWJvYXJkLnN2Z1wiLFxuICAgICAgICAgICAgaWNvblRpbnQ6dGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQ3MDAoKSxcbiAgICAgICAgICAgIHRpdGxlQ29sb3I6dGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQ2MDAoKSxcbiAgICAgICAgICAgIHRpdGxlRm9udDpmb250SGVscGVyKHRoZW1lLnR5cG9ncmFwaHkuc3VidGl0bGUxKSxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6dGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQxMDAoKSxcbiAgICAgICAgICAgIG9uQ2xpY2s6KCk9PntcbiAgICAgICAgICAgICAgICBDb21ldENoYXQuY2FsbEV4dGVuc2lvbihDb2xsYWJvcmF0aXZlV2hpdGVib2FyZENvbnN0YW50cy53aGl0ZWJvYXJkLCBDb2xsYWJvcmF0aXZlV2hpdGVib2FyZENvbnN0YW50cy5wb3N0LCBDb2xsYWJvcmF0aXZlV2hpdGVib2FyZENvbnN0YW50cy52MV9jcmVhdGUsIHtcbiAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZXI6IHJlY2VpdmVySWQsXG4gICAgICAgICAgICAgICAgICAgIHJlY2VpdmVyVHlwZTogcmVjZWl2ZXJUeXBlLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHJlczphbnkpID0+IHtcblxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycm9yOmFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9KVxuICAgICAgICBtZXNzYWdlQ29tcG9zZXJBY3Rpb25zLnB1c2gobmV3QWN0aW9uKVxuICAgICAgICByZXR1cm4gbWVzc2FnZUNvbXBvc2VyQWN0aW9ucztcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0QXR0YWNobWVudE9wdGlvbnModGhlbWUsIHVzZXIsZ3JvdXAsIGlkKTtcbiAgICB9XG4gICB9XG4gICBvdmVycmlkZSBnZXRMYXN0Q29udmVyc2F0aW9uTWVzc2FnZShjb252ZXJzYXRpb246IENvbWV0Q2hhdC5Db252ZXJzYXRpb24sIGxvZ2dlZEluVXNlcjogQ29tZXRDaGF0LlVzZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1lc3NhZ2U6IENvbWV0Q2hhdC5CYXNlTWVzc2FnZSB8IHVuZGVmaW5lZCA9IGNvbnZlcnNhdGlvbi5nZXRMYXN0TWVzc2FnZSgpO1xuICAgIGlmIChtZXNzYWdlICE9IG51bGwgJiYgbWVzc2FnZS5nZXRUeXBlKCkgPT0gQ29sbGFib3JhdGl2ZVdoaXRlYm9hcmRDb25zdGFudHMuZXh0ZW5zaW9uX3doaXRlYm9hcmQgJiYgbWVzc2FnZS5nZXRDYXRlZ29yeSgpID09IENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VDYXRlZ29yeS5jdXN0b20pIHtcbiAgICAgIHJldHVybiBsb2NhbGl6ZShcIkNVU1RPTV9NRVNTQUdFX1dISVRFQk9BUkRcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzdXBlci5nZXRMYXN0Q29udmVyc2F0aW9uTWVzc2FnZShjb252ZXJzYXRpb24sbG9nZ2VkSW5Vc2VyKTtcbiAgICB9XG4gIH1cblxuXG4gIH1cblxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ChatConfigurator } from "../../Shared/Framework/ChatConfigurator";
|
|
2
|
+
import { ImageModerationExtensionDecorator } from "./ImageModerationExtensionDecorator";
|
|
3
|
+
export class ImageModerationExtension {
|
|
4
|
+
constructor() {
|
|
5
|
+
}
|
|
6
|
+
enable() {
|
|
7
|
+
ChatConfigurator.enable((dataSource) => new ImageModerationExtensionDecorator(dataSource));
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW1hZ2VNb2RlcmF0aW9uRXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC11aWtpdC1hbmd1bGFyL3NyYy9FeHRlbnNpb25zL0ltYWdlTW9kZXJhdGlvbi9JbWFnZU1vZGVyYXRpb25FeHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFM0UsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEYsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQztJQUVBLENBQUM7SUFDRCxNQUFNO1FBQ0osZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDckMsSUFBSSxpQ0FBaUMsQ0FBQyxVQUFVLENBQUMsQ0FDbEQsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VTdHlsZSB9IGZyb20gXCJAY29tZXRjaGF0L3Vpa2l0LXNoYXJlZFwiO1xuaW1wb3J0IHsgQ2hhdENvbmZpZ3VyYXRvciB9IGZyb20gXCIuLi8uLi9TaGFyZWQvRnJhbWV3b3JrL0NoYXRDb25maWd1cmF0b3JcIjtcbmltcG9ydCB7IEV4dGVuc2lvbnNEYXRhU291cmNlIH0gZnJvbSBcIi4uLy4uL1NoYXJlZC9GcmFtZXdvcmsvRXh0ZW5zaW9uRGF0YVNvdXJjZVwiO1xuaW1wb3J0IHsgSW1hZ2VNb2RlcmF0aW9uRXh0ZW5zaW9uRGVjb3JhdG9yIH0gZnJvbSBcIi4vSW1hZ2VNb2RlcmF0aW9uRXh0ZW5zaW9uRGVjb3JhdG9yXCI7XG5leHBvcnQgY2xhc3MgSW1hZ2VNb2RlcmF0aW9uRXh0ZW5zaW9uIGltcGxlbWVudHMgRXh0ZW5zaW9uc0RhdGFTb3VyY2Uge1xuICBjb25zdHJ1Y3RvcigpIHtcblxuICB9XG4gIGVuYWJsZSgpOiB2b2lkIHtcbiAgICBDaGF0Q29uZmlndXJhdG9yLmVuYWJsZSgoZGF0YVNvdXJjZSkgPT5cbiAgICAgIG5ldyBJbWFnZU1vZGVyYXRpb25FeHRlbnNpb25EZWNvcmF0b3IoZGF0YVNvdXJjZSlcbiAgICApO1xuICB9XG59XG5cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DataSourceDecorator } from "../../Shared/Framework/DataSourceDecorator";
|
|
2
|
+
export class ImageModerationExtensionDecorator extends DataSourceDecorator {
|
|
3
|
+
constructor(dataSource) {
|
|
4
|
+
super(dataSource);
|
|
5
|
+
}
|
|
6
|
+
getId() {
|
|
7
|
+
return "imagemoderation";
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW1hZ2VNb2RlcmF0aW9uRXh0ZW5zaW9uRGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC11aWtpdC1hbmd1bGFyL3NyYy9FeHRlbnNpb25zL0ltYWdlTW9kZXJhdGlvbi9JbWFnZU1vZGVyYXRpb25FeHRlbnNpb25EZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDakYsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLG1CQUFtQjtJQUN4RSxZQUFZLFVBQXFCO1FBQy9CLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNuQixDQUFDO0lBRVEsS0FBSztRQUNaLE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gXCIuLi8uLi9TaGFyZWQvRnJhbWV3b3JrL0RhdGFTb3VyY2VcIjtcbmltcG9ydCB7IERhdGFTb3VyY2VEZWNvcmF0b3IgfSBmcm9tIFwiLi4vLi4vU2hhcmVkL0ZyYW1ld29yay9EYXRhU291cmNlRGVjb3JhdG9yXCI7XG5leHBvcnQgY2xhc3MgSW1hZ2VNb2RlcmF0aW9uRXh0ZW5zaW9uRGVjb3JhdG9yIGV4dGVuZHMgRGF0YVNvdXJjZURlY29yYXRvciB7XG4gIGNvbnN0cnVjdG9yKGRhdGFTb3VyY2U6RGF0YVNvdXJjZSl7XG4gICAgc3VwZXIoZGF0YVNvdXJjZSlcbiAgfVxuXG4gIG92ZXJyaWRlIGdldElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwiaW1hZ2Vtb2RlcmF0aW9uXCI7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ChatConfigurator } from "../../Shared/Framework/ChatConfigurator";
|
|
2
|
+
import { LinkPreviewExtensionDecorator } from "./LinkPreviewExtensionDecorator";
|
|
3
|
+
export class LinkPreviewExtension {
|
|
4
|
+
constructor() {
|
|
5
|
+
}
|
|
6
|
+
enable() {
|
|
7
|
+
ChatConfigurator.enable((dataSource) => new LinkPreviewExtensionDecorator(dataSource));
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGlua1ByZXZpZXdFeHRlbnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0LXVpa2l0LWFuZ3VsYXIvc3JjL0V4dGVuc2lvbnMvTGlua1ByZXZpZXdFeHRlbnNpb24vTGlua1ByZXZpZXdFeHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFM0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEYsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQjtJQUVBLENBQUM7SUFDRCxNQUFNO1FBQ0osZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDckMsSUFBSSw2QkFBNkIsQ0FBQyxVQUFVLENBQUMsQ0FDOUMsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXRDb25maWd1cmF0b3IgfSBmcm9tIFwiLi4vLi4vU2hhcmVkL0ZyYW1ld29yay9DaGF0Q29uZmlndXJhdG9yXCI7XG5pbXBvcnQgeyBFeHRlbnNpb25zRGF0YVNvdXJjZSB9IGZyb20gXCIuLi8uLi9TaGFyZWQvRnJhbWV3b3JrL0V4dGVuc2lvbkRhdGFTb3VyY2VcIjtcbmltcG9ydCB7IExpbmtQcmV2aWV3RXh0ZW5zaW9uRGVjb3JhdG9yIH0gZnJvbSBcIi4vTGlua1ByZXZpZXdFeHRlbnNpb25EZWNvcmF0b3JcIjtcbmV4cG9ydCBjbGFzcyBMaW5rUHJldmlld0V4dGVuc2lvbiBpbXBsZW1lbnRzIEV4dGVuc2lvbnNEYXRhU291cmNlIHtcbiAgY29uc3RydWN0b3IoKSB7XG5cbiAgfVxuICBlbmFibGUoKTogdm9pZCB7XG4gICAgQ2hhdENvbmZpZ3VyYXRvci5lbmFibGUoKGRhdGFTb3VyY2UpID0+XG4gICAgICBuZXcgTGlua1ByZXZpZXdFeHRlbnNpb25EZWNvcmF0b3IoZGF0YVNvdXJjZSlcbiAgICApO1xuICB9XG59XG5cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DataSourceDecorator } from "../../Shared/Framework/DataSourceDecorator";
|
|
2
|
+
export class LinkPreviewExtensionDecorator extends DataSourceDecorator {
|
|
3
|
+
constructor(dataSource) {
|
|
4
|
+
super(dataSource);
|
|
5
|
+
}
|
|
6
|
+
getId() {
|
|
7
|
+
return "linkpreview";
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGlua1ByZXZpZXdFeHRlbnNpb25EZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0LXVpa2l0LWFuZ3VsYXIvc3JjL0V4dGVuc2lvbnMvTGlua1ByZXZpZXdFeHRlbnNpb24vTGlua1ByZXZpZXdFeHRlbnNpb25EZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDakYsTUFBTSxPQUFPLDZCQUE4QixTQUFRLG1CQUFtQjtJQUNwRSxZQUFZLFVBQXFCO1FBQy9CLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNuQixDQUFDO0lBRVEsS0FBSztRQUNaLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tIFwiLi4vLi4vU2hhcmVkL0ZyYW1ld29yay9EYXRhU291cmNlXCI7XG5pbXBvcnQgeyBEYXRhU291cmNlRGVjb3JhdG9yIH0gZnJvbSBcIi4uLy4uL1NoYXJlZC9GcmFtZXdvcmsvRGF0YVNvdXJjZURlY29yYXRvclwiO1xuZXhwb3J0IGNsYXNzIExpbmtQcmV2aWV3RXh0ZW5zaW9uRGVjb3JhdG9yIGV4dGVuZHMgRGF0YVNvdXJjZURlY29yYXRvciB7XG4gIGNvbnN0cnVjdG9yKGRhdGFTb3VyY2U6RGF0YVNvdXJjZSl7XG4gICAgc3VwZXIoZGF0YVNvdXJjZSlcbiAgfVxuXG4gIG92ZXJyaWRlIGdldElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwibGlua3ByZXZpZXdcIjtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ChatConfigurator } from "../../Shared/Framework/ChatConfigurator";
|
|
2
|
+
import { MessageTranslationExtensionDecorator } from "./MessageTranslationExtensionDecorator";
|
|
3
|
+
export class MessageTranslationExtension {
|
|
4
|
+
constructor({ configuration } = {}) {
|
|
5
|
+
this.configuration = configuration;
|
|
6
|
+
}
|
|
7
|
+
enable() {
|
|
8
|
+
ChatConfigurator.enable((dataSource) => new MessageTranslationExtensionDecorator(dataSource, this.configuration));
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzc2FnZVRyYW5zbGF0aW9uRXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC11aWtpdC1hbmd1bGFyL3NyYy9FeHRlbnNpb25zL01lc3NhZ2VUcmFuc2xhdGlvbi9NZXNzYWdlVHJhbnNsYXRpb25FeHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFM0UsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFOUYsTUFBTSxPQUFPLDJCQUEyQjtJQUV0QyxZQUFZLEVBQUUsYUFBYSxLQUEwRCxFQUFFO1FBQ3JGLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxNQUFNO1FBQ0osZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDckMsSUFBSSxvQ0FBb0MsQ0FBQyxVQUFVLEVBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUN4RSxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVN0eWxlIH0gZnJvbSBcIkBjb21ldGNoYXQvdWlraXQtc2hhcmVkXCI7XG5pbXBvcnQgeyBDaGF0Q29uZmlndXJhdG9yIH0gZnJvbSBcIi4uLy4uL1NoYXJlZC9GcmFtZXdvcmsvQ2hhdENvbmZpZ3VyYXRvclwiO1xuaW1wb3J0IHsgRXh0ZW5zaW9uc0RhdGFTb3VyY2UgfSBmcm9tIFwiLi4vLi4vU2hhcmVkL0ZyYW1ld29yay9FeHRlbnNpb25EYXRhU291cmNlXCI7XG5pbXBvcnQgeyBNZXNzYWdlVHJhbnNsYXRpb25FeHRlbnNpb25EZWNvcmF0b3IgfSBmcm9tIFwiLi9NZXNzYWdlVHJhbnNsYXRpb25FeHRlbnNpb25EZWNvcmF0b3JcIjtcbmltcG9ydCB7TWVzc2FnZVRyYW5zbGF0aW9uQ29uZmlndXJhdGlvbn0gZnJvbSAnQGNvbWV0Y2hhdC91aWtpdC1zaGFyZWQnXG5leHBvcnQgY2xhc3MgTWVzc2FnZVRyYW5zbGF0aW9uRXh0ZW5zaW9uIGltcGxlbWVudHMgRXh0ZW5zaW9uc0RhdGFTb3VyY2Uge1xuICBwcml2YXRlIGNvbmZpZ3VyYXRpb24/OiBNZXNzYWdlVHJhbnNsYXRpb25Db25maWd1cmF0aW9uO1xuICBjb25zdHJ1Y3Rvcih7IGNvbmZpZ3VyYXRpb24gfTogeyBjb25maWd1cmF0aW9uPzogTWVzc2FnZVRyYW5zbGF0aW9uQ29uZmlndXJhdGlvbiB9ID0ge30pIHtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICB9XG4gIGVuYWJsZSgpOiB2b2lkIHtcbiAgICBDaGF0Q29uZmlndXJhdG9yLmVuYWJsZSgoZGF0YVNvdXJjZSkgPT5cbiAgICAgIG5ldyBNZXNzYWdlVHJhbnNsYXRpb25FeHRlbnNpb25EZWNvcmF0b3IoZGF0YVNvdXJjZSx0aGlzLmNvbmZpZ3VyYXRpb24pXG4gICAgKTtcbiAgfVxufVxuXG4iXX0=
|