Changeset 6528 for trunk/expressoMail1_2/js/main.js
- Timestamp:
- 06/15/12 17:00:17 (12 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
Property
svn:mergeinfo
set to
/sandbox/2.4.1-3 merged eligible
-
Property
svn:mergeinfo
set to
-
trunk/expressoMail1_2/js/main.js
r6494 r6528 9 9 var checkAlarmsFilter = false; 10 10 11 var dynamicPersonalContacts = new Array(); 12 var dynamicPersonalGroups = new Array(); 13 var dynamicContacts = new Array(); 14 var dynamicContactList = new Array(); 15 var topContact = 0; 16 11 17 //Os IE's < 9 não possui suporte a trim() introduzida no JavaScript 1.8.1 12 18 if(!String.prototype.trim){ 13 19 String.prototype.trim = function(){ 14 15 20 return this.replace(/^\s+|\s+$/g,''); 21 } 16 22 } 17 23 … … 21 27 return folders.join(cyrus_delimiter); 22 28 } 29 30 function updateDynamicContactList(){ 31 dynamicContactList = new Array(); 32 $.merge(dynamicContactList, dynamicContacts); 33 $.merge(dynamicContactList, dynamicPersonalGroups); 34 $.merge(dynamicContactList, dynamicPersonalContacts); 35 } 36 37 function updateDynamicContact(){ 38 dynamicContacts = new Array(); 39 var dynamicData = REST.get("/dynamiccontacts").collection.itens; 40 if(dynamicData){ 41 $.each(dynamicData, function(index, value){ 42 if(index ==0){ 43 topContact = parseInt(value.data[2].value); 44 } 45 var dynamic = { 46 name : value.data[0].value, 47 email : value.data[1].value, 48 value: value.data[0].value + " - " + value.data[1].value, 49 type: "", 50 id: parseInt(value.data[3].value), 51 qtd : parseInt(value.data[2].value) 52 }; 53 dynamicContacts.push(dynamic); 54 }); 55 } 56 } 57 58 function updateDynamicPersonalGroups(){ 59 dynamicPersonalGroups = new Array(); 60 var groupsData = REST.get("/groups").collection.itens; 61 if(groupsData){ 62 $.each(groupsData, function(index, value){ 63 var group = { 64 id : parseInt(value.data[0].value), 65 name : value.data[2].value, 66 email : value.data[2].value, 67 value: value.data[2].value + " - " + value.data[2].value, 68 type: "G" 69 }; 70 dynamicPersonalGroups.push(group); 71 }); 72 } 73 } 74 75 function updateDynamicPersonalContacts(){ 76 dynamicPersonalContacts = new Array(); 77 var contactsData = REST.get("/contacts").collection.itens; 78 if(contactsData){ 79 $.each(contactsData, function(index, value){ 80 var contact = { 81 id : parseInt(value.data[0].value), 82 name : value.data[1].value, 83 email : value.data[2].value, 84 value: value.data[1].value + " - " + value.data[2].value, 85 type: "P" 86 }; 87 dynamicPersonalContacts.push(contact); 88 }); 89 } 90 } 91 23 92 function init(){ 24 93 if (!is_ie) 25 94 Element('tableDivAppbox').width = '100%'; 26 95 27 var save_contacts = function(data){96 /*var save_contacts = function(data){ 28 97 contacts = data; 29 98 if (preferences.use_local_messages == 1 && window.google && google.gears) … … 31 100 expresso_local_messages.capt_url('controller.php?action=$this.db_functions.get_dropdown_contacts_to_cache'); 32 101 102 }*/ 103 if(parseInt(preferences.use_dynamic_contacts)){ 104 var load_dynamics = function(){ 105 updateDynamicContact(); 106 updateDynamicPersonalGroups(); 107 updateDynamicPersonalContacts(); 108 updateDynamicContactList(); 109 }; 110 load_dynamics(); 33 111 } 34 112 var save_preferences = function(data){ … … 71 149 //Substituido por padrão Jquery 72 150 cExecute ("$this.imap_functions.get_range_msgs2&folder=INBOX&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type=SORTARRIVAL&search_box_type=ALL&sort_box_reverse=1", handler_draw_box); 73 cExecute ("$this.db_functions.get_dropdown_contacts", save_contacts); //Save contacts needs preferences.151 //cExecute ("$this.db_functions.get_dropdown_contacts", save_contacts); //Save contacts needs preferences. 74 152 if(preferences.hide_folders == "1") 75 153 Element('divAppboxHeader').innerHTML = title_app_menu; … … 193 271 cyrus_delimiter = Element('cyrus_delimiter').value; 194 272 195 cExecute ("$this.db_functions.get_dropdown_contacts_to_cache", function(data) {contacts = data;});273 //cExecute ("$this.db_functions.get_dropdown_contacts_to_cache", function(data) {contacts = data;}); 196 274 //cExecute ("$this.functions.get_preferences", save_preferences); 197 275 } … … 1760 1838 case "reply_without_history": 1761 1839 RichTextEditor.replyController = true; //Seta o editor como modo reply 1762 content.find('[name="input_to"]').val(data.to); 1840 content.find('[name="input_to"]').val(data.to); 1841 1842 draw_reply_boxes_by_field("to", data.to, content); 1843 1763 1844 title = "Re: " + html_entities(data.subject); 1764 1845 content.find(".subject").val("Re: " + data.subject); … … 1777 1858 content.find(".subject").val("Re: " + data.subject); 1778 1859 content.find('[name="input_to"]').val(data.to); 1860 1861 draw_reply_boxes_by_field("to", data.to, content); 1862 1779 1863 content.find('[name="msg_reply_from"]').val($("#msg_number_" + border_ID).val()); 1780 1864 … … 1807 1891 else 1808 1892 content.find('[name="input_to"]').val(data.to + ',' + data.to_all); 1809 1893 1894 draw_reply_boxes_by_field("to", data.to_all, content); 1895 1810 1896 if (data.cc){ 1811 1897 data.cc = new Array(); … … 1818 1904 if(data.cc != ""){ 1819 1905 content.find('[name="input_cc"]').val(data.cc); 1820 input_binds(content.find('[name="input_cc"]') , new_border_ID);1906 input_binds(content.find('[name="input_cc"]').parent(), new_border_ID); 1821 1907 content.find(".cc-tr").show();//cc-button 1822 1908 //document.getElementById("a_cc_link" + new_border_ID).value = data.cc; 1823 1909 content.find(".cc-button").toggleClass("expressomail-button-icon-ative"); 1824 1910 content.find(".cc-button").find("span").html("Remover CC"); 1825 content.find('[name="input_cc"]').elastic().unbind('blur'); 1826 content.find('[name="input_cc"]').trigger("update"); 1911 draw_reply_boxes_by_field("cc", data.cc, content); 1827 1912 } 1828 1913 } … … 1846 1931 else 1847 1932 data.to_all = ""; 1933 1934 draw_reply_boxes_by_field("to", data.to_all, content); 1935 1848 1936 title = "Re: " + html_entities(data.subject); 1849 1937 … … 1862 1950 if(data.cc != ""){ 1863 1951 content.find('[name="input_cc"]').val(data.cc); 1864 input_binds(content.find('[name="input_cc"]') , new_border_ID);1952 input_binds(content.find('[name="input_cc"]').parent(), new_border_ID); 1865 1953 content.find(".cc-tr").show(); 1866 1954 content.find(".cc-button").toggleClass("expressomail-button-icon-ative"); 1867 1955 content.find(".cc-button").find("span").html("Remover CC"); 1868 content.find('[name="input_cc"]').elastic().unbind('blur');1869 content.find('[name="input_cc"]').trigger("update");1956 1957 draw_reply_boxes_by_field("cc", data.cc, content); 1870 1958 } 1871 1959 } … … 1922 2010 } 1923 2011 content.find('[name="input_to"]').val(_to +','); 2012 draw_email_box(_to, content.find(".to").filter("input")); 1924 2013 Element('msg_number').value = ''; 1925 2014 } … … 1947 2036 } 1948 2037 2038 draw_reply_boxes_by_field("to", data.to, content); 2039 1949 2040 content.find('[name="input_to"]').val(data.to); 1950 2041 if (data.cc){ … … 1952 2043 data.cc = data.cc.replace(/>/gi,">"); 1953 2044 content.find('[name="input_cc"]').val(data.cc); 1954 input_binds(content.find('[name="input_cc"]') , new_border_ID);2045 input_binds(content.find('[name="input_cc"]').parent(), new_border_ID); 1955 2046 content.find(".cc-tr").show(); 1956 2047 content.find(".cc-button").toggleClass("expressomail-button-icon-ative"); 1957 2048 content.find(".cc-button").find("span").html(get_lang('Remove CC')); 1958 content.find('[name="input_cc"]').elastic().unbind('blur'); 1959 content.find('[name="input_cc"]').trigger("update"); 2049 draw_reply_boxes_by_field("cc", data.cc, content); 1960 2050 } 1961 2051 if (data.cco){ … … 1965 2055 content.find(".cco-button").toggleClass("expressomail-button-icon-ative"); 1966 2056 content.find(".cco-button").find("span").html(get_lang('Remove CCo')); 1967 content.find('[name="input_cco"]').elastic().unbind('blur');1968 content.find('[name="input_cco"]').trigger("update");2057 input_binds(content.find('[name="input_cco"]').parent(), new_border_ID); 2058 draw_reply_boxes_by_field("cco", data.cco, content); 1969 2059 } 1970 2060 } … … 2006 2096 resizeWindow(); 2007 2097 return new_border_ID; //Preciso retornar o ID da nova mensagem. 2098 } 2099 2100 //DESENHA OS RETANGULOS PARA OS E-MAIL NA OPÇÃO REPLY 2101 function draw_reply_boxes_by_field(field, value, context){ 2102 array = value.split(","); 2103 $.each(array, function(index, value){ 2104 draw_email_box(value, context.find("."+field).filter("input")); 2105 }); 2008 2106 } 2009 2107 … … 2241 2339 watch_changes_in_msg(ID); 2242 2340 2341 var content = $("#content_id_"+ID); 2243 2342 var sign = false; 2244 2343 var crypt = false; 2344 var reComplexEmail = /<([^<]*)>[\s]*$/; 2245 2345 if ((preferences.use_assinar_criptografar != '0') && (preferences.use_signature_digital_cripto != '0')){ 2246 2346 var checkSign = document.getElementById('return_digital_'+ID) … … 2282 2382 if(data && data.success == true ){ 2283 2383 // if send ok, set a flag as answered or forwarded 2284 var msg_number_replied = $("#content_id_" + ID).find('[name="msg_reply_from"]');2285 var msg_number_forwarded = $("#content_id_" + ID).find('[name="msg_forward_from"]');2384 var msg_number_replied = content.find('[name="msg_reply_from"]'); 2385 var msg_number_forwarded = content.find('[name="msg_forward_from"]'); 2286 2386 2287 2387 if (msg_number_replied.val()){ … … 2304 2404 } 2305 2405 } 2406 2407 $ 2408 //REFAZER ISTO COM UMA CHAMADA ASSINCRONA PARA REGISTRAR E ATUALIZAR A LISTA DOS NOVOS CONTATOS DINAMICOS 2306 2409 // If new dynamic contacts were added, update the autocomplete .... 2307 if(data.new_contacts){2410 /*if(data.new_contacts){ 2308 2411 var ar_contacts = data.new_contacts.split(',;'); 2309 2412 for(var j in ar_contacts){ … … 2313 2416 } 2314 2417 } 2418 var dynamicPersonalContacts = new Array(); 2419 var dynamicPersonalGroups = new Array(); 2420 var dynamicContacts = new Array(); 2421 var dynamicContactList = new Array(); 2422 2423 */ 2424 var array = content.find(".to-tr").find(".box").clone(); 2315 2425 delete_border(ID,'true'); 2426 if(parseInt(preferences.use_dynamic_contacts)){ 2427 $.each(array, function(i, value){ 2428 var stop = false; 2429 $.each(dynamicPersonalContacts, function(x, valuex){ 2430 if(valuex.email == $(value).find("input").val().match(reComplexEmail)[1]){ 2431 stop = true; 2432 return false; 2433 } 2434 }); 2435 if(!stop){ 2436 var exist = 0; 2437 $.each(dynamicContacts, function(x, valuex){ 2438 if(valuex.email == $(value).find("input").val().match(reComplexEmail)[1]){ 2439 exist = valuex.id; 2440 return false; 2441 } 2442 }); 2443 if(exist){ 2444 REST.put("/dynamiccontact/"+exist, {name: $(value).find("input").val().split('"')[1], mail:$(value).find("input").val().match(reComplexEmail)[1]}); 2445 }else{ 2446 REST.post("/dynamiccontacts", {name: $(value).find("input").val().split('"')[1], mail:$(value).find("input").val().match(reComplexEmail)[1]}); 2447 } 2448 } 2449 }); 2450 updateDynamicContact(); 2451 updateDynamicContactList(); 2452 } 2316 2453 } 2317 2454 else{ 2318 2455 if(data == 'Post-Content-Length') 2319 2456 write_msg(get_lang('The size of this message has exceeded the limit (%1B).',Element('upload_max_filesize').value)); 2320 else if(data) 2457 else if(data){ 2458 var error_mail = $.trim(data.split(":")[data.split(":").length-1]); 2459 var array = content.find(".to-tr").find(".box"); 2460 //$(value).find("input").val() 2461 $.each(array, function(index, value){ 2462 if(error_mail == $(value).find("input").val().match(reComplexEmail)[1]) 2463 $(value).addClass("invalid-email-box"); 2464 }); 2465 if ( content.find('[name="input_cco"]').length){ 2466 if(content.find(".cco-tr").css("display") != "none"){ 2467 var array = content.find(".cco-tr").find(".box"); 2468 $.each(array, function(index, value){ 2469 if(error_mail == $(value).find("input").val().match(reComplexEmail)[1]) 2470 $(value).addClass("invalid-email-box"); 2471 }); 2472 } 2473 } 2474 if(content.find(".cc-tr").css("display") != "none") 2475 { 2476 var array = content.find(".cc-tr").find(".box"); 2477 $.each(array, function(index, value){ 2478 if(error_mail == $(value).find("input").val().match(reComplexEmail)[1]) 2479 $(value).addClass("invalid-email-box"); 2480 }); 2481 } 2321 2482 write_msg(data); 2322 else2483 }else 2323 2484 write_msg(get_lang("Connection failed with %1 Server. Try later.", "Web")); 2324 2485 … … 2525 2686 return; 2526 2687 } 2527 stringEmail = content.find('[name="input_to"]').val(); 2528 2529 if ( content.find('[name="input_cco"]').length) 2530 if(content.find(".cco-tr").css("display") != "none") 2531 stringEmail += content.find('[name="input_cco"]').val() =='' ? "":", "+content.find('[name="input_cco"]').val(); 2688 //stringEmail = content.find('[name="input_to"]').val(); 2689 var stringEmail = ""; 2690 var array = content.find(".to-tr").find(".box"); 2691 $.each(array, function(index, value){ 2692 stringEmail += $(value).find("input").val() + ","; 2693 }); 2694 content.find('[name="input_to"]').val(stringEmail); 2695 if ( content.find('[name="input_cco"]').length){ 2696 if(content.find(".cco-tr").css("display") != "none"){ 2697 var array = content.find(".cco-tr").find(".box"); 2698 $.each(array, function(index, value){ 2699 stringEmail += $(value).find("input").val() + ","; 2700 }); 2701 content.find('[name="input_cco"]').val(stringEmail); 2702 } 2703 } 2532 2704 2533 2705 if(content.find(".cc-tr").css("display") != "none") 2534 stringEmail += content.find('[name="input_cc"]').val() =='' ? "":", "+content.find('[name="input_cc"]').val(); 2706 { 2707 var array = content.find(".cc-tr").find(".box"); 2708 $.each(array, function(index, value){ 2709 stringEmail += $(value).find("input").val() + ","; 2710 }); 2711 content.find('[name="input_cc"]').val(stringEmail); 2712 } 2535 2713 2536 2714 if (expresso_offline) { … … 2632 2810 autoSaveControl.status[border_id] = true; 2633 2811 /////////////////////////////////////////// 2634 2812 var content = $("#content_id_"+border_id); 2813 2814 var stringEmail = ""; 2815 var array = content.find(".to-tr").find(".box"); 2816 $.each(array, function(index, value){ 2817 stringEmail += $(value).find("input").val() + ","; 2818 }); 2819 content.find('[name="input_to"]').val(stringEmail); 2820 stringEmail = ""; 2821 if ( content.find('[name="input_cco"]').length){ 2822 if(content.find(".cco-tr").css("display") != "none"){ 2823 var array = content.find(".cco-tr").find(".box"); 2824 $.each(array, function(index, value){ 2825 stringEmail += $(value).find("input").val() + ","; 2826 }); 2827 content.find('[name="input_cco"]').val(stringEmail); 2828 } 2829 } 2830 2831 stringEmail = ""; 2832 if(content.find(".cc-tr").css("display") != "none") 2833 { 2834 var array = content.find(".cc-tr").find(".box"); 2835 $.each(array, function(index, value){ 2836 stringEmail += $(value).find("input").val() + ","; 2837 }); 2838 content.find('[name="input_cc"]').val(stringEmail); 2839 } 2840 2635 2841 var idJavascript = saveBorderError[border_id]; 2636 2842
Note: See TracChangeset
for help on using the changeset viewer.