Skip to content

Commit 2700ebe

Browse files
author
marker dao ®
committed
regenerate(chat)
1 parent 5c85dc2 commit 2700ebe

9 files changed

Lines changed: 1056 additions & 14 deletions

File tree

packages/devextreme-angular/src/ui/chat/index.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import type { Store } from 'devextreme/data/store';
2828
import type { Format } from 'devextreme/common/core/localization';
2929
import type { dxFileUploaderOptions } from 'devextreme/ui/file_uploader';
3030
import type { dxSpeechToTextOptions } from 'devextreme/ui/speech_to_text';
31+
import type { dxButtonGroupOptions } from 'devextreme/ui/button_group';
3132

3233
import DxChat from 'devextreme/ui/chat';
3334

@@ -55,6 +56,7 @@ import { DxoUserModule } from 'devextreme-angular/ui/nested';
5556
import { DxiChatAlertModule } from 'devextreme-angular/ui/chat/nested';
5657
import { DxiChatAttachmentModule } from 'devextreme-angular/ui/chat/nested';
5758
import { DxoChatAuthorModule } from 'devextreme-angular/ui/chat/nested';
59+
import { DxiChatChatItemModule } from 'devextreme-angular/ui/chat/nested';
5860
import { DxoChatCustomSpeechRecognizerModule } from 'devextreme-angular/ui/chat/nested';
5961
import { DxoChatDayHeaderFormatModule } from 'devextreme-angular/ui/chat/nested';
6062
import { DxoChatEditingModule } from 'devextreme-angular/ui/chat/nested';
@@ -64,6 +66,8 @@ import { DxoChatMessageTimestampFormatModule } from 'devextreme-angular/ui/chat/
6466
import { DxoChatSendButtonOptionsModule } from 'devextreme-angular/ui/chat/nested';
6567
import { DxoChatSpeechRecognitionConfigModule } from 'devextreme-angular/ui/chat/nested';
6668
import { DxoChatSpeechToTextOptionsModule } from 'devextreme-angular/ui/chat/nested';
69+
import { DxoChatSuggestionsModule } from 'devextreme-angular/ui/chat/nested';
70+
import { DxiChatSuggestionsItemModule } from 'devextreme-angular/ui/chat/nested';
6771
import { DxiChatTypingUserModule } from 'devextreme-angular/ui/chat/nested';
6872
import { DxoChatUserModule } from 'devextreme-angular/ui/chat/nested';
6973
import {
@@ -454,6 +458,16 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
454458
}
455459

456460

461+
462+
@Input()
463+
get suggestions(): dxButtonGroupOptions {
464+
return this._getOption('suggestions');
465+
}
466+
set suggestions(value: dxButtonGroupOptions) {
467+
this._setOption('suggestions', value);
468+
}
469+
470+
457471
/**
458472
* [descr:dxChatOptions.typingUsers]
459473
@@ -806,6 +820,13 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
806820
*/
807821
@Output() speechToTextOptionsChange: EventEmitter<dxSpeechToTextOptions>;
808822

