From edb62c2c4e59bf0dc9f68828fb2fb19a2dd667b2 Mon Sep 17 00:00:00 2001 From: Tim Lancina Date: Mon, 20 Apr 2015 11:11:31 -0500 Subject: [PATCH] fix(keyboard): overflow: visible on scroll view when keyboard is open When using JS scrolling, prevents the web view from automatically scrolling inputs into view when they are either scrolled under the keyboard or already below the keyboard and typed into. --- js/views/scrollView.js | 2 ++ test/unit/views/scrollView.unit.js | 1 + 2 files changed, 3 insertions(+) diff --git a/js/views/scrollView.js b/js/views/scrollView.js index 8a7026e6aa9..4489fdcc8d4 100644 --- a/js/views/scrollView.js +++ b/js/views/scrollView.js @@ -687,6 +687,7 @@ ionic.views.Scroll = ionic.views.View.inherit({ // D - A or B - A if D > B D - A max(0, D - B) scrollViewOffsetHeight = scrollViewOffsetHeight - keyboardOffset; container.style.height = scrollViewOffsetHeight + "px"; + container.style.overflow = "visible"; //update scroll view self.resize(); @@ -752,6 +753,7 @@ ionic.views.Scroll = ionic.views.View.inherit({ if ( self.isShrunkForKeyboard ) { self.isShrunkForKeyboard = false; container.style.height = ""; + container.style.overflow = ""; } self.resize(); }; diff --git a/test/unit/views/scrollView.unit.js b/test/unit/views/scrollView.unit.js index f483e1a0852..da24c7396b8 100644 --- a/test/unit/views/scrollView.unit.js +++ b/test/unit/views/scrollView.unit.js @@ -73,6 +73,7 @@ describe('Scroll View', function() { expect(sv.resize).toHaveBeenCalled(); expect(sv.isShrunkForKeyboard).toBe(true); expect(sc.style.height).toEqual("248px"); + expect(sc.style.overflow).toEqual("visible"); ionic.trigger('scrollChildIntoView', details, true); //already shrunk, so shouldn't resize again