@nativescript-community/ui-chart 1.2.36 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/README.md +6 -0
  2. package/animation/ChartAnimator.d.ts +47 -4
  3. package/animation/ChartAnimator.js +49 -11
  4. package/animation/ChartAnimator.js.map +1 -1
  5. package/animation/Tween.d.ts +1 -1
  6. package/animation/Tween.js +4 -2
  7. package/animation/Tween.js.map +1 -1
  8. package/buffer/AbstractBuffer.d.ts +28 -3
  9. package/buffer/AbstractBuffer.js +22 -3
  10. package/buffer/AbstractBuffer.js.map +1 -1
  11. package/buffer/BarBuffer.d.ts +8 -12
  12. package/buffer/BarBuffer.js +33 -36
  13. package/buffer/BarBuffer.js.map +1 -1
  14. package/buffer/HorizontalBarBuffer.js +13 -10
  15. package/buffer/HorizontalBarBuffer.js.map +1 -1
  16. package/charts/BarChart.d.ts +70 -15
  17. package/charts/BarChart.js +92 -63
  18. package/charts/BarChart.js.map +1 -1
  19. package/charts/BarLineChartBase.d.ts +494 -73
  20. package/charts/BarLineChartBase.js +788 -407
  21. package/charts/BarLineChartBase.js.map +1 -1
  22. package/charts/BubbleChart.d.ts +11 -5
  23. package/charts/BubbleChart.js +10 -8
  24. package/charts/BubbleChart.js.map +1 -1
  25. package/charts/CandleStickChart.d.ts +8 -5
  26. package/charts/CandleStickChart.js +9 -10
  27. package/charts/CandleStickChart.js.map +1 -1
  28. package/charts/Chart.d.ts +420 -91
  29. package/charts/Chart.js +590 -290
  30. package/charts/Chart.js.map +1 -1
  31. package/charts/CombinedChart.d.ts +59 -29
  32. package/charts/CombinedChart.js +74 -67
  33. package/charts/CombinedChart.js.map +1 -1
  34. package/charts/HorizontalBarChart.d.ts +37 -7
  35. package/charts/HorizontalBarChart.js +97 -59
  36. package/charts/HorizontalBarChart.js.map +1 -1
  37. package/charts/LineChart.d.ts +3 -5
  38. package/charts/LineChart.js +6 -10
  39. package/charts/LineChart.js.map +1 -1
  40. package/charts/PieChart.d.ts +218 -64
  41. package/charts/PieChart.js +278 -168
  42. package/charts/PieChart.js.map +1 -1
  43. package/charts/PieRadarChartBase.d.ts +107 -18
  44. package/charts/PieRadarChartBase.js +156 -73
  45. package/charts/PieRadarChartBase.js.map +1 -1
  46. package/charts/RadarChart.d.ts +75 -35
  47. package/charts/RadarChart.js +114 -103
  48. package/charts/RadarChart.js.map +1 -1
  49. package/charts/ScatterChart.d.ts +10 -5
  50. package/charts/ScatterChart.js +11 -10
  51. package/charts/ScatterChart.js.map +1 -1
  52. package/components/AxisBase.d.ts +271 -101
  53. package/components/AxisBase.js +264 -254
  54. package/components/AxisBase.js.map +1 -1
  55. package/components/ComponentBase.d.ts +54 -19
  56. package/components/ComponentBase.js +60 -48
  57. package/components/ComponentBase.js.map +1 -1
  58. package/components/Description.d.ts +18 -9
  59. package/components/Description.js +12 -26
  60. package/components/Description.js.map +1 -1
  61. package/components/IMarker.d.ts +30 -1
  62. package/components/IMarker.js.map +1 -1
  63. package/components/Legend.d.ts +155 -58
  64. package/components/Legend.js +208 -172
  65. package/components/Legend.js.map +1 -1
  66. package/components/LegendEntry.d.ts +38 -0
  67. package/components/LegendEntry.js +34 -0
  68. package/components/LegendEntry.js.map +1 -1
  69. package/components/LimitLine.d.ts +40 -22
  70. package/components/LimitLine.js +44 -56
  71. package/components/LimitLine.js.map +1 -1
  72. package/components/MarkerImage.d.ts +1 -0
  73. package/components/MarkerImage.js +97 -0
  74. package/components/MarkerImage.js.map +1 -0
  75. package/components/XAxis.d.ts +41 -10
  76. package/components/XAxis.js +42 -24
  77. package/components/XAxis.js.map +1 -1
  78. package/components/YAxis.d.ts +114 -37
  79. package/components/YAxis.js +138 -106
  80. package/components/YAxis.js.map +1 -1
  81. package/data/BarData.d.ts +32 -4
  82. package/data/BarData.js +92 -24
  83. package/data/BarData.js.map +1 -1
  84. package/data/BarDataSet.d.ts +35 -18
  85. package/data/BarDataSet.js +42 -47
  86. package/data/BarDataSet.js.map +1 -1
  87. package/data/BarEntry.d.ts +3 -0
  88. package/data/BarEntry.js.map +1 -1
  89. package/data/BarLineScatterCandleBubbleData.d.ts +5 -0
  90. package/data/BarLineScatterCandleBubbleData.js +5 -0
  91. package/data/BarLineScatterCandleBubbleData.js.map +1 -1
  92. package/data/BarLineScatterCandleBubbleDataSet.d.ts +11 -3
  93. package/data/BarLineScatterCandleBubbleDataSet.js +11 -7
  94. package/data/BarLineScatterCandleBubbleDataSet.js.map +1 -1
  95. package/data/BaseDataSet.d.ts +129 -71
  96. package/data/BaseDataSet.js +146 -169
  97. package/data/BaseDataSet.js.map +1 -1
  98. package/data/BaseEntry.d.ts +3 -0
  99. package/data/BaseEntry.js.map +1 -1
  100. package/data/BubbleData.d.ts +7 -1
  101. package/data/BubbleData.js +8 -2
  102. package/data/BubbleData.js.map +1 -1
  103. package/data/BubbleDataSet.d.ts +7 -7
  104. package/data/BubbleDataSet.js +8 -15
  105. package/data/BubbleDataSet.js.map +1 -1
  106. package/data/BubbleEntry.d.ts +1 -0
  107. package/data/BubbleEntry.js.map +1 -1
  108. package/data/CandleData.js.map +1 -1
  109. package/data/CandleDataSet.d.ts +64 -30
  110. package/data/CandleDataSet.js +67 -74
  111. package/data/CandleDataSet.js.map +1 -1
  112. package/data/CandleEntry.d.ts +4 -0
  113. package/data/CandleEntry.js.map +1 -1
  114. package/data/ChartData.d.ts +275 -20
  115. package/data/ChartData.js +400 -95
  116. package/data/ChartData.js.map +1 -1
  117. package/data/CombinedData.d.ts +39 -12
  118. package/data/CombinedData.js +87 -71
  119. package/data/CombinedData.js.map +1 -1
  120. package/data/DataSet.d.ts +59 -8
  121. package/data/DataSet.js +114 -26
  122. package/data/DataSet.js.map +1 -1
  123. package/data/Entry.js.map +1 -1
  124. package/data/LineData.d.ts +5 -0
  125. package/data/LineData.js +5 -0
  126. package/data/LineData.js.map +1 -1
  127. package/data/LineDataSet.d.ts +84 -49
  128. package/data/LineDataSet.js +94 -135
  129. package/data/LineDataSet.js.map +1 -1
  130. package/data/LineRadarDataSet.d.ts +27 -17
  131. package/data/LineRadarDataSet.js +22 -35
  132. package/data/LineRadarDataSet.js.map +1 -1
  133. package/data/LineScatterCandleRadarDataSet.d.ts +30 -15
  134. package/data/LineScatterCandleRadarDataSet.js +36 -39
  135. package/data/LineScatterCandleRadarDataSet.js.map +1 -1
  136. package/data/PieData.d.ts +26 -0
  137. package/data/PieData.js +28 -2
  138. package/data/PieData.js.map +1 -1
  139. package/data/PieDataSet.d.ts +40 -36
  140. package/data/PieDataSet.js +36 -88
  141. package/data/PieDataSet.js.map +1 -1
  142. package/data/PieEntry.d.ts +3 -0
  143. package/data/PieEntry.js.map +1 -1
  144. package/data/RadarData.d.ts +10 -4
  145. package/data/RadarData.js +5 -6
  146. package/data/RadarData.js.map +1 -1
  147. package/data/RadarDataSet.d.ts +7 -21
  148. package/data/RadarDataSet.js +10 -49
  149. package/data/RadarDataSet.js.map +1 -1
  150. package/data/RadarEntry.js.map +1 -1
  151. package/data/ScatterData.d.ts +4 -1
  152. package/data/ScatterData.js +5 -2
  153. package/data/ScatterData.js.map +1 -1
  154. package/data/ScatterDataSet.d.ts +24 -14
  155. package/data/ScatterDataSet.js +26 -31
  156. package/data/ScatterDataSet.js.map +1 -1
  157. package/formatter/DefaultAxisValueFormatter.d.ts +17 -3
  158. package/formatter/DefaultAxisValueFormatter.js +12 -5
  159. package/formatter/DefaultAxisValueFormatter.js.map +1 -1
  160. package/formatter/DefaultFillFormatter.js +7 -7
  161. package/formatter/DefaultFillFormatter.js.map +1 -1
  162. package/formatter/DefaultValueFormatter.js.map +1 -1
  163. package/formatter/IAxisValueFormatter.d.ts +20 -2
  164. package/formatter/IAxisValueFormatter.js.map +1 -1
  165. package/formatter/IFillFormatter.d.ts +25 -0
  166. package/formatter/IFillFormatter.js.map +1 -1
  167. package/formatter/IValueFormatter.d.ts +21 -0
  168. package/formatter/IValueFormatter.js.map +1 -1
  169. package/formatter/ValueFormatter.d.ts +60 -0
  170. package/formatter/ValueFormatter.js +60 -0
  171. package/formatter/ValueFormatter.js.map +1 -1
  172. package/highlight/BarHighlighter.d.ts +22 -2
  173. package/highlight/BarHighlighter.js +43 -17
  174. package/highlight/BarHighlighter.js.map +1 -1
  175. package/highlight/ChartHighlighter.d.ts +87 -5
  176. package/highlight/ChartHighlighter.js +129 -25
  177. package/highlight/ChartHighlighter.js.map +1 -1
  178. package/highlight/CombinedHighlighter.d.ts +6 -0
  179. package/highlight/CombinedHighlighter.js +31 -16
  180. package/highlight/CombinedHighlighter.js.map +1 -1
  181. package/highlight/Highlight.d.ts +54 -1
  182. package/highlight/Highlight.js +5 -0
  183. package/highlight/Highlight.js.map +1 -1
  184. package/highlight/HorizontalBarHighlighter.d.ts +1 -1
  185. package/highlight/HorizontalBarHighlighter.js +14 -13
  186. package/highlight/HorizontalBarHighlighter.js.map +1 -1
  187. package/highlight/IHighlighter.d.ts +11 -1
  188. package/highlight/IHighlighter.js.map +1 -1
  189. package/highlight/PieHighlighter.js +2 -2
  190. package/highlight/PieHighlighter.js.map +1 -1
  191. package/highlight/PieRadarHighlighter.d.ts +12 -1
  192. package/highlight/PieRadarHighlighter.js +12 -4
  193. package/highlight/PieRadarHighlighter.js.map +1 -1
  194. package/highlight/RadarHighlighter.d.ts +12 -0
  195. package/highlight/RadarHighlighter.js +24 -10
  196. package/highlight/RadarHighlighter.js.map +1 -1
  197. package/index.d.ts +11 -0
  198. package/index.js +15 -0
  199. package/index.js.map +1 -0
  200. package/interfaces/dataprovider/BarDataProvider.d.ts +4 -4
  201. package/interfaces/dataprovider/BarLineScatterCandleBubbleDataProvider.d.ts +8 -3
  202. package/interfaces/dataprovider/BubbleDataProvider.d.ts +1 -1
  203. package/interfaces/dataprovider/CandleDataProvider.d.ts +1 -1
  204. package/interfaces/dataprovider/ChartInterface.d.ts +17 -22
  205. package/interfaces/dataprovider/CombinedDataProvider.d.ts +1 -1
  206. package/interfaces/dataprovider/LineDataProvider.d.ts +1 -1
  207. package/interfaces/dataprovider/ScatterDataProvider.d.ts +1 -1
  208. package/interfaces/datasets/IBarDataSet.d.ts +8 -22
  209. package/interfaces/datasets/IBarLineScatterCandleBubbleDataSet.d.ts +1 -3
  210. package/interfaces/datasets/IBubbleDataSet.d.ts +3 -9
  211. package/interfaces/datasets/ICandleDataSet.d.ts +44 -41
  212. package/interfaces/datasets/IDataSet.d.ts +35 -151
  213. package/interfaces/datasets/ILineDataSet.d.ts +15 -54
  214. package/interfaces/datasets/ILineRadarDataSet.d.ts +7 -28
  215. package/interfaces/datasets/ILineScatterCandleRadarDataSet.d.ts +5 -4
  216. package/interfaces/datasets/IPieDataSet.d.ts +22 -40
  217. package/interfaces/datasets/IRadarDataSet.d.ts +7 -13
  218. package/interfaces/datasets/IScatterDataSet.d.ts +17 -16
  219. package/jobs/AnimatedMoveViewJob.d.ts +3 -0
  220. package/jobs/AnimatedMoveViewJob.js +12 -8
  221. package/jobs/AnimatedMoveViewJob.js.map +1 -1
  222. package/jobs/AnimatedViewPortJob.d.ts +7 -8
  223. package/jobs/AnimatedViewPortJob.js +16 -23
  224. package/jobs/AnimatedViewPortJob.js.map +1 -1
  225. package/jobs/AnimatedZoomJob.d.ts +8 -5
  226. package/jobs/AnimatedZoomJob.js +30 -26
  227. package/jobs/AnimatedZoomJob.js.map +1 -1
  228. package/jobs/MoveViewJob.d.ts +3 -0
  229. package/jobs/MoveViewJob.js +10 -7
  230. package/jobs/MoveViewJob.js.map +1 -1
  231. package/jobs/ViewPortJob.d.ts +3 -5
  232. package/jobs/ViewPortJob.js +5 -11
  233. package/jobs/ViewPortJob.js.map +1 -1
  234. package/jobs/ZoomJob.js +14 -14
  235. package/jobs/ZoomJob.js.map +1 -1
  236. package/listener/BarLineChartTouchListener.d.ts +82 -1
  237. package/listener/BarLineChartTouchListener.js +169 -67
  238. package/listener/BarLineChartTouchListener.js.map +1 -1
  239. package/listener/ChartTouchListener.d.ts +39 -5
  240. package/listener/ChartTouchListener.js +38 -11
  241. package/listener/ChartTouchListener.js.map +1 -1
  242. package/listener/PieRadarChartTouchListener.d.ts +56 -1
  243. package/listener/PieRadarChartTouchListener.js +201 -17
  244. package/listener/PieRadarChartTouchListener.js.map +1 -1
  245. package/model/GradientColor.js.map +1 -1
  246. package/package.json +23 -15
  247. package/renderer/AxisRenderer.d.ts +66 -7
  248. package/renderer/AxisRenderer.js +69 -21
  249. package/renderer/AxisRenderer.js.map +1 -1
  250. package/renderer/BarChartRenderer.d.ts +11 -0
  251. package/renderer/BarChartRenderer.js +99 -71
  252. package/renderer/BarChartRenderer.js.map +1 -1
  253. package/renderer/BarLineScatterCandleBubbleRenderer.d.ts +37 -0
  254. package/renderer/BarLineScatterCandleBubbleRenderer.js +36 -8
  255. package/renderer/BarLineScatterCandleBubbleRenderer.js.map +1 -1
  256. package/renderer/BubbleChartRenderer.d.ts +6 -2
  257. package/renderer/BubbleChartRenderer.js +51 -40
  258. package/renderer/BubbleChartRenderer.js.map +1 -1
  259. package/renderer/CandleStickChartRenderer.d.ts +1 -1
  260. package/renderer/CandleStickChartRenderer.js +64 -50
  261. package/renderer/CandleStickChartRenderer.js.map +1 -1
  262. package/renderer/CombinedChartRenderer.d.ts +20 -1
  263. package/renderer/CombinedChartRenderer.js +72 -42
  264. package/renderer/CombinedChartRenderer.js.map +1 -1
  265. package/renderer/DataRenderer.d.ts +78 -4
  266. package/renderer/DataRenderer.js +65 -6
  267. package/renderer/DataRenderer.js.map +1 -1
  268. package/renderer/HorizontalBarChartRenderer.d.ts +5 -2
  269. package/renderer/HorizontalBarChartRenderer.js +87 -66
  270. package/renderer/HorizontalBarChartRenderer.js.map +1 -1
  271. package/renderer/LegendRenderer.d.ts +32 -0
  272. package/renderer/LegendRenderer.js +98 -59
  273. package/renderer/LegendRenderer.js.map +1 -1
  274. package/renderer/LineChartRenderer.d.ts +38 -1
  275. package/renderer/LineChartRenderer.js +198 -113
  276. package/renderer/LineChartRenderer.js.map +1 -1
  277. package/renderer/LineRadarRenderer.d.ts +19 -0
  278. package/renderer/LineRadarRenderer.js +25 -1
  279. package/renderer/LineRadarRenderer.js.map +1 -1
  280. package/renderer/LineScatterCandleRadarRenderer.d.ts +11 -0
  281. package/renderer/LineScatterCandleRadarRenderer.js +26 -9
  282. package/renderer/LineScatterCandleRadarRenderer.js.map +1 -1
  283. package/renderer/PieChartRenderer.d.ts +45 -1
  284. package/renderer/PieChartRenderer.js +195 -122
  285. package/renderer/PieChartRenderer.js.map +1 -1
  286. package/renderer/RadarChartRenderer.d.ts +10 -0
  287. package/renderer/RadarChartRenderer.js +119 -77
  288. package/renderer/RadarChartRenderer.js.map +1 -1
  289. package/renderer/Renderer.d.ts +8 -0
  290. package/renderer/Renderer.js +5 -0
  291. package/renderer/Renderer.js.map +1 -1
  292. package/renderer/ScatterChartRenderer.d.ts +5 -5
  293. package/renderer/ScatterChartRenderer.js +51 -37
  294. package/renderer/ScatterChartRenderer.js.map +1 -1
  295. package/renderer/XAxisRenderer.d.ts +29 -4
  296. package/renderer/XAxisRenderer.js +128 -95
  297. package/renderer/XAxisRenderer.js.map +1 -1
  298. package/renderer/XAxisRendererHorizontalBarChart.d.ts +11 -0
  299. package/renderer/XAxisRendererHorizontalBarChart.js +75 -57
  300. package/renderer/XAxisRendererHorizontalBarChart.js.map +1 -1
  301. package/renderer/XAxisRendererRadarChart.d.ts +5 -0
  302. package/renderer/XAxisRendererRadarChart.js +26 -13
  303. package/renderer/XAxisRendererRadarChart.js.map +1 -1
  304. package/renderer/YAxisRenderer.d.ts +42 -5
  305. package/renderer/YAxisRenderer.js +126 -69
  306. package/renderer/YAxisRenderer.js.map +1 -1
  307. package/renderer/YAxisRendererHorizontalBarChart.d.ts +22 -1
  308. package/renderer/YAxisRendererHorizontalBarChart.js +80 -58
  309. package/renderer/YAxisRendererHorizontalBarChart.js.map +1 -1
  310. package/renderer/YAxisRendererRadarChart.js +62 -32
  311. package/renderer/YAxisRendererRadarChart.js.map +1 -1
  312. package/renderer/scatter/ChevronDownShapeRenderer.d.ts +4 -0
  313. package/renderer/scatter/ChevronDownShapeRenderer.js +5 -1
  314. package/renderer/scatter/ChevronDownShapeRenderer.js.map +1 -1
  315. package/renderer/scatter/ChevronUpShapeRenderer.d.ts +4 -0
  316. package/renderer/scatter/ChevronUpShapeRenderer.js +5 -1
  317. package/renderer/scatter/ChevronUpShapeRenderer.js.map +1 -1
  318. package/renderer/scatter/CircleShapeRenderer.d.ts +4 -0
  319. package/renderer/scatter/CircleShapeRenderer.js +8 -5
  320. package/renderer/scatter/CircleShapeRenderer.js.map +1 -1
  321. package/renderer/scatter/CrossShapeRenderer.d.ts +4 -0
  322. package/renderer/scatter/CrossShapeRenderer.js +5 -1
  323. package/renderer/scatter/CrossShapeRenderer.js.map +1 -1
  324. package/renderer/scatter/IShapeRenderer.d.ts +14 -0
  325. package/renderer/scatter/IShapeRenderer.js.map +1 -1
  326. package/renderer/scatter/SquareShapeRenderer.d.ts +4 -0
  327. package/renderer/scatter/SquareShapeRenderer.js +8 -5
  328. package/renderer/scatter/SquareShapeRenderer.js.map +1 -1
  329. package/renderer/scatter/TriangleShapeRenderer.d.ts +4 -0
  330. package/renderer/scatter/TriangleShapeRenderer.js +9 -5
  331. package/renderer/scatter/TriangleShapeRenderer.js.map +1 -1
  332. package/renderer/scatter/XShapeRenderer.d.ts +4 -0
  333. package/renderer/scatter/XShapeRenderer.js +5 -1
  334. package/renderer/scatter/XShapeRenderer.js.map +1 -1
  335. package/utils/ColorTemplate.d.ts +21 -1
  336. package/utils/ColorTemplate.js +21 -3
  337. package/utils/ColorTemplate.js.map +1 -1
  338. package/utils/HorizontalViewPortHandler.d.ts +3 -0
  339. package/utils/HorizontalViewPortHandler.js +3 -0
  340. package/utils/HorizontalViewPortHandler.js.map +1 -1
  341. package/utils/MPSize.d.ts +7 -0
  342. package/utils/ObjectPool.d.ts +56 -0
  343. package/utils/ObjectPool.js +66 -8
  344. package/utils/ObjectPool.js.map +1 -1
  345. package/utils/Transformer.d.ts +118 -0
  346. package/utils/Transformer.js +141 -7
  347. package/utils/Transformer.js.map +1 -1
  348. package/utils/TransformerHorizontalBarChart.d.ts +10 -0
  349. package/utils/TransformerHorizontalBarChart.js +18 -2
  350. package/utils/TransformerHorizontalBarChart.js.map +1 -1
  351. package/utils/Utils.d.ts +139 -17
  352. package/utils/Utils.js +185 -60
  353. package/utils/Utils.js.map +1 -1
  354. package/utils/ViewPortHandler.d.ts +234 -19
  355. package/utils/ViewPortHandler.js +306 -63
  356. package/utils/ViewPortHandler.js.map +1 -1
  357. package/utils/colors/colorful.js.map +1 -1
  358. package/utils/colors/joyful.js.map +1 -1
  359. package/utils/colors/liberty.js.map +1 -1
  360. package/utils/colors/material.js.map +1 -1
  361. package/utils/colors/pastel.js.map +1 -1
  362. package/utils/colors/vordiplom.js.map +1 -1
  363. package/charts/index.d.ts +0 -11
  364. package/charts/index.js +0 -15
  365. package/charts/index.js.map +0 -1
