From 5f71297bc972a5998dc5235e92762c27923f5489 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Wed, 21 Sep 2011 12:51:41 -0400 Subject: [PATCH] - Add notice on autocompletion that not all records were displayed --- CHANGELOG | 1 + program/include/main.inc | 2 +- program/localization/en_US/messages.inc | 1 + program/js/app.js | 36 ++++++++++++++++++++++-------------- 4 files changed, 25 insertions(+), 15 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index f4100da..61d5f9a 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Add notice on autocompletion that not all records were displayed - Add option 'searchonly' for LDAP address books - Add Priority filter to the messages list - Cache synchronization using QRESYNC/CONDSTORE diff --git a/program/include/main.inc b/program/include/main.inc index 452505f..28556df 100644 --- a/program/include/main.inc +++ b/program/include/main.inc @@ -2384,5 +2384,5 @@ $RCMAIL->output->set_env('autocomplete_max', (int)$RCMAIL->config->get('autocomplete_max', 15)); $RCMAIL->output->set_env('autocomplete_min_length', $RCMAIL->config->get('autocomplete_min_length')); - $RCMAIL->output->add_label('autocompletechars'); + $RCMAIL->output->add_label('autocompletechars', 'autocompletemore'); } diff --git a/program/js/app.js b/program/js/app.js index f9233eb..4b88958 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -3620,19 +3620,15 @@ return; if (q.length && q.length < min) { - if (!this.env.acinfo) { - this.env.acinfo = this.display_message( + if (!this.ksearch_info) { + this.ksearch_info = this.display_message( this.get_label('autocompletechars').replace('$min', min)); } return; } - else if (this.env.acinfo) { - this.hide_message(this.env.acinfo); - } var old_value = this.ksearch_value; this.ksearch_value = q; - this.ksearch_destroy(); // ...string is empty @@ -3730,16 +3726,20 @@ this.env.contacts = this.env.contacts.concat(results); // run next parallel search - if (maxlen > 0 && this.ksearch_data.id == reqid && this.ksearch_data.sources.length) { - var lock, xhr, props = this.ksearch_data, source = props.sources.shift(); - if (source) { - lock = this.display_message(this.get_label('searching'), 'loading'); - xhr = this.http_post(props.action, '_search='+urlencode(s_val)+'&_id='+reqid - +'&_source='+urlencode(source), lock); + if (this.ksearch_data.id == reqid) { + if (maxlen > 0 && this.ksearch_data.sources.length) { + var lock, xhr, props = this.ksearch_data, source = props.sources.shift(); + if (source) { + lock = this.display_message(this.get_label('searching'), 'loading'); + xhr = this.http_post(props.action, '_search='+urlencode(s_val)+'&_id='+reqid + +'&_source='+urlencode(source), lock); - this.ksearch_data.locks.push(lock); - this.ksearch_data.requests.push(xhr); + this.ksearch_data.locks.push(lock); + this.ksearch_data.requests.push(xhr); + } } + else if (!maxlen && !this.ksearch_msg) + this.ksearch_msg = this.display_message(this.get_label('autocompletemore')); } }; @@ -3783,7 +3783,15 @@ for (i=0, len=ac.locks.length; i<len; i++) this.abort_request({request: ac.requests[i], lock: ac.locks[i]}); + if (this.ksearch_info) + this.hide_message(this.ksearch_info); + + if (this.ksearch_msg) + this.hide_message(this.ksearch_msg); + this.ksearch_data = null; + this.ksearch_info = null; + this.ksearch_msg = null; } /*********************************************************/ diff --git a/program/localization/en_US/messages.inc b/program/localization/en_US/messages.inc index 8ca06a6..5572a76 100644 --- a/program/localization/en_US/messages.inc +++ b/program/localization/en_US/messages.inc @@ -149,6 +149,7 @@ $messages['messagecopied'] = 'Message(s) copied successfully.'; $messages['messagemarked'] = 'Message(s) marked successfully.'; $messages['autocompletechars'] = 'Enter at least $min characters for autocompletion.'; +$messages['autocompletemore'] = 'More matching entries found. Please type more characters.'; $messages['namecannotbeempty'] = 'Name cannot be empty.'; $messages['nametoolong'] = 'Name is too long.'; $messages['folderupdated'] = 'Folder updated successfully.'; -- Gitblit v1.9.1