Make WordPress Core

Ticket #40453: 40453.3.diff

File 40453.3.diff, 3.7 KB (added by afercia, 7 years ago)
  • src/wp-admin/includes/class-bulk-upgrader-skin.php

     
    4343                /* translators: 1: Title of an update */
    4444                $this->upgrader->strings['skin_update_failed'] = __('The update of %1$s failed.');
    4545                /* translators: 1: Title of an update */
    46                 $this->upgrader->strings['skin_update_successful'] = __( '%1$s updated successfully.' ) . ' <a onclick="%2$s" href="#" class="hide-if-no-js"><span>' . __( 'Show Details' ) . '</span><span class="hidden">' . __( 'Hide Details' ) . '</span></a>';
     46                $this->upgrader->strings['skin_update_successful'] = __( '%1$s updated successfully.' );
    4747                $this->upgrader->strings['skin_upgrade_end'] = __('All updates have been completed.');
    4848        }
    4949
     
    128128                $this->in_loop = true;
    129129                printf( '<h2>' . $this->upgrader->strings['skin_before_update_header'] . ' <span class="spinner waiting-' . $this->upgrader->update_current . '"></span></h2>', $title, $this->upgrader->update_current, $this->upgrader->update_count );
    130130                echo '<script type="text/javascript">jQuery(\'.waiting-' . esc_js($this->upgrader->update_current) . '\').css("display", "inline-block");</script>';
     131                // This progress messages div gets moved via JavaScript when clicking on "Show details.".
    131132                echo '<div class="update-messages hide-if-js" id="progress-' . esc_attr($this->upgrader->update_current) . '"><p>';
    132133                $this->flush_output();
    133134        }
     
    148149                        echo '<script type="text/javascript">jQuery(\'#progress-' . esc_js($this->upgrader->update_current) . '\').show();</script>';
    149150                }
    150151                if ( $this->result && ! is_wp_error( $this->result ) ) {
    151                         if ( ! $this->error )
    152                                 echo '<div class="updated"><p>' . sprintf($this->upgrader->strings['skin_update_successful'], $title, 'jQuery(\'#progress-' . esc_js($this->upgrader->update_current) . '\').toggle();jQuery(\'span\', this).toggle(); return false;') . '</p></div>';
     152                        if ( ! $this->error ) {
     153                                echo '<div class="updated js-update-details" data-update-details="progress-' . esc_attr( $this->upgrader->update_current ) . '">' .
     154                                        '<p>' . sprintf( $this->upgrader->strings['skin_update_successful'], $title ) .
     155                                        ' <button type="button" class="hide-if-no-js button-link js-update-details-toggle" aria-expanded="false">' . __( 'Show details.' ) . '</button>' .
     156                                        '</p></div>';
     157                        }
     158
    153159                        echo '<script type="text/javascript">jQuery(\'.waiting-' . esc_js($this->upgrader->update_current) . '\').hide();</script>';
    154160                }
    155161
  • src/wp-admin/js/common.js

     
    978978
    979979        // Set initial focus on a specific element.
    980980        $( '.wp-initial-focus' ).focus();
     981
     982        // Toggle update details on update-core.php.
     983        $body.on( 'click', '.js-update-details-toggle', function() {
     984                var $updateNotice = $( this ).closest( '.js-update-details' ),
     985                        $progressDiv = $( '#' + $updateNotice.data( 'update-details' ) );
     986
     987                /*
     988                 * When clicking on "Show details" move the progress div below the update
     989                 * notice. Make sure it gets moved just the first time.
     990                 */
     991                if ( ! $progressDiv.hasClass( 'update-details-moved' ) ) {
     992                        $progressDiv.insertAfter( $updateNotice ).addClass( 'update-details-moved' );
     993                }
     994
     995                // Toggle the progress div visibility.
     996                $progressDiv.toggle();
     997                // Toggle the Show Details button expanded state.
     998                $( this ).attr( 'aria-expanded', $progressDiv.is( ':visible' ) )
     999        })
    9811000});
    9821001
    9831002// Fire a custom jQuery event at the end of window resize