Changeset 1762


Ignore:
Timestamp:
12/04/09 16:46:29 (14 years ago)
Author:
alexandrecorreia
Message:

Ticket #808 - Busca implementada utilizando somente os grupos cadastrados.

File:
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/jabberit_messenger/js/groups_ldap.js

    r1530 r1762  
    11(function() 
    22{ 
    3         var _conn       = ''; 
    4         var Xtools      = ''; 
     3        var _conn               = ''; 
     4        var _keyTimeOut = false; 
     5        var Xtools              = ''; 
    56 
    67        function addGroup() 
    78        { 
    8                 var select_ldap = document.getElementById('groups_ldap_jabberit'); 
    9                 var select_locked =  document.getElementById('groups_locked_jabberit'); 
    10                  
    11                 for(var i = 0; i < select_locked.options.length; i++) 
     9                if( arguments.length > 0 ) 
    1210                { 
    13                         if(select_locked.options[i].value === "") 
     11                        var select_from = document.getElementById(arguments[0]); 
     12                        var select_to   = document.getElementById(arguments[1]); 
     13                         
     14                        for(var i = 0; i < select_to.options.length; i++) 
    1415                        { 
    15                                 select_locked.options[i].parentNode.removeChild(select_locked.options[i]); 
    16                                 i--; 
     16                                if(select_to.options[i].value === "") 
     17                                { 
     18                                        select_to.options[i].parentNode.removeChild(select_to.options[i]); 
     19                                        i--; 
     20                                } 
    1721                        } 
    18                 } 
    19                  
    20                 for(var i = 0; i < select_ldap.options.length ; i++) 
    21                 { 
    22                         if( select_ldap.options[i].selected ) 
     22                         
     23                        for(var i = 0; i < select_from.options.length ; i++) 
    2324                        { 
    24                                  
    25                                 var flag = false; 
    26                                 for(var j = 0; j < select_locked.options.length ; j++ ) 
     25                                if( select_from.options[i].selected ) 
    2726                                { 
    28                                         if( select_locked.options[j].value === select_ldap.options[i].value ) 
    29                                                 flag = true; 
    30                                 } 
    31                                  
    32                                 if ( !flag ) 
    33                                 {                                        
    34                                         var option = select_ldap.options[i].value.split(":"); 
    35                                         select_locked.options[select_locked.length] = new Option(option[0], select_ldap.options[i].value, false, true); 
     27                                         
     28                                        var flag = false; 
     29                                        for(var j = 0; j < select_to.options.length ; j++ ) 
     30                                        { 
     31                                                if( select_to.options[j].value === select_from.options[i].value ) 
     32                                                        flag = true; 
     33                                        } 
     34                                         
     35                                        if ( !flag ) 
     36                                        {                                        
     37                                                var option = select_from.options[i].value.split(":"); 
     38                                                select_to.options[select_to.length] = new Option(option[0], select_from.options[i].value, false, true); 
     39                                        } 
    3640                                } 
    3741                        } 
     
    8589        function groupsLdap() 
    8690        { 
     91                var element                     = null; 
     92                var organization        = ""; 
     93                var serverLdap          = null; 
     94 
    8795                createObject(); 
    88                 var organization = ""; 
    8996                 
    9097                if( arguments.length > 0 ) 
    9198                { 
    92                         var element = arguments[0]; 
     99                        element         = arguments[0]; 
     100                        serverLdap      = element.getAttribute('serverLdap'); 
    93101                         
    94102                        if( element.options.length > 0 ) 
     103                        { 
    95104                                for(var i = 0; i < element.options.length ; i++ ) 
     105                                { 
    96106                                        if( element.options[i].selected ) 
     107                                        {                
    97108                                                organization =  'ou=' + element.options[i].value; 
    98          
     109                                                organization = ( serverLdap != null ) ? organization + "&serverLdap=" + serverLdap : organization ; 
     110                                        } 
     111                                } 
     112                        } 
    99113                        _conn.go('$this.ldap_im.getGroupsLdap', CompleteSelect, organization); 
    100114                } 
    101115        } 
    102116 
     117        function groupsQuickSearch() 
     118        { 
     119                if( arguments.length > 0 ) 
     120                { 
     121                        var key = [8,27,37,38,39,40]; 
     122                        var ev = arguments[1]; 
     123                        var elGroups    = arguments[0]; 
     124                        var labelGroups = "label_" + elGroups.id; 
     125                        var search              = "search="+elGroups.value+"&serverLdap=" + document.getElementById(labelGroups).getAttribute('serverLdap'); 
     126                         
     127                        var cleanLabel = function(Id) 
     128                        { 
     129                                document.getElementById(Id).innerHTML = ""; 
     130                        } 
     131                         
     132                        var getGroups = function(search, Id) 
     133                        { 
     134                                createObject(); 
     135                                 
     136                                _conn.go('$this.ldap_im.getGroupsLdap',CompleteSelect , search); 
     137 
     138                                cleanLabel(Id); 
     139                        } 
     140 
     141                        for(var i in key) 
     142                                if( ev.keyCode == key[i]) 
     143                                        return false; 
     144 
     145                        if( elGroups.value.length < 4 ) 
     146                        { 
     147                                document.getElementById(labelGroups).innerHTML = " ( Digite mais " + ( 4 - elGroups.value.length ) + " )"; 
     148                                setTimeout(function(){cleanLabel(labelGroups);}, 2000); 
     149                        } 
     150                        else 
     151                        { 
     152                                document.getElementById(labelGroups).innerHTML = " ( Buscando aguarde .... )"; 
     153                                 
     154                                if( _keyTimeOut ) 
     155                                        clearTimeout(_keyTimeOut); 
     156 
     157                                _keyTimeOut = setTimeout(function(){ getGroups(search, labelGroups); }, 1000); 
     158                        }        
     159                } 
     160        } 
     161         
    103162        function Selected() 
    104163        { 
    105                 var select_locked = document.getElementById('groups_locked_jabberit'); 
    106                 for( var i = 0 ; i < select_locked.options.length; i++ ) 
    107                         select_locked.options[i].selected = true; 
     164                if( arguments.length > 0 ) 
     165                { 
     166                        var _select = document.getElementById(arguments[0]); 
     167                         
     168                        for( var i = 0 ; i < _select.options.length; i++ ) 
     169                                _select[i].selected = true; 
     170                } 
    108171        } 
    109172         
    110173        function removeGroup() 
    111174        { 
    112                 var select_locked = document.getElementById('groups_locked_jabberit'); 
    113                  
    114                 for(var i = 0 ; i < select_locked.options.length; i++ ) 
     175                if( arguments.length > 0 ) 
    115176                { 
    116                         if( select_locked.options[i].selected ) 
     177                        var _select = document.getElementById(arguments[0]); 
     178                         
     179                        for( var i = 0 ; i < _select.options.length; i++ ) 
    117180                        { 
    118                                 select_locked.options[i].parentNode.removeChild(select_locked.options[i]); 
    119                                 i--; 
     181                                if( _select.options[i].selected ) 
     182                                { 
     183                                        _select.options[i].parentNode.removeChild( _select.options[i] ); 
     184                                        i--; 
     185                                } 
    120186                        } 
    121187                } 
    122188        } 
    123189         
    124         function Locked(){} 
     190        function groups_ldap(){} 
    125191 
    126         Locked.prototype.add    = addGroup; 
    127         Locked.prototype.remove = removeGroup; 
    128         Locked.prototype.gLdap  = groupsLdap; 
    129         Locked.prototype.selectAll      = Selected; 
    130         window.locked   = new Locked; 
    131  
     192        groups_ldap.prototype.add                       = addGroup; 
     193        groups_ldap.prototype.remove            = removeGroup; 
     194        groups_ldap.prototype.groups            = groupsLdap; 
     195        groups_ldap.prototype.quickSearch       = groupsQuickSearch; 
     196        groups_ldap.prototype.selectAll         = Selected; 
     197        window.groups_ldap                                      = new groups_ldap; 
     198         
    132199})(); 
Note: See TracChangeset for help on using the changeset viewer.