Changeset 4072


Ignore:
Timestamp:
04/19/11 14:16:46 (13 years ago)
Author:
rafaelraymundo
Message:

Ticket #1594 - detectar estilo apropriado para o redimensionamento / persistir tamanho das colunas nos cookies

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.0.1/expressoMail1_2/js/draw_api.js

    r4062 r4072  
    640640var tblWidth=0; 
    641641var bodyWidth=0; 
     642var cssForResizing=false; 
    642643 
    643644function changeCursorState(ev) { 
     
    649650        el.style.cursor ="hand"; 
    650651        el.style.cursor ="pointer"; 
     652        if (!cssForResizing) 
     653                return; 
    651654        var cellMouseX = (ev.clientX-parseInt(getColumnPosition(el, ev))); 
    652655        var cellWidth = el.offsetWidth; 
     
    663666                el.style.cursor ="pointer"; 
    664667        } 
     668} 
     669 
     670function getStyle(el,styleProp) 
     671{ 
     672        var x = document.getElementById(el); 
     673        if (x.currentStyle) 
     674                var y = x.currentStyle[styleProp]; 
     675        else if (window.getComputedStyle) 
     676                var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp); 
     677        return y; 
    665678} 
    666679 
     
    785798        var adjIndex = adjCell.cellIndex; 
    786799        document.getElementById("table_message_ruler").style.display = "none"; 
    787         syncColumns(); 
    788800        maxWidth = 0; 
    789801        objCell.onclick = cellClick; 
     
    791803        adjCell = null; 
    792804        cellResized = true; 
     805        setColSizesCookie(); 
     806        syncColumns(); 
    793807} 
    794808 
     
    843857                        trM[r].cells[c].setAttribute("width",colSizes[tbl][c]); 
    844858                        if (is_mozilla && !is_webkit) { 
    845                                 document.getElementById("colgroup_head_"+numBox).childNodes[c].setAttribute("width",colSizes[tbl][c]); 
    846                                 trM[r].cells[c].innerHTML = trM[r].cells[c].innerHTML; 
    847                         } 
    848                         else { 
     859                                if (r==0) { 
     860                                    document.getElementById("colgroup_head_"+numBox).childNodes[c].setAttribute("width",colSizes[tbl][c]); 
     861                                        tbH.rows[0].cells[c].innerHTML = tbH.rows[0].cells[c].innerHTML; // stupid FF fix to refresh column content 
     862                        } 
     863                                trM[r].cells[c].innerHTML = trM[r].cells[c].innerHTML; // stupid FF fix to refresh column content 
     864                        } 
     865                        else if(r==0) { 
    849866                                tbH.rows[0].cells[c].setAttribute("width",trM[r].cells[c].offsetWidth); 
    850867                        } 
     
    874891        for (i=0;i<colSizes[tbl].length;i++) { 
    875892                col_element = document.createElement("COL"); 
    876                 //col_element.setAttribute("width", colSizes[0][i]); 
    877893                col_element.setAttribute("align", colAligns[tbl][i]); 
    878894                colgr_element.appendChild(col_element); 
     
    890906} 
    891907 
     908function prepareColSizesArray() { 
     909        var colSizesCookie = getColSizesCookie(); 
     910        if (colSizesCookie) { 
     911                try { 
     912                        var colSizesA = colSizesCookie.split(":"); 
     913                        colSizes = [colSizesA[0].split(","),colSizesA[1].split(",")]; 
     914                } 
     915                catch(e) {} 
     916        } 
     917} 
     918function setColSizesCookie() { 
     919        var str = "maillist_colsizes=" + colSizes[0].join() + ":" + colSizes[1].join(); 
     920        var date = new Date(); 
     921        date.setTime(date.getTime()+(365*24*60*60*1000)); 
     922        str += ("; expires="+date.toGMTString()); 
     923        document.cookie = str; 
     924} 
     925function getColSizesCookie() { 
     926        var search = "maillist_colsizes="; 
     927        if (document.cookie.length > 0) { 
     928                var offset = document.cookie.indexOf(search); 
     929                if (offset != -1) { 
     930                        offset += search.length; 
     931                        var end = document.cookie.indexOf(";", offset); 
     932                        if (end == -1) 
     933                                end = document.cookie.length; 
     934                        return document.cookie.substring(offset, end); 
     935                } 
     936        } 
     937        return null; 
     938} 
     939 
    892940// Draw the inbox and another folders 
    893941function draw_box(headers_msgs, msg_folder, alternate){ 
     
    904952 
    905953        table_message_header_box = document.getElementById("table_message_header_box_"+numBox); 
    906         if (table_message_header_box == null){ 
     954        if (table_message_header_box == null) { 
    907955                var table_element = document.createElement("TABLE"); 
    908956                var colgr_element = buildColGroup(); 
     
    10041052                        _divScroll = document.createElement("DIV"); 
    10051053                        _divScroll.id = "divScrollHead_"+numBox; 
    1006         } 
     1054                } 
    10071055 
    10081056                _divScroll.style.overflowY = "hidden"; 
     
    10171065                openTab.content_id[numBox].appendChild(_divScroll); 
    10181066 
     1067                var table_layout = (getStyle("table_message_header_box_"+numBox,"table-layout") || getStyle("table_message_header_box_"+numBox,"tableLayout")) 
     1068                cssForResizing = (table_layout=="fixed"); 
     1069                if (cssForResizing) 
     1070                        prepareColSizesArray(); 
    10191071        } 
    10201072        draw_header_box(); 
     
    12801332 
    12811333 
    1282                 td_element3 = createTDElement(0,7,"td_resizable","left","td_who_"+ headers_msgs.msg_number); 
     1334                td_element3 = createTDElement(0,7,"td_msg td_resizable","left","td_who_"+ headers_msgs.msg_number); 
    12831335                var _onclick = function(){InfoContact.hide();proxy_mensagens.get_msg(headers_msgs.msg_number, msg_folder,true, show_msg);}; 
    12841336                td_element3.onclick = _onclick; 
     
    12971349                                if(headers_msgs.to.email != null && headers_msgs.to.email.toLowerCase() != Element("user_email").value) 
    12981350                                        td_element24.innerHTML = "<img valign='center' src ='templates/"+template+"/images/sent.gif' title='"+get_lang('Sent')+"'>"; 
    1299                                  
     1351 
    13001352                                if (headers_msgs.to) { 
    13011353                                        if (headers_msgs.to.name != null) 
     
    13291381                } 
    13301382 
    1331                 td_element4 = createTDElement(0,8,"td_resizable","left"); 
     1383                td_element4 = createTDElement(0,8,"td_msg td_resizable","left"); 
    13321384                td_element4.onclick = _onclick; 
    13331385                td_element4.innerHTML = !is_ie ? "<a nowrap id='a_message_"+tr_element.id+"'>&nbsp;" : "&nbsp;"; 
     
    13531405 
    13541406 
    1355                 td_element5 = createTDElement(0,9,"td_resizable","center"); 
     1407                td_element5 = createTDElement(0,9,"td_msg td_resizable","center"); 
    13561408                td_element5.onclick = _onclick; 
    13571409 
     
    13971449                td_element5.alt = td_element5.title; 
    13981450 
    1399                 td_element6 = createTDElement(0,10,"td_resizable","center"); 
     1451                td_element6 = createTDElement(0,10,"td_msg td_resizable","center"); 
    14001452                td_element6.onclick = _onclick; 
    14011453                td_element6.setAttribute("noWrap","true"); 
     
    16271679                        td.innerHTML += "&nbsp;<img style='cursor:pointer' onclick='alert(\""+get_lang("This message is signed, but it is invalid. You should not trust on it.")+"\");' title='"+get_lang("Voided message")+"' src='templates/"+template+"/images/invalid.gif'>"; 
    16281680        } 
    1629          
     1681 
    16301682        if (info_msg.DispositionNotificationTo) 
    16311683        { 
     
    16801732 
    16811733        if (info_msg.Flagged == "F"){ 
    1682                 option_mark_important.onclick = function() {  
     1734                option_mark_important.onclick = function() { 
    16831735                        var _this = this; 
    16841736                        proxy_mensagens.proxy_set_message_flag(folder_id,'unflagged', function(success){ 
     
    16881740                                } 
    16891741                        } ); 
    1690                          
     1742 
    16911743                }; 
    16921744                option_mark_important.innerHTML = get_lang("Normal"); 
     
    19261978                tr0.appendChild(td0); 
    19271979                tbody_message.appendChild(tr0); 
    1928                  
     1980 
    19291981                var important_message = document.createElement("INPUT"); 
    19301982                important_message.id = "is_important_"+ID; 
     
    19321984                important_message.type = "HIDDEN"; 
    19331985                important_message.value = (info_msg.Importance == "" || info_msg.Importance == "Normal") ? "0": "1"; 
    1934                  
     1986 
    19351987                options.appendChild(important_message); 
    19361988        } 
     
    20422094        { 
    20432095                toaddress_array[ID] = info_msg.toaddress2.split(","); 
    2044                  
     2096 
    20452097                if (toaddress_array[ID].length > 1) 
    20462098                { 
     
    20512103                        div_toaddress.innerHTML += " (<a STYLE='color: RED;' onclick=javascript:show_div_address_full('"+ID+"','to');>"+get_lang('more')+"</a>)"; 
    20522104                        to.appendChild(div_toaddress); 
    2053                 }  
     2105                } 
    20542106                else 
    20552107                { 
     
    20602112                                toAdd = get_lang("without destination"); 
    20612113                        } 
    2062                          
     2114 
    20632115                        to.innerHTML += draw_plugin_cc(ID,toAdd); 
    20642116                } 
    2065          
     2117 
    20662118                to.className = "header_message_field"; 
    20672119                tr2.appendChild(td2); 
     
    20692121                tr2.appendChild(to_values); 
    20702122        } 
    2071          
     2123 
    20722124        tbody_message_others_options.appendChild(tr2); 
    20732125 
     
    22182270                        link_attachment.innerHTML = url_decode(info_msg.attachments[i].name); 
    22192271                        link_attachment.innerHTML += " ("+borkb(info_msg.attachments[i].fsize)+")"; 
    2220                          
     2272 
    22212273                        if((url_decode(info_msg.attachments[i].name).indexOf(".ics")!=-1) || 
    22222274                                        (url_decode(info_msg.attachments[i].name).indexOf(".vcard")!=-1)) 
     
    22322284                                link_attachment.appendChild(link_import_attachment); 
    22332285                        } 
    2234                          
     2286 
    22352287                        link_attachment.innerHTML += '<br/>'; 
    22362288                        attachments.appendChild(link_attachment); 
     
    23382390                        } 
    23392391                        else{ 
    2340                                 var anchor_pattern = "http://"+location.host+location.pathname+"#";  
    2341                                  
    2342                                 if ( ( links.item( i ).href.indexOf( 'javascript:' ) !== 0 ) &&  
     2392                                var anchor_pattern = "http://"+location.host+location.pathname+"#"; 
     2393 
     2394                                if ( ( links.item( i ).href.indexOf( 'javascript:' ) !== 0 ) && 
    23432395                                        (links.item( i ).href.indexOf(anchor_pattern) !== 0) ) //se não for âncora 
    23442396                                                links.item( i ).setAttribute( 'target', '_blank' ); 
     
    24232475                case 'normal': 
    24242476                        { 
    2425                                 el.onclick = function(){  
     2477                                el.onclick = function(){ 
    24262478                                        var _this = this; 
    24272479                                        proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'unflagged', function(success){ 
     
    29733025             if (is_ie){ 
    29743026                input_return_receipt.checked=true; 
    2975              }  
     3027             } 
    29763028             else{ 
    29773029                input_return_receipt.defaultChecked=true; 
Note: See TracChangeset for help on using the changeset viewer.