From ec65ad6e4843f992915411ec6bb819ebec65ba2e Mon Sep 17 00:00:00 2001 From: thomascube Date: Fri, 8 Jul 2011 14:18:55 +0000 Subject: Make autocompletion available for plugins --- program/js/app.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/program/js/app.js b/program/js/app.js index add9b1459..2f9bfbdf9 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -3516,6 +3516,7 @@ function rcube_webmail() var inp_value = this.ksearch_input.value, cpos = this.get_caret_pos(this.ksearch_input), p = inp_value.lastIndexOf(this.ksearch_value, cpos), + trigger = false, insert = '', // replace search string with full address @@ -3527,10 +3528,12 @@ function rcube_webmail() 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); + this.http_request('mail/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') + else if (typeof this.env.contacts[id] === 'string') { insert = this.env.contacts[id] + ', '; + trigger = true; + } this.ksearch_input.value = pre + insert + end; @@ -3538,12 +3541,16 @@ function rcube_webmail() cpos = p+insert.length; if (this.ksearch_input.setSelectionRange) this.ksearch_input.setSelectionRange(cpos, cpos); + + if (trigger) + this.triggerEvent('autocomplete_insert', { field:this.ksearch_input, insert:insert }); }; 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.triggerEvent('autocomplete_insert', { field:this.group2expand.input, insert:recipients }); this.group2expand = null; } }; @@ -3595,7 +3602,7 @@ function rcube_webmail() return; var lock = this.display_message(this.get_label('searching'), 'loading'); - this.http_post('autocomplete', '_search='+urlencode(q), lock); + this.http_post('mail/autocomplete', '_search='+urlencode(q), lock); }; this.ksearch_query_results = function(results, search) -- cgit v1.2.3