syncfusion / flutter-widgets

Syncfusion Flutter widgets libraries include high quality UI widgets and file-format packages to help you create rich, high-quality applications for iOS, Android, and web from a single code base.
1.48k stars 701 forks source link

Trackball does not disappear after moving the chart #1959

Open furuyan opened 5 days ago

furuyan commented 5 days ago

Bug description

When TrackballBehavior.shouldAlwaysShow is true, moving the chart does not hide the Trackball tooltip & marker. This was not a problem in 23.2.7, but it started happening after upgrading to 26.1.39

Steps to reproduce

  1. Tap the chart
  2. Change the display range of the chart with RangeSelector

Code sample

Code sample ```dart import 'dart:math'; import 'package:flutter/material.dart'; import 'package:syncfusion_flutter_charts/charts.dart'; import 'package:syncfusion_flutter_core/core.dart'; import 'package:syncfusion_flutter_sliders/sliders.dart'; void main() { return runApp(_ChartApp()); } class _ChartApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Chart Demo', theme: ThemeData(primarySwatch: Colors.blue), home: _MyHomePage(), ); } } class _MyHomePage extends StatefulWidget { // ignore: prefer_const_constructors_in_immutables _MyHomePage({Key? key}) : super(key: key); @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<_MyHomePage> { SfRangeValues _values = SfRangeValues(0.0, 10.0); late RangeController _rangeController; late List chartData = []; @override void initState() { super.initState(); chartData.addAll(List.generate(30, (int index) { return Data(x: index.toDouble(), y: Random().nextInt(10).toDouble()); })); _rangeController = RangeController(start: _values.start, end: _values.end); } @override void dispose() { _rangeController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Container( padding: const EdgeInsets.fromLTRB(0, 120, 0, 0), child: Column( children: [ mainChart(), selector(), ], ), ), ), ); } SfCartesianChart mainChart() { return SfCartesianChart( primaryXAxis: CategoryAxis(minimum: chartData.first.x, maximum: chartData.last.x, rangeController: _rangeController), series: >[ LineSeries( dataSource: chartData, xValueMapper: (Data sales, _) => sales.x.toString(), yValueMapper: (Data sales, _) => sales.y, ), ], trackballBehavior: TrackballBehavior( enable: true, lineType: TrackballLineType.none, activationMode: ActivationMode.singleTap, shouldAlwaysShow: true, )); } SfRangeSelector selector() { return SfRangeSelector( min: 0, max: chartData.length.toDouble(), interval: 1, controller: _rangeController, child: Container( height: 130, child: SfCartesianChart( margin: const EdgeInsets.all(0), primaryXAxis: NumericAxis(minimum: 0, maximum: chartData.length.toDouble(), isVisible: false), primaryYAxis: NumericAxis(isVisible: false), plotAreaBorderWidth: 0, series: >[ SplineAreaSeries( color: Color.fromARGB(255, 126, 184, 253), dataSource: chartData, xValueMapper: (Data sales, int index) => sales.x, yValueMapper: (Data sales, int index) => sales.y) ], ), ), ); } } class Data { Data({required this.x, required this.y}); final double x; final double y; } ```

Screenshots or Video

Screenshots / Video demonstration https://github.com/syncfusion/flutter-widgets/assets/6193319/f216876c-fc84-41a0-b476-7e4b50b9ae0a

Stack Traces

Stack Traces ```dart no stack trace ```

On which target platforms have you observed this bug?

Android, iOS

Flutter Doctor output

Doctor output ```console [✓] Flutter (Channel stable, 3.22.2, on macOS 14.5 23F79 darwin-arm64, locale ja-JP) [✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0) [✓] Xcode - develop for iOS and macOS (Xcode 15.4) [✓] Chrome - develop for the web [✓] Android Studio (version 2023.2) [✓] VS Code (version 1.90.2) [✓] Connected device (5 available) [✓] Network resources ```
LokeshPalani commented 4 days ago

Hi @furuyan,

We can replicate the reported issue regarding ‘Trackball not disappear when panning the chart using SfRangeSelector in the Mobile Platform’ on our end and the issue is scheduled to be fixed in our weekly patch release, which is expected to be rolled out on July 9, 2024. We will notify you here once the release has been rolled out, and we appreciate your patience in the meantime.

Regards, Lokesh P.