Changeset 3425


Ignore:
Timestamp:
04/27/09 00:20:24 (5 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 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy