Ticket #6510: 6510_2.patch

File 6510_2.patch, 3.5 KB (added by Tobiasz Cudnik, 8 years ago)
  • _source/plugins/bidi/plugin.js

     
    123123                // the element and all its children, so it will get really reflected
    124124                // like a mirror. (#5910)
    125125                if ( dir != dirBefore )
    126                         editor.fire( 'dirChanged', element );
     126                {
     127                        editor.fire( 'dirChanged',
     128                                {
     129                                        node : element,
     130                                        dir : dir
     131                                } );
     132                }
    127133
    128134                editor.forceNextSelectionCheck();
    129135
  • _source/plugins/justify/plugin.js

     
    8787                var editor = e.editor;
    8888
    8989                var range = new CKEDITOR.dom.range( editor.document );
    90                 range.setStartBefore( e.data );
    91                 range.setEndAfter( e.data );
     90                range.setStartBefore( e.data.node );
     91                range.setEndAfter( e.data.node );
    9292
    9393                var walker = new CKEDITOR.dom.walker( range ),
    9494                        node;
     
    9898                        if ( node.type == CKEDITOR.NODE_ELEMENT )
    9999                        {
    100100                                // A child with the defined dir is to be ignored.
    101                                 if ( !node.equals( e.data ) && node.getDirection() )
     101                                if ( !node.equals( e.data.node ) && node.getDirection() )
    102102                                {
    103103                                        range.setStartAfter( node );
    104104                                        walker = new CKEDITOR.dom.walker( range );
     
    106106                                }
    107107
    108108                                // Switch the alignment.
     109                                var classes = editor.config.justifyClasses;
     110                                if ( classes )
     111                                {
     112                                        // The left align class.
     113                                        if ( node.hasClass( classes[ 0 ] ) )
     114                                        {
     115                                                node.removeClass( classes[ 0 ] );
     116                                                node.addClass( classes[ 2 ] );
     117                                        }
     118                                        // The right align class.
     119                                        else if ( node.hasClass( classes[ 2 ] ) )
     120                                        {
     121                                                node.removeClass( classes[ 2 ] );
     122                                                node.addClass( classes[ 0 ] );
     123                                        }
     124                                }
     125
     126                                // Always switch CSS margins.
    109127                                var style = 'text-align';
    110128                                var align = node.getStyle( style );
    111129
  • _source/plugins/indent/plugin.js

     
    392392                        editor.on( 'dirChanged', function( e )
    393393                        {
    394394                                var range = new CKEDITOR.dom.range( editor.document );
    395                                 range.setStartBefore( e.data );
    396                                 range.setEndAfter( e.data );
     395                                range.setStartBefore( e.data.node );
     396                                range.setEndAfter( e.data.node );
    397397
    398398                                var walker = new CKEDITOR.dom.walker( range ),
    399399                                        node;
     
    403403                                        if ( node.type == CKEDITOR.NODE_ELEMENT )
    404404                                        {
    405405                                                // A child with the defined dir is to be ignored.
    406                                                 if ( !node.equals( e.data ) && node.getDirection() )
     406                                                if ( !node.equals( e.data.node ) && node.getDirection() )
    407407                                                {
    408408                                                        range.setStartAfter( node );
    409409                                                        walker = new CKEDITOR.dom.walker( range );
    410410                                                        continue;
    411411                                                }
    412412
     413                                                // Switch alignment classes.
     414                                                var classes = editor.config.indentClasses;
     415                                                if ( classes )
     416                                                {
     417                                                        var suffix = ( e.data.dir == 'ltr' ) ? [ '_rtl', '' ] : [ '', '_rtl' ];
     418                                                        for ( var i = 0; i < classes.length; i++ )
     419                                                        {
     420                                                                if ( node.hasClass( classes[ i ] + suffix[ 0 ] ) )
     421                                                                {
     422                                                                        node.removeClass( classes[ i ] + suffix[ 0 ] );
     423                                                                        node.addClass( classes[ i ] + suffix[ 1 ] );
     424                                                                }
     425                                                        }
     426                                                }
     427
    413428                                                // Switch the margins.
    414429                                                var marginLeft = node.getStyle( 'margin-right' ),
    415430                                                        marginRight = node.getStyle( 'margin-left' );
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy