@progress/kendo-angular-conversational-ui 20.0.0-develop.3 → 20.0.0-develop.5
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/chat/api/action.interface.d.ts +1 -1
- package/chat/api/attachment.interface.d.ts +1 -1
- package/chat/api/chat-file-interface.d.ts +41 -0
- package/chat/api/chat-suggestion.interface.d.ts +25 -0
- package/chat/api/file-action.d.ts +42 -0
- package/chat/api/file-download-event.interface.d.ts +21 -0
- package/chat/api/index.d.ts +8 -0
- package/chat/api/message-action.d.ts +42 -0
- package/{esm2022/chat/chat.directives.mjs → chat/api/message-toolbar-visibility.d.ts} +4 -4
- package/chat/api/message-width-mode.d.ts +10 -0
- package/chat/api/message.interface.d.ts +30 -12
- package/chat/api/send-button-settings.d.ts +15 -0
- package/chat/api/user.interface.d.ts +4 -0
- package/chat/attachment.component.d.ts +1 -1
- package/chat/cards/hero-card.component.d.ts +1 -1
- package/chat/chat-file.component.d.ts +34 -0
- package/chat/chat-item.d.ts +1 -0
- package/chat/chat-view.d.ts +1 -1
- package/chat/chat.component.d.ts +218 -19
- package/chat/chat.module.d.ts +8 -4
- package/chat/common/chat.service.d.ts +51 -0
- package/chat/{chat.directives.d.ts → common/models/default-model-fields.d.ts} +5 -4
- package/chat/common/models/message-box-options.d.ts +1 -1
- package/chat/common/models/model-fields.d.ts +111 -0
- package/chat/common/utils.d.ts +50 -0
- package/chat/l10n/messages.d.ts +40 -3
- package/chat/message-attachments.component.d.ts +1 -4
- package/chat/message-box.component.d.ts +54 -25
- package/chat/message-list.component.d.ts +18 -11
- package/chat/message-reference-content.component.d.ts +24 -0
- package/chat/message.component.d.ts +54 -6
- package/chat/suggested-actions.component.d.ts +17 -4
- package/chat/templates/header-template.directive.d.ts +24 -0
- package/chat/{message-box.directive.d.ts → templates/message-box.directive.d.ts} +1 -1
- package/chat/templates/status-template.directive.d.ts +24 -0
- package/chat/templates/suggestion-template.directive.d.ts +24 -0
- package/chat/templates/timestamp-template.directive.d.ts +28 -0
- package/codemods/template-transformer/index.js +94 -0
- package/codemods/utils.js +609 -0
- package/codemods/v20/chat-user.js +50 -0
- package/conversational-ui.module.d.ts +11 -7
- package/directives.d.ts +9 -5
- package/esm2022/chat/api/chat-file-interface.mjs +5 -0
- package/esm2022/chat/api/chat-suggestion.interface.mjs +5 -0
- package/esm2022/chat/api/file-action.mjs +5 -0
- package/esm2022/chat/api/file-download-event.interface.mjs +5 -0
- package/esm2022/chat/api/index.mjs +8 -0
- package/esm2022/chat/api/message-action.mjs +5 -0
- package/esm2022/chat/api/message-toolbar-visibility.mjs +5 -0
- package/esm2022/chat/api/message-width-mode.mjs +5 -0
- package/esm2022/chat/api/send-button-settings.mjs +5 -0
- package/esm2022/chat/attachment.component.mjs +1 -1
- package/esm2022/chat/builtin-actions.mjs +1 -1
- package/esm2022/chat/cards/hero-card.component.mjs +1 -1
- package/esm2022/chat/chat-file.component.mjs +141 -0
- package/esm2022/chat/chat-item.mjs +1 -0
- package/esm2022/chat/chat-view.mjs +2 -2
- package/esm2022/chat/chat.component.mjs +518 -57
- package/esm2022/chat/chat.module.mjs +8 -4
- package/esm2022/chat/common/chat.service.mjs +97 -0
- package/esm2022/chat/common/models/default-model-fields.mjs +26 -0
- package/esm2022/chat/common/models/model-fields.mjs +5 -0
- package/esm2022/chat/common/utils.mjs +127 -0
- package/esm2022/chat/l10n/messages.mjs +60 -5
- package/esm2022/chat/message-attachments.component.mjs +1 -4
- package/esm2022/chat/message-box.component.mjs +360 -111
- package/esm2022/chat/message-list.component.mjs +166 -96
- package/esm2022/chat/message-reference-content.component.mjs +75 -0
- package/esm2022/chat/message.component.mjs +448 -35
- package/esm2022/chat/suggested-actions.component.mjs +151 -41
- package/esm2022/chat/templates/header-template.directive.mjs +33 -0
- package/esm2022/chat/{message-box.directive.mjs → templates/message-box.directive.mjs} +1 -1
- package/esm2022/chat/templates/status-template.directive.mjs +33 -0
- package/esm2022/chat/templates/suggestion-template.directive.mjs +33 -0
- package/esm2022/chat/templates/timestamp-template.directive.mjs +39 -0
- package/esm2022/conversational-ui.module.mjs +12 -8
- package/esm2022/directives.mjs +12 -4
- package/esm2022/index.mjs +9 -3
- package/esm2022/package-metadata.mjs +2 -2
- package/fesm2022/progress-kendo-angular-conversational-ui.mjs +4986 -3125
- package/index.d.ts +10 -3
- package/package.json +29 -12
- /package/chat/{attachment-template.directive.d.ts → templates/attachment-template.directive.d.ts} +0 -0
- /package/chat/{message-template.directive.d.ts → templates/message-template.directive.d.ts} +0 -0
- /package/esm2022/chat/{attachment-template.directive.mjs → templates/attachment-template.directive.mjs} +0 -0
- /package/esm2022/chat/{message-template.directive.mjs → templates/message-template.directive.mjs} +0 -0
@@ -15,13 +15,17 @@ import * as i9 from "./ai-prompt/templates/aiprompt-output-template.directive";
|
|
15
15
|
import * as i10 from "./ai-prompt/templates/aiprompt-output-body-template.directive";
|
16
16
|
import * as i11 from "./chat/chat.component";
|
17
17
|
import * as i12 from "./chat/l10n/custom-messages.component";
|
18
|
-
import * as i13 from "./chat/attachment-template.directive";
|
19
|
-
import * as i14 from "./chat/message-template.directive";
|
18
|
+
import * as i13 from "./chat/templates/attachment-template.directive";
|
19
|
+
import * as i14 from "./chat/templates/message-template.directive";
|
20
20
|
import * as i15 from "./chat/cards/hero-card.component";
|
21
|
-
import * as i16 from "./chat/message-box.directive";
|
22
|
-
import * as i17 from "./
|
23
|
-
import * as i18 from "./
|
24
|
-
import * as i19 from "./
|
21
|
+
import * as i16 from "./chat/templates/message-box.directive";
|
22
|
+
import * as i17 from "./chat/templates/header-template.directive";
|
23
|
+
import * as i18 from "./chat/templates/timestamp-template.directive";
|
24
|
+
import * as i19 from "./chat/templates/status-template.directive";
|
25
|
+
import * as i20 from "./chat/templates/suggestion-template.directive";
|
26
|
+
import * as i21 from "./inline-ai-prompt/inlineaiprompt.component";
|
27
|
+
import * as i22 from "./inline-ai-prompt/output-template.directive";
|
28
|
+
import * as i23 from "./inline-ai-prompt/localization/custom-messages.component";
|
25
29
|
/**
|
26
30
|
* Represents the [`NgModule`](link:site.data.urls.angular['ngmodules']) for the Conversational UI components.
|
27
31
|
*
|
@@ -42,6 +46,6 @@ import * as i19 from "./inline-ai-prompt/localization/custom-messages.component"
|
|
42
46
|
*/
|
43
47
|
export declare class ConversationalUIModule {
|
44
48
|
static ɵfac: i0.ɵɵFactoryDeclaration<ConversationalUIModule, never>;
|
45
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ConversationalUIModule, never, [typeof i1.AIPromptComponent, typeof i2.PromptViewComponent, typeof i3.OutputViewComponent, typeof i4.CommandViewComponent, typeof i5.CustomViewComponent, typeof i6.AIPromptCustomMessagesComponent, typeof i7.AIPromptToolbarActionsDirective, typeof i8.AIPromptToolbarFocusableDirective, typeof i9.AIPromptOutputTemplateDirective, typeof i10.AIPromptOutputBodyTemplateDirective, typeof i11.ChatComponent, typeof i12.CustomMessagesComponent, typeof i13.AttachmentTemplateDirective, typeof i14.MessageTemplateDirective, typeof i15.HeroCardComponent, typeof i16.ChatMessageBoxTemplateDirective, typeof i17.
|
49
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ConversationalUIModule, never, [typeof i1.AIPromptComponent, typeof i2.PromptViewComponent, typeof i3.OutputViewComponent, typeof i4.CommandViewComponent, typeof i5.CustomViewComponent, typeof i6.AIPromptCustomMessagesComponent, typeof i7.AIPromptToolbarActionsDirective, typeof i8.AIPromptToolbarFocusableDirective, typeof i9.AIPromptOutputTemplateDirective, typeof i10.AIPromptOutputBodyTemplateDirective, typeof i11.ChatComponent, typeof i12.CustomMessagesComponent, typeof i13.AttachmentTemplateDirective, typeof i14.MessageTemplateDirective, typeof i15.HeroCardComponent, typeof i16.ChatMessageBoxTemplateDirective, typeof i17.ChatHeaderTemplateDirective, typeof i18.ChatTimestampTemplateDirective, typeof i19.ChatStatusTemplateDirective, typeof i20.ChatSuggestionTemplateDirective, typeof i21.InlineAIPromptComponent, typeof i22.InlineAIPromptOutputTemplateDirective, typeof i23.InlineAIPromptCustomMessagesComponent], [typeof i1.AIPromptComponent, typeof i2.PromptViewComponent, typeof i3.OutputViewComponent, typeof i4.CommandViewComponent, typeof i5.CustomViewComponent, typeof i6.AIPromptCustomMessagesComponent, typeof i7.AIPromptToolbarActionsDirective, typeof i8.AIPromptToolbarFocusableDirective, typeof i9.AIPromptOutputTemplateDirective, typeof i10.AIPromptOutputBodyTemplateDirective, typeof i11.ChatComponent, typeof i12.CustomMessagesComponent, typeof i13.AttachmentTemplateDirective, typeof i14.MessageTemplateDirective, typeof i15.HeroCardComponent, typeof i16.ChatMessageBoxTemplateDirective, typeof i17.ChatHeaderTemplateDirective, typeof i18.ChatTimestampTemplateDirective, typeof i19.ChatStatusTemplateDirective, typeof i20.ChatSuggestionTemplateDirective, typeof i21.InlineAIPromptComponent, typeof i22.InlineAIPromptOutputTemplateDirective, typeof i23.InlineAIPromptCustomMessagesComponent]>;
|
46
50
|
static ɵinj: i0.ɵɵInjectorDeclaration<ConversationalUIModule>;
|
47
51
|
}
|
package/directives.d.ts
CHANGED
@@ -11,15 +11,19 @@ import { AIPromptToolbarFocusableDirective } from './ai-prompt/common/toolbar-fo
|
|
11
11
|
import { OutputViewComponent, PromptViewComponent } from "./ai-prompt/views";
|
12
12
|
import { ChatComponent } from "./chat/chat.component";
|
13
13
|
import { CustomMessagesComponent } from "./chat/l10n/custom-messages.component";
|
14
|
-
import { AttachmentTemplateDirective } from "./chat/attachment-template.directive";
|
15
|
-
import { MessageTemplateDirective } from "./chat/message-template.directive";
|
14
|
+
import { AttachmentTemplateDirective } from "./chat/templates/attachment-template.directive";
|
15
|
+
import { MessageTemplateDirective } from "./chat/templates/message-template.directive";
|
16
|
+
import { ChatTimestampTemplateDirective } from "./chat/templates/timestamp-template.directive";
|
16
17
|
import { HeroCardComponent } from "./chat/cards/hero-card.component";
|
17
|
-
import { ChatMessageBoxTemplateDirective } from "./chat/message-box.directive";
|
18
|
+
import { ChatMessageBoxTemplateDirective } from "./chat/templates/message-box.directive";
|
19
|
+
import { ChatHeaderTemplateDirective } from "./chat/templates/header-template.directive";
|
18
20
|
import { AIPromptOutputBodyTemplateDirective } from "./ai-prompt/templates/aiprompt-output-body-template.directive";
|
19
21
|
import { AIPromptOutputTemplateDirective } from "./ai-prompt/templates/aiprompt-output-template.directive";
|
20
22
|
import { InlineAIPromptComponent } from "./inline-ai-prompt/inlineaiprompt.component";
|
21
23
|
import { InlineAIPromptOutputTemplateDirective } from "./inline-ai-prompt/output-template.directive";
|
22
24
|
import { InlineAIPromptCustomMessagesComponent } from "./inline-ai-prompt/localization/custom-messages.component";
|
25
|
+
import { ChatStatusTemplateDirective } from "./chat/templates/status-template.directive";
|
26
|
+
import { ChatSuggestionTemplateDirective } from "./chat/templates/suggestion-template.directive";
|
23
27
|
/**
|
24
28
|
* Utility array that contains all AIPrompt related components and directives.
|
25
29
|
*
|
@@ -55,7 +59,7 @@ export declare const KENDO_AIPROMPT: readonly [typeof AIPromptComponent, typeof
|
|
55
59
|
* export class AppComponent {}
|
56
60
|
* ```
|
57
61
|
*/
|
58
|
-
export declare const KENDO_CHAT: readonly [typeof ChatComponent, typeof CustomMessagesComponent, typeof AttachmentTemplateDirective, typeof MessageTemplateDirective, typeof HeroCardComponent, typeof ChatMessageBoxTemplateDirective];
|
62
|
+
export declare const KENDO_CHAT: readonly [typeof ChatComponent, typeof CustomMessagesComponent, typeof AttachmentTemplateDirective, typeof MessageTemplateDirective, typeof HeroCardComponent, typeof ChatMessageBoxTemplateDirective, typeof ChatHeaderTemplateDirective, typeof ChatTimestampTemplateDirective, typeof ChatStatusTemplateDirective, typeof ChatSuggestionTemplateDirective];
|
59
63
|
/**
|
60
64
|
* Utility array that contains all InlineAIPrompt related components and directives.
|
61
65
|
*
|
@@ -94,4 +98,4 @@ export declare const KENDO_INLINEAIPROMPT: readonly [typeof InlineAIPromptCompon
|
|
94
98
|
* export class AppComponent {}
|
95
99
|
* ```
|
96
100
|
*/
|
97
|
-
export declare const KENDO_CONVERSATIONALUI: readonly [typeof AIPromptComponent, typeof PromptViewComponent, typeof OutputViewComponent, typeof CommandViewComponent, typeof CustomViewComponent, typeof AIPromptCustomMessagesComponent, typeof AIPromptToolbarActionsDirective, typeof AIPromptToolbarFocusableDirective, typeof AIPromptOutputTemplateDirective, typeof AIPromptOutputBodyTemplateDirective, typeof ChatComponent, typeof CustomMessagesComponent, typeof AttachmentTemplateDirective, typeof MessageTemplateDirective, typeof HeroCardComponent, typeof ChatMessageBoxTemplateDirective, typeof InlineAIPromptComponent, typeof InlineAIPromptOutputTemplateDirective, typeof InlineAIPromptCustomMessagesComponent];
|
101
|
+
export declare const KENDO_CONVERSATIONALUI: readonly [typeof AIPromptComponent, typeof PromptViewComponent, typeof OutputViewComponent, typeof CommandViewComponent, typeof CustomViewComponent, typeof AIPromptCustomMessagesComponent, typeof AIPromptToolbarActionsDirective, typeof AIPromptToolbarFocusableDirective, typeof AIPromptOutputTemplateDirective, typeof AIPromptOutputBodyTemplateDirective, typeof ChatComponent, typeof CustomMessagesComponent, typeof AttachmentTemplateDirective, typeof MessageTemplateDirective, typeof HeroCardComponent, typeof ChatMessageBoxTemplateDirective, typeof ChatHeaderTemplateDirective, typeof ChatTimestampTemplateDirective, typeof ChatStatusTemplateDirective, typeof ChatSuggestionTemplateDirective, typeof InlineAIPromptComponent, typeof InlineAIPromptOutputTemplateDirective, typeof InlineAIPromptCustomMessagesComponent];
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
5
|
+
export {};
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
5
|
+
export {};
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
5
|
+
export {};
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
5
|
+
export {};
|
@@ -4,7 +4,15 @@
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
5
5
|
export * from './action.interface';
|
6
6
|
export * from './attachment.interface';
|
7
|
+
export * from './chat-file-interface';
|
8
|
+
export * from './chat-suggestion.interface';
|
7
9
|
export * from './execute-action-event';
|
10
|
+
export * from './message-action';
|
11
|
+
export * from './message-toolbar-visibility';
|
12
|
+
export * from './message-width-mode';
|
8
13
|
export * from './message.interface';
|
9
14
|
export * from './post-message-event';
|
10
15
|
export * from './user.interface';
|
16
|
+
export * from './file-action';
|
17
|
+
export * from './file-download-event.interface';
|
18
|
+
export * from './send-button-settings';
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
5
|
+
export {};
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
5
|
+
export {};
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
5
|
+
export {};
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
5
|
+
export {};
|
@@ -4,7 +4,7 @@
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
5
5
|
import { Component, Input } from '@angular/core';
|
6
6
|
import { NgIf, NgTemplateOutlet } from '@angular/common';
|
7
|
-
import { AttachmentTemplateDirective } from './attachment-template.directive';
|
7
|
+
import { AttachmentTemplateDirective } from './templates/attachment-template.directive';
|
8
8
|
import * as i0 from "@angular/core";
|
9
9
|
/**
|
10
10
|
* @hidden
|
@@ -7,7 +7,7 @@ import { NgIf, NgFor } from '@angular/common';
|
|
7
7
|
import { ButtonComponent } from '@progress/kendo-angular-buttons';
|
8
8
|
import * as i0 from "@angular/core";
|
9
9
|
/**
|
10
|
-
* Represents a Hero Card component ([see example](slug:
|
10
|
+
* Represents a Hero Card component ([see example](slug:integrations_chat#travel-agent-chat-bot)).
|
11
11
|
* Hero cards host a single large image and action buttons with text content.
|
12
12
|
*
|
13
13
|
* @example
|
@@ -0,0 +1,141 @@
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
5
|
+
/* eslint-disable @typescript-eslint/no-empty-function */
|
6
|
+
import { Component, forwardRef, Input, Output, EventEmitter } from '@angular/core';
|
7
|
+
import { ChatItem } from './chat-item';
|
8
|
+
import { fileGroupClass, fileSVGGroupIcon, getTotalFilesSizeMessage } from '@progress/kendo-angular-upload';
|
9
|
+
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
10
|
+
import { moreVerticalIcon, xIcon } from '@progress/kendo-svg-icons';
|
11
|
+
import { ButtonComponent, DropDownButtonComponent } from '@progress/kendo-angular-buttons';
|
12
|
+
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
13
|
+
import { NgIf } from '@angular/common';
|
14
|
+
import * as i0 from "@angular/core";
|
15
|
+
import * as i1 from "@progress/kendo-angular-l10n";
|
16
|
+
/**
|
17
|
+
* @hidden
|
18
|
+
*/
|
19
|
+
export class ChatFileComponent extends ChatItem {
|
20
|
+
localization;
|
21
|
+
chatFile;
|
22
|
+
removable = false;
|
23
|
+
fileActions;
|
24
|
+
remove = new EventEmitter();
|
25
|
+
actionClick = new EventEmitter();
|
26
|
+
actionsToggle = new EventEmitter();
|
27
|
+
actionButtonClick = new EventEmitter();
|
28
|
+
deleteIcon = xIcon;
|
29
|
+
moreIcon = moreVerticalIcon;
|
30
|
+
constructor(localization) {
|
31
|
+
super();
|
32
|
+
this.localization = localization;
|
33
|
+
}
|
34
|
+
fileThumbnail(extension) {
|
35
|
+
return fileSVGGroupIcon(extension);
|
36
|
+
}
|
37
|
+
fileGroupClass(extension) {
|
38
|
+
return fileGroupClass(extension);
|
39
|
+
}
|
40
|
+
getTotalFilesSizeMessage(file) {
|
41
|
+
return getTotalFilesSizeMessage([file]);
|
42
|
+
}
|
43
|
+
textFor(key) {
|
44
|
+
return this.localization.get(key);
|
45
|
+
}
|
46
|
+
focus() { }
|
47
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChatFileComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
48
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChatFileComponent, isStandalone: true, selector: "li[chatFile]", inputs: { chatFile: "chatFile", removable: "removable", fileActions: "fileActions" }, outputs: { remove: "remove", actionClick: "actionClick", actionsToggle: "actionsToggle", actionButtonClick: "actionButtonClick" }, providers: [{
|
49
|
+
provide: ChatItem,
|
50
|
+
useExisting: forwardRef(() => ChatFileComponent)
|
51
|
+
}], usesInheritance: true, ngImport: i0, template: `
|
52
|
+
<kendo-icon-wrapper
|
53
|
+
size="xxlarge"
|
54
|
+
[name]="fileGroupClass(chatFile.extension)"
|
55
|
+
[svgIcon]="fileThumbnail(chatFile.extension)"
|
56
|
+
>
|
57
|
+
</kendo-icon-wrapper>
|
58
|
+
<div class="k-chat-file-info">
|
59
|
+
<span class="k-chat-file-name">{{chatFile.name}}</span>
|
60
|
+
<span class="k-chat-file-size">{{getTotalFilesSizeMessage(chatFile)}}</span>
|
61
|
+
</div>
|
62
|
+
<button
|
63
|
+
kendoButton
|
64
|
+
*ngIf="removable"
|
65
|
+
[attr.title]="textFor('removeFileTitle')"
|
66
|
+
[svgIcon]="deleteIcon"
|
67
|
+
(click)="remove.emit(chatFile)"
|
68
|
+
fillMode="flat"
|
69
|
+
></button>
|
70
|
+
<kendo-dropdownbutton
|
71
|
+
*ngIf="fileActions"
|
72
|
+
[data]="fileActions"
|
73
|
+
[attr.title]="textFor('fileActionsTitle')"
|
74
|
+
fillMode="flat"
|
75
|
+
icon="more-vertical"
|
76
|
+
[svgIcon]="moreIcon"
|
77
|
+
(itemClick)="actionClick.emit($event)"
|
78
|
+
(click)="$event.preventDefault()"
|
79
|
+
(open)="actionsToggle.emit(true)"
|
80
|
+
(close)="actionsToggle.emit(false)"
|
81
|
+
></kendo-dropdownbutton>
|
82
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }] });
|
83
|
+
}
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChatFileComponent, decorators: [{
|
85
|
+
type: Component,
|
86
|
+
args: [{
|
87
|
+
selector: 'li[chatFile]',
|
88
|
+
providers: [{
|
89
|
+
provide: ChatItem,
|
90
|
+
useExisting: forwardRef(() => ChatFileComponent)
|
91
|
+
}],
|
92
|
+
template: `
|
93
|
+
<kendo-icon-wrapper
|
94
|
+
size="xxlarge"
|
95
|
+
[name]="fileGroupClass(chatFile.extension)"
|
96
|
+
[svgIcon]="fileThumbnail(chatFile.extension)"
|
97
|
+
>
|
98
|
+
</kendo-icon-wrapper>
|
99
|
+
<div class="k-chat-file-info">
|
100
|
+
<span class="k-chat-file-name">{{chatFile.name}}</span>
|
101
|
+
<span class="k-chat-file-size">{{getTotalFilesSizeMessage(chatFile)}}</span>
|
102
|
+
</div>
|
103
|
+
<button
|
104
|
+
kendoButton
|
105
|
+
*ngIf="removable"
|
106
|
+
[attr.title]="textFor('removeFileTitle')"
|
107
|
+
[svgIcon]="deleteIcon"
|
108
|
+
(click)="remove.emit(chatFile)"
|
109
|
+
fillMode="flat"
|
110
|
+
></button>
|
111
|
+
<kendo-dropdownbutton
|
112
|
+
*ngIf="fileActions"
|
113
|
+
[data]="fileActions"
|
114
|
+
[attr.title]="textFor('fileActionsTitle')"
|
115
|
+
fillMode="flat"
|
116
|
+
icon="more-vertical"
|
117
|
+
[svgIcon]="moreIcon"
|
118
|
+
(itemClick)="actionClick.emit($event)"
|
119
|
+
(click)="$event.preventDefault()"
|
120
|
+
(open)="actionsToggle.emit(true)"
|
121
|
+
(close)="actionsToggle.emit(false)"
|
122
|
+
></kendo-dropdownbutton>
|
123
|
+
`,
|
124
|
+
standalone: true,
|
125
|
+
imports: [NgIf, IconWrapperComponent, ButtonComponent, DropDownButtonComponent]
|
126
|
+
}]
|
127
|
+
}], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { chatFile: [{
|
128
|
+
type: Input
|
129
|
+
}], removable: [{
|
130
|
+
type: Input
|
131
|
+
}], fileActions: [{
|
132
|
+
type: Input
|
133
|
+
}], remove: [{
|
134
|
+
type: Output
|
135
|
+
}], actionClick: [{
|
136
|
+
type: Output
|
137
|
+
}], actionsToggle: [{
|
138
|
+
type: Output
|
139
|
+
}], actionButtonClick: [{
|
140
|
+
type: Output
|
141
|
+
}] } });
|
@@ -6,7 +6,7 @@ import { isDevMode } from '@angular/core';
|
|
6
6
|
/**
|
7
7
|
* @hidden
|
8
8
|
*/
|
9
|
-
export const isAuthor = (
|
9
|
+
export const isAuthor = (authorId, msg) => msg.author && authorId === msg.author.id;
|
10
10
|
const last = (arr) => arr[arr.length - 1];
|
11
11
|
const dateChanged = (curr, prev) => (curr && prev) && (prev.getDate() !== curr.getDate() ||
|
12
12
|
prev.getMonth() !== curr.getMonth() ||
|
@@ -38,7 +38,7 @@ const groupMessages = (acc, msg, isLastMessage) => {
|
|
38
38
|
if (lastItem && lastItem.type === 'message-group') {
|
39
39
|
messages = lastItem.messages;
|
40
40
|
}
|
41
|
-
if (messages && isAuthor(msg.author, last(messages))) {
|
41
|
+
if (messages && isAuthor(msg.author.id, last(messages))) {
|
42
42
|
messages.push(msg);
|
43
43
|
}
|
44
44
|
else {
|