summaryrefslogtreecommitdiffstats
path: root/assets
diff options
context:
space:
mode:
authorAndy Huang <ath@google.com>2012-10-08 18:44:42 -0700
committerAndy Huang <ath@google.com>2012-10-08 18:44:56 -0700
commitdf0d91c5fa064e93b647fd62fe2446791664003f (patch)
tree7a378e3c554076646e1b04ff8705945e9bdbd312 /assets
parentcf36f4d64ce81172d4d92627e64372917d278a45 (diff)
downloadandroid_packages_apps_UnifiedEmail-df0d91c5fa064e93b647fd62fe2446791664003f.tar.gz
android_packages_apps_UnifiedEmail-df0d91c5fa064e93b647fd62fe2446791664003f.tar.bz2
android_packages_apps_UnifiedEmail-df0d91c5fa064e93b647fd62fe2446791664003f.zip
When updating a message body, don't collapse quoted text
When a reply is sent and synced, the quoted text portion transitions from an expanded snippet to a collapsed one, which shrinks the conversation height and causes the scroll position to jump. It's not enough to just avoid processing reply bodies, because a reply to a wide message must also be normalized if the quoted text portion is visible. So when replacing a message body, switch the initial state of quoted text blocks from collapsed to expanded. Bug: 7246054 Change-Id: I5375beeb4209779e7cb7feaa570590a9cbc520da
Diffstat (limited to 'assets')
-rw-r--r--assets/script.js22
1 files changed, 14 insertions, 8 deletions
diff --git a/assets/script.js b/assets/script.js
index 3fcfdae11..27da9be3e 100644
--- a/assets/script.js
+++ b/assets/script.js
@@ -59,8 +59,12 @@ function up(el, className) {
return parent || null;
}
-function toggleQuotedText(e) {
- var toggleElement = e.target;
+function onToggleClick(e) {
+ toggleQuotedText(e.target);
+ measurePositions();
+}
+
+function toggleQuotedText(toggleElement) {
var elidedTextElement = toggleElement.nextSibling;
var isHidden = getComputedStyle(elidedTextElement).display == 'none';
toggleElement.innerHTML = isHidden ? MSG_HIDE_ELIDED : MSG_SHOW_ELIDED;
@@ -71,15 +75,13 @@ function toggleQuotedText(e) {
if (isHidden) {
normalizeElementWidths([elidedTextElement]);
}
-
- measurePositions();
}
function collapseAllQuotedText() {
- collapseQuotedText(document.documentElement);
+ processQuotedText(document.documentElement, false /* showElided */);
}
-function collapseQuotedText(elt) {
+function processQuotedText(elt, showElided) {
var i;
var elements = elt.getElementsByClassName("elided-text");
var elidedElement, toggleElement;
@@ -88,8 +90,12 @@ function collapseQuotedText(elt) {
toggleElement = document.createElement("div");
toggleElement.className = "mail-elided-text";
toggleElement.innerHTML = MSG_SHOW_ELIDED;
- toggleElement.onclick = toggleQuotedText;
+ toggleElement.onclick = onToggleClick;
+ elidedElement.style.display = 'none';
elidedElement.parentNode.insertBefore(toggleElement, elidedElement);
+ if (showElided) {
+ toggleQuotedText(toggleElement);
+ }
}
}
@@ -359,7 +365,7 @@ function replaceMessageBodies(messageIds) {
id = messageIds[i];
msgContentDiv = document.querySelector("#" + id + " > .mail-message-content");
msgContentDiv.innerHTML = window.mail.getMessageBody(id);
- collapseQuotedText(msgContentDiv);
+ processQuotedText(msgContentDiv, true /* showElided */);
}
}