@@ -194,6 +194,9 @@ module.exports = {
194194 var uiElements = this . queryAll ( '.selectable' ) ;
195195 _ . each ( uiElements , function ( el ) {
196196 var elData = el . innerText || d3 . select ( el ) . data ( ) [ 0 ] . value ;
197+ if ( this . model . getType ( ) === 'Number' ) {
198+ elData = parseFloat ( elData , 10 ) ;
199+ }
197200 if ( _ . contains ( this . selectedValues , elData ) ) {
198201 el . classList . add ( 'selected' ) ;
199202 el . classList . remove ( 'unselected' ) ;
@@ -373,13 +376,21 @@ module.exports = {
373376 */
374377 _getRangeBoundsHelper : function ( ) {
375378 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+ }
383394
384395 // find out if data is binned or not
385396 var uiElements = this . queryAll ( '.selectable' ) ;
0 commit comments