Ticket #6522: 6522_2.patch

File 6522_2.patch, 5.6 KB (added by Alfonso Martínez de Lizarrondo, 11 years ago)

Updated with the list plugin that had the same issue

  • _source/plugins/indent/plugin.js

     
    99
    1010(function()
    1111{
    12         var listNodeNames = { ol : 1, ul : 1 };
    13 
    14         var isNotWhitespaces = CKEDITOR.dom.walker.whitespaces( true ),
     12        var listNodeNames = { ol : 1, ul : 1 },
     13                isNotWhitespaces = CKEDITOR.dom.walker.whitespaces( true ),
    1514                isNotBookmark = CKEDITOR.dom.walker.bookmark( false, true );
    1615
    17         function setState( editor, state )
    18         {
    19                 editor.getCommand( this.name ).setState( state );
    20         }
    21 
    2216        function onSelectionChange( evt )
    2317        {
    2418                var editor = evt.editor;
     
    2721                                list = elementPath && elementPath.contains( listNodeNames );
    2822
    2923                if ( list )
    30                                 return setState.call( this, editor, CKEDITOR.TRISTATE_OFF );
     24                                return this.setState( CKEDITOR.TRISTATE_OFF );
    3125
    3226                if ( !this.useIndentClasses && this.name == 'indent' )
    33                         return setState.call( this, editor, CKEDITOR.TRISTATE_OFF );
     27                        return this.setState( CKEDITOR.TRISTATE_OFF );
    3428
    3529                var path = evt.data.path,
    3630                        firstBlock = path.block || path.blockLimit;
    3731                if ( !firstBlock )
    38                         return setState.call( this, editor, CKEDITOR.TRISTATE_DISABLED );
     32                        return this.setState( CKEDITOR.TRISTATE_DISABLED );
    3933
    4034                if ( this.useIndentClasses )
    4135                {
     
    4842                        }
    4943                        if ( ( this.name == 'outdent' && !indentStep ) ||
    5044                                        ( this.name == 'indent' && indentStep == editor.config.indentClasses.length ) )
    51                                 return setState.call( this, editor, CKEDITOR.TRISTATE_DISABLED );
    52                         return setState.call( this, editor, CKEDITOR.TRISTATE_OFF );
     45                                return this.setState( CKEDITOR.TRISTATE_DISABLED );
     46                        return this.setState( CKEDITOR.TRISTATE_OFF );
    5347                }
    5448                else
    5549                {
     
    5751                        if ( isNaN( indent ) )
    5852                                indent = 0;
    5953                        if ( indent <= 0 )
    60                                 return setState.call( this, editor, CKEDITOR.TRISTATE_DISABLED );
    61                         return setState.call( this, editor, CKEDITOR.TRISTATE_OFF );
     54                                return this.setState( CKEDITOR.TRISTATE_DISABLED );
     55                        return this.setState( CKEDITOR.TRISTATE_OFF );
    6256                }
    6357        }
    6458
     
    352346                init : function( editor )
    353347                {
    354348                        // Register commands.
    355                         var indent = new indentCommand( editor, 'indent' ),
    356                                 outdent = new indentCommand( editor, 'outdent' );
    357                         editor.addCommand( 'indent', indent );
    358                         editor.addCommand( 'outdent', outdent );
     349                        var indent = editor.addCommand( 'indent', new indentCommand( editor, 'indent' ) ),
     350                                outdent = editor.addCommand( 'outdent', new indentCommand( editor, 'outdent' ) );
    359351
    360352                        // Register the toolbar buttons.
    361353                        editor.ui.addButton( 'Indent',
     
    390382                                var range = new CKEDITOR.dom.range( editor.document );
    391383                                range.setStartBefore( e.data );
    392384                                range.setEndAfter( e.data );
    393                                
     385
    394386                                var walker = new CKEDITOR.dom.walker( range ),
    395387                                        node;
    396388
  • _source/plugins/list/plugin.js

     
    183183                }
    184184        };
    185185
    186         function setState( editor, state )
    187         {
    188                 editor.getCommand( this.name ).setState( state );
    189         }
    190 
    191186        function onSelectionChange( evt )
    192187        {
    193188                var path = evt.data.path,
    194189                        blockLimit = path.blockLimit,
    195190                        elements = path.elements,
    196                         element;
     191                        element,
     192                        i;
    197193
    198194                // Grouping should only happen under blockLimit.(#3940).
    199                 for ( var i = 0 ; i < elements.length && ( element = elements[ i ] )
     195                for ( i = 0 ; i < elements.length && ( element = elements[ i ] )
    200196                          && !element.equals( blockLimit ); i++ )
    201197                {
    202198                        if ( listNodeNames[ elements[i].getName() ] )
    203                         {
    204                                 return setState.call( this, evt.editor,
    205                                                 this.type == elements[i].getName() ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF );
    206                         }
     199                                return this.setState( this.type == elements[i].getName() ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF );
    207200                }
    208201
    209                 return setState.call( this, evt.editor, CKEDITOR.TRISTATE_OFF );
     202                return this.setState( CKEDITOR.TRISTATE_OFF );
    210203        }
    211204
    212205        function changeListType( editor, groupObj, database, listsCreated )
     
    292285                                {
    293286                                        listContents.push( contentNode );
    294287
    295                                         // Determine the lists's direction. 
     288                                        // Determine the lists's direction.
    296289                                        if ( !explicitDirection && contentNode.getDirection() )
    297290                                                explicitDirection = 1;
    298291
     
    340333                                        contentBlock.removeStyle( 'direction' );
    341334                                        contentBlock.removeAttribute( 'dir' );
    342335                                }
    343                                
     336
    344337                                contentBlock.copyAttributes( listItem );
    345338                                contentBlock.moveChildren( listItem );
    346339                                contentBlock.remove();
     
    472465                                                enclosedNode = range && range.getEnclosedNode();
    473466                                        if ( enclosedNode && enclosedNode.is
    474467                                                && this.type == enclosedNode.getName() )
    475                                                         setState.call( this, editor, CKEDITOR.TRISTATE_ON );
     468                                                        this.setState( CKEDITOR.TRISTATE_ON );
    476469                                }
    477470                        }
    478471
     
    673666                init : function( editor )
    674667                {
    675668                        // Register commands.
    676                         var numberedListCommand = new listCommand( 'numberedlist', 'ol' ),
    677                                 bulletedListCommand = new listCommand( 'bulletedlist', 'ul' );
    678                         editor.addCommand( 'numberedlist', numberedListCommand );
    679                         editor.addCommand( 'bulletedlist', bulletedListCommand );
     669                        var numberedListCommand = editor.addCommand( 'numberedlist', new listCommand( 'numberedlist', 'ol' ) ),
     670                                bulletedListCommand = editor.addCommand( 'bulletedlist', new listCommand( 'bulletedlist', 'ul' ) );
    680671
    681672                        // Register the toolbar button.
    682673                        editor.ui.addButton( 'NumberedList',
© 2003 – 2021 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy