Ticket #3077: 3077_2.patch

File 3077_2.patch, 3.2 KB (added by Garry Yao, 10 years ago)
  • _source/core/tools.js

     
    387387                {
    388388                        return function() { return func.apply( obj, arguments ); };
    389389                },
    390 
     390               
     391                /**
     392                 * Class creation based on prototype inheritance, with supports of the
     393                 * following features:
     394                 * <ul>
     395                 * <li> Static fields </li>
     396                 * <li> Private fields </li>
     397                 * <li> Public(prototype) fields </li>
     398                 * <li> Chainable base class constructor </li>
     399                 * </ul>
     400                 *
     401                 * @param {Object} definiton (Optional)The class definiton object.
     402                 */
    391403                createClass : function( definition )
    392404                {
    393                         var $ = definition.$,
     405                        definition = definition || {};
     406                        var $ = definition.$ || function(){},
    394407                                baseClass = definition.base,
    395408                                privates = definition.privates || definition._,
    396409                                proto = definition.proto,
     
    401414                                var originalConstructor = $;
    402415                                $ = function()
    403416                                {
    404                                         originalConstructor.apply( this, arguments );
    405                                        
    406417                                        // Create (and get) the private namespace.
    407418                                        var _ = this._ || ( this._ = {} );
    408419                                       
     
    415426                                                _[ privateName ] =
    416427                                                        ( typeof priv == 'function' ) ? CKEDITOR.tools.bind( priv, this ) : priv;
    417428                                        }
     429                                       
     430                                        originalConstructor.apply( this, arguments );
    418431                                };
    419432                        }
    420433
     
    421434                        if ( baseClass )
    422435                        {
    423436                                $.prototype = this.prototypedCopy( baseClass.prototype );
     437                                $.prototype.constructor = $;
    424438
    425439                                $.prototype.base = function()
    426440                                {
  • _source/plugins/menu/plugin.js

     
    5151                        this.editor = editor;
    5252                        this.items = [];
    5353
    54                         this._ =
    55                         {
    56                                 level : level || 1
    57                         };
     54                        this._.level = level || 1;
    5855                },
    5956
    6057                _ :
  • _source/plugins/contextmenu/plugin.js

     
    1919        {
    2020                this.id = 'cke_' + CKEDITOR.tools.getNextNumber();
    2121                this.editor = editor;
    22                 this._ =
    23                 {
    24                         listeners : [],
    25 
    26                         functionId : CKEDITOR.tools.addFunction( function( commandName )
    27                                 {
    28                                         this._.panel.hide();
    29                                         editor.focus();
    30                                         editor.execCommand( commandName );
    31                                 },
    32                                 this)
    33                 }
     22                this._.listeners = [];
     23                this._.functionId = CKEDITOR.tools.addFunction( function( commandName )
     24                        {
     25                                this._.panel.hide();
     26                                editor.focus();
     27                                editor.execCommand( commandName );
     28                        },
     29                        this);
    3430        },
    3531
    3632        _ :
  • _source/plugins/listblock/plugin.js

     
    2525
    2626                                        this.multiSelect = !!multiSelect;
    2727
    28                                         this._ =
    29                                         {
    30                                                 pendingHtml : [],
    31                                                 items : {},
    32                                                 groups : {}
    33                                         };
     28                                        this._.pendingHtml = [];
     29                                        this._.items = {};
     30                                        this._.groups = {};
    3431                                },
    3532
    3633                                _ :
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy