source: trunk/phpgwapi/js/ckeditor/_source/core/plugins.js @ 2862

Revision 2862, 2.2 KB checked in by rodsouza, 14 years ago (diff)

Ticket #663 - Atualizando e centralizando o CKEditor (v. 3.2.1)

Line 
1/*
2Copyright (c) 2003-2010, 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                                                        if ( ! ( pluginName in Object.prototype ) )
38                                                        {
39                                                                var plugin = plugins[ pluginName ],
40                                                                        requires = plugin && plugin.requires;
41
42                                                                if ( requires )
43                                                                {
44                                                                        for ( var i = 0 ; i < requires.length ; i++ )
45                                                                        {
46                                                                                if ( !allPlugins[ requires[ i ] ] )
47                                                                                        requiredPlugins.push( requires[ i ] );
48                                                                        }
49                                                                }
50                                                        }
51
52                                                if ( requiredPlugins.length )
53                                                        loadPlugins.call( this, requiredPlugins );
54                                                else
55                                                {
56                                                        // Call the "onLoad" function for all plugins.
57                                                        for ( pluginName in allPlugins )
58                                                                if ( ! ( pluginName in Object.prototype ) )
59                                                                {
60                                                                        plugin = allPlugins[ pluginName ];
61                                                                        if ( plugin.onLoad && !plugin.onLoad._called )
62                                                                        {
63                                                                                plugin.onLoad();
64                                                                                plugin.onLoad._called = 1;
65                                                                        }
66                                                                }
67
68                                                        // Call the callback.
69                                                        if ( callback )
70                                                                callback.call( scope || window, allPlugins );
71                                                }
72                                        }
73                                        , this);
74
75                        };
76
77                        loadPlugins.call( this, name );
78                };
79        });
80
81CKEDITOR.plugins.setLang = function( pluginName, languageCode, languageEntries )
82{
83        var plugin = this.get( pluginName ),
84                pluginLang = plugin.lang || ( plugin.lang = {} );
85
86        pluginLang[ languageCode ] = languageEntries;
87};
Note: See TracBrowser for help on using the repository browser.