Changeset 43012 for trunk/src/wp-admin/js/xfn.js
- Timestamp:
- 04/27/2018 07:53:37 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/js/xfn.js
r42994 r43012 23 23 24 24 // Privacy request action handling 25 26 25 jQuery( document ).ready( function( $ ) { 27 26 var strings = window.privacyToolsL10n || {}; … … 40 39 function appendResultsAfterRow( $requestRow, classes, summaryMessage, additionalMessages ) { 41 40 clearResultsAfterRow( $requestRow ); 41 42 var itemList = ''; 42 43 if ( additionalMessages.length ) { 43 // TODO - render additionalMessages after the summaryMessage 44 $.each( additionalMessages, function( index, value ) { 45 itemList = itemList + '<li>' + value + '</li>'; 46 } ); 47 itemList = '<ul>' + itemList + '</ul>'; 44 48 } 45 49 46 50 $requestRow.after( function() { 47 return '<tr class="request-results"><td colspan="5"><div class="notice inline notice-alt ' + classes + '"><p>' + 48 summaryMessage + 49 '</p></div></td></tr>'; 51 return '<tr class="request-results"><td colspan="5">' + 52 '<div class="notice inline notice-alt ' + classes + '">' + 53 '<p>' + summaryMessage + '</p>' + 54 itemList + 55 '</div>' + 56 '</td>' + 57 '</tr>'; 50 58 } ); 51 59 } 60 61 $( '.export_personal_data a' ).click( function( event ) { 62 event.preventDefault(); 63 event.stopPropagation(); 64 65 var $this = $( this ); 66 var $action = $this.parents( '.export_personal_data' ); 67 var $requestRow = $this.parents( 'tr' ); 68 var requestID = $action.data( 'request-id' ); 69 var nonce = $action.data( 'nonce' ); 70 var exportersCount = $action.data( 'exporters-count' ); 71 var sendAsEmail = $action.data( 'send-as-email' ) ? true : false; 72 73 $action.blur(); 74 clearResultsAfterRow( $requestRow ); 75 76 function on_export_done_success( zipUrl ) { 77 set_action_state( $action, 'export_personal_data_success' ); 78 if ( 'undefined' !== typeof zipUrl ) { 79 window.location = zipUrl; 80 } else if ( ! sendAsEmail ) { 81 on_export_failure( strings.noExportFile ); 82 } 83 } 84 85 function on_export_failure( errorMessage ) { 86 set_action_state( $action, 'export_personal_data_failed' ); 87 if ( errorMessage ) { 88 appendResultsAfterRow( $requestRow, 'notice-error', strings.exportError, [ errorMessage ] ); 89 } 90 } 91 92 function do_next_export( exporterIndex, pageIndex ) { 93 $.ajax( 94 { 95 url: window.ajaxurl, 96 data: { 97 action: 'wp-privacy-export-personal-data', 98 exporter: exporterIndex, 99 id: requestID, 100 page: pageIndex, 101 security: nonce, 102 sendAsEmail: sendAsEmail 103 }, 104 method: 'post' 105 } 106 ).done( function( response ) { 107 if ( ! response.success ) { 108 // e.g. invalid request ID 109 on_export_failure( response.data ); 110 return; 111 } 112 var responseData = response.data; 113 if ( ! responseData.done ) { 114 setTimeout( do_next_export( exporterIndex, pageIndex + 1 ) ); 115 } else { 116 if ( exporterIndex < exportersCount ) { 117 setTimeout( do_next_export( exporterIndex + 1, 1 ) ); 118 } else { 119 on_export_done_success( responseData.url ); 120 } 121 } 122 } ).fail( function( jqxhr, textStatus, error ) { 123 // e.g. Nonce failure 124 on_export_failure( error ); 125 } ); 126 } 127 128 // And now, let's begin 129 set_action_state( $action, 'export_personal_data_processing' ); 130 do_next_export( 1, 1 ); 131 } ); 52 132 53 133 $( '.remove_personal_data a' ).click( function( event ) { … … 93 173 function on_erasure_failure() { 94 174 set_action_state( $action, 'remove_personal_data_failed' ); 95 appendResultsAfterRow( $requestRow, 'notice-error', strings. anErrorOccurred, [] );175 appendResultsAfterRow( $requestRow, 'notice-error', strings.removalError, [] ); 96 176 } 97 177
Note: See TracChangeset
for help on using the changeset viewer.