@progress/kendo-angular-conversational-ui
Version:
Kendo UI for Angular Conversational UI components
98 lines (97 loc) • 5.72 kB
TypeScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ChangeDetectorRef, ElementRef, OnDestroy, OnInit } from '@angular/core';
import { Message } from './api/message.interface';
import { ChatItem } from './chat-item';
import { MessageContentTemplateDirective } from './templates/message-content-template.directive';
import { IntlService } from '@progress/kendo-angular-intl';
import { ChatFile } from './api/chat-file-interface';
import { ContextMenuPopupEvent } from '@progress/kendo-angular-menu';
import { SVGIcon } from '@progress/kendo-svg-icons';
import { ChatService } from './common/chat.service';
import { MessageAction } from './api';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { ChatStatusTemplateDirective } from './templates/status-template.directive';
import { FormattedTextPart } from './common/models/formatted-text-parts';
import { MessageTemplateDirective } from './templates/message-template.directive';
import { AuthorMessageContentTemplateDirective } from './templates/author-message-content-template.directive';
import { ReceiverMessageContentTemplateDirective } from './templates/receiver-message-content-template.directive';
import { ReceiverMessageTemplateDirective } from './templates/receiver-message-template.directive';
import { AuthorMessageTemplateDirective } from './templates/author-message-template.directive';
import * as i0 from "@angular/core";
/**
* @hidden
*/
export declare class MessageComponent extends ChatItem implements OnInit, OnDestroy {
element: ElementRef;
private intl;
chatService: ChatService;
private localization;
private cdr;
set message(value: Message);
get message(): Message;
tabbable: boolean;
authorMessageContentTemplate: AuthorMessageContentTemplateDirective;
receiverMessageContentTemplate: ReceiverMessageContentTemplateDirective;
messageContentTemplate: MessageContentTemplateDirective;
authorMessageTemplate: AuthorMessageTemplateDirective;
receiverMessageTemplate: ReceiverMessageTemplateDirective;
messageTemplate: MessageTemplateDirective;
statusTemplate: ChatStatusTemplateDirective;
showMessageTime: boolean;
authorId: string | number;
cssClass: boolean;
get removedClass(): boolean;
onKeyDown(event: KeyboardEvent): void;
selected: boolean;
get tabIndex(): string;
expandIcon: SVGIcon;
collapseIcon: SVGIcon;
downloadIcon: SVGIcon;
isMessageExpanded: boolean;
showExpandCollapseIcon: boolean;
fileActions: any;
toolbarActions: MessageAction[];
parts: FormattedTextPart[];
get useCustomBubbleTemplate(): boolean;
get useCustomContentTemplate(): boolean;
get hasMessageContent(): boolean;
get hasFiles(): boolean;
get hasMultipleFiles(): boolean;
get isActiveMessage(): boolean;
get isMessageExpandable(): boolean;
get showToolbar(): boolean;
private subs;
private _message;
constructor(element: ElementRef, intl: IntlService, chatService: ChatService, localization: LocalizationService, cdr: ChangeDetectorRef);
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
calculateExpandCollapseIconVisibility(): boolean;
getActiveBubbleTemplate(): MessageTemplateDirective | AuthorMessageTemplateDirective | ReceiverMessageTemplateDirective | null;
getActiveContentTemplate(): MessageContentTemplateDirective | AuthorMessageContentTemplateDirective | ReceiverMessageContentTemplateDirective | null;
getDeletedMessageText(): string;
textFor(key: string): string;
formatTimeStamp(date: any): string;
focus(): void;
onDownloadAll(): void;
toggleMessageState(event: Event): void;
onExpandableKeydown(event: KeyboardEvent): void;
onToolbarAction(event: Event, action: MessageAction, message: Message): void;
onFileAction(action: any, file: ChatFile): void;
getMessageById(id: string | number): Message | undefined;
onReplyReferenceClick(event: Event, replyToId: string | number): void;
handleMenuClose(event?: ContextMenuPopupEvent): void;
onActionButtonClick(event: MouseEvent): void;
handleMenuOpen(): void;
onActionPopupChange(expanded: boolean): void;
isOwnMessage(msg: Message): boolean;
private getFormattedTextParts;
private getMessageSettings;
private getToolbarActions;
private getFileActions;
static ɵfac: i0.ɵɵFactoryDeclaration<MessageComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MessageComponent, "kendo-chat-message", never, { "message": { "alias": "message"; "required": false; }; "tabbable": { "alias": "tabbable"; "required": false; }; "authorMessageContentTemplate": { "alias": "authorMessageContentTemplate"; "required": false; }; "receiverMessageContentTemplate": { "alias": "receiverMessageContentTemplate"; "required": false; }; "messageContentTemplate": { "alias": "messageContentTemplate"; "required": false; }; "authorMessageTemplate": { "alias": "authorMessageTemplate"; "required": false; }; "receiverMessageTemplate": { "alias": "receiverMessageTemplate"; "required": false; }; "messageTemplate": { "alias": "messageTemplate"; "required": false; }; "statusTemplate": { "alias": "statusTemplate"; "required": false; }; "showMessageTime": { "alias": "showMessageTime"; "required": false; }; "authorId": { "alias": "authorId"; "required": false; }; }, {}, never, never, true, never>;
}