From d8be5f7ddbf71d126bee42bd7f4a7e308023fef5 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Fri, 4 Sep 2009 21:32:53 +0000 Subject: [PATCH] Improved JavaScript of UIxContactsUserFolders to avoid useless AJAX requests. Monotone-Parent: 23831e953238f691f5c6c210b4ddec5d7aee5aec Monotone-Revision: a62454d2734ee40074efa8872c2a7dfef7bf59fc Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2009-09-04T21:32:53 Monotone-Branch: ca.inverse.sogo --- .../UIxContactsUserFolders.css | 8 ++-- .../UIxContactsUserFolders.js | 39 +++++++++++-------- UI/WebServerResources/generic.js | 3 ++ 3 files changed, 29 insertions(+), 21 deletions(-) diff --git a/UI/WebServerResources/UIxContactsUserFolders.css b/UI/WebServerResources/UIxContactsUserFolders.css index 258c35fe3..0be4e1163 100644 --- a/UI/WebServerResources/UIxContactsUserFolders.css +++ b/UI/WebServerResources/UIxContactsUserFolders.css @@ -1,11 +1,11 @@ DIV#filterPanel -{ position: absolute; +{ position: absolute; n0border: 1px dotted blue; text-align: center; width: auto; - line-height: 3em; + n0line-height: 3em; top: 0; - left: 1em; - right: 1em; } + left: 0; + padding: 3px 1em 0; } SPAN.searchBox { float: none !important; } diff --git a/UI/WebServerResources/UIxContactsUserFolders.js b/UI/WebServerResources/UIxContactsUserFolders.js index d5989bcfc..5cae2c47c 100644 --- a/UI/WebServerResources/UIxContactsUserFolders.js +++ b/UI/WebServerResources/UIxContactsUserFolders.js @@ -24,14 +24,14 @@ function onSearchFormSubmit() { } function usersSearchCallback(http) { - document.userFoldersRequest = null; - var div = $("folders"); - if (http.status == 200) { - var response = http.responseText; - buildUsersTree(div, http.responseText) - } - else if (http.status == 404) - div.update(); + document.userFoldersRequest = null; + var div = $("folders"); + if (http.status == 200) { + var response = http.responseText; + buildUsersTree(div, http.responseText); + } + else if (http.status == 404) + div.update(); } function addUserLineToTree(tree, parent, line) { @@ -223,20 +223,25 @@ function onConfirmFolderSelection(event) { } function onFolderSearchKeyDown(event) { + if (event.ctrlKey + || event.metaKey + || event.keyCode == Event.KEY_TAB) + return; + var div = $("folders"); - + if (!div.clean) { - var oldD = $("d"); - if (oldD) { - oldD.remove(); - delete d; - } - div.clean = true; - $("addButton").disabled = true; + var oldD = $("d"); // the folders tree + if (oldD) { + oldD.remove(); + delete d; + } + div.clean = true; + $("addButton").disabled = true; } if (this.timer) - startAnimation($("pageContent"), $("filterPanel")); + startAnimation($("pageContent"), $("filterPanel")); } function initUserFoldersWindow() { diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js index ae5042adf..676501c21 100644 --- a/UI/WebServerResources/generic.js +++ b/UI/WebServerResources/generic.js @@ -939,6 +939,9 @@ function onSearchBlur(event) { } function onSearchKeyDown(event) { + if (event.keyCode == Event.KEY_TAB) + return false; + if (this.timer) clearTimeout(this.timer);