summaryrefslogtreecommitdiff
path: root/program
diff options
context:
space:
mode:
Diffstat (limited to 'program')
-rw-r--r--program/include/main.inc2
-rw-r--r--program/js/app.js38
-rw-r--r--program/localization/en_US/messages.inc1
3 files changed, 25 insertions, 16 deletions
diff --git a/program/include/main.inc b/program/include/main.inc
index 452505f07..28556df5e 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -2384,5 +2384,5 @@ function rcube_autocomplete_init()
$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 f9233eb21..4b88958d9 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -3620,19 +3620,15 @@ function rcube_webmail()
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 @@ function rcube_webmail()
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);
-
- this.ksearch_data.locks.push(lock);
- this.ksearch_data.requests.push(xhr);
+ 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);
+ }
}
+ else if (!maxlen && !this.ksearch_msg)
+ this.ksearch_msg = this.display_message(this.get_label('autocompletemore'));
}
};
@@ -3783,7 +3783,15 @@ function rcube_webmail()
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 8ca06a67a..5572a7622 100644
--- a/program/localization/en_US/messages.inc
+++ b/program/localization/en_US/messages.inc
@@ -149,6 +149,7 @@ $messages['messagemoved'] = 'Message(s) moved successfully.';
$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.';