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

Revision 2469, 1.7 KB checked in by rodsouza, 14 years ago (diff)

Ticket #1009 - Adaptações necessárias no ExpressoAdmin para o não reload.

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 || action.indexOf( '=admin.' ) > 0 );
17                a = ( a || action.indexOf( 'home' ) > 0 );
18                a = ( a || action.indexOf( 'expressoAdmin1_2' ) > 0 );
19                a = ( a || action.indexOf( 'calendar/' ) > 0 || action.indexOf( '=calendar.' ) > 0 );
20                a = ! ( a && ! ( action.indexOf( '#' ) === 0 || action.indexOf( window.location + '#' ) === 0 || action.indexOf( 'javascript:' ) === 0 ) );
21
22                if ( ! a )
23                        pLink.onclick = function( )
24                        {
25                                _container.innerHTML = '';
26                                _container.appendChild( _loading );
27                                var request = _connector.go( {
28                                        'access' : action,
29                                        'handler' : function( data )
30                                        {
31                                                var el = document.createElement( 'div' );
32                                                el.innerHTML = data;
33
34                                                var links = el.getElementsByTagName( 'a' );
35                                                for ( var i = 0; i < links.length; i++ )
36                                                        handler( links.item( i ) );
37
38                                                _container.innerHTML = '';
39                                                while ( el.hasChildNodes( ) )
40                                                        _container.appendChild( el.firstChild );
41                                        }
42                                } );
43                                return false;
44                        };
45        }
46
47        XEvents.add( window, 'onload', function( )
48        {
49                _container = document.getElementById( 'divAppbox' );
50                document.getElementsByTagName( 'body' ).item( 0 ).style.overflowY = 'scroll';
51                var links = document.getElementsByTagName( 'a' );
52                for ( var i = 0; i < links.length; i++ )
53                        handler( links.item( i ) );
54        } );
55} )( );
Note: See TracBrowser for help on using the repository browser.