https://www.mediawiki.org/wiki/Special:Code/MediaWiki/114976

Revision: 114976
Author:   foxtrott
Date:     2012-04-19 21:08:07 +0000 (Thu, 19 Apr 2012)
Log Message:
-----------

fix bug 35652 (SemanticFormsInputs: Datepicker and timepicker: wrong tab order)

Modified Paths:
--------------
    trunk/extensions/SemanticFormsInputs/libs/datepicker.js
    trunk/extensions/SemanticFormsInputs/libs/datetimepicker.js
    trunk/extensions/SemanticFormsInputs/libs/timepicker.js

Modified: trunk/extensions/SemanticFormsInputs/libs/datepicker.js
===================================================================
--- trunk/extensions/SemanticFormsInputs/libs/datepicker.js     2012-04-19 
19:38:37 UTC (rev 114975)
+++ trunk/extensions/SemanticFormsInputs/libs/datepicker.js     2012-04-19 
21:08:07 UTC (rev 114976)
@@ -28,6 +28,8 @@
        }
                        
        
+       var tabindex = inputShow.attr('tabindex');
+       
        var re = /\d{4}\/\d{2}\/\d{2}/
 
        if ( params.disabled ) {
@@ -52,7 +54,7 @@
                // append reset button if image is set
                if ( params.resetButtonImage && ! params.partOfDTP ) {
                        
-                       var resetbutton = jQuery( '<button type="button" 
class="ui-datepicker-trigger ' + params.userClasses + '" ><img src="' + 
params.resetButtonImage + '" alt="..." title="..."></button>' );
+                       var resetbutton = jQuery( '<button type="button" 
class="ui-datepicker-trigger ' + params.userClasses + '"><img src="' + 
params.resetButtonImage + '" alt="..." title="..."></button>' );
                        inputShow.after( resetbutton );
                        resetbutton.click( function(){
                                inputShow.datepicker( 'setDate', null);
@@ -75,6 +77,11 @@
                        'dateFormat': params.dateFormat,
                        'beforeShowDay': function ( date ) {return 
SFI_DP_checkDate( '#' + input_id + '_show', date );}
                } );
+               
+               // at least in FF tabindex needs to be set delayed
+               setTimeout(function(){
+                       inputShow.siblings('button').attr('tabindex', tabindex);
+               }, 0);
 
                if ( params.minDate ) {
                        inputShow.datepicker( 'option', 'minDate',

Modified: trunk/extensions/SemanticFormsInputs/libs/datetimepicker.js
===================================================================
--- trunk/extensions/SemanticFormsInputs/libs/datetimepicker.js 2012-04-19 
19:38:37 UTC (rev 114975)
+++ trunk/extensions/SemanticFormsInputs/libs/datetimepicker.js 2012-04-19 
21:08:07 UTC (rev 114976)
@@ -10,6 +10,8 @@
 
        var input = jQuery( '#' + inputId );
        
+       var tabindex = input.attr('tabindex');
+       
        var hiddenInput = jQuery( '<input type="hidden" >' );
        
        hiddenInput.attr( {
@@ -72,7 +74,7 @@
                        
                } else {
                        
-                       var resetbutton = jQuery('<button type="button" 
class="ui-datetimepicker-trigger ' + params.userClasses + '" ><img src="' + 
params.resetButtonImage + '" alt="..." title="..."></button>');
+                       var resetbutton = jQuery('<button type="button" 
class="ui-datetimepicker-trigger ' + params.userClasses + '" tabindex="' + 
tabindex + '" ><img src="' + params.resetButtonImage + '" alt="..." 
title="..."></button>');
                        input.before( resetbutton );
                        
                        resetbutton.click( function(){

Modified: trunk/extensions/SemanticFormsInputs/libs/timepicker.js
===================================================================
--- trunk/extensions/SemanticFormsInputs/libs/timepicker.js     2012-04-19 
19:38:37 UTC (rev 114975)
+++ trunk/extensions/SemanticFormsInputs/libs/timepicker.js     2012-04-19 
21:08:07 UTC (rev 114976)
@@ -42,11 +42,14 @@
                input = inputShow;
        }
        
+       var tabindex = inputShow.attr('tabindex');
+       
        // append time picker button
        var button = jQuery( '<button type="button" ></button>' );
        button.attr({
                'class': params.userClasses,
-               'id': inputID + '_button'
+               'id': inputID + '_button',
+               'tabindex': tabindex
        });
                        
 
@@ -80,7 +83,8 @@
                var resetbutton = jQuery('<button type="button" ></button>');
                resetbutton.attr({
                        'class': params.userClasses,
-                       'id': inputID + '_resetbutton'
+                       'id': inputID + '_resetbutton',
+                       'tabindex': tabindex
                });
 
                if ( params.disabled ) {


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to