@@ -1,15 +1,38 @@
1
+ import { GestureStateEventData, GestureTouchEventData, PanGestureHandler, PinchGestureHandler, TapGestureHandler } from '@nativescript-community/gesturehandler';
1
2
  import { Matrix } from '@nativescript-community/ui-canvas';
2
3
  import { BarLineChartBase } from '../charts/BarLineChartBase';
3
4
  import { ChartTouchListener } from './ChartTouchListener';
4
- import { GestureStateEventData, GestureTouchEventData, PanGestureHandler, PinchGestureHandler, TapGestureHandler } from '@nativescript-community/gesturehandler';
5
+ /**
6
+ * TouchListener for Bar-, Line-, Scatter- and CandleStickChart with handles all
7
+ * touch interaction. Longpress === Zoom out. Double-Tap === Zoom in.
8
+ *
9
+
10
+ */
5
11
  export declare class BarLineChartTouchListener extends ChartTouchListener<BarLineChartBase<any, any, any>> {
12
+ /**
13
+ * the original touch-matrix from the chart
14
+ */
6
15
  private mMatrix;
16
+ /**
17
+ * matrix for saving the original matrix state
18
+ */
7
19
  private mSavedMatrix;
20
+ /**
21
+ * center between two pointers (fingers on the display)
22
+ */
8
23
  private mTouchPointCenter;
9
24
  private mSavedXDist;
10
25
  private mSavedYDist;
11
26
  private mClosestDataSetToTouch;
12
27
  private mDecelerationVelocity;
28
+ /**
29
+ * Constructor with initialization parameters.
30
+ *
31
+ * @param chart instance of the chart
32
+ * @param touchMatrix the touch-matrix of the chart
33
+ * @param dragTriggerDistance the minimum movement distance that will be interpreted as a "drag" gesture in dp (3dp equals
34
+ * to about 9 pixels on a 5.5" FHD screen)
35
+ */
13
36
  TAP_HANDLER_TAG: any;
14
37
  DOUBLE_TAP_HANDLER_TAG: any;
15
38
  PINCH_HANDLER_TAG: any;
@@ -89,16 +112,74 @@ export declare class BarLineChartTouchListener extends ChartTouchListener<BarLin
89
112
  onPanGestureTouch(event: GestureTouchEventData): void;
90
113
  onPinchGestureState(event: GestureStateEventData): void;
91
114
  onPinchGestureTouch(event: GestureTouchEventData): void;
115
+ /**
116
+ * ################ ################ ################ ################
117
+ */
118
+ /** BELOW CODE PERFORMS THE ACTUAL TOUCH ACTIONS */
119
+ /**
120
+ * Saves the current Matrix state and the touch-start point.
121
+ *
122
+ * @param event
123
+ */
92
124
  private saveTouchStart;
125
+ /**
126
+ * Performs all necessary operations needed for dragging.
127
+ *
128
+ * @param event
129
+ */
93
130
  private performDrag;
131
+ /**
132
+ * Highlights upon dragging, generates callbacks for the selection-listener.
133
+ *
134
+ * @param e
135
+ */
94
136
  private performHighlightDrag;
137
+ /**
138
+ * Highlights upon dragging, generates callbacks for the selection-listener.
139
+ *
140
+ * @param e
141
+ */
142
+ private handleTouchHighlight;
143
+ /**
144
+ * calculates the distance on the x-axis between two pointers (fingers on
145
+ * the display)
146
+ *
147
+ * @param e
148
+ * @return
149
+ */
95
150
  private static getXDist;
151
+ /**
152
+ * calculates the distance on the y-axis between two pointers (fingers on
153
+ * the display)
154
+ *
155
+ * @param e
156
+ * @return
157
+ */
96
158
  private static getYDist;
159
+ /**
160
+ * Returns a recyclable MPPointF instance.
161
+ * returns the correct translation depending on the provided x and y touch
162
+ * points
163
+ *
164
+ * @param x
165
+ * @param y
166
+ * @return
167
+ */
97
168
  getTrans(x: any, y: any): {
98
169
  x: number;
99
170
  y: number;
100
171
  };
172
+ /**
173
+ * Returns true if the current touch situation should be interpreted as inverted, false if not.
174
+ */
101
175
  private inverted;
176
+ /**
177
+ * ################ ################ ################ ################
178
+ */
179
+ /** GETTERS AND GESTURE RECOGNITION BELOW */
180
+ /**
181
+ * returns the matrix object the listener holds
182
+ */
102
183
  getMatrix(): Matrix;
103
184
  onDoubleTapGesture(event: GestureStateEventData): void;
104
185
  onTapGesture(event: GestureStateEventData): void;
@@ -1,18 +1,33 @@
1
+ import { GestureHandlerStateEvent, GestureHandlerTouchEvent, GestureState, HandlerType, Manager } from '@nativescript-community/gesturehandler';
1
2
  import { Matrix } from '@nativescript-community/ui-canvas';
3
+ import { Trace } from '@nativescript/core';
2
4
  import { CLog, CLogTypes } from '../utils/Utils';
3
5
  import { ChartGesture, ChartTouchListener } from './ChartTouchListener';
4
- import { GestureHandlerStateEvent, GestureHandlerTouchEvent, GestureState, HandlerType, Manager } from '@nativescript-community/gesturehandler';
5
- import { Trace } from '@nativescript/core';
6
6
  const LOG_TAG = 'BarLineChartTouchListener';
7
7
  let TAP_HANDLER_TAG = 12450000;
8
8
  let DOUBLE_TAP_HANDLER_TAG = 12451000;
9
9
  let PINCH_HANDLER_TAG = 12452000;
10
10
  let PAN_HANDLER_TAG = 12453000;
11
+ /**
12
+ * TouchListener for Bar-, Line-, Scatter- and CandleStickChart with handles all
13
+ * touch interaction. Longpress === Zoom out. Double-Tap === Zoom in.
14
+ *
15
+
16
+ */
11
17
  export class BarLineChartTouchListener extends ChartTouchListener {
12
18
  constructor(chart, touchMatrix, dragTriggerDistance) {
13
19
  super(chart);
20
+ /**
21
+ * the original touch-matrix from the chart
22
+ */
14
23
  this.mMatrix = new Matrix();
24
+ /**
25
+ * matrix for saving the original matrix state
26
+ */
15
27
  this.mSavedMatrix = new Matrix();
28
+ /**
29
+ * center between two pointers (fingers on the display)
30
+ */
16
31
  this.mTouchPointCenter = { x: 0, y: 0 };
17
32
  this.mSavedXDist = 1;
18
33
  this.mSavedYDist = 1;
@@ -24,16 +39,16 @@ export class BarLineChartTouchListener extends ChartTouchListener {
24
39
  this.PAN_HANDLER_TAG = PAN_HANDLER_TAG++;
25
40
  }
26
41
  getPanGestureOptions() {
27
- return { gestureTag: this.PAN_HANDLER_TAG, ...(this.mChart.panGestureOptions || {}) };
42
+ return { gestureTag: this.PAN_HANDLER_TAG, ...(this.chart.panGestureOptions || {}) };
28
43
  }
29
44
  getPinchGestureOptions() {
30
- return { gestureTag: this.PINCH_HANDLER_TAG, ...(this.mChart.pinchGestureOptions || {}) };
45
+ return { gestureTag: this.PINCH_HANDLER_TAG, ...(this.chart.pinchGestureOptions || {}) };
31
46
  }
32
47
  getTapGestureOptions() {
33
- return { gestureTag: this.TAP_HANDLER_TAG, ...(this.mChart.tapGestureOptions || {}) };
48
+ return { gestureTag: this.TAP_HANDLER_TAG, ...(this.chart.tapGestureOptions || {}) };
34
49
  }
35
50
  getDoubleTapGestureOptions() {
36
- return { gestureTag: this.DOUBLE_TAP_HANDLER_TAG, ...(this.mChart.doubleTapGestureOptions || {}) };
51
+ return { gestureTag: this.DOUBLE_TAP_HANDLER_TAG, ...(this.chart.doubleTapGestureOptions || {}) };
37
52
  }
38
53
  getOrCreateDoubleTapGestureHandler() {
39
54
  if (!this.doubleTapGestureHandler) {
@@ -42,9 +57,8 @@ export class BarLineChartTouchListener extends ChartTouchListener {
42
57
  CLog(CLogTypes.log, LOG_TAG, 'creating double tap gesture');
43
58
  }
44
59
  const options = this.getDoubleTapGestureOptions();
45
- this.doubleTapGestureHandler = manager
46
- .createGestureHandler(HandlerType.TAP, options.gestureTag, { numberOfTaps: 2, ...options })
47
- .on(GestureHandlerStateEvent, this.onDoubleTapGesture, this);
60
+ this.doubleTapGestureHandler = manager.createGestureHandler(HandlerType.TAP, options.gestureTag, { numberOfTaps: 2, ...options });
61
+ this.doubleTapGestureHandler.on(GestureHandlerStateEvent, this.onDoubleTapGesture, this);
48
62
  }
49
63
  return this.doubleTapGestureHandler;
50
64
  }
@@ -104,7 +118,7 @@ export class BarLineChartTouchListener extends ChartTouchListener {
104
118
  return this.panGestureHandler;
105
119
  }
106
120
  setDoubleTap(enabled) {
107
- const chart = this.mChart;
121
+ const chart = this.chart;
108
122
  if (enabled) {
109
123
  this.getOrCreateDoubleTapGestureHandler().attachToView(chart);
110
124
  if (Trace.isEnabled()) {
@@ -119,7 +133,7 @@ export class BarLineChartTouchListener extends ChartTouchListener {
119
133
  }
120
134
  }
121
135
  setTap(enabled) {
122
- const chart = this.mChart;
136
+ const chart = this.chart;
123
137
  if (enabled) {
124
138
  this.getOrCreateTapGestureHandler().attachToView(chart);
125
139
  if (Trace.isEnabled()) {
@@ -134,7 +148,7 @@ export class BarLineChartTouchListener extends ChartTouchListener {
134
148
  }
135
149
  }
136
150
  setPinch(enabled) {
137
- const chart = this.mChart;
151
+ const chart = this.chart;
138
152
  if (enabled) {
139
153
  this.getOrCreatePinchGestureHandler().attachToView(chart);
140
154
  if (Trace.isEnabled()) {
@@ -149,7 +163,7 @@ export class BarLineChartTouchListener extends ChartTouchListener {
149
163
  }
150
164
  }
151
165
  setPan(enabled) {
152
- const chart = this.mChart;
166
+ const chart = this.chart;
153
167
  if (enabled) {
154
168
  this.getOrCreatePanGestureHandler().attachToView(chart);
155
169
  if (Trace.isEnabled()) {
@@ -165,7 +179,7 @@ export class BarLineChartTouchListener extends ChartTouchListener {
165
179
  }
166
180
  dispose() {
167
181
  super.dispose();
168
- const chart = this.mChart;
182
+ const chart = this.chart;
169
183
  this.panGestureHandler && this.panGestureHandler.detachFromView(chart);
170
184
  this.pinchGestureHandler && this.pinchGestureHandler.detachFromView(chart);
171
185
  this.tapGestureHandler && this.tapGestureHandler.detachFromView(chart);
@@ -177,26 +191,28 @@ export class BarLineChartTouchListener extends ChartTouchListener {
177
191
  }
178
192
  init() {
179
193
  super.init();
180
- const chart = this.mChart;
181
- if (chart.isDoubleTapToZoomEnabled()) {
194
+ const chart = this.chart;
195
+ if (chart.doubleTapToZoomEnabled) {
182
196
  this.setDoubleTap(true);
183
197
  }
184
- if (chart.isHighlightPerTapEnabled()) {
198
+ if (chart.highlightPerTapEnabled) {
185
199
  this.setTap(true);
186
200
  }
187
- if (chart.isHighlightPerDragEnabled() || chart.isDragEnabled()) {
201
+ if (chart.highlightPerDragEnabled || chart.dragEnabled) {
188
202
  this.setPan(true);
189
203
  }
190
- if (chart.isPinchZoomEnabled()) {
204
+ if (chart.pinchZoomEnabled) {
191
205
  this.setPinch(true);
192
206
  }
193
207
  }
194
208
  onPanGestureState(event) {
195
- const chart = this.mChart;
196
- if (!chart.isHighlightPerDragEnabled() && !chart.isDragEnabled())
209
+ const chart = this.chart;
210
+ if (!chart.highlightPerDragEnabled && !chart.dragEnabled)
197
211
  return;
198
212
  const state = event.data.state;
213
+ chart.noComputeAutoScaleOnNextDraw = true;
199
214
  switch (state) {
215
+ // break;
200
216
  case GestureState.ACTIVE:
201
217
  this.stopDeceleration();
202
218
  this.saveTouchStart(event);
@@ -214,8 +230,8 @@ export class BarLineChartTouchListener extends ChartTouchListener {
214
230
  }
215
231
  }
216
232
  onPanGestureTouch(event) {
217
- const chart = this.mChart;
218
- if (!chart.isHighlightPerDragEnabled() && !chart.isDragEnabled())
233
+ const chart = this.chart;
234
+ if (!chart.highlightPerDragEnabled && !chart.dragEnabled)
219
235
  return;
220
236
  const data = event.data;
221
237
  if (data.state !== GestureState.ACTIVE) {
@@ -229,19 +245,20 @@ export class BarLineChartTouchListener extends ChartTouchListener {
229
245
  const x = event.data.extraData.translationX;
230
246
  const y = event.data.extraData.translationY;
231
247
  this.performDrag(event, x, y);
232
- this.mMatrix = chart.getViewPortHandler().refresh(this.mMatrix, chart, true);
248
+ this.mMatrix = chart.viewPortHandler.refresh(this.mMatrix, chart, true);
233
249
  }
234
250
  else if (this.mTouchMode === ChartTouchListener.NONE) {
235
251
  const shouldPan = (!chart.isFullyZoomedOut() || !chart.hasNoDragOffset()) && (!chart.zoomedPanWith2Pointers || event.data.extraData.numberOfPointers === 2);
236
252
  if (shouldPan) {
237
- if (chart.isDragXEnabled() && chart.isDragYEnabled()) {
253
+ // Disable dragging in a direction that's disallowed
254
+ if (chart.dragXEnabled && chart.dragYEnabled) {
238
255
  chart.disableScroll();
239
256
  this.mLastGesture = ChartGesture.DRAG;
240
257
  this.mTouchMode = ChartTouchListener.DRAG;
241
258
  }
242
259
  }
243
260
  else {
244
- if (chart.isHighlightPerDragEnabled()) {
261
+ if (chart.highlightPerDragEnabled) {
245
262
  chart.disableScroll();
246
263
  this.mLastGesture = ChartGesture.DRAG;
247
264
  this.performHighlightDrag(event);
@@ -250,27 +267,31 @@ export class BarLineChartTouchListener extends ChartTouchListener {
250
267
  }
251
268
  }
252
269
  onPinchGestureState(event) {
253
- const chart = this.mChart;
254
- if (!chart.isScaleXEnabled() && !chart.isScaleYEnabled())
270
+ const chart = this.chart;
271
+ if (!chart.scaleXEnabled && !chart.scaleYEnabled)
255
272
  return;
273
+ chart.noComputeAutoScaleOnNextDraw = true;
256
274
  const state = event.data.state;
257
275
  switch (state) {
258
276
  case GestureState.ACTIVE:
259
277
  this.saveTouchStart(event);
278
+ // get the distance between the pointers on the x-axis
260
279
  this.mSavedXDist = BarLineChartTouchListener.getXDist(event);
261
280
  chart.disableScroll();
281
+ // get the distance between the pointers on the y-axis
262
282
  this.mSavedYDist = BarLineChartTouchListener.getYDist(event);
263
- if (chart.isPinchZoomEnabled()) {
283
+ if (chart.pinchZoomEnabled) {
264
284
  this.mTouchMode = ChartTouchListener.PINCH_ZOOM;
265
285
  }
266
286
  else {
267
- if (chart.isScaleXEnabled() !== chart.isScaleYEnabled()) {
268
- this.mTouchMode = chart.isScaleXEnabled() ? ChartTouchListener.X_ZOOM : ChartTouchListener.Y_ZOOM;
287
+ if (chart.scaleXEnabled !== chart.scaleYEnabled) {
288
+ this.mTouchMode = chart.scaleXEnabled ? ChartTouchListener.X_ZOOM : ChartTouchListener.Y_ZOOM;
269
289
  }
270
290
  else {
271
291
  this.mTouchMode = this.mSavedXDist > this.mSavedYDist ? ChartTouchListener.X_ZOOM : ChartTouchListener.Y_ZOOM;
272
292
  }
273
293
  }
294
+ // determine the touch-pointer center
274
295
  this.mTouchPointCenter.x = event.data.extraData.focalX;
275
296
  this.mTouchPointCenter.y = event.data.extraData.focalY;
276
297
  break;
@@ -281,6 +302,9 @@ export class BarLineChartTouchListener extends ChartTouchListener {
281
302
  this.mTouchMode === ChartTouchListener.PINCH_ZOOM ||
282
303
  this.mTouchMode === ChartTouchListener.POST_ZOOM) {
283
304
  this.mTouchMode = ChartTouchListener.NONE;
305
+ // Range might have changed, which means that Y-axis labels
306
+ // could have changed in size, affecting Y-axis size.
307
+ // So we need to recalculate offsets.
284
308
  chart.calculateOffsets();
285
309
  chart.invalidate();
286
310
  }
@@ -289,8 +313,8 @@ export class BarLineChartTouchListener extends ChartTouchListener {
289
313
  }
290
314
  }
291
315
  onPinchGestureTouch(event) {
292
- const chart = this.mChart;
293
- if (!chart.isScaleXEnabled() && !chart.isScaleYEnabled())
316
+ const chart = this.chart;
317
+ if (!chart.scaleXEnabled && !chart.scaleYEnabled)
294
318
  return;
295
319
  if (event.data.state !== GestureState.ACTIVE) {
296
320
  return;
@@ -301,14 +325,14 @@ export class BarLineChartTouchListener extends ChartTouchListener {
301
325
  if (this.mTouchMode === ChartTouchListener.X_ZOOM || this.mTouchMode === ChartTouchListener.Y_ZOOM || this.mTouchMode === ChartTouchListener.PINCH_ZOOM) {
302
326
  if (this.mTouchMode === ChartTouchListener.PINCH_ZOOM) {
303
327
  this.mLastGesture = ChartGesture.PINCH_ZOOM;
304
- const t = this.getTrans(this.mTouchPointCenter.x, this.mTouchPointCenter.y);
328
+ const t = this.getTrans(this.mTouchPointCenter.x, this.mTouchPointCenter.y); //focalPoint
305
329
  const scale = event.data.extraData.scale;
306
330
  const isZoomingOut = scale < 1;
307
- const h = chart.getViewPortHandler();
331
+ const h = chart.viewPortHandler;
308
332
  const canZoomMoreX = isZoomingOut ? h.canZoomOutMoreX() : h.canZoomInMoreX();
309
333
  const canZoomMoreY = isZoomingOut ? h.canZoomOutMoreY() : h.canZoomInMoreY();
310
- const scaleX = chart.isScaleXEnabled() ? scale : 1;
311
- const scaleY = chart.isScaleYEnabled() ? scale : 1;
334
+ const scaleX = chart.scaleXEnabled ? scale : 1;
335
+ const scaleY = chart.scaleYEnabled ? scale : 1;
312
336
  if (canZoomMoreY || canZoomMoreX) {
313
337
  this.mMatrix.set(this.mSavedMatrix);
314
338
  this.mMatrix.postScale(scaleX, scaleY, t.x, t.y);
@@ -317,11 +341,11 @@ export class BarLineChartTouchListener extends ChartTouchListener {
317
341
  chart.notify({ eventName: 'zoom', scaleX, scaleY, ...t });
318
342
  }
319
343
  }
320
- else if (this.mTouchMode === ChartTouchListener.X_ZOOM && chart.isScaleXEnabled()) {
344
+ else if (this.mTouchMode === ChartTouchListener.X_ZOOM && chart.scaleXEnabled) {
321
345
  this.mLastGesture = ChartGesture.X_ZOOM;
322
346
  const t = this.getTrans(this.mTouchPointCenter.x, this.mTouchPointCenter.y);
323
347
  const scaleX = event.data.extraData.scale;
324
- const h = chart.getViewPortHandler();
348
+ const h = chart.viewPortHandler;
325
349
  const isZoomingOut = scaleX < 1;
326
350
  const canZoomMoreX = isZoomingOut ? h.canZoomOutMoreX() : h.canZoomInMoreX();
327
351
  if (canZoomMoreX) {
@@ -332,11 +356,11 @@ export class BarLineChartTouchListener extends ChartTouchListener {
332
356
  chart.notify({ eventName: 'zoom', scaleX, scaleY: 1, ...t });
333
357
  }
334
358
  }
335
- else if (this.mTouchMode === ChartTouchListener.Y_ZOOM && chart.isScaleYEnabled()) {
359
+ else if (this.mTouchMode === ChartTouchListener.Y_ZOOM && chart.scaleYEnabled) {
336
360
  this.mLastGesture = ChartGesture.Y_ZOOM;
337
361
  const t = this.getTrans(this.mTouchPointCenter.x, this.mTouchPointCenter.y);
338
362
  const scaleY = event.data.extraData.scale;
339
- const h = chart.getViewPortHandler();
363
+ const h = chart.viewPortHandler;
340
364
  const isZoomingOut = scaleY < 1;
341
365
  const canZoomMoreY = isZoomingOut ? h.canZoomOutMoreY() : h.canZoomInMoreY();
342
366
  if (canZoomMoreY) {
@@ -347,66 +371,143 @@ export class BarLineChartTouchListener extends ChartTouchListener {
347
371
  chart.notify({ eventName: 'zoom', scaleX: 1, scaleY, ...t });
348
372
  }
349
373
  }
350
- this.mMatrix = chart.getViewPortHandler().refresh(this.mMatrix, chart, true);
374
+ this.mMatrix = chart.viewPortHandler.refresh(this.mMatrix, chart, true);
375
+ chart.noComputeAutoScaleOnNextDraw = true;
376
+ // }
351
377
  }
352
378
  }
379
+ /**
380
+ * ################ ################ ################ ################
381
+ */
382
+ /** BELOW CODE PERFORMS THE ACTUAL TOUCH ACTIONS */
383
+ /**
384
+ * Saves the current Matrix state and the touch-start point.
385
+ *
386
+ * @param event
387
+ */
353
388
  saveTouchStart(event) {
354
389
  this.mSavedMatrix.set(this.mMatrix);
355
390
  }
391
+ /**
392
+ * Performs all necessary operations needed for dragging.
393
+ *
394
+ * @param event
395
+ */
356
396
  performDrag(event, distanceX, distanceY) {
357
397
  this.mLastGesture = ChartTouchListener.DRAG;
358
398
  this.mMatrix.set(this.mSavedMatrix);
399
+ // check if axis is inverted
359
400
  if (this.inverted()) {
360
401
  distanceY = -distanceY;
361
402
  }
403
+ this.chart.noComputeAutoScaleOnNextDraw = true;
362
404
  this.mMatrix.postTranslate(distanceX, distanceY);
363
- if (this.mChart.hasListeners('translate')) {
364
- this.mChart.notify({ eventName: 'translate', object: this.mChart, distanceX, distanceY });
405
+ if (this.chart.hasListeners('translate')) {
406
+ this.chart.notify({ eventName: 'translate', object: this.chart, distanceX, distanceY });
365
407
  }
366
408
  }
409
+ /**
410
+ * Highlights upon dragging, generates callbacks for the selection-listener.
411
+ *
412
+ * @param e
413
+ */
367
414
  performHighlightDrag(event) {
368
- const h = this.mChart.getHighlightByTouchPoint(event.data.extraData.x, event.data.extraData.y);
369
- if (h != null && h !== this.mLastHighlighted) {
370
- this.mLastHighlighted = h;
371
- this.mChart.highlight(h, true);
415
+ // const highlights = this.chart.getHighlightsByTouchPoint(event.data.extraData.x, event.data.extraData.y);
416
+ // const h = highlights[0];
417
+ // if (h && h !== this.lastHighlighted) {
418
+ // this.chart.highlights(highlights, true);
419
+ // }
420
+ this.handleTouchHighlight(event, true);
421
+ }
422
+ /**
423
+ * Highlights upon dragging, generates callbacks for the selection-listener.
424
+ *
425
+ * @param e
426
+ */
427
+ handleTouchHighlight(event, highlightInChart, checkForLast = true, eventName) {
428
+ const highlights = this.chart.getHighlightsByTouchPoint(event.data.extraData.x, event.data.extraData.y);
429
+ const h = highlights[0];
430
+ if (h) {
431
+ if (highlightInChart && (!checkForLast || h !== this.lastHighlighted)) {
432
+ this.chart.highlight(highlights, true);
433
+ }
434
+ }
435
+ if (eventName) {
436
+ this.chart.notify({ eventName, data: event.data, highlight: h, highlights });
372
437
  }
373
438
  }
439
+ /**
440
+ * calculates the distance on the x-axis between two pointers (fingers on
441
+ * the display)
442
+ *
443
+ * @param e
444
+ * @return
445
+ */
374
446
  static getXDist(e) {
375
447
  const x = Math.abs(e.data.extraData.positions[0] - e.data.extraData.positions[2]);
376
448
  return x;
377
449
  }
450
+ /**
451
+ * calculates the distance on the y-axis between two pointers (fingers on
452
+ * the display)
453
+ *
454
+ * @param e
455
+ * @return
456
+ */
378
457
  static getYDist(e) {
379
458
  const y = Math.abs(e.data.extraData.positions[1] - e.data.extraData.positions[3]);
380
459
  return y;
381
460
  }
461
+ /**
462
+ * Returns a recyclable MPPointF instance.
463
+ * returns the correct translation depending on the provided x and y touch
464
+ * points
465
+ *
466
+ * @param x
467
+ * @param y
468
+ * @return
469
+ */
382
470
  getTrans(x, y) {
383
- const vph = this.mChart.getViewPortHandler();
384
- const xTrans = x - vph.offsetLeft();
471
+ const vph = this.chart.viewPortHandler;
472
+ const xTrans = x - vph.offsetLeft;
385
473
  let yTrans = 0;
474
+ // check if axis is inverted
386
475
  if (this.inverted()) {
387
- yTrans = -(y - vph.offsetTop());
476
+ yTrans = -(y - vph.offsetTop);
388
477
  }
389
478
  else {
390
- yTrans = -(vph.getChartHeight() - y - vph.offsetBottom());
479
+ yTrans = -(vph.chartHeight - y - vph.offsetBottom);
391
480
  }
392
481
  return { x: xTrans, y: yTrans };
393
482
  }
483
+ /**
484
+ * Returns true if the current touch situation should be interpreted as inverted, false if not.
485
+ */
394
486
  inverted() {
395
- return ((this.mClosestDataSetToTouch == null && this.mChart.isAnyAxisInverted()) || (this.mClosestDataSetToTouch != null && this.mChart.isInverted(this.mClosestDataSetToTouch.getAxisDependency())));
487
+ return (!this.mClosestDataSetToTouch && this.chart.anyAxisInverted) || (this.mClosestDataSetToTouch && this.chart.isInverted(this.mClosestDataSetToTouch.axisDependency));
396
488
  }
489
+ /**
490
+ * ################ ################ ################ ################
491
+ */
492
+ /** GETTERS AND GESTURE RECOGNITION BELOW */
493
+ /**
494
+ * returns the matrix object the listener holds
495
+ */
397
496
  getMatrix() {
398
497
  return this.mMatrix;
399
498
  }
400
499
  onDoubleTapGesture(event) {
401
500
  if (event.data.state === GestureState.END && event.data.prevState === GestureState.ACTIVE) {
402
- const chart = this.mChart;
501
+ const chart = this.chart;
502
+ // check if double-tap zooming is enabled
403
503
  if (chart.hasListeners('doubleTap')) {
404
- const h = chart.getHighlightByTouchPoint(event.data.extraData.x, event.data.extraData.y);
405
- chart.notify({ eventName: 'doubleTap', data: event.data, object: chart, highlight: h });
504
+ this.handleTouchHighlight(event, false, false, 'doubleTap');
505
+ // const h = chart.getHighlightByTouchPoint(event.data.extraData.x, event.data.extraData.y);
506
+ // chart.notify({ eventName: 'doubleTap', data: event.data, object: chart, highlight: h });
406
507
  }
407
- if (chart.isDoubleTapToZoomEnabled() && chart.getData()?.getEntryCount() > 0) {
508
+ if (chart.doubleTapToZoomEnabled && chart.data?.entryCount > 0) {
408
509
  const trans = this.getTrans(event.data.extraData.x, event.data.extraData.y);
409
- chart.zoom(chart.isScaleXEnabled() ? 1.4 : 1, chart.isScaleYEnabled() ? 1.4 : 1, trans.x, trans.y);
510
+ chart.zoom(chart.scaleXEnabled ? 1.4 : 1, chart.scaleYEnabled ? 1.4 : 1, trans.x, trans.y);
410
511
  if (Trace.isEnabled()) {
411
512
  CLog(CLogTypes.info, LOG_TAG, 'Double-Tap, Zooming In, x: ' + trans.x + ', y: ' + trans.y);
412
513
  }
@@ -419,19 +520,20 @@ export class BarLineChartTouchListener extends ChartTouchListener {
419
520
  }
420
521
  if (event.data.state === GestureState.END && event.data.prevState === GestureState.ACTIVE) {
421
522
  this.mLastGesture = ChartGesture.SINGLE_TAP;
422
- const chart = this.mChart;
523
+ const chart = this.chart;
423
524
  const hasListener = chart.hasListeners('tap');
424
- const isHighlightPerTapEnabled = chart.isHighlightPerTapEnabled();
525
+ const isHighlightPerTapEnabled = chart.highlightPerTapEnabled;
425
526
  if (!hasListener && !isHighlightPerTapEnabled) {
426
527
  return;
427
528
  }
428
- const h = chart.getHighlightByTouchPoint(event.data.extraData.x, event.data.extraData.y);
429
- if (hasListener) {
430
- chart.notify({ eventName: 'tap', data: event.data, object: chart, highlight: h });
431
- }
432
- if (isHighlightPerTapEnabled) {
433
- this.performHighlight(h);
434
- }
529
+ this.handleTouchHighlight(event, !isHighlightPerTapEnabled, false, hasListener ? 'tap' : undefined);
530
+ // const h = chart.getHighlightByTouchPoint(event.data.extraData.x, event.data.extraData.y);
531
+ // if (hasListener) {
532
+ // chart.notify({ eventName: 'tap', data: event.data, object: chart, highlight: h });
533
+ // }
534
+ // if (isHighlightPerTapEnabled) {
535
+ // this.performHighlight(h);
536
+ // }
435
537
  }
436
538
  }
437
539
  stopDeceleration() {