From 4b6f5ecacfe7b373459a3a009e6f27d39b754d28 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Wed, 16 Jun 2010 20:18:43 +0000 Subject: [PATCH 1/4] Monotone-Parent: 8fb969e757a4404632a8e53c60633563b80e39d4 Monotone-Revision: 5cfbabcbcb278bc8483893b91bbb70cde43f14c1 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2010-06-16T20:18:43 Monotone-Branch: ca.inverse.sogo --- UI/WebServerResources/MailerUI.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/UI/WebServerResources/MailerUI.js b/UI/WebServerResources/MailerUI.js index d67f76e25..dc37da726 100644 --- a/UI/WebServerResources/MailerUI.js +++ b/UI/WebServerResources/MailerUI.js @@ -1658,9 +1658,10 @@ function initMailer(event) { } else Event.observe(window, "beforeunload", onUnload); + + onMessageListResize(); } - onMessageListResize(); onWindowResize.defer(); Event.observe(window, "resize", onWindowResize); } From 8415bcc3b0084fd583bbe10615e23a4d6fde58c0 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Wed, 16 Jun 2010 20:19:08 +0000 Subject: [PATCH 2/4] Monotone-Parent: 5cfbabcbcb278bc8483893b91bbb70cde43f14c1 Monotone-Revision: 5c33aa77cf4762231f1f26c0f955c54150f643e6 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2010-06-16T20:19:08 Monotone-Branch: ca.inverse.sogo --- UI/WebServerResources/SOGoMailDataSource.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UI/WebServerResources/SOGoMailDataSource.js b/UI/WebServerResources/SOGoMailDataSource.js index 5b04f51fc..b3f136e54 100644 --- a/UI/WebServerResources/SOGoMailDataSource.js +++ b/UI/WebServerResources/SOGoMailDataSource.js @@ -62,7 +62,7 @@ SOGoMailDataSource = Class.create({ } } else { - alert("SOGoMailDataSource._loadCallback Error " + http.status + ": " + http.responseText); + log("SOGoMailDataSource._loadCallback Error " + http.status + ": " + http.responseText); } }, From 922c760c95b2fb658f1ee89f131db0e70676a836 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Wed, 16 Jun 2010 20:21:08 +0000 Subject: [PATCH 3/4] Monotone-Parent: 5c33aa77cf4762231f1f26c0f955c54150f643e6 Monotone-Revision: 3bcf335dfec03346a40495ed251c4c99d8b3890f Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2010-06-16T20:21:08 Monotone-Branch: ca.inverse.sogo --- UI/Templates/MailerUI/UIxMailMainFrame.wox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UI/Templates/MailerUI/UIxMailMainFrame.wox b/UI/Templates/MailerUI/UIxMailMainFrame.wox index 3784a2e86..328dbd00f 100644 --- a/UI/Templates/MailerUI/UIxMailMainFrame.wox +++ b/UI/Templates/MailerUI/UIxMailMainFrame.wox @@ -224,7 +224,7 @@ > - + Date: Wed, 16 Jun 2010 20:21:38 +0000 Subject: [PATCH 4/4] See ChangeLog Monotone-Parent: 3bcf335dfec03346a40495ed251c4c99d8b3890f Monotone-Revision: fb988c964ef041fc784d33b6c0cf192735fe88a0 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2010-06-16T20:21:38 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 13 +++++++++++++ UI/WebServerResources/SOGoAutoCompletion.js | 3 ++- UI/WebServerResources/UIxContactEditor.js | 13 +++++++++++++ UI/WebServerResources/UIxListEditor.js | 12 ++++++++++++ 4 files changed, 40 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 01f5ee2b0..7a6cac2cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2010-06-16 Francis Lachapelle + + * UI/WebServerResources/UIxListEditor.js (onDocumentKeydown): + submit form when pressing the return key. + + * UI/WebServerResources/UIxContactEditor.js (onDocumentKeydown): + idem. + + * UI/WebServerResources/SOGoAutoCompletion.js + (performSearchCallback): fixed the position of the popup menu when + the input is within a relatively positioned div (mainly the + contacts list editor). + 2010-06-16 Wolfgang Sourdeau * SoObjects/Mailer/SOGoDraftObject.m diff --git a/UI/WebServerResources/SOGoAutoCompletion.js b/UI/WebServerResources/SOGoAutoCompletion.js index 2820ff16c..3891d8d19 100644 --- a/UI/WebServerResources/SOGoAutoCompletion.js +++ b/UI/WebServerResources/SOGoAutoCompletion.js @@ -191,9 +191,10 @@ var SOGoAutoCompletionInterface = { } // Show popup menu + var div = Element.up(input, 'DIV'); var offsetScroll = Element.cumulativeScrollOffset(input); var offset = Element.positionedOffset(input); - if (offset.top < 50) + if (div.getStyle('position') == 'relative') // Hack for some situations where the offset must be computed differently offset = Element.cumulativeOffset(input); var top = offset.top - offsetScroll.top + node.offsetHeight + 3; diff --git a/UI/WebServerResources/UIxContactEditor.js b/UI/WebServerResources/UIxContactEditor.js index 86ef8def2..f2467ff6c 100644 --- a/UI/WebServerResources/UIxContactEditor.js +++ b/UI/WebServerResources/UIxContactEditor.js @@ -136,6 +136,17 @@ function onEditorSubmitClick(event) { this.blur(); } +function onDocumentKeydown(event) { + var target = Event.element(event); + if (target.tagName == "INPUT" || target.tagName == "SELECT") { + if (event.keyCode == Event.KEY_RETURN) { + var fcn = onEditorSubmitClick.bind($("submitButton")); + fcn(); + Event.stop(event); + } + } +} + function initEditorForm() { var tabsContainer = $("editorTabs"); var controller = new SOGoTabsController(); @@ -148,6 +159,8 @@ function initEditorForm() { $("cancelButton").observe("click", onEditorCancelClick); $("submitButton").observe("click", onEditorSubmitClick); + + Event.observe(document, "keydown", onDocumentKeydown); } document.observe("dom:loaded", initEditorForm); diff --git a/UI/WebServerResources/UIxListEditor.js b/UI/WebServerResources/UIxListEditor.js index 3613bae10..3b45bc476 100644 --- a/UI/WebServerResources/UIxListEditor.js +++ b/UI/WebServerResources/UIxListEditor.js @@ -140,6 +140,16 @@ function onEditorSubmitClick(event) { $("mainForm").submit(); } +function onDocumentKeydown(event) { + var target = Event.element(event); + if (target.tagName == "INPUT") { + if (event.keyCode == Event.KEY_RETURN && target.menu == null) { + onEditorSubmitClick(event); + Event.stop(event); + } + } +} + function initListEditor() { var table = $("referenceList"); table.multiselect = true; @@ -148,6 +158,8 @@ function initListEditor() { $("referenceDelete").observe("click", onReferenceDelete); $("cancelButton").observe("click", onEditorCancelClick); $("submitButton").observe("click", onEditorSubmitClick); + + Event.observe(document, "keydown", onDocumentKeydown); } document.observe("dom:loaded", initListEditor);