jolleekin / modern_charts

BSD 2-Clause "Simplified" License
66 stars 12 forks source link

BarChart fails with single data point #19

Closed morrica closed 5 years ago

morrica commented 5 years ago

BarChart fails to draw any bars when there is only one data point and crashes when you mouseover the chart with an index out of range error.

Take the following DataTable as an example for a website visitor count chart.

DataTable table = DataTable([
    ['Categories', 'Visitors'],
    ['2019-09-07', 23],
  ]);

Creating a BarChart with that table will not draw the single bar that it should and mousing over will result in an error that looks something like the following:

EXCEPTION: RangeError (index): Index out of range: index must not be negative: -1
STACKTRACE: 
dart:sdk_internal                                                                             _get]
package:modern_charts/packages/modern_charts/src/base.dart 1362:26                            [_getEntityGroupIndex]
package:modern_charts/packages/modern_charts/src/base.dart 719:17                             [_mouseMove]
package:stack_trace                                                                           <fn>
package:angular/src/core/change_detection/packages/angular/src/core/zone/ng_zone.dart 144:18  <fn>
dart:sdk_internal                                                                             runUnary
package:angular/src/core/change_detection/packages/angular/src/core/zone/ng_zone.dart 141:18  [_runUnary]

dart:sdk_internal                                                                                                                              listen
package:modern_charts/packages/modern_charts/src/base.dart 755:43                                                                              [_initializeTooltip]
package:modern_charts/packages/modern_charts/src/base.dart 891:5                                                                               draw