getBarTouchData method

BarTouchData getBarTouchData(
  1. BuildContext buildContext
)

Implementation

BarTouchData getBarTouchData(BuildContext buildContext) {
  return BarTouchData(
    enabled: true,
    touchTooltipData: BarTouchTooltipData(
      getTooltipColor: (group) => Colors.orangeAccent,
      tooltipPadding: const EdgeInsets.all(0),
      tooltipMargin: 8,
      getTooltipItem: (
        BarChartGroupData group,
        int groupIndex,
        BarChartRodData rod,
        int rodIndex,
      ) {
        String? tooltip;
        if (controller.tooltip != null) {
          Map<String, dynamic> initialContext = {};
          initialContext['x'] = group.x;
          initialContext['label'] = controller.labels[group.x];
          initialContext['y'] = rod.toY;
          initialContext['this'] = this;
          initialContext['index'] = rodIndex;
          initialContext['title'] = controller.title;
          DataContext dataContext = DataContext(
              buildContext: buildContext, initialMap: initialContext);
          tooltip = dataContext.eval(controller.tooltip);
        }
        tooltip ??=
            controller.labels[group.x] + ':' + rod.toY.round().toString();
        return BarTooltipItem(
          tooltip,
          const TextStyle(
            color: Colors.blueGrey,
            fontWeight: FontWeight.bold,
          ),
        );
      },
    ),
  );
}