Changeset 4462


Ignore:
Timestamp:
11/11/2009 06:28:53 PM (6 years ago)
Author:
garry.yao
Message:

Fixing a bug where paragraph indent style is not properly preserved.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/branches/features/pasting/_source/plugins/pastefromword/plugin.js

    r4461 r4462  
    131131
    132132        // Adding a (set) of styles to the element's attributes.
    133         elementPrototype.addStyle = function( name, value )
     133        elementPrototype.addStyle = function( name, value, isPrepend )
    134134        {
    135135                var styleText, addingStyleText = '';
    136                 // style literal.
    137                 if( typeof name == 'object' )
     136                // name/value pair.
     137                if ( typeof value == 'string' )
     138                        addingStyleText += name + ':' + value + ';';
     139                else
    138140                {
    139                         for( var style in name )
     141                        // style literal.
     142                        if( typeof name == 'object' )
    140143                        {
    141                                 if( name.hasOwnProperty( style) )
    142                                         addingStyleText += style + ':' + name[ style ] + ';';
     144                                for( var style in name )
     145                                {
     146                                        if( name.hasOwnProperty( style) )
     147                                                addingStyleText += style + ':' + name[ style ] + ';';
     148                                }
    143149                        }
     150                        // raw style text form.
     151                        else
     152                                addingStyleText += name;
     153                        isPrepend = value;
    144154                }
    145                 // name/value pair.
    146                 else if( value )
    147                         addingStyleText += name + ':' + value + ';';
    148                 // raw style text form.
    149                 else if( name )
    150                         addingStyleText += name;
    151155
    152156                if( !this.attributes )
    153157                        this.attributes = {};
    154                 styleText = this.attributes.style;
    155                 if( !styleText )
    156                         this.attributes.style = "";
    157                 else if( !/;$/.test( styleText ) )
    158                         this.attributes.style = styleText + ';';
    159 
    160                 this.attributes.style += addingStyleText;
     158
     159                styleText = this.attributes.style || '';
     160
     161                if( !/;$/.test( styleText ) )
     162                        styleText += ';';
     163
     164                this.attributes.style = isPrepend?
     165                        addingStyleText += styleText : styleText += addingStyleText;
    161166        }
    162167
     
    651656                                                                                if( typeof style == 'object' )
    652657                                                                                        style = style[ className ];
    653                                                                                 style && element.addStyle( style );
     658                                                                                style && element.addStyle( style, true );
    654659                                                                        }
    655660                                                                };
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy