| | |
| | | |
| | | 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); |
| | |
| | | |
| | | return rcube_event.cancel(e); |
| | | |
| | | case 9: // tab |
| | | case 27: // escape |
| | | this.ksearch_hide(); |
| | | return; |
| | |
| | | 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'); |