From a3aa406e05b3b4ac48edd54aef7882e98f617898 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Tue, 4 Nov 2014 15:35:21 +0100 Subject: [PATCH] Close autocompletion when switching tabs and closing dialog (#3389) --- plugins/calendar/calendar_ui.js | 5 ++++- plugins/tasklist/tasklist.js | 10 +++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/plugins/calendar/calendar_ui.js b/plugins/calendar/calendar_ui.js index a5a78381..912f6cee 100644 --- a/plugins/calendar/calendar_ui.js +++ b/plugins/calendar/calendar_ui.js @@ -906,7 +906,6 @@ function rcube_calendar_ui(settings) editform.hide().attr('aria-hidden', 'true').appendTo(document.body); $dialog.dialog("destroy").remove(); rcmail.ksearch_blur(); - rcmail.ksearch_destroy(); freebusy_data = {}; rcmail.env.comm_path = comm_path_before; // restore comm_path if (op_elem) @@ -3894,6 +3893,10 @@ function rcube_calendar_ui(settings) $('#edit-attendees-form .attendees-invitebox').show(); } } + // reset autocompletion on tab change (#3389) + if (ui.oldPanel.selector == '#event-panel-attendees' || ui.oldPanel.selector == '#event-panel-resources') { + rcmail.ksearch_blur(); + } } }); $('#edit-enddate').datepicker(datepicker_settings); diff --git a/plugins/tasklist/tasklist.js b/plugins/tasklist/tasklist.js index 5aa1f80b..7683cc5f 100644 --- a/plugins/tasklist/tasklist.js +++ b/plugins/tasklist/tasklist.js @@ -593,7 +593,14 @@ function rcube_tasklist_ui(settings) */ function init_taskedit() { - $('#taskedit').tabs(); + $('#taskedit').tabs({ + activate: function(event, ui) { + // reset autocompletion on tab change (#3389) + if (ui.oldPanel.selector == '#taskedit-panel-attendees') { + rcmail.ksearch_blur(); + } + } + }); var completeness_slider_change = function(e, ui){ var v = completeness_slider.slider('value'); @@ -2205,6 +2212,7 @@ function rcube_tasklist_ui(settings) closeOnEscape: false, title: rcmail.gettext((action == 'edit' ? 'edittask' : 'newtask'), 'tasklist'), close: function() { + rcmail.ksearch_blur(); editform.hide().appendTo(document.body); $dialog.dialog('destroy').remove(); },