@@ -60,20 +60,23 @@ angular.module('ui.scroll', [])
60
60
throw new Error ( 'Expected uiScroll in form of \'_item_ in _datasource_\' but got \'' + $attr . uiScroll + '\'' ) ;
61
61
}
62
62
63
- function getIntegerNumber ( value , defaultValue = 1 ) {
64
- value = value === null ? defaultValue : Math . floor ( value ) ;
63
+ function parseNumber ( value , defaultValue , isFloat ) {
64
+ if ( ! isFloat ) {
65
+ value = value === null ? defaultValue : Math . floor ( value ) ;
66
+ }
65
67
return isNaN ( value ) ? defaultValue : value ;
66
68
}
67
69
68
- function parseNumericAttr ( value , defaultValue ) {
70
+ function parseNumericAttr ( value , defaultValue , isFloat ) {
69
71
const result = $parse ( value ) ( $scope ) ;
70
- return getIntegerNumber ( result , defaultValue ) ;
72
+ return parseNumber ( result , defaultValue , isFloat ) ;
71
73
}
72
74
73
75
const BUFFER_MIN = 3 ;
74
76
const BUFFER_DEFAULT = 10 ;
75
77
const PADDING_MIN = 0.3 ;
76
78
const PADDING_DEFAULT = 0.5 ;
79
+ const START_INDEX_DEFAULT = 1 ;
77
80
const MAX_VIEWPORT_DELAY = 500 ;
78
81
const VIEWPORT_POLLING_INTERVAL = 50 ;
79
82
@@ -82,8 +85,8 @@ angular.module('ui.scroll', [])
82
85
const datasourceName = match [ 2 ] ;
83
86
const viewportController = controllers [ 0 ] ;
84
87
const bufferSize = Math . max ( BUFFER_MIN , parseNumericAttr ( $attr . bufferSize , BUFFER_DEFAULT ) ) ;
85
- const padding = Math . max ( PADDING_MIN , parseNumericAttr ( $attr . padding , PADDING_DEFAULT ) ) ;
86
- let startIndex = parseNumericAttr ( $attr . startIndex ) ;
88
+ const padding = Math . max ( PADDING_MIN , parseNumericAttr ( $attr . padding , PADDING_DEFAULT , true ) ) ;
89
+ let startIndex = parseNumericAttr ( $attr . startIndex , START_INDEX_DEFAULT ) ;
87
90
let ridActual = 0 ; // current data revision id
88
91
let pending = [ ] ;
89
92
@@ -240,7 +243,7 @@ angular.module('ui.scroll', [])
240
243
viewport . resetTopPadding ( ) ;
241
244
viewport . resetBottomPadding ( ) ;
242
245
if ( arguments . length ) {
243
- startIndex = getIntegerNumber ( arguments [ 0 ] ) ;
246
+ startIndex = parseNumber ( arguments [ 0 ] , START_INDEX_DEFAULT , false ) ;
244
247
}
245
248
buffer . reset ( startIndex ) ;
246
249
persistDatasourceIndex ( datasource , 'minIndex' ) ;
0 commit comments