Changeset 4462


Ignore:
Timestamp:
11/11/09 18:28:53 (5 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