@@ -73,10 +73,16 @@ angular.module('ui.scroll', [])
73
73
return parseNumber ( result , defaultValue , isFloat ) ;
74
74
}
75
75
76
+ function parseBooleanAttr ( value , defaultValue ) {
77
+ const result = $parse ( value ) ( $scope ) ;
78
+ return typeof result === 'boolean' ? result : defaultValue ;
79
+ }
80
+
76
81
const BUFFER_MIN = 3 ;
77
82
const BUFFER_DEFAULT = 10 ;
78
83
const PADDING_MIN = 0.3 ;
79
84
const PADDING_DEFAULT = 0.5 ;
85
+ const HANDLE_INERTIA_DEFAULT = true ;
80
86
const START_INDEX_DEFAULT = 1 ;
81
87
const MAX_VIEWPORT_DELAY = 500 ;
82
88
const VIEWPORT_POLLING_INTERVAL = 50 ;
@@ -87,6 +93,7 @@ angular.module('ui.scroll', [])
87
93
const viewportController = controllers [ 0 ] ;
88
94
const bufferSize = Math . max ( BUFFER_MIN , parseNumericAttr ( $attr . bufferSize , BUFFER_DEFAULT ) ) ;
89
95
const padding = Math . max ( PADDING_MIN , parseNumericAttr ( $attr . padding , PADDING_DEFAULT , true ) ) ;
96
+ const handleInertia = parseBooleanAttr ( $attr . handleInertia , HANDLE_INERTIA_DEFAULT ) ;
90
97
let startIndex = parseNumericAttr ( $attr . startIndex , START_INDEX_DEFAULT ) ;
91
98
let ridActual = 0 ; // current data revision id
92
99
let pending = [ ] ;
@@ -501,7 +508,7 @@ angular.module('ui.scroll', [])
501
508
}
502
509
503
510
function resizeAndScrollHandler ( ) {
504
- if ( fixInertia ( ) ) {
511
+ if ( handleInertia && fixInertia ( ) ) {
505
512
return ;
506
513
}
507
514
if ( ! $rootScope . $$phase && ! adapter . isLoading && ! adapter . disabled ) {
0 commit comments