diff options
| author | thomascube <thomas@roundcube.net> | 2011-07-08 14:18:55 +0000 | 
|---|---|---|
| committer | thomascube <thomas@roundcube.net> | 2011-07-08 14:18:55 +0000 | 
| commit | ec65ad6e4843f992915411ec6bb819ebec65ba2e (patch) | |
| tree | e86b5533b90d7be656f96d0fea15488b504a77f3 | |
| parent | 63fda8af57a285020dc094adcf6eeb46bee1c2d5 (diff) | |
Make autocompletion available for plugins
| -rw-r--r-- | program/js/app.js | 13 | 
1 files 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) | 
