Changeset 5872


Ignore:
Timestamp:
04/03/12 16:55:27 (9 years ago)
Author:
alexandrecorreia
Message:

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

Location:
trunk
Files:
1 added
2 edited

Legend:

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

    r1121 r5872  
    66        } 
    77 
    8         cWFolders.prototype.makeWindowNew = function(border_id, type,from_search) 
    9         { //Javascript doesn't seems to have polimorfism 
    10                 _this = this; 
     8        cWFolders.prototype.load = function( border_id, type ) 
     9        { 
     10                var folder              = {}; 
     11                var textButton  = ""; 
     12                 
     13                switch( type ) 
     14                { 
     15                        case 'save' : 
     16                                textButton = get_lang('Save'); 
     17                                break; 
     18                                         
     19                        case 'send_and_file' : 
     20                                textButton = get_lang('Send and file'); 
     21                                break; 
     22                                         
     23                        case 'move_to' : 
     24                                textButton = get_lang('Move');   
     25                                break; 
     26                         
     27                        case 'change_folder' : 
     28                                textButton = get_lang('Change folder'); 
     29                                break; 
     30                                 
     31                        default : 
     32                                textButton = get_lang(type); 
     33                } 
     34                 
     35                var winSaveFile = $("#sendFileMessages"); 
     36                        winSaveFile.html( DataLayer.render( BASE_PATH + "modules/mail/templates/sendFileMessages.ejs", {})); 
     37                        winSaveFile.dialog( 
     38                                        { 
     39                                                height          : 250, 
     40                                                width           : 300, 
     41                                                resizable       : false, 
     42                                                title           : get_lang('Send and file'), 
     43                                                modal           : true, 
     44                                                buttons         : [ 
     45                                                                                 { 
     46                                                                                        text    : get_lang("Close"),  
     47                                                                                        click   : function() 
     48                                                                                        { 
     49                                                                                                winSaveFile.dialog("destroy"); 
     50                                                                                        } 
     51                                                                                 }, 
     52                                                                                 { 
     53                                                                                        text    : textButton,  
     54                                                                                        click   : function() 
     55                                                                                        { 
     56                                                                                                if (type == 'save') 
     57                                                                                                { 
     58                                                                                                        save_as_msg(border_id, folder.id, folder.caption,true); 
     59                                                                                                } 
     60                                                                                                else if (type == 'send_and_file') 
     61                                                                                                { 
     62                                                                                                        send_message( border_id, folder.id, folder.caption); 
     63                                                                                                        wfolders.alert = true; 
     64                                                                                                } 
     65                                                                                                else if (type == 'move_to') 
     66                                                                                                { 
     67                                                                                                        var msg_number =  ( border_id ? border_id.replace('_r','') : 'selected'); 
     68                                                                                                         
     69                                                                                                        if (border_id.match('search')) 
     70                                                                                                                move_search_msgs(border_id, folder.id, folder.caption);  
     71                                                                                                        else{ 
     72                                                                                                                proxy_mensagens.proxy_move_messages('null',msg_number, border_id, folder.id, folder.caption); 
     73                                                                                                                wfolders.alert = true; 
     74                                                                                                        } 
     75                                                                                                } 
     76                                                                                                else if (type == 'change_folder') 
     77                                                                                                { 
     78                                                                                                        change_folder(folder.id, folder.caption); 
     79                                                                                                        wfolders.alert = true; 
     80                                                                                                } 
     81 
     82                                                                                                winSaveFile.dialog("destroy"); 
     83                                                                                        } 
     84                                                                                 } 
     85                                                                        ]                
     86                                        });      
     87                         
     88                winSaveFile.next().css("background-color", "#E0EEEE"); 
     89                         
     90                var foldersTree = jQuery("#foldertree-container-sendFileMessage") 
     91                .removeClass('empty-container') 
     92                .html(DataLayer.render(BASE_PATH + 'api/templates/foldertree.ejs', {folders: [cp_tree1, cp_tree2, [] ]})) 
     93                .find("#foldertree").treeview() 
     94                .click(function(event) 
     95                { 
     96                        //request new selected folder messages 
     97                        var target = $(event.target); 
     98 
     99                        if( target.is('.collapsable-hitarea, .expandable-hitarea, .lastCollapsable, .lastExpandable, .treeview') ) 
     100                            return; 
     101 
     102                        if( !target.attr('id') ) 
     103                            target = target.parent(); 
     104 
     105                if (target.attr('id') == "foldertree") return; 
     106                         
     107                        folder.id               = target.attr('id'); 
     108                        folder.child    = target.find('.folder'); 
     109                        folder.caption  = target.find('span').attr('title');                     
     110                         
     111                        $('.filetree span.folder.selected').removeClass('selected'); 
     112                        if(!target.is('#foldertree > .expandable, #foldertree > .collapsable')) 
     113                                $(target).children('.folder').addClass('selected'); 
     114                         
     115                        selectedFolder = { 
     116                            id: folder.id,  
     117                            name: folder.child.attr('title'), 
     118                            'class': folder.child.attr('class') 
     119                        }; 
     120                }); 
     121        } 
    11122         
    12                 var el = document.createElement("DIV"); 
    13                 el.style.visibility = "hidden"; 
    14                 el.style.position = "absolute"; 
    15                 el.style.left = "0px"; 
    16                 el.style.top = "0px"; 
    17                 el.style.width = "0px"; 
    18                 el.style.height = "0px"; 
    19                 el.id = 'dJSWin_wfolders'; 
    20                 document.body.appendChild(el); 
    21                  
    22                 el.innerHTML = "<table><tbody><tr><td>&nbsp</td><td>"+ 
    23                 "<div id='wfolders_content_tree' style='height:200px; width:250px; overflow:auto; background:#F7F7F7'></div>"+ 
    24                 "</td></tr></tbody></table>"; 
    25  
    26                 var space = document.createElement('SPAN'); 
    27                 space.innerHTML = "<BR>&nbsp;&nbsp;"; 
    28                 el.appendChild(space); 
    29  
    30                 var butt = Element('dJSWin_wfolders_bok') 
    31                 if (!butt){ 
    32                         butt = document.createElement('INPUT'); 
    33                         butt.id = 'dJSWin_wfolders_bok'; 
    34                         butt.type = 'button'; 
    35                         el.appendChild(butt); 
    36                 } 
    37                 if (type == 'save') 
    38                                 butt.value = get_lang('Save');  
    39                 else if (type == 'send_and_file') 
    40                 butt.value = get_lang('Send and file');  
    41                 else if (type == 'move_to') 
    42                         butt.value = get_lang('Move'); 
    43                 else if (type == 'change_folder') 
    44                         butt.value = get_lang('Change folder');  
    45                 else //default value 
    46                         butt.value = get_lang(type); 
    47  
    48                 butt.onclick = function () { 
    49                         wfolders.arrayWin[el.id].close(); 
    50                         if (type == 'save'){ 
    51                                 save_as_msg(border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption,true); 
    52                         } 
    53                         else if (type == 'send_and_file'){ 
    54                                 send_message(border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption); 
    55                                 wfolders.alert = true; 
    56                         } 
    57                         else if (type == 'move_to')     { 
    58                                 var msg_number =  (border_id ? border_id.replace('_r','') : 'selected'); 
    59                                 if (border_id.match('search')) 
    60                                         move_search_msgs(border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption);        
    61                                 else{ 
    62                                         proxy_mensagens.proxy_move_messages('null',msg_number, border_id, wfolders_tree._selected.id, wfolders_tree._selected.caption); 
    63                                         wfolders.alert = true; 
    64                                 } 
    65                         } 
    66                         else if (type == 'change_folder'){ 
    67                                 change_folder(wfolders_tree._selected.id, wfolders_tree._selected.caption); 
    68                                 wfolders.alert = true; 
    69                         } 
    70                         else if (type == 'import'){ 
    71                                 import_msgs(wfolders_tree); 
    72                         } 
    73                 }; 
    74                 if (type == 'save') 
    75                         butt.value = get_lang('Save'); 
    76                 else if (type == 'send_and_file') 
    77                         butt.value = get_lang('Send and file'); 
    78  
    79                 var space = document.createElement('SPAN'); 
    80                 space.innerHTML = "&nbsp;&nbsp;"; 
    81                 el.appendChild(space); 
    82  
    83                 var butt = document.createElement('BUTTON'); 
    84                 var buttext = document.createTextNode(get_lang('Close')); 
    85                 butt.appendChild(buttext); 
    86                 butt.onclick = function () {wfolders.arrayWin[el.id].close();}; 
    87                 el.appendChild(butt); 
    88  
    89                 wfolders_tree = new dFTree({name: 'wfolders_tree'}); 
    90                 if(!expresso_offline) 
    91                         var n_root = new dNode({id:'root', caption:get_lang("My Folders")}); 
    92                 else 
    93                         var n_root = new dNode({id:'local_root', caption:get_lang("local messages")}); 
    94                 wfolders_tree.add(n_root,'anything'); //Places the root; second argument can be anything. 
    95  
    96                 var folders = tree_folders.getNodesList(cyrus_delimiter); 
    97                 for (var i=1; i<folders.length; i++) 
    98                 { 
    99                         if (proxy_mensagens.is_local_folder(folders[i].id) && from_search) { 
    100                                 continue; 
    101                         } 
    102                         var nn = new dNode({ 
    103                                 id: folders[i].id, 
    104                                 caption: lang_folder(folders[i].caption), 
    105                                 plusSign: folders[i].plusSign 
    106                         }); 
    107                         wfolders_tree.add(nn, folders[i].parent); 
    108                          
    109                 } 
    110                 Element('wfolders_content_tree').innerHTML = ""; //As buscas não podem incluir mover entre pastas locais, pelo menos por enquanto 
    111                 wfolders_tree.draw(Element('wfolders_content_tree')); 
    112                 n_root.changeState(); 
    113                 if(!expresso_offline) 
    114                         wfolders_tree.getNodeById('INBOX')._select(); 
    115                 else 
    116                         wfolders_tree.getNodeById('local_Inbox')._select(); 
    117                 _this.showWindow(el, type); 
    118         } 
    119  
    120123        cWFolders.prototype.makeWindow = function(border_id, type) 
    121124        { 
    122                 this.makeWindowNew(border_id,type,false); 
    123         } 
    124          
    125         cWFolders.prototype.showWindow = function (div, type) 
    126         { 
    127                 if(! div) { 
    128                         alert(get_lang("This list has no participants.")); 
    129                         return; 
    130                 } 
    131                  
    132                 if(! this.arrayWin[div.id]) { 
    133                         div.style.width = "275px"; 
    134                         div.style.height = "250px"; 
    135                         var title = get_lang('Select a folder')+":"; 
    136                         var wHeight = div.offsetHeight + "px"; 
    137                         var wWidth =  div.offsetWidth   + "px"; 
    138                         div.style.width = div.offsetWidth - 5; 
    139  
    140                         win = new dJSWin({ 
    141                                 id: 'win_'+div.id, 
    142                                 content_id: div.id, 
    143                                 width: wWidth, 
    144                                 height: wHeight, 
    145                                 title_color: '#3978d6', 
    146                                 bg_color: '#eee', 
    147                                 title: title, 
    148                                 title_text_color: 'white', 
    149                                 button_x_img: '../phpgwapi/images/winclose.gif', 
    150                                 border: true }); 
    151                          
    152                         this.arrayWin[div.id] = win; 
    153                         win.draw(); 
    154                 } 
    155                 else { 
    156                         win = this.arrayWin[div.id]; 
    157                 } 
    158                 win.open(); 
     125                this.load( border_id, type, false); 
    159126        } 
    160127         
  • trunk/expressoMail1_2/templates/default/index.tpl

    r5858 r5872  
    189189        <p>Seleciona uma Agenda para o Evento :</p> 
    190190        <p> 
    191                 <select style="width:100%;" id="select-agenda"> 
     191                <select style="width:100%;" id="select-agenda">  
    192192                </select> 
    193193        </p> 
     
    209209<div class="expressomail-module-container" style="display: none;"></div> 
    210210<div id="importEmails" style="display:none;padding:5px;"></div> 
    211  
     211<div id="sendFileMessages" style="display:none;"></div> 
    212212<!-- END list --> 
Note: See TracChangeset for help on using the changeset viewer.