@@ -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
@@ -337,6 +361,19 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
337361 }
338362
339363
364+ /**
365+ * [descr:dxChatOptions.showAttachButton]
366+
367+ */
368+ @Input ( )
369+ get showAttachButton ( ) : boolean {
370+ return this . _getOption ( 'showAttachButton' ) ;
371+ }
372+ set showAttachButton ( value : boolean ) {
373+ this . _setOption ( 'showAttachButton' , value ) ;
374+ }
375+
376+
340377 /**
341378 * [descr:dxChatOptions.showAvatar]
342379
@@ -448,6 +485,14 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
448485 */
449486 @Output ( ) onDisposing : EventEmitter < DisposingEvent > ;
450487
488+ /**
489+
490+ * [descr:dxChatOptions.onDownloadAttachment]
491+
492+
493+ */
494+ @Output ( ) onDownloadAttachment : EventEmitter < DownloadAttachmentEvent > ;
495+
451496 /**
452497
453498 * [descr:dxChatOptions.onInitialized]
@@ -599,6 +644,13 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
599644 */
600645 @Output ( ) emptyViewTemplateChange : EventEmitter < any > ;
601646
647+ /**
648+
649+ * This member supports the internal infrastructure and is not intended to be used directly from your code.
650+
651+ */
652+ @Output ( ) fileUploaderOptionsChange : EventEmitter < dxFileUploaderOptions > ;
653+
602654 /**
603655
604656 * This member supports the internal infrastructure and is not intended to be used directly from your code.
@@ -662,6 +714,13 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
662714 */
663715 @Output ( ) rtlEnabledChange : EventEmitter < boolean > ;
664716
717+ /**
718+
719+ * This member supports the internal infrastructure and is not intended to be used directly from your code.
720+
721+ */
722+ @Output ( ) showAttachButtonChange : EventEmitter < boolean > ;
723+
665724 /**
666725
667726 * This member supports the internal infrastructure and is not intended to be used directly from your code.
@@ -732,6 +791,7 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
732791
733792 this . _createEventEmitters ( [
734793 { subscribe : 'disposing' , emit : 'onDisposing' } ,
794+ { subscribe : 'downloadAttachment' , emit : 'onDownloadAttachment' } ,
735795 { subscribe : 'initialized' , emit : 'onInitialized' } ,
736796 { subscribe : 'messageDeleted' , emit : 'onMessageDeleted' } ,
737797 { subscribe : 'messageDeleting' , emit : 'onMessageDeleting' } ,
@@ -752,6 +812,7 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
752812 { emit : 'editingChange' } ,
753813 { emit : 'elementAttrChange' } ,
754814 { emit : 'emptyViewTemplateChange' } ,
815+ { emit : 'fileUploaderOptionsChange' } ,
755816 { emit : 'focusStateEnabledChange' } ,
756817 { emit : 'heightChange' } ,
757818 { emit : 'hintChange' } ,
@@ -761,6 +822,7 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
761822 { emit : 'messageTimestampFormatChange' } ,
762823 { emit : 'reloadOnChangeChange' } ,
763824 { emit : 'rtlEnabledChange' } ,
825+ { emit : 'showAttachButtonChange' } ,
764826 { emit : 'showAvatarChange' } ,
765827 { emit : 'showDayHeadersChange' } ,
766828 { emit : 'showMessageTimestampChange' } ,
@@ -825,15 +887,19 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
825887 DxiAlertModule ,
826888 DxoDayHeaderFormatModule ,
827889 DxoEditingModule ,
890+ DxoFileUploaderOptionsModule ,
828891 DxiItemModule ,
892+ DxiAttachmentModule ,
829893 DxoAuthorModule ,
830894 DxoMessageTimestampFormatModule ,
831895 DxiTypingUserModule ,
832896 DxoUserModule ,
833897 DxiChatAlertModule ,
898+ DxiChatAttachmentModule ,
834899 DxoChatAuthorModule ,
835900 DxoChatDayHeaderFormatModule ,
836901 DxoChatEditingModule ,
902+ DxoChatFileUploaderOptionsModule ,
837903 DxiChatItemModule ,
838904 DxoChatMessageTimestampFormatModule ,
839905 DxiChatTypingUserModule ,
@@ -846,15 +912,19 @@ export class DxChatComponent extends DxComponent implements OnDestroy, OnChanges
846912 DxiAlertModule ,
847913 DxoDayHeaderFormatModule ,
848914 DxoEditingModule ,
915+ DxoFileUploaderOptionsModule ,
849916 DxiItemModule ,
917+ DxiAttachmentModule ,
850918 DxoAuthorModule ,
851919 DxoMessageTimestampFormatModule ,
852920 DxiTypingUserModule ,
853921 DxoUserModule ,
854922 DxiChatAlertModule ,
923+ DxiChatAttachmentModule ,
855924 DxoChatAuthorModule ,
856925 DxoChatDayHeaderFormatModule ,
857926 DxoChatEditingModule ,
927+ DxoChatFileUploaderOptionsModule ,
858928 DxiChatItemModule ,
859929 DxoChatMessageTimestampFormatModule ,
860930 DxiChatTypingUserModule ,
0 commit comments