WordPress.org

Make WordPress Core

Ticket #44264: 44264.0

File 44264.0, 4.5 KB (added by dominic_ks, 4 months ago)

Initial patch to show percentage completion of export or deletion.

Line 
1Index: src/js/_enqueues/admin/privacy-tools.js
2===================================================================
3--- src/js/_enqueues/admin/privacy-tools.js     (revision 46436)
4+++ src/js/_enqueues/admin/privacy-tools.js     (working copy)
5@@ -69,6 +69,7 @@
6 
7                $action.blur();
8                clearResultsAfterRow( $requestRow );
9+    setProgress( 0 );
10 
11                function onExportDoneSuccess( zipUrl ) {
12                        var summaryMessage = strings.emailSent;
13@@ -77,7 +78,7 @@
14 
15                        appendResultsAfterRow( $requestRow, 'notice-success', summaryMessage, [] );
16                        $this.hide();
17-                       
18+
19                        if ( 'undefined' !== typeof zipUrl ) {
20                                window.location = zipUrl;
21                        } else if ( ! sendAsEmail ) {
22@@ -92,6 +93,12 @@
23                        }
24                }
25 
26+    function setProgress( exporterIndex ) {
27+      var progress = exporterIndex / exportersCount;
28+      var progressString = Math.round( progress * 100 ).toString() + '%';
29+      $( '.export-progress' ).html( progressString );
30+    }
31+
32                function doNextExport( exporterIndex, pageIndex ) {
33                        $.ajax(
34                                {
35@@ -120,6 +127,7 @@
36                                        setTimeout( doNextExport( exporterIndex, pageIndex + 1 ) );
37                                } else {
38                                        if ( exporterIndex < exportersCount ) {
39+            setProgress( exporterIndex );
40                                                setTimeout( doNextExport( exporterIndex + 1, 1 ) );
41                                        } else {
42                                                onExportDoneSuccess( responseData.url );
43@@ -152,6 +160,7 @@
44 
45                $action.blur();
46                clearResultsAfterRow( $requestRow );
47+    setProgress( 0 );
48 
49                function onErasureDoneSuccess() {
50                        var summaryMessage = strings.noDataFound;
51@@ -183,6 +192,12 @@
52                        appendResultsAfterRow( $requestRow, 'notice-error', strings.removalError, [] );
53                }
54 
55+    function setProgress( eraserIndex ) {
56+      var progress = eraserIndex / erasersCount;
57+      var progressString = Math.round( progress * 100 ).toString() + '%';
58+      $( '.delete-progress' ).html( progressString );
59+    }
60+
61                function doNextErasure( eraserIndex, pageIndex ) {
62                        $.ajax({
63                                url: window.ajaxurl,
64@@ -214,6 +229,7 @@
65                                        setTimeout( doNextErasure( eraserIndex, pageIndex + 1 ) );
66                                } else {
67                                        if ( eraserIndex < erasersCount ) {
68+            setProgress( eraserIndex );
69                                                setTimeout( doNextErasure( eraserIndex + 1, 1 ) );
70                                        } else {
71                                                onErasureDoneSuccess();
72@@ -260,4 +276,3 @@
73                }
74        });
75 });
76-
77Index: src/wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php
78===================================================================
79--- src/wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php  (revision 46436)
80+++ src/wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php  (working copy)
81@@ -100,7 +100,7 @@
82 
83                                ?>
84                                <span class="export-personal-data-idle"><button type="button" class="button export-personal-data-handle"><?php _e( 'Send Export Link' ); ?></button></span>
85-                               <span class="export-personal-data-processing button updating-message hidden"><?php _e( 'Sending Email...' ); ?></span>
86+                               <span class="export-personal-data-processing button updating-message hidden"><?php _e( 'Sending Email...' ); ?> <span class="export-progress"></span></span>
87                                <span class="export-personal-data-success success-message hidden"><?php _e( 'Email sent.' ); ?></span>
88                                <span class="export-personal-data-failed hidden"><?php _e( 'Email could not be sent.' ); ?> <button type="button" class="button export-personal-data-handle"><?php _e( 'Retry' ); ?></button></span>
89                                <?php
90Index: src/wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php
91===================================================================
92--- src/wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php (revision 46436)
93+++ src/wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php (working copy)
94@@ -106,7 +106,7 @@
95 
96                                ?>
97                                <span class="remove-personal-data-idle"><button type="button" class="button remove-personal-data-handle"><?php _e( 'Erase Personal Data' ); ?></button></span>
98-                               <span class="remove-personal-data-processing button updating-message hidden"><?php _e( 'Erasing Data...' ); ?></span>
99+                               <span class="remove-personal-data-processing button updating-message hidden"><?php _e( 'Erasing Data...' ); ?> <span class="delete-progress"></span></span>
100                                <span class="remove-personal-data-success success-message hidden" ><?php _e( 'Erasure completed.' ); ?></span>
101                                <span class="remove-personal-data-failed hidden"><?php _e( 'Data Erasure has failed.' ); ?> <button type="button" class="button remove-personal-data-handle"><?php _e( 'Retry' ); ?></button></span>
102                                <?php