From 81ab85e5ab9377fd805a91a78388ad9775366a34 Mon Sep 17 00:00:00 2001 From: alecpl Date: Wed, 17 Mar 2010 13:48:23 +0000 Subject: - use jQuery.inArray() instead of rcube_in_array() --- THREADS | 21 +++++++++------------ program/js/app.js | 6 +++--- program/js/common.js | 21 --------------------- program/js/list.js | 2 +- 4 files changed, 13 insertions(+), 37 deletions(-) diff --git a/THREADS b/THREADS index 022b7fab9..95a0af83f 100644 --- a/THREADS +++ b/THREADS @@ -1,3 +1,7 @@ + +*** Current status of THREADS implementation *** + + CHANGES IN RELATION TO ORIGINAL PATCH - don't add nested messages into selection on collapse if parent message is in selection @@ -17,6 +21,10 @@ TODO (must have): - updating threaded message list on message delete - don't reload messages list on check_recent +KNOWN ISSUES: + - on new message (check_recent) the whole list is reloaded + - css issues on IE6 + TODO (other): - performance: fetching all messages for list in "expand all" state only, if "expand all" is disabled we should fetch only root messages and fetch @@ -26,18 +34,7 @@ TODO (other): all headers for each child - button in #listcontrols to mark all messages in current thread (with selected root or child message), - + thread tree icons - + thread css: message row height, thread/status icon alignment - (change size of all list icons to 14x14) - - remove 'indexsort' label from localization files + - icons for thread tree structure TODO (by the way): - use jQuery.inArray instead of find_in_array() (common.js) - + use only one function (js) to generate messages list - -KNOWN ISSUES: - - on new message (check_recent) the whole list is reloaded - + table header replacement doesn't work on IE - - css issues on IE6 - + css issues on IE7 - diff --git a/program/js/app.js b/program/js/app.js index a5114fadf..7aca3d8de 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -733,7 +733,7 @@ function rcube_webmail() var qstring = '_mbox='+urlencode(this.env.mailbox)+'&_uid='+this.env.uid+'&_part='+props.part; // open attachment in frame if it's of a supported mimetype - if (this.env.uid && props.mimetype && find_in_array(props.mimetype, this.mimetypes)>=0) + if (this.env.uid && props.mimetype && jQuery.inArray(props.mimetype, this.mimetypes)>=0) { if (props.mimetype == 'text/html') qstring += '&_safe=1'; @@ -4276,12 +4276,12 @@ function rcube_webmail() this.env.flagged_col = null; var found; - if((found = find_in_array('subject', this.env.coltypes)) >= 0) { + if((found = jQuery.inArray('subject', this.env.coltypes)) >= 0) { this.set_env('subject_col', found); if (this.message_list) this.message_list.subject_col = found+1; } - if((found = find_in_array('flag', this.env.coltypes)) >= 0) + if((found = jQuery.inArray('flag', this.env.coltypes)) >= 0) this.set_env('flagged_col', found); }; diff --git a/program/js/common.js b/program/js/common.js index 829da8ae8..10d0c258d 100644 --- a/program/js/common.js +++ b/program/js/common.js @@ -469,27 +469,6 @@ function rcube_check_email(input, inline) } -// find a value in a specific array and returns the index -function find_in_array() - { - var args = find_in_array.arguments; - if(!args.length) return -1; - - var haystack = typeof(args[0])=='object' ? args[0] : args.length>1 && typeof(args[1])=='object' ? args[1] : new Array(); - var needle = typeof(args[0])!='object' ? args[0] : args.length>1 && typeof(args[1])!='object' ? args[1] : ''; - var nocase = args.length==3 ? args[2] : false; - - if(!haystack.length) return -1; - - for(var i=0; i