Ticket #8759: 8759.patch

File 8759.patch, 1.4 KB (added by Sa'ar Zac Elias, 8 years ago)
  • _source/plugins/menu/plugin.js

     
    119119
    120120                                var element = selection && selection.getStartElement(),
    121121                                        listeners = this._.listeners,
    122                                         includedItems = [];
     122                                        includedItems = [],
     123                                        ignoreList = {};
    123124
    124125                                this.removeAll();
    125126                                // Call all listeners, filling the list of items to be displayed.
     
    131132                                        {
    132133                                                for ( var itemName in listenerItems )
    133134                                                {
     135                                                        if ( listenerItems[ itemName ] === null || ignoreList[ itemName ] )
     136                                                        {
     137                                                                if ( !ignoreList[ itemName ] )
     138                                                                {
     139                                                                        ignoreList[ itemName ] = 1;
     140                                                                        this.removeItem( itemName );
     141                                                                }
     142                                                                continue;
     143                                                        }
     144
    134145                                                        var item = this.editor.getMenuItem( itemName );
    135146
    136147                                                        if ( item && ( !item.command || this.editor.getCommand( item.command ).state ) )
     
    250261                        {
    251262                                this.items = [];
    252263                        },
     264                        removeItem : function( itemName )
     265                        {
     266                                for ( var i = 0, len = this.items.length; i < len; i++ )
     267                                {
     268                                        if ( this.items[ i ].name == itemName )
     269                                        {
     270                                                this.items.splice( i, 1 );
     271                                                return null;
     272                                        }
     273                                }
     274                        },
    253275
    254276                        show : function( offsetParent, corner, offsetX, offsetY )
    255277                        {
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy