http://www.mediawiki.org/wiki/Special:Code/MediaWiki/56332

Revision: 56332
Author:   catrope
Date:     2009-09-14 20:10:46 +0000 (Mon, 14 Sep 2009)

Log Message:
-----------
EditToolbar: (bug 20567) Pressing TAB in a text field in a dialog moves cursor 
to summary box. There seems to be no way around this other than manually adding 
tabindexes to each of those fields

Modified Paths:
--------------
    trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php
    trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.dialogs.js
    trunk/extensions/UsabilityInitiative/js/plugins.combined.js
    trunk/extensions/UsabilityInitiative/js/plugins.combined.min.js

Property Changed:
----------------
    trunk/extensions/UsabilityInitiative/js/plugins/jquery.autoEllipse.js

Modified: trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php
===================================================================
--- trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php  
2009-09-14 19:57:50 UTC (rev 56331)
+++ trunk/extensions/UsabilityInitiative/UsabilityInitiative.hooks.php  
2009-09-14 20:10:46 UTC (rev 56332)
@@ -65,15 +65,15 @@
                                array( 'src' => 
'js/plugins/jquery.textSelection.js', 'version' => 9 ),
                                array( 'src' => 
'js/plugins/jquery.wikiEditor.js', 'version' => 4 ),
                                array( 'src' => 
'js/plugins/jquery.wikiEditor.toolbar.js', 'version' => 11 ),
-                               array( 'src' => 
'js/plugins/jquery.wikiEditor.dialogs.js', 'version' => 1 ),
+                               array( 'src' => 
'js/plugins/jquery.wikiEditor.dialogs.js', 'version' => 2 ),
                                array( 'src' => 
'js/plugins/jquery.wikiEditor.toc.js', 'version' => 5 ),
                                array( 'src' => 'js/js2/jquery-ui-1.7.2.js', 
'version' => '1.7.2x' ),
                        ),
                        'combined' => array(
-                               array( 'src' => 'js/plugins.combined.js', 
'version' => 19 ),
+                               array( 'src' => 'js/plugins.combined.js', 
'version' => 20 ),
                        ),
                        'minified' => array(
-                               array( 'src' => 'js/plugins.combined.min.js', 
'version' => 19 ),
+                               array( 'src' => 'js/plugins.combined.min.js', 
'version' => 20 ),
                        ),
                ),
        );


Property changes on: 
trunk/extensions/UsabilityInitiative/js/plugins/jquery.autoEllipse.js
___________________________________________________________________
Added: svn:eol-style
   + native

Modified: 
trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.dialogs.js
===================================================================
--- 
trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.dialogs.js    
    2009-09-14 19:57:50 UTC (rev 56331)
+++ 
trunk/extensions/UsabilityInitiative/js/plugins/jquery.wikiEditor.dialogs.js    
    2009-09-14 20:10:46 UTC (rev 56332)
@@ -73,6 +73,22 @@
                                                $(this).closest( 
'.ui-dialog-content' ).each(
                                                        
$.wikiEditor.modules.dialogs.fn.resize );
                                        });
+                               
+                               // Add tabindexes to dialog form elements
+                               // Find the highest tabindex in use
+                               var maxTI = 0;
+                               $j( '[tabindex]' ).each( function() {
+                                       var ti = parseInt( $j(this).attr( 
'tabindex' ) );
+                                       if ( ti > maxTI )
+                                               maxTI = ti;
+                               });
+                               
+                               var tabIndex = maxTI + 1;
+                               $j( '.ui-dialog input, .ui-dialog button' )
+                                       .not( '[tabindex]' )
+                                       .each( function() {
+                                               $j(this).attr( 'tabindex', 
tabIndex++ );
+                                       });
                        }
                }
        },

Modified: trunk/extensions/UsabilityInitiative/js/plugins.combined.js
===================================================================
--- trunk/extensions/UsabilityInitiative/js/plugins.combined.js 2009-09-14 
19:57:50 UTC (rev 56331)
+++ trunk/extensions/UsabilityInitiative/js/plugins.combined.js 2009-09-14 
20:10:46 UTC (rev 56332)
@@ -1228,6 +1228,22 @@
                                                $(this).closest( 
'.ui-dialog-content' ).each(
                                                        
$.wikiEditor.modules.dialogs.fn.resize );
                                        });
+                               
+                               // Add tabindexes to dialog form elements
+                               // Find the highest tabindex in use
+                               var maxTI = 0;
+                               $j( '[tabindex]' ).each( function() {
+                                       var ti = parseInt( $j(this).attr( 
'tabindex' ) );
+                                       if ( ti > maxTI )
+                                               maxTI = ti;
+                               });
+                               
+                               var tabIndex = maxTI + 1;
+                               $j( '.ui-dialog input, .ui-dialog button' )
+                                       .not( '[tabindex]' )
+                                       .each( function() {
+                                               $j(this).attr( 'tabindex', 
tabIndex++ );
+                                       });
                        }
                }
        },

