Changeset 6754 for branches/2.4/expressoMail1_2/js/QuickCatalogSearch.js
- Timestamp:
- 07/11/12 11:45:10 (12 years ago)
- Location:
- branches/2.4
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.4
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
/trunk merged eligible /sandbox/2.4.1-3 6237-6527
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
-
branches/2.4/expressoMail1_2/js/QuickCatalogSearch.js
r6631 r6754 14 14 }); 15 15 }); 16 16 17 17 /* showlist */ 18 18 emQuickCatalogSearch.prototype.showList = function(data, begin, end, ID, field) … … 125 125 switch(data_['type_catalog']) { 126 126 case 'G': 127 if(data_['extra_ldap_fields'] != undefined){128 if(data_['extra_ldap_fields'].length != 0) 129 var extra_fields = (data_['extra_ldap_fields']).split("#");127 if(data_['extra_ldap_fields'] != undefined){ 128 if(data_['extra_ldap_fields'].length != 0) 129 var extra_fields = (data_['extra_ldap_fields']).split("#"); 130 130 else 131 131 var extra_fields = []; … … 149 149 } 150 150 } 151 if (data_[id_contact].vacationactive == "TRUE"){ 152 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 153 if ( data_[id_contact].vacationinfo ){ 154 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data_[id_contact].vacationinfo +'</span></div></div>'); 155 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 156 var link = $('<a>').html('Ver mais'); 157 link.attr('id','more'); 158 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 159 details.append(link); 160 } 161 } 162 } 151 163 break; 152 164 case 'P': … … 157 169 if(data_[id_contact].telephonenumber != null) 158 170 details.append('<p><label class="attribute">Telefone</label>' + '<span class="value">' + data_[id_contact].telephonenumber + '</span></p>'); 171 if (data_[id_contact].vacationactive == "TRUE"){ 172 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 173 if (data_[id_contact].vacationinfo){ 174 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data_[id_contact].vacationinfo +'</span></div></div>'); 175 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 176 var link = $('<a>').html('Ver mais'); 177 link.attr('id','more'); 178 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 179 details.append(link); 180 } 181 } 182 } 159 183 break; 160 184 default: 161 if(data_['extra_ldap_fields'] != undefined){ 162 if(data_['extra_ldap_fields'].length != 0) 163 var extra_fields = (data_['extra_ldap_fields']).split("#");185 if(data_['extra_ldap_fields'] != undefined){ 186 if(data_['extra_ldap_fields'].length != 0) 187 var extra_fields = (data_['extra_ldap_fields']).split("#"); 164 188 else 165 189 var extra_fields = []; … … 190 214 } 191 215 } 216 if (data_[id_contact].vacationactive == "TRUE"){ 217 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 218 if (data_[id_contact].vacationinfo){ 219 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data_[id_contact].vacationinfo +'</span></div></div>'); 220 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 221 var link = $('<a>').html('Ver mais'); 222 link.attr('id','more'); 223 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 224 details.append(link); 225 } 226 } 227 } 192 228 break; 193 229 } … … 255 291 var signal = "+"; 256 292 var btnClass = "add"; 257 var emailList = content.find(field_).val(); 258 var emails_adicionados = emailList.split(","); 293 emails_adicionados = ""; 294 var emailList = content.find(field_).filter("input").parent().find("div input"); 295 // var array = content.find(".to-tr").find(".box"); 296 $.each(emailList, function(index, value){ 297 emails_adicionados += $(value).val() + ","; 298 }); 299 emails_adicionados = emails_adicionados.split(","); 259 300 for(aux=0; aux<emails_adicionados.length -1; aux++) { 260 301 if(emails_adicionados[aux].match(/<([^<]*)>[\s]*$/)){ … … 279 320 else if(contact_name.toLowerCase().indexOf(data.search_for.toLowerCase()) != -1 && data.search_for.indexOf(" ") == -1 && data.search_for.indexOf("@") == -1) 280 321 contact_name = contact_name.substring(0, contact_name.toLowerCase().indexOf(data.search_for.toLowerCase())) + "<u>" + contact_name.substr(contact_name.toLowerCase().indexOf(data.search_for.toLowerCase()), data.search_for.length) + "</u>" + contact_name.substring(contact_name.toLowerCase().indexOf(data.search_for.toLowerCase()) + data.search_for.length); 281 var line = '<span class="menu-control"><button class="'+btnClass+'" id="actions_'+i+'" onClick="'+exist+'(document.getElementById(\'contact_' + i + '\').innerHTML, this, \'contact_' + i + '\')">'+ signal +'</button></span><div id="contact_' + i + '" onDblClick="'+exist+'(this.innerHTML, document.getElementById(\'actions_'+i+'\'), \'contact_' + i + '\')"><div class="name_contact"><strong class="name">' + contact_name + '</strong><em class="email">' + ((utf8_decoder(data[i-1].mail) != undefined)? (utf8_decoder(data[i-1].mail) == 'undefined' ? get_lang("No mail") : utf8_decoder(data[i-1].mail)) : get_lang("No mail")) + '</em></div></div>'; 322 var vacationImg = ''; 323 if (data[i-1].vacationactive == "TRUE") 324 vacationImg = '<img src="templates/default/images/mala-small.png"/>'; 325 var line = '<span class="menu-control"><button class="'+btnClass+'" id="actions_'+i+'" onClick="'+exist+'(document.getElementById(\'contact_' + i + '\').innerHTML, this, \'contact_' + i + '\')">'+ signal +'</button></span><div id="contact_' + i + '" onDblClick="'+exist+'(this.innerHTML, document.getElementById(\'actions_'+i+'\'), \'contact_' + i + '\')"><div class="name_contact"><strong class="name">' + contact_name +' '+ vacationImg +'</strong><em class="email">' + ((utf8_decoder(data[i-1].mail) != undefined)? (utf8_decoder(data[i-1].mail) == 'undefined' ? get_lang("No mail") : utf8_decoder(data[i-1].mail)) : get_lang("No mail")) + '</em></div></div>'; 282 326 Op.innerHTML = line; 283 327 $(Op).val(i - 1); … … 317 361 } 318 362 } 319 } 363 } 364 if (data[first_contact].vacationactive == "TRUE"){ 365 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 366 if ( data[first_contact].vacationinfo ){ 367 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data[first_contact].vacationinfo +'</span></div></div>'); 368 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 369 var link = $('<a>').html('Ver mais'); 370 link.attr('id','more'); 371 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 372 details.append(link); 373 } 374 } 375 } 320 376 break; 321 377 case 'P': … … 326 382 if(data[first_contact].telephonenumber != null) 327 383 details.append('<p><label class="attribute">Telefone</label>' + '<span class="value">' + data[first_contact].telephonenumber + '</span></p>'); 384 if (data[first_contact].vacationactive == "TRUE"){ 385 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 386 if ( data[first_contact].vacationinfo ){ 387 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data[first_contact].vacationinfo +'</span></div></div>'); 388 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 389 var link = $('<a>').html('Ver mais'); 390 link.attr('id','more'); 391 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 392 details.append(link); 393 } 394 } 395 } 328 396 break; 329 397 default: … … 358 426 } 359 427 } 428 if (data[first_contact].vacationactive == "TRUE"){ 429 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 430 if ( data[first_contact].vacationinfo ){ 431 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data[first_contact].vacationinfo +'</span></div></div>'); 432 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 433 var link = $('<a>').html('Ver mais'); 434 link.attr('id','more'); 435 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 436 details.append(link); 437 } 438 } 439 } 360 440 break; 361 441 } 362 var string_results = sliderValue + " " + get_lang("of") + " " + paginas + " (" + data.length + " " + get_lang("Results") + ")"; 363 442 var string_results = sliderValue + " " + get_lang("of") + " " + paginas + " (" + data.length + " " + get_lang("Results") + ")"; 443 $( "#amount-text" ).val( string_results ).attr('readonly', true); 364 444 $("button").button(); 365 445 //$("button.remove").button({icons:{primary:"ui-icon-close"}, text: false}); … … 389 469 }else 390 470 var extra_fields = []; 391 if(preferences.default_fields_quick_search != 0 && data[this.value] ) { 392 393 if(data[this.value].telephonenumber )471 if(preferences.default_fields_quick_search != 0 && data[this.value] ) { 472 details.append('<p><label class="attribute">' + utf8_decoder(data[this.value].cn[0]) + "</label>" + '<span class="value">' + (data[this.value].mail ? data[this.value].mail[0] : "")+ "</span></p>"); 473 if(data[this.value].telephonenumber ) 394 474 details.append('<p><label class="attribute">Telefone</label>' + '<span class="value">' + (data[this.value].telephonenumber ? data[this.value].telephonenumber[0] : "")+ "</span></p>"); 395 475 } … … 405 485 } 406 486 } 487 if (data[this.value].vacationactive == "TRUE"){ 488 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 489 if ( data[this.value].vacationinfo ){ 490 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data[this.value].vacationinfo +'</span></div></div>'); 491 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 492 var link = $('<a>').html('Ver mais'); 493 link.attr('id','more'); 494 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 495 details.append(link); 496 } 497 } 498 } 407 499 break; 408 500 case 'P': … … 413 505 if(data[this.value].telephonenumber != null) 414 506 details.append('<p><label class="attribute">Telefone</label>' + '<span class="value">' + data[this.value].telephonenumber + "</span></p>"); 507 if (data[this.value].vacationactive == "TRUE"){ 508 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 509 if ( data[this.value].vacationinfo ){ 510 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data[this.value].vacationinfo +'</span></div></div>'); 511 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 512 var link = $('<a>').html('Ver mais'); 513 link.attr('id','more'); 514 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 515 details.append(link); 516 } 517 } 518 } 415 519 break; 416 520 default: 417 if(this.value == undefined) 418 break; 419 521 if(this.value == undefined) 522 break; 523 420 524 if(data['extra_ldap_fields'].length != 0) 421 525 var extra_fields = (data['extra_ldap_fields']).split("#"); … … 447 551 } 448 552 } 553 if (data[this.value].vacationactive == "TRUE"){ 554 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 555 if ( data[this.value].vacationinfo ){ 556 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data[this.value].vacationinfo +'</span></div></div>') 557 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 558 var link = $('<a>').html('Ver mais'); 559 link.attr('id','more'); 560 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 561 details.append(link); 562 } 563 } 564 } 449 565 break; 450 566 } … … 587 703 var nome = $(contact).clone().find('.name').text(); 588 704 var email = $(contact).clone().find('.email').text(); 589 590 705 if(email == get_lang("No mail")){ 591 706 alert(get_lang("It is not possible to add this contact as a recipient because it does not have email")); … … 594 709 return; 595 710 } 596 597 711 verifyEmails(email, divs); 598 599 final_contact = "\""+nome +"\" <"+email+">, "; 600 601 var emailList = content.find(field_).val(); 602 //remove os caracteres da busca 603 emailList = emailList.substr(0,emailList.lastIndexOf(',')+1); 604 605 if (emailList[0] != '"' && emailList.indexOf(",") < 0) 606 emailList = emailList.substr(end_); 607 if(emailList.lastIndexOf(",") > 0){ 608 if(emailList.substr(emailList.length-1, emailList.length) == "," || emailList.substr(emailList.length-2, 1) == ","){ 609 emailList = emailList.substr(0, emailList.lastIndexOf(",") + 1); 610 } else { 611 emailList = emailList.substr(0, emailList.lastIndexOf("") + 1); 612 final_contact = ","+final_contact; 712 final_contact = "\""+nome +"\" <"+email+">"; 713 714 final_contact = final_contact.replace(/\/n/, ""); 715 var index = parseInt(divs.split("_")[1])-1; 716 if(data_[index].type_contact == "G"){ 717 var ldap_id = preferences.expressoMail_ldap_identifier_recipient; 718 if(ldap_id){ 719 draw_email_box( 720 (data_[index][ldap_id.toLowerCase()] ? data_[index][ldap_id.toLowerCase()][0] : final_contact) 721 , content.find(field_).filter("input") 722 ); 723 }else{ 724 draw_email_box(final_contact, content.find(field_).filter("input")); 725 } 726 }else{ 727 draw_email_box((data_[index].id_contact ? data_[index].id_contact : data_[index].id), content.find(field_).filter("input"), (data_[index].id_contact ? true : "G")); 613 728 } 614 }615 616 final_contact = final_contact.replace(/\/n/, "");617 new_emailList = emailList + final_contact;618 content.find(field_).val(new_emailList);619 620 content.find(field_).trigger("update");621 622 729 content.find(field_).filter("input").val(""); 623 730 button.onclick = function(){ … … 625 732 }; 626 733 var div = document.getElementById(divs); 627 628 734 div.ondblclick = function(){ 629 735 remove_contact_field(div.innerHTML, button, divs); 630 736 }; 631 632 737 button.innerHTML = '<span class="ui-button-text" style="">x</span>'; 633 738 } … … 639 744 function remove_contact_field(contact, button, divs) { 640 745 var email = $(contact).clone().find('.email').text(); 641 var exist = false; 642 643 var emailList = content.find(field_).val(); 644 var emails_adicionados = emailList.split(","); 645 646 verifyEmails(email, divs); 647 648 for(i=0; i<emails_adicionados.length -1; i++) { 649 650 if(emails_adicionados[i].match(/<([^<]*)>[\s]*$/)){ 651 if(emails_adicionados[i].match(/<([^<]*)>[\s]*$/)[1].toLowerCase() == email.toLowerCase()) { 652 emails_adicionados[i] = "%"; 653 exist = true; 654 } 655 }else{ 656 if(emails_adicionados[i].toLowerCase() == email.toLowerCase()) { 657 emails_adicionados[i] = "%"; 658 exist = true; 659 } 660 } 661 } 662 663 if (exist == false) 664 return false; 665 var novos_contatos = emails_adicionados.join(","); 666 novos_contatos = novos_contatos.replace(/%,/g, ""); 667 content.find(field_).val(novos_contatos); 668 746 var array = content.find(field_).parent().find("div input"); 747 $.each(array, function(index, value){ 748 var validated_email = $(value).val(); 749 if(validated_email.match(/<([^<]*)>[\s]*$/)){ 750 if(validated_email.match(/<([^<]*)>[\s]*$/)[1].toLowerCase() == email.toLowerCase()) { 751 $(value).parent().remove(); 752 } 753 } 754 }); 755 669 756 button.onclick = function(){ 670 757 add_contact_field(document.getElementById(divs).innerHTML, button, divs); 671 758 }; 672 673 759 var div = document.getElementById(divs); 674 675 760 div.ondblclick = function(){ 676 761 add_contact_field(div.innerHTML, button, divs); 677 762 }; 678 679 content.find(field_).trigger("update");680 763 button.innerHTML = '<span class="ui-button-text" style="">+</span>'; 681 764 }
Note: See TracChangeset
for help on using the changeset viewer.