@progress/kendo-angular-conversational-ui
Version:
Kendo UI for Angular Conversational UI components
74 lines (73 loc) • 3.74 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 { ElementRef, EventEmitter, OnDestroy } from '@angular/core';
import { Message } from './api/message.interface';
import { ChatItem } from './chat-item';
import { MessageTemplateDirective } from './templates/message-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 * as i0 from "@angular/core";
/**
* @hidden
*/
export declare class MessageComponent extends ChatItem implements OnDestroy {
element: ElementRef;
private intl;
chatService: ChatService;
private localization;
message: Message;
tabbable: boolean;
template: MessageTemplateDirective;
statusTemplate: ChatStatusTemplateDirective;
showMessageTime: boolean;
authorId: string | number;
contextMenuVisibilityChange: EventEmitter<boolean>;
cssClass: boolean;
get removedClass(): boolean;
onKeyDown(event: KeyboardEvent): void;
selected: boolean;
active: boolean;
selectOnMenuClose: boolean;
get tabIndex(): string;
onContextMenu(event: MouseEvent): void;
expandIcon: SVGIcon;
collapseIcon: SVGIcon;
downloadIcon: SVGIcon;
isMessageExpanded: boolean;
contextMenuActions: any;
fileActions: any;
parts: FormattedTextPart[];
constructor(element: ElementRef, intl: IntlService, chatService: ChatService, localization: LocalizationService);
ngOnInit(): void;
ngOnDestroy(): void;
textFor(key: string): string;
formatTimeStamp(date: any): string;
focus(): void;
onDownloadAll(): void;
toggleMessageState(event: Event): void;
onExpandableKeydown(event: KeyboardEvent): void;
isToolbarVisible(): boolean;
onToolbarAction(event: Event, action: MessageAction, message: Message): void;
onContextMenuAction(action: MessageAction): void;
onFileAction(action: any, file: ChatFile): void;
private transformActions;
getMessageById(id: string | number): Message | undefined;
private getFormattedTextParts;
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;
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; }; "template": { "alias": "template"; "required": false; }; "statusTemplate": { "alias": "statusTemplate"; "required": false; }; "showMessageTime": { "alias": "showMessageTime"; "required": false; }; "authorId": { "alias": "authorId"; "required": false; }; }, { "contextMenuVisibilityChange": "contextMenuVisibilityChange"; }, never, never, true, never>;
}