@@ -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 , DisposingEvent , DownloadAttachmentEvent , 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
@@ -448,6 +472,14 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
448472 */
449473 @Output ( ) onDisposing : EventEmitter < DisposingEvent > ;
450474
475+ /**
476+
477+ * [descr:dxChatOptions.onDownloadAttachment]
478+
479+
480+ */
481+ @Output ( ) onDownloadAttachment : EventEmitter < DownloadAttachmentEvent > ;
482+
451483 /**
452484
453485 * [descr:dxChatOptions.onInitialized]
@@ -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.
@@ -732,6 +771,7 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
732771
733772 this . _createEventEmitters ( [
734773 { subscribe : 'disposing' , emit : 'onDisposing' } ,
774+ { subscribe : 'downloadAttachment' , emit : 'onDownloadAttachment' } ,
735775 { subscribe : 'initialized' , emit : 'onInitialized' } ,
736776 { subscribe : 'messageDeleted' , emit : 'onMessageDeleted' } ,
737777 { subscribe : 'messageDeleting' , emit : 'onMessageDeleting' } ,
@@ -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