WordPress.org

Make WordPress Core

Ticket #25821: 25821.6.patch

File 25821.6.patch, 6.2 KB (added by azaozz, 7 years ago)
  • src/wp-admin/css/wp-admin.css

     
    1019010190
    1019110191#available-widgets .widget .widget-description {
    1019210192        display: block;
    10193 padding: 10px 16px;
    10194 font-size: 12px;
     10193        padding: 10px 16px;
     10194        font-size: 12px;
    1019510195}
    1019610196
    1019710197/* Inactive Sidebars */
     
    1049510495}
    1049610496
    1049710497
    10498 /* Widgets Area Chooser merge */
     10498/* Widgets Area Chooser */
    1049910499.widget-liquid-left #widgets-left.chooser #available-widgets .widget,
    1050010500.widget-liquid-left #widgets-left.chooser .inactive-sidebar {
    10501         transition: opacity 0.2s ease-in-out;
     10501        transition: opacity 0.1s linear;
    1050210502}
    1050310503
    1050410504.widget-liquid-left #widgets-left.chooser #available-widgets .widget,
     
    1052310523#widgets-chooser {
    1052410524        clear: both;
    1052510525        display: none;
    10526         margin: auto;
    10527         padding-bottom: 10px;
    1052810526        max-width: 400px;
    1052910527}
    1053010528
    1053110529#widgets-chooser h3 {
    10532         font-size: 14px;
    10533         margin: 15px 0;
     10530        font-size: 12px;
     10531        padding: 15px 0 12px 35px;
     10532        margin: 0;
     10533        border-top: 1px solid #ccc;
     10534        background: rgba(0,0,0,0.6);
     10535        color: #fff;
    1053410536}
    1053510537
    1053610538#widgets-chooser ul.widgets-chooser-sidebars {
    10537         margin: 0 0 20px 0;
     10539        margin: 0;
    1053810540        list-style-type: none;
     10541        max-height: 300px;
     10542        overflow: auto;
    1053910543}
    1054010544
    10541 #widgets-chooser ul.widgets-chooser-sidebars li {
     10545#widgets-chooser li {
    1054210546        padding: 10px 15px 10px 35px;
    1054310547        background: #fff;
    10544         border: 1px solid #ccc;
    10545         border-bottom: none;
     10548        border-bottom: 1px solid #ccc;
    1054610549        margin: 0;
    1054710550        cursor: pointer;
     10551        outline: none;
     10552        position: relative;
     10553        transition: background: 0.2s ease-in-out;
    1054810554}
    1054910555
    10550 #widgets-chooser ul.widgets-chooser-sidebars li:hover {
     10556#widgets-chooser li:hover,
     10557#widgets-chooser li:focus {
    1055110558        background: rgba(255,255,255,0.7);
    1055210559}
    1055310560
    10554 #widgets-chooser ul.widgets-chooser-sidebars li.widgets-chooser-selected {
     10561#widgets-chooser li:focus:before {
     10562        content: '\f147';
     10563        display: block;
     10564        -webkit-font-smoothing: antialiased;
     10565        font: normal 26px/1 'dashicons';
     10566        color: #999;
     10567        position: absolute;
     10568        top: 7px;
     10569        left: 5px;
     10570}
     10571
     10572#widgets-chooser li.widgets-chooser-selected {
    1055510573        background: #1075a0;
    1055610574        color: #fff;
    10557         position: relative;
    1055810575}
    1055910576
    10560 #widgets-chooser ul.widgets-chooser-sidebars li.widgets-chooser-selected:before {
     10577#widgets-chooser li.widgets-chooser-selected:before,
     10578#widgets-chooser li.widgets-chooser-selected:focus:before {
    1056110579        content: '\f147';
    1056210580        display: block;
    1056310581        -webkit-font-smoothing: antialiased;
    1056410582        font: normal 26px/1 'dashicons';
     10583        color: #fff;
    1056510584        position: absolute;
    1056610585        top: 7px;
    1056710586        left: 5px;
    1056810587}
    1056910588
    10570 #widgets-chooser ul.widgets-chooser-sidebars li:last-child {
    10571         border-bottom: 1px solid #ccc;
    10572 }
    10573 
    1057410589#widgets-chooser .widgets-chooser-actions {
    10575         clear: both;
     10590        padding: 10px 0 12px 0;
    1057610591        text-align: center;
    1057710592}
    1057810593
     
    1236812383                height: 100%;
    1236912384                z-index: 400;
    1237012385        }
    12371 }
    12372  No newline at end of file
     12386}
  • src/wp-admin/js/widgets.js

     
    204204                                $( '#widgets-left' ).addClass( 'chooser' );
    205205                                widget.addClass( 'widget-in-question' );
    206206
    207                                 widget.after( chooser );
    208                                 chooser.slideDown( 200, function() {
     207                                widget.find( '.widget-description' ).after( chooser );
     208                                chooser.slideDown( 300, function() {
    209209                                        selectSidebar.find('.widgets-chooser-selected').focus();
    210210                                });
     211
     212                                selectSidebar.find( 'li' ).on( 'focusin.widgets-chooser', function() {
     213                                        selectSidebar.find('.widgets-chooser-selected').removeClass( 'widgets-chooser-selected' );
     214                                        $(this).addClass( 'widgets-chooser-selected' );
     215                                } )
    211216                        }
    212217                });
    213218
     
    220225                                self.closeChooser();
    221226                        } else if ( $target.hasClass('button-secondary') ) {
    222227                                self.closeChooser();
    223                         } else if ( $target.is('.widgets-chooser-sidebars li') ) {
     228                        }
     229                        /*
     230                        else if ( $target.is('.widgets-chooser-sidebars li') ) {
    224231                                chooser.find('.widgets-chooser-selected').removeClass( 'widgets-chooser-selected' );
    225232                                $target.addClass( 'widgets-chooser-selected' );
    226233                        }
     234                        */
     235                }).on( 'keyup.widgets-chooser', function( event ) {
     236                        if ( event.which === $.ui.keyCode.ENTER ) {
     237                                if ( $( event.target ).hasClass('button-secondary') ) {
     238                                        // Close instead of adding when pressing Enter on the Cancel button
     239                                        self.closeChooser();
     240                                } else {
     241                                        self.addWidget( chooser );
     242                                        self.closeChooser();
     243                                }
     244                        } else if ( event.which === $.ui.keyCode.ESCAPE ) {
     245                                self.closeChooser();
     246                        }
    227247                });
    228248        },
    229249
     
    337357        },
    338358
    339359        addWidget: function( chooser ) {
    340                 var widget = $('#available-widgets').find('.widget-in-question').clone(),
    341                         widgetId = widget.attr('id'),
    342                         add = widget.find( 'input.add_new' ).val(),
    343                         n = widget.find( 'input.multi_number' ).val(),
     360                var widget, widgetId, add, n,
    344361                        sidebarId = chooser.find( '.widgets-chooser-selected' ).data('sidebarId'),
    345362                        sidebar = $( '#' + sidebarId );
    346363
     364                // Move the chooser out of the widget
     365                $('#wpbody-content').append( chooser );
     366
     367                widget = $('#available-widgets').find('.widget-in-question').clone();
     368                widgetId = widget.attr('id');
     369                add = widget.find( 'input.add_new' ).val();
     370                n = widget.find( 'input.multi_number' ).val();
     371
    347372                if ( 'multi' === add ) {
    348373                        widget.html(
    349374                                widget.html().replace( /<[^<>]+>/g, function(m) {
     
    391416
    392417        clearWidgetSelection: function() {
    393418                $( '#widgets-left' ).removeClass( 'chooser' );
    394                 $( '#available-widgets' ).find( '.widget-in-question' ).removeClass( 'widget-in-question' );
     419                $( '.widget-in-question' ).removeClass( 'widget-in-question' );
    395420        }
    396421};
    397422
  • src/wp-admin/widgets.php

     
    407407</div>
    408408
    409409<div id="widgets-chooser">
    410         <h3><?php _e( 'Choose an area to place this widget&hellip;' ); ?></h3>
     410        <h3><?php _e( 'Choose a sidebar:' ); ?></h3>
    411411        <ul class="widgets-chooser-sidebars"></ul>
    412412        <div class="widgets-chooser-actions">
     413                <button class="button-secondary"><?php _e( 'Cancel' ); ?></button>
    413414                <button class="button-primary"><?php _e( 'Add Widget' ); ?></button>
    414                 <button class="button-secondary"><?php _e( 'Cancel' ); ?></button>
    415415        </div>
    416416</div>
    417417