Ticket #44264: 44264.10.diff
File 44264.10.diff, 4.8 KB (added by , 5 years ago) |
---|
-
src/js/_enqueues/admin/privacy-tools.js
60 60 $action = $this.parents( '.export-personal-data' ), 61 61 $requestRow = $this.parents( 'tr' ), 62 62 $progress = $requestRow.find( '.export-progress' ), 63 $rowActions = $this.parents( '.row-actions' ), 63 64 requestID = $action.data( 'request-id' ), 64 65 nonce = $action.data( 'nonce' ), 65 66 exportersCount = $action.data( 'exporters-count' ), … … 68 69 event.preventDefault(); 69 70 event.stopPropagation(); 70 71 72 $rowActions.addClass( 'processing' ); 73 71 74 $action.blur(); 72 75 clearResultsAfterRow( $requestRow ); 73 76 setExportProgress( 0 ); … … 78 81 setActionState( $action, 'export-personal-data-success' ); 79 82 80 83 appendResultsAfterRow( $requestRow, 'notice-success', summaryMessage, [] ); 81 $this.hide();82 84 83 85 if ( 'undefined' !== typeof zipUrl ) { 84 86 window.location = zipUrl; … … 85 87 } else if ( ! sendAsEmail ) { 86 88 onExportFailure( strings.noExportFile ); 87 89 } 90 91 setTimeout( function(){ $rowActions.removeClass( 'processing' ); }, 500 ); 88 92 } 89 93 90 94 function onExportFailure( errorMessage ) { … … 92 96 if ( errorMessage ) { 93 97 appendResultsAfterRow( $requestRow, 'notice-error', strings.exportError, [ errorMessage ] ); 94 98 } 99 100 setTimeout( function(){ $rowActions.removeClass( 'processing' ); }, 500 ); 95 101 } 96 102 97 103 function setExportProgress( exporterIndex ) { … … 118 124 var responseData = response.data; 119 125 120 126 if ( ! response.success ) { 121 122 127 // e.g. invalid request ID. 123 onExportFailure( response.data);128 setTimeout( function(){ onExportFailure( response.data ); }, 500 ); 124 129 return; 125 130 } 126 131 … … 127 132 if ( ! responseData.done ) { 128 133 setTimeout( doNextExport( exporterIndex, pageIndex + 1 ) ); 129 134 } else { 135 setExportProgress( exporterIndex ); 130 136 if ( exporterIndex < exportersCount ) { 131 setExportProgress( exporterIndex );132 137 setTimeout( doNextExport( exporterIndex + 1, 1 ) ); 133 138 } else { 134 onExportDoneSuccess( responseData.url);139 setTimeout( function(){ onExportDoneSuccess( responseData.url ); }, 500 ); 135 140 } 136 141 } 137 142 }).fail( function( jqxhr, textStatus, error ) { 138 139 143 // e.g. Nonce failure. 140 onExportFailure( error);144 setTimeout( function(){ onExportFailure( error ); }, 500 ); 141 145 }); 142 146 } 143 147 … … 151 155 $action = $this.parents( '.remove-personal-data' ), 152 156 $requestRow = $this.parents( 'tr' ), 153 157 $progress = $requestRow.find( '.erasure-progress' ), 158 $rowActions = $this.parents( '.row-actions' ), 154 159 requestID = $action.data( 'request-id' ), 155 160 nonce = $action.data( 'nonce' ), 156 161 erasersCount = $action.data( 'erasers-count' ), … … 158 163 hasRetained = false, 159 164 messages = []; 160 165 166 event.preventDefault(); 161 167 event.stopPropagation(); 162 168 169 $rowActions.addClass( 'processing' ); 170 163 171 $action.blur(); 164 172 clearResultsAfterRow( $requestRow ); 165 173 setErasureProgress( 0 ); … … 186 194 } 187 195 } 188 196 appendResultsAfterRow( $requestRow, classes, summaryMessage, messages ); 189 $this.hide(); 197 198 setTimeout( function(){ $rowActions.removeClass( 'processing' ); }, 500 ); 190 199 } 191 200 192 201 function onErasureFailure() { 193 202 setActionState( $action, 'remove-personal-data-failed' ); 194 203 appendResultsAfterRow( $requestRow, 'notice-error', strings.removalError, [] ); 204 205 setTimeout( function(){ $rowActions.removeClass( 'processing' ); }, 500 ); 195 206 } 196 207 197 208 function setErasureProgress( eraserIndex ) { … … 215 226 var responseData = response.data; 216 227 217 228 if ( ! response.success ) { 218 onErasureFailure();229 setTimeout( function(){ onErasureFailure(); }, 500 ); 219 230 return; 220 231 } 221 232 if ( responseData.items_removed ) { … … 230 241 if ( ! responseData.done ) { 231 242 setTimeout( doNextErasure( eraserIndex, pageIndex + 1 ) ); 232 243 } else { 244 setErasureProgress( eraserIndex ); 233 245 if ( eraserIndex < erasersCount ) { 234 setErasureProgress( eraserIndex );235 246 setTimeout( doNextErasure( eraserIndex + 1, 1 ) ); 236 247 } else { 237 onErasureDoneSuccess();248 setTimeout( function(){ onErasureDoneSuccess(); }, 500 ); 238 249 } 239 250 } 240 251 }).fail( function() { 241 onErasureFailure();252 setTimeout( function(){ onErasureFailure(); }, 500 ); 242 253 }); 243 254 } 244 255 -
src/wp-admin/css/forms.css
1206 1206 color: #72777c; 1207 1207 } 1208 1208 1209 .privacy_requests .row-actions.processing { 1210 position: static; 1211 } 1212 1209 1213 .privacy_requests tbody .has-request-results th { 1210 1214 box-shadow: none; 1211 1215 }