Changeset 3425


Ignore:
Timestamp:
04/27/09 00:20:24 (6 years ago)
Author:
fredck
Message:

#3430 : Introduced configurations options to make it possible to add and remove plugins with easy.

Location:
CKEditor/trunk/_source/core
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/trunk/_source/core/config.js

    r3406 r3425  
    154154
    155155        /**
     156         * List of additional plugins to be loaded. This is a tool setting which
     157         * makes it easier to add new plugins, whithout having to touch and
     158         * possibly breaking the <i>plugins</i> setting.
     159         * @type String
     160         * @example
     161         * config.addPlugins = 'myplugin,anotherplugin';
     162         */
     163        addPlugins : '',
     164
     165        /**
     166         * List of plugins that must not be loaded. This is a tool setting which
     167         * makes it easier to avoid loading plugins definied in the <i>plugins</i>
     168         * setting, whithout having to touch and possibly breaking it.
     169         * @type String
     170         * @example
     171         * config.removePlugins = 'elementspath,save,font';
     172         */
     173        removePlugins : '',
     174
     175        /**
    156176         * The editor tabindex value.
    157177         * @type Number
  • CKEditor/trunk/_source/core/editor.js

    r3309 r3425  
    3535
    3636                var loadedConfig = loadConfigLoaded[ customConfig ] || ( loadConfigLoaded[ customConfig ] = {} );
    37 
    3837
    3938                // If the custom config has already been downloaded, reuse it.
     
    150149        var loadPlugins = function( editor )
    151150        {
     151                var config                      = editor.config,
     152                        plugins                 = config.plugins,
     153                        addPlugins              = config.addPlugins,
     154                        removePlugins   = config.removePlugins;
     155
     156                if ( addPlugins )
     157                {
     158                        // Remove them first to avoid duplications.
     159                        var removeRegex = new RegExp( '(?:^|,)(?:' + addPlugins.replace( /\s*,\s*/g, '|' ) + ')(?=,|$)' , 'g' );
     160                        plugins = plugins.replace( removeRegex, '' );
     161
     162                        plugins += ',' + addPlugins;
     163                }
     164
     165                if ( removePlugins )
     166                {
     167                        removeRegex = new RegExp( '(?:^|,)(?:' + removePlugins.replace( /\s*,\s*/g, '|' ) + ')(?=,|$)' , 'g' );
     168                        plugins = plugins.replace( removeRegex, '' );
     169                }
     170
    152171                // Load all plugins defined in the "plugins" setting.
    153                 CKEDITOR.plugins.load( editor.config.plugins.split( ',' ), function( plugins )
     172                CKEDITOR.plugins.load( plugins.split( ',' ), function( plugins )
    154173                        {
    155174                                // The list of plugins.
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2015 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy