diff --git a/js/angular/controller/scrollController.js b/js/angular/controller/scrollController.js index aa5e69f33c..1f86c06680 100644 --- a/js/angular/controller/scrollController.js +++ b/js/angular/controller/scrollController.js @@ -58,8 +58,7 @@ function($scope, } var resize = angular.bind(scrollView, scrollView.resize); - ionic.on('resize', resize, $window); - + angular.element($window).on('resize', resize); var scrollFunc = function(e) { var detail = (e.originalEvent || e).detail || {}; @@ -75,8 +74,7 @@ function($scope, $scope.$on('$destroy', function() { deregisterInstance(); scrollView && scrollView.__cleanup && scrollView.__cleanup(); - ionic.off('resize', resize, $window); - $window.removeEventListener('resize', resize); + angular.element($window).off('resize', resize); $element.off('scroll', scrollFunc); scrollView = self.scrollView = scrollViewOptions = self._scrollViewOptions = scrollViewOptions.el = self._scrollViewOptions.el = $element = self.$element = element = null; }); diff --git a/js/angular/controller/sideMenuController.js b/js/angular/controller/sideMenuController.js index 139a714f7a..bb4025dd72 100644 --- a/js/angular/controller/sideMenuController.js +++ b/js/angular/controller/sideMenuController.js @@ -292,10 +292,7 @@ function($scope, $attrs, $ionicSideMenuDelegate, $ionicPlatform, $ionicBody, $io self.exposeAside = function(shouldExposeAside) { if (!(self.left && self.left.isEnabled) && !(self.right && self.right.isEnabled)) return; self.close(); - //Trigger a resize if it changed - if (isAsideExposed !== shouldExposeAside) { - ionic.trigger('resize', null, window); - } + isAsideExposed = shouldExposeAside; if (self.left && self.left.isEnabled) { // set the left marget width if it should be exposed diff --git a/js/angular/directive/collectionRepeat.js b/js/angular/directive/collectionRepeat.js index 69e9d5415a..14452415f7 100644 --- a/js/angular/directive/collectionRepeat.js +++ b/js/angular/directive/collectionRepeat.js @@ -140,11 +140,9 @@ function CollectionRepeatDirective($ionicCollectionManager, $parse, $window, $$r initDimensions(); - var debouncedRefreshDimensions = ionic.animationFrameThrottle(refreshDimensions); - var debouncedOnResize = ionic.animationFrameThrottle(validateResize); - // Dimensions are refreshed on resize or data change. - angular.element($window).on('resize', debouncedOnResize); + angular.element($window).on('resize', validateResize); + var unlistenToExposeAside = $rootScope.$on('$ionicExposeAside', validateResize); $timeout(refreshDimensions, 0, false); scope.$watchCollection(listGetter, function(newValue) { @@ -162,7 +160,8 @@ function CollectionRepeatDirective($ionicCollectionManager, $parse, $window, $$r }); scope.$on('$destroy', function() { - angular.element($window).off('resize', debouncedOnResize); + angular.element($window).off('resize', validateResize); + unlistenToExposeAside(); computedStyleNode && computedStyleNode.parentNode && computedStyleNode.parentNode.removeChild(computedStyleNode); diff --git a/js/angular/directive/sideMenuContent.js b/js/angular/directive/sideMenuContent.js index 0db992fa43..ca4127be6c 100644 --- a/js/angular/directive/sideMenuContent.js +++ b/js/angular/directive/sideMenuContent.js @@ -154,7 +154,6 @@ function($timeout, $ionicGesture, $window) { $element[0].style.width = ''; content.offsetX = 0; } - ionic.trigger('resize', null, window); }), setMarginRight: ionic.animationFrameThrottle(function(amount) { if (amount) { diff --git a/test/html/collection-repeat/side-menu-exposed.html b/test/html/collection-repeat/side-menu-exposed.html new file mode 100644 index 0000000000..94f5222652 --- /dev/null +++ b/test/html/collection-repeat/side-menu-exposed.html @@ -0,0 +1,59 @@ + + +
+ + + +