Skip to content

Commit 2820735

Browse files
authored
Consider the enabled property in our touch data (#2010)
* Consider the `enabled` property in LineTouchData, BarTouchData, PieTouchData, ScatterTouchData, RadarTouchData and CandlestickTouchData, #1676 * Update tests
1 parent 0436f7f commit 2820735

File tree

14 files changed

+70
-2
lines changed

14 files changed

+70
-2
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## newVersion
2+
* **BUGFIX** (by @imaNNeo) Consider the `enabled` property in [LineTouchData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md#linetouchdata-read-about-touch-handling), [BarTouchData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#bartouchdata-read-about-touch-handling), [PieTouchData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/pie_chart.md#pietouchdata-read-about-touch-handling), [ScatterTouchData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/scatter_chart.md#scattertouchdata-read-about-touch-handling), [RadarTouchData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/radar_chart.md#radartouchdata-read-about-touch-handling) and [CandlestickTouchData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/candlestick_chart.md#candlesticktouchdata-read-about-touch-handling), #1676
3+
14
## 1.1.1
25
* **IMPROVEMENT** (by @imaNNeo) Upgrade `vector_math` dependency to `2.2.0`, #1985
36
* **IMPROVEMENT** (by @imaNNeo) Upgrade `build_runner` (dev) dependency to `2.8.0`

example/lib/presentation/samples/bar/bar_chart_sample1.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ class BarChartSample1State extends State<BarChartSample1> {
161161
BarChartData mainBarData() {
162162
return BarChartData(
163163
barTouchData: BarTouchData(
164+
enabled: true,
164165
touchTooltipData: BarTouchTooltipData(
165166
getTooltipColor: (_) => Colors.blueGrey,
166167
tooltipHorizontalAlignment: FLHorizontalAlignment.right,

lib/src/chart/bar_chart/bar_chart_renderer.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,14 @@ class RenderBarChart extends RenderBaseChart<BarTouchResponse> {
120120
canvas.restore();
121121
}
122122

123+
@override
124+
bool hitTestSelf(Offset position) {
125+
if (!targetData.barTouchData.enabled) {
126+
return false;
127+
}
128+
return super.hitTestSelf(position);
129+
}
130+
123131
@override
124132
BarTouchResponse getResponseAtLocation(Offset localPosition) {
125133
final chartSize = mockTestSize ?? size;

lib/src/chart/candlestick_chart/candlestick_chart_renderer.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,14 @@ class RenderCandlestickChart extends RenderBaseChart<CandlestickTouchResponse> {
128128
canvas.restore();
129129
}
130130

131+
@override
132+
bool hitTestSelf(Offset position) {
133+
if (!targetData.candlestickTouchData.enabled) {
134+
return false;
135+
}
136+
return super.hitTestSelf(position);
137+
}
138+
131139
@override
132140
CandlestickTouchResponse getResponseAtLocation(Offset localPosition) {
133141
final chartSize = mockTestSize ?? size;

lib/src/chart/line_chart/line_chart_renderer.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,14 @@ class RenderLineChart extends RenderBaseChart<LineTouchResponse> {
121121
canvas.restore();
122122
}
123123

124+
@override
125+
bool hitTestSelf(Offset position) {
126+
if (!targetData.lineTouchData.enabled) {
127+
return false;
128+
}
129+
return super.hitTestSelf(position);
130+
}
131+
124132
@override
125133
LineTouchResponse getResponseAtLocation(Offset localPosition) {
126134
final chartSize = mockTestSize ?? size;

lib/src/chart/pie_chart/pie_chart_renderer.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,14 @@ class RenderPieChart extends RenderBaseChart<PieTouchResponse>
159159
}
160160
}
161161

162+
@override
163+
bool hitTestSelf(Offset position) {
164+
if (!targetData.pieTouchData.enabled) {
165+
return false;
166+
}
167+
return super.hitTestSelf(position);
168+
}
169+
162170
@override
163171
PieTouchResponse getResponseAtLocation(Offset localPosition) {
164172
return PieTouchResponse(

lib/src/chart/radar_chart/radar_chart_renderer.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,14 @@ class RenderRadarChart extends RenderBaseChart<RadarTouchResponse> {
100100
canvas.restore();
101101
}
102102

103+
@override
104+
bool hitTestSelf(Offset position) {
105+
if (!targetData.radarTouchData.enabled) {
106+
return false;
107+
}
108+
return super.hitTestSelf(position);
109+
}
110+
103111
@override
104112
RadarTouchResponse getResponseAtLocation(Offset localPosition) {
105113
return RadarTouchResponse(

lib/src/chart/scatter_chart/scatter_chart_renderer.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,14 @@ class RenderScatterChart extends RenderBaseChart<ScatterTouchResponse> {
124124
canvas.restore();
125125
}
126126

127+
@override
128+
bool hitTestSelf(Offset position) {
129+
if (!targetData.scatterTouchData.enabled) {
130+
return false;
131+
}
132+
return super.hitTestSelf(position);
133+
}
134+
127135
@override
128136
ScatterTouchResponse getResponseAtLocation(Offset localPosition) {
129137
final chartSize = mockTestSize ?? size;

test/chart/bar_chart/bar_chart_renderer_test.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ void main() {
3838
topTitles: AxisTitles(),
3939
bottomTitles: AxisTitles(),
4040
),
41+
barTouchData: const BarTouchData(enabled: false),
4142
);
4243

4344
const textScaler = TextScaler.linear(4);
@@ -69,6 +70,7 @@ void main() {
6970
expect(renderBarChart.paintHolder.data == data, true);
7071
expect(renderBarChart.paintHolder.targetData == targetData, true);
7172
expect(renderBarChart.paintHolder.textScaler == textScaler, true);
73+
expect(renderBarChart.hitTestSelf(Offset.zero), false);
7274
});
7375

7476
test('test 2 check paint function', () {

test/chart/candlestick_chart/candlestick_chart_renderer_test.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ void main() {
2020

2121
final targetData = CandlestickChartData(
2222
candlestickSpots: [candlestickSpot3],
23+
candlestickTouchData: CandlestickTouchData(enabled: false),
2324
);
2425

2526
const textScaler = TextScaler.linear(4);
@@ -51,6 +52,7 @@ void main() {
5152
expect(renderCandlestickChart.paintHolder.data == data, true);
5253
expect(renderCandlestickChart.paintHolder.targetData == targetData, true);
5354
expect(renderCandlestickChart.paintHolder.textScaler == textScaler, true);
55+
expect(renderCandlestickChart.hitTestSelf(Offset.zero), false);
5456
});
5557

5658
test('test 2 check paint function', () {

0 commit comments

Comments
 (0)