@nativescript-community/ui-chart 1.2.35 → 2.0.0

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 (375) 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 +424 -92
  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 +273 -18
  115. package/data/ChartData.js +398 -93
  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 +80 -49
  128. package/data/LineDataSet.js +90 -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 +126 -23
  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 +83 -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 +81 -1
  243. package/listener/PieRadarChartTouchListener.js +212 -16
  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 +185 -110
  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/animation/ChartAnimator2.d.ts +0 -18
  364. package/animation/ChartAnimator2.js +0 -69
  365. package/animation/ChartAnimator2.js.map +0 -1
  366. package/charts/index.d.ts +0 -11
  367. package/charts/index.js +0 -15
  368. package/charts/index.js.map +0 -1
  369. package/utils/Curve.d.ts +0 -12
  370. package/utils/Curve.js +0 -156
  371. package/utils/Curve.js.map +0 -1
  372. package/utils/MPPointD.js +0 -1
  373. package/utils/MPPointD.js.map +0 -1
  374. package/utils/MPPointF.js +0 -1
  375. package/utils/MPPointF.js.map +0 -1
@@ -28,112 +28,129 @@ export class LegendRenderer extends Renderer {
28
28
  }
29
29
  return this.mLegendLabelPaint;
30
30
  }
31
+ /**
32
+ * Prepares the legend and calculates all needed forms, labels and colors.
33
+ *
34
+ * @param data
35
+ */
31
36
  computeLegend(data) {
32
37
  if (!this.mLegend.isLegendCustom()) {
33
38
  this.computedEntries = [];
34
- for (let i = 0; i < data.getDataSetCount(); i++) {
39
+ // loop for building up the colors and labels used in the legend
40
+ for (let i = 0; i < data.dataSetCount; i++) {
35
41
  const dataSet = data.getDataSetByIndex(i);
36
- const clrs = dataSet.getColors();
37
- const entryCount = dataSet.getEntryCount();
38
- if (dataSet instanceof BarDataSet && dataSet.isStacked()) {
42
+ const clrs = dataSet.colors;
43
+ const entryCount = dataSet.entryCount;
44
+ // if we have a barchart with stacked bars
45
+ if (dataSet instanceof BarDataSet && dataSet.stacked) {
39
46
  const bds = dataSet;
40
- const sLabels = bds.getStackLabels();
41
- for (let j = 0; j < clrs.length && j < bds.getStackSize(); j++) {
42
- this.computedEntries.push(new LegendEntry(sLabels[j % sLabels.length], dataSet.getForm(), dataSet.getFormSize(), dataSet.getFormLineWidth(), dataSet.getFormLineDashEffect(), clrs[j]));
47
+ const sLabels = bds.stackLabels;
48
+ for (let j = 0; j < clrs.length && j < bds.stackSize; j++) {
49
+ this.computedEntries.push(new LegendEntry(sLabels[j % sLabels.length], dataSet.form, dataSet.formSize, dataSet.formLineWidth, dataSet.formLineDashEffect, clrs[j]));
43
50
  }
44
- if (bds.getLabel() != null) {
45
- this.computedEntries.push(new LegendEntry(dataSet.getLabel(), LegendForm.NONE, NaN, NaN, null, ColorTemplate.COLOR_NONE));
51
+ if (bds.label) {
52
+ // add the legend description label
53
+ this.computedEntries.push(new LegendEntry(dataSet.label, LegendForm.NONE, NaN, NaN, null, ColorTemplate.COLOR_NONE));
46
54
  }
47
55
  }
48
56
  else if (dataSet.constructor.name === 'PieDataSet') {
49
57
  const pds = dataSet;
50
58
  for (let j = 0; j < clrs.length && j < entryCount; j++) {
51
59
  const label = pds.getEntryForIndex(j).label;
52
- if (label == null) {
60
+ if (!label) {
53
61
  continue;
54
62
  }
55
- this.computedEntries.push(new LegendEntry(label.toString(), dataSet.getForm(), dataSet.getFormSize(), dataSet.getFormLineWidth(), dataSet.getFormLineDashEffect(), clrs[j]));
63
+ this.computedEntries.push(new LegendEntry(label.toString(), dataSet.form, dataSet.formSize, dataSet.formLineWidth, dataSet.formLineDashEffect, clrs[j]));
56
64
  }
57
- if (pds.getLabel() != null) {
58
- this.computedEntries.push(new LegendEntry(dataSet.getLabel(), LegendForm.NONE, NaN, NaN, null, ColorTemplate.COLOR_NONE));
65
+ if (pds.label) {
66
+ // add the legend description label
67
+ this.computedEntries.push(new LegendEntry(dataSet.label, LegendForm.NONE, NaN, NaN, null, ColorTemplate.COLOR_NONE));
59
68
  }
60
69
  }
61
70
  else if (dataSet.constructor.name === 'CandleDataSet') {
62
71
  const dSet = dataSet;
63
- if (dSet.getDecreasingColor() !== ColorTemplate.COLOR_NONE) {
64
- const decreasingColor = dSet.getDecreasingColor();
65
- const increasingColor = dSet.getIncreasingColor();
66
- this.computedEntries.push(new LegendEntry(null, dSet.getForm(), dSet.getFormSize(), dSet.getFormLineWidth(), dSet.getFormLineDashEffect(), decreasingColor));
67
- this.computedEntries.push(new LegendEntry(dSet.getLabel(), dSet.getForm(), dSet.getFormSize(), dSet.getFormLineWidth(), dSet.getFormLineDashEffect(), increasingColor));
72
+ if (dSet.decreasingColor !== ColorTemplate.COLOR_NONE) {
73
+ const decreasingColor = dSet.decreasingColor;
74
+ const increasingColor = dSet.increasingColor;
75
+ this.computedEntries.push(new LegendEntry(null, dSet.form, dSet.formSize, dSet.formLineWidth, dSet.formLineDashEffect, decreasingColor));
76
+ this.computedEntries.push(new LegendEntry(dSet.label, dSet.form, dSet.formSize, dSet.formLineWidth, dSet.formLineDashEffect, increasingColor));
68
77
  }
69
78
  }
70
79
  else {
80
+ // all others
71
81
  for (let j = 0; j < clrs.length && j < entryCount; j++) {
72
82
  let label;
83
+ // if multiple colors are set for a DataSet, group them
73
84
  if (j < clrs.length - 1 && j < entryCount - 1) {
74
85
  label = null;
75
86
  }
76
87
  else {
77
- label = data.getDataSetByIndex(i).getLabel();
88
+ // add label to the last entry
89
+ label = data.getDataSetByIndex(i).label;
78
90
  }
79
- this.computedEntries.push(new LegendEntry(label, dataSet.getForm(), dataSet.getFormSize(), dataSet.getFormLineWidth(), dataSet.getFormLineDashEffect(), clrs[j]));
91
+ this.computedEntries.push(new LegendEntry(label, dataSet.form, dataSet.formSize, dataSet.formLineWidth, dataSet.formLineDashEffect, clrs[j]));
80
92
  }
81
93
  }
82
94
  }
83
- if (this.mLegend.getExtraEntries() != null) {
84
- Array.prototype.push.apply(this.computedEntries, this.mLegend.getExtraEntries());
95
+ if (this.mLegend.extraEntries) {
96
+ Array.prototype.push.apply(this.computedEntries, this.mLegend.extraEntries);
97
+ // Collections.addAll(computedEntries, this.mLegend.getExtraEntries());
85
98
  }
86
- this.mLegend.setEntries(this.computedEntries);
99
+ this.mLegend.entries = this.computedEntries;
87
100
  }
88
101
  const paint = this.labelPaint;
89
- paint.setFont(this.mLegend.getFont());
102
+ paint.setFont(this.mLegend.typeface);
103
+ // calculate all dimensions of the this.mLegend
90
104
  this.mLegend.calculateDimensions(paint, this.mViewPortHandler);
91
105
  }
92
106
  renderLegend(c) {
93
- if (!this.mLegend.isEnabled())
107
+ if (!this.mLegend.enabled)
94
108
  return;
95
109
  const paint = this.labelPaint;
96
- paint.setFont(this.mLegend.getFont());
97
- paint.setColor(this.mLegend.getTextColor());
110
+ paint.setFont(this.mLegend.typeface);
111
+ paint.setColor(this.mLegend.textColor);
98
112
  paint.getFontMetrics(this.legendFontMetrics);
99
113
  const labelLineHeight = Utils.getLineHeightFromMetrics(this.legendFontMetrics);
100
- const labelLineSpacing = Utils.getLineSpacingFromMetrics(this.legendFontMetrics) + this.mLegend.getYEntrySpace();
114
+ const labelLineSpacing = Utils.getLineSpacingFromMetrics(this.legendFontMetrics) + this.mLegend.yEntrySpace;
101
115
  const formYOffset = labelLineHeight - Utils.calcTextHeight(paint, 'ABC') / 2;
102
- const entries = this.mLegend.getEntries();
103
- const formToTextSpace = this.mLegend.getFormToTextSpace();
104
- const xEntrySpace = this.mLegend.getXEntrySpace();
105
- const orientation = this.mLegend.getOrientation();
106
- const horizontalAlignment = this.mLegend.getHorizontalAlignment();
107
- const verticalAlignment = this.mLegend.getVerticalAlignment();
108
- const direction = this.mLegend.getDirection();
109
- const defaultFormSize = this.mLegend.getFormSize();
110
- const stackSpace = this.mLegend.getStackSpace();
111
- const yoffset = this.mLegend.getYOffset();
112
- const xoffset = this.mLegend.getXOffset();
116
+ const entries = this.mLegend.entries;
117
+ const formToTextSpace = this.mLegend.formToTextSpace;
118
+ const xEntrySpace = this.mLegend.xEntrySpace;
119
+ const orientation = this.mLegend.orientation;
120
+ const horizontalAlignment = this.mLegend.horizontalAlignment;
121
+ const verticalAlignment = this.mLegend.verticalAlignment;
122
+ const direction = this.mLegend.direction;
123
+ const defaultFormSize = this.mLegend.formSize;
124
+ // space between the entries
125
+ const stackSpace = this.mLegend.stackSpace;
126
+ const yoffset = this.mLegend.yOffset;
127
+ const xoffset = this.mLegend.xOffset;
113
128
  let originPosX = 0;
114
129
  switch (horizontalAlignment) {
115
130
  case LegendHorizontalAlignment.LEFT:
116
131
  if (orientation === LegendOrientation.VERTICAL)
117
132
  originPosX = xoffset;
118
133
  else
119
- originPosX = this.mViewPortHandler.contentLeft() + xoffset;
134
+ originPosX = this.mViewPortHandler.contentLeft + xoffset;
120
135
  if (direction === LegendDirection.RIGHT_TO_LEFT)
121
136
  originPosX += this.mLegend.mNeededWidth;
122
137
  break;
123
138
  case LegendHorizontalAlignment.RIGHT:
124
139
  if (orientation === LegendOrientation.VERTICAL)
125
- originPosX = this.mViewPortHandler.getChartWidth() - xoffset;
140
+ originPosX = this.mViewPortHandler.chartWidth - xoffset;
126
141
  else
127
- originPosX = this.mViewPortHandler.contentRight() - xoffset;
142
+ originPosX = this.mViewPortHandler.contentRight - xoffset;
128
143
  if (direction === LegendDirection.LEFT_TO_RIGHT)
129
144
  originPosX -= this.mLegend.mNeededWidth;
130
145
  break;
131
146
  case LegendHorizontalAlignment.CENTER:
132
147
  if (orientation === LegendOrientation.VERTICAL)
133
- originPosX = this.mViewPortHandler.getChartWidth() / 2;
148
+ originPosX = this.mViewPortHandler.chartWidth / 2;
134
149
  else
135
- originPosX = this.mViewPortHandler.contentLeft() + this.mViewPortHandler.getContentRect().width() / 2;
150
+ originPosX = this.mViewPortHandler.contentLeft + this.mViewPortHandler.contentRect.width() / 2;
136
151
  originPosX += direction === LegendDirection.LEFT_TO_RIGHT ? +xoffset : -xoffset;
152
+ // Horizontally layed out legends do the center offset on a line basis,
153
+ // So here we offset the vertical ones only.
137
154
  if (orientation === LegendOrientation.VERTICAL) {
138
155
  originPosX += direction === LegendDirection.LEFT_TO_RIGHT ? -this.mLegend.mNeededWidth / 2.0 + xoffset : this.mLegend.mNeededWidth / 2.0 - xoffset;
139
156
  }
@@ -141,9 +158,9 @@ export class LegendRenderer extends Renderer {
141
158
  }
142
159
  switch (orientation) {
143
160
  case LegendOrientation.HORIZONTAL: {
144
- const calculatedLineSizes = this.mLegend.getCalculatedLineSizes();
145
- const calculatedLabelSizes = this.mLegend.getCalculatedLabelSizes();
146
- const calculatedLabelBreakPoints = this.mLegend.getCalculatedLabelBreakPoints();
161
+ const calculatedLineSizes = this.mLegend.calculatedLineSizes;
162
+ const calculatedLabelSizes = this.mLegend.calculatedLabelSizes;
163
+ const calculatedLabelBreakPoints = this.mLegend.calculatedLabelBreakPoints;
147
164
  let posX = originPosX;
148
165
  let posY = 0;
149
166
  switch (verticalAlignment) {
@@ -151,10 +168,10 @@ export class LegendRenderer extends Renderer {
151
168
  posY = yoffset;
152
169
  break;
153
170
  case LegendVerticalAlignment.BOTTOM:
154
- posY = this.mViewPortHandler.getChartHeight() - this.mLegend.mNeededHeight;
171
+ posY = this.mViewPortHandler.chartHeight - this.mLegend.mNeededHeight;
155
172
  break;
156
173
  case LegendVerticalAlignment.CENTER:
157
- posY = (this.mViewPortHandler.getChartHeight() - this.mLegend.mNeededHeight) / 2 + yoffset;
174
+ posY = (this.mViewPortHandler.chartHeight - this.mLegend.mNeededHeight) / 2 + yoffset;
158
175
  break;
159
176
  }
160
177
  let lineIndex = 0;
@@ -170,7 +187,7 @@ export class LegendRenderer extends Renderer {
170
187
  posX += (direction === LegendDirection.RIGHT_TO_LEFT ? calculatedLineSizes[lineIndex].width : -calculatedLineSizes[lineIndex].width) / 2;
171
188
  lineIndex++;
172
189
  }
173
- const isStacked = e.label == null;
190
+ const isStacked = !e.label; // grouped forms have null labels
174
191
  if (drawingForm) {
175
192
  if (direction === LegendDirection.RIGHT_TO_LEFT)
176
193
  posX -= formSize;
@@ -194,20 +211,21 @@ export class LegendRenderer extends Renderer {
194
211
  break;
195
212
  }
196
213
  case LegendOrientation.VERTICAL: {
214
+ // contains the stacked legend size in pixels
197
215
  let stack = 0;
198
216
  let wasStacked = false;
199
217
  let posY = 0;
200
218
  switch (verticalAlignment) {
201
219
  case LegendVerticalAlignment.TOP:
202
- posY = horizontalAlignment === LegendHorizontalAlignment.CENTER ? 0 : this.mViewPortHandler.contentTop();
220
+ posY = horizontalAlignment === LegendHorizontalAlignment.CENTER ? 0 : this.mViewPortHandler.contentTop;
203
221
  posY += yoffset;
204
222
  break;
205
223
  case LegendVerticalAlignment.BOTTOM:
206
- posY = horizontalAlignment === LegendHorizontalAlignment.CENTER ? this.mViewPortHandler.getChartHeight() : this.mViewPortHandler.contentBottom();
224
+ posY = horizontalAlignment === LegendHorizontalAlignment.CENTER ? this.mViewPortHandler.chartHeight : this.mViewPortHandler.contentBottom;
207
225
  posY -= this.mLegend.mNeededHeight + yoffset;
208
226
  break;
209
227
  case LegendVerticalAlignment.CENTER:
210
- posY = this.mViewPortHandler.getChartHeight() / 2 - this.mLegend.mNeededHeight / 2 + this.mLegend.getYOffset();
228
+ posY = this.mViewPortHandler.chartHeight / 2 - this.mLegend.mNeededHeight / 2 + this.mLegend.yOffset;
211
229
  break;
212
230
  }
213
231
  for (let i = 0; i < entries.length; i++) {
@@ -224,7 +242,7 @@ export class LegendRenderer extends Renderer {
224
242
  if (direction === LegendDirection.LEFT_TO_RIGHT)
225
243
  posX += formSize;
226
244
  }
227
- if (e.label != null) {
245
+ if (e.label) {
228
246
  if (drawingForm && !wasStacked)
229
247
  posX += direction === LegendDirection.LEFT_TO_RIGHT ? formToTextSpace : -formToTextSpace;
230
248
  else if (wasStacked)
@@ -238,6 +256,7 @@ export class LegendRenderer extends Renderer {
238
256
  posY += labelLineHeight + labelLineSpacing;
239
257
  this.drawLabel(c, posX, posY + labelLineHeight, e.label, paint);
240
258
  }
259
+ // make a step down
241
260
  posY += labelLineHeight + labelLineSpacing;
242
261
  stack = 0;
243
262
  }
@@ -250,20 +269,32 @@ export class LegendRenderer extends Renderer {
250
269
  }
251
270
  }
252
271
  }
272
+ /**
273
+ * Draws the Legend-form at the given position with the color at the given
274
+ * index.
275
+ *
276
+ * @param c canvas to draw with
277
+ * @param x position
278
+ * @param y position
279
+ * @param entry the entry to render
280
+ * @param legend the legend context
281
+ */
253
282
  drawForm(c, x, y, entry, legend, paint) {
254
- if (entry.formColor === ColorTemplate.COLOR_SKIP || entry.formColor === ColorTemplate.COLOR_NONE || entry.formColor === null)
283
+ if (entry.formColor === ColorTemplate.COLOR_SKIP || entry.formColor === ColorTemplate.COLOR_NONE || !entry.formColor)
255
284
  return;
256
285
  const restoreCount = c.save();
257
286
  let form = entry.form;
258
287
  if (form === LegendForm.DEFAULT)
259
- form = legend.getForm();
288
+ form = legend.form;
260
289
  paint.setColor(entry.formColor);
261
- const formSize = isNaN(entry.formSize) ? legend.getFormSize() : entry.formSize;
290
+ const formSize = isNaN(entry.formSize) ? legend.formSize : entry.formSize;
262
291
  const half = formSize / 2;
263
292
  switch (form) {
264
293
  case LegendForm.NONE:
294
+ // Do nothing
265
295
  break;
266
296
  case LegendForm.EMPTY:
297
+ // Do not draw, but keep space for the form
267
298
  break;
268
299
  case LegendForm.DEFAULT:
269
300
  case LegendForm.CIRCLE:
@@ -276,8 +307,8 @@ export class LegendRenderer extends Renderer {
276
307
  break;
277
308
  case LegendForm.LINE:
278
309
  {
279
- const formLineWidth = isNaN(entry.formLineWidth) ? legend.getFormLineWidth() : entry.formLineWidth;
280
- const formLineDashEffect = entry.formLineDashEffect == null ? legend.getFormLineDashEffect() : entry.formLineDashEffect;
310
+ const formLineWidth = isNaN(entry.formLineWidth) ? legend.formLineWidth : entry.formLineWidth;
311
+ const formLineDashEffect = entry.formLineDashEffect || legend.formLineDashEffect;
281
312
  paint.setStyle(Style.STROKE);
282
313
  paint.setStrokeWidth(formLineWidth);
283
314
  paint.setPathEffect(formLineDashEffect);
@@ -290,6 +321,14 @@ export class LegendRenderer extends Renderer {
290
321
  }
291
322
  c.restoreToCount(restoreCount);
292
323
  }
324
+ /**
325
+ * Draws the provided label at the given position.
326
+ *
327
+ * @param c canvas to draw with
328
+ * @param x
329
+ * @param y
330
+ * @param label the label to draw
331
+ */
293
332
  drawLabel(c, x, y, label, paint) {
294
333
  c.drawText(label, x, y, paint);
295
334
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LegendRenderer.js","sourceRoot":"../src/","sources":["renderer/LegendRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LegendRenderer.js","sourceRoot":"","sources":["../../../src/ui-chart/renderer/LegendRenderer.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { TypedArray } from '@nativescript-community/arraybuffers';
2
2
  import { Canvas, LinearGradient, Matrix, Paint, Path } from '@nativescript-community/ui-canvas';
3
3
  import { Color, ImageSource } from '@nativescript/core';
4
4
  import { ChartAnimator } from '../animation/ChartAnimator';
5
- import { LineChart } from '../charts';
5
+ import { LineChart } from '..';
6
6
  import { LineDataSet } from '../data/LineDataSet';
7
7
  import { Highlight } from '../highlight/Highlight';
8
8
  import { ILineDataSet } from '../interfaces/datasets/ILineDataSet';
@@ -25,18 +25,51 @@ export declare function splineCurve(firstPoint: XYPoint, middlePoint: XYPoint, a
25
25
  };
26
26
  export declare class DataSetImageCache {
27
27
  private circleBitmaps;
28
+ /**
29
+ * Sets up the cache, returns true if a change of cache was required.
30
+ *
31
+ * @param set
32
+ * @return
33
+ */
28
34
  init(set: ILineDataSet): boolean;
35
+ /**
36
+ * Fills the cache with bitmaps for the given dataset.
37
+ *
38
+ * @param set
39
+ * @param drawCircleHole
40
+ * @param drawTransparentCircleHole
41
+ */
29
42
  fill(set: ILineDataSet, renderPaint: Paint, circlePaintInner: Paint, drawCircleHole: boolean, drawTransparentCircleHole: boolean): void;
43
+ /**
44
+ * Returns the cached Bitmap at the given index.
45
+ *
46
+ * @param index
47
+ * @return
48
+ */
30
49
  getBitmap(index: any): any;
31
50
  }
32
51
  export declare class LineChartRenderer extends LineRadarRenderer {
33
52
  mChart: LineChart;
53
+ /**
54
+ * palet for the inner circle of the value indicators
55
+ */
34
56
  protected mCirclePaintInner: Paint;
57
+ /**
58
+ * Bitmap object used for drawing the paths (otherwise they are too long if
59
+ * rendered directly on the canvas)
60
+ */
35
61
  protected mDrawBitmap: WeakRef<ImageSource>;
62
+ /**
63
+ * on this canvas, the paths are rendered, it is initialized with the
64
+ * pathBitmap
65
+ */
36
66
  protected mBitmapCanvas: Canvas;
37
67
  private mLineBuffer;
38
68
  protected static mFillPath: Path;
39
69
  protected get fillPath(): Path;
70
+ /**
71
+ * cache for the circle bitmaps of all datasets
72
+ */
40
73
  private mImageCaches;
41
74
  constructor(chart: LineChart, animator: ChartAnimator, viewPortHandler: ViewPortHandler);
42
75
  get circlePaintInner(): Paint;
@@ -49,6 +82,7 @@ export declare class LineChartRenderer extends LineRadarRenderer {
49
82
  color: string | Color;
50
83
  [k: string]: any;
51
84
  }[], points: any, trans: Transformer, dataSet: LineDataSet): LinearGradient;
85
+ lastLinePath: Path;
52
86
  protected draw(c: Canvas, dataSet: LineDataSet): boolean;
53
87
  drawLines(canvas: Canvas, points: number[], offest: number, length: number, paint: Paint, matrix?: Matrix): void;
54
88
  protected drawFill(c: Canvas, dataSet: ILineDataSet, spline: Path, trans: Transformer, min: number, max: number, color?: any, fillMin?: number): void;
@@ -58,6 +92,9 @@ export declare class LineChartRenderer extends LineRadarRenderer {
58
92
  protected drawCirclesForDataset(c: Canvas, dataSet: LineDataSet): void;
59
93
  protected drawCircles(c: Canvas): void;
60
94
  drawHighlighted(c: Canvas, indices: Highlight[], actualDraw?: boolean): void;
95
+ /**
96
+ * Releases the drawing bitmap. This should be called when {@link LineChart#onDetachedFromWindow()}.
97
+ */
61
98
  releaseBitmap(): void;
62
99
  }
63
100
  export {};