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