@@ -150,8 +150,6 @@ angular.module('ui.scroll', [])
150
150
viewport : viewport
151
151
topPadding : -> topPadding .paddingHeight .apply (topPadding, arguments )
152
152
bottomPadding : -> bottomPadding .paddingHeight .apply (bottomPadding, arguments )
153
- topOffset : -> topPadding .offset ().top + topPadding .outerHeight ()
154
- bottomOffset : -> bottomPadding .offset ().top
155
153
bottomDataPos : ->
156
154
scrollHeight (viewport) - bottomPadding .paddingHeight ()
157
155
topDataPos : ->
@@ -292,7 +290,7 @@ angular.module('ui.scroll', [])
292
290
# We need the item bindings to be processed before we can do adjustment
293
291
$timeout ->
294
292
295
- topOffset = builder .topOffset ()
293
+ bottomPos = builder .bottomDataPos ()
296
294
for wrapper, i in buffer
297
295
switch wrapper .op
298
296
when ' prepend' then toBePrepended .unshift wrapper
@@ -313,14 +311,15 @@ angular.module('ui.scroll', [])
313
311
for wrapper in toBeRemoved
314
312
promises = promises .concat (removeItem wrapper)
315
313
316
- builder .bottomPadding (Math .max (0 ,builder .bottomPadding () - (builder .topOffset () - topOffset)))
314
+ # for anything other than prepend adjust the bottomPadding height
315
+ builder .bottomPadding (Math .max (0 ,builder .bottomPadding () - (builder .bottomDataPos () - bottomPos)))
317
316
318
317
if toBePrepended .length
319
- bottomPos = builder .bottomOffset ()
318
+ bottomPos = builder .bottomDataPos ()
320
319
for wrapper in toBePrepended
321
320
builder .insertElement wrapper .element
322
321
wrapper .op = ' none'
323
- heightIncrement = builder .bottomOffset () - bottomPos
322
+ heightIncrement = builder .bottomDataPos () - bottomPos
324
323
# adjust padding to prevent it from visually pushing everything down
325
324
if builder .topPadding () >= heightIncrement
326
325
# if possible, reduce topPadding
0 commit comments