@cometchat/chat-uikit-angular
Version:
Ready-to-use Chat UI Components for Angular (JavaScript/Web)
814 lines (813 loc) • 33.8 kB
TypeScript
import { ChangeDetectorRef, ElementRef, NgZone, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges, TemplateRef } from "@angular/core";
import { AvatarStyle, BackdropStyle, BaseStyle, CallscreenStyle, ConfirmDialogStyle, DateStyle, DocumentBubbleStyle, EmojiKeyboardStyle, FullScreenViewerStyle, MenuListStyle, PanelStyle, ReceiptStyle } from "@cometchat/uikit-elements";
import { CardBubbleStyle, FormBubbleStyle, ImageModerationStyle, MessageInformationConfiguration, MessageListStyle, MessageTranslationStyle, PollsBubbleStyle, SchedulerBubbleStyle, SmartRepliesConfiguration, SmartRepliesStyle, ReactionsStyle, ReactionListConfiguration, ReactionInfoConfiguration, ReactionsConfiguration, CometChatTextFormatter } from "@cometchat/uikit-shared";
import { CometChatMessageOption, CometChatMessageTemplate, CometChatTheme, CometChatUIKitConstants, DatePatterns, DocumentIconAlignment, MessageBubbleAlignment, MessageListAlignment, SchedulerMessage, States, TimestampAlignment, localize } from "@cometchat/uikit-resources";
import { LinkPreviewStyle } from "@cometchat/uikit-shared";
import { CometChat } from "@cometchat/chat-sdk-javascript";
import { CometChatThemeService } from "../../CometChatTheme.service";
import { Subscription } from "rxjs";
import * as i0 from "@angular/core";
/**
*
* CometChatMessageList is a wrapper component for messageBubble
*
* @version 1.0.0
* @author CometChatTeam
* @copyright © 2022 CometChat Inc.
*
*/
export declare class CometChatMessageListComponent implements OnInit, OnDestroy, OnChanges {
private ngZone;
private ref;
private themeService;
listScroll: ElementRef;
bottom: ElementRef;
top: ElementRef;
textBubble: TemplateRef<any>;
threadMessageBubble: TemplateRef<any>;
fileBubble: TemplateRef<any>;
audioBubble: TemplateRef<any>;
videoBubble: TemplateRef<any>;
imageBubble: TemplateRef<any>;
formBubble: TemplateRef<any>;
cardBubble: TemplateRef<any>;
stickerBubble: TemplateRef<any>;
documentBubble: TemplateRef<any>;
whiteboardBubble: TemplateRef<any>;
popoverRef: any;
directCalling: TemplateRef<any>;
schedulerBubble: TemplateRef<any>;
pollBubble: TemplateRef<any>;
messageBubbleRef: QueryList<ElementRef>;
hideError: boolean;
hideDateSeparator: boolean;
errorStateView: TemplateRef<any>;
loadingStateView: TemplateRef<any>;
emptyStateView: TemplateRef<any>;
errorStateText: string;
emptyStateText: string;
loadingIconURL: string;
user: CometChat.User;
group: CometChat.Group;
/**
* @deprecated
*
* This property is deprecated as of version 4.3.16 due to newer property 'hideReceipt'. It will be removed in subsequent versions.
*/
disableReceipt: boolean;
hideReceipt: boolean;
disableSoundForMessages: boolean;
customSoundForMessages: string;
readIcon: string;
deliveredIcon: string;
sentIcon: string;
waitIcon: string;
errorIcon: string;
aiErrorIcon: string;
aiEmptyIcon: string;
alignment: MessageListAlignment;
showAvatar: boolean;
datePattern: DatePatterns;
timestampAlignment: TimestampAlignment;
DateSeparatorPattern: DatePatterns;
templates: CometChatMessageTemplate[];
messagesRequestBuilder: CometChat.MessagesRequestBuilder;
newMessageIndicatorText: string;
scrollToBottomOnNewMessages: boolean;
thresholdValue: number;
unreadMessageThreshold: number;
reactionsConfiguration: ReactionsConfiguration;
disableReactions: Boolean;
emojiKeyboardStyle: EmojiKeyboardStyle;
apiConfiguration?: (user?: CometChat.User, group?: CometChat.Group) => Promise<Object>;
onThreadRepliesClick: ((message: CometChat.BaseMessage, view: TemplateRef<any>) => void) | null;
headerView: TemplateRef<any>;
footerView: TemplateRef<any>;
parentMessageId: number;
threadIndicatorIcon: string;
avatarStyle: AvatarStyle;
backdropStyle: BackdropStyle;
dateSeparatorStyle: DateStyle;
messageListStyle: MessageListStyle;
onError: ((error: CometChat.CometChatException) => void) | null;
messageInformationConfiguration: MessageInformationConfiguration;
disableMentions: boolean;
state: States;
optionsStyle: MenuListStyle;
receiptStyle: ReceiptStyle;
documentBubbleAlignment: DocumentIconAlignment;
callBubbleAlignment: DocumentIconAlignment;
imageModerationStyle: ImageModerationStyle;
timestampEnum: typeof TimestampAlignment;
chatChanged: boolean;
starterErrorStateText: string;
starterEmptyStateText: string;
starterLoadingStateText: string;
summaryErrorStateText: string;
summaryEmptyStateText: string;
summaryLoadingStateText: string;
requestBuilder: any;
closeImageModeration: any;
timeStampColor: string;
timeStampFont: string;
smartReplyStyle: SmartRepliesStyle;
conversationStarterStyle: SmartRepliesStyle;
conversationSummaryStyle: PanelStyle;
showSmartReply: boolean;
enableConversationStarter: boolean;
showConversationStarter: boolean;
conversationStarterState: States;
conversationStarterReplies: string[];
enableConversationSummary: boolean;
showConversationSummary: boolean;
conversationSummaryState: States;
conversationSummary: string[];
getUnreadCount: any;
ccHidePanel: Subscription;
ccShowPanel: Subscription;
smartReplyMessage: CometChat.BaseMessage | null;
enableSmartReply: boolean;
smartReplyConfig: SmartRepliesConfiguration;
timeStampBackground: string;
linkPreviewStyle: LinkPreviewStyle;
unreadMessagesStyle: {};
modalStyle: {
height: string;
width: string;
closeIconTint: string;
};
dividerStyle: BaseStyle;
pollBubbleStyle: PollsBubbleStyle;
labelStyle: any;
imageBubbleStyle: any;
messagesList: CometChat.BaseMessage[];
bubbleDateStyle: DateStyle;
whiteboardIconURL: string;
documentIconURL: string;
directCallIconURL: string;
placeholderIconURL: string;
downloadIconURL: string;
translationStyle: MessageTranslationStyle;
documentBubbleStyle: DocumentBubbleStyle;
callBubbleStyle: DocumentBubbleStyle;
whiteboardTitle: string;
whiteboardSubitle: string;
whiteboardButtonText: string;
documentTitle: string;
documentSubitle: string;
documentButtonText: string;
joinCallButtonText: string;
topObserver: IntersectionObserver;
bottomObserver: IntersectionObserver;
localize: typeof localize;
reinitialized: boolean;
addReactionIconURL: string;
MessageTypesConstant: typeof CometChatUIKitConstants.MessageTypes;
callConstant: string;
typesMap: any;
messageTypesMap: any;
theme: CometChatTheme;
groupListenerId: string;
callListenerId: string;
loggedInUser: CometChat.User;
states: typeof States;
MessageCategory: Readonly<{
message: string;
custom: string;
action: string;
call: string;
interactive: string;
}>;
numberOfTopScroll: number;
keepRecentMessages: boolean;
messageTemplate: CometChatMessageTemplate[];
openContactsView: boolean;
messageCount: number;
isOnBottom: boolean;
UnreadCount: CometChat.BaseMessage[];
newMessageCount: number | string;
type: string;
confirmText: string;
cancelText: string;
warningText: string;
ccMessageDelete: Subscription;
ccMessageReact: Subscription;
ccMessageRead: Subscription;
ccMessageEdit: Subscription;
ccLiveReaction: Subscription;
ccMessageSent: Subscription;
ccMessageEdited: Subscription;
ccGroupMemberAdded: Subscription;
ccGroupLeft: Subscription;
ccGroupMemberJoined: Subscription;
ccGroupMemberKicked: Subscription;
ccGroupMemberBanned: Subscription;
ccOwnershipChanged: Subscription;
ccGroupDeleted: Subscription;
ccGroupCreated: Subscription;
ccOutgoingCall: Subscription;
ccCallRejected: Subscription;
ccCallEnded: Subscription;
ccCallAccepted: Subscription;
ccGroupMemberScopeChanged: Subscription;
onTextMessageReceived: Subscription;
onMessageReactionAdded: Subscription;
onMessageReactionRemoved: Subscription;
onCustomMessageReceived: Subscription;
onFormMessageReceived: Subscription;
onSchedulerMessageReceived: Subscription;
onCardMessageReceived: Subscription;
onCustomInteractiveMessageReceived: Subscription;
onMediaMessageReceived: Subscription;
onMessagesDelivered: Subscription;
onMessagesRead: Subscription;
onMessagesReadByAll: Subscription;
onMessagesDeliveredToAll: Subscription;
onMessageDeleted: Subscription;
onMessageEdited: Subscription;
onTransientMessageReceived: Subscription;
onInteractionGoalCompleted: Subscription;
threadedAlignment: MessageBubbleAlignment;
messageInfoAlignment: MessageBubbleAlignment;
openEmojiKeyboard: boolean;
keyboardAlignment: string;
popoverStyle: any;
videoBubbleStyle: BaseStyle;
threadViewAlignment: MessageBubbleAlignment;
whiteboardURL: string | URL | undefined;
enableDataMasking: boolean;
enableThumbnailGeneration: boolean;
enableLinkPreview: boolean;
enablePolls: boolean;
enableReactions: boolean;
enableImageModeration: boolean;
enableStickers: boolean;
enableWhiteboard: boolean;
enableDocument: boolean;
showOngoingCall: boolean;
enableCalling: boolean;
ongoingCallStyle: CallscreenStyle;
sessionId: string;
openMessageInfoPage: boolean;
messageInfoObject: CometChat.BaseMessage;
firstReload: boolean;
isWebsocketReconnected: boolean;
connectionListenerId: string;
lastMessageId: number;
isConnectionReestablished: boolean;
textFormatters?: Array<CometChatTextFormatter>;
closeIconURL: string;
threadOpenIcon: string;
confirmDialogStyle: ConfirmDialogStyle;
messageToReact: CometChat.BaseMessage | null;
limit: number;
types: string[];
categories: string[];
callbacks: Map<string, (sessionId: string) => void>;
constructor(ngZone: NgZone, ref: ChangeDetectorRef, themeService: CometChatThemeService);
ngOnChanges(changes: SimpleChanges): void;
sendMessage(message: CometChat.BaseMessage, receiverId: string, receiverType: string): Promise<unknown>;
closeContactsPage: () => void;
addReaction: (event: any) => void;
getCallBubbleTitle(message: CometChat.BaseMessage): any;
getCallActionMessage: (call: CometChat.Call) => string;
ngOnDestroy(): void;
/**
* Creates a new ReactionsStyle object with the defined or default styles.
*
* @returns {ReactionsStyle} Returns an instance of ReactionsStyle with the set or default styles.
*/
getReactionsStyle(): ReactionsStyle;
isMobileView: () => boolean;
getBubbleById(id: string): ElementRef | undefined;
showEmojiKeyboard: (id: number, event: any) => void;
setBubbleView: () => void;
openThreadView: (message: CometChat.BaseMessage) => void;
threadCallback: (id: number) => void;
deleteCallback: (id: number) => void;
editCallback: (id: number) => void;
copyCallback: (id: number) => void;
messagePrivatelyCallback: (id: number) => void;
messageInfoCallback: (id: number) => void;
openMessageInfo(messageObject: CometChat.BaseMessage): void;
closeMessageInfoPage: () => void;
sendMessagePrivately(messageObject: CometChat.BaseMessage): void;
getMessageById(id: number | string): false | import("@cometchat/chat-sdk-javascript").BaseMessage;
isTranslated(message: CometChat.TextMessage): any;
updateTranslatedMessage: (translation: any) => void;
translateMessage: (id: number) => void;
setOptionsCallback(options: CometChatMessageOption[], id: number): CometChatMessageOption[];
/**
* send message options based on type
* @param {CometChat.BaseMessage} msgObject
*/
setMessageOptions(msgObject: CometChat.BaseMessage): CometChatMessageOption[];
/**
* Reacts to a message by either adding or removing the reaction.
*
* @param {string} emoji - The emoji used for the reaction.
* @param {CometChat.BaseMessage} message - The message that was reacted to.
*/
reactToMessage(emoji: string, message: CometChat.BaseMessage): void;
/**
* Filters out the 'add reaction' option if reactions are disabled.
*
* @param {CometChatMessageOption[]} options - The original set of message options.
* @returns {CometChatMessageOption[]} The filtered set of message options.
*/
filterEmojiOptions: (options: CometChatMessageOption[]) => CometChatMessageOption[];
getClonedReactionObject(message: CometChat.BaseMessage): import("@cometchat/chat-sdk-javascript").BaseMessage;
/**
* passing style based on message object
* @param {CometChat.BaseMessage} messageObject
*/
setMessageBubbleStyle(msg: CometChat.BaseMessage): BaseStyle;
getSessionId(message: CometChat.CustomMessage): any;
getWhiteboardDocument(message: CometChat.CustomMessage): any;
openLinkURL(event: any): void;
getSticker(message: CometChat.CustomMessage): any;
/**
* Checks if the 'statusInfoView' is present in the default template provided by the user
* If present, returns the user-defined template, otherwise returns null.
*
* @param message Message object for which the status info view needs to be fetched
* @returns User-defined TemplateRef if present, otherwise null
*/
getContentView: (message: CometChat.BaseMessage) => TemplateRef<any> | null;
/**
* Checks if the 'headerView' is present in the default template provided by the user
* If present, returns the user-defined template, otherwise returns null.
*
* @param message Message object for which the status info view needs to be fetched
* @returns User-defined TemplateRef if present, otherwise null
*/
getHeaderView(message: CometChat.BaseMessage): TemplateRef<any> | null;
/**
* Checks if the 'footerView' is present in the default template provided by the user
* If present, returns the user-defined template, otherwise returns null.
*
* @param message Message object for which the status info view needs to be fetched
* @returns User-defined TemplateRef if present, otherwise null
*/
getFooterView(message: CometChat.BaseMessage): TemplateRef<any> | null;
/**
* Checks if the 'bottomView' is present in the default template provided by the user
* If present, returns the user-defined template, otherwise returns null.
*
* @param message Message object for which the status info view needs to be fetched
* @returns User-defined TemplateRef if present, otherwise null
*/
getBottomView(message: CometChat.BaseMessage): TemplateRef<any> | null;
/**
* Checks if the 'statusInfoView' is present in the default template provided by the user
* If present, returns the user-defined template, otherwise returns null.
*
* @param message Message object for which the status info view needs to be fetched
* @returns User-defined TemplateRef if present, otherwise null
*/
getStatusInfoView(message: CometChat.BaseMessage): TemplateRef<any> | null;
isAudioOrVideoMessage(message: CometChat.BaseMessage): boolean;
setBubbleAlignment: (message: CometChat.BaseMessage) => MessageBubbleAlignment;
getFormMessageBubbleStyle(): FormBubbleStyle;
getCardMessageBubbleStyle(): CardBubbleStyle;
getCallBubbleStyle(message: CometChat.BaseMessage): {
titleFont: string;
titleColor: string | undefined;
iconTint: string | undefined;
buttonTextFont: string;
buttonTextColor: string | undefined;
buttonBackground: string | undefined;
width: string;
};
getBubbleWrapper: (message: CometChat.BaseMessage) => TemplateRef<any> | null;
getBubbleAlignment(message: CometChat.BaseMessage): MessageBubbleAlignment.left | MessageBubbleAlignment.right;
setTranslationStyle: (message: CometChat.BaseMessage) => MessageTranslationStyle;
getCallTypeIcon(message: CometChat.BaseMessage): "assets/Audio-Call.svg" | "assets/Video-call.svg";
callStatusStyle(message: CometChat.BaseMessage): {
buttonTextFont: string;
buttonTextColor: string | undefined;
borderRadius: string;
border: string;
buttonIconTint: string | undefined;
background: string;
iconBackground: string;
padding: string;
gap: string;
height: string;
justifyContent: string;
} | null;
setTextBubbleStyle: (message: CometChat.BaseMessage) => {
textFont: string;
textColor: string | undefined;
bubblePadding: string;
} | {
textFont: string;
textColor: string | undefined;
bubblePadding?: undefined;
};
isPartOfCurrentChatForUIEvent: (message: CometChat.BaseMessage) => boolean;
isPartOfCurrentChatForSDKEvent: (message: CometChat.BaseMessage) => boolean;
isThreadOfCurrentChatForUIEvent: (message: CometChat.BaseMessage) => boolean;
isThreadOfCurrentChatForSDKEvent: (message: CometChat.BaseMessage) => boolean;
setFileBubbleStyle(message: CometChat.BaseMessage): any;
ngAfterViewInit(): void;
getStartCallFunction(message: CometChat.CustomMessage): (sessionId: string) => void;
startDirectCall: (sessionId: string, message: any) => void;
launchCollaborativeWhiteboardDocument: (url: string) => void;
/**
* Extracting types and categories from template
*
*/
checkMessageTemplate(): void;
getPollBubbleData(message: CometChat.CustomMessage, type?: string): any;
getThreadCount(message: CometChat.BaseMessage): string;
showEnabledExtensions(): void;
openConfirmDialog: boolean;
openFullscreenView: boolean;
imageurlToOpen: string;
fullScreenViewerStyle: FullScreenViewerStyle;
openImageInFullScreen(message: any): void;
closeImageInFullScreen(): void;
openWarningDialog(event: any): void;
onConfirmClick: () => void;
onCancelClick(): void;
getTextMessage(message: CometChat.TextMessage): string;
getLinkPreview(message: CometChat.TextMessage): any;
getImageThumbnail(msg: CometChat.MediaMessage): string;
getLinkPreviewDetails(key: string, message: CometChat.TextMessage): string;
ngOnInit(): void;
setOngoingCallStyle: () => void;
setAvatarStyle(): void;
setDateStyle(): void;
setMessagesStyle(): void;
getReceiptStyle(message: CometChat.BaseMessage): {
waitIconTint?: string | undefined;
sentIconTint?: string | undefined;
deliveredIconTint?: string | undefined;
readIconTint?: string | undefined;
errorIconTint?: string | undefined;
height?: string | undefined;
width?: string | undefined;
border?: string | undefined;
borderRadius?: string | undefined;
background?: string | undefined;
};
createRequestBuilder(): void;
computeUnreadCount(): void;
/**
* Listener To Receive Messages in Real Time
* @param
*/
fetchPreviousMessages: () => void;
fetchActionMessages(): void;
fetchNextMessage: () => void;
appendMessages: (messages: CometChat.BaseMessage[]) => void;
attachConnectionListener(): void;
addMessageEventListeners(): void;
/**
*
* @param
*/
/**
* Updates messageList on basis of user activity or group activity or calling activity
* @param {any=null} key
* @param {CometChat.MessageReceipt | CometChat.BaseMessage} message
* @param {CometChat.Group | null=null} group
* @param {any=null} options
*/
messageUpdate(key?: string | null, message?: CometChat.MessageReceipt | CometChat.BaseMessage | any, group?: CometChat.Group | null, options?: any): void;
/**
* Updates a message's reactions based on a new reaction.
*
* @param {CometChat.ReactionEvent} message - The new message reaction.
* @param {boolean} isAdded - True if the reaction was added, false if it was removed.
* @returns {boolean} Returns false if the message was not found, true otherwise.
*/
onReactionUpdated(message: CometChat.ReactionEvent, isAdded: boolean): boolean;
/**
* translate message then call update message
* @param {CometChat.BaseMessage} message
*/
/**
* @param {CometChat.BaseMessage} message
*/
markMessageAsDelivered: (message: CometChat.BaseMessage) => void;
/**
* When Message is Received
* @param message
*/
/**
* @param {CometChat.BaseMessage} message
*/
messageReceived(message: CometChat.BaseMessage): void;
/**
* Updating the reply count of Thread Parent Message
* @param {CometChat.BaseMessage} messages
*/
updateReplyCount(messages: CometChat.BaseMessage): void;
/**
* @param {CometChat.BaseMessage} message
* @param {string} type
*/
messageReceivedHandler: (message: CometChat.BaseMessage) => void;
playAudio(): void;
getCallBuilder: () => any;
reInitializeMessageList(): void;
reInitializeMessageBuilder: () => void;
getMessageReceipt(message: CometChat.BaseMessage): import("@cometchat/uikit-shared/dist/Utils/MessageReceiptUtils").receipts;
messageReadAndDelivered(message: CometChat.MessageReceipt, isGroupReceipt?: boolean): void;
/**
* @param {CometChat.BaseMessage} readMessage
*/
markAllMessagAsRead(messageKey: number): void;
markAllMessagAsDelivered(messageKey: number): void;
/**
* Emits an Action Indicating that a message was deleted by the user/person you are chatting with
* @param {CometChat.BaseMessage} message
*/
/**
* Detects if the message that was edit is your current open conversation window
* @param {CometChat.BaseMessage} message
*/
messageEdited: (message: CometChat.BaseMessage) => void;
updateInteractiveMessage: (receipt: CometChat.InteractionReceipt) => void;
/**
* Emits an Action Indicating that a message was deleted by the user/person you are chatting with
* @param {CometChat.BaseMessage} message
*/
updateEditedMessage: (message: CometChat.BaseMessage) => void;
/**
* Emits an Action Indicating that Group Data has been updated
* @param
*/
/**
* When custom messages are received eg. Poll, Stickers emits action to update message list
* @param message
*/
/**
* @param {CometChat.BaseMessage} message
*/
customMessageReceived(message: CometChat.BaseMessage): any;
/**
* @param {CometChat.BaseMessage} message
* @param {string} type
*/
customMessageReceivedHandler: (message: CometChat.BaseMessage) => void;
/**
* Compares two dates and sets Date on a a new day
*/
/**
* @param {number} firstDate
* @param {number} secondDate
*/
isDateDifferent(firstDate: number | undefined, secondDate: number | undefined): boolean;
/**
* Returns formatters for the text bubbles
*
* @param {CometChat.BaseMessage} message
* @returns
*/
getTextFormatters: (message: CometChat.BaseMessage) => CometChatTextFormatter[];
/**
* prepend Fetched Messages
* @param {CometChat.BaseMessage} messages
*/
prependMessages(messages: CometChat.BaseMessage[]): void;
/**
* listening to bottom scroll using intersection observer
*/
ioBottom(): void;
/**
* listening to top scroll using intersection observer
*/
ioTop(): void;
addMessage: (message: CometChat.BaseMessage) => void;
/**
* callback for copy message
* @param {CometChat.TextMessage} object
*/
onCopyMessage: (object: CometChat.TextMessage) => void;
/**
* This is to ensure that the uid doesn't get copied when clicking on the copy option.
* This function changes the uid regex to '@userName' without formatting
*
* @param {CometChat.TextMessage} message
* @returns
*/
getMentionsTextWithoutStyle(message: CometChat.TextMessage): string;
/**
* callback for deleteMessage
* @param {CometChat.BaseMessage} object
*/
/**
* @param {CometChat.BaseMessage} messages
*/
messageSent(messages: CometChat.BaseMessage): void;
/**
* callback for editMessage option
* @param {CometChat.BaseMessage} object
*/
onEditMessage: (object: CometChat.BaseMessage) => void;
updateMessage(message: CometChat.BaseMessage, muid?: boolean): void;
removeMessage: (message: CometChat.BaseMessage) => void;
/**
* Returns the style configuration for the thread view of a message.
*
* @param {CometChat.BaseMessage} message - The message that the style configuration is for.
* @returns {Object} The style configuration object.
*/
getThreadViewStyle(message: CometChat.BaseMessage): {
height: string;
width: string;
border: string;
borderRadius: string;
background: string;
buttonIconTint: string | undefined;
display: string;
flexFlow: string;
alignItems: string;
buttonTextColor: string | undefined;
buttonTextFont: string | undefined;
iconHeight: string;
iconWidth: string;
gap: string;
};
/**
* Checks if a message was sent by the currently logged in user.
*
* @param {CometChat.BaseMessage} message - The message to check.
* @returns {boolean} Returns true if the message is sent by the logged in user, false otherwise.
*/
isSentByMe(message: CometChat.BaseMessage): boolean;
deleteMessage: (message: CometChat.BaseMessage) => void;
scrollToBottom: () => void;
showHeaderTitle(message: CometChat.BaseMessage): boolean;
/**
* Updates the count of unread reply messages for a given message.
*
* @param {CometChat.BaseMessage} message - The message for which the reply count is being updated.
*/
updateUnreadReplyCount: (message: CometChat.BaseMessage) => void;
/**
* Method to subscribe the required Rxjs events when the CometChatMessageListComponent loads
*/
subscribeToEvents(): void;
closeSmartReply: () => void;
closeConversationSummary: () => void;
showStatusInfo(message: CometChat.BaseMessage): boolean;
shouldShowMessage(message: CometChat.BaseMessage, disableReceipt: boolean, hideReceipt: boolean): boolean;
sendReply: (event: any) => void;
sendConversationStarter: (event: any) => void;
fetchConversationStarter(): void;
fetchConversationSummary(): string[];
getReplies(): string[] | null;
/**
* Method to unsubscribe all the Rxjs events when the CometChatMessageListComponent gets destroy
*/
unsubscribeToEvents(): void;
/**
* Returns the appropriate thread icon based on the sender of the message.
*
* @param {CometChat.BaseMessage} message - The message for which the thread icon is being determined.
* @returns {boolean} The icon for the thread. If the message was sent by the logged in user, returns 'threadRightArrow'. Otherwise, returns 'threadIndicatorIcon'.
*/
getThreadIconAlignment(message: CometChat.BaseMessage): boolean;
/**
* styling part
*/
getBubbleDateStyle: (message: CometChat.BaseMessage) => {
textColor: string | undefined;
textFont: string;
padding: string;
display: string;
};
chatsListStyle: () => {
height: string | undefined;
background: string | undefined;
};
messageContainerStyle: () => {
width: string | undefined;
};
errorStyle: () => {
textFont: string | undefined;
textColor: string | undefined;
};
conversationStarterStateStyle: () => {
textFont: string;
textColor: string | undefined;
};
conversationSummaryStateStyle: () => {
textFont: string;
textColor: string | undefined;
};
emptyStyle: () => {
textFont: string | undefined;
textColor: string | undefined;
};
loadingStyle: {
iconTint: string | undefined;
};
conversationStarterLoader: () => {
iconTint: string | undefined;
};
conversationSummaryLoader: () => {
iconTint: string | undefined;
};
getSchedulerBubbleStyle: (messgae: SchedulerMessage) => SchedulerBubbleStyle;
/**
* Configuration for the reaction list.
* This includes styles for the avatar, list items, and reaction history.
* @returns {ReactionListConfiguration} - The configured reaction list.
*/
getReactionListConfiguration(): ReactionListConfiguration;
/**
* Handles when a reaction item is clicked.
* @param {CometChat.Reaction} reaction - The clicked reaction.
* @param {CometChat.BaseMessage} message - The message the reaction is associated with.
*/
onReactionItemClicked?: ((reaction: CometChat.Reaction, message: CometChat.BaseMessage) => void) | undefined;
/**
* Handles adding a reaction when clicked.
* @param {CometChat.ReactionCount} reaction - The clicked reaction.
* @param {CometChat.BaseMessage} message - The message the reaction is associated with.
*/
addReactionOnClick: (reaction: CometChat.ReactionCount, message: CometChat.BaseMessage) => void;
/**
* Configuration for the reaction info.
* This includes styles for the reaction info display.
* @returns {ReactionInfoConfiguration} - The configured reaction info.
*/
getReactionInfoConfiguration(): ReactionInfoConfiguration;
/**
* Get style object based on message type.
* @param {CometChat.BaseMessage} message - The message object.
* @return {object} The style object.
*/
getStatusInfoStyle: (message: CometChat.BaseMessage) => {
justifyContent: string;
height: string;
borderRadius: string;
padding: string;
paddingTop: string;
position: string;
marginTop: string;
marginRight: string;
background: string | undefined;
width: string;
alignSelf: string;
marginBottom: string;
display: string;
alignItems: string;
gap: string;
} | {
justifyContent: string;
alignItems: string;
padding: string;
display: string;
gap: string;
};
wrapperStyle: () => {
height: string | undefined;
width: string | undefined;
background: string | undefined;
border: string | undefined;
borderRadius: string | undefined;
};
listStyle: () => {
height: string;
};
/**
* Styling for reactions component
*
*/
getReactionsWrapperStyle(message: CometChat.BaseMessage): {
width: string;
paddingTop: string;
boxSizing: string;
display: string;
marginTop: string;
justifyContent: string;
};
/**
* Styling for unread thread replies
* @returns LabelStyle
*/
getUnreadRepliesCountStyle: () => {
borderRadius: string;
width: string;
height: string;
border: string;
background: string | undefined;
color: string | undefined;
font: string | undefined;
display: string;
justifyContent: string;
alignItems: string;
};
getThreadViewAlignment(message: CometChat.BaseMessage): {
display: string;
justifyContent: string;
};
static ɵfac: i0.ɵɵFactoryDeclaration<CometChatMessageListComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<CometChatMessageListComponent, "cometchat-message-list", never, { "hideError": "hideError"; "hideDateSeparator": "hideDateSeparator"; "errorStateView": "errorStateView"; "loadingStateView": "loadingStateView"; "emptyStateView": "emptyStateView"; "errorStateText": "errorStateText"; "emptyStateText": "emptyStateText"; "loadingIconURL": "loadingIconURL"; "user": "user"; "group": "group"; "disableReceipt": "disableReceipt"; "hideReceipt": "hideReceipt"; "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"; }, {}, never, never>;
}