Changeset 5997


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

#6043 BIDI: When we apply RTL direction to a right aligned Paragraph, Paragraph is not moved to left & Alignment of Paragraph is not changed

Location:
CKEditor/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/trunk/CHANGES.html

    r5996 r5997  
    8888                <li><a href="http://dev.ckeditor.com/ticket/5626">#5626</a> : CKeditor 3.2.1 : html content attached makes ckeditor crash the browser FF/IE.</li> 
    8989                <li><a href="http://dev.ckeditor.com/ticket/6508">#6508</a> : BiDi: Margin mirroring logic doesn't honor CSS direction.</li> 
     90                <li><a href="http://dev.ckeditor.com/ticket/6043">#6043</a> : BIDI: When we apply RTL direction to a right aligned Paragraph, Paragraph is not moved to left & Alignment of Paragraph is not changed.</li> 
    9091                <li>Updated the following language files:<ul> 
    9192                        <li><a href="http://dev.ckeditor.com/ticket/6427">#6427</a> : Ukrainian;</li> 
  • CKEditor/trunk/_source/plugins/justify/plugin.js

    r5949 r5997  
    8080 
    8181                        this.cssClassRegex = new RegExp( '(?:^|\\s+)(?:' + classes.join( '|' ) + ')(?=$|\\s)' ); 
     82                } 
     83        } 
     84 
     85        function onDirChanged( e ) 
     86        { 
     87                var editor = e.editor; 
     88 
     89                var range = new CKEDITOR.dom.range( editor.document ); 
     90                range.setStartBefore( e.data ); 
     91                range.setEndAfter( e.data ); 
     92 
     93                var walker = new CKEDITOR.dom.walker( range ), 
     94                        node; 
     95 
     96                while ( node = walker.next() ) 
     97                { 
     98                        if ( node.type == CKEDITOR.NODE_ELEMENT ) 
     99                        { 
     100                                // A child with the defined dir is to be ignored. 
     101                                if ( !node.equals( e.data ) && node.getDirection() ) 
     102                                { 
     103                                        range.setStartAfter( node ); 
     104                                        walker = new CKEDITOR.dom.walker( range ); 
     105                                        continue; 
     106                                } 
     107 
     108                                // Switch the alignment. 
     109                                var style = 'text-align'; 
     110                                var align = node.getStyle( style ); 
     111 
     112                                if ( align == 'left' ) 
     113                                        node.setStyle( style, 'right' ); 
     114                                else if ( align == 'right' ) 
     115                                        node.setStyle( style, 'left' ); 
     116                        } 
    82117                } 
    83118        } 
     
    179214                        editor.on( 'selectionChange', CKEDITOR.tools.bind( onSelectionChange, center ) ); 
    180215                        editor.on( 'selectionChange', CKEDITOR.tools.bind( onSelectionChange, justify ) ); 
     216                        editor.on( 'dirChanged', onDirChanged ); 
    181217                }, 
    182218 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy