WordPress.org

Make WordPress Core

Ticket #34816: 34816.3.diff

File 34816.3.diff, 4.8 KB (added by swissspidy, 5 years ago)
  • src/wp-admin/css/themes.css

    diff --git src/wp-admin/css/themes.css src/wp-admin/css/themes.css
    index 89fafd5..8c954e5 100644
    body.folded .theme-overlay .theme-wrap { 
    828828}
    829829
    830830/**
     831 * Theme deletion dialog
     832 */
     833#delete-theme-dialog #delete-theme-dialog-message {
     834        padding: 15px 25px;
     835}
     836
     837/**
    831838 * Basic Responsive structure...
    832839 *
    833840 * Shuffles theme columns around based on screen width
  • src/wp-admin/js/theme.js

    diff --git src/wp-admin/js/theme.js src/wp-admin/js/theme.js
    index 1a91279..795fc1c 100644
    themes.view.Details = wp.Backbone.View.extend({ 
    714714                this.trigger( 'theme:collapse' );
    715715        },
    716716
    717         // Confirmation dialog for deleting a theme
    718         deleteTheme: function() {
    719                 return confirm( themes.data.settings.confirmDelete );
     717        // Called by Themes view
     718        keyEvent: function(e) {
     719                // Pressing the right arrow key fires a theme:next event
     720                if ( e.keyCode === 39 ) {
     721                        self.overlay.nextTheme();
     722                }
     723
     724                // Pressing the left arrow key fires a theme:previous event
     725                if ( e.keyCode === 37 ) {
     726                        self.overlay.previousTheme();
     727                }
     728
     729                if ( e.keyCode === 27 ) {
     730                        if ( $( '#delete-theme-dialog' ).hasClass( 'hidden' ) ) {
     731                                // Pressing the escape key fires a theme:collapse event
     732                                self.overlay.collapse( event );
     733                        } else {
     734                                // Close theme deletion dialog
     735                                $( '#delete-theme-dialog' ).addClass( 'hidden' );
     736                        }
     737                }
     738
     739                if ( e.keyCode === 9 && !$( '#delete-theme-dialog' ).hasClass( 'hidden' ) ) {
     740                        // Constrain tabbing within the theme deletion dialog
     741                        var $target = $( e.target );
     742                }
     743        },
     744
     745        // Confirmation dialog for deleting a theme.
     746        deleteTheme: function(e) {
     747                e.preventDefault();
     748
     749                var originalTarget = $( e.target );
     750
     751                $( '#delete-theme-dialog' ).removeClass( 'hidden' ).focus();
     752
     753                $( '#delete-theme-dialog-cancel' ).on( 'click', function () {
     754                        $( '#delete-theme-dialog' ).addClass( 'hidden' );
     755                } );
     756
     757                $( '#delete-theme-dialog-confirm' ).attr( 'href', $( '.delete-theme' ).attr( 'href' ) );
    720758        },
    721759
    722760        nextTheme: function() {
    themes.view.Themes = wp.Backbone.View.extend({ 
    901939                                return;
    902940                        }
    903941
    904                         // Pressing the right arrow key fires a theme:next event
    905                         if ( event.keyCode === 39 ) {
    906                                 self.overlay.nextTheme();
    907                         }
    908 
    909                         // Pressing the left arrow key fires a theme:previous event
    910                         if ( event.keyCode === 37 ) {
    911                                 self.overlay.previousTheme();
    912                         }
    913 
    914                         // Pressing the escape key fires a theme:collapse event
    915                         if ( event.keyCode === 27 ) {
    916                                 self.overlay.collapse( event );
    917                         }
     942                        self.overlay.keyEvent( event );
    918943                });
    919944        },
    920945
  • src/wp-admin/themes.php

    diff --git src/wp-admin/themes.php src/wp-admin/themes.php
    index bf65884..afb6d61 100644
    wp_reset_vars( array( 'theme', 'search' ) ); 
    129129wp_localize_script( 'theme', '_wpThemeSettings', array(
    130130        'themes'   => $themes,
    131131        'settings' => array(
    132                 'canInstall'    => ( ! is_multisite() && current_user_can( 'install_themes' ) ),
    133                 'installURI'    => ( ! is_multisite() && current_user_can( 'install_themes' ) ) ? admin_url( 'theme-install.php' ) : null,
    134                 'confirmDelete' => __( "Are you sure you want to delete this theme?\n\nClick 'Cancel' to go back, 'OK' to confirm the delete." ),
    135                 'adminUrl'      => parse_url( admin_url(), PHP_URL_PATH ),
     132                'canInstall' => ( ! is_multisite() && current_user_can( 'install_themes' ) ),
     133                'installURI' => ( ! is_multisite() && current_user_can( 'install_themes' ) ) ? admin_url( 'theme-install.php' ) : null,
     134                'adminUrl'   => parse_url( admin_url(), PHP_URL_PATH ),
    136135        ),
    137136        'l10n' => array(
    138137                'addNew'            => __( 'Add New Theme' ),
    $can_install = current_user_can( 'install_themes' ); 
    456455                        </div>
    457456
    458457                        <# if ( ! data.active && data.actions['delete'] ) { #>
    459                                 <a href="{{{ data.actions['delete'] }}}" class="button button-secondary delete-theme"><?php _e( 'Delete' ); ?></a>
     458                                <a href="{{{ data.actions['delete'] }}}" class="button button-secondary delete-theme" aria-label="<?php esc_attr_e( 'Confirm deletion' ); ?>"><?php _e( 'Delete' ); ?></a>
    460459                        <# } #>
    461460                </div>
    462461        </div>
    463462</script>
    464 
     463<div id="delete-theme-dialog" class="notification-dialog-wrap hidden" role="dialog" aria-label="<?php esc_attr_e( 'Confirm deletion' ); ?>" tabindex="0">
     464        <div class="notification-dialog-background"></div>
     465        <div class="notification-dialog">
     466                <div id="delete-theme-dialog-message">
     467                        <p><?php _e( 'Are you sure you want to delete this theme?' ); ?></p>
     468                        <p>
     469                                <button id="delete-theme-dialog-confirm" class="button button-primary"><?php _e( 'Delete' ); ?></button>
     470                                <button id="delete-theme-dialog-cancel" class="button button-secondary"><?php _e( 'Cancel' ); ?></button>
     471                        </p>
     472                </div>
     473        </div>
     474</div>
    465475<?php require( ABSPATH . 'wp-admin/admin-footer.php' );