source: trunk/phpgwapi/js/tools/xscript.js @ 2642

Revision 2642, 1.4 KB checked in by rodsouza, 14 years ago (diff)

Ticket #1009 - Corigindo problemas com o ordenamento referente aos javascripts.

Line 
1( function( )
2{
3        var _connector = null;
4        var _loaded = [ ];
5        var _new = [ ];
6
7        function _add( pURL )
8        {
9                for ( var i = 0; i < _loaded.length; i++ )
10                        if ( _loaded[ i ] == pURL )
11                                return false;
12
13                _new[ _new.length ] = pURL;
14
15                return true;
16        }
17
18        function _load( )
19        {
20                var _handler = null;
21                if ( arguments.length && typeof arguments[ 0 ] == 'function' )
22                        _handler = arguments[ 0 ];
23
24                var _inline = '';
25                if ( arguments.length && typeof arguments[ 1 ] == 'string' )
26                        _inline = arguments[ 1 ];
27
28                if ( ! _new.length )
29                {
30                        window.eval( _inline);
31                        if ( _handler )
32                                _handler( );
33                }
34                else
35                {
36                        var _scripts = _new.join( ';' );
37
38                        for ( var i = 0; i < _new.length; i++ )
39                                _loaded[ _loaded.length ] = _new[ i ];
40
41                        _new = [ ];
42
43                        _connector.go( {
44                                "access" : URL_SERVER + 'controller.php?action=phpgwapi.javascript.get_source&source=' + _scripts,
45                                "handler" : function( data )
46                                {
47                                        window.eval( data + _inline);
48
49                                        if ( _handler )
50                                                _handler( );
51                                }
52                        } );
53                }
54        }
55
56        function Script( )
57        {
58                if ( arguments.length && typeof arguments[ 0 ] == 'object' && arguments[ 0 ].constructor == Array )
59                        for ( var i = 0; i < arguments[ 0 ].length; i++ )
60                                _loaded[ _loaded.length ] = arguments[ 0 ][ i ];
61        }
62
63        Script.prototype.add = _add;
64        Script.prototype.load = _load;
65
66        window.XScript = Script;
67
68        XEvents.add( window, 'onload', function( )
69        {
70                _connector = new XConnector;
71        } );
72} )( );
Note: See TracBrowser for help on using the repository browser.