diff options
author | thomascube <thomas@roundcube.net> | 2010-03-31 15:23:22 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2010-03-31 15:23:22 +0000 |
commit | c0297f4172da47a20350d597176ecafee47c97bb (patch) | |
tree | fc7ce0fc563577c996654d1e123ead119a5a2245 /program/js | |
parent | 3baa72a62fc69dda8306674da6d150efbf2cd55b (diff) |
Asynchronously expand contact groups + skip count queries in autocompletion mode + check for the existance of contactgroups table
Diffstat (limited to 'program/js')
-rw-r--r-- | program/js/app.js | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/program/js/app.js b/program/js/app.js index 22eedf600..8c08e3ecf 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -3238,9 +3238,11 @@ function rcube_webmail() var insert = ''; // insert all members of a group - if (typeof this.env.contacts[id] == 'object' && this.env.contacts[id].members) { - for (var i=0; i < this.env.contacts[id].members.length; i++) - insert += this.env.contacts[id].members[i] + ', '; + if (typeof this.env.contacts[id] == 'object' && this.env.contacts[id].id) { + insert += this.env.contacts[id].name + ', '; + this.group2expand = $.extend({}, this.env.contacts[id]); + this.group2expand.input = this.ksearch_input; + this.http_request('group-expand', '_source='+urlencode(this.env.contacts[id].source)+'&_gid='+urlencode(this.env.contacts[id].id), false); } else if (typeof this.env.contacts[id] == 'string') insert = this.env.contacts[id] + ', '; @@ -3252,6 +3254,14 @@ function rcube_webmail() if (this.ksearch_input.setSelectionRange) this.ksearch_input.setSelectionRange(cpos, cpos); }; + + this.replace_group_recipients = function(id, recipients) + { + if (this.group2expand && this.group2expand.id == id) { + this.group2expand.input.value = this.group2expand.input.value.replace(this.group2expand.name, recipients); + this.group2expand = null; + } + }; // address search processor this.ksearch_get_results = function() |