diff --git a/js/angular/directive/collectionRepeat.js b/js/angular/directive/collectionRepeat.js index 5c60c167a6..fd2a423b0e 100644 --- a/js/angular/directive/collectionRepeat.js +++ b/js/angular/directive/collectionRepeat.js @@ -89,13 +89,11 @@ function CollectionRepeatDirective($ionicCollectionManager, $parse, $window) { priority: 1000, transclude: 'element', $$tlb: true, - require: ['^$ionicScroll', '^?ionNavView'], + require: '^$ionicScroll', link: postLink }; - function postLink(scope, element, attr, ctrls, transclude) { - var scrollCtrl = ctrls[0]; - var navViewCtrl = ctrls[1]; + function postLink(scope, element, attr, scrollCtrl, transclude) { var scrollView = scrollCtrl.scrollView; var node = element[0]; var containerNode = angular.element('
')[0]; @@ -194,17 +192,6 @@ function CollectionRepeatDirective($ionicCollectionManager, $parse, $window) { repeatManager = null; }); - var isDisconnected; - scope.$on('$ionic.disconnectScope', function() { - isDisconnected = true; - }); - scope.$on('$ionic.reconnectScope', function() { - isDisconnected = false; - }); - navViewCtrl && navViewCtrl.scope.$on('$ionicView.afterEnter', function() { - if (refreshDimensions.queued) refreshDimensions(); - }); - // Make sure this resize actually changed the size of the screen function validateResize() { var h = element[0].offsetHeight, w = element[0].offsetWidth; @@ -215,11 +202,6 @@ function CollectionRepeatDirective($ionicCollectionManager, $parse, $window) { validateResize.width = w; } function refreshDimensions() { - // If we're disconnected, don't refresh the dimensions. But mark that we need to once - // the scope reconnects. - if (isDisconnected) return (refreshDimensions.queued = true); - refreshDimensions.queued = false; - if (heightData.computed || widthData.computed) { computeStyleDimensions(); } diff --git a/test/unit/angular/directive/collectionRepeat.unit.js b/test/unit/angular/directive/collectionRepeat.unit.js index 29b6ca63ec..e75e23caa1 100644 --- a/test/unit/angular/directive/collectionRepeat.unit.js +++ b/test/unit/angular/directive/collectionRepeat.unit.js @@ -173,9 +173,9 @@ describe('collectionRepeat', function() { scrollView.__clientHeight = 40; angular.element($window).triggerHandler('resize'); - expect(activeItems().length).toBe(2); - expect(activeItemContents()).toEqual(['2','3']) - expect(activeItemIds()).toEqual(['item_2','item_0']); + expect(activeItems().length).toBe(3); + expect(activeItemContents()).toEqual(['2','3','4']) + expect(activeItemIds()).toEqual(['item_2','item_0','item_1']); })); }); @@ -229,9 +229,9 @@ describe('collectionRepeat', function() { scrollView.__clientHeight = 40; angular.element($window).triggerHandler('resize'); - expect(activeItems().length).toBe(2); - expect(activeItemContents()).toEqual(['2','3']) - expect(activeItemIds()).toEqual(['item_2','item_3']); + expect(activeItems().length).toBe(5); + expect(activeItemContents()).toEqual(['2','3','4','5','6']) + expect(activeItemIds()).toEqual(['item_2','item_3','item_4','item_0','item_1']); })); });