Changeset 5744


Ignore:
Timestamp:
03/16/12 16:52:55 (12 years ago)
Author:
alexandrecorreia
Message:

Ticket #673 - Novas dialogs com Jquery para o novo visual do expresso ( com EJS ).

Location:
trunk/expressoMail1_2
Files:
1 added
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/js/TreeS.js

    r5581 r5744  
    1 function treeS() 
     1(function() 
    22{ 
    3         this.FOLDER             = ""; 
    4         this.xtools             = new xtools('../expressoMail1_2/templates/'); 
    5         this.parentHtml         = null; 
    6 } 
    7  
    8 treeS.prototype.make_Window = function() 
    9 { 
    10         var div         = null; 
    11         var args        = null; 
     3        var FOLDER      =       ""; 
    124         
    13         args =  
     5        function foldersExpresso(){ } 
     6         
     7        function load() 
    148        { 
    15                 "delete_folder"         : get_lang('Delete folder'), 
    16                 "export_messages"       : get_lang('Export messages'), 
    17                 "new_folder"            : get_lang('New folder'), 
    18                 "rename_folder"         : get_lang('Rename folder') 
    19         }; 
    20  
    21         div                                     = document.createElement("div"); 
    22         div.id                          = "divTreeFolders"; 
    23         div.innerHTML           = this.xtools.parse(this.xtools.xml('treeFolders'), 'treeFolders.xsl', args ); 
    24         this.parentHtml         = div; 
     9                var div = document.createElement("div"); 
     10                 
     11                var args =  
     12                { 
     13                        "delete_folder"         : get_lang('Delete folder'), 
     14                        "export_messages"       : get_lang('Export messages'), 
     15                        "new_folder"            : get_lang('New folder'), 
     16                        "rename_folder"         : get_lang('Rename folder') 
     17                }; 
     18                 
     19                $(div).html(DataLayer.render("./templates/default/folderExpresso.ejs", args )); 
     20                 
     21                $(div).dialog( 
     22                { 
     23                        resizable       : false, 
     24                        title           : get_lang("Manager your folders and export messages"), 
     25                        position        : 'center', 
     26                        width           : 600, 
     27                        height          : 300, 
     28                        modal           : false, 
     29                        buttons         : [ 
     30                                                        { 
     31                                                                text: get_lang("Close"), 
     32                                                                click: function() 
     33                                                                { 
     34                                                                        $(this).dialog("destroy"); 
     35                                                                        div.removeChild( div.firstChild ); 
     36                                                                }, 
     37                                                                style: "margin-top: -2.1em"  
     38                                                        } 
     39                        ], 
     40                        beforeClose     : function() 
     41                        {  
     42                                $(this).dialog("destroy"); 
     43                                div.removeChild( div.firstChild ); 
     44                        }, 
     45                        open : function() 
     46                        { 
     47                                if( folders.length == 0 ) 
     48                                { 
     49                                        write_msg( "ERRO : Sem dados" ); 
     50                                        $(div).dialog("destroy"); 
     51                                        div.removeChild(div.firstChild); 
     52                                        return false; 
     53                                } 
     54                                else 
     55                                { 
     56                                        if( Element('dftree_treeFolders') != null ) 
     57                                        { 
     58                                                $(div).dialog("destroy"); 
     59                                                div.removeChild( div.firstChild ); 
     60                                                return; 
     61                                        } 
     62                                        else 
     63                                        { 
     64                                                make_tree(div.firstChild); 
     65                                        } 
     66                                } 
     67                        } 
     68                }); 
     69        } 
    2570         
    26         var openWindow = function() 
     71         
     72        function make_tree() 
    2773        { 
    28                 if( folders.length == 0 ) 
     74                var elementHtml = null; 
     75                 
     76                if( arguments.length > 0 ) 
    2977                { 
    30                         write_msg( "ERRO : Sem dados" ); 
    31                         $(div).dialog("destroy"); 
    32                         div.removeChild( div.firstChild ); 
    33                         return false; 
     78                        elementHtml = arguments[0]; 
    3479                } 
    3580                else 
     
    3782                        if( Element('dftree_treeFolders') != null ) 
    3883                        { 
    39                                 $(div).dialog("destroy"); 
    40                                 div.removeChild( div.firstChild ); 
    41                                 return; 
    42                         } 
    43                         else 
    44                         { 
    45                                 ttree.make_tree(div.firstChild); 
     84                                elementHtml = Element('dftree_treeFolders').parentNode.parentNode; 
     85                                Element('dftree_treeFolders').innerHTML = ""; 
    4686                        } 
    4787                } 
    48         }; 
     88                 
     89                var treeFolders = new dFTree({ name : 'treeFolders' }); 
     90                 
     91                if( !expresso_offline ) 
     92                { 
     93                        var root        = new dNode({ id : 'root', caption: get_lang('My Folders'), onClick: "ttree.setFolder('root')" }); 
     94                         
     95                        treeFolders.add(root, 'root'); 
    4996 
    50         $(div).dialog( 
    51         { 
    52                 resizable       : false, 
    53                 title           : get_lang("Manager your folders and export messages"), 
    54                 position        : 'center', 
    55                 width           : 600, 
    56                 height          : 300, 
    57                 modal           : false, 
    58                 buttons         : [ 
    59                                                 { 
    60                                                         text: get_lang("Close"), 
    61                                                         click: function() 
    62                                                         { 
    63                                                                 $(this).dialog("destroy"); 
    64                                                                 div.removeChild(div.firstChild); 
    65                                                         }, 
    66                                                         style: "margin-top: -2.1em"  
    67                                                 } 
    68                 ], 
    69                 beforeClose     : function() 
    70                 {  
    71                         $(this).dialog("destroy"); 
    72                         div.removeChild(div.firstChild); 
    73                 }, 
    74                 open            : function() 
     97                        for(var i = 0; i < folders.length ; i++ ) 
     98                        { 
     99                                var nn = new dNode({ id:folders[i].folder_id, caption: lang_folder(folders[i].folder_name), plusSign:folders[i].folder_hasChildren, onClick: "ttree.setFolder('"+folders[i].folder_id+"')"}); 
     100                                 
     101                                if ( folders[i].folder_parent == '' ) 
     102                                { 
     103                                        folders[i].folder_parent = 'root'; 
     104                                } 
     105                    else if ( folders[i].folder_parent.indexOf('user') != -1 ) 
     106                    { 
     107                        //if ( treeFolders.getNodeById('user') ) 
     108                        { 
     109                                var n_root_shared_folders = new dNode({ id:'user', caption:get_lang("Shared Folders"), plusSign:true}); 
     110                            treeFolders.add( n_root_shared_folders,'root'); 
     111                        } 
     112                    } 
     113 
     114                                // Ver Ticket #1548 
     115                                if( folders[i].folder_parent != 'root') 
     116                                { 
     117                        var node_parent = treeFolders.getNodeById(folders[i].folder_parent); 
     118                         
     119                        if( typeof node_parent != 'undefined') 
     120                        { 
     121                                node_parent.plusSign = true; 
     122                                treeFolders.alter(node_parent); 
     123                        } 
     124                    } 
     125                                 
     126                                treeFolders.add( nn, folders[i].folder_parent ); 
     127                        } 
     128                }        
     129 
     130                //Pastas locais 
     131                if ( preferences.use_local_messages == 1 )  
    75132                { 
    76                         openWindow(); 
     133                        var n_root_local = new dNode({ id : "local_root", caption : get_lang("local folders"), onClick: "ttree.setFolder('root')" }); 
     134                         
     135                        treeFolders.add( n_root_local, 'root' ); 
     136                         
     137                        var local_folders = expresso_local_messages.list_local_folders(); 
     138                         
     139                        //Coloca as pastas locais. 
     140                        for (var i in local_folders) 
     141                        {  
     142                                var node_parent = "local_root"; 
     143                                var new_caption = local_folders[i][0]; 
     144                                 
     145                                if( local_folders[i][0].indexOf("/") != "-1" ) 
     146                                { 
     147                                        final_pos       = local_folders[i][0].lastIndexOf("/"); 
     148                                        node_parent = "local_"+local_folders[i][0].substr(0,final_pos); 
     149                                        new_caption = local_folders[i][0].substr(final_pos+1); 
     150                                } 
     151                                             
     152                                if ( local_folders[i][1] > 0 ) 
     153                                { 
     154                                        var nodeLocal = new dNode({ 
     155                                                                                                id: "local_" + local_folders[i][0], 
     156                                                                                                caption: lang_folder(new_caption) + '<font style=color:red>&nbsp(</font><span id="local_unseen" style=color:red>' + local_folders[i][1] + '</span><font style=color:red>)</font>', 
     157                                                                                                plusSign: local_folders[i][2] 
     158                                        }); 
     159                                } 
     160                                else 
     161                                { 
     162                                        var nodeLocal = new dNode({ 
     163                                                                                                id: "local_" + local_folders[i][0], 
     164                                                                                                caption: lang_folder(new_caption), 
     165                                                                                                plusSign: local_folders[i][2] 
     166                                        }); 
     167                                } 
     168                                treeFolders.add(nodeLocal, node_parent); 
     169                        } 
    77170                } 
    78         }); 
    79171 
    80 } 
    81  
    82 treeS.prototype.setFolder = function(folderName) 
    83 { 
    84         this.FOLDER = folderName; 
    85 } 
    86  
    87 treeS.prototype.make_tree = function () 
    88 { 
    89         var elementHtml = null; 
    90          
    91         if( arguments.length > 0 ) 
    92         { 
    93                 elementHtml = arguments[0]; 
    94         } 
    95         else 
    96         { 
    97                 if( Element('dftree_treeFolders') != null ) 
    98                 { 
    99                         elementHtml = Element('dftree_treeFolders').parentNode.parentNode; 
    100                         Element('dftree_treeFolders').innerHTML = ""; 
    101                 } 
     172                treeFolders.draw(elementHtml); 
     173                treeFolders.getNodeById("root")._select(); 
     174                root.changeState(); 
     175                 
    102176        } 
    103177         
    104         var treeFolders = new dFTree({ name : 'treeFolders' }); 
     178        function getFolder() 
     179        { 
     180                return FOLDER; 
     181        } 
    105182         
    106         if( !expresso_offline ) 
     183        function setFolder() 
    107184        { 
    108                 var root        = new dNode({ id : 'root', caption: get_lang('My Folders'), onClick: "ttree.setFolder('root')" }); 
    109                  
    110                 treeFolders.add(root, 'root'); 
    111  
    112                 for(var i = 0; i < folders.length ; i++ ) 
    113                 { 
    114                         var nn = new dNode({ id:folders[i].folder_id, caption: lang_folder(folders[i].folder_name), plusSign:folders[i].folder_hasChildren, onClick: "ttree.setFolder('"+folders[i].folder_id+"')"}); 
    115                          
    116                         if ( folders[i].folder_parent == '' ) 
    117                         { 
    118                                 folders[i].folder_parent = 'root'; 
    119                         } 
    120             else if ( folders[i].folder_parent.indexOf('user') != -1 ) 
    121             { 
    122                 //if ( treeFolders.getNodeById('user') ) 
    123                 { 
    124                         var n_root_shared_folders = new dNode({ id:'user', caption:get_lang("Shared Folders"), plusSign:true}); 
    125                     treeFolders.add( n_root_shared_folders,'root'); 
    126                 } 
    127             } 
    128  
    129                         // Ver Ticket #1548 
    130                         if( folders[i].folder_parent != 'root') 
    131                         { 
    132                 var node_parent = treeFolders.getNodeById(folders[i].folder_parent); 
    133                  
    134                 if( typeof node_parent != 'undefined') 
    135                 { 
    136                         node_parent.plusSign = true; 
    137                         treeFolders.alter(node_parent); 
    138                 } 
    139             } 
    140                          
    141                         treeFolders.add( nn, folders[i].folder_parent ); 
    142                 } 
    143         }        
    144  
    145         //Pastas locais 
    146         if ( preferences.use_local_messages == 1 )  
    147         { 
    148                 var n_root_local = new dNode({ id : "local_root", caption : get_lang("local folders"), onClick: "ttree.setFolder('root')" }); 
    149                  
    150                 treeFolders.add( n_root_local, 'root' ); 
    151                  
    152                 var local_folders = expresso_local_messages.list_local_folders(); 
    153                  
    154                 //Coloca as pastas locais. 
    155                 for (var i in local_folders) 
    156                 {  
    157                         var node_parent = "local_root"; 
    158                         var new_caption = local_folders[i][0]; 
    159                          
    160                         if( local_folders[i][0].indexOf("/") != "-1" ) 
    161                         { 
    162                                 final_pos       = local_folders[i][0].lastIndexOf("/"); 
    163                                 node_parent = "local_"+local_folders[i][0].substr(0,final_pos); 
    164                                 new_caption = local_folders[i][0].substr(final_pos+1); 
    165                         } 
    166                                      
    167                         if ( local_folders[i][1] > 0 ) 
    168                         { 
    169                                 var nodeLocal = new dNode({ 
    170                                                                                         id: "local_" + local_folders[i][0], 
    171                                                                                         caption: lang_folder(new_caption) + '<font style=color:red>&nbsp(</font><span id="local_unseen" style=color:red>' + local_folders[i][1] + '</span><font style=color:red>)</font>', 
    172                                                                                         plusSign: local_folders[i][2] 
    173                                 }); 
    174                         } 
    175                         else 
    176                         { 
    177                                 var nodeLocal = new dNode({ 
    178                                                                                         id: "local_" + local_folders[i][0], 
    179                                                                                         caption: lang_folder(new_caption), 
    180                                                                                         plusSign: local_folders[i][2] 
    181                                 }); 
    182                         } 
    183                         treeFolders.add(nodeLocal, node_parent); 
    184                 } 
     185                FOLDER = arguments[0]; 
    185186        } 
    186  
    187         treeFolders.draw(elementHtml); 
    188         treeFolders.getNodeById("root")._select(); 
    189         root.changeState(); 
    190 } 
    191  
    192 /* Build the Object */ 
    193 var ttree = new treeS(); 
     187         
     188        foldersExpresso.prototype.load          = load; 
     189        foldersExpresso.prototype.getFolder     = getFolder; 
     190        foldersExpresso.prototype.setFolder     = setFolder; 
     191        foldersExpresso.prototype.make_tree     = make_tree; 
     192         
     193        window.ttree = new foldersExpresso; 
     194         
     195})(); 
  • trunk/expressoMail1_2/js/TreeShow.js

    r5486 r5744  
    1717                        ttree.make_tree(); 
    1818                         
    19                         // Update dftree_tree_folders; 
    20                         //if(Element('content_folders')) 
    21                         //{ 
    22                                 //Element('content_folders').innerHTML = ""; 
    23                         //} 
    24                          
    2519                        draw_new_tree_folder(); 
    2620                         
    27                         ttree.FOLDER = ttreeBox.name_folder; 
    28                          
    29                         if (tree_folders.getNodeById(ttree.FOLDER)) 
    30                                 tree_folders.getNodeById(ttree.FOLDER)._select(); 
     21                        ttree.setFolder(ttreeBox.name_folder); 
     22                         
     23                        if(tree_folders.getNodeById(ttree.getFolder())) 
     24                                tree_folders.getNodeById(ttree.getFolder())._select(); 
    3125 
    3226                        if(expand_local_root) 
     
    8276                        if(name_folder == arr_nm_folder[i]) 
    8377                        { 
    84                                 ttree.FOLDER = ""; 
     78                                ttree.setFolder(""); 
    8579                                return true; 
    8680                        } 
     
    9286        Tree_Box.prototype.validate = function(func) 
    9387        { 
    94                 var aux = ttree.FOLDER.split(cyrus_delimiter); 
     88                var aux = ttree.getFolder().split(cyrus_delimiter); 
    9589                var aux2; 
    9690 
    97                 if( ttree.FOLDER != "" ) 
     91                if( ttree.getFolder() != "" ) 
    9892                { 
    9993                        if(aux.length > 1) 
     
    143137                                if( func == "rename" ) 
    144138                                { 
    145                                         if(ttree.FOLDER == "root"){ 
     139                                        if( ttree.getFolder() == "root"){ 
    146140                                alert(get_lang("It's not possible rename this folder!")); 
    147141                                                return false; 
    148142                                        } 
    149                                         if(ttree.FOLDER == get_current_folder()){ 
     143                                        if( ttree.getFolder() == get_current_folder()){ 
    150144                        alert(get_lang("It's not possible rename this folder, because it is being used in the moment!")); 
    151145                                                return false; 
     
    184178        { 
    185179 
    186                 var aux   = ttree.FOLDER.split(cyrus_delimiter); 
     180                var aux   = ttree.getFolder().split(cyrus_delimiter); 
    187181                var delimExp = new RegExp('\\'+cyrus_delimiter,"g");  
    188182                newp = newp.replace(delimExp,'_');  
     
    204198                        }else{ 
    205199                                newp2 = newp; 
    206                                 newp = ttree.FOLDER + cyrus_delimiter + newp; 
     200                                newp = ttree.getFolder() + cyrus_delimiter + newp; 
    207201                        } 
    208202                } 
     
    233227        // Funcao para renomear a pasta; 
    234228        Tree_Box.prototype.rename = function(rename){ 
    235                 var old_box  = ttree.FOLDER; 
     229                var old_box  = ttree.getFolder(); 
    236230                var aux = old_box.split(cyrus_delimiter); 
    237231                var rename_new = ""; 
     
    282276        Tree_Box.prototype.export_all_msg = function(){ 
    283277                         
    284                 if(ttree.FOLDER == "root"){return false;} 
    285                 var nm_bx = ttree.FOLDER.split(cyrus_delimiter); 
     278                if(ttree.getFolder() == "root"){return false;} 
     279                var nm_bx = ttree.getFolder().split(cyrus_delimiter); 
    286280                var name_f = nm_bx[nm_bx.length -1]; 
    287281                var hand_export = function(data){ 
     
    294288                          download_attachments(null, null, data, null,null, name_f +'.zip'); 
    295289                } 
    296                 cExecute("$this.exporteml.export_all",hand_export,"folder="+ttree.FOLDER);       
     290                cExecute("$this.exporteml.export_all",hand_export,"folder="+ttree.getFolder());  
    297291                write_msg(get_lang('You must wait while the messages will be exported...'));                     
    298292        } 
     
    300294        // Função para deletar a pasta; 
    301295        Tree_Box.prototype.del = function(){ 
    302                 var folder_name = ttree.FOLDER; 
    303                 var aux = ttree.FOLDER.split(cyrus_delimiter); 
    304  
    305                 if(aux[0] == "root" || ttree.FOLDER == ""){ 
    306                         alert(get_lang("Select a folder!")); 
     296                var folder_name = ttree.getFolder(); 
     297                var aux = ttree.getFolder().split(cyrus_delimiter); 
     298 
     299                if( aux[0] == "root" || ttree.getFolder() == "" ){ 
     300                        alert(get_lang("Select a folder!")); 
    307301                        return false; 
    308302                } 
     
    325319                var aux1 = aux.pop(); 
    326320 
    327                 if(ttree.FOLDER == get_current_folder()){ 
     321                if( ttree.getFolder() == get_current_folder()) { 
    328322            alert(get_lang("It's not possible delete this folder, because it is being used in the moment!")); 
    329323                        return false; 
  • trunk/expressoMail1_2/js/common_functions.js

    r5738 r5744  
    622622} 
    623623 
    624 function folderbox(){ 
     624function folderbox() 
     625{ 
    625626        connector.loadScript("TreeS"); 
    626         if (typeof(ttree) == 'undefined'){ 
    627                 setTimeout('folderbox()',500); 
    628                 return false; 
    629         } 
    630         ttree.make_Window(); 
     627 
     628        if( typeof(window.ttree) == 'undefined') 
     629                setTimeout(function(){ folderbox(); }, 200 ); 
     630        else 
     631                ttree.load(); 
    631632} 
    632633 
Note: See TracChangeset for help on using the changeset viewer.