From 6a5fdd0837be67bccd471928430f725a8f68518b Mon Sep 17 00:00:00 2001 From: Damian Karzon Date: Sun, 9 Nov 2014 11:03:11 +1300 Subject: [PATCH 1/2] Fixed touch scrolling and the js errors on windows --- js/angular/controller/scrollController.js | 5 ++++- js/angular/service/viewService.js | 5 ++++- release/js/ionic-angular.js | 5 ++++- scss/_scaffolding.scss | 1 + 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/js/angular/controller/scrollController.js b/js/angular/controller/scrollController.js index e5c997c37e..92b4a49bca 100644 --- a/js/angular/controller/scrollController.js +++ b/js/angular/controller/scrollController.js @@ -73,7 +73,10 @@ function($scope, scrollViewOptions, $timeout, $window, $$scrollValueCache, $loca $scope.$on('$destroy', function() { deregisterInstance(); - scrollView.__cleanup(); + //Windows: make sure the scrollView.__cleanup exists before calling it + if (scrollView.__cleanup) { + scrollView.__cleanup(); + } ionic.off('resize', resize, $window); $window.removeEventListener('resize', resize); viewContentLoaded(); diff --git a/js/angular/service/viewService.js b/js/angular/service/viewService.js index b247b0f0df..1a895bf8a4 100644 --- a/js/angular/service/viewService.js +++ b/js/angular/service/viewService.js @@ -32,7 +32,10 @@ function($rootScope, $state, $location, $document, $animate, $ionicPlatform, $io // always reset the keyboard state when change stage $rootScope.$on('$stateChangeStart', function(){ - ionic.keyboard.hide(); + //Windows: no hide method available + if (ionic.keyboard.hide) { + ionic.keyboard.hide(); + } }); $rootScope.$on('viewState.changeHistory', function(e, data) { diff --git a/release/js/ionic-angular.js b/release/js/ionic-angular.js index 6c0fc0691f..ab2e9055c6 100644 --- a/release/js/ionic-angular.js +++ b/release/js/ionic-angular.js @@ -4606,7 +4606,10 @@ function($scope, scrollViewOptions, $timeout, $window, $$scrollValueCache, $loca $scope.$on('$destroy', function() { deregisterInstance(); - scrollView.__cleanup(); + //Windows: make sure the scrollView.__cleanup exists before calling it + if (scrollView.__cleanup) { + scrollView.__cleanup(); + } ionic.off('resize', resize, $window); $window.removeEventListener('resize', resize); viewContentLoaded(); diff --git a/scss/_scaffolding.scss b/scss/_scaffolding.scss index 7182fe925a..34b976854f 100644 --- a/scss/_scaffolding.scss +++ b/scss/_scaffolding.scss @@ -41,6 +41,7 @@ body, text-rendering: optimizeLegibility; -webkit-backface-visibility: hidden; -webkit-user-drag: none; + -ms-content-zooming: none; } body.grade-b, From 8b4b800f164a29b88a8b0bf285c1c95761027526 Mon Sep 17 00:00:00 2001 From: Damian Karzon Date: Sun, 9 Nov 2014 11:03:11 +1300 Subject: [PATCH 2/2] Fixed touch scrolling and the js errors on windows Conflicts: js/angular/service/viewService.js --- js/angular/controller/scrollController.js | 5 ++++- js/angular/service/viewService.js | 4 ++++ release/js/ionic-angular.js | 5 ++++- scss/_scaffolding.scss | 1 + 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/js/angular/controller/scrollController.js b/js/angular/controller/scrollController.js index a342d0bf26..05d365b90b 100644 --- a/js/angular/controller/scrollController.js +++ b/js/angular/controller/scrollController.js @@ -67,7 +67,10 @@ function($scope, scrollViewOptions, $timeout, $window, $location, $document, $io $scope.$on('$destroy', function() { deregisterInstance(); - scrollView.__cleanup(); + //Windows: make sure the scrollView.__cleanup exists before calling it + if (scrollView.__cleanup) { + scrollView.__cleanup(); + } ionic.off('resize', resize, $window); $window.removeEventListener('resize', resize); scrollViewOptions = null; diff --git a/js/angular/service/viewService.js b/js/angular/service/viewService.js index f27794ead9..cc25cc917c 100644 --- a/js/angular/service/viewService.js +++ b/js/angular/service/viewService.js @@ -9,6 +9,10 @@ IonicModule $log.warn('$ionicViewService' + oldMethod + ' is deprecated, please use $ionicHistory' + newMethod + ' instead: http://ionicframework.com/docs/nightly/api/service/$ionicHistory/'); } + //Windows: no hide method available + if (ionic.keyboard.hide) { + ionic.keyboard.hide(); + } warn('', ''); var methodsMap = { diff --git a/release/js/ionic-angular.js b/release/js/ionic-angular.js index 4c0fa7c0b2..0b68bb3c51 100644 --- a/release/js/ionic-angular.js +++ b/release/js/ionic-angular.js @@ -6559,7 +6559,10 @@ function($scope, scrollViewOptions, $timeout, $window, $location, $document, $io $scope.$on('$destroy', function() { deregisterInstance(); - scrollView.__cleanup(); + //Windows: make sure the scrollView.__cleanup exists before calling it + if (scrollView.__cleanup) { + scrollView.__cleanup(); + } ionic.off('resize', resize, $window); $window.removeEventListener('resize', resize); scrollViewOptions = null; diff --git a/scss/_scaffolding.scss b/scss/_scaffolding.scss index bdbaa8b209..1d6d9f8576 100644 --- a/scss/_scaffolding.scss +++ b/scss/_scaffolding.scss @@ -41,6 +41,7 @@ body, text-rendering: optimizeLegibility; -webkit-backface-visibility: hidden; -webkit-user-drag: none; + -ms-content-zooming: none; } body.grade-b,