@@ -194,6 +194,9 @@ module.exports = {
194
194
var uiElements = this . queryAll ( '.selectable' ) ;
195
195
_ . each ( uiElements , function ( el ) {
196
196
var elData = el . innerText || d3 . select ( el ) . data ( ) [ 0 ] . value ;
197
+ if ( this . model . getType ( ) === 'Number' ) {
198
+ elData = parseFloat ( elData , 10 ) ;
199
+ }
197
200
if ( _ . contains ( this . selectedValues , elData ) ) {
198
201
el . classList . add ( 'selected' ) ;
199
202
el . classList . remove ( 'unselected' ) ;
@@ -373,13 +376,21 @@ module.exports = {
373
376
*/
374
377
_getRangeBoundsHelper : function ( ) {
375
378
var getOrderedValueHelper = this . _getOrderedValueHelper . bind ( this ) ;
376
-
377
- var lower = _ . min ( this . selectedValues , function ( el ) {
378
- return getOrderedValueHelper ( el ) ;
379
- } ) ;
380
- var upper = _ . max ( this . selectedValues , function ( el ) {
381
- return getOrderedValueHelper ( el ) ;
382
- } ) ;
379
+ var lower ;
380
+ var upper ;
381
+ if ( this . model . getType ( ) === 'Number' ) {
382
+ // numbers are ordered
383
+ lower = _ . first ( this . selectedValues ) ;
384
+ upper = _ . last ( this . selectedValues ) ;
385
+ } else {
386
+ // dates and objectids are not ordered
387
+ lower = _ . min ( this . selectedValues , function ( el ) {
388
+ return getOrderedValueHelper ( el ) ;
389
+ } ) ;
390
+ upper = _ . max ( this . selectedValues , function ( el ) {
391
+ return getOrderedValueHelper ( el ) ;
392
+ } ) ;
393
+ }
383
394
384
395
// find out if data is binned or not
385
396
var uiElements = this . queryAll ( '.selectable' ) ;
0 commit comments