summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2010-03-17 13:48:23 +0000
committeralecpl <alec@alec.pl>2010-03-17 13:48:23 +0000
commit81ab85e5ab9377fd805a91a78388ad9775366a34 (patch)
tree9261498ff0d54dafd8cee82e0c80ca923845464c
parent71e7545f946a6dd5a3052cd659e51dc4be3fecbc (diff)
- use jQuery.inArray() instead of rcube_in_array()
-rw-r--r--THREADS21
-rw-r--r--program/js/app.js6
-rw-r--r--program/js/common.js21
-rw-r--r--program/js/list.js2
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<haystack.length; i++)
- if(nocase && haystack[i].toLowerCase()==needle.toLowerCase())
- return i;
- else if(haystack[i]==needle)
- return i;
-
- return -1;
- }
-
// recursively copy an object
function rcube_clone_object(obj)
{
diff --git a/program/js/list.js b/program/js/list.js
index 3ab4b1a83..5764afc98 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -840,7 +840,7 @@ highlight_row: function(id, multiple)
}
else // unselect row
{
- var p = find_in_array(id, this.selection);
+ var p = jQuery.inArray(id, this.selection);
var a_pre = this.selection.slice(0, p);
var a_post = this.selection.slice(p+1, this.selection.length);
this.selection = a_pre.concat(a_post);