diff options
Diffstat (limited to 'core/plugins.js')
| -rw-r--r-- | core/plugins.js | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/core/plugins.js b/core/plugins.js deleted file mode 100644 index 9393cab..0000000 --- a/core/plugins.js +++ /dev/null @@ -1,114 +0,0 @@ -/** - * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.html or http://ckeditor.com/license - */ - -/** - * @fileOverview Defines the {@link CKEDITOR.plugins} object, which is used to - * manage plugins registration and loading. - */ - -/** - * Manages plugins registration and loading. - * - * @class - * @extends CKEDITOR.resourceManager - * @singleton - */ -CKEDITOR.plugins = new CKEDITOR.resourceManager( 'plugins/', 'plugin' ); - -// PACKAGER_RENAME( CKEDITOR.plugins ) - -CKEDITOR.plugins.load = CKEDITOR.tools.override( CKEDITOR.plugins.load, function( originalLoad ) { - var initialized = {}; - - return function( name, callback, scope ) { - var allPlugins = {}; - - var loadPlugins = function( names ) { - originalLoad.call( this, names, function( plugins ) { - CKEDITOR.tools.extend( allPlugins, plugins ); - - var requiredPlugins = []; - for ( var pluginName in plugins ) { - var plugin = plugins[ pluginName ], - requires = plugin && plugin.requires; - - if ( !initialized[ pluginName ] ) { - // Register all icons eventually defined by this plugin. - if ( plugin.icons ) { - var icons = plugin.icons.split( ',' ); - for ( var ic = 0 ; ic < icons.length ; ic++ ) { - CKEDITOR.skin.addIcon( icons[ ic ], plugin.path + 'icons/' + icons[ ic ] + '.png' ); - } - } - initialized[ pluginName ] = 1; - } - - if ( requires ) { - // Trasnform it into an array, if it's not one. - if ( requires.split ) - requires = requires.split( ',' ); - - for ( var i = 0; i < requires.length; i++ ) { - if ( !allPlugins[ requires[ i ] ] ) - requiredPlugins.push( requires[ i ] ); - } - } - } - - if ( requiredPlugins.length ) - loadPlugins.call( this, requiredPlugins ); - else { - // Call the "onLoad" function for all plugins. - for ( pluginName in allPlugins ) { - plugin = allPlugins[ pluginName ]; - if ( plugin.onLoad && !plugin.onLoad._called ) { - // Make it possible to return false from plugin::onLoad to disable it. - if ( plugin.onLoad() === false ) - delete allPlugins[ pluginName ]; - - plugin.onLoad._called = 1; - } - } - - // Call the callback. - if ( callback ) - callback.call( scope || window, allPlugins ); - } - }, this ); - - }; - - loadPlugins.call( this, name ); - }; -}); - -/** - * Loads a specific language file, or auto detect it. A callback is - * then called when the file gets loaded. - * - * CKEDITOR.plugins.setLang( 'myPlugin', 'en', { - * title: 'My plugin', - * selectOption: 'Please select an option' - * } ); - * - * @param {String} pluginName The name of the plugin to which the provided translation - * should be attached. - * @param {String} languageCode The code of the language translation provided. - * @param {Object} languageEntries An object that contains pairs of label and - * the respective translation. - */ -CKEDITOR.plugins.setLang = function( pluginName, languageCode, languageEntries ) { - var plugin = this.get( pluginName ), - pluginLangEntries = plugin.langEntries || ( plugin.langEntries = {} ), - pluginLang = plugin.lang || ( plugin.lang = [] ); - - if ( pluginLang.split ) - pluginLang = pluginLang.split( ',' ); - - if ( CKEDITOR.tools.indexOf( pluginLang, languageCode ) == -1 ) - pluginLang.push( languageCode ); - - pluginLangEntries[ languageCode ] = languageEntries; -}; |
