Changeset 4062


Ignore:
Timestamp:
04/18/11 13:15:10 (8 years ago)
Author:
rafaelraymundo
Message:

Ticket #1594 - Permitir redimensionamento das colunas na lista emails

Location:
branches/2.2.0.1/expressoMail1_2/js
Files:
4 edited

Legend:

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

    r3904 r4062  
    6767        } 
    6868        redim_borders(count_borders()); 
     69        resizeMailList(); 
    6970} 
    7071// END: FUNCTION RESIZE WINDOW 
  • branches/2.2.0.1/expressoMail1_2/js/connector.js

    r3792 r4062  
    1111                is_moz1_6 = false; 
    1212                is_mozilla = false; 
     13                is_webkit = false; 
    1314                is_ns4 = false; 
    1415        } 
     
    1617        { 
    1718                navigator.userAgent.toLowerCase().match('mozilla.*rv[:]1\.6.*gecko') ? is_moz1_6 = true : is_moz1_6 = false; 
     19                navigator.userAgent.toLowerCase().match('applewebkit') ? is_webkit = true : is_webkit = false; 
    1820                is_ie = false; 
    1921                is_ie5 = false; 
     
    2729                is_moz1_6 = false; 
    2830                is_mozilla = false; 
     31                is_webkit = false; 
    2932                is_ns4 = true; 
    3033        }        
  • branches/2.2.0.1/expressoMail1_2/js/draw_api.js

    r4050 r4062  
    629629} 
    630630 
     631// stores the percentages of the cells 
     632var colSizes = [ ["24","24","12","12","12","16","16","20%","*","11%","11%"], ["16","16","12","12","12","20%","20%","*","10%","10%"] ]; 
     633// stores the alignments of the cells 
     634var colAligns = [ ['','','','','','','','left','left','center','center'], ['','','','','','left','left','left','center','center'] ]; 
     635var objCell = null; 
     636var adjCell = null; 
     637var cellClick = null; 
     638var cellResized = false; 
     639var maxWidth=0; 
     640var tblWidth=0; 
     641var bodyWidth=0; 
     642 
     643function changeCursorState(ev) { 
     644        if (cellResized) 
     645                cellResized = false; 
     646        var el = ev.target||ev.srcElement; 
     647        if (el.tagName != "TD") 
     648                el=getFirstParentOfType(el, "TD") 
     649        el.style.cursor ="hand"; 
     650        el.style.cursor ="pointer"; 
     651        var cellMouseX = (ev.clientX-parseInt(getColumnPosition(el, ev))); 
     652        var cellWidth = el.offsetWidth; 
     653        var tbl = getFirstParentOfType(el,"TABLE"); 
     654        if (tbl.emptyBody) 
     655                return; 
     656        if ((((cellWidth-cellMouseX)<15)||((el.style.cursor=="e-resize")&&(detectLeftButton())))&&((el.className=="th_resizable")&&(el.cellIndex+1<el.parentNode.cells.length))){ 
     657                if (tbl) tbl.style.cursor = "e-resize"; 
     658                el.style.cursor ="e-resize"; 
     659        } 
     660        else{ 
     661                if (tbl) tbl.style.cursor = "pointer"; 
     662                el.style.cursor ="hand"; 
     663                el.style.cursor ="pointer"; 
     664        } 
     665} 
     666 
     667function resizeColumn(ev) { 
     668        if (!objCell || !adjCell) { 
     669                stopColResize(ev); 
     670                return; 
     671        } 
     672        if (document.getElementById("table_message_header_box_"+numBox).emptyBody) 
     673                return; 
     674        if (objCell.style.cursor == "e-resize" && detectLeftButton(ev)) { 
     675                var cellIndex = objCell.cellIndex; 
     676                var adjIndex = adjCell.cellIndex; 
     677                var cellWidth = (ev.clientX-parseInt(getColumnPosition(objCell, ev))); 
     678 
     679                var tbl = getMessagesTable(objCell); 
     680                var trM = tbl.rows; 
     681                var tblType = ( (tbl.id=="table_box") ? 0 : 1); 
     682 
     683                if (cellWidth < 10) cellWidth = 10; 
     684                var adjWidth = maxWidth - cellWidth; 
     685                if (adjWidth < 10) { 
     686                        cellWidth = (cellWidth+adjWidth)-10; 
     687                        adjWidth = 10; 
     688                } 
     689 
     690                colSizes[tblType][adjIndex] = (colSizes[tblType][adjIndex]=="*" ? "*" : getPct(is_ie ? adjWidth : adjWidth-2)); 
     691                colSizes[tblType][cellIndex] = (colSizes[tblType][cellIndex]=="*" ? "*" : getPct(cellWidth)); 
     692 
     693                document.getElementById("table_message_ruler").style.left = ev.clientX; 
     694        } 
     695        ev.returnValue = false; 
     696        return (false); 
     697} 
     698 
     699function getPct(tdWidth) { 
     700        var suf = tdWidth.toString().substr(tdWidth.length-1,1); 
     701        if ( suf != "%" && suf != "*") 
     702                return (Math.round((tdWidth/bodyWidth)*10000)/100).toString()+"%"; 
     703        else 
     704                return tdWidth; 
     705} 
     706 
     707function detectLeftButton(ev) { 
     708    ev = ev || window.event; 
     709    var button = ev.which || ev.button; 
     710    return (button == 1); 
     711} 
     712 
     713function startColResize(ev) { 
     714        var el = ev.target||ev.srcElement; 
     715        if (el.tagName != "TD") 
     716                el=getFirstParentOfType(el, "TD") 
     717        if (is_ie) 
     718                ev.cancelBubble = true; 
     719        else 
     720                ev.stopPropagation(); 
     721        if (!el) return; 
     722        if (!is_ie) ev.preventDefault(); 
     723        if (document.getElementById("table_message_header_box_"+numBox).emptyBody) 
     724                return; 
     725        if (el.style.cursor == "e-resize" && detectLeftButton(ev)) { 
     726                var incIndex = ( (el.parentNode.cells.length > el.cellIndex + 1) ? 1 : -1 ); 
     727                var msgTable = getMessagesTable(el); 
     728                var bodyRows = msgTable.rows; 
     729                objCell = el; 
     730                adjCell = el.parentNode.cells[el.cellIndex+incIndex]; 
     731                var tbl = getFirstParentOfType(el, "TABLE"); 
     732                if (is_ie) { 
     733                        tbl.detachEvent("onmousemove",changeCursorState); 
     734                        document.attachEvent("onmousemove",resizeColumn); 
     735                        document.attachEvent("onmouseup",stopColResize); 
     736                        document.attachEvent("onselect",selectCancel); 
     737                        tbl.attachEvent("onselectstart",selectCancel); 
     738                } 
     739                else { 
     740                        tbl.removeEventListener("mousemove",changeCursorState,false); 
     741                        document.addEventListener("mousemove",resizeColumn,false); 
     742                        document.addEventListener("mouseup",stopColResize,false); 
     743                        document.addEventListener("select",selectCancel,false); 
     744                        tbl.addEventListener("selectstart",selectCancel,false); 
     745                } 
     746                cellClick = objCell.onclick; 
     747                objCell.onclick = ""; 
     748                maxWidth = objCell.offsetWidth+adjCell.offsetWidth; 
     749                if (tblWidth==0) { 
     750                        tblWidth = tbl.offsetWidth; 
     751                        bodyWidth = msgTable.offsetWidth; 
     752                } 
     753                document.getElementById("table_message_ruler").style.display = "block"; 
     754                document.getElementById("table_message_ruler").style.left = ev.clientX; 
     755                if (document.getElementById("content_id_"+numBox)==null) 
     756                        document.getElementById("table_message_ruler").style.height = document.getElementById("content_id_search_"+numBox).offsetHeight; 
     757                else 
     758                        document.getElementById("table_message_ruler").style.height = document.getElementById("content_id_"+numBox).offsetHeight; 
     759        } 
     760} 
     761 
     762function stopColResize(ev) { 
     763        if (!objCell) 
     764                return; 
     765        if (is_ie) 
     766                ev.cancelBubble = true; 
     767        else 
     768                ev.stopPropagation(); 
     769        var tbl = getFirstParentOfType(objCell, "TABLE"); 
     770        if (is_ie) { 
     771                tbl.detachEvent("onselectstart",selectCancel); 
     772                document.detachEvent("onselect",selectCancel); 
     773                document.detachEvent("onmousemove",resizeColumn); 
     774                document.detachEvent("onmouseup",stopColResize); 
     775                tbl.attachEvent("onmousemove",changeCursorState); 
     776        } 
     777        else { 
     778                tbl.removeEventListener("selectstart",selectCancel,false); 
     779                document.removeEventListener("select",selectCancel,false); 
     780                document.removeEventListener("mousemove",resizeColumn,false); 
     781                document.removeEventListener("mouseup",stopColResize,false); 
     782                tbl.addEventListener("mousemove",changeCursorState,false); 
     783        } 
     784        var trM = getMessagesTable(objCell).rows; 
     785        var adjIndex = adjCell.cellIndex; 
     786        document.getElementById("table_message_ruler").style.display = "none"; 
     787        syncColumns(); 
     788        maxWidth = 0; 
     789        objCell.onclick = cellClick; 
     790        objCell = null; 
     791        adjCell = null; 
     792        cellResized = true; 
     793} 
     794 
     795function getMessagesTable(el) { 
     796        var hT; 
     797        if (el.tagName == "TABLE") 
     798                hT = el; 
     799        else 
     800                hT = getFirstParentOfType(el,"TABLE"); 
     801        return (hT.parentNode.nextSibling.childNodes[0]); 
     802} 
     803 
     804function getColumnPosition(oNode, pNode){ 
     805        if (!pNode && !is_webkit){ 
     806                var pos = getOffset(oNode); 
     807                return [pos.left, pos.top]; 
     808        } 
     809        pNode = pNode||document.body; 
     810 
     811        var oCurrentNode = oNode; 
     812        var iLeft = 0; 
     813        var iTop = 0; 
     814 
     815        while ((oCurrentNode)&&(oCurrentNode != pNode)){ 
     816                iLeft+=oCurrentNode.offsetLeft-oCurrentNode.scrollLeft; 
     817                iTop+=oCurrentNode.offsetTop-oCurrentNode.scrollTop; 
     818                oCurrentNode=oCurrentNode.offsetParent; 
     819        } 
     820 
     821        return [iLeft, iTop]; 
     822} 
     823 
     824function getFirstParentOfType(obj, tag){ 
     825        while (obj&&obj.tagName != tag&&obj.tagName != "BODY"){ 
     826                obj=obj.parentNode; 
     827        } 
     828        return obj; 
     829} 
     830 
     831function syncColumns() { 
     832        var thisCell; 
     833        var tbl = (document.getElementById("content_id_"+numBox)==null ? 1 : 0); 
     834        if (objCell) 
     835                thisCell = objCell; 
     836        else 
     837                thisCell = document.getElementById("table_message_header_box_"+numBox).rows[0].cells[0]; 
     838        var tbH = getFirstParentOfType(thisCell,"TABLE"); 
     839        var tbM = getMessagesTable(thisCell); 
     840        var trM = tbM.rows; 
     841        for (var r=0;r<trM.length;r++) { 
     842                for (var c=0;c<trM[r].cells.length;c++) { 
     843                        trM[r].cells[c].setAttribute("width",colSizes[tbl][c]); 
     844                        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 { 
     849                                tbH.rows[0].cells[c].setAttribute("width",trM[r].cells[c].offsetWidth); 
     850                        } 
     851                } 
     852        } 
     853} 
     854 
     855function resizeMailList() { 
     856        var innerWidth = (window.innerWidth?window.innerWidth:document.body.clientWidth); 
     857        var scrollWidth = (innerWidth - 20 - getColumnPosition(Element("exmail_main_body"),"BODY")[0]); 
     858        document.getElementById("table_message_header_box_"+numBox).style.width = (scrollWidth-2)+'px'; 
     859        if (document.getElementById("table_resultsearch_"+numBox)==null) 
     860                document.getElementById("table_box").style.width = scrollWidth+'px'; 
     861        else 
     862                document.getElementById("table_resultsearch_"+numBox).style.width = scrollWidth+'px'; 
     863        syncColumns(); 
     864} 
     865 
     866function selectCancel(ev) { 
     867        return (false); 
     868} 
     869 
     870function buildColGroup(tbl) { 
     871        var col_element; 
     872        var colgr_element = document.createElement("COLGROUP"); 
     873        if (tbl==null) tbl = 0; 
     874        for (i=0;i<colSizes[tbl].length;i++) { 
     875                col_element = document.createElement("COL"); 
     876                //col_element.setAttribute("width", colSizes[0][i]); 
     877                col_element.setAttribute("align", colAligns[tbl][i]); 
     878                colgr_element.appendChild(col_element); 
     879        } 
     880        return (colgr_element); 
     881} 
     882 
     883function createTDElement(table_list,col_index,class_name,td_align,td_id) { 
     884        var td_element = document.createElement("TD"); 
     885        td_element.setAttribute("width",colSizes[table_list][col_index]); 
     886        if (class_name) td_element.className = class_name; 
     887        if (td_align) td_element.align = td_align; 
     888        if (td_id) td_element.id = td_id; 
     889        return (td_element); 
     890} 
    631891 
    632892// Draw the inbox and another folders 
     
    646906        if (table_message_header_box == null){ 
    647907                var table_element = document.createElement("TABLE"); 
     908                var colgr_element = buildColGroup(); 
     909                colgr_element.setAttribute("id","colgroup_head_"+numBox); 
    648910                var tbody_element = document.createElement("TBODY"); 
     911                //add events for column resizing 
     912                if (is_ie) { 
     913                        table_element.attachEvent("onmousemove",changeCursorState); 
     914                        table_element.attachEvent("onmousedown",startColResize); 
     915                } 
     916                else { 
     917                        table_element.addEventListener("mousemove",changeCursorState,false); 
     918                        table_element.addEventListener("mousedown",startColResize,false); 
     919                } 
    649920                table_element.setAttribute("id", "table_message_header_box_"+numBox); 
    650921                table_element.className = "table_message_header_box"; 
     922                if (!is_ie) 
     923                        table_element.style.width = "98.8%"; 
     924                //if table is empty 
     925                table_element.emptyBody = false; 
    651926 
    652927                tr_element = document.createElement("TR"); 
    653928                tr_element.className = "message_header"; 
    654                 td_element1 = document.createElement("TD"); 
    655                 td_element1.setAttribute("width", "1%"); 
     929 
     930                td_element1 = createTDElement(0,0); 
    656931                chk_box_element = document.createElement("INPUT"); 
    657932                chk_box_element.id  = "chk_box_select_all_messages"; 
     
    675950                td_element1.appendChild(chk_box_element); 
    676951 
    677                 td_element2 = document.createElement("TD"); 
    678                 td_element2.setAttribute("width", "7%"); 
    679                 td_element3 = document.createElement("TD"); 
    680                 td_element3.setAttribute("width", "29%"); 
     952                td_element2 = createTDElement(0,1); 
     953                td_element3 = createTDElement(0,7,"th_resizable","left","message_header_SORTFROM_"+numBox); 
    681954                td_element3.onclick = function () {sort_box(search_box_type,'SORTFROM');}; 
    682                 td_element3.id = "message_header_SORTFROM_"+numBox; 
    683                 td_element3.align = "left"; 
    684955                td_element3.innerHTML = get_lang("Who"); 
    685956 
    686                 td_element4 = document.createElement("TD"); 
    687                 td_element4.setAttribute("width", "38%"); 
     957                td_element4 = createTDElement(0,8,"th_resizable","left","message_header_SORTSUBJECT_"+numBox); 
    688958                td_element4.onclick = function () {sort_box(search_box_type,'SORTSUBJECT');}; 
    689                 td_element4.id = "message_header_SORTSUBJECT_"+numBox; 
    690                 td_element4.align = "left"; 
    691959                td_element4.innerHTML = get_lang("Subject"); 
    692960 
    693                 td_element5 = document.createElement("TD"); 
    694                 td_element5.setAttribute("width", "14%"); 
     961                td_element5 = createTDElement(0,9,"th_resizable","center","message_header_SORTARRIVAL_"+numBox); 
    695962                td_element5.onclick = function () {sort_box(search_box_type,'SORTARRIVAL');}; 
    696                 td_element5.id = "message_header_SORTARRIVAL_"+numBox; 
    697                 td_element5.align = "center"; 
    698963                td_element5.innerHTML = get_lang("Date"); 
    699                 td_element6 = document.createElement("TD"); 
    700                 td_element6.setAttribute("width", "14%"); 
     964 
     965                td_element6 = createTDElement(0,10,"th_resizable","left","message_header_SORTSIZE_"+numBox); 
    701966                td_element6.onclick = function () {sort_box(search_box_type,'SORTSIZE');} 
    702                 td_element6.id = "message_header_SORTSIZE_"+numBox; 
    703                 td_element6.align = "left"; 
    704967                td_element6.innerHTML = get_lang("Size"); 
    705968 
    706969                tr_element.appendChild(td_element1); 
    707970                tr_element.appendChild(td_element2); 
    708                 var td_element21 = document.createElement("TD"); 
    709                 td_element21.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
    710                 var td_element22 = document.createElement("TD"); 
    711                 td_element22.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
    712                 var td_element23 = document.createElement("TD"); 
    713                 td_element23.innerHTML = "&nbsp;&nbsp;"; 
     971 
     972                var td_element21 = createTDElement(0,2); 
     973                td_element21.innerHTML = "&nbsp;"; 
     974 
     975                var td_element22 = createTDElement(0,3); 
     976                td_element22.innerHTML = "&nbsp;"; 
     977 
     978                var td_element23 = createTDElement(0,4); 
     979                td_element23.innerHTML = "&nbsp;"; 
     980 
     981                var td_element24 = createTDElement(0,5); 
     982                td_element24.innerHTML = "&nbsp;"; 
     983 
     984                var td_element25 = createTDElement(0,6); 
     985                td_element25.innerHTML = "&nbsp;"; 
     986 
    714987                tr_element.appendChild(td_element21); 
    715988                tr_element.appendChild(td_element22); 
    716989                tr_element.appendChild(td_element23); 
     990                tr_element.appendChild(td_element24); 
     991                tr_element.appendChild(td_element25); 
    717992                tr_element.appendChild(td_element3); 
    718993                tr_element.appendChild(td_element4); 
    719994                tr_element.appendChild(td_element5); 
    720995                tr_element.appendChild(td_element6); 
     996 
    721997                tbody_element.appendChild(tr_element); 
    722998                table_element.appendChild(tbody_element); 
    723                 openTab.content_id[numBox].appendChild(table_element); 
     999                table_element.appendChild(colgr_element); 
     1000 
     1001                var _divScroll = document.getElementById("divScrollHead_"+numBox); 
     1002 
     1003                if(!_divScroll){ 
     1004                        _divScroll = document.createElement("DIV"); 
     1005                        _divScroll.id = "divScrollHead_"+numBox; 
     1006        } 
     1007 
     1008                _divScroll.style.overflowY = "hidden"; 
     1009                _divScroll.style.overflowX = "hidden"; 
     1010                _divScroll.style.width  ="100%"; 
     1011 
     1012                if (is_mozilla){ 
     1013                        _divScroll.style.width  ="99.3%"; 
     1014                } 
     1015 
     1016                _divScroll.appendChild(table_element); 
     1017                openTab.content_id[numBox].appendChild(_divScroll); 
     1018 
    7241019        } 
    7251020        draw_header_box(); 
    7261021        var table_element = document.createElement("TABLE"); 
     1022        var colgr_element = buildColGroup(); 
     1023        colgr_element.setAttribute("id","colgroup_main_"+numBox); 
     1024 
    7271025        var tbody_element = document.createElement("TBODY"); 
    7281026        table_element.id = "table_box"; 
     
    7571055        tbody_element.setAttribute("id", "tbody_box"); 
    7581056        table_element.appendChild(tbody_element); 
     1057        table_element.appendChild(colgr_element); 
    7591058 
    7601059        var _divScroll = document.getElementById("divScrollMain_"+numBox); 
    761  
    7621060 
    7631061        if(!_divScroll){ 
     
    7661064        } 
    7671065 
    768         _divScroll.style.overflowY = "auto"; 
     1066        _divScroll.style.overflowY = "scroll"; 
    7691067        _divScroll.style.overflowX = "hidden"; 
    7701068        _divScroll.style.width  ="100%"; 
     
    7721070        if (is_mozilla){ 
    7731071                _divScroll.style.overflow = "-moz-scrollbars-vertical"; 
    774                 _divScroll.style.width  ="99.3%"; 
     1072                _divScroll.style.width  ="100%"; 
    7751073        } 
    7761074        _divScroll.appendChild(table_element); 
     
    7791077        var f_unseen = 0; 
    7801078 
     1079        document.getElementById("table_message_header_box_"+numBox).emptyBody = false; 
    7811080                if (headers_msgs.num_msgs == 0){ 
    782                                 var tr_info = document.createElement("TR"); 
    783                                         var td_info = document.createElement("TD"); 
    784                                                 td_info.setAttribute("colspan", "10"); 
     1081                document.getElementById("table_message_header_box_"+numBox).emptyBody = true; 
     1082                tr_info = document.createElement("TR"); 
     1083                td_info = document.createElement("TD"); 
     1084                h3_info = document.createElement("H3"); 
    7851085                        td_info.setAttribute("background", "#FFF"); 
    786                         td_info.setAttribute("id", "msg_info"); 
    787                         td_info.id = "msg_info"; 
    788                         td_info.align = "center"; 
    789                         td_info.style.padding = "25px"; 
    790                         td_info.style.fontWeight = "bold"; 
    791                                                 td_info.style.fontSize = "11pt"; 
    792                         td_info.innerHTML = get_lang("This mail box is empty"); 
     1086                td_info.setAttribute("width","100%"); 
     1087                h3_info.style.padding = "10px"; 
     1088                h3_info.setAttribute("id", "msg_info"); 
     1089                h3_info.align = "center"; 
     1090                h3_info.innerHTML = get_lang("This mail box is empty"); 
     1091                td_info.appendChild(h3_info); 
    7931092                        tr_info.appendChild(td_info); 
    794                         tbody_element.appendChild(td_info); 
     1093                tbody_element.appendChild(tr_info); 
    7951094                } 
    7961095        for (var i=0; i < headers_msgs.length; i++){ 
     
    8391138        if(Element("table_quota")) 
    8401139                connector.loadScript("InfoQuota"); 
     1140 
     1141        // creates the dotted ruler which helps user to visualize resizing of columns 
     1142        var ruler_element = document.getElementById("table_message_ruler"); 
     1143        if (ruler_element == null) { 
     1144                ruler_element = document.createElement("DIV"); 
     1145                ruler_element.setAttribute("id", "table_message_ruler"); 
     1146                ruler_element.className = "table_message_ruler"; 
     1147                ruler_element.style.top = getColumnPosition(document.getElementById("content_id_0"),"BODY")[1]; 
     1148                document.getElementById("exmail_main_body").appendChild(ruler_element); 
     1149    } 
     1150 
    8411151} 
    8421152 
     
    8821192                        add_className(tr_element,'flagged_msg'); 
    8831193 
    884                 td_element1 = document.createElement("TD"); 
    885                 td_element1.className = "td_msg"; 
    886                 td_element1.setAttribute("width", "1%"); 
     1194                td_element1 = createTDElement(0,0,"td_msg"); 
    8871195                chk_box_element = document.createElement("INPUT"); 
    8881196                chk_box_element.setAttribute("type", "checkbox"); 
     
    8971205                td_element1.appendChild(chk_box_element); 
    8981206 
    899                 td_element2 = document.createElement("TD"); 
    900                 td_element2.className = "td_msg"; 
    901                 td_element2.setAttribute("width", "2%"); 
     1207                td_element2 = createTDElement(0,1,"td_msg"); 
    9021208                if (headers_msgs.attachment && headers_msgs.attachment.number_attachments > 0) 
    9031209                        td_element2.innerHTML = "<img src ='templates/"+template+"/images/clip.gif' title='" + url_decode(headers_msgs.attachment.names) + "'>"; 
    9041210 
    905                 td_element21 = document.createElement("TD"); 
    906                 td_element21.className = "td_msg"; 
    907                 td_element21.setAttribute("width", "1%"); 
    908                 td_element21.id = "td_message_answered_"+headers_msgs.msg_number; 
     1211                td_element21 = createTDElement(0,2,"td_msg",null,"td_message_answered_"+headers_msgs.msg_number); 
    9091212 
    9101213                if (headers_msgs.attachment && headers_msgs.attachment.number_attachments > 0) { 
     
    9341237                        td_element21.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
    9351238 
    936                 td_element22 = document.createElement("TD"); 
    937                 td_element22.className = "td_msg"; 
    938                 td_element22.setAttribute("width", "1%"); 
    939                 td_element22.id = "td_message_signed_"+headers_msgs.msg_number; 
     1239                td_element22 = createTDElement(0,1,"td_msg",null,"td_message_signed_"+headers_msgs.msg_number); 
    9401240                switch(headers_msgs.ContentType) 
    9411241                { 
     
    9561256                } 
    9571257 
    958                 td_element23 = document.createElement("TD"); 
    959                 td_element23.className = "td_msg" 
    960                 td_element23.setAttribute("width", "1%"); 
    961                 td_element23.id = "td_message_important_"+headers_msgs.msg_number; 
     1258                td_element23 = createTDElement(0,4,"td_msg",null,"td_message_important_"+headers_msgs.msg_number); 
    9621259 
    9631260                if (headers_msgs.Flagged == 'F' || (parseInt(preferences.use_important_flag) && headers_msgs.Importance.toLowerCase().indexOf("high") != -1 )) 
     
    9681265                        td_element23.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
    9691266 
    970                 td_element24 = document.createElement("TD"); 
    971                 td_element24.className = "td_msg"; 
    972                 td_element24.setAttribute("width", "1%"); 
    973                 td_element24.id = "td_message_sent_"+headers_msgs.msg_number; 
     1267                td_element24 = createTDElement(0,5,"td_msg",null,"td_message_sent_"+headers_msgs.msg_number); 
    9741268                td_element24.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
    9751269                // preload image 
     
    9791273 
    9801274 
    981                 var td_element25 = document.createElement("TD"); 
    982                 td_element25.className = "td_msg"; 
    983                 td_element25.setAttribute("width", "1%"); 
    984                 td_element25.id = "td_message_unseen_"+headers_msgs.msg_number; 
     1275                td_element25 = createTDElement(0,6,"td_msg",null,"td_message_unseen_s"+headers_msgs.msg_number); 
    9851276                if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')) 
    9861277                        td_element25.innerHTML = "<img src ='templates/"+template+"/images/unseen.gif' title='"+get_lang('Unseen')+"'>"; 
     
    9891280 
    9901281 
    991                 td_element3 = document.createElement("TD"); 
    992                 td_element3.className = "td_msg"; 
    993                 td_element3.id = "td_who_"+ headers_msgs.msg_number; 
    994                 td_element3.setAttribute("width", "20%"); 
     1282                td_element3 = createTDElement(0,7,"td_resizable","left","td_who_"+ headers_msgs.msg_number); 
    9951283                var _onclick = function(){InfoContact.hide();proxy_mensagens.get_msg(headers_msgs.msg_number, msg_folder,true, show_msg);}; 
    9961284                td_element3.onclick = _onclick; 
     
    10401328                        } 
    10411329                } 
    1042                 td_element4 = document.createElement("TD"); 
    1043                 td_element4.className = "td_msg"; 
    1044                 td_element4.setAttribute("width", "50%"); 
     1330 
     1331                td_element4 = createTDElement(0,8,"td_resizable","left"); 
    10451332                td_element4.onclick = _onclick; 
    10461333                td_element4.innerHTML = !is_ie ? "<a nowrap id='a_message_"+tr_element.id+"'>&nbsp;" : "&nbsp;"; 
     
    10661353 
    10671354 
    1068                 td_element5 = document.createElement("TD"); 
    1069                 td_element5.className = "td_msg"; 
    1070                 td_element5.setAttribute("width", "14%"); 
     1355                td_element5 = createTDElement(0,9,"td_resizable","center"); 
    10711356                td_element5.onclick = _onclick; 
    1072                 td_element5.setAttribute("align", "center"); 
     1357 
    10731358                var norm = function (arg) {return (arg < 10 ? '0'+arg : arg);}; 
    10741359                var weekDays = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']; 
     
    11121397                td_element5.alt = td_element5.title; 
    11131398 
    1114  
    1115  
    1116                 td_element6 = document.createElement("TD"); 
    1117                 td_element6.className = "td_msg"; 
    1118                 td_element6.setAttribute("width", "14%"); 
     1399                td_element6 = createTDElement(0,10,"td_resizable","center"); 
    11191400                td_element6.onclick = _onclick; 
    11201401                td_element6.setAttribute("noWrap","true"); 
    1121                 td_element6.setAttribute("align", "center"); 
    1122  
    11231402                td_element6.innerHTML = borkb(headers_msgs.Size); 
    1124  
    11251403 
    11261404                tr_element.appendChild(td_element1); 
     
    11391417 
    11401418function sort_box(search, sort){ 
     1419        if (cellResized) 
     1420                return; 
    11411421        var message_header = Element("message_header_"+search); 
    11421422        var handler_draw_box = function(data){ 
  • branches/2.2.0.1/expressoMail1_2/js/search.js

    r3939 r4062  
    402402                { 
    403403                        var tr = document.createElement("TR"); 
     404                        if(typeof(preferences.line_height) != 'undefined') 
    404405                                tr.style.height = preferences.line_height; 
    405406                         
     
    430431                                if (j == 0) 
    431432                                { 
    432                                         td.style.width = "1%"; 
     433                                        td.setAttribute("width", colSizes[1][0]); 
    433434                                        var td1 = '<input type="checkbox" id="check_box_message_'+uid_msg+'"></input>'; 
    434435                                         
     
    436437                                if (j == 1) 
    437438                                { 
    438                                         td.style.width = "2%"; 
     439                                        td.setAttribute("width", colSizes[1][1]); 
    439440                                        if (aux.flag.match('T')) 
    440441                                        { 
     
    447448                                if (j == 2) 
    448449                                { 
    449                                         td.style.width = "1%"; 
     450                                        td.setAttribute("width", colSizes[1][2]); 
    450451                                        td.id = "td_message_answered_"+uid_msg; 
    451452                                        if (aux.flag.match('X')) 
     
    459460                                if (j == 3) 
    460461                                { 
    461                                         td.style.width = "1%"; 
     462                                        td.setAttribute("width", colSizes[1][3]); 
    462463                                        td.id = "td_message_important_"+uid_msg; 
    463464                                        if (aux.flag.match("F")) 
     
    471472                                if (j == 4) 
    472473                                { 
    473                                         td.style.width = "1%"; 
     474                                        td.setAttribute("width", colSizes[1][4]); 
    474475                                        td.id = "td_message_sent_"+uid_msg; 
    475476                                        td1 = ''; 
     
    478479                                if ( j == 5 ) 
    479480                                { 
    480                                         td.style.width = "20%"; 
     481                                        td.setAttribute("width", colSizes[1][5]); 
     482                                        td.className = "td_resizable"; 
    481483                                        td.onclick = _onclick; 
    482484                                        var nm_box = aux.boxname.split(cyrus_delimiter); 
     
    504506                                                aux.from = aux.from.substr(0,29) + "..."; 
    505507                                         
    506                                         td.style.width = "20%"; 
     508                                        td.setAttribute("width", colSizes[1][6]); 
     509                                        td.className = "td_resizable"; 
    507510                                        td.onclick = _onclick; 
    508511                                        td.setAttribute("NoWrap","true"); 
     
    520523                                                aux.subject = aux.subject.substr(0,70) + "..."; 
    521524                                         
    522                                         td.style.width = "35%"; 
     525                                        td.setAttribute("width", colSizes[1][7]); 
     526                                        td.className = "td_resizable"; 
    523527                                        td.onclick = _onclick; 
    524528                                        td.setAttribute("NoWrap","true"); 
     
    530534                                if( j == 8 ) 
    531535                                { 
    532                                         td.style.width  = "13%"; 
     536                                        td.setAttribute("width", colSizes[1][8]); 
     537                                        td.className = "td_resizable"; 
    533538                                        td.align                = "center"; 
    534539                                        td.onclick              = _onclick; 
     
    554559                                if( j == 9 ) 
    555560                                { 
    556                                         td.style.width = "10%"; 
     561                                        td.setAttribute("width", colSizes[1][9]); 
     562                                        td.className = "td_resizable"; 
    557563                                        td.align = "center"; 
    558564                                        td.onclick = _onclick; 
     
    568574                                        var td1 = ''; 
    569575                                } 
     576                                if (j<10) { 
    570577                                td.innerHTML = td1; 
    571578                                tr.appendChild(td); 
     579                            } 
    572580                        } 
    573581                 
     
    580588                table.appendChild(tbody); 
    581589 
     590                var colgr_element = buildColGroup(1); 
     591                colgr_element.setAttribute("id","colgroup_main_"+numBox); 
     592                table.appendChild(colgr_element); 
     593 
    582594                var content_search =  Element('content_id_search_' + numBox); 
    583595                var div_scroll_result = document.createElement("DIV"); 
    584                         div_scroll_result.id = "divScrollMain_"+numBox; 
    585                         div_scroll_result.style.overflow = "auto"; 
     596                div_scroll_result.id = "divScrollMain_"+numBox; 
     597                div_scroll_result.style.overflowY = "scroll"; 
     598                div_scroll_result.style.overflowX = "hidden"; 
     599                div_scroll_result.style.width   ="100%"; 
    586600         
     601                if (is_mozilla){ 
     602                        div_scroll_result.style.overflow = "-moz-scrollbars-vertical"; 
     603                        div_scroll_result.style.width   ="100%"; 
     604                } 
     605 
    587606                if(is_ie) 
    588607                        Element("border_table").width = "99.5%"; 
     
    591610                var table_element = document.createElement("TABLE"); 
    592611                var tbody_element = document.createElement("TBODY"); 
    593                 table_element.setAttribute("id", "table_message_header_box"); 
     612                if (is_ie) 
     613                { 
     614                        table_element.attachEvent("onmousemove",changeCursorState); 
     615                        table_element.attachEvent("onmousedown",startColResize); 
     616                } 
     617                else { 
     618                        table_element.addEventListener("mousemove",changeCursorState,false); 
     619                        table_element.addEventListener("mousedown",startColResize,false); 
     620                } 
     621                table_element.setAttribute("id", "table_message_header_box_"+numBox); 
    594622                table_element.className = "table_message_header_box"; 
     623                if (!is_ie) 
     624                        table_element.style.width = "98.8%"; 
     625                table_element.emptyBody = false; 
     626 
    595627                tr_element = document.createElement("TR"); 
    596628                tr_element.className = "message_header"; 
    597                 td_element0 = document.createElement("TD"); 
    598                 td_element0.setAttribute("width", "7%"); 
     629                td_element0 = createTDElement(1,0); 
    599630                chk_box_element = document.createElement("INPUT"); 
    600631                chk_box_element.id  = "chk_box_select_all_messages"; 
     
    618649 
    619650                td_element0.appendChild(chk_box_element); 
    620                 td_element1 = document.createElement("TD"); 
    621                 td_element1.setAttribute("width", "20%"); 
    622                 td_element1.align = "left"; 
     651                td_element01 = createTDElement(1,1); 
     652                td_element02 = createTDElement(1,2); 
     653                td_element03 = createTDElement(1,3); 
     654                td_element04 = createTDElement(1,4); 
     655                td_element1 = createTDElement(1,5,"th_resizable","left"); 
    623656                 
    624657                var arrow_ascendant = function(Text) 
     
    654687                 
    655688                // Ordernar Quem 
    656                 td_element2 = document.createElement("TD"); 
    657                 td_element2.setAttribute("width", "20%"); 
    658                 td_element2.align = "left"; 
     689                td_element2 = createTDElement(1,6,"th_resizable","left"); 
    659690 
    660691                if (sort_type == 'SORTWHO') 
     
    684715                 
    685716                // Ordernar Subject 
    686                 td_element3 = document.createElement("TD"); 
    687                 td_element3.setAttribute("width", "35%"); 
    688                 td_element3.align = "left"; 
     717                td_element3 = createTDElement(1,7,"th_resizable","left"); 
    689718                 
    690719                if (sort_type == 'SORTSUBJECT') 
     
    714743                 
    715744                // Ordernar Data 
    716                 td_element4 = document.createElement("TD"); 
    717                 td_element4.setAttribute("width", "12%"); 
    718                 td_element4.align = "center"; 
     745                td_element4 = createTDElement(1,8,"th_resizable","center"); 
    719746                 
    720747                if ( sort_type == 'SORTDATE' ) 
     
    744771 
    745772                // Ordernar Tamanho 
    746                 td_element5 = document.createElement("TD"); 
    747                 td_element5.setAttribute("width", "8%"); 
    748                 td_element5.align = "center"; 
     773                td_element5 = createTDElement(1,9,"th_resizable","center"); 
    749774                 
    750775                if ( sort_type == 'SORTSIZE' ) 
     
    774799                 
    775800                tr_element.appendChild(td_element0); 
     801                tr_element.appendChild(td_element01); 
     802                tr_element.appendChild(td_element02); 
     803                tr_element.appendChild(td_element03); 
     804                tr_element.appendChild(td_element04); 
    776805                tr_element.appendChild(td_element1); 
    777806                tr_element.appendChild(td_element2); 
     
    782811                table_element.appendChild(tbody_element); 
    783812 
     813                var colgr_element = buildColGroup(1); 
     814                colgr_element.setAttribute("id","colgroup_head_"+numBox); 
     815                table_element.appendChild(colgr_element); 
     816 
    784817                if( parseInt( Data['gears_num_msgs'] ) > 0 ) 
    785818                { 
     
    792825                }                
    793826 
    794                 content_search.appendChild(table_element); 
    795  
     827                var _divScroll = document.getElementById("divScrollHead_"+numBox); 
     828 
     829                if(!_divScroll){ 
     830                        _divScroll = document.createElement("DIV"); 
     831                        _divScroll.id = "divScrollHead_"+numBox; 
     832                        _divScroll.style.overflowY = "hidden"; 
     833                        _divScroll.style.overflowX = "hidden"; 
     834                        _divScroll.style.width  ="100%"; 
     835 
     836                        if (is_mozilla){ 
     837                                _divScroll.style.width  ="99.3%"; 
     838                        } 
     839                        _divScroll.appendChild(table_element); 
     840                        content_search.appendChild(_divScroll); 
     841                } 
    796842                /*end of "put header"*/ 
    797843                if ( !expresso_offline ) 
Note: See TracChangeset for help on using the changeset viewer.