diff options
author | Dave Arter <davea@mysociety.org> | 2018-05-02 11:02:06 +0100 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2018-05-02 12:52:36 +0100 |
commit | 701aa5f29d52a482b8ef5afc49301b45ea09c1a1 (patch) | |
tree | 3842a74917a76279de0388160bf2f491c4cd3227 /www/js/views/details.js | |
parent | 1e7029591628c3d7d0b710e9443c78aaa3b57902 (diff) |
Stop keyboard obscuring report detail text box
Adjusts the height of the details textarea when the keyboard
is shown so that it doesn't disappear behind the keyboard.
Fixes #222
Diffstat (limited to 'www/js/views/details.js')
-rw-r--r-- | www/js/views/details.js | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/www/js/views/details.js b/www/js/views/details.js index f2de9d8..84b6ac2 100644 --- a/www/js/views/details.js +++ b/www/js/views/details.js @@ -18,6 +18,16 @@ 'blur input': 'updateCurrentReport' }, + initialize: function() { + var that = this; + window.addEventListener('native.keyboardshow', function(e) { + that.fixDetailTextAreaHeight(e.keyboardHeight); + }); + window.addEventListener('native.keyboardhide', function(e) { + that.fixDetailTextAreaHeight(); + }); + }, + afterRender: function() { this.$('#form_category').attr('data-role', 'none'); @@ -28,13 +38,18 @@ }, - beforeDisplay: function() { - this.fixPageHeight(); + beforeDisplay: function(extra) { + this.fixDetailTextAreaHeight(); + }, + + fixDetailTextAreaHeight: function(extra) { + extra = extra || 0; + this.fixPageHeight(extra); var header = this.$("div[data-role='header']:visible"), detail = this.$('#form_detail'), top = detail.position().top, viewHeight = $(window).height(), - contentHeight = viewHeight - header.outerHeight() + 15; + contentHeight = viewHeight - header.outerHeight() + 15 - extra; detail.height( contentHeight - top ); }, |