source: branches/2.2/filemanager/tp/ckeditor/_source/core/plugins.js @ 3019

Revision 3019, 2.1 KB checked in by amuller, 14 years ago (diff)

Ticket #1135 - Corrigindo CSS e adicionando filemanager

Line 
1/*
2Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
3For licensing, see LICENSE.html or http://ckeditor.com/license
4*/
5
6/**
7 * @fileOverview Defines the {@link CKEDITOR.plugins} object, which is used to
8 *              manage plugins registration and loading.
9 */
10
11/**
12 * Manages plugins registration and loading.
13 * @namespace
14 * @augments CKEDITOR.resourceManager
15 * @example
16 */
17CKEDITOR.plugins = new CKEDITOR.resourceManager(
18        '_source/' +    // @Packager.RemoveLine
19        'plugins/', 'plugin' );
20
21// PACKAGER_RENAME( CKEDITOR.plugins )
22
23CKEDITOR.plugins.load = CKEDITOR.tools.override( CKEDITOR.plugins.load, function( originalLoad )
24        {
25                return function( name, callback, scope )
26                {
27                        var allPlugins = {};
28
29                        var loadPlugins = function( names )
30                        {
31                                originalLoad.call( this, names, function( plugins )
32                                        {
33                                                CKEDITOR.tools.extend( allPlugins, plugins );
34
35                                                var requiredPlugins = [];
36                                                for ( var pluginName in plugins )
37                                                {
38                                                        var plugin = plugins[ pluginName ],
39                                                                requires = plugin && plugin.requires;
40
41                                                        if ( requires )
42                                                        {
43                                                                for ( var i = 0 ; i < requires.length ; i++ )
44                                                                {
45                                                                        if ( !allPlugins[ requires[ i ] ] )
46                                                                                requiredPlugins.push( requires[ i ] );
47                                                                }
48                                                        }
49                                                }
50
51                                                if ( requiredPlugins.length )
52                                                        loadPlugins.call( this, requiredPlugins );
53                                                else
54                                                {
55                                                        // Call the "onLoad" function for all plugins.
56                                                        for ( pluginName in allPlugins )
57                                                        {
58                                                                plugin = allPlugins[ pluginName ];
59                                                                if ( plugin.onLoad && !plugin.onLoad._called )
60                                                                {
61                                                                        plugin.onLoad();
62                                                                        plugin.onLoad._called = 1;
63                                                                }
64                                                        }
65
66                                                        // Call the callback.
67                                                        if ( callback )
68                                                                callback.call( scope || window, allPlugins );
69                                                }
70                                        }
71                                        , this);
72
73                        };
74
75                        loadPlugins.call( this, name );
76                };
77        });
78
79CKEDITOR.plugins.setLang = function( pluginName, languageCode, languageEntries )
80{
81        var plugin = this.get( pluginName );
82        plugin.lang[ languageCode ] = languageEntries;
83};
Note: See TracBrowser for help on using the repository browser.