Datenstand V1.0
This commit is contained in:
85
ckeditor/_source/core/plugins.js
Normal file
85
ckeditor/_source/core/plugins.js
Normal file
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, 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.
|
||||
* @namespace
|
||||
* @augments CKEDITOR.resourceManager
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.plugins = new CKEDITOR.resourceManager(
|
||||
'_source/' + // @Packager.RemoveLine
|
||||
'plugins/', 'plugin' );
|
||||
|
||||
// PACKAGER_RENAME( CKEDITOR.plugins )
|
||||
|
||||
CKEDITOR.plugins.load = CKEDITOR.tools.override( CKEDITOR.plugins.load, function( originalLoad )
|
||||
{
|
||||
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 ( requires )
|
||||
{
|
||||
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 )
|
||||
{
|
||||
plugin.onLoad();
|
||||
plugin.onLoad._called = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Call the callback.
|
||||
if ( callback )
|
||||
callback.call( scope || window, allPlugins );
|
||||
}
|
||||
}
|
||||
, this);
|
||||
|
||||
};
|
||||
|
||||
loadPlugins.call( this, name );
|
||||
};
|
||||
});
|
||||
|
||||
CKEDITOR.plugins.setLang = function( pluginName, languageCode, languageEntries )
|
||||
{
|
||||
var plugin = this.get( pluginName ),
|
||||
pluginLang = plugin.lang || ( plugin.lang = {} );
|
||||
|
||||
pluginLang[ languageCode ] = languageEntries;
|
||||
};
|
||||
Reference in New Issue
Block a user