File tree Expand file tree Collapse file tree 2 files changed +20
-2
lines changed Expand file tree Collapse file tree 2 files changed +20
-2
lines changed Original file line number Diff line number Diff line change @@ -158,10 +158,10 @@ class Adapter {
158158 if ( angular . isArray ( newItems ) && ! newItems . length ) {
159159 var isTop = index === this . buffer . minIndex ;
160160 if ( isTop ) {
161- this . buffer . minIndex ++ ;
161+ this . buffer . incrementMinIndex ( ) ;
162162 }
163163 else {
164- this . buffer . maxIndex -- ;
164+ this . buffer . decrementMinIndex ( ) ;
165165 }
166166 this . viewport . removeCacheItem ( index , isTop ) ;
167167 }
Original file line number Diff line number Diff line change @@ -78,9 +78,15 @@ export default function ScrollBuffer(elementRoutines, bufferSize) {
7878 // removes single item(wrapper) from the buffer
7979 buffer . splice ( buffer . indexOf ( arg1 ) , 1 ) ;
8080 if ( arg1 . _op === 'isTop' ) {
81+ if ( buffer . first === buffer . minIndex ) {
82+ this . incrementMinIndex ( ) ;
83+ }
8184 buffer . first ++ ;
8285 }
8386 else {
87+ if ( buffer . next === buffer . maxIndex + 1 ) {
88+ this . decrementMinIndex ( ) ;
89+ }
8490 buffer . next -- ;
8591 }
8692 if ( ! buffer . length ) {
@@ -91,6 +97,18 @@ export default function ScrollBuffer(elementRoutines, bufferSize) {
9197 return elementRoutines . removeElementAnimated ( arg1 ) ;
9298 } ,
9399
100+ incrementMinIndex ( ) {
101+ if ( buffer . minIndex ++ === buffer . minIndexUser ) {
102+ buffer . minIndexUser ++ ;
103+ }
104+ } ,
105+
106+ decrementMinIndex ( ) {
107+ if ( buffer . maxIndex -- === buffer . maxIndexUser ) {
108+ buffer . maxIndexUser -- ;
109+ }
110+ } ,
111+
94112 effectiveHeight ( elements ) {
95113 if ( ! elements . length ) {
96114 return 0 ;
You can’t perform that action at this time.
0 commit comments