diff --git a/app/assets/javascripts/expandCollapse.js b/app/assets/javascripts/expandCollapse.js
index a624b3605..396747d4c 100644
--- a/app/assets/javascripts/expandCollapse.js
+++ b/app/assets/javascripts/expandCollapse.js
@@ -7,14 +7,6 @@
this.$component = $(component);
- if (this.$component.height() < this.$component.data('max-height')) return;
-
- this.$component
- .append(`
-
...show full email
- `)
- .addClass('collapsed');
-
this.$toggle = this.$component.find('.toggle')
.on(
"click",
@@ -22,6 +14,10 @@
)
.on("keydown", this.filterKeyPresses([32, 13], this.change));
+ if (this.getNativeHeight() < this.$component.data('max-height')) {
+ this.change();
+ }
+
};
this.filterKeyPresses = (keys, callback) => function(event) {
@@ -33,9 +29,29 @@
};
+ this.getNativeHeight = function() {
+
+ var $copy = this.$component.clone().css({
+ 'position': 'absolute',
+ 'left': '9999px',
+ 'width': this.$component.width(),
+ 'font-size': this.$component.css('font-size'),
+ 'line-height': this.$component.css('line-height')
+ }).addClass('expanded');
+
+ $('body').append($copy);
+
+ var nativeHeight = $copy.height();
+
+ $copy.remove();
+
+ return nativeHeight;
+
+ };
+
this.change = () => this.toggleCollapsed() && this.$toggle.remove();
- this.toggleCollapsed = () => this.$component.removeClass('collapsed');
+ this.toggleCollapsed = () => this.$component.addClass('expanded');
};
diff --git a/app/assets/stylesheets/components/email-message.scss b/app/assets/stylesheets/components/email-message.scss
index 53230bb62..d3dbbfde4 100644
--- a/app/assets/stylesheets/components/email-message.scss
+++ b/app/assets/stylesheets/components/email-message.scss
@@ -47,20 +47,24 @@ $button-bottom-border-colour: rgba(0, 0, 0, 0.17);
&-wrapper {
- .collapsed & {
+ .js-enabled & {
max-height: 92px;
overflow: hidden;
}
+ .js-enabled .expanded & {
+ max-height: none;
+ }
+
}
.toggle {
+ display: none;
position: absolute;
left: 50%;
bottom: -18px;
height: 27px;
- display: inline-block;
padding: 0;
margin: 0 0 0 -30px;
line-height: 12px;
@@ -93,3 +97,11 @@ $button-bottom-border-colour: rgba(0, 0, 0, 0.17);
}
}
+
+.js-enabled .toggle {
+ display: inline-block;
+}
+
+.js-enabled .expanded .toggle {
+ display: none;
+}
diff --git a/app/templates/components/email-message.html b/app/templates/components/email-message.html
index 51a1cffae..8543fae86 100644
--- a/app/templates/components/email-message.html
+++ b/app/templates/components/email-message.html
@@ -49,6 +49,7 @@
{{ body|nl2br }}
+ ...show full email
{% endmacro %}