Changeset 3223 for branches/2.2/expressoMail1_2/js/search.js
- Timestamp:
- 09/09/10 15:34:47 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2/expressoMail1_2/js/search.js
r3074 r3223 5 5 { 6 6 this.searchW = new Array; 7 this.condition = ""; 8 this.sort_type = ""; 9 this.page = 0; 7 10 this.name_box_search = ""; 8 11 this.all_boxes = new Array; … … 203 206 ttree.make_tree(folders,"div_folders_search","_folders_tree_search","","","",""); 204 207 } 205 208 function openpage(data){ 209 delete_border(currentTab,false); 210 EsearchE.mount_result(data); 211 } 212 213 searchE.prototype.show_paging = function(size){ 214 if (size > preferences.max_email_per_page) 215 { 216 if (Element("span_paging"+currentTab)){ 217 Element("span_paging"+currentTab).style.display = ''; 218 Element("span_paging"+currentTab).innerHTML = ""; 219 } 220 else{ 221 var span_paging = document.createElement('SPAN'); 222 span_paging.id = "span_paging"+currentTab; 223 Element("div_menu_c3").appendChild(span_paging); 224 } 225 if(this.page > 1){ 226 var fLink = document.createElement('A'); 227 fLink.innerHTML = '< <'; 228 fLink.href = 'javascript:EsearchE.page=0;'+ 229 'cExecute("$this.imap_functions.search_msg",openpage,'+ 230 '"condition='+this.condition+'&sort_type='+this.sort_type+'&page=0");'; 231 Element("span_paging"+currentTab).appendChild(fLink); 232 } 233 if(this.page > 2){ 234 var prevLink = document.createElement('A'); 235 prevLink.innerHTML = '...'; 236 prevLink.href = 'javascript:EsearchE.page='+ 237 (this.page-1)+';'+ 238 'cExecute("$this.imap_functions.search_msg",openpage,'+ 239 '"condition='+this.condition+'&sort_type='+this.sort_type+'&page='+(this.page-1)+'");'; 240 Element("span_paging"+currentTab).appendChild(prevLink); 241 } 242 for (var i=(this.page > 2 ? this.page-2 : 0); i <= parseInt(this.page)+4; i+= 1){ 243 if (i*preferences.max_email_per_page > size) 244 break; 245 if (this.page == i) 246 Element("span_paging"+currentTab).innerHTML += "<b> "+(this.page+1)+" </b>"; 247 else 248 { 249 var pageLink = document.createElement('A'); 250 pageLink.innerHTML = (i+1)+" "; 251 pageLink.href = 'javascript:EsearchE.page='+i+';'+ 252 'cExecute("$this.imap_functions.search_msg",openpage,'+ 253 '"condition='+this.condition+'&sort_type='+this.sort_type+'&page='+this.page+'");'; 254 Element("span_paging"+currentTab).appendChild(pageLink); 255 } 256 } 257 if (size > preferences.max_email_per_page) 258 { 259 var lLink = document.createElement('A'); 260 lLink.innerHTML = '> >'; 261 lLink.href = 'javascript:EsearchE.page='+parseInt(size/preferences.max_email_per_page)+';'+ 262 'cExecute("$this.imap_functions.search_msg",openpage,'+ 263 '"condition='+this.condition+'&sort_type='+this.sort_type+'&page=0");'; 264 Element("span_paging"+currentTab).appendChild(lLink); 265 } 266 } 267 268 } 206 269 // Form resultado 207 searchE.prototype.mount_result = function(data,sort_type){ 270 searchE.prototype.mount_result = function(Rdata,sort_type){ 271 var data = Rdata['data']; 208 272 if (data == undefined) 209 273 return; 274 if(this.page == 0) 275 write_msg(Rdata['num_msgs']+" "+get_lang("results found")); 210 276 var cont = parseInt(0); 211 277 212 //This func returns the comparison between criterias 213 var date_comp = function(a,b){ return a.udate > b.udate;}; 214 var date_comp_reverse = function(a,b){ return date_comp(b,a);}; 215 var box_comp = function(a,b){ return a.boxname > b.boxname; } 216 var box_comp_reverse = function(a,b){ return box_comp(b,a); } 217 var who_comp = function(a,b){ return a.from > b.from; } 218 var who_comp_reverse = function(a,b){ return who_comp(b,a); } 219 var subject_comp = function(a,b){ return a.subject > b.subject; } 220 var subject_comp_reverse = function(a,b){ return subject_comp(b,a); } 221 var size_comp = function(a,b){ return a.size > b.size; } 222 var size_comp_reverse = function(a,b){ return size_comp(b,a); } 223 224 switch (sort_type) 225 { 226 case 'SORTDATE': 227 data.sort(date_comp); 228 break; 229 case 'SORTDATE_REVERSE': 230 data.sort(date_comp_reverse); 231 break; 232 case 'SORTBOX': 233 data.sort(box_comp); 234 break; 235 case 'SORTBOX_REVERSE': 236 data.sort(box_comp_reverse); 237 break; 238 case 'SORTSUBJECT': 239 data.sort(subject_comp); 240 break; 241 case 'SORTSUBJECT_REVERSE': 242 data.sort(subject_comp_reverse); 243 break; 244 case 'SORTWHO': 245 data.sort(who_comp); 246 break; 247 case 'SORTWHO_REVERSE': 248 data.sort(who_comp_reverse); 249 break; 250 case 'SORTSIZE': 251 data.sort(size_comp); 252 break; 253 case 'SORTSIZE_REVERSE': 254 data.sort(size_comp_reverse); 255 break; 256 default: 257 var showMsg = 1; 258 } 259 260 if(data.length > 0 && showMsg) 261 write_msg(data.length + " "+ get_lang('results found')); 278 if (typeof(sort_type) != 'undefined') 279 this.sort_type = sort_type; 280 else 281 sort_type = this.sort_type; 262 282 263 283 numBox++; … … 270 290 openTab.content_id[currentTab] = Element('content_id_search_' + numBox); 271 291 openTab.type[currentTab] = 1; 292 272 293 var table = document.createElement("TABLE"); 273 294 table.id = "table_resultsearch_" + numBox; … … 280 301 var tbody = document.createElement("TBODY"); 281 302 tbody.id = "tbody_box_" + numBox; 282 283 303 for( var i=0; i < data.length; i++){ 284 304 var tr = document.createElement("TR"); 285 305 tr.style.height = preferences.line_height; 286 var aux = data[i]; 306 var aux = data[i]; 287 307 var mailbox = aux.boxname; 288 308 var uid_msg = aux.uid; … … 470 490 if (sort_type == 'SORTBOX') 471 491 { 472 td_element1.onclick = function () { EsearchE.mount_result(data,'SORTBOX_REVERSE'); delete_border(border_id,false);}; 492 td_element1.onclick = function () { 493 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTBOX_REVERSE'); }; 494 var args = "$this.imap_functions.search_msg"; 495 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTBOX_REVERSE"; 496 cExecute(args,handler,params); 497 }; 473 498 td_element1.innerHTML ="<b>"+get_lang("Folder")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 474 499 } 475 500 else 476 501 { 477 td_element1.onclick = function () { EsearchE.mount_result(data,'SORTBOX'); delete_border(border_id,false);}; 502 td_element1.onclick = function () { 503 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTBOX'); }; 504 var args = "$this.imap_functions.search_msg"; 505 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTBOX"; 506 cExecute(args,handler,params); 507 }; 478 508 if (sort_type == 'SORTBOX_REVERSE') 479 509 td_element1.innerHTML ="<b>"+get_lang("Folder")+"</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; … … 486 516 if (sort_type == 'SORTWHO') 487 517 { 488 td_element2.onclick = function () { EsearchE.mount_result(data,'SORTWHO_REVERSE'); delete_border(border_id,false);}; 518 td_element2.onclick = function () { 519 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTWHO_REVERSE'); }; 520 var args = "$this.imap_functions.search_msg"; 521 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTWHO_REVERSE"; 522 cExecute(args,handler,params); 523 }; 489 524 td_element2.innerHTML ="<b>"+get_lang("who")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 490 525 } 491 526 else 492 527 { 493 td_element2.onclick = function () { EsearchE.mount_result(data,'SORTWHO'); delete_border(border_id,false);}; 528 td_element2.onclick = function () { 529 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTWHO'); }; 530 var args = "$this.imap_functions.search_msg"; 531 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTWHO"; 532 cExecute(args,handler,params); 533 }; 494 534 if (sort_type == 'SORTWHO_REVERSE') 495 535 td_element2.innerHTML ="<b>"+get_lang("who")+"</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; … … 502 542 if (sort_type == 'SORTSUBJECT') 503 543 { 504 td_element3.onclick = function () { EsearchE.mount_result(data,'SORTSUBJECT_REVERSE'); delete_border(border_id,false);}; 544 td_element3.onclick = function () { 545 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTSUBJECT_REVERSE'); }; 546 var args = "$this.imap_functions.search_msg"; 547 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTSUBJECT_REVERSE"; 548 cExecute(args,handler,params); 549 }; 505 550 td_element3.innerHTML ="<b>"+get_lang("subject")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 506 551 } 507 552 else 508 553 { 509 td_element3.onclick = function () { EsearchE.mount_result(data,'SORTSUBJECT'); delete_border(border_id,false);}; 554 td_element3.onclick = function () { 555 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTSUBJECT'); }; 556 var args = "$this.imap_functions.search_msg"; 557 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTSUBJECT"; 558 cExecute(args,handler,params); 559 }; 510 560 if (sort_type == 'SORTSUBJECT_REVERSE') 511 561 td_element3.innerHTML ="<b>"+get_lang("subject")+"</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; … … 518 568 if (sort_type == 'SORTDATE') 519 569 { 520 td_element4.onclick = function () { EsearchE.mount_result(data,'SORTDATE_REVERSE'); delete_border(border_id,false);}; 570 td_element4.onclick = function () { 571 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTDATE_REVERSE'); }; 572 var args = "$this.imap_functions.search_msg"; 573 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTDATE_REVERSE"; 574 cExecute(args,handler,params); 575 }; 521 576 td_element4.innerHTML ="<b>"+get_lang("Date")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 522 577 } 523 578 else 524 579 { 525 td_element4.onclick = function () { EsearchE.mount_result(data,'SORTDATE'); delete_border(border_id,false);}; 580 td_element4.onclick = function () { 581 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTDATE'); }; 582 var args = "$this.imap_functions.search_msg"; 583 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTDATE"; 584 cExecute(args,handler,params); 585 }; 526 586 if (sort_type == 'SORTDATE_REVERSE') 527 587 td_element4.innerHTML ="<b>"+get_lang("Date")+"</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; … … 534 594 if (sort_type == 'SORTSIZE') 535 595 { 536 td_element5.onclick = function () { EsearchE.mount_result(data,'SORTSIZE_REVERSE'); delete_border(border_id,false);}; 596 td_element5.onclick = function () { 597 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTSIZE_REVERSE'); }; 598 var args = "$this.imap_functions.search_msg"; 599 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTSIZE_REVERSE"; 600 cExecute(args,handler,params); 601 }; 537 602 td_element5.innerHTML ="<b>"+get_lang("size")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 538 603 } 539 604 else 540 605 { 541 td_element5.onclick = function () { EsearchE.mount_result(data,'SORTSIZE'); delete_border(border_id,false);}; 606 td_element5.onclick = function () { 607 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTSIZE'); }; 608 var args = "$this.imap_functions.search_msg"; 609 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTSIZE"; 610 cExecute(args,handler,params); 611 }; 542 612 if (sort_type == 'SORTSIZE_REVERSE') 543 613 td_element5.innerHTML ="<b>"+get_lang("size")+"</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; … … 576 646 content_search.appendChild(div_scroll_result); 577 647 } 578 resizeWindow(); 648 resizeWindow(); 649 EsearchE.show_paging(Rdata['num_msgs']); 650 579 651 } 580 652 … … 788 860 } 789 861 var handler = function(data){ 790 var tmp; 791 792 if (local_folders.length > 0) { 793 tmp = expresso_local_messages.search(local_folders, fields); 794 if (tmp!=false) { 795 var tmp2 = tmp.substr(2, data.length - 4); 796 } 797 } 798 if((data == "none") || (data.length==0)){alert(get_lang("None result was found."));} 799 else if(data.length > preferences.search_result_number){alert(get_lang("More than %1 results. Please, try to refine your search.",1000));} 800 else if(data == "many results"){alert(get_lang("More than %1 results. Please, try to refine your search.",preferences.search_result_number));} 801 else{EsearchE.mount_result(data);} 862 if (data == "none") 863 alert(get_lang('no results found')); 864 else 865 EsearchE.mount_result(data,'SORTDATE'); 802 866 803 867 } 804 868 var args = "$this.imap_functions.search_msg"; 805 var params = "condition=" + nm_box; 869 this.condition = nm_box; 870 var params = "condition=" + nm_box+ 871 "&page=0"+ 872 "&sort_type=SORTDATE"; 873 this.page = 0; 806 874 if(expresso_offline) 807 875 handler('none');
Note: See TracChangeset
for help on using the changeset viewer.