Changeset 7364


Ignore:
Timestamp:
02/16/2012 03:07:21 PM (3 years ago)
Author:
Reinmar
Message:

#8699 Move focus to clicked button and back to colorpicker dialog opener after dialog is closed.

Location:
CKEditor/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/trunk/CHANGES.html

    r7351 r7364  
    4747                <li><a href="http://dev.ckeditor.com/ticket/8333">#8333</a> : Allow to close the dialogs with Esc key even if there's no Cancel button.</li> 
    4848                <li><a href="http://dev.ckeditor.com/ticket/8644">#8644</a> : Missing variable declaration in the dialog plugin.</li> 
     49                <li><a href="http://dev.ckeditor.com/ticket/8699">#8699</a> : Now focus is moved to clicked button in all browsers and back to colorpicker dialog opener (button) after dialog is closed.</li> 
    4950        </ul> 
    5051        <h3> 
  • CKEditor/trunk/_source/plugins/clipboard/dialogs/paste.js

    r6825 r7364  
    4646                                case 9 : 
    4747                                case CKEDITOR.SHIFT + 9 : 
    48                                         this.changeFocus( true ); 
     48                                        this.changeFocus( 1 ); 
    4949                                        processed = 1; 
    5050                        } 
  • CKEditor/trunk/_source/plugins/dialog/plugin.js

    r7351 r7364  
    361361                } 
    362362 
    363                 function changeFocus( forward ) 
    364                 { 
    365                         var focusList = me._.focusList, 
    366                                 offset = forward ? 1 : -1; 
     363                function changeFocus( offset ) 
     364                { 
     365                        var focusList = me._.focusList; 
     366                        offset = offset || 0; 
     367 
    367368                        if ( focusList.length < 1 ) 
    368369                                return; 
     
    377378                        } 
    378379                        catch( e ){} 
    379  
     380                 
    380381                        var startIndex = ( current + offset + focusList.length ) % focusList.length, 
    381382                                currentIndex = startIndex; 
    382                         while ( !focusList[ currentIndex ].isFocusable() ) 
     383                        while ( offset && !focusList[ currentIndex ].isFocusable() ) 
    383384                        { 
    384385                                currentIndex = ( currentIndex + offset + focusList.length ) % focusList.length; 
     
    386387                                        break; 
    387388                        } 
     389                         
    388390                        focusList[ currentIndex ].focus(); 
    389391 
     
    421423                                { 
    422424                                        // Change the focus of inputs. 
    423                                         changeFocus( !shiftPressed ); 
     425                                        changeFocus( shiftPressed ? -1 : 1 ); 
    424426                                } 
    425427 
     
    446448                                this._.tabBarMode = false; 
    447449                                this._.currentFocusIndex = -1; 
    448                                 changeFocus( true ); 
     450                                changeFocus( 1 ); 
    449451                                processed = 1; 
    450452                        } 
     
    514516                                        // Focus the first field in layout order. 
    515517                                        else 
    516                                                 changeFocus( true ); 
     518                                                changeFocus( 1 ); 
    517519 
    518520                                        /* 
     
    580582                                                        this._.tabBarMode = false; 
    581583                                                        this._.currentFocusIndex = -1; 
    582                                                         changeFocus( true ); 
     584                                                        changeFocus( 1 ); 
    583585                                                } 
    584586                                                evt.data.preventDefault(); 
  • CKEditor/trunk/_source/plugins/dialogui/plugin.js

    r7297 r7364  
    971971                                                /** @ignore */ 
    972972                                                onClick : function( dialog, func ) 
    973                                                 { 
    974                                                         this.on( 'click', func ); 
     973                                                {        
     974                                                        this.on( 'click', function() 
     975                                                                { 
     976                                                                        // Some browsers (Chrome, IE8, IE7 compat mode) don't move 
     977                                                                        // focus to clicked button. Force this. 
     978                                                                        this.getElement().focus(); 
     979                                                                        func.apply( this, arguments ); 
     980                                                                }); 
    975981                                                } 
    976982                                        }, true ), 
  • CKEditor/trunk/_source/plugins/tabletools/dialogs/tableCell.js

    r6569 r7364  
    2727                                releaseHandlers( this ); 
    2828                                callback( this, this._.parentDialog ); 
    29                                 this._.parentDialog.changeFocus( true ); 
     29                                this._.parentDialog.changeFocus(); 
    3030                        }; 
    3131                        var onCancel = function() 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy