@@ -21,8 +21,16 @@ export function send(
2121) : Promise < IUploaderAnswer > {
2222 const requestData = buildData ( uploader , data ) ;
2323
24- const sendData = (
25- request : FormData | IDictionary < string > | string
24+ const showProgress = ( progress :number ) => {
25+ uploader . j . progressbar . show ( ) . progress ( progress ) ;
26+ if ( progress >= 100 ) {
27+ uploader . j . progressbar . hide ( ) ;
28+ }
29+ }
30+
31+ let sendData = (
32+ request : FormData | IDictionary < string > | string ,
33+ showProgress :( progress :number ) => void
2634 ) : Promise < any > => {
2735 const ajax = new Ajax < IUploaderAnswer > ( {
2836 xhr : ( ) : XMLHttpRequest => {
@@ -32,29 +40,21 @@ export function send(
3240 ( uploader . j . ow as any ) . FormData !== undefined &&
3341 xhr . upload
3442 ) {
35- uploader . j . progressbar . show ( ) . progress ( 10 ) ;
36-
43+ showProgress ( 10 ) ;
3744 xhr . upload . addEventListener (
3845 'progress' ,
3946 evt => {
4047 if ( evt . lengthComputable ) {
4148 let percentComplete = evt . loaded / evt . total ;
4249
4350 percentComplete *= 100 ;
44-
45- uploader . j . progressbar
46- . show ( )
47- . progress ( percentComplete ) ;
48-
49- if ( percentComplete >= 100 ) {
50- uploader . j . progressbar . hide ( ) ;
51- }
51+ showProgress ( percentComplete )
5252 }
5353 } ,
5454 false
5555 ) ;
5656 } else {
57- uploader . j . progressbar . hide ( ) ;
57+ showProgress ( 100 )
5858 }
5959
6060 return xhr ;
@@ -98,11 +98,15 @@ export function send(
9898 } ) ;
9999 } ;
100100
101+ if ( isFunction ( uploader . o . customUploadFunction ) ) {
102+ sendData = uploader . o . customUploadFunction
103+ }
104+
101105 if ( isPromise ( requestData ) ) {
102- return requestData . then ( sendData ) . catch ( error => {
106+ return requestData . then ( ( data ) => sendData ( data , showProgress ) ) . catch ( error => {
103107 uploader . o . error . call ( uploader , error ) ;
104108 } ) ;
105109 }
106110
107- return sendData ( requestData ) ;
111+ return sendData ( requestData , showProgress ) ;
108112}
0 commit comments