Modified: trunk/extensions/UsabilityInitiative/js/plugins.combined.min.js
===================================================================
--- trunk/extensions/UsabilityInitiative/js/plugins.combined.min.js     
2009-09-14 19:57:50 UTC (rev 56331)
+++ trunk/extensions/UsabilityInitiative/js/plugins.combined.min.js     
2009-09-14 20:10:46 UTC (rev 56332)
@@ -77,7 +77,8 @@
 if(arguments.length>0&&typeof 
arguments[0]=='object'){context.api.addModule(context,arguments[0]);}
 context.$textarea.scrollToCaretPosition(0);return 
$(this).data('wikiEditor-context',context);};})(jQuery);RegExp.escape=function(s){return
 
s.replace(/([.*+?^${}()|\/\\[\]])/g,'\\$1');};(function($){$.wikiEditor.modules.dialogs={api:{addDialog:function(context,data){$.wikiEditor.modules.dialogs.fn.create(context,{'modules':data})},openDialog:function(context,data){if(data.dialog
 in 
$.wikiEditor.modules.dialogs.modules){$('#'+$.wikiEditor.modules.dialogs.modules[data.dialog].id).dialog('open');}},closeDialog:function(context,data){if(data.dialog
 in 
$.wikiEditor.modules.dialogs.modules){$('#'+$.wikiEditor.modules.dialogs.modules[data.dialog].id).dialog('close');}}},fn:{create:function(context,config){for(module
 in config){$.wikiEditor.modules.dialogs.modules[module]=config[module];}
 for(module in $.wikiEditor.modules.dialogs.modules){var 
module=$.wikiEditor.modules.dialogs.modules[module];if($('#'+module.id).size()==0){var
 
configuration=module.dialog;configuration.bgiframe=true;configuration.autoOpen=false;configuration.modal=true;configuration.title=$.wikiEditor.autoMsg(module,'title');for(msg
 in 
configuration.buttons){configuration.buttons[gM(msg)]=configuration.buttons[msg];delete
 configuration.buttons[msg];}
-$('<div /> 
').attr('id',module.id).html(module.html).data('context',context).appendTo($('body')).each(module.init).dialog(configuration).bind('dialogopen',$.wikiEditor.modules.dialogs.fn.resize).find('.ui-tabs').bind('tabsshow',function(){$(this).closest('.ui-dialog-content').each($.wikiEditor.modules.dialogs.fn.resize);});}}},resize:function(){var
 wrapper=$(this).closest('.ui-dialog');var 
oldHidden=$(this).find('*').not(':visible');oldHidden.each(function(){$(this).data('oldstyle',$(this).attr('style'));});oldHidden.show();var
 
oldWS=$(this).css('white-space');$(this).css('white-space','nowrap');if(wrapper.width()<=$(this).get(0).scrollWidth){$(this).width($(this).get(0).scrollWidth);wrapper.width(wrapper.get(0).scrollWidth);$(this).dialog({'width':wrapper.width()});}
+$('<div /> 
').attr('id',module.id).html(module.html).data('context',context).appendTo($('body')).each(module.init).dialog(configuration).bind('dialogopen',$.wikiEditor.modules.dialogs.fn.resize).find('.ui-tabs').bind('tabsshow',function(){$(this).closest('.ui-dialog-content').each($.wikiEditor.modules.dialogs.fn.resize);});var
 maxTI=0;$j('[tabindex]').each(function(){var 
ti=parseInt($j(this).attr('tabindex'));if(ti>maxTI)
+maxTI=ti;});var tabIndex=maxTI+1;$j('.ui-dialog input, .ui-dialog 
button').not('[tabindex]').each(function(){$j(this).attr('tabindex',tabIndex++);});}}},resize:function(){var
 wrapper=$(this).closest('.ui-dialog');var 
oldHidden=$(this).find('*').not(':visible');oldHidden.each(function(){$(this).data('oldstyle',$(this).attr('style'));});oldHidden.show();var
 
oldWS=$(this).css('white-space');$(this).css('white-space','nowrap');if(wrapper.width()<=$(this).get(0).scrollWidth){$(this).width($(this).get(0).scrollWidth);wrapper.width(wrapper.get(0).scrollWidth);$(this).dialog({'width':wrapper.width()});}
 
$(this).css('white-space',oldWS);oldHidden.each(function(){$(this).attr('style',$(this).data('oldstyle'));});}},'modules':{}};})(jQuery);(function($){$.wikiEditor.modules.toolbar={api:{addToToolbar:function(context,data){for(type
 in data){switch(type){case'sections':var 
$sections=context.modules.$toolbar.find('div.sections');var 
$tabs=context.modules.$toolbar.find('div.tabs');for(section in 
data[type]){if(section=='main'){context.modules.$toolbar.prepend($.wikiEditor.modules.toolbar.fn.buildSection(context,section,data[type][section]));continue;}
 
$sections.append($.wikiEditor.modules.toolbar.fn.buildSection(context,section,data[type][section]));$tabs.append($.wikiEditor.modules.toolbar.fn.buildTab(context,section,data[type][section]));}
 break;case'groups':if(!('section'in data)){continue;}



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

Reply via email to