823+
/**
824+
825+
* This member supports the internal infrastructure and is not intended to be used directly from your code.
826+
827+
*/
828+
@Output() suggestionsChange: EventEmitter<dxButtonGroupOptions>;
829+
809830
/**
810831
811832
* This member supports the internal infrastructure and is not intended to be used directly from your code.
@@ -888,6 +909,7 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
888909
{ emit: 'showUserNameChange' },
889910
{ emit: 'speechToTextEnabledChange' },
890911
{ emit: 'speechToTextOptionsChange' },
912+
{ emit: 'suggestionsChange' },
891913
{ emit: 'typingUsersChange' },
892914
{ emit: 'userChange' },
893915
{ emit: 'visibleChange' },
@@ -956,6 +978,7 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
956978
DxiChatAlertModule,
957979
DxiChatAttachmentModule,
958980
DxoChatAuthorModule,
981+
DxiChatChatItemModule,
959982
DxoChatCustomSpeechRecognizerModule,
960983
DxoChatDayHeaderFormatModule,
961984
DxoChatEditingModule,
@@ -965,6 +988,8 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
965988
DxoChatSendButtonOptionsModule,
966989
DxoChatSpeechRecognitionConfigModule,
967990
DxoChatSpeechToTextOptionsModule,
991+
DxoChatSuggestionsModule,
992+
DxiChatSuggestionsItemModule,
968993
DxiChatTypingUserModule,
969994
DxoChatUserModule,
970995
DxIntegrationModule,
@@ -983,6 +1008,7 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
9831008
DxiChatAlertModule,
9841009
DxiChatAttachmentModule,
9851010
DxoChatAuthorModule,
1011+
DxiChatChatItemModule,
9861012
DxoChatCustomSpeechRecognizerModule,
9871013
DxoChatDayHeaderFormatModule,
9881014
DxoChatEditingModule,
@@ -992,6 +1018,8 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
9921018
DxoChatSendButtonOptionsModule,
9931019
DxoChatSpeechRecognitionConfigModule,
9941020
DxoChatSpeechToTextOptionsModule,
1021+
DxoChatSuggestionsModule,
1022+
DxiChatSuggestionsItemModule,
9951023
DxiChatTypingUserModule,
9961024
DxoChatUserModule,
9971025
DxTemplateModule
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
/* tslint:disable:max-line-length */
2+
3+
4+
import {
5+
Component,
6+
NgModule,
7+
Host,
8+
SkipSelf,
9+
Input,
10+
ContentChildren,
11+
QueryList
12+
} from '@angular/core';
13+
14+
15+
16+
17+
import type { Attachment, User } from 'devextreme/ui/chat';
18+
19+
import {
20+
DxIntegrationModule,
21+
NestedOptionHost,
22+
} from 'devextreme-angular/core';
23+
import { CollectionNestedOption } from 'devextreme-angular/core';
24+
25+
import { PROPERTY_TOKEN_items } from 'devextreme-angular/core/tokens';
26+
import {
27+
PROPERTY_TOKEN_attachments,
28+
} from 'devextreme-angular/core/tokens';
29+
30+
@Component({
31+
selector: 'dxi-chat-chat-item',
32+
standalone: true,
33+
template: '',
34+
styles: [''],
35+
imports: [ DxIntegrationModule ],
36+
providers: [
37+
NestedOptionHost,
38+
{
39+
provide: PROPERTY_TOKEN_items,
40+
useExisting: DxiChatChatItemComponent,
41+
}
42+
]
43+
})
44+
export class DxiChatChatItemComponent extends CollectionNestedOption {
45+
@ContentChildren(PROPERTY_TOKEN_attachments)
46+
set _attachmentsContentChildren(value: QueryList<CollectionNestedOption>) {
47+
this.setChildren('attachments', value);
48+
}
49+
50+
@Input()
51+
get alt(): string {
52+
return this._getOption('alt');
53+
}
54+
set alt(value: string) {
55+
this._setOption('alt', value);
56+
}
57+
58+
@Input()
59+
get attachments(): Array<Attachment> {
60+
return this._getOption('attachments');
61+
}
62+
set attachments(value: Array<Attachment>) {
63+
this._setOption('attachments', value);
64+
}
65+
66+
@Input()
67+
get author(): User {
68+
return this._getOption('author');
69+
}
70+
set author(value: User) {
71+
this._setOption('author', value);
72+
}
73+
74+
@Input()
75+
get id(): number | string {
76+
return this._getOption('id');
77+
}
78+
set id(value: number | string) {
79+
this._setOption('id', value);
80+
}
81+
82+
@Input()
83+
get isDeleted(): boolean {
84+
return this._getOption('isDeleted');
85+
}
86+
set isDeleted(value: boolean) {
87+
this._setOption('isDeleted', value);
88+
}
89+
90+
@Input()
91+
get isEdited(): boolean {
92+
return this._getOption('isEdited');
93+
}
94+
set isEdited(value: boolean) {
95+
this._setOption('isEdited', value);
96+
}
97+
98+
@Input()
99+
get src(): string {
100+
return this._getOption('src');
101+
}
102+
set src(value: string) {
103+
this._setOption('src', value);
104+
}
105+
106+
@Input()
107+
get text(): string {
108+
return this._getOption('text');
109+
}
110+
set text(value: string) {
111+
this._setOption('text', value);
112+
}
113+
114+
@Input()
115+
get timestamp(): Date | number | string {
116+
return this._getOption('timestamp');
117+
}
118+
set timestamp(value: Date | number | string) {
119+
this._setOption('timestamp', value);
120+
}
121+
122+
@Input()
123+
get type(): string | undefined {
124+
return this._getOption('type');
125+
}
126+
set type(value: string | undefined) {
127+
this._setOption('type', value);
128+
}
129+
130+
131+
protected get _optionPath() {
132+
return 'items';
133+
}
134+
135+
136+
constructor(@SkipSelf() @Host() parentOptionHost: NestedOptionHost,
137+
@Host() optionHost: NestedOptionHost) {
138+
super();
139+
parentOptionHost.setNestedOption(this);
140+
optionHost.setHost(this, this._fullOptionPath.bind(this));
141+
}
142+
143+
144+
145+
ngOnDestroy() {
146+
this._deleteRemovedOptions(this._fullOptionPath());
147+
}
148+
149+
}
150+
151+
@NgModule({
152+
imports: [
153+
DxiChatChatItemComponent
154+
],
155+
exports: [
156+
DxiChatChatItemComponent
157+
],
158+
})
159+
export class DxiChatChatItemModule { }

packages/devextreme-angular/src/ui/chat/nested/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
export * from './alert-dxi';
22
export * from './attachment-dxi';
33
export * from './author';
4+
export * from './chat-item-dxi';
45
export * from './custom-speech-recognizer';
56
export * from './day-header-format';
67
export * from './editing';
@@ -10,6 +11,8 @@ export * from './message-timestamp-format';
1011
export * from './send-button-options';
1112
export * from './speech-recognition-config';
1213
export * from './speech-to-text-options';
14+
export * from './suggestions-item-dxi';
15+
export * from './suggestions';
1316
export * from './typing-user-dxi';
1417
export * from './user';
1518

0 commit comments

Comments
 (0)