Make WordPress Core

Changeset 47395


Ignore:
Timestamp:
02/29/2020 11:43:57 PM (4 years ago)
Author:
SergeyBiryukov
Message:

Privacy: Make the progress indicator for export and erasure visible even if not hovered over.

Follow-up to [47246].

Props pbiron, garrett-eclipse.
Fixes #44264.

Location:
trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/js/_enqueues/admin/privacy-tools.js

    r47248 r47395  
    6161            $requestRow    = $this.parents( 'tr' ),
    6262            $progress      = $requestRow.find( '.export-progress' ),
     63            $rowActions    = $this.parents( '.row-actions' ),
    6364            requestID      = $action.data( 'request-id' ),
    6465            nonce          = $action.data( 'nonce' ),
     
    6970        event.stopPropagation();
    7071
     72        $rowActions.addClass( 'processing' );
     73
    7174        $action.blur();
    7275        clearResultsAfterRow( $requestRow );
     
    7982
    8083            appendResultsAfterRow( $requestRow, 'notice-success', summaryMessage, [] );
    81             $this.hide();
    8284
    8385            if ( 'undefined' !== typeof zipUrl ) {
     
    8688                onExportFailure( strings.noExportFile );
    8789            }
     90
     91            setTimeout( function(){ $rowActions.removeClass( 'processing' ); }, 500 );
    8892        }
    8993
     
    9397                appendResultsAfterRow( $requestRow, 'notice-error', strings.exportError, [ errorMessage ] );
    9498            }
     99
     100            setTimeout( function(){ $rowActions.removeClass( 'processing' ); }, 500 );
    95101        }
    96102
     
    119125
    120126                if ( ! response.success ) {
    121 
    122127                    // e.g. invalid request ID.
    123                     onExportFailure( response.data );
     128                    setTimeout( function(){ onExportFailure( response.data ); }, 500 );
    124129                    return;
    125130                }
     
    128133                    setTimeout( doNextExport( exporterIndex, pageIndex + 1 ) );
    129134                } else {
     135                    setExportProgress( exporterIndex );
    130136                    if ( exporterIndex < exportersCount ) {
    131                         setExportProgress( exporterIndex );
    132137                        setTimeout( doNextExport( exporterIndex + 1, 1 ) );
    133138                    } else {
    134                         onExportDoneSuccess( responseData.url );
     139                        setTimeout( function(){ onExportDoneSuccess( responseData.url ); }, 500 );
    135140                    }
    136141                }
    137142            }).fail( function( jqxhr, textStatus, error ) {
    138 
    139143                // e.g. Nonce failure.
    140                 onExportFailure( error );
     144                setTimeout( function(){ onExportFailure( error ); }, 500 );
    141145            });
    142146        }
     
    152156            $requestRow   = $this.parents( 'tr' ),
    153157            $progress     = $requestRow.find( '.erasure-progress' ),
     158            $rowActions   = $this.parents( '.row-actions' ),
    154159            requestID     = $action.data( 'request-id' ),
    155160            nonce         = $action.data( 'nonce' ),
     
    159164            messages      = [];
    160165
     166        event.preventDefault();
    161167        event.stopPropagation();
     168
     169        $rowActions.addClass( 'processing' );
    162170
    163171        $action.blur();
     
    187195            }
    188196            appendResultsAfterRow( $requestRow, classes, summaryMessage, messages );
    189             $this.hide();
     197
     198            setTimeout( function(){ $rowActions.removeClass( 'processing' ); }, 500 );
    190199        }
    191200
     
    193202            setActionState( $action, 'remove-personal-data-failed' );
    194203            appendResultsAfterRow( $requestRow, 'notice-error', strings.removalError, [] );
     204
     205            setTimeout( function(){ $rowActions.removeClass( 'processing' ); }, 500 );
    195206        }
    196207
     
    216227
    217228                if ( ! response.success ) {
    218                     onErasureFailure();
     229                    setTimeout( function(){ onErasureFailure(); }, 500 );
    219230                    return;
    220231                }
     
    231242                    setTimeout( doNextErasure( eraserIndex, pageIndex + 1 ) );
    232243                } else {
     244                    setErasureProgress( eraserIndex );
    233245                    if ( eraserIndex < erasersCount ) {
    234                         setErasureProgress( eraserIndex );
    235246                        setTimeout( doNextErasure( eraserIndex + 1, 1 ) );
    236247                    } else {
    237                         onErasureDoneSuccess();
     248                        setTimeout( function(){ onErasureDoneSuccess(); }, 500 );
    238249                    }
    239250                }
    240251            }).fail( function() {
    241                 onErasureFailure();
     252                setTimeout( function(){ onErasureFailure(); }, 500 );
    242253            });
    243254        }
  • trunk/src/wp-admin/css/forms.css

    r47376 r47395  
    12071207}
    12081208
     1209.privacy_requests .row-actions.processing {
     1210    position: static;
     1211}
     1212
    12091213.privacy_requests tbody .has-request-results th {
    12101214    box-shadow: none;
Note: See TracChangeset for help on using the changeset viewer.