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 8a7026e6aa..4489fdcc8d 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 f483e1a085..da24c7396b 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