diff options
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 c1496303c..f9233eb21 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -3495,9 +3495,15 @@ function rcube_webmail() return rcube_event.cancel(e); + case 9: // tab + if (mod == SHIFT_KEY || !this.ksearch_visible()) { + this.ksearch_hide(); + return; + } + case 13: // enter - if (this.ksearch_selected === null || !this.ksearch_value) - break; + if (!this.ksearch_visible()) + return false; // insert selected address and hide ksearch pane this.insert_recipient(this.ksearch_selected); @@ -3505,7 +3511,6 @@ function rcube_webmail() return rcube_event.cancel(e); - case 9: // tab case 27: // escape this.ksearch_hide(); return; @@ -3523,6 +3528,11 @@ function rcube_webmail() return true; }; + this.ksearch_visible = function() + { + return (this.ksearch_selected !== null && this.ksearch_selected !== undefined && this.ksearch_value); + }; + this.ksearch_select = function(node) { var current = $('#rcmksearchSelected'); |