Ignore:
Timestamp:
08/03/12 15:32:43 (12 years ago)
Author:
gustavo
Message:

Ticket #2954 - Merge de algumas novas funcionalidades da nova versão, #2953, #2971

File:
1 edited

Legend:

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

    r6927 r6930  
    1212canMakeBox = true; 
    1313fastSearch = false; 
     14selectedPagingMsgs = {}; 
     15allMsgsSelected = false; 
     16totalFolderMsgs = 0; 
     17var jqXHR = new Array(); 
     18var idattachbycontent = 0; 
    1419 
    1520onceOpenedHeadersMessages = {}; 
     
    514519        if (openTab.imapBox[0] != folder) 
    515520        { 
     521                selectAllFolderMsgs(false); 
    516522                current_folder = folder; 
    517523                var handler_draw_box = function(data) 
    518524                { 
     525 
    519526                        if(!verify_session(data)) 
    520527                                return; 
     
    531538                        return true; 
    532539                } 
     540                $.ajax({                         
     541                        url: "controller.php?" + $.param( {action: "$this.imap_functions.get_range_msgs3",  
     542                                folder: folder, 
     543                                 msg_range_begin: "0", 
     544                                 msg_range_end: "0",                                     
     545                                sort_box_type: "SORTARRIVAL",  
     546                                search_box_type: search_box_type, 
     547                                sort_box_reverse: "1" 
     548                                }), 
     549                        success: function(data){ 
     550                                data = connector.unserialize(data); 
     551                                if(data){ 
     552                                        var _data = {}; 
     553                                        $.each(data,function(index,value){ 
     554                                                if (data[index] && data[index].msg_number){ 
     555                                                        _data[data[index].msg_number] = data[index].msg_number; 
     556                                                } 
     557                                        }); 
     558                                        populateSelectedMsgs(_data); 
     559                                        _data = {}; 
     560                                 
     561                                } 
     562                        }, 
     563                        beforeSend: function( jqXHR, settings ){ 
     564                                connector.showProgressBar(); 
     565                        }, 
     566                        complete: function( jqXHR, settings ){ 
     567                                connector.hideProgressBar(); 
     568                        } 
     569                }); 
    533570                proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort_box_type,search_box_type,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); 
    534571        } 
     
    896933        var _mouse_out; 
    897934        var _cell; 
    898         var colGroupMain = document.getElementById("colgroup_main_"+numBox); 
    899         var colGroupHead = document.getElementById("colgroup_head_"+numBox); 
    900935        for (var r=0;r<trM.length;r++) { 
    901936                for (var c=0;c<trM[r].cells.length;c++) { 
     
    904939                        if (is_mozilla && !is_webkit) { 
    905940                                if (!emptyBody) { 
    906                                         colGroupMain.childNodes[c].setAttribute("width",colSizes[tbl][c]); 
     941                                        document.getElementById("colgroup_main_"+numBox).childNodes[c].setAttribute("width",colSizes[tbl][c]); 
    907942                                } 
    908                                 colGroupHead.childNodes[c].setAttribute("width",colSizes[tbl][c]); 
     943                                document.getElementById("colgroup_head_"+numBox).childNodes[c].setAttribute("width",colSizes[tbl][c]); 
    909944                                if (tbH.rows[0].cells[c].className=="th_resizable") { 
    910945                                        // lots of stupid fixes for FF to redraw cell content 
     
    921956                                } 
    922957                        } 
    923                         /* 
    924958                        else { 
    925959                                tbH.rows[0].cells[c].setAttribute("width",_cell.offsetWidth); 
    926                         }*/ 
     960                        } 
    927961                } 
    928962        } 
     
    10431077} 
    10441078 
     1079 
     1080/*Cria a div que permite a seleção de todas as mensagens*/ 
     1081function drawSelectMsgsTable(){ 
     1082        var div = $('<div>');    
     1083        div.attr('class','select-all-messages');  
     1084        $('#content_id_'+currentTab).first().prepend(div); 
     1085        div.css('display','none'); 
     1086} 
     1087 
     1088function totalSelected(){ 
     1089        var total = 0; 
     1090        for(var obj in selectedPagingMsgs) 
     1091                if (selectedPagingMsgs[obj] == true) 
     1092                        total++; 
     1093        return total; 
     1094}; 
     1095 
     1096/*Atualiza o array de mensagens selecionadas*/ 
     1097function updateSelectedMsgs(selected,msg_number){        
     1098        var folder = $('#content_folders .folder.selected').attr('title'); 
     1099        folder = folder ? folder : get_lang('INBOX'); 
     1100        folder = folder.length > 70 ? '"'+folder.substr(0,70) + "..." +'"': '"'+folder+'"' ; 
     1101        var div = $('.select-all-messages'); 
     1102        var filterFlag = search_box_type != "ALL" ? '"' + get_lang(search_box_type) + "s" + '"': ""; 
     1103        /*Seleciona as mensagens ao navegar pelas páginas*/ 
     1104        if (allMsgsSelected && msg_number == undefined){ 
     1105                $('.checkbox').each(function(){ 
     1106                        $(this).attr('checked', true); 
     1107                        $(this).parent().parent().addClass('selected_msg'); 
     1108                }); 
     1109        } 
     1110        else if (msg_number == undefined){       
     1111                for(var obj in selectedPagingMsgs){ 
     1112                        if (selectedPagingMsgs[obj] == true){ 
     1113                                $('#check_box_message_'+obj).attr('checked', true); 
     1114                                $('#check_box_message_'+obj).parent().parent().addClass('selected_msg'); 
     1115                        } 
     1116                } 
     1117        } 
     1118        if (selected && msg_number != undefined){ 
     1119                selectedPagingMsgs[msg_number] = true; 
     1120                $(this).parent().parent().addClass('selected_msg');              
     1121        } 
     1122        else if(!selected && msg_number != undefined){ 
     1123                selectedPagingMsgs[msg_number] = false; 
     1124                $(this).parent().parent().removeClass('selected_msg'); 
     1125                allMsgsSelected = false; 
     1126                $('#chk_box_select_all_messages').attr('checked',false); 
     1127        } 
     1128        var tSelected = totalSelected(); 
     1129        /*Todas as mensagens selecionadas uma a uma*/ 
     1130        if (tSelected > 0 && tSelected == totalFolderMsgs){ 
     1131                allMsgsSelected = true; 
     1132                $('#chk_box_select_all_messages').attr('checked',true); 
     1133                if (total_pages > 1){ 
     1134                        var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 
     1135                        var info = "Todas as <b>"+totalFolderMsgs+"</b> mensagens "+filterFlag+" em "+folder+" foram selecionadas. "+link; 
     1136                        div.html("<span>"+info+"<span>"); 
     1137                        div.show(); 
     1138                        $('.select-link').bind('click',function(){selectAllFolderMsgs();$('.select-link').unbind('click');}); 
     1139                } 
     1140        } 
     1141        /*Se foram selecionadas algumas mensagens*/ 
     1142        else if (tSelected > 0 && !allMsgsSelected && total_pages > 1){ 
     1143                $('#chk_box_select_all_messages').attr('checked',false); 
     1144                var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 
     1145                if (tSelected == 1){ 
     1146                        var info = "Foi selecionada <b>"+tSelected+"</b> mensagem "+filterFlag+" em "+folder+". "+link; 
     1147                } 
     1148                else{ 
     1149                        var info = "Foram selecionadas <b>"+tSelected+"</b> mensagens "+filterFlag+" em "+folder+". "+link; 
     1150                } 
     1151                div.html("<span>"+info+"<span>"); 
     1152                div.show(); 
     1153                $('.select-link').bind('click',function(){ 
     1154            selectAllFolderMsgs(); 
     1155            $('.select-link').unbind('click'); 
     1156        });              
     1157        } 
     1158        else if (allMsgsSelected && total_pages > 1){ 
     1159                var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 
     1160                var info = "Todas as <b>"+totalFolderMsgs+"</b> mensagens "+filterFlag+" em "+folder+" foram selecionadas. "+link; 
     1161                div.html("<span>"+info+"<span>"); 
     1162                div.show(); 
     1163                $('.select-link').bind('click',function(){ 
     1164            selectAllFolderMsgs(); 
     1165            $('.select-link').unbind('click'); 
     1166        }); 
     1167        } 
     1168        else{ 
     1169                div.hide(); 
     1170        }  
     1171    resizeWindow(); 
     1172} 
     1173 
     1174/*Seleciona ou desseleciona todas as mensagens da pasta*/ 
     1175function selectAllFolderMsgs(select){ 
     1176        var folder = $('#content_folders .folder.selected').attr('title'); 
     1177        folder = folder ? folder : get_lang('INBOX'); 
     1178        folder = folder.length > 70 ? '"'+folder.substr(0,70) + "..." +'"': '"'+folder+'"' ; 
     1179        var filterFlag = search_box_type != "ALL" ? get_lang(search_box_type) + "s": ""; 
     1180        var div = $('.select-all-messages'); 
     1181        if (select){ 
     1182                allMsgsSelected = true; 
     1183                var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 
     1184                var info = "Todas as <b>"+totalFolderMsgs+"</b> mensagens "+filterFlag+" em "+folder+" foram selecionadas. "+link; 
     1185                div.html("<span>"+info+"<span>"); 
     1186                div.show(); 
     1187                $('.select-link').bind('click',function(){ 
     1188            selectAllFolderMsgs(); 
     1189            $('.select-link').unbind('click'); 
     1190        }); 
     1191                for(var obj in selectedPagingMsgs){ 
     1192                        selectedPagingMsgs[obj] = true; 
     1193                } 
     1194         
     1195        }else{ 
     1196                allMsgsSelected = false; 
     1197                for(var obj in selectedPagingMsgs){ 
     1198            $("#content_id_0").find('input[type="checkbox"]').removeAttr("checked"); 
     1199                        selectedPagingMsgs[obj] = false; 
     1200                        $('#check_box_message_'+obj).parent().parent().removeClass('selected_msg selected_shortcut_msg');                
     1201                } 
     1202                div.hide(); 
     1203        } 
     1204    resizeWindow(); 
     1205} 
     1206 
     1207/*Carrega o array de mensagens da pasta*/ 
     1208function populateSelectedMsgs(data){ 
     1209        this.selectedPagingMsgs = {}; 
     1210        this.totalFolderMsgs = 0; 
     1211        var total = 0; 
     1212        $.each(data, function(index, value){ 
     1213                if(value != undefined){ 
     1214                        selectedPagingMsgs[value] = false; 
     1215                        total++; 
     1216                } 
     1217        }); 
     1218        delete selectedPagingMsgs[undefined]; 
     1219        allMsgsSelected = false; 
     1220        this.totalFolderMsgs = total; 
     1221} 
     1222 
    10451223// Draw the inbox and another folders 
    10461224function draw_box(headers_msgs, msg_folder, alternate){ 
     
    11241302                chk_box_element.className = "checkbox"; 
    11251303                chk_box_element.onclick = function(){select_all_messages(this.checked);}; 
    1126                 chk_box_element.onmouseover = function () {this.title=get_lang('Select all messages from this page.')}; 
     1304                chk_box_element.onmouseover = function () {this.title=get_lang('Select all messages from this page.'); }; 
    11271305                chk_box_element.onkeydown = function (e){ 
    11281306                        if (is_ie) 
     
    12791457        _divScroll.appendChild(table_element); 
    12801458        openTab.content_id[numBox].appendChild(_divScroll); 
    1281  
     1459         
    12821460        var f_unseen = 0; 
    12831461 
    12841462        document.getElementById("table_message_header_box_"+numBox).emptyBody = false; 
    1285  
     1463         
    12861464        if (headers_msgs.num_msgs == 0) 
    12871465                showEmptyBoxMsg(tbody_element); 
     
    13441522                                //helper: 'clone', 
    13451523                                helper: function(event){ 
    1346                                         $(this).find("input:checkbox").attr("checked", true); 
     1524                                        $(this).addClass("selected_msg").find("input:checkbox").attr("checked", true); 
     1525                                        updateSelectedMsgs($(this).find("input:checkbox").is(':checked'),$(this).attr("id")); 
    13471526                                        if ( $("#tbody_box .selected_shortcut_msg").length > 1) { 
    1348                                                 $("#tbody_box .selected_shortcut_msg").find('.checkbox').attr('checked',true); 
     1527                                                $("#tbody_box .selected_shortcut_msg").addClass("selected_msg").find('.checkbox').attr('checked',true); 
     1528                                                $.each( $(".selected_shortcut_msg"), function(index, value){ 
     1529                                        updateSelectedMsgs($(value).find(":checkbox").is(':checked'),$(value).attr("id")); 
     1530                                        }); 
    13491531                                        } 
    1350                                         if($("#table_box").find("tr input:checked").length > 1 ) 
    1351                                                 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($("#table_box").find("tr input:checked")).length+" mensagens selecionadas"), type: "messages"})+"</td></tr>");                            
     1532                                         
     1533                                        if(totalSelected() > 1 ) 
     1534                                                return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (totalSelected()+" mensagens selecionadas"), type: "messages"})+"</td></tr>");                              
    13521535                                        if(     $(this).find(".td_msg_subject").text().length > 18 ) 
    13531536                                                return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : $(this).find(".td_msg_subject").text().substring(0,18) + "...", type: "messages"})+"</td></tr>"); 
     
    13611544                                containment: "#divAppbox" 
    13621545                        }).bind('contextmenu',function(event){ 
    1363                                         if (!(($(event.target).find('img').length > 0) && ($(event.target).hasClass('td-label')))){ 
    1364                                                 if($(this).find("input:checkbox").attr("checked") != "checked"){ 
    1365                                                         $(this).find("input:checkbox").trigger('click'); 
    1366                                                         $(this).addClass("selected_msg"); 
    1367                                                 } 
     1546                                if (!(($(event.target).find('img').length > 0) && ($(event.target).hasClass('td-label')))){ 
     1547                                        if($(this).find("input:checkbox").attr("checked") != "checked"){ 
     1548                                                $(this).find("input:checkbox").trigger('click'); 
     1549                                                $(this).addClass("selected_msg"); 
    13681550                                        } 
     1551                                        updateSelectedMsgs($(this).find("input:checkbox").is(':checked'),$(this).attr("id")); 
     1552                                } 
    13691553                        }); 
    13701554        } 
     
    13731557                select_msg(headers_msgs[0].msg_number, 'null', true); 
    13741558                 
    1375  
     1559         
    13761560        var tdFolders  =  Element("folderscol"); 
    13771561        tdFolders.style.display = preferences.hide_folders == '1'  ? "none" : ""; 
     
    14181602                Element('msg_number').value = ''; 
    14191603        } 
    1420         var scripts = new Array("InfoContact", 
    1421                                                         "TreeShow"); 
    1422         connector.loadAllScripts(scripts); 
     1604        connector.loadScript("InfoContact"); 
    14231605        // Loading Quota View Folder Component (if exists...) 
    14241606        if(Element("table_quota")) 
     
    14341616                document.getElementById("exmail_main_body").appendChild(ruler_element); 
    14351617    } 
    1436                                  
     1618                drawSelectMsgsTable(); 
     1619                updateSelectedMsgs(); 
     1620        resizeWindow(); 
    14371621} 
    14381622 
     
    15101694                 
    15111695                $(chk_box_element).click(function(e){ 
    1512                                 changeBgColor(e,headers_msgs.msg_number); 
     1696                        updateSelectedMsgs($(this).is(':checked'),headers_msgs.msg_number); 
     1697                        $(".selected_shortcut_msg").removeClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     1698                        $(".current_selected_shortcut_msg").removeClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     1699                        if(preferences.use_shortcuts == '1') 
     1700                                $(this).parents("tr:first").addClass("current_selected_shortcut_msg selected_shortcut_msg"); 
     1701                        changeBgColor(e,headers_msgs.msg_number); 
     1702                        $(this).blur(); 
    15131703                }); 
    15141704 
     
    18962086 
    18972087function sort_box(search, sort){ 
     2088        selectAllFolderMsgs(false); 
    18982089        if (cellResized) 
    18992090                return; 
     
    19212112        sort_box_type = sort; 
    19222113        search_box_type = search; 
    1923  
     2114                $.ajax({                         
     2115                        url: "controller.php?" + $.param( {action: "$this.imap_functions.get_range_msgs3",  
     2116                                folder: get_current_folder(), 
     2117                                 msg_range_begin: "0", 
     2118                                 msg_range_end: "0",                                     
     2119                                sort_box_type: "SORTARRIVAL",  
     2120                                search_box_type: search_box_type, 
     2121                                sort_box_reverse: "1" 
     2122                                }), 
     2123                        success: function(data){ 
     2124                                data = connector.unserialize(data); 
     2125                                if(data){ 
     2126                                        var _data = {}; 
     2127                                        $.each(data,function(index,value){ 
     2128                                                if (data[index] && data[index].msg_number){ 
     2129                                                        _data[data[index].msg_number] = data[index].msg_number; 
     2130                                                } 
     2131                                        }); 
     2132                                        populateSelectedMsgs(_data); 
     2133                                        _data = {}; 
     2134                                 
     2135                                } 
     2136                        }, 
     2137                        beforeSend: function( jqXHR, settings ){ 
     2138                                connector.showProgressBar(); 
     2139                        }, 
     2140                        complete: function( jqXHR, settings ){ 
     2141                                connector.hideProgressBar(); 
     2142                        } 
     2143                }); 
    19242144        proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort,search,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); 
    19252145        current_page = 1; 
     
    44034623        var maxAttachmentSize = (preferences.max_attachment_size !== "" && preferences.max_attachment_size != 0) ? (parseInt(preferences.max_attachment_size.replace('M', '')) * 1048576 ) : false; 
    44044624         
     4625        content.find(".new-msg-head-data").scroll(function(){ 
     4626                $.each(fileUploadMSG.find(".attachments-list .att-box"), function(index, value){ 
     4627                        $(this).qtip("api").updatePosition(); 
     4628                        $(this).qtip("api").updateWidth(); 
     4629                }); 
     4630        }); 
     4631        $("#fileupload_msg"+ID+"_droopzone").click(function(){ 
     4632                $(this).removeClass('in hover'); 
     4633        $(this).hide(); 
     4634        $(this).prev().show(); 
     4635        }); 
    44054636        fileUploadMSG.find(".button").button().filter(".fileinput-button").find(".ui-button-text").css("margin-top", "2px").find("input:file").fileupload({ 
    4406                 //singleFileUploads : true, 
     4637                //singleFileUploads : true,fileUploadMSG 
    44074638                sequentialUploads: true,  
    44084639                type: 'post', 
     
    44104641                url: "../prototype/post.php", 
    44114642                forceIframeTransport: false, 
    4412                 dropZone : fileUploadMSG, 
     4643                dropZone : $("#fileupload_msg"+ID+"_droopzone"), 
    44134644                formData: function(form) { 
    44144645                        return [ 
     
    44284659                },       
    44294660                add: function (e, data) { 
     4661            var iterator = idattachbycontent; 
    44304662                        if(!maxAttachmentSize || data.files[0].size < maxAttachmentSize || is_ie) { 
    44314663                                setTimeout(function() { 
    44324664                    $('#attDisposition'+ID).val('attachment'); 
    4433                                         data.submit(); 
    4434                                 }, 3000); 
    4435                         } 
     4665                                        jqXHR[iterator] = data.submit(); 
     4666                                }, 100); 
     4667                        } 
     4668                        fileUploadMSG.find(' .attachments-list').show(); 
    44364669                        $.each(data.files, function (index, file) { 
    44374670                                var attach = {}; 
    44384671                                attach.fullFileName = file.name; 
    44394672                                attach.fileName = file.name; 
    4440                                 if(file.name.length > 50) 
    4441                                         attach.fileName = file.name.substr(0, 32) + " ... " + file.name.substr(file.name.length-9, file.name.length); 
     4673                                if(file.name.length > 20) 
     4674                                        attach.fileName = file.name.substr(0, 17) + " ... " + file.name.substr(file.name.length-6, file.name.length); 
    44424675                                attach.fileSize = formatBytes(file.size); 
    44434676                                if(maxAttachmentSize && file.size > maxAttachmentSize) 
    4444                                         attach.error = 'Tamanho de arquivo nao permitido!!' 
    4445                                  
    4446                                 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach}));                            
    4447                                 upload.find('.button.close').button({ 
    4448                                         icons: { 
    4449                                                 primary: "ui-icon-close" 
    4450                                         }, 
    4451                                         text: false 
    4452                                 }).click(function(){ 
     4677                                        attach.error = 'Tamanho de arquivo nao permitido' 
     4678                                else 
     4679                                        attach.error = true; 
     4680                                var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach}));                            
     4681                                upload.find('.att-box-delete').click(function(){ 
    44534682                                        var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 
    44544683                                        fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]').remove(); 
    4455                                         delAttachment(ID, idAttach) 
     4684                    delAttachment(ID, idAttach); 
     4685                    $(this).parent().qtip("destroy"); 
    44564686                                        $(this).parent().remove(); 
     4687                                        if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 
     4688                                                fileUploadMSG.find(' .attachments-list').hide(); 
     4689                                        } 
     4690                    if(jqXHR){ 
     4691                        jqXHR[iterator].abort(); 
     4692                    } 
    44574693                                }); 
    4458                                  
    4459                                 fileUploadMSG.find('.attachments-list').append(upload); 
     4694                    
     4695                fileUploadMSG.find('.attachments-list').append(upload); 
     4696 
     4697                fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 
     4698                        content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 
     4699                                        position: { 
     4700                                                corner: { 
     4701                                                        tooltip: 'bottomMiddle', 
     4702                                                        target: 'topMiddle' 
     4703                                                }, 
     4704                                                adjust: { 
     4705                                       resize: true, 
     4706                                       scroll: true, 
     4707                                       screen: true 
     4708                                    } 
     4709                                        }, 
     4710                                        show: { 
     4711                                                when: 'mouseover', // Don't specify a show event 
     4712                                                ready: false // Show the tooltip when ready 
     4713                                        }, 
     4714                                        hide: 'mouseout', // Don't specify a hide event 
     4715                                        style: { 
     4716                                                border: { 
     4717                                                        width: 1, 
     4718                                                        radius: 5 
     4719                                                }, 
     4720                                                width: { 
     4721                                                         min: 75, 
     4722                                                         max : 1000 
     4723                                                }, 
     4724                                                padding: 3,  
     4725                                                textAlign: 'left', 
     4726                                                tip: true, // Give it a speech bubble tip with automatic corner detection 
     4727                                                name: (typeof(attach.error) == 'boolean' ? 'light' : 'red') // Style it according to the preset 'cream' style 
     4728                                        } 
     4729                })/*.progressbar({ 
     4730                    value : 1 
     4731                })*/; 
     4732 
     4733                fileUploadMSG.find('.attachments-list .att-box:last').css('width', fileUploadMSG.find('.attachments-list .att-box:last div:first').css('width')); 
    44604734 
    44614735                                if(!maxAttachmentSize || file.size < maxAttachmentSize){ 
     
    44664740                                }else 
    44674741                                        fileUploadMSG.find(' .fileinput-button.new').removeClass('new'); 
     4742 
     4743                                idattachbycontent++ 
    44684744                        }); 
     4745                         
    44694746                }, 
    44704747                done: function(e, data){ 
     4748            var attach_box = fileUploadMSG.find('.att-box-loading:first').parents('.att-box'); 
     4749            var attach = { 
     4750                fullFileName : attach_box.find(".att-box-fullfilename").text(), 
     4751                fileSize : attach_box.find(".att-box-filesize").text(), 
     4752                error : false 
     4753            }; 
    44714754                        if(!!data.result && data.result != "[]" ){ 
    44724755                                var newAttach = data.result;                              
    4473                                 if(!newAttach.mailAttachment.error){ 
    4474                                         if(newAttach.rollback !== false) 
    4475                                         { 
    4476                                                 fileUploadMSG.find('.in-progress:first').parents('p').append('<input type="hidden" name="fileId[]" value="'+newAttach['mailAttachment'][0][0].id+'"/>').find('.status-upload').addClass('ui-icon ui-icon-check'); 
    4477                                                 addAttachment(ID,newAttach['mailAttachment'][0][0].id); 
    4478                                         } 
    4479                                         else                              
    4480                                                 fileUploadMSG.find('.in-progress:first').parents('p').find('.status-upload').append('Erro ao fazer upload!').addClass('message-attach-error');    
    4481                                 }else{ 
    4482                                         fileUploadMSG.find('.in-progress:first').parents('p').find('.status-upload').append(newAttach.mailAttachment.error).addClass('message-attach-error');    
    4483                                 } 
    4484                                  
     4756                                if(!newAttach.mailAttachment.error || newAttach.rollback !== false){ 
     4757                                        attach_box.append('<input type="hidden" name="fileId[]" value="'+newAttach['mailAttachment'][0][0].id+'"/>'); 
     4758                                        addAttachment(ID,newAttach['mailAttachment'][0][0].id); 
     4759                }else { 
     4760                                    attach_box.addClass('invalid-email-box'); 
     4761                    attach.error = newAttach.mailAttachment.error ? newAttach.mailAttachment.error : 'Erro ao anexar...';//.append(newAttach.mailAttachment.error).addClass('message-attach-error');    
     4762                } 
    44854763                        }else { 
    4486                                 fileUploadMSG.find(' .progress.on-complete:first').parents('p').find('.status-upload').append('Erro ao fazer upload!').addClass('message-attach-error'); 
    4487                         } 
    4488             fileUploadMSG.find(' .in-progress:first').remove(); 
    4489                 } 
     4764                                attach_box.addClass('invalid-email-box');//.qtip("api").updateContent("oi", true); 
     4765                attach.error = 'Erro ao anexar...'; 
     4766                        } 
     4767            attach_box.qtip("destroy").qtip({ 
     4768                content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 
     4769                position: { 
     4770                    corner: { 
     4771                        tooltip: 'bottomMiddle', 
     4772                        target: 'topMiddle' 
     4773                    }, 
     4774                    adjust: { 
     4775                       resize: true, 
     4776                       scroll: true, 
     4777                       screen: true 
     4778                    } 
     4779                }, 
     4780                show: { 
     4781                    when: 'mouseover', // Don't specify a show event 
     4782                    ready: false // Show the tooltip when ready 
     4783                }, 
     4784                hide: 'mouseout', // Don't specify a hide event 
     4785                style: { 
     4786                    border: { 
     4787                        width: 1, 
     4788                        radius: 5 
     4789                    }, 
     4790                    width: { 
     4791                                                 min: 75, 
     4792                                                 max : 1000 
     4793                                        }, 
     4794                    padding: 3,  
     4795                    textAlign: 'left', 
     4796                    tip: true, // Give it a speech bubble tip with automatic corner detection 
     4797                    name: (attach.error == false ? 'blue' : 'red')// Style it according to the preset 'cream' style 
     4798                } 
     4799            });/* 
     4800            fileUploadMSG.find(".att-box-loading:first").parents(".att-box").removeAttr("style").progressbar("destroy").find("div:first").removeAttr("style"); 
     4801            */ 
     4802            fileUploadMSG.find('.att-box-loading:first').remove(); 
     4803                }/*, 
     4804        progress : function(e, data){ 
     4805            var progress = parseInt(data.loaded / data.total * 100, 10); 
     4806            fileUploadMSG.find('.att-box-loading:first').parents(".att-box:first").progressbar({ 
     4807                value : progress 
     4808            }); 
     4809        }*/ 
    44904810        }).css({ 
    44914811                "height" : "20px",  
     
    45134833            }, 
    45144834                        autoOpen:false 
     4835        }); 
     4836        jQuery.getScript("../prototype/modules/attach_message/attach_message.js", function(){ 
     4837                jQuery('#message-attach-dialog').dialog('open'); 
     4838                jQuery('#message-attach-attach-btn').unbind('click'); 
     4839                jQuery('#message-attach-attach-btn').click(function(event){ 
     4840                        jQuery.each(selectedMessages, function(folder_name, messages) { 
     4841                                jQuery.each(selectedMessages[folder_name], function(message_number, message) {  
     4842                                        if (message) { 
     4843                                                fileUploadMSG.find(' .attachments-list').show();         
     4844                                                var att = new Object(); 
     4845                                                att.folder = folder_name; 
     4846                                                att.uid = message_number; 
     4847                                                att.type = 'imapMSG'; 
     4848                                                att.name = Base64.encode(onceOpenedMessages[folder_name][message_number].subject + '.eml'); 
     4849                                                var idATT = JSON.stringify(att); 
     4850                                                addAttachment( ID , idATT);                         
     4851                                                var attach = {}; 
     4852                                                attach.fileName = onceOpenedMessages[folder_name][message_number].subject + '.eml'; 
     4853                                                attach.fullFileName = onceOpenedMessages[folder_name][message_number].subject + '.eml'; 
     4854                                                if(attach.fileName.length > 20) 
     4855                                                        attach.fileName = attach.fileName.substr(0, 17) + "... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 
     4856 
     4857                                                attach.error = false; 
     4858                        attach.OK = true; 
     4859                                                attach.fileSize = formatBytes(onceOpenedMessages[folder_name][message_number].size); 
     4860                                                var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 
     4861                                                upload.find('.att-box-loading').remove(); 
     4862                                                upload.append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 
     4863                                                 
     4864                                                upload.find('.att-box-delete').click(function(){ 
     4865                                                        var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 
     4866                                                        fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]').remove(); 
     4867                                                        delAttachment(ID,idAttach);  
     4868                                                        $(this).parent().qtip("destroy"); 
     4869                                                        $(this).parent().remove(); 
     4870                                                        if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 
     4871                                                                fileUploadMSG.find(' .attachments-list').hide(); 
     4872                                                        } 
     4873                                                });      
     4874                                                         
     4875                                                fileUploadMSG.find('.attachments-list').append(upload); 
     4876 
     4877                                                upload.find('.att-box-loading').remove(); 
     4878 
     4879                                                fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 
     4880                                        content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 
     4881                                                        position: { 
     4882                                                                corner: { 
     4883                                                                        tooltip: 'bottomMiddle', 
     4884                                                                        target: 'topMiddle' 
     4885                                                                }, 
     4886                                                                adjust: { 
     4887                                                       resize: true, 
     4888                                                       scroll: true 
     4889                                                    } 
     4890                                                        }, 
     4891                                                        show: { 
     4892                                                                when: 'mouseover', // Don't specify a show event 
     4893                                                                ready: false // Show the tooltip when ready 
     4894                                                        }, 
     4895                                                        hide: 'mouseout', // Don't specify a hide event 
     4896                                                        style: { 
     4897                                                                border: { 
     4898                                                                        width: 1, 
     4899                                                                        radius: 5 
     4900                                                                }, 
     4901                                                                width: { 
     4902                                                                         min: 75, 
     4903                                                                         max : 1000 
     4904                                                                }, 
     4905                                                                padding: 5,  
     4906                                                                textAlign: 'center', 
     4907                                                                tip: true, // Give it a speech bubble tip with automatic corner detection 
     4908                                                                name: 'blue' // Style it according to the preset 'cream' style 
     4909                                                        } 
     4910                                }); 
     4911                                        } 
     4912                                }); 
     4913                        }); 
     4914                        jQuery('#message-attach-dialog').dialog('close'); 
    45154915                }); 
    4516                  
    4517                  
    4518                 jQuery.getScript("../prototype/modules/attach_message/attach_message.js", function(){ 
    4519                         jQuery('#message-attach-dialog').dialog('open'); 
    4520                         jQuery('#message-attach-attach-btn').unbind('click'); 
    4521                         jQuery('#message-attach-attach-btn').click(function(event){ 
    4522                                 jQuery.each(selectedMessages, function(folder_name, messages) { 
    4523                                         jQuery.each(selectedMessages[folder_name], function(message_number, message) {  
    4524                                                 if (message) { 
    4525                                                         var att = new Object(); 
    4526                                                         att.folder = folder_name; 
    4527                                                         att.uid = message_number; 
    4528                                                         att.type = 'imapMSG'; 
    4529                                                         att.name = Base64.encode(onceOpenedMessages[folder_name][message_number].subject + '.eml'); 
    4530                                                         var idATT = JSON.stringify(att); 
    4531                                                         addAttachment( ID , idATT);                         
    4532                                                         var attach = {}; 
    4533                                                         attach.fileName = onceOpenedMessages[folder_name][message_number].subject + '.eml'; 
    4534                                                         if(attach.fileName.length > 45) 
    4535                                                                         attach.fileName = attach.fileName.substr(0, 32) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 
    4536  
    4537                                                         attach.fileSize = formatBytes(onceOpenedMessages[folder_name][message_number].size); 
    4538                                                         var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 
    4539                                                         upload.find('.status-upload').addClass('ui-icon ui-icon-check'); 
    4540                                                         upload.find('.in-progress').remove();  
    4541                                                         upload.append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 
    4542                                                          
    4543                                                         upload.find('.button.close').button({ 
    4544                                                                 icons: { 
    4545                                                                                                 primary: "ui-icon-close" 
    4546                                                                                 }, 
    4547                                                                                 text: false 
    4548                                                                 }).click(function(){ 
    4549                                                                                 var idAttach = $(this).parents("li:first").find('input[name="fileId[]"]').val(); 
    4550                                                                                 fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]'); 
    4551                                                                                 delAttachment(ID,idAttach);  
    4552                                                                                 $(this).parent().remove(); 
    4553                                                         });      
    4554                                                          
    4555                                                         fileUploadMSG.find('.attachments-list').append(upload);    
    4556                                                 } 
    4557                                         }); 
     4916                jQuery('#message-attach-cancel-btn').click(function(event){ 
     4917                        jQuery('#message-attach-dialog').dialog('close'); 
     4918                });                      
     4919        }); 
     4920        }); 
     4921        $(document).bind('drop dragover', function (e) { 
     4922            e.preventDefault(); 
     4923        }); 
     4924        //DRAG and DROP DE ARQUIVOS NÃO FUNCIONA NO IE 
     4925        if(!is_ie){ 
     4926                $("body").bind('dragenter', function (e) { 
     4927                    var dropZone = $("#fileupload_msg"+ID+"_droopzone"); 
     4928                var timeout = window.dropZoneTimeout; 
     4929                        dropZone.show(); 
     4930                        dropZone.prev().hide(); 
     4931                    if (!timeout) { 
     4932                        dropZone.addClass('in'); 
     4933                    } else { 
     4934                        clearTimeout(timeout); 
     4935                    } 
     4936                    if (e.target === dropZone[0]) { 
     4937                        dropZone.addClass('hover'); 
     4938                    } else { 
     4939                        dropZone.removeClass('hover'); 
     4940                    } 
     4941                    $(window).unbind('dragleave'); 
     4942                    window.dropZoneTimeout = setTimeout(function () { 
     4943                        $(window).bind('dragleave', function (e) { 
     4944                                        window.dropZoneTimeout = null; 
     4945                                dropZone.removeClass('in hover'); 
     4946                                dropZone.hide(); 
     4947                                dropZone.prev().show(); 
    45584948                                }); 
    4559                                  
    4560                                 jQuery('#message-attach-dialog').dialog('close'); 
    4561                                  
    4562                         }); 
    4563                         jQuery('#message-attach-cancel-btn').click(function(event){ 
    4564                                 jQuery('#message-attach-dialog').dialog('close'); 
    4565                         });                      
     4949                    }, 1); 
     4950                }).bind('dragleave', function (e) { 
     4951                        var dropZone = $("#fileupload_msg"+ID+"_droopzone"); 
     4952                        window.dropZoneTimeout = setTimeout(function () { 
     4953                        $(window).bind('dragleave', function (e) { 
     4954                                        window.dropZoneTimeout = null; 
     4955                                dropZone.removeClass('in hover'); 
     4956                                dropZone.hide(); 
     4957                                dropZone.prev().show(); 
     4958                                }); 
     4959                    }, 1); 
     4960                }).bind('drop', function(e){ 
     4961                        var dropZone = $("#fileupload_msg"+ID+"_droopzone"); 
     4962                        window.dropZoneTimeout = null; 
     4963                dropZone.removeClass('in hover'); 
     4964                dropZone.hide(); 
     4965                dropZone.prev().show(); 
    45664966                }); 
    4567         }); 
     4967        }        
    45684968        return ID; 
    45694969} 
     
    46725072                add_className(all_messages[begin], 'selected_msg'); 
    46735073                Element(_tab_prefix + "check_box_message_" + _msg_id).checked = true; 
     5074                updateSelectedMsgs(true,_msg_id); 
    46745075        } 
    46755076} 
Note: See TracChangeset for help on using the changeset viewer.