@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
@@ -1,49 +1,95 @@
1
- import { PieRadarChartBase } from './PieRadarChartBase';
1
+ import { RectF } from '@nativescript-community/ui-canvas';
2
+ import { Trace } from '@nativescript/core';
2
3
  import { PieHighlighter } from '../highlight/PieHighlighter';
3
4
  import { PieChartRenderer } from '../renderer/PieChartRenderer';
4
5
  import { CLog, CLogTypes, Utils } from '../utils/Utils';
5
- import { RectF } from '@nativescript-community/ui-canvas';
6
- import { Trace } from '@nativescript/core';
6
+ import { PieRadarChartBase } from './PieRadarChartBase';
7
7
  const LOG_TAG = 'PieChart';
8
+ /**
9
+ * View that represents a pie chart. Draws cake like slices.
10
+ *
11
+
12
+ */
8
13
  export class PieChart extends PieRadarChartBase {
9
14
  constructor() {
10
15
  super(...arguments);
11
- this.mCircleBox = new RectF(0, 0, 0, 0);
12
- this.mDrawEntryLabels = true;
16
+ /**
17
+ * rect object that represents the bounds of the piechart, needed for
18
+ * drawing the circle
19
+ */
20
+ this.circleBox = new RectF(0, 0, 0, 0);
21
+ /**
22
+ * flag indicating if entry labels should be drawn or not
23
+ */
24
+ this.drawEntryLabels = true;
25
+ /**
26
+ * array that holds the width of each pie-slice in degrees
27
+ */
13
28
  this.mDrawAngles = [];
29
+ /**
30
+ * array that holds the absolute angle in degrees of each slice
31
+ */
14
32
  this.mAbsoluteAngles = [];
15
- this.mDrawHole = true;
16
- this.mCenterText = '';
33
+ /**
34
+ * if true, the white hole inside the chart will be drawn
35
+ */
36
+ this.drawHoleEnabled = true;
37
+ /**
38
+ * variable for the text that is drawn in the center of the pie-chart
39
+ */
40
+ this.centerText = '';
17
41
  this.mCenterTextOffset = { x: 0, y: 0 };
42
+ /**
43
+ * indicates the size of the hole in the center of the piechart, default:
44
+ * radius / 2
45
+ */
18
46
  this.mHoleRadiusPercent = 50;
19
- this.mTransparentCircleRadiusPercent = 55;
20
- this.mDrawCenterText = true;
21
- this.mCenterTextRadiusPercent = 100;
47
+ /**
48
+ * the radius of the transparent circle that is drawn next to the hole
49
+ * in the piechart in percent of the maximum radius (max = the radius of the
50
+ * whole chart), default 55% -> means 5% larger than the center-hole by
51
+ */
52
+ this.transparentCircleRadiusPercent = 55;
53
+ /**
54
+ * if enabled, centertext is drawn
55
+ */
56
+ this.drawCenterText = true;
57
+ /**
58
+ * the rectangular radius of the bounding box for the center text, as a percentage of the pie
59
+ * hole
60
+ * default 1.f (100%)
61
+ */
62
+ this.centerTextRadiusPercent = 100;
22
63
  this.mMaxAngle = 360;
64
+ /**
65
+ * Minimum angle to draw slices, this only works if there is enough room for all slices to have
66
+ * the minimum angle, default 0.
67
+ */
23
68
  this.mMinAngleForSlices = 0;
69
+ // for performance tracking
24
70
  this.totalTime = 0;
25
71
  this.drawCycles = 0;
26
72
  }
27
73
  init() {
28
74
  super.init();
29
- this.mRenderer = new PieChartRenderer(this, this.mAnimator, this.mViewPortHandler);
30
- this.mXAxis = null;
31
- this.mHighlighter = new PieHighlighter(this);
75
+ this.renderer = new PieChartRenderer(this, this.animator, this.viewPortHandler);
76
+ this.xAxis = null;
77
+ this.highlighter = new PieHighlighter(this);
32
78
  }
33
79
  onDraw(canvas) {
34
80
  const startTime = Date.now();
35
81
  super.onDraw(canvas);
36
- if (this.mData == null) {
82
+ if (!this.mData) {
37
83
  return;
38
84
  }
39
- this.mRenderer.drawData(canvas);
40
- if (this.valuesToHighlight()) {
41
- this.mRenderer.drawHighlighted(canvas, this.mIndicesToHighlight);
85
+ this.renderer.drawData(canvas);
86
+ if (this.hasValuesToHighlight && this.drawHighlight) {
87
+ this.renderer.drawHighlighted(canvas, this.indicesToHighlight);
42
88
  }
43
- this.mRenderer.drawExtras(canvas);
44
- this.mRenderer.drawValues(canvas);
45
- if (this.mLegendRenderer) {
46
- this.mLegendRenderer.renderLegend(canvas);
89
+ this.renderer.drawExtras(canvas);
90
+ this.renderer.drawValues(canvas);
91
+ if (this.legendRenderer) {
92
+ this.legendRenderer.renderLegend(canvas);
47
93
  }
48
94
  this.drawDescription(canvas);
49
95
  this.drawMarkers(canvas);
@@ -59,35 +105,42 @@ export class PieChart extends PieRadarChartBase {
59
105
  }
60
106
  calculateOffsets() {
61
107
  super.calculateOffsets();
62
- if (this.mData == null) {
108
+ // prevent nullpointer when no data set
109
+ if (!this.mData) {
63
110
  return;
64
111
  }
65
- const diameter = this.getDiameter();
112
+ const diameter = this.diameter;
66
113
  const radius = diameter / 2;
67
- const c = this.getCenterOffsets();
68
- const shift = this.mData.getDataSet().getSelectionShift();
69
- this.mCircleBox.set(c.x - radius + shift, c.y - radius + shift, c.x + radius - shift, c.y + radius - shift);
114
+ const c = this.centerOffsets;
115
+ const shift = this.mData.getDataSet().selectionShift;
116
+ // create the circle box that will contain the pie-chart (the bounds of the pie-chart)
117
+ this.circleBox.set(c.x - radius + shift, c.y - radius + shift, c.x + radius - shift, c.y + radius - shift);
70
118
  }
71
119
  calcMinMax() {
72
120
  this.calcAngles();
73
121
  }
74
122
  getMarkerPosition(highlight) {
75
- const center = this.getCenterCircleBox();
76
- let r = this.getRadius();
123
+ const center = this.centerCircleBox;
124
+ let r = this.radius;
77
125
  let off = (r / 10) * 3.6;
78
- if (this.isDrawHoleEnabled()) {
79
- off = (r - (r / 100) * this.getHoleRadius()) / 2;
126
+ if (this.drawHoleEnabled) {
127
+ off = (r - (r / 100) * this.holeRadius) / 2;
80
128
  }
81
- r -= off;
82
- const rotationAngle = this.getRotationAngle();
129
+ r -= off; // offset to keep things inside the chart
130
+ const rotationAngle = this.rotationAngle;
83
131
  const entryIndex = highlight.x;
132
+ // offset needed to center the drawn text in the slice
84
133
  const offset = this.mDrawAngles[entryIndex] / 2;
85
- const x = r * Math.cos((rotationAngle + this.mAbsoluteAngles[entryIndex] - offset) * this.mAnimator.getPhaseY() * Utils.DEG2RAD) + center.x;
86
- const y = r * Math.sin((rotationAngle + this.mAbsoluteAngles[entryIndex] - offset) * this.mAnimator.getPhaseY() * Utils.DEG2RAD) + center.y;
134
+ // calculate the text position
135
+ const x = r * Math.cos((rotationAngle + this.mAbsoluteAngles[entryIndex] - offset) * this.animator.phaseY * Utils.DEG2RAD) + center.x;
136
+ const y = r * Math.sin((rotationAngle + this.mAbsoluteAngles[entryIndex] - offset) * this.animator.phaseY * Utils.DEG2RAD) + center.y;
87
137
  return [x, y];
88
138
  }
139
+ /**
140
+ * calculates the needed angles for the chart slices
141
+ */
89
142
  calcAngles() {
90
- const entryCount = this.mData.getEntryCount();
143
+ const entryCount = this.mData.entryCount;
91
144
  if (this.mDrawAngles.length !== entryCount) {
92
145
  this.mDrawAngles = [];
93
146
  }
@@ -105,16 +158,16 @@ export class PieChart extends PieRadarChartBase {
105
158
  }
106
159
  }
107
160
  const yValueSum = this.mData.getYValueSum();
108
- const dataSets = this.mData.getDataSets();
161
+ const dataSets = this.mData.dataSets;
109
162
  const hasMinAngle = this.mMinAngleForSlices !== 0 && entryCount * this.mMinAngleForSlices <= this.mMaxAngle;
110
163
  const minAngles = [];
111
164
  let cnt = 0;
112
165
  let offset = 0;
113
166
  let diff = 0;
114
- for (let i = 0; i < this.mData.getDataSetCount(); i++) {
167
+ for (let i = 0; i < this.mData.dataSetCount; i++) {
115
168
  const set = dataSets[i];
116
169
  const yKey = set.yProperty;
117
- for (let j = 0; j < set.getEntryCount(); j++) {
170
+ for (let j = 0; j < set.entryCount; j++) {
118
171
  const drawAngle = this.calcAngle(Math.abs(set.getEntryForIndex(j)[yKey]), yValueSum);
119
172
  if (hasMinAngle) {
120
173
  const temp = drawAngle - this.mMinAngleForSlices;
@@ -138,6 +191,8 @@ export class PieChart extends PieRadarChartBase {
138
191
  }
139
192
  }
140
193
  if (hasMinAngle) {
194
+ // Correct bigger slices by relatively reducing their angles based on the total angle needed to subtract
195
+ // This requires that `entryCount * this.mMinAngleForSlices <= this.mMaxAngle` be true to properly work!
141
196
  for (let i = 0; i < entryCount; i++) {
142
197
  minAngles[i] -= ((minAngles[i] - this.mMinAngleForSlices) / diff) * offset;
143
198
  if (i === 0) {
@@ -150,179 +205,226 @@ export class PieChart extends PieRadarChartBase {
150
205
  this.mDrawAngles = minAngles;
151
206
  }
152
207
  }
208
+ /**
209
+ * Checks if the given index is set to be highlighted.
210
+ *
211
+ * @param index
212
+ * @return
213
+ */
153
214
  needsHighlight(index) {
154
- if (!this.valuesToHighlight()) {
215
+ // no highlight
216
+ if (!this.hasValuesToHighlight) {
155
217
  return false;
156
218
  }
157
- for (let i = 0; i < this.mIndicesToHighlight.length; i++) {
158
- if (this.mIndicesToHighlight[i].x === index) {
219
+ for (let i = 0; i < this.indicesToHighlight.length; i++) {
220
+ // check if the xvalue for the given dataset needs highlight
221
+ if (this.indicesToHighlight[i].x === index) {
159
222
  return true;
160
223
  }
161
224
  }
162
225
  return false;
163
226
  }
227
+ /**
228
+ * Calculates the needed angle for a given value
229
+ *
230
+ * @param value
231
+ * @param yValueSum
232
+ * @return
233
+ */
164
234
  calcAngle(value, yValueSum) {
165
235
  return (value / yValueSum) * this.mMaxAngle;
166
236
  }
167
- getXAxis() {
168
- throw new Error('PieChart has no XAxis');
169
- }
170
237
  getIndexForAngle(angle) {
171
- const a = Utils.getNormalizedAngle(angle - this.getRotationAngle());
238
+ // take the current angle of the chart into consideration
239
+ const a = Utils.getNormalizedAngle(angle - this.rotationAngle);
172
240
  for (let i = 0; i < this.mAbsoluteAngles.length; i++) {
173
241
  if (this.mAbsoluteAngles[i] > a) {
174
242
  return i;
175
243
  }
176
244
  }
177
- return -1;
178
- }
245
+ return -1; // return -1 if no index found
246
+ }
247
+ /**
248
+ * Returns the index of the DataSet this x-index belongs to.
249
+ *
250
+ * @param xIndex
251
+ * @return
252
+ */
179
253
  getDataSetIndexForIndex(xIndex) {
180
- const dataSets = this.mData.getDataSets();
254
+ const dataSets = this.mData.dataSets;
181
255
  for (let i = 0; i < dataSets.length; i++) {
182
- if (dataSets[i].getEntryForXValue(xIndex, NaN) != null) {
256
+ if (dataSets[i].getEntryForXValue(xIndex, NaN)) {
183
257
  return i;
184
258
  }
185
259
  }
186
260
  return -1;
187
261
  }
188
- getDrawAngles() {
262
+ /**
263
+ * returns an integer array of all the different angles the chart slices
264
+ * have the angles in the returned array determine how much space (of 360°)
265
+ * each slice takes
266
+ */
267
+ get drawAngles() {
189
268
  return this.mDrawAngles;
190
269
  }
191
- getAbsoluteAngles() {
270
+ /**
271
+ * returns the absolute angles of the different chart slices (where the
272
+ * slices end)
273
+ */
274
+ get absoluteAngles() {
192
275
  return this.mAbsoluteAngles;
193
276
  }
194
- setHoleColor(color) {
195
- this.mRenderer.holePaint.setColor(color);
196
- }
197
- setDrawSlicesUnderHole(enable) {
198
- this.mDrawSlicesUnderHole = enable;
199
- }
200
- isDrawSlicesUnderHoleEnabled() {
201
- return this.mDrawSlicesUnderHole;
277
+ /**
278
+ * Sets the color for the hole that is drawn in the center of the PieChart
279
+ * (if enabled).
280
+ *
281
+ * @param color
282
+ */
283
+ set holeColor(color) {
284
+ this.renderer.holePaint.setColor(color);
202
285
  }
203
- setDrawHoleEnabled(enabled) {
204
- this.mDrawHole = enabled;
286
+ get holeColor() {
287
+ return this.renderer.holePaint.color;
205
288
  }
206
- isDrawHoleEnabled() {
207
- return this.mDrawHole;
289
+ get requiredLegendOffset() {
290
+ return this.legendRenderer.labelPaint.getTextSize() * 2;
208
291
  }
209
- setCenterText(text) {
210
- if (text == null) {
211
- this.mCenterText = '';
212
- }
213
- else {
214
- this.mCenterText = text;
215
- }
216
- }
217
- getCenterText() {
218
- return this.mCenterText;
219
- }
220
- setDrawCenterText(enabled) {
221
- this.mDrawCenterText = enabled;
222
- }
223
- isDrawCenterTextEnabled() {
224
- return this.mDrawCenterText;
225
- }
226
- getRequiredLegendOffset() {
227
- return this.mLegendRenderer.labelPaint.getTextSize() * 2;
228
- }
229
- getRequiredBaseOffset() {
292
+ get requiredBaseOffset() {
230
293
  return 0;
231
294
  }
232
- getRadius() {
233
- if (this.mCircleBox == null) {
295
+ get radius() {
296
+ if (!this.circleBox) {
234
297
  return 0;
235
298
  }
236
299
  else {
237
- return Math.min(this.mCircleBox.width() / 2, this.mCircleBox.height() / 2);
300
+ return Math.min(this.circleBox.width() / 2, this.circleBox.height() / 2);
238
301
  }
239
302
  }
240
- getCircleBox() {
241
- return this.mCircleBox;
242
- }
243
- getCenterCircleBox() {
244
- return { x: this.mCircleBox.centerX(), y: this.mCircleBox.centerY() };
245
- }
246
- setCenterTextTypeface(t) {
247
- this.mRenderer.centerTextPaint.setTypeface(t);
248
- }
249
- setCenterTextSize(sizeDp) {
250
- this.mRenderer.centerTextPaint.setTextSize(sizeDp);
251
- }
252
- setCenterTextSizePixels(sizePixels) {
253
- this.mRenderer.centerTextPaint.setTextSize(sizePixels);
254
- }
255
- setCenterTextOffset(x, y) {
303
+ /**
304
+ * Returns the center of the circlebox
305
+ */
306
+ get centerCircleBox() {
307
+ return { x: this.circleBox.centerX(), y: this.circleBox.centerY() };
308
+ }
309
+ /**
310
+ * Sets the typeface for the center-text paint
311
+ *
312
+ * @param t
313
+ */
314
+ set centerTextTypeface(t) {
315
+ this.renderer.centerTextPaint.setTypeface(t);
316
+ }
317
+ get centerTextTypeface() {
318
+ return this.renderer.centerTextPaint.font;
319
+ }
320
+ /**
321
+ * Sets the size of the center text of the PieChart in dp.
322
+ *
323
+ * @param sizeDp
324
+ */
325
+ set centerTextSize(sizeDp) {
326
+ this.renderer.centerTextPaint.setTextSize(sizeDp);
327
+ }
328
+ get centerTextSize() {
329
+ return this.renderer.centerTextPaint.textSize;
330
+ }
331
+ /**
332
+ * Sets the offset the center text should have from it's original position in dp. Default x = 0, y = 0
333
+ *
334
+ * @param x
335
+ * @param y
336
+ */
337
+ set centerTextOffset({ x, y }) {
256
338
  this.mCenterTextOffset.x = x;
257
339
  this.mCenterTextOffset.y = y;
258
340
  }
259
- getCenterTextOffset() {
341
+ /**
342
+ * Returns the offset on the x- and y-axis the center text has in dp.
343
+ */
344
+ get centerTextOffset() {
260
345
  return { x: this.mCenterTextOffset.x, y: this.mCenterTextOffset.y };
261
346
  }
262
- setCenterTextColor(color) {
263
- this.mRenderer.centerTextPaint.setColor(color);
264
- }
265
- setHoleRadius(percent) {
347
+ /**
348
+ * Sets the color of the center text of the PieChart.
349
+ *
350
+ * @param color
351
+ */
352
+ set centerTextColor(color) {
353
+ this.renderer.centerTextPaint.setColor(color);
354
+ }
355
+ get centerTextColor() {
356
+ return this.renderer.centerTextPaint.color;
357
+ }
358
+ /**
359
+ * sets the radius of the hole in the center of the piechart in percent of
360
+ * the maximum radius (max = the radius of the whole chart), default 50%
361
+ *
362
+ * @param percent
363
+ */
364
+ set holeRadius(percent) {
266
365
  this.mHoleRadiusPercent = percent;
267
366
  }
268
- getHoleRadius() {
367
+ /**
368
+ * Returns the size of the hole radius in percent of the total radius.
369
+ */
370
+ get holeRadius() {
269
371
  return this.mHoleRadiusPercent;
270
372
  }
271
- setTransparentCircleColor(color) {
272
- const p = this.mRenderer.transparentCirclePaint;
373
+ /**
374
+ * Sets the color the transparent-circle should have.
375
+ *
376
+ * @param color
377
+ */
378
+ set transparentCircleColor(color) {
379
+ const p = this.renderer.transparentCirclePaint;
273
380
  const alpha = p.getAlpha();
274
381
  p.setColor(color);
275
382
  p.setAlpha(alpha);
276
383
  }
277
- setTransparentCircleRadius(percent) {
278
- this.mTransparentCircleRadiusPercent = percent;
279
- }
280
- getTransparentCircleRadius() {
281
- return this.mTransparentCircleRadiusPercent;
282
- }
283
- setTransparentCircleAlpha(alpha) {
284
- this.mRenderer.transparentCirclePaint.setAlpha(alpha);
285
- }
286
- setDrawSliceText(enabled) {
287
- this.mDrawEntryLabels = enabled;
288
- }
289
- setDrawEntryLabels(enabled) {
290
- this.mDrawEntryLabels = enabled;
291
- }
292
- isDrawEntryLabelsEnabled() {
293
- return this.mDrawEntryLabels;
294
- }
295
- setEntryLabelColor(color) {
296
- this.mRenderer.entryLabelsPaint.setColor(color);
297
- }
298
- setEntryLabelTypeface(tf) {
299
- this.mRenderer.entryLabelsPaint.setTypeface(tf);
300
- }
301
- setEntryLabelTextSize(size) {
302
- this.mRenderer.entryLabelsPaint.setTextSize(size);
303
- }
304
- setDrawRoundedSlices(enabled) {
305
- this.mDrawRoundedSlices = enabled;
306
- }
307
- isDrawRoundedSlicesEnabled() {
308
- return this.mDrawRoundedSlices;
309
- }
310
- setUsePercentValues(enabled) {
311
- this.mUsePercentValues = enabled;
312
- }
313
- isUsePercentValuesEnabled() {
314
- return this.mUsePercentValues;
315
- }
316
- setCenterTextRadiusPercent(percent) {
317
- this.mCenterTextRadiusPercent = percent;
318
- }
319
- getCenterTextRadiusPercent() {
320
- return this.mCenterTextRadiusPercent;
321
- }
322
- getMaxAngle() {
384
+ /**
385
+ * Sets the amount of transparency the transparent circle should have 0 = fully transparent,
386
+ * 255 = fully opaque.
387
+ * Default value is 100.
388
+ *
389
+ * @param alpha 0-255
390
+ */
391
+ set transparentCircleAlpha(alpha) {
392
+ this.renderer.transparentCirclePaint.setAlpha(alpha);
393
+ }
394
+ /**
395
+ * Sets the color the entry labels are drawn with.
396
+ *
397
+ * @param color
398
+ */
399
+ set entryLabelColor(color) {
400
+ this.renderer.entryLabelsPaint.setColor(color);
401
+ }
402
+ /**
403
+ * Sets a custom font for the drawing of the entry labels.
404
+ *
405
+ * @param tf
406
+ */
407
+ set entryLabelTypeface(tf) {
408
+ this.renderer.entryLabelsPaint.setTypeface(tf);
409
+ }
410
+ /**
411
+ * Sets the size of the entry labels in dp. Default: 13dp
412
+ *
413
+ * @param size
414
+ */
415
+ set entryLabelTextSize(size) {
416
+ this.renderer.entryLabelsPaint.setTextSize(size);
417
+ }
418
+ get maxAngle() {
323
419
  return this.mMaxAngle;
324
420
  }
325
- setMaxAngle(maxangle) {
421
+ /**
422
+ * Sets the max angle that is used for calculating the pie-circle. 360 means
423
+ * it's a full PieChart, 180 results in a half-pie-chart. Default: 360
424
+ *
425
+ * @param maxangle min 90, max 360
426
+ */
427
+ set maxAngle(maxangle) {
326
428
  if (maxangle > 360) {
327
429
  maxangle = 360;
328
430
  }
@@ -331,10 +433,22 @@ export class PieChart extends PieRadarChartBase {
331
433
  }
332
434
  this.mMaxAngle = maxangle;
333
435
  }
334
- getMinAngleForSlices() {
436
+ /**
437
+ * The minimum angle slices on the chart are rendered with, default is 0.
438
+ *
439
+ * @return minimum angle for slices
440
+ */
441
+ get minAngleForSlices() {
335
442
  return this.mMinAngleForSlices;
336
443
  }
337
- setMinAngleForSlices(minAngle) {
444
+ /**
445
+ * Set the angle to set minimum size for slices, you must call {@link #notifyDataSetChanged()}
446
+ * and {@link #invalidate()} when changing this, only works if there is enough room for all
447
+ * slices to have the minimum angle.
448
+ *
449
+ * @param minAngle minimum 0, maximum is half of {@link #setMaxAngle}
450
+ */
451
+ set minAngleForSlices(minAngle) {
338
452
  if (minAngle > this.mMaxAngle / 2) {
339
453
  minAngle = this.mMaxAngle / 2;
340
454
  }
@@ -344,15 +458,11 @@ export class PieChart extends PieRadarChartBase {
344
458
  this.mMinAngleForSlices = minAngle;
345
459
  }
346
460
  _onDetachedFromWindow() {
347
- if (this.mRenderer != null && this.mRenderer instanceof PieChartRenderer) {
348
- this.mRenderer.releaseBitmap();
461
+ // releases the bitmap in the renderer to avoid oom error
462
+ if (this.renderer instanceof PieChartRenderer) {
463
+ this.renderer.releaseBitmap();
349
464
  }
350
- }
351
- setCustomRenderer(renderer) {
352
- this.mCustomRenderer = renderer;
353
- }
354
- getCustomRenderer() {
355
- return this.mCustomRenderer;
465
+ //super.onDetachedFromWindow();
356
466
  }
357
467
  }
358
468
  //# sourceMappingURL=PieChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PieChart.js","sourceRoot":"../src/","sources":["charts/PieChart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PieChart.js","sourceRoot":"","sources":["../../../src/ui-chart/charts/PieChart.ts"],"names":[],"mappings":"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"}