@cometchat/chat-uikit-angular 4.3.13 → 4.3.15
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/CometChatCallLogDetails/cometchat-call-log-details/cometchat-call-log-details.component.d.ts +21 -4
- package/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.d.ts +5 -1
- package/CometChatConversations/cometchat-conversations/cometchat-conversations.component.d.ts +4 -1
- package/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.d.ts +4 -0
- package/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.d.ts +3 -1
- package/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.d.ts +6 -0
- package/CometChatMessageInformation/cometchat-message-information/cometchat-message-information.component.d.ts +3 -0
- package/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.d.ts +4 -1
- package/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.d.ts +6 -2
- package/CometChatUsers/cometchat-users/cometchat-users.component.d.ts +4 -0
- package/Shared/Utils/MessageUtils.d.ts +6 -0
- package/esm2020/Calls/CometChatCallLogDetails/cometchat-call-log-details/cometchat-call-log-details.component.mjs +31 -9
- package/esm2020/Calls/CometChatCallLogsWithDetails/cometchat-call-logs-with-details/cometchat-call-logs-with-details.component.mjs +3 -3
- package/esm2020/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.mjs +9 -3
- package/esm2020/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.mjs +16 -21
- package/esm2020/CometChatConversations/cometchat-conversations/cometchat-conversations.component.mjs +77 -54
- package/esm2020/CometChatDetails/cometchat-details/cometchat-details.component.mjs +23 -5
- package/esm2020/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.mjs +24 -13
- package/esm2020/CometChatGroups/cometchat-groups/cometchat-groups.component.mjs +3 -3
- package/esm2020/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.mjs +28 -12
- package/esm2020/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.mjs +54 -19
- package/esm2020/CometChatMessageInformation/cometchat-message-information/cometchat-message-information.component.mjs +19 -3
- package/esm2020/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.mjs +30 -21
- package/esm2020/CometChatMessages/cometchat-messages/cometchat-messages.component.mjs +6 -3
- package/esm2020/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.mjs +29 -11
- package/esm2020/CometChatUsers/cometchat-users/cometchat-users.component.mjs +19 -12
- package/esm2020/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.mjs +3 -3
- package/esm2020/Shared/CometChatUIkit/CometChatUIKit.mjs +2 -2
- package/esm2020/Shared/Utils/MessageUtils.mjs +15 -1
- package/fesm2015/cometchat-chat-uikit-angular.mjs +394 -200
- package/fesm2015/cometchat-chat-uikit-angular.mjs.map +1 -1
- package/fesm2020/cometchat-chat-uikit-angular.mjs +364 -176
- package/fesm2020/cometchat-chat-uikit-angular.mjs.map +1 -1
- package/package.json +5 -5
|
@@ -2,7 +2,7 @@ import { ConversationUtils, CometChatMentionsFormatter, CometChatUIKitLoginListe
|
|
|
2
2
|
export * from '@cometchat/uikit-shared';
|
|
3
3
|
import { CometChatMessageOption, CometChatUIKitConstants, localize, fontHelper, CometChatMessageTemplate, CometChatMessageComposerAction, MentionsTargetElement, MessageBubbleAlignment, CometChatTheme, CometChatMessageEvents, MessageStatus, CometChatUIEvents, ChatSdkEventInitializer, CometChatLocalize, CallWorkflow, CometChatCallEvents, IconButtonAlignment, TitleAlignment, States, DatePatterns, SelectionMode, UserPresencePlacement, CometChatUserEvents, CometChatGroupEvents, CometChatConversationEvents, MessageListAlignment, Receipts, TimestampAlignment, DocumentIconAlignment, Placement, UserMemberListType, AuxiliaryButtonAlignment, PreviewMessageMode, TabAlignment, TabsVisibility, CometChatCallDetailsTemplate, CometChatCallDetailsOption } from '@cometchat/uikit-resources';
|
|
4
4
|
export * from '@cometchat/uikit-resources';
|
|
5
|
-
import { CallscreenStyle, AvatarStyle, ListItemStyle, DateStyle, ReceiptStyle, BadgeStyle,
|
|
5
|
+
import { CallscreenStyle, AvatarStyle, ListItemStyle, ConfirmDialogStyle, DateStyle, ReceiptStyle, BadgeStyle, MenuListStyle, QuickViewStyle, InputStyle, LabelStyle, RadioButtonStyle, CheckboxStyle, DropdownStyle, SingleSelectStyle, ChangeScopeStyle, MediaRecorderStyle, CreateGroupStyle, JoinGroupStyle } from '@cometchat/uikit-elements';
|
|
6
6
|
export { ActionSheetStyle, AvatarStyle, BackdropStyle, BadgeStyle, ButtonGroupStyle, CallscreenStyle, CardStyle, ChangeScopeStyle, CheckboxStyle, CometChatActionItem, CometChatActionSheet, CometChatAudioBubble, CometChatAvatar, CometChatBackdrop, CometChatBadge, CometChatButton, CometChatButtonGroup, CometChatCallscreenWrapper, CometChatCard, CometChatChangeScope, CometChatCheckbox, CometChatConfirmDialog, CometChatContextMenu, CometChatCreateGroup, CometChatDate, CometChatDivider, CometChatDocumentBubble, CometChatDraggable, CometChatDropdown, CometChatEmoji, CometChatEmojiKeyboard, CometChatFileBubble, CometChatFullScreenViewer, CometChatIcon, CometChatIconButton, CometChatImageBubble, CometChatInput, CometChatJoinGroup, CometChatLabel, CometChatListItem, CometChatLiveReaction, CometChatLoader, CometChatMediaRecorder, CometChatMenuList, CometChatMessageInput, CometChatModal, CometChatPanel, CometChatPopover, CometChatPreview, CometChatQuickView, CometChatRadioButton, CometChatReceipt, CometChatSearchInput, CometChatSingleSelect, CometChatStatusIndicator, CometChatTextBubble, CometChatTextInput, CometChatVideoBubble, ConfirmDialogStyle, ContextMenuStyle, CreateGroupStyle, DateStyle, DocumentBubbleStyle, DropdownStyle, EmojiKeyboardStyle, Emojis, FileBubbleStyle, FullScreenViewerStyle, IconStyle, ImageBubbleStyle, InputStyle, JoinGroupStyle, LabelStyle, ListItemStyle, LoaderStyle, MediaRecorderStyle, MenuListStyle, MessageInputStyle, ModalStyle, PanelStyle, PopoverStyle, PreviewStyle, QuickViewStyle, RadioButtonStyle, ReceiptStyle, SearchInputStyle, SingleSelectStyle, TextBubbleStyle, TextInputStyle, auxiliaryButtonAlignmentEnum, layoutType } from '@cometchat/uikit-elements';
|
|
7
7
|
import { __awaiter } from 'tslib';
|
|
8
8
|
import { CometChat } from '@cometchat/chat-sdk-javascript';
|
|
@@ -292,6 +292,20 @@ class MessageUtils {
|
|
|
292
292
|
options: ChatConfigurator.getDataSource().getMessageOptions,
|
|
293
293
|
});
|
|
294
294
|
}
|
|
295
|
+
/**
|
|
296
|
+
* Function to check if a user's status should be visible
|
|
297
|
+
* @param {CometChat.User | CometChat.GroupMember} user - The user whose status visibility is to be checked.
|
|
298
|
+
* @return {boolean} - Returns `true` if the user's status should be hidden (blocked or offline), `false` otherwise.
|
|
299
|
+
*/
|
|
300
|
+
getUserStatusVisibility(user) {
|
|
301
|
+
let userBlockedFlag = false;
|
|
302
|
+
if (user) {
|
|
303
|
+
if (user.getBlockedByMe() || user.getHasBlockedMe() || user.getStatus() === CometChatUIKitConstants.userStatusType.offline) {
|
|
304
|
+
userBlockedFlag = true;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
return userBlockedFlag;
|
|
308
|
+
}
|
|
295
309
|
getAllMessageTemplates() {
|
|
296
310
|
return [
|
|
297
311
|
ChatConfigurator.getDataSource().getTextMessageTemplate(),
|
|
@@ -1926,7 +1940,7 @@ class CometChatUIKit {
|
|
|
1926
1940
|
if (window) {
|
|
1927
1941
|
window.CometChatUiKit = {
|
|
1928
1942
|
name: "@cometchat/chat-uikit-angular",
|
|
1929
|
-
version: "4.3.
|
|
1943
|
+
version: "4.3.15",
|
|
1930
1944
|
};
|
|
1931
1945
|
}
|
|
1932
1946
|
if (CometChatUIKitSharedSettings) {
|
|
@@ -4015,14 +4029,20 @@ class CometChatUsersComponent {
|
|
|
4015
4029
|
* @param {CometChat.User} user
|
|
4016
4030
|
*/
|
|
4017
4031
|
this.getStatusIndicatorColor = (user) => {
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4032
|
+
var _a, _b, _c;
|
|
4033
|
+
let userStatusVisibility = new MessageUtils().getUserStatusVisibility(user) || this.disableUsersPresence;
|
|
4034
|
+
if (!userStatusVisibility) {
|
|
4035
|
+
return ((_b = (_a = this.usersStyle) === null || _a === void 0 ? void 0 : _a.onlineStatusColor) !== null && _b !== void 0 ? _b : (_c = this.themeService) === null || _c === void 0 ? void 0 : _c.theme.palette.getSuccess());
|
|
4036
|
+
}
|
|
4037
|
+
return null;
|
|
4038
|
+
};
|
|
4039
|
+
/**
|
|
4040
|
+
* @param {CometChat.User} user
|
|
4041
|
+
*/
|
|
4042
|
+
this.getStatusIndicatorStyle = (user) => {
|
|
4043
|
+
let userStatusVisibility = new MessageUtils().getUserStatusVisibility(user) || this.disableUsersPresence;
|
|
4044
|
+
if (!userStatusVisibility) {
|
|
4045
|
+
return (this.statusIndicatorStyle);
|
|
4026
4046
|
}
|
|
4027
4047
|
return null;
|
|
4028
4048
|
};
|
|
@@ -4380,10 +4400,10 @@ class CometChatUsersComponent {
|
|
|
4380
4400
|
}
|
|
4381
4401
|
}
|
|
4382
4402
|
CometChatUsersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatUsersComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4383
|
-
CometChatUsersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatUsersComponent, selector: "cometchat-users", inputs: { usersRequestBuilder: "usersRequestBuilder", searchRequestBuilder: "searchRequestBuilder", subtitleView: "subtitleView", disableUsersPresence: "disableUsersPresence", listItemView: "listItemView", menu: "menu", options: "options", activeUser: "activeUser", hideSeparator: "hideSeparator", searchPlaceholder: "searchPlaceholder", hideError: "hideError", selectionMode: "selectionMode", searchIconURL: "searchIconURL", hideSearch: "hideSearch", title: "title", onError: "onError", emptyStateView: "emptyStateView", onSelect: "onSelect", errorStateView: "errorStateView", loadingIconURL: "loadingIconURL", showSectionHeader: "showSectionHeader", sectionHeaderField: "sectionHeaderField", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", titleAlignment: "titleAlignment", usersStyle: "usersStyle", listItemStyle: "listItemStyle", statusIndicatorStyle: "statusIndicatorStyle", avatarStyle: "avatarStyle", onItemClick: "onItemClick", searchKeyword: "searchKeyword", onEmpty: "onEmpty", userPresencePlacement: "userPresencePlacement", disableLoadingState: "disableLoadingState" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-users\" [ngStyle]=\"userStyle()\">\n <div class=\"cc-menus\" *ngIf=\"menu\">\n\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n\n</div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"usersList\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [hideError]=\"hideError\" [title]=\"title\"\n [sectionHeaderField]=\"sectionHeaderField\" [showSectionHeader]=\"showSectionHeader\"\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-user>\n <cometchat-list-item [title]=\"user?.name\" [avatarURL]=\"user?.avatar\" [avatarName]=\"user?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\" [statusIndicatorStyle]=\"
|
|
4403
|
+
CometChatUsersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatUsersComponent, selector: "cometchat-users", inputs: { usersRequestBuilder: "usersRequestBuilder", searchRequestBuilder: "searchRequestBuilder", subtitleView: "subtitleView", disableUsersPresence: "disableUsersPresence", listItemView: "listItemView", menu: "menu", options: "options", activeUser: "activeUser", hideSeparator: "hideSeparator", searchPlaceholder: "searchPlaceholder", hideError: "hideError", selectionMode: "selectionMode", searchIconURL: "searchIconURL", hideSearch: "hideSearch", title: "title", onError: "onError", emptyStateView: "emptyStateView", onSelect: "onSelect", errorStateView: "errorStateView", loadingIconURL: "loadingIconURL", showSectionHeader: "showSectionHeader", sectionHeaderField: "sectionHeaderField", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", titleAlignment: "titleAlignment", usersStyle: "usersStyle", listItemStyle: "listItemStyle", statusIndicatorStyle: "statusIndicatorStyle", avatarStyle: "avatarStyle", onItemClick: "onItemClick", searchKeyword: "searchKeyword", onEmpty: "onEmpty", userPresencePlacement: "userPresencePlacement", disableLoadingState: "disableLoadingState" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-users\" [ngStyle]=\"userStyle()\">\n <div class=\"cc-menus\" *ngIf=\"menu\">\n\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n\n</div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"usersList\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [hideError]=\"hideError\" [title]=\"title\"\n [sectionHeaderField]=\"sectionHeaderField\" [showSectionHeader]=\"showSectionHeader\"\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-user>\n <cometchat-list-item [title]=\"user?.name\" [avatarURL]=\"user?.avatar\" [avatarName]=\"user?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\" [statusIndicatorStyle]=\"getStatusIndicatorStyle(user)\"\n [statusIndicatorColor]=\"getStatusIndicatorColor(user)\" [hideSeparator]=\"hideSeparator\" (cc-listitem-clicked)=\"onClick(user)\" [isActive]=\"getActiveUser(user)\"\n [userPresencePlacement]=\"userPresencePlacement\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView\">\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user }\">\n </ng-container>\n </div>\n\n <div slot=\"menuView\" class=\"cc-users__options\" *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(user)\">\n\n </cometchat-menu-list>\n </div>\n <div slot=\"tailView\" *ngIf=\"selectionMode != selectionmodeEnum.none\" class=\"cc-users__tail-view\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\" class=\"cc-users__selection--single\">\n <cometchat-radio-button (cc-radio-button-checked)=\"addMembersToList(user,$event)\" [checked]=\"isUserSelected(user)\" ></cometchat-radio-button>\n\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\" class=\"cc-users__selection--multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"addMembersToList(user,$event)\"></cometchat-checkbox>\n\n </div>\n </ng-template>\n </cometchat-list-item>\n\n </ng-template>\n</div>\n\n", styles: [".cc-users{height:100%;width:100%;box-sizing:border-box}.cc-menus{position:absolute;right:12px;padding:12px;cursor:pointer}.cc-users__selection--multiple{width:65px}\n"], components: [{ type: CometchatListComponent, selector: "cometchat-list", inputs: ["listItemView", "onScrolledToBottom", "onScrolledToTop", "list", "onSearch", "getSectionHeader", "searchText", "searchIconURL", "listStyle", "searchPlaceholderText", "hideSearch", "hideError", "title", "titleAlignment", "errorStateView", "loadingStateView", "emptyStateView", "state", "errorStateText", "emptyStateText", "loadingIconURL", "showSectionHeader", "sectionHeaderField", "DateSeparatorPattern", "dateSeparatorStyle"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4384
4404
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatUsersComponent, decorators: [{
|
|
4385
4405
|
type: Component,
|
|
4386
|
-
args: [{ selector: "cometchat-users", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-users\" [ngStyle]=\"userStyle()\">\n <div class=\"cc-menus\" *ngIf=\"menu\">\n\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n\n</div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"usersList\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [hideError]=\"hideError\" [title]=\"title\"\n [sectionHeaderField]=\"sectionHeaderField\" [showSectionHeader]=\"showSectionHeader\"\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-user>\n <cometchat-list-item [title]=\"user?.name\" [avatarURL]=\"user?.avatar\" [avatarName]=\"user?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\" [statusIndicatorStyle]=\"
|
|
4406
|
+
args: [{ selector: "cometchat-users", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-users\" [ngStyle]=\"userStyle()\">\n <div class=\"cc-menus\" *ngIf=\"menu\">\n\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n\n</div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"usersList\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [hideError]=\"hideError\" [title]=\"title\"\n [sectionHeaderField]=\"sectionHeaderField\" [showSectionHeader]=\"showSectionHeader\"\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-user>\n <cometchat-list-item [title]=\"user?.name\" [avatarURL]=\"user?.avatar\" [avatarName]=\"user?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\" [statusIndicatorStyle]=\"getStatusIndicatorStyle(user)\"\n [statusIndicatorColor]=\"getStatusIndicatorColor(user)\" [hideSeparator]=\"hideSeparator\" (cc-listitem-clicked)=\"onClick(user)\" [isActive]=\"getActiveUser(user)\"\n [userPresencePlacement]=\"userPresencePlacement\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView\">\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user }\">\n </ng-container>\n </div>\n\n <div slot=\"menuView\" class=\"cc-users__options\" *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(user)\">\n\n </cometchat-menu-list>\n </div>\n <div slot=\"tailView\" *ngIf=\"selectionMode != selectionmodeEnum.none\" class=\"cc-users__tail-view\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\" class=\"cc-users__selection--single\">\n <cometchat-radio-button (cc-radio-button-checked)=\"addMembersToList(user,$event)\" [checked]=\"isUserSelected(user)\" ></cometchat-radio-button>\n\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\" class=\"cc-users__selection--multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"addMembersToList(user,$event)\"></cometchat-checkbox>\n\n </div>\n </ng-template>\n </cometchat-list-item>\n\n </ng-template>\n</div>\n\n", styles: [".cc-users{height:100%;width:100%;box-sizing:border-box}.cc-menus{position:absolute;right:12px;padding:12px;cursor:pointer}.cc-users__selection--multiple{width:65px}\n"] }]
|
|
4387
4407
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { usersRequestBuilder: [{
|
|
4388
4408
|
type: Input
|
|
4389
4409
|
}], searchRequestBuilder: [{
|
|
@@ -4494,7 +4514,11 @@ class CometChatAddMembersComponent {
|
|
|
4494
4514
|
this.titleAlignmentEnum = TitleAlignment;
|
|
4495
4515
|
this.selectionmodeEnum = SelectionMode;
|
|
4496
4516
|
this.addMembersStyle = {};
|
|
4517
|
+
/**
|
|
4518
|
+
* @deprecated This property is deprecated as of version 4.3.14. Use `statusIndicatorStyle` instead.
|
|
4519
|
+
*/
|
|
4497
4520
|
this.StatusIndicatorStyle = {};
|
|
4521
|
+
this.statusIndicatorStyle = {};
|
|
4498
4522
|
this.avatarStyle = {};
|
|
4499
4523
|
this.actionMessagesList = [];
|
|
4500
4524
|
this.addMemberButtonStyle = {
|
|
@@ -4731,10 +4755,10 @@ class CometChatAddMembersComponent {
|
|
|
4731
4755
|
}
|
|
4732
4756
|
}
|
|
4733
4757
|
CometChatAddMembersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatAddMembersComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4734
|
-
CometChatAddMembersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatAddMembersComponent, selector: "cometchat-add-members", inputs: { usersRequestBuilder: "usersRequestBuilder", searchRequestBuilder: "searchRequestBuilder", subtitleView: "subtitleView", listItemView: "listItemView", disableUsersPresence: "disableUsersPresence", menu: "menu", options: "options", backButtonIconURL: "backButtonIconURL", closeButtonIconURL: "closeButtonIconURL", showBackButton: "showBackButton", hideSeparator: "hideSeparator", selectionMode: "selectionMode", searchPlaceholder: "searchPlaceholder", hideError: "hideError", searchIconURL: "searchIconURL", hideSearch: "hideSearch", title: "title", onError: "onError", onBack: "onBack", onClose: "onClose", onSelect: "onSelect", buttonText: "buttonText", group: "group", emptyStateView: "emptyStateView", errorStateView: "errorStateView", loadingIconURL: "loadingIconURL", listItemStyle: "listItemStyle", showSectionHeader: "showSectionHeader", sectionHeaderField: "sectionHeaderField", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", onAddMembersButtonClick: "onAddMembersButtonClick", titleAlignment: "titleAlignment", addMembersStyle: "addMembersStyle", StatusIndicatorStyle: "StatusIndicatorStyle", avatarStyle: "avatarStyle" }, ngImport: i0, template: "<div class=\"cc-add-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-back-button\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" (cc-button-clicked)=\"backClicked()\" *ngIf=\"showBackButton\">\n\n </cometchat-button>\n </div>\n <div class=\"cc-add-members__wrapper\" [ngStyle]=\"addMembersStyles()\">\n <div class=\"cc-users\">\n <cometchat-users [searchPlaceholder]=\"searchPlaceholder\" [usersRequestBuilder]=\"usersRequestBuilder\"\n [hideSearch]=\"hideSearch\"\n [
|
|
4758
|
+
CometChatAddMembersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatAddMembersComponent, selector: "cometchat-add-members", inputs: { usersRequestBuilder: "usersRequestBuilder", searchRequestBuilder: "searchRequestBuilder", subtitleView: "subtitleView", listItemView: "listItemView", disableUsersPresence: "disableUsersPresence", menu: "menu", options: "options", backButtonIconURL: "backButtonIconURL", closeButtonIconURL: "closeButtonIconURL", showBackButton: "showBackButton", hideSeparator: "hideSeparator", selectionMode: "selectionMode", searchPlaceholder: "searchPlaceholder", hideError: "hideError", searchIconURL: "searchIconURL", hideSearch: "hideSearch", title: "title", onError: "onError", onBack: "onBack", onClose: "onClose", onSelect: "onSelect", buttonText: "buttonText", group: "group", emptyStateView: "emptyStateView", errorStateView: "errorStateView", loadingIconURL: "loadingIconURL", listItemStyle: "listItemStyle", showSectionHeader: "showSectionHeader", sectionHeaderField: "sectionHeaderField", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", onAddMembersButtonClick: "onAddMembersButtonClick", titleAlignment: "titleAlignment", addMembersStyle: "addMembersStyle", StatusIndicatorStyle: "StatusIndicatorStyle", statusIndicatorStyle: "statusIndicatorStyle", avatarStyle: "avatarStyle" }, ngImport: i0, template: "<div class=\"cc-add-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-back-button\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" (cc-button-clicked)=\"backClicked()\" *ngIf=\"showBackButton\">\n\n </cometchat-button>\n </div>\n <div class=\"cc-add-members__wrapper\" [ngStyle]=\"addMembersStyles()\">\n <div class=\"cc-users\">\n <cometchat-users [searchPlaceholder]=\"searchPlaceholder\" [usersRequestBuilder]=\"usersRequestBuilder\"\n [hideSearch]=\"hideSearch\"\n [statusIndicatorStyle]=\"statusIndicatorStyle\"\n [avatarStyle]=\"avatarStyle\"\n [searchIconURL]=\"searchIconURL\"\n [searchRequestBuilder]=\"searchRequestBuilder\"\n [usersStyle]=\"usersStyle\"\n [subtitleView]=\"subtitleView\"\n [options]=\"options\"\n [usersRequestBuilder]=\"usersRequestBuilder\"\n [emptyStateView]=\"emptyStateView\"\n [onSelect]=\" addRemoveUsers\"\n [sectionHeaderField]=\"sectionHeaderField\"\n [loadingIconURL]=\"loadingIconURL\"\n [errorStateView]=\"errorStateView\"\n [loadingStateView]=\"loadingStateView\"\n [titleAlignment]=\"titleAlignment\"\n [showSectionHeader]=\"showSectionHeader\"\n [listItemView]=\"listItemView\"\n [menu]=\"menu\"\n [hideSeparator]=\"hideSeparator\"\n [hideError]=\"hideError\"\n [selectionMode]=\" selectionMode\"\n [listItemStyle]=\"listItemStyle\"\n [title]=\"title\" >\n\n </cometchat-users>\n </div>\n <div class=\"cc-add-members__buttons\">\n <cometchat-button class=\"cc-add-members__buttons--add\" [text]=\"buttonText\" [buttonStyle]=\"addMemberButtonStyle\" (click)=\"addMembersToGroup()\" ></cometchat-button>\n\n </div>\n </div>\n <div class=\"cc-close-button\">\n <cometchat-button [iconURL]=\"closeButtonIconURL\" [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n\n </cometchat-button>\n </div>\n</div>", styles: [".cc-add-members{display:flex;height:100%;width:100%;overflow:hidden}.cc-back-button{position:absolute;left:8px;padding:12px 8px 8px}.cc-add-members__wrapper{height:100%;width:100%;padding:8px}.cc-close-button{position:absolute;right:8px;padding:12px 8px 8px}.cc-users{height:90%}.cc-add-members__buttons{height:10%;width:100%;display:flex;align-items:center;justify-content:center}.button__icon{display:flex;justify-content:flex-end}.cc-add-members__buttons--add{height:42px;width:100%}\n"], components: [{ type: 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", "searchKeyword", "onEmpty", "userPresencePlacement", "disableLoadingState"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4735
4759
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatAddMembersComponent, decorators: [{
|
|
4736
4760
|
type: Component,
|
|
4737
|
-
args: [{ selector: "cometchat-add-members", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-add-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-back-button\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" (cc-button-clicked)=\"backClicked()\" *ngIf=\"showBackButton\">\n\n </cometchat-button>\n </div>\n <div class=\"cc-add-members__wrapper\" [ngStyle]=\"addMembersStyles()\">\n <div class=\"cc-users\">\n <cometchat-users [searchPlaceholder]=\"searchPlaceholder\" [usersRequestBuilder]=\"usersRequestBuilder\"\n [hideSearch]=\"hideSearch\"\n [
|
|
4761
|
+
args: [{ selector: "cometchat-add-members", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-add-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-back-button\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" (cc-button-clicked)=\"backClicked()\" *ngIf=\"showBackButton\">\n\n </cometchat-button>\n </div>\n <div class=\"cc-add-members__wrapper\" [ngStyle]=\"addMembersStyles()\">\n <div class=\"cc-users\">\n <cometchat-users [searchPlaceholder]=\"searchPlaceholder\" [usersRequestBuilder]=\"usersRequestBuilder\"\n [hideSearch]=\"hideSearch\"\n [statusIndicatorStyle]=\"statusIndicatorStyle\"\n [avatarStyle]=\"avatarStyle\"\n [searchIconURL]=\"searchIconURL\"\n [searchRequestBuilder]=\"searchRequestBuilder\"\n [usersStyle]=\"usersStyle\"\n [subtitleView]=\"subtitleView\"\n [options]=\"options\"\n [usersRequestBuilder]=\"usersRequestBuilder\"\n [emptyStateView]=\"emptyStateView\"\n [onSelect]=\" addRemoveUsers\"\n [sectionHeaderField]=\"sectionHeaderField\"\n [loadingIconURL]=\"loadingIconURL\"\n [errorStateView]=\"errorStateView\"\n [loadingStateView]=\"loadingStateView\"\n [titleAlignment]=\"titleAlignment\"\n [showSectionHeader]=\"showSectionHeader\"\n [listItemView]=\"listItemView\"\n [menu]=\"menu\"\n [hideSeparator]=\"hideSeparator\"\n [hideError]=\"hideError\"\n [selectionMode]=\" selectionMode\"\n [listItemStyle]=\"listItemStyle\"\n [title]=\"title\" >\n\n </cometchat-users>\n </div>\n <div class=\"cc-add-members__buttons\">\n <cometchat-button class=\"cc-add-members__buttons--add\" [text]=\"buttonText\" [buttonStyle]=\"addMemberButtonStyle\" (click)=\"addMembersToGroup()\" ></cometchat-button>\n\n </div>\n </div>\n <div class=\"cc-close-button\">\n <cometchat-button [iconURL]=\"closeButtonIconURL\" [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n\n </cometchat-button>\n </div>\n</div>", styles: [".cc-add-members{display:flex;height:100%;width:100%;overflow:hidden}.cc-back-button{position:absolute;left:8px;padding:12px 8px 8px}.cc-add-members__wrapper{height:100%;width:100%;padding:8px}.cc-close-button{position:absolute;right:8px;padding:12px 8px 8px}.cc-users{height:90%}.cc-add-members__buttons{height:10%;width:100%;display:flex;align-items:center;justify-content:center}.button__icon{display:flex;justify-content:flex-end}.cc-add-members__buttons--add{height:42px;width:100%}\n"] }]
|
|
4738
4762
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { usersRequestBuilder: [{
|
|
4739
4763
|
type: Input
|
|
4740
4764
|
}], searchRequestBuilder: [{
|
|
@@ -4807,6 +4831,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
4807
4831
|
type: Input
|
|
4808
4832
|
}], StatusIndicatorStyle: [{
|
|
4809
4833
|
type: Input
|
|
4834
|
+
}], statusIndicatorStyle: [{
|
|
4835
|
+
type: Input
|
|
4810
4836
|
}], avatarStyle: [{
|
|
4811
4837
|
type: Input
|
|
4812
4838
|
}] } });
|
|
@@ -4870,6 +4896,16 @@ class CometChatMessageHeaderComponent {
|
|
|
4870
4896
|
this.subtitleText = "";
|
|
4871
4897
|
this.isTyping = false;
|
|
4872
4898
|
this.theme = new CometChatTheme({});
|
|
4899
|
+
/**
|
|
4900
|
+
* @param {CometChat.User} user
|
|
4901
|
+
*/
|
|
4902
|
+
this.getStatusIndicatorStyle = (user) => {
|
|
4903
|
+
let userStatusVisibility = new MessageUtils().getUserStatusVisibility(user) || this.disableUsersPresence;
|
|
4904
|
+
if (!userStatusVisibility) {
|
|
4905
|
+
return (this.statusIndicatorStyle);
|
|
4906
|
+
}
|
|
4907
|
+
return null;
|
|
4908
|
+
};
|
|
4873
4909
|
this.statusColor = {
|
|
4874
4910
|
online: "#00f300",
|
|
4875
4911
|
private: "#00f300",
|
|
@@ -4886,7 +4922,15 @@ class CometChatMessageHeaderComponent {
|
|
|
4886
4922
|
};
|
|
4887
4923
|
this.checkStatusType = () => {
|
|
4888
4924
|
var _a, _b;
|
|
4889
|
-
|
|
4925
|
+
if (this.user) {
|
|
4926
|
+
let userStatusVisibility = new MessageUtils().getUserStatusVisibility(this.user) || this.disableUsersPresence;
|
|
4927
|
+
return userStatusVisibility ? null : this.statusColor[(_a = this.user) === null || _a === void 0 ? void 0 : _a.getStatus()];
|
|
4928
|
+
}
|
|
4929
|
+
else if (this.group) {
|
|
4930
|
+
return this.statusColor[(_b = this.group) === null || _b === void 0 ? void 0 : _b.getType()];
|
|
4931
|
+
}
|
|
4932
|
+
else
|
|
4933
|
+
return;
|
|
4890
4934
|
};
|
|
4891
4935
|
this.setTypingIndicatorText = (typing) => {
|
|
4892
4936
|
var _a;
|
|
@@ -4953,13 +4997,13 @@ class CometChatMessageHeaderComponent {
|
|
|
4953
4997
|
}
|
|
4954
4998
|
}
|
|
4955
4999
|
ngOnInit() {
|
|
4956
|
-
var _a;
|
|
5000
|
+
var _a, _b;
|
|
4957
5001
|
this.setListItemStyle();
|
|
4958
5002
|
this.setAvatarStyle();
|
|
4959
5003
|
this.setStatusStyle();
|
|
4960
5004
|
this.subscribeToEvents();
|
|
4961
5005
|
this.backButtonStyle.buttonIconTint = ((_a = this.messageHeaderStyle) === null || _a === void 0 ? void 0 : _a.backButtonIconTint) || this.themeService.theme.palette.getPrimary();
|
|
4962
|
-
this.statusColor.online = this.messageHeaderStyle.onlineStatusColor;
|
|
5006
|
+
this.statusColor.online = (_b = this.messageHeaderStyle.onlineStatusColor) !== null && _b !== void 0 ? _b : this.themeService.theme.palette.getSuccess();
|
|
4963
5007
|
}
|
|
4964
5008
|
// subscribe to global events
|
|
4965
5009
|
subscribeToEvents() {
|
|
@@ -5009,13 +5053,15 @@ class CometChatMessageHeaderComponent {
|
|
|
5009
5053
|
}
|
|
5010
5054
|
// unsubscribe to subscribed events.
|
|
5011
5055
|
unsubscribeToEvents() {
|
|
5012
|
-
var _a, _b, _c, _d, _e, _f;
|
|
5056
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
5013
5057
|
(_a = this.ccGroupMemberAdded) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
5014
5058
|
(_b = this.ccGroupMemberBanned) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
5015
5059
|
(_c = this.ccGroupMemberJoined) === null || _c === void 0 ? void 0 : _c.unsubscribe();
|
|
5016
5060
|
(_d = this.ccGroupMemberKicked) === null || _d === void 0 ? void 0 : _d.unsubscribe();
|
|
5017
5061
|
(_e = this.ccOwnershipChanged) === null || _e === void 0 ? void 0 : _e.unsubscribe();
|
|
5018
|
-
(_f = this.
|
|
5062
|
+
(_f = this.ccUserBlocked) === null || _f === void 0 ? void 0 : _f.unsubscribe();
|
|
5063
|
+
(_g = this.ccUserUnblocked) === null || _g === void 0 ? void 0 : _g.unsubscribe();
|
|
5064
|
+
(_h = this.ccGroupLeft) === null || _h === void 0 ? void 0 : _h.unsubscribe();
|
|
5019
5065
|
}
|
|
5020
5066
|
setListItemStyle() {
|
|
5021
5067
|
let defaultStyle = new ListItemStyle({
|
|
@@ -5053,7 +5099,12 @@ class CometChatMessageHeaderComponent {
|
|
|
5053
5099
|
border: "none",
|
|
5054
5100
|
borderRadius: "24px",
|
|
5055
5101
|
};
|
|
5056
|
-
|
|
5102
|
+
if (!this.disableUsersPresence) {
|
|
5103
|
+
this.statusIndicatorStyle = Object.assign(Object.assign({}, defaultStyle), this.statusIndicatorStyle);
|
|
5104
|
+
}
|
|
5105
|
+
else {
|
|
5106
|
+
this.statusIndicatorStyle = {};
|
|
5107
|
+
}
|
|
5057
5108
|
}
|
|
5058
5109
|
getHeadersStyle() {
|
|
5059
5110
|
const defaultValues = this.messageHeaderStyle;
|
|
@@ -5083,7 +5134,8 @@ class CometChatMessageHeaderComponent {
|
|
|
5083
5134
|
const count = (_a = this.group) === null || _a === void 0 ? void 0 : _a.getMembersCount();
|
|
5084
5135
|
const membersText = localize(count > 1 ? "MEMBERS" : "MEMBER");
|
|
5085
5136
|
if (this.user) {
|
|
5086
|
-
|
|
5137
|
+
let userStatusVisibility = this.user.getBlockedByMe() || this.user.getHasBlockedMe() || this.disableUsersPresence;
|
|
5138
|
+
this.subtitleText = userStatusVisibility ? "" : this.user.getStatus();
|
|
5087
5139
|
this.ref.detectChanges();
|
|
5088
5140
|
}
|
|
5089
5141
|
else {
|
|
@@ -5121,17 +5173,25 @@ class CometChatMessageHeaderComponent {
|
|
|
5121
5173
|
}
|
|
5122
5174
|
attachListeners() {
|
|
5123
5175
|
try {
|
|
5124
|
-
|
|
5125
|
-
|
|
5126
|
-
|
|
5127
|
-
|
|
5128
|
-
|
|
5129
|
-
|
|
5130
|
-
|
|
5131
|
-
|
|
5132
|
-
|
|
5133
|
-
|
|
5134
|
-
|
|
5176
|
+
CometChat.addUserListener(this.userListenerId, new CometChat.UserListener({
|
|
5177
|
+
onUserOnline: (onlineUser) => {
|
|
5178
|
+
/* when someuser/friend comes online, user will be received here */
|
|
5179
|
+
this.updateUserStatus(onlineUser);
|
|
5180
|
+
},
|
|
5181
|
+
onUserOffline: (offlineUser) => {
|
|
5182
|
+
/* when someuser/friend went offline, user will be received here */
|
|
5183
|
+
this.updateUserStatus(offlineUser);
|
|
5184
|
+
},
|
|
5185
|
+
}));
|
|
5186
|
+
if (this.user) {
|
|
5187
|
+
this.ccUserBlocked = CometChatUserEvents.ccUserBlocked.subscribe((item) => {
|
|
5188
|
+
if (item.getUid() == this.user.getUid())
|
|
5189
|
+
this.updateUserStatus(item);
|
|
5190
|
+
});
|
|
5191
|
+
this.ccUserUnblocked = CometChatUserEvents.ccUserUnblocked.subscribe((item) => {
|
|
5192
|
+
if (item.getUid() == this.user.getUid())
|
|
5193
|
+
this.updateUserStatus(item);
|
|
5194
|
+
});
|
|
5135
5195
|
}
|
|
5136
5196
|
if (!this.disableTyping) {
|
|
5137
5197
|
this.onTypingStarted = CometChatMessageEvents.onTypingStarted.subscribe((typingIndicator) => {
|
|
@@ -5209,10 +5269,10 @@ class CometChatMessageHeaderComponent {
|
|
|
5209
5269
|
}
|
|
5210
5270
|
}
|
|
5211
5271
|
CometChatMessageHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5212
|
-
CometChatMessageHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageHeaderComponent, selector: "cometchat-message-header", inputs: { avatarStyle: "avatarStyle", statusIndicatorStyle: "statusIndicatorStyle", messageHeaderStyle: "messageHeaderStyle", listItemStyle: "listItemStyle", subtitleView: "subtitleView", disableUsersPresence: "disableUsersPresence", disableTyping: "disableTyping", protectedGroupIcon: "protectedGroupIcon", passwordGroupIcon: "passwordGroupIcon", privateGroupIcon: "privateGroupIcon", menu: "menu", user: "user", group: "group", backButtonIconURL: "backButtonIconURL", hideBackButton: "hideBackButton", listItemView: "listItemView", onError: "onError", onBack: "onBack" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-header__wrapper\" [ngStyle]=\"headerStyle()\">\n <div class=\"cc-message-header\">\n <div class=\"cc-message-header__back-button\" *ngIf=\"!hideBackButton\">\n <cometchat-button [iconURL]=\"backButtonIconURL\"\n [buttonStyle]=\"backButtonStyle\"\n (cc-button-clicked)=\"onBackClicked()\"></cometchat-button>\n </div>\n <div class=\"cc-message-header__listitem\">\n <cometchat-list-item *ngIf=\"!listItemView;else listitem\"\n [avatarName]=\"user?.getName() || this.group?.getName()\"\n [avatarURL]=\"this.user?.getAvatar() || this.group?.getIcon()\"\n [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\"\n [statusIndicatorIcon]=\"checkGroupType()\"\n [title]=\"this.user?.getName() || this.group?.getName()\"\n [hideSeparator]=\"true\" [statusIndicatorStyle]=\"
|
|
5272
|
+
CometChatMessageHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageHeaderComponent, selector: "cometchat-message-header", inputs: { avatarStyle: "avatarStyle", statusIndicatorStyle: "statusIndicatorStyle", messageHeaderStyle: "messageHeaderStyle", listItemStyle: "listItemStyle", subtitleView: "subtitleView", disableUsersPresence: "disableUsersPresence", disableTyping: "disableTyping", protectedGroupIcon: "protectedGroupIcon", passwordGroupIcon: "passwordGroupIcon", privateGroupIcon: "privateGroupIcon", menu: "menu", user: "user", group: "group", backButtonIconURL: "backButtonIconURL", hideBackButton: "hideBackButton", listItemView: "listItemView", onError: "onError", onBack: "onBack" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-header__wrapper\" [ngStyle]=\"headerStyle()\">\n <div class=\"cc-message-header\">\n <div class=\"cc-message-header__back-button\" *ngIf=\"!hideBackButton\">\n <cometchat-button [iconURL]=\"backButtonIconURL\"\n [buttonStyle]=\"backButtonStyle\"\n (cc-button-clicked)=\"onBackClicked()\"></cometchat-button>\n </div>\n <div class=\"cc-message-header__listitem\">\n <cometchat-list-item *ngIf=\"!listItemView;else listitem\"\n [avatarName]=\"user?.getName() || this.group?.getName()\"\n [avatarURL]=\"this.user?.getAvatar() || this.group?.getIcon()\"\n [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\"\n [statusIndicatorIcon]=\"checkGroupType()\"\n [title]=\"this.user?.getName() || this.group?.getName()\"\n [hideSeparator]=\"true\" [statusIndicatorStyle]=\"getStatusIndicatorStyle(user)\"\n [avatarStyle]=\"avatarStyle\">\n <div slot=\"subtitleView\">\n <div *ngIf=\"!subtitleView; else subtitle\">\n <cometchat-label [text]=\"subtitleText\"\n [labelStyle]=\"subtitleStyle()\">\n\n </cometchat-label>\n </div>\n <ng-template #subtitle>\n <ng-container\n *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n\n </ng-container>\n </ng-template>\n\n </div>\n </cometchat-list-item>\n <ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"listItemView\">\n\n </ng-container>\n </ng-template>\n </div>\n </div>\n <div class=\"cc-message-header__menu\" *ngIf=\"menu\">\n <ng-container *ngTemplateOutlet=\"menu;context:{ $implicit: user ?? group }\">\n\n </ng-container>\n </div>\n</div>\n", styles: [".cc-message-header__wrapper{display:flex;align-items:center;justify-content:space-between;flex-direction:row;padding:8px;box-sizing:border-box}.cc-message-header__back-button{margin-right:8px}.cc-message-header{display:flex;align-items:center;justify-content:flex-start;height:100%;width:100%}.cc-message-header__listitem{height:100%;width:100%;display:flex;align-items:center;justify-content:flex-start}.cc-message-header__menu{width:-moz-fit-content;width:fit-content;display:flex;align-items:center;justify-content:flex-end;padding:12px}cometchat-list-item{width:100%}\n"], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5213
5273
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageHeaderComponent, decorators: [{
|
|
5214
5274
|
type: Component,
|
|
5215
|
-
args: [{ selector: 'cometchat-message-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-header__wrapper\" [ngStyle]=\"headerStyle()\">\n <div class=\"cc-message-header\">\n <div class=\"cc-message-header__back-button\" *ngIf=\"!hideBackButton\">\n <cometchat-button [iconURL]=\"backButtonIconURL\"\n [buttonStyle]=\"backButtonStyle\"\n (cc-button-clicked)=\"onBackClicked()\"></cometchat-button>\n </div>\n <div class=\"cc-message-header__listitem\">\n <cometchat-list-item *ngIf=\"!listItemView;else listitem\"\n [avatarName]=\"user?.getName() || this.group?.getName()\"\n [avatarURL]=\"this.user?.getAvatar() || this.group?.getIcon()\"\n [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\"\n [statusIndicatorIcon]=\"checkGroupType()\"\n [title]=\"this.user?.getName() || this.group?.getName()\"\n [hideSeparator]=\"true\" [statusIndicatorStyle]=\"
|
|
5275
|
+
args: [{ selector: 'cometchat-message-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-header__wrapper\" [ngStyle]=\"headerStyle()\">\n <div class=\"cc-message-header\">\n <div class=\"cc-message-header__back-button\" *ngIf=\"!hideBackButton\">\n <cometchat-button [iconURL]=\"backButtonIconURL\"\n [buttonStyle]=\"backButtonStyle\"\n (cc-button-clicked)=\"onBackClicked()\"></cometchat-button>\n </div>\n <div class=\"cc-message-header__listitem\">\n <cometchat-list-item *ngIf=\"!listItemView;else listitem\"\n [avatarName]=\"user?.getName() || this.group?.getName()\"\n [avatarURL]=\"this.user?.getAvatar() || this.group?.getIcon()\"\n [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\"\n [statusIndicatorIcon]=\"checkGroupType()\"\n [title]=\"this.user?.getName() || this.group?.getName()\"\n [hideSeparator]=\"true\" [statusIndicatorStyle]=\"getStatusIndicatorStyle(user)\"\n [avatarStyle]=\"avatarStyle\">\n <div slot=\"subtitleView\">\n <div *ngIf=\"!subtitleView; else subtitle\">\n <cometchat-label [text]=\"subtitleText\"\n [labelStyle]=\"subtitleStyle()\">\n\n </cometchat-label>\n </div>\n <ng-template #subtitle>\n <ng-container\n *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n\n </ng-container>\n </ng-template>\n\n </div>\n </cometchat-list-item>\n <ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"listItemView\">\n\n </ng-container>\n </ng-template>\n </div>\n </div>\n <div class=\"cc-message-header__menu\" *ngIf=\"menu\">\n <ng-container *ngTemplateOutlet=\"menu;context:{ $implicit: user ?? group }\">\n\n </ng-container>\n </div>\n</div>\n", styles: [".cc-message-header__wrapper{display:flex;align-items:center;justify-content:space-between;flex-direction:row;padding:8px;box-sizing:border-box}.cc-message-header__back-button{margin-right:8px}.cc-message-header{display:flex;align-items:center;justify-content:flex-start;height:100%;width:100%}.cc-message-header__listitem{height:100%;width:100%;display:flex;align-items:center;justify-content:flex-start}.cc-message-header__menu{width:-moz-fit-content;width:fit-content;display:flex;align-items:center;justify-content:flex-end;padding:12px}cometchat-list-item{width:100%}\n"] }]
|
|
5216
5276
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { avatarStyle: [{
|
|
5217
5277
|
type: Input
|
|
5218
5278
|
}], statusIndicatorStyle: [{
|
|
@@ -5411,13 +5471,10 @@ class CometChatBannedMembersComponent {
|
|
|
5411
5471
|
* @param {CometChat.GroupMember} member
|
|
5412
5472
|
*/
|
|
5413
5473
|
this.getStatusIndicatorColor = (member) => {
|
|
5414
|
-
|
|
5415
|
-
|
|
5416
|
-
|
|
5417
|
-
|
|
5418
|
-
else {
|
|
5419
|
-
return null;
|
|
5420
|
-
}
|
|
5474
|
+
var _a;
|
|
5475
|
+
let userStatusVisibility = new MessageUtils().getUserStatusVisibility(member) || this.disableUsersPresence;
|
|
5476
|
+
if (!userStatusVisibility) {
|
|
5477
|
+
return (_a = this.bannedMembersStyle.onlineStatusColor) !== null && _a !== void 0 ? _a : this.themeService.theme.palette.getSuccess();
|
|
5421
5478
|
}
|
|
5422
5479
|
return null;
|
|
5423
5480
|
};
|
|
@@ -5458,18 +5515,16 @@ class CometChatBannedMembersComponent {
|
|
|
5458
5515
|
* @param {CometChat.User} member
|
|
5459
5516
|
*/
|
|
5460
5517
|
this.updateMemberStatus = (member) => {
|
|
5461
|
-
|
|
5462
|
-
|
|
5463
|
-
|
|
5464
|
-
|
|
5465
|
-
|
|
5466
|
-
|
|
5467
|
-
|
|
5468
|
-
|
|
5469
|
-
|
|
5470
|
-
|
|
5471
|
-
this.ref.detectChanges();
|
|
5472
|
-
}
|
|
5518
|
+
let memberlist = [...this.bannedMembers];
|
|
5519
|
+
//search for user
|
|
5520
|
+
let userKey = memberlist.findIndex((u, k) => u.getUid() == member.getUid());
|
|
5521
|
+
//if found in the list, update user object
|
|
5522
|
+
if (userKey > -1) {
|
|
5523
|
+
let user = memberlist[userKey];
|
|
5524
|
+
user.setStatus(member.getStatus());
|
|
5525
|
+
memberlist.splice(userKey, 1, user);
|
|
5526
|
+
this.bannedMembers = [...memberlist];
|
|
5527
|
+
this.ref.detectChanges();
|
|
5473
5528
|
}
|
|
5474
5529
|
};
|
|
5475
5530
|
this.fetchNextBannedMembers = () => {
|
|
@@ -5855,7 +5910,7 @@ class CometChatConversationsComponent {
|
|
|
5855
5910
|
this.title = localize("CHATS"); //Title of the component
|
|
5856
5911
|
this.searchPlaceHolder = localize("SEARCH"); // placeholder text of search input
|
|
5857
5912
|
this.disableUsersPresence = false;
|
|
5858
|
-
this.disableReceipt =
|
|
5913
|
+
this.disableReceipt = false;
|
|
5859
5914
|
this.disableTyping = false;
|
|
5860
5915
|
this.deliveredIcon = "assets/message-delivered.svg";
|
|
5861
5916
|
this.readIcon = "assets/message-read.svg";
|
|
@@ -5890,22 +5945,22 @@ class CometChatConversationsComponent {
|
|
|
5890
5945
|
this.confirmButtonText = localize("DELETE");
|
|
5891
5946
|
this.cancelButtonText = localize("CANCEL");
|
|
5892
5947
|
this.confirmDialogMessage = localize("WOULD__YOU_LIKE_TO_DELETE_THIS_CONVERSATION");
|
|
5893
|
-
this.deleteConversationDialogStyle = {
|
|
5894
|
-
confirmButtonBackground:
|
|
5895
|
-
cancelButtonBackground:
|
|
5896
|
-
confirmButtonTextColor: "",
|
|
5897
|
-
confirmButtonTextFont:
|
|
5898
|
-
cancelButtonTextColor: "",
|
|
5899
|
-
cancelButtonTextFont:
|
|
5900
|
-
titleFont:
|
|
5901
|
-
titleColor:
|
|
5902
|
-
messageTextFont:
|
|
5903
|
-
messageTextColor:
|
|
5904
|
-
background:
|
|
5905
|
-
border: "1px solid #f2f2f2",
|
|
5948
|
+
this.deleteConversationDialogStyle = new ConfirmDialogStyle({
|
|
5949
|
+
confirmButtonBackground: this.themeService.theme.palette.getError(),
|
|
5950
|
+
cancelButtonBackground: this.themeService.theme.palette.getSecondary(),
|
|
5951
|
+
confirmButtonTextColor: this.themeService.theme.palette.getAccent900("light"),
|
|
5952
|
+
confirmButtonTextFont: fontHelper(this.themeService.theme.typography.text2),
|
|
5953
|
+
cancelButtonTextColor: this.themeService.theme.palette.getAccent900("dark"),
|
|
5954
|
+
cancelButtonTextFont: fontHelper(this.themeService.theme.typography.text2),
|
|
5955
|
+
titleFont: fontHelper(this.themeService.theme.typography.title1),
|
|
5956
|
+
titleColor: this.themeService.theme.palette.getAccent(),
|
|
5957
|
+
messageTextFont: fontHelper(this.themeService.theme.typography.subtitle2),
|
|
5958
|
+
messageTextColor: this.themeService.theme.palette.getAccent600(),
|
|
5959
|
+
background: this.themeService.theme.palette.getBackground(),
|
|
5906
5960
|
height: "100%",
|
|
5907
5961
|
width: "100%",
|
|
5908
|
-
|
|
5962
|
+
borderRadius: "8px",
|
|
5963
|
+
});
|
|
5909
5964
|
this.backdropStyle = {
|
|
5910
5965
|
height: "100%",
|
|
5911
5966
|
width: "100%",
|
|
@@ -6030,9 +6085,16 @@ class CometChatConversationsComponent {
|
|
|
6030
6085
|
this.onConfirmClick = () => {
|
|
6031
6086
|
this.deleteSelectedConversation();
|
|
6032
6087
|
};
|
|
6033
|
-
this.
|
|
6034
|
-
|
|
6035
|
-
|
|
6088
|
+
this.getStatusIndicatorStyle = (conversation) => {
|
|
6089
|
+
const convWith = conversation.getConversationWith();
|
|
6090
|
+
if (convWith instanceof CometChat.User) {
|
|
6091
|
+
let userStatusVisibility = new MessageUtils().getUserStatusVisibility(convWith);
|
|
6092
|
+
if (!this.disableUsersPresence && !userStatusVisibility) {
|
|
6093
|
+
return this.statusIndicatorStyle;
|
|
6094
|
+
}
|
|
6095
|
+
return null;
|
|
6096
|
+
}
|
|
6097
|
+
else if (conversation.getConversationType() === CometChatUIKitConstants.MessageReceiverType.group) {
|
|
6036
6098
|
return {
|
|
6037
6099
|
height: "12px",
|
|
6038
6100
|
width: "12px",
|
|
@@ -6040,7 +6102,7 @@ class CometChatConversationsComponent {
|
|
|
6040
6102
|
};
|
|
6041
6103
|
}
|
|
6042
6104
|
else {
|
|
6043
|
-
return
|
|
6105
|
+
return null;
|
|
6044
6106
|
}
|
|
6045
6107
|
};
|
|
6046
6108
|
this.setSubtitle = (conversationObject) => {
|
|
@@ -6229,22 +6291,18 @@ class CometChatConversationsComponent {
|
|
|
6229
6291
|
* @param {CometChat.BaseMessage} message
|
|
6230
6292
|
*/
|
|
6231
6293
|
this.markMessageAsDelivered = (message) => {
|
|
6232
|
-
var _a, _b, _c, _d, _e, _f;
|
|
6233
|
-
|
|
6234
|
-
|
|
6235
|
-
|
|
6236
|
-
|
|
6237
|
-
|
|
6238
|
-
|
|
6239
|
-
|
|
6240
|
-
|
|
6241
|
-
|
|
6242
|
-
|
|
6243
|
-
|
|
6244
|
-
((_f = (_e = this.activeConversation) === null || _e === void 0 ? void 0 : _e.getConversationWith()) === null || _f === void 0 ? void 0 : _f.getGuid()) !== (message === null || message === void 0 ? void 0 : message.getReceiverId())) &&
|
|
6245
|
-
!message.hasOwnProperty("deliveredAt")) {
|
|
6246
|
-
CometChat.markAsDelivered(message);
|
|
6247
|
-
}
|
|
6294
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
6295
|
+
const isGroupConversation = ((_a = this.activeConversation) === null || _a === void 0 ? void 0 : _a.getConversationType()) ==
|
|
6296
|
+
CometChatUIKitConstants.MessageReceiverType.group;
|
|
6297
|
+
const isUserConversation = ((_b = this.activeConversation) === null || _b === void 0 ? void 0 : _b.getConversationType()) ==
|
|
6298
|
+
CometChatUIKitConstants.MessageReceiverType.user;
|
|
6299
|
+
const isSameGroup = ((_c = this.activeConversation) === null || _c === void 0 ? void 0 : _c.getConversationWith()) instanceof CometChat.Group && ((_e = (_d = this.activeConversation) === null || _d === void 0 ? void 0 : _d.getConversationWith()) === null || _e === void 0 ? void 0 : _e.getGuid()) === (message === null || message === void 0 ? void 0 : message.getReceiverId());
|
|
6300
|
+
const isSameUser = ((_f = this.activeConversation) === null || _f === void 0 ? void 0 : _f.getConversationWith()) instanceof CometChat.User && ((_h = (_g = this.activeConversation) === null || _g === void 0 ? void 0 : _g.getConversationWith()) === null || _h === void 0 ? void 0 : _h.getUid()) === ((_j = message === null || message === void 0 ? void 0 : message.getSender()) === null || _j === void 0 ? void 0 : _j.getUid());
|
|
6301
|
+
const shouldMarkAsDelivered = !this.activeConversation ||
|
|
6302
|
+
(isGroupConversation && isSameGroup) ||
|
|
6303
|
+
(isUserConversation && isSameUser);
|
|
6304
|
+
if (shouldMarkAsDelivered && !message.hasOwnProperty("deliveredAt")) {
|
|
6305
|
+
CometChat.markAsDelivered(message);
|
|
6248
6306
|
}
|
|
6249
6307
|
};
|
|
6250
6308
|
/**
|
|
@@ -6323,20 +6381,16 @@ class CometChatConversationsComponent {
|
|
|
6323
6381
|
* @param {CometChat.Conversation} conversation
|
|
6324
6382
|
*/
|
|
6325
6383
|
checkStatusType(conversation) {
|
|
6326
|
-
let
|
|
6327
|
-
if (
|
|
6328
|
-
|
|
6329
|
-
!
|
|
6330
|
-
|
|
6331
|
-
return this.statusColor[user.getStatus()];
|
|
6332
|
-
}
|
|
6384
|
+
let item = conversation.getConversationWith();
|
|
6385
|
+
if (item instanceof CometChat.User) {
|
|
6386
|
+
let userStatusVisibility = new MessageUtils().getUserStatusVisibility(item) || this.disableUsersPresence;
|
|
6387
|
+
if (!userStatusVisibility)
|
|
6388
|
+
return this.statusColor[item === null || item === void 0 ? void 0 : item.getStatus()];
|
|
6333
6389
|
else
|
|
6334
6390
|
return null;
|
|
6335
6391
|
}
|
|
6336
|
-
else
|
|
6337
|
-
|
|
6338
|
-
let group = conversation.getConversationWith();
|
|
6339
|
-
return this.statusColor[group.getType()];
|
|
6392
|
+
else {
|
|
6393
|
+
return this.statusColor[item === null || item === void 0 ? void 0 : item.getType()];
|
|
6340
6394
|
}
|
|
6341
6395
|
}
|
|
6342
6396
|
getExtensionData(messageObject) {
|
|
@@ -6543,10 +6597,23 @@ class CometChatConversationsComponent {
|
|
|
6543
6597
|
}
|
|
6544
6598
|
if (!this.conversationType || this.conversationType == CometChatUIKitConstants.MessageReceiverType.user) {
|
|
6545
6599
|
this.ccUserBlocked = CometChatUserEvents.ccUserBlocked.subscribe((item) => {
|
|
6600
|
+
var _a;
|
|
6546
6601
|
let conversation = this.getConversationFromUser(item);
|
|
6547
|
-
if (conversation) {
|
|
6602
|
+
if (conversation && !((_a = this.requestBuilder) === null || _a === void 0 ? void 0 : _a.isIncludeBlockedUsers())) {
|
|
6548
6603
|
this.removeConversation(conversation);
|
|
6549
6604
|
}
|
|
6605
|
+
else {
|
|
6606
|
+
this.updateUser(item);
|
|
6607
|
+
}
|
|
6608
|
+
this.ref.detectChanges();
|
|
6609
|
+
});
|
|
6610
|
+
this.ccUserUnblocked = CometChatUserEvents.ccUserUnblocked.subscribe((item) => {
|
|
6611
|
+
var _a;
|
|
6612
|
+
let conversation = this.getConversationFromUser(item);
|
|
6613
|
+
if (conversation && ((_a = this.requestBuilder) === null || _a === void 0 ? void 0 : _a.isIncludeBlockedUsers())) {
|
|
6614
|
+
this.updateUser(item);
|
|
6615
|
+
}
|
|
6616
|
+
this.ref.detectChanges();
|
|
6550
6617
|
});
|
|
6551
6618
|
}
|
|
6552
6619
|
this.ccMessageEdit = CometChatMessageEvents.ccMessageEdited.subscribe((object) => {
|
|
@@ -6598,7 +6665,7 @@ class CometChatConversationsComponent {
|
|
|
6598
6665
|
});
|
|
6599
6666
|
}
|
|
6600
6667
|
unsubscribeToEvents() {
|
|
6601
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
6668
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
6602
6669
|
(_a = this.ccGroupMemberAdded) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
6603
6670
|
(_b = this.ccGroupMemberKicked) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
6604
6671
|
(_c = this.ccGroupMemberBanned) === null || _c === void 0 ? void 0 : _c.unsubscribe();
|
|
@@ -6609,7 +6676,8 @@ class CometChatConversationsComponent {
|
|
|
6609
6676
|
(_h = this.ccGroupDeleted) === null || _h === void 0 ? void 0 : _h.unsubscribe();
|
|
6610
6677
|
(_j = this.ccGroupLeft) === null || _j === void 0 ? void 0 : _j.unsubscribe();
|
|
6611
6678
|
(_k = this.ccUserBlocked) === null || _k === void 0 ? void 0 : _k.unsubscribe();
|
|
6612
|
-
(_l = this.
|
|
6679
|
+
(_l = this.ccUserUnblocked) === null || _l === void 0 ? void 0 : _l.unsubscribe();
|
|
6680
|
+
(_m = this.ccMessageRead) === null || _m === void 0 ? void 0 : _m.unsubscribe();
|
|
6613
6681
|
}
|
|
6614
6682
|
getConversationFromUser(user) {
|
|
6615
6683
|
let index = this.conversationList.findIndex((element) => element.getConversationType() ==
|
|
@@ -6981,10 +7049,20 @@ class CometChatConversationsComponent {
|
|
|
6981
7049
|
callback(CometChatUIKitConstants.messages.INTERACTIVE_MESSAGE_RECEIVED, null, customMessage);
|
|
6982
7050
|
});
|
|
6983
7051
|
this.onMessagesRead = CometChatMessageEvents.onMessagesRead.subscribe((messageReceipt) => {
|
|
6984
|
-
if (!this.disableReceipt && (!this.conversationType || this.conversationType == messageReceipt.getReceiverType())) {
|
|
7052
|
+
if (!this.disableReceipt && messageReceipt.getReceiverType() == CometChatUIKitConstants.MessageReceiverType.user && (!this.conversationType || this.conversationType == messageReceipt.getReceiverType())) {
|
|
7053
|
+
this.markAsRead(messageReceipt);
|
|
7054
|
+
}
|
|
7055
|
+
});
|
|
7056
|
+
this.onMessagesReadByAll = CometChatMessageEvents.onMessagesReadByAll.subscribe((messageReceipt) => {
|
|
7057
|
+
if (!this.disableReceipt && messageReceipt.getReceiverType() == CometChatUIKitConstants.MessageReceiverType.group && (!this.conversationType || this.conversationType == messageReceipt.getReceiverType())) {
|
|
6985
7058
|
this.markAsRead(messageReceipt);
|
|
6986
7059
|
}
|
|
6987
7060
|
});
|
|
7061
|
+
this.onMessagesDeliveredToAll = CometChatMessageEvents.onMessagesDeliveredToAll.subscribe((messageReceipt) => {
|
|
7062
|
+
if (!this.disableReceipt && messageReceipt.getReceiverType() == CometChatUIKitConstants.MessageReceiverType.group && (!this.conversationType || this.conversationType == (messageReceipt === null || messageReceipt === void 0 ? void 0 : messageReceipt.getReceiverType()))) {
|
|
7063
|
+
this.updateDeliveredMessage(messageReceipt);
|
|
7064
|
+
}
|
|
7065
|
+
});
|
|
6988
7066
|
this.onMessageDeleted = CometChatMessageEvents.onMessageDeleted.subscribe((deletedMessage) => {
|
|
6989
7067
|
callback(CometChatUIKitConstants.messages.MESSAGE_DELETED, null, deletedMessage);
|
|
6990
7068
|
});
|
|
@@ -6993,7 +7071,7 @@ class CometChatConversationsComponent {
|
|
|
6993
7071
|
});
|
|
6994
7072
|
this.onMessagesDelivered =
|
|
6995
7073
|
CometChatMessageEvents.onMessagesDelivered.subscribe((messageReceipt) => {
|
|
6996
|
-
if (!this.disableReceipt && (!this.conversationType || this.conversationType == (messageReceipt === null || messageReceipt === void 0 ? void 0 : messageReceipt.getReceiverType()))) {
|
|
7074
|
+
if (!this.disableReceipt && messageReceipt.getReceiverType() == CometChatUIKitConstants.MessageReceiverType.user && (!this.conversationType || this.conversationType == (messageReceipt === null || messageReceipt === void 0 ? void 0 : messageReceipt.getReceiverType()))) {
|
|
6997
7075
|
this.updateDeliveredMessage(messageReceipt);
|
|
6998
7076
|
}
|
|
6999
7077
|
});
|
|
@@ -7037,7 +7115,7 @@ class CometChatConversationsComponent {
|
|
|
7037
7115
|
* Removes all listeners
|
|
7038
7116
|
*/
|
|
7039
7117
|
removeListeners() {
|
|
7040
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
7118
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
7041
7119
|
try {
|
|
7042
7120
|
CometChat.removeUserListener(this.userListenerId);
|
|
7043
7121
|
CometChat.removeGroupListener(this.groupListenerId);
|
|
@@ -7050,11 +7128,13 @@ class CometChatConversationsComponent {
|
|
|
7050
7128
|
(_f = this.onCardMessageReceived) === null || _f === void 0 ? void 0 : _f.unsubscribe();
|
|
7051
7129
|
(_g = this.onCustomInteractiveMessageReceived) === null || _g === void 0 ? void 0 : _g.unsubscribe();
|
|
7052
7130
|
(_h = this.onMessagesRead) === null || _h === void 0 ? void 0 : _h.unsubscribe();
|
|
7053
|
-
(_j = this.
|
|
7054
|
-
(_k = this.
|
|
7055
|
-
(_l = this.
|
|
7056
|
-
(_m = this.
|
|
7057
|
-
(_o = this.
|
|
7131
|
+
(_j = this.onMessagesDeliveredToAll) === null || _j === void 0 ? void 0 : _j.unsubscribe();
|
|
7132
|
+
(_k = this.onMessagesReadByAll) === null || _k === void 0 ? void 0 : _k.unsubscribe();
|
|
7133
|
+
(_l = this.onMessageDeleted) === null || _l === void 0 ? void 0 : _l.unsubscribe();
|
|
7134
|
+
(_m = this.onMessageEdited) === null || _m === void 0 ? void 0 : _m.unsubscribe();
|
|
7135
|
+
(_o = this.onMessagesDelivered) === null || _o === void 0 ? void 0 : _o.unsubscribe();
|
|
7136
|
+
(_p = this.onTypingStarted) === null || _p === void 0 ? void 0 : _p.unsubscribe();
|
|
7137
|
+
(_q = this.onTypingEnded) === null || _q === void 0 ? void 0 : _q.unsubscribe();
|
|
7058
7138
|
}
|
|
7059
7139
|
catch (error) {
|
|
7060
7140
|
if (this.onError) {
|
|
@@ -7084,7 +7164,7 @@ class CometChatConversationsComponent {
|
|
|
7084
7164
|
}
|
|
7085
7165
|
markAsRead(readMessage) {
|
|
7086
7166
|
let conversationlist = [...this.conversationList];
|
|
7087
|
-
const conversationKey = conversationlist.findIndex((conversationObj) => conversationObj.getLastMessage().
|
|
7167
|
+
const conversationKey = conversationlist.findIndex((conversationObj) => { var _a; return conversationObj.getLastMessage().getId() == Number(readMessage.getMessageId()) && conversationObj.getLastMessage().getSender().getUid() == ((_a = this.loggedInUser) === null || _a === void 0 ? void 0 : _a.getUid()); });
|
|
7088
7168
|
if (conversationKey > -1) {
|
|
7089
7169
|
let newConversationObject;
|
|
7090
7170
|
if (!conversationlist[conversationKey].getLastMessage().getReadAt()) {
|
|
@@ -7262,8 +7342,7 @@ class CometChatConversationsComponent {
|
|
|
7262
7342
|
}
|
|
7263
7343
|
updateDeliveredMessage(messageReceipt) {
|
|
7264
7344
|
let conversationList = [...this.conversationList];
|
|
7265
|
-
let conversationKey = conversationList.findIndex((c) => c.getLastMessage().getId() ==
|
|
7266
|
-
Number(messageReceipt.getMessageId()));
|
|
7345
|
+
let conversationKey = conversationList.findIndex((c) => { var _a; return c.getLastMessage().getId() == Number(messageReceipt.getMessageId()) && c.getLastMessage().getSender().getUid() == ((_a = this.loggedInUser) === null || _a === void 0 ? void 0 : _a.getUid()); });
|
|
7267
7346
|
let conversationObj;
|
|
7268
7347
|
if (conversationKey > -1) {
|
|
7269
7348
|
conversationObj = conversationList[conversationKey];
|
|
@@ -7491,10 +7570,10 @@ class CometChatConversationsComponent {
|
|
|
7491
7570
|
}
|
|
7492
7571
|
}
|
|
7493
7572
|
CometChatConversationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatConversationsComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: CometChatThemeService }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
7494
|
-
CometChatConversationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatConversationsComponent, selector: "cometchat-conversations", inputs: { subtitleView: "subtitleView", title: "title", options: "options", searchPlaceHolder: "searchPlaceHolder", disableUsersPresence: "disableUsersPresence", disableReceipt: "disableReceipt", disableTyping: "disableTyping", deliveredIcon: "deliveredIcon", readIcon: "readIcon", errorIcon: "errorIcon", datePattern: "datePattern", onError: "onError", sentIcon: "sentIcon", privateGroupIcon: "privateGroupIcon", protectedGroupIcon: "protectedGroupIcon", passwordGroupIcon: "passwordGroupIcon", customSoundForMessages: "customSoundForMessages", activeConversation: "activeConversation", searchIconURL: "searchIconURL", hideSearch: "hideSearch", conversationsRequestBuilder: "conversationsRequestBuilder", emptyStateView: "emptyStateView", onSelect: "onSelect", loadingIconURL: "loadingIconURL", errorStateView: "errorStateView", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", titleAlignment: "titleAlignment", listItemView: "listItemView", menu: "menu", hideSeparator: "hideSeparator", searchPlaceholder: "searchPlaceholder", hideError: "hideError", selectionMode: "selectionMode", disableSoundForMessages: "disableSoundForMessages", confirmDialogTitle: "confirmDialogTitle", confirmButtonText: "confirmButtonText", cancelButtonText: "cancelButtonText", confirmDialogMessage: "confirmDialogMessage", onItemClick: "onItemClick", deleteConversationDialogStyle: "deleteConversationDialogStyle", backdropStyle: "backdropStyle", badgeStyle: "badgeStyle", dateStyle: "dateStyle", conversationsStyle: "conversationsStyle", listItemStyle: "listItemStyle", statusIndicatorStyle: "statusIndicatorStyle", typingIndicatorText: "typingIndicatorText", threadIndicatorText: "threadIndicatorText", avatarStyle: "avatarStyle", receiptStyle: "receiptStyle", loggedInUser: "loggedInUser", disableMentions: "disableMentions", textFormatters: "textFormatters" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-conversations\" [ngStyle]=\"styles.wrapperStyle()\">\n <cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"isDialogOpen\">\n <cometchat-confirm-dialog [title]=\"confirmDialogTitle\"\n [messageText]=\"confirmDialogMessage\" [cancelButtonText]=\"cancelButtonText\"\n [confirmButtonText]=\"confirmButtonText\"\n (cc-confirm-clicked)=\"onConfirmClick()\"\n (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"deleteConversationDialogStyle\">\n </cometchat-confirm-dialog>\n </cometchat-backdrop>\n <div class=\"cc-conversations__menus\" *ngIf=\"menu\">\n\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n\n </div>\n <cometchat-list [state]=\"state\" [searchIconURL]=\"searchIconURL\"\n [hideError]=\"hideError\" [emptyStateText]=\"emptyStateText\"\n [loadingIconURL]=\"loadingIconURL\" [titleAlignment]=\"titleAlignment\"\n [loadingStateView]=\"loadingStateView\" [listStyle]=\"listStyle\"\n [emptyStateView]=\"emptyStateView\" [errorStateText]=\"errorStateText\"\n [errorStateView]=\"errorStateView\" [onScrolledToBottom]=\"getConversation\"\n [list]=\"conversationList\"\n [listItemView]=\"listItemView ? listItemView : listItem\" [title]=\"title\"\n [hideSearch]=\"hideSearch\"></cometchat-list>\n</div>\n<ng-template #listItem let-conversation>\n <cometchat-list-item [hideSeparator]=\"hideSeparator\"\n [avatarStyle]=\"avatarStyle\"\n [statusIndicatorStyle]=\"
|
|
7573
|
+
CometChatConversationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatConversationsComponent, selector: "cometchat-conversations", inputs: { subtitleView: "subtitleView", title: "title", options: "options", searchPlaceHolder: "searchPlaceHolder", disableUsersPresence: "disableUsersPresence", disableReceipt: "disableReceipt", disableTyping: "disableTyping", deliveredIcon: "deliveredIcon", readIcon: "readIcon", errorIcon: "errorIcon", datePattern: "datePattern", onError: "onError", sentIcon: "sentIcon", privateGroupIcon: "privateGroupIcon", protectedGroupIcon: "protectedGroupIcon", passwordGroupIcon: "passwordGroupIcon", customSoundForMessages: "customSoundForMessages", activeConversation: "activeConversation", searchIconURL: "searchIconURL", hideSearch: "hideSearch", conversationsRequestBuilder: "conversationsRequestBuilder", emptyStateView: "emptyStateView", onSelect: "onSelect", loadingIconURL: "loadingIconURL", errorStateView: "errorStateView", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", titleAlignment: "titleAlignment", listItemView: "listItemView", menu: "menu", hideSeparator: "hideSeparator", searchPlaceholder: "searchPlaceholder", hideError: "hideError", selectionMode: "selectionMode", disableSoundForMessages: "disableSoundForMessages", confirmDialogTitle: "confirmDialogTitle", confirmButtonText: "confirmButtonText", cancelButtonText: "cancelButtonText", confirmDialogMessage: "confirmDialogMessage", onItemClick: "onItemClick", deleteConversationDialogStyle: "deleteConversationDialogStyle", backdropStyle: "backdropStyle", badgeStyle: "badgeStyle", dateStyle: "dateStyle", conversationsStyle: "conversationsStyle", listItemStyle: "listItemStyle", statusIndicatorStyle: "statusIndicatorStyle", typingIndicatorText: "typingIndicatorText", threadIndicatorText: "threadIndicatorText", avatarStyle: "avatarStyle", receiptStyle: "receiptStyle", loggedInUser: "loggedInUser", disableMentions: "disableMentions", textFormatters: "textFormatters" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-conversations\" [ngStyle]=\"styles.wrapperStyle()\">\n <cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"isDialogOpen\">\n <cometchat-confirm-dialog [title]=\"confirmDialogTitle\"\n [messageText]=\"confirmDialogMessage\" [cancelButtonText]=\"cancelButtonText\"\n [confirmButtonText]=\"confirmButtonText\"\n (cc-confirm-clicked)=\"onConfirmClick()\"\n (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"deleteConversationDialogStyle\">\n </cometchat-confirm-dialog>\n </cometchat-backdrop>\n <div class=\"cc-conversations__menus\" *ngIf=\"menu\">\n\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n\n </div>\n <cometchat-list [state]=\"state\" [searchIconURL]=\"searchIconURL\"\n [hideError]=\"hideError\" [emptyStateText]=\"emptyStateText\"\n [loadingIconURL]=\"loadingIconURL\" [titleAlignment]=\"titleAlignment\"\n [loadingStateView]=\"loadingStateView\" [listStyle]=\"listStyle\"\n [emptyStateView]=\"emptyStateView\" [errorStateText]=\"errorStateText\"\n [errorStateView]=\"errorStateView\" [onScrolledToBottom]=\"getConversation\"\n [list]=\"conversationList\"\n [listItemView]=\"listItemView ? listItemView : listItem\" [title]=\"title\"\n [hideSearch]=\"hideSearch\"></cometchat-list>\n</div>\n<ng-template #listItem let-conversation>\n <cometchat-list-item [hideSeparator]=\"hideSeparator\"\n [avatarStyle]=\"avatarStyle\"\n [statusIndicatorStyle]=\"getStatusIndicatorStyle(conversation)\"\n [id]=\"conversation?.conversationId\"\n [isActive]=\"getActiveConversation(conversation)\"\n (cc-listitem-clicked)=\"onClick(conversation)\"\n [title]=\"conversation?.conversationWith?.name\"\n [statusIndicatorIcon]=\"checkGroupType(conversation)\"\n [statusIndicatorColor]=\"checkStatusType(conversation)\"\n [listItemStyle]=\"listItemStyle\"\n [avatarURL]=\"conversation?.conversationWith?.avatar || conversation?.conversationWith?.icon\"\n [avatarName]=\"conversation?.conversationWith?.name\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView;else conversationSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: conversation }\">\n </ng-container>\n </div>\n <ng-template #conversationSubtitle>\n\n <div class=\"cc-conversations__subtitle-view \" slot=\"subtitleView\">\n <div class=\"cc-conversations__threadview\"\n *ngIf=\"conversation?.lastMessage?.parentMessageId\">\n <cometchat-label [labelStyle]=\"itemThreadIndicatorStyle()\"\n [text]=\"threadIndicatorText\"> </cometchat-label>\n <cometchat-icon [URL]=\"threadIconURL\"\n [iconStyle]=\"iconStyle\"></cometchat-icon>\n\n </div>\n <div class=\"cc-conversations__subtitle\">\n <div class=\"cc-conversations__readreceipt\"\n *ngIf=\"isReceiptDisable(conversation)\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(conversation)\"\n [receiptStyle]=\"receiptStyle\" [sentIcon]=\"sentIcon\"\n [errorIcon]=\"errorIcon\" [deliveredIcon]=\"deliveredIcon\"\n [readIcon]=\"readIcon\"></cometchat-receipt>\n </div>\n\n <div [ngStyle]=\"subtitleStyle(conversation)\" class=\"cc-subtitle__text\"\n [innerHTML]=\"setSubtitle(conversation)\"></div>\n </div>\n\n </div>\n </ng-template>\n <div slot=\"menuView\" class=\"cc-conversations__optionsview\"\n *ngIf=\"selectionMode == selectionmodeEnum.none\">\n <div *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(conversation)\"\n (cc-menu-clicked)=\"onOptionClick($event,conversation)\"\n [menuListStyle]=\"menustyle\">\n\n </cometchat-menu-list>\n </div>\n <div *ngIf=\"!options && conversationOptions\">\n <cometchat-menu-list [data]=\"conversationOptions\"\n (cc-menu-clicked)=\"onOptionClick($event,conversation)\"\n [menuListStyle]=\"menustyle\">\n\n </cometchat-menu-list>\n </div>\n </div>\n <div slot=\"tailView\" class=\"cc-conversations__tail-view\">\n <div class=\"tail__view\"\n *ngIf=\"selectionMode == selectionmodeEnum.none && conversation?.lastMessage\">\n <div class=\"cc-date\">\n <cometchat-date *ngIf=\"conversation?.lastMessage\"\n [dateStyle]=\"dateStyle\"\n [timestamp]=\"conversation?.lastMessage?.sentAt\"\n [pattern]=\"getDate()\"></cometchat-date>\n </div>\n <div class=\"cc-conversations__badge\">\n <!-- <cometchat-icon *ngIf=\"conversation?.getUnreadMentionInMessageCount()\" [ngStyle]=\"getUnreadMentionsIconStyle()\" [iconStyle]=getMentionIconStyle() [URL]=\"mentionsIconURL\"></cometchat-icon> -->\n <cometchat-badge [count]=\"conversation?.unreadMessageCount\"\n [badgeStyle]=\"badgeStyle\"></cometchat-badge>\n </div>\n </div>\n <div class=\"cc-conversations__selection-view\"\n *ngIf=\"selectionMode != selectionmodeEnum.none\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n </div>\n </cometchat-list-item>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\">\n <cometchat-radio-button\n (cc-radio-button-changed)=\"onConversationSelected(conversation,$event)\"></cometchat-radio-button>\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\">\n <cometchat-checkbox\n (cc-checkbox-changed)=\"onConversationSelected(conversation,$event)\"></cometchat-checkbox>\n </div>\n </ng-template>\n</ng-template>\n", styles: [".cc-conversations{height:100%;width:100%;box-sizing:border-box;margin-bottom:16px;position:relative}.cc-conversations__selection-view{position:relative}.tail__view{display:flex;flex-direction:column;justify-content:flex-start;align-items:center}.cc-subtitle__text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.cc-conversations__menus{position:absolute;right:12px;padding:4px;cursor:pointer}.cc-menus__icon{height:24px;width:24px}.cc-conversations__subtitle-view{display:flex;align-items:center;width:90%;flex-direction:column;justify-content:flex-start}.cc-conversations__subtitle{display:flex;justify-content:flex-start;width:100%;align-items:center;min-height:22px}.cc-conversations__threadview{height:12px;display:flex;justify-content:flex-start;width:100%;align-items:center}.cc-conversations__badge{display:flex;align-items:flex-end;justify-content:flex-end;width:100%;padding-right:8px}cometchat-list-item{padding:0 8px}\n"], components: [{ type: CometchatListComponent, selector: "cometchat-list", inputs: ["listItemView", "onScrolledToBottom", "onScrolledToTop", "list", "onSearch", "getSectionHeader", "searchText", "searchIconURL", "listStyle", "searchPlaceholderText", "hideSearch", "hideError", "title", "titleAlignment", "errorStateView", "loadingStateView", "emptyStateView", "state", "errorStateText", "emptyStateText", "loadingIconURL", "showSectionHeader", "sectionHeaderField", "DateSeparatorPattern", "dateSeparatorStyle"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7495
7574
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatConversationsComponent, decorators: [{
|
|
7496
7575
|
type: Component,
|
|
7497
|
-
args: [{ selector: "cometchat-conversations", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-conversations\" [ngStyle]=\"styles.wrapperStyle()\">\n <cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"isDialogOpen\">\n <cometchat-confirm-dialog [title]=\"confirmDialogTitle\"\n [messageText]=\"confirmDialogMessage\" [cancelButtonText]=\"cancelButtonText\"\n [confirmButtonText]=\"confirmButtonText\"\n (cc-confirm-clicked)=\"onConfirmClick()\"\n (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"deleteConversationDialogStyle\">\n </cometchat-confirm-dialog>\n </cometchat-backdrop>\n <div class=\"cc-conversations__menus\" *ngIf=\"menu\">\n\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n\n </div>\n <cometchat-list [state]=\"state\" [searchIconURL]=\"searchIconURL\"\n [hideError]=\"hideError\" [emptyStateText]=\"emptyStateText\"\n [loadingIconURL]=\"loadingIconURL\" [titleAlignment]=\"titleAlignment\"\n [loadingStateView]=\"loadingStateView\" [listStyle]=\"listStyle\"\n [emptyStateView]=\"emptyStateView\" [errorStateText]=\"errorStateText\"\n [errorStateView]=\"errorStateView\" [onScrolledToBottom]=\"getConversation\"\n [list]=\"conversationList\"\n [listItemView]=\"listItemView ? listItemView : listItem\" [title]=\"title\"\n [hideSearch]=\"hideSearch\"></cometchat-list>\n</div>\n<ng-template #listItem let-conversation>\n <cometchat-list-item [hideSeparator]=\"hideSeparator\"\n [avatarStyle]=\"avatarStyle\"\n [statusIndicatorStyle]=\"
|
|
7576
|
+
args: [{ selector: "cometchat-conversations", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-conversations\" [ngStyle]=\"styles.wrapperStyle()\">\n <cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"isDialogOpen\">\n <cometchat-confirm-dialog [title]=\"confirmDialogTitle\"\n [messageText]=\"confirmDialogMessage\" [cancelButtonText]=\"cancelButtonText\"\n [confirmButtonText]=\"confirmButtonText\"\n (cc-confirm-clicked)=\"onConfirmClick()\"\n (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"deleteConversationDialogStyle\">\n </cometchat-confirm-dialog>\n </cometchat-backdrop>\n <div class=\"cc-conversations__menus\" *ngIf=\"menu\">\n\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n\n </div>\n <cometchat-list [state]=\"state\" [searchIconURL]=\"searchIconURL\"\n [hideError]=\"hideError\" [emptyStateText]=\"emptyStateText\"\n [loadingIconURL]=\"loadingIconURL\" [titleAlignment]=\"titleAlignment\"\n [loadingStateView]=\"loadingStateView\" [listStyle]=\"listStyle\"\n [emptyStateView]=\"emptyStateView\" [errorStateText]=\"errorStateText\"\n [errorStateView]=\"errorStateView\" [onScrolledToBottom]=\"getConversation\"\n [list]=\"conversationList\"\n [listItemView]=\"listItemView ? listItemView : listItem\" [title]=\"title\"\n [hideSearch]=\"hideSearch\"></cometchat-list>\n</div>\n<ng-template #listItem let-conversation>\n <cometchat-list-item [hideSeparator]=\"hideSeparator\"\n [avatarStyle]=\"avatarStyle\"\n [statusIndicatorStyle]=\"getStatusIndicatorStyle(conversation)\"\n [id]=\"conversation?.conversationId\"\n [isActive]=\"getActiveConversation(conversation)\"\n (cc-listitem-clicked)=\"onClick(conversation)\"\n [title]=\"conversation?.conversationWith?.name\"\n [statusIndicatorIcon]=\"checkGroupType(conversation)\"\n [statusIndicatorColor]=\"checkStatusType(conversation)\"\n [listItemStyle]=\"listItemStyle\"\n [avatarURL]=\"conversation?.conversationWith?.avatar || conversation?.conversationWith?.icon\"\n [avatarName]=\"conversation?.conversationWith?.name\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView;else conversationSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: conversation }\">\n </ng-container>\n </div>\n <ng-template #conversationSubtitle>\n\n <div class=\"cc-conversations__subtitle-view \" slot=\"subtitleView\">\n <div class=\"cc-conversations__threadview\"\n *ngIf=\"conversation?.lastMessage?.parentMessageId\">\n <cometchat-label [labelStyle]=\"itemThreadIndicatorStyle()\"\n [text]=\"threadIndicatorText\"> </cometchat-label>\n <cometchat-icon [URL]=\"threadIconURL\"\n [iconStyle]=\"iconStyle\"></cometchat-icon>\n\n </div>\n <div class=\"cc-conversations__subtitle\">\n <div class=\"cc-conversations__readreceipt\"\n *ngIf=\"isReceiptDisable(conversation)\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(conversation)\"\n [receiptStyle]=\"receiptStyle\" [sentIcon]=\"sentIcon\"\n [errorIcon]=\"errorIcon\" [deliveredIcon]=\"deliveredIcon\"\n [readIcon]=\"readIcon\"></cometchat-receipt>\n </div>\n\n <div [ngStyle]=\"subtitleStyle(conversation)\" class=\"cc-subtitle__text\"\n [innerHTML]=\"setSubtitle(conversation)\"></div>\n </div>\n\n </div>\n </ng-template>\n <div slot=\"menuView\" class=\"cc-conversations__optionsview\"\n *ngIf=\"selectionMode == selectionmodeEnum.none\">\n <div *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(conversation)\"\n (cc-menu-clicked)=\"onOptionClick($event,conversation)\"\n [menuListStyle]=\"menustyle\">\n\n </cometchat-menu-list>\n </div>\n <div *ngIf=\"!options && conversationOptions\">\n <cometchat-menu-list [data]=\"conversationOptions\"\n (cc-menu-clicked)=\"onOptionClick($event,conversation)\"\n [menuListStyle]=\"menustyle\">\n\n </cometchat-menu-list>\n </div>\n </div>\n <div slot=\"tailView\" class=\"cc-conversations__tail-view\">\n <div class=\"tail__view\"\n *ngIf=\"selectionMode == selectionmodeEnum.none && conversation?.lastMessage\">\n <div class=\"cc-date\">\n <cometchat-date *ngIf=\"conversation?.lastMessage\"\n [dateStyle]=\"dateStyle\"\n [timestamp]=\"conversation?.lastMessage?.sentAt\"\n [pattern]=\"getDate()\"></cometchat-date>\n </div>\n <div class=\"cc-conversations__badge\">\n <!-- <cometchat-icon *ngIf=\"conversation?.getUnreadMentionInMessageCount()\" [ngStyle]=\"getUnreadMentionsIconStyle()\" [iconStyle]=getMentionIconStyle() [URL]=\"mentionsIconURL\"></cometchat-icon> -->\n <cometchat-badge [count]=\"conversation?.unreadMessageCount\"\n [badgeStyle]=\"badgeStyle\"></cometchat-badge>\n </div>\n </div>\n <div class=\"cc-conversations__selection-view\"\n *ngIf=\"selectionMode != selectionmodeEnum.none\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n </div>\n </cometchat-list-item>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\">\n <cometchat-radio-button\n (cc-radio-button-changed)=\"onConversationSelected(conversation,$event)\"></cometchat-radio-button>\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\">\n <cometchat-checkbox\n (cc-checkbox-changed)=\"onConversationSelected(conversation,$event)\"></cometchat-checkbox>\n </div>\n </ng-template>\n</ng-template>\n", styles: [".cc-conversations{height:100%;width:100%;box-sizing:border-box;margin-bottom:16px;position:relative}.cc-conversations__selection-view{position:relative}.tail__view{display:flex;flex-direction:column;justify-content:flex-start;align-items:center}.cc-subtitle__text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.cc-conversations__menus{position:absolute;right:12px;padding:4px;cursor:pointer}.cc-menus__icon{height:24px;width:24px}.cc-conversations__subtitle-view{display:flex;align-items:center;width:90%;flex-direction:column;justify-content:flex-start}.cc-conversations__subtitle{display:flex;justify-content:flex-start;width:100%;align-items:center;min-height:22px}.cc-conversations__threadview{height:12px;display:flex;justify-content:flex-start;width:100%;align-items:center}.cc-conversations__badge{display:flex;align-items:flex-end;justify-content:flex-end;width:100%;padding-right:8px}cometchat-list-item{padding:0 8px}\n"] }]
|
|
7498
7577
|
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: CometChatThemeService }, { type: i2.DomSanitizer }]; }, propDecorators: { subtitleView: [{
|
|
7499
7578
|
type: Input
|
|
7500
7579
|
}], title: [{
|
|
@@ -8228,12 +8307,15 @@ class CometChatMessageInformationComponent {
|
|
|
8228
8307
|
ngOnDestroy() {
|
|
8229
8308
|
this.onMessagesDelivered.unsubscribe();
|
|
8230
8309
|
this.onMessagesRead.unsubscribe();
|
|
8310
|
+
this.onMessagesReadByAll.unsubscribe();
|
|
8311
|
+
this.onMessagesDeliveredToAll.unsubscribe();
|
|
8231
8312
|
}
|
|
8232
8313
|
addMessageEventListeners() {
|
|
8233
8314
|
try {
|
|
8234
8315
|
this.onMessagesDelivered = CometChatMessageEvents.onMessagesDelivered.subscribe((messageReceipt) => {
|
|
8235
8316
|
var _a, _b;
|
|
8236
8317
|
if (((_a = this.message) === null || _a === void 0 ? void 0 : _a.getId()) == Number(messageReceipt.getMessageId())) {
|
|
8318
|
+
this.updateReceipt(messageReceipt);
|
|
8237
8319
|
(_b = this.message) === null || _b === void 0 ? void 0 : _b.setDeliveredAt(messageReceipt.getDeliveredAt());
|
|
8238
8320
|
this.ref.detectChanges();
|
|
8239
8321
|
}
|
|
@@ -8241,6 +8323,7 @@ class CometChatMessageInformationComponent {
|
|
|
8241
8323
|
this.onMessagesRead = CometChatMessageEvents.onMessagesRead.subscribe((messageReceipt) => {
|
|
8242
8324
|
var _a, _b;
|
|
8243
8325
|
if (((_a = this.message) === null || _a === void 0 ? void 0 : _a.getId()) == Number(messageReceipt.getMessageId())) {
|
|
8326
|
+
this.updateReceipt(messageReceipt);
|
|
8244
8327
|
(_b = this.message) === null || _b === void 0 ? void 0 : _b.setReadAt(messageReceipt.getReadAt());
|
|
8245
8328
|
this.ref.detectChanges();
|
|
8246
8329
|
}
|
|
@@ -8262,6 +8345,18 @@ class CometChatMessageInformationComponent {
|
|
|
8262
8345
|
let receipt = MessageReceiptUtils.getReceiptStatus(this.message);
|
|
8263
8346
|
return receipt;
|
|
8264
8347
|
}
|
|
8348
|
+
updateReceipt(receipt) {
|
|
8349
|
+
let messageKey = this.receipts.findIndex((m) => m.getSender().getUid() === receipt.getSender().getUid());
|
|
8350
|
+
if (messageKey > -1) {
|
|
8351
|
+
if (receipt.getReceiptType() == receipt.RECEIPT_TYPE.READ_RECEIPT) {
|
|
8352
|
+
this.receipts[messageKey].setReadAt(receipt.getReadAt());
|
|
8353
|
+
}
|
|
8354
|
+
else {
|
|
8355
|
+
this.receipts[messageKey].setDeliveredAt(receipt.getDeliveredAt());
|
|
8356
|
+
}
|
|
8357
|
+
}
|
|
8358
|
+
this.ref.detectChanges();
|
|
8359
|
+
}
|
|
8265
8360
|
getMessageReceipts() {
|
|
8266
8361
|
if (this.message.getReceiverType() == CometChatUIKitConstants.MessageReceiverType.user) {
|
|
8267
8362
|
this.isUserType = true;
|
|
@@ -8302,10 +8397,10 @@ class CometChatMessageInformationComponent {
|
|
|
8302
8397
|
}
|
|
8303
8398
|
}
|
|
8304
8399
|
CometChatMessageInformationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageInformationComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
8305
|
-
CometChatMessageInformationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageInformationComponent, selector: "cometchat-message-information", inputs: { closeIconURL: "closeIconURL", message: "message", title: "title", template: "template", bubbleView: "bubbleView", subtitleView: "subtitleView", listItemView: "listItemView", receiptDatePattern: "receiptDatePattern", onError: "onError", messageInformationStyle: "messageInformationStyle", readIcon: "readIcon", deliveredIcon: "deliveredIcon", onClose: "onClose", listItemStyle: "listItemStyle", emptyStateText: "emptyStateText", errorStateText: "errorStateText", emptyStateView: "emptyStateView", loadingIconURL: "loadingIconURL", loadingStateView: "loadingStateView", errorStateView: "errorStateView" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-information__wrapper\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-message-information__header\">\n <div class=\"cc-message-information__title\">\n <cometchat-label [text]=\"title\" [labelStyle]=\"getTitleStyle()\" ></cometchat-label>\n </div>\n <div class=\"cc-close-button\">\n <cometchat-button [iconURL]=\"closeIconURL\" [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n </cometchat-button>\n </div>\n </div>\n <div class=\"cc-message-information__bubble\">\n <cometchat-label class=\"cc-message-information__caption\" [labelStyle]=\"getCaptionStyle()\" [text]=\"messageText\"></cometchat-label>\n <div class=\"cc-message-information__bubble-view\">\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n <ng-container *ngTemplateOutlet=\"bubbleView; context:{ $implicit: message }\">\n </ng-container>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n </div>\n </div>\n <div class=\"cc-message-information__list-item\">\n <cometchat-label class=\"cc-message-information__caption\" [labelStyle]=\"getCaptionStyle()\" [text]=\"receiptInfoText\"></cometchat-label>\n <div class=\"cc-message-information__bubble-view\" *ngIf=\"isUserType; else listView\">\n <ng-container *ngIf=\"listItemView; else userListitem\">\n <ng-container *ngTemplateOutlet=\"listItemView; context:{ $implicit: message }\">\n </ng-container>\n </ng-container>\n <ng-template #userListitem>\n <div *ngIf=\"!getUserReceipt(); else userReceiptView\" class=\"cc-empty-state-view\">\n <cometchat-label *ngIf=\"!emptyStateView else customEmptyView\" [text]=\"emptyStateText\" [labelStyle]=\"emptyLabelStyle\"></cometchat-label>\n <ng-template #customEmptyView>\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </ng-template>\n </div>\n <ng-template #userReceiptView>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n <cometchat-list-item [hideSeparator]=\"true\"\n [id]=\"message.getId()\"\n [title]=\"message.getReceiver().getName()\"\n [listItemStyle]=\"listItemStyle\" [avatarURL]=\"getAvatarUrl()\" [avatarName]=\"message.getReceiver().getName()\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView;else userSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <ng-template #userSubtitle>\n <div class=\"cc-list-item__subtitle-view \" slot=\"subtitleView\">\n <div class=\"cc-list-item__subtitle\">\n <div class=\"cc-list-item__delivered-receipt\" *ngIf=\"message.getDeliveredAt()\">\n <div class=\"cc-list-item__receipt\">\n <cometchat-receipt [receipt]=\"deliveredReceipt\" [receiptStyle]=\"receiptStyle\" [deliveredIcon]=\"deliveredIcon\" [readIcon]=\"readIcon\"></cometchat-receipt>\n <cometchat-label [text]=\"'Delivered'\" [labelStyle]=\"getSubtitleStyle()\"></cometchat-label>\n </div>\n <cometchat-date [timestamp]=\"message.getDeliveredAt()\" [dateStyle]=\"dateStyle\"></cometchat-date>\n </div>\n <div class=\"cc-list-item__read-receipt\" *ngIf=\"message.getReadAt()\">\n <div class=\"cc-list-item__receipt\">\n <cometchat-receipt [receipt]=\"readReceipt\" [receiptStyle]=\"receiptStyle\" [deliveredIcon]=\"deliveredIcon\" [readIcon]=\"readIcon\"></cometchat-receipt>\n <cometchat-label [text]=\"'Read'\" [labelStyle]=\"getSubtitleStyle()\"></cometchat-label>\n </div>\n <cometchat-date [timestamp]=\"message.getReadAt()\" [dateStyle]=\"dateStyle\"></cometchat-date>\n </div>\n </div>\n </div>\n </ng-template>\n </cometchat-list-item>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n </ng-template>\n </ng-template>\n </div>\n </div>\n</div>\n<!-- list item view -->\n<ng-template #listView>\n<cometchat-list\n[list]=\"receipts\"\n[listItemView]=\"listItemView ? listItemView : listItem\"\n[hideSearch]=\"true\"\n[state]=\"states\"\n[emptyStateText]=\"emptyStateText\"\n[errorStateText]=\"errorStateText\"\n[loadingIconURL]=\"loadingIconURL\"\n[loadingStateView]=\"loadingStateView\"\n[errorStateView]=\"errorStateView\"\n[emptyStateView]=\"emptyStateView\"\n[title]=\"''\"\n></cometchat-list>\n</ng-template>\n<ng-template #listItem let-messageReceipt>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n <cometchat-list-item [hideSeparator]=\"true\"\n [title]=\"messageReceipt.getSender().getName()\"\n [listItemStyle]=\"listItemStyle\" [avatarURL]=\"messageReceipt.getSender()?.getAvatar()\" [avatarName]=\"messageReceipt.getSender().getName()\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView;else userSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <ng-template #userSubtitle>\n <div class=\"cc-list-item__subtitle-view \" slot=\"subtitleView\">\n<div class=\"cc-list-item__subtitle\">\n <div class=\"cc-list-item__delivered-receipt\" *ngIf=\"messageReceipt.getDeliveredAt()\">\n<div class=\"cc-list-item__receipt\">\n <cometchat-receipt [receipt]=\"deliveredReceipt\" [receiptStyle]=\"receiptStyle\" [deliveredIcon]=\"deliveredIcon\" [readIcon]=\"readIcon\"></cometchat-receipt>\n <cometchat-label [text]=\"'Delivered'\" [labelStyle]=\"getSubtitleStyle()\"></cometchat-label>\n</div>\n <cometchat-date [timestamp]=\"messageReceipt.getDeliveredAt()\" [dateStyle]=\"dateStyle\" [pattern]=\"deliveredReceipt\" [customDateString]=\"getDatePattern(messageReceipt.getDeliveredAt())\"></cometchat-date>\n </div>\n <div class=\"cc-list-item__read-receipt\" *ngIf=\"messageReceipt.getReadAt()\">\n <div class=\"cc-list-item__receipt\">\n <cometchat-receipt [receipt]=\"readReceipt\" [receiptStyle]=\"receiptStyle\" [deliveredIcon]=\"deliveredIcon\" [readIcon]=\"readIcon\"></cometchat-receipt>\n <cometchat-label [text]=\"'Read'\" [labelStyle]=\"getSubtitleStyle()\"></cometchat-label>\n </div>\n <cometchat-date [pattern]=\"readReceipt\" [timestamp]=\"messageReceipt.getReadAt()\" [dateStyle]=\"dateStyle\" [customDateString]=\"getDatePattern(messageReceipt.getReadAt())\"></cometchat-date>\n </div>\n</div>\n </div>\n </ng-template>\n </cometchat-list-item>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n</ng-template>", styles: [".cc-message-information__wrapper{height:500px;width:500px;background-color:#fff;padding:8px;display:flex;overflow:hidden;flex-direction:column}*{margin:0;padding:0;box-sizing:border-box}.cc-message-information__title{display:flex;align-items:center;justify-content:center;height:-moz-fit-content;height:fit-content;width:100%;padding:8px 0}.cc-close-button{padding:8px 0}.cc-message-information__header{display:flex;flex-direction:row;justify-content:flex-end}.cc-message-information__bubble-header{display:flex;align-items:flex-start;justify-content:flex-start;padding-bottom:2px}.cc-message-information__bubble-view{overflow-y:auto;max-height:150px;overflow-x:hidden}.cc-message-information__bubble,.cc-message-information__list-item{margin:8px 0;overflow:hidden}.cc-list-item__delivered-receipt,.cc-list-item__read-receipt{display:flex;justify-content:space-between}.cc-list-item__receipt{display:flex}cometchat-label{display:flex;align-items:center;justify-content:flex-start}.cc-empty-state-view{display:flex;align-items:flex-start;justify-content:center}\n"], components: [{ type: CometchatListComponent, selector: "cometchat-list", inputs: ["listItemView", "onScrolledToBottom", "onScrolledToTop", "list", "onSearch", "getSectionHeader", "searchText", "searchIconURL", "listStyle", "searchPlaceholderText", "hideSearch", "hideError", "title", "titleAlignment", "errorStateView", "loadingStateView", "emptyStateView", "state", "errorStateText", "emptyStateText", "loadingIconURL", "showSectionHeader", "sectionHeaderField", "DateSeparatorPattern", "dateSeparatorStyle"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8400
|
+
CometChatMessageInformationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageInformationComponent, selector: "cometchat-message-information", inputs: { closeIconURL: "closeIconURL", message: "message", title: "title", template: "template", bubbleView: "bubbleView", subtitleView: "subtitleView", listItemView: "listItemView", receiptDatePattern: "receiptDatePattern", onError: "onError", messageInformationStyle: "messageInformationStyle", readIcon: "readIcon", deliveredIcon: "deliveredIcon", onClose: "onClose", listItemStyle: "listItemStyle", emptyStateText: "emptyStateText", errorStateText: "errorStateText", emptyStateView: "emptyStateView", loadingIconURL: "loadingIconURL", loadingStateView: "loadingStateView", errorStateView: "errorStateView" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-information__wrapper\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-message-information__header\">\n <div class=\"cc-message-information__title\">\n <cometchat-label [text]=\"title\"\n [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n </div>\n <div class=\"cc-close-button\">\n <cometchat-button [iconURL]=\"closeIconURL\"\n [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n </cometchat-button>\n </div>\n </div>\n <div class=\"cc-message-information__bubble\">\n <cometchat-label class=\"cc-message-information__caption\"\n [labelStyle]=\"getCaptionStyle()\" [text]=\"messageText\"></cometchat-label>\n <div class=\"cc-message-information__bubble-view\">\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n <ng-container\n *ngTemplateOutlet=\"bubbleView; context:{ $implicit: message }\">\n </ng-container>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n </div>\n </div>\n <div class=\"cc-message-information__list-item\">\n <cometchat-label class=\"cc-message-information__caption\"\n [labelStyle]=\"getCaptionStyle()\"\n [text]=\"receiptInfoText\"></cometchat-label>\n <div class=\"cc-message-information__bubble-view\"\n *ngIf=\"isUserType; else listView\">\n <ng-container *ngIf=\"listItemView; else userListitem\">\n <ng-container\n *ngTemplateOutlet=\"listItemView; context:{ $implicit: message }\">\n </ng-container>\n </ng-container>\n <ng-template #userListitem>\n <div *ngIf=\"!getUserReceipt(); else userReceiptView\"\n class=\"cc-empty-state-view\">\n <cometchat-label *ngIf=\"!emptyStateView else customEmptyView\"\n [text]=\"emptyStateText\"\n [labelStyle]=\"emptyLabelStyle\"></cometchat-label>\n <ng-template #customEmptyView>\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </ng-template>\n </div>\n <ng-template #userReceiptView>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n <cometchat-list-item [hideSeparator]=\"true\" [id]=\"message.getId()\"\n [title]=\"message.getReceiver().getName()\"\n [listItemStyle]=\"listItemStyle\" [avatarURL]=\"getAvatarUrl()\"\n [avatarName]=\"message.getReceiver().getName()\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView;else userSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <ng-template #userSubtitle>\n <div class=\"cc-list-item__subtitle-view \" slot=\"subtitleView\">\n <div class=\"cc-list-item__subtitle\">\n <div class=\"cc-list-item__delivered-receipt\"\n *ngIf=\"message.getDeliveredAt()\">\n <div class=\"cc-list-item__receipt\">\n <cometchat-receipt [receipt]=\"deliveredReceipt\"\n [receiptStyle]=\"receiptStyle\"\n [deliveredIcon]=\"deliveredIcon\"\n [readIcon]=\"readIcon\"></cometchat-receipt>\n <cometchat-label [text]=\"'Delivered'\"\n [labelStyle]=\"getSubtitleStyle()\"></cometchat-label>\n </div>\n <cometchat-date [timestamp]=\"message.getDeliveredAt()\"\n [dateStyle]=\"dateStyle\"></cometchat-date>\n </div>\n <div class=\"cc-list-item__read-receipt\"\n *ngIf=\"message.getReadAt()\">\n <div class=\"cc-list-item__receipt\">\n <cometchat-receipt [receipt]=\"readReceipt\"\n [receiptStyle]=\"receiptStyle\"\n [deliveredIcon]=\"deliveredIcon\"\n [readIcon]=\"readIcon\"></cometchat-receipt>\n <cometchat-label [text]=\"'Read'\"\n [labelStyle]=\"getSubtitleStyle()\"></cometchat-label>\n </div>\n <cometchat-date [timestamp]=\"message.getReadAt()\"\n [dateStyle]=\"dateStyle\"></cometchat-date>\n </div>\n </div>\n </div>\n </ng-template>\n </cometchat-list-item>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n </ng-template>\n </ng-template>\n </div>\n </div>\n</div>\n<!-- list item view -->\n<ng-template #listView>\n <cometchat-list [list]=\"receipts\"\n [listItemView]=\"listItemView ? listItemView : listItem\" [hideSearch]=\"true\"\n [state]=\"states\" [emptyStateText]=\"emptyStateText\"\n [errorStateText]=\"errorStateText\" [loadingIconURL]=\"loadingIconURL\"\n [loadingStateView]=\"loadingStateView\" [errorStateView]=\"errorStateView\"\n [emptyStateView]=\"emptyStateView\" [title]=\"''\"></cometchat-list>\n</ng-template>\n<ng-template #listItem let-messageReceipt>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n <cometchat-list-item [hideSeparator]=\"true\"\n [title]=\"messageReceipt.getSender().getName()\"\n [listItemStyle]=\"listItemStyle\"\n [avatarURL]=\"messageReceipt.getSender()?.getAvatar()\"\n [avatarName]=\"messageReceipt.getSender().getName()\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView;else userSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <ng-template #userSubtitle>\n <div class=\"cc-list-item__subtitle-view \" slot=\"subtitleView\">\n <div class=\"cc-list-item__subtitle\">\n <div class=\"cc-list-item__delivered-receipt\"\n *ngIf=\"messageReceipt.getDeliveredAt()\">\n <div class=\"cc-list-item__receipt\">\n <cometchat-receipt [receipt]=\"deliveredReceipt\"\n [receiptStyle]=\"receiptStyle\" [deliveredIcon]=\"deliveredIcon\"\n [readIcon]=\"readIcon\"></cometchat-receipt>\n <cometchat-label [text]=\"'Delivered'\"\n [labelStyle]=\"getSubtitleStyle()\"></cometchat-label>\n </div>\n <cometchat-date [timestamp]=\"messageReceipt.getDeliveredAt()\"\n [dateStyle]=\"dateStyle\"></cometchat-date>\n </div>\n <div class=\"cc-list-item__read-receipt\"\n *ngIf=\"messageReceipt.getReadAt()\">\n <div class=\"cc-list-item__receipt\">\n <cometchat-receipt [receipt]=\"readReceipt\"\n [receiptStyle]=\"receiptStyle\" [deliveredIcon]=\"deliveredIcon\"\n [readIcon]=\"readIcon\"></cometchat-receipt>\n <cometchat-label [text]=\"'Read'\"\n [labelStyle]=\"getSubtitleStyle()\"></cometchat-label>\n </div>\n <cometchat-date [timestamp]=\"messageReceipt.getReadAt()\"\n [dateStyle]=\"dateStyle\"></cometchat-date>\n </div>\n </div>\n </div>\n </ng-template>\n </cometchat-list-item>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n</ng-template>\n", styles: [".cc-message-information__wrapper{height:500px;width:500px;background-color:#fff;padding:8px;display:flex;overflow:hidden;flex-direction:column}*{margin:0;padding:0;box-sizing:border-box}.cc-message-information__title{display:flex;align-items:center;justify-content:center;height:-moz-fit-content;height:fit-content;width:100%;padding:8px 0}.cc-close-button{padding:8px 0}.cc-message-information__header{display:flex;flex-direction:row;justify-content:flex-end}.cc-message-information__bubble-header{display:flex;align-items:flex-start;justify-content:flex-start;padding-bottom:2px}.cc-message-information__bubble-view{overflow-y:auto;max-height:150px;overflow-x:hidden}.cc-message-information__bubble,.cc-message-information__list-item{margin:8px 0;overflow:hidden}.cc-list-item__delivered-receipt,.cc-list-item__read-receipt{display:flex;justify-content:space-between}.cc-list-item__receipt{display:flex}cometchat-label{display:flex;align-items:center;justify-content:flex-start}.cc-empty-state-view{display:flex;align-items:flex-start;justify-content:center}\n"], components: [{ type: CometchatListComponent, selector: "cometchat-list", inputs: ["listItemView", "onScrolledToBottom", "onScrolledToTop", "list", "onSearch", "getSectionHeader", "searchText", "searchIconURL", "listStyle", "searchPlaceholderText", "hideSearch", "hideError", "title", "titleAlignment", "errorStateView", "loadingStateView", "emptyStateView", "state", "errorStateText", "emptyStateText", "loadingIconURL", "showSectionHeader", "sectionHeaderField", "DateSeparatorPattern", "dateSeparatorStyle"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8306
8401
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageInformationComponent, decorators: [{
|
|
8307
8402
|
type: Component,
|
|
8308
|
-
args: [{ selector: 'cometchat-message-information', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-information__wrapper\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-message-information__header\">\n <div class=\"cc-message-information__title\">\n <cometchat-label [text]=\"title\"
|
|
8403
|
+
args: [{ selector: 'cometchat-message-information', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-information__wrapper\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-message-information__header\">\n <div class=\"cc-message-information__title\">\n <cometchat-label [text]=\"title\"\n [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n </div>\n <div class=\"cc-close-button\">\n <cometchat-button [iconURL]=\"closeIconURL\"\n [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n </cometchat-button>\n </div>\n </div>\n <div class=\"cc-message-information__bubble\">\n <cometchat-label class=\"cc-message-information__caption\"\n [labelStyle]=\"getCaptionStyle()\" [text]=\"messageText\"></cometchat-label>\n <div class=\"cc-message-information__bubble-view\">\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n <ng-container\n *ngTemplateOutlet=\"bubbleView; context:{ $implicit: message }\">\n </ng-container>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n </div>\n </div>\n <div class=\"cc-message-information__list-item\">\n <cometchat-label class=\"cc-message-information__caption\"\n [labelStyle]=\"getCaptionStyle()\"\n [text]=\"receiptInfoText\"></cometchat-label>\n <div class=\"cc-message-information__bubble-view\"\n *ngIf=\"isUserType; else listView\">\n <ng-container *ngIf=\"listItemView; else userListitem\">\n <ng-container\n *ngTemplateOutlet=\"listItemView; context:{ $implicit: message }\">\n </ng-container>\n </ng-container>\n <ng-template #userListitem>\n <div *ngIf=\"!getUserReceipt(); else userReceiptView\"\n class=\"cc-empty-state-view\">\n <cometchat-label *ngIf=\"!emptyStateView else customEmptyView\"\n [text]=\"emptyStateText\"\n [labelStyle]=\"emptyLabelStyle\"></cometchat-label>\n <ng-template #customEmptyView>\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </ng-template>\n </div>\n <ng-template #userReceiptView>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n <cometchat-list-item [hideSeparator]=\"true\" [id]=\"message.getId()\"\n [title]=\"message.getReceiver().getName()\"\n [listItemStyle]=\"listItemStyle\" [avatarURL]=\"getAvatarUrl()\"\n [avatarName]=\"message.getReceiver().getName()\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView;else userSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <ng-template #userSubtitle>\n <div class=\"cc-list-item__subtitle-view \" slot=\"subtitleView\">\n <div class=\"cc-list-item__subtitle\">\n <div class=\"cc-list-item__delivered-receipt\"\n *ngIf=\"message.getDeliveredAt()\">\n <div class=\"cc-list-item__receipt\">\n <cometchat-receipt [receipt]=\"deliveredReceipt\"\n [receiptStyle]=\"receiptStyle\"\n [deliveredIcon]=\"deliveredIcon\"\n [readIcon]=\"readIcon\"></cometchat-receipt>\n <cometchat-label [text]=\"'Delivered'\"\n [labelStyle]=\"getSubtitleStyle()\"></cometchat-label>\n </div>\n <cometchat-date [timestamp]=\"message.getDeliveredAt()\"\n [dateStyle]=\"dateStyle\"></cometchat-date>\n </div>\n <div class=\"cc-list-item__read-receipt\"\n *ngIf=\"message.getReadAt()\">\n <div class=\"cc-list-item__receipt\">\n <cometchat-receipt [receipt]=\"readReceipt\"\n [receiptStyle]=\"receiptStyle\"\n [deliveredIcon]=\"deliveredIcon\"\n [readIcon]=\"readIcon\"></cometchat-receipt>\n <cometchat-label [text]=\"'Read'\"\n [labelStyle]=\"getSubtitleStyle()\"></cometchat-label>\n </div>\n <cometchat-date [timestamp]=\"message.getReadAt()\"\n [dateStyle]=\"dateStyle\"></cometchat-date>\n </div>\n </div>\n </div>\n </ng-template>\n </cometchat-list-item>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n </ng-template>\n </ng-template>\n </div>\n </div>\n</div>\n<!-- list item view -->\n<ng-template #listView>\n <cometchat-list [list]=\"receipts\"\n [listItemView]=\"listItemView ? listItemView : listItem\" [hideSearch]=\"true\"\n [state]=\"states\" [emptyStateText]=\"emptyStateText\"\n [errorStateText]=\"errorStateText\" [loadingIconURL]=\"loadingIconURL\"\n [loadingStateView]=\"loadingStateView\" [errorStateView]=\"errorStateView\"\n [emptyStateView]=\"emptyStateView\" [title]=\"''\"></cometchat-list>\n</ng-template>\n<ng-template #listItem let-messageReceipt>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n <cometchat-list-item [hideSeparator]=\"true\"\n [title]=\"messageReceipt.getSender().getName()\"\n [listItemStyle]=\"listItemStyle\"\n [avatarURL]=\"messageReceipt.getSender()?.getAvatar()\"\n [avatarName]=\"messageReceipt.getSender().getName()\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView;else userSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <ng-template #userSubtitle>\n <div class=\"cc-list-item__subtitle-view \" slot=\"subtitleView\">\n <div class=\"cc-list-item__subtitle\">\n <div class=\"cc-list-item__delivered-receipt\"\n *ngIf=\"messageReceipt.getDeliveredAt()\">\n <div class=\"cc-list-item__receipt\">\n <cometchat-receipt [receipt]=\"deliveredReceipt\"\n [receiptStyle]=\"receiptStyle\" [deliveredIcon]=\"deliveredIcon\"\n [readIcon]=\"readIcon\"></cometchat-receipt>\n <cometchat-label [text]=\"'Delivered'\"\n [labelStyle]=\"getSubtitleStyle()\"></cometchat-label>\n </div>\n <cometchat-date [timestamp]=\"messageReceipt.getDeliveredAt()\"\n [dateStyle]=\"dateStyle\"></cometchat-date>\n </div>\n <div class=\"cc-list-item__read-receipt\"\n *ngIf=\"messageReceipt.getReadAt()\">\n <div class=\"cc-list-item__receipt\">\n <cometchat-receipt [receipt]=\"readReceipt\"\n [receiptStyle]=\"receiptStyle\" [deliveredIcon]=\"deliveredIcon\"\n [readIcon]=\"readIcon\"></cometchat-receipt>\n <cometchat-label [text]=\"'Read'\"\n [labelStyle]=\"getSubtitleStyle()\"></cometchat-label>\n </div>\n <cometchat-date [timestamp]=\"messageReceipt.getReadAt()\"\n [dateStyle]=\"dateStyle\"></cometchat-date>\n </div>\n </div>\n </div>\n </ng-template>\n </cometchat-list-item>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n</ng-template>\n", styles: [".cc-message-information__wrapper{height:500px;width:500px;background-color:#fff;padding:8px;display:flex;overflow:hidden;flex-direction:column}*{margin:0;padding:0;box-sizing:border-box}.cc-message-information__title{display:flex;align-items:center;justify-content:center;height:-moz-fit-content;height:fit-content;width:100%;padding:8px 0}.cc-close-button{padding:8px 0}.cc-message-information__header{display:flex;flex-direction:row;justify-content:flex-end}.cc-message-information__bubble-header{display:flex;align-items:flex-start;justify-content:flex-start;padding-bottom:2px}.cc-message-information__bubble-view{overflow-y:auto;max-height:150px;overflow-x:hidden}.cc-message-information__bubble,.cc-message-information__list-item{margin:8px 0;overflow:hidden}.cc-list-item__delivered-receipt,.cc-list-item__read-receipt{display:flex;justify-content:space-between}.cc-list-item__receipt{display:flex}cometchat-label{display:flex;align-items:center;justify-content:flex-start}.cc-empty-state-view{display:flex;align-items:flex-start;justify-content:center}\n"] }]
|
|
8309
8404
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { closeIconURL: [{
|
|
8310
8405
|
type: Input
|
|
8311
8406
|
}], message: [{
|
|
@@ -8364,6 +8459,7 @@ class CometChatMessageListComponent {
|
|
|
8364
8459
|
this.ref = ref;
|
|
8365
8460
|
this.themeService = themeService;
|
|
8366
8461
|
this.hideError = false;
|
|
8462
|
+
this.hideDateSeparator = false;
|
|
8367
8463
|
this.errorStateText = localize("SOMETHING_WRONG");
|
|
8368
8464
|
this.emptyStateText = localize("NO_MESSAGES_FOUND");
|
|
8369
8465
|
this.loadingIconURL = "assets/Spinner.svg";
|
|
@@ -8407,7 +8503,7 @@ class CometChatMessageListComponent {
|
|
|
8407
8503
|
width: "",
|
|
8408
8504
|
};
|
|
8409
8505
|
this.messageListStyle = {
|
|
8410
|
-
nameTextFont: "
|
|
8506
|
+
nameTextFont: "400 11px Inter",
|
|
8411
8507
|
emptyStateTextFont: "700 22px Inter",
|
|
8412
8508
|
errorStateTextFont: "700 22px Inter",
|
|
8413
8509
|
};
|
|
@@ -10174,7 +10270,7 @@ class CometChatMessageListComponent {
|
|
|
10174
10270
|
}
|
|
10175
10271
|
}
|
|
10176
10272
|
ngOnDestroy() {
|
|
10177
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
10273
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
10178
10274
|
this.showConversationStarter = false;
|
|
10179
10275
|
this.showConversationSummary = false;
|
|
10180
10276
|
this.unsubscribeToEvents();
|
|
@@ -10194,9 +10290,11 @@ class CometChatMessageListComponent {
|
|
|
10194
10290
|
(_j = this.onCustomInteractiveMessageReceived) === null || _j === void 0 ? void 0 : _j.unsubscribe();
|
|
10195
10291
|
(_k = this.onMessagesDelivered) === null || _k === void 0 ? void 0 : _k.unsubscribe();
|
|
10196
10292
|
(_l = this.onMessagesRead) === null || _l === void 0 ? void 0 : _l.unsubscribe();
|
|
10197
|
-
(_m = this.
|
|
10198
|
-
(_o = this.
|
|
10199
|
-
(_p = this.
|
|
10293
|
+
(_m = this.onMessagesDeliveredToAll) === null || _m === void 0 ? void 0 : _m.unsubscribe();
|
|
10294
|
+
(_o = this.onMessagesReadByAll) === null || _o === void 0 ? void 0 : _o.unsubscribe();
|
|
10295
|
+
(_p = this.onMessageDeleted) === null || _p === void 0 ? void 0 : _p.unsubscribe();
|
|
10296
|
+
(_q = this.onMessageEdited) === null || _q === void 0 ? void 0 : _q.unsubscribe();
|
|
10297
|
+
(_r = this.onTransientMessageReceived) === null || _r === void 0 ? void 0 : _r.unsubscribe();
|
|
10200
10298
|
}
|
|
10201
10299
|
catch (error) {
|
|
10202
10300
|
if (this.onError) {
|
|
@@ -11097,6 +11195,9 @@ class CometChatMessageListComponent {
|
|
|
11097
11195
|
this.themeService.theme.palette.getAccent600();
|
|
11098
11196
|
this.dividerStyle.background =
|
|
11099
11197
|
this.themeService.theme.palette.getAccent100();
|
|
11198
|
+
this.labelStyle.textColor = this.messageListStyle.nameTextColor || this.labelStyle.textColor;
|
|
11199
|
+
this.labelStyle.textFont = this.messageListStyle.nameTextFont || this.labelStyle.textFont;
|
|
11200
|
+
this.loadingStyle.iconTint = this.messageListStyle.loadingIconTint || this.loadingStyle.iconTint;
|
|
11100
11201
|
}
|
|
11101
11202
|
setAvatarStyle() {
|
|
11102
11203
|
let defaultStyle = new AvatarStyle({
|
|
@@ -11160,7 +11261,7 @@ class CometChatMessageListComponent {
|
|
|
11160
11261
|
errorStateTextFont: fontHelper(this.themeService.theme.typography.title1),
|
|
11161
11262
|
errorStateTextColor: this.themeService.theme.palette.getAccent600(),
|
|
11162
11263
|
loadingIconTint: this.themeService.theme.palette.getAccent600(),
|
|
11163
|
-
nameTextFont: fontHelper(this.themeService.theme.typography.
|
|
11264
|
+
nameTextFont: fontHelper(this.themeService.theme.typography.caption2),
|
|
11164
11265
|
nameTextColor: this.themeService.theme.palette.getAccent600(),
|
|
11165
11266
|
threadReplyTextFont: fontHelper(this.themeService.theme.typography.text2),
|
|
11166
11267
|
threadReplyIconTint: this.themeService.theme.palette.getAccent500(),
|
|
@@ -11474,10 +11575,24 @@ class CometChatMessageListComponent {
|
|
|
11474
11575
|
});
|
|
11475
11576
|
this.onMessagesDelivered =
|
|
11476
11577
|
CometChatMessageEvents.onMessagesDelivered.subscribe((messageReceipt) => {
|
|
11477
|
-
|
|
11578
|
+
if (messageReceipt.getReceiptType() == CometChatUIKitConstants.MessageReceiverType.user) {
|
|
11579
|
+
this.messageUpdate(CometChatUIKitConstants.messages.MESSAGE_DELIVERED, messageReceipt);
|
|
11580
|
+
}
|
|
11478
11581
|
});
|
|
11479
11582
|
this.onMessagesRead = CometChatMessageEvents.onMessagesRead.subscribe((messageReceipt) => {
|
|
11480
|
-
|
|
11583
|
+
if (messageReceipt.getReceiptType() == CometChatUIKitConstants.MessageReceiverType.user) {
|
|
11584
|
+
this.messageUpdate(CometChatUIKitConstants.messages.MESSAGE_READ, messageReceipt);
|
|
11585
|
+
}
|
|
11586
|
+
});
|
|
11587
|
+
this.onMessagesReadByAll = CometChatMessageEvents.onMessagesReadByAll.subscribe((messageReceipt) => {
|
|
11588
|
+
if (messageReceipt.getReceiverType() == CometChatUIKitConstants.MessageReceiverType.group) {
|
|
11589
|
+
this.messageUpdate(CometChatUIKitConstants.messages.MESSAGE_READ, messageReceipt);
|
|
11590
|
+
}
|
|
11591
|
+
});
|
|
11592
|
+
this.onMessagesDeliveredToAll = CometChatMessageEvents.onMessagesDeliveredToAll.subscribe((messageReceipt) => {
|
|
11593
|
+
if (messageReceipt.getReceiverType() == CometChatUIKitConstants.MessageReceiverType.group) {
|
|
11594
|
+
this.messageUpdate(CometChatUIKitConstants.messages.MESSAGE_DELIVERED, messageReceipt);
|
|
11595
|
+
}
|
|
11481
11596
|
});
|
|
11482
11597
|
this.onMessageDeleted = CometChatMessageEvents.onMessageDeleted.subscribe((deletedMessage) => {
|
|
11483
11598
|
this.messageUpdate(CometChatUIKitConstants.messages.MESSAGE_DELETED, deletedMessage);
|
|
@@ -11738,12 +11853,9 @@ class CometChatMessageListComponent {
|
|
|
11738
11853
|
return receipt;
|
|
11739
11854
|
}
|
|
11740
11855
|
messageReadAndDelivered(message) {
|
|
11741
|
-
var _a
|
|
11856
|
+
var _a;
|
|
11742
11857
|
try {
|
|
11743
|
-
if (message.
|
|
11744
|
-
CometChatUIKitConstants.MessageReceiverType.user &&
|
|
11745
|
-
(message === null || message === void 0 ? void 0 : message.getSender().getUid()) == ((_a = this.user) === null || _a === void 0 ? void 0 : _a.getUid()) &&
|
|
11746
|
-
message.getReceiver() == ((_b = this.loggedInUser) === null || _b === void 0 ? void 0 : _b.getUid())) {
|
|
11858
|
+
if (message.getSender().getUid() == ((_a = this.loggedInUser) === null || _a === void 0 ? void 0 : _a.getUid())) {
|
|
11747
11859
|
if (message.getReceiptType() == CometChatUIKitConstants.messages.DELIVERY) {
|
|
11748
11860
|
//search for message
|
|
11749
11861
|
let messageKey = this.messagesList.findIndex((m) => m.getId() == Number(message.getMessageId()));
|
|
@@ -11751,25 +11863,15 @@ class CometChatMessageListComponent {
|
|
|
11751
11863
|
this.messagesList[messageKey].setDeliveredAt(message.getDeliveredAt());
|
|
11752
11864
|
this.ref.detectChanges();
|
|
11753
11865
|
}
|
|
11754
|
-
// this.ref.detectChanges();
|
|
11755
11866
|
this.markAllMessagAsDelivered(messageKey);
|
|
11756
11867
|
}
|
|
11757
11868
|
else if (message.getReceiptType() == CometChatUIKitConstants.messages.READ) {
|
|
11758
11869
|
//search for message
|
|
11759
11870
|
let messageKey = this.messagesList.findIndex((m) => m.getId() == Number(message.getMessageId()));
|
|
11760
|
-
if (messageKey > -1) {
|
|
11761
|
-
this.messagesList[messageKey].setReadAt(message === null || message === void 0 ? void 0 : message.getReadAt());
|
|
11762
|
-
this.ref.detectChanges();
|
|
11763
|
-
}
|
|
11764
11871
|
this.ref.detectChanges();
|
|
11765
11872
|
this.markAllMessagAsRead(messageKey);
|
|
11766
11873
|
}
|
|
11767
11874
|
}
|
|
11768
|
-
else if (message.getReceiverType() ===
|
|
11769
|
-
CometChatUIKitConstants.MessageReceiverType.group &&
|
|
11770
|
-
message.getReceiver() === ((_c = this.group) === null || _c === void 0 ? void 0 : _c.getGuid())) {
|
|
11771
|
-
return;
|
|
11772
|
-
}
|
|
11773
11875
|
}
|
|
11774
11876
|
catch (error) {
|
|
11775
11877
|
if (this.onError) {
|
|
@@ -12446,10 +12548,10 @@ class CometChatMessageListComponent {
|
|
|
12446
12548
|
}
|
|
12447
12549
|
}
|
|
12448
12550
|
CometChatMessageListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageListComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
12449
|
-
CometChatMessageListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageListComponent, selector: "cometchat-message-list", inputs: { hideError: "hideError", errorStateView: "errorStateView", loadingStateView: "loadingStateView", emptyStateView: "emptyStateView", errorStateText: "errorStateText", emptyStateText: "emptyStateText", loadingIconURL: "loadingIconURL", user: "user", group: "group", disableReceipt: "disableReceipt", disableSoundForMessages: "disableSoundForMessages", customSoundForMessages: "customSoundForMessages", readIcon: "readIcon", deliveredIcon: "deliveredIcon", sentIcon: "sentIcon", waitIcon: "waitIcon", errorIcon: "errorIcon", aiErrorIcon: "aiErrorIcon", aiEmptyIcon: "aiEmptyIcon", alignment: "alignment", showAvatar: "showAvatar", datePattern: "datePattern", timestampAlignment: "timestampAlignment", DateSeparatorPattern: "DateSeparatorPattern", templates: "templates", messagesRequestBuilder: "messagesRequestBuilder", newMessageIndicatorText: "newMessageIndicatorText", scrollToBottomOnNewMessages: "scrollToBottomOnNewMessages", thresholdValue: "thresholdValue", unreadMessageThreshold: "unreadMessageThreshold", reactionsConfiguration: "reactionsConfiguration", disableReactions: "disableReactions", emojiKeyboardStyle: "emojiKeyboardStyle", apiConfiguration: "apiConfiguration", onThreadRepliesClick: "onThreadRepliesClick", headerView: "headerView", footerView: "footerView", parentMessageId: "parentMessageId", threadIndicatorIcon: "threadIndicatorIcon", avatarStyle: "avatarStyle", backdropStyle: "backdropStyle", dateSeparatorStyle: "dateSeparatorStyle", messageListStyle: "messageListStyle", onError: "onError", messageInformationConfiguration: "messageInformationConfiguration", disableMentions: "disableMentions", textFormatters: "textFormatters" }, viewQueries: [{ propertyName: "listScroll", first: true, predicate: ["listScroll"], descendants: true }, { propertyName: "bottom", first: true, predicate: ["bottom"], descendants: true }, { propertyName: "top", first: true, predicate: ["top"], descendants: true }, { propertyName: "textBubble", first: true, predicate: ["textBubble"], descendants: true }, { propertyName: "threadMessageBubble", first: true, predicate: ["threadMessageBubble"], descendants: true }, { propertyName: "fileBubble", first: true, predicate: ["fileBubble"], descendants: true }, { propertyName: "audioBubble", first: true, predicate: ["audioBubble"], descendants: true }, { propertyName: "videoBubble", first: true, predicate: ["videoBubble"], descendants: true }, { propertyName: "imageBubble", first: true, predicate: ["imageBubble"], descendants: true }, { propertyName: "formBubble", first: true, predicate: ["formBubble"], descendants: true }, { propertyName: "cardBubble", first: true, predicate: ["cardBubble"], descendants: true }, { propertyName: "stickerBubble", first: true, predicate: ["stickerBubble"], descendants: true }, { propertyName: "documentBubble", first: true, predicate: ["documentBubble"], descendants: true }, { propertyName: "whiteboardBubble", first: true, predicate: ["whiteboardBubble"], descendants: true }, { propertyName: "popoverRef", first: true, predicate: ["popoverRef"], descendants: true }, { propertyName: "directCalling", first: true, predicate: ["directCalling"], descendants: true }, { propertyName: "schedulerBubble", first: true, predicate: ["schedulerBubble"], descendants: true }, { propertyName: "pollBubble", first: true, predicate: ["pollBubble"], descendants: true }, { propertyName: "messageBubbleRef", predicate: ["messageBubbleRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-list__wrapper\" [ngStyle]=\"wrapperStyle()\"\n *ngIf=\"!openContactsView\">\n\n <div class=\"cc-message-list__header-view\">\n <div *ngIf=\"headerView\">\n <ng-container *ngTemplateOutlet=\"headerView\">\n </ng-container>\n </div>\n </div>\n <div class=\"cc-message-list\" #listScroll\n [ngStyle]=\"{height: showSmartReply || showConversationStarter || showConversationSummary ? '92%' : '100%'}\">\n <div class=\"cc-message-list__top\" #top>\n </div>\n <div class=\"cc-message-list__decorator-message\"\n *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"cc-message-list__loading-view\"\n *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\"\n [loaderStyle]=\"loadingStyle\">\n </cometchat-loader>\n <span class=\"cc-message-list__customview--loading\"\n *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__error-view\"\n *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\"\n *ngIf=\"state == states.error && !errorStateView\"\n [text]=\"errorStateText\">\n </cometchat-label>\n <span class=\"cc-message-list__custom-view--error\"\n *ngIf=\"state == states.error && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__empty-view\" *ngIf=\"state == states.empty\">\n <span class=\"cc-message-list__custom-view--empty\"\n *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"cc-message-list__bubble\"\n *ngFor=\"let message of messagesList; let i = index\">\n <div class=\"cc-message-list__date-container\"\n *ngIf=\"(i === 0) && message?.getSentAt()\">\n <span class=\"cc-message-list__date\">\n <cometchat-date [timestamp]=\"message!.getSentAt()\"\n [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\">\n </cometchat-date>\n </span>\n </div>\n <div class=\"cc-message-list__date-container\"\n *ngIf=\"(i > 0 && isDateDifferent(messagesList[i - 1]?.getSentAt(), messagesList[i]?.getSentAt())) && message?.getSentAt()\">\n <span class=\"cc-message-list__date\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\"\n [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\">\n </cometchat-date>\n </span>\n </div>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container\n *ngTemplateOutlet=\"getBubbleWrapper(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <div *ngIf=\"!getBubbleWrapper(message)\" #messageBubbleRef\n [id]=\"message?.getId()\">\n <cometchat-message-bubble\n [leadingView]=\" showAvatar ? leadingView : null\"\n [bottomView]=\"getBottomView(message)\"\n [statusInfoView]=\"showStatusInfo(message) ? statusInfoView : null\"\n [headerView]=\"getHeaderView(message) || message?.getCategory() != MessageCategory.action && showHeaderTitle(message) ? bubbleHeader : null\"\n [footerView]=\"getFooterView(message) || reactionView\"\n [contentView]=\"contentView\" [threadView]=\"threadView\"\n [id]=\"message?.getId() || message?.getMuid()\"\n [options]=\"setMessageOptions(message)\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\"\n [alignment]=\"setBubbleAlignment(message)\">\n <ng-template #contentView>\n <ng-container\n *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\">\n </ng-container>\n </ng-template>\n <ng-template #reactionView>\n <cometchat-reactions\n *ngIf=\"message.getReactions() && message.getReactions().length > 0 && !disableReactions\"\n [messageObject]=\"getClonedReactionObject(message)\"\n [alignment]=\"setBubbleAlignment(message)\"\n [reactionsStyle]=\"getReactionsStyle()\"\n [reactionClick]=\"addReactionOnClick\"\n [reactionListConfiguration]=\"getReactionListConfiguration()\"\n [reactionInfoConfiguration]=\"getReactionInfoConfiguration()\"></cometchat-reactions>\n </ng-template>\n <ng-template #statusInfoView>\n <div class=\"cc-message-list__bubble-status-info\"\n [ngStyle]=\"getStatusInfoStyle(message)\">\n <div *ngIf=\"getStatusInfoView(message);else bubbleFooter\">\n <ng-container\n *ngTemplateOutlet=\"getStatusInfoView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\"\n *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && !message.getDeletedAt() && message?.getCategory() != MessageCategory.call && message?.getSentAt()\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div\n *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() ||this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\"\n class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\"\n [receiptStyle]=\"getReceiptStyle(message)\"\n [waitIcon]=\"waitIcon\" [sentIcon]=\"sentIcon\"\n [deliveredIcon]=\"deliveredIcon\" [readIcon]=\"readIcon\"\n [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n <ng-template #leadingView>\n <div\n *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\">\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\"\n [avatarStyle]=\"avatarStyle\"\n [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n </ng-template>\n <ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container\n *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\"\n *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\"\n [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\"\n [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n *ngIf=\"timestampAlignment == timestampEnum.top && message?.getSentAt()\"></cometchat-date>\n </div>\n </ng-template>\n </ng-template>\n <ng-template #threadView>\n <div class=\"cc-message-list__threadreplies\"\n *ngIf=\"message?.getReplyCount() && !message.getDeletedAt()\"\n [ngStyle]=\"getThreadViewAlignment(message)\">\n <cometchat-icon-button [iconURL]=\"threadIndicatorIcon\"\n [mirrorIcon]=\"getThreadIconAlignment(message)\"\n [buttonStyle]=\"getThreadViewStyle(message)\"\n (cc-button-clicked)=\"openThreadView(message)\"\n [text]='getThreadCount(message)'>\n <!-- <span slot=\"buttonView\" [ngStyle]=\"getUnreadRepliesCountStyle()\"\n class=\"cc-message-list__unread-thread\"\n *ngIf=\"!message.getDeletedAt() && message.getUnreadReplyCount() > 0\">\n {{message.getUnreadReplyCount()}}\n </span> -->\n\n </cometchat-icon-button>\n </div>\n </ng-template>\n </cometchat-message-bubble>\n </div>\n </div>\n <div class=\"cc-message-list__bottom\" #bottom>\n </div>\n\n </div>\n <div class=\"cc-message-list__message-indicator\"\n *ngIf=\"UnreadCount && UnreadCount.length > 0 && !isOnBottom\"\n [ngStyle]=\"{bottom: showSmartReply || footerView || showConversationStarter || showConversationSummary ? '20%' : '13%'}\">\n <cometchat-button [text]=\"newMessageCount\"\n [buttonStyle]=\"unreadMessagesStyle\"\n (cc-button-clicked)=\"scrollToBottom()\"></cometchat-button>\n </div>\n <div class=\"cc-message-list__footer-view\" [ngStyle]=\"{height: 'auto'}\">\n\n <div *ngIf=\"footerView;else footer\">\n <ng-container *ngTemplateOutlet=\"footerView\">\n </ng-container>\n </div>\n <ng-template #footer>\n\n <div class=\"cc-message-list__smart-replies\"\n *ngIf=\"!showConversationStarter && showSmartReply && getReplies()\">\n <smart-replies [smartReplyStyle]=\"smartReplyStyle\"\n [replies]=\"getReplies()\" (cc-reply-clicked)=\"sendReply($event)\"\n (cc-close-clicked)=\"closeSmartReply()\">\n </smart-replies>\n </div>\n\n\n <div class=\"cc-message-list__conversation-starters\"\n *ngIf=\"enableConversationStarter && showConversationStarter\">\n <cometchat-ai-card [state]=\"conversationStarterState\"\n [loadingStateText]=\"starterLoadingStateText\"\n [emptyStateText]=\"starterEmptyStateText\"\n [errorStateText]=\"errorStateText\">\n <smart-replies\n *ngIf=\"conversationStarterState == states.loaded && !parentMessageId\"\n [smartReplyStyle]=\"conversationStarterStyle\"\n [replies]=\"conversationStarterReplies\" slot=\"loadedView\"\n (cc-reply-clicked)=\"sendConversationStarter($event)\"\n [closeIconURL]=\"''\">\n </smart-replies>\n </cometchat-ai-card>\n </div>\n\n <div class=\"cc-message-list__conversation-summary\"\n *ngIf=\"enableConversationSummary && showConversationSummary\">\n\n <cometchat-ai-card [state]=\"conversationSummaryState\"\n [loadingStateText]=\"summaryLoadingStateText\"\n [emptyStateText]=\"summaryEmptyStateText\"\n [errorStateText]=\"errorStateText\" [errorIconURL]=\"aiErrorIcon\"\n [emptyIconURL]=\"aiEmptyIcon\">\n <cometchat-panel\n *ngIf=\"conversationSummaryState == states.loaded && !parentMessageId\"\n slot=\"loadedView\" [panelStyle]=\"conversationSummaryStyle\"\n title=\"Conversation Summary\" [text]=\"conversationSummary\"\n (cc-close-clicked)=\"closeConversationSummary()\">\n </cometchat-panel>\n </cometchat-ai-card>\n\n </div>\n\n </ng-template>\n </div>\n\n</div>\n<!-- default bubbles -->\n<ng-template #textBubble let-message>\n <cometchat-text-bubble\n *ngIf=\"message?.type == MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\"\n [text]=\"message?.message\"></cometchat-text-bubble>\n <cometchat-text-bubble *ngIf=\"message?.getDeletedAt()\"\n [textStyle]=\"setTextBubbleStyle(message)\"\n [text]=\"localize('MESSAGE_IS_DELETED')\"></cometchat-text-bubble>\n <cometchat-text-bubble\n *ngIf=\"!isTranslated(message) && !getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"\n [textFormatters]=\"getTextFormatters(message)\"></cometchat-text-bubble>\n <link-preview [linkPreviewStyle]=\"linkPreviewStyle\"\n (cc-link-clicked)=\"openLinkURL($event)\"\n *ngIf=\"!message?.getDeletedAt() && getLinkPreview(message) && enableLinkPreview\"\n [title]=\"getLinkPreviewDetails('title',message)\"\n [description]=\"getLinkPreviewDetails('description',message)\"\n [URL]=\"getLinkPreviewDetails('url',message)\"\n [image]=\"getLinkPreviewDetails('image',message)\"\n [favIconURL]=\"getLinkPreviewDetails('favicon',message)\">\n <cometchat-text-bubble\n *ngIf=\"!isTranslated(message) && getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"\n [textFormatters]=\"getTextFormatters(message)\"></cometchat-text-bubble>\n </link-preview>\n <message-translation-bubble [alignment]=\"getBubbleAlignment(message)\"\n *ngIf=\"isTranslated(message)\"\n [messageTranslationStyle]=\"setTranslationStyle(message)\"\n [translatedText]=\"isTranslated(message)\"\n [textFormatters]=\"getTextFormatters(message)\">\n <cometchat-text-bubble\n *ngIf=\" !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"message?.text\"\n [textFormatters]=\"getTextFormatters(message)\"></cometchat-text-bubble>\n\n </message-translation-bubble>\n</ng-template>\n<ng-template #fileBubble let-message>\n\n <cometchat-file-bubble [fileStyle]=\"setFileBubbleStyle(message)\"\n [downloadIconURL]=\"downloadIconURL\" [subtitle]=\"localize('SHARED_FILE')\"\n [title]=\"message?.data?.attachments ? message?.data?.attachments[0]?.name: ''\"\n [fileURL]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\"></cometchat-file-bubble>\n</ng-template>\n<ng-template #audioBubble let-message>\n <cometchat-icon-button [disabled]=\"true\"\n *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.audio\"\n [iconURL]=\"getCallTypeIcon(message)\"\n [buttonStyle]=\"callStatusStyle(message)\"\n [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n <cometchat-audio-bubble\n *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\"\n [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\">\n </cometchat-audio-bubble>\n</ng-template>\n<ng-template #videoBubble let-message>\n <cometchat-icon-button [disabled]=\"true\"\n *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.video\"\n [iconURL]=\"getCallTypeIcon(message)\"\n [buttonStyle]=\"callStatusStyle(message)\"\n [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n\n <cometchat-video-bubble\n *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\"\n [videoStyle]=\"videoBubbleStyle\"\n [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\"\n [poster]=\" getImageThumbnail(message)\"></cometchat-video-bubble>\n</ng-template>\n<ng-template #imageBubble let-message>\n <image-moderation (cc-show-dialog)=\"openWarningDialog($event)\"\n *ngIf=\"!message.getDeletedAt() && enableImageModeration\" [message]=\"message\"\n [imageModerationStyle]=\"imageModerationStyle\">\n <cometchat-image-bubble (cc-image-clicked)=\"openImageInFullScreen(message)\"\n [imageStyle]=\"imageBubbleStyle\" [src]=\" getImageThumbnail(message)\"\n [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n </image-moderation>\n <cometchat-image-bubble [imageStyle]=\"imageBubbleStyle\"\n (cc-image-clicked)=\"openImageInFullScreen(message)\"\n *ngIf=\"!message.getDeletedAt() && !enableImageModeration\"\n [src]=\" getImageThumbnail(message)\"\n [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n</ng-template>\n<ng-template #formBubble let-message>\n <cometchat-form-bubble [message]=\"message\"\n [formBubbleStyle]=\"getFormMessageBubbleStyle()\"></cometchat-form-bubble>\n</ng-template>\n<ng-template #cardBubble let-message>\n <cometchat-card-bubble [message]=\"message\"\n [cardBubbleStyle]=\"getCardMessageBubbleStyle()\"></cometchat-card-bubble>\n</ng-template>\n<ng-template #customTextBubble>\n</ng-template>\n<ng-template #stickerBubble let-message>\n <cometchat-image-bubble [src]=\"getSticker(message)\"\n [imageStyle]=\"imageBubbleStyle\"></cometchat-image-bubble>\n\n</ng-template>\n<ng-template #whiteboardBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\"\n [iconAlignment]=\"documentBubbleAlignment\"\n [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\"\n [ccClicked]=\"launchCollaborativeWhiteboardDocument\"\n [iconURL]=\"whiteboardIconURL\" [title]=\"whiteboardTitle\"\n [buttonText]=\"whiteboardButtonText\"\n [subtitle]=\"whiteboardSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #documentBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\"\n [iconAlignment]=\"documentBubbleAlignment\"\n [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\"\n [ccClicked]=\"launchCollaborativeWhiteboardDocument\"\n [iconURL]=\"documentIconURL\" [title]=\"documentTitle\"\n [buttonText]=\"documentButtonText\"\n [subtitle]=\"documentSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #directCalling let-message>\n <cometchat-document-bubble [hideSeparator]=\"true\"\n [iconAlignment]=\"callBubbleAlignment\"\n [documentStyle]=\"getCallBubbleStyle(message)\" [URL]=\"getSessionId(message)\"\n [ccClicked]=\"getStartCallFunction(message)\" [iconURL]=\"directCallIconURL\"\n [title]=\"getCallBubbleTitle(message)\" [buttonText]=\"joinCallButtonText\"\n *ngIf=\"message.category == 'custom'\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #schedulerBubble let-message>\n <cometchat-scheduler-bubble [schedulerMessage]=\"message\"\n [loggedInUser]=\"loggedInUser\"\n [schedulerBubbleStyle]=\"getSchedulerBubbleStyle(message)\"></cometchat-scheduler-bubble>\n\n</ng-template>\n<ng-template #pollBubble let-message>\n <polls-bubble [pollStyle]=\"pollBubbleStyle\"\n [pollQuestion]=\"getPollBubbleData(message,'question')\"\n [pollId]=\"getPollBubbleData(message,'id')\" [loggedInUser]=\"loggedInUser\"\n [senderUid]=\"getPollBubbleData(message)\"\n [metadata]=\"message?.metadata\"></polls-bubble>\n\n</ng-template>\n\n<!-- thread bubble view -->\n<ng-template #threadMessageBubble let-message>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container\n *ngTemplateOutlet=\"getBubbleWrapper(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\"\n [bottomView]=\"getBottomView(message)\"\n [statusInfoView]=\"showStatusInfo(message) ? statusInfoView : null\"\n [leadingView]=\" showAvatar ? leadingView : null\" [headerView]=\"bubbleHeader\"\n [footerView]=\"getFooterView(message)\" [contentView]=\"contentView\"\n [id]=\"message?.getId() || message?.getMuid()\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\"\n [alignment]=\"threadedAlignment\">\n <ng-template #contentView>\n <ng-container\n *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\">\n </ng-container>\n </ng-template>\n <ng-template #statusInfoView>\n <div class=\"cc-message-list__bubble-status-info\"\n [ngStyle]=\"getStatusInfoStyle(message)\">\n <div *ngIf=\"getStatusInfoView(message);else bubbleFooter\">\n <ng-container\n *ngTemplateOutlet=\"getStatusInfoView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\"\n *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call && message?.getSentAt()\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\" [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div\n *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() ||this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\"\n class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\"\n [receiptStyle]=\"getReceiptStyle(message)\" [waitIcon]=\"waitIcon\"\n [sentIcon]=\"sentIcon\" [deliveredIcon]=\"\"\n [readIcon]=\"deliveredIcon\"\n [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n <ng-template #leadingView>\n <div\n *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\">\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\"\n [avatarStyle]=\"avatarStyle\"\n [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n </ng-template>\n <ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container\n *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\"\n *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\"\n [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\"\n [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n *ngIf=\"timestampAlignment == timestampEnum.top && message?.getSentAt()\"></cometchat-date>\n </div>\n </ng-template>\n </ng-template>\n </cometchat-message-bubble>\n\n</ng-template>\n\n\n<!-- -->\n<cometchat-popover [popoverStyle]=\"popoverStyle\" #popoverRef\n [placement]=\"keyboardAlignment\">\n <cometchat-emoji-keyboard (cc-emoji-clicked)=\"addReaction($event)\"\n slot=\"content\"\n [emojiKeyboardStyle]=\"emojiKeyboardStyle\"></cometchat-emoji-keyboard>\n</cometchat-popover>\n<cometchat-backdrop *ngIf=\"openConfirmDialog\" [backdropStyle]=\"backdropStyle\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"warningText\"\n (cc-confirm-clicked)=\"onConfirmClick()\" [cancelButtonText]=\"cancelText\"\n [confirmButtonText]=\"confirmText\" (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"confirmDialogStyle\">\n\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-full-screen-viewer (cc-close-clicked)=\"closeImageInFullScreen()\"\n *ngIf=\"openFullscreenView\" [URL]=\"imageurlToOpen\"\n [closeIconURL]=\"closeIconURL\" [fullScreenViewerStyle]=\"fullScreenViewerStyle\">\n\n</cometchat-full-screen-viewer>\n\n<!-- ongoing callscreen for direct call -->\n<cometchat-ongoing-call *ngIf=\"showOngoingCall\"\n [callSettingsBuilder]=\"getCallBuilder()\" [ongoingCallStyle]=\"ongoingCallStyle\"\n [sessionID]=\"sessionId\"></cometchat-ongoing-call>\n<!-- message information view -->\n<!-- thread bubble view -->\n<ng-template #messageinfoBubble let-message>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container\n *ngTemplateOutlet=\"getBubbleWrapper(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\"\n [bottomView]=\"getBottomView(message)\"\n [statusInfoView]=\"getStatusInfoView(message)\"\n [footerView]=\"getFooterView(message)\"\n [leadingView]=\"showAvatar ? leadingView : null\" [headerView]=\"bubbleHeader\"\n [contentView]=\"contentView\" [id]=\"message?.getId() || message?.getMuid()\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\"\n [alignment]=\"messageInfoAlignment\">\n <ng-template #contentView>\n <ng-container\n *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\">\n </ng-container>\n </ng-template>\n <ng-template #leadingView>\n <div\n *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\">\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\"\n [avatarStyle]=\"avatarStyle\"\n [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n </ng-template>\n <ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container\n *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\"\n *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\"\n [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\"\n [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n *ngIf=\"timestampAlignment == timestampEnum.top && message?.getSentAt()\"></cometchat-date>\n </div>\n </ng-template>\n </ng-template>\n </cometchat-message-bubble>\n\n</ng-template>\n<cometchat-backdrop *ngIf=\"openMessageInfoPage\" [backdropStyle]=\"backdropStyle\">\n <cometchat-message-information\n [closeIconURL]=\"messageInformationConfiguration.closeIconURL\"\n [loadingStateView]=\"messageInformationConfiguration.loadingStateView\"\n [errorStateView]=\"messageInformationConfiguration.errorStateView\"\n [listItemStyle]=\"messageInformationConfiguration.listItemStyle\"\n [emptyStateView]=\"messageInformationConfiguration.emptyStateView\"\n [loadingIconURL]=\"messageInformationConfiguration.loadingIconURL\"\n [readIcon]=\"messageInformationConfiguration.readIcon\"\n [deliveredIcon]=\"messageInformationConfiguration.deliveredIcon\"\n [onError]=\"messageInformationConfiguration.onError\"\n [SubtitleView]=\"messageInformationConfiguration.subtitleView\"\n [receiptDatePattern]=\"messageInformationConfiguration.receiptDatePattern\"\n [listItemView]=\"messageInformationConfiguration.listItemView \"\n [messageInformationStyle]=\"messageInformationConfiguration.messageInformationStyle\"\n [onClose]=\"messageInformationConfiguration.onClose ?? closeMessageInfoPage\"\n [bubbleView]=\"messageInformationConfiguration.bubbleView ?? messageinfoBubble\"\n [message]=\"messageInfoObject\">\n\n </cometchat-message-information>\n</cometchat-backdrop>\n", styles: [".cc-message-list{height:100%;width:100%;overflow-y:auto;overflow-x:hidden;position:relative}.cc-message-list__wrapper{height:100%;width:100%;display:flex;flex-direction:column;justify-content:space-between;overflow-y:hidden}.cc-message-list__bubble-status-info{display:flex;align-items:flex-end;width:100%;padding:0 8px 8px;box-sizing:border-box}cometchat-reactions{margin-top:-3px}.cc-message-list__unread-thread{margin-left:4px}.cc-message-list__date-container{text-align:center;margin:5px 0}.cc-message-list__smart-replies,.cc-message-list__conversation-starters{height:-moz-fit-content;height:fit-content;width:100%;position:absolute;bottom:0;z-index:1}.cc-message-list__conversation-summary{height:100%;position:relative;bottom:0;z-index:1;padding:.1px 14px}.cc-message-list__date{border-radius:10px;display:flex;justify-content:center}.cc-message-list__threadreplies{min-width:130px;width:100%;padding-top:4px;display:flex}.cc-message-list__message-indicator{height:25px;display:flex;align-items:center;justify-content:center;width:100%;bottom:10%;position:absolute}.cc-message-list__footer-view{z-index:1;position:relative;width:100%;box-sizing:border-box;margin-bottom:1px}.cc-message-list__decorator-message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;height:100%}.cc-message-list__footer__decorator-message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px 0 16px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:flex-start;height:100%}.cc-message-list::-webkit-scrollbar{background:transparent;width:8px}.cc-message-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.cc-message-list__footer-view-decorator{display:flex;flex-direction:row;column-gap:8px}.cc_panel_container{border:1px solid #6851d6}cometchat-scheduler-bubble{width:100%}.cc-message-list__bubble-reactions{width:100%;box-sizing:border-box}\n"], components: [{ type: CometChatMessageBubbleComponent, selector: "cometchat-message-bubble", inputs: ["messageBubbleStyle", "alignment", "options", "id", "leadingView", "headerView", "replyView", "contentView", "threadView", "footerView", "bottomView", "statusInfoView", "moreIconURL", "topMenuSize"] }, { type: CometChatOngoingCallComponent, selector: "cometchat-ongoing-call", inputs: ["ongoingCallStyle", "resizeIconHoverText", "sessionID", "minimizeIconURL", "maximizeIconURL", "callSettingsBuilder", "callWorkflow", "onError"] }, { type: CometChatMessageInformationComponent, selector: "cometchat-message-information", inputs: ["closeIconURL", "message", "title", "template", "bubbleView", "subtitleView", "listItemView", "receiptDatePattern", "onError", "messageInformationStyle", "readIcon", "deliveredIcon", "onClose", "listItemStyle", "emptyStateText", "errorStateText", "emptyStateView", "loadingIconURL", "loadingStateView", "errorStateView"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12551
|
+
CometChatMessageListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageListComponent, selector: "cometchat-message-list", inputs: { hideError: "hideError", hideDateSeparator: "hideDateSeparator", errorStateView: "errorStateView", loadingStateView: "loadingStateView", emptyStateView: "emptyStateView", errorStateText: "errorStateText", emptyStateText: "emptyStateText", loadingIconURL: "loadingIconURL", user: "user", group: "group", disableReceipt: "disableReceipt", disableSoundForMessages: "disableSoundForMessages", customSoundForMessages: "customSoundForMessages", readIcon: "readIcon", deliveredIcon: "deliveredIcon", sentIcon: "sentIcon", waitIcon: "waitIcon", errorIcon: "errorIcon", aiErrorIcon: "aiErrorIcon", aiEmptyIcon: "aiEmptyIcon", alignment: "alignment", showAvatar: "showAvatar", datePattern: "datePattern", timestampAlignment: "timestampAlignment", DateSeparatorPattern: "DateSeparatorPattern", templates: "templates", messagesRequestBuilder: "messagesRequestBuilder", newMessageIndicatorText: "newMessageIndicatorText", scrollToBottomOnNewMessages: "scrollToBottomOnNewMessages", thresholdValue: "thresholdValue", unreadMessageThreshold: "unreadMessageThreshold", reactionsConfiguration: "reactionsConfiguration", disableReactions: "disableReactions", emojiKeyboardStyle: "emojiKeyboardStyle", apiConfiguration: "apiConfiguration", onThreadRepliesClick: "onThreadRepliesClick", headerView: "headerView", footerView: "footerView", parentMessageId: "parentMessageId", threadIndicatorIcon: "threadIndicatorIcon", avatarStyle: "avatarStyle", backdropStyle: "backdropStyle", dateSeparatorStyle: "dateSeparatorStyle", messageListStyle: "messageListStyle", onError: "onError", messageInformationConfiguration: "messageInformationConfiguration", disableMentions: "disableMentions", textFormatters: "textFormatters" }, viewQueries: [{ propertyName: "listScroll", first: true, predicate: ["listScroll"], descendants: true }, { propertyName: "bottom", first: true, predicate: ["bottom"], descendants: true }, { propertyName: "top", first: true, predicate: ["top"], descendants: true }, { propertyName: "textBubble", first: true, predicate: ["textBubble"], descendants: true }, { propertyName: "threadMessageBubble", first: true, predicate: ["threadMessageBubble"], descendants: true }, { propertyName: "fileBubble", first: true, predicate: ["fileBubble"], descendants: true }, { propertyName: "audioBubble", first: true, predicate: ["audioBubble"], descendants: true }, { propertyName: "videoBubble", first: true, predicate: ["videoBubble"], descendants: true }, { propertyName: "imageBubble", first: true, predicate: ["imageBubble"], descendants: true }, { propertyName: "formBubble", first: true, predicate: ["formBubble"], descendants: true }, { propertyName: "cardBubble", first: true, predicate: ["cardBubble"], descendants: true }, { propertyName: "stickerBubble", first: true, predicate: ["stickerBubble"], descendants: true }, { propertyName: "documentBubble", first: true, predicate: ["documentBubble"], descendants: true }, { propertyName: "whiteboardBubble", first: true, predicate: ["whiteboardBubble"], descendants: true }, { propertyName: "popoverRef", first: true, predicate: ["popoverRef"], descendants: true }, { propertyName: "directCalling", first: true, predicate: ["directCalling"], descendants: true }, { propertyName: "schedulerBubble", first: true, predicate: ["schedulerBubble"], descendants: true }, { propertyName: "pollBubble", first: true, predicate: ["pollBubble"], descendants: true }, { propertyName: "messageBubbleRef", predicate: ["messageBubbleRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-list__wrapper\" [ngStyle]=\"wrapperStyle()\"\n *ngIf=\"!openContactsView\">\n\n <div class=\"cc-message-list__header-view\">\n <div *ngIf=\"headerView\">\n <ng-container *ngTemplateOutlet=\"headerView\">\n </ng-container>\n </div>\n </div>\n <div class=\"cc-message-list\" #listScroll\n [ngStyle]=\"{height: showSmartReply || showConversationStarter || showConversationSummary ? '92%' : '100%'}\">\n <div class=\"cc-message-list__top\" #top>\n </div>\n <div class=\"cc-message-list__decorator-message\"\n *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"cc-message-list__loading-view\"\n *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\"\n [loaderStyle]=\"loadingStyle\">\n </cometchat-loader>\n <span class=\"cc-message-list__customview--loading\"\n *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__error-view\"\n *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\"\n *ngIf=\"state == states.error && !errorStateView\"\n [text]=\"errorStateText\">\n </cometchat-label>\n <span class=\"cc-message-list__custom-view--error\"\n *ngIf=\"state == states.error && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__empty-view\" *ngIf=\"state == states.empty\">\n <span class=\"cc-message-list__custom-view--empty\"\n *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"cc-message-list__bubble\"\n *ngFor=\"let message of messagesList; let i = index\">\n <div class=\"cc-message-list__date-container\"\n *ngIf=\"(i === 0) && message?.getSentAt() && !hideDateSeparator\">\n <span class=\"cc-message-list__date\">\n <cometchat-date [timestamp]=\"message!.getSentAt()\"\n [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\">\n </cometchat-date>\n </span>\n </div>\n <div class=\"cc-message-list__date-container\"\n *ngIf=\"(i > 0 && isDateDifferent(messagesList[i - 1]?.getSentAt(), messagesList[i]?.getSentAt())) && message?.getSentAt() && !hideDateSeparator\">\n <span class=\"cc-message-list__date\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\"\n [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\">\n </cometchat-date>\n </span>\n </div>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container\n *ngTemplateOutlet=\"getBubbleWrapper(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <div *ngIf=\"!getBubbleWrapper(message)\" #messageBubbleRef\n [id]=\"message?.getId()\">\n <cometchat-message-bubble\n [leadingView]=\" showAvatar ? leadingView : null\"\n [bottomView]=\"getBottomView(message)\"\n [statusInfoView]=\"showStatusInfo(message) ? statusInfoView : null\"\n [headerView]=\"getHeaderView(message) || message?.getCategory() != MessageCategory.action && showHeaderTitle(message) ? bubbleHeader : null\"\n [footerView]=\"getFooterView(message) || reactionView\"\n [contentView]=\"contentView\" [threadView]=\"threadView\"\n [id]=\"message?.getId() || message?.getMuid()\"\n [options]=\"setMessageOptions(message)\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\"\n [alignment]=\"setBubbleAlignment(message)\">\n <ng-template #contentView>\n <ng-container\n *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\">\n </ng-container>\n </ng-template>\n <ng-template #reactionView>\n <cometchat-reactions\n *ngIf=\"message.getReactions() && message.getReactions().length > 0 && !disableReactions\"\n [messageObject]=\"getClonedReactionObject(message)\"\n [alignment]=\"setBubbleAlignment(message)\"\n [reactionsStyle]=\"getReactionsStyle()\"\n [reactionClick]=\"addReactionOnClick\"\n [reactionListConfiguration]=\"getReactionListConfiguration()\"\n [reactionInfoConfiguration]=\"getReactionInfoConfiguration()\"></cometchat-reactions>\n </ng-template>\n <ng-template #statusInfoView>\n <div class=\"cc-message-list__bubble-status-info\"\n [ngStyle]=\"getStatusInfoStyle(message)\">\n <div *ngIf=\"getStatusInfoView(message);else bubbleFooter\">\n <ng-container\n *ngTemplateOutlet=\"getStatusInfoView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\"\n *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && !message.getDeletedAt() && message?.getCategory() != MessageCategory.call && message?.getSentAt()\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div\n *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() || this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\"\n class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\"\n [receiptStyle]=\"getReceiptStyle(message)\"\n [waitIcon]=\"waitIcon\" [sentIcon]=\"sentIcon\"\n [deliveredIcon]=\"deliveredIcon\" [readIcon]=\"readIcon\"\n [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n <ng-template #leadingView>\n <div\n *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\">\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\"\n [avatarStyle]=\"avatarStyle\"\n [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n </ng-template>\n <ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container\n *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\"\n *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\"\n [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\"\n [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n *ngIf=\"timestampAlignment == timestampEnum.top && message?.getSentAt()\"></cometchat-date>\n </div>\n </ng-template>\n </ng-template>\n <ng-template #threadView>\n <div class=\"cc-message-list__threadreplies\"\n *ngIf=\"message?.getReplyCount() && !message.getDeletedAt()\"\n [ngStyle]=\"getThreadViewAlignment(message)\">\n <cometchat-icon-button [iconURL]=\"threadIndicatorIcon\"\n [mirrorIcon]=\"getThreadIconAlignment(message)\"\n [buttonStyle]=\"getThreadViewStyle(message)\"\n (cc-button-clicked)=\"openThreadView(message)\"\n [text]='getThreadCount(message)'>\n <!-- <span slot=\"buttonView\" [ngStyle]=\"getUnreadRepliesCountStyle()\"\n class=\"cc-message-list__unread-thread\"\n *ngIf=\"!message.getDeletedAt() && message.getUnreadReplyCount() > 0\">\n {{message.getUnreadReplyCount()}}\n </span> -->\n\n </cometchat-icon-button>\n </div>\n </ng-template>\n </cometchat-message-bubble>\n </div>\n </div>\n <div class=\"cc-message-list__bottom\" #bottom>\n </div>\n\n </div>\n <div class=\"cc-message-list__message-indicator\"\n *ngIf=\"UnreadCount && UnreadCount.length > 0 && !isOnBottom\"\n [ngStyle]=\"{bottom: showSmartReply || footerView || showConversationStarter || showConversationSummary ? '20%' : '13%'}\">\n <cometchat-button [text]=\"newMessageCount\"\n [buttonStyle]=\"unreadMessagesStyle\"\n (cc-button-clicked)=\"scrollToBottom()\"></cometchat-button>\n </div>\n <div class=\"cc-message-list__footer-view\" [ngStyle]=\"{height: 'auto'}\">\n\n <div *ngIf=\"footerView;else footer\">\n <ng-container *ngTemplateOutlet=\"footerView\">\n </ng-container>\n </div>\n <ng-template #footer>\n\n <div class=\"cc-message-list__smart-replies\"\n *ngIf=\"!showConversationStarter && showSmartReply && getReplies()\">\n <smart-replies [smartReplyStyle]=\"smartReplyStyle\"\n [replies]=\"getReplies()\" (cc-reply-clicked)=\"sendReply($event)\"\n (cc-close-clicked)=\"closeSmartReply()\">\n </smart-replies>\n </div>\n\n\n <div class=\"cc-message-list__conversation-starters\"\n *ngIf=\"enableConversationStarter && showConversationStarter\">\n <cometchat-ai-card [state]=\"conversationStarterState\"\n [loadingStateText]=\"starterLoadingStateText\"\n [emptyStateText]=\"starterEmptyStateText\"\n [errorStateText]=\"errorStateText\">\n <smart-replies\n *ngIf=\"conversationStarterState == states.loaded && !parentMessageId\"\n [smartReplyStyle]=\"conversationStarterStyle\"\n [replies]=\"conversationStarterReplies\" slot=\"loadedView\"\n (cc-reply-clicked)=\"sendConversationStarter($event)\"\n [closeIconURL]=\"''\">\n </smart-replies>\n </cometchat-ai-card>\n </div>\n\n <div class=\"cc-message-list__conversation-summary\"\n *ngIf=\"enableConversationSummary && showConversationSummary\">\n\n <cometchat-ai-card [state]=\"conversationSummaryState\"\n [loadingStateText]=\"summaryLoadingStateText\"\n [emptyStateText]=\"summaryEmptyStateText\"\n [errorStateText]=\"errorStateText\" [errorIconURL]=\"aiErrorIcon\"\n [emptyIconURL]=\"aiEmptyIcon\">\n <cometchat-panel\n *ngIf=\"conversationSummaryState == states.loaded && !parentMessageId\"\n slot=\"loadedView\" [panelStyle]=\"conversationSummaryStyle\"\n title=\"Conversation Summary\" [text]=\"conversationSummary\"\n (cc-close-clicked)=\"closeConversationSummary()\">\n </cometchat-panel>\n </cometchat-ai-card>\n\n </div>\n\n </ng-template>\n </div>\n\n</div>\n<!-- default bubbles -->\n<ng-template #textBubble let-message>\n <cometchat-text-bubble\n *ngIf=\"message?.type == MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\"\n [text]=\"message?.message\"></cometchat-text-bubble>\n <cometchat-text-bubble *ngIf=\"message?.getDeletedAt()\"\n [textStyle]=\"setTextBubbleStyle(message)\"\n [text]=\"localize('MESSAGE_IS_DELETED')\"></cometchat-text-bubble>\n <cometchat-text-bubble\n *ngIf=\"!isTranslated(message) && !getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"\n [textFormatters]=\"getTextFormatters(message)\"></cometchat-text-bubble>\n <link-preview [linkPreviewStyle]=\"linkPreviewStyle\"\n (cc-link-clicked)=\"openLinkURL($event)\"\n *ngIf=\"!message?.getDeletedAt() && getLinkPreview(message) && enableLinkPreview\"\n [title]=\"getLinkPreviewDetails('title',message)\"\n [description]=\"getLinkPreviewDetails('description',message)\"\n [URL]=\"getLinkPreviewDetails('url',message)\"\n [image]=\"getLinkPreviewDetails('image',message)\"\n [favIconURL]=\"getLinkPreviewDetails('favicon',message)\">\n <cometchat-text-bubble\n *ngIf=\"!isTranslated(message) && getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"\n [textFormatters]=\"getTextFormatters(message)\"></cometchat-text-bubble>\n </link-preview>\n <message-translation-bubble [alignment]=\"getBubbleAlignment(message)\"\n *ngIf=\"isTranslated(message)\"\n [messageTranslationStyle]=\"setTranslationStyle(message)\"\n [translatedText]=\"isTranslated(message)\"\n [textFormatters]=\"getTextFormatters(message)\">\n <cometchat-text-bubble\n *ngIf=\" !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"message?.text\"\n [textFormatters]=\"getTextFormatters(message)\"></cometchat-text-bubble>\n\n </message-translation-bubble>\n</ng-template>\n<ng-template #fileBubble let-message>\n\n <cometchat-file-bubble [fileStyle]=\"setFileBubbleStyle(message)\"\n [downloadIconURL]=\"downloadIconURL\" [subtitle]=\"localize('SHARED_FILE')\"\n [title]=\"message?.data?.attachments ? message?.data?.attachments[0]?.name: ''\"\n [fileURL]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\"></cometchat-file-bubble>\n</ng-template>\n<ng-template #audioBubble let-message>\n <cometchat-icon-button [disabled]=\"true\"\n *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.audio\"\n [iconURL]=\"getCallTypeIcon(message)\"\n [buttonStyle]=\"callStatusStyle(message)\"\n [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n <cometchat-audio-bubble\n *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\"\n [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\">\n </cometchat-audio-bubble>\n</ng-template>\n<ng-template #videoBubble let-message>\n <cometchat-icon-button [disabled]=\"true\"\n *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.video\"\n [iconURL]=\"getCallTypeIcon(message)\"\n [buttonStyle]=\"callStatusStyle(message)\"\n [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n\n <cometchat-video-bubble\n *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\"\n [videoStyle]=\"videoBubbleStyle\"\n [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\"\n [poster]=\" getImageThumbnail(message)\"></cometchat-video-bubble>\n</ng-template>\n<ng-template #imageBubble let-message>\n <image-moderation (cc-show-dialog)=\"openWarningDialog($event)\"\n *ngIf=\"!message.getDeletedAt() && enableImageModeration\" [message]=\"message\"\n [imageModerationStyle]=\"imageModerationStyle\">\n <cometchat-image-bubble (cc-image-clicked)=\"openImageInFullScreen(message)\"\n [imageStyle]=\"imageBubbleStyle\" [src]=\" getImageThumbnail(message)\"\n [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n </image-moderation>\n <cometchat-image-bubble [imageStyle]=\"imageBubbleStyle\"\n (cc-image-clicked)=\"openImageInFullScreen(message)\"\n *ngIf=\"!message.getDeletedAt() && !enableImageModeration\"\n [src]=\" getImageThumbnail(message)\"\n [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n</ng-template>\n<ng-template #formBubble let-message>\n <cometchat-form-bubble [message]=\"message\"\n [formBubbleStyle]=\"getFormMessageBubbleStyle()\"></cometchat-form-bubble>\n</ng-template>\n<ng-template #cardBubble let-message>\n <cometchat-card-bubble [message]=\"message\"\n [cardBubbleStyle]=\"getCardMessageBubbleStyle()\"></cometchat-card-bubble>\n</ng-template>\n<ng-template #customTextBubble>\n</ng-template>\n<ng-template #stickerBubble let-message>\n <cometchat-image-bubble [src]=\"getSticker(message)\"\n [imageStyle]=\"imageBubbleStyle\"></cometchat-image-bubble>\n\n</ng-template>\n<ng-template #whiteboardBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\"\n [iconAlignment]=\"documentBubbleAlignment\"\n [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\"\n [ccClicked]=\"launchCollaborativeWhiteboardDocument\"\n [iconURL]=\"whiteboardIconURL\" [title]=\"whiteboardTitle\"\n [buttonText]=\"whiteboardButtonText\"\n [subtitle]=\"whiteboardSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #documentBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\"\n [iconAlignment]=\"documentBubbleAlignment\"\n [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\"\n [ccClicked]=\"launchCollaborativeWhiteboardDocument\"\n [iconURL]=\"documentIconURL\" [title]=\"documentTitle\"\n [buttonText]=\"documentButtonText\"\n [subtitle]=\"documentSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #directCalling let-message>\n <cometchat-document-bubble [hideSeparator]=\"true\"\n [iconAlignment]=\"callBubbleAlignment\"\n [documentStyle]=\"getCallBubbleStyle(message)\" [URL]=\"getSessionId(message)\"\n [ccClicked]=\"getStartCallFunction(message)\" [iconURL]=\"directCallIconURL\"\n [title]=\"getCallBubbleTitle(message)\" [buttonText]=\"joinCallButtonText\"\n *ngIf=\"message.category == 'custom'\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #schedulerBubble let-message>\n <cometchat-scheduler-bubble [schedulerMessage]=\"message\"\n [loggedInUser]=\"loggedInUser\"\n [schedulerBubbleStyle]=\"getSchedulerBubbleStyle(message)\"></cometchat-scheduler-bubble>\n\n</ng-template>\n<ng-template #pollBubble let-message>\n <polls-bubble [pollStyle]=\"pollBubbleStyle\"\n [pollQuestion]=\"getPollBubbleData(message,'question')\"\n [pollId]=\"getPollBubbleData(message,'id')\" [loggedInUser]=\"loggedInUser\"\n [senderUid]=\"getPollBubbleData(message)\"\n [metadata]=\"message?.metadata\"></polls-bubble>\n\n</ng-template>\n\n<!-- thread bubble view -->\n<ng-template #threadMessageBubble let-message>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container\n *ngTemplateOutlet=\"getBubbleWrapper(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\"\n [bottomView]=\"getBottomView(message)\"\n [statusInfoView]=\"showStatusInfo(message) ? statusInfoView : null\"\n [leadingView]=\" showAvatar ? leadingView : null\" [headerView]=\"bubbleHeader\"\n [footerView]=\"getFooterView(message)\" [contentView]=\"contentView\"\n [id]=\"message?.getId() || message?.getMuid()\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\"\n [alignment]=\"threadedAlignment\">\n <ng-template #contentView>\n <ng-container\n *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\">\n </ng-container>\n </ng-template>\n <ng-template #statusInfoView>\n <div class=\"cc-message-list__bubble-status-info\"\n [ngStyle]=\"getStatusInfoStyle(message)\">\n <div *ngIf=\"getStatusInfoView(message);else bubbleFooter\">\n <ng-container\n *ngTemplateOutlet=\"getStatusInfoView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\"\n *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call && message?.getSentAt()\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\" [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div\n *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() || this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\"\n class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\"\n [receiptStyle]=\"getReceiptStyle(message)\" [waitIcon]=\"waitIcon\"\n [sentIcon]=\"sentIcon\" [deliveredIcon]=\"\"\n [readIcon]=\"deliveredIcon\"\n [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n <ng-template #leadingView>\n <div\n *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\">\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\"\n [avatarStyle]=\"avatarStyle\"\n [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n </ng-template>\n <ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container\n *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\"\n *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\"\n [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\"\n [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n *ngIf=\"timestampAlignment == timestampEnum.top && message?.getSentAt()\"></cometchat-date>\n </div>\n </ng-template>\n </ng-template>\n </cometchat-message-bubble>\n\n</ng-template>\n\n\n<!-- -->\n<cometchat-popover [popoverStyle]=\"popoverStyle\" #popoverRef\n [placement]=\"keyboardAlignment\">\n <cometchat-emoji-keyboard (cc-emoji-clicked)=\"addReaction($event)\"\n slot=\"content\"\n [emojiKeyboardStyle]=\"emojiKeyboardStyle\"></cometchat-emoji-keyboard>\n</cometchat-popover>\n<cometchat-backdrop *ngIf=\"openConfirmDialog\" [backdropStyle]=\"backdropStyle\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"warningText\"\n (cc-confirm-clicked)=\"onConfirmClick()\" [cancelButtonText]=\"cancelText\"\n [confirmButtonText]=\"confirmText\" (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"confirmDialogStyle\">\n\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-full-screen-viewer (cc-close-clicked)=\"closeImageInFullScreen()\"\n *ngIf=\"openFullscreenView\" [URL]=\"imageurlToOpen\"\n [closeIconURL]=\"closeIconURL\" [fullScreenViewerStyle]=\"fullScreenViewerStyle\">\n\n</cometchat-full-screen-viewer>\n\n<!-- ongoing callscreen for direct call -->\n<cometchat-ongoing-call *ngIf=\"showOngoingCall\"\n [callSettingsBuilder]=\"getCallBuilder()\" [ongoingCallStyle]=\"ongoingCallStyle\"\n [sessionID]=\"sessionId\"></cometchat-ongoing-call>\n<!-- message information view -->\n<!-- thread bubble view -->\n<ng-template #messageinfoBubble let-message>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container\n *ngTemplateOutlet=\"getBubbleWrapper(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\"\n [bottomView]=\"getBottomView(message)\"\n [statusInfoView]=\"getStatusInfoView(message)\"\n [footerView]=\"getFooterView(message)\"\n [leadingView]=\"showAvatar ? leadingView : null\" [headerView]=\"bubbleHeader\"\n [contentView]=\"contentView\" [id]=\"message?.getId() || message?.getMuid()\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\"\n [alignment]=\"messageInfoAlignment\">\n <ng-template #contentView>\n <ng-container\n *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\">\n </ng-container>\n </ng-template>\n <ng-template #leadingView>\n <div\n *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\">\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\"\n [avatarStyle]=\"avatarStyle\"\n [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n </ng-template>\n <ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container\n *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\"\n *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\"\n [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\"\n [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n *ngIf=\"timestampAlignment == timestampEnum.top && message?.getSentAt()\"></cometchat-date>\n </div>\n </ng-template>\n </ng-template>\n </cometchat-message-bubble>\n\n</ng-template>\n<cometchat-backdrop *ngIf=\"openMessageInfoPage\" [backdropStyle]=\"backdropStyle\">\n <cometchat-message-information\n [closeIconURL]=\"messageInformationConfiguration.closeIconURL\"\n [loadingStateView]=\"messageInformationConfiguration.loadingStateView\"\n [errorStateView]=\"messageInformationConfiguration.errorStateView\"\n [listItemStyle]=\"messageInformationConfiguration.listItemStyle\"\n [emptyStateView]=\"messageInformationConfiguration.emptyStateView\"\n [loadingIconURL]=\"messageInformationConfiguration.loadingIconURL\"\n [readIcon]=\"messageInformationConfiguration.readIcon\"\n [deliveredIcon]=\"messageInformationConfiguration.deliveredIcon\"\n [onError]=\"messageInformationConfiguration.onError\"\n [SubtitleView]=\"messageInformationConfiguration.subtitleView\"\n [receiptDatePattern]=\"messageInformationConfiguration.receiptDatePattern\"\n [listItemView]=\"messageInformationConfiguration.listItemView \"\n [messageInformationStyle]=\"messageInformationConfiguration.messageInformationStyle\"\n [onClose]=\"messageInformationConfiguration.onClose ?? closeMessageInfoPage\"\n [bubbleView]=\"messageInformationConfiguration.bubbleView ?? messageinfoBubble\"\n [message]=\"messageInfoObject\">\n\n </cometchat-message-information>\n</cometchat-backdrop>\n", styles: [".cc-message-list{height:100%;width:100%;overflow-y:auto;overflow-x:hidden;position:relative}.cc-message-list__wrapper{height:100%;width:100%;display:flex;flex-direction:column;justify-content:space-between;overflow-y:hidden}.cc-message-list__bubble-status-info{display:flex;align-items:flex-end;width:100%;padding:0 8px 8px;box-sizing:border-box}cometchat-reactions{margin-top:-3px}.cc-message-list__unread-thread{margin-left:4px}.cc-message-list__date-container{text-align:center;margin:5px 0}.cc-message-list__smart-replies,.cc-message-list__conversation-starters{height:-moz-fit-content;height:fit-content;width:100%;position:absolute;bottom:0;z-index:1}.cc-message-list__conversation-summary{height:100%;position:relative;bottom:0;z-index:1;padding:.1px 14px}.cc-message-list__date{border-radius:10px;display:flex;justify-content:center}.cc-message-list__threadreplies{min-width:130px;width:100%;padding-top:4px;display:flex}.cc-message-list__message-indicator{height:25px;display:flex;align-items:center;justify-content:center;width:100%;bottom:10%;position:absolute}.cc-message-list__footer-view{z-index:1;position:relative;width:100%;box-sizing:border-box;margin-bottom:1px}.cc-message-list__decorator-message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;height:100%}.cc-message-list__footer__decorator-message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px 0 16px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:flex-start;height:100%}.cc-message-list::-webkit-scrollbar{background:transparent;width:8px}.cc-message-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.cc-message-list__footer-view-decorator{display:flex;flex-direction:row;column-gap:8px}.cc_panel_container{border:1px solid #6851d6}cometchat-scheduler-bubble{width:100%}.cc-message-list__bubble-reactions{width:100%;box-sizing:border-box}\n"], components: [{ type: CometChatMessageBubbleComponent, selector: "cometchat-message-bubble", inputs: ["messageBubbleStyle", "alignment", "options", "id", "leadingView", "headerView", "replyView", "contentView", "threadView", "footerView", "bottomView", "statusInfoView", "moreIconURL", "topMenuSize"] }, { type: CometChatOngoingCallComponent, selector: "cometchat-ongoing-call", inputs: ["ongoingCallStyle", "resizeIconHoverText", "sessionID", "minimizeIconURL", "maximizeIconURL", "callSettingsBuilder", "callWorkflow", "onError"] }, { type: CometChatMessageInformationComponent, selector: "cometchat-message-information", inputs: ["closeIconURL", "message", "title", "template", "bubbleView", "subtitleView", "listItemView", "receiptDatePattern", "onError", "messageInformationStyle", "readIcon", "deliveredIcon", "onClose", "listItemStyle", "emptyStateText", "errorStateText", "emptyStateView", "loadingIconURL", "loadingStateView", "errorStateView"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12450
12552
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageListComponent, decorators: [{
|
|
12451
12553
|
type: Component,
|
|
12452
|
-
args: [{ selector: "cometchat-message-list", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-list__wrapper\" [ngStyle]=\"wrapperStyle()\"\n *ngIf=\"!openContactsView\">\n\n <div class=\"cc-message-list__header-view\">\n <div *ngIf=\"headerView\">\n <ng-container *ngTemplateOutlet=\"headerView\">\n </ng-container>\n </div>\n </div>\n <div class=\"cc-message-list\" #listScroll\n [ngStyle]=\"{height: showSmartReply || showConversationStarter || showConversationSummary ? '92%' : '100%'}\">\n <div class=\"cc-message-list__top\" #top>\n </div>\n <div class=\"cc-message-list__decorator-message\"\n *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"cc-message-list__loading-view\"\n *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\"\n [loaderStyle]=\"loadingStyle\">\n </cometchat-loader>\n <span class=\"cc-message-list__customview--loading\"\n *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__error-view\"\n *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\"\n *ngIf=\"state == states.error && !errorStateView\"\n [text]=\"errorStateText\">\n </cometchat-label>\n <span class=\"cc-message-list__custom-view--error\"\n *ngIf=\"state == states.error && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__empty-view\" *ngIf=\"state == states.empty\">\n <span class=\"cc-message-list__custom-view--empty\"\n *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"cc-message-list__bubble\"\n *ngFor=\"let message of messagesList; let i = index\">\n <div class=\"cc-message-list__date-container\"\n *ngIf=\"(i === 0) && message?.getSentAt()\">\n <span class=\"cc-message-list__date\">\n <cometchat-date [timestamp]=\"message!.getSentAt()\"\n [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\">\n </cometchat-date>\n </span>\n </div>\n <div class=\"cc-message-list__date-container\"\n *ngIf=\"(i > 0 && isDateDifferent(messagesList[i - 1]?.getSentAt(), messagesList[i]?.getSentAt())) && message?.getSentAt()\">\n <span class=\"cc-message-list__date\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\"\n [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\">\n </cometchat-date>\n </span>\n </div>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container\n *ngTemplateOutlet=\"getBubbleWrapper(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <div *ngIf=\"!getBubbleWrapper(message)\" #messageBubbleRef\n [id]=\"message?.getId()\">\n <cometchat-message-bubble\n [leadingView]=\" showAvatar ? leadingView : null\"\n [bottomView]=\"getBottomView(message)\"\n [statusInfoView]=\"showStatusInfo(message) ? statusInfoView : null\"\n [headerView]=\"getHeaderView(message) || message?.getCategory() != MessageCategory.action && showHeaderTitle(message) ? bubbleHeader : null\"\n [footerView]=\"getFooterView(message) || reactionView\"\n [contentView]=\"contentView\" [threadView]=\"threadView\"\n [id]=\"message?.getId() || message?.getMuid()\"\n [options]=\"setMessageOptions(message)\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\"\n [alignment]=\"setBubbleAlignment(message)\">\n <ng-template #contentView>\n <ng-container\n *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\">\n </ng-container>\n </ng-template>\n <ng-template #reactionView>\n <cometchat-reactions\n *ngIf=\"message.getReactions() && message.getReactions().length > 0 && !disableReactions\"\n [messageObject]=\"getClonedReactionObject(message)\"\n [alignment]=\"setBubbleAlignment(message)\"\n [reactionsStyle]=\"getReactionsStyle()\"\n [reactionClick]=\"addReactionOnClick\"\n [reactionListConfiguration]=\"getReactionListConfiguration()\"\n [reactionInfoConfiguration]=\"getReactionInfoConfiguration()\"></cometchat-reactions>\n </ng-template>\n <ng-template #statusInfoView>\n <div class=\"cc-message-list__bubble-status-info\"\n [ngStyle]=\"getStatusInfoStyle(message)\">\n <div *ngIf=\"getStatusInfoView(message);else bubbleFooter\">\n <ng-container\n *ngTemplateOutlet=\"getStatusInfoView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\"\n *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && !message.getDeletedAt() && message?.getCategory() != MessageCategory.call && message?.getSentAt()\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div\n *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() ||this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\"\n class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\"\n [receiptStyle]=\"getReceiptStyle(message)\"\n [waitIcon]=\"waitIcon\" [sentIcon]=\"sentIcon\"\n [deliveredIcon]=\"deliveredIcon\" [readIcon]=\"readIcon\"\n [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n <ng-template #leadingView>\n <div\n *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\">\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\"\n [avatarStyle]=\"avatarStyle\"\n [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n </ng-template>\n <ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container\n *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\"\n *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\"\n [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\"\n [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n *ngIf=\"timestampAlignment == timestampEnum.top && message?.getSentAt()\"></cometchat-date>\n </div>\n </ng-template>\n </ng-template>\n <ng-template #threadView>\n <div class=\"cc-message-list__threadreplies\"\n *ngIf=\"message?.getReplyCount() && !message.getDeletedAt()\"\n [ngStyle]=\"getThreadViewAlignment(message)\">\n <cometchat-icon-button [iconURL]=\"threadIndicatorIcon\"\n [mirrorIcon]=\"getThreadIconAlignment(message)\"\n [buttonStyle]=\"getThreadViewStyle(message)\"\n (cc-button-clicked)=\"openThreadView(message)\"\n [text]='getThreadCount(message)'>\n <!-- <span slot=\"buttonView\" [ngStyle]=\"getUnreadRepliesCountStyle()\"\n class=\"cc-message-list__unread-thread\"\n *ngIf=\"!message.getDeletedAt() && message.getUnreadReplyCount() > 0\">\n {{message.getUnreadReplyCount()}}\n </span> -->\n\n </cometchat-icon-button>\n </div>\n </ng-template>\n </cometchat-message-bubble>\n </div>\n </div>\n <div class=\"cc-message-list__bottom\" #bottom>\n </div>\n\n </div>\n <div class=\"cc-message-list__message-indicator\"\n *ngIf=\"UnreadCount && UnreadCount.length > 0 && !isOnBottom\"\n [ngStyle]=\"{bottom: showSmartReply || footerView || showConversationStarter || showConversationSummary ? '20%' : '13%'}\">\n <cometchat-button [text]=\"newMessageCount\"\n [buttonStyle]=\"unreadMessagesStyle\"\n (cc-button-clicked)=\"scrollToBottom()\"></cometchat-button>\n </div>\n <div class=\"cc-message-list__footer-view\" [ngStyle]=\"{height: 'auto'}\">\n\n <div *ngIf=\"footerView;else footer\">\n <ng-container *ngTemplateOutlet=\"footerView\">\n </ng-container>\n </div>\n <ng-template #footer>\n\n <div class=\"cc-message-list__smart-replies\"\n *ngIf=\"!showConversationStarter && showSmartReply && getReplies()\">\n <smart-replies [smartReplyStyle]=\"smartReplyStyle\"\n [replies]=\"getReplies()\" (cc-reply-clicked)=\"sendReply($event)\"\n (cc-close-clicked)=\"closeSmartReply()\">\n </smart-replies>\n </div>\n\n\n <div class=\"cc-message-list__conversation-starters\"\n *ngIf=\"enableConversationStarter && showConversationStarter\">\n <cometchat-ai-card [state]=\"conversationStarterState\"\n [loadingStateText]=\"starterLoadingStateText\"\n [emptyStateText]=\"starterEmptyStateText\"\n [errorStateText]=\"errorStateText\">\n <smart-replies\n *ngIf=\"conversationStarterState == states.loaded && !parentMessageId\"\n [smartReplyStyle]=\"conversationStarterStyle\"\n [replies]=\"conversationStarterReplies\" slot=\"loadedView\"\n (cc-reply-clicked)=\"sendConversationStarter($event)\"\n [closeIconURL]=\"''\">\n </smart-replies>\n </cometchat-ai-card>\n </div>\n\n <div class=\"cc-message-list__conversation-summary\"\n *ngIf=\"enableConversationSummary && showConversationSummary\">\n\n <cometchat-ai-card [state]=\"conversationSummaryState\"\n [loadingStateText]=\"summaryLoadingStateText\"\n [emptyStateText]=\"summaryEmptyStateText\"\n [errorStateText]=\"errorStateText\" [errorIconURL]=\"aiErrorIcon\"\n [emptyIconURL]=\"aiEmptyIcon\">\n <cometchat-panel\n *ngIf=\"conversationSummaryState == states.loaded && !parentMessageId\"\n slot=\"loadedView\" [panelStyle]=\"conversationSummaryStyle\"\n title=\"Conversation Summary\" [text]=\"conversationSummary\"\n (cc-close-clicked)=\"closeConversationSummary()\">\n </cometchat-panel>\n </cometchat-ai-card>\n\n </div>\n\n </ng-template>\n </div>\n\n</div>\n<!-- default bubbles -->\n<ng-template #textBubble let-message>\n <cometchat-text-bubble\n *ngIf=\"message?.type == MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\"\n [text]=\"message?.message\"></cometchat-text-bubble>\n <cometchat-text-bubble *ngIf=\"message?.getDeletedAt()\"\n [textStyle]=\"setTextBubbleStyle(message)\"\n [text]=\"localize('MESSAGE_IS_DELETED')\"></cometchat-text-bubble>\n <cometchat-text-bubble\n *ngIf=\"!isTranslated(message) && !getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"\n [textFormatters]=\"getTextFormatters(message)\"></cometchat-text-bubble>\n <link-preview [linkPreviewStyle]=\"linkPreviewStyle\"\n (cc-link-clicked)=\"openLinkURL($event)\"\n *ngIf=\"!message?.getDeletedAt() && getLinkPreview(message) && enableLinkPreview\"\n [title]=\"getLinkPreviewDetails('title',message)\"\n [description]=\"getLinkPreviewDetails('description',message)\"\n [URL]=\"getLinkPreviewDetails('url',message)\"\n [image]=\"getLinkPreviewDetails('image',message)\"\n [favIconURL]=\"getLinkPreviewDetails('favicon',message)\">\n <cometchat-text-bubble\n *ngIf=\"!isTranslated(message) && getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"\n [textFormatters]=\"getTextFormatters(message)\"></cometchat-text-bubble>\n </link-preview>\n <message-translation-bubble [alignment]=\"getBubbleAlignment(message)\"\n *ngIf=\"isTranslated(message)\"\n [messageTranslationStyle]=\"setTranslationStyle(message)\"\n [translatedText]=\"isTranslated(message)\"\n [textFormatters]=\"getTextFormatters(message)\">\n <cometchat-text-bubble\n *ngIf=\" !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"message?.text\"\n [textFormatters]=\"getTextFormatters(message)\"></cometchat-text-bubble>\n\n </message-translation-bubble>\n</ng-template>\n<ng-template #fileBubble let-message>\n\n <cometchat-file-bubble [fileStyle]=\"setFileBubbleStyle(message)\"\n [downloadIconURL]=\"downloadIconURL\" [subtitle]=\"localize('SHARED_FILE')\"\n [title]=\"message?.data?.attachments ? message?.data?.attachments[0]?.name: ''\"\n [fileURL]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\"></cometchat-file-bubble>\n</ng-template>\n<ng-template #audioBubble let-message>\n <cometchat-icon-button [disabled]=\"true\"\n *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.audio\"\n [iconURL]=\"getCallTypeIcon(message)\"\n [buttonStyle]=\"callStatusStyle(message)\"\n [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n <cometchat-audio-bubble\n *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\"\n [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\">\n </cometchat-audio-bubble>\n</ng-template>\n<ng-template #videoBubble let-message>\n <cometchat-icon-button [disabled]=\"true\"\n *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.video\"\n [iconURL]=\"getCallTypeIcon(message)\"\n [buttonStyle]=\"callStatusStyle(message)\"\n [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n\n <cometchat-video-bubble\n *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\"\n [videoStyle]=\"videoBubbleStyle\"\n [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\"\n [poster]=\" getImageThumbnail(message)\"></cometchat-video-bubble>\n</ng-template>\n<ng-template #imageBubble let-message>\n <image-moderation (cc-show-dialog)=\"openWarningDialog($event)\"\n *ngIf=\"!message.getDeletedAt() && enableImageModeration\" [message]=\"message\"\n [imageModerationStyle]=\"imageModerationStyle\">\n <cometchat-image-bubble (cc-image-clicked)=\"openImageInFullScreen(message)\"\n [imageStyle]=\"imageBubbleStyle\" [src]=\" getImageThumbnail(message)\"\n [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n </image-moderation>\n <cometchat-image-bubble [imageStyle]=\"imageBubbleStyle\"\n (cc-image-clicked)=\"openImageInFullScreen(message)\"\n *ngIf=\"!message.getDeletedAt() && !enableImageModeration\"\n [src]=\" getImageThumbnail(message)\"\n [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n</ng-template>\n<ng-template #formBubble let-message>\n <cometchat-form-bubble [message]=\"message\"\n [formBubbleStyle]=\"getFormMessageBubbleStyle()\"></cometchat-form-bubble>\n</ng-template>\n<ng-template #cardBubble let-message>\n <cometchat-card-bubble [message]=\"message\"\n [cardBubbleStyle]=\"getCardMessageBubbleStyle()\"></cometchat-card-bubble>\n</ng-template>\n<ng-template #customTextBubble>\n</ng-template>\n<ng-template #stickerBubble let-message>\n <cometchat-image-bubble [src]=\"getSticker(message)\"\n [imageStyle]=\"imageBubbleStyle\"></cometchat-image-bubble>\n\n</ng-template>\n<ng-template #whiteboardBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\"\n [iconAlignment]=\"documentBubbleAlignment\"\n [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\"\n [ccClicked]=\"launchCollaborativeWhiteboardDocument\"\n [iconURL]=\"whiteboardIconURL\" [title]=\"whiteboardTitle\"\n [buttonText]=\"whiteboardButtonText\"\n [subtitle]=\"whiteboardSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #documentBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\"\n [iconAlignment]=\"documentBubbleAlignment\"\n [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\"\n [ccClicked]=\"launchCollaborativeWhiteboardDocument\"\n [iconURL]=\"documentIconURL\" [title]=\"documentTitle\"\n [buttonText]=\"documentButtonText\"\n [subtitle]=\"documentSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #directCalling let-message>\n <cometchat-document-bubble [hideSeparator]=\"true\"\n [iconAlignment]=\"callBubbleAlignment\"\n [documentStyle]=\"getCallBubbleStyle(message)\" [URL]=\"getSessionId(message)\"\n [ccClicked]=\"getStartCallFunction(message)\" [iconURL]=\"directCallIconURL\"\n [title]=\"getCallBubbleTitle(message)\" [buttonText]=\"joinCallButtonText\"\n *ngIf=\"message.category == 'custom'\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #schedulerBubble let-message>\n <cometchat-scheduler-bubble [schedulerMessage]=\"message\"\n [loggedInUser]=\"loggedInUser\"\n [schedulerBubbleStyle]=\"getSchedulerBubbleStyle(message)\"></cometchat-scheduler-bubble>\n\n</ng-template>\n<ng-template #pollBubble let-message>\n <polls-bubble [pollStyle]=\"pollBubbleStyle\"\n [pollQuestion]=\"getPollBubbleData(message,'question')\"\n [pollId]=\"getPollBubbleData(message,'id')\" [loggedInUser]=\"loggedInUser\"\n [senderUid]=\"getPollBubbleData(message)\"\n [metadata]=\"message?.metadata\"></polls-bubble>\n\n</ng-template>\n\n<!-- thread bubble view -->\n<ng-template #threadMessageBubble let-message>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container\n *ngTemplateOutlet=\"getBubbleWrapper(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\"\n [bottomView]=\"getBottomView(message)\"\n [statusInfoView]=\"showStatusInfo(message) ? statusInfoView : null\"\n [leadingView]=\" showAvatar ? leadingView : null\" [headerView]=\"bubbleHeader\"\n [footerView]=\"getFooterView(message)\" [contentView]=\"contentView\"\n [id]=\"message?.getId() || message?.getMuid()\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\"\n [alignment]=\"threadedAlignment\">\n <ng-template #contentView>\n <ng-container\n *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\">\n </ng-container>\n </ng-template>\n <ng-template #statusInfoView>\n <div class=\"cc-message-list__bubble-status-info\"\n [ngStyle]=\"getStatusInfoStyle(message)\">\n <div *ngIf=\"getStatusInfoView(message);else bubbleFooter\">\n <ng-container\n *ngTemplateOutlet=\"getStatusInfoView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\"\n *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call && message?.getSentAt()\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\" [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div\n *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() ||this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\"\n class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\"\n [receiptStyle]=\"getReceiptStyle(message)\" [waitIcon]=\"waitIcon\"\n [sentIcon]=\"sentIcon\" [deliveredIcon]=\"\"\n [readIcon]=\"deliveredIcon\"\n [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n <ng-template #leadingView>\n <div\n *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\">\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\"\n [avatarStyle]=\"avatarStyle\"\n [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n </ng-template>\n <ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container\n *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\"\n *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\"\n [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\"\n [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n *ngIf=\"timestampAlignment == timestampEnum.top && message?.getSentAt()\"></cometchat-date>\n </div>\n </ng-template>\n </ng-template>\n </cometchat-message-bubble>\n\n</ng-template>\n\n\n<!-- -->\n<cometchat-popover [popoverStyle]=\"popoverStyle\" #popoverRef\n [placement]=\"keyboardAlignment\">\n <cometchat-emoji-keyboard (cc-emoji-clicked)=\"addReaction($event)\"\n slot=\"content\"\n [emojiKeyboardStyle]=\"emojiKeyboardStyle\"></cometchat-emoji-keyboard>\n</cometchat-popover>\n<cometchat-backdrop *ngIf=\"openConfirmDialog\" [backdropStyle]=\"backdropStyle\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"warningText\"\n (cc-confirm-clicked)=\"onConfirmClick()\" [cancelButtonText]=\"cancelText\"\n [confirmButtonText]=\"confirmText\" (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"confirmDialogStyle\">\n\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-full-screen-viewer (cc-close-clicked)=\"closeImageInFullScreen()\"\n *ngIf=\"openFullscreenView\" [URL]=\"imageurlToOpen\"\n [closeIconURL]=\"closeIconURL\" [fullScreenViewerStyle]=\"fullScreenViewerStyle\">\n\n</cometchat-full-screen-viewer>\n\n<!-- ongoing callscreen for direct call -->\n<cometchat-ongoing-call *ngIf=\"showOngoingCall\"\n [callSettingsBuilder]=\"getCallBuilder()\" [ongoingCallStyle]=\"ongoingCallStyle\"\n [sessionID]=\"sessionId\"></cometchat-ongoing-call>\n<!-- message information view -->\n<!-- thread bubble view -->\n<ng-template #messageinfoBubble let-message>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container\n *ngTemplateOutlet=\"getBubbleWrapper(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\"\n [bottomView]=\"getBottomView(message)\"\n [statusInfoView]=\"getStatusInfoView(message)\"\n [footerView]=\"getFooterView(message)\"\n [leadingView]=\"showAvatar ? leadingView : null\" [headerView]=\"bubbleHeader\"\n [contentView]=\"contentView\" [id]=\"message?.getId() || message?.getMuid()\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\"\n [alignment]=\"messageInfoAlignment\">\n <ng-template #contentView>\n <ng-container\n *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\">\n </ng-container>\n </ng-template>\n <ng-template #leadingView>\n <div\n *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\">\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\"\n [avatarStyle]=\"avatarStyle\"\n [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n </ng-template>\n <ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container\n *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\"\n *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\"\n [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\"\n [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n *ngIf=\"timestampAlignment == timestampEnum.top && message?.getSentAt()\"></cometchat-date>\n </div>\n </ng-template>\n </ng-template>\n </cometchat-message-bubble>\n\n</ng-template>\n<cometchat-backdrop *ngIf=\"openMessageInfoPage\" [backdropStyle]=\"backdropStyle\">\n <cometchat-message-information\n [closeIconURL]=\"messageInformationConfiguration.closeIconURL\"\n [loadingStateView]=\"messageInformationConfiguration.loadingStateView\"\n [errorStateView]=\"messageInformationConfiguration.errorStateView\"\n [listItemStyle]=\"messageInformationConfiguration.listItemStyle\"\n [emptyStateView]=\"messageInformationConfiguration.emptyStateView\"\n [loadingIconURL]=\"messageInformationConfiguration.loadingIconURL\"\n [readIcon]=\"messageInformationConfiguration.readIcon\"\n [deliveredIcon]=\"messageInformationConfiguration.deliveredIcon\"\n [onError]=\"messageInformationConfiguration.onError\"\n [SubtitleView]=\"messageInformationConfiguration.subtitleView\"\n [receiptDatePattern]=\"messageInformationConfiguration.receiptDatePattern\"\n [listItemView]=\"messageInformationConfiguration.listItemView \"\n [messageInformationStyle]=\"messageInformationConfiguration.messageInformationStyle\"\n [onClose]=\"messageInformationConfiguration.onClose ?? closeMessageInfoPage\"\n [bubbleView]=\"messageInformationConfiguration.bubbleView ?? messageinfoBubble\"\n [message]=\"messageInfoObject\">\n\n </cometchat-message-information>\n</cometchat-backdrop>\n", styles: [".cc-message-list{height:100%;width:100%;overflow-y:auto;overflow-x:hidden;position:relative}.cc-message-list__wrapper{height:100%;width:100%;display:flex;flex-direction:column;justify-content:space-between;overflow-y:hidden}.cc-message-list__bubble-status-info{display:flex;align-items:flex-end;width:100%;padding:0 8px 8px;box-sizing:border-box}cometchat-reactions{margin-top:-3px}.cc-message-list__unread-thread{margin-left:4px}.cc-message-list__date-container{text-align:center;margin:5px 0}.cc-message-list__smart-replies,.cc-message-list__conversation-starters{height:-moz-fit-content;height:fit-content;width:100%;position:absolute;bottom:0;z-index:1}.cc-message-list__conversation-summary{height:100%;position:relative;bottom:0;z-index:1;padding:.1px 14px}.cc-message-list__date{border-radius:10px;display:flex;justify-content:center}.cc-message-list__threadreplies{min-width:130px;width:100%;padding-top:4px;display:flex}.cc-message-list__message-indicator{height:25px;display:flex;align-items:center;justify-content:center;width:100%;bottom:10%;position:absolute}.cc-message-list__footer-view{z-index:1;position:relative;width:100%;box-sizing:border-box;margin-bottom:1px}.cc-message-list__decorator-message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;height:100%}.cc-message-list__footer__decorator-message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px 0 16px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:flex-start;height:100%}.cc-message-list::-webkit-scrollbar{background:transparent;width:8px}.cc-message-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.cc-message-list__footer-view-decorator{display:flex;flex-direction:row;column-gap:8px}.cc_panel_container{border:1px solid #6851d6}cometchat-scheduler-bubble{width:100%}.cc-message-list__bubble-reactions{width:100%;box-sizing:border-box}\n"] }]
|
|
12554
|
+
args: [{ selector: "cometchat-message-list", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-list__wrapper\" [ngStyle]=\"wrapperStyle()\"\n *ngIf=\"!openContactsView\">\n\n <div class=\"cc-message-list__header-view\">\n <div *ngIf=\"headerView\">\n <ng-container *ngTemplateOutlet=\"headerView\">\n </ng-container>\n </div>\n </div>\n <div class=\"cc-message-list\" #listScroll\n [ngStyle]=\"{height: showSmartReply || showConversationStarter || showConversationSummary ? '92%' : '100%'}\">\n <div class=\"cc-message-list__top\" #top>\n </div>\n <div class=\"cc-message-list__decorator-message\"\n *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"cc-message-list__loading-view\"\n *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\"\n [loaderStyle]=\"loadingStyle\">\n </cometchat-loader>\n <span class=\"cc-message-list__customview--loading\"\n *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__error-view\"\n *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\"\n *ngIf=\"state == states.error && !errorStateView\"\n [text]=\"errorStateText\">\n </cometchat-label>\n <span class=\"cc-message-list__custom-view--error\"\n *ngIf=\"state == states.error && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__empty-view\" *ngIf=\"state == states.empty\">\n <span class=\"cc-message-list__custom-view--empty\"\n *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"cc-message-list__bubble\"\n *ngFor=\"let message of messagesList; let i = index\">\n <div class=\"cc-message-list__date-container\"\n *ngIf=\"(i === 0) && message?.getSentAt() && !hideDateSeparator\">\n <span class=\"cc-message-list__date\">\n <cometchat-date [timestamp]=\"message!.getSentAt()\"\n [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\">\n </cometchat-date>\n </span>\n </div>\n <div class=\"cc-message-list__date-container\"\n *ngIf=\"(i > 0 && isDateDifferent(messagesList[i - 1]?.getSentAt(), messagesList[i]?.getSentAt())) && message?.getSentAt() && !hideDateSeparator\">\n <span class=\"cc-message-list__date\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\"\n [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\">\n </cometchat-date>\n </span>\n </div>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container\n *ngTemplateOutlet=\"getBubbleWrapper(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <div *ngIf=\"!getBubbleWrapper(message)\" #messageBubbleRef\n [id]=\"message?.getId()\">\n <cometchat-message-bubble\n [leadingView]=\" showAvatar ? leadingView : null\"\n [bottomView]=\"getBottomView(message)\"\n [statusInfoView]=\"showStatusInfo(message) ? statusInfoView : null\"\n [headerView]=\"getHeaderView(message) || message?.getCategory() != MessageCategory.action && showHeaderTitle(message) ? bubbleHeader : null\"\n [footerView]=\"getFooterView(message) || reactionView\"\n [contentView]=\"contentView\" [threadView]=\"threadView\"\n [id]=\"message?.getId() || message?.getMuid()\"\n [options]=\"setMessageOptions(message)\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\"\n [alignment]=\"setBubbleAlignment(message)\">\n <ng-template #contentView>\n <ng-container\n *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\">\n </ng-container>\n </ng-template>\n <ng-template #reactionView>\n <cometchat-reactions\n *ngIf=\"message.getReactions() && message.getReactions().length > 0 && !disableReactions\"\n [messageObject]=\"getClonedReactionObject(message)\"\n [alignment]=\"setBubbleAlignment(message)\"\n [reactionsStyle]=\"getReactionsStyle()\"\n [reactionClick]=\"addReactionOnClick\"\n [reactionListConfiguration]=\"getReactionListConfiguration()\"\n [reactionInfoConfiguration]=\"getReactionInfoConfiguration()\"></cometchat-reactions>\n </ng-template>\n <ng-template #statusInfoView>\n <div class=\"cc-message-list__bubble-status-info\"\n [ngStyle]=\"getStatusInfoStyle(message)\">\n <div *ngIf=\"getStatusInfoView(message);else bubbleFooter\">\n <ng-container\n *ngTemplateOutlet=\"getStatusInfoView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\"\n *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && !message.getDeletedAt() && message?.getCategory() != MessageCategory.call && message?.getSentAt()\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div\n *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() || this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\"\n class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\"\n [receiptStyle]=\"getReceiptStyle(message)\"\n [waitIcon]=\"waitIcon\" [sentIcon]=\"sentIcon\"\n [deliveredIcon]=\"deliveredIcon\" [readIcon]=\"readIcon\"\n [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n <ng-template #leadingView>\n <div\n *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\">\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\"\n [avatarStyle]=\"avatarStyle\"\n [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n </ng-template>\n <ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container\n *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\"\n *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\"\n [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\"\n [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n *ngIf=\"timestampAlignment == timestampEnum.top && message?.getSentAt()\"></cometchat-date>\n </div>\n </ng-template>\n </ng-template>\n <ng-template #threadView>\n <div class=\"cc-message-list__threadreplies\"\n *ngIf=\"message?.getReplyCount() && !message.getDeletedAt()\"\n [ngStyle]=\"getThreadViewAlignment(message)\">\n <cometchat-icon-button [iconURL]=\"threadIndicatorIcon\"\n [mirrorIcon]=\"getThreadIconAlignment(message)\"\n [buttonStyle]=\"getThreadViewStyle(message)\"\n (cc-button-clicked)=\"openThreadView(message)\"\n [text]='getThreadCount(message)'>\n <!-- <span slot=\"buttonView\" [ngStyle]=\"getUnreadRepliesCountStyle()\"\n class=\"cc-message-list__unread-thread\"\n *ngIf=\"!message.getDeletedAt() && message.getUnreadReplyCount() > 0\">\n {{message.getUnreadReplyCount()}}\n </span> -->\n\n </cometchat-icon-button>\n </div>\n </ng-template>\n </cometchat-message-bubble>\n </div>\n </div>\n <div class=\"cc-message-list__bottom\" #bottom>\n </div>\n\n </div>\n <div class=\"cc-message-list__message-indicator\"\n *ngIf=\"UnreadCount && UnreadCount.length > 0 && !isOnBottom\"\n [ngStyle]=\"{bottom: showSmartReply || footerView || showConversationStarter || showConversationSummary ? '20%' : '13%'}\">\n <cometchat-button [text]=\"newMessageCount\"\n [buttonStyle]=\"unreadMessagesStyle\"\n (cc-button-clicked)=\"scrollToBottom()\"></cometchat-button>\n </div>\n <div class=\"cc-message-list__footer-view\" [ngStyle]=\"{height: 'auto'}\">\n\n <div *ngIf=\"footerView;else footer\">\n <ng-container *ngTemplateOutlet=\"footerView\">\n </ng-container>\n </div>\n <ng-template #footer>\n\n <div class=\"cc-message-list__smart-replies\"\n *ngIf=\"!showConversationStarter && showSmartReply && getReplies()\">\n <smart-replies [smartReplyStyle]=\"smartReplyStyle\"\n [replies]=\"getReplies()\" (cc-reply-clicked)=\"sendReply($event)\"\n (cc-close-clicked)=\"closeSmartReply()\">\n </smart-replies>\n </div>\n\n\n <div class=\"cc-message-list__conversation-starters\"\n *ngIf=\"enableConversationStarter && showConversationStarter\">\n <cometchat-ai-card [state]=\"conversationStarterState\"\n [loadingStateText]=\"starterLoadingStateText\"\n [emptyStateText]=\"starterEmptyStateText\"\n [errorStateText]=\"errorStateText\">\n <smart-replies\n *ngIf=\"conversationStarterState == states.loaded && !parentMessageId\"\n [smartReplyStyle]=\"conversationStarterStyle\"\n [replies]=\"conversationStarterReplies\" slot=\"loadedView\"\n (cc-reply-clicked)=\"sendConversationStarter($event)\"\n [closeIconURL]=\"''\">\n </smart-replies>\n </cometchat-ai-card>\n </div>\n\n <div class=\"cc-message-list__conversation-summary\"\n *ngIf=\"enableConversationSummary && showConversationSummary\">\n\n <cometchat-ai-card [state]=\"conversationSummaryState\"\n [loadingStateText]=\"summaryLoadingStateText\"\n [emptyStateText]=\"summaryEmptyStateText\"\n [errorStateText]=\"errorStateText\" [errorIconURL]=\"aiErrorIcon\"\n [emptyIconURL]=\"aiEmptyIcon\">\n <cometchat-panel\n *ngIf=\"conversationSummaryState == states.loaded && !parentMessageId\"\n slot=\"loadedView\" [panelStyle]=\"conversationSummaryStyle\"\n title=\"Conversation Summary\" [text]=\"conversationSummary\"\n (cc-close-clicked)=\"closeConversationSummary()\">\n </cometchat-panel>\n </cometchat-ai-card>\n\n </div>\n\n </ng-template>\n </div>\n\n</div>\n<!-- default bubbles -->\n<ng-template #textBubble let-message>\n <cometchat-text-bubble\n *ngIf=\"message?.type == MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\"\n [text]=\"message?.message\"></cometchat-text-bubble>\n <cometchat-text-bubble *ngIf=\"message?.getDeletedAt()\"\n [textStyle]=\"setTextBubbleStyle(message)\"\n [text]=\"localize('MESSAGE_IS_DELETED')\"></cometchat-text-bubble>\n <cometchat-text-bubble\n *ngIf=\"!isTranslated(message) && !getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"\n [textFormatters]=\"getTextFormatters(message)\"></cometchat-text-bubble>\n <link-preview [linkPreviewStyle]=\"linkPreviewStyle\"\n (cc-link-clicked)=\"openLinkURL($event)\"\n *ngIf=\"!message?.getDeletedAt() && getLinkPreview(message) && enableLinkPreview\"\n [title]=\"getLinkPreviewDetails('title',message)\"\n [description]=\"getLinkPreviewDetails('description',message)\"\n [URL]=\"getLinkPreviewDetails('url',message)\"\n [image]=\"getLinkPreviewDetails('image',message)\"\n [favIconURL]=\"getLinkPreviewDetails('favicon',message)\">\n <cometchat-text-bubble\n *ngIf=\"!isTranslated(message) && getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"\n [textFormatters]=\"getTextFormatters(message)\"></cometchat-text-bubble>\n </link-preview>\n <message-translation-bubble [alignment]=\"getBubbleAlignment(message)\"\n *ngIf=\"isTranslated(message)\"\n [messageTranslationStyle]=\"setTranslationStyle(message)\"\n [translatedText]=\"isTranslated(message)\"\n [textFormatters]=\"getTextFormatters(message)\">\n <cometchat-text-bubble\n *ngIf=\" !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"message?.text\"\n [textFormatters]=\"getTextFormatters(message)\"></cometchat-text-bubble>\n\n </message-translation-bubble>\n</ng-template>\n<ng-template #fileBubble let-message>\n\n <cometchat-file-bubble [fileStyle]=\"setFileBubbleStyle(message)\"\n [downloadIconURL]=\"downloadIconURL\" [subtitle]=\"localize('SHARED_FILE')\"\n [title]=\"message?.data?.attachments ? message?.data?.attachments[0]?.name: ''\"\n [fileURL]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\"></cometchat-file-bubble>\n</ng-template>\n<ng-template #audioBubble let-message>\n <cometchat-icon-button [disabled]=\"true\"\n *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.audio\"\n [iconURL]=\"getCallTypeIcon(message)\"\n [buttonStyle]=\"callStatusStyle(message)\"\n [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n <cometchat-audio-bubble\n *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\"\n [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\">\n </cometchat-audio-bubble>\n</ng-template>\n<ng-template #videoBubble let-message>\n <cometchat-icon-button [disabled]=\"true\"\n *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.video\"\n [iconURL]=\"getCallTypeIcon(message)\"\n [buttonStyle]=\"callStatusStyle(message)\"\n [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n\n <cometchat-video-bubble\n *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\"\n [videoStyle]=\"videoBubbleStyle\"\n [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\"\n [poster]=\" getImageThumbnail(message)\"></cometchat-video-bubble>\n</ng-template>\n<ng-template #imageBubble let-message>\n <image-moderation (cc-show-dialog)=\"openWarningDialog($event)\"\n *ngIf=\"!message.getDeletedAt() && enableImageModeration\" [message]=\"message\"\n [imageModerationStyle]=\"imageModerationStyle\">\n <cometchat-image-bubble (cc-image-clicked)=\"openImageInFullScreen(message)\"\n [imageStyle]=\"imageBubbleStyle\" [src]=\" getImageThumbnail(message)\"\n [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n </image-moderation>\n <cometchat-image-bubble [imageStyle]=\"imageBubbleStyle\"\n (cc-image-clicked)=\"openImageInFullScreen(message)\"\n *ngIf=\"!message.getDeletedAt() && !enableImageModeration\"\n [src]=\" getImageThumbnail(message)\"\n [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n</ng-template>\n<ng-template #formBubble let-message>\n <cometchat-form-bubble [message]=\"message\"\n [formBubbleStyle]=\"getFormMessageBubbleStyle()\"></cometchat-form-bubble>\n</ng-template>\n<ng-template #cardBubble let-message>\n <cometchat-card-bubble [message]=\"message\"\n [cardBubbleStyle]=\"getCardMessageBubbleStyle()\"></cometchat-card-bubble>\n</ng-template>\n<ng-template #customTextBubble>\n</ng-template>\n<ng-template #stickerBubble let-message>\n <cometchat-image-bubble [src]=\"getSticker(message)\"\n [imageStyle]=\"imageBubbleStyle\"></cometchat-image-bubble>\n\n</ng-template>\n<ng-template #whiteboardBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\"\n [iconAlignment]=\"documentBubbleAlignment\"\n [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\"\n [ccClicked]=\"launchCollaborativeWhiteboardDocument\"\n [iconURL]=\"whiteboardIconURL\" [title]=\"whiteboardTitle\"\n [buttonText]=\"whiteboardButtonText\"\n [subtitle]=\"whiteboardSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #documentBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\"\n [iconAlignment]=\"documentBubbleAlignment\"\n [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\"\n [ccClicked]=\"launchCollaborativeWhiteboardDocument\"\n [iconURL]=\"documentIconURL\" [title]=\"documentTitle\"\n [buttonText]=\"documentButtonText\"\n [subtitle]=\"documentSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #directCalling let-message>\n <cometchat-document-bubble [hideSeparator]=\"true\"\n [iconAlignment]=\"callBubbleAlignment\"\n [documentStyle]=\"getCallBubbleStyle(message)\" [URL]=\"getSessionId(message)\"\n [ccClicked]=\"getStartCallFunction(message)\" [iconURL]=\"directCallIconURL\"\n [title]=\"getCallBubbleTitle(message)\" [buttonText]=\"joinCallButtonText\"\n *ngIf=\"message.category == 'custom'\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #schedulerBubble let-message>\n <cometchat-scheduler-bubble [schedulerMessage]=\"message\"\n [loggedInUser]=\"loggedInUser\"\n [schedulerBubbleStyle]=\"getSchedulerBubbleStyle(message)\"></cometchat-scheduler-bubble>\n\n</ng-template>\n<ng-template #pollBubble let-message>\n <polls-bubble [pollStyle]=\"pollBubbleStyle\"\n [pollQuestion]=\"getPollBubbleData(message,'question')\"\n [pollId]=\"getPollBubbleData(message,'id')\" [loggedInUser]=\"loggedInUser\"\n [senderUid]=\"getPollBubbleData(message)\"\n [metadata]=\"message?.metadata\"></polls-bubble>\n\n</ng-template>\n\n<!-- thread bubble view -->\n<ng-template #threadMessageBubble let-message>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container\n *ngTemplateOutlet=\"getBubbleWrapper(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\"\n [bottomView]=\"getBottomView(message)\"\n [statusInfoView]=\"showStatusInfo(message) ? statusInfoView : null\"\n [leadingView]=\" showAvatar ? leadingView : null\" [headerView]=\"bubbleHeader\"\n [footerView]=\"getFooterView(message)\" [contentView]=\"contentView\"\n [id]=\"message?.getId() || message?.getMuid()\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\"\n [alignment]=\"threadedAlignment\">\n <ng-template #contentView>\n <ng-container\n *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\">\n </ng-container>\n </ng-template>\n <ng-template #statusInfoView>\n <div class=\"cc-message-list__bubble-status-info\"\n [ngStyle]=\"getStatusInfoStyle(message)\">\n <div *ngIf=\"getStatusInfoView(message);else bubbleFooter\">\n <ng-container\n *ngTemplateOutlet=\"getStatusInfoView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\"\n *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call && message?.getSentAt()\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\" [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div\n *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() || this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\"\n class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\"\n [receiptStyle]=\"getReceiptStyle(message)\" [waitIcon]=\"waitIcon\"\n [sentIcon]=\"sentIcon\" [deliveredIcon]=\"\"\n [readIcon]=\"deliveredIcon\"\n [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n <ng-template #leadingView>\n <div\n *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\">\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\"\n [avatarStyle]=\"avatarStyle\"\n [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n </ng-template>\n <ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container\n *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\"\n *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\"\n [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\"\n [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n *ngIf=\"timestampAlignment == timestampEnum.top && message?.getSentAt()\"></cometchat-date>\n </div>\n </ng-template>\n </ng-template>\n </cometchat-message-bubble>\n\n</ng-template>\n\n\n<!-- -->\n<cometchat-popover [popoverStyle]=\"popoverStyle\" #popoverRef\n [placement]=\"keyboardAlignment\">\n <cometchat-emoji-keyboard (cc-emoji-clicked)=\"addReaction($event)\"\n slot=\"content\"\n [emojiKeyboardStyle]=\"emojiKeyboardStyle\"></cometchat-emoji-keyboard>\n</cometchat-popover>\n<cometchat-backdrop *ngIf=\"openConfirmDialog\" [backdropStyle]=\"backdropStyle\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"warningText\"\n (cc-confirm-clicked)=\"onConfirmClick()\" [cancelButtonText]=\"cancelText\"\n [confirmButtonText]=\"confirmText\" (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"confirmDialogStyle\">\n\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-full-screen-viewer (cc-close-clicked)=\"closeImageInFullScreen()\"\n *ngIf=\"openFullscreenView\" [URL]=\"imageurlToOpen\"\n [closeIconURL]=\"closeIconURL\" [fullScreenViewerStyle]=\"fullScreenViewerStyle\">\n\n</cometchat-full-screen-viewer>\n\n<!-- ongoing callscreen for direct call -->\n<cometchat-ongoing-call *ngIf=\"showOngoingCall\"\n [callSettingsBuilder]=\"getCallBuilder()\" [ongoingCallStyle]=\"ongoingCallStyle\"\n [sessionID]=\"sessionId\"></cometchat-ongoing-call>\n<!-- message information view -->\n<!-- thread bubble view -->\n<ng-template #messageinfoBubble let-message>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container\n *ngTemplateOutlet=\"getBubbleWrapper(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\"\n [bottomView]=\"getBottomView(message)\"\n [statusInfoView]=\"getStatusInfoView(message)\"\n [footerView]=\"getFooterView(message)\"\n [leadingView]=\"showAvatar ? leadingView : null\" [headerView]=\"bubbleHeader\"\n [contentView]=\"contentView\" [id]=\"message?.getId() || message?.getMuid()\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\"\n [alignment]=\"messageInfoAlignment\">\n <ng-template #contentView>\n <ng-container\n *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\">\n </ng-container>\n </ng-template>\n <ng-template #leadingView>\n <div\n *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\">\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\"\n [avatarStyle]=\"avatarStyle\"\n [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n </ng-template>\n <ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container\n *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\">\n </ng-container>\n </div>\n <ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\"\n *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\"\n [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\"\n [timestamp]=\"message?.getSentAt()\"\n [dateStyle]=\"getBubbleDateStyle(message)\"\n *ngIf=\"timestampAlignment == timestampEnum.top && message?.getSentAt()\"></cometchat-date>\n </div>\n </ng-template>\n </ng-template>\n </cometchat-message-bubble>\n\n</ng-template>\n<cometchat-backdrop *ngIf=\"openMessageInfoPage\" [backdropStyle]=\"backdropStyle\">\n <cometchat-message-information\n [closeIconURL]=\"messageInformationConfiguration.closeIconURL\"\n [loadingStateView]=\"messageInformationConfiguration.loadingStateView\"\n [errorStateView]=\"messageInformationConfiguration.errorStateView\"\n [listItemStyle]=\"messageInformationConfiguration.listItemStyle\"\n [emptyStateView]=\"messageInformationConfiguration.emptyStateView\"\n [loadingIconURL]=\"messageInformationConfiguration.loadingIconURL\"\n [readIcon]=\"messageInformationConfiguration.readIcon\"\n [deliveredIcon]=\"messageInformationConfiguration.deliveredIcon\"\n [onError]=\"messageInformationConfiguration.onError\"\n [SubtitleView]=\"messageInformationConfiguration.subtitleView\"\n [receiptDatePattern]=\"messageInformationConfiguration.receiptDatePattern\"\n [listItemView]=\"messageInformationConfiguration.listItemView \"\n [messageInformationStyle]=\"messageInformationConfiguration.messageInformationStyle\"\n [onClose]=\"messageInformationConfiguration.onClose ?? closeMessageInfoPage\"\n [bubbleView]=\"messageInformationConfiguration.bubbleView ?? messageinfoBubble\"\n [message]=\"messageInfoObject\">\n\n </cometchat-message-information>\n</cometchat-backdrop>\n", styles: [".cc-message-list{height:100%;width:100%;overflow-y:auto;overflow-x:hidden;position:relative}.cc-message-list__wrapper{height:100%;width:100%;display:flex;flex-direction:column;justify-content:space-between;overflow-y:hidden}.cc-message-list__bubble-status-info{display:flex;align-items:flex-end;width:100%;padding:0 8px 8px;box-sizing:border-box}cometchat-reactions{margin-top:-3px}.cc-message-list__unread-thread{margin-left:4px}.cc-message-list__date-container{text-align:center;margin:5px 0}.cc-message-list__smart-replies,.cc-message-list__conversation-starters{height:-moz-fit-content;height:fit-content;width:100%;position:absolute;bottom:0;z-index:1}.cc-message-list__conversation-summary{height:100%;position:relative;bottom:0;z-index:1;padding:.1px 14px}.cc-message-list__date{border-radius:10px;display:flex;justify-content:center}.cc-message-list__threadreplies{min-width:130px;width:100%;padding-top:4px;display:flex}.cc-message-list__message-indicator{height:25px;display:flex;align-items:center;justify-content:center;width:100%;bottom:10%;position:absolute}.cc-message-list__footer-view{z-index:1;position:relative;width:100%;box-sizing:border-box;margin-bottom:1px}.cc-message-list__decorator-message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;height:100%}.cc-message-list__footer__decorator-message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px 0 16px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:flex-start;height:100%}.cc-message-list::-webkit-scrollbar{background:transparent;width:8px}.cc-message-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.cc-message-list__footer-view-decorator{display:flex;flex-direction:row;column-gap:8px}.cc_panel_container{border:1px solid #6851d6}cometchat-scheduler-bubble{width:100%}.cc-message-list__bubble-reactions{width:100%;box-sizing:border-box}\n"] }]
|
|
12453
12555
|
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { listScroll: [{
|
|
12454
12556
|
type: ViewChild,
|
|
12455
12557
|
args: ["listScroll", { static: false }]
|
|
@@ -12509,6 +12611,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
12509
12611
|
args: ["messageBubbleRef"]
|
|
12510
12612
|
}], hideError: [{
|
|
12511
12613
|
type: Input
|
|
12614
|
+
}], hideDateSeparator: [{
|
|
12615
|
+
type: Input
|
|
12512
12616
|
}], errorStateView: [{
|
|
12513
12617
|
type: Input
|
|
12514
12618
|
}], loadingStateView: [{
|
|
@@ -12660,6 +12764,8 @@ class CometChatGroupMembersComponent {
|
|
|
12660
12764
|
this.groupScopeStyle = new ChangeScopeStyle({
|
|
12661
12765
|
height: "200px",
|
|
12662
12766
|
width: "280px",
|
|
12767
|
+
closeIconTint: "",
|
|
12768
|
+
buttonBackground: "",
|
|
12663
12769
|
});
|
|
12664
12770
|
this.listItemStyle = {
|
|
12665
12771
|
height: "100%",
|
|
@@ -12667,8 +12773,8 @@ class CometChatGroupMembersComponent {
|
|
|
12667
12773
|
background: "",
|
|
12668
12774
|
activeBackground: "transparent",
|
|
12669
12775
|
borderRadius: "grey",
|
|
12670
|
-
titleFont:
|
|
12671
|
-
titleColor:
|
|
12776
|
+
titleFont: fontHelper(this.themeService.theme.typography.title2),
|
|
12777
|
+
titleColor: this.themeService.theme.palette.getAccent(),
|
|
12672
12778
|
border: "",
|
|
12673
12779
|
hoverBackground: "transparent",
|
|
12674
12780
|
separatorColor: "rgba(222 222 222 / 46%)",
|
|
@@ -12748,14 +12854,20 @@ class CometChatGroupMembersComponent {
|
|
|
12748
12854
|
* @param {CometChat.GroupMember} member
|
|
12749
12855
|
*/
|
|
12750
12856
|
this.getStatusIndicatorColor = (member) => {
|
|
12751
|
-
|
|
12752
|
-
|
|
12753
|
-
|
|
12754
|
-
|
|
12755
|
-
|
|
12756
|
-
|
|
12757
|
-
|
|
12758
|
-
|
|
12857
|
+
var _a;
|
|
12858
|
+
let userStatusVisibility = new MessageUtils().getUserStatusVisibility(member) || this.disableUsersPresence;
|
|
12859
|
+
if (!userStatusVisibility) {
|
|
12860
|
+
return (_a = this.groupMembersStyle.onlineStatusColor) !== null && _a !== void 0 ? _a : this.themeService.theme.palette.getSuccess();
|
|
12861
|
+
}
|
|
12862
|
+
return null;
|
|
12863
|
+
};
|
|
12864
|
+
/**
|
|
12865
|
+
* @param {CometChat.GroupMember} member
|
|
12866
|
+
*/
|
|
12867
|
+
this.getStatusIndicatorStyle = (member) => {
|
|
12868
|
+
let userStatusVisibility = new MessageUtils().getUserStatusVisibility(member) || this.disableUsersPresence;
|
|
12869
|
+
if (!userStatusVisibility) {
|
|
12870
|
+
return (this.statusIndicatorStyle);
|
|
12759
12871
|
}
|
|
12760
12872
|
return null;
|
|
12761
12873
|
};
|
|
@@ -13173,6 +13285,10 @@ class CometChatGroupMembersComponent {
|
|
|
13173
13285
|
this.modalStyle.boxShadow = `0px 0px 1px ${this.themeService.theme.palette.getAccent600()}`;
|
|
13174
13286
|
this.modalStyle.background =
|
|
13175
13287
|
this.themeService.theme.palette.getBackground();
|
|
13288
|
+
this.groupScopeStyle.closeIconTint =
|
|
13289
|
+
this.groupScopeStyle.closeIconTint || this.themeService.theme.palette.getPrimary();
|
|
13290
|
+
this.groupScopeStyle.buttonBackground =
|
|
13291
|
+
this.groupScopeStyle.buttonBackground || this.themeService.theme.palette.getPrimary();
|
|
13176
13292
|
}
|
|
13177
13293
|
setGroupMembersStyle() {
|
|
13178
13294
|
let defaultStyle = new GroupMembersStyle({
|
|
@@ -13291,10 +13407,10 @@ class CometChatGroupMembersComponent {
|
|
|
13291
13407
|
}
|
|
13292
13408
|
}
|
|
13293
13409
|
CometChatGroupMembersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatGroupMembersComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
13294
|
-
CometChatGroupMembersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatGroupMembersComponent, selector: "cometchat-group-members", inputs: { groupMemberRequestBuilder: "groupMemberRequestBuilder", searchRequestBuilder: "searchRequestBuilder", subtitleView: "subtitleView", listItemView: "listItemView", tailView: "tailView", disableUsersPresence: "disableUsersPresence", menu: "menu", options: "options", backButtonIconURL: "backButtonIconURL", closeButtonIconURL: "closeButtonIconURL", showBackButton: "showBackButton", hideSeparator: "hideSeparator", selectionMode: "selectionMode", searchPlaceholder: "searchPlaceholder", searchIconURL: "searchIconURL", hideSearch: "hideSearch", title: "title", onError: "onError", backdropStyle: "backdropStyle", onBack: "onBack", onClose: "onClose", onSelect: "onSelect", group: "group", emptyStateView: "emptyStateView", errorStateView: "errorStateView", loadingIconURL: "loadingIconURL", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", titleAlignment: "titleAlignment", dropdownIconURL: "dropdownIconURL", statusIndicatorStyle: "statusIndicatorStyle", avatarStyle: "avatarStyle", groupMembersStyle: "groupMembersStyle", groupScopeStyle: "groupScopeStyle", listItemStyle: "listItemStyle", onItemClick: "onItemClick", onEmpty: "onEmpty", userPresencePlacement: "userPresencePlacement", disableLoadingState: "disableLoadingState", searchKeyword: "searchKeyword" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-group-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-group-members__back\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" *ngIf=\"showBackButton\"\n (cc-button-clicked)=\"backClicked()\">\n\n </cometchat-button>\n </div>\n <div class=\"cc-group-members__wrapper\" [ngStyle]=\"membersStyle()\">\n <div class=\"cc-group-members__menus\">\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n </div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\"\n [onSearch]=\"onSearch\" [list]=\"groupMembers\" [searchText]=\"searchKeyword\"\n [searchPlaceholderText]=\"searchPlaceholder\" [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\"\n [title]=\"title\" [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-groupMember>\n <cometchat-list-item [title]=\"groupMember?.name\" [avatarURL]=\"groupMember?.avatar\"\n [avatarName]=\"groupMember?.name\" [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\"\n [statusIndicatorStyle]=\"
|
|
13410
|
+
CometChatGroupMembersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatGroupMembersComponent, selector: "cometchat-group-members", inputs: { groupMemberRequestBuilder: "groupMemberRequestBuilder", searchRequestBuilder: "searchRequestBuilder", subtitleView: "subtitleView", listItemView: "listItemView", tailView: "tailView", disableUsersPresence: "disableUsersPresence", menu: "menu", options: "options", backButtonIconURL: "backButtonIconURL", closeButtonIconURL: "closeButtonIconURL", showBackButton: "showBackButton", hideSeparator: "hideSeparator", selectionMode: "selectionMode", searchPlaceholder: "searchPlaceholder", searchIconURL: "searchIconURL", hideSearch: "hideSearch", title: "title", onError: "onError", backdropStyle: "backdropStyle", onBack: "onBack", onClose: "onClose", onSelect: "onSelect", group: "group", emptyStateView: "emptyStateView", errorStateView: "errorStateView", loadingIconURL: "loadingIconURL", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", titleAlignment: "titleAlignment", dropdownIconURL: "dropdownIconURL", statusIndicatorStyle: "statusIndicatorStyle", avatarStyle: "avatarStyle", groupMembersStyle: "groupMembersStyle", groupScopeStyle: "groupScopeStyle", listItemStyle: "listItemStyle", onItemClick: "onItemClick", onEmpty: "onEmpty", userPresencePlacement: "userPresencePlacement", disableLoadingState: "disableLoadingState", searchKeyword: "searchKeyword" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-group-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-group-members__back\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" *ngIf=\"showBackButton\"\n (cc-button-clicked)=\"backClicked()\">\n\n </cometchat-button>\n </div>\n <div class=\"cc-group-members__wrapper\" [ngStyle]=\"membersStyle()\">\n <div class=\"cc-group-members__menus\">\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n </div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\"\n [onSearch]=\"onSearch\" [list]=\"groupMembers\" [searchText]=\"searchKeyword\"\n [searchPlaceholderText]=\"searchPlaceholder\" [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\"\n [title]=\"title\" [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-groupMember>\n <cometchat-list-item [title]=\"groupMember?.name\" [avatarURL]=\"groupMember?.avatar\"\n [avatarName]=\"groupMember?.name\" [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\"\n [statusIndicatorStyle]=\"getStatusIndicatorStyle(groupMember)\" [statusIndicatorColor]=\"getStatusIndicatorColor(groupMember)\"\n [hideSeparator]=\"hideSeparator\" (cc-listitem-clicked)=\"onClick(groupMember)\"\n [userPresencePlacement]=\"userPresencePlacement\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView\" class=\"cc-group-members__subtitle-view\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <div slot=\"menuView\" class=\"cc-group-members__options\" *ngIf=\" !tailView && options\">\n <cometchat-menu-list [data]=\"options(groupMember)\" [menuListStyle]=\"menuListStyle\"\n (cc-menu-clicked)=\"handleMenuAction($event, groupMember)\"></cometchat-menu-list>\n </div>\n <div slot=\"tailView\" class=\"cc-group-members__tail-view\">\n\n <div *ngIf=\"tailView\">\n <ng-container *ngTemplateOutlet=\"tailView;context:{ $implicit: groupMember }\">\n </ng-container>\n\n </div>\n <div *ngIf=\"selectionMode != selectionmodeEnum.none\">\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\" class=\"cc-group-members__selection--single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onMemberSelected(groupMember,$event)\">\n </cometchat-radio-button>\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\" class=\"cc-group-members__selection--multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onMemberSelected(groupMember,$event)\"></cometchat-checkbox>\n </div>\n </div>\n <div *ngIf=\"!tailView\">\n <div class=\"cc-group-members__scopechange\" slot=\"tailView\">\n\n <cometchat-menu-list [moreIconURL]=\"moreIconURL\" *ngIf=\"isArray(getOptions(groupMember))\"\n [topMenuSize]=\"0\" [data]=\"getOptions(groupMember)\"\n (cc-menu-clicked)=\"handleMenuAction($event, groupMember)\" [menuListStyle]=\"menuListStyle\">\n </cometchat-menu-list>\n <cometchat-label *ngIf=\" isString(getOptions(groupMember))\" [text]=\"getOptions(groupMember)\"\n [labelStyle]=\"getScopeStyle()\">\n\n </cometchat-label>\n\n </div>\n </div>\n </div>\n </cometchat-list-item>\n\n </ng-template>\n </div>\n <div class=\"cc-group-members__close\" *ngIf=\"closeButtonIconURL\">\n <cometchat-button [iconURL]=\"closeButtonIconURL\" [buttonStyle]=\"closeButtonStyle()\"\n (cc-button-clicked)=\"closeClicked()\">\n\n </cometchat-button>\n </div>\n</div>\n<cometchat-backdrop *ngIf=\"changeScope && memberScope.length > 0\" [backdropStyle]=\"backdropStyle\">\n <cometchat-change-scope [changeScopeStyle]=\"groupScopeStyle\" [options]=\"memberScope\" [arrowIconURL]=\"dropdownIconURL\"\n (cc-changescope-close-clicked)=\"changeScope = false;\" (cc-changescope-changed)=\"changeMemberScope($event)\">\n\n </cometchat-change-scope>\n</cometchat-backdrop>", styles: [".cc-group-members{display:flex;height:100%;width:100%;overflow:hidden;box-sizing:border-box}.cc-group-members__back{position:absolute;left:8px;padding:12px 8px 8px}.cc-group-members__wrapper{height:100%;padding:8px;width:100%}.cc-group-members__close{position:absolute;right:8px;padding:8px}.cc-group-members__tail-view{position:relative;display:flex;gap:8px;justify-content:flex-end;align-items:center}.cc-group-members__menus{position:absolute;right:12px;padding:12px;cursor:pointer}.scope__changed{height:100%;width:-moz-fit-content;width:fit-content;position:absolute;right:8px}\n"], components: [{ type: CometchatListComponent, selector: "cometchat-list", inputs: ["listItemView", "onScrolledToBottom", "onScrolledToTop", "list", "onSearch", "getSectionHeader", "searchText", "searchIconURL", "listStyle", "searchPlaceholderText", "hideSearch", "hideError", "title", "titleAlignment", "errorStateView", "loadingStateView", "emptyStateView", "state", "errorStateText", "emptyStateText", "loadingIconURL", "showSectionHeader", "sectionHeaderField", "DateSeparatorPattern", "dateSeparatorStyle"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13295
13411
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatGroupMembersComponent, decorators: [{
|
|
13296
13412
|
type: Component,
|
|
13297
|
-
args: [{ selector: "cometchat-group-members", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-group-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-group-members__back\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" *ngIf=\"showBackButton\"\n (cc-button-clicked)=\"backClicked()\">\n\n </cometchat-button>\n </div>\n <div class=\"cc-group-members__wrapper\" [ngStyle]=\"membersStyle()\">\n <div class=\"cc-group-members__menus\">\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n </div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\"\n [onSearch]=\"onSearch\" [list]=\"groupMembers\" [searchText]=\"searchKeyword\"\n [searchPlaceholderText]=\"searchPlaceholder\" [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\"\n [title]=\"title\" [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-groupMember>\n <cometchat-list-item [title]=\"groupMember?.name\" [avatarURL]=\"groupMember?.avatar\"\n [avatarName]=\"groupMember?.name\" [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\"\n [statusIndicatorStyle]=\"
|
|
13413
|
+
args: [{ selector: "cometchat-group-members", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-group-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-group-members__back\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" *ngIf=\"showBackButton\"\n (cc-button-clicked)=\"backClicked()\">\n\n </cometchat-button>\n </div>\n <div class=\"cc-group-members__wrapper\" [ngStyle]=\"membersStyle()\">\n <div class=\"cc-group-members__menus\">\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n </div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\"\n [onSearch]=\"onSearch\" [list]=\"groupMembers\" [searchText]=\"searchKeyword\"\n [searchPlaceholderText]=\"searchPlaceholder\" [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\"\n [title]=\"title\" [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-groupMember>\n <cometchat-list-item [title]=\"groupMember?.name\" [avatarURL]=\"groupMember?.avatar\"\n [avatarName]=\"groupMember?.name\" [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\"\n [statusIndicatorStyle]=\"getStatusIndicatorStyle(groupMember)\" [statusIndicatorColor]=\"getStatusIndicatorColor(groupMember)\"\n [hideSeparator]=\"hideSeparator\" (cc-listitem-clicked)=\"onClick(groupMember)\"\n [userPresencePlacement]=\"userPresencePlacement\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView\" class=\"cc-group-members__subtitle-view\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <div slot=\"menuView\" class=\"cc-group-members__options\" *ngIf=\" !tailView && options\">\n <cometchat-menu-list [data]=\"options(groupMember)\" [menuListStyle]=\"menuListStyle\"\n (cc-menu-clicked)=\"handleMenuAction($event, groupMember)\"></cometchat-menu-list>\n </div>\n <div slot=\"tailView\" class=\"cc-group-members__tail-view\">\n\n <div *ngIf=\"tailView\">\n <ng-container *ngTemplateOutlet=\"tailView;context:{ $implicit: groupMember }\">\n </ng-container>\n\n </div>\n <div *ngIf=\"selectionMode != selectionmodeEnum.none\">\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\" class=\"cc-group-members__selection--single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onMemberSelected(groupMember,$event)\">\n </cometchat-radio-button>\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\" class=\"cc-group-members__selection--multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onMemberSelected(groupMember,$event)\"></cometchat-checkbox>\n </div>\n </div>\n <div *ngIf=\"!tailView\">\n <div class=\"cc-group-members__scopechange\" slot=\"tailView\">\n\n <cometchat-menu-list [moreIconURL]=\"moreIconURL\" *ngIf=\"isArray(getOptions(groupMember))\"\n [topMenuSize]=\"0\" [data]=\"getOptions(groupMember)\"\n (cc-menu-clicked)=\"handleMenuAction($event, groupMember)\" [menuListStyle]=\"menuListStyle\">\n </cometchat-menu-list>\n <cometchat-label *ngIf=\" isString(getOptions(groupMember))\" [text]=\"getOptions(groupMember)\"\n [labelStyle]=\"getScopeStyle()\">\n\n </cometchat-label>\n\n </div>\n </div>\n </div>\n </cometchat-list-item>\n\n </ng-template>\n </div>\n <div class=\"cc-group-members__close\" *ngIf=\"closeButtonIconURL\">\n <cometchat-button [iconURL]=\"closeButtonIconURL\" [buttonStyle]=\"closeButtonStyle()\"\n (cc-button-clicked)=\"closeClicked()\">\n\n </cometchat-button>\n </div>\n</div>\n<cometchat-backdrop *ngIf=\"changeScope && memberScope.length > 0\" [backdropStyle]=\"backdropStyle\">\n <cometchat-change-scope [changeScopeStyle]=\"groupScopeStyle\" [options]=\"memberScope\" [arrowIconURL]=\"dropdownIconURL\"\n (cc-changescope-close-clicked)=\"changeScope = false;\" (cc-changescope-changed)=\"changeMemberScope($event)\">\n\n </cometchat-change-scope>\n</cometchat-backdrop>", styles: [".cc-group-members{display:flex;height:100%;width:100%;overflow:hidden;box-sizing:border-box}.cc-group-members__back{position:absolute;left:8px;padding:12px 8px 8px}.cc-group-members__wrapper{height:100%;padding:8px;width:100%}.cc-group-members__close{position:absolute;right:8px;padding:8px}.cc-group-members__tail-view{position:relative;display:flex;gap:8px;justify-content:flex-end;align-items:center}.cc-group-members__menus{position:absolute;right:12px;padding:12px;cursor:pointer}.scope__changed{height:100%;width:-moz-fit-content;width:fit-content;position:absolute;right:8px}\n"] }]
|
|
13298
13414
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { groupMemberRequestBuilder: [{
|
|
13299
13415
|
type: Input
|
|
13300
13416
|
}], searchRequestBuilder: [{
|
|
@@ -13498,6 +13614,8 @@ class CometChatMessageComposerComponent {
|
|
|
13498
13614
|
titleColor: "#141414",
|
|
13499
13615
|
listItemBackground: "",
|
|
13500
13616
|
ActionSheetSeparatorTint: "1px solid RGBA(20, 20, 20, 0.08)",
|
|
13617
|
+
listItemIconBackground: "",
|
|
13618
|
+
listItemIconTint: ""
|
|
13501
13619
|
};
|
|
13502
13620
|
this.aiActionSheetStyle = {
|
|
13503
13621
|
layoutModeIconTint: "rgba(20, 20, 20, 0.04)",
|
|
@@ -13520,6 +13638,8 @@ class CometChatMessageComposerComponent {
|
|
|
13520
13638
|
this.voiceRecordingStartIconURL = "assets/mic.svg";
|
|
13521
13639
|
this.voiceRecordingStopIconURL = "assets/stop.svg";
|
|
13522
13640
|
this.voiceRecordingSubmitIconURL = "assets/Send.svg";
|
|
13641
|
+
this.hideLayoutMode = false;
|
|
13642
|
+
this.emojiIconURL = "assets/Stipop.svg";
|
|
13523
13643
|
this.childEvent = new EventEmitter();
|
|
13524
13644
|
this.userMemberWrapperConfiguration = new UserMemberWrapperConfiguration({});
|
|
13525
13645
|
this.textFormatters = [];
|
|
@@ -14356,7 +14476,7 @@ class CometChatMessageComposerComponent {
|
|
|
14356
14476
|
}
|
|
14357
14477
|
}
|
|
14358
14478
|
userOrGroupChanged(changes) {
|
|
14359
|
-
var _a, _b, _c
|
|
14479
|
+
var _a, _b, _c;
|
|
14360
14480
|
if (this.showPreview) {
|
|
14361
14481
|
this.closePreview();
|
|
14362
14482
|
}
|
|
@@ -14384,17 +14504,23 @@ class CometChatMessageComposerComponent {
|
|
|
14384
14504
|
this.showAiBotList = false;
|
|
14385
14505
|
this.showSmartReply = false;
|
|
14386
14506
|
this.closeModals();
|
|
14387
|
-
this.messageText =
|
|
14388
|
-
|
|
14507
|
+
this.messageText = this.text;
|
|
14508
|
+
if (this.inputRef && this.inputRef.nativeElement) {
|
|
14509
|
+
setTimeout(() => {
|
|
14510
|
+
var _a, _b, _c, _d;
|
|
14511
|
+
(_b = (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.emptyInputField();
|
|
14512
|
+
(_d = (_c = this.inputRef) === null || _c === void 0 ? void 0 : _c.nativeElement) === null || _d === void 0 ? void 0 : _d.pasteHtmlAtCaret(this.text);
|
|
14513
|
+
}, 0);
|
|
14514
|
+
}
|
|
14389
14515
|
this.showSendButton = false;
|
|
14390
|
-
this.text = "";
|
|
14391
14516
|
this.composerId = this.getComposerId();
|
|
14392
14517
|
if (this.attachmentOptions) {
|
|
14393
14518
|
this.composerActions = this.attachmentOptions(this.user || this.group, this.composerId);
|
|
14519
|
+
this.addAttachmentCallback();
|
|
14394
14520
|
}
|
|
14395
14521
|
else {
|
|
14396
14522
|
this.composerActions =
|
|
14397
|
-
(
|
|
14523
|
+
(_c = ChatConfigurator.getDataSource()) === null || _c === void 0 ? void 0 : _c.getAttachmentOptions(this.themeService.theme, this.user, this.group, this.composerId);
|
|
14398
14524
|
this.addAttachmentCallback();
|
|
14399
14525
|
}
|
|
14400
14526
|
for (let i = 0; i < this.textFormatterList.length; i++) {
|
|
@@ -14469,7 +14595,6 @@ class CometChatMessageComposerComponent {
|
|
|
14469
14595
|
//clearing Message Input Box
|
|
14470
14596
|
this.messageText = "";
|
|
14471
14597
|
(_e = (_d = this.inputRef) === null || _d === void 0 ? void 0 : _d.nativeElement) === null || _e === void 0 ? void 0 : _e.emptyInputField();
|
|
14472
|
-
this.text = "";
|
|
14473
14598
|
this.messageSending = false;
|
|
14474
14599
|
for (let i = 0; i < this.textFormatterList.length; i++) {
|
|
14475
14600
|
textMessage = this.textFormatterList[i].formatMessageForSending(textMessage);
|
|
@@ -14904,7 +15029,7 @@ class CometChatMessageComposerComponent {
|
|
|
14904
15029
|
};
|
|
14905
15030
|
}
|
|
14906
15031
|
setTheme() {
|
|
14907
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
15032
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
14908
15033
|
this.emojiPopover.boxShadow = `0px 0px 32px ${this.themeService.theme.palette.getAccent50()}`;
|
|
14909
15034
|
this.stickerPopover.boxShadow = `0px 0px 32px ${this.themeService.theme.palette.getAccent50()}`;
|
|
14910
15035
|
this.mediaRecordedPopover.boxShadow = `0px 0px 32px ${this.themeService.theme.palette.getAccent50()}`;
|
|
@@ -14915,16 +15040,19 @@ class CometChatMessageComposerComponent {
|
|
|
14915
15040
|
layoutModeIconTint: this.actionSheetStyle.layoutModeIconTint ||
|
|
14916
15041
|
this.themeService.theme.palette.getAccent(),
|
|
14917
15042
|
borderRadius: "inherit",
|
|
14918
|
-
background: this.themeService.theme.palette.getBackground(),
|
|
14919
|
-
border: "none",
|
|
14920
|
-
width: "100%",
|
|
14921
|
-
height: "100%",
|
|
15043
|
+
background: this.actionSheetStyle.background || this.themeService.theme.palette.getBackground(),
|
|
15044
|
+
border: this.actionSheetStyle.border || "none",
|
|
15045
|
+
width: this.actionSheetStyle.width || "100%",
|
|
15046
|
+
height: this.actionSheetStyle.height || "100%",
|
|
14922
15047
|
titleFont: this.actionSheetStyle.titleFont ||
|
|
14923
15048
|
fontHelper(this.themeService.theme.typography.title2),
|
|
14924
15049
|
titleColor: this.actionSheetStyle.titleColor ||
|
|
14925
15050
|
this.themeService.theme.palette.getAccent(),
|
|
14926
15051
|
ActionSheetSeparatorTint: this.actionSheetStyle.ActionSheetSeparatorTint ||
|
|
14927
15052
|
this.themeService.theme.palette.getAccent400(),
|
|
15053
|
+
listItemBackground: this.actionSheetStyle.listItemBackground || this.themeService.theme.palette.getBackground(),
|
|
15054
|
+
listItemIconTint: this.actionSheetStyle.listItemIconTint || this.themeService.theme.palette.getAccent700(),
|
|
15055
|
+
listItemIconBackground: this.actionSheetStyle.listItemIconBackground || 'transparent',
|
|
14928
15056
|
};
|
|
14929
15057
|
this.aiActionSheetStyle = {
|
|
14930
15058
|
layoutModeIconTint: this.aiActionSheetStyle.layoutModeIconTint ||
|
|
@@ -14998,13 +15126,14 @@ class CometChatMessageComposerComponent {
|
|
|
14998
15126
|
this.emojiButtonStyle = Object.assign({ buttonIconTint: ((_o = this.messageComposerStyle) === null || _o === void 0 ? void 0 : _o.emojiIconTint) ||
|
|
14999
15127
|
this.themeService.theme.palette.getAccent600() }, buttonStyle);
|
|
15000
15128
|
this.stickerButtonStyle = Object.assign({ buttonIconTint: this.themeService.theme.palette.getAccent600() }, buttonStyle);
|
|
15001
|
-
this.mediaRecorderButtonStyle = Object.assign({ buttonIconTint: this.
|
|
15129
|
+
this.mediaRecorderButtonStyle = Object.assign({ buttonIconTint: ((_p = this.messageComposerStyle) === null || _p === void 0 ? void 0 : _p.voiceRecordingIconTint) ||
|
|
15130
|
+
this.themeService.theme.palette.getAccent600() }, buttonStyle);
|
|
15002
15131
|
this.emojiKeyboardStyle = {
|
|
15003
15132
|
width: "100%",
|
|
15004
15133
|
height: "100%",
|
|
15005
15134
|
border: "none",
|
|
15006
|
-
textFont: (
|
|
15007
|
-
textColor: (
|
|
15135
|
+
textFont: (_q = this.messageComposerStyle) === null || _q === void 0 ? void 0 : _q.emojiKeyboardTextFont,
|
|
15136
|
+
textColor: (_r = this.messageComposerStyle) === null || _r === void 0 ? void 0 : _r.emojiKeyboardTextColor,
|
|
15008
15137
|
background: this.themeService.theme.palette.getBackground(),
|
|
15009
15138
|
borderRadius: "12px",
|
|
15010
15139
|
activeIconTint: this.themeService.theme.palette.getPrimary(),
|
|
@@ -15028,7 +15157,7 @@ class CometChatMessageComposerComponent {
|
|
|
15028
15157
|
width: "24px",
|
|
15029
15158
|
border: "none",
|
|
15030
15159
|
borderRadius: "0",
|
|
15031
|
-
buttonIconTint: ((
|
|
15160
|
+
buttonIconTint: ((_s = this.messageComposerStyle) === null || _s === void 0 ? void 0 : _s.attachIcontint) ||
|
|
15032
15161
|
this.themeService.theme.palette.getAccent600(),
|
|
15033
15162
|
background: "transparent",
|
|
15034
15163
|
};
|
|
@@ -15122,10 +15251,10 @@ class CometChatMessageComposerComponent {
|
|
|
15122
15251
|
}
|
|
15123
15252
|
}
|
|
15124
15253
|
CometChatMessageComposerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageComposerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15125
|
-
CometChatMessageComposerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageComposerComponent, selector: "cometchat-message-composer", inputs: { user: "user", group: "group", disableSoundForMessages: "disableSoundForMessages", customSoundForMessage: "customSoundForMessage", disableTypingEvents: "disableTypingEvents", text: "text", placeholderText: "placeholderText", headerView: "headerView", onTextChange: "onTextChange", attachmentIconURL: "attachmentIconURL", attachmentOptions: "attachmentOptions", secondaryButtonView: "secondaryButtonView", auxilaryButtonView: "auxilaryButtonView", auxiliaryButtonsAlignment: "auxiliaryButtonsAlignment", sendButtonView: "sendButtonView", parentMessageId: "parentMessageId", hideLiveReaction: "hideLiveReaction", LiveReactionIconURL: "LiveReactionIconURL", backButtonIconURL: "backButtonIconURL", mentionsWarningText: "mentionsWarningText", mentionsWarningStyle: "mentionsWarningStyle", messageComposerStyle: "messageComposerStyle", onSendButtonClick: "onSendButtonClick", onError: "onError", backdropStyle: "backdropStyle", actionSheetStyle: "actionSheetStyle", aiActionSheetStyle: "aiActionSheetStyle", hideVoiceRecording: "hideVoiceRecording", mediaRecorderStyle: "mediaRecorderStyle", aiOptionsStyle: "aiOptionsStyle", aiIconURL: "aiIconURL", voiceRecordingIconURL: "voiceRecordingIconURL", voiceRecordingCloseIconURL: "voiceRecordingCloseIconURL", voiceRecordingStartIconURL: "voiceRecordingStartIconURL", voiceRecordingStopIconURL: "voiceRecordingStopIconURL", voiceRecordingSubmitIconURL: "voiceRecordingSubmitIconURL", userMemberWrapperConfiguration: "userMemberWrapperConfiguration", disableMentions: "disableMentions", textFormatters: "textFormatters" }, outputs: { childEvent: "childEvent" }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }, { propertyName: "emojiButtonRef", first: true, predicate: ["emojiButtonRef"], descendants: true }, { propertyName: "actionSheetRef", first: true, predicate: ["actionSheetRef"], descendants: true }, { propertyName: "stickerButtonRef", first: true, predicate: ["stickerButtonRef"], descendants: true }, { propertyName: "mediaRecordedRef", first: true, predicate: ["mediaRecordedRef"], descendants: true }, { propertyName: "aiButtonRef", first: true, predicate: ["aiButtonRef"], descendants: true }, { propertyName: "userMemberWrapperRef", first: true, predicate: ["userMemberWrapperRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-composer__wrapper\" [ngStyle]=\"composerWrapperStyle()\">\n <div class=\"cc-messagecomposer__mentions\" *ngIf=\"showListForMentions\"\n #userMemberWrapperRef>\n <cometchat-user-member-wrapper [userMemberListType]=\"userMemberListType\"\n [onItemClick]=\"userMemberWrapperConfiguration.onItemClick || defaultMentionsItemClickHandler\"\n [usersRequestBuilder]=\"usersRequestBuilder\"\n [searchKeyword]=\"mentionsSearchTerm\"\n [subtitleView]=\"userMemberWrapperConfiguration.subtitleView\"\n [disableUsersPresence]=\"userMemberWrapperConfiguration.disableUsersPresence\"\n [avatarStyle]=\"userMemberWrapperConfiguration.avatarStyle\"\n [listItemView]=\"userMemberWrapperConfiguration.listItemView\"\n [statusIndicatorStyle]=\"userMemberWrapperConfiguration.statusIndicatorStyle\"\n [userPresencePlacement]=\"userMemberWrapperConfiguration.userPresencePlacement\"\n [hideSeperator]=\"userMemberWrapperConfiguration.hideSeparator\"\n [loadingStateView]=\"userMemberWrapperConfiguration.loadingStateView\"\n [onEmpty]=\"defaultOnEmptyForMentions\"\n [loadingIconUrl]=\"userMemberWrapperConfiguration.loadingIconURL\"\n [group]=\"group\" [groupMemberRequestBuilder]=\"groupMembersRequestBuilder\"\n [disableLoadingState]=\"true\"\n [onError]=\"defaultOnEmptyForMentions\"></cometchat-user-member-wrapper>\n\n <div *ngIf=\"showMentionsCountWarning\"\n class=\"cc-messagecomposer__mentions-limit-exceeded\">\n <cometchat-icon-button\n [text]=\"mentionsWarningText || localize('MENTIONS_LIMIT_WARNING_MESSAGE')\"\n [iconURL]=\"InfoSimpleIcon\"\n [buttonStyle]=\"getMentionInfoIconStyle()\"></cometchat-icon-button>\n </div>\n\n </div>\n <div class=\"cc-message-composer__header-view\"\n *ngIf=\"headerView; else messagePreview\">\n <ng-container\n *ngTemplateOutlet=\"headerView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #messagePreview>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showPreview\">\n <cometchat-preview [previewStyle]=\"previewStyle\"\n [previewSubtitle]=\"editPreviewText\"\n (cc-preview-close-clicked)=\"closePreview()\"> </cometchat-preview>\n </div>\n </ng-template>\n <div class=\"cc-message-composer__input\">\n\n <cometchat-text-input (cc-text-input-entered)=\"sendMessageOnEnter($event)\"\n #inputRef [text]=\"text\"\n (cc-text-input-changed)=\"messageInputChanged($event)\"\n [textInputStyle]=\"textInputStyle\" [placeholderText]=\"placeholderText\"\n [auxiliaryButtonAlignment]=\"auxiliaryButtonsAlignment\"\n [textFormatters]=\"textFormatters\">\n\n <div data-slot=\"secondaryView\">\n <div *ngIf=\"secondaryButtonView;else secondaryButton\">\n <ng-container\n *ngTemplateOutlet=\"secondaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #secondaryButton>\n <div class=\"cc-message-composer__attachbutton\">\n <cometchat-popover\n (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"popoverStyle\">\n <cometchat-action-sheet slot=\"content\"\n [title]=\"localize('ADD_TO_CHAT')\" [actions]=\"composerActions\"\n [actionSheetStyle]=\"actionSheetStyle\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n <cometchat-button #actionSheetRef slot=\"children\"\n (cc-button-clicked)=\"openActionSheet($event)\"\n [iconURL]=\"!showActionSheetItem || (showEmojiKeyboard && !showActionSheetItem) ? attachmentIconURL : closeButtonIconURL\"\n [buttonStyle]=\"attachmentButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n </ng-template>\n </div>\n\n <div class=\"cc-message-composer__auxiliary\" data-slot=\"auxilaryView\">\n <div class=\"cc-message-composer__custom-auxiliary-view\"\n *ngIf=\"auxilaryButtonView\">\n <ng-container\n *ngTemplateOutlet=\"auxilaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <!-- AI Cards -->\n <div class=\"cc-message-composer__stickerkeyboard\"\n *ngIf=\"!auxilaryButtonView\">\n <cometchat-popover (cc-popover-click)=\"openStickerKeyboard($event)\"\n [popoverStyle]=\"aiPopover\" [placement]=\"auxilaryPlacement\">\n <cometchat-ai-card [state]=\"smartReplyState\"\n *ngIf=\"showSmartReply && !showActionSheetItemAI && !showAiBotList\"\n slot=\"content\" [loadingStateText]=\"loadingStateText\"\n [emptyStateText]=\"emptyStateText\"\n [errorStateText]=\"errorStateText\">\n <div slot=\"loadedView\" class=\"smart-replies-wrapper\">\n\n <div class=\"cc-message-composer__smartreply-header\">\n <div class=\"cc-message-composer__back-button\">\n <cometchat-button\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__smartreply-header-view\">\n <p>{{ localize(\"SUGGEST_A_REPLY\") }}</p>\n </div>\n </div>\n\n <div class=\"cc-message-composer__smartreply-content\">\n <smart-replies\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [smartReplyStyle]=\"smartReplyStyle\" [replies]=\"repliesArray\"\n [closeIconURL]=\"''\" (cc-reply-clicked)=\"sendReply($event)\">\n </smart-replies>\n </div>\n\n\n\n\n\n </div>\n </cometchat-ai-card>\n\n <div *ngIf=\"showAiBotList && !showActionSheetItemAI\"\n slot=\"content\">\n <div class=\"cc-message-composer__aibotlist\">\n <cometchat-button *ngIf=\" aiBotList && aiBotList.length> 1 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n <p>{{ localize(\"COMETCHAT_ASK_AI_BOT\") }}</p>\n </div>\n <cometchat-action-sheet\n *ngIf=\"showAiBotList && !showActionSheetItemAI\" slot=\"content\"\n [actions]=\"aiActionButtons\" [title]=\"'AI'\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n </div>\n\n <cometchat-action-sheet *ngIf=\"showActionSheetItemAI\" slot=\"content\"\n [actions]=\"buttons\" [title]=\"'AI'\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n\n <cometchat-button *ngIf=\"isAiEnabled\" [hoverText]=\"localize('AI')\"\n slot=\"children\" #aiButtonRef\n (cc-button-clicked)=\"openAiFeatures($event)\"\n [iconURL]=\"!showAiFeatures ? aiIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n\n <div class=\"cc-message-composer__stickerkeyboard\"\n *ngIf=\"enableStickerKeyboard && !auxilaryButtonView\">\n <cometchat-popover (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [popoverStyle]=\"stickerPopover\" [placement]=\"auxilaryPlacement\">\n <stickers-keyboard slot=\"content\"\n [stickerStyle]=\"stickerKeyboardStyle\"\n (cc-sticker-clicked)=\"sendSticker($event)\">\n </stickers-keyboard>\n <cometchat-button [hoverText]=\"localize('STICKER')\" slot=\"children\"\n #stickerButtonRef\n (cc-button-clicked)=\"openStickerKeyboard($event)\"\n [iconURL]=\" !showStickerKeyboard ? stickerButtonIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__emojikeyboard\"\n *ngIf=\"!auxilaryButtonView\">\n <cometchat-popover (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"emojiPopover\">\n <cometchat-emoji-keyboard slot=\"content\"\n [emojiKeyboardStyle]=\"emojiKeyboardStyle\"\n (cc-emoji-clicked)=\"appendEmoji($event)\">\n </cometchat-emoji-keyboard>\n <cometchat-button #emojiButtonRef [hoverText]=\"localize('EMOJI')\"\n slot=\"children\" (cc-button-clicked)=\"openEmojiKeyboard($event)\"\n [iconURL]=\" !showEmojiKeyboard || (!showEmojiKeyboard && showActionSheetItem) ? emojiButtonIconURL : closeButtonIconURL\"\n [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__mediarecorder\"\n *ngIf=\"!hideVoiceRecording\">\n <cometchat-popover (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [popoverStyle]=\"mediaRecordedPopover\"\n [placement]=\"auxilaryPlacement\">\n\n <cometchat-media-recorder *ngIf=\"toggleMediaRecorded\"\n [autoRecording]=\"true\" startIconText=\"\" stopIconText=\"\"\n submitButtonIconText=\"\"\n [submitButtonIconURL]=\"voiceRecordingSubmitIconURL\"\n [startIconURL]=\"voiceRecordingStartIconURL\"\n [stopIconURL]=\"voiceRecordingStopIconURL\"\n [closeIconURL]=\"voiceRecordingCloseIconURL\"\n (cc-media-recorder-submitted)=\"sendRecordedMedia($event)\"\n (cc-media-recorder-closed)=\"closeMediaRecorder($event)\"\n slot=\"content\"\n [mediaPlayerStyle]=\"mediaRecorderStyle\"></cometchat-media-recorder>\n <cometchat-icon-button [hoverText]=\"localize('VOICE_RECORDING')\"\n slot=\"children\" #mediaRecordedRef\n (cc-button-clicked)=\"openMediaRecorded($event)\"\n [iconURL]=\" !toggleMediaRecorded ? voiceRecordingIconURL : closeButtonIconURL\"\n [buttonStyle]=\"mediaRecorderButtonStyle\"></cometchat-icon-button>\n </cometchat-popover>\n </div>\n </div>\n <div data-slot=\"primaryView\">\n <div *ngIf=\"sendButtonView;else sendButton\">\n <ng-container\n *ngTemplateOutlet=\"sendButtonView;context:{ item: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #sendButton>\n <div class=\"cc-message-composer__sendbutton\"\n *ngIf=\"showSendButton || hideLiveReaction\">\n <cometchat-button [iconURL]=\"sendButtonIconURL\"\n [buttonStyle]=\"sendButtonStyle\"\n [hoverText]=\"localize('SEND_MESSAGE')\"\n [disabled]=\"!showSendButton\"\n (cc-button-clicked)=\"customSendMethod(messageText)\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__livereaction\"\n *ngIf=\"!hideLiveReaction && !showSendButton\">\n <cometchat-button [iconURL]=\"LiveReactionIconURL\"\n [hoverText]=\"localize('LIVE_REACTION')\"\n [buttonStyle]=\"liveReactionStyle\"\n (cc-button-clicked)=\"sendReaction()\"></cometchat-button>\n </div>\n </ng-template>\n </div>\n </cometchat-text-input>\n </div>\n</div>\n\n<input class=\"cc-message-composer__mediainput\" #inputElement\n (change)=\"inputChangeHandler($event)\" />\n<cometchat-backdrop *ngIf=\"showCreatePolls\" [backdropStyle]=\"backdropStyle\">\n <create-poll [user]=\"user\" [group]=\"group\"\n (cc-close-clicked)=\"closeCreatePolls()\"\n [createPollStyle]=\"createPollStyle\"></create-poll>\n</cometchat-backdrop>\n", styles: [".cc-message-composer__sendbutton,.cc-message-composer__livereaction{margin:0 5px}.cc-message-composer__wrapper{height:100%;width:100%;position:relative;padding:14px 16px}.cc-message-composer__header-view{height:-moz-fit-content;height:fit-content;width:100%;bottom:120%;padding:0 0 1px}.cc-message-composer__mediainput{display:none}.cc-message-composer__auxiliary{display:flex;gap:8px}.cc-message-composer__smartreply-header{width:100%;display:flex;align-items:center;position:absolute;padding:10px;top:0;z-index:1}.cc-message-composer__back-button{margin-left:2%}.cc-message-composer__smartreply-header-view{margin-left:14%}.cc-message-composer__smartreply-content{max-height:200px}.cc-message-composer__aibotlist{display:flex;padding:10px;align-items:center;gap:45px;font-size:medium}.cc-messagecomposer__mentions{max-height:196px;min-height:28px;overflow:hidden;position:absolute;width:100%;left:50%;transform:translate(-50%,-100%);z-index:2;display:flex;padding:0 16px 1px 14px;box-sizing:border-box}.cc-messagecomposer__mentions cometchat-user-member-wrapper{max-height:196px;min-height:28px;overflow:hidden;width:100%;box-sizing:border-box;min-height:45px}.cc-messagecomposer__mentions::-webkit-scrollbar{display:none}.cc-messagecomposer__mentions-limit-exceeded{margin-top:20px;left:2px;position:relative;padding-left:13px;background-color:#fff}*{box-sizing:border-box}cometchat-ai-card{height:100%;width:100%;display:flex;border-radius:8px;overflow-y:auto;justify-content:center;align-items:center}cometchat-popover{position:relative}\n"], components: [{ type: CometChatUserMemberWrapperComponent, selector: "cometchat-user-member-wrapper", inputs: ["userMemberListType", "onItemClick", "listItemView", "avatarStyle", "statusIndicatorStyle", "searchKeyword", "group", "subtitleView", "usersRequestBuilder", "disableUsersPresence", "userPresencePlacement", "hideSeperator", "loadingStateView", "onEmpty", "onError", "groupMemberRequestBuilder", "loadingIconUrl", "disableLoadingState"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
15254
|
+
CometChatMessageComposerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageComposerComponent, selector: "cometchat-message-composer", inputs: { user: "user", group: "group", disableSoundForMessages: "disableSoundForMessages", customSoundForMessage: "customSoundForMessage", disableTypingEvents: "disableTypingEvents", text: "text", placeholderText: "placeholderText", headerView: "headerView", onTextChange: "onTextChange", attachmentIconURL: "attachmentIconURL", attachmentOptions: "attachmentOptions", secondaryButtonView: "secondaryButtonView", auxilaryButtonView: "auxilaryButtonView", auxiliaryButtonsAlignment: "auxiliaryButtonsAlignment", sendButtonView: "sendButtonView", parentMessageId: "parentMessageId", hideLiveReaction: "hideLiveReaction", LiveReactionIconURL: "LiveReactionIconURL", backButtonIconURL: "backButtonIconURL", mentionsWarningText: "mentionsWarningText", mentionsWarningStyle: "mentionsWarningStyle", messageComposerStyle: "messageComposerStyle", onSendButtonClick: "onSendButtonClick", onError: "onError", backdropStyle: "backdropStyle", actionSheetStyle: "actionSheetStyle", aiActionSheetStyle: "aiActionSheetStyle", hideVoiceRecording: "hideVoiceRecording", mediaRecorderStyle: "mediaRecorderStyle", aiOptionsStyle: "aiOptionsStyle", aiIconURL: "aiIconURL", voiceRecordingIconURL: "voiceRecordingIconURL", voiceRecordingCloseIconURL: "voiceRecordingCloseIconURL", voiceRecordingStartIconURL: "voiceRecordingStartIconURL", voiceRecordingStopIconURL: "voiceRecordingStopIconURL", voiceRecordingSubmitIconURL: "voiceRecordingSubmitIconURL", hideLayoutMode: "hideLayoutMode", emojiIconURL: "emojiIconURL", userMemberWrapperConfiguration: "userMemberWrapperConfiguration", disableMentions: "disableMentions", textFormatters: "textFormatters" }, outputs: { childEvent: "childEvent" }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }, { propertyName: "emojiButtonRef", first: true, predicate: ["emojiButtonRef"], descendants: true }, { propertyName: "actionSheetRef", first: true, predicate: ["actionSheetRef"], descendants: true }, { propertyName: "stickerButtonRef", first: true, predicate: ["stickerButtonRef"], descendants: true }, { propertyName: "mediaRecordedRef", first: true, predicate: ["mediaRecordedRef"], descendants: true }, { propertyName: "aiButtonRef", first: true, predicate: ["aiButtonRef"], descendants: true }, { propertyName: "userMemberWrapperRef", first: true, predicate: ["userMemberWrapperRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-composer__wrapper\" [ngStyle]=\"composerWrapperStyle()\">\n <div class=\"cc-messagecomposer__mentions\" *ngIf=\"showListForMentions\"\n #userMemberWrapperRef>\n <cometchat-user-member-wrapper [userMemberListType]=\"userMemberListType\"\n [onItemClick]=\"userMemberWrapperConfiguration.onItemClick || defaultMentionsItemClickHandler\"\n [usersRequestBuilder]=\"usersRequestBuilder\"\n [searchKeyword]=\"mentionsSearchTerm\"\n [subtitleView]=\"userMemberWrapperConfiguration.subtitleView\"\n [disableUsersPresence]=\"userMemberWrapperConfiguration.disableUsersPresence\"\n [avatarStyle]=\"userMemberWrapperConfiguration.avatarStyle\"\n [listItemView]=\"userMemberWrapperConfiguration.listItemView\"\n [statusIndicatorStyle]=\"userMemberWrapperConfiguration.statusIndicatorStyle\"\n [userPresencePlacement]=\"userMemberWrapperConfiguration.userPresencePlacement\"\n [hideSeperator]=\"userMemberWrapperConfiguration.hideSeparator\"\n [loadingStateView]=\"userMemberWrapperConfiguration.loadingStateView\"\n [onEmpty]=\"defaultOnEmptyForMentions\"\n [loadingIconUrl]=\"userMemberWrapperConfiguration.loadingIconURL\"\n [group]=\"group\" [groupMemberRequestBuilder]=\"groupMembersRequestBuilder\"\n [disableLoadingState]=\"true\"\n [onError]=\"defaultOnEmptyForMentions\"></cometchat-user-member-wrapper>\n\n <div *ngIf=\"showMentionsCountWarning\"\n class=\"cc-messagecomposer__mentions-limit-exceeded\">\n <cometchat-icon-button\n [text]=\"mentionsWarningText || localize('MENTIONS_LIMIT_WARNING_MESSAGE')\"\n [iconURL]=\"InfoSimpleIcon\"\n [buttonStyle]=\"getMentionInfoIconStyle()\"></cometchat-icon-button>\n </div>\n\n </div>\n <div class=\"cc-message-composer__header-view\"\n *ngIf=\"headerView; else messagePreview\">\n <ng-container\n *ngTemplateOutlet=\"headerView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #messagePreview>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showPreview\">\n <cometchat-preview [previewStyle]=\"previewStyle\"\n [previewSubtitle]=\"editPreviewText\"\n (cc-preview-close-clicked)=\"closePreview()\"> </cometchat-preview>\n </div>\n </ng-template>\n <div class=\"cc-message-composer__input\">\n\n <cometchat-text-input (cc-text-input-entered)=\"sendMessageOnEnter($event)\"\n #inputRef [text]=\"text\"\n (cc-text-input-changed)=\"messageInputChanged($event)\"\n [textInputStyle]=\"textInputStyle\" [placeholderText]=\"placeholderText\"\n [auxiliaryButtonAlignment]=\"auxiliaryButtonsAlignment\"\n [textFormatters]=\"textFormatters\">\n\n <div data-slot=\"secondaryView\">\n <div *ngIf=\"secondaryButtonView;else secondaryButton\">\n <ng-container\n *ngTemplateOutlet=\"secondaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #secondaryButton>\n <div class=\"cc-message-composer__attachbutton\">\n <cometchat-popover\n (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"popoverStyle\">\n <cometchat-action-sheet slot=\"content\"\n [title]=\"localize('ADD_TO_CHAT')\" [actions]=\"composerActions\"\n [actionSheetStyle]=\"actionSheetStyle\"\n (cc-actionsheet-clicked)=\"handleActions($event)\"\n [hideLayoutMode]=\"hideLayoutMode\"\n >\n </cometchat-action-sheet>\n <cometchat-button #actionSheetRef slot=\"children\"\n (cc-button-clicked)=\"openActionSheet($event)\"\n [iconURL]=\"!showActionSheetItem || (showEmojiKeyboard && !showActionSheetItem) ? attachmentIconURL : closeButtonIconURL\"\n [buttonStyle]=\"attachmentButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n </ng-template>\n </div>\n\n <div class=\"cc-message-composer__auxiliary\" data-slot=\"auxilaryView\">\n <div class=\"cc-message-composer__custom-auxiliary-view\"\n *ngIf=\"auxilaryButtonView\">\n <ng-container\n *ngTemplateOutlet=\"auxilaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <!-- AI Cards -->\n <div class=\"cc-message-composer__stickerkeyboard\"\n *ngIf=\"!auxilaryButtonView\">\n <cometchat-popover (cc-popover-click)=\"openStickerKeyboard($event)\"\n [popoverStyle]=\"aiPopover\" [placement]=\"auxilaryPlacement\">\n <cometchat-ai-card [state]=\"smartReplyState\"\n *ngIf=\"showSmartReply && !showActionSheetItemAI && !showAiBotList\"\n slot=\"content\" [loadingStateText]=\"loadingStateText\"\n [emptyStateText]=\"emptyStateText\"\n [errorStateText]=\"errorStateText\">\n <div slot=\"loadedView\" class=\"smart-replies-wrapper\">\n\n <div class=\"cc-message-composer__smartreply-header\">\n <div class=\"cc-message-composer__back-button\">\n <cometchat-button\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__smartreply-header-view\">\n <p>{{ localize(\"SUGGEST_A_REPLY\") }}</p>\n </div>\n </div>\n\n <div class=\"cc-message-composer__smartreply-content\">\n <smart-replies\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [smartReplyStyle]=\"smartReplyStyle\" [replies]=\"repliesArray\"\n [closeIconURL]=\"''\" (cc-reply-clicked)=\"sendReply($event)\">\n </smart-replies>\n </div>\n\n\n\n\n\n </div>\n </cometchat-ai-card>\n\n <div *ngIf=\"showAiBotList && !showActionSheetItemAI\"\n slot=\"content\">\n <div class=\"cc-message-composer__aibotlist\">\n <cometchat-button *ngIf=\" aiBotList && aiBotList.length> 1 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n <p>{{ localize(\"COMETCHAT_ASK_AI_BOT\") }}</p>\n </div>\n <cometchat-action-sheet\n *ngIf=\"showAiBotList && !showActionSheetItemAI\" slot=\"content\"\n [actions]=\"aiActionButtons\" [title]=\"localize('AI')\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n </div>\n\n <cometchat-action-sheet *ngIf=\"showActionSheetItemAI\" slot=\"content\"\n [actions]=\"buttons\" [title]=\"localize('AI')\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n\n <cometchat-button *ngIf=\"isAiEnabled\" [hoverText]=\"localize('AI')\"\n slot=\"children\" #aiButtonRef\n (cc-button-clicked)=\"openAiFeatures($event)\"\n [iconURL]=\"!showAiFeatures ? aiIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n\n <div class=\"cc-message-composer__stickerkeyboard\"\n *ngIf=\"enableStickerKeyboard && !auxilaryButtonView\">\n <cometchat-popover (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [popoverStyle]=\"stickerPopover\" [placement]=\"auxilaryPlacement\">\n <stickers-keyboard slot=\"content\"\n [stickerStyle]=\"stickerKeyboardStyle\"\n (cc-sticker-clicked)=\"sendSticker($event)\">\n </stickers-keyboard>\n <cometchat-button [hoverText]=\"localize('STICKER')\" slot=\"children\"\n #stickerButtonRef\n (cc-button-clicked)=\"openStickerKeyboard($event)\"\n [iconURL]=\" !showStickerKeyboard ? stickerButtonIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__emojikeyboard\"\n *ngIf=\"!auxilaryButtonView\">\n <cometchat-popover (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"emojiPopover\">\n <cometchat-emoji-keyboard slot=\"content\"\n [emojiKeyboardStyle]=\"emojiKeyboardStyle\"\n (cc-emoji-clicked)=\"appendEmoji($event)\">\n </cometchat-emoji-keyboard>\n <cometchat-button #emojiButtonRef [hoverText]=\"localize('EMOJI')\"\n slot=\"children\" (cc-button-clicked)=\"openEmojiKeyboard($event)\"\n [iconURL]=\" !showEmojiKeyboard || (!showEmojiKeyboard && showActionSheetItem) ? emojiIconURL : closeButtonIconURL\"\n [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__mediarecorder\"\n *ngIf=\"!hideVoiceRecording\">\n <cometchat-popover (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [popoverStyle]=\"mediaRecordedPopover\"\n [placement]=\"auxilaryPlacement\">\n\n <cometchat-media-recorder *ngIf=\"toggleMediaRecorded\"\n [autoRecording]=\"true\" startIconText=\"\" stopIconText=\"\"\n submitButtonIconText=\"\"\n [submitButtonIconURL]=\"voiceRecordingSubmitIconURL\"\n [startIconURL]=\"voiceRecordingStartIconURL\"\n [stopIconURL]=\"voiceRecordingStopIconURL\"\n [closeIconURL]=\"voiceRecordingCloseIconURL\"\n (cc-media-recorder-submitted)=\"sendRecordedMedia($event)\"\n (cc-media-recorder-closed)=\"closeMediaRecorder($event)\"\n slot=\"content\"\n [mediaPlayerStyle]=\"mediaRecorderStyle\"></cometchat-media-recorder>\n <cometchat-icon-button [hoverText]=\"localize('VOICE_RECORDING')\"\n slot=\"children\" #mediaRecordedRef\n (cc-button-clicked)=\"openMediaRecorded($event)\"\n [iconURL]=\" !toggleMediaRecorded ? voiceRecordingIconURL : closeButtonIconURL\"\n [buttonStyle]=\"mediaRecorderButtonStyle\"></cometchat-icon-button>\n </cometchat-popover>\n </div>\n </div>\n <div data-slot=\"primaryView\">\n <div *ngIf=\"sendButtonView;else sendButton\">\n <ng-container\n *ngTemplateOutlet=\"sendButtonView;context:{ item: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #sendButton>\n <div class=\"cc-message-composer__sendbutton\"\n *ngIf=\"showSendButton || hideLiveReaction\">\n <cometchat-button [iconURL]=\"sendButtonIconURL\"\n [buttonStyle]=\"sendButtonStyle\"\n [hoverText]=\"localize('SEND_MESSAGE')\"\n [disabled]=\"!showSendButton\"\n (cc-button-clicked)=\"customSendMethod(messageText)\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__livereaction\"\n *ngIf=\"!hideLiveReaction && !showSendButton\">\n <cometchat-button [iconURL]=\"LiveReactionIconURL\"\n [hoverText]=\"localize('LIVE_REACTION')\"\n [buttonStyle]=\"liveReactionStyle\"\n (cc-button-clicked)=\"sendReaction()\"></cometchat-button>\n </div>\n </ng-template>\n </div>\n </cometchat-text-input>\n </div>\n</div>\n\n<input class=\"cc-message-composer__mediainput\" #inputElement\n (change)=\"inputChangeHandler($event)\" />\n<cometchat-backdrop *ngIf=\"showCreatePolls\" [backdropStyle]=\"backdropStyle\">\n <create-poll [user]=\"user\" [group]=\"group\"\n (cc-close-clicked)=\"closeCreatePolls()\"\n [createPollStyle]=\"createPollStyle\"></create-poll>\n</cometchat-backdrop>\n", styles: [".cc-message-composer__sendbutton,.cc-message-composer__livereaction{margin:0 5px}.cc-message-composer__wrapper{height:100%;width:100%;position:relative;padding:14px 16px}.cc-message-composer__header-view{height:-moz-fit-content;height:fit-content;width:100%;bottom:120%;padding:0 0 1px}.cc-message-composer__mediainput{display:none}.cc-message-composer__auxiliary{display:flex;gap:8px}.cc-message-composer__smartreply-header{width:100%;display:flex;align-items:center;position:absolute;padding:10px;top:0;z-index:1}.cc-message-composer__back-button{margin-left:2%}.cc-message-composer__smartreply-header-view{margin-left:14%}.cc-message-composer__smartreply-content{max-height:200px}.cc-message-composer__aibotlist{display:flex;padding:10px;align-items:center;gap:45px;font-size:medium}.cc-messagecomposer__mentions{max-height:196px;min-height:28px;overflow:hidden;position:absolute;width:100%;left:50%;transform:translate(-50%,-100%);z-index:2;display:flex;padding:0 16px 1px 14px;box-sizing:border-box}.cc-messagecomposer__mentions cometchat-user-member-wrapper{max-height:196px;min-height:28px;overflow:hidden;width:100%;box-sizing:border-box;min-height:45px}.cc-messagecomposer__mentions::-webkit-scrollbar{display:none}.cc-messagecomposer__mentions-limit-exceeded{margin-top:20px;left:2px;position:relative;padding-left:13px;background-color:#fff}*{box-sizing:border-box}cometchat-ai-card{height:100%;width:100%;display:flex;border-radius:8px;overflow-y:auto;justify-content:center;align-items:center}cometchat-popover{position:relative}\n"], components: [{ type: CometChatUserMemberWrapperComponent, selector: "cometchat-user-member-wrapper", inputs: ["userMemberListType", "onItemClick", "listItemView", "avatarStyle", "statusIndicatorStyle", "searchKeyword", "group", "subtitleView", "usersRequestBuilder", "disableUsersPresence", "userPresencePlacement", "hideSeperator", "loadingStateView", "onEmpty", "onError", "groupMemberRequestBuilder", "loadingIconUrl", "disableLoadingState"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
15126
15255
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageComposerComponent, decorators: [{
|
|
15127
15256
|
type: Component,
|
|
15128
|
-
args: [{ selector: "cometchat-message-composer", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-composer__wrapper\" [ngStyle]=\"composerWrapperStyle()\">\n <div class=\"cc-messagecomposer__mentions\" *ngIf=\"showListForMentions\"\n #userMemberWrapperRef>\n <cometchat-user-member-wrapper [userMemberListType]=\"userMemberListType\"\n [onItemClick]=\"userMemberWrapperConfiguration.onItemClick || defaultMentionsItemClickHandler\"\n [usersRequestBuilder]=\"usersRequestBuilder\"\n [searchKeyword]=\"mentionsSearchTerm\"\n [subtitleView]=\"userMemberWrapperConfiguration.subtitleView\"\n [disableUsersPresence]=\"userMemberWrapperConfiguration.disableUsersPresence\"\n [avatarStyle]=\"userMemberWrapperConfiguration.avatarStyle\"\n [listItemView]=\"userMemberWrapperConfiguration.listItemView\"\n [statusIndicatorStyle]=\"userMemberWrapperConfiguration.statusIndicatorStyle\"\n [userPresencePlacement]=\"userMemberWrapperConfiguration.userPresencePlacement\"\n [hideSeperator]=\"userMemberWrapperConfiguration.hideSeparator\"\n [loadingStateView]=\"userMemberWrapperConfiguration.loadingStateView\"\n [onEmpty]=\"defaultOnEmptyForMentions\"\n [loadingIconUrl]=\"userMemberWrapperConfiguration.loadingIconURL\"\n [group]=\"group\" [groupMemberRequestBuilder]=\"groupMembersRequestBuilder\"\n [disableLoadingState]=\"true\"\n [onError]=\"defaultOnEmptyForMentions\"></cometchat-user-member-wrapper>\n\n <div *ngIf=\"showMentionsCountWarning\"\n class=\"cc-messagecomposer__mentions-limit-exceeded\">\n <cometchat-icon-button\n [text]=\"mentionsWarningText || localize('MENTIONS_LIMIT_WARNING_MESSAGE')\"\n [iconURL]=\"InfoSimpleIcon\"\n [buttonStyle]=\"getMentionInfoIconStyle()\"></cometchat-icon-button>\n </div>\n\n </div>\n <div class=\"cc-message-composer__header-view\"\n *ngIf=\"headerView; else messagePreview\">\n <ng-container\n *ngTemplateOutlet=\"headerView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #messagePreview>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showPreview\">\n <cometchat-preview [previewStyle]=\"previewStyle\"\n [previewSubtitle]=\"editPreviewText\"\n (cc-preview-close-clicked)=\"closePreview()\"> </cometchat-preview>\n </div>\n </ng-template>\n <div class=\"cc-message-composer__input\">\n\n <cometchat-text-input (cc-text-input-entered)=\"sendMessageOnEnter($event)\"\n #inputRef [text]=\"text\"\n (cc-text-input-changed)=\"messageInputChanged($event)\"\n [textInputStyle]=\"textInputStyle\" [placeholderText]=\"placeholderText\"\n [auxiliaryButtonAlignment]=\"auxiliaryButtonsAlignment\"\n [textFormatters]=\"textFormatters\">\n\n <div data-slot=\"secondaryView\">\n <div *ngIf=\"secondaryButtonView;else secondaryButton\">\n <ng-container\n *ngTemplateOutlet=\"secondaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #secondaryButton>\n <div class=\"cc-message-composer__attachbutton\">\n <cometchat-popover\n (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"popoverStyle\">\n <cometchat-action-sheet slot=\"content\"\n [title]=\"localize('ADD_TO_CHAT')\" [actions]=\"composerActions\"\n [actionSheetStyle]=\"actionSheetStyle\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n <cometchat-button #actionSheetRef slot=\"children\"\n (cc-button-clicked)=\"openActionSheet($event)\"\n [iconURL]=\"!showActionSheetItem || (showEmojiKeyboard && !showActionSheetItem) ? attachmentIconURL : closeButtonIconURL\"\n [buttonStyle]=\"attachmentButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n </ng-template>\n </div>\n\n <div class=\"cc-message-composer__auxiliary\" data-slot=\"auxilaryView\">\n <div class=\"cc-message-composer__custom-auxiliary-view\"\n *ngIf=\"auxilaryButtonView\">\n <ng-container\n *ngTemplateOutlet=\"auxilaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <!-- AI Cards -->\n <div class=\"cc-message-composer__stickerkeyboard\"\n *ngIf=\"!auxilaryButtonView\">\n <cometchat-popover (cc-popover-click)=\"openStickerKeyboard($event)\"\n [popoverStyle]=\"aiPopover\" [placement]=\"auxilaryPlacement\">\n <cometchat-ai-card [state]=\"smartReplyState\"\n *ngIf=\"showSmartReply && !showActionSheetItemAI && !showAiBotList\"\n slot=\"content\" [loadingStateText]=\"loadingStateText\"\n [emptyStateText]=\"emptyStateText\"\n [errorStateText]=\"errorStateText\">\n <div slot=\"loadedView\" class=\"smart-replies-wrapper\">\n\n <div class=\"cc-message-composer__smartreply-header\">\n <div class=\"cc-message-composer__back-button\">\n <cometchat-button\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__smartreply-header-view\">\n <p>{{ localize(\"SUGGEST_A_REPLY\") }}</p>\n </div>\n </div>\n\n <div class=\"cc-message-composer__smartreply-content\">\n <smart-replies\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [smartReplyStyle]=\"smartReplyStyle\" [replies]=\"repliesArray\"\n [closeIconURL]=\"''\" (cc-reply-clicked)=\"sendReply($event)\">\n </smart-replies>\n </div>\n\n\n\n\n\n </div>\n </cometchat-ai-card>\n\n <div *ngIf=\"showAiBotList && !showActionSheetItemAI\"\n slot=\"content\">\n <div class=\"cc-message-composer__aibotlist\">\n <cometchat-button *ngIf=\" aiBotList && aiBotList.length> 1 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n <p>{{ localize(\"COMETCHAT_ASK_AI_BOT\") }}</p>\n </div>\n <cometchat-action-sheet\n *ngIf=\"showAiBotList && !showActionSheetItemAI\" slot=\"content\"\n [actions]=\"aiActionButtons\" [title]=\"'AI'\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n </div>\n\n <cometchat-action-sheet *ngIf=\"showActionSheetItemAI\" slot=\"content\"\n [actions]=\"buttons\" [title]=\"'AI'\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n\n <cometchat-button *ngIf=\"isAiEnabled\" [hoverText]=\"localize('AI')\"\n slot=\"children\" #aiButtonRef\n (cc-button-clicked)=\"openAiFeatures($event)\"\n [iconURL]=\"!showAiFeatures ? aiIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n\n <div class=\"cc-message-composer__stickerkeyboard\"\n *ngIf=\"enableStickerKeyboard && !auxilaryButtonView\">\n <cometchat-popover (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [popoverStyle]=\"stickerPopover\" [placement]=\"auxilaryPlacement\">\n <stickers-keyboard slot=\"content\"\n [stickerStyle]=\"stickerKeyboardStyle\"\n (cc-sticker-clicked)=\"sendSticker($event)\">\n </stickers-keyboard>\n <cometchat-button [hoverText]=\"localize('STICKER')\" slot=\"children\"\n #stickerButtonRef\n (cc-button-clicked)=\"openStickerKeyboard($event)\"\n [iconURL]=\" !showStickerKeyboard ? stickerButtonIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__emojikeyboard\"\n *ngIf=\"!auxilaryButtonView\">\n <cometchat-popover (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"emojiPopover\">\n <cometchat-emoji-keyboard slot=\"content\"\n [emojiKeyboardStyle]=\"emojiKeyboardStyle\"\n (cc-emoji-clicked)=\"appendEmoji($event)\">\n </cometchat-emoji-keyboard>\n <cometchat-button #emojiButtonRef [hoverText]=\"localize('EMOJI')\"\n slot=\"children\" (cc-button-clicked)=\"openEmojiKeyboard($event)\"\n [iconURL]=\" !showEmojiKeyboard || (!showEmojiKeyboard && showActionSheetItem) ? emojiButtonIconURL : closeButtonIconURL\"\n [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__mediarecorder\"\n *ngIf=\"!hideVoiceRecording\">\n <cometchat-popover (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [popoverStyle]=\"mediaRecordedPopover\"\n [placement]=\"auxilaryPlacement\">\n\n <cometchat-media-recorder *ngIf=\"toggleMediaRecorded\"\n [autoRecording]=\"true\" startIconText=\"\" stopIconText=\"\"\n submitButtonIconText=\"\"\n [submitButtonIconURL]=\"voiceRecordingSubmitIconURL\"\n [startIconURL]=\"voiceRecordingStartIconURL\"\n [stopIconURL]=\"voiceRecordingStopIconURL\"\n [closeIconURL]=\"voiceRecordingCloseIconURL\"\n (cc-media-recorder-submitted)=\"sendRecordedMedia($event)\"\n (cc-media-recorder-closed)=\"closeMediaRecorder($event)\"\n slot=\"content\"\n [mediaPlayerStyle]=\"mediaRecorderStyle\"></cometchat-media-recorder>\n <cometchat-icon-button [hoverText]=\"localize('VOICE_RECORDING')\"\n slot=\"children\" #mediaRecordedRef\n (cc-button-clicked)=\"openMediaRecorded($event)\"\n [iconURL]=\" !toggleMediaRecorded ? voiceRecordingIconURL : closeButtonIconURL\"\n [buttonStyle]=\"mediaRecorderButtonStyle\"></cometchat-icon-button>\n </cometchat-popover>\n </div>\n </div>\n <div data-slot=\"primaryView\">\n <div *ngIf=\"sendButtonView;else sendButton\">\n <ng-container\n *ngTemplateOutlet=\"sendButtonView;context:{ item: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #sendButton>\n <div class=\"cc-message-composer__sendbutton\"\n *ngIf=\"showSendButton || hideLiveReaction\">\n <cometchat-button [iconURL]=\"sendButtonIconURL\"\n [buttonStyle]=\"sendButtonStyle\"\n [hoverText]=\"localize('SEND_MESSAGE')\"\n [disabled]=\"!showSendButton\"\n (cc-button-clicked)=\"customSendMethod(messageText)\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__livereaction\"\n *ngIf=\"!hideLiveReaction && !showSendButton\">\n <cometchat-button [iconURL]=\"LiveReactionIconURL\"\n [hoverText]=\"localize('LIVE_REACTION')\"\n [buttonStyle]=\"liveReactionStyle\"\n (cc-button-clicked)=\"sendReaction()\"></cometchat-button>\n </div>\n </ng-template>\n </div>\n </cometchat-text-input>\n </div>\n</div>\n\n<input class=\"cc-message-composer__mediainput\" #inputElement\n (change)=\"inputChangeHandler($event)\" />\n<cometchat-backdrop *ngIf=\"showCreatePolls\" [backdropStyle]=\"backdropStyle\">\n <create-poll [user]=\"user\" [group]=\"group\"\n (cc-close-clicked)=\"closeCreatePolls()\"\n [createPollStyle]=\"createPollStyle\"></create-poll>\n</cometchat-backdrop>\n", styles: [".cc-message-composer__sendbutton,.cc-message-composer__livereaction{margin:0 5px}.cc-message-composer__wrapper{height:100%;width:100%;position:relative;padding:14px 16px}.cc-message-composer__header-view{height:-moz-fit-content;height:fit-content;width:100%;bottom:120%;padding:0 0 1px}.cc-message-composer__mediainput{display:none}.cc-message-composer__auxiliary{display:flex;gap:8px}.cc-message-composer__smartreply-header{width:100%;display:flex;align-items:center;position:absolute;padding:10px;top:0;z-index:1}.cc-message-composer__back-button{margin-left:2%}.cc-message-composer__smartreply-header-view{margin-left:14%}.cc-message-composer__smartreply-content{max-height:200px}.cc-message-composer__aibotlist{display:flex;padding:10px;align-items:center;gap:45px;font-size:medium}.cc-messagecomposer__mentions{max-height:196px;min-height:28px;overflow:hidden;position:absolute;width:100%;left:50%;transform:translate(-50%,-100%);z-index:2;display:flex;padding:0 16px 1px 14px;box-sizing:border-box}.cc-messagecomposer__mentions cometchat-user-member-wrapper{max-height:196px;min-height:28px;overflow:hidden;width:100%;box-sizing:border-box;min-height:45px}.cc-messagecomposer__mentions::-webkit-scrollbar{display:none}.cc-messagecomposer__mentions-limit-exceeded{margin-top:20px;left:2px;position:relative;padding-left:13px;background-color:#fff}*{box-sizing:border-box}cometchat-ai-card{height:100%;width:100%;display:flex;border-radius:8px;overflow-y:auto;justify-content:center;align-items:center}cometchat-popover{position:relative}\n"] }]
|
|
15257
|
+
args: [{ selector: "cometchat-message-composer", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-composer__wrapper\" [ngStyle]=\"composerWrapperStyle()\">\n <div class=\"cc-messagecomposer__mentions\" *ngIf=\"showListForMentions\"\n #userMemberWrapperRef>\n <cometchat-user-member-wrapper [userMemberListType]=\"userMemberListType\"\n [onItemClick]=\"userMemberWrapperConfiguration.onItemClick || defaultMentionsItemClickHandler\"\n [usersRequestBuilder]=\"usersRequestBuilder\"\n [searchKeyword]=\"mentionsSearchTerm\"\n [subtitleView]=\"userMemberWrapperConfiguration.subtitleView\"\n [disableUsersPresence]=\"userMemberWrapperConfiguration.disableUsersPresence\"\n [avatarStyle]=\"userMemberWrapperConfiguration.avatarStyle\"\n [listItemView]=\"userMemberWrapperConfiguration.listItemView\"\n [statusIndicatorStyle]=\"userMemberWrapperConfiguration.statusIndicatorStyle\"\n [userPresencePlacement]=\"userMemberWrapperConfiguration.userPresencePlacement\"\n [hideSeperator]=\"userMemberWrapperConfiguration.hideSeparator\"\n [loadingStateView]=\"userMemberWrapperConfiguration.loadingStateView\"\n [onEmpty]=\"defaultOnEmptyForMentions\"\n [loadingIconUrl]=\"userMemberWrapperConfiguration.loadingIconURL\"\n [group]=\"group\" [groupMemberRequestBuilder]=\"groupMembersRequestBuilder\"\n [disableLoadingState]=\"true\"\n [onError]=\"defaultOnEmptyForMentions\"></cometchat-user-member-wrapper>\n\n <div *ngIf=\"showMentionsCountWarning\"\n class=\"cc-messagecomposer__mentions-limit-exceeded\">\n <cometchat-icon-button\n [text]=\"mentionsWarningText || localize('MENTIONS_LIMIT_WARNING_MESSAGE')\"\n [iconURL]=\"InfoSimpleIcon\"\n [buttonStyle]=\"getMentionInfoIconStyle()\"></cometchat-icon-button>\n </div>\n\n </div>\n <div class=\"cc-message-composer__header-view\"\n *ngIf=\"headerView; else messagePreview\">\n <ng-container\n *ngTemplateOutlet=\"headerView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #messagePreview>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showPreview\">\n <cometchat-preview [previewStyle]=\"previewStyle\"\n [previewSubtitle]=\"editPreviewText\"\n (cc-preview-close-clicked)=\"closePreview()\"> </cometchat-preview>\n </div>\n </ng-template>\n <div class=\"cc-message-composer__input\">\n\n <cometchat-text-input (cc-text-input-entered)=\"sendMessageOnEnter($event)\"\n #inputRef [text]=\"text\"\n (cc-text-input-changed)=\"messageInputChanged($event)\"\n [textInputStyle]=\"textInputStyle\" [placeholderText]=\"placeholderText\"\n [auxiliaryButtonAlignment]=\"auxiliaryButtonsAlignment\"\n [textFormatters]=\"textFormatters\">\n\n <div data-slot=\"secondaryView\">\n <div *ngIf=\"secondaryButtonView;else secondaryButton\">\n <ng-container\n *ngTemplateOutlet=\"secondaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #secondaryButton>\n <div class=\"cc-message-composer__attachbutton\">\n <cometchat-popover\n (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"popoverStyle\">\n <cometchat-action-sheet slot=\"content\"\n [title]=\"localize('ADD_TO_CHAT')\" [actions]=\"composerActions\"\n [actionSheetStyle]=\"actionSheetStyle\"\n (cc-actionsheet-clicked)=\"handleActions($event)\"\n [hideLayoutMode]=\"hideLayoutMode\"\n >\n </cometchat-action-sheet>\n <cometchat-button #actionSheetRef slot=\"children\"\n (cc-button-clicked)=\"openActionSheet($event)\"\n [iconURL]=\"!showActionSheetItem || (showEmojiKeyboard && !showActionSheetItem) ? attachmentIconURL : closeButtonIconURL\"\n [buttonStyle]=\"attachmentButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n </ng-template>\n </div>\n\n <div class=\"cc-message-composer__auxiliary\" data-slot=\"auxilaryView\">\n <div class=\"cc-message-composer__custom-auxiliary-view\"\n *ngIf=\"auxilaryButtonView\">\n <ng-container\n *ngTemplateOutlet=\"auxilaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <!-- AI Cards -->\n <div class=\"cc-message-composer__stickerkeyboard\"\n *ngIf=\"!auxilaryButtonView\">\n <cometchat-popover (cc-popover-click)=\"openStickerKeyboard($event)\"\n [popoverStyle]=\"aiPopover\" [placement]=\"auxilaryPlacement\">\n <cometchat-ai-card [state]=\"smartReplyState\"\n *ngIf=\"showSmartReply && !showActionSheetItemAI && !showAiBotList\"\n slot=\"content\" [loadingStateText]=\"loadingStateText\"\n [emptyStateText]=\"emptyStateText\"\n [errorStateText]=\"errorStateText\">\n <div slot=\"loadedView\" class=\"smart-replies-wrapper\">\n\n <div class=\"cc-message-composer__smartreply-header\">\n <div class=\"cc-message-composer__back-button\">\n <cometchat-button\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__smartreply-header-view\">\n <p>{{ localize(\"SUGGEST_A_REPLY\") }}</p>\n </div>\n </div>\n\n <div class=\"cc-message-composer__smartreply-content\">\n <smart-replies\n *ngIf=\"repliesArray && repliesArray.length > 0 \"\n [smartReplyStyle]=\"smartReplyStyle\" [replies]=\"repliesArray\"\n [closeIconURL]=\"''\" (cc-reply-clicked)=\"sendReply($event)\">\n </smart-replies>\n </div>\n\n\n\n\n\n </div>\n </cometchat-ai-card>\n\n <div *ngIf=\"showAiBotList && !showActionSheetItemAI\"\n slot=\"content\">\n <div class=\"cc-message-composer__aibotlist\">\n <cometchat-button *ngIf=\" aiBotList && aiBotList.length> 1 \"\n [iconURL]=\"backButtonIconURL\"\n (cc-button-clicked)=\"onAiBackButtonClick()\"\n [buttonStyle]=\"backButtonStyle()\">\n </cometchat-button>\n <p>{{ localize(\"COMETCHAT_ASK_AI_BOT\") }}</p>\n </div>\n <cometchat-action-sheet\n *ngIf=\"showAiBotList && !showActionSheetItemAI\" slot=\"content\"\n [actions]=\"aiActionButtons\" [title]=\"localize('AI')\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n </div>\n\n <cometchat-action-sheet *ngIf=\"showActionSheetItemAI\" slot=\"content\"\n [actions]=\"buttons\" [title]=\"localize('AI')\"\n [actionSheetStyle]=\"aiActionSheetStyle\" [hideLayoutMode]=\"true\"\n (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n\n <cometchat-button *ngIf=\"isAiEnabled\" [hoverText]=\"localize('AI')\"\n slot=\"children\" #aiButtonRef\n (cc-button-clicked)=\"openAiFeatures($event)\"\n [iconURL]=\"!showAiFeatures ? aiIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n\n <div class=\"cc-message-composer__stickerkeyboard\"\n *ngIf=\"enableStickerKeyboard && !auxilaryButtonView\">\n <cometchat-popover (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [popoverStyle]=\"stickerPopover\" [placement]=\"auxilaryPlacement\">\n <stickers-keyboard slot=\"content\"\n [stickerStyle]=\"stickerKeyboardStyle\"\n (cc-sticker-clicked)=\"sendSticker($event)\">\n </stickers-keyboard>\n <cometchat-button [hoverText]=\"localize('STICKER')\" slot=\"children\"\n #stickerButtonRef\n (cc-button-clicked)=\"openStickerKeyboard($event)\"\n [iconURL]=\" !showStickerKeyboard ? stickerButtonIconURL : closeButtonIconURL\"\n [buttonStyle]=\"stickerButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__emojikeyboard\"\n *ngIf=\"!auxilaryButtonView\">\n <cometchat-popover (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [placement]=\"auxilaryPlacement\" [popoverStyle]=\"emojiPopover\">\n <cometchat-emoji-keyboard slot=\"content\"\n [emojiKeyboardStyle]=\"emojiKeyboardStyle\"\n (cc-emoji-clicked)=\"appendEmoji($event)\">\n </cometchat-emoji-keyboard>\n <cometchat-button #emojiButtonRef [hoverText]=\"localize('EMOJI')\"\n slot=\"children\" (cc-button-clicked)=\"openEmojiKeyboard($event)\"\n [iconURL]=\" !showEmojiKeyboard || (!showEmojiKeyboard && showActionSheetItem) ? emojiIconURL : closeButtonIconURL\"\n [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__mediarecorder\"\n *ngIf=\"!hideVoiceRecording\">\n <cometchat-popover (cc-popover-outside-clicked)=\"handleOutsideClick()\"\n [popoverStyle]=\"mediaRecordedPopover\"\n [placement]=\"auxilaryPlacement\">\n\n <cometchat-media-recorder *ngIf=\"toggleMediaRecorded\"\n [autoRecording]=\"true\" startIconText=\"\" stopIconText=\"\"\n submitButtonIconText=\"\"\n [submitButtonIconURL]=\"voiceRecordingSubmitIconURL\"\n [startIconURL]=\"voiceRecordingStartIconURL\"\n [stopIconURL]=\"voiceRecordingStopIconURL\"\n [closeIconURL]=\"voiceRecordingCloseIconURL\"\n (cc-media-recorder-submitted)=\"sendRecordedMedia($event)\"\n (cc-media-recorder-closed)=\"closeMediaRecorder($event)\"\n slot=\"content\"\n [mediaPlayerStyle]=\"mediaRecorderStyle\"></cometchat-media-recorder>\n <cometchat-icon-button [hoverText]=\"localize('VOICE_RECORDING')\"\n slot=\"children\" #mediaRecordedRef\n (cc-button-clicked)=\"openMediaRecorded($event)\"\n [iconURL]=\" !toggleMediaRecorded ? voiceRecordingIconURL : closeButtonIconURL\"\n [buttonStyle]=\"mediaRecorderButtonStyle\"></cometchat-icon-button>\n </cometchat-popover>\n </div>\n </div>\n <div data-slot=\"primaryView\">\n <div *ngIf=\"sendButtonView;else sendButton\">\n <ng-container\n *ngTemplateOutlet=\"sendButtonView;context:{ item: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #sendButton>\n <div class=\"cc-message-composer__sendbutton\"\n *ngIf=\"showSendButton || hideLiveReaction\">\n <cometchat-button [iconURL]=\"sendButtonIconURL\"\n [buttonStyle]=\"sendButtonStyle\"\n [hoverText]=\"localize('SEND_MESSAGE')\"\n [disabled]=\"!showSendButton\"\n (cc-button-clicked)=\"customSendMethod(messageText)\">\n </cometchat-button>\n </div>\n <div class=\"cc-message-composer__livereaction\"\n *ngIf=\"!hideLiveReaction && !showSendButton\">\n <cometchat-button [iconURL]=\"LiveReactionIconURL\"\n [hoverText]=\"localize('LIVE_REACTION')\"\n [buttonStyle]=\"liveReactionStyle\"\n (cc-button-clicked)=\"sendReaction()\"></cometchat-button>\n </div>\n </ng-template>\n </div>\n </cometchat-text-input>\n </div>\n</div>\n\n<input class=\"cc-message-composer__mediainput\" #inputElement\n (change)=\"inputChangeHandler($event)\" />\n<cometchat-backdrop *ngIf=\"showCreatePolls\" [backdropStyle]=\"backdropStyle\">\n <create-poll [user]=\"user\" [group]=\"group\"\n (cc-close-clicked)=\"closeCreatePolls()\"\n [createPollStyle]=\"createPollStyle\"></create-poll>\n</cometchat-backdrop>\n", styles: [".cc-message-composer__sendbutton,.cc-message-composer__livereaction{margin:0 5px}.cc-message-composer__wrapper{height:100%;width:100%;position:relative;padding:14px 16px}.cc-message-composer__header-view{height:-moz-fit-content;height:fit-content;width:100%;bottom:120%;padding:0 0 1px}.cc-message-composer__mediainput{display:none}.cc-message-composer__auxiliary{display:flex;gap:8px}.cc-message-composer__smartreply-header{width:100%;display:flex;align-items:center;position:absolute;padding:10px;top:0;z-index:1}.cc-message-composer__back-button{margin-left:2%}.cc-message-composer__smartreply-header-view{margin-left:14%}.cc-message-composer__smartreply-content{max-height:200px}.cc-message-composer__aibotlist{display:flex;padding:10px;align-items:center;gap:45px;font-size:medium}.cc-messagecomposer__mentions{max-height:196px;min-height:28px;overflow:hidden;position:absolute;width:100%;left:50%;transform:translate(-50%,-100%);z-index:2;display:flex;padding:0 16px 1px 14px;box-sizing:border-box}.cc-messagecomposer__mentions cometchat-user-member-wrapper{max-height:196px;min-height:28px;overflow:hidden;width:100%;box-sizing:border-box;min-height:45px}.cc-messagecomposer__mentions::-webkit-scrollbar{display:none}.cc-messagecomposer__mentions-limit-exceeded{margin-top:20px;left:2px;position:relative;padding-left:13px;background-color:#fff}*{box-sizing:border-box}cometchat-ai-card{height:100%;width:100%;display:flex;border-radius:8px;overflow-y:auto;justify-content:center;align-items:center}cometchat-popover{position:relative}\n"] }]
|
|
15129
15258
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { inputElementRef: [{
|
|
15130
15259
|
type: ViewChild,
|
|
15131
15260
|
args: ["inputElement", { static: false }]
|
|
@@ -15222,6 +15351,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15222
15351
|
type: Input
|
|
15223
15352
|
}], voiceRecordingSubmitIconURL: [{
|
|
15224
15353
|
type: Input
|
|
15354
|
+
}], hideLayoutMode: [{
|
|
15355
|
+
type: Input
|
|
15356
|
+
}], emojiIconURL: [{
|
|
15357
|
+
type: Input
|
|
15225
15358
|
}], childEvent: [{
|
|
15226
15359
|
type: Output
|
|
15227
15360
|
}], userMemberWrapperConfiguration: [{
|
|
@@ -15248,18 +15381,20 @@ class CometChatThreadedMessagesComponent {
|
|
|
15248
15381
|
this.title = localize("THREAD");
|
|
15249
15382
|
this.closeIconURL = "assets/close2x.svg";
|
|
15250
15383
|
this.messageListConfiguration = new MessageListConfiguration({});
|
|
15384
|
+
this.userMemberWrapperConfiguration = new UserMemberWrapperConfiguration({});
|
|
15251
15385
|
this.messageComposerConfiguration = new MessageComposerConfiguration({});
|
|
15252
15386
|
this.threadedMessagesStyle = {
|
|
15253
15387
|
width: "100%",
|
|
15254
15388
|
height: "100%",
|
|
15255
|
-
background:
|
|
15389
|
+
background: this.themeService.theme.palette.getBackground(),
|
|
15256
15390
|
borderRadius: "none",
|
|
15257
|
-
border: "
|
|
15258
|
-
titleColor:
|
|
15259
|
-
titleFont:
|
|
15260
|
-
closeIconTint:
|
|
15391
|
+
border: "none",
|
|
15392
|
+
titleColor: this.themeService.theme.palette.getAccent(),
|
|
15393
|
+
titleFont: fontHelper(this.themeService.theme.typography.title1),
|
|
15394
|
+
closeIconTint: this.themeService.theme.palette.getPrimary()
|
|
15261
15395
|
};
|
|
15262
15396
|
this.hideMessageComposer = false;
|
|
15397
|
+
this.disableSoundForMessages = false;
|
|
15263
15398
|
this.limit = 30;
|
|
15264
15399
|
this.composerStyles = {
|
|
15265
15400
|
width: "100%",
|
|
@@ -15402,9 +15537,19 @@ class CometChatThreadedMessagesComponent {
|
|
|
15402
15537
|
addMessageEventListeners() {
|
|
15403
15538
|
try {
|
|
15404
15539
|
this.onMessagesDelivered = CometChatMessageEvents.onMessagesDelivered.subscribe((messageReceipt) => {
|
|
15405
|
-
|
|
15540
|
+
if (messageReceipt.getReceiverType() == CometChatUIKitConstants.MessageReceiverType.user) {
|
|
15541
|
+
this.updateReceipt(messageReceipt);
|
|
15542
|
+
}
|
|
15406
15543
|
});
|
|
15407
15544
|
this.onMessagesRead = CometChatMessageEvents.onMessagesRead.subscribe((messageReceipt) => {
|
|
15545
|
+
if (messageReceipt.getReceiverType() == CometChatUIKitConstants.MessageReceiverType.user) {
|
|
15546
|
+
this.updateReceipt(messageReceipt);
|
|
15547
|
+
}
|
|
15548
|
+
});
|
|
15549
|
+
this.onMessagesReadByAll = CometChatMessageEvents.onMessagesReadByAll.subscribe((messageReceipt) => {
|
|
15550
|
+
this.updateReceipt(messageReceipt);
|
|
15551
|
+
});
|
|
15552
|
+
this.onMessagesDeliveredToAll = CometChatMessageEvents.onMessagesDeliveredToAll.subscribe((messageReceipt) => {
|
|
15408
15553
|
this.updateReceipt(messageReceipt);
|
|
15409
15554
|
});
|
|
15410
15555
|
this.onMessageDeleted = CometChatMessageEvents.onMessageDeleted.subscribe((deletedMessage) => {
|
|
@@ -15502,7 +15647,7 @@ class CometChatThreadedMessagesComponent {
|
|
|
15502
15647
|
});
|
|
15503
15648
|
}
|
|
15504
15649
|
unsubscribeToEvents() {
|
|
15505
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
15650
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
15506
15651
|
(_a = this.ccMessageDeleted) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
15507
15652
|
(_b = this.ccMessageEdited) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
15508
15653
|
(_c = this.ccMessageRead) === null || _c === void 0 ? void 0 : _c.unsubscribe();
|
|
@@ -15514,6 +15659,8 @@ class CometChatThreadedMessagesComponent {
|
|
|
15514
15659
|
(_j = this.onCustomInteractiveMessageReceived) === null || _j === void 0 ? void 0 : _j.unsubscribe();
|
|
15515
15660
|
(_k = this.onCustomMessageReceived) === null || _k === void 0 ? void 0 : _k.unsubscribe();
|
|
15516
15661
|
(_l = this.onMediaMessageReceived) === null || _l === void 0 ? void 0 : _l.unsubscribe();
|
|
15662
|
+
(_m = this.onMessagesReadByAll) === null || _m === void 0 ? void 0 : _m.unsubscribe();
|
|
15663
|
+
(_o = this.onMessagesDeliveredToAll) === null || _o === void 0 ? void 0 : _o.unsubscribe();
|
|
15517
15664
|
}
|
|
15518
15665
|
closeView() {
|
|
15519
15666
|
if (this.onClose) {
|
|
@@ -15557,10 +15704,10 @@ class CometChatThreadedMessagesComponent {
|
|
|
15557
15704
|
}
|
|
15558
15705
|
}
|
|
15559
15706
|
CometChatThreadedMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatThreadedMessagesComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15560
|
-
CometChatThreadedMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatThreadedMessagesComponent, selector: "cometchat-threaded-messages", inputs: { onClose: "onClose", onError: "onError", parentMessage: "parentMessage", title: "title", closeIconURL: "closeIconURL", bubbleView: "bubbleView", messageActionView: "messageActionView", messageListConfiguration: "messageListConfiguration", messageComposerConfiguration: "messageComposerConfiguration", threadedMessagesStyle: "threadedMessagesStyle", hideMessageComposer: "hideMessageComposer", messageComposerView: "messageComposerView", messageListView: "messageListView" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-threaded-messages__wrapper\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-threaded-messages__header\">\n <div class=\"cc-threaded-messages__title\">\n <cometchat-label [text]=\"title\"\n [labelStyle]=\"titleStyle\"></cometchat-label>\n </div>\n <div class=\"cc-threaded-messages__close\">\n <cometchat-button [iconURL]=\"closeIconURL\" [buttonStyle]=\"buttonStyle\"\n (cc-button-clicked)=\"closeView()\"></cometchat-button>\n </div>\n </div>\n <div class=\"cc-threaded-messages__bubble-view\">\n <ng-container\n *ngTemplateOutlet=\"bubbleView; context:{ $implicit: parentMessage }\">\n </ng-container>\n </div>\n <div class=\"cc-threaded-messages__action-view\">\n <ng-container\n *ngTemplateOutlet=\"messageActionView; context:{ $implicit: parentMessage }\">\n </ng-container>\n <cometchat-button *ngIf=\"!messageActionView\" [text]=\"getThreadCount()\"\n [buttonStyle]=\"actionButtonStyle\"></cometchat-button>\n </div>\n <div class=\"cc-threaded-messages__list\" *ngIf=\"!messageListView\">\n <cometchat-message-list #messageListRef\n [disableReactions]=\"messageListConfiguration?.disableReactions!\"\n [emojiKeyboardStyle]=\"messageListConfiguration?.emojiKeyboardStyle!\"\n [reactionsConfiguration]=\"messageListConfiguration?.reactionsConfiguration!\"\n [threadIndicatorIcon]=\"messageListConfiguration?.threadIndicatorIcon!\"\n [parentMessageId]=\"parentMessage?.getId()\"\n [emptyStateView]=\"messageListConfiguration.emptyStateView\"\n [loadingStateView]=\"messageListConfiguration.loadingStateView\"\n [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\"\n [disableReceipt]=\"messageListConfiguration.disableReceipt\"\n [readIcon]=\"messageListConfiguration.readIcon\"\n [deliveredIcon]=\"messageListConfiguration.deliveredIcon\"\n [sentIcon]=\"messageListConfiguration.sentIcon\"\n [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\"\n [alignment]=\"messageListConfiguration.alignment\"\n [showAvatar]=\"messageListConfiguration.showAvatar\"\n [datePattern]=\"messageListConfiguration.datePattern\"\n [timestampAlignment]=\"messageListConfiguration.timestampAlignment\"\n [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [messageTypes]=\"messageListConfiguration.templates\"\n [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder || requestBuilder\"\n [thresholdValue]=\"messageListConfiguration.thresholdValue\"\n [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick\"\n [headerView]=\"messageListConfiguration.headerView\"\n [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\"\n [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\"\n [messageListStyle]=\"messageListConfiguration.messageListStyle\"\n [onError]=\"messageListConfiguration.onError\"\n [disableMentions]=\"messageListConfiguration.disableMentions\"\n [textFormatters]=\"messageListConfiguration?.textFormatters\">\n </cometchat-message-list>\n </div>\n <ng-container *ngIf=\"messageListView\">\n <ng-container\n *ngTemplateOutlet=\"messageListView;context:{ user: user, group: group,parentMessage:parentMessage }\">\n </ng-container>\n </ng-container>\n <div class=\"cc-threaded-messages__composer\"\n *ngIf=\"!hideMessageComposer && !messageComposerView\">\n <cometchat-message-composer #messageComposerRef\n [parentMessageId]=\"parentMessage?.getId()\" [user]=\"user\" [group]=\"group\"\n [text]=\"messageComposerConfiguration.text\"\n [headerView]=\"messageComposerConfiguration.headerView\"\n [onTextChange]=\"messageComposerConfiguration.onTextChange\"\n [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\"\n [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\"\n [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\"\n [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\"\n [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\"\n [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\"\n [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onError]=\"messageComposerConfiguration.onError\"\n [actionSheetStyle]=\"messageComposerConfiguration.actionSheetStyle\"\n [userMemberWrapperConfiguration]=\"messageComposerConfiguration.userMemberWrapperConfiguration\"\n [textFormatters]=\"messageComposerConfiguration?.textFormatters\"\n [disableMentions]=\"messageComposerConfiguration.disableMentions\"\n [mentionsWarningText]=\"messageComposerConfiguration?.mentionsWarningText\"\n [mentionsWarningStyle]=\"messageComposerConfiguration?.mentionsWarningStyle\">\n </cometchat-message-composer>\n </div>\n <ng-container *ngIf=\"!hideMessageComposer && messageComposerView\">\n <ng-container\n *ngTemplateOutlet=\"messageComposerView;context:{ user: user, group: group,parentMessage:parentMessage }\">\n </ng-container>\n </ng-container>\n\n</div>\n", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-threaded-messages__wrapper{display:flex;flex-direction:column;height:100%;overflow-y:auto}.cc-threaded-messages__header{height:8%;width:100%;display:flex;padding:16px;align-items:flex-start}.cc-threaded-messages__close{display:flex;align-items:center}.cc-threaded-messages__title{display:flex;align-items:center;justify-content:center;width:100%}.cc-threaded-messages__bubble-view{width:100%}.cc-threaded-messages__header{flex:0 0 auto}.cc-threaded-messages__list{flex:1 1 auto;min-height:65%}.cc-threaded-messages__composer{flex:0 0 auto;min-height:80px}\n"], components: [{ type: CometChatMessageListComponent, selector: "cometchat-message-list", inputs: ["hideError", "errorStateView", "loadingStateView", "emptyStateView", "errorStateText", "emptyStateText", "loadingIconURL", "user", "group", "disableReceipt", "disableSoundForMessages", "customSoundForMessages", "readIcon", "deliveredIcon", "sentIcon", "waitIcon", "errorIcon", "aiErrorIcon", "aiEmptyIcon", "alignment", "showAvatar", "datePattern", "timestampAlignment", "DateSeparatorPattern", "templates", "messagesRequestBuilder", "newMessageIndicatorText", "scrollToBottomOnNewMessages", "thresholdValue", "unreadMessageThreshold", "reactionsConfiguration", "disableReactions", "emojiKeyboardStyle", "apiConfiguration", "onThreadRepliesClick", "headerView", "footerView", "parentMessageId", "threadIndicatorIcon", "avatarStyle", "backdropStyle", "dateSeparatorStyle", "messageListStyle", "onError", "messageInformationConfiguration", "disableMentions", "textFormatters"] }, { type: CometChatMessageComposerComponent, selector: "cometchat-message-composer", inputs: ["user", "group", "disableSoundForMessages", "customSoundForMessage", "disableTypingEvents", "text", "placeholderText", "headerView", "onTextChange", "attachmentIconURL", "attachmentOptions", "secondaryButtonView", "auxilaryButtonView", "auxiliaryButtonsAlignment", "sendButtonView", "parentMessageId", "hideLiveReaction", "LiveReactionIconURL", "backButtonIconURL", "mentionsWarningText", "mentionsWarningStyle", "messageComposerStyle", "onSendButtonClick", "onError", "backdropStyle", "actionSheetStyle", "aiActionSheetStyle", "hideVoiceRecording", "mediaRecorderStyle", "aiOptionsStyle", "aiIconURL", "voiceRecordingIconURL", "voiceRecordingCloseIconURL", "voiceRecordingStartIconURL", "voiceRecordingStopIconURL", "voiceRecordingSubmitIconURL", "userMemberWrapperConfiguration", "disableMentions", "textFormatters"], outputs: ["childEvent"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
15707
|
+
CometChatThreadedMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatThreadedMessagesComponent, selector: "cometchat-threaded-messages", inputs: { onClose: "onClose", onError: "onError", parentMessage: "parentMessage", title: "title", closeIconURL: "closeIconURL", bubbleView: "bubbleView", messageActionView: "messageActionView", messageListConfiguration: "messageListConfiguration", userMemberWrapperConfiguration: "userMemberWrapperConfiguration", messageComposerConfiguration: "messageComposerConfiguration", threadedMessagesStyle: "threadedMessagesStyle", hideMessageComposer: "hideMessageComposer", messageComposerView: "messageComposerView", messageListView: "messageListView", disableSoundForMessages: "disableSoundForMessages" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-threaded-messages__wrapper\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-threaded-messages__header\">\n <div class=\"cc-threaded-messages__title\">\n <cometchat-label [text]=\"title\"\n [labelStyle]=\"titleStyle\"></cometchat-label>\n </div>\n <div class=\"cc-threaded-messages__close\">\n <cometchat-button [iconURL]=\"closeIconURL\" [buttonStyle]=\"buttonStyle\"\n (cc-button-clicked)=\"closeView()\"></cometchat-button>\n </div>\n </div>\n <div class=\"cc-threaded-messages__bubble-view\">\n <ng-container\n *ngTemplateOutlet=\"bubbleView; context:{ $implicit: parentMessage }\">\n </ng-container>\n </div>\n <div class=\"cc-threaded-messages__action-view\">\n <ng-container\n *ngTemplateOutlet=\"messageActionView; context:{ $implicit: parentMessage }\">\n </ng-container>\n <cometchat-button *ngIf=\"!messageActionView\" [text]=\"getThreadCount()\"\n [buttonStyle]=\"actionButtonStyle\"></cometchat-button>\n </div>\n <div class=\"cc-threaded-messages__list\" *ngIf=\"!messageListView\">\n <cometchat-message-list #messageListRef\n [disableReactions]=\"messageListConfiguration?.disableReactions!\"\n [emojiKeyboardStyle]=\"messageListConfiguration?.emojiKeyboardStyle!\"\n [reactionsConfiguration]=\"messageListConfiguration?.reactionsConfiguration!\"\n [threadIndicatorIcon]=\"messageListConfiguration?.threadIndicatorIcon!\"\n [parentMessageId]=\"parentMessage?.getId()\"\n [emptyStateView]=\"messageListConfiguration.emptyStateView\"\n [loadingStateView]=\"messageListConfiguration.loadingStateView\"\n [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\"\n [disableReceipt]=\"messageListConfiguration.disableReceipt\"\n [readIcon]=\"messageListConfiguration.readIcon\"\n [deliveredIcon]=\"messageListConfiguration.deliveredIcon\"\n [sentIcon]=\"messageListConfiguration.sentIcon\"\n [waitIcon]=\"messageListConfiguration.waitIcon\"\n [loadingIconURL]=\"messageListConfiguration.loadingIconURL\"\n [errorIcon]=\"messageListConfiguration.errorIcon\"\n [alignment]=\"messageListConfiguration.alignment\"\n [showAvatar]=\"messageListConfiguration.showAvatar\"\n [datePattern]=\"messageListConfiguration.datePattern\"\n [timestampAlignment]=\"messageListConfiguration.timestampAlignment\"\n [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [messageTypes]=\"messageListConfiguration.templates\"\n [templates]=\"messageListConfiguration.templates\"\n [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder || requestBuilder\"\n [thresholdValue]=\"messageListConfiguration.thresholdValue\"\n [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick\"\n [headerView]=\"messageListConfiguration.headerView\"\n [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\"\n [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\"\n [messageListStyle]=\"messageListConfiguration.messageListStyle\"\n [onError]=\"messageListConfiguration.onError\"\n [hideError]=\"messageListConfiguration.hideError\"\n [hideDateSeparator]=\"messageListConfiguration.hideDateSeparator\"\n [disableSoundForMessages]=\"disableSoundForMessages\"\n [disableMentions]=\"messageListConfiguration.disableMentions\"\n [textFormatters]=\"messageListConfiguration?.textFormatters\">\n </cometchat-message-list>\n </div>\n <ng-container *ngIf=\"messageListView\">\n <ng-container\n *ngTemplateOutlet=\"messageListView;context:{ user: user, group: group,parentMessage:parentMessage }\">\n </ng-container>\n </ng-container>\n <div class=\"cc-threaded-messages__composer\"\n *ngIf=\"!hideMessageComposer && !messageComposerView\">\n <cometchat-message-composer #messageComposerRef\n [parentMessageId]=\"parentMessage?.getId()\" [user]=\"user\" [group]=\"group\"\n [text]=\"messageComposerConfiguration.text\"\n [headerView]=\"messageComposerConfiguration.headerView\"\n [onTextChange]=\"messageComposerConfiguration.onTextChange\"\n [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\"\n [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\"\n [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\"\n [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\"\n [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\"\n [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\"\n [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [sendButtonIconURL]=\"messageComposerConfiguration.sendButtonIconURL\"\n [onError]=\"messageComposerConfiguration.onError\"\n [actionSheetStyle]=\"messageComposerConfiguration.actionSheetStyle\"\n [userMemberWrapperConfiguration]=\"messageComposerConfiguration.userMemberWrapperConfiguration\"\n [textFormatters]=\"messageComposerConfiguration?.textFormatters\"\n [disableMentions]=\"messageComposerConfiguration.disableMentions\"\n [mentionsWarningText]=\"messageComposerConfiguration?.mentionsWarningText\"\n [mentionsWarningStyle]=\"messageComposerConfiguration?.mentionsWarningStyle\"\n [emojiIconURL]=\"messageComposerConfiguration.emojiIconURL\"\n [AIIconURL]=\"messageComposerConfiguration.AIIconURL\"\n [hideVoiceRecording]=\"messageComposerConfiguration.hideVoiceRecording\"\n [hideLayoutMode]=\"messageComposerConfiguration.hideLayoutMode\"\n [AIOptionsStyle]=\"messageComposerConfiguration.AIOptionsStyle\"\n [backdropStyle]=\"messageComposerConfiguration.backdropStyle\"\n [mediaRecorderStyle]=\"messageComposerConfiguration.mediaRecorderStyle\"\n [voiceRecordingCloseIconURL]=\"messageComposerConfiguration.voiceRecordingCloseIconURL\"\n [voiceRecordingStartIconURL]=\"messageComposerConfiguration.voiceRecordingStartIconURL\"\n [voiceRecordingStopIconURL]=\"messageComposerConfiguration.voiceRecordingStopIconURL\"\n [voiceRecordingSubmitIconURL]=\"messageComposerConfiguration.voiceRecordingSubmitIconURL\"\n [disableSoundForMessages]=\"disableSoundForMessages\"\n >\n </cometchat-message-composer>\n </div>\n <ng-container *ngIf=\"!hideMessageComposer && messageComposerView\">\n <ng-container\n *ngTemplateOutlet=\"messageComposerView;context:{ user: user, group: group,parentMessage:parentMessage }\">\n </ng-container>\n </ng-container>\n\n</div>\n", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-threaded-messages__wrapper{display:flex;flex-direction:column;height:100%;overflow-y:auto}.cc-threaded-messages__header{height:8%;width:100%;display:flex;padding:16px;align-items:flex-start}.cc-threaded-messages__close{display:flex;align-items:center}.cc-threaded-messages__title{display:flex;align-items:center;justify-content:center;width:100%}.cc-threaded-messages__bubble-view{width:100%}.cc-threaded-messages__header{flex:0 0 auto}.cc-threaded-messages__list{flex:1 1 auto;min-height:65%}.cc-threaded-messages__composer{flex:0 0 auto;min-height:80px}\n"], components: [{ type: CometChatMessageListComponent, selector: "cometchat-message-list", inputs: ["hideError", "hideDateSeparator", "errorStateView", "loadingStateView", "emptyStateView", "errorStateText", "emptyStateText", "loadingIconURL", "user", "group", "disableReceipt", "disableSoundForMessages", "customSoundForMessages", "readIcon", "deliveredIcon", "sentIcon", "waitIcon", "errorIcon", "aiErrorIcon", "aiEmptyIcon", "alignment", "showAvatar", "datePattern", "timestampAlignment", "DateSeparatorPattern", "templates", "messagesRequestBuilder", "newMessageIndicatorText", "scrollToBottomOnNewMessages", "thresholdValue", "unreadMessageThreshold", "reactionsConfiguration", "disableReactions", "emojiKeyboardStyle", "apiConfiguration", "onThreadRepliesClick", "headerView", "footerView", "parentMessageId", "threadIndicatorIcon", "avatarStyle", "backdropStyle", "dateSeparatorStyle", "messageListStyle", "onError", "messageInformationConfiguration", "disableMentions", "textFormatters"] }, { type: CometChatMessageComposerComponent, selector: "cometchat-message-composer", inputs: ["user", "group", "disableSoundForMessages", "customSoundForMessage", "disableTypingEvents", "text", "placeholderText", "headerView", "onTextChange", "attachmentIconURL", "attachmentOptions", "secondaryButtonView", "auxilaryButtonView", "auxiliaryButtonsAlignment", "sendButtonView", "parentMessageId", "hideLiveReaction", "LiveReactionIconURL", "backButtonIconURL", "mentionsWarningText", "mentionsWarningStyle", "messageComposerStyle", "onSendButtonClick", "onError", "backdropStyle", "actionSheetStyle", "aiActionSheetStyle", "hideVoiceRecording", "mediaRecorderStyle", "aiOptionsStyle", "aiIconURL", "voiceRecordingIconURL", "voiceRecordingCloseIconURL", "voiceRecordingStartIconURL", "voiceRecordingStopIconURL", "voiceRecordingSubmitIconURL", "hideLayoutMode", "emojiIconURL", "userMemberWrapperConfiguration", "disableMentions", "textFormatters"], outputs: ["childEvent"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
15561
15708
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatThreadedMessagesComponent, decorators: [{
|
|
15562
15709
|
type: Component,
|
|
15563
|
-
args: [{ selector: "cometchat-threaded-messages", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-threaded-messages__wrapper\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-threaded-messages__header\">\n <div class=\"cc-threaded-messages__title\">\n <cometchat-label [text]=\"title\"\n [labelStyle]=\"titleStyle\"></cometchat-label>\n </div>\n <div class=\"cc-threaded-messages__close\">\n <cometchat-button [iconURL]=\"closeIconURL\" [buttonStyle]=\"buttonStyle\"\n (cc-button-clicked)=\"closeView()\"></cometchat-button>\n </div>\n </div>\n <div class=\"cc-threaded-messages__bubble-view\">\n <ng-container\n *ngTemplateOutlet=\"bubbleView; context:{ $implicit: parentMessage }\">\n </ng-container>\n </div>\n <div class=\"cc-threaded-messages__action-view\">\n <ng-container\n *ngTemplateOutlet=\"messageActionView; context:{ $implicit: parentMessage }\">\n </ng-container>\n <cometchat-button *ngIf=\"!messageActionView\" [text]=\"getThreadCount()\"\n [buttonStyle]=\"actionButtonStyle\"></cometchat-button>\n </div>\n <div class=\"cc-threaded-messages__list\" *ngIf=\"!messageListView\">\n <cometchat-message-list #messageListRef\n [disableReactions]=\"messageListConfiguration?.disableReactions!\"\n [emojiKeyboardStyle]=\"messageListConfiguration?.emojiKeyboardStyle!\"\n [reactionsConfiguration]=\"messageListConfiguration?.reactionsConfiguration!\"\n [threadIndicatorIcon]=\"messageListConfiguration?.threadIndicatorIcon!\"\n [parentMessageId]=\"parentMessage?.getId()\"\n [emptyStateView]=\"messageListConfiguration.emptyStateView\"\n [loadingStateView]=\"messageListConfiguration.loadingStateView\"\n [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\"\n [disableReceipt]=\"messageListConfiguration.disableReceipt\"\n [readIcon]=\"messageListConfiguration.readIcon\"\n [deliveredIcon]=\"messageListConfiguration.deliveredIcon\"\n [sentIcon]=\"messageListConfiguration.sentIcon\"\n [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\"\n [alignment]=\"messageListConfiguration.alignment\"\n [showAvatar]=\"messageListConfiguration.showAvatar\"\n [datePattern]=\"messageListConfiguration.datePattern\"\n [timestampAlignment]=\"messageListConfiguration.timestampAlignment\"\n [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [messageTypes]=\"messageListConfiguration.templates\"\n [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder || requestBuilder\"\n [thresholdValue]=\"messageListConfiguration.thresholdValue\"\n [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick\"\n [headerView]=\"messageListConfiguration.headerView\"\n [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\"\n [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\"\n [messageListStyle]=\"messageListConfiguration.messageListStyle\"\n [onError]=\"messageListConfiguration.onError\"\n [disableMentions]=\"messageListConfiguration.disableMentions\"\n [textFormatters]=\"messageListConfiguration?.textFormatters\">\n </cometchat-message-list>\n </div>\n <ng-container *ngIf=\"messageListView\">\n <ng-container\n *ngTemplateOutlet=\"messageListView;context:{ user: user, group: group,parentMessage:parentMessage }\">\n </ng-container>\n </ng-container>\n <div class=\"cc-threaded-messages__composer\"\n *ngIf=\"!hideMessageComposer && !messageComposerView\">\n <cometchat-message-composer #messageComposerRef\n [parentMessageId]=\"parentMessage?.getId()\" [user]=\"user\" [group]=\"group\"\n [text]=\"messageComposerConfiguration.text\"\n [headerView]=\"messageComposerConfiguration.headerView\"\n [onTextChange]=\"messageComposerConfiguration.onTextChange\"\n [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\"\n [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\"\n [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\"\n [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\"\n [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\"\n [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\"\n [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [
|
|
15710
|
+
args: [{ selector: "cometchat-threaded-messages", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-threaded-messages__wrapper\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-threaded-messages__header\">\n <div class=\"cc-threaded-messages__title\">\n <cometchat-label [text]=\"title\"\n [labelStyle]=\"titleStyle\"></cometchat-label>\n </div>\n <div class=\"cc-threaded-messages__close\">\n <cometchat-button [iconURL]=\"closeIconURL\" [buttonStyle]=\"buttonStyle\"\n (cc-button-clicked)=\"closeView()\"></cometchat-button>\n </div>\n </div>\n <div class=\"cc-threaded-messages__bubble-view\">\n <ng-container\n *ngTemplateOutlet=\"bubbleView; context:{ $implicit: parentMessage }\">\n </ng-container>\n </div>\n <div class=\"cc-threaded-messages__action-view\">\n <ng-container\n *ngTemplateOutlet=\"messageActionView; context:{ $implicit: parentMessage }\">\n </ng-container>\n <cometchat-button *ngIf=\"!messageActionView\" [text]=\"getThreadCount()\"\n [buttonStyle]=\"actionButtonStyle\"></cometchat-button>\n </div>\n <div class=\"cc-threaded-messages__list\" *ngIf=\"!messageListView\">\n <cometchat-message-list #messageListRef\n [disableReactions]=\"messageListConfiguration?.disableReactions!\"\n [emojiKeyboardStyle]=\"messageListConfiguration?.emojiKeyboardStyle!\"\n [reactionsConfiguration]=\"messageListConfiguration?.reactionsConfiguration!\"\n [threadIndicatorIcon]=\"messageListConfiguration?.threadIndicatorIcon!\"\n [parentMessageId]=\"parentMessage?.getId()\"\n [emptyStateView]=\"messageListConfiguration.emptyStateView\"\n [loadingStateView]=\"messageListConfiguration.loadingStateView\"\n [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\"\n [disableReceipt]=\"messageListConfiguration.disableReceipt\"\n [readIcon]=\"messageListConfiguration.readIcon\"\n [deliveredIcon]=\"messageListConfiguration.deliveredIcon\"\n [sentIcon]=\"messageListConfiguration.sentIcon\"\n [waitIcon]=\"messageListConfiguration.waitIcon\"\n [loadingIconURL]=\"messageListConfiguration.loadingIconURL\"\n [errorIcon]=\"messageListConfiguration.errorIcon\"\n [alignment]=\"messageListConfiguration.alignment\"\n [showAvatar]=\"messageListConfiguration.showAvatar\"\n [datePattern]=\"messageListConfiguration.datePattern\"\n [timestampAlignment]=\"messageListConfiguration.timestampAlignment\"\n [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [messageTypes]=\"messageListConfiguration.templates\"\n [templates]=\"messageListConfiguration.templates\"\n [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder || requestBuilder\"\n [thresholdValue]=\"messageListConfiguration.thresholdValue\"\n [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick\"\n [headerView]=\"messageListConfiguration.headerView\"\n [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\"\n [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\"\n [messageListStyle]=\"messageListConfiguration.messageListStyle\"\n [onError]=\"messageListConfiguration.onError\"\n [hideError]=\"messageListConfiguration.hideError\"\n [hideDateSeparator]=\"messageListConfiguration.hideDateSeparator\"\n [disableSoundForMessages]=\"disableSoundForMessages\"\n [disableMentions]=\"messageListConfiguration.disableMentions\"\n [textFormatters]=\"messageListConfiguration?.textFormatters\">\n </cometchat-message-list>\n </div>\n <ng-container *ngIf=\"messageListView\">\n <ng-container\n *ngTemplateOutlet=\"messageListView;context:{ user: user, group: group,parentMessage:parentMessage }\">\n </ng-container>\n </ng-container>\n <div class=\"cc-threaded-messages__composer\"\n *ngIf=\"!hideMessageComposer && !messageComposerView\">\n <cometchat-message-composer #messageComposerRef\n [parentMessageId]=\"parentMessage?.getId()\" [user]=\"user\" [group]=\"group\"\n [text]=\"messageComposerConfiguration.text\"\n [headerView]=\"messageComposerConfiguration.headerView\"\n [onTextChange]=\"messageComposerConfiguration.onTextChange\"\n [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\"\n [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\"\n [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\"\n [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\"\n [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\"\n [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\"\n [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [sendButtonIconURL]=\"messageComposerConfiguration.sendButtonIconURL\"\n [onError]=\"messageComposerConfiguration.onError\"\n [actionSheetStyle]=\"messageComposerConfiguration.actionSheetStyle\"\n [userMemberWrapperConfiguration]=\"messageComposerConfiguration.userMemberWrapperConfiguration\"\n [textFormatters]=\"messageComposerConfiguration?.textFormatters\"\n [disableMentions]=\"messageComposerConfiguration.disableMentions\"\n [mentionsWarningText]=\"messageComposerConfiguration?.mentionsWarningText\"\n [mentionsWarningStyle]=\"messageComposerConfiguration?.mentionsWarningStyle\"\n [emojiIconURL]=\"messageComposerConfiguration.emojiIconURL\"\n [AIIconURL]=\"messageComposerConfiguration.AIIconURL\"\n [hideVoiceRecording]=\"messageComposerConfiguration.hideVoiceRecording\"\n [hideLayoutMode]=\"messageComposerConfiguration.hideLayoutMode\"\n [AIOptionsStyle]=\"messageComposerConfiguration.AIOptionsStyle\"\n [backdropStyle]=\"messageComposerConfiguration.backdropStyle\"\n [mediaRecorderStyle]=\"messageComposerConfiguration.mediaRecorderStyle\"\n [voiceRecordingCloseIconURL]=\"messageComposerConfiguration.voiceRecordingCloseIconURL\"\n [voiceRecordingStartIconURL]=\"messageComposerConfiguration.voiceRecordingStartIconURL\"\n [voiceRecordingStopIconURL]=\"messageComposerConfiguration.voiceRecordingStopIconURL\"\n [voiceRecordingSubmitIconURL]=\"messageComposerConfiguration.voiceRecordingSubmitIconURL\"\n [disableSoundForMessages]=\"disableSoundForMessages\"\n >\n </cometchat-message-composer>\n </div>\n <ng-container *ngIf=\"!hideMessageComposer && messageComposerView\">\n <ng-container\n *ngTemplateOutlet=\"messageComposerView;context:{ user: user, group: group,parentMessage:parentMessage }\">\n </ng-container>\n </ng-container>\n\n</div>\n", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-threaded-messages__wrapper{display:flex;flex-direction:column;height:100%;overflow-y:auto}.cc-threaded-messages__header{height:8%;width:100%;display:flex;padding:16px;align-items:flex-start}.cc-threaded-messages__close{display:flex;align-items:center}.cc-threaded-messages__title{display:flex;align-items:center;justify-content:center;width:100%}.cc-threaded-messages__bubble-view{width:100%}.cc-threaded-messages__header{flex:0 0 auto}.cc-threaded-messages__list{flex:1 1 auto;min-height:65%}.cc-threaded-messages__composer{flex:0 0 auto;min-height:80px}\n"] }]
|
|
15564
15711
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { onClose: [{
|
|
15565
15712
|
type: Input
|
|
15566
15713
|
}], onError: [{
|
|
@@ -15577,6 +15724,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15577
15724
|
type: Input
|
|
15578
15725
|
}], messageListConfiguration: [{
|
|
15579
15726
|
type: Input
|
|
15727
|
+
}], userMemberWrapperConfiguration: [{
|
|
15728
|
+
type: Input
|
|
15580
15729
|
}], messageComposerConfiguration: [{
|
|
15581
15730
|
type: Input
|
|
15582
15731
|
}], threadedMessagesStyle: [{
|
|
@@ -15587,6 +15736,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15587
15736
|
type: Input
|
|
15588
15737
|
}], messageListView: [{
|
|
15589
15738
|
type: Input
|
|
15739
|
+
}], disableSoundForMessages: [{
|
|
15740
|
+
type: Input
|
|
15590
15741
|
}] } });
|
|
15591
15742
|
|
|
15592
15743
|
/**
|
|
@@ -16060,7 +16211,15 @@ class CometChatDetailsComponent {
|
|
|
16060
16211
|
this.userListenerId = "userlist_" + new Date().getTime();
|
|
16061
16212
|
this.checkStatusType = () => {
|
|
16062
16213
|
var _a, _b;
|
|
16063
|
-
|
|
16214
|
+
if (this.user) {
|
|
16215
|
+
let userStatusVisibility = !this.disableUsersPresence && !new MessageUtils().getUserStatusVisibility(this.user);
|
|
16216
|
+
return userStatusVisibility ? this.statusColor[(_a = this.user) === null || _a === void 0 ? void 0 : _a.getStatus()] : null;
|
|
16217
|
+
}
|
|
16218
|
+
else if (this.group) {
|
|
16219
|
+
return this.statusColor[(_b = this.group) === null || _b === void 0 ? void 0 : _b.getType()];
|
|
16220
|
+
}
|
|
16221
|
+
else
|
|
16222
|
+
return null;
|
|
16064
16223
|
};
|
|
16065
16224
|
this.viewMembers = () => {
|
|
16066
16225
|
this.openViewMembersPage = !this.openViewMembersPage;
|
|
@@ -16090,7 +16249,8 @@ class CometChatDetailsComponent {
|
|
|
16090
16249
|
}
|
|
16091
16250
|
};
|
|
16092
16251
|
this.subtitleStyle = () => {
|
|
16093
|
-
|
|
16252
|
+
let hideUserStatus = this.user ? new MessageUtils().getUserStatusVisibility(this.user) : true;
|
|
16253
|
+
if (!this.disableUsersPresence && !hideUserStatus) {
|
|
16094
16254
|
return {
|
|
16095
16255
|
textFont: this.detailsStyle.subtitleTextFont,
|
|
16096
16256
|
textColor: this.themeService.theme.palette.getPrimary()
|
|
@@ -16241,7 +16401,13 @@ class CometChatDetailsComponent {
|
|
|
16241
16401
|
var _a;
|
|
16242
16402
|
const count = (_a = this.group) === null || _a === void 0 ? void 0 : _a.getMembersCount();
|
|
16243
16403
|
const membersText = localize(count > 1 ? "MEMBERS" : "MEMBER");
|
|
16244
|
-
|
|
16404
|
+
if (this.user) {
|
|
16405
|
+
let userStatusVisibility = !this.disableUsersPresence && !this.user.getBlockedByMe() && !this.user.getHasBlockedMe();
|
|
16406
|
+
this.subtitleText = userStatusVisibility ? this.user.getStatus() : "";
|
|
16407
|
+
}
|
|
16408
|
+
else if (this.group) {
|
|
16409
|
+
this.subtitleText = `${count} ${membersText}`;
|
|
16410
|
+
}
|
|
16245
16411
|
this.ref.detectChanges();
|
|
16246
16412
|
}
|
|
16247
16413
|
getButtonStyle(option) {
|
|
@@ -16420,6 +16586,7 @@ class CometChatDetailsComponent {
|
|
|
16420
16586
|
CometChat.blockUsers([this.user.getUid()]).then(() => {
|
|
16421
16587
|
this.user.setBlockedByMe(true);
|
|
16422
16588
|
CometChatUserEvents.ccUserBlocked.next(this.user);
|
|
16589
|
+
this.updateSubtitle();
|
|
16423
16590
|
this.getTemplate();
|
|
16424
16591
|
})
|
|
16425
16592
|
.catch((error) => {
|
|
@@ -16436,6 +16603,7 @@ class CometChatDetailsComponent {
|
|
|
16436
16603
|
this.user.setBlockedByMe(false);
|
|
16437
16604
|
CometChatUserEvents.ccUserUnblocked.next(this.user);
|
|
16438
16605
|
this.getTemplate();
|
|
16606
|
+
this.updateSubtitle();
|
|
16439
16607
|
})
|
|
16440
16608
|
.catch((error) => {
|
|
16441
16609
|
if (this.onError) {
|
|
@@ -16587,7 +16755,7 @@ class CometChatDetailsComponent {
|
|
|
16587
16755
|
}
|
|
16588
16756
|
}
|
|
16589
16757
|
CometChatDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatDetailsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
16590
|
-
CometChatDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatDetailsComponent, selector: "cometchat-details", inputs: { group: "group", user: "user", title: "title", closeButtonIconURL: "closeButtonIconURL", hideProfile: "hideProfile", subtitleView: "subtitleView", customProfileView: "customProfileView", data: "data", disableUsersPresence: "disableUsersPresence", privateGroupIcon: "privateGroupIcon", protectedGroupIcon: "protectedGroupIcon", passwordGroupIcon: "passwordGroupIcon", onError: "onError", onClose: "onClose", leaveGroupConfirmButtonText: "leaveGroupConfirmButtonText", leaveGroupCancelButtonText: "leaveGroupCancelButtonText", leaveGroupDialogMessage: "leaveGroupDialogMessage", leaveGroupDialogStyle: "leaveGroupDialogStyle", deleteGroupConfirmButtonText: "deleteGroupConfirmButtonText", deleteGroupDialogMessage: "deleteGroupDialogMessage", deleteGroupCancelButtonText: "deleteGroupCancelButtonText", deleteGroupDialogStyle: "deleteGroupDialogStyle", transferOwnershipConfirmButtonText: "transferOwnershipConfirmButtonText", transferOwnershipDialogMessage: "transferOwnershipDialogMessage", transferOwnershipCancelButtonText: "transferOwnershipCancelButtonText", transferOwnershipDialogStyle: "transferOwnershipDialogStyle", addMembersConfiguration: "addMembersConfiguration", bannedMembersConfiguration: "bannedMembersConfiguration", groupMembersConfiguration: "groupMembersConfiguration", transferOwnershipConfiguration: "transferOwnershipConfiguration", statusIndicatorStyle: "statusIndicatorStyle", backdropStyle: "backdropStyle", avatarStyle: "avatarStyle", detailsStyle: "detailsStyle", listItemStyle: "listItemStyle" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-details__wrapper\" *ngIf=\"user || group\"\n [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-details__header\">\n <cometchat-label [text]=\"title\"\n [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n <cometchat-button [iconURL]=\"closeButtonIconURL\"\n class=\"cc-details__close-button\" [buttonStyle]=\"closeButtonStyle\"\n (cc-button-clicked)=\"onCloseDetails()\"></cometchat-button>\n </div>\n <div class=\"cc-details\" [ngStyle]=\"marginStyle()\">\n <div class=\"cc-details__profile\" *ngIf=\"!hideProfile\">\n <cometchat-list-item *ngIf=\"!customProfileView;else listitem\"\n [avatarName]=\"user?.getName() ?? this.group?.getName()\"\n [avatarURL]=\"this.user?.getAvatar() ?? this.group?.getIcon()\"\n [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\"\n [statusIndicatorIcon]=\"checkGroupType()\"\n [title]=\"this.user?.getName() ?? this.group?.getName()\"\n [hideSeparator]=\"false\" [statusIndicatorStyle]=\"statusIndicatorStyle\"\n [avatarStyle]=\"avatarStyle\">\n <div slot=\"subtitleView\">\n <div *ngIf=\"!subtitleView; else subtitle\">\n <cometchat-label [text]=\"subtitleText\"\n [labelStyle]=\"subtitleStyle()\">\n </cometchat-label>\n </div>\n <ng-template #subtitle>\n <ng-container\n *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n </ng-container>\n </ng-template>\n </div>\n </cometchat-list-item>\n </div>\n <div class=\"cc-details__section-list\"\n *ngIf=\"defaultTemplate && defaultTemplate.length > 0\">\n <div class=\"cc-details__section\" *ngFor=\"let item of defaultTemplate\">\n <div class=\"cc-details__section-separator\" *ngIf=\"item.title\">\n <cometchat-label [text]=\"item.title\"\n [labelStyle]=\"getSectionHeaderStyle(item)\"></cometchat-label>\n </div>\n <div class=\"cc-details__options-wrapper\"\n *ngIf=\"getTemplateOptions(item)\">\n <div class=\"cc-details__options\"\n *ngFor=\"let option of getTemplateOptions(item)\">\n <div class=\"cc-details__option\"\n *ngIf=\"!getCustomOptionView(option);else customView\"\n (click)=\"onOptionClick(option)\">\n <div class=\"cc-details__option-title\">\n <cometchat-button [text]=\"option.title\"\n [buttonStyle]=\"getButtonStyle(option)\"></cometchat-button>\n <div class=\"cc-details__option-tail\" *ngIf=\"option?.tail\">\n <ng-container *ngTemplateOutlet=\"option?.tail\"></ng-container>\n </div>\n </div>\n <cometchat-divider\n [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n </div>\n <ng-template #customView>\n <ng-container *ngTemplateOutlet=\"getCustomOptionView(option)\">\n </ng-container>\n </ng-template>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"customProfileView\">\n </ng-container>\n</ng-template>\n<div class=\"cc-details__view\" *ngIf=\"openAddMembersPage\">\n <cometchat-add-members\n [titleAlignment]=\"addMembersConfiguration?.titleAlignment!\"\n [listItemStyle]=\"addMembersConfiguration?.listItemStyle!\"\n [addMembersStyle]=\"addMembersConfiguration?.addMembersStyle!\"\n [avatarStyle]=\"addMembersConfiguration?.avatarStyle!\"\n [statusIndicatorStyle]=\"addMembersConfiguration?.statusIndicatorStyle!\"\n [loadingStateView]=\"addMembersConfiguration?.loadingStateView!\"\n [loadingIconURL]=\"addMembersConfiguration?.loadingIconURL!\"\n [errorStateView]=\"addMembersConfiguration?.errorStateView\"\n [emptyStateView]=\"addMembersConfiguration?.emptyStateView\"\n [onSelect]=\"addMembersConfiguration?.onSelect!\"\n [onError]=\"addMembersConfiguration?.onError!\"\n [hideError]=\"addMembersConfiguration?.hideError!\"\n [hideSearch]=\"addMembersConfiguration?.hideSearch!\"\n [searchIconURL]=\"addMembersConfiguration?.searchIconURL!\"\n [selectionMode]=\"addMembersConfiguration?.selectionMode!\"\n [hideSeparator]=\"addMembersConfiguration?.hideSeparator!\"\n [showBackButton]=\"addMembersConfiguration?.showBackButton!\"\n [showSectionHeader]=\"addMembersConfiguration?.showSectionHeader!\"\n [onAddMembersButtonClick]=\"addMembersConfiguration?.onAddMembersButtonClick!\"\n [usersConfiguration]=\"addMembersConfiguration?.usersConfiguration\"\n [backButtonIconURL]=\"addMembersConfiguration?.backButtonIconURL!\"\n [sectionHeaderField]=\"addMembersConfiguration?.sectionHeaderField!\"\n [closeButtonIconURL]=\"addMembersConfiguration?.closeButtonIconURL!\"\n [options]=\"addMembersConfiguration?.options!\"\n [menu]=\"addMembersConfiguration?.menu\"\n [disableUsersPresence]=\"addMembersConfiguration?.disableUsersPresence!\"\n [subtitleView]=\"addMembersConfiguration?.subtitleView\" [group]=\"group\"\n [selectionMode]=\"selectionmodeEnum\"\n [onClose]=\"addMembersConfiguration?.onClose || onCloseDetails\"\n [onBack]=\"addMembersConfiguration?.onBack || addMembers\"\n [usersRequestBuilder]=\"addMembersConfiguration?.usersRequestBuilder!\"\n [searchRequestBuilder]=\"addMembersConfiguration?.usersRequestBuilder!\"\n [listItemView]=\"addMembersConfiguration?.listItemView\">\n </cometchat-add-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openBannedMembersPage\">\n <cometchat-banned-members\n [listItemView]=\"bannedMembersConfiguration?.listItemView\"\n [bannedMembersRequestBuilder]=\"bannedMembersConfiguration?.bannedMembersRequestBuilder!\"\n [searchRequestBuilder]=\"bannedMembersConfiguration?.searchRequestBuilder!\"\n [titleAlignment]=\"bannedMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"bannedMembersConfiguration.listItemStyle\"\n [bannedMembersStyle]=\"bannedMembersConfiguration.bannedMembersStyle\"\n [avatarStyle]=\"bannedMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"bannedMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"bannedMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"bannedMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"bannedMembersConfiguration.errorStateView\"\n [emptyStateView]=\"bannedMembersConfiguration.emptyStateView\"\n [onSelect]=\"bannedMembersConfiguration.onSelect\"\n [onError]=\"bannedMembersConfiguration.onError\"\n [hideError]=\"bannedMembersConfiguration.hideError\"\n [hideSearch]=\"bannedMembersConfiguration.hideSearch\"\n [searchIconURL]=\"bannedMembersConfiguration.searchIconURL\"\n [selectionMode]=\"bannedMembersConfiguration.selectionMode\"\n [hideSeparator]=\"bannedMembersConfiguration.hideSeparator\"\n [showBackButton]=\"bannedMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"bannedMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"bannedMembersConfiguration.closeButtonIconURL\"\n [options]=\"bannedMembersConfiguration.options\"\n [menu]=\"bannedMembersConfiguration.menu\"\n [disableUsersPresence]=\"bannedMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"bannedMembersConfiguration.subtitleView\" [group]=\"group\"\n [onClose]=\"onCloseDetails\"\n [onBack]=\"bannedMembersConfiguration.onBack || bannedMembers\">\n </cometchat-banned-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openViewMembersPage\">\n <cometchat-group-members\n [groupMembersRequestBuilder]=\"groupMembersConfiguration?.groupMembersRequestBuilder!\"\n [searchRequestBuilder]=\"groupMembersConfiguration?.searchRequestBuilder!\"\n [titleAlignment]=\"groupMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"groupMembersConfiguration.listItemStyle\"\n [groupMembersStyle]=\"groupMembersConfiguration.groupMembersStyle\"\n [avatarStyle]=\"groupMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"groupMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"groupMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"groupMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"groupMembersConfiguration.errorStateView\"\n [emptyStateView]=\"groupMembersConfiguration.emptyStateView\"\n [onSelect]=\"groupMembersConfiguration.onSelect\"\n [onError]=\"groupMembersConfiguration.onError\"\n [hideError]=\"groupMembersConfiguration.hideError\"\n [hideSearch]=\"groupMembersConfiguration.hideSearch\"\n [searchIconURL]=\"groupMembersConfiguration.searchIconURL\"\n [selectionMode]=\"groupMembersConfiguration.selectionMode\"\n [backdropStyle]=\"groupMembersConfiguration.backdropStyle\"\n [hideSeparator]=\"groupMembersConfiguration.hideSeparator\"\n [showBackButton]=\"groupMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"groupMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"groupMembersConfiguration.closeButtonIconURL\"\n [options]=\"groupMembersConfiguration.options\"\n [menu]=\"groupMembersConfiguration.menu\"\n [disableUsersPresence]=\"groupMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"groupMembersConfiguration.subtitleView\"\n [groupScopeStyle]=\"groupMembersConfiguration.groupScopeStyle\"\n [group]=\"group\"\n [onClose]=\" groupMembersConfiguration.onClose || onCloseDetails\"\n [onBack]=\"groupMembersConfiguration.onBack || viewMembers\">\n </cometchat-group-members>\n</div>\n\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\"\n *ngIf=\"confirmLeaveGroupModal\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"leaveGroupDialogMessage\"\n [cancelButtonText]=\"leaveGroupCancelButtonText\"\n [confirmButtonText]=\"leaveGroupConfirmButtonText\"\n (cc-confirm-clicked)=\"onLeaveClick()\" (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"leaveGroupDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"showTransferDialog\">\n <cometchat-confirm-dialog [title]=\"''\"\n [messageText]=\"transferOwnershipDialogMessage\"\n [cancelButtonText]=\"transferOwnershipCancelButtonText\"\n [confirmButtonText]=\"transferOwnershipConfirmButtonText\"\n (cc-confirm-clicked)=\"onTransferClick()\"\n (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"transferOwnershipDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\"\n *ngIf=\"openTransferOwnershipModal\">\n <cometchat-transfer-ownership\n [groupMembersRequestBuilder]=\"transferOwnershipConfiguration?.groupMembersRequestBuilder\"\n [transferOwnershipStyle]=\"transferOwnershipConfiguration.transferOwnershipStyle\"\n [onTransferOwnership]=\"transferOwnershipConfiguration.onTransferOwnership\"\n [titleAlignment]=\"transferOwnershipConfiguration.titleAlignment\"\n [listItemStyle]=\"transferOwnershipConfiguration.listItemStyle\"\n [avatarStyle]=\"transferOwnershipConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"transferOwnershipConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"transferOwnershipConfiguration.loadingStateView\"\n [loadingIconURL]=\"transferOwnershipConfiguration.loadingIconURL\"\n [errorStateView]=\"transferOwnershipConfiguration.errorStateView\"\n [emptyStateView]=\"transferOwnershipConfiguration.emptyStateView\"\n [onError]=\"transferOwnershipConfiguration.onError\"\n [hideSearch]=\"transferOwnershipConfiguration.hideSearch\"\n [searchIconURL]=\"transferOwnershipConfiguration.searchIconURL\"\n [hideSeparator]=\"transferOwnershipConfiguration.hideSeparator\"\n [closeButtonIconURL]=\"transferOwnershipConfiguration.closeButtonIconURL\"\n [options]=\"transferOwnershipConfiguration.options\"\n [disableUsersPresence]=\"transferOwnershipConfiguration.disableUsersPresence\"\n [subtitleView]=\"transferOwnershipConfiguration.subtitleView\" [group]=\"group\"\n [onClose]=\"transferOwnershipConfiguration.onClose || openTransferOwnership\">\n </cometchat-transfer-ownership>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"deleteGroupModal\">\n <cometchat-confirm-dialog [title]=\"''\"\n [messageText]=\"deleteGroupDialogMessage\"\n [cancelButtonText]=\"deleteGroupCancelButtonText\"\n [confirmButtonText]=\"deleteGroupConfirmButtonText\"\n (cc-confirm-clicked)=\"deleteGroup()\" (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"deleteGroupDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-details__wrapper{padding:8px;border-radius:5px;height:100%;overflow:hidden}.cc-details__profile{margin-bottom:50px;height:8%}.cc-details__section-list{height:84%;width:100%;overflow-y:auto;overflow-x:hidden}.cc-details__header{display:flex;justify-content:center;align-items:center;margin-bottom:30px}.cc-details__close-button{position:absolute;right:20px}.cc-details__section{margin-bottom:32px}.cc-details__section-separator{margin-bottom:16px;padding-left:6px;height:5%}.cc-details__options-wrapper{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.cc-details__option{display:flex;flex-direction:column;justify-content:space-evenly;min-height:50px}.cc-details__option-title{padding-bottom:12px;display:flex;align-items:center;justify-content:space-between}.cc-details__view{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-details__section-list::-webkit-scrollbar{background:transparent;width:8px}.cc-details__section-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.cc-details__leavedialog,.cc-details__transferownership{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:-moz-fit-content;height:fit-content;width:100%;z-index:2}\n"], components: [{ type: CometChatAddMembersComponent, selector: "cometchat-add-members", inputs: ["usersRequestBuilder", "searchRequestBuilder", "subtitleView", "listItemView", "disableUsersPresence", "menu", "options", "backButtonIconURL", "closeButtonIconURL", "showBackButton", "hideSeparator", "selectionMode", "searchPlaceholder", "hideError", "searchIconURL", "hideSearch", "title", "onError", "onBack", "onClose", "onSelect", "buttonText", "group", "emptyStateView", "errorStateView", "loadingIconURL", "listItemStyle", "showSectionHeader", "sectionHeaderField", "loadingStateView", "emptyStateText", "errorStateText", "onAddMembersButtonClick", "titleAlignment", "addMembersStyle", "StatusIndicatorStyle", "avatarStyle"] }, { type: CometChatBannedMembersComponent, selector: "cometchat-banned-members", inputs: ["bannedMembersRequestBuilder", "searchRequestBuilder", "subtitleView", "listItemView", "disableUsersPresence", "menu", "options", "backButtonIconURL", "closeButtonIconURL", "showBackButton", "hideSeparator", "selectionMode", "searchPlaceholder", "searchIconURL", "hideSearch", "title", "onError", "onSelect", "onBack", "onClose", "group", "emptyStateView", "errorStateView", "loadingIconURL", "loadingStateView", "emptyStateText", "errorStateText", "titleAlignment", "unbanIconURL", "statusIndicatorStyle", "avatarStyle", "bannedMembersStyle", "listItemStyle"] }, { type: CometChatGroupMembersComponent, selector: "cometchat-group-members", inputs: ["groupMemberRequestBuilder", "searchRequestBuilder", "subtitleView", "listItemView", "tailView", "disableUsersPresence", "menu", "options", "backButtonIconURL", "closeButtonIconURL", "showBackButton", "hideSeparator", "selectionMode", "searchPlaceholder", "searchIconURL", "hideSearch", "title", "onError", "backdropStyle", "onBack", "onClose", "onSelect", "group", "emptyStateView", "errorStateView", "loadingIconURL", "loadingStateView", "emptyStateText", "errorStateText", "titleAlignment", "dropdownIconURL", "statusIndicatorStyle", "avatarStyle", "groupMembersStyle", "groupScopeStyle", "listItemStyle", "onItemClick", "onEmpty", "userPresencePlacement", "disableLoadingState", "searchKeyword"] }, { type: CometChatTransferOwnershipComponent, selector: "cometchat-transfer-ownership", inputs: ["groupMemberRequestBuilder", "searchRequestBuilder", "subtitleView", "listItemView", "disableUsersPresence", "options", "closeButtonIconURL", "hideSeparator", "searchPlaceholder", "searchIconURL", "hideSearch", "title", "onError", "onClose", "onTransferOwnership", "group", "emptyStateView", "errorStateView", "loadingIconURL", "loadingStateView", "emptyStateText", "errorStateText", "statusIndicatorStyle", "transferOwnershipStyle", "transferButtonText", "cancelButtonText", "avatarStyle", "groupMembersStyle", "listItemStyle", "titleAlignment"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
16758
|
+
CometChatDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatDetailsComponent, selector: "cometchat-details", inputs: { group: "group", user: "user", title: "title", closeButtonIconURL: "closeButtonIconURL", hideProfile: "hideProfile", subtitleView: "subtitleView", customProfileView: "customProfileView", data: "data", disableUsersPresence: "disableUsersPresence", privateGroupIcon: "privateGroupIcon", protectedGroupIcon: "protectedGroupIcon", passwordGroupIcon: "passwordGroupIcon", onError: "onError", onClose: "onClose", leaveGroupConfirmButtonText: "leaveGroupConfirmButtonText", leaveGroupCancelButtonText: "leaveGroupCancelButtonText", leaveGroupDialogMessage: "leaveGroupDialogMessage", leaveGroupDialogStyle: "leaveGroupDialogStyle", deleteGroupConfirmButtonText: "deleteGroupConfirmButtonText", deleteGroupDialogMessage: "deleteGroupDialogMessage", deleteGroupCancelButtonText: "deleteGroupCancelButtonText", deleteGroupDialogStyle: "deleteGroupDialogStyle", transferOwnershipConfirmButtonText: "transferOwnershipConfirmButtonText", transferOwnershipDialogMessage: "transferOwnershipDialogMessage", transferOwnershipCancelButtonText: "transferOwnershipCancelButtonText", transferOwnershipDialogStyle: "transferOwnershipDialogStyle", addMembersConfiguration: "addMembersConfiguration", bannedMembersConfiguration: "bannedMembersConfiguration", groupMembersConfiguration: "groupMembersConfiguration", transferOwnershipConfiguration: "transferOwnershipConfiguration", statusIndicatorStyle: "statusIndicatorStyle", backdropStyle: "backdropStyle", avatarStyle: "avatarStyle", detailsStyle: "detailsStyle", listItemStyle: "listItemStyle" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-details__wrapper\" *ngIf=\"user || group\"\n [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-details__header\">\n <cometchat-label [text]=\"title\"\n [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n <cometchat-button [iconURL]=\"closeButtonIconURL\"\n class=\"cc-details__close-button\" [buttonStyle]=\"closeButtonStyle\"\n (cc-button-clicked)=\"onCloseDetails()\"></cometchat-button>\n </div>\n <div class=\"cc-details\" [ngStyle]=\"marginStyle()\">\n <div class=\"cc-details__profile\" *ngIf=\"!hideProfile\">\n <cometchat-list-item *ngIf=\"!customProfileView;else listitem\"\n [avatarName]=\"user?.getName() ?? this.group?.getName()\"\n [avatarURL]=\"this.user?.getAvatar() ?? this.group?.getIcon()\"\n [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\"\n [statusIndicatorIcon]=\"checkGroupType()\"\n [title]=\"this.user?.getName() ?? this.group?.getName()\"\n [hideSeparator]=\"false\" [statusIndicatorStyle]=\"statusIndicatorStyle\"\n [avatarStyle]=\"avatarStyle\">\n <div slot=\"subtitleView\">\n <div *ngIf=\"!subtitleView; else subtitle\">\n <cometchat-label [text]=\"subtitleText\"\n [labelStyle]=\"subtitleStyle()\">\n </cometchat-label>\n </div>\n <ng-template #subtitle>\n <ng-container\n *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n </ng-container>\n </ng-template>\n </div>\n </cometchat-list-item>\n </div>\n <div class=\"cc-details__section-list\"\n *ngIf=\"defaultTemplate && defaultTemplate.length > 0\">\n <div class=\"cc-details__section\" *ngFor=\"let item of defaultTemplate\">\n <div class=\"cc-details__section-separator\" *ngIf=\"item.title\">\n <cometchat-label [text]=\"item.title\"\n [labelStyle]=\"getSectionHeaderStyle(item)\"></cometchat-label>\n </div>\n <div class=\"cc-details__options-wrapper\"\n *ngIf=\"getTemplateOptions(item)\">\n <div class=\"cc-details__options\"\n *ngFor=\"let option of getTemplateOptions(item)\">\n <div class=\"cc-details__option\"\n *ngIf=\"!getCustomOptionView(option);else customView\"\n (click)=\"onOptionClick(option)\">\n <div class=\"cc-details__option-title\">\n <cometchat-button [text]=\"option.title\"\n [buttonStyle]=\"getButtonStyle(option)\"></cometchat-button>\n <div class=\"cc-details__option-tail\" *ngIf=\"option?.tail\">\n <ng-container *ngTemplateOutlet=\"option?.tail\"></ng-container>\n </div>\n </div>\n <cometchat-divider\n [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n </div>\n <ng-template #customView>\n <ng-container *ngTemplateOutlet=\"getCustomOptionView(option)\">\n </ng-container>\n </ng-template>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"customProfileView\">\n </ng-container>\n</ng-template>\n<div class=\"cc-details__view\" *ngIf=\"openAddMembersPage\">\n <cometchat-add-members\n [titleAlignment]=\"addMembersConfiguration?.titleAlignment!\"\n [listItemStyle]=\"addMembersConfiguration?.listItemStyle!\"\n [addMembersStyle]=\"addMembersConfiguration?.addMembersStyle!\"\n [avatarStyle]=\"addMembersConfiguration?.avatarStyle!\"\n [statusIndicatorStyle]=\"addMembersConfiguration?.statusIndicatorStyle!\"\n [loadingStateView]=\"addMembersConfiguration?.loadingStateView!\"\n [loadingIconURL]=\"addMembersConfiguration?.loadingIconURL!\"\n [errorStateView]=\"addMembersConfiguration?.errorStateView\"\n [emptyStateView]=\"addMembersConfiguration?.emptyStateView\"\n [onSelect]=\"addMembersConfiguration?.onSelect!\"\n [onError]=\"addMembersConfiguration?.onError!\"\n [hideError]=\"addMembersConfiguration?.hideError!\"\n [hideSearch]=\"addMembersConfiguration?.hideSearch!\"\n [searchIconURL]=\"addMembersConfiguration?.searchIconURL!\"\n [selectionMode]=\"addMembersConfiguration?.selectionMode!\"\n [hideSeparator]=\"addMembersConfiguration?.hideSeparator!\"\n [showBackButton]=\"addMembersConfiguration?.showBackButton!\"\n [showSectionHeader]=\"addMembersConfiguration?.showSectionHeader!\"\n [onAddMembersButtonClick]=\"addMembersConfiguration?.onAddMembersButtonClick!\"\n [usersConfiguration]=\"addMembersConfiguration?.usersConfiguration\"\n [backButtonIconURL]=\"addMembersConfiguration?.backButtonIconURL!\"\n [sectionHeaderField]=\"addMembersConfiguration?.sectionHeaderField!\"\n [closeButtonIconURL]=\"addMembersConfiguration?.closeButtonIconURL!\"\n [options]=\"addMembersConfiguration?.options!\"\n [menu]=\"addMembersConfiguration?.menu\"\n [disableUsersPresence]=\"addMembersConfiguration?.disableUsersPresence!\"\n [subtitleView]=\"addMembersConfiguration?.subtitleView\" [group]=\"group\"\n [selectionMode]=\"selectionmodeEnum\"\n [onClose]=\"addMembersConfiguration?.onClose || onCloseDetails\"\n [onBack]=\"addMembersConfiguration?.onBack || addMembers\"\n [usersRequestBuilder]=\"addMembersConfiguration?.usersRequestBuilder!\"\n [searchRequestBuilder]=\"addMembersConfiguration?.usersRequestBuilder!\"\n [listItemView]=\"addMembersConfiguration?.listItemView\">\n </cometchat-add-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openBannedMembersPage\">\n <cometchat-banned-members\n [listItemView]=\"bannedMembersConfiguration?.listItemView\"\n [bannedMembersRequestBuilder]=\"bannedMembersConfiguration?.bannedMembersRequestBuilder!\"\n [searchRequestBuilder]=\"bannedMembersConfiguration?.searchRequestBuilder!\"\n [titleAlignment]=\"bannedMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"bannedMembersConfiguration.listItemStyle\"\n [bannedMembersStyle]=\"bannedMembersConfiguration.bannedMembersStyle\"\n [avatarStyle]=\"bannedMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"bannedMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"bannedMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"bannedMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"bannedMembersConfiguration.errorStateView\"\n [emptyStateView]=\"bannedMembersConfiguration.emptyStateView\"\n [onSelect]=\"bannedMembersConfiguration.onSelect\"\n [onError]=\"bannedMembersConfiguration.onError\"\n [hideError]=\"bannedMembersConfiguration.hideError\"\n [hideSearch]=\"bannedMembersConfiguration.hideSearch\"\n [searchIconURL]=\"bannedMembersConfiguration.searchIconURL\"\n [selectionMode]=\"bannedMembersConfiguration.selectionMode\"\n [hideSeparator]=\"bannedMembersConfiguration.hideSeparator\"\n [showBackButton]=\"bannedMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"bannedMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"bannedMembersConfiguration.closeButtonIconURL\"\n [options]=\"bannedMembersConfiguration.options\"\n [menu]=\"bannedMembersConfiguration.menu\"\n [disableUsersPresence]=\"bannedMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"bannedMembersConfiguration.subtitleView\" [group]=\"group\"\n [onClose]=\"onCloseDetails\"\n [onBack]=\"bannedMembersConfiguration.onBack || bannedMembers\">\n </cometchat-banned-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openViewMembersPage\">\n <cometchat-group-members\n [groupMembersRequestBuilder]=\"groupMembersConfiguration?.groupMembersRequestBuilder!\"\n [searchRequestBuilder]=\"groupMembersConfiguration?.searchRequestBuilder!\"\n [titleAlignment]=\"groupMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"groupMembersConfiguration.listItemStyle\"\n [groupMembersStyle]=\"groupMembersConfiguration.groupMembersStyle\"\n [avatarStyle]=\"groupMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"groupMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"groupMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"groupMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"groupMembersConfiguration.errorStateView\"\n [emptyStateView]=\"groupMembersConfiguration.emptyStateView\"\n [onSelect]=\"groupMembersConfiguration.onSelect\"\n [onError]=\"groupMembersConfiguration.onError\"\n [hideError]=\"groupMembersConfiguration.hideError\"\n [hideSearch]=\"groupMembersConfiguration.hideSearch\"\n [searchIconURL]=\"groupMembersConfiguration.searchIconURL\"\n [selectionMode]=\"groupMembersConfiguration.selectionMode\"\n [backdropStyle]=\"groupMembersConfiguration.backdropStyle\"\n [hideSeparator]=\"groupMembersConfiguration.hideSeparator\"\n [showBackButton]=\"groupMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"groupMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"groupMembersConfiguration.closeButtonIconURL\"\n [options]=\"groupMembersConfiguration.options\"\n [menu]=\"groupMembersConfiguration.menu\"\n [disableUsersPresence]=\"groupMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"groupMembersConfiguration.subtitleView\"\n [groupScopeStyle]=\"groupMembersConfiguration.groupScopeStyle\"\n [group]=\"group\"\n [onClose]=\" groupMembersConfiguration.onClose || onCloseDetails\"\n [onBack]=\"groupMembersConfiguration.onBack || viewMembers\">\n </cometchat-group-members>\n</div>\n\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\"\n *ngIf=\"confirmLeaveGroupModal\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"leaveGroupDialogMessage\"\n [cancelButtonText]=\"leaveGroupCancelButtonText\"\n [confirmButtonText]=\"leaveGroupConfirmButtonText\"\n (cc-confirm-clicked)=\"onLeaveClick()\" (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"leaveGroupDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"showTransferDialog\">\n <cometchat-confirm-dialog [title]=\"''\"\n [messageText]=\"transferOwnershipDialogMessage\"\n [cancelButtonText]=\"transferOwnershipCancelButtonText\"\n [confirmButtonText]=\"transferOwnershipConfirmButtonText\"\n (cc-confirm-clicked)=\"onTransferClick()\"\n (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"transferOwnershipDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\"\n *ngIf=\"openTransferOwnershipModal\">\n <cometchat-transfer-ownership\n [groupMembersRequestBuilder]=\"transferOwnershipConfiguration?.groupMembersRequestBuilder\"\n [transferOwnershipStyle]=\"transferOwnershipConfiguration.transferOwnershipStyle\"\n [onTransferOwnership]=\"transferOwnershipConfiguration.onTransferOwnership\"\n [titleAlignment]=\"transferOwnershipConfiguration.titleAlignment\"\n [listItemStyle]=\"transferOwnershipConfiguration.listItemStyle\"\n [avatarStyle]=\"transferOwnershipConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"transferOwnershipConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"transferOwnershipConfiguration.loadingStateView\"\n [loadingIconURL]=\"transferOwnershipConfiguration.loadingIconURL\"\n [errorStateView]=\"transferOwnershipConfiguration.errorStateView\"\n [emptyStateView]=\"transferOwnershipConfiguration.emptyStateView\"\n [onError]=\"transferOwnershipConfiguration.onError\"\n [hideSearch]=\"transferOwnershipConfiguration.hideSearch\"\n [searchIconURL]=\"transferOwnershipConfiguration.searchIconURL\"\n [hideSeparator]=\"transferOwnershipConfiguration.hideSeparator\"\n [closeButtonIconURL]=\"transferOwnershipConfiguration.closeButtonIconURL\"\n [options]=\"transferOwnershipConfiguration.options\"\n [disableUsersPresence]=\"transferOwnershipConfiguration.disableUsersPresence\"\n [subtitleView]=\"transferOwnershipConfiguration.subtitleView\" [group]=\"group\"\n [onClose]=\"transferOwnershipConfiguration.onClose || openTransferOwnership\">\n </cometchat-transfer-ownership>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"deleteGroupModal\">\n <cometchat-confirm-dialog [title]=\"''\"\n [messageText]=\"deleteGroupDialogMessage\"\n [cancelButtonText]=\"deleteGroupCancelButtonText\"\n [confirmButtonText]=\"deleteGroupConfirmButtonText\"\n (cc-confirm-clicked)=\"deleteGroup()\" (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"deleteGroupDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-details__wrapper{padding:8px;border-radius:5px;height:100%;overflow:hidden}.cc-details__profile{margin-bottom:50px;height:8%}.cc-details__section-list{height:84%;width:100%;overflow-y:auto;overflow-x:hidden}.cc-details__header{display:flex;justify-content:center;align-items:center;margin-bottom:30px}.cc-details__close-button{position:absolute;right:20px}.cc-details__section{margin-bottom:32px}.cc-details__section-separator{margin-bottom:16px;padding-left:6px;height:5%}.cc-details__options-wrapper{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.cc-details__option{display:flex;flex-direction:column;justify-content:space-evenly;min-height:50px}.cc-details__option-title{padding-bottom:12px;display:flex;align-items:center;justify-content:space-between}.cc-details__view{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-details__section-list::-webkit-scrollbar{background:transparent;width:8px}.cc-details__section-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.cc-details__leavedialog,.cc-details__transferownership{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:-moz-fit-content;height:fit-content;width:100%;z-index:2}\n"], components: [{ type: CometChatAddMembersComponent, selector: "cometchat-add-members", inputs: ["usersRequestBuilder", "searchRequestBuilder", "subtitleView", "listItemView", "disableUsersPresence", "menu", "options", "backButtonIconURL", "closeButtonIconURL", "showBackButton", "hideSeparator", "selectionMode", "searchPlaceholder", "hideError", "searchIconURL", "hideSearch", "title", "onError", "onBack", "onClose", "onSelect", "buttonText", "group", "emptyStateView", "errorStateView", "loadingIconURL", "listItemStyle", "showSectionHeader", "sectionHeaderField", "loadingStateView", "emptyStateText", "errorStateText", "onAddMembersButtonClick", "titleAlignment", "addMembersStyle", "StatusIndicatorStyle", "statusIndicatorStyle", "avatarStyle"] }, { type: CometChatBannedMembersComponent, selector: "cometchat-banned-members", inputs: ["bannedMembersRequestBuilder", "searchRequestBuilder", "subtitleView", "listItemView", "disableUsersPresence", "menu", "options", "backButtonIconURL", "closeButtonIconURL", "showBackButton", "hideSeparator", "selectionMode", "searchPlaceholder", "searchIconURL", "hideSearch", "title", "onError", "onSelect", "onBack", "onClose", "group", "emptyStateView", "errorStateView", "loadingIconURL", "loadingStateView", "emptyStateText", "errorStateText", "titleAlignment", "unbanIconURL", "statusIndicatorStyle", "avatarStyle", "bannedMembersStyle", "listItemStyle"] }, { type: CometChatGroupMembersComponent, selector: "cometchat-group-members", inputs: ["groupMemberRequestBuilder", "searchRequestBuilder", "subtitleView", "listItemView", "tailView", "disableUsersPresence", "menu", "options", "backButtonIconURL", "closeButtonIconURL", "showBackButton", "hideSeparator", "selectionMode", "searchPlaceholder", "searchIconURL", "hideSearch", "title", "onError", "backdropStyle", "onBack", "onClose", "onSelect", "group", "emptyStateView", "errorStateView", "loadingIconURL", "loadingStateView", "emptyStateText", "errorStateText", "titleAlignment", "dropdownIconURL", "statusIndicatorStyle", "avatarStyle", "groupMembersStyle", "groupScopeStyle", "listItemStyle", "onItemClick", "onEmpty", "userPresencePlacement", "disableLoadingState", "searchKeyword"] }, { type: CometChatTransferOwnershipComponent, selector: "cometchat-transfer-ownership", inputs: ["groupMemberRequestBuilder", "searchRequestBuilder", "subtitleView", "listItemView", "disableUsersPresence", "options", "closeButtonIconURL", "hideSeparator", "searchPlaceholder", "searchIconURL", "hideSearch", "title", "onError", "onClose", "onTransferOwnership", "group", "emptyStateView", "errorStateView", "loadingIconURL", "loadingStateView", "emptyStateText", "errorStateText", "statusIndicatorStyle", "transferOwnershipStyle", "transferButtonText", "cancelButtonText", "avatarStyle", "groupMembersStyle", "listItemStyle", "titleAlignment"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
16591
16759
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatDetailsComponent, decorators: [{
|
|
16592
16760
|
type: Component,
|
|
16593
16761
|
args: [{ selector: "cometchat-details", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-details__wrapper\" *ngIf=\"user || group\"\n [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-details__header\">\n <cometchat-label [text]=\"title\"\n [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n <cometchat-button [iconURL]=\"closeButtonIconURL\"\n class=\"cc-details__close-button\" [buttonStyle]=\"closeButtonStyle\"\n (cc-button-clicked)=\"onCloseDetails()\"></cometchat-button>\n </div>\n <div class=\"cc-details\" [ngStyle]=\"marginStyle()\">\n <div class=\"cc-details__profile\" *ngIf=\"!hideProfile\">\n <cometchat-list-item *ngIf=\"!customProfileView;else listitem\"\n [avatarName]=\"user?.getName() ?? this.group?.getName()\"\n [avatarURL]=\"this.user?.getAvatar() ?? this.group?.getIcon()\"\n [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\"\n [statusIndicatorIcon]=\"checkGroupType()\"\n [title]=\"this.user?.getName() ?? this.group?.getName()\"\n [hideSeparator]=\"false\" [statusIndicatorStyle]=\"statusIndicatorStyle\"\n [avatarStyle]=\"avatarStyle\">\n <div slot=\"subtitleView\">\n <div *ngIf=\"!subtitleView; else subtitle\">\n <cometchat-label [text]=\"subtitleText\"\n [labelStyle]=\"subtitleStyle()\">\n </cometchat-label>\n </div>\n <ng-template #subtitle>\n <ng-container\n *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n </ng-container>\n </ng-template>\n </div>\n </cometchat-list-item>\n </div>\n <div class=\"cc-details__section-list\"\n *ngIf=\"defaultTemplate && defaultTemplate.length > 0\">\n <div class=\"cc-details__section\" *ngFor=\"let item of defaultTemplate\">\n <div class=\"cc-details__section-separator\" *ngIf=\"item.title\">\n <cometchat-label [text]=\"item.title\"\n [labelStyle]=\"getSectionHeaderStyle(item)\"></cometchat-label>\n </div>\n <div class=\"cc-details__options-wrapper\"\n *ngIf=\"getTemplateOptions(item)\">\n <div class=\"cc-details__options\"\n *ngFor=\"let option of getTemplateOptions(item)\">\n <div class=\"cc-details__option\"\n *ngIf=\"!getCustomOptionView(option);else customView\"\n (click)=\"onOptionClick(option)\">\n <div class=\"cc-details__option-title\">\n <cometchat-button [text]=\"option.title\"\n [buttonStyle]=\"getButtonStyle(option)\"></cometchat-button>\n <div class=\"cc-details__option-tail\" *ngIf=\"option?.tail\">\n <ng-container *ngTemplateOutlet=\"option?.tail\"></ng-container>\n </div>\n </div>\n <cometchat-divider\n [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n </div>\n <ng-template #customView>\n <ng-container *ngTemplateOutlet=\"getCustomOptionView(option)\">\n </ng-container>\n </ng-template>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"customProfileView\">\n </ng-container>\n</ng-template>\n<div class=\"cc-details__view\" *ngIf=\"openAddMembersPage\">\n <cometchat-add-members\n [titleAlignment]=\"addMembersConfiguration?.titleAlignment!\"\n [listItemStyle]=\"addMembersConfiguration?.listItemStyle!\"\n [addMembersStyle]=\"addMembersConfiguration?.addMembersStyle!\"\n [avatarStyle]=\"addMembersConfiguration?.avatarStyle!\"\n [statusIndicatorStyle]=\"addMembersConfiguration?.statusIndicatorStyle!\"\n [loadingStateView]=\"addMembersConfiguration?.loadingStateView!\"\n [loadingIconURL]=\"addMembersConfiguration?.loadingIconURL!\"\n [errorStateView]=\"addMembersConfiguration?.errorStateView\"\n [emptyStateView]=\"addMembersConfiguration?.emptyStateView\"\n [onSelect]=\"addMembersConfiguration?.onSelect!\"\n [onError]=\"addMembersConfiguration?.onError!\"\n [hideError]=\"addMembersConfiguration?.hideError!\"\n [hideSearch]=\"addMembersConfiguration?.hideSearch!\"\n [searchIconURL]=\"addMembersConfiguration?.searchIconURL!\"\n [selectionMode]=\"addMembersConfiguration?.selectionMode!\"\n [hideSeparator]=\"addMembersConfiguration?.hideSeparator!\"\n [showBackButton]=\"addMembersConfiguration?.showBackButton!\"\n [showSectionHeader]=\"addMembersConfiguration?.showSectionHeader!\"\n [onAddMembersButtonClick]=\"addMembersConfiguration?.onAddMembersButtonClick!\"\n [usersConfiguration]=\"addMembersConfiguration?.usersConfiguration\"\n [backButtonIconURL]=\"addMembersConfiguration?.backButtonIconURL!\"\n [sectionHeaderField]=\"addMembersConfiguration?.sectionHeaderField!\"\n [closeButtonIconURL]=\"addMembersConfiguration?.closeButtonIconURL!\"\n [options]=\"addMembersConfiguration?.options!\"\n [menu]=\"addMembersConfiguration?.menu\"\n [disableUsersPresence]=\"addMembersConfiguration?.disableUsersPresence!\"\n [subtitleView]=\"addMembersConfiguration?.subtitleView\" [group]=\"group\"\n [selectionMode]=\"selectionmodeEnum\"\n [onClose]=\"addMembersConfiguration?.onClose || onCloseDetails\"\n [onBack]=\"addMembersConfiguration?.onBack || addMembers\"\n [usersRequestBuilder]=\"addMembersConfiguration?.usersRequestBuilder!\"\n [searchRequestBuilder]=\"addMembersConfiguration?.usersRequestBuilder!\"\n [listItemView]=\"addMembersConfiguration?.listItemView\">\n </cometchat-add-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openBannedMembersPage\">\n <cometchat-banned-members\n [listItemView]=\"bannedMembersConfiguration?.listItemView\"\n [bannedMembersRequestBuilder]=\"bannedMembersConfiguration?.bannedMembersRequestBuilder!\"\n [searchRequestBuilder]=\"bannedMembersConfiguration?.searchRequestBuilder!\"\n [titleAlignment]=\"bannedMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"bannedMembersConfiguration.listItemStyle\"\n [bannedMembersStyle]=\"bannedMembersConfiguration.bannedMembersStyle\"\n [avatarStyle]=\"bannedMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"bannedMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"bannedMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"bannedMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"bannedMembersConfiguration.errorStateView\"\n [emptyStateView]=\"bannedMembersConfiguration.emptyStateView\"\n [onSelect]=\"bannedMembersConfiguration.onSelect\"\n [onError]=\"bannedMembersConfiguration.onError\"\n [hideError]=\"bannedMembersConfiguration.hideError\"\n [hideSearch]=\"bannedMembersConfiguration.hideSearch\"\n [searchIconURL]=\"bannedMembersConfiguration.searchIconURL\"\n [selectionMode]=\"bannedMembersConfiguration.selectionMode\"\n [hideSeparator]=\"bannedMembersConfiguration.hideSeparator\"\n [showBackButton]=\"bannedMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"bannedMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"bannedMembersConfiguration.closeButtonIconURL\"\n [options]=\"bannedMembersConfiguration.options\"\n [menu]=\"bannedMembersConfiguration.menu\"\n [disableUsersPresence]=\"bannedMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"bannedMembersConfiguration.subtitleView\" [group]=\"group\"\n [onClose]=\"onCloseDetails\"\n [onBack]=\"bannedMembersConfiguration.onBack || bannedMembers\">\n </cometchat-banned-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openViewMembersPage\">\n <cometchat-group-members\n [groupMembersRequestBuilder]=\"groupMembersConfiguration?.groupMembersRequestBuilder!\"\n [searchRequestBuilder]=\"groupMembersConfiguration?.searchRequestBuilder!\"\n [titleAlignment]=\"groupMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"groupMembersConfiguration.listItemStyle\"\n [groupMembersStyle]=\"groupMembersConfiguration.groupMembersStyle\"\n [avatarStyle]=\"groupMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"groupMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"groupMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"groupMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"groupMembersConfiguration.errorStateView\"\n [emptyStateView]=\"groupMembersConfiguration.emptyStateView\"\n [onSelect]=\"groupMembersConfiguration.onSelect\"\n [onError]=\"groupMembersConfiguration.onError\"\n [hideError]=\"groupMembersConfiguration.hideError\"\n [hideSearch]=\"groupMembersConfiguration.hideSearch\"\n [searchIconURL]=\"groupMembersConfiguration.searchIconURL\"\n [selectionMode]=\"groupMembersConfiguration.selectionMode\"\n [backdropStyle]=\"groupMembersConfiguration.backdropStyle\"\n [hideSeparator]=\"groupMembersConfiguration.hideSeparator\"\n [showBackButton]=\"groupMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"groupMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"groupMembersConfiguration.closeButtonIconURL\"\n [options]=\"groupMembersConfiguration.options\"\n [menu]=\"groupMembersConfiguration.menu\"\n [disableUsersPresence]=\"groupMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"groupMembersConfiguration.subtitleView\"\n [groupScopeStyle]=\"groupMembersConfiguration.groupScopeStyle\"\n [group]=\"group\"\n [onClose]=\" groupMembersConfiguration.onClose || onCloseDetails\"\n [onBack]=\"groupMembersConfiguration.onBack || viewMembers\">\n </cometchat-group-members>\n</div>\n\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\"\n *ngIf=\"confirmLeaveGroupModal\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"leaveGroupDialogMessage\"\n [cancelButtonText]=\"leaveGroupCancelButtonText\"\n [confirmButtonText]=\"leaveGroupConfirmButtonText\"\n (cc-confirm-clicked)=\"onLeaveClick()\" (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"leaveGroupDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"showTransferDialog\">\n <cometchat-confirm-dialog [title]=\"''\"\n [messageText]=\"transferOwnershipDialogMessage\"\n [cancelButtonText]=\"transferOwnershipCancelButtonText\"\n [confirmButtonText]=\"transferOwnershipConfirmButtonText\"\n (cc-confirm-clicked)=\"onTransferClick()\"\n (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"transferOwnershipDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\"\n *ngIf=\"openTransferOwnershipModal\">\n <cometchat-transfer-ownership\n [groupMembersRequestBuilder]=\"transferOwnershipConfiguration?.groupMembersRequestBuilder\"\n [transferOwnershipStyle]=\"transferOwnershipConfiguration.transferOwnershipStyle\"\n [onTransferOwnership]=\"transferOwnershipConfiguration.onTransferOwnership\"\n [titleAlignment]=\"transferOwnershipConfiguration.titleAlignment\"\n [listItemStyle]=\"transferOwnershipConfiguration.listItemStyle\"\n [avatarStyle]=\"transferOwnershipConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"transferOwnershipConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"transferOwnershipConfiguration.loadingStateView\"\n [loadingIconURL]=\"transferOwnershipConfiguration.loadingIconURL\"\n [errorStateView]=\"transferOwnershipConfiguration.errorStateView\"\n [emptyStateView]=\"transferOwnershipConfiguration.emptyStateView\"\n [onError]=\"transferOwnershipConfiguration.onError\"\n [hideSearch]=\"transferOwnershipConfiguration.hideSearch\"\n [searchIconURL]=\"transferOwnershipConfiguration.searchIconURL\"\n [hideSeparator]=\"transferOwnershipConfiguration.hideSeparator\"\n [closeButtonIconURL]=\"transferOwnershipConfiguration.closeButtonIconURL\"\n [options]=\"transferOwnershipConfiguration.options\"\n [disableUsersPresence]=\"transferOwnershipConfiguration.disableUsersPresence\"\n [subtitleView]=\"transferOwnershipConfiguration.subtitleView\" [group]=\"group\"\n [onClose]=\"transferOwnershipConfiguration.onClose || openTransferOwnership\">\n </cometchat-transfer-ownership>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"deleteGroupModal\">\n <cometchat-confirm-dialog [title]=\"''\"\n [messageText]=\"deleteGroupDialogMessage\"\n [cancelButtonText]=\"deleteGroupCancelButtonText\"\n [confirmButtonText]=\"deleteGroupConfirmButtonText\"\n (cc-confirm-clicked)=\"deleteGroup()\" (cc-cancel-clicked)=\"onCancelClick()\"\n [confirmDialogStyle]=\"deleteGroupDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-details__wrapper{padding:8px;border-radius:5px;height:100%;overflow:hidden}.cc-details__profile{margin-bottom:50px;height:8%}.cc-details__section-list{height:84%;width:100%;overflow-y:auto;overflow-x:hidden}.cc-details__header{display:flex;justify-content:center;align-items:center;margin-bottom:30px}.cc-details__close-button{position:absolute;right:20px}.cc-details__section{margin-bottom:32px}.cc-details__section-separator{margin-bottom:16px;padding-left:6px;height:5%}.cc-details__options-wrapper{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.cc-details__option{display:flex;flex-direction:column;justify-content:space-evenly;min-height:50px}.cc-details__option-title{padding-bottom:12px;display:flex;align-items:center;justify-content:space-between}.cc-details__view{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-details__section-list::-webkit-scrollbar{background:transparent;width:8px}.cc-details__section-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.cc-details__leavedialog,.cc-details__transferownership{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:-moz-fit-content;height:fit-content;width:100%;z-index:2}\n"] }]
|
|
@@ -16806,6 +16974,9 @@ class CometChatMessagesComponent {
|
|
|
16806
16974
|
this.ref.detectChanges();
|
|
16807
16975
|
};
|
|
16808
16976
|
this.closeThreadView = () => {
|
|
16977
|
+
if (this.threadedMessageConfiguration.onClose) {
|
|
16978
|
+
this.threadedMessageConfiguration.onClose();
|
|
16979
|
+
}
|
|
16809
16980
|
this.threadMessageObject = null;
|
|
16810
16981
|
this.openThreadedMessages = false;
|
|
16811
16982
|
this.ref.detectChanges();
|
|
@@ -17043,10 +17214,10 @@ class CometChatMessagesComponent {
|
|
|
17043
17214
|
}
|
|
17044
17215
|
}
|
|
17045
17216
|
CometChatMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessagesComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
17046
|
-
CometChatMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessagesComponent, selector: "cometchat-messages", inputs: { user: "user", group: "group", currentAskAIBot: "currentAskAIBot", hideMessageComposer: "hideMessageComposer", disableTyping: "disableTyping", messageHeaderConfiguration: "messageHeaderConfiguration", messageListConfiguration: "messageListConfiguration", messageComposerConfiguration: "messageComposerConfiguration", threadedMessageConfiguration: "threadedMessageConfiguration", detailsConfiguration: "detailsConfiguration", customSoundForIncomingMessages: "customSoundForIncomingMessages", customSoundForOutgoingMessages: "customSoundForOutgoingMessages", disableSoundForMessages: "disableSoundForMessages", messagesStyle: "messagesStyle", messageHeaderView: "messageHeaderView", messageComposerView: "messageComposerView", messageListView: "messageListView", hideMessageHeader: "hideMessageHeader", hideDetails: "hideDetails", auxiliaryMenu: "auxiliaryMenu" }, viewQueries: [{ propertyName: "messageComposerRef", first: true, predicate: ["messageComposerRef"], descendants: true }, { propertyName: "messageListRef", first: true, predicate: ["messageListRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-messages__wrapper\">\n <cometchat-backdrop *ngIf=\"showAiBotChat\">\n <aiassist-bot-message-list [user]=\"user\" [group]=\"group\"\n [currentAskAIBot]=\"currentAskAIBot\"></aiassist-bot-message-list>\n </cometchat-backdrop>\n <div class=\"cc-messages\" [ngStyle]=\"chatListStyle()\" *ngIf=\"user || group\">\n <div class=\"cc-messages__header\" *ngIf=\"!hideMessageHeader\">\n <div *ngIf=\"messageHeaderView; else customHeaderView\"\n class=\"cc-messages__header-customview\">\n <ng-container\n *ngTemplateOutlet=\"messageHeaderView;context:{ user: user, group: group }\">\n </ng-container>\n </div>\n <ng-template #customHeaderView>\n <cometchat-message-header [user]=\"user\" [group]=\"group\"\n [subtitleView]=\"messageHeaderConfiguration.subtitleView\"\n [disableUsersPresence]=\"messageHeaderConfiguration.disableUsersPresence\"\n [protectedGroupIcon]=\"messageHeaderConfiguration.protectedGroupIcon\"\n [passwordGroupIcon]=\"messageHeaderConfiguration.passwordGroupIcon\"\n [privateGroupIcon]=\"messageHeaderConfiguration.privateGroupIcon\"\n [menu]=\"headerMenu\"\n [messageHeaderStyle]=\"messageHeaderConfiguration.messageHeaderStyle\"\n [backButtonIconURL]=\"messageHeaderConfiguration.backButtonIconURL\"\n [hideBackButton]=\"messageHeaderConfiguration.hideBackButton\"\n [onError]=\"messageHeaderConfiguration.onError\"\n [onBack]=\"messageHeaderConfiguration.onBack\"\n [listItemStyle]=\"messageHeaderConfiguration.listItemStyle\"\n [statusIndicatorStyle]=\"messageHeaderConfiguration.statusIndicatorStyle\"\n [avatarStyle]=\"messageHeaderConfiguration.avatarStyle\">\n </cometchat-message-header>\n </ng-template>\n </div>\n <div class=\"cc-messages__list\" *ngIf=\"!messageListView\">\n <cometchat-message-list #messageListRef\n [disableReactions]=\"messageListConfiguration?.disableReactions!\"\n [emojiKeyboardStyle]=\"messageListConfiguration?.emojiKeyboardStyle!\"\n [threadIndicatorIcon]=\"messageListConfiguration?.threadIndicatorIcon!\"\n [reactionsConfiguration]=\"messageListConfiguration?.reactionsConfiguration!\"\n [messageInformationConfiguration]=\"\n messageListConfiguration.messageInformationConfiguration\"\n [disableSoundForMessages]=\"disableSoundForMessages\"\n [customSoundForMessages]=\"customSoundForIncomingMessages\"\n [emptyStateView]=\"messageListConfiguration.emptyStateView\"\n [loadingIconURL]=\"messageListConfiguration?.loadingIconURL!\"\n [loadingStateView]=\"messageListConfiguration.loadingStateView\"\n [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\"\n [disableReceipt]=\"messageListConfiguration.disableReceipt\"\n [readIcon]=\"messageListConfiguration.readIcon\"\n [deliveredIcon]=\"messageListConfiguration.deliveredIcon\"\n [sentIcon]=\"messageListConfiguration.sentIcon\"\n [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\"\n [alignment]=\"messageListConfiguration.alignment\"\n [showAvatar]=\"messageListConfiguration.showAvatar\"\n [datePattern]=\"messageListConfiguration.datePattern\"\n [timestampAlignment]=\"messageListConfiguration.timestampAlignment\"\n [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [templates]=\"messageListConfiguration.templates\"\n [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder\"\n [thresholdValue]=\"messageListConfiguration.thresholdValue\"\n [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick || openThreadView\"\n [headerView]=\"messageListConfiguration.headerView\"\n [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\"\n [scrollToBottomOnNewMessages]=\"messageListConfiguration.scrollToBottomOnNewMessages\"\n [backdropStyle]=\"messageListConfiguration.backdropStyle\"\n [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\"\n [messageListStyle]=\"messageListConfiguration.messageListStyle\"\n [onError]=\"messageListConfiguration.onError\"\n [hideError]=\"messageListConfiguration.hideError\"\n [disableMentions]=\"messageListConfiguration.disableMentions\"\n [textFormatters]=\"messageListConfiguration?.textFormatters\">\n </cometchat-message-list>\n </div>\n <ng-container *ngIf=\"messageListView\">\n <ng-container\n *ngTemplateOutlet=\"messageListView;context:{ user: user, group: group }\">\n </ng-container>\n </ng-container>\n\n <div class=\"cc-messages__composer\"\n *ngIf=\"!messageComposerView && !hideMessageComposer\">\n <cometchat-message-composer #messageComposerRef\n [hideVoiceRecording]=\"messageComposerConfiguration.hideVoiceRecording\"\n [disableSoundForMessages]=\"disableSoundForMessages\"\n [voiceRecordingStopIconURL]=\"messageComposerConfiguration.voiceRecordingStopIconURL\"\n [voiceRecordingStartIconURL]=\"messageComposerConfiguration.voiceRecordingStartIconURL\"\n [voiceRecordingCloseIconURL]=\"messageComposerConfiguration.voiceRecordingCloseIconURL\"\n [voiceRecordingSubmitIconURL]=\"messageComposerConfiguration.voiceRecordingSubmitIconURL\"\n [mediaRecorderStyle]=\"messageComposerConfiguration.mediaRecorderStyle\"\n [customSoundForMessages]=\"customSoundForOutgoingMessages\" [user]=\"user\"\n [group]=\"group\" [text]=\"messageComposerConfiguration.text\"\n [headerView]=\"messageComposerConfiguration.headerView\"\n [onTextChange]=\"messageComposerConfiguration.onTextChange\"\n [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\"\n [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\"\n [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\"\n [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\"\n [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\"\n [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\"\n [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onError]=\"messageComposerConfiguration.onError\"\n [actionSheetStyle]=\"messageComposerConfiguration.actionSheetStyle\"\n [aiOptionsStyle]=\"messageComposerConfiguration.AIOptionsStyle\"\n [aiIconURL]=\"messageComposerConfiguration.AIIconURL\"\n [userMemberWrapperConfiguration]=\"messageComposerConfiguration.userMemberWrapperConfiguration\"\n [textFormatters]=\"messageComposerConfiguration?.textFormatters\"\n [disableMentions]=\"messageComposerConfiguration.disableMentions\"\n [mentionsWarningText]=\"messageComposerConfiguration?.mentionsWarningText\"\n [mentionsWarningStyle]=\"messageComposerConfiguration?.mentionsWarningStyle\">\n </cometchat-message-composer>\n </div>\n <div *ngIf=\"messageComposerView && !hideMessageComposer\"\n class=\"cc-messages__composer--customview\">\n <ng-container\n *ngTemplateOutlet=\"messageComposerView;context:{ user: user, group: group }\">\n </ng-container>\n </div>\n </div>\n <div class=\"cc-messages__livereaction\">\n <cometchat-live-reaction *ngIf=\"liveReaction\"\n [reactionIconURL]=\"reactionName\"\n [liveReactionStyle]=\"liveReactionStyle\"></cometchat-live-reaction>\n </div>\n <div *ngIf=\"openThreadedMessages\" class=\"cc-messages__threadedmessages\">\n <cometchat-threaded-messages [onClose]=\"closeThreadView\"\n [threadedMessagesStyle]=\"threadedMessageConfiguration.threadedMessagesStyle\"\n [messageActionView]=\"threadedMessageConfiguration.messageActionView\"\n [closeIconURL]=\"threadedMessageConfiguration.closeIconURL\"\n [onError]=\"threadedMessageConfiguration.onError\"\n [bubbleView]=\"threadedMessageConfiguration.bubbleView || parentBubbleView\"\n [parentMessage]=\"threadMessageObject\" [user]=\"user\" [group]=\"group\"\n [messageListConfiguration]=\"threadedMessageConfiguration.messageListConfiguration\"\n [messageComposerView]=\"threadedMessageConfiguration.messageComposerView\"\n [messageListView]=\"threadedMessageConfiguration.messageListView\"\n [hideMessageComposer]=\"threadedMessageConfiguration.hideMessageComposer\"></cometchat-threaded-messages>\n </div>\n\n <div *ngIf=\"openDetails\" class=\"cc-messages__details\">\n <cometchat-details\n [protectedGroupIcon]=\"detailsConfiguration.protectedGroupIcon\"\n [passwordGroupIcon]=\"detailsConfiguration.passwordGroupIcon\"\n [privateGroupIcon]=\"detailsConfiguration.privateGroupIcon\"\n [backdropStyle]=\"detailsConfiguration.backdropStyle\"\n [disableUsersPresence]=\"detailsConfiguration?.disableUsersPresence!\"\n [transferOwnershipConfiguration]=\"detailsConfiguration.transferOwnershipConfiguration\"\n [groupMembersConfiguration]=\"detailsConfiguration.groupMembersConfiguration\"\n [bannedMembersConfiguration]=\"detailsConfiguration.bannedMembersConfiguration\"\n [addMembersConfiguration]=\"detailsConfiguration.addMembersConfiguration\"\n [onClose]=\"detailsConfiguration.onClose || closeDetailsPage\"\n [listItemStyle]=\"detailsConfiguration.listItemStyle\"\n [detailsStyle]=\"detailsConfiguration.detailsStyle\"\n [avatarStyle]=\"detailsConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"detailsConfiguration.statusIndicatorStyle\"\n [leaveDialogStyle]=\"detailsConfiguration.leaveDialogStyle\"\n [data]=\"setDetailsTemplate()\"\n [customProfileView]=\"detailsConfiguration.customProfileView\"\n [subtitleView]=\"detailsConfiguration.subtitleView\"\n [hideProfile]=\"detailsConfiguration.hideProfile\"\n [onError]=\"detailsConfiguration.onError\"\n [closeButtonIconURL]=\"detailsConfiguration.closeButtonIconURL\"\n [user]=\"user\" [group]=\"group\"></cometchat-details>\n </div>\n</div>\n<ng-template #headerMenu>\n <div class=\"cc-messages__headermenu\">\n <div class=\"cc-messages__auxiliarymenu\"\n *ngIf=\"getAuxilaryView(); else elseBlock\">\n <ng-container\n *ngTemplateOutlet=\"getAuxilaryView();context:{ user: user, group: group }\">\n </ng-container>\n </div>\n <ng-template #elseBlock>\n <cometchat-call-buttons *ngIf=\"enableCalling\" voiceCallIconText=\"\"\n videoCallIconText=\"\" [user]=\"user\" [group]=\"group\"\n [callButtonsStyle]=\"callButtonsStyle\">\n </cometchat-call-buttons>\n </ng-template>\n <cometchat-button *ngIf=\"!hideDetails\" [iconURL]=\"infoIconStyle\"\n [buttonStyle]=\"detailsButtonStyle\"\n (cc-button-clicked)=\"openDetailsPage()\"></cometchat-button>\n </div>\n</ng-template>\n", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-messages__wrapper{position:relative;height:100%;width:100%}.cc-messages{display:flex;flex-direction:column;position:relative;height:100%;width:100%;box-sizing:border-box;justify-content:space-between}.cc-messages__headermenu{display:flex;justify-content:center;align-items:center}.cc-messages__threadedmessages,.cc-messages__details{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-messages__header{width:100%}.cc-messages__list{overflow:hidden;width:100%;height:100%}cometchat-threaded-messages{height:100%;display:flex}.cc-messages__composer{width:100%;display:flex;flex-direction:column;justify-content:flex-end}\n"], components: [{ type: AIAssistBotMessageListComponent, selector: "aiassist-bot-message-list", inputs: ["hideSearch", "footerView", "user", "group", "currentAskAIBot", "subtitleText", "sendIconUrl", "waitIcon", "errorIcon", "botFirstMessageText", "closeButtonIconURL", "sendButtonIconURL", "avatarStyle", "aiBotChatHeaderStyle", "aiBotChatContainerStyle", "datePattern", "alignment"] }, { type: CometChatMessageHeaderComponent, selector: "cometchat-message-header", inputs: ["avatarStyle", "statusIndicatorStyle", "messageHeaderStyle", "listItemStyle", "subtitleView", "disableUsersPresence", "disableTyping", "protectedGroupIcon", "passwordGroupIcon", "privateGroupIcon", "menu", "user", "group", "backButtonIconURL", "hideBackButton", "listItemView", "onError", "onBack"] }, { type: CometChatMessageListComponent, selector: "cometchat-message-list", inputs: ["hideError", "errorStateView", "loadingStateView", "emptyStateView", "errorStateText", "emptyStateText", "loadingIconURL", "user", "group", "disableReceipt", "disableSoundForMessages", "customSoundForMessages", "readIcon", "deliveredIcon", "sentIcon", "waitIcon", "errorIcon", "aiErrorIcon", "aiEmptyIcon", "alignment", "showAvatar", "datePattern", "timestampAlignment", "DateSeparatorPattern", "templates", "messagesRequestBuilder", "newMessageIndicatorText", "scrollToBottomOnNewMessages", "thresholdValue", "unreadMessageThreshold", "reactionsConfiguration", "disableReactions", "emojiKeyboardStyle", "apiConfiguration", "onThreadRepliesClick", "headerView", "footerView", "parentMessageId", "threadIndicatorIcon", "avatarStyle", "backdropStyle", "dateSeparatorStyle", "messageListStyle", "onError", "messageInformationConfiguration", "disableMentions", "textFormatters"] }, { type: CometChatMessageComposerComponent, selector: "cometchat-message-composer", inputs: ["user", "group", "disableSoundForMessages", "customSoundForMessage", "disableTypingEvents", "text", "placeholderText", "headerView", "onTextChange", "attachmentIconURL", "attachmentOptions", "secondaryButtonView", "auxilaryButtonView", "auxiliaryButtonsAlignment", "sendButtonView", "parentMessageId", "hideLiveReaction", "LiveReactionIconURL", "backButtonIconURL", "mentionsWarningText", "mentionsWarningStyle", "messageComposerStyle", "onSendButtonClick", "onError", "backdropStyle", "actionSheetStyle", "aiActionSheetStyle", "hideVoiceRecording", "mediaRecorderStyle", "aiOptionsStyle", "aiIconURL", "voiceRecordingIconURL", "voiceRecordingCloseIconURL", "voiceRecordingStartIconURL", "voiceRecordingStopIconURL", "voiceRecordingSubmitIconURL", "userMemberWrapperConfiguration", "disableMentions", "textFormatters"], outputs: ["childEvent"] }, { type: CometChatThreadedMessagesComponent, selector: "cometchat-threaded-messages", inputs: ["onClose", "onError", "parentMessage", "title", "closeIconURL", "bubbleView", "messageActionView", "messageListConfiguration", "messageComposerConfiguration", "threadedMessagesStyle", "hideMessageComposer", "messageComposerView", "messageListView"] }, { type: CometChatDetailsComponent, selector: "cometchat-details", inputs: ["group", "user", "title", "closeButtonIconURL", "hideProfile", "subtitleView", "customProfileView", "data", "disableUsersPresence", "privateGroupIcon", "protectedGroupIcon", "passwordGroupIcon", "onError", "onClose", "leaveGroupConfirmButtonText", "leaveGroupCancelButtonText", "leaveGroupDialogMessage", "leaveGroupDialogStyle", "deleteGroupConfirmButtonText", "deleteGroupDialogMessage", "deleteGroupCancelButtonText", "deleteGroupDialogStyle", "transferOwnershipConfirmButtonText", "transferOwnershipDialogMessage", "transferOwnershipCancelButtonText", "transferOwnershipDialogStyle", "addMembersConfiguration", "bannedMembersConfiguration", "groupMembersConfiguration", "transferOwnershipConfiguration", "statusIndicatorStyle", "backdropStyle", "avatarStyle", "detailsStyle", "listItemStyle"] }, { type: CometChatCallButtonsComponent, selector: "cometchat-call-buttons", inputs: ["user", "group", "voiceCallIconURL", "voiceCallIconText", "voiceCallIconHoverText", "videoCallIconURL", "videoCallIconText", "videoCallIconHoverText", "onVoiceCallClick", "onVideoCallClick", "onError", "callButtonsStyle", "outgoingCallConfiguration", "ongoingCallConfiguration"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17217
|
+
CometChatMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessagesComponent, selector: "cometchat-messages", inputs: { user: "user", group: "group", currentAskAIBot: "currentAskAIBot", hideMessageComposer: "hideMessageComposer", disableTyping: "disableTyping", messageHeaderConfiguration: "messageHeaderConfiguration", messageListConfiguration: "messageListConfiguration", messageComposerConfiguration: "messageComposerConfiguration", threadedMessageConfiguration: "threadedMessageConfiguration", detailsConfiguration: "detailsConfiguration", customSoundForIncomingMessages: "customSoundForIncomingMessages", customSoundForOutgoingMessages: "customSoundForOutgoingMessages", disableSoundForMessages: "disableSoundForMessages", messagesStyle: "messagesStyle", messageHeaderView: "messageHeaderView", messageComposerView: "messageComposerView", messageListView: "messageListView", hideMessageHeader: "hideMessageHeader", hideDetails: "hideDetails", auxiliaryMenu: "auxiliaryMenu" }, viewQueries: [{ propertyName: "messageComposerRef", first: true, predicate: ["messageComposerRef"], descendants: true }, { propertyName: "messageListRef", first: true, predicate: ["messageListRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-messages__wrapper\">\n <cometchat-backdrop *ngIf=\"showAiBotChat\">\n <aiassist-bot-message-list [user]=\"user\" [group]=\"group\"\n [currentAskAIBot]=\"currentAskAIBot\"></aiassist-bot-message-list>\n </cometchat-backdrop>\n <div class=\"cc-messages\" [ngStyle]=\"chatListStyle()\" *ngIf=\"user || group\">\n <div class=\"cc-messages__header\" *ngIf=\"!hideMessageHeader\">\n <div *ngIf=\"messageHeaderView; else customHeaderView\"\n class=\"cc-messages__header-customview\">\n <ng-container\n *ngTemplateOutlet=\"messageHeaderView;context:{ user: user, group: group }\">\n </ng-container>\n </div>\n <ng-template #customHeaderView>\n <cometchat-message-header [user]=\"user\" [group]=\"group\"\n [subtitleView]=\"messageHeaderConfiguration.subtitleView\"\n [disableUsersPresence]=\"messageHeaderConfiguration.disableUsersPresence\"\n [protectedGroupIcon]=\"messageHeaderConfiguration.protectedGroupIcon\"\n [passwordGroupIcon]=\"messageHeaderConfiguration.passwordGroupIcon\"\n [privateGroupIcon]=\"messageHeaderConfiguration.privateGroupIcon\"\n [menu]=\"headerMenu\"\n [messageHeaderStyle]=\"messageHeaderConfiguration.messageHeaderStyle\"\n [backButtonIconURL]=\"messageHeaderConfiguration.backButtonIconURL\"\n [hideBackButton]=\"messageHeaderConfiguration.hideBackButton\"\n [onError]=\"messageHeaderConfiguration.onError\"\n [onBack]=\"messageHeaderConfiguration.onBack\"\n [listItemStyle]=\"messageHeaderConfiguration.listItemStyle\"\n [statusIndicatorStyle]=\"messageHeaderConfiguration.statusIndicatorStyle\"\n [avatarStyle]=\"messageHeaderConfiguration.avatarStyle\">\n </cometchat-message-header>\n </ng-template>\n </div>\n <div class=\"cc-messages__list\" *ngIf=\"!messageListView\">\n <cometchat-message-list #messageListRef\n [disableReactions]=\"messageListConfiguration?.disableReactions!\"\n [emojiKeyboardStyle]=\"messageListConfiguration?.emojiKeyboardStyle!\"\n [threadIndicatorIcon]=\"messageListConfiguration?.threadIndicatorIcon!\"\n [reactionsConfiguration]=\"messageListConfiguration?.reactionsConfiguration!\"\n [messageInformationConfiguration]=\"\n messageListConfiguration.messageInformationConfiguration\"\n [disableSoundForMessages]=\"disableSoundForMessages\"\n [customSoundForMessages]=\"customSoundForIncomingMessages\"\n [emptyStateView]=\"messageListConfiguration.emptyStateView\"\n [loadingIconURL]=\"messageListConfiguration?.loadingIconURL!\"\n [loadingStateView]=\"messageListConfiguration.loadingStateView\"\n [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\"\n [disableReceipt]=\"messageListConfiguration.disableReceipt\"\n [readIcon]=\"messageListConfiguration.readIcon\"\n [deliveredIcon]=\"messageListConfiguration.deliveredIcon\"\n [sentIcon]=\"messageListConfiguration.sentIcon\"\n [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\"\n [alignment]=\"messageListConfiguration.alignment\"\n [showAvatar]=\"messageListConfiguration.showAvatar\"\n [datePattern]=\"messageListConfiguration.datePattern\"\n [timestampAlignment]=\"messageListConfiguration.timestampAlignment\"\n [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [templates]=\"messageListConfiguration.templates\"\n [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder\"\n [thresholdValue]=\"messageListConfiguration.thresholdValue\"\n [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick || openThreadView\"\n [headerView]=\"messageListConfiguration.headerView\"\n [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\"\n [scrollToBottomOnNewMessages]=\"messageListConfiguration.scrollToBottomOnNewMessages\"\n [backdropStyle]=\"messageListConfiguration.backdropStyle\"\n [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\"\n [messageListStyle]=\"messageListConfiguration.messageListStyle\"\n [onError]=\"messageListConfiguration.onError\"\n [hideError]=\"messageListConfiguration.hideError\"\n [disableMentions]=\"messageListConfiguration.disableMentions\"\n [textFormatters]=\"messageListConfiguration?.textFormatters\">\n </cometchat-message-list>\n </div>\n <ng-container *ngIf=\"messageListView\">\n <ng-container\n *ngTemplateOutlet=\"messageListView;context:{ user: user, group: group }\">\n </ng-container>\n </ng-container>\n\n <div class=\"cc-messages__composer\"\n *ngIf=\"!messageComposerView && !hideMessageComposer\">\n <cometchat-message-composer #messageComposerRef\n [hideVoiceRecording]=\"messageComposerConfiguration.hideVoiceRecording\"\n [disableSoundForMessages]=\"disableSoundForMessages\"\n [voiceRecordingStopIconURL]=\"messageComposerConfiguration.voiceRecordingStopIconURL\"\n [voiceRecordingStartIconURL]=\"messageComposerConfiguration.voiceRecordingStartIconURL\"\n [voiceRecordingCloseIconURL]=\"messageComposerConfiguration.voiceRecordingCloseIconURL\"\n [voiceRecordingSubmitIconURL]=\"messageComposerConfiguration.voiceRecordingSubmitIconURL\"\n [mediaRecorderStyle]=\"messageComposerConfiguration.mediaRecorderStyle\"\n [customSoundForMessages]=\"customSoundForOutgoingMessages\" [user]=\"user\"\n [group]=\"group\" [text]=\"messageComposerConfiguration.text\"\n [headerView]=\"messageComposerConfiguration.headerView\"\n [onTextChange]=\"messageComposerConfiguration.onTextChange\"\n [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\"\n [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\"\n [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\"\n [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\"\n [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\"\n [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\"\n [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onError]=\"messageComposerConfiguration.onError\"\n [actionSheetStyle]=\"messageComposerConfiguration.actionSheetStyle\"\n [aiOptionsStyle]=\"messageComposerConfiguration.AIOptionsStyle\"\n [aiIconURL]=\"messageComposerConfiguration.AIIconURL\"\n [userMemberWrapperConfiguration]=\"messageComposerConfiguration.userMemberWrapperConfiguration\"\n [textFormatters]=\"messageComposerConfiguration?.textFormatters\"\n [disableMentions]=\"messageComposerConfiguration.disableMentions\"\n [mentionsWarningText]=\"messageComposerConfiguration?.mentionsWarningText\"\n [mentionsWarningStyle]=\"messageComposerConfiguration?.mentionsWarningStyle\">\n </cometchat-message-composer>\n </div>\n <div *ngIf=\"messageComposerView && !hideMessageComposer\"\n class=\"cc-messages__composer--customview\">\n <ng-container\n *ngTemplateOutlet=\"messageComposerView;context:{ user: user, group: group }\">\n </ng-container>\n </div>\n </div>\n <div class=\"cc-messages__livereaction\">\n <cometchat-live-reaction *ngIf=\"liveReaction\"\n [reactionIconURL]=\"reactionName\"\n [liveReactionStyle]=\"liveReactionStyle\"></cometchat-live-reaction>\n </div>\n <div *ngIf=\"openThreadedMessages\" class=\"cc-messages__threadedmessages\">\n <cometchat-threaded-messages [onClose]=\"closeThreadView\"\n [threadedMessagesStyle]=\"threadedMessageConfiguration.threadedMessagesStyle\"\n [messageActionView]=\"threadedMessageConfiguration.messageActionView\"\n [closeIconURL]=\"threadedMessageConfiguration.closeIconURL\"\n [onError]=\"threadedMessageConfiguration.onError\"\n [bubbleView]=\"threadedMessageConfiguration.bubbleView || parentBubbleView\"\n [parentMessage]=\"threadMessageObject\" [user]=\"user\" [group]=\"group\"\n [messageListConfiguration]=\"threadedMessageConfiguration.messageListConfiguration\"\n [messageComposerView]=\"threadedMessageConfiguration.messageComposerView\"\n [messageListView]=\"threadedMessageConfiguration.messageListView\"\n [hideMessageComposer]=\"threadedMessageConfiguration.hideMessageComposer\"\n [messageComposerConfiguration]=\"threadedMessageConfiguration.messageComposerConfiguration\"\n [disableSoundForMessages]=\"threadedMessageConfiguration.disableSoundForMessages\"\n ></cometchat-threaded-messages>\n </div>\n\n <div *ngIf=\"openDetails\" class=\"cc-messages__details\">\n <cometchat-details\n [protectedGroupIcon]=\"detailsConfiguration.protectedGroupIcon\"\n [passwordGroupIcon]=\"detailsConfiguration.passwordGroupIcon\"\n [privateGroupIcon]=\"detailsConfiguration.privateGroupIcon\"\n [backdropStyle]=\"detailsConfiguration.backdropStyle\"\n [disableUsersPresence]=\"detailsConfiguration?.disableUsersPresence!\"\n [transferOwnershipConfiguration]=\"detailsConfiguration.transferOwnershipConfiguration\"\n [groupMembersConfiguration]=\"detailsConfiguration.groupMembersConfiguration\"\n [bannedMembersConfiguration]=\"detailsConfiguration.bannedMembersConfiguration\"\n [addMembersConfiguration]=\"detailsConfiguration.addMembersConfiguration\"\n [onClose]=\"detailsConfiguration.onClose || closeDetailsPage\"\n [listItemStyle]=\"detailsConfiguration.listItemStyle\"\n [detailsStyle]=\"detailsConfiguration.detailsStyle\"\n [avatarStyle]=\"detailsConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"detailsConfiguration.statusIndicatorStyle\"\n [leaveDialogStyle]=\"detailsConfiguration.leaveDialogStyle\"\n [data]=\"setDetailsTemplate()\"\n [customProfileView]=\"detailsConfiguration.customProfileView\"\n [subtitleView]=\"detailsConfiguration.subtitleView\"\n [hideProfile]=\"detailsConfiguration.hideProfile\"\n [onError]=\"detailsConfiguration.onError\"\n [closeButtonIconURL]=\"detailsConfiguration.closeButtonIconURL\"\n [user]=\"user\" [group]=\"group\"></cometchat-details>\n </div>\n</div>\n<ng-template #headerMenu>\n <div class=\"cc-messages__headermenu\">\n <div class=\"cc-messages__auxiliarymenu\"\n *ngIf=\"getAuxilaryView(); else elseBlock\">\n <ng-container\n *ngTemplateOutlet=\"getAuxilaryView();context:{ user: user, group: group }\">\n </ng-container>\n </div>\n <ng-template #elseBlock>\n <cometchat-call-buttons *ngIf=\"enableCalling\" voiceCallIconText=\"\"\n videoCallIconText=\"\" [user]=\"user\" [group]=\"group\"\n [callButtonsStyle]=\"callButtonsStyle\">\n </cometchat-call-buttons>\n </ng-template>\n <cometchat-button *ngIf=\"!hideDetails\" [iconURL]=\"infoIconStyle\"\n [buttonStyle]=\"detailsButtonStyle\"\n (cc-button-clicked)=\"openDetailsPage()\"></cometchat-button>\n </div>\n</ng-template>\n", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-messages__wrapper{position:relative;height:100%;width:100%}.cc-messages{display:flex;flex-direction:column;position:relative;height:100%;width:100%;box-sizing:border-box;justify-content:space-between}.cc-messages__headermenu{display:flex;justify-content:center;align-items:center}.cc-messages__threadedmessages,.cc-messages__details{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-messages__header{width:100%}.cc-messages__list{overflow:hidden;width:100%;height:100%}cometchat-threaded-messages{height:100%;display:flex}.cc-messages__composer{width:100%;display:flex;flex-direction:column;justify-content:flex-end}\n"], components: [{ type: AIAssistBotMessageListComponent, selector: "aiassist-bot-message-list", inputs: ["hideSearch", "footerView", "user", "group", "currentAskAIBot", "subtitleText", "sendIconUrl", "waitIcon", "errorIcon", "botFirstMessageText", "closeButtonIconURL", "sendButtonIconURL", "avatarStyle", "aiBotChatHeaderStyle", "aiBotChatContainerStyle", "datePattern", "alignment"] }, { type: CometChatMessageHeaderComponent, selector: "cometchat-message-header", inputs: ["avatarStyle", "statusIndicatorStyle", "messageHeaderStyle", "listItemStyle", "subtitleView", "disableUsersPresence", "disableTyping", "protectedGroupIcon", "passwordGroupIcon", "privateGroupIcon", "menu", "user", "group", "backButtonIconURL", "hideBackButton", "listItemView", "onError", "onBack"] }, { type: CometChatMessageListComponent, selector: "cometchat-message-list", inputs: ["hideError", "hideDateSeparator", "errorStateView", "loadingStateView", "emptyStateView", "errorStateText", "emptyStateText", "loadingIconURL", "user", "group", "disableReceipt", "disableSoundForMessages", "customSoundForMessages", "readIcon", "deliveredIcon", "sentIcon", "waitIcon", "errorIcon", "aiErrorIcon", "aiEmptyIcon", "alignment", "showAvatar", "datePattern", "timestampAlignment", "DateSeparatorPattern", "templates", "messagesRequestBuilder", "newMessageIndicatorText", "scrollToBottomOnNewMessages", "thresholdValue", "unreadMessageThreshold", "reactionsConfiguration", "disableReactions", "emojiKeyboardStyle", "apiConfiguration", "onThreadRepliesClick", "headerView", "footerView", "parentMessageId", "threadIndicatorIcon", "avatarStyle", "backdropStyle", "dateSeparatorStyle", "messageListStyle", "onError", "messageInformationConfiguration", "disableMentions", "textFormatters"] }, { type: CometChatMessageComposerComponent, selector: "cometchat-message-composer", inputs: ["user", "group", "disableSoundForMessages", "customSoundForMessage", "disableTypingEvents", "text", "placeholderText", "headerView", "onTextChange", "attachmentIconURL", "attachmentOptions", "secondaryButtonView", "auxilaryButtonView", "auxiliaryButtonsAlignment", "sendButtonView", "parentMessageId", "hideLiveReaction", "LiveReactionIconURL", "backButtonIconURL", "mentionsWarningText", "mentionsWarningStyle", "messageComposerStyle", "onSendButtonClick", "onError", "backdropStyle", "actionSheetStyle", "aiActionSheetStyle", "hideVoiceRecording", "mediaRecorderStyle", "aiOptionsStyle", "aiIconURL", "voiceRecordingIconURL", "voiceRecordingCloseIconURL", "voiceRecordingStartIconURL", "voiceRecordingStopIconURL", "voiceRecordingSubmitIconURL", "hideLayoutMode", "emojiIconURL", "userMemberWrapperConfiguration", "disableMentions", "textFormatters"], outputs: ["childEvent"] }, { type: CometChatThreadedMessagesComponent, selector: "cometchat-threaded-messages", inputs: ["onClose", "onError", "parentMessage", "title", "closeIconURL", "bubbleView", "messageActionView", "messageListConfiguration", "userMemberWrapperConfiguration", "messageComposerConfiguration", "threadedMessagesStyle", "hideMessageComposer", "messageComposerView", "messageListView", "disableSoundForMessages"] }, { type: CometChatDetailsComponent, selector: "cometchat-details", inputs: ["group", "user", "title", "closeButtonIconURL", "hideProfile", "subtitleView", "customProfileView", "data", "disableUsersPresence", "privateGroupIcon", "protectedGroupIcon", "passwordGroupIcon", "onError", "onClose", "leaveGroupConfirmButtonText", "leaveGroupCancelButtonText", "leaveGroupDialogMessage", "leaveGroupDialogStyle", "deleteGroupConfirmButtonText", "deleteGroupDialogMessage", "deleteGroupCancelButtonText", "deleteGroupDialogStyle", "transferOwnershipConfirmButtonText", "transferOwnershipDialogMessage", "transferOwnershipCancelButtonText", "transferOwnershipDialogStyle", "addMembersConfiguration", "bannedMembersConfiguration", "groupMembersConfiguration", "transferOwnershipConfiguration", "statusIndicatorStyle", "backdropStyle", "avatarStyle", "detailsStyle", "listItemStyle"] }, { type: CometChatCallButtonsComponent, selector: "cometchat-call-buttons", inputs: ["user", "group", "voiceCallIconURL", "voiceCallIconText", "voiceCallIconHoverText", "videoCallIconURL", "videoCallIconText", "videoCallIconHoverText", "onVoiceCallClick", "onVideoCallClick", "onError", "callButtonsStyle", "outgoingCallConfiguration", "ongoingCallConfiguration"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17047
17218
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessagesComponent, decorators: [{
|
|
17048
17219
|
type: Component,
|
|
17049
|
-
args: [{ selector: "cometchat-messages", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-messages__wrapper\">\n <cometchat-backdrop *ngIf=\"showAiBotChat\">\n <aiassist-bot-message-list [user]=\"user\" [group]=\"group\"\n [currentAskAIBot]=\"currentAskAIBot\"></aiassist-bot-message-list>\n </cometchat-backdrop>\n <div class=\"cc-messages\" [ngStyle]=\"chatListStyle()\" *ngIf=\"user || group\">\n <div class=\"cc-messages__header\" *ngIf=\"!hideMessageHeader\">\n <div *ngIf=\"messageHeaderView; else customHeaderView\"\n class=\"cc-messages__header-customview\">\n <ng-container\n *ngTemplateOutlet=\"messageHeaderView;context:{ user: user, group: group }\">\n </ng-container>\n </div>\n <ng-template #customHeaderView>\n <cometchat-message-header [user]=\"user\" [group]=\"group\"\n [subtitleView]=\"messageHeaderConfiguration.subtitleView\"\n [disableUsersPresence]=\"messageHeaderConfiguration.disableUsersPresence\"\n [protectedGroupIcon]=\"messageHeaderConfiguration.protectedGroupIcon\"\n [passwordGroupIcon]=\"messageHeaderConfiguration.passwordGroupIcon\"\n [privateGroupIcon]=\"messageHeaderConfiguration.privateGroupIcon\"\n [menu]=\"headerMenu\"\n [messageHeaderStyle]=\"messageHeaderConfiguration.messageHeaderStyle\"\n [backButtonIconURL]=\"messageHeaderConfiguration.backButtonIconURL\"\n [hideBackButton]=\"messageHeaderConfiguration.hideBackButton\"\n [onError]=\"messageHeaderConfiguration.onError\"\n [onBack]=\"messageHeaderConfiguration.onBack\"\n [listItemStyle]=\"messageHeaderConfiguration.listItemStyle\"\n [statusIndicatorStyle]=\"messageHeaderConfiguration.statusIndicatorStyle\"\n [avatarStyle]=\"messageHeaderConfiguration.avatarStyle\">\n </cometchat-message-header>\n </ng-template>\n </div>\n <div class=\"cc-messages__list\" *ngIf=\"!messageListView\">\n <cometchat-message-list #messageListRef\n [disableReactions]=\"messageListConfiguration?.disableReactions!\"\n [emojiKeyboardStyle]=\"messageListConfiguration?.emojiKeyboardStyle!\"\n [threadIndicatorIcon]=\"messageListConfiguration?.threadIndicatorIcon!\"\n [reactionsConfiguration]=\"messageListConfiguration?.reactionsConfiguration!\"\n [messageInformationConfiguration]=\"\n messageListConfiguration.messageInformationConfiguration\"\n [disableSoundForMessages]=\"disableSoundForMessages\"\n [customSoundForMessages]=\"customSoundForIncomingMessages\"\n [emptyStateView]=\"messageListConfiguration.emptyStateView\"\n [loadingIconURL]=\"messageListConfiguration?.loadingIconURL!\"\n [loadingStateView]=\"messageListConfiguration.loadingStateView\"\n [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\"\n [disableReceipt]=\"messageListConfiguration.disableReceipt\"\n [readIcon]=\"messageListConfiguration.readIcon\"\n [deliveredIcon]=\"messageListConfiguration.deliveredIcon\"\n [sentIcon]=\"messageListConfiguration.sentIcon\"\n [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\"\n [alignment]=\"messageListConfiguration.alignment\"\n [showAvatar]=\"messageListConfiguration.showAvatar\"\n [datePattern]=\"messageListConfiguration.datePattern\"\n [timestampAlignment]=\"messageListConfiguration.timestampAlignment\"\n [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [templates]=\"messageListConfiguration.templates\"\n [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder\"\n [thresholdValue]=\"messageListConfiguration.thresholdValue\"\n [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick || openThreadView\"\n [headerView]=\"messageListConfiguration.headerView\"\n [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\"\n [scrollToBottomOnNewMessages]=\"messageListConfiguration.scrollToBottomOnNewMessages\"\n [backdropStyle]=\"messageListConfiguration.backdropStyle\"\n [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\"\n [messageListStyle]=\"messageListConfiguration.messageListStyle\"\n [onError]=\"messageListConfiguration.onError\"\n [hideError]=\"messageListConfiguration.hideError\"\n [disableMentions]=\"messageListConfiguration.disableMentions\"\n [textFormatters]=\"messageListConfiguration?.textFormatters\">\n </cometchat-message-list>\n </div>\n <ng-container *ngIf=\"messageListView\">\n <ng-container\n *ngTemplateOutlet=\"messageListView;context:{ user: user, group: group }\">\n </ng-container>\n </ng-container>\n\n <div class=\"cc-messages__composer\"\n *ngIf=\"!messageComposerView && !hideMessageComposer\">\n <cometchat-message-composer #messageComposerRef\n [hideVoiceRecording]=\"messageComposerConfiguration.hideVoiceRecording\"\n [disableSoundForMessages]=\"disableSoundForMessages\"\n [voiceRecordingStopIconURL]=\"messageComposerConfiguration.voiceRecordingStopIconURL\"\n [voiceRecordingStartIconURL]=\"messageComposerConfiguration.voiceRecordingStartIconURL\"\n [voiceRecordingCloseIconURL]=\"messageComposerConfiguration.voiceRecordingCloseIconURL\"\n [voiceRecordingSubmitIconURL]=\"messageComposerConfiguration.voiceRecordingSubmitIconURL\"\n [mediaRecorderStyle]=\"messageComposerConfiguration.mediaRecorderStyle\"\n [customSoundForMessages]=\"customSoundForOutgoingMessages\" [user]=\"user\"\n [group]=\"group\" [text]=\"messageComposerConfiguration.text\"\n [headerView]=\"messageComposerConfiguration.headerView\"\n [onTextChange]=\"messageComposerConfiguration.onTextChange\"\n [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\"\n [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\"\n [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\"\n [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\"\n [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\"\n [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\"\n [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onError]=\"messageComposerConfiguration.onError\"\n [actionSheetStyle]=\"messageComposerConfiguration.actionSheetStyle\"\n [aiOptionsStyle]=\"messageComposerConfiguration.AIOptionsStyle\"\n [aiIconURL]=\"messageComposerConfiguration.AIIconURL\"\n [userMemberWrapperConfiguration]=\"messageComposerConfiguration.userMemberWrapperConfiguration\"\n [textFormatters]=\"messageComposerConfiguration?.textFormatters\"\n [disableMentions]=\"messageComposerConfiguration.disableMentions\"\n [mentionsWarningText]=\"messageComposerConfiguration?.mentionsWarningText\"\n [mentionsWarningStyle]=\"messageComposerConfiguration?.mentionsWarningStyle\">\n </cometchat-message-composer>\n </div>\n <div *ngIf=\"messageComposerView && !hideMessageComposer\"\n class=\"cc-messages__composer--customview\">\n <ng-container\n *ngTemplateOutlet=\"messageComposerView;context:{ user: user, group: group }\">\n </ng-container>\n </div>\n </div>\n <div class=\"cc-messages__livereaction\">\n <cometchat-live-reaction *ngIf=\"liveReaction\"\n [reactionIconURL]=\"reactionName\"\n [liveReactionStyle]=\"liveReactionStyle\"></cometchat-live-reaction>\n </div>\n <div *ngIf=\"openThreadedMessages\" class=\"cc-messages__threadedmessages\">\n <cometchat-threaded-messages [onClose]=\"closeThreadView\"\n [threadedMessagesStyle]=\"threadedMessageConfiguration.threadedMessagesStyle\"\n [messageActionView]=\"threadedMessageConfiguration.messageActionView\"\n [closeIconURL]=\"threadedMessageConfiguration.closeIconURL\"\n [onError]=\"threadedMessageConfiguration.onError\"\n [bubbleView]=\"threadedMessageConfiguration.bubbleView || parentBubbleView\"\n [parentMessage]=\"threadMessageObject\" [user]=\"user\" [group]=\"group\"\n [messageListConfiguration]=\"threadedMessageConfiguration.messageListConfiguration\"\n [messageComposerView]=\"threadedMessageConfiguration.messageComposerView\"\n [messageListView]=\"threadedMessageConfiguration.messageListView\"\n [hideMessageComposer]=\"threadedMessageConfiguration.hideMessageComposer\"></cometchat-threaded-messages>\n </div>\n\n <div *ngIf=\"openDetails\" class=\"cc-messages__details\">\n <cometchat-details\n [protectedGroupIcon]=\"detailsConfiguration.protectedGroupIcon\"\n [passwordGroupIcon]=\"detailsConfiguration.passwordGroupIcon\"\n [privateGroupIcon]=\"detailsConfiguration.privateGroupIcon\"\n [backdropStyle]=\"detailsConfiguration.backdropStyle\"\n [disableUsersPresence]=\"detailsConfiguration?.disableUsersPresence!\"\n [transferOwnershipConfiguration]=\"detailsConfiguration.transferOwnershipConfiguration\"\n [groupMembersConfiguration]=\"detailsConfiguration.groupMembersConfiguration\"\n [bannedMembersConfiguration]=\"detailsConfiguration.bannedMembersConfiguration\"\n [addMembersConfiguration]=\"detailsConfiguration.addMembersConfiguration\"\n [onClose]=\"detailsConfiguration.onClose || closeDetailsPage\"\n [listItemStyle]=\"detailsConfiguration.listItemStyle\"\n [detailsStyle]=\"detailsConfiguration.detailsStyle\"\n [avatarStyle]=\"detailsConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"detailsConfiguration.statusIndicatorStyle\"\n [leaveDialogStyle]=\"detailsConfiguration.leaveDialogStyle\"\n [data]=\"setDetailsTemplate()\"\n [customProfileView]=\"detailsConfiguration.customProfileView\"\n [subtitleView]=\"detailsConfiguration.subtitleView\"\n [hideProfile]=\"detailsConfiguration.hideProfile\"\n [onError]=\"detailsConfiguration.onError\"\n [closeButtonIconURL]=\"detailsConfiguration.closeButtonIconURL\"\n [user]=\"user\" [group]=\"group\"></cometchat-details>\n </div>\n</div>\n<ng-template #headerMenu>\n <div class=\"cc-messages__headermenu\">\n <div class=\"cc-messages__auxiliarymenu\"\n *ngIf=\"getAuxilaryView(); else elseBlock\">\n <ng-container\n *ngTemplateOutlet=\"getAuxilaryView();context:{ user: user, group: group }\">\n </ng-container>\n </div>\n <ng-template #elseBlock>\n <cometchat-call-buttons *ngIf=\"enableCalling\" voiceCallIconText=\"\"\n videoCallIconText=\"\" [user]=\"user\" [group]=\"group\"\n [callButtonsStyle]=\"callButtonsStyle\">\n </cometchat-call-buttons>\n </ng-template>\n <cometchat-button *ngIf=\"!hideDetails\" [iconURL]=\"infoIconStyle\"\n [buttonStyle]=\"detailsButtonStyle\"\n (cc-button-clicked)=\"openDetailsPage()\"></cometchat-button>\n </div>\n</ng-template>\n", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-messages__wrapper{position:relative;height:100%;width:100%}.cc-messages{display:flex;flex-direction:column;position:relative;height:100%;width:100%;box-sizing:border-box;justify-content:space-between}.cc-messages__headermenu{display:flex;justify-content:center;align-items:center}.cc-messages__threadedmessages,.cc-messages__details{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-messages__header{width:100%}.cc-messages__list{overflow:hidden;width:100%;height:100%}cometchat-threaded-messages{height:100%;display:flex}.cc-messages__composer{width:100%;display:flex;flex-direction:column;justify-content:flex-end}\n"] }]
|
|
17220
|
+
args: [{ selector: "cometchat-messages", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-messages__wrapper\">\n <cometchat-backdrop *ngIf=\"showAiBotChat\">\n <aiassist-bot-message-list [user]=\"user\" [group]=\"group\"\n [currentAskAIBot]=\"currentAskAIBot\"></aiassist-bot-message-list>\n </cometchat-backdrop>\n <div class=\"cc-messages\" [ngStyle]=\"chatListStyle()\" *ngIf=\"user || group\">\n <div class=\"cc-messages__header\" *ngIf=\"!hideMessageHeader\">\n <div *ngIf=\"messageHeaderView; else customHeaderView\"\n class=\"cc-messages__header-customview\">\n <ng-container\n *ngTemplateOutlet=\"messageHeaderView;context:{ user: user, group: group }\">\n </ng-container>\n </div>\n <ng-template #customHeaderView>\n <cometchat-message-header [user]=\"user\" [group]=\"group\"\n [subtitleView]=\"messageHeaderConfiguration.subtitleView\"\n [disableUsersPresence]=\"messageHeaderConfiguration.disableUsersPresence\"\n [protectedGroupIcon]=\"messageHeaderConfiguration.protectedGroupIcon\"\n [passwordGroupIcon]=\"messageHeaderConfiguration.passwordGroupIcon\"\n [privateGroupIcon]=\"messageHeaderConfiguration.privateGroupIcon\"\n [menu]=\"headerMenu\"\n [messageHeaderStyle]=\"messageHeaderConfiguration.messageHeaderStyle\"\n [backButtonIconURL]=\"messageHeaderConfiguration.backButtonIconURL\"\n [hideBackButton]=\"messageHeaderConfiguration.hideBackButton\"\n [onError]=\"messageHeaderConfiguration.onError\"\n [onBack]=\"messageHeaderConfiguration.onBack\"\n [listItemStyle]=\"messageHeaderConfiguration.listItemStyle\"\n [statusIndicatorStyle]=\"messageHeaderConfiguration.statusIndicatorStyle\"\n [avatarStyle]=\"messageHeaderConfiguration.avatarStyle\">\n </cometchat-message-header>\n </ng-template>\n </div>\n <div class=\"cc-messages__list\" *ngIf=\"!messageListView\">\n <cometchat-message-list #messageListRef\n [disableReactions]=\"messageListConfiguration?.disableReactions!\"\n [emojiKeyboardStyle]=\"messageListConfiguration?.emojiKeyboardStyle!\"\n [threadIndicatorIcon]=\"messageListConfiguration?.threadIndicatorIcon!\"\n [reactionsConfiguration]=\"messageListConfiguration?.reactionsConfiguration!\"\n [messageInformationConfiguration]=\"\n messageListConfiguration.messageInformationConfiguration\"\n [disableSoundForMessages]=\"disableSoundForMessages\"\n [customSoundForMessages]=\"customSoundForIncomingMessages\"\n [emptyStateView]=\"messageListConfiguration.emptyStateView\"\n [loadingIconURL]=\"messageListConfiguration?.loadingIconURL!\"\n [loadingStateView]=\"messageListConfiguration.loadingStateView\"\n [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\"\n [disableReceipt]=\"messageListConfiguration.disableReceipt\"\n [readIcon]=\"messageListConfiguration.readIcon\"\n [deliveredIcon]=\"messageListConfiguration.deliveredIcon\"\n [sentIcon]=\"messageListConfiguration.sentIcon\"\n [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\"\n [alignment]=\"messageListConfiguration.alignment\"\n [showAvatar]=\"messageListConfiguration.showAvatar\"\n [datePattern]=\"messageListConfiguration.datePattern\"\n [timestampAlignment]=\"messageListConfiguration.timestampAlignment\"\n [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [templates]=\"messageListConfiguration.templates\"\n [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder\"\n [thresholdValue]=\"messageListConfiguration.thresholdValue\"\n [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick || openThreadView\"\n [headerView]=\"messageListConfiguration.headerView\"\n [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\"\n [scrollToBottomOnNewMessages]=\"messageListConfiguration.scrollToBottomOnNewMessages\"\n [backdropStyle]=\"messageListConfiguration.backdropStyle\"\n [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\"\n [messageListStyle]=\"messageListConfiguration.messageListStyle\"\n [onError]=\"messageListConfiguration.onError\"\n [hideError]=\"messageListConfiguration.hideError\"\n [disableMentions]=\"messageListConfiguration.disableMentions\"\n [textFormatters]=\"messageListConfiguration?.textFormatters\">\n </cometchat-message-list>\n </div>\n <ng-container *ngIf=\"messageListView\">\n <ng-container\n *ngTemplateOutlet=\"messageListView;context:{ user: user, group: group }\">\n </ng-container>\n </ng-container>\n\n <div class=\"cc-messages__composer\"\n *ngIf=\"!messageComposerView && !hideMessageComposer\">\n <cometchat-message-composer #messageComposerRef\n [hideVoiceRecording]=\"messageComposerConfiguration.hideVoiceRecording\"\n [disableSoundForMessages]=\"disableSoundForMessages\"\n [voiceRecordingStopIconURL]=\"messageComposerConfiguration.voiceRecordingStopIconURL\"\n [voiceRecordingStartIconURL]=\"messageComposerConfiguration.voiceRecordingStartIconURL\"\n [voiceRecordingCloseIconURL]=\"messageComposerConfiguration.voiceRecordingCloseIconURL\"\n [voiceRecordingSubmitIconURL]=\"messageComposerConfiguration.voiceRecordingSubmitIconURL\"\n [mediaRecorderStyle]=\"messageComposerConfiguration.mediaRecorderStyle\"\n [customSoundForMessages]=\"customSoundForOutgoingMessages\" [user]=\"user\"\n [group]=\"group\" [text]=\"messageComposerConfiguration.text\"\n [headerView]=\"messageComposerConfiguration.headerView\"\n [onTextChange]=\"messageComposerConfiguration.onTextChange\"\n [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\"\n [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\"\n [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\"\n [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\"\n [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\"\n [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\"\n [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onError]=\"messageComposerConfiguration.onError\"\n [actionSheetStyle]=\"messageComposerConfiguration.actionSheetStyle\"\n [aiOptionsStyle]=\"messageComposerConfiguration.AIOptionsStyle\"\n [aiIconURL]=\"messageComposerConfiguration.AIIconURL\"\n [userMemberWrapperConfiguration]=\"messageComposerConfiguration.userMemberWrapperConfiguration\"\n [textFormatters]=\"messageComposerConfiguration?.textFormatters\"\n [disableMentions]=\"messageComposerConfiguration.disableMentions\"\n [mentionsWarningText]=\"messageComposerConfiguration?.mentionsWarningText\"\n [mentionsWarningStyle]=\"messageComposerConfiguration?.mentionsWarningStyle\">\n </cometchat-message-composer>\n </div>\n <div *ngIf=\"messageComposerView && !hideMessageComposer\"\n class=\"cc-messages__composer--customview\">\n <ng-container\n *ngTemplateOutlet=\"messageComposerView;context:{ user: user, group: group }\">\n </ng-container>\n </div>\n </div>\n <div class=\"cc-messages__livereaction\">\n <cometchat-live-reaction *ngIf=\"liveReaction\"\n [reactionIconURL]=\"reactionName\"\n [liveReactionStyle]=\"liveReactionStyle\"></cometchat-live-reaction>\n </div>\n <div *ngIf=\"openThreadedMessages\" class=\"cc-messages__threadedmessages\">\n <cometchat-threaded-messages [onClose]=\"closeThreadView\"\n [threadedMessagesStyle]=\"threadedMessageConfiguration.threadedMessagesStyle\"\n [messageActionView]=\"threadedMessageConfiguration.messageActionView\"\n [closeIconURL]=\"threadedMessageConfiguration.closeIconURL\"\n [onError]=\"threadedMessageConfiguration.onError\"\n [bubbleView]=\"threadedMessageConfiguration.bubbleView || parentBubbleView\"\n [parentMessage]=\"threadMessageObject\" [user]=\"user\" [group]=\"group\"\n [messageListConfiguration]=\"threadedMessageConfiguration.messageListConfiguration\"\n [messageComposerView]=\"threadedMessageConfiguration.messageComposerView\"\n [messageListView]=\"threadedMessageConfiguration.messageListView\"\n [hideMessageComposer]=\"threadedMessageConfiguration.hideMessageComposer\"\n [messageComposerConfiguration]=\"threadedMessageConfiguration.messageComposerConfiguration\"\n [disableSoundForMessages]=\"threadedMessageConfiguration.disableSoundForMessages\"\n ></cometchat-threaded-messages>\n </div>\n\n <div *ngIf=\"openDetails\" class=\"cc-messages__details\">\n <cometchat-details\n [protectedGroupIcon]=\"detailsConfiguration.protectedGroupIcon\"\n [passwordGroupIcon]=\"detailsConfiguration.passwordGroupIcon\"\n [privateGroupIcon]=\"detailsConfiguration.privateGroupIcon\"\n [backdropStyle]=\"detailsConfiguration.backdropStyle\"\n [disableUsersPresence]=\"detailsConfiguration?.disableUsersPresence!\"\n [transferOwnershipConfiguration]=\"detailsConfiguration.transferOwnershipConfiguration\"\n [groupMembersConfiguration]=\"detailsConfiguration.groupMembersConfiguration\"\n [bannedMembersConfiguration]=\"detailsConfiguration.bannedMembersConfiguration\"\n [addMembersConfiguration]=\"detailsConfiguration.addMembersConfiguration\"\n [onClose]=\"detailsConfiguration.onClose || closeDetailsPage\"\n [listItemStyle]=\"detailsConfiguration.listItemStyle\"\n [detailsStyle]=\"detailsConfiguration.detailsStyle\"\n [avatarStyle]=\"detailsConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"detailsConfiguration.statusIndicatorStyle\"\n [leaveDialogStyle]=\"detailsConfiguration.leaveDialogStyle\"\n [data]=\"setDetailsTemplate()\"\n [customProfileView]=\"detailsConfiguration.customProfileView\"\n [subtitleView]=\"detailsConfiguration.subtitleView\"\n [hideProfile]=\"detailsConfiguration.hideProfile\"\n [onError]=\"detailsConfiguration.onError\"\n [closeButtonIconURL]=\"detailsConfiguration.closeButtonIconURL\"\n [user]=\"user\" [group]=\"group\"></cometchat-details>\n </div>\n</div>\n<ng-template #headerMenu>\n <div class=\"cc-messages__headermenu\">\n <div class=\"cc-messages__auxiliarymenu\"\n *ngIf=\"getAuxilaryView(); else elseBlock\">\n <ng-container\n *ngTemplateOutlet=\"getAuxilaryView();context:{ user: user, group: group }\">\n </ng-container>\n </div>\n <ng-template #elseBlock>\n <cometchat-call-buttons *ngIf=\"enableCalling\" voiceCallIconText=\"\"\n videoCallIconText=\"\" [user]=\"user\" [group]=\"group\"\n [callButtonsStyle]=\"callButtonsStyle\">\n </cometchat-call-buttons>\n </ng-template>\n <cometchat-button *ngIf=\"!hideDetails\" [iconURL]=\"infoIconStyle\"\n [buttonStyle]=\"detailsButtonStyle\"\n (cc-button-clicked)=\"openDetailsPage()\"></cometchat-button>\n </div>\n</ng-template>\n", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-messages__wrapper{position:relative;height:100%;width:100%}.cc-messages{display:flex;flex-direction:column;position:relative;height:100%;width:100%;box-sizing:border-box;justify-content:space-between}.cc-messages__headermenu{display:flex;justify-content:center;align-items:center}.cc-messages__threadedmessages,.cc-messages__details{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-messages__header{width:100%}.cc-messages__list{overflow:hidden;width:100%;height:100%}cometchat-threaded-messages{height:100%;display:flex}.cc-messages__composer{width:100%;display:flex;flex-direction:column;justify-content:flex-end}\n"] }]
|
|
17050
17221
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }, { type: i0.ElementRef }]; }, propDecorators: { messageComposerRef: [{
|
|
17051
17222
|
type: ViewChild,
|
|
17052
17223
|
args: ["messageComposerRef", { static: false }]
|
|
@@ -17730,10 +17901,10 @@ class CometChatGroupsComponent {
|
|
|
17730
17901
|
}
|
|
17731
17902
|
}
|
|
17732
17903
|
CometChatGroupsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatGroupsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
17733
|
-
CometChatGroupsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatGroupsComponent, selector: "cometchat-groups", inputs: { groupsRequestBuilder: "groupsRequestBuilder", searchRequestBuilder: "searchRequestBuilder", subtitleView: "subtitleView", listItemView: "listItemView", menu: "menu", options: "options", activeGroup: "activeGroup", hideSeparator: "hideSeparator", selectionMode: "selectionMode", searchPlaceholder: "searchPlaceholder", hideError: "hideError", searchIconURL: "searchIconURL", hideSearch: "hideSearch", title: "title", onError: "onError", onSelect: "onSelect", emptyStateView: "emptyStateView", errorStateView: "errorStateView", loadingIconURL: "loadingIconURL", privateGroupIcon: "privateGroupIcon", protectedGroupIcon: "protectedGroupIcon", passwordGroupIcon: "passwordGroupIcon", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", titleAlignment: "titleAlignment", statusIndicatorStyle: "statusIndicatorStyle", avatarStyle: "avatarStyle", groupsStyle: "groupsStyle", listItemStyle: "listItemStyle", onItemClick: "onItemClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-groups\" [ngStyle]=\"groupStyle()\">\n <div class=\"cc-menus\" *ngIf=\"menu\">\n\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n\n</div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"groupsList\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [hideError]=\"hideError\" [title]=\"title\"\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-group>\n <cometchat-list-item [title]=\"group?.name\" [avatarURL]=\"group?.avatar\" [avatarName]=\"group?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\" [statusIndicatorStyle]=\"statusIndicatorStyle\"\n [statusIndicatorColor]=\"getStatusIndicatorColor(group)\" [statusIndicatorIcon]=\"getGroupIcon(group)\" [hideSeparator]=\"hideSeparator\" (cc-listitem-clicked)=\"onClick(group)\" [isActive]=\"getActiveGroup(group)\">\n <div slot=\"subtitleView\" class=\"cc-groups__subtitle-view\" *ngIf=\"subtitleView;else groupSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <ng-template #groupSubtitle>\n <div slot=\"subtitleView\" [ngStyle]=\"subtitleStyle()\" class=\"cc-groups__subtitle-view\"> {{getMemberCount(group)}} </div>\n </ng-template>\n\n <div slot=\"menuView\" class=\"cc-groups__options\" *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(group)\">\n\n </cometchat-menu-list>\n </div>\n <div slot=\"tailView\" *ngIf=\"selectionMode != selectionmodeEnum.none\" class=\"cc-groups__tail-view\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n </cometchat-list-item>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onGroupSelected(group,$event)\"></cometchat-radio-button>\n\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onGroupSelected(group,$event)\"></cometchat-checkbox>\n\n </div>\n </ng-template>\n </ng-template>\n</div>", styles: [".cc-groups{height:100%;width:100%;box-sizing:border-box}.cc-groups__tail-view{position:relative}.cc-menus{position:absolute;right:12px;top:6px}\n"], components: [{ type: CometchatListComponent, selector: "cometchat-list", inputs: ["listItemView", "onScrolledToBottom", "onScrolledToTop", "list", "onSearch", "getSectionHeader", "searchText", "searchIconURL", "listStyle", "searchPlaceholderText", "hideSearch", "hideError", "title", "titleAlignment", "errorStateView", "loadingStateView", "emptyStateView", "state", "errorStateText", "emptyStateText", "loadingIconURL", "showSectionHeader", "sectionHeaderField", "DateSeparatorPattern", "dateSeparatorStyle"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17904
|
+
CometChatGroupsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatGroupsComponent, selector: "cometchat-groups", inputs: { groupsRequestBuilder: "groupsRequestBuilder", searchRequestBuilder: "searchRequestBuilder", subtitleView: "subtitleView", listItemView: "listItemView", menu: "menu", options: "options", activeGroup: "activeGroup", hideSeparator: "hideSeparator", selectionMode: "selectionMode", searchPlaceholder: "searchPlaceholder", hideError: "hideError", searchIconURL: "searchIconURL", hideSearch: "hideSearch", title: "title", onError: "onError", onSelect: "onSelect", emptyStateView: "emptyStateView", errorStateView: "errorStateView", loadingIconURL: "loadingIconURL", privateGroupIcon: "privateGroupIcon", protectedGroupIcon: "protectedGroupIcon", passwordGroupIcon: "passwordGroupIcon", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", titleAlignment: "titleAlignment", statusIndicatorStyle: "statusIndicatorStyle", avatarStyle: "avatarStyle", groupsStyle: "groupsStyle", listItemStyle: "listItemStyle", onItemClick: "onItemClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-groups\" [ngStyle]=\"groupStyle()\">\n <div class=\"cc-menus\" *ngIf=\"menu\">\n\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n\n</div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"groupsList\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [hideError]=\"hideError\" [title]=\"title\"\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-group>\n <cometchat-list-item [title]=\"group?.name\" [avatarURL]=\"group?.avatar\" [avatarName]=\"group?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\" [statusIndicatorStyle]=\"statusIndicatorStyle\"\n [statusIndicatorColor]=\"getStatusIndicatorColor(group)\" [statusIndicatorIcon]=\"getGroupIcon(group)\" [hideSeparator]=\"hideSeparator\" (cc-listitem-clicked)=\"onClick(group)\" [isActive]=\"getActiveGroup(group)\">\n <div slot=\"subtitleView\" class=\"cc-groups__subtitle-view\" *ngIf=\"subtitleView;else groupSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: group }\">\n </ng-container>\n </div>\n <ng-template #groupSubtitle>\n <div slot=\"subtitleView\" [ngStyle]=\"subtitleStyle()\" class=\"cc-groups__subtitle-view\"> {{getMemberCount(group)}} </div>\n </ng-template>\n\n <div slot=\"menuView\" class=\"cc-groups__options\" *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(group)\">\n\n </cometchat-menu-list>\n </div>\n <div slot=\"tailView\" *ngIf=\"selectionMode != selectionmodeEnum.none\" class=\"cc-groups__tail-view\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n </cometchat-list-item>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onGroupSelected(group,$event)\"></cometchat-radio-button>\n\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onGroupSelected(group,$event)\"></cometchat-checkbox>\n\n </div>\n </ng-template>\n </ng-template>\n</div>", styles: [".cc-groups{height:100%;width:100%;box-sizing:border-box}.cc-groups__tail-view{position:relative}.cc-menus{position:absolute;right:12px;top:6px}\n"], components: [{ type: CometchatListComponent, selector: "cometchat-list", inputs: ["listItemView", "onScrolledToBottom", "onScrolledToTop", "list", "onSearch", "getSectionHeader", "searchText", "searchIconURL", "listStyle", "searchPlaceholderText", "hideSearch", "hideError", "title", "titleAlignment", "errorStateView", "loadingStateView", "emptyStateView", "state", "errorStateText", "emptyStateText", "loadingIconURL", "showSectionHeader", "sectionHeaderField", "DateSeparatorPattern", "dateSeparatorStyle"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17734
17905
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatGroupsComponent, decorators: [{
|
|
17735
17906
|
type: Component,
|
|
17736
|
-
args: [{ selector: "cometchat-groups", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-groups\" [ngStyle]=\"groupStyle()\">\n <div class=\"cc-menus\" *ngIf=\"menu\">\n\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n\n</div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"groupsList\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [hideError]=\"hideError\" [title]=\"title\"\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-group>\n <cometchat-list-item [title]=\"group?.name\" [avatarURL]=\"group?.avatar\" [avatarName]=\"group?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\" [statusIndicatorStyle]=\"statusIndicatorStyle\"\n [statusIndicatorColor]=\"getStatusIndicatorColor(group)\" [statusIndicatorIcon]=\"getGroupIcon(group)\" [hideSeparator]=\"hideSeparator\" (cc-listitem-clicked)=\"onClick(group)\" [isActive]=\"getActiveGroup(group)\">\n <div slot=\"subtitleView\" class=\"cc-groups__subtitle-view\" *ngIf=\"subtitleView;else groupSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <ng-template #groupSubtitle>\n <div slot=\"subtitleView\" [ngStyle]=\"subtitleStyle()\" class=\"cc-groups__subtitle-view\"> {{getMemberCount(group)}} </div>\n </ng-template>\n\n <div slot=\"menuView\" class=\"cc-groups__options\" *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(group)\">\n\n </cometchat-menu-list>\n </div>\n <div slot=\"tailView\" *ngIf=\"selectionMode != selectionmodeEnum.none\" class=\"cc-groups__tail-view\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n </cometchat-list-item>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onGroupSelected(group,$event)\"></cometchat-radio-button>\n\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onGroupSelected(group,$event)\"></cometchat-checkbox>\n\n </div>\n </ng-template>\n </ng-template>\n</div>", styles: [".cc-groups{height:100%;width:100%;box-sizing:border-box}.cc-groups__tail-view{position:relative}.cc-menus{position:absolute;right:12px;top:6px}\n"] }]
|
|
17907
|
+
args: [{ selector: "cometchat-groups", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-groups\" [ngStyle]=\"groupStyle()\">\n <div class=\"cc-menus\" *ngIf=\"menu\">\n\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n\n</div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"groupsList\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [hideError]=\"hideError\" [title]=\"title\"\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-group>\n <cometchat-list-item [title]=\"group?.name\" [avatarURL]=\"group?.avatar\" [avatarName]=\"group?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\" [statusIndicatorStyle]=\"statusIndicatorStyle\"\n [statusIndicatorColor]=\"getStatusIndicatorColor(group)\" [statusIndicatorIcon]=\"getGroupIcon(group)\" [hideSeparator]=\"hideSeparator\" (cc-listitem-clicked)=\"onClick(group)\" [isActive]=\"getActiveGroup(group)\">\n <div slot=\"subtitleView\" class=\"cc-groups__subtitle-view\" *ngIf=\"subtitleView;else groupSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: group }\">\n </ng-container>\n </div>\n <ng-template #groupSubtitle>\n <div slot=\"subtitleView\" [ngStyle]=\"subtitleStyle()\" class=\"cc-groups__subtitle-view\"> {{getMemberCount(group)}} </div>\n </ng-template>\n\n <div slot=\"menuView\" class=\"cc-groups__options\" *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(group)\">\n\n </cometchat-menu-list>\n </div>\n <div slot=\"tailView\" *ngIf=\"selectionMode != selectionmodeEnum.none\" class=\"cc-groups__tail-view\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n </cometchat-list-item>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onGroupSelected(group,$event)\"></cometchat-radio-button>\n\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onGroupSelected(group,$event)\"></cometchat-checkbox>\n\n </div>\n </ng-template>\n </ng-template>\n</div>", styles: [".cc-groups{height:100%;width:100%;box-sizing:border-box}.cc-groups__tail-view{position:relative}.cc-menus{position:absolute;right:12px;top:6px}\n"] }]
|
|
17737
17908
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { groupsRequestBuilder: [{
|
|
17738
17909
|
type: Input
|
|
17739
17910
|
}], searchRequestBuilder: [{
|
|
@@ -19452,10 +19623,10 @@ class CometChatUsersWithMessagesComponent {
|
|
|
19452
19623
|
}
|
|
19453
19624
|
}
|
|
19454
19625
|
CometChatUsersWithMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatUsersWithMessagesComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
19455
|
-
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}\" [ngStyle]=\"sideBarStyle\">\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 [hideDetails]=\"messagesConfiguration.hideDetails!\"\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: 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", "searchKeyword", "onEmpty", "userPresencePlacement", "disableLoadingState"] }, { type: CometChatMessagesComponent, selector: "cometchat-messages", inputs: ["user", "group", "currentAskAIBot", "hideMessageComposer", "disableTyping", "messageHeaderConfiguration", "messageListConfiguration", "messageComposerConfiguration", "threadedMessageConfiguration", "detailsConfiguration", "customSoundForIncomingMessages", "customSoundForOutgoingMessages", "disableSoundForMessages", "messagesStyle", "messageHeaderView", "messageComposerView", "messageListView", "hideMessageHeader", "hideDetails", "auxiliaryMenu"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
19626
|
+
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}\" [ngStyle]=\"sideBarStyle\">\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 [statusIndicatorStyle]=\"usersConfiguration.statusIndicatorStyle\"\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 [hideDetails]=\"messagesConfiguration.hideDetails!\"\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: 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", "searchKeyword", "onEmpty", "userPresencePlacement", "disableLoadingState"] }, { type: CometChatMessagesComponent, selector: "cometchat-messages", inputs: ["user", "group", "currentAskAIBot", "hideMessageComposer", "disableTyping", "messageHeaderConfiguration", "messageListConfiguration", "messageComposerConfiguration", "threadedMessageConfiguration", "detailsConfiguration", "customSoundForIncomingMessages", "customSoundForOutgoingMessages", "disableSoundForMessages", "messagesStyle", "messageHeaderView", "messageComposerView", "messageListView", "hideMessageHeader", "hideDetails", "auxiliaryMenu"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
19456
19627
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatUsersWithMessagesComponent, decorators: [{
|
|
19457
19628
|
type: Component,
|
|
19458
|
-
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}\" [ngStyle]=\"sideBarStyle\">\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 [hideDetails]=\"messagesConfiguration.hideDetails!\"\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"] }]
|
|
19629
|
+
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}\" [ngStyle]=\"sideBarStyle\">\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 [statusIndicatorStyle]=\"usersConfiguration.statusIndicatorStyle\"\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 [hideDetails]=\"messagesConfiguration.hideDetails!\"\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"] }]
|
|
19459
19630
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { userRef: [{
|
|
19460
19631
|
type: ViewChild,
|
|
19461
19632
|
args: ["usersRef", { static: false }]
|
|
@@ -21138,6 +21309,10 @@ class CometChatCallLogDetailsComponent {
|
|
|
21138
21309
|
height: "28px",
|
|
21139
21310
|
border: "none",
|
|
21140
21311
|
};
|
|
21312
|
+
this.labelStyle = {
|
|
21313
|
+
textFont: '600 22px sans-serif, Inter',
|
|
21314
|
+
textColor: 'rgb(20, 20, 20)'
|
|
21315
|
+
};
|
|
21141
21316
|
this.callDetailsStyle = {
|
|
21142
21317
|
width: "100%",
|
|
21143
21318
|
height: "100%",
|
|
@@ -21164,11 +21339,6 @@ class CometChatCallLogDetailsComponent {
|
|
|
21164
21339
|
this.showParticipantsList = false;
|
|
21165
21340
|
this.showCallRecordingList = false;
|
|
21166
21341
|
this.showCallHistory = false;
|
|
21167
|
-
this.dividerStyle = {
|
|
21168
|
-
background: "rgb(222 222 222 / 46%)",
|
|
21169
|
-
height: "1px",
|
|
21170
|
-
width: "100%",
|
|
21171
|
-
};
|
|
21172
21342
|
this.userListenerId = "userlist_" + new Date().getTime();
|
|
21173
21343
|
this.limit = 5;
|
|
21174
21344
|
this.onItemClick = (call) => {
|
|
@@ -21227,6 +21397,28 @@ class CometChatCallLogDetailsComponent {
|
|
|
21227
21397
|
border: this.callDetailsStyle.border,
|
|
21228
21398
|
borderRadius: this.callDetailsStyle.borderRadius,
|
|
21229
21399
|
background: this.callDetailsStyle.background,
|
|
21400
|
+
padding: '16px',
|
|
21401
|
+
};
|
|
21402
|
+
};
|
|
21403
|
+
this.profileContainerStyle = () => {
|
|
21404
|
+
return {
|
|
21405
|
+
height: "auto",
|
|
21406
|
+
width: "100%",
|
|
21407
|
+
minHeight: "150px",
|
|
21408
|
+
padding: "16px",
|
|
21409
|
+
display: "flex",
|
|
21410
|
+
flexDirection: "column",
|
|
21411
|
+
justifyContent: "center",
|
|
21412
|
+
alignItems: "center",
|
|
21413
|
+
boxSizing: "border-box",
|
|
21414
|
+
gap: "8px",
|
|
21415
|
+
};
|
|
21416
|
+
};
|
|
21417
|
+
this.getTailViewStyle = () => {
|
|
21418
|
+
var _a;
|
|
21419
|
+
return {
|
|
21420
|
+
font: fontHelper((_a = this.themeService) === null || _a === void 0 ? void 0 : _a.theme.typography.text3),
|
|
21421
|
+
color: this.themeService.theme.palette.getAccent600()
|
|
21230
21422
|
};
|
|
21231
21423
|
};
|
|
21232
21424
|
this.backButtonStyle = () => {
|
|
@@ -21389,7 +21581,7 @@ class CometChatCallLogDetailsComponent {
|
|
|
21389
21581
|
width: "100%",
|
|
21390
21582
|
background: (option === null || option === void 0 ? void 0 : option.backgroundColor) ||
|
|
21391
21583
|
this.themeService.theme.palette.getBackground(),
|
|
21392
|
-
borderRadius: "
|
|
21584
|
+
borderRadius: "8px",
|
|
21393
21585
|
titleFont: (option === null || option === void 0 ? void 0 : option.titleFont) ||
|
|
21394
21586
|
fontHelper(this.themeService.theme.typography.title2),
|
|
21395
21587
|
border: "none",
|
|
@@ -21399,10 +21591,10 @@ class CometChatCallLogDetailsComponent {
|
|
|
21399
21591
|
}
|
|
21400
21592
|
}
|
|
21401
21593
|
CometChatCallLogDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallLogDetailsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
21402
|
-
CometChatCallLogDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatCallLogDetailsComponent, selector: "cometchat-call-log-details", inputs: { call: "call", group: "group", user: "user", title: "title", onBackClick: "onBackClick", hideProfile: "hideProfile", subtitleView: "subtitleView", customProfileView: "customProfileView", backIconUrl: "backIconUrl", greaterThanIconURL: "greaterThanIconURL", callButtonsConfiguration: "callButtonsConfiguration", callLogParticipantsConfiguration: "callLogParticipantsConfiguration", callLogHistoryConfiguration: "callLogHistoryConfiguration", callLogRecordingsConfiguration: "callLogRecordingsConfiguration", onError: "onError", datePattern: "datePattern", datePattern2: "datePattern2", data: "data", avatarStyle: "avatarStyle", callDetailsStyle: "callDetailsStyle", listItemStyle: "listItemStyle", dateStyle: "dateStyle", callButtonsStyle: "callButtonsStyle" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-call-log-details__wrapper\" *ngIf=\"user || group\" [ngStyle]=\"wrapperStyle()\">\n\n <div class=\"cc-call-log-details__header\"\n *ngIf=\"onBackClick && !(showParticipantsList || showCallRecordingList || showCallHistory)\">\n <cometchat-button [iconURL]=\"backIconUrl\" class=\"cc-call-log-details__close-button\" [buttonStyle]=\"backButtonStyle()\"\n (cc-button-clicked)=\"onBackClick()\"></cometchat-button>\n <cometchat-label [text]=\"title\" [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n </div>\n\n <div class=\"cc-call-log-details\">\n <div class=\"cc-call-log-details__profile\"\n *ngIf=\"!hideProfile && showCallLogDetailOptionList && !(showParticipantsList || showCallRecordingList || showCallHistory)\">\n\n\n <div class=\" cc-call-log-details__default-profile\" *ngIf=\"!customProfileView;else listitem\">\n <cometchat-avatar [name]=\"user?.getName() ?? group?.getName()\" [avatarStyle]=\"avatarStyle\"\n [image]=\"user?.getAvatar() ?? group?.getIcon()\">\n </cometchat-avatar>\n\n <cometchat-label [text]=\"user?.getName() ?? this.group?.getName()\"></cometchat-label>\n </div>\n </div>\n <div class=\"cc-call-log-details__section-list\"\n *ngIf=\"showCallLogDetailOptionList && defaultTemplate && defaultTemplate.length > 0\">\n <div class=\"cc-call-log-details__section\" *ngFor=\"let item of defaultTemplate\">\n <div class=\"cc-call-log-details__section-separator\" *ngIf=\"item.title\">\n <cometchat-label [text]=\"item.title\"></cometchat-label>\n </div>\n <div class=\"cc-call-log-details__options-wrapper\" *ngIf=\"getTemplateOptions(item)\">\n <div class=\"cc-call-log-details__options\" *ngFor=\"let option of getTemplateOptions(item); trackBy: trackByFnOption \">\n <div class=\"cc-call-log-details__option\" *ngIf=\"!getCustomOptionView(option);else customView\">\n <div class=\"cc-call-log-details__option-element\">\n\n <div class=\"cc-call-log-details__calling-default-option\" *ngIf=\"option.id=='calls'\">\n\n <cometchat-call-buttons [user]=\"user\" [group]=\"group\"\n [callButtonsStyle]=\"callButtonsConfiguration.callButtonsStyle\"\n [onVideoCallClick]=\"callButtonsConfiguration.onVideoCallClick\"\n [onVoiceCallClick]=\"callButtonsConfiguration.onVoiceCallClick\"\n [videoCallIconURL]=\"callButtonsConfiguration.videoCallIconURL\"\n [voiceCallIconURL]=\"callButtonsConfiguration.voiceCallIconURL\"></cometchat-call-buttons>\n </div>\n <cometchat-list-item *ngIf=\"option.id==='callStatus'\" [listItemStyle]=\"getListItemStyle(option)\"\n [hideSeparator]=\"true\">\n <div class=\"cc-call-log-details__call-Status\" slot=\"subtitleView\" >\n <div *ngIf=\"!subtitleView; else subtitle\" style=\"width: 100%;\">\n <div> <cometchat-date [dateStyle]=\"dateStyle\" [timestamp]=\"call?.getInitiatedAt()\"\n [pattern]=\"datePattern2\">\n </cometchat-date></div>\n\n <div\n class=\"cc-call-log-details__call-Status__subTitle\">\n <div>\n\n <cometchat-date [dateStyle]=\"dateStyle\" [timestamp]=\"call?.getInitiatedAt()\"\n [pattern]=\"datePattern\">\n </cometchat-date>\n <cometchat-label [text]=\"getSubtitle(call)\" [labelStyle]=\"subtitleStyle(option)\">\n </cometchat-label>\n </div>\n <div class=\"cc-call-log-details__call-Status__tailview\"> {{ getTailView(call?.getTotalDurationInMinutes()!) }}\n </div>\n\n </div>\n\n\n </div>\n\n <ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n </ng-container>\n </ng-template>\n </div>\n\n\n </cometchat-list-item>\n <cometchat-list-item *ngIf=\"option.id!=='calls' && option.id!=='callStatus' \"\n (cc-listitem-clicked)=\"onOptionClick(option)\" [listItemStyle]=\"getListItemStyle(option)\"\n [title]=\"option.title\" [hideSeparator]=\"true\">\n \n <div slot=\"tailView\" class=\"cc-call-log-details__secondary-view__tail-view\"\n >\n {{option.tail}}\n <cometchat-icon [iconStyle]=\"iconStyle\" [URL]=\"greaterThanIconURL\"></cometchat-icon>\n </div>\n\n \n\n </cometchat-list-item>\n\n </div>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n </div>\n <ng-template #customView>\n <ng-container *ngTemplateOutlet=\"getCustomOptionView(option)\">\n </ng-container>\n </ng-template>\n </div>\n </div>\n </div>\n </div>\n\n\n\n <div *ngIf=\"showParticipantsList || showCallRecordingList || showCallHistory\" style=\" height: 100%;\">\n\n <div *ngIf=\"showParticipantsList\" style=\"height: 100%;\">\n <cometchat-call-log-participants [call]=\"call\"\n [onBackClick]=\"callLogParticipantsConfiguration.onBackClick || handlePageOnBackClick\"\n [backIconUrl]=\"callLogParticipantsConfiguration.backIconUrl || backIconUrl\"\n [avatarStyle]=\"callLogParticipantsConfiguration.avatarStyle\"\n [onItemClick]=\"callLogParticipantsConfiguration.onItemClick!\"\n [datePattern]=\"callLogParticipantsConfiguration.datePattern\"\n [subtitleView]=\"callLogParticipantsConfiguration.subtitleView\"\n [listItemView]=\"callLogParticipantsConfiguration.listItemView\"\n\n [listItemStyle]=\"callLogParticipantsConfiguration.listItemStyle\" [callLogParticipantsStyle]=\"\n callLogParticipantsConfiguration.callLogParticipantsStyle\"\n \n [tailView]=\"callLogParticipantsConfiguration.tailView\"></cometchat-call-log-participants>\n </div>\n <div *ngIf=\"showCallRecordingList\" style=\"height:100%;\">\n <cometchat-call-log-recordings [call]=\"call\"\n [backIconUrl]=\"callLogRecordingsConfiguration.backIconUrl || backIconUrl\" [onBackClick]=\"\n callLogRecordingsConfiguration.onBackClick || handlePageOnBackClick\n \" [onItemClick]=\"callLogRecordingsConfiguration.onItemClick!\"\n [datePattern]=\"callLogRecordingsConfiguration.datePattern!\"\n [listItemStyle]=\"callLogRecordingsConfiguration.listItemStyle\" callLogRecordingsStyle=\"\n callLogRecordingsConfiguration.callLogRecordingsStyle\n callLogRecordingsConfiguration.hideDownloadButton || false\n \" [onDownloadClick]=\"callLogRecordingsConfiguration.onDownloadClick!\"\n [listItemView]=\"callLogRecordingsConfiguration.listItemView\"\n [subtitleView]=\"callLogRecordingsConfiguration.subtitleView\"\n [tailView]=\"callLogRecordingsConfiguration.tailView\"></cometchat-call-log-recordings>\n </div>\n <div *ngIf=\"showCallHistory\" style=\"height: 100%; \">\n <cometchat-call-log-history [call]=\"call\" [user]=\"user\" [group]=\"group\" [onBackClick]=\"handlePageOnBackClick\"\n [backIconUrl]=\"callLogHistoryConfiguration.backIconUrl || backIconUrl\"\n [emptyStateView]=\"callLogHistoryConfiguration.emptyStateView\"\n [errorStateView]=\"callLogHistoryConfiguration.errorStateView\"\n [loadingIconURL]=\"callLogHistoryConfiguration.loadingIconURL\"\n [loadingStateView]=\"callLogHistoryConfiguration.loadingStateView\"\n [tailView]=\"callLogHistoryConfiguration.tailView\" [callLogRequestBuilder]=\"\n callLogHistoryConfiguration.callLogRequestBuilder\n \" [onItemClick]=\"callLogHistoryConfiguration.onItemClick || onItemClick\" [onBackClick]=\"\n callLogHistoryConfiguration.onBackClick || handlePageOnBackClick\n \" [listItemStyle]=\"callLogHistoryConfiguration.listItemStyle\"\n [datePattern]=\"callLogHistoryConfiguration.datePattern\" [dateSeparatorPattern]=\"\n callLogHistoryConfiguration.dateSeparatorPattern\n \" [callLogHistoryStyle]=\"\n callLogHistoryConfiguration.callLogHistoryStyle\n \" [onError]=\"callLogHistoryConfiguration.onError!\"></cometchat-call-log-history>\n </div>\n\n </div>\n </div>\n</div>\n\n\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"customProfileView\">\n </ng-container>\n</ng-template>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-call-log-details__header{display:flex;gap:10px;align-items:center;height:3%}.cc-call-log-details{height:98%}.cc-call-log-details__profile{display:flex;align-items:center;justify-content:center}.cc-call-log-details__default-profile{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.cc-call-log-details__section{margin:10px 3px 3px}.cc-call-log-details__option{margin-top:5px}.cc-call-log-details__calling-default-option{display:flex;align-items:center;justify-content:center;margin:10px}.cc-call-log-details__call-Status{display:flex;justify-content:space-between}.cc-call-log-details__call-Status__subTitle{display:flex;justify-content:space-between;margin:10px 0;padding-right:8px;width:100%}.cc-call-log-details__call-Status__tailview{color:gray}.cc-call-log-details__secondary-view__tail-view{display:flex;align-items:center;justify-content:center;gap:5px;color:RGBA(20,20,20,.68)}\n"], components: [{ type: CometChatCallButtonsComponent, selector: "cometchat-call-buttons", inputs: ["user", "group", "voiceCallIconURL", "voiceCallIconText", "voiceCallIconHoverText", "videoCallIconURL", "videoCallIconText", "videoCallIconHoverText", "onVoiceCallClick", "onVideoCallClick", "onError", "callButtonsStyle", "outgoingCallConfiguration", "ongoingCallConfiguration"] }, { type: CometChatCallLogParticipantsComponent, selector: "cometchat-call-log-participants", inputs: ["title", "call", "backIconUrl", "onBackClick", "datePattern", "subtitleView", "listItemView", "onError", "hideSeparator", "avatarStyle", "dateStyle", "CallLogParticipantsStyle", "listItemStyle"] }, { type: CometChatCallLogRecordingsComponent, selector: "cometchat-call-log-recordings", inputs: ["title", "call", "onBackClick", "backIconURL", "datePattern", "subtitleView", "listItemView", "downloadIconURL", "onDownloadClick", "hideDownloadButton", "onError", "avatarStyle", "dateStyle", "CallLogRecordingsStyle", "listItemStyle", "options"] }, { type: CometChatCallLogHistoryComponent, selector: "cometchat-call-log-history", inputs: ["user", "group", "title", "emptyStateView", "errorStateView", "loadingStateView", "subtitleView", "listItemView", "menu", "emptyStateText", "errorStateText", "loadingIconURL", "backIconUrl", "onItemClick", "onBackClick", "callLogRequestBuilder", "DateSeparatorPattern", "hideSeparator", "dateSeparatorStyle", "hideError", "onError", "showSectionHeader", "sectionHeaderField", "datePattern", "avatarStyle", "dateStyle", "CallLogHistoryStyle", "listItemStyle"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21594
|
+
CometChatCallLogDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatCallLogDetailsComponent, selector: "cometchat-call-log-details", inputs: { call: "call", group: "group", user: "user", title: "title", onBackClick: "onBackClick", hideProfile: "hideProfile", subtitleView: "subtitleView", customProfileView: "customProfileView", backIconUrl: "backIconUrl", greaterThanIconURL: "greaterThanIconURL", callButtonsConfiguration: "callButtonsConfiguration", callLogParticipantsConfiguration: "callLogParticipantsConfiguration", callLogHistoryConfiguration: "callLogHistoryConfiguration", callLogRecordingsConfiguration: "callLogRecordingsConfiguration", onError: "onError", datePattern: "datePattern", datePattern2: "datePattern2", data: "data", avatarStyle: "avatarStyle", labelStyle: "labelStyle", callDetailsStyle: "callDetailsStyle", listItemStyle: "listItemStyle", dateStyle: "dateStyle", callButtonsStyle: "callButtonsStyle" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-call-log-details__wrapper\" *ngIf=\"user || group\" [ngStyle]=\"wrapperStyle()\">\n\n <div class=\"cc-call-log-details__header\"\n *ngIf=\"onBackClick && !(showParticipantsList || showCallRecordingList || showCallHistory)\">\n <cometchat-button [iconURL]=\"backIconUrl\" class=\"cc-call-log-details__close-button\" [buttonStyle]=\"backButtonStyle()\"\n (cc-button-clicked)=\"onBackClick()\"></cometchat-button>\n <cometchat-label [text]=\"title\" [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n </div>\n\n <div class=\"cc-call-log-details\">\n <div class=\"cc-call-log-details__profile\"\n *ngIf=\"!hideProfile && showCallLogDetailOptionList && !(showParticipantsList || showCallRecordingList || showCallHistory)\">\n\n\n <div class=\" cc-call-log-details__default-profile\" *ngIf=\"!customProfileView;else listitem\" [ngStyle]=\"profileContainerStyle()\">\n <cometchat-avatar [name]=\"user?.getName() ?? group?.getName()\" [avatarStyle]=\"avatarStyle\"\n [image]=\"user?.getAvatar() ?? group?.getIcon()\">\n </cometchat-avatar>\n\n <cometchat-label [text]=\"user?.getName() ?? this.group?.getName()\" [labelStyle]=\"labelStyle\"></cometchat-label>\n </div>\n </div>\n <div class=\"cc-call-log-details__section-list\"\n *ngIf=\"showCallLogDetailOptionList && defaultTemplate && defaultTemplate.length > 0\">\n <div class=\"cc-call-log-details__section\" *ngFor=\"let item of defaultTemplate\">\n <div class=\"cc-call-log-details__section-separator\" *ngIf=\"item.title\">\n <cometchat-label [text]=\"item.title\"></cometchat-label>\n </div>\n <div class=\"cc-call-log-details__options-wrapper\" *ngIf=\"getTemplateOptions(item)\">\n <div class=\"cc-call-log-details__options\" *ngFor=\"let option of getTemplateOptions(item); trackBy: trackByFnOption \">\n <div class=\"cc-call-log-details__option\" *ngIf=\"!getCustomOptionView(option);else customView\">\n <div class=\"cc-call-log-details__option-element\">\n\n <div class=\"cc-call-log-details__calling-default-option\" *ngIf=\"option.id=='calls'\">\n\n <cometchat-call-buttons [user]=\"user\" [group]=\"group\"\n [callButtonsStyle]=\"callButtonsConfiguration.callButtonsStyle\"\n [onVideoCallClick]=\"callButtonsConfiguration.onVideoCallClick\"\n [onVoiceCallClick]=\"callButtonsConfiguration.onVoiceCallClick\"\n [videoCallIconURL]=\"callButtonsConfiguration.videoCallIconURL\"\n [voiceCallIconURL]=\"callButtonsConfiguration.voiceCallIconURL\"></cometchat-call-buttons>\n </div>\n <cometchat-list-item *ngIf=\"option.id==='callStatus'\" [listItemStyle]=\"getListItemStyle(option)\"\n [hideSeparator]=\"true\">\n <div class=\"cc-call-log-details__call-Status\" slot=\"subtitleView\" >\n <div *ngIf=\"!subtitleView; else subtitle\" style=\"width: 100%;\">\n <div> <cometchat-date [dateStyle]=\"dateStyle\" [timestamp]=\"call?.getInitiatedAt()\"\n [pattern]=\"datePattern2\">\n </cometchat-date></div>\n\n <div\n class=\"cc-call-log-details__call-Status__subTitle\">\n <div>\n\n <cometchat-date [dateStyle]=\"dateStyle\" [timestamp]=\"call?.getInitiatedAt()\"\n [pattern]=\"datePattern\">\n </cometchat-date>\n <cometchat-label [text]=\"getSubtitle(call)\" [labelStyle]=\"subtitleStyle(option)\">\n </cometchat-label>\n </div>\n <div class=\"cc-call-log-details__call-Status__tailview\" [style]=\"getTailViewStyle()\"> {{ getTailView(call?.getTotalDurationInMinutes()!) }}\n </div>\n\n </div>\n\n\n </div>\n\n <ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n </ng-container>\n </ng-template>\n </div>\n\n\n </cometchat-list-item>\n <cometchat-list-item *ngIf=\"option.id!=='calls' && option.id!=='callStatus' \"\n (cc-listitem-clicked)=\"onOptionClick(option)\" [listItemStyle]=\"getListItemStyle(option)\"\n [title]=\"option.title\" [hideSeparator]=\"true\">\n \n <div slot=\"tailView\" class=\"cc-call-log-details__secondary-view__tail-view\" [style]=\"getTailViewStyle()\"\n >\n {{option.tail}}\n <cometchat-icon [iconStyle]=\"iconStyle\" [URL]=\"greaterThanIconURL\"></cometchat-icon>\n </div>\n\n \n\n </cometchat-list-item>\n\n </div>\n </div>\n <ng-template #customView>\n <ng-container *ngTemplateOutlet=\"getCustomOptionView(option)\">\n </ng-container>\n </ng-template>\n </div>\n </div>\n </div>\n </div>\n\n\n\n <div *ngIf=\"showParticipantsList || showCallRecordingList || showCallHistory\" style=\" height: 100%;\">\n\n <div *ngIf=\"showParticipantsList\" style=\"height: 100%;\">\n <cometchat-call-log-participants [call]=\"call\"\n [onBackClick]=\"callLogParticipantsConfiguration.onBackClick || handlePageOnBackClick\"\n [backIconUrl]=\"callLogParticipantsConfiguration.backIconUrl || backIconUrl\"\n [avatarStyle]=\"callLogParticipantsConfiguration.avatarStyle\"\n [onItemClick]=\"callLogParticipantsConfiguration.onItemClick!\"\n [datePattern]=\"callLogParticipantsConfiguration.datePattern\"\n [subtitleView]=\"callLogParticipantsConfiguration.subtitleView\"\n [listItemView]=\"callLogParticipantsConfiguration.listItemView\"\n\n [listItemStyle]=\"callLogParticipantsConfiguration.listItemStyle\" [callLogParticipantsStyle]=\"\n callLogParticipantsConfiguration.callLogParticipantsStyle\"\n \n [tailView]=\"callLogParticipantsConfiguration.tailView\"></cometchat-call-log-participants>\n </div>\n <div *ngIf=\"showCallRecordingList\" style=\"height:100%;\">\n <cometchat-call-log-recordings [call]=\"call\"\n [backIconUrl]=\"callLogRecordingsConfiguration.backIconUrl || backIconUrl\" [onBackClick]=\"\n callLogRecordingsConfiguration.onBackClick || handlePageOnBackClick\n \" [onItemClick]=\"callLogRecordingsConfiguration.onItemClick!\"\n [datePattern]=\"callLogRecordingsConfiguration.datePattern!\"\n [listItemStyle]=\"callLogRecordingsConfiguration.listItemStyle\" callLogRecordingsStyle=\"\n callLogRecordingsConfiguration.callLogRecordingsStyle\n callLogRecordingsConfiguration.hideDownloadButton || false\n \" [onDownloadClick]=\"callLogRecordingsConfiguration.onDownloadClick!\"\n [listItemView]=\"callLogRecordingsConfiguration.listItemView\"\n [subtitleView]=\"callLogRecordingsConfiguration.subtitleView\"\n [tailView]=\"callLogRecordingsConfiguration.tailView\"></cometchat-call-log-recordings>\n </div>\n <div *ngIf=\"showCallHistory\" style=\"height: 100%; \">\n <cometchat-call-log-history [call]=\"call\" [user]=\"user\" [group]=\"group\" [onBackClick]=\"handlePageOnBackClick\"\n [backIconUrl]=\"callLogHistoryConfiguration.backIconUrl || backIconUrl\"\n [emptyStateView]=\"callLogHistoryConfiguration.emptyStateView\"\n [errorStateView]=\"callLogHistoryConfiguration.errorStateView\"\n [loadingIconURL]=\"callLogHistoryConfiguration.loadingIconURL\"\n [loadingStateView]=\"callLogHistoryConfiguration.loadingStateView\"\n [tailView]=\"callLogHistoryConfiguration.tailView\" [callLogRequestBuilder]=\"\n callLogHistoryConfiguration.callLogRequestBuilder\n \" [onItemClick]=\"callLogHistoryConfiguration.onItemClick || onItemClick\" [onBackClick]=\"\n callLogHistoryConfiguration.onBackClick || handlePageOnBackClick\n \" [listItemStyle]=\"callLogHistoryConfiguration.listItemStyle\"\n [datePattern]=\"callLogHistoryConfiguration.datePattern\" [dateSeparatorPattern]=\"\n callLogHistoryConfiguration.dateSeparatorPattern\n \" [callLogHistoryStyle]=\"\n callLogHistoryConfiguration.callLogHistoryStyle\n \" [onError]=\"callLogHistoryConfiguration.onError!\"></cometchat-call-log-history>\n </div>\n\n </div>\n </div>\n</div>\n\n\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"customProfileView\">\n </ng-container>\n</ng-template>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-call-log-details__header{display:flex;gap:10px;align-items:center;height:3%}.cc-call-log-details{height:98%}.cc-call-log-details__profile{display:flex;align-items:center;justify-content:center}.cc-call-log-details__default-profile{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.cc-call-log-details__section{margin:10px 3px 3px}.cc-call-log-details__option{margin-top:5px}.cc-call-log-details__calling-default-option{display:flex;align-items:center;justify-content:center;margin:10px}.cc-call-log-details__call-Status{display:flex;justify-content:space-between}.cc-call-log-details__call-Status__subTitle{display:flex;justify-content:space-between;margin:10px 0;padding-right:8px;width:100%}.cc-call-log-details__call-Status__tailview{color:gray}.cc-call-log-details__secondary-view__tail-view{display:flex;align-items:center;justify-content:center;gap:5px;color:RGBA(20,20,20,.68)}\n"], components: [{ type: CometChatCallButtonsComponent, selector: "cometchat-call-buttons", inputs: ["user", "group", "voiceCallIconURL", "voiceCallIconText", "voiceCallIconHoverText", "videoCallIconURL", "videoCallIconText", "videoCallIconHoverText", "onVoiceCallClick", "onVideoCallClick", "onError", "callButtonsStyle", "outgoingCallConfiguration", "ongoingCallConfiguration"] }, { type: CometChatCallLogParticipantsComponent, selector: "cometchat-call-log-participants", inputs: ["title", "call", "backIconUrl", "onBackClick", "datePattern", "subtitleView", "listItemView", "onError", "hideSeparator", "avatarStyle", "dateStyle", "CallLogParticipantsStyle", "listItemStyle"] }, { type: CometChatCallLogRecordingsComponent, selector: "cometchat-call-log-recordings", inputs: ["title", "call", "onBackClick", "backIconURL", "datePattern", "subtitleView", "listItemView", "downloadIconURL", "onDownloadClick", "hideDownloadButton", "onError", "avatarStyle", "dateStyle", "CallLogRecordingsStyle", "listItemStyle", "options"] }, { type: CometChatCallLogHistoryComponent, selector: "cometchat-call-log-history", inputs: ["user", "group", "title", "emptyStateView", "errorStateView", "loadingStateView", "subtitleView", "listItemView", "menu", "emptyStateText", "errorStateText", "loadingIconURL", "backIconUrl", "onItemClick", "onBackClick", "callLogRequestBuilder", "DateSeparatorPattern", "hideSeparator", "dateSeparatorStyle", "hideError", "onError", "showSectionHeader", "sectionHeaderField", "datePattern", "avatarStyle", "dateStyle", "CallLogHistoryStyle", "listItemStyle"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21403
21595
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallLogDetailsComponent, decorators: [{
|
|
21404
21596
|
type: Component,
|
|
21405
|
-
args: [{ selector: "cometchat-call-log-details", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-call-log-details__wrapper\" *ngIf=\"user || group\" [ngStyle]=\"wrapperStyle()\">\n\n <div class=\"cc-call-log-details__header\"\n *ngIf=\"onBackClick && !(showParticipantsList || showCallRecordingList || showCallHistory)\">\n <cometchat-button [iconURL]=\"backIconUrl\" class=\"cc-call-log-details__close-button\" [buttonStyle]=\"backButtonStyle()\"\n (cc-button-clicked)=\"onBackClick()\"></cometchat-button>\n <cometchat-label [text]=\"title\" [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n </div>\n\n <div class=\"cc-call-log-details\">\n <div class=\"cc-call-log-details__profile\"\n *ngIf=\"!hideProfile && showCallLogDetailOptionList && !(showParticipantsList || showCallRecordingList || showCallHistory)\">\n\n\n <div class=\" cc-call-log-details__default-profile\" *ngIf=\"!customProfileView;else listitem\">\n <cometchat-avatar [name]=\"user?.getName() ?? group?.getName()\" [avatarStyle]=\"avatarStyle\"\n [image]=\"user?.getAvatar() ?? group?.getIcon()\">\n </cometchat-avatar>\n\n <cometchat-label [text]=\"user?.getName() ?? this.group?.getName()\"></cometchat-label>\n </div>\n </div>\n <div class=\"cc-call-log-details__section-list\"\n *ngIf=\"showCallLogDetailOptionList && defaultTemplate && defaultTemplate.length > 0\">\n <div class=\"cc-call-log-details__section\" *ngFor=\"let item of defaultTemplate\">\n <div class=\"cc-call-log-details__section-separator\" *ngIf=\"item.title\">\n <cometchat-label [text]=\"item.title\"></cometchat-label>\n </div>\n <div class=\"cc-call-log-details__options-wrapper\" *ngIf=\"getTemplateOptions(item)\">\n <div class=\"cc-call-log-details__options\" *ngFor=\"let option of getTemplateOptions(item); trackBy: trackByFnOption \">\n <div class=\"cc-call-log-details__option\" *ngIf=\"!getCustomOptionView(option);else customView\">\n <div class=\"cc-call-log-details__option-element\">\n\n <div class=\"cc-call-log-details__calling-default-option\" *ngIf=\"option.id=='calls'\">\n\n <cometchat-call-buttons [user]=\"user\" [group]=\"group\"\n [callButtonsStyle]=\"callButtonsConfiguration.callButtonsStyle\"\n [onVideoCallClick]=\"callButtonsConfiguration.onVideoCallClick\"\n [onVoiceCallClick]=\"callButtonsConfiguration.onVoiceCallClick\"\n [videoCallIconURL]=\"callButtonsConfiguration.videoCallIconURL\"\n [voiceCallIconURL]=\"callButtonsConfiguration.voiceCallIconURL\"></cometchat-call-buttons>\n </div>\n <cometchat-list-item *ngIf=\"option.id==='callStatus'\" [listItemStyle]=\"getListItemStyle(option)\"\n [hideSeparator]=\"true\">\n <div class=\"cc-call-log-details__call-Status\" slot=\"subtitleView\" >\n <div *ngIf=\"!subtitleView; else subtitle\" style=\"width: 100%;\">\n <div> <cometchat-date [dateStyle]=\"dateStyle\" [timestamp]=\"call?.getInitiatedAt()\"\n [pattern]=\"datePattern2\">\n </cometchat-date></div>\n\n <div\n class=\"cc-call-log-details__call-Status__subTitle\">\n <div>\n\n <cometchat-date [dateStyle]=\"dateStyle\" [timestamp]=\"call?.getInitiatedAt()\"\n [pattern]=\"datePattern\">\n </cometchat-date>\n <cometchat-label [text]=\"getSubtitle(call)\" [labelStyle]=\"subtitleStyle(option)\">\n </cometchat-label>\n </div>\n <div class=\"cc-call-log-details__call-Status__tailview\"> {{ getTailView(call?.getTotalDurationInMinutes()!) }}\n </div>\n\n </div>\n\n\n </div>\n\n <ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n </ng-container>\n </ng-template>\n </div>\n\n\n </cometchat-list-item>\n <cometchat-list-item *ngIf=\"option.id!=='calls' && option.id!=='callStatus' \"\n (cc-listitem-clicked)=\"onOptionClick(option)\" [listItemStyle]=\"getListItemStyle(option)\"\n [title]=\"option.title\" [hideSeparator]=\"true\">\n \n <div slot=\"tailView\" class=\"cc-call-log-details__secondary-view__tail-view\"\n >\n {{option.tail}}\n <cometchat-icon [iconStyle]=\"iconStyle\" [URL]=\"greaterThanIconURL\"></cometchat-icon>\n </div>\n\n \n\n </cometchat-list-item>\n\n </div>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n </div>\n <ng-template #customView>\n <ng-container *ngTemplateOutlet=\"getCustomOptionView(option)\">\n </ng-container>\n </ng-template>\n </div>\n </div>\n </div>\n </div>\n\n\n\n <div *ngIf=\"showParticipantsList || showCallRecordingList || showCallHistory\" style=\" height: 100%;\">\n\n <div *ngIf=\"showParticipantsList\" style=\"height: 100%;\">\n <cometchat-call-log-participants [call]=\"call\"\n [onBackClick]=\"callLogParticipantsConfiguration.onBackClick || handlePageOnBackClick\"\n [backIconUrl]=\"callLogParticipantsConfiguration.backIconUrl || backIconUrl\"\n [avatarStyle]=\"callLogParticipantsConfiguration.avatarStyle\"\n [onItemClick]=\"callLogParticipantsConfiguration.onItemClick!\"\n [datePattern]=\"callLogParticipantsConfiguration.datePattern\"\n [subtitleView]=\"callLogParticipantsConfiguration.subtitleView\"\n [listItemView]=\"callLogParticipantsConfiguration.listItemView\"\n\n [listItemStyle]=\"callLogParticipantsConfiguration.listItemStyle\" [callLogParticipantsStyle]=\"\n callLogParticipantsConfiguration.callLogParticipantsStyle\"\n \n [tailView]=\"callLogParticipantsConfiguration.tailView\"></cometchat-call-log-participants>\n </div>\n <div *ngIf=\"showCallRecordingList\" style=\"height:100%;\">\n <cometchat-call-log-recordings [call]=\"call\"\n [backIconUrl]=\"callLogRecordingsConfiguration.backIconUrl || backIconUrl\" [onBackClick]=\"\n callLogRecordingsConfiguration.onBackClick || handlePageOnBackClick\n \" [onItemClick]=\"callLogRecordingsConfiguration.onItemClick!\"\n [datePattern]=\"callLogRecordingsConfiguration.datePattern!\"\n [listItemStyle]=\"callLogRecordingsConfiguration.listItemStyle\" callLogRecordingsStyle=\"\n callLogRecordingsConfiguration.callLogRecordingsStyle\n callLogRecordingsConfiguration.hideDownloadButton || false\n \" [onDownloadClick]=\"callLogRecordingsConfiguration.onDownloadClick!\"\n [listItemView]=\"callLogRecordingsConfiguration.listItemView\"\n [subtitleView]=\"callLogRecordingsConfiguration.subtitleView\"\n [tailView]=\"callLogRecordingsConfiguration.tailView\"></cometchat-call-log-recordings>\n </div>\n <div *ngIf=\"showCallHistory\" style=\"height: 100%; \">\n <cometchat-call-log-history [call]=\"call\" [user]=\"user\" [group]=\"group\" [onBackClick]=\"handlePageOnBackClick\"\n [backIconUrl]=\"callLogHistoryConfiguration.backIconUrl || backIconUrl\"\n [emptyStateView]=\"callLogHistoryConfiguration.emptyStateView\"\n [errorStateView]=\"callLogHistoryConfiguration.errorStateView\"\n [loadingIconURL]=\"callLogHistoryConfiguration.loadingIconURL\"\n [loadingStateView]=\"callLogHistoryConfiguration.loadingStateView\"\n [tailView]=\"callLogHistoryConfiguration.tailView\" [callLogRequestBuilder]=\"\n callLogHistoryConfiguration.callLogRequestBuilder\n \" [onItemClick]=\"callLogHistoryConfiguration.onItemClick || onItemClick\" [onBackClick]=\"\n callLogHistoryConfiguration.onBackClick || handlePageOnBackClick\n \" [listItemStyle]=\"callLogHistoryConfiguration.listItemStyle\"\n [datePattern]=\"callLogHistoryConfiguration.datePattern\" [dateSeparatorPattern]=\"\n callLogHistoryConfiguration.dateSeparatorPattern\n \" [callLogHistoryStyle]=\"\n callLogHistoryConfiguration.callLogHistoryStyle\n \" [onError]=\"callLogHistoryConfiguration.onError!\"></cometchat-call-log-history>\n </div>\n\n </div>\n </div>\n</div>\n\n\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"customProfileView\">\n </ng-container>\n</ng-template>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-call-log-details__header{display:flex;gap:10px;align-items:center;height:3%}.cc-call-log-details{height:98%}.cc-call-log-details__profile{display:flex;align-items:center;justify-content:center}.cc-call-log-details__default-profile{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.cc-call-log-details__section{margin:10px 3px 3px}.cc-call-log-details__option{margin-top:5px}.cc-call-log-details__calling-default-option{display:flex;align-items:center;justify-content:center;margin:10px}.cc-call-log-details__call-Status{display:flex;justify-content:space-between}.cc-call-log-details__call-Status__subTitle{display:flex;justify-content:space-between;margin:10px 0;padding-right:8px;width:100%}.cc-call-log-details__call-Status__tailview{color:gray}.cc-call-log-details__secondary-view__tail-view{display:flex;align-items:center;justify-content:center;gap:5px;color:RGBA(20,20,20,.68)}\n"] }]
|
|
21597
|
+
args: [{ selector: "cometchat-call-log-details", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-call-log-details__wrapper\" *ngIf=\"user || group\" [ngStyle]=\"wrapperStyle()\">\n\n <div class=\"cc-call-log-details__header\"\n *ngIf=\"onBackClick && !(showParticipantsList || showCallRecordingList || showCallHistory)\">\n <cometchat-button [iconURL]=\"backIconUrl\" class=\"cc-call-log-details__close-button\" [buttonStyle]=\"backButtonStyle()\"\n (cc-button-clicked)=\"onBackClick()\"></cometchat-button>\n <cometchat-label [text]=\"title\" [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n </div>\n\n <div class=\"cc-call-log-details\">\n <div class=\"cc-call-log-details__profile\"\n *ngIf=\"!hideProfile && showCallLogDetailOptionList && !(showParticipantsList || showCallRecordingList || showCallHistory)\">\n\n\n <div class=\" cc-call-log-details__default-profile\" *ngIf=\"!customProfileView;else listitem\" [ngStyle]=\"profileContainerStyle()\">\n <cometchat-avatar [name]=\"user?.getName() ?? group?.getName()\" [avatarStyle]=\"avatarStyle\"\n [image]=\"user?.getAvatar() ?? group?.getIcon()\">\n </cometchat-avatar>\n\n <cometchat-label [text]=\"user?.getName() ?? this.group?.getName()\" [labelStyle]=\"labelStyle\"></cometchat-label>\n </div>\n </div>\n <div class=\"cc-call-log-details__section-list\"\n *ngIf=\"showCallLogDetailOptionList && defaultTemplate && defaultTemplate.length > 0\">\n <div class=\"cc-call-log-details__section\" *ngFor=\"let item of defaultTemplate\">\n <div class=\"cc-call-log-details__section-separator\" *ngIf=\"item.title\">\n <cometchat-label [text]=\"item.title\"></cometchat-label>\n </div>\n <div class=\"cc-call-log-details__options-wrapper\" *ngIf=\"getTemplateOptions(item)\">\n <div class=\"cc-call-log-details__options\" *ngFor=\"let option of getTemplateOptions(item); trackBy: trackByFnOption \">\n <div class=\"cc-call-log-details__option\" *ngIf=\"!getCustomOptionView(option);else customView\">\n <div class=\"cc-call-log-details__option-element\">\n\n <div class=\"cc-call-log-details__calling-default-option\" *ngIf=\"option.id=='calls'\">\n\n <cometchat-call-buttons [user]=\"user\" [group]=\"group\"\n [callButtonsStyle]=\"callButtonsConfiguration.callButtonsStyle\"\n [onVideoCallClick]=\"callButtonsConfiguration.onVideoCallClick\"\n [onVoiceCallClick]=\"callButtonsConfiguration.onVoiceCallClick\"\n [videoCallIconURL]=\"callButtonsConfiguration.videoCallIconURL\"\n [voiceCallIconURL]=\"callButtonsConfiguration.voiceCallIconURL\"></cometchat-call-buttons>\n </div>\n <cometchat-list-item *ngIf=\"option.id==='callStatus'\" [listItemStyle]=\"getListItemStyle(option)\"\n [hideSeparator]=\"true\">\n <div class=\"cc-call-log-details__call-Status\" slot=\"subtitleView\" >\n <div *ngIf=\"!subtitleView; else subtitle\" style=\"width: 100%;\">\n <div> <cometchat-date [dateStyle]=\"dateStyle\" [timestamp]=\"call?.getInitiatedAt()\"\n [pattern]=\"datePattern2\">\n </cometchat-date></div>\n\n <div\n class=\"cc-call-log-details__call-Status__subTitle\">\n <div>\n\n <cometchat-date [dateStyle]=\"dateStyle\" [timestamp]=\"call?.getInitiatedAt()\"\n [pattern]=\"datePattern\">\n </cometchat-date>\n <cometchat-label [text]=\"getSubtitle(call)\" [labelStyle]=\"subtitleStyle(option)\">\n </cometchat-label>\n </div>\n <div class=\"cc-call-log-details__call-Status__tailview\" [style]=\"getTailViewStyle()\"> {{ getTailView(call?.getTotalDurationInMinutes()!) }}\n </div>\n\n </div>\n\n\n </div>\n\n <ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n </ng-container>\n </ng-template>\n </div>\n\n\n </cometchat-list-item>\n <cometchat-list-item *ngIf=\"option.id!=='calls' && option.id!=='callStatus' \"\n (cc-listitem-clicked)=\"onOptionClick(option)\" [listItemStyle]=\"getListItemStyle(option)\"\n [title]=\"option.title\" [hideSeparator]=\"true\">\n \n <div slot=\"tailView\" class=\"cc-call-log-details__secondary-view__tail-view\" [style]=\"getTailViewStyle()\"\n >\n {{option.tail}}\n <cometchat-icon [iconStyle]=\"iconStyle\" [URL]=\"greaterThanIconURL\"></cometchat-icon>\n </div>\n\n \n\n </cometchat-list-item>\n\n </div>\n </div>\n <ng-template #customView>\n <ng-container *ngTemplateOutlet=\"getCustomOptionView(option)\">\n </ng-container>\n </ng-template>\n </div>\n </div>\n </div>\n </div>\n\n\n\n <div *ngIf=\"showParticipantsList || showCallRecordingList || showCallHistory\" style=\" height: 100%;\">\n\n <div *ngIf=\"showParticipantsList\" style=\"height: 100%;\">\n <cometchat-call-log-participants [call]=\"call\"\n [onBackClick]=\"callLogParticipantsConfiguration.onBackClick || handlePageOnBackClick\"\n [backIconUrl]=\"callLogParticipantsConfiguration.backIconUrl || backIconUrl\"\n [avatarStyle]=\"callLogParticipantsConfiguration.avatarStyle\"\n [onItemClick]=\"callLogParticipantsConfiguration.onItemClick!\"\n [datePattern]=\"callLogParticipantsConfiguration.datePattern\"\n [subtitleView]=\"callLogParticipantsConfiguration.subtitleView\"\n [listItemView]=\"callLogParticipantsConfiguration.listItemView\"\n\n [listItemStyle]=\"callLogParticipantsConfiguration.listItemStyle\" [callLogParticipantsStyle]=\"\n callLogParticipantsConfiguration.callLogParticipantsStyle\"\n \n [tailView]=\"callLogParticipantsConfiguration.tailView\"></cometchat-call-log-participants>\n </div>\n <div *ngIf=\"showCallRecordingList\" style=\"height:100%;\">\n <cometchat-call-log-recordings [call]=\"call\"\n [backIconUrl]=\"callLogRecordingsConfiguration.backIconUrl || backIconUrl\" [onBackClick]=\"\n callLogRecordingsConfiguration.onBackClick || handlePageOnBackClick\n \" [onItemClick]=\"callLogRecordingsConfiguration.onItemClick!\"\n [datePattern]=\"callLogRecordingsConfiguration.datePattern!\"\n [listItemStyle]=\"callLogRecordingsConfiguration.listItemStyle\" callLogRecordingsStyle=\"\n callLogRecordingsConfiguration.callLogRecordingsStyle\n callLogRecordingsConfiguration.hideDownloadButton || false\n \" [onDownloadClick]=\"callLogRecordingsConfiguration.onDownloadClick!\"\n [listItemView]=\"callLogRecordingsConfiguration.listItemView\"\n [subtitleView]=\"callLogRecordingsConfiguration.subtitleView\"\n [tailView]=\"callLogRecordingsConfiguration.tailView\"></cometchat-call-log-recordings>\n </div>\n <div *ngIf=\"showCallHistory\" style=\"height: 100%; \">\n <cometchat-call-log-history [call]=\"call\" [user]=\"user\" [group]=\"group\" [onBackClick]=\"handlePageOnBackClick\"\n [backIconUrl]=\"callLogHistoryConfiguration.backIconUrl || backIconUrl\"\n [emptyStateView]=\"callLogHistoryConfiguration.emptyStateView\"\n [errorStateView]=\"callLogHistoryConfiguration.errorStateView\"\n [loadingIconURL]=\"callLogHistoryConfiguration.loadingIconURL\"\n [loadingStateView]=\"callLogHistoryConfiguration.loadingStateView\"\n [tailView]=\"callLogHistoryConfiguration.tailView\" [callLogRequestBuilder]=\"\n callLogHistoryConfiguration.callLogRequestBuilder\n \" [onItemClick]=\"callLogHistoryConfiguration.onItemClick || onItemClick\" [onBackClick]=\"\n callLogHistoryConfiguration.onBackClick || handlePageOnBackClick\n \" [listItemStyle]=\"callLogHistoryConfiguration.listItemStyle\"\n [datePattern]=\"callLogHistoryConfiguration.datePattern\" [dateSeparatorPattern]=\"\n callLogHistoryConfiguration.dateSeparatorPattern\n \" [callLogHistoryStyle]=\"\n callLogHistoryConfiguration.callLogHistoryStyle\n \" [onError]=\"callLogHistoryConfiguration.onError!\"></cometchat-call-log-history>\n </div>\n\n </div>\n </div>\n</div>\n\n\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"customProfileView\">\n </ng-container>\n</ng-template>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-call-log-details__header{display:flex;gap:10px;align-items:center;height:3%}.cc-call-log-details{height:98%}.cc-call-log-details__profile{display:flex;align-items:center;justify-content:center}.cc-call-log-details__default-profile{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.cc-call-log-details__section{margin:10px 3px 3px}.cc-call-log-details__option{margin-top:5px}.cc-call-log-details__calling-default-option{display:flex;align-items:center;justify-content:center;margin:10px}.cc-call-log-details__call-Status{display:flex;justify-content:space-between}.cc-call-log-details__call-Status__subTitle{display:flex;justify-content:space-between;margin:10px 0;padding-right:8px;width:100%}.cc-call-log-details__call-Status__tailview{color:gray}.cc-call-log-details__secondary-view__tail-view{display:flex;align-items:center;justify-content:center;gap:5px;color:RGBA(20,20,20,.68)}\n"] }]
|
|
21406
21598
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { call: [{
|
|
21407
21599
|
type: Input
|
|
21408
21600
|
}], group: [{
|
|
@@ -21441,6 +21633,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
21441
21633
|
type: Input
|
|
21442
21634
|
}], avatarStyle: [{
|
|
21443
21635
|
type: Input
|
|
21636
|
+
}], labelStyle: [{
|
|
21637
|
+
type: Input
|
|
21444
21638
|
}], callDetailsStyle: [{
|
|
21445
21639
|
type: Input
|
|
21446
21640
|
}], listItemStyle: [{
|
|
@@ -21643,10 +21837,10 @@ class CometChatCallLogsWithDetailsComponent {
|
|
|
21643
21837
|
}
|
|
21644
21838
|
}
|
|
21645
21839
|
CometChatCallLogsWithDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallLogsWithDetailsComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
21646
|
-
CometChatCallLogsWithDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatCallLogsWithDetailsComponent, selector: "cometchat-call-logs-with-details", inputs: { isMobileView: "isMobileView", messageText: "messageText", withDetailsStyle: "withDetailsStyle", showMoreInfo: "showMoreInfo", backdropStyle: "backdropStyle", call: "call", callLogDetailsConfiguration: "callLogDetailsConfiguration", callLogConfiguration: "callLogConfiguration", onError: "onError" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-with-details__wrapper\" [ngStyle]=\"chatsWrapperStyles()\">\n <div class=\"cc-with-details__sidebar\" [ngClass]=\"{mobile : isMobileView}\">\n <cometchat-call-logs [activeCall]=\"activeCall\" [showMoreInfo]=\"showMoreInfo\" [backdropStyle]=\"backdropStyle\"\n [activeCall]=\"activeCall\" [titleAlignment]=\"callLogConfiguration?.titleAlignment!\"\n [emptyStateView]=\"callLogConfiguration.emptyStateView\" \n [errorStateView]=\"callLogConfiguration.errorStateView\"\n [subtitleView]=\"callLogConfiguration.subtitleView\" \n [listItemView]=\"callLogConfiguration.listItemView\" \n [tailView]=\"callLogConfiguration.tailView\" \n [loadingIconURL]=\"callLogConfiguration.loadingIconURL\" [loadingStateView]=\"callLogConfiguration.loadingStateView\"\n [callLogRequestBuilder]=\"callLogConfiguration.callLogRequestBuilder\"\n [onItemClick]=\"callLogConfiguration.onItemClick!\" [onInfoClick]=\"callLogConfiguration.onInfoClick || onInfoClick! \"\n [onError]=\"callLogConfiguration.onError!\" [listItemStyle]=\"callLogConfiguration.listItemStyle\"\n [infoIconUrl]=\"callLogConfiguration.infoIconUrl\" [datePattern]=\"callLogConfiguration.datePattern\"\n [dateSeparatorPattern]=\"callLogConfiguration.dateSeparatorPattern\"\n [incomingAudioCallIconUrl]=\"callLogConfiguration.incomingAudioCallIconUrl\"\n [incomingVideoCallIconUrl]=\"callLogConfiguration.incomingVideoCallIconUrl\"\n [outgoingAudioCallIconUrl]=\"callLogConfiguration.outgoingAudioCallIconUrl\"\n [outgoingVideoCallIconUrl]=\"callLogConfiguration.outgoingVideoCallIconUrl\"\n [missedAudioCallIconUrl]=\"callLogConfiguration.missedAudioCallIconUrl\"\n [missedVideoCallIconUrl]=\"callLogConfiguration.missedVideoCallIconUrl\"\n [callLogsStyle]=\"callLogConfiguration.callLogsStyle\" [avatarStyle]=\"callLogConfiguration.avatarStyle\"\n [hideSeparator]=\"callLogConfiguration.hideSeparator\"\n [outgoingCallConfiguration]=\"callLogConfiguration.outgoingCallConfiguration\"></cometchat-call-logs>\n </div>\n <div class=\"cc-with-details__main\" [ngClass]=\"{mobile : isMobileView}\" *ngIf=\"activeCall && (user || group)\">\n <!--call details Screen-->\n <cometchat-call-log-details [user]=\"user!\" [group]=\"group!\" [call]=\"call\"\n [backIconUrl]=\"computedCallLogDetailsConfig.backIconUrl\" [avatarStyle]=\"computedCallLogDetailsConfig.avatarStyle\"\n [onBackClick]=\"computedCallLogDetailsConfig.onBackClick
|
|
21840
|
+
CometChatCallLogsWithDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatCallLogsWithDetailsComponent, selector: "cometchat-call-logs-with-details", inputs: { isMobileView: "isMobileView", messageText: "messageText", withDetailsStyle: "withDetailsStyle", showMoreInfo: "showMoreInfo", backdropStyle: "backdropStyle", call: "call", callLogDetailsConfiguration: "callLogDetailsConfiguration", callLogConfiguration: "callLogConfiguration", onError: "onError" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-with-details__wrapper\" [ngStyle]=\"chatsWrapperStyles()\">\n <div class=\"cc-with-details__sidebar\" [ngClass]=\"{mobile : isMobileView}\">\n <cometchat-call-logs [activeCall]=\"activeCall\" [showMoreInfo]=\"showMoreInfo\" [backdropStyle]=\"backdropStyle\"\n [activeCall]=\"activeCall\" [titleAlignment]=\"callLogConfiguration?.titleAlignment!\"\n [emptyStateView]=\"callLogConfiguration.emptyStateView\" \n [errorStateView]=\"callLogConfiguration.errorStateView\"\n [subtitleView]=\"callLogConfiguration.subtitleView\" \n [listItemView]=\"callLogConfiguration.listItemView\" \n [tailView]=\"callLogConfiguration.tailView\" \n [loadingIconURL]=\"callLogConfiguration.loadingIconURL\" [loadingStateView]=\"callLogConfiguration.loadingStateView\"\n [callLogRequestBuilder]=\"callLogConfiguration.callLogRequestBuilder\"\n [onItemClick]=\"callLogConfiguration.onItemClick!\" [onInfoClick]=\"callLogConfiguration.onInfoClick || onInfoClick! \"\n [onError]=\"callLogConfiguration.onError!\" [listItemStyle]=\"callLogConfiguration.listItemStyle\"\n [infoIconUrl]=\"callLogConfiguration.infoIconUrl\" [datePattern]=\"callLogConfiguration.datePattern\"\n [dateSeparatorPattern]=\"callLogConfiguration.dateSeparatorPattern\"\n [incomingAudioCallIconUrl]=\"callLogConfiguration.incomingAudioCallIconUrl\"\n [incomingVideoCallIconUrl]=\"callLogConfiguration.incomingVideoCallIconUrl\"\n [outgoingAudioCallIconUrl]=\"callLogConfiguration.outgoingAudioCallIconUrl\"\n [outgoingVideoCallIconUrl]=\"callLogConfiguration.outgoingVideoCallIconUrl\"\n [missedAudioCallIconUrl]=\"callLogConfiguration.missedAudioCallIconUrl\"\n [missedVideoCallIconUrl]=\"callLogConfiguration.missedVideoCallIconUrl\"\n [callLogsStyle]=\"callLogConfiguration.callLogsStyle\" [avatarStyle]=\"callLogConfiguration.avatarStyle\"\n [hideSeparator]=\"callLogConfiguration.hideSeparator\"\n [outgoingCallConfiguration]=\"callLogConfiguration.outgoingCallConfiguration\"></cometchat-call-logs>\n </div>\n <div class=\"cc-with-details__main\" [ngClass]=\"{mobile : isMobileView}\" *ngIf=\"activeCall && (user || group)\">\n <!--call details Screen-->\n <cometchat-call-log-details [user]=\"user!\" [group]=\"group!\" [call]=\"call\"\n [backIconUrl]=\"computedCallLogDetailsConfig.backIconUrl\" [avatarStyle]=\"computedCallLogDetailsConfig.avatarStyle\"\n [onBackClick]=\"computedCallLogDetailsConfig.onBackClick || onBackClick\"\n [callLogHistoryConfiguration]=\"computedCallLogDetailsConfig.callLogHistoryConfiguration\"\n [callLogParticipantsConfiguration]=\"computedCallLogDetailsConfig.callLogParticipantsConfiguration\"\n [callLogRecordingsConfiguration]=\"computedCallLogDetailsConfig.callLogRecordingsConfiguration\"\n [callLogDetailStyle]=\"computedCallLogDetailsConfig.callLogDetailsStyle\">\n </cometchat-call-log-details>\n </div>\n\n <div class=\"cc-decorator__message--empty\" *ngIf=\"!user && !group\" [ngStyle]=\"emptyMessageStyle()\">\n <cometchat-label [text]=\"messageText\" [labelStyle]=\"labelStyle\"></cometchat-label>\n </div>", styles: [".cc-with-details__wrapper{display:flex;height:100%;width:100%;box-sizing:border-box}.cc-with-details__sidebar{width:280px;height:100%;position:relative}.cc-with-details__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: CometchatCallLogsComponent, selector: "cometchat-call-logs", inputs: ["title", "titleAlignment", "listItemView", "subtitleView", "tailView", "menu", "emptyStateView", "errorStateView", "emptyStateText", "errorStateText", "loadingStateView", "loadingIconURL", "infoIconUrl", "missedAudioCallIconUrl", "missedVideoCallIconUrl", "outgoingAudioCallIconUrl", "outgoingVideoCallIconUrl", "incomingAudioCallIconUrl", "incomingVideoCallIconUrl", "callLogRequestBuilder", "cometchatCallObject", "onItemClick", "onInfoClick", "onError", "activeCall", "datePattern", "DateSeparatorPattern", "callLogsStyle", "avatarStyle", "hideSeparator", "dateSeparatorStyle", "outgoingCallConfiguration", "hideError", "showSectionHeader", "showMoreInfo", "sectionHeaderField", "backdropStyle", "dateStyle", "listItemStyle", "ongoingCallConfiguration"] }, { type: CometChatCallLogDetailsComponent, selector: "cometchat-call-log-details", inputs: ["call", "group", "user", "title", "onBackClick", "hideProfile", "subtitleView", "customProfileView", "backIconUrl", "greaterThanIconURL", "callButtonsConfiguration", "callLogParticipantsConfiguration", "callLogHistoryConfiguration", "callLogRecordingsConfiguration", "onError", "datePattern", "datePattern2", "data", "avatarStyle", "labelStyle", "callDetailsStyle", "listItemStyle", "dateStyle", "callButtonsStyle"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21647
21841
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallLogsWithDetailsComponent, decorators: [{
|
|
21648
21842
|
type: Component,
|
|
21649
|
-
args: [{ selector: "cometchat-call-logs-with-details", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-with-details__wrapper\" [ngStyle]=\"chatsWrapperStyles()\">\n <div class=\"cc-with-details__sidebar\" [ngClass]=\"{mobile : isMobileView}\">\n <cometchat-call-logs [activeCall]=\"activeCall\" [showMoreInfo]=\"showMoreInfo\" [backdropStyle]=\"backdropStyle\"\n [activeCall]=\"activeCall\" [titleAlignment]=\"callLogConfiguration?.titleAlignment!\"\n [emptyStateView]=\"callLogConfiguration.emptyStateView\" \n [errorStateView]=\"callLogConfiguration.errorStateView\"\n [subtitleView]=\"callLogConfiguration.subtitleView\" \n [listItemView]=\"callLogConfiguration.listItemView\" \n [tailView]=\"callLogConfiguration.tailView\" \n [loadingIconURL]=\"callLogConfiguration.loadingIconURL\" [loadingStateView]=\"callLogConfiguration.loadingStateView\"\n [callLogRequestBuilder]=\"callLogConfiguration.callLogRequestBuilder\"\n [onItemClick]=\"callLogConfiguration.onItemClick!\" [onInfoClick]=\"callLogConfiguration.onInfoClick || onInfoClick! \"\n [onError]=\"callLogConfiguration.onError!\" [listItemStyle]=\"callLogConfiguration.listItemStyle\"\n [infoIconUrl]=\"callLogConfiguration.infoIconUrl\" [datePattern]=\"callLogConfiguration.datePattern\"\n [dateSeparatorPattern]=\"callLogConfiguration.dateSeparatorPattern\"\n [incomingAudioCallIconUrl]=\"callLogConfiguration.incomingAudioCallIconUrl\"\n [incomingVideoCallIconUrl]=\"callLogConfiguration.incomingVideoCallIconUrl\"\n [outgoingAudioCallIconUrl]=\"callLogConfiguration.outgoingAudioCallIconUrl\"\n [outgoingVideoCallIconUrl]=\"callLogConfiguration.outgoingVideoCallIconUrl\"\n [missedAudioCallIconUrl]=\"callLogConfiguration.missedAudioCallIconUrl\"\n [missedVideoCallIconUrl]=\"callLogConfiguration.missedVideoCallIconUrl\"\n [callLogsStyle]=\"callLogConfiguration.callLogsStyle\" [avatarStyle]=\"callLogConfiguration.avatarStyle\"\n [hideSeparator]=\"callLogConfiguration.hideSeparator\"\n [outgoingCallConfiguration]=\"callLogConfiguration.outgoingCallConfiguration\"></cometchat-call-logs>\n </div>\n <div class=\"cc-with-details__main\" [ngClass]=\"{mobile : isMobileView}\" *ngIf=\"activeCall && (user || group)\">\n <!--call details Screen-->\n <cometchat-call-log-details [user]=\"user!\" [group]=\"group!\" [call]=\"call\"\n [backIconUrl]=\"computedCallLogDetailsConfig.backIconUrl\" [avatarStyle]=\"computedCallLogDetailsConfig.avatarStyle\"\n [onBackClick]=\"computedCallLogDetailsConfig.onBackClick
|
|
21843
|
+
args: [{ selector: "cometchat-call-logs-with-details", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-with-details__wrapper\" [ngStyle]=\"chatsWrapperStyles()\">\n <div class=\"cc-with-details__sidebar\" [ngClass]=\"{mobile : isMobileView}\">\n <cometchat-call-logs [activeCall]=\"activeCall\" [showMoreInfo]=\"showMoreInfo\" [backdropStyle]=\"backdropStyle\"\n [activeCall]=\"activeCall\" [titleAlignment]=\"callLogConfiguration?.titleAlignment!\"\n [emptyStateView]=\"callLogConfiguration.emptyStateView\" \n [errorStateView]=\"callLogConfiguration.errorStateView\"\n [subtitleView]=\"callLogConfiguration.subtitleView\" \n [listItemView]=\"callLogConfiguration.listItemView\" \n [tailView]=\"callLogConfiguration.tailView\" \n [loadingIconURL]=\"callLogConfiguration.loadingIconURL\" [loadingStateView]=\"callLogConfiguration.loadingStateView\"\n [callLogRequestBuilder]=\"callLogConfiguration.callLogRequestBuilder\"\n [onItemClick]=\"callLogConfiguration.onItemClick!\" [onInfoClick]=\"callLogConfiguration.onInfoClick || onInfoClick! \"\n [onError]=\"callLogConfiguration.onError!\" [listItemStyle]=\"callLogConfiguration.listItemStyle\"\n [infoIconUrl]=\"callLogConfiguration.infoIconUrl\" [datePattern]=\"callLogConfiguration.datePattern\"\n [dateSeparatorPattern]=\"callLogConfiguration.dateSeparatorPattern\"\n [incomingAudioCallIconUrl]=\"callLogConfiguration.incomingAudioCallIconUrl\"\n [incomingVideoCallIconUrl]=\"callLogConfiguration.incomingVideoCallIconUrl\"\n [outgoingAudioCallIconUrl]=\"callLogConfiguration.outgoingAudioCallIconUrl\"\n [outgoingVideoCallIconUrl]=\"callLogConfiguration.outgoingVideoCallIconUrl\"\n [missedAudioCallIconUrl]=\"callLogConfiguration.missedAudioCallIconUrl\"\n [missedVideoCallIconUrl]=\"callLogConfiguration.missedVideoCallIconUrl\"\n [callLogsStyle]=\"callLogConfiguration.callLogsStyle\" [avatarStyle]=\"callLogConfiguration.avatarStyle\"\n [hideSeparator]=\"callLogConfiguration.hideSeparator\"\n [outgoingCallConfiguration]=\"callLogConfiguration.outgoingCallConfiguration\"></cometchat-call-logs>\n </div>\n <div class=\"cc-with-details__main\" [ngClass]=\"{mobile : isMobileView}\" *ngIf=\"activeCall && (user || group)\">\n <!--call details Screen-->\n <cometchat-call-log-details [user]=\"user!\" [group]=\"group!\" [call]=\"call\"\n [backIconUrl]=\"computedCallLogDetailsConfig.backIconUrl\" [avatarStyle]=\"computedCallLogDetailsConfig.avatarStyle\"\n [onBackClick]=\"computedCallLogDetailsConfig.onBackClick || onBackClick\"\n [callLogHistoryConfiguration]=\"computedCallLogDetailsConfig.callLogHistoryConfiguration\"\n [callLogParticipantsConfiguration]=\"computedCallLogDetailsConfig.callLogParticipantsConfiguration\"\n [callLogRecordingsConfiguration]=\"computedCallLogDetailsConfig.callLogRecordingsConfiguration\"\n [callLogDetailStyle]=\"computedCallLogDetailsConfig.callLogDetailsStyle\">\n </cometchat-call-log-details>\n </div>\n\n <div class=\"cc-decorator__message--empty\" *ngIf=\"!user && !group\" [ngStyle]=\"emptyMessageStyle()\">\n <cometchat-label [text]=\"messageText\" [labelStyle]=\"labelStyle\"></cometchat-label>\n </div>", styles: [".cc-with-details__wrapper{display:flex;height:100%;width:100%;box-sizing:border-box}.cc-with-details__sidebar{width:280px;height:100%;position:relative}.cc-with-details__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"] }]
|
|
21650
21844
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { isMobileView: [{
|
|
21651
21845
|
type: Input
|
|
21652
21846
|
}], messageText: [{
|