Changeset 6997 for sandbox


Ignore:
Timestamp:
08/13/12 08:33:25 (12 years ago)
Author:
gustavo
Message:

Ticket #2939 - Melhorias na exibicao das abas e da listagem de email

Location:
sandbox/newExpressoMail/expressoMail1_2
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • sandbox/newExpressoMail/expressoMail1_2/index.php

    r6858 r6997  
    234234 
    235235        $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['auto_close_first_tab'] = $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['auto_close_first_tab'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['auto_close_first_tab'] : "0"; 
    236          
     236 
    237237        $template = CreateObject('phpgwapi.Template',PHPGW_APP_TPL); 
    238238        $template->set_var("txt_loading",lang("Loading")); 
  • sandbox/newExpressoMail/expressoMail1_2/js/abas.js

    r6960 r6997  
    11var BordersArray = new Array(); 
    2 BordersArray[0] = new setBorderAttributes(0); 
    32var countBorders = 0;  
    43var partMsgs = new Array();  
     
    76var zebraDiscardEventDialog = false; 
    87var saveBorderError = new Array();  
     8var countID = 2; 
     9var tab_content = ""; 
    910 
    10 function setBorderAttributes(ID) 
    11 { 
    12         this.border_id = "border_id_"+ID; 
    13         this.sequence = ID;  
    14 } 
     11var ptabs = $("#ptabs").tabs({  
     12        tabTemplate: "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close'>Remover Aba</span></li>",  
     13        add: function( event, ui ) {  
     14                countID++;  
     15                $(ptabs).tabs('select', '#' + ui.panel.id);  
     16                $.cookie('open_tabs', ($.cookie('open_tabs') ? $.cookie('open_tabs')+"," : "") +ui.panel.id.substring(6)); 
     17                $( ui.panel ).append("<p>"+tab_content+"</p>");  
     18        }, 
     19        show: function(event, ui){ 
     20                resizeWindow(); 
     21        }, 
     22        cookie: { 
     23                expires: 1 
     24        } 
     25});  
    1526 
    16  
    17 function alternate_border(ID) 
    18 { 
    19         msg_selected = false;//Controle da seleção de mensagens 
    20         if(isNaN(ID)) 
    21                 if(preferences.use_shortcuts == "1") 
    22                         select_msg((ID.split("_"))[0]); 
    23         if( document.getElementById("div_menu_c3") != null ) 
    24         { 
    25                 var node = document.getElementById("div_menu_c3").firstChild; 
    26                  
    27                 while ( node ) 
    28                 { 
    29                         node.style.display = "none"; 
    30                         node = node.nextSibling; 
    31                 } 
    32                  
    33                 if( document.getElementById("span_paging"+ID) != null ) 
    34                         document.getElementById("span_paging"+ID).style.display = "block"; 
    35         } 
    36          
    37         if ( typeof win == 'object' && win.close && win.close.constructor == Function ){ 
    38             var search_win = document.getElementById( 'window_QuickCatalogSearch' ); 
    39             if(search_win){ 
    40                 search_win.style.visibility = 'hidden'; 
    41             } 
    42             win.close( ); 
    43         } 
    44                  
    45         if (! Element('border_id_'+ID)) 
    46                 return false; // Not possible to alternate 
    47         show_hide_span_paging(ID); 
    48         spanD = Element("span_D"); 
    49         if (spanD) 
    50                 spanD.style.display = (openTab.type[ID] == 0 ? '' : 'none'); 
    51  
    52         var footer_menu = Element("footer_menu");        
    53         var aba = Element('border_id_'+ID); 
    54         if (footer_menu != null) { 
    55                 footer_menu.style.display = (openTab.type[ID] != 4 ? '' : 'none'); 
    56                 var alternate_menu = document.getElementById('localOption'); 
    57                  
    58                 if(alternate_menu != null && alternate_menu != 'undefined'){ //Quando Carregado o expresso mail 
    59                         if(openTab.imapBox[ID]!= null && openTab.imapBox[ID]!= 'undefined' ){ //Quando abrir uma Nova Mensagem 
    60                                 if((openTab.imapBox[ID].indexOf("local_") >= 0)){                                                
    61                                                 alternate_menu.title = get_lang("Unarchive"); 
    62                                                 alternate_menu.removeAttribute("onclick"); 
    63                                                 if(!is_ie) 
    64                                                         alternate_menu.setAttribute("onclick",  'expresso_local_messages.unarchive_msgs(\''+openTab.imapBox[ID]+'\', null)'); 
    65                                                 else{ 
    66                                                         alternate_menu.onclick = function(){ 
    67                                                                 expresso_local_messages.unarchive_msgs(openTab.imapBox[ID], null); 
    68                                                         } 
    69                                                 } 
    70                                                 alternate_menu.innerHTML = get_lang("Unarchive"); 
    71                                                  
    72                                         }else{ 
    73                                                 alternate_menu.title = get_lang("Archive"); 
    74                                                 alternate_menu.removeAttribute("onclick"); 
    75                                                 if(!is_ie) 
    76                                                         alternate_menu.setAttribute("onclick", 'archive_msgs(\''+openTab.imapBox[ID]+'\', null)');               
    77                                                 else{ 
    78                                                         alternate_menu.onclick = function(){ 
    79                                                                 archive_msgs(openTab.imapBox[ID], null); 
    80                                                         }        
    81                                                 } 
    82                                                 alternate_menu.innerHTML = get_lang("Archive"); 
    83                                         } 
    84                                          
    85                         } 
    86                 } 
    87                  
    88                 if((aba.id.indexOf("_r") < 0) && (aba.id.indexOf("_0") < 0) && (aba.id.indexOf("id_search_") < 0) && (aba.id.indexOf("_s") < 0)){ 
    89                         spanD.style.display = 'none'; 
    90                         footer_menu.style.display = 'none';                      
    91                 } 
    92         } 
    93  
    94  
    95         var len = BordersArray.length; 
    96         for (var i=0; i < len; i++) 
    97         { 
    98                 m = document.getElementById(BordersArray[i].border_id); 
    99                 if ((m)&&(m.className == 'menu-sel')) 
    100                 { 
    101                         m.className = 'menu'; 
    102                         c = document.getElementById("content_id_"+BordersArray[i].sequence); 
    103                         c.style.display = 'none'; 
    104                         if(Element("font_border_id_"+BordersArray[i].sequence)) 
    105                                 Element("font_border_id_"+BordersArray[i].sequence).className = 'font-menu';     
    106  
    107                 } 
    108         } 
    109  
    110         m = Element("border_id_"+ID); 
    111         if (m) 
    112                 m.className = 'menu-sel'; 
    113         if(Element("font_border_id_" + ID)) 
    114                 Element("font_border_id_" + ID).className = 'font-menu-sel'; 
    115         var c = Element("content_id_"+ID) 
    116         if (c) 
    117                 c.style.display = ''; 
    118  
    119  
    120         // hide the DropDrowContact, if necessary 
    121         window_DropDownContacts = Element('tipDiv'); 
    122         if ((window_DropDownContacts)&&(window_DropDownContacts.style.visibility != 'hidden')){ 
    123                 window_DropDownContacts.style.visibility = 'hidden'; 
    124         } 
    125  
    126         numBox = getNumBoxFromTabId(ID); 
    127         if (typeof(ID)=='number') { 
    128                  numBox = ID; 
    129          } 
    130          else { 
    131              if (ID.match("search_")) 
    132              { 
    133                  if (ID.match("search_local_msg")) 
    134                  { 
    135                          var p = ID.search(/[0-9]/); 
    136                          numBox =  ID.substr(p); 
    137                  } 
    138                  else 
    139                  { 
    140                          numBox = ID.substr(7); 
    141                  } 
    142              } 
    143          } 
    144         currentTab=ID; 
    145         if( document.getElementById('to_'+ID) && document.getElementById('to_'+ID).type == "textarea"){  
    146             document.getElementById('to_'+ID).focus();  
    147         } 
    148         if (ID == 0){  
    149                 updateSelectedMsgs(); 
    150         } 
    151         RichTextEditor.setEditable(ID); 
    152         resizeWindow(); 
    153         return ID; 
    154 } 
    155  
    156 function create_border(borderTitle, id_value, search) 
    157 { 
    158         borderTitle = ( ( borderTitle && borderTitle.constructor == String && borderTitle.length > 0 ) ? borderTitle : ' ' ); 
    159     borderTitle = html_entities(borderTitle);     
    160         var resize = false; 
    161         resize = resize_borders(); 
    162         if (!resize){ 
    163             var str_continue = ''; 
    164             var bolContinue = true; 
    165                         str_continue = '\n' + get_lang('You must manually close one of your tabs before opening a new one'); 
    166             if (preferences.auto_close_first_tab == 1){ 
    167                 var children = Element('border_tr').childNodes; 
    168                 var bolDelete = true; 
    169                 for (var i=0; i<children.length; i++) { 
    170                     if ((children[i].nodeName === 'TD') && (children[i].id!=='border_id_0') && (children[i].id!=='border_blank')) 
    171                     { 
    172                         bolDelete = true; 
    173                         var num_child = children[i].id.toString().substr(10); 
    174                         alternate_border(num_child); 
    175                         if (editTest(num_child)){ 
    176                             bolDelete = false; 
    177                         } 
    178                         if (bolDelete || bolContinue){ 
    179                                                         str_fechar = '\n' + get_lang('Reached maximum tab limit. Want to close this tab'); 
    180                                                         var confirmacao = confirm(str_fechar); 
    181                             if(confirmacao){ 
    182                             bolContinue = false; 
    183                             delete_border(num_child, 'false'); 
    184                             break; 
    185                                                         }else{ 
    186                                                                 return 'maximo'; 
    187                         } 
    188                     } 
    189                 } 
    190             } 
    191             }else{                       
    192                 alert(get_lang('Reached maximum tab limit') + str_continue ); 
    193                 return 'maximo'; 
    194             } 
    195         } 
    196          
    197         if (! id_value){ // Is new message? 
    198                 var ID = parseInt(BordersArray[(BordersArray.length-1)].sequence) + 1; 
    199                         if(isNaN(ID)){ 
    200                                 var aux = BordersArray[(BordersArray.length-1)].sequence.split("_"); 
    201                                 ID = parseInt(aux[1]) + 1; 
    202                         } 
    203         }else 
    204         { 
    205                 if (Element("border_id_"+id_value)) // It's opened already! 
    206                         return alternate_border(id_value); 
    207                  
    208                 var ID = id_value; 
    209                 if(isNaN(ID) && ID.indexOf("search_local") >= 0){ 
    210                         if(current_folder.indexOf("local") >= 0) 
    211                                 openTab.imapBox[ID] = current_folder; 
    212                         else 
    213                                 openTab.imapBox[ID] = 'local_search'; 
    214                 }else if(isNaN(ID) && ID.indexOf("search_") >= 0){ 
    215                         if(current_folder.indexOf("local") < 0) 
    216                                 openTab.imapBox[ID] = current_folder; 
    217                         else 
    218                                 openTab.imapBox[ID] = 'search'; 
    219                 }else if( (currentTab != 0) && isNaN(currentTab) && (currentTab.indexOf("search") >= 0) && (ID.indexOf("msg") < 0) ) { 
    220                         var id_border = currentTab.replace(/[a-zA-Z_]+/, ""); 
    221                         ID_TR = ID.toString().substr(0,ID.toString().indexOf("_r")); 
    222                         var tr = Element(ID_TR); 
    223                         openTab.imapBox[ID] = (tr.getAttribute('name') == null?get_current_folder():tr.getAttribute('name')); 
    224                 }else 
    225                         openTab.imapBox[ID] = current_folder; 
    226         } 
    227         td = document.createElement("TD"); 
    228         td.id="border_id_" + ID; 
    229         if(resize)  
    230         { 
    231                 td.setAttribute("width", parseInt(resize)+"px"); 
    232                 td.style.width = parseInt(resize)+"px"; 
    233         } 
    234         else 
    235                 td.setAttribute("width", "200px"); 
    236  
    237         td.setAttribute("align", "right"); 
    238         td.onclick = function(){alternate_border(ID);resizeWindow()}; 
    239         td.setAttribute("noWrap","true"); 
    240     td.alt = ' '; 
    241     td.title = borderTitle; 
    242         borderTitle = borderTitle ?  borderTitle : id_value ? get_lang("No Subject") : " "      ; 
    243         td.value = borderTitle; 
    244         if (borderTitle.length > 21) 
    245                 borderTitle = borderTitle.substring(0,21) + "..."; 
    246  
    247         if ( resize ) 
    248                 borderTitle = borderTitle.substring(0, resize*0.08); 
    249          
    250         var cc = search; 
    251         if(!cc){ 
    252                 if(isNaN(ID)){ 
    253                         var is_local = ID.match('.*_local_.*'); 
    254                         if(!is_local) 
    255                                 cc = document.getElementById("em_message_search").value; 
    256                         else{ 
    257                                 cc = document.getElementsByName(currentTab)[0].value; 
    258                         } 
    259                 }else{ 
    260                         cc =""; 
    261                 } 
    262         } 
    263         td.innerHTML = "<div><div id='font_border_id_" + ID+"' class='font-menu'>" + 
    264                                 borderTitle + 
    265                             "</div>\n\ 
    266                             <div style='float:right;'>\n\ 
    267                                 <img onmousedown='javascript:return false' style='cursor:pointer' onclick=delete_border('" + ID + "','false') src='templates/"+template+"/images/close_button.gif'/>\n\ " + 
    268                             "</div>\n\ " +  
    269                                                         "<input type=\"hidden\" name=\""+ ID+"\" value=\""+cc+"\"></div>";               
    270         bb = document.getElementById("border_blank"); 
    271         parent_bb = bb.parentNode; //Pego o tbody 
    272         parent_bb.insertBefore(td, bb); 
    273  
    274         if((typeof(id_value) == 'string') && id_value.match(/_r/)){ 
    275                 $(td).draggable({ 
    276                         start : function(){ 
    277                                 if($(".shared-folders").length){ 
    278                                         $(".shared-folders").parent().find('.folder:not(".shared-folders")').droppable({ 
    279                                                 over : function(a, b){                                           
    280                                                         //SETA BORDA EM VOLTA DA PASTA 
    281                                                         over = $(this); 
    282                                                         $(this).addClass("folder-over"); 
    283                                                         if(($(this)[0] != $(this).parent().find(".head_folder")[0])) 
    284                                                                 if($(this).prev()[0]) 
    285                                                                         if($(this).parent().find(".expandable-hitarea")[0] == $(this).prev()[0]){ 
    286                                                                                 setTimeout(function(){ 
    287                                                                                         if(over.hasClass("folder-over")) 
    288                                                                                                 over.prev().trigger("click"); 
    289                                                                                 }, 500); 
    290                                                                                  
    291                                                                         } 
    292                                                 }, 
    293                                                 out : function(){ 
    294                                                         //RETIRA BORDA EM VOLTA DA PASTA 
    295                                                         $(this).removeClass("folder-over"); 
    296                                                 }, 
    297                                                 //accept: ".draggin_mail", 
    298                                                 drop : function(event, ui){ 
    299                                                         $(this).css("border", ""); 
    300                                                         if($(this).parent().attr('id') == undefined){ 
    301                                                                 var folder_to = 'INBOX'; 
    302                                                                 var to_folder_title = get_lang("Inbox"); 
    303                                                         }else{ 
    304                                                                 var folder_to = $(this).parent().attr('id'); 
    305                                                                 var to_folder_title = $(this).attr('title'); 
    306                                                         }                
    307                                                         var folder_to_move = ui.draggable.parent().attr('id'); 
    308                                                         var border_id = ui.draggable.find("input[type=hidden]").attr("name"); 
    309                                                         if(folder_to_move == "border_tr"){ 
    310                                                                 var id_msg = border_id.split("_")[0]; 
    311                                                                 folder = $("#input_folder_"+border_id+"_r")[0] ? $("#input_folder_"+border_id+"_r").val() : (openTab.imapBox[border_id] ? openTab.imapBox[border_id]:get_current_folder()); 
    312                                                                 move_msgs2(folder, id_msg, border_id, folder_to, to_folder_title,true); 
    313                                                                 return refresh(); 
    314                                                         } 
    315                                                 } 
    316                                         }); 
    317                                 } 
    318                         }, 
    319                         stop :function(){ 
    320                                 $(".shared-folders").parent().find(".folder").droppable("destroy"); 
    321                         }, 
    322                         helper: function(event){ 
    323                                 if(     borderTitle.length > 18 ) 
    324                                         return $("<td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : borderTitle.substring(0,18) + "...", type: "messages"})+"</td>"); 
    325                                 else 
    326                                         return $("<td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : borderTitle, type: "messages"})+"</td>"); 
    327                         }, 
    328                         delay: 150, 
    329                         cursorAt: {top: 5, left: 56}, 
    330                         refreshPositions: true , 
    331                         containment: "#divAppbox" 
    332                 }); 
    333         } 
    334                 //_dragArea.makeDragged(td, id_value,td.value); 
    335  
    336         BordersArray[BordersArray.length] = new setBorderAttributes(ID); 
    337  
    338         var div = document.createElement("DIV"); 
    339         div.id = "content_id_" + ID; 
    340         div.className = "conteudo"; 
    341         div.style.display=''; 
    342  
    343         div.style.overflow = "hidden"; 
    344  
    345         Element("exmail_main_body").insertBefore(div,Element("footer_menu"));        
    346         if (!is_ie) 
    347                 resizeWindow(); 
    348         alternate_border(ID); 
    349     uidsSave[ID] = []; 
    350     saveBorderError[ID] = false; 
    351         return ID; 
    352 } 
    353  
    354 function resize_borders() 
    355 { 
    356         var numBorders = count_borders(); 
    357  
    358         if (numBorders > 8) 
    359                 return false; 
    360  
    361         return redim_borders(numBorders+1); 
    362 } 
    363  
    364 function count_borders() 
    365 { 
    366         var numBorders = 0; 
    367         var children = Element('border_tr').childNodes; 
    368         for (var i=0; i<children.length; i++) { 
    369             if ((children[i].nodeName === 'TD') && (children[i].id!=='border_id_0') && (children[i].id!=='border_blank')) 
    370                 numBorders++; 
    371         } 
    372  
    373         return numBorders; 
    374 } 
    375  
    376 function redim_borders(numBorders) 
    377 { 
    378         var children = Element('border_tr').childNodes; 
    379         var clientWidth = (window.document.body.clientWidth - findPosX(Element("exmail_main_body"))) - Element("border_id_0").clientWidth - 30; 
    380         var newWidthTD = (clientWidth/numBorders)-6; 
    381         newWidthTD = newWidthTD > 200 ? 200 : (newWidthTD < 50 ? 50 : newWidthTD); 
    382         children = Element('border_tr').childNodes; 
    383         for (var i=0; i<children.length; i++) { 
    384                 if ((children[i].nodeName === 'TD') && (children[i].id!=='border_id_0') && (children[i].id!=='border_blank')){ 
    385                         $(children[i]).css("width", newWidthTD); 
    386                         $(children[i]).find('div:first').css("width", newWidthTD); 
    387                         set_border_caption(children[i].id, children[i].title, newWidthTD); 
    388                 } 
    389         } 
    390         return newWidthTD; 
    391 } 
    392  
    393  
    394  
    395  
    396 function set_border_caption(border_id, title, border_width) 
    397 { 
    398         var border = document.getElementById(border_id); 
    399         if (border_width == null) 
    400         { 
    401             border_width = border.clientWidth; 
    402         } 
    403         var caption = ""; 
    404     if (border != null){ 
    405                 Element("font_"+border.id).style.width = (border_width - 35)+'px'; 
    406                 Element("font_"+border.id).innerHTML = title; 
    407         } 
    408         return(title); 
    409 } 
    410  
    411  
    412 function draftTests(ID, msg_sent){ 
    413      
    414         
    415         if( openTab.toPreserve[ID] = false) 
    416         { 
    417             close_delete(ID, msg_sent); 
    418             delete(openTab.type[ID]); 
    419         }     
    420         else   
    421         { 
    422              var msg = 'Existem alterações não salvas na mensagem.'; 
    423              var buttons = ['Descartar alterações', 'Salvar e fechar' ,'Cancelar']; 
    424              var width = 371; 
    425              if($('#fileupload_msg'+ID).find('.in-progress').length) 
    426              { 
    427                  msg = 'Existem anexos sendo enviados para o servidor.'; 
    428                  buttons = ['Descartar alterações e anexos', 'Salvar estado atual fechar', 'Continuar editando'];  
    429                  width = 560; 
    430              } 
    431              zebraDiscardEventDialog = true; 
    432              window.setTimeout(function() { 
    433                 $.Zebra_Dialog(msg, { 
    434                             'type':     'question', 
    435                             'overlay_opacity': '0.5', 
    436                             'buttons':  buttons, 
    437                             'width' : width, 
    438                             'onClose':  function(clicked) { 
    439                                                                         if(clicked == 'Cancelar'){ 
    440                                                                                 if (RichTextEditor.plain[id] != true)  
    441                                                                                         setTimeout("RichTextEditor.focus("+ID+")",100);                   
    442                                                                                 else   
    443                                                                                         $('#body_'+ID).focus();  
    444                                                                         } 
    445                                     if(clicked == 'Descartar alterações' || clicked == 'Descartar alterações e anexos' ) { 
    446                                         if (openTab.imapBox[ID] && !openTab.toPreserve[ID]) 
    447                                             openTab.toPreserve[ID] = false; 
    448  
    449                                         delete(openTab.type[ID]); 
    450                                         close_delete(ID, msg_sent); 
    451                                     } 
    452                                     else if(clicked == 'Salvar e fechar' || clicked == 'Salvar estado atual fechar') 
    453                                     { 
    454                                         save_msg(ID); 
    455                                         openTab.toPreserve[ID] = false; 
    456                                         close_delete(ID, msg_sent); 
    457                                         delete(openTab.type[ID]); 
    458                                     }     
    459                                     else{ 
    460  
    461                                         Element("border_id_"+ID).onclick = function () {alternate_border(ID);};  
    462                                         var setFocus = function(ID){ 
    463                                                         if ($.trim($("#to_"+ID).val()) == "") 
    464                                                                 $("#to_"+ID).focus(); 
    465                                                         else if ($("#tr_cc_"+ID).css('display') != 'none' && $.trim($("#cc_"+ID).val()) == "") 
    466                                                                 $("#cc_"+ID).focus(); 
    467                                                         else if ($("#tr_cco_"+ID).css('display') != 'none' && $.trim($("#cco_"+ID).val()) == "") 
    468                                                                 $("#cco_"+ID).focus();           
    469                                                         else if ($.trim($("#subject_"+ID).val()) == "") 
    470                                                                 $("#subject_"+ID).focus(); 
    471                                                         else{ 
    472                                                                 if (RichTextEditor.plain[id] != true)  
    473                                                                         setTimeout("RichTextEditor.focus("+ID+")",100);                   
    474                                                                 else   
    475                                                                         $('#body_'+ID).focus();  
    476                                                         } 
    477                                                 } 
    478                                                 setFocus(ID);   
    479                                     } 
    480                                     window.setTimeout(function() { 
    481                                             zebraDiscardEventDialog = false; 
    482                                     }, 500); 
    483                             }})}, 300);     
    484         } 
    485          
    486 } 
    487  
    488 function editTest(ID){ 
    489     var body = document.getElementById('body_'+ ID); 
    490         var content = $('#content_id_'+ ID); 
    491     if (body) 
    492     { 
    493         var save_link = content.find(".save"); 
    494         if (openTab.toPreserve[ID] == undefined) 
    495                 openTab.toPreserve[ID] = false; 
    496         if (((! openTab.toPreserve[ID] && ! ID.toString().match("_r")) || ((body.contentWindow) == 'object' && body.contentWindow.document.designMode.toLowerCase() == 'on')) && (save_link.onclick != '')) 
    497         { 
    498             return true; 
    499         } 
    500     } 
    501     return false; 
    502 } 
    503  
    504 function delete_border(ID, msg_sent) 
    505 { 
    506          
    507         if($("#border_id_"+ID).attr("title") == get_lang("New Message")){ 
    508                 var to = $("#content_id_"+ID).find(".to").parent(".email-area").find("div").length || $("#content_id_"+ID).find(".email-area").find(".to").val(); 
    509                 var cc = $("#content_id_"+ID).find(".cc").parent(".email-area").find("div").length || $("#content_id_"+ID).find(".email-area").find(".cc").val(); 
    510                 var cco = $("#content_id_"+ID).find(".cco").parent(".email-area").find("div").length || $("#content_id_"+ID).find(".email-area").find(".cco").val(); 
    511                 var subject = $("#content_id_"+ID).find(".subject").val(); 
    512                 var auxAttachments = false; 
    513                 var attachments = $("#content_id_"+ID).find("ul.attachments-list").find("li").each(function(){ 
    514                         ($(this).find("p").length > 0) ? auxAttachments = true : auxAttachments; 
    515                         if(auxAttachments) 
    516                                 return false; 
    517                 }); 
    518                 var textArea = RichTextEditor.getData("body_"+ID); 
    519                  
    520                 if(!to && !cc && !cco && !auxAttachments && subject == "" && textArea == "") 
    521                 { 
    522             var borderElem = Element("border_id_" + ID); 
    523                         borderElem.onclick = null; 
    524                         close_delete(ID, msg_sent); 
    525                 } 
    526         } 
    527         var bolExecuteClose = true; 
    528         var borderElem = Element("border_id_" + ID); 
    529         if (borderElem){ 
    530             borderElem.onclick = null; // It's avoid a FF3 bug 
    531         }else{ 
    532             return false; 
    533         } 
    534         if (msg_sent == 'false') 
    535         { 
    536             if (editTest(ID)){ 
    537                 bolExecuteClose = false; 
    538                 if(zebraDiscardEventDialog === false) 
    539                     return(draftTests(ID, msg_sent)); 
    540             } 
    541         } 
    542         if (bolExecuteClose) 
    543         { 
    544             close_delete(ID, msg_sent); 
    545                 } 
    546                 delete(openTab.type[ID]); 
    547         return true; 
    548 } 
    549  
    550 function close_delete(ID, msg_sent) 
    551 { 
    552         openTab.toPreserve[ID] = false; 
    553         // Limpa o autosave 
    554             if (preferences.auto_save_draft == 1 && autoSaveControl.timer[ID] !== null ) 
    555             { 
    556                 autoSaveControl.status[ID] = null; 
    557                 clearInterval(autoSaveControl.timer[ID]); 
    558             } 
    559         //////////////////////////////// 
    560          
    561         hold_session = false; 
    562         if (exist_className(Element('border_id_'+ID),'menu-sel')) 
    563         { 
    564                 if (BordersArray[BordersArray.length-2].sequence == ID) 
    565                         this.alternate_border(0); 
    566                 else 
    567                         this.alternate_border(BordersArray[BordersArray.length-2].sequence); 
    568         } 
    569  
    570         // Remove TD, title 
    571         border = Element('border_id_' + ID); 
    572         border.parentNode.removeChild(border); 
    573         var j=0; 
    574         var new_BordersArray = new Array(); 
    575         for (i=0;i<BordersArray.length;i++) 
    576                 if (document.getElementById(BordersArray[i].border_id) != null){ 
    577                         new_BordersArray[j] = BordersArray[i]; 
    578                         j++; 
    579                 } 
    580         if(j == 1) 
    581                 Element("footer_menu").style.display = ''; 
    582         BordersArray = new_BordersArray; 
    583  
    584         // Remove Div Content 
    585         content = Element('content_id_' + ID); 
    586         content.parentNode.removeChild(content); 
    587         if(is_webkit) 
    588                 resizeWindow(); 
    589         RichTextEditor.destroy( 'body_'+ID ); 
    590         delete msgAttachments[ID]; 
    591         //Caso for uma mensagem anexada tem que deletar ela da lixeira apos fechar a aba 
    592             var isPartMsg = false; 
    593                         if(!parseInt(id2)) 
    594                                 return; 
    595             var id2 = ID.replace('_r',''); 
    596             for(var ii = 0; ii < partMsgs.length; ii++) 
    597                if(partMsgs[ii] == id2){            
    598                   isPartMsg = true; 
    599                   partMsgs[ii] = null; 
    600                }      
    601  
    602             if(isPartMsg === true){ 
    603                 var handler_delete_msg = function(){}; 
    604                 cExecute ("$this.imap_functions.delete_msgs&folder=INBOX"+cyrus_delimiter+trashfolder+"&msgs_number="+id2,handler_delete_msg); 
    605             } 
    606         /////////////////////////////////////////////////////////////////////////////////// 
    607          
    608         return true; 
    609 } 
    610  
    611 function getTabPrefix() { // define o prefixo para os checkboxes das mensagens 
    612         if (typeof(currentTab)!='number') 
    613                 return currentTab+"_"; 
    614         else 
    615                 return ""; 
    616 } 
    617  
    618 function getMessageIdFromRowId(row_id) { // extrai o id da mensagem do id da linha 
    619         var p = row_id.search("_s"); 
    620         if (p>0) 
    621                 return row_id.substr(0,p); 
    622         else 
    623                 return row_id; 
    624 } 
    625  
    626 function getNumBoxFromTabId(tab_id) { // extrai o numBox do id da tab 
    627         if (typeof(tab_id)=='number') { 
    628                 return tab_id; 
    629         } 
    630         else { 
    631                 var p = tab_id.search(/[0-9]/); 
    632                 return tab_id.substr(p); 
     27//CREATE A NEW TAB 
     28function createTab(href, label, conteudo, callback){ 
     29        if( !$("#ptabs_"+href).length){ 
     30                tab_content = conteudo; 
     31                $(ptabs).tabs("add", "#ptabs_"+href, (label.length > 21 ? label.substring(0, 15)+"..." : label)); 
     32                if(callback) 
     33                        callback(); 
     34        }else{ 
     35                var index = $( "li", $(ptabs) ).index( $('[href="#ptabs_'+ href +'"]').parent() ); 
     36                $(ptabs).tabs( "select", index ); 
    63337        } 
    63438} 
    635  
    636 function addAttachment(ID, att) 
    637 { 
    638     if(typeof(msgAttachments[ID]) == 'undefined') 
    639             msgAttachments[ID] = []; 
    640  
    641         msgAttachments[ID].push(att); 
    642 } 
    643  
    644 function delAttachment(ID, att) 
    645 { 
    646      
    647     if(msgAttachments[ID] == undefined) return; 
    648     var len = msgAttachments[ID].length; 
    649     for(var i = 0; i < len; i++) 
    650     { 
    651         if(msgAttachments[ID][i] == att) 
    652         { 
    653             delete msgAttachments[ID][i]; 
    654             break; 
    655         } 
    656     }   
    657 } 
    658  
    659 function listAttachment(ID) 
    660 { 
    661    return (typeof(msgAttachments[ID]) == 'undefined') ? '' : JSON.stringify(msgAttachments[ID]);  
    662 } 
    663  
  • sandbox/newExpressoMail/expressoMail1_2/js/common_functions.js

    r6930 r6997  
    8282                content_folders.style.height = (clientHeight - (contentFoldersY + (contentFoldersY > findPosY(search_div) ? 0 : (search_div.clientHeight ? search_div.clientHeight : search_div.offsetHeight) + 5))) + "px"; 
    8383        } 
    84         redim_borders(count_borders()); 
     84        //redim_borders(count_borders()); 
    8585        resizeMailList(); 
    8686} 
  • sandbox/newExpressoMail/expressoMail1_2/js/draw_api.js

    r6975 r6997  
    446446    folder=get_current_folder(); 
    447447    var msgs  = expresso_local_messages.get_local_range_msgs(folder.substr(6),msg_range_begin,preferences.max_email_per_page,sort_box_type,sort_box_reverse,search_box_type,preferences.preview_msg_subject,preferences.preview_msg_tip); 
    448     alternate_border(0); 
     448    //alternate_border(0); 
    449449    draw_box(msgs, folder, true); 
    450450    draw_paging(msgs.num_msgs); 
     
    526526                        if(!verify_session(data)) 
    527527                                return; 
    528                         alternate_border(0); 
     528                        //alternate_border(0); 
     529 
    529530                        var title = lang_folder(folder_name); 
    530531                        if (title.length > 18) title = title.substring(0,18) + "..."; 
    531                         Element("border_id_0").innerHTML = "&nbsp;" + title + '&nbsp;<font face="Verdana" size="1" color="#505050">[<span id="new_m">&nbsp;</span> / <span id="tot_m"></span>]</font>'; 
     532                        $("#ptabs li:first a").html("&nbsp;" + title + '&nbsp;<font face="Verdana" size="1" color="#505050">[<span id="new_m">&nbsp;</span> / <span id="tot_m"></span>]</font>'); 
     533                        $(ptabs).tabs( "select", 0 ); 
    532534                        draw_box(data, folder, true); 
    533535                        draw_paging(data.num_msgs); 
     
    12671269        numBox = 0; //As pastas sempre estarão na aba 0 
    12681270         
    1269         openTab.content_id[numBox] = document.getElementById("content_id_"+numBox); 
    1270         openTab.content_id[numBox].innerHTML = ""; 
     1271        openTab.content_id[numBox] = document.getElementById("ui-tabs-"+numBox); 
     1272        //openTab.content_id[numBox].innerHTML = ""; 
    12711273        openTab.imapBox[numBox] = msg_folder; 
    12721274        openTab.type[numBox] = 0; 
     
    15621564        tdFolders.style.display = preferences.hide_folders == '1'  ? "none" : ""; 
    15631565        if ( !currentTab ) 
    1564                 alternate_border(numBox); 
     1566        //      alternate_border(numBox); 
    15651567        draw_footer_box(headers_msgs.num_msgs); 
    15661568        Element('main_table').style.display = ''; 
     
    15681570                setTimeout("resizeWindow()",1); 
    15691571        else 
    1570                 resizeWindow(); 
     1572                //resizeWindow(); 
    15711573        if(debug) { 
    15721574                var _eTime = new Date(); 
  • sandbox/newExpressoMail/expressoMail1_2/js/main.js

    r6980 r6997  
    44// 20000 = 20 segundos 
    55var autosave_time = 40000; 
     6 
    67var results_search_messages = "";  
    78var cabecalho = '<h4>ExpressoLivre - ExpressoMail</h4>';  
     
    8485                 
    8586                current_folder="INBOX"; 
    86                  
     87 
     88                $( "#ptabs span.ui-icon-close" ).live( "click", function() {  
     89                        var index = $( "li", $(ptabs) ).index( $( this ).parent() ); 
     90                        $(ptabs).tabs( "remove", index ); 
     91                        var teste = ""; 
     92                        var ola = $( this ); 
     93                        $.each($.cookie('open_tabs').split(","), function(index, value){ 
     94                                if(value != ola.prev().attr("href").substring(7)){ 
     95                                        teste += value+","; 
     96                                } 
     97                        }); 
     98                        $.cookie('open_tabs', teste.substring(0, teste.length-1)); 
     99                }); 
     100 
     101                $( "#ptabs").find( ".ui-tabs-nav" ).sortable({  
     102                        axis: "x",  
     103                        items: "li:not(.ui-tab-disabled)",  
     104                        placeholder: "ui-state-highlight"  
     105                }).disableSelection(); 
     106 
     107                if($.cookie('open_tabs')){               
     108                        if($.cookie('open_tabs') != ""){         
     109                                var selected = $.cookie('ui-tabs-1');    
     110                                var ola = $.cookie('open_tabs'); 
     111                                $.cookie('open_tabs', ""); 
     112                                $.each(ola.split(','), function(index, value){ 
     113                                        var msg_number = value.split("_r_")[0]; 
     114                                        var msg_folder = Base64.decode(value.split("_r_")[1]); 
     115                                        $.ajax({ 
     116                                                url: 'controller.php?' + $.param( {action: '$this.imap_functions.get_info_msg', 
     117                                              msg_number: msg_number,  
     118                                              msg_folder: msg_folder, 
     119                                              decoded: true } ), 
     120                                                async : false, 
     121                                                success: function( data ){ 
     122                                                    data = connector.unserialize( data ); 
     123                                                    if( data ) 
     124                                                                show_msg( data ); 
     125                                                        $(ptabs).tabs("select", parseInt(selected)); 
     126                                            }, 
     127                                                beforeSend: function( jqXHR, settings ){ 
     128                                                        connector.showProgressBar(); 
     129                                                }, 
     130                                                complete: function( jqXHR, settings ){ 
     131                                                        connector.hideProgressBar(); 
     132                                                } 
     133                                        }); 
     134                                }); 
     135                        } 
     136                } 
     137 
    87138                if( (window.google && google.gears) && !google.gears.factory.getPermission()) 
    88139                    preferences.use_local_messages=0; 
     
    116167                if (preferences.delete_trash_messages_after_n_days != 0) 
    117168                        cExecute ("$this.imap_functions.automatic_trash_cleanness&before_date="+preferences.delete_trash_messages_after_n_days+"&cyrus_delimiter="+cyrus_delimiter, handler_automatic_trash_cleanness); 
    118                  
     169 
    119170                //if(preferences.outoffice == "1") 
    120171                //       
     
    141192                        $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-e").children().attr('title', "Expandir"); 
    142193                        refresh(); 
    143                         resizeWindow(); 
     194                        //resizeWindow(); 
    144195                }        
    145196                else{ 
    146197                        $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-w").children().attr('title', "Ocultar"); 
    147198                        refresh(); 
    148                         resizeWindow(); 
     199                        //resizeWindow(); 
    149200                } 
    150201                 
     
    172223                                $.cookie('collapse_folders', "false"); 
    173224                                refresh(); 
    174                                 resizeWindow(); 
    175                         } 
    176                         resizeWindow(); 
     225                                //resizeWindow(); 
     226                        } 
     227                        //resizeWindow(); 
    177228                         
    178229                }).hover( 
     
    496547                } 
    497548                else { 
     549                        var sbj = msg_info.subject.length < 21 ? msg_info.subject : msg_info.subject.substr(0,21) + "..."; 
     550                        createTab(id_msg_read,sbj, msg_info.body); 
     551                        /* 
    498552                        var border_id = create_border(msg_info.subject, id_msg_read); 
    499553                        if(border_id) 
     
    514568                        } 
    515569                        else 
    516                                 return; 
     570                                return; */ 
    517571                } 
    518572 
     
    21322186        txtarea.css("height",height); 
    21332187        $("#border_id_" + new_border_ID).attr("title", title); 
    2134         set_border_caption("border_id_" + new_border_ID, title); 
    2135         resizeWindow(); 
     2188//      set_border_caption("border_id_" + new_border_ID, title); 
     2189//      resizeWindow(); 
    21362190        return new_border_ID; //Preciso retornar o ID da nova mensagem. 
    21372191} 
  • sandbox/newExpressoMail/expressoMail1_2/templates/default/index.tpl

    r6487 r6997  
    9999        <td width="100%" valign="top" align="left"> 
    100100                <div id="exmail_main_body" class="messagescol"> 
    101                         <table id="border_table" width="auto" height="26" cellspacing="0" cellpadding="0" border="0"> 
    102                                 <tbody id="border_tbody"> 
    103                                         <tr id="border_tr"> 
    104                                                 <td nowrap class="menu" onClick="alternate_border(0);resizeWindow();"  id="border_id_0"> 
    105                                                         &nbsp;{lang_inbox}&nbsp;<font face="Verdana" size="1" color="#505050">[ 
    106                                                         <span id="new_m">0</span> /  
    107                                                         <span id="tot_m">0</span>] 
    108                                                         </font> 
    109                                                 </td> 
    110                                                 <td nowrap id="border_blank" class="last_menu" width="100%">&nbsp;</td>                                                          
    111                                         </tr> 
    112                                 </tbody> 
    113                         </table> 
    114                         <div id="content_id_0" class="conteudo"></div> 
     101                        <div id="ptabs"> 
     102                <ul> 
     103                    <li class="ui-tab-disabled" style="opacity: 100;"> 
     104                        <a href="#ui-tabs-0">&nbsp;{lang_inbox}&nbsp;<font face="Verdana" size="1" color="#505050"> 
     105                            [<span id="new_m">0</span> / <span id="tot_m">0</span>]</font> 
     106                        </a> 
     107                    </li> 
     108                </ul> 
     109                <div id="ui-tabs-0"> 
     110                    <table class="fuu" id="message_attacher_grid"> 
     111                        <tr> 
     112                            <td/> 
     113                        </tr>    
     114                    </table> 
     115                    <div id="message_attacher_grid_pager"></div> 
     116                </div> 
     117            </div> 
    115118                        <div id="footer_menu"> 
    116119                                <table style="border-top:0px solid black" id="footer_box" cellpadding=0 cellspacing=0 border=0 width="100%" height="10px"> 
  • sandbox/newExpressoMail/expressoMail1_2/templates/default/main.css

    r6930 r6997  
    14571457    background-color: #5194d2; 
    14581458} 
     1459 
     1460.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a{  
     1461        font-size: 10px;          
     1462}  
     1463  
     1464.ui-tabs .ui-tabs-nav li a:hover, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a:hover{  
     1465        text-decoration: none !important;  
     1466}  
     1467 
     1468.ui-tabs .ui-tabs-panel{  
     1469    width: 99.7%;  
     1470        margin-top: 0px !important; 
     1471}  
     1472 
     1473.ui-state-highlight { width: 60px; height: 23px; border-radius: 5px;} 
Note: See TracChangeset for help on using the changeset viewer.