Make WordPress Core

Ticket #44264: 44264.8.diff

File 44264.8.diff, 3.1 KB (added by garrett-eclipse, 4 years ago)

Alternate approach to keeping the row-actions for processing visible. Avoids breaking the tab functionality.

  • src/js/_enqueues/admin/privacy-tools.js

     
    6060                        $action        = $this.parents( '.export-personal-data' ),
    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' ),
    6566                        exportersCount = $action.data( 'exporters-count' ),
     
    6869                event.preventDefault();
    6970                event.stopPropagation();
    7071
     72                $rowActions.addClass( 'processing' );
     73
    7174                $action.blur();
    7275                clearResultsAfterRow( $requestRow );
    7376                setExportProgress( 0 );
     
    7881                        setActionState( $action, 'export-personal-data-success' );
    7982
    8083                        appendResultsAfterRow( $requestRow, 'notice-success', summaryMessage, [] );
    81                         $this.hide();
    8284
    8385                        if ( 'undefined' !== typeof zipUrl ) {
    8486                                window.location = zipUrl;
     
    8587                        } else if ( ! sendAsEmail ) {
    8688                                onExportFailure( strings.noExportFile );
    8789                        }
     90
     91                        setTimeout( function(){ $rowActions.removeClass( 'processing' ); }, 500 );
    8892                }
    8993
    9094                function onExportFailure( errorMessage ) {
     
    9296                        if ( errorMessage ) {
    9397                                appendResultsAfterRow( $requestRow, 'notice-error', strings.exportError, [ errorMessage ] );
    9498                        }
     99
     100                        setTimeout( function(){ $rowActions.removeClass( 'processing' ); }, 500 );
    95101                }
    96102
    97103                function setExportProgress( exporterIndex ) {
     
    151157                        $action       = $this.parents( '.remove-personal-data' ),
    152158                        $requestRow   = $this.parents( 'tr' ),
    153159                        $progress     = $requestRow.find( '.erasure-progress' ),
     160                        $rowActions    = $this.parents( '.row-actions' ),
    154161                        requestID     = $action.data( 'request-id' ),
    155162                        nonce         = $action.data( 'nonce' ),
    156163                        erasersCount  = $action.data( 'erasers-count' ),
     
    158165                        hasRetained   = false,
    159166                        messages      = [];
    160167
     168                event.preventDefault();
    161169                event.stopPropagation();
    162170
     171                $rowActions.addClass( 'processing' );
     172
    163173                $action.blur();
    164174                clearResultsAfterRow( $requestRow );
    165175                setErasureProgress( 0 );
     
    186196                                }
    187197                        }
    188198                        appendResultsAfterRow( $requestRow, classes, summaryMessage, messages );
    189                         $this.hide();
     199
     200                        setTimeout( function(){ $rowActions.removeClass( 'processing' ); }, 500 );
    190201                }
    191202
    192203                function onErasureFailure() {
    193204                        setActionState( $action, 'remove-personal-data-failed' );
    194205                        appendResultsAfterRow( $requestRow, 'notice-error', strings.removalError, [] );
     206
     207                        setTimeout( function(){ $rowActions.removeClass( 'processing' ); }, 500 );
    195208                }
    196209
    197210                function setErasureProgress( eraserIndex ) {
  • src/wp-admin/css/forms.css

     
    12061206        color: #72777c;
    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;
    12111215}