WordPress.org

Make WordPress Core

Ticket #28577: 28577.5.patch

File 28577.5.patch, 951 bytes (added by michalzuber, 4 years ago)

Added scrolling with keys to fieldset

  • src/wp-admin/js/language-chooser.js

     
    4040                $(this).find('.step .spinner').css('visibility','visible');
    4141        });
    4242
     43        var hits = 0,
     44                row_height = $('.language-chooser').find('label').height();
     45                max = $fieldset.find('input').length - parseInt( $fieldset.height() / row_height, 10 );
     46        $(document).keydown(function(e) {
     47                if ( e.which !== 38 && e.which !== 40 ) {
     48                        return;
     49                }
     50
     51                // Hits should be positive value, shouldn't be more than inputs count
     52                if ( hits >= 0 && hits <= max ) {
     53                        if ( e.which == 38 ) { // Up
     54                                hits--;
     55                        }
     56                        else { // Down
     57                                hits++;
     58                        }
     59
     60                        // Fix limit values
     61                        hits = hits < 1 ? 0 : hits;
     62                        hits = hits > max ? max : hits;
     63
     64                        $fieldset.scrollTop( row_height * hits );
     65                }
     66        });
     67
    4368})(jQuery);