Changeset 5954


Ignore:
Timestamp:
10/19/2010 09:27:26 AM (5 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