Changeset 5954


Ignore:
Timestamp:
10/19/10 09:27:26 (4 years ago)
Author:
tobiasz.cudnik
Message:

#6100 BIDI: when we change Table language direction indentation of text in Table cells is not applied correctly.

Location:
CKEditor/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/trunk/CHANGES.html

    r5953 r5954  
    7171                <li><a href="http://dev.ckeditor.com/ticket/5646">#5646</a> : Parser incorreclty removes inline element when there's only one comment node enclosed.</li> 
    7272                <li><a href="http://dev.ckeditor.com/ticket/6189">#6189</a> : Minor code size reduction.</li> 
     73                <li><a href="http://dev.ckeditor.com/ticket/6100">#6100</a> : BIDI: when we change Table language direction indentation of text in Table cells is not applied correctly.</li> 
    7374                <li>Updated the following language files:<ul> 
    7475                        <li><a href="http://dev.ckeditor.com/ticket/6427">#6427</a> : Ukrainian;</li> 
  • CKEditor/trunk/_source/plugins/bidi/plugin.js

    r5949 r5954  
    6868                var dirAfter = element.getComputedStyle( 'direction' ); 
    6969                if ( dirAfter != dirBefore ) 
    70                 { 
    71                         var range = new CKEDITOR.dom.range( element.getDocument() ); 
    72                         range.setStartBefore( element ); 
    73                         range.setEndAfter( element ); 
    74  
    75                         var walker = new CKEDITOR.dom.walker( range ); 
    76  
    77                         var node; 
    78                         while ( ( node = walker.next() ) ) 
    79                         { 
    80                                 if ( node.type == CKEDITOR.NODE_ELEMENT ) 
    81                                 { 
    82                                         // A child with dir defined is to be ignored. 
    83                                         if ( !node.equals( element ) && node.hasAttribute( 'dir' ) ) 
    84                                         { 
    85                                                 range.setStartAfter( node ); 
    86                                                 walker = new CKEDITOR.dom.walker( range ); 
    87                                                 continue; 
    88                                         } 
    89  
    90                                         // Switch the margins. 
    91                                         var marginLeft = node.getStyle( 'margin-right' ), 
    92                                                 marginRight = node.getStyle( 'margin-left' ); 
    93  
    94                                         marginLeft ? node.setStyle( 'margin-left', marginLeft ) : node.removeStyle( 'margin-left' ); 
    95                                         marginRight ? node.setStyle( 'margin-right', marginRight ) : node.removeStyle( 'margin-right' ); 
    96                                 } 
    97                         } 
    98                 } 
     70                        editor.fire( 'dirChanged', element ); 
    9971 
    10072                editor.forceNextSelectionCheck(); 
  • CKEditor/trunk/_source/plugins/dialogadvtab/plugin.js

    r5949 r5954  
    3636                var attrName = this.att, 
    3737                        value = this.getValue(); 
     38 
     39                // Broadcast Lang Dir change 
     40                if ( attrName == 'dir' ) 
     41                { 
     42                        var dir = element.getAttribute( attrName, value ); 
     43                        if ( dir != value ) 
     44                                this._.dialog._.editor.fire( 'dirChanged', element ); 
     45                } 
    3846 
    3947                if ( value ) 
  • CKEditor/trunk/_source/plugins/indent/plugin.js

    r5949 r5954  
    386386                                        "}" ); 
    387387                        } 
     388 
     389                        // Register dirChanged listener. 
     390                        editor.on( 'dirChanged', function( e ) 
     391                        { 
     392                                var range = new CKEDITOR.dom.range( editor.document ); 
     393                                range.setStartBefore( e.data ); 
     394                                range.setEndAfter( e.data ); 
     395                                 
     396                                var walker = new CKEDITOR.dom.walker( range ), 
     397                                        node; 
     398 
     399                                while ( ( node = walker.next() ) ) 
     400                                { 
     401                                        if ( node.type == CKEDITOR.NODE_ELEMENT ) 
     402                                        { 
     403                                                // A child with dir defined is to be ignored. 
     404                                                if ( !node.equals( e.data ) && node.hasAttribute( 'dir' ) ) 
     405                                                { 
     406                                                        range.setStartAfter( node ); 
     407                                                        walker = new CKEDITOR.dom.walker( range ); 
     408                                                        continue; 
     409                                                } 
     410 
     411                                                // Switch the margins. 
     412                                                var marginLeft = node.getStyle( 'margin-right' ), 
     413                                                        marginRight = node.getStyle( 'margin-left' ); 
     414 
     415                                                marginLeft ? node.setStyle( 'margin-left', marginLeft ) : node.removeStyle( 'margin-left' ); 
     416                                                marginRight ? node.setStyle( 'margin-right', marginRight ) : node.removeStyle( 'margin-right' ); 
     417                                        } 
     418                                } 
     419                        }); 
    388420                }, 
    389421 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy