source: trunk/phpgwapi/js/tools/xlink.js @ 2495

Revision 2495, 1.9 KB checked in by rodsouza, 14 years ago (diff)

Ticket #1009 - Permitindo que o ExpressoPreferences? não realize reload de página.

Line 
1( function( )
2{
3        var _connector = new XConnector;
4        var _container = null;
5        var _loading = new Image( );
6        _loading.src = URL_SERVER + '/phpgwapi/images/loading.gif';
7
8        function handler( pLink )
9        {
10                var action = pLink.href;
11                /*
12                var a = ( action.indexOf( 'javascript:' ) === 0 );
13                a = ( a || ( action.indexOf( '#' ) === 0 ) );
14                a = ( a || ( action.indexOf( window.location + '#' ) === 0 ) );
15                */
16                var a = ( action.indexOf( 'admin' ) > 0 );
17                a = ( a || action.indexOf( 'home' ) > 0 );
18                a = ( a || action.indexOf( 'contactcenter' ) > 0 );
19                a = ( a || action.indexOf( 'expressoAdmin1_2' ) > 0 );
20                a = ( a || action.indexOf( 'filemanager' ) > 0 );
21                a = ( a || action.indexOf( 'jabberit_messenger' ) > 0 );
22                a = ( a || action.indexOf( 'preferences' ) > 0 );
23                a = ( a || action.indexOf( 'calendar' ) > 0 );
24                a = ! ( a && ! ( action.indexOf( '#' ) === 0 || action.indexOf( window.location + '#' ) === 0 || action.indexOf( 'javascript:' ) === 0 ) );
25
26                if ( ! a )
27                        pLink.onclick = function( )
28                        {
29                                _container.innerHTML = '';
30                                _container.appendChild( _loading );
31                                var request = _connector.go( {
32                                        'access' : action,
33                                        'handler' : function( data )
34                                        {
35                                                var el = document.createElement( 'div' );
36                                                el.innerHTML = data;
37
38                                                var links = el.getElementsByTagName( 'a' );
39                                                for ( var i = 0; i < links.length; i++ )
40                                                        handler( links.item( i ) );
41
42                                                _container.innerHTML = '';
43                                                while ( el.hasChildNodes( ) )
44                                                        _container.appendChild( el.firstChild );
45                                        }
46                                } );
47                                return false;
48                        };
49        }
50
51        XEvents.add( window, 'onload', function( )
52        {
53                var _center = document.createElement( 'center' );
54                _center.appendChild( _loading );
55
56                _container = document.getElementById( 'divAppbox' );
57                _loading = _center;
58
59                document.getElementsByTagName( 'body' ).item( 0 ).style.overflowY = 'scroll';
60
61                var links = document.getElementsByTagName( 'a' );
62                for ( var i = 0; i < links.length; i++ )
63                        handler( links.item( i ) );
64        } );
65} )( );
Note: See TracBrowser for help on using the repository browser.