@@ -24,10 +24,11 @@ import {
2424
2525import DataSource from 'devextreme/data/data_source' ;
2626import dxChat from 'devextreme/ui/chat' ;
27- import { Alert , Message , DisposingEvent , InitializedEvent , MessageDeletedEvent , MessageDeletingEvent , MessageEditCanceledEvent , MessageEditingStartEvent , MessageEnteredEvent , MessageUpdatedEvent , MessageUpdatingEvent , OptionChangedEvent , TypingEndEvent , TypingStartEvent , User } from 'devextreme/ui/chat' ;
27+ import { Alert , Message , AttachmentDownloadEvent , DisposingEvent , InitializedEvent , MessageDeletedEvent , MessageDeletingEvent , MessageEditCanceledEvent , MessageEditingStartEvent , MessageEnteredEvent , MessageUpdatedEvent , MessageUpdatingEvent , OptionChangedEvent , TypingEndEvent , TypingStartEvent , User } from 'devextreme/ui/chat' ;
2828import { DataSourceOptions } from 'devextreme/data/data_source' ;
2929import { Store } from 'devextreme/data/store' ;
3030import { Format } from 'devextreme/common/core/localization' ;
31+ import { dxFileUploaderOptions } from 'devextreme/ui/file_uploader' ;
3132
3233import DxChat from 'devextreme/ui/chat' ;
3334
@@ -46,22 +47,27 @@ import {
4647import { DxiAlertModule } from 'devextreme-angular/ui/nested' ;
4748import { DxoDayHeaderFormatModule } from 'devextreme-angular/ui/nested' ;
4849import { DxoEditingModule } from 'devextreme-angular/ui/nested' ;
50+ import { DxoFileUploaderOptionsModule } from 'devextreme-angular/ui/nested' ;
4951import { DxiItemModule } from 'devextreme-angular/ui/nested' ;
52+ import { DxiAttachmentModule } from 'devextreme-angular/ui/nested' ;
5053import { DxoAuthorModule } from 'devextreme-angular/ui/nested' ;
5154import { DxoMessageTimestampFormatModule } from 'devextreme-angular/ui/nested' ;
5255import { DxiTypingUserModule } from 'devextreme-angular/ui/nested' ;
5356import { DxoUserModule } from 'devextreme-angular/ui/nested' ;
5457
5558import { DxiChatAlertModule } from 'devextreme-angular/ui/chat/nested' ;
59+ import { DxiChatAttachmentModule } from 'devextreme-angular/ui/chat/nested' ;
5660import { DxoChatAuthorModule } from 'devextreme-angular/ui/chat/nested' ;
5761import { DxoChatDayHeaderFormatModule } from 'devextreme-angular/ui/chat/nested' ;
5862import { DxoChatEditingModule } from 'devextreme-angular/ui/chat/nested' ;
63+ import { DxoChatFileUploaderOptionsModule } from 'devextreme-angular/ui/chat/nested' ;
5964import { DxiChatItemModule } from 'devextreme-angular/ui/chat/nested' ;
6065import { DxoChatMessageTimestampFormatModule } from 'devextreme-angular/ui/chat/nested' ;
6166import { DxiChatTypingUserModule } from 'devextreme-angular/ui/chat/nested' ;
6267import { DxoChatUserModule } from 'devextreme-angular/ui/chat/nested' ;
6368import {
6469 PROPERTY_TOKEN_alerts ,
70+ PROPERTY_TOKEN_attachments ,
6571 PROPERTY_TOKEN_items ,
6672 PROPERTY_TOKEN_typingUsers ,
6773 } from 'devextreme-angular/core/tokens' ;
@@ -91,6 +97,11 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
9197 this . setChildren ( 'alerts' , value ) ;
9298 }
9399
100+ @ContentChildren ( PROPERTY_TOKEN_attachments )
101+ set _attachmentsContentChildren ( value : QueryList < CollectionNestedOption > ) {
102+ this . setChildren ( 'attachments' , value ) ;
103+ }
104+
94105 @ContentChildren ( PROPERTY_TOKEN_items )
95106 set _itemsContentChildren ( value : QueryList < CollectionNestedOption > ) {
96107 this . setChildren ( 'items' , value ) ;
@@ -220,6 +231,19 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
220231 }
221232
222233
234+ /**
235+ * [descr:dxChatOptions.fileUploaderOptions]
236+
237+ */
238+ @Input ( )
239+ get fileUploaderOptions ( ) : dxFileUploaderOptions {
240+ return this . _getOption ( 'fileUploaderOptions' ) ;
241+ }
242+ set fileUploaderOptions ( value : dxFileUploaderOptions ) {
243+ this . _setOption ( 'fileUploaderOptions' , value ) ;
244+ }
245+
246+
223247 /**
224248 * [descr:dxChatOptions.focusStateEnabled]
225249
@@ -440,6 +464,14 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
440464 this . _setOption ( 'width' , value ) ;
441465 }
442466
467+ /**
468+
469+ * [descr:dxChatOptions.onAttachmentDownload]
470+
471+
472+ */
473+ @Output ( ) onAttachmentDownload : EventEmitter < AttachmentDownloadEvent > ;
474+
443475 /**
444476
445477 * [descr:dxChatOptions.onDisposing]
@@ -599,6 +631,13 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
599631 */
600632 @Output ( ) emptyViewTemplateChange : EventEmitter < any > ;
601633
634+ /**
635+
636+ * This member supports the internal infrastructure and is not intended to be used directly from your code.
637+
638+ */
639+ @Output ( ) fileUploaderOptionsChange : EventEmitter < dxFileUploaderOptions > ;
640+
602641 /**
603642
604643 * This member supports the internal infrastructure and is not intended to be used directly from your code.
@@ -731,6 +770,7 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
731770 super ( elementRef , ngZone , templateHost , _watcherHelper , transferState , platformId ) ;
732771
733772 this . _createEventEmitters ( [
773+ { subscribe : 'attachmentDownload' , emit : 'onAttachmentDownload' } ,
734774 { subscribe : 'disposing' , emit : 'onDisposing' } ,
735775 { subscribe : 'initialized' , emit : 'onInitialized' } ,
736776 { subscribe : 'messageDeleted' , emit : 'onMessageDeleted' } ,
@@ -752,6 +792,7 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
752792 { emit : 'editingChange' } ,
753793 { emit : 'elementAttrChange' } ,
754794 { emit : 'emptyViewTemplateChange' } ,
795+ { emit : 'fileUploaderOptionsChange' } ,
755796 { emit : 'focusStateEnabledChange' } ,
756797 { emit : 'heightChange' } ,
757798 { emit : 'hintChange' } ,
@@ -825,15 +866,19 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
825866 DxiAlertModule ,
826867 DxoDayHeaderFormatModule ,
827868 DxoEditingModule ,
869+ DxoFileUploaderOptionsModule ,
828870 DxiItemModule ,
871+ DxiAttachmentModule ,
829872 DxoAuthorModule ,
830873 DxoMessageTimestampFormatModule ,
831874 DxiTypingUserModule ,
832875 DxoUserModule ,
833876 DxiChatAlertModule ,
877+ DxiChatAttachmentModule ,
834878 DxoChatAuthorModule ,
835879 DxoChatDayHeaderFormatModule ,
836880 DxoChatEditingModule ,
881+ DxoChatFileUploaderOptionsModule ,
837882 DxiChatItemModule ,
838883 DxoChatMessageTimestampFormatModule ,
839884 DxiChatTypingUserModule ,
@@ -846,15 +891,19 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
846891 DxiAlertModule ,
847892 DxoDayHeaderFormatModule ,
848893 DxoEditingModule ,
894+ DxoFileUploaderOptionsModule ,
849895 DxiItemModule ,
896+ DxiAttachmentModule ,
850897 DxoAuthorModule ,
851898 DxoMessageTimestampFormatModule ,
852899 DxiTypingUserModule ,
853900 DxoUserModule ,
854901 DxiChatAlertModule ,
902+ DxiChatAttachmentModule ,
855903 DxoChatAuthorModule ,
856904 DxoChatDayHeaderFormatModule ,
857905 DxoChatEditingModule ,
906+ DxoChatFileUploaderOptionsModule ,
858907 DxiChatItemModule ,
859908 DxoChatMessageTimestampFormatModule ,
860909 DxiChatTypingUserModule ,
0 commit comments