@amcharts/amcharts5 5.0.0-beta.18 → 5.0.0-beta.22

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 (318) hide show
  1. package/.internal/charts/flow/Chord.js +3 -3
  2. package/.internal/charts/flow/Chord.js.map +1 -1
  3. package/.internal/charts/flow/ChordDirected.d.ts.map +1 -1
  4. package/.internal/charts/flow/ChordDirected.js +4 -3
  5. package/.internal/charts/flow/ChordDirected.js.map +1 -1
  6. package/.internal/charts/flow/ChordLink.js +1 -1
  7. package/.internal/charts/flow/ChordLink.js.map +1 -1
  8. package/.internal/charts/flow/ChordNodes.d.ts.map +1 -1
  9. package/.internal/charts/flow/ChordNodes.js +3 -1
  10. package/.internal/charts/flow/ChordNodes.js.map +1 -1
  11. package/.internal/charts/flow/ChordNonRibbon.js +1 -1
  12. package/.internal/charts/flow/ChordNonRibbon.js.map +1 -1
  13. package/.internal/charts/flow/Flow.d.ts.map +1 -1
  14. package/.internal/charts/flow/Flow.js +62 -59
  15. package/.internal/charts/flow/Flow.js.map +1 -1
  16. package/.internal/charts/flow/FlowNodes.d.ts +19 -1
  17. package/.internal/charts/flow/FlowNodes.d.ts.map +1 -1
  18. package/.internal/charts/flow/FlowNodes.js +21 -9
  19. package/.internal/charts/flow/FlowNodes.js.map +1 -1
  20. package/.internal/charts/flow/SankeyNodes.d.ts.map +1 -1
  21. package/.internal/charts/flow/SankeyNodes.js +3 -3
  22. package/.internal/charts/flow/SankeyNodes.js.map +1 -1
  23. package/.internal/charts/funnel/FunnelSeries.d.ts.map +1 -1
  24. package/.internal/charts/funnel/FunnelSeries.js +8 -8
  25. package/.internal/charts/funnel/FunnelSeries.js.map +1 -1
  26. package/.internal/charts/funnel/FunnelSlice.d.ts.map +1 -1
  27. package/.internal/charts/funnel/FunnelSlice.js +0 -2
  28. package/.internal/charts/funnel/FunnelSlice.js.map +1 -1
  29. package/.internal/charts/hierarchy/BreadcrumbBar.d.ts.map +1 -1
  30. package/.internal/charts/hierarchy/BreadcrumbBar.js +1 -0
  31. package/.internal/charts/hierarchy/BreadcrumbBar.js.map +1 -1
  32. package/.internal/charts/hierarchy/ForceDirected.d.ts.map +1 -1
  33. package/.internal/charts/hierarchy/ForceDirected.js +3 -2
  34. package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
  35. package/.internal/charts/hierarchy/Hierarchy.d.ts +6 -0
  36. package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
  37. package/.internal/charts/hierarchy/Hierarchy.js +15 -3
  38. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  39. package/.internal/charts/hierarchy/LinkedHierarchy.d.ts +3 -5
  40. package/.internal/charts/hierarchy/LinkedHierarchy.d.ts.map +1 -1
  41. package/.internal/charts/hierarchy/LinkedHierarchy.js +3 -5
  42. package/.internal/charts/hierarchy/LinkedHierarchy.js.map +1 -1
  43. package/.internal/charts/map/MapChart.d.ts +1 -1
  44. package/.internal/charts/map/MapChart.d.ts.map +1 -1
  45. package/.internal/charts/map/MapChart.js +3 -3
  46. package/.internal/charts/map/MapChart.js.map +1 -1
  47. package/.internal/charts/percent/PercentSeries.d.ts +29 -0
  48. package/.internal/charts/percent/PercentSeries.d.ts.map +1 -1
  49. package/.internal/charts/percent/PercentSeries.js +31 -5
  50. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  51. package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
  52. package/.internal/charts/pie/PieSeries.js +1 -3
  53. package/.internal/charts/pie/PieSeries.js.map +1 -1
  54. package/.internal/charts/radar/AxisRendererCircular.d.ts.map +1 -1
  55. package/.internal/charts/radar/AxisRendererCircular.js +16 -17
  56. package/.internal/charts/radar/AxisRendererCircular.js.map +1 -1
  57. package/.internal/charts/radar/RadarColumnSeries.d.ts +0 -1
  58. package/.internal/charts/radar/RadarColumnSeries.d.ts.map +1 -1
  59. package/.internal/charts/radar/RadarColumnSeries.js.map +1 -1
  60. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  61. package/.internal/charts/xy/XYChart.js +54 -74
  62. package/.internal/charts/xy/XYChart.js.map +1 -1
  63. package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
  64. package/.internal/charts/xy/XYCursor.js +14 -9
  65. package/.internal/charts/xy/XYCursor.js.map +1 -1
  66. package/.internal/charts/xy/axes/Axis.d.ts +24 -3
  67. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  68. package/.internal/charts/xy/axes/Axis.js +45 -42
  69. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  70. package/.internal/charts/xy/axes/AxisBullet.d.ts.map +1 -1
  71. package/.internal/charts/xy/axes/AxisBullet.js +4 -3
  72. package/.internal/charts/xy/axes/AxisBullet.js.map +1 -1
  73. package/.internal/charts/xy/axes/AxisRenderer.js +2 -2
  74. package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
  75. package/.internal/charts/xy/axes/AxisRendererX.d.ts.map +1 -1
  76. package/.internal/charts/xy/axes/AxisRendererX.js +1 -1
  77. package/.internal/charts/xy/axes/AxisRendererX.js.map +1 -1
  78. package/.internal/charts/xy/axes/AxisRendererY.d.ts.map +1 -1
  79. package/.internal/charts/xy/axes/AxisRendererY.js +5 -5
  80. package/.internal/charts/xy/axes/AxisRendererY.js.map +1 -1
  81. package/.internal/charts/xy/series/BaseColumnSeries.d.ts +20 -4
  82. package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
  83. package/.internal/charts/xy/series/BaseColumnSeries.js +82 -71
  84. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  85. package/.internal/charts/xy/series/CandlestickSeries.d.ts +0 -1
  86. package/.internal/charts/xy/series/CandlestickSeries.d.ts.map +1 -1
  87. package/.internal/charts/xy/series/CandlestickSeries.js.map +1 -1
  88. package/.internal/charts/xy/series/ColumnSeries.d.ts +0 -1
  89. package/.internal/charts/xy/series/ColumnSeries.d.ts.map +1 -1
  90. package/.internal/charts/xy/series/ColumnSeries.js.map +1 -1
  91. package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
  92. package/.internal/charts/xy/series/LineSeries.js +28 -3
  93. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  94. package/.internal/charts/xy/series/OHLCSeries.d.ts +0 -1
  95. package/.internal/charts/xy/series/OHLCSeries.d.ts.map +1 -1
  96. package/.internal/charts/xy/series/OHLCSeries.js.map +1 -1
  97. package/.internal/charts/xy/series/XYSeries.d.ts +3 -39
  98. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  99. package/.internal/charts/xy/series/XYSeries.js +12 -46
  100. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  101. package/.internal/core/Root.js +6 -6
  102. package/.internal/core/Root.js.map +1 -1
  103. package/.internal/core/render/Component.d.ts +5 -8
  104. package/.internal/core/render/Component.d.ts.map +1 -1
  105. package/.internal/core/render/Component.js +35 -63
  106. package/.internal/core/render/Component.js.map +1 -1
  107. package/.internal/core/render/Container.d.ts +1 -0
  108. package/.internal/core/render/Container.d.ts.map +1 -1
  109. package/.internal/core/render/Container.js +11 -0
  110. package/.internal/core/render/Container.js.map +1 -1
  111. package/.internal/core/render/Graphics.d.ts +1 -0
  112. package/.internal/core/render/Graphics.d.ts.map +1 -1
  113. package/.internal/core/render/Graphics.js +1 -0
  114. package/.internal/core/render/Graphics.js.map +1 -1
  115. package/.internal/core/render/Label.d.ts +9 -2
  116. package/.internal/core/render/Label.d.ts.map +1 -1
  117. package/.internal/core/render/Label.js +2 -1
  118. package/.internal/core/render/Label.js.map +1 -1
  119. package/.internal/core/render/Legend.d.ts +5 -1
  120. package/.internal/core/render/Legend.d.ts.map +1 -1
  121. package/.internal/core/render/Legend.js +12 -0
  122. package/.internal/core/render/Legend.js.map +1 -1
  123. package/.internal/core/render/Series.d.ts +2 -2
  124. package/.internal/core/render/Series.d.ts.map +1 -1
  125. package/.internal/core/render/Series.js.map +1 -1
  126. package/.internal/core/render/Sprite.d.ts +22 -8
  127. package/.internal/core/render/Sprite.d.ts.map +1 -1
  128. package/.internal/core/render/Sprite.js +90 -52
  129. package/.internal/core/render/Sprite.js.map +1 -1
  130. package/.internal/core/render/Text.d.ts +3 -2
  131. package/.internal/core/render/Text.d.ts.map +1 -1
  132. package/.internal/core/render/Text.js +4 -0
  133. package/.internal/core/render/Text.js.map +1 -1
  134. package/.internal/core/render/Tooltip.d.ts.map +1 -1
  135. package/.internal/core/render/Tooltip.js +2 -20
  136. package/.internal/core/render/Tooltip.js.map +1 -1
  137. package/.internal/core/render/backend/CanvasRenderer.d.ts +4 -3
  138. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  139. package/.internal/core/render/backend/CanvasRenderer.js +50 -30
  140. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  141. package/.internal/core/util/TextFormatter.d.ts +19 -19
  142. package/.internal/core/util/TextFormatter.d.ts.map +1 -1
  143. package/.internal/core/util/TextFormatter.js +19 -19
  144. package/.internal/core/util/TextFormatter.js.map +1 -1
  145. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  146. package/.internal/themes/DefaultTheme.js +3 -2
  147. package/.internal/themes/DefaultTheme.js.map +1 -1
  148. package/CHANGELOG.md +43 -0
  149. package/examples/javascript/flow-chord/package.json +1 -1
  150. package/examples/javascript/flow-chord-directed/package.json +1 -1
  151. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  152. package/examples/javascript/flow-sankey/package.json +1 -1
  153. package/examples/javascript/gauge/package.json +1 -1
  154. package/examples/javascript/gauge-bands/index.js +3 -4
  155. package/examples/javascript/gauge-bands/package.json +1 -1
  156. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  157. package/examples/javascript/hierarchy-pack/package.json +1 -1
  158. package/examples/javascript/hierarchy-partition/package.json +1 -1
  159. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  160. package/examples/javascript/hierarchy-tree/package.json +1 -1
  161. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  162. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  163. package/examples/javascript/map-day-and-night/package.json +1 -1
  164. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  165. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  166. package/examples/javascript/map-with-bubbles/package.json +1 -1
  167. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  168. package/examples/javascript/misc-40-charts/package.json +1 -1
  169. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  170. package/examples/javascript/pie-chart/package.json +1 -1
  171. package/examples/javascript/pie-donut-chart/package.json +1 -1
  172. package/examples/javascript/pie-variable-radius/package.json +1 -1
  173. package/examples/javascript/radar-column-iwatch-style/index.js +1 -1
  174. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  175. package/examples/javascript/radar-heat-map/index.js +1 -1
  176. package/examples/javascript/radar-heat-map/package.json +1 -1
  177. package/examples/javascript/radar-line/index.js +1 -1
  178. package/examples/javascript/radar-line/package.json +1 -1
  179. package/examples/javascript/radar-time-line/package.json +1 -1
  180. package/examples/javascript/sliced-funnel/index.js +1 -1
  181. package/examples/javascript/sliced-funnel/package.json +1 -1
  182. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  183. package/examples/javascript/sliced-pyramid/index.js +2 -6
  184. package/examples/javascript/sliced-pyramid/package.json +1 -1
  185. package/examples/javascript/xy-100-percent-stacked-column/index.js +1 -1
  186. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  187. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/index.js +1 -1
  188. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  189. package/examples/javascript/xy-bubble/index.js +1 -1
  190. package/examples/javascript/xy-bubble/package.json +1 -1
  191. package/examples/javascript/xy-candlestick/index.js +1 -1
  192. package/examples/javascript/xy-candlestick/package.json +1 -1
  193. package/examples/javascript/xy-clustered-column/index.js +1 -1
  194. package/examples/javascript/xy-clustered-column/package.json +1 -1
  195. package/examples/javascript/xy-column/index.js +1 -1
  196. package/examples/javascript/xy-column/package.json +1 -1
  197. package/examples/javascript/xy-comparing-series-google-analytics-style/index.js +1 -1
  198. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  199. package/examples/javascript/xy-data-grouping/index.js +1 -1
  200. package/examples/javascript/xy-data-grouping/package.json +1 -1
  201. package/examples/javascript/xy-draggable-range/index.js +2 -2
  202. package/examples/javascript/xy-draggable-range/package.json +1 -1
  203. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/index.js +1 -1
  204. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  205. package/examples/javascript/xy-dumbbell plot/index.js +1 -1
  206. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  207. package/examples/javascript/xy-evenly-spaced-date-axis/index.js +1 -1
  208. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  209. package/examples/javascript/xy-line/index.js +1 -1
  210. package/examples/javascript/xy-line/package.json +1 -1
  211. package/examples/javascript/xy-line-highlight-on-legend-hover/index.js +1 -1
  212. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  213. package/examples/javascript/xy-live-data/index.js +1 -1
  214. package/examples/javascript/xy-live-data/package.json +1 -1
  215. package/examples/javascript/xy-multiple-synced-value-axes/index.js +1 -1
  216. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  217. package/examples/javascript/xy-ohlc/index.js +1 -1
  218. package/examples/javascript/xy-ohlc/package.json +1 -1
  219. package/examples/javascript/xy-real-time-data-sorting/index.js +1 -1
  220. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  221. package/examples/javascript/xy-smoothed-line/index.js +1 -1
  222. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  223. package/examples/javascript/xy-stacked-and-clustered-column/index.js +1 -1
  224. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  225. package/examples/javascript/xy-stacked-column/index.js +1 -1
  226. package/examples/javascript/xy-stacked-column/package.json +1 -1
  227. package/examples/javascript/xy-stacked-step/index.js +1 -1
  228. package/examples/javascript/xy-stacked-step/package.json +1 -1
  229. package/examples/javascript/xy-stock/index.js +1 -1
  230. package/examples/javascript/xy-stock/package.json +1 -1
  231. package/examples/javascript/xy-stock-comparing/index.js +1 -1
  232. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  233. package/examples/typescript/flow-chord/package.json +1 -1
  234. package/examples/typescript/flow-chord-directed/package.json +1 -1
  235. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  236. package/examples/typescript/flow-sankey/package.json +1 -1
  237. package/examples/typescript/gauge/package.json +1 -1
  238. package/examples/typescript/gauge-bands/index.ts +3 -4
  239. package/examples/typescript/gauge-bands/package.json +1 -1
  240. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  241. package/examples/typescript/hierarchy-pack/package.json +1 -1
  242. package/examples/typescript/hierarchy-partition/package.json +1 -1
  243. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  244. package/examples/typescript/hierarchy-tree/package.json +1 -1
  245. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  246. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  247. package/examples/typescript/map-day-and-night/package.json +1 -1
  248. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  249. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  250. package/examples/typescript/map-with-bubbles/package.json +1 -1
  251. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  252. package/examples/typescript/misc-40-charts/package.json +1 -1
  253. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  254. package/examples/typescript/pie-chart/package.json +1 -1
  255. package/examples/typescript/pie-donut-chart/package.json +1 -1
  256. package/examples/typescript/pie-variable-radius/index.ts +1 -1
  257. package/examples/typescript/pie-variable-radius/package.json +1 -1
  258. package/examples/typescript/radar-column-iwatch-style/index.ts +1 -1
  259. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  260. package/examples/typescript/radar-heat-map/index.ts +1 -1
  261. package/examples/typescript/radar-heat-map/package.json +1 -1
  262. package/examples/typescript/radar-line/index.ts +1 -1
  263. package/examples/typescript/radar-line/package.json +1 -1
  264. package/examples/typescript/radar-time-line/package.json +1 -1
  265. package/examples/typescript/sliced-funnel/index.ts +1 -1
  266. package/examples/typescript/sliced-funnel/package.json +1 -1
  267. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  268. package/examples/typescript/sliced-pyramid/index.ts +2 -6
  269. package/examples/typescript/sliced-pyramid/package.json +1 -1
  270. package/examples/typescript/xy-100-percent-stacked-column/index.ts +1 -1
  271. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  272. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/index.ts +1 -1
  273. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  274. package/examples/typescript/xy-bubble/index.ts +1 -1
  275. package/examples/typescript/xy-bubble/package.json +1 -1
  276. package/examples/typescript/xy-candlestick/index.ts +1 -1
  277. package/examples/typescript/xy-candlestick/package.json +1 -1
  278. package/examples/typescript/xy-clustered-column/index.ts +1 -1
  279. package/examples/typescript/xy-clustered-column/package.json +1 -1
  280. package/examples/typescript/xy-column/index.ts +1 -1
  281. package/examples/typescript/xy-column/package.json +1 -1
  282. package/examples/typescript/xy-comparing-series-google-analytics-style/index.ts +1 -1
  283. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  284. package/examples/typescript/xy-data-grouping/index.ts +1 -1
  285. package/examples/typescript/xy-data-grouping/package.json +1 -1
  286. package/examples/typescript/xy-draggable-range/index.ts +2 -2
  287. package/examples/typescript/xy-draggable-range/package.json +1 -1
  288. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/index.ts +1 -1
  289. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  290. package/examples/typescript/xy-dumbbell plot/index.ts +1 -1
  291. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  292. package/examples/typescript/xy-evenly-spaced-date-axis/index.ts +1 -1
  293. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  294. package/examples/typescript/xy-line/index.ts +1 -1
  295. package/examples/typescript/xy-line/package.json +1 -1
  296. package/examples/typescript/xy-line-highlight-on-legend-hover/index.ts +1 -1
  297. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  298. package/examples/typescript/xy-live-data/index.ts +1 -1
  299. package/examples/typescript/xy-live-data/package.json +1 -1
  300. package/examples/typescript/xy-multiple-synced-value-axes/index.ts +1 -1
  301. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  302. package/examples/typescript/xy-ohlc/index.ts +1 -1
  303. package/examples/typescript/xy-ohlc/package.json +1 -1
  304. package/examples/typescript/xy-real-time-data-sorting/index.ts +1 -1
  305. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  306. package/examples/typescript/xy-smoothed-line/index.ts +1 -1
  307. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  308. package/examples/typescript/xy-stacked-and-clustered-column/index.ts +1 -1
  309. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  310. package/examples/typescript/xy-stacked-column/index.ts +1 -1
  311. package/examples/typescript/xy-stacked-column/package.json +1 -1
  312. package/examples/typescript/xy-stacked-step/index.ts +1 -1
  313. package/examples/typescript/xy-stacked-step/package.json +1 -1
  314. package/examples/typescript/xy-stock/index.ts +1 -1
  315. package/examples/typescript/xy-stock/package.json +1 -1
  316. package/examples/typescript/xy-stock-comparing/index.ts +1 -1
  317. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  318. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Flow.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/Flow.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Color } from \"../../core/util/Color\";\nimport type { FlowLink } from \"./FlowLink\";\nimport type { FlowNodes, IFlowNodesDataItem } from \"./FlowNodes\";\nimport type { ListTemplate } from \"../../core/util/List\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type * as d3sankey from \"d3-sankey\";\n\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"../../core/render/Series\";\nimport { Container } from \"../../core/render/Container\";\nimport { LinearGradient } from \"../../core/render/gradients/LinearGradient\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\nexport interface IFlowDataItem extends ISeriesDataItem {\n\n\t/**\n\t * Link value.\n\t */\n\tvalue: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvalueWorking: number;\n\n\t/**\n\t * Associated link element.\n\t */\n\tlink: FlowLink;\n\n\t/**\n\t * Link's color.\n\t */\n\tfill: Color;\n\n\t/**\n\t * @ignore\n\t */\n\td3SankeyLink: d3sankey.SankeyLink<d3sankey.SankeyExtraProperties, d3sankey.SankeyExtraProperties>;\n\n\t/**\n\t * An ID of the target node.\n\t */\n\ttargetId: string;\n\n\t/**\n\t * An ID of the source node.\n\t */\n\tsourceId: string;\n\n\t/**\n\t * A data item of the source node.\n\t */\n\tsource: DataItem<IFlowNodesDataItem>;\n\n\t/**\n\t * A data item of the target node.\n\t */\n\ttarget: DataItem<IFlowNodesDataItem>;\n\n}\n\nexport interface IFlowSettings extends ISeriesSettings {\n\n\t/**\n\t * A field in data which holds source node ID.\n\t */\n\tsourceIdField?: string;\n\n\t/**\n\t * A field in data which holds target node ID.\n\t */\n\ttargetIdField?: string;\n\n\t/**\n\t * The thickness of node strip in pixels.\n\t *\n\t * @default 10\n\t */\n\tnodeWidth?: number;\n\n\t/**\n\t * Minimum gap between adjacent nodes.\n\t *\n\t * @default 10\n\t */\n\tnodePadding?: number;\n\n}\n\nexport interface IFlowPrivate extends ISeriesPrivate {\n\tvalueSum?: number;\n\tvalueLow?: number;\n\tvalueHigh?: number;\n}\n\nexport interface IFlowEvents extends ISeriesEvents {\n}\n\n/**\n * A base class for all flow type series: [[Sankey]] and [[Chord]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/} for more info\n */\nexport abstract class Flow extends Series {\n\tpublic static className: string = \"Flow\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([Flow.className]);\n\n\tdeclare public _settings: IFlowSettings;\n\tdeclare public _privateSettings: IFlowPrivate;\n\tdeclare public _dataItemSettings: IFlowDataItem;\n\tdeclare public _events: IFlowEvents;\n\n\t/**\n\t * @ignore\n\t */\n\tdeclare public readonly nodes: FlowNodes;\n\n\t/**\n\t * Container series will place their links in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly linksContainer = this.children.push(Container.new(this._root, {}));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract readonly links: ListTemplate<FlowLink>;\n\n\tprotected _nodesData: d3sankey.SankeyNodeMinimal<{}, {}>[] = [];\n\tprotected _linksData: { source: d3sankey.SankeyNodeMinimal<{}, {}>, target: d3sankey.SankeyNodeMinimal<{}, {}>, value: number }[] = [];\n\tprotected _index = 0;\n\n\tprotected _linksByIndex: { [index: string]: any } = {}\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"disabled\", \"sourceId\", \"targetId\");\n\n\t\tif (this.nodes) {\n\t\t\tthis.nodes.flow = this;\n\t\t}\n\n\t\tsuper._afterNew();\n\n\t\tthis.children.push(this.bulletsContainer);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract makeLink(dataItem: DataItem<this[\"_dataItemSettings\"]>): FlowLink;\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst nodes = this.nodes;\n\t\tif (nodes) {\n\t\t\tlet unknown = false;\n\t\t\tlet sourceId = dataItem.get(\"sourceId\");\n\t\t\tlet sourceDataItem = nodes.getDataItemById(sourceId);\n\n\t\t\tif (!sourceDataItem) {\n\t\t\t\tif (sourceId == null) {\n\t\t\t\t\tsourceId = \"undefined\" + this._index;\n\t\t\t\t\tthis._index++;\n\t\t\t\t\tunknown = true;\n\t\t\t\t}\n\t\t\t\tnodes.data.push({ id: sourceId, unknown: unknown });\n\t\t\t\tsourceDataItem = nodes.getDataItemById(sourceId)!;\n\t\t\t\tif (!unknown) {\n\t\t\t\t\tsourceDataItem.set(\"name\", sourceId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tunknown = false;\n\t\t\tlet targetId = dataItem.get(\"targetId\");\n\n\t\t\tlet targetDataItem = nodes.getDataItemById(targetId);\n\t\t\tif (!targetDataItem) {\n\t\t\t\tif (targetId == null) {\n\t\t\t\t\ttargetId = \"undefined\" + this._index;\n\t\t\t\t\tthis._index++;\n\t\t\t\t\tunknown = true;\n\t\t\t\t}\n\n\t\t\t\tnodes.data.push({ id: targetId, unknown: unknown });\n\t\t\t\ttargetDataItem = nodes.getDataItemById(targetId)!;\n\t\t\t\tif (!unknown) {\n\t\t\t\t\ttargetDataItem.set(\"name\", targetId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (sourceDataItem) {\n\t\t\t\tdataItem.set(\"source\", sourceDataItem);\n\t\t\t\tnodes.addOutgoingLink(sourceDataItem, dataItem);\n\t\t\t}\n\n\t\t\tif (targetDataItem) {\n\t\t\t\tdataItem.set(\"target\", targetDataItem);\n\t\t\t\tnodes.addincomingLink(targetDataItem, dataItem);\n\t\t\t}\n\n\t\t\tdataItem.set(\"link\", this.makeLink(dataItem));\n\n\t\t\tconst sourceIndex = this.nodes.dataItems.indexOf(sourceDataItem);\n\t\t\tconst targetIndex = this.nodes.dataItems.indexOf(targetDataItem);\n\n\t\t\tthis._linksByIndex[sourceIndex + \"_\" + targetIndex] = dataItem;\n\n\t\t\tif (sourceDataItem.get(\"unknown\")) {\n\t\t\t\tif (targetDataItem) {\n\t\t\t\t\tsourceDataItem.set(\"fill\", targetDataItem.get(\"fill\"));\n\t\t\t\t}\n\n\t\t\t\tdataItem.get(\"link\").set(\"fillStyle\", \"gradient\");\n\t\t\t}\n\n\n\t\t\tif (targetDataItem.get(\"unknown\")) {\n\t\t\t\tif (sourceDataItem) {\n\t\t\t\t\ttargetDataItem.set(\"fill\", sourceDataItem.get(\"fill\"));\n\t\t\t\t}\n\n\t\t\t\tdataItem.get(\"link\").set(\"fillStyle\", \"gradient\");\n\t\t\t}\n\n\t\t\tthis._updateLinkColor(dataItem);\n\t\t}\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tlet valueLow = Infinity;\n\t\tlet valueHigh = -Infinity;\n\t\tlet valueSum = 0;\n\n\t\tif (this._valuesDirty) {\n\t\t\tthis._nodesData = [];\n\t\t\tconst nodes = this.nodes;\n\t\t\tif (nodes) {\n\t\t\t\t$array.each(nodes.dataItems, (dataItem) => {\n\t\t\t\t\tthis._nodesData.push(dataItem.get(\"d3SankeyNode\"));\n\n\t\t\t\t\tconst incoming = dataItem.get(\"incomingLinks\")\n\n\t\t\t\t\tlet sumIncoming = 0;\n\t\t\t\t\tlet sumIncomingWorking = 0;\n\t\t\t\t\tif (incoming) {\n\t\t\t\t\t\t$array.each(incoming, (link) => {\n\t\t\t\t\t\t\tconst value = link.get(\"value\");\n\t\t\t\t\t\t\tconst workingValue = link.get(\"valueWorking\");\n\t\t\t\t\t\t\tsumIncoming += value;\n\t\t\t\t\t\t\tsumIncomingWorking += workingValue;\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tdataItem.set(\"sumIncoming\", sumIncoming);\n\t\t\t\t\tdataItem.set(\"sumIncomingWorking\", sumIncomingWorking);\n\n\t\t\t\t\tconst outgoing = dataItem.get(\"outgoingLinks\")\n\t\t\t\t\tlet sumOutgoing = 0;\n\t\t\t\t\tlet sumOutgoingWorking = 0;\n\t\t\t\t\tif (outgoing) {\n\t\t\t\t\t\t$array.each(outgoing, (link) => {\n\t\t\t\t\t\t\tconst value = link.get(\"value\");\n\t\t\t\t\t\t\tconst workingValue = link.get(\"valueWorking\");\n\t\t\t\t\t\t\tsumOutgoing += value;\n\t\t\t\t\t\t\tsumOutgoingWorking += workingValue;\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tdataItem.set(\"sumOutgoing\", sumOutgoing);\n\t\t\t\t\tdataItem.set(\"sumOutgoingWorking\", sumOutgoingWorking);\n\n\t\t\t\t\tdataItem.set(\"sum\", sumIncoming + sumOutgoing);\n\t\t\t\t\tdataItem.set(\"sumWorking\", sumIncomingWorking + sumOutgoingWorking);\n\n\t\t\t\t\tnodes.updateLegendValue(dataItem);\n\t\t\t\t})\n\t\t\t}\n\t\t\tthis._linksData = [];\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tlet value = dataItem.get(\"value\");\n\t\t\t\tif ($type.isNumber(value)) {\n\t\t\t\t\tlet valueWorking = dataItem.get(\"valueWorking\");\n\t\t\t\t\tlet d3SankeyLink = { source: dataItem.get(\"source\").get(\"d3SankeyNode\"), target: dataItem.get(\"target\").get(\"d3SankeyNode\"), value: valueWorking };\n\t\t\t\t\tdataItem.setRaw(\"d3SankeyLink\", d3SankeyLink);\n\t\t\t\t\tthis._linksData.push(d3SankeyLink);\n\n\t\t\t\t\tif (value < valueLow) {\n\t\t\t\t\t\tvalueLow = value;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (value > valueHigh) {\n\t\t\t\t\t\tvalueHigh = value;\n\t\t\t\t\t}\n\n\t\t\t\t\tvalueSum += value;\n\n\t\t\t\t\tthis.updateLegendValue(dataItem);\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tthis.setPrivateRaw(\"valueHigh\", valueHigh);\n\t\t\tthis.setPrivateRaw(\"valueLow\", valueLow);\n\t\t\tthis.setPrivateRaw(\"valueSum\", valueSum);\n\t\t}\n\t}\n\n\tpublic _updateLinkColor(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst link = dataItem.get(\"link\");\n\n\t\tconst fillStyle = link.get(\"fillStyle\");\n\t\tconst strokeStyle = link.get(\"strokeStyle\");\n\t\tconst source = dataItem.get(\"source\");\n\t\tconst target = dataItem.get(\"target\");\n\t\tconst sourceFill = source.get(\"fill\");\n\t\tconst targetFill = target.get(\"fill\");\n\t\tlink.set(\"fillGradient\", undefined);\n\t\tlink.set(\"strokeGradient\", undefined);\n\n\t\tif (fillStyle == \"solid\") {\n\t\t\t// TODO why does this apply all the templates ?\n\t\t\tlink._applyTemplates();\n\t\t}\n\t\telse if (fillStyle == \"source\") {\n\t\t\tlink.set(\"fill\", sourceFill);\n\t\t}\n\t\telse if (fillStyle == \"target\") {\n\t\t\tlink.set(\"fill\", targetFill);\n\t\t}\n\t\telse if (fillStyle == \"gradient\") {\n\t\t\tlet gradient = link._fillGradient;\n\t\t\tif (!gradient) {\n\t\t\t\tgradient = LinearGradient.new(this._root, {});\n\t\t\t\tconst sourceStop: any = { color: sourceFill }\n\t\t\t\tif (source.get(\"unknown\")) {\n\t\t\t\t\tsourceStop.opacity = 0;\n\t\t\t\t}\n\t\t\t\tconst targetStop: any = { color: targetFill };\n\t\t\t\tif (target.get(\"unknown\")) {\n\t\t\t\t\ttargetStop.opacity = 0;\n\t\t\t\t}\n\n\t\t\t\tgradient.set(\"stops\", [sourceStop, targetStop]);\n\t\t\t\tlink._fillGradient = gradient;\n\t\t\t}\n\t\t\tlink.set(\"fillGradient\", gradient);\n\t\t}\n\t\telse if (fillStyle == \"none\") {\n\t\t\tlink.set(\"fill\", undefined);\n\t\t}\n\n\n\t\tif (strokeStyle == \"solid\") {\n\t\t\t// TODO why does this apply all the templates ?\n\t\t\tlink._applyTemplates();\n\t\t}\n\t\telse if (strokeStyle == \"source\") {\n\t\t\tlink.set(\"stroke\", sourceFill);\n\t\t}\n\t\telse if (strokeStyle == \"target\") {\n\t\t\tlink.set(\"stroke\", targetFill);\n\t\t}\n\t\telse if (strokeStyle == \"gradient\") {\n\t\t\tlet gradient = link._strokeGradient;\n\t\t\tif (!gradient) {\n\t\t\t\tgradient = LinearGradient.new(this._root, {});\n\t\t\t\tconst sourceStop: any = { color: sourceFill }\n\t\t\t\tif (source.get(\"unknown\")) {\n\t\t\t\t\tsourceStop.opacity = 0;\n\t\t\t\t}\n\t\t\t\tconst targetStop: any = { color: targetFill };\n\t\t\t\tif (target.get(\"unknown\")) {\n\t\t\t\t\ttargetStop.opacity = 0;\n\t\t\t\t}\n\n\t\t\t\tgradient.set(\"stops\", [sourceStop, targetStop]);\n\t\t\t\tlink._strokeGradient = gradient;\n\t\t\t}\n\t\t\tlink.set(\"strokeGradient\", gradient);\n\t\t}\n\t\telse if (strokeStyle == \"none\") {\n\t\t\tlink.set(\"stroke\", undefined);\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet link = dataItem.get(\"link\");\n\t\tif (link) {\n\t\t\tlink.dispose();\n\t\t}\n\t}\n\n\t/**\n\t * Shows diagram's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\t\tconst hiddenState = this.states.create(\"hidden\", {})\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = hiddenState.get(\"stateAnimationDuration\", this.get(\"stateAnimationDuration\", 0));\n\t\t}\n\n\t\tconst easing = hiddenState.get(\"stateAnimationEasing\", this.get(\"stateAnimationEasing\"));\n\n\t\tpromises.push(dataItem.animate({ key: \"valueWorking\" as any, to: 0, duration: duration, easing: easing }).waitForStop());\n\n\t\tconst linkGraphics = dataItem.get(\"link\");\n\t\tlinkGraphics.hide();\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Shows diagram's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = this.get(\"stateAnimationDuration\", 0);\n\t\t}\n\n\t\tconst easing = this.get(\"stateAnimationEasing\");\n\n\t\tpromises.push(dataItem.animate({ key: \"valueWorking\" as any, to: dataItem.get(\"value\"), duration: duration, easing: easing }).waitForStop());\n\n\t\tconst linkGraphics = dataItem.get(\"link\");\n\t\tlinkGraphics.show();\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tif (dataItem) {\n\t\t\t\tconst link = dataItem.get(\"link\");\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\n\t\t\t\tif (sprite) {\n\t\t\t\t\tconst point = link.getPoint(bullet.get(\"locationY\", 0));\n\t\t\t\t\tsprite.setAll({ x: point.x, y: point.y, rotation: point.angle + 90 });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"Flow.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/Flow.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Color } from \"../../core/util/Color\";\nimport type { FlowLink } from \"./FlowLink\";\nimport type { FlowNodes, IFlowNodesDataItem } from \"./FlowNodes\";\nimport type { ListTemplate } from \"../../core/util/List\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type * as d3sankey from \"d3-sankey\";\n\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"../../core/render/Series\";\nimport { Container } from \"../../core/render/Container\";\nimport { LinearGradient } from \"../../core/render/gradients/LinearGradient\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\nexport interface IFlowDataItem extends ISeriesDataItem {\n\n\t/**\n\t * Link value.\n\t */\n\tvalue: number;\n\n\t/**\n\t * @ignore\n\t */\n\tvalueWorking: number;\n\n\t/**\n\t * Associated link element.\n\t */\n\tlink: FlowLink;\n\n\t/**\n\t * Link's color.\n\t */\n\tfill: Color;\n\n\t/**\n\t * @ignore\n\t */\n\td3SankeyLink: d3sankey.SankeyLink<d3sankey.SankeyExtraProperties, d3sankey.SankeyExtraProperties>;\n\n\t/**\n\t * An ID of the target node.\n\t */\n\ttargetId: string;\n\n\t/**\n\t * An ID of the source node.\n\t */\n\tsourceId: string;\n\n\t/**\n\t * A data item of the source node.\n\t */\n\tsource: DataItem<IFlowNodesDataItem>;\n\n\t/**\n\t * A data item of the target node.\n\t */\n\ttarget: DataItem<IFlowNodesDataItem>;\n\n}\n\nexport interface IFlowSettings extends ISeriesSettings {\n\n\t/**\n\t * A field in data which holds source node ID.\n\t */\n\tsourceIdField?: string;\n\n\t/**\n\t * A field in data which holds target node ID.\n\t */\n\ttargetIdField?: string;\n\n\t/**\n\t * The thickness of node strip in pixels.\n\t *\n\t * @default 10\n\t */\n\tnodeWidth?: number;\n\n\t/**\n\t * Minimum gap between adjacent nodes.\n\t *\n\t * @default 10\n\t */\n\tnodePadding?: number;\n\n}\n\nexport interface IFlowPrivate extends ISeriesPrivate {\n\tvalueSum?: number;\n\tvalueLow?: number;\n\tvalueHigh?: number;\n}\n\nexport interface IFlowEvents extends ISeriesEvents {\n}\n\n/**\n * A base class for all flow type series: [[Sankey]] and [[Chord]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/} for more info\n */\nexport abstract class Flow extends Series {\n\tpublic static className: string = \"Flow\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([Flow.className]);\n\n\tdeclare public _settings: IFlowSettings;\n\tdeclare public _privateSettings: IFlowPrivate;\n\tdeclare public _dataItemSettings: IFlowDataItem;\n\tdeclare public _events: IFlowEvents;\n\n\t/**\n\t * @ignore\n\t */\n\tdeclare public readonly nodes: FlowNodes;\n\n\t/**\n\t * Container series will place their links in.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly linksContainer = this.children.push(Container.new(this._root, {}));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract readonly links: ListTemplate<FlowLink>;\n\n\tprotected _nodesData: d3sankey.SankeyNodeMinimal<{}, {}>[] = [];\n\tprotected _linksData: { source: d3sankey.SankeyNodeMinimal<{}, {}>, target: d3sankey.SankeyNodeMinimal<{}, {}>, value: number }[] = [];\n\tprotected _index = 0;\n\n\tprotected _linksByIndex: { [index: string]: any } = {}\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"disabled\", \"sourceId\", \"targetId\");\n\n\t\tif (this.nodes) {\n\t\t\tthis.nodes.flow = this;\n\t\t}\n\n\t\tsuper._afterNew();\n\n\t\tthis.children.push(this.bulletsContainer);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract makeLink(dataItem: DataItem<this[\"_dataItemSettings\"]>): FlowLink;\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst nodes = this.nodes;\n\t\tif (nodes) {\n\t\t\tlet unknown = false;\n\t\t\tlet sourceId = dataItem.get(\"sourceId\");\n\t\t\tlet sourceDataItem = nodes.getDataItemById(sourceId);\n\n\t\t\tif (!sourceDataItem) {\n\t\t\t\tif (sourceId == null) {\n\t\t\t\t\tsourceId = \"undefined\" + this._index;\n\t\t\t\t\tthis._index++;\n\t\t\t\t\tunknown = true;\n\t\t\t\t}\n\t\t\t\tnodes.data.push({ id: sourceId, unknown: unknown });\n\t\t\t\tsourceDataItem = nodes.getDataItemById(sourceId)!;\n\t\t\t\tif (!unknown) {\n\t\t\t\t\tsourceDataItem.set(\"name\", sourceId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tunknown = false;\n\t\t\tlet targetId = dataItem.get(\"targetId\");\n\n\t\t\tlet targetDataItem = nodes.getDataItemById(targetId);\n\t\t\tif (!targetDataItem) {\n\t\t\t\tif (targetId == null) {\n\t\t\t\t\ttargetId = \"undefined\" + this._index;\n\t\t\t\t\tthis._index++;\n\t\t\t\t\tunknown = true;\n\t\t\t\t}\n\n\t\t\t\tnodes.data.push({ id: targetId, unknown: unknown });\n\t\t\t\ttargetDataItem = nodes.getDataItemById(targetId)!;\n\t\t\t\tif (!unknown) {\n\t\t\t\t\ttargetDataItem.set(\"name\", targetId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (sourceDataItem) {\n\t\t\t\tdataItem.set(\"source\", sourceDataItem);\n\t\t\t\tnodes.addOutgoingLink(sourceDataItem, dataItem);\n\t\t\t}\n\n\t\t\tif (targetDataItem) {\n\t\t\t\tdataItem.set(\"target\", targetDataItem);\n\t\t\t\tnodes.addincomingLink(targetDataItem, dataItem);\n\t\t\t}\n\n\t\t\tdataItem.set(\"link\", this.makeLink(dataItem));\n\n\t\t\tconst sourceIndex = this.nodes.dataItems.indexOf(sourceDataItem);\n\t\t\tconst targetIndex = this.nodes.dataItems.indexOf(targetDataItem);\n\n\t\t\tthis._linksByIndex[sourceIndex + \"_\" + targetIndex] = dataItem;\n\n\t\t\tif (sourceDataItem.get(\"unknown\")) {\n\t\t\t\tif (targetDataItem) {\n\t\t\t\t\tsourceDataItem.set(\"fill\", targetDataItem.get(\"fill\"));\n\t\t\t\t}\n\n\t\t\t\tdataItem.get(\"link\").set(\"fillStyle\", \"gradient\");\n\t\t\t}\n\n\n\t\t\tif (targetDataItem.get(\"unknown\")) {\n\t\t\t\tif (sourceDataItem) {\n\t\t\t\t\ttargetDataItem.set(\"fill\", sourceDataItem.get(\"fill\"));\n\t\t\t\t}\n\n\t\t\t\tdataItem.get(\"link\").set(\"fillStyle\", \"gradient\");\n\t\t\t}\n\n\t\t\tthis._updateLinkColor(dataItem);\n\t\t}\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tlet valueLow = Infinity;\n\t\tlet valueHigh = -Infinity;\n\t\tlet valueSum = 0;\n\n\t\tif (this._valuesDirty) {\n\t\t\tthis._nodesData = [];\n\t\t\tconst nodes = this.nodes;\n\t\t\tif (nodes) {\n\t\t\t\t$array.each(nodes.dataItems, (dataItem) => {\n\t\t\t\t\tthis._nodesData.push(dataItem.get(\"d3SankeyNode\"));\n\n\t\t\t\t\tconst incoming = dataItem.get(\"incomingLinks\")\n\n\t\t\t\t\tlet sumIncoming = 0;\n\t\t\t\t\tlet sumIncomingWorking = 0;\n\t\t\t\t\tif (incoming) {\n\t\t\t\t\t\t$array.each(incoming, (link) => {\n\t\t\t\t\t\t\tconst value = link.get(\"value\");\n\t\t\t\t\t\t\tconst workingValue = link.get(\"valueWorking\");\n\t\t\t\t\t\t\tsumIncoming += value;\n\t\t\t\t\t\t\tsumIncomingWorking += workingValue;\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tdataItem.set(\"sumIncoming\", sumIncoming);\n\t\t\t\t\tdataItem.set(\"sumIncomingWorking\", sumIncomingWorking);\n\n\t\t\t\t\tconst outgoing = dataItem.get(\"outgoingLinks\")\n\t\t\t\t\tlet sumOutgoing = 0;\n\t\t\t\t\tlet sumOutgoingWorking = 0;\n\t\t\t\t\tif (outgoing) {\n\t\t\t\t\t\t$array.each(outgoing, (link) => {\n\t\t\t\t\t\t\tconst value = link.get(\"value\");\n\t\t\t\t\t\t\tconst workingValue = link.get(\"valueWorking\");\n\t\t\t\t\t\t\tsumOutgoing += value;\n\t\t\t\t\t\t\tsumOutgoingWorking += workingValue;\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tdataItem.set(\"sumOutgoing\", sumOutgoing);\n\t\t\t\t\tdataItem.set(\"sumOutgoingWorking\", sumOutgoingWorking);\n\n\t\t\t\t\tdataItem.set(\"sum\", sumIncoming + sumOutgoing);\n\t\t\t\t\tdataItem.set(\"sumWorking\", sumIncomingWorking + sumOutgoingWorking);\n\n\t\t\t\t\tnodes.updateLegendValue(dataItem);\n\t\t\t\t})\n\t\t\t}\n\t\t\tthis._linksData = [];\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tlet value = dataItem.get(\"value\");\n\t\t\t\tif ($type.isNumber(value)) {\n\t\t\t\t\tlet valueWorking = dataItem.get(\"valueWorking\");\n\t\t\t\t\tlet d3SankeyLink = { source: dataItem.get(\"source\").get(\"d3SankeyNode\"), target: dataItem.get(\"target\").get(\"d3SankeyNode\"), value: valueWorking };\n\t\t\t\t\tdataItem.setRaw(\"d3SankeyLink\", d3SankeyLink);\n\t\t\t\t\tthis._linksData.push(d3SankeyLink);\n\n\t\t\t\t\tif (value < valueLow) {\n\t\t\t\t\t\tvalueLow = value;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (value > valueHigh) {\n\t\t\t\t\t\tvalueHigh = value;\n\t\t\t\t\t}\n\n\t\t\t\t\tvalueSum += value;\n\n\t\t\t\t\tthis.updateLegendValue(dataItem);\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tthis.setPrivateRaw(\"valueHigh\", valueHigh);\n\t\t\tthis.setPrivateRaw(\"valueLow\", valueLow);\n\t\t\tthis.setPrivateRaw(\"valueSum\", valueSum);\n\t\t}\n\t}\n\n\tpublic _updateLinkColor(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst link = dataItem.get(\"link\");\n\n\t\tconst fillStyle = link.get(\"fillStyle\");\n\t\tconst strokeStyle = link.get(\"strokeStyle\");\n\t\tconst source = dataItem.get(\"source\");\n\t\tconst target = dataItem.get(\"target\");\n\t\tconst sourceFill = source.get(\"fill\");\n\t\tconst targetFill = target.get(\"fill\");\n\t\tlink.set(\"fillGradient\", undefined);\n\t\tlink.set(\"strokeGradient\", undefined);\n\n\t\tswitch (fillStyle) {\n\n\t\t\tcase \"solid\":\n\t\t\t\tlink._applyTemplates();\n\t\t\t\tbreak;\n\t\t\tcase \"source\":\n\t\t\t\tlink.set(\"fill\", sourceFill);\n\t\t\t\tbreak;\n\n\t\t\tcase \"target\":\n\t\t\t\tlink.set(\"fill\", targetFill);\n\t\t\t\tbreak;\n\n\t\t\tcase \"gradient\":\n\t\t\t\tlet gradient = link._fillGradient;\n\t\t\t\tif (!gradient) {\n\t\t\t\t\tgradient = LinearGradient.new(this._root, {});\n\t\t\t\t\tconst sourceStop: any = { color: sourceFill }\n\t\t\t\t\tif (source.get(\"unknown\")) {\n\t\t\t\t\t\tsourceStop.opacity = 0;\n\t\t\t\t\t}\n\t\t\t\t\tconst targetStop: any = { color: targetFill };\n\t\t\t\t\tif (target.get(\"unknown\")) {\n\t\t\t\t\t\ttargetStop.opacity = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tgradient.set(\"stops\", [sourceStop, targetStop]);\n\t\t\t\t\tlink._fillGradient = gradient;\n\t\t\t\t}\n\t\t\t\tlink.set(\"fillGradient\", gradient);\n\t\t\t\tbreak;\n\t\t\tcase \"none\":\n\t\t\t\tlink.set(\"fill\", undefined);\n\t\t\t\tbreak;\n\t\t}\n\n\t\tswitch (strokeStyle) {\n\t\t\tcase \"solid\":\n\t\t\t\tlink._applyTemplates();\n\t\t\t\tbreak;\n\n\t\t\tcase \"source\":\n\t\t\t\tlink.set(\"stroke\", sourceFill);\n\t\t\t\tbreak;\n\n\t\t\tcase \"target\":\n\t\t\t\tlink.set(\"stroke\", targetFill);\n\n\t\t\tcase \"gradient\":\n\t\t\t\tlet gradient = link._strokeGradient;\n\t\t\t\tif (!gradient) {\n\t\t\t\t\tgradient = LinearGradient.new(this._root, {});\n\t\t\t\t\tconst sourceStop: any = { color: sourceFill }\n\t\t\t\t\tif (source.get(\"unknown\")) {\n\t\t\t\t\t\tsourceStop.opacity = 0;\n\t\t\t\t\t}\n\t\t\t\t\tconst targetStop: any = { color: targetFill };\n\t\t\t\t\tif (target.get(\"unknown\")) {\n\t\t\t\t\t\ttargetStop.opacity = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tgradient.set(\"stops\", [sourceStop, targetStop]);\n\t\t\t\t\tlink._strokeGradient = gradient;\n\t\t\t\t}\n\t\t\t\tlink.set(\"strokeGradient\", gradient);\n\t\t\t\tbreak;\n\n\t\t\tcase \"none\":\n\t\t\t\tlink.set(\"stroke\", undefined);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet link = dataItem.get(\"link\");\n\t\tif (link) {\n\t\t\tlink.dispose();\n\t\t}\n\t}\n\n\t/**\n\t * Shows diagram's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\t\tconst hiddenState = this.states.create(\"hidden\", {})\n\n\t\tconst stateAnimationDuration = \"stateAnimationDuration\";\n\t\tconst stateAnimationEasing = \"stateAnimationEasing\";\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = hiddenState.get(stateAnimationDuration, this.get(stateAnimationDuration, 0));\n\t\t}\n\n\t\tconst easing = hiddenState.get(stateAnimationEasing, this.get(stateAnimationEasing));\n\n\t\tpromises.push(dataItem.animate({ key: \"valueWorking\" as any, to: 0, duration: duration, easing: easing }).waitForStop());\n\n\t\tconst linkGraphics = dataItem.get(\"link\");\n\t\tlinkGraphics.hide();\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Shows diagram's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = this.get(\"stateAnimationDuration\", 0);\n\t\t}\n\n\t\tconst easing = this.get(\"stateAnimationEasing\");\n\n\t\tpromises.push(dataItem.animate({ key: \"valueWorking\" as any, to: dataItem.get(\"value\"), duration: duration, easing: easing }).waitForStop());\n\n\t\tconst linkGraphics = dataItem.get(\"link\");\n\t\tlinkGraphics.show();\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tif (dataItem) {\n\t\t\t\tconst link = dataItem.get(\"link\");\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\n\t\t\t\tif (sprite) {\n\t\t\t\t\tconst point = link.getPoint(bullet.get(\"locationY\", 0));\n\t\t\t\t\tsprite.setAll({ x: point.x, y: point.y, rotation: point.angle + 90 });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n}\n"]}
