Ticket #6141: 6141_5.patch

File 6141_5.patch, 2.0 KB (added by Sa'ar Zac Elias, 9 years ago)
  • _source/plugins/indent/plugin.js

     
    256256                                }
    257257                                else
    258258                                {
    259                                         var indentCssProperty = getIndentCssProperty( element );
    260                                         var currentOffset = parseInt( element.getStyle( indentCssProperty ), 10 );
     259                                        var indentCssProperty = getIndentCssProperty( element ),
     260                                                currentOffset = parseInt( element.getStyle( indentCssProperty ), 10 );
    261261                                        if ( isNaN( currentOffset ) )
    262262                                                currentOffset = 0;
    263263                                        currentOffset += ( self.name == 'indent' ? 1 : -1 ) * editor.config.indentOffset;
     
    283283
    284284                        var skipBookmarks = function( node )
    285285                        {
    286                                 return ! node.hasAttribute( '_cke_bookmark' );
     286                                return !node.hasAttribute( '_cke_bookmark' );
    287287                        };
    288288
    289289                        var iterator = ranges.createIterator();
     
    321321                                        range.endContainer = walker.previous();
    322322                                }
    323323
    324                                 if ( nearestListBlock  )
     324                                if ( nearestListBlock )
    325325                                {
    326326                                        var firstListItem = nearestListBlock.getFirst( function( node )
    327327                                                {
     
    330330                                                rangeStart = range.startContainer,
    331331                                                indentWholeList = firstListItem.equals( rangeStart ) || firstListItem.contains( rangeStart );
    332332
    333                                         // Indent the entire list if  cursor is inside the first list item. (#3893)
    334                                         if ( !( indentWholeList && indentElement( nearestListBlock ) ) )
    335                                                 indentList( nearestListBlock );
     333                                        // Indent the entire list if cursor is inside the first list item. (#3893)
     334                                        // Only do that for indenting or when using indent classes or when there is something to outdent. (#6141)
     335                                        if ( !( indentWholeList &&
     336                                                ( self.name == 'indent' || self.useIndentClasses || parseInt( nearestListBlock.getStyle( getIndentCssProperty( nearestListBlock ) ), 10 ) ) &&
     337                                                        indentElement( nearestListBlock ) ) )
     338                                                                indentList( nearestListBlock );
    336339                                }
    337340                                else
    338341                                        indentBlock();
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy