File tree Expand file tree Collapse file tree 2 files changed +16
-2
lines changed
Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -66,12 +66,16 @@ class AjaxUploader extends Component<UploadProps> {
6666 }
6767 } ;
6868
69- onDataTransferFiles = async ( dataTransfer : DataTransfer ) => {
69+ onDataTransferFiles = async ( dataTransfer : DataTransfer , existFileCallback ?: ( ) => void ) => {
7070 const { multiple, accept, directory } = this . props ;
7171
7272 const items : DataTransferItem [ ] = [ ...( dataTransfer . items || [ ] ) ] ;
7373 let files : File [ ] = [ ...( dataTransfer . files || [ ] ) ] ;
7474
75+ if ( files . length > 0 || items . some ( item => item . kind === 'file' ) ) {
76+ existFileCallback ?.( ) ;
77+ }
78+
7579 if ( directory ) {
7680 files = await traverseFileTree ( Array . prototype . slice . call ( items ) , ( _file : RcFile ) =>
7781 attrAccept ( _file , this . props . accept ) ,
@@ -97,7 +101,9 @@ class AjaxUploader extends Component<UploadProps> {
97101
98102 if ( e . type === 'paste' ) {
99103 const clipboardData = ( e as ClipboardEvent ) . clipboardData ;
100- return this . onDataTransferFiles ( clipboardData ) ;
104+ return this . onDataTransferFiles ( clipboardData , ( ) => {
105+ e . preventDefault ( ) ;
106+ } ) ;
101107 }
102108 } ;
103109
Original file line number Diff line number Diff line change @@ -735,6 +735,12 @@ describe('uploader', () => {
735735 } ,
736736 ] ,
737737 } ;
738+
739+ const preventDefaultSpy = jest . spyOn ( Event . prototype , 'preventDefault' ) ;
740+
741+ fireEvent . dragOver ( input ) ;
742+ expect ( preventDefaultSpy ) . toHaveBeenCalledTimes ( 1 ) ;
743+
738744 fireEvent . drop ( input , { dataTransfer : { items : [ makeDataTransferItemAsync ( files ) ] } } ) ;
739745 const mockStart = jest . fn ( ) ;
740746 handlers . onStart = mockStart ;
@@ -743,6 +749,8 @@ describe('uploader', () => {
743749 expect ( mockStart . mock . calls . length ) . toBe ( 1 ) ;
744750 done ( ) ;
745751 } , 1000 ) ;
752+
753+ preventDefaultSpy . mockRestore ( ) ;
746754 } ) ;
747755
748756 it ( 'unaccepted type files to upload will not trigger onStart when select directory' , done => {
You can’t perform that action at this time.
0 commit comments