Skip to content

Commit 07465e5

Browse files
committed
adjustScrollTop only called on prepend
1 parent d0ce999 commit 07465e5

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/ui-scroll.coffee

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,6 @@ angular.module('ui.scroll', [])
188188
buffer.eof = false
189189
buffer.remove(buffer.length - overage, buffer.length)
190190
buffer.next -= overage
191-
viewport.adjustPadding()
192191

193192
viewport.shouldLoadTop = ->
194193
!buffer.bof && (viewport.topDataPos() > viewport.topVisiblePos() - bufferPadding())
@@ -208,8 +207,6 @@ angular.module('ui.scroll', [])
208207
buffer.bof = false
209208
buffer.remove(0, overage)
210209
buffer.first += overage
211-
viewport.adjustPadding()
212-
viewport.adjustScrollTop { height: heightIncrement, clipTop: true }
213210

214211
calculateAverageItemHeight = () ->
215212
viewport.averageItemHeight = 0
@@ -227,11 +224,17 @@ angular.module('ui.scroll', [])
227224
viewport.adjustScrollTop = (options) ->
228225
return if not options or not options.height
229226
# edge case 1, scroll up from the very top position
230-
if options.prepend and viewport.scrollTop() < options.height
231-
viewport.scrollTop viewport.scrollTop() + options.height
227+
if options.prepend
228+
paddingHeight = topPadding.height() - options.height
229+
if paddingHeight >= 0
230+
topPadding.height paddingHeight
231+
else
232+
topPadding.height 0
233+
viewport.scrollTop viewport.scrollTop() - paddingHeight
234+
232235
# edge case 2, scroll down from the very bottom position
233-
if options.clipTop and options.height - bottomPadding.height() > 0
234-
viewport.scrollTop viewport.scrollTop() + options.height - bottomPadding.height()
236+
#if options.clipTop and options.height - bottomPadding.height() > 0
237+
#viewport.scrollTop viewport.scrollTop() + options.height - bottomPadding.height()
235238

236239
viewport
237240

@@ -432,12 +435,12 @@ angular.module('ui.scroll', [])
432435
keepFetching = insertWrapperContent(wrapper) || keepFetching
433436
wrapper.op = 'none'
434437
adjustPaddingSettings.height += wrapper.element.height()
438+
viewport.adjustScrollTop(adjustPaddingSettings)
435439

436440
# re-index the buffer
437441
item.scope.$index = buffer.first + i for item,i in buffer
438442

439443
viewport.adjustPadding()
440-
viewport.adjustScrollTop(adjustPaddingSettings)
441444

442445
# schedule another adjustBuffer after animation completion
443446
if (promises.length)

0 commit comments

Comments
 (0)