@@ -218,20 +218,21 @@ angular.module('ui.scroll', [])
218218 }
219219
220220 function Viewport ( buffer , element , controllers , attrs ) {
221- var averageItemHeight , bottomPadding , bufferPadding , topPadding , viewport , viewportOffset ;
221+ let topPadding = null ;
222+ let bottomPadding = null ;
223+ let averageItemHeight = 0 ;
224+ const viewport = controllers [ 0 ] && controllers [ 0 ] . viewport ? controllers [ 0 ] . viewport : angular . element ( window ) ;
222225
223- viewport = controllers [ 0 ] && controllers [ 0 ] . viewport ? controllers [ 0 ] . viewport : angular . element ( window ) ;
224226 viewport . css ( {
225227 'overflow-y' : 'auto' ,
226228 'display' : 'block'
227229 } ) ;
228- topPadding = null ;
229- bottomPadding = null ;
230- averageItemHeight = 0 ;
231230
232- bufferPadding = function ( ) {
231+ let viewportOffset = viewport . offset ( ) ? ( ) => viewport . offset ( ) : ( ) => ( { top : 0 } ) ;
232+
233+ function bufferPadding ( ) {
233234 return viewport . outerHeight ( ) * Math . max ( 0.1 , + attrs . padding || 0.1 ) ; // some extra space to initiate preload
234- } ;
235+ }
235236
236237 viewport . createPaddingElements = function ( template ) {
237238 topPadding = new Padding ( template ) ;
@@ -269,14 +270,6 @@ angular.module('ui.scroll', [])
269270 return ! buffer . eof && viewport . bottomDataPos ( ) < viewport . bottomVisiblePos ( ) + bufferPadding ( ) ;
270271 } ;
271272
272- viewportOffset = viewport . offset ( ) ? function ( ) {
273- return viewport . offset ( ) ;
274- } : function ( ) {
275- return {
276- top : 0
277- } ;
278- } ;
279-
280273 viewport . clipBottom = function ( ) {
281274 // clip the invisible items off the bottom
282275 var i , item , j , overage , ref ;
@@ -355,6 +348,7 @@ angular.module('ui.scroll', [])
355348 return viewport . scrollTop ( viewport . scrollTop ( ) - paddingHeight ) ;
356349 }
357350 } ;
351+
358352 return viewport ;
359353 }
360354
0 commit comments