@@ -14,6 +14,9 @@ var LargeFile = (function() {
1414 var progress = parseInt ( data . loaded / data . total * 100 , 10 ) ;
1515 uploadProgress ( this , progress ) ;
1616 } ,
17+ add : function ( e , data ) {
18+ showCancel ( this , data . submit ( ) ) ;
19+ } ,
1720 error : function ( e , data ) {
1821 var inputField = document . getElementById ( this . fileInput [ 0 ] . id ) ;
1922 uploadFinished ( inputField , false ) ;
@@ -75,6 +78,7 @@ var LargeFile = (function() {
7578 ) ;
7679 progressBar . html ( '' ) ;
7780 }
81+ hideCancel ( inputField ) ;
7882 } ;
7983
8084 var displayError = function ( inputField , error ) {
@@ -126,6 +130,32 @@ var LargeFile = (function() {
126130 }
127131 } ;
128132
133+ var showCancel = function ( inputField , uploader ) {
134+
135+ $ ( '#' + inputField . getAttribute ( 'data-largefile-field' ) + '-upload' ) .
136+ addClass ( 'hidden' ) ;
137+
138+ var cancelButton =
139+ $ ( '#' + inputField . getAttribute ( 'data-largefile-field' ) + '-cancel' ) ;
140+
141+ cancelButton . removeClass ( 'hidden' ) ;
142+
143+ cancelButton . click ( function ( ) {
144+ uploader . abort ( ) ;
145+ } ) ;
146+ } ;
147+
148+ var hideCancel = function ( inputField ) {
149+
150+ $ ( '#' + inputField . getAttribute ( 'data-largefile-field' ) + '-cancel' ) .
151+ addClass ( 'hidden' ) ;
152+
153+ var uploadButton =
154+ $ ( '#' + inputField . getAttribute ( 'data-largefile-field' ) + '-upload' ) ;
155+
156+ uploadButton . removeClass ( 'hidden' ) ;
157+ } ;
158+
129159 return {
130160 setup : setup
131161 } ;
0 commit comments