WordPress.org

Make WordPress Core

Ticket #22659: 22659.diff

File 22659.diff, 1.7 KB (added by lessbloat, 5 years ago)
  • wp-includes/js/media-views.js

     
    25322532
    25332533                events: {
    25342534                        'click .attachment-preview':      'toggleSelection',
     2535                        'keydown':                                                'keydown',
    25352536                        'change [data-setting]':          'updateSetting',
    25362537                        'change [data-setting] input':    'updateSetting',
    25372538                        'change [data-setting] select':   'updateSetting',
     
    26152616                        this.updateSave();
    26162617
    26172618                        this.views.render();
     2619
     2620                        // If tab is saved, focus it
     2621                        if (this.tabNext) {
     2622                                this.$(this.tabNext).find(':tabbable').first().focus();
     2623                                this.tabNext = null;
     2624                        }
     2625
    26182626                        return this;
    26192627                },
    26202628
     
    27072715                        }
    27082716                },
    27092717
     2718                keydown: function( event ) {
     2719                        if ( 9 !== event.keyCode )
     2720                                return;
     2721
     2722                        var allInputs = this.$(':tabbable');
     2723
     2724                        var direction = ( event.shiftKey ) ? -1 : 1;
     2725
     2726                        for ( i=0; i<allInputs.length; i++ ) {
     2727                                if ( event.target === allInputs[i] ) {
     2728                                        tabNew = allInputs.eq( i + direction ),
     2729                                        dataSetting = tabNew.closest('[data-setting]').data('setting');
     2730
     2731                                        if ( dataSetting )
     2732                                                this.tabNext = '[data-setting="' + dataSetting + '"]';
     2733                                        else
     2734                                                this.tabNext = '.' + tabNew.parent().prop('class');
     2735                                }
     2736                        }
     2737                },
     2738
    27102739                updateSetting: function( event ) {
    27112740                        var $setting = $( event.target ).closest('[data-setting]'),
    27122741                                setting, value;
     
    36993728                template:  media.template('attachment-details'),
    37003729
    37013730                events: {
     3731                        'keydown':                                'keydown',
    37023732                        'change [data-setting]':          'updateSetting',
    37033733                        'change [data-setting] input':    'updateSetting',
    37043734                        'change [data-setting] select':   'updateSetting',