@@ -7,7 +7,7 @@ import { Label } from "../../core/render/Label";
7
7
  import { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from "../../core/render/Series";
8
8
  import { ListTemplate } from "../../core/util/List";
9
9
  import { FlowNode } from "./FlowNode";
10
- import { ColorSet } from "../../core/util/ColorSet";
10
+ import type { ColorSet } from "../../core/util/ColorSet";
11
11
  export interface IFlowNodesDataItem extends ISeriesDataItem {
12
12
  /**
13
13
  * Node name.
@@ -71,7 +71,24 @@ export interface IFlowNodesDataItem extends ISeriesDataItem {
71
71
  depth: number;
72
72
  }
73
73
  export interface IFlowNodesSettings extends ISeriesSettings {
74
+ /**
75
+ * A field in data boolean setting if the node is "unknown".
76
+ *
77
+ * @default "unknown"
78
+ */
74
79
  unknownField?: string;
80
+ /**
81
+ * A field in data that holds name for the node.
82
+ *
83
+ * @default "id"
84
+ */
85
+ nameField?: string;
86
+ /**
87
+ * A field in data that holds color used for fills nodes.
88
+ *
89
+ * @default "fill"
90
+ */
91
+ fillField?: string;
75
92
  /**
76
93
  * A [[ColorSet]] that series will use to apply to its nodes.
77
94
  */
@@ -110,6 +127,7 @@ export declare abstract class FlowNodes extends Series {
110
127
  */
111
128
  abstract flow: Flow | undefined;
112
129
  protected _afterNew(): void;
130
+ protected _onDataClear(): void;
113
131
  protected processDataItem(dataItem: DataItem<this["_dataItemSettings"]>): void;
114
132
  /**
115
133
  * @ignore
@@ -1 +1 @@
1
- {"version":3,"file":"FlowNodes.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/FlowNodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowNodes.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/FlowNodes.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ import { Series } from "../../core/render/Series";
4
4
  import { Template } from "../../core/util/Template";
5
5
  import { ListTemplate } from "../../core/util/List";
6
6
  import { FlowNode } from "./FlowNode";
7
- import { ColorSet } from "../../core/util/ColorSet";
8
7
  import * as $array from "../../core/util/Array";
9
8
  /**
10
9
  * Holds instances of nodes for a [[Flow]] series.
@@ -42,27 +41,40 @@ var FlowNodes = /** @class */ (function (_super) {
42
41
  configurable: true,
43
42
  writable: true,
44
43
  value: function () {
45
- this.fields.push("unknown");
44
+ this.fields.push("unknown", "name", "fill");
46
45
  this.set("idField", "id");
46
+ this.set("nameField", "id");
47
+ this.set("fillField", "fill");
47
48
  this.set("unknownField", "unknown");
48
- //@todo remove this when it will be possible to set it from theme
49
- this.set("colors", ColorSet.new(this._root, {}));
50
49
  this.children.push(this.bulletsContainer);
51
50
  _super.prototype._afterNew.call(this);
52
51
  }
53
52
  });
53
+ Object.defineProperty(FlowNodes.prototype, "_onDataClear", {
54
+ enumerable: false,
55
+ configurable: true,
56
+ writable: true,
57
+ value: function () {
58
+ var colors = this.get("colors");
59
+ if (colors) {
60
+ colors.reset();
61
+ }
62
+ }
63
+ });
54
64
  Object.defineProperty(FlowNodes.prototype, "processDataItem", {
55
65
  enumerable: false,
56
66
  configurable: true,
57
67
  writable: true,
58
68
  value: function (dataItem) {
59
69
  _super.prototype.processDataItem.call(this, dataItem);
60
- dataItem.set("d3SankeyNode", { name: dataItem.get("id"), dataItem: dataItem });
61
- var colors = this.get("colors");
62
- if (colors) {
63
- dataItem.set("fill", colors.next());
70
+ dataItem.setRaw("d3SankeyNode", { name: dataItem.get("id"), dataItem: dataItem });
71
+ if (dataItem.get("fill") == null) {
72
+ var colors = this.get("colors");
73
+ if (colors) {
74
+ dataItem.setRaw("fill", colors.next());
75
+ }
64
76
  }
65
- dataItem.set("node", this.makeNode(dataItem));
77
+ dataItem.setRaw("node", this.makeNode(dataItem));
66
78
  }
67
79
  });
68
80
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FlowNodes.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/FlowNodes.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Color } from \"../../core/util/Color\";\nimport type { Time } from \"../../core/util/Animation\";\nimport type { Flow, IFlowDataItem } from \"./Flow\";\nimport type * as d3sankey from \"d3-sankey\";\n\nimport { Label } from \"../../core/render/Label\";\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"../../core/render/Series\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { FlowNode } from \"./FlowNode\";\nimport { ColorSet } from \"../../core/util/ColorSet\";\n\nimport * as $array from \"../../core/util/Array\";\n\nexport interface IFlowNodesDataItem extends ISeriesDataItem {\n\n\t/**\n\t * Node name.\n\t */\n\tname: string;\n\n\t/**\n\t * An associated node instance.\n\t */\n\tnode: FlowNode;\n\n\t/**\n\t * Node label.\n\t */\n\tlabel: Label;\n\n\t/**\n\t * Node color.\n\t */\n\tfill: Color;\n\n\t/**\n\t * Indicates \"unknown\" node.\n\t */\n\tunknown: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\td3SankeyNode: d3sankey.SankeyNode<d3sankey.SankeyExtraProperties, d3sankey.SankeyExtraProperties>;\n\n\t/**\n\t * Sum of values of all incoming links.\n\t */\n\tsumIncoming: number;\n\n\t/**\n\t * Sum of values of all outgoing links.\n\t */\n\tsumOutgoing: number;\n\n\t/**\n\t * @ignore\n\t */\n\tsumIncomingWorking: number;\n\n\t/**\n\t * @ignore\n\t */\n\tsumOutgoingWorking: number;\n\n\t/**\n\t * Sum of values of all links: incoming and outgoing.\n\t */\n\tsum: number;\n\n\t/**\n\t * @ignore\n\t */\n\tsumWorking: number;\n\n\t/**\n\t * A list of incoming link data items.\n\t */\n\tincomingLinks: Array<DataItem<IFlowDataItem>>;\n\n\t/**\n\t * A list of outgoing link data items.\n\t */\n\toutgoingLinks: Array<DataItem<IFlowDataItem>>;\n\n\t/**\n\t * Depth of the node.\n\t */\n\tdepth: number;\n\n}\n\nexport interface IFlowNodesSettings extends ISeriesSettings {\n\tunknownField?: string;\n\n\t/**\n\t * A [[ColorSet]] that series will use to apply to its nodes.\n\t */\n\tcolors?: ColorSet;\n\tanimationDuration?: number;\n\tanimationEasing?: (t: Time) => Time;\n}\n\nexport interface IFlowNodesPrivate extends ISeriesPrivate {\n}\n\nexport interface IFlowNodesEvents extends ISeriesEvents {\n}\n\n\n/**\n * Holds instances of nodes for a [[Flow]] series.\n */\nexport abstract class FlowNodes extends Series {\n\tpublic static className: string = \"FlowNodes\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([FlowNodes.className]);\n\n\tdeclare public _settings: IFlowNodesSettings;\n\tdeclare public _privateSettings: IFlowNodesPrivate;\n\tdeclare public _dataItemSettings: IFlowNodesDataItem;\n\tdeclare public _events: IFlowNodesEvents;\n\n\t/**\n\t * List of label elements.\n\t *\n\t * @default new ListTemplate<Label>\n\t */\n\tpublic readonly labels: ListTemplate<Label> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Label.new(this._root, {}, this.labels.template)\n\t);\n\n\t/**\n\t * List of node elements.\n\t *\n\t * @default new ListTemplate<FlowNode>\n\t */\n\tpublic readonly nodes: ListTemplate<FlowNode> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => FlowNode.new(this._root, { themeTags: [\"node\"] }, this.nodes.template)\n\t);\n\n\t/**\n\t * Related [[Flow]] series.\n\t */\n\tpublic abstract flow: Flow | undefined;\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"unknown\");\n\t\tthis.set(\"idField\", \"id\");\n\t\tthis.set(\"unknownField\", \"unknown\");\n\n\t\t//@todo remove this when it will be possible to set it from theme\n\t\tthis.set(\"colors\", ColorSet.new(this._root, {}));\n\n\t\tthis.children.push(this.bulletsContainer);\n\n\t\tsuper._afterNew();\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\t\tdataItem.set(\"d3SankeyNode\", { name: dataItem.get(\"id\"), dataItem: dataItem });\n\n\t\tlet colors = this.get(\"colors\");\n\n\t\tif (colors) {\n\t\t\tdataItem.set(\"fill\", colors.next());\n\t\t}\n\n\t\tdataItem.set(\"node\", this.makeNode(dataItem));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>, themeTag?: string): FlowNode {\n\n\t\tconst node = this.nodes.make();\n\t\tthis.nodes.push(node);\n\n\t\tif (themeTag) {\n\t\t\tnode.addTag(themeTag);\n\t\t}\n\n\t\tif (dataItem.get(\"unknown\")) {\n\t\t\tnode.addTag(\"unknown\");\n\t\t}\n\n\t\tthis.children.push(node);\n\t\tnode._setDataItem(dataItem);\n\t\tnode.series = this;\n\n\t\tdataItem.set(\"node\", node);\n\t\treturn node;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet node = dataItem.get(\"node\");\n\t\tif (node) {\n\t\t\tnode.dispose();\n\t\t\tthis.nodes.removeValue(node);\n\t\t}\n\t\tlet label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tlabel.dispose();\n\t\t\tthis.labels.removeValue(label);\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic addincomingLink(dataItem: DataItem<this[\"_dataItemSettings\"]>, link: DataItem<IFlowDataItem>) {\n\t\tlet incoming = dataItem.get(\"incomingLinks\");\n\t\tif (!incoming) {\n\t\t\tincoming = [];\n\t\t\tdataItem.set(\"incomingLinks\", incoming)\n\t\t}\n\t\tincoming.push(link);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic addOutgoingLink(dataItem: DataItem<this[\"_dataItemSettings\"]>, link: DataItem<IFlowDataItem>) {\n\t\tlet outgoing = dataItem.get(\"outgoingLinks\");\n\t\tif (!outgoing) {\n\t\t\toutgoing = [];\n\t\t\tdataItem.set(\"outgoingLinks\", outgoing)\n\t\t}\n\t\toutgoing.push(link);\n\t}\n\n\t/**\n\t * Shows node's data item.\n\t * \n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\t\tconst flow = this.flow;\n\t\tif (flow) {\n\n\t\t\tlet label = dataItem.get(\"label\");\n\n\t\t\tif (label) {\n\t\t\t\tlabel.show(duration);\n\t\t\t}\n\n\t\t\tlet links = dataItem.get(\"outgoingLinks\");\n\t\t\tif (links) {\n\t\t\t\t$array.each(links, (link) => {\n\t\t\t\t\tflow.showDataItem(link, duration);\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tlinks = dataItem.get(\"incomingLinks\");\n\t\t\tif (links) {\n\t\t\t\t$array.each(links, (link) => {\n\t\t\t\t\tflow.showDataItem(link, duration);\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\tawait promises;\n\t}\n\n\t/**\n\t * Hides series's data item.\n\t * \n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\n\t\tconst flow = this.flow;\n\t\tif (flow) {\n\n\t\t\tlet label = dataItem.get(\"label\");\n\n\t\t\tif (label) {\n\t\t\t\tlabel.hide(duration);\n\t\t\t}\n\n\t\t\tlet links = dataItem.get(\"outgoingLinks\");\n\n\t\t\tif (links) {\n\t\t\t\t$array.each(links, (link) => {\n\t\t\t\t\tflow.hideDataItem(link, duration);\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tlinks = dataItem.get(\"incomingLinks\");\n\n\t\t\tif (links) {\n\n\t\t\t\t$array.each(links, (link) => {\n\t\t\t\t\tflow.hideDataItem(link, duration);\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tawait promises;\n\t}\n}\n"]}
1
+ {"version":3,"file":"FlowNodes.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/FlowNodes.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Color } from \"../../core/util/Color\";\nimport type { Time } from \"../../core/util/Animation\";\nimport type { Flow, IFlowDataItem } from \"./Flow\";\nimport type * as d3sankey from \"d3-sankey\";\n\nimport { Label } from \"../../core/render/Label\";\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"../../core/render/Series\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { FlowNode } from \"./FlowNode\";\nimport type { ColorSet } from \"../../core/util/ColorSet\";\n\nimport * as $array from \"../../core/util/Array\";\n\nexport interface IFlowNodesDataItem extends ISeriesDataItem {\n\n\t/**\n\t * Node name.\n\t */\n\tname: string;\n\n\t/**\n\t * An associated node instance.\n\t */\n\tnode: FlowNode;\n\n\t/**\n\t * Node label.\n\t */\n\tlabel: Label;\n\n\t/**\n\t * Node color.\n\t */\n\tfill: Color;\n\n\t/**\n\t * Indicates \"unknown\" node.\n\t */\n\tunknown: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\td3SankeyNode: d3sankey.SankeyNode<d3sankey.SankeyExtraProperties, d3sankey.SankeyExtraProperties>;\n\n\t/**\n\t * Sum of values of all incoming links.\n\t */\n\tsumIncoming: number;\n\n\t/**\n\t * Sum of values of all outgoing links.\n\t */\n\tsumOutgoing: number;\n\n\t/**\n\t * @ignore\n\t */\n\tsumIncomingWorking: number;\n\n\t/**\n\t * @ignore\n\t */\n\tsumOutgoingWorking: number;\n\n\t/**\n\t * Sum of values of all links: incoming and outgoing.\n\t */\n\tsum: number;\n\n\t/**\n\t * @ignore\n\t */\n\tsumWorking: number;\n\n\t/**\n\t * A list of incoming link data items.\n\t */\n\tincomingLinks: Array<DataItem<IFlowDataItem>>;\n\n\t/**\n\t * A list of outgoing link data items.\n\t */\n\toutgoingLinks: Array<DataItem<IFlowDataItem>>;\n\n\t/**\n\t * Depth of the node.\n\t */\n\tdepth: number;\n\n}\n\nexport interface IFlowNodesSettings extends ISeriesSettings {\n\n\t/**\n\t * A field in data boolean setting if the node is \"unknown\".\n\t *\n\t * @default \"unknown\"\n\t */\n\tunknownField?: string;\n\n\t/**\n\t * A field in data that holds name for the node.\n\t *\n\t * @default \"id\"\n\t */\n\tnameField?: string;\n\n\t/**\n\t * A field in data that holds color used for fills nodes.\n\t *\n\t * @default \"fill\"\n\t */\n\tfillField?: string;\n\n\t/**\n\t * A [[ColorSet]] that series will use to apply to its nodes.\n\t */\n\tcolors?: ColorSet;\n\tanimationDuration?: number;\n\tanimationEasing?: (t: Time) => Time;\n}\n\nexport interface IFlowNodesPrivate extends ISeriesPrivate {\n}\n\nexport interface IFlowNodesEvents extends ISeriesEvents {\n}\n\n\n/**\n * Holds instances of nodes for a [[Flow]] series.\n */\nexport abstract class FlowNodes extends Series {\n\tpublic static className: string = \"FlowNodes\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([FlowNodes.className]);\n\n\tdeclare public _settings: IFlowNodesSettings;\n\tdeclare public _privateSettings: IFlowNodesPrivate;\n\tdeclare public _dataItemSettings: IFlowNodesDataItem;\n\tdeclare public _events: IFlowNodesEvents;\n\n\t/**\n\t * List of label elements.\n\t *\n\t * @default new ListTemplate<Label>\n\t */\n\tpublic readonly labels: ListTemplate<Label> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Label.new(this._root, {}, this.labels.template)\n\t);\n\n\t/**\n\t * List of node elements.\n\t *\n\t * @default new ListTemplate<FlowNode>\n\t */\n\tpublic readonly nodes: ListTemplate<FlowNode> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => FlowNode.new(this._root, { themeTags: [\"node\"] }, this.nodes.template)\n\t);\n\n\t/**\n\t * Related [[Flow]] series.\n\t */\n\tpublic abstract flow: Flow | undefined;\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"unknown\", \"name\", \"fill\");\n\n\t\tthis.set(\"idField\", \"id\");\n\t\tthis.set(\"nameField\", \"id\");\n\t\tthis.set(\"fillField\", \"fill\");\n\t\tthis.set(\"unknownField\", \"unknown\");\n\n\t\tthis.children.push(this.bulletsContainer);\n\n\t\tsuper._afterNew();\n\t}\n\n\tprotected _onDataClear() {\n\t\tconst colors = this.get(\"colors\");\n\t\tif (colors) {\n\t\t\tcolors.reset();\n\t\t}\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\t\tdataItem.setRaw(\"d3SankeyNode\", { name: dataItem.get(\"id\"), dataItem: dataItem });\n\n\t\tif (dataItem.get(\"fill\") == null) {\n\t\t\tlet colors = this.get(\"colors\");\n\t\t\tif (colors) {\n\t\t\t\tdataItem.setRaw(\"fill\", colors.next());\n\t\t\t}\n\t\t}\n\n\t\tdataItem.setRaw(\"node\", this.makeNode(dataItem));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>, themeTag?: string): FlowNode {\n\n\t\tconst node = this.nodes.make();\n\t\tthis.nodes.push(node);\n\n\t\tif (themeTag) {\n\t\t\tnode.addTag(themeTag);\n\t\t}\n\n\t\tif (dataItem.get(\"unknown\")) {\n\t\t\tnode.addTag(\"unknown\");\n\t\t}\n\n\t\tthis.children.push(node);\n\t\tnode._setDataItem(dataItem);\n\t\tnode.series = this;\n\n\t\tdataItem.set(\"node\", node);\n\t\treturn node;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet node = dataItem.get(\"node\");\n\t\tif (node) {\n\t\t\tnode.dispose();\n\t\t\tthis.nodes.removeValue(node);\n\t\t}\n\t\tlet label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tlabel.dispose();\n\t\t\tthis.labels.removeValue(label);\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic addincomingLink(dataItem: DataItem<this[\"_dataItemSettings\"]>, link: DataItem<IFlowDataItem>) {\n\t\tlet incoming = dataItem.get(\"incomingLinks\");\n\t\tif (!incoming) {\n\t\t\tincoming = [];\n\t\t\tdataItem.set(\"incomingLinks\", incoming)\n\t\t}\n\t\tincoming.push(link);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic addOutgoingLink(dataItem: DataItem<this[\"_dataItemSettings\"]>, link: DataItem<IFlowDataItem>) {\n\t\tlet outgoing = dataItem.get(\"outgoingLinks\");\n\t\tif (!outgoing) {\n\t\t\toutgoing = [];\n\t\t\tdataItem.set(\"outgoingLinks\", outgoing)\n\t\t}\n\t\toutgoing.push(link);\n\t}\n\n\t/**\n\t * Shows node's data item.\n\t * \n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\t\tconst flow = this.flow;\n\t\tif (flow) {\n\n\t\t\tlet label = dataItem.get(\"label\");\n\n\t\t\tif (label) {\n\t\t\t\tlabel.show(duration);\n\t\t\t}\n\n\t\t\tlet links = dataItem.get(\"outgoingLinks\");\n\t\t\tif (links) {\n\t\t\t\t$array.each(links, (link) => {\n\t\t\t\t\tflow.showDataItem(link, duration);\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tlinks = dataItem.get(\"incomingLinks\");\n\t\t\tif (links) {\n\t\t\t\t$array.each(links, (link) => {\n\t\t\t\t\tflow.showDataItem(link, duration);\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\tawait promises;\n\t}\n\n\t/**\n\t * Hides series's data item.\n\t * \n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\n\t\tconst flow = this.flow;\n\t\tif (flow) {\n\n\t\t\tlet label = dataItem.get(\"label\");\n\n\t\t\tif (label) {\n\t\t\t\tlabel.hide(duration);\n\t\t\t}\n\n\t\t\tlet links = dataItem.get(\"outgoingLinks\");\n\n\t\t\tif (links) {\n\t\t\t\t$array.each(links, (link) => {\n\t\t\t\t\tflow.hideDataItem(link, duration);\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tlinks = dataItem.get(\"incomingLinks\");\n\n\t\t\tif (links) {\n\n\t\t\t\t$array.each(links, (link) => {\n\t\t\t\t\tflow.hideDataItem(link, duration);\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tawait promises;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SankeyNodes.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/SankeyNodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC/D,SAAS,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;CAC/D;AAED,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;CAC7D;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;CAC3D;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACzC,OAAc,SAAS,EAAE,MAAM,CAAiB;IAChD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAwD;IAE/F;;;;;;;;OAQG;WACW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW;IAMjG,SAAS,EAAE,oBAAoB,CAAC;IAChC,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,iBAAiB,EAAE,oBAAoB,CAAC;IACxC,OAAO,EAAE,kBAAkB,CAAC;IAE3C;;;;OAIG;IACH,SAAgB,UAAU,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAGxD;IAEF;;OAEG;IACI,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;OAEG;IACI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,QAAQ;IAwCjE,eAAe,CAAC,MAAM,EAAE,MAAM;IAmBrC;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;CAQpE"}
1
+ {"version":3,"file":"SankeyNodes.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/SankeyNodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC/D,SAAS,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;CAC/D;AAED,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;CAC7D;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;CAC3D;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACzC,OAAc,SAAS,EAAE,MAAM,CAAiB;IAChD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAwD;IAE/F;;;;;;;;OAQG;WACW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW;IAMjG,SAAS,EAAE,oBAAoB,CAAC;IAChC,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,iBAAiB,EAAE,oBAAoB,CAAC;IACxC,OAAO,EAAE,kBAAkB,CAAC;IAE3C;;;;OAIG;IACH,SAAgB,UAAU,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAGxD;IAEF;;OAEG;IACI,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;OAEG;IACI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,QAAQ;IAyCjE,eAAe,CAAC,MAAM,EAAE,MAAM;IAmBrC;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;CAQpE"}
@@ -63,19 +63,17 @@ var SankeyNodes = /** @class */ (function (_super) {
63
63
  var node = _super.prototype.makeNode.call(this, dataItem, "sankey");
64
64
  var rectangle = node.children.insertIndex(0, this.rectangles.make());
65
65
  this.rectangles.push(rectangle);
66
+ rectangle._setSoft("fill", dataItem.get("fill"));
66
67
  dataItem.set("rectangle", rectangle);
67
- rectangle.set("fill", dataItem.get("fill"));
68
68
  node.events.on("dragged", function () {
69
69
  var d3SankeyNode = node.dataItem.get("d3SankeyNode");
70
70
  if (d3SankeyNode) {
71
71
  if (flow) {
72
72
  if (flow.get("orientation") == "horizontal") {
73
- //node.setRaw("x", d3SankeyNode.x0);
74
73
  d3SankeyNode.x0 = node.x();
75
74
  d3SankeyNode.y0 = node.y();
76
75
  }
77
76
  else {
78
- //node.setRaw("y", d3SankeyNode.x0);
79
77
  d3SankeyNode.x0 = node.y();
80
78
  d3SankeyNode.y0 = node.x();
81
79
  }
@@ -89,6 +87,8 @@ var SankeyNodes = /** @class */ (function (_super) {
89
87
  }
90
88
  node.children.push(label);
91
89
  dataItem.set("label", label);
90
+ label._setDataItem(dataItem);
91
+ rectangle._setDataItem(dataItem);
92
92
  return node;
93
93
  }
94
94
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SankeyNodes.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/SankeyNodes.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { FlowNode } from \"./FlowNode\";\nimport type { Sankey } from \"./Sankey\";\nimport type { Root } from \"../../core/Root\";\nimport type { Bullet } from \"../../core/render/Bullet\";\n\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { FlowNodes, IFlowNodesSettings, IFlowNodesDataItem, IFlowNodesPrivate, IFlowNodesEvents } from \"./FlowNodes\";\nimport { RoundedRectangle } from \"../../core/render/RoundedRectangle\";\n\nexport interface ISankeyNodesDataItem extends IFlowNodesDataItem {\n\trectangle: RoundedRectangle;\n}\n\nexport interface ISankeyNodesSettings extends IFlowNodesSettings {\n}\n\nexport interface ISankeyNodesPrivate extends IFlowNodesPrivate {\n}\n\nexport interface ISankeyNodesEvents extends IFlowNodesEvents {\n}\n\n/**\n * Holds instances of nodes for a [[Sankey]] series.\n */\nexport class SankeyNodes extends FlowNodes {\n\tpublic static className: string = \"SankeyNodes\";\n\tpublic static classNames: Array<string> = FlowNodes.classNames.concat([SankeyNodes.className]);\n\n\t/**\n\t * Use this method to create an instance of this class.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @param root Root element\n\t * @param settings Settings\n\t * @param template Template\n\t * @return Instantiated object\n\t */\n\tpublic static new(root: Root, settings: SankeyNodes[\"_settings\"], template?: Template<SankeyNodes>): SankeyNodes {\n\t\tconst x = new SankeyNodes(root, settings, true, template);\n\t\tx._afterNew();\n\t\treturn x;\n\t}\n\n\tdeclare public _settings: ISankeyNodesSettings;\n\tdeclare public _privateSettings: ISankeyNodesPrivate;\n\tdeclare public _dataItemSettings: ISankeyNodesDataItem;\n\tdeclare public _events: ISankeyNodesEvents;\n\n\t/**\n\t * List of rectangle elements.\n\t *\n\t * @default new ListTemplate<RoundedRectangle>\n\t */\n\tpublic readonly rectangles: ListTemplate<RoundedRectangle> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => RoundedRectangle.new(this._root, { themeTags: [\"shape\"] }, this.rectangles.template)\n\t);\n\n\t/**\n\t * Related [[Sankey]] series.\n\t */\n\tpublic flow: Sankey | undefined;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): FlowNode {\n\t\tconst flow = this.flow;\n\n\t\tconst node = super.makeNode(dataItem, \"sankey\");\n\n\t\tconst rectangle = node.children.insertIndex(0, this.rectangles.make());\n\t\tthis.rectangles.push(rectangle);\n\t\tdataItem.set(\"rectangle\", rectangle);\n\t\trectangle.set(\"fill\", dataItem.get(\"fill\"));\n\n\t\tnode.events.on(\"dragged\", () => {\n\t\t\tconst d3SankeyNode = (node.dataItem as DataItem<ISankeyNodesDataItem>).get(\"d3SankeyNode\");\n\t\t\tif (d3SankeyNode) {\n\t\t\t\tif (flow) {\n\t\t\t\t\tif (flow.get(\"orientation\") == \"horizontal\") {\n\t\t\t\t\t\t//node.setRaw(\"x\", d3SankeyNode.x0);\n\t\t\t\t\t\td3SankeyNode.x0 = node.x();\n\t\t\t\t\t\td3SankeyNode.y0 = node.y();\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t//node.setRaw(\"y\", d3SankeyNode.x0);\n\t\t\t\t\t\td3SankeyNode.x0 = node.y();\n\t\t\t\t\t\td3SankeyNode.y0 = node.x();\n\t\t\t\t\t}\n\n\t\t\t\t\tflow.updateSankey();\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tconst label = this.labels.make();\n\t\tif (flow) {\n\t\t\tlabel.addTag(flow.get(\"orientation\", \"\"));\n\t\t}\n\t\tnode.children.push(label);\n\t\tdataItem.set(\"label\", label);\n\n\t\treturn node;\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tif (dataItem) {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tconst rectangle = dataItem.get(\"rectangle\");\n\t\t\t\t\tconst node = dataItem.get(\"node\");\n\t\t\t\t\tconst locationX = bullet.get(\"locationX\", 0.5);\n\t\t\t\t\tconst locationY = bullet.get(\"locationY\", 0.5);\n\t\t\t\t\tif (rectangle) {\n\t\t\t\t\t\tsprite.setAll({ x: node.x() + rectangle.width() * locationX, y: node.y() + rectangle.height() * locationY });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet rectangle = dataItem.get(\"rectangle\");\n\t\tif (rectangle) {\n\t\t\trectangle.dispose();\n\t\t\tthis.rectangles.removeValue(rectangle);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"SankeyNodes.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/SankeyNodes.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { FlowNode } from \"./FlowNode\";\nimport type { Sankey } from \"./Sankey\";\nimport type { Root } from \"../../core/Root\";\nimport type { Bullet } from \"../../core/render/Bullet\";\n\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { FlowNodes, IFlowNodesSettings, IFlowNodesDataItem, IFlowNodesPrivate, IFlowNodesEvents } from \"./FlowNodes\";\nimport { RoundedRectangle } from \"../../core/render/RoundedRectangle\";\n\nexport interface ISankeyNodesDataItem extends IFlowNodesDataItem {\n\trectangle: RoundedRectangle;\n}\n\nexport interface ISankeyNodesSettings extends IFlowNodesSettings {\n}\n\nexport interface ISankeyNodesPrivate extends IFlowNodesPrivate {\n}\n\nexport interface ISankeyNodesEvents extends IFlowNodesEvents {\n}\n\n/**\n * Holds instances of nodes for a [[Sankey]] series.\n */\nexport class SankeyNodes extends FlowNodes {\n\tpublic static className: string = \"SankeyNodes\";\n\tpublic static classNames: Array<string> = FlowNodes.classNames.concat([SankeyNodes.className]);\n\n\t/**\n\t * Use this method to create an instance of this class.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @param root Root element\n\t * @param settings Settings\n\t * @param template Template\n\t * @return Instantiated object\n\t */\n\tpublic static new(root: Root, settings: SankeyNodes[\"_settings\"], template?: Template<SankeyNodes>): SankeyNodes {\n\t\tconst x = new SankeyNodes(root, settings, true, template);\n\t\tx._afterNew();\n\t\treturn x;\n\t}\n\n\tdeclare public _settings: ISankeyNodesSettings;\n\tdeclare public _privateSettings: ISankeyNodesPrivate;\n\tdeclare public _dataItemSettings: ISankeyNodesDataItem;\n\tdeclare public _events: ISankeyNodesEvents;\n\n\t/**\n\t * List of rectangle elements.\n\t *\n\t * @default new ListTemplate<RoundedRectangle>\n\t */\n\tpublic readonly rectangles: ListTemplate<RoundedRectangle> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => RoundedRectangle.new(this._root, { themeTags: [\"shape\"] }, this.rectangles.template)\n\t);\n\n\t/**\n\t * Related [[Sankey]] series.\n\t */\n\tpublic flow: Sankey | undefined;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): FlowNode {\n\t\tconst flow = this.flow;\n\n\t\tconst node = super.makeNode(dataItem, \"sankey\");\n\n\t\tconst rectangle = node.children.insertIndex(0, this.rectangles.make());\n\t\tthis.rectangles.push(rectangle);\n\t\trectangle._setSoft(\"fill\", dataItem.get(\"fill\"));\t\t\n\t\tdataItem.set(\"rectangle\", rectangle);\n\n\t\tnode.events.on(\"dragged\", () => {\n\t\t\tconst d3SankeyNode = (node.dataItem as DataItem<ISankeyNodesDataItem>).get(\"d3SankeyNode\");\n\t\t\tif (d3SankeyNode) {\n\t\t\t\tif (flow) {\n\t\t\t\t\tif (flow.get(\"orientation\") == \"horizontal\") {\n\t\t\t\t\t\td3SankeyNode.x0 = node.x();\n\t\t\t\t\t\td3SankeyNode.y0 = node.y();\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\td3SankeyNode.x0 = node.y();\n\t\t\t\t\t\td3SankeyNode.y0 = node.x();\n\t\t\t\t\t}\n\n\t\t\t\t\tflow.updateSankey();\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tconst label = this.labels.make();\n\t\tif (flow) {\n\t\t\tlabel.addTag(flow.get(\"orientation\", \"\"));\n\t\t}\n\t\tnode.children.push(label);\n\t\tdataItem.set(\"label\", label);\n\n\t\tlabel._setDataItem(dataItem);\n\t\trectangle._setDataItem(dataItem);\n\n\t\treturn node;\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tif (dataItem) {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tconst rectangle = dataItem.get(\"rectangle\");\n\t\t\t\t\tconst node = dataItem.get(\"node\");\n\t\t\t\t\tconst locationX = bullet.get(\"locationX\", 0.5);\n\t\t\t\t\tconst locationY = bullet.get(\"locationY\", 0.5);\n\t\t\t\t\tif (rectangle) {\n\t\t\t\t\t\tsprite.setAll({ x: node.x() + rectangle.width() * locationX, y: node.y() + rectangle.height() * locationY });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet rectangle = dataItem.get(\"rectangle\");\n\t\tif (rectangle) {\n\t\t\trectangle.dispose();\n\t\t\tthis.rectangles.removeValue(rectangle);\n\t\t}\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FunnelSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/funnel/FunnelSeries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FunnelSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/funnel/FunnelSeries.ts"],"names":[],"mappings":"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"}
@@ -149,11 +149,12 @@ var FunnelSeries = /** @class */ (function (_super) {
149
149
  value: function () {
150
150
  var _this = this;
151
151
  _super.prototype._afterNew.call(this);
152
- this.slicesContainer.setAll({ isMeasured: true, position: "relative", width: percent(100), height: percent(100) });
153
- this.slicesContainer.onPrivate("width", function () {
152
+ var slicesContainer = this.slicesContainer;
153
+ slicesContainer.setAll({ isMeasured: true, position: "relative", width: percent(100), height: percent(100) });
154
+ slicesContainer.onPrivate("width", function () {
154
155
  _this.markDirtySize();
155
156
  });
156
- this.slicesContainer.onPrivate("height", function () {
157
+ slicesContainer.onPrivate("height", function () {
157
158
  _this.markDirtySize();
158
159
  });
159
160
  if (this.get("orientation") == "vertical") {
@@ -234,17 +235,16 @@ var FunnelSeries = /** @class */ (function (_super) {
234
235
  this._fixLayout();
235
236
  }
236
237
  if (this._total > 0 && (this._valuesDirty || this._sizeDirty)) {
238
+ var slicesContainer = this.slicesContainer;
237
239
  var h = void 0;
238
240
  if (this.get("orientation") == "vertical") {
239
- h = this.slicesContainer.innerHeight();
241
+ h = slicesContainer.innerHeight();
240
242
  }
241
243
  else {
242
- h = this.slicesContainer.innerWidth();
244
+ h = slicesContainer.innerWidth();
243
245
  }
244
246
  this._nextCoord = this.get("startLocation", 0) * h;
245
247
  this.markDirtyBounds();
246
- var colors_1 = this.get("colors");
247
- colors_1.reset();
248
248
  var i_1 = 0;
249
249
  $array.each(this._dataItems, function (dataItem) {
250
250
  _this.updateLegendValue(dataItem);
@@ -254,7 +254,7 @@ var FunnelSeries = /** @class */ (function (_super) {
254
254
  var tick = dataItem.get("tick");
255
255
  var label = dataItem.get("label");
256
256
  var link = dataItem.get("link");
257
- var color = colors_1.next();
257
+ var color = dataItem.get("fill");
258
258
  slice._setDefault("fill", color);
259
259
  slice._setDefault("stroke", color);
260
260
  link._setDefault("fill", color);