@visactor/vchart 1.4.0-alpha.7 → 1.4.0-beta.2

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 (323) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +1058 -677
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/base-chart.d.ts +7 -5
  6. package/cjs/chart/base-chart.js +42 -71
  7. package/cjs/chart/base-chart.js.map +1 -1
  8. package/cjs/chart/chart-meta/data.d.ts +15 -0
  9. package/cjs/chart/chart-meta/data.js +52 -0
  10. package/cjs/chart/chart-meta/data.js.map +1 -0
  11. package/cjs/chart/interface/chart.d.ts +0 -1
  12. package/cjs/chart/interface/chart.js.map +1 -1
  13. package/cjs/chart/progress/circular/circular.js +2 -1
  14. package/cjs/chart/progress/circular/circular.js.map +1 -1
  15. package/cjs/chart/sequence/sequence.d.ts +1 -0
  16. package/cjs/chart/sequence/sequence.js +24 -20
  17. package/cjs/chart/sequence/sequence.js.map +1 -1
  18. package/cjs/chart/util.d.ts +2 -0
  19. package/cjs/chart/util.js +8 -2
  20. package/cjs/chart/util.js.map +1 -1
  21. package/cjs/compile/compiler.d.ts +1 -1
  22. package/cjs/compile/compiler.js +3 -3
  23. package/cjs/compile/compiler.js.map +1 -1
  24. package/cjs/compile/data/compilable-data.js +2 -2
  25. package/cjs/compile/data/compilable-data.js.map +1 -1
  26. package/cjs/component/axis/base-axis.d.ts +1 -2
  27. package/cjs/component/axis/base-axis.js +3 -3
  28. package/cjs/component/axis/base-axis.js.map +1 -1
  29. package/cjs/component/axis/cartesian/axis.d.ts +1 -8
  30. package/cjs/component/axis/cartesian/axis.js +3 -6
  31. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  32. package/cjs/component/axis/interface.d.ts +1 -0
  33. package/cjs/component/axis/interface.js.map +1 -1
  34. package/cjs/component/base/base-component.d.ts +2 -2
  35. package/cjs/component/base/base-component.js +10 -6
  36. package/cjs/component/base/base-component.js.map +1 -1
  37. package/cjs/component/brush/brush.d.ts +1 -2
  38. package/cjs/component/brush/brush.js +3 -3
  39. package/cjs/component/brush/brush.js.map +1 -1
  40. package/cjs/component/crosshair/base.d.ts +1 -2
  41. package/cjs/component/crosshair/base.js +4 -3
  42. package/cjs/component/crosshair/base.js.map +1 -1
  43. package/cjs/component/crosshair/interface/spec.d.ts +1 -1
  44. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  45. package/cjs/component/custom-mark/custom-mark.d.ts +1 -2
  46. package/cjs/component/custom-mark/custom-mark.js +4 -4
  47. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  48. package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -2
  49. package/cjs/component/data-zoom/data-filter-base-component.js +4 -3
  50. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  51. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -0
  52. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +5 -0
  53. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  54. package/cjs/component/label/base-label.d.ts +1 -2
  55. package/cjs/component/label/base-label.js +5 -4
  56. package/cjs/component/label/base-label.js.map +1 -1
  57. package/cjs/component/label/label.js +3 -2
  58. package/cjs/component/label/label.js.map +1 -1
  59. package/cjs/component/legend/base-legend.d.ts +1 -2
  60. package/cjs/component/legend/base-legend.js +5 -4
  61. package/cjs/component/legend/base-legend.js.map +1 -1
  62. package/cjs/component/legend/interface.d.ts +1 -0
  63. package/cjs/component/legend/interface.js.map +1 -1
  64. package/cjs/component/title/title.d.ts +1 -2
  65. package/cjs/component/title/title.js +4 -4
  66. package/cjs/component/title/title.js.map +1 -1
  67. package/cjs/component/tooltip/handler/base.d.ts +2 -1
  68. package/cjs/component/tooltip/handler/base.js +127 -49
  69. package/cjs/component/tooltip/handler/base.js.map +1 -1
  70. package/cjs/component/tooltip/handler/utils/position.d.ts +6 -0
  71. package/cjs/component/tooltip/handler/utils/position.js +31 -3
  72. package/cjs/component/tooltip/handler/utils/position.js.map +1 -1
  73. package/cjs/core/index.d.ts +1 -1
  74. package/cjs/core/index.js +1 -1
  75. package/cjs/core/index.js.map +1 -1
  76. package/cjs/core/interface.d.ts +4 -4
  77. package/cjs/core/interface.js.map +1 -1
  78. package/cjs/core/vchart.d.ts +3 -2
  79. package/cjs/core/vchart.js +52 -30
  80. package/cjs/core/vchart.js.map +1 -1
  81. package/cjs/data/initialize.d.ts +1 -0
  82. package/cjs/data/initialize.js +6 -2
  83. package/cjs/data/initialize.js.map +1 -1
  84. package/cjs/data/transforms/link-dot-info.d.ts +13 -0
  85. package/cjs/data/transforms/link-dot-info.js +26 -0
  86. package/cjs/data/transforms/link-dot-info.js.map +1 -0
  87. package/cjs/data/transforms/obj-flat.js +2 -1
  88. package/cjs/data/transforms/obj-flat.js.map +1 -1
  89. package/cjs/event/events/dimension/util/common.js +16 -6
  90. package/cjs/event/events/dimension/util/common.js.map +1 -1
  91. package/cjs/mark/base/base-mark.d.ts +0 -1
  92. package/cjs/mark/base/base-mark.js +1 -4
  93. package/cjs/mark/base/base-mark.js.map +1 -1
  94. package/cjs/model/base-model.d.ts +8 -1
  95. package/cjs/model/base-model.js +14 -9
  96. package/cjs/model/base-model.js.map +1 -1
  97. package/cjs/model/interface.d.ts +0 -1
  98. package/cjs/model/interface.js.map +1 -1
  99. package/cjs/region/region.d.ts +1 -2
  100. package/cjs/region/region.js +4 -4
  101. package/cjs/region/region.js.map +1 -1
  102. package/cjs/series/bar/bar.d.ts +0 -8
  103. package/cjs/series/bar/bar.js +0 -5
  104. package/cjs/series/bar/bar.js.map +1 -1
  105. package/cjs/series/base/base-series.d.ts +4 -2
  106. package/cjs/series/base/base-series.js +26 -17
  107. package/cjs/series/base/base-series.js.map +1 -1
  108. package/cjs/series/cartesian/cartesian.d.ts +0 -8
  109. package/cjs/series/cartesian/cartesian.js +0 -5
  110. package/cjs/series/cartesian/cartesian.js.map +1 -1
  111. package/cjs/series/dot/dot.d.ts +2 -0
  112. package/cjs/series/dot/dot.js +8 -3
  113. package/cjs/series/dot/dot.js.map +1 -1
  114. package/cjs/series/funnel/funnel.d.ts +0 -8
  115. package/cjs/series/funnel/funnel.js +0 -15
  116. package/cjs/series/funnel/funnel.js.map +1 -1
  117. package/cjs/series/heatmap/heatmap.d.ts +0 -8
  118. package/cjs/series/heatmap/heatmap.js +0 -5
  119. package/cjs/series/heatmap/heatmap.js.map +1 -1
  120. package/cjs/series/interface/common.d.ts +1 -0
  121. package/cjs/series/interface/common.js.map +1 -1
  122. package/cjs/series/link/link.d.ts +1 -0
  123. package/cjs/series/link/link.js +18 -20
  124. package/cjs/series/link/link.js.map +1 -1
  125. package/cjs/series/map/map.d.ts +0 -8
  126. package/cjs/series/map/map.js +0 -5
  127. package/cjs/series/map/map.js.map +1 -1
  128. package/cjs/series/pie/pie.d.ts +3 -2
  129. package/cjs/series/pie/pie.js +9 -3
  130. package/cjs/series/pie/pie.js.map +1 -1
  131. package/cjs/series/polar/polar.d.ts +0 -8
  132. package/cjs/series/polar/polar.js +0 -5
  133. package/cjs/series/polar/polar.js.map +1 -1
  134. package/cjs/series/polar/progress-like/progress-like.js +18 -24
  135. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  136. package/cjs/series/sankey/interface.d.ts +1 -0
  137. package/cjs/series/sankey/interface.js.map +1 -1
  138. package/cjs/series/sankey/sankey.d.ts +2 -0
  139. package/cjs/series/sankey/sankey.js +25 -13
  140. package/cjs/series/sankey/sankey.js.map +1 -1
  141. package/cjs/series/word-cloud/base.d.ts +0 -8
  142. package/cjs/series/word-cloud/base.js +2 -7
  143. package/cjs/series/word-cloud/base.js.map +1 -1
  144. package/cjs/series/word-cloud/config.d.ts +1 -1
  145. package/cjs/series/word-cloud/config.js +1 -1
  146. package/cjs/series/word-cloud/config.js.map +1 -1
  147. package/cjs/theme/builtin/common/component/tooltip.js +1 -0
  148. package/cjs/theme/builtin/common/component/tooltip.js.map +1 -1
  149. package/cjs/theme/builtin/common/series/circular-progress.js +6 -0
  150. package/cjs/theme/builtin/common/series/circular-progress.js.map +1 -1
  151. package/cjs/theme/builtin/common/series/gauge.js +6 -0
  152. package/cjs/theme/builtin/common/series/gauge.js.map +1 -1
  153. package/cjs/theme/builtin/common/series/pie.js +1 -0
  154. package/cjs/theme/builtin/common/series/pie.js.map +1 -1
  155. package/cjs/theme/builtin/common/series/rose.js +1 -0
  156. package/cjs/theme/builtin/common/series/rose.js.map +1 -1
  157. package/cjs/typings/tooltip/position.d.ts +13 -1
  158. package/cjs/typings/tooltip/position.js +11 -5
  159. package/cjs/typings/tooltip/position.js.map +1 -1
  160. package/cjs/typings/tooltip/tooltip.d.ts +2 -1
  161. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  162. package/cjs/typings/visual.d.ts +1 -0
  163. package/cjs/typings/visual.js.map +1 -1
  164. package/esm/chart/base-chart.d.ts +7 -5
  165. package/esm/chart/base-chart.js +44 -74
  166. package/esm/chart/base-chart.js.map +1 -1
  167. package/esm/chart/chart-meta/data.d.ts +15 -0
  168. package/esm/chart/chart-meta/data.js +48 -0
  169. package/esm/chart/chart-meta/data.js.map +1 -0
  170. package/esm/chart/interface/chart.d.ts +0 -1
  171. package/esm/chart/interface/chart.js.map +1 -1
  172. package/esm/chart/progress/circular/circular.js +2 -1
  173. package/esm/chart/progress/circular/circular.js.map +1 -1
  174. package/esm/chart/sequence/sequence.d.ts +1 -0
  175. package/esm/chart/sequence/sequence.js +25 -21
  176. package/esm/chart/sequence/sequence.js.map +1 -1
  177. package/esm/chart/util.d.ts +2 -0
  178. package/esm/chart/util.js +6 -0
  179. package/esm/chart/util.js.map +1 -1
  180. package/esm/compile/compiler.d.ts +1 -1
  181. package/esm/compile/compiler.js +3 -3
  182. package/esm/compile/compiler.js.map +1 -1
  183. package/esm/compile/data/compilable-data.js +2 -2
  184. package/esm/compile/data/compilable-data.js.map +1 -1
  185. package/esm/component/axis/base-axis.d.ts +1 -2
  186. package/esm/component/axis/base-axis.js +3 -3
  187. package/esm/component/axis/base-axis.js.map +1 -1
  188. package/esm/component/axis/cartesian/axis.d.ts +1 -8
  189. package/esm/component/axis/cartesian/axis.js +3 -6
  190. package/esm/component/axis/cartesian/axis.js.map +1 -1
  191. package/esm/component/axis/interface.d.ts +1 -0
  192. package/esm/component/axis/interface.js.map +1 -1
  193. package/esm/component/base/base-component.d.ts +2 -2
  194. package/esm/component/base/base-component.js +11 -5
  195. package/esm/component/base/base-component.js.map +1 -1
  196. package/esm/component/brush/brush.d.ts +1 -2
  197. package/esm/component/brush/brush.js +3 -3
  198. package/esm/component/brush/brush.js.map +1 -1
  199. package/esm/component/crosshair/base.d.ts +1 -2
  200. package/esm/component/crosshair/base.js +5 -4
  201. package/esm/component/crosshair/base.js.map +1 -1
  202. package/esm/component/crosshair/interface/spec.d.ts +1 -1
  203. package/esm/component/crosshair/interface/spec.js.map +1 -1
  204. package/esm/component/custom-mark/custom-mark.d.ts +1 -2
  205. package/esm/component/custom-mark/custom-mark.js +3 -3
  206. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  207. package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -2
  208. package/esm/component/data-zoom/data-filter-base-component.js +5 -4
  209. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  210. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -0
  211. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +5 -0
  212. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  213. package/esm/component/label/base-label.d.ts +1 -2
  214. package/esm/component/label/base-label.js +6 -3
  215. package/esm/component/label/base-label.js.map +1 -1
  216. package/esm/component/label/label.js +4 -3
  217. package/esm/component/label/label.js.map +1 -1
  218. package/esm/component/legend/base-legend.d.ts +1 -2
  219. package/esm/component/legend/base-legend.js +4 -4
  220. package/esm/component/legend/base-legend.js.map +1 -1
  221. package/esm/component/legend/interface.d.ts +1 -0
  222. package/esm/component/legend/interface.js.map +1 -1
  223. package/esm/component/title/title.d.ts +1 -2
  224. package/esm/component/title/title.js +4 -4
  225. package/esm/component/title/title.js.map +1 -1
  226. package/esm/component/tooltip/handler/base.d.ts +2 -1
  227. package/esm/component/tooltip/handler/base.js +122 -49
  228. package/esm/component/tooltip/handler/base.js.map +1 -1
  229. package/esm/component/tooltip/handler/utils/position.d.ts +6 -0
  230. package/esm/component/tooltip/handler/utils/position.js +28 -0
  231. package/esm/component/tooltip/handler/utils/position.js.map +1 -1
  232. package/esm/core/index.d.ts +1 -1
  233. package/esm/core/index.js +1 -1
  234. package/esm/core/index.js.map +1 -1
  235. package/esm/core/interface.d.ts +4 -4
  236. package/esm/core/interface.js.map +1 -1
  237. package/esm/core/vchart.d.ts +3 -2
  238. package/esm/core/vchart.js +53 -31
  239. package/esm/core/vchart.js.map +1 -1
  240. package/esm/data/initialize.d.ts +1 -0
  241. package/esm/data/initialize.js +4 -0
  242. package/esm/data/initialize.js.map +1 -1
  243. package/esm/data/transforms/link-dot-info.d.ts +13 -0
  244. package/esm/data/transforms/link-dot-info.js +18 -0
  245. package/esm/data/transforms/link-dot-info.js.map +1 -0
  246. package/esm/data/transforms/obj-flat.js +2 -1
  247. package/esm/data/transforms/obj-flat.js.map +1 -1
  248. package/esm/event/events/dimension/util/common.js +17 -7
  249. package/esm/event/events/dimension/util/common.js.map +1 -1
  250. package/esm/mark/base/base-mark.d.ts +0 -1
  251. package/esm/mark/base/base-mark.js +2 -5
  252. package/esm/mark/base/base-mark.js.map +1 -1
  253. package/esm/model/base-model.d.ts +8 -1
  254. package/esm/model/base-model.js +13 -8
  255. package/esm/model/base-model.js.map +1 -1
  256. package/esm/model/interface.d.ts +0 -1
  257. package/esm/model/interface.js.map +1 -1
  258. package/esm/region/region.d.ts +1 -2
  259. package/esm/region/region.js +5 -5
  260. package/esm/region/region.js.map +1 -1
  261. package/esm/series/bar/bar.d.ts +0 -8
  262. package/esm/series/bar/bar.js +0 -5
  263. package/esm/series/bar/bar.js.map +1 -1
  264. package/esm/series/base/base-series.d.ts +4 -2
  265. package/esm/series/base/base-series.js +24 -17
  266. package/esm/series/base/base-series.js.map +1 -1
  267. package/esm/series/cartesian/cartesian.d.ts +0 -8
  268. package/esm/series/cartesian/cartesian.js +1 -6
  269. package/esm/series/cartesian/cartesian.js.map +1 -1
  270. package/esm/series/dot/dot.d.ts +2 -0
  271. package/esm/series/dot/dot.js +8 -3
  272. package/esm/series/dot/dot.js.map +1 -1
  273. package/esm/series/funnel/funnel.d.ts +0 -8
  274. package/esm/series/funnel/funnel.js +1 -16
  275. package/esm/series/funnel/funnel.js.map +1 -1
  276. package/esm/series/heatmap/heatmap.d.ts +0 -8
  277. package/esm/series/heatmap/heatmap.js +0 -5
  278. package/esm/series/heatmap/heatmap.js.map +1 -1
  279. package/esm/series/interface/common.d.ts +1 -0
  280. package/esm/series/interface/common.js.map +1 -1
  281. package/esm/series/link/link.d.ts +1 -0
  282. package/esm/series/link/link.js +19 -19
  283. package/esm/series/link/link.js.map +1 -1
  284. package/esm/series/map/map.d.ts +0 -8
  285. package/esm/series/map/map.js +0 -5
  286. package/esm/series/map/map.js.map +1 -1
  287. package/esm/series/pie/pie.d.ts +3 -2
  288. package/esm/series/pie/pie.js +9 -3
  289. package/esm/series/pie/pie.js.map +1 -1
  290. package/esm/series/polar/polar.d.ts +0 -8
  291. package/esm/series/polar/polar.js +1 -6
  292. package/esm/series/polar/polar.js.map +1 -1
  293. package/esm/series/polar/progress-like/progress-like.js +18 -25
  294. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  295. package/esm/series/sankey/interface.d.ts +1 -0
  296. package/esm/series/sankey/interface.js.map +1 -1
  297. package/esm/series/sankey/sankey.d.ts +2 -0
  298. package/esm/series/sankey/sankey.js +22 -12
  299. package/esm/series/sankey/sankey.js.map +1 -1
  300. package/esm/series/word-cloud/base.d.ts +0 -8
  301. package/esm/series/word-cloud/base.js +3 -8
  302. package/esm/series/word-cloud/base.js.map +1 -1
  303. package/esm/series/word-cloud/config.d.ts +1 -1
  304. package/esm/series/word-cloud/config.js +1 -1
  305. package/esm/series/word-cloud/config.js.map +1 -1
  306. package/esm/theme/builtin/common/component/tooltip.js +1 -0
  307. package/esm/theme/builtin/common/component/tooltip.js.map +1 -1
  308. package/esm/theme/builtin/common/series/circular-progress.js +6 -0
  309. package/esm/theme/builtin/common/series/circular-progress.js.map +1 -1
  310. package/esm/theme/builtin/common/series/gauge.js +6 -0
  311. package/esm/theme/builtin/common/series/gauge.js.map +1 -1
  312. package/esm/theme/builtin/common/series/pie.js +1 -0
  313. package/esm/theme/builtin/common/series/pie.js.map +1 -1
  314. package/esm/theme/builtin/common/series/rose.js +1 -0
  315. package/esm/theme/builtin/common/series/rose.js.map +1 -1
  316. package/esm/typings/tooltip/position.d.ts +13 -1
  317. package/esm/typings/tooltip/position.js +11 -2
  318. package/esm/typings/tooltip/position.js.map +1 -1
  319. package/esm/typings/tooltip/tooltip.d.ts +2 -1
  320. package/esm/typings/tooltip/tooltip.js.map +1 -1
  321. package/esm/typings/visual.d.ts +1 -0
  322. package/esm/typings/visual.js.map +1 -1
  323. package/package.json +19 -18
@@ -1,3 +1,4 @@
1
+ import { ChartData } from './chart-meta/data';
1
2
  import type { ISeriesSpec, Datum, IMarkStateSpec, IRegionQuerier, MaybeArray, IPadding, IRect, StringOrNumber, IChartSpec, IDataValues } from '../typings';
2
3
  import type { LayoutCallBack } from '../layout/interface';
3
4
  import type { ILayoutModelState, ILayoutOrientPadding, ILayoutRect, IModel, IModelOption, IUpdateSpecResult } from '../model/interface';
@@ -34,16 +35,18 @@ export declare class BaseChart extends CompilableBase implements IChart {
34
35
  protected _viewRect: ILayoutRect;
35
36
  getViewRect(): ILayoutRect;
36
37
  protected _viewBox: IBoundsLike;
38
+ protected _layoutTag: boolean;
39
+ getLayoutTag(): boolean;
40
+ setLayoutTag(tag: boolean, morphConfig?: IMorphConfig, reLayout?: boolean): boolean;
37
41
  protected _modelOption: IModelOption;
38
42
  protected _globalScale: IGlobalScale;
39
43
  protected _idMap: Map<number, IModel | IMark>;
40
44
  protected _event: IEvent;
41
45
  getEvent(): IEvent;
42
46
  protected _dataSet: DataSet;
47
+ protected _chartData: ChartData;
48
+ get chartData(): ChartData;
43
49
  protected _option: IChartOption;
44
- protected _layoutTag: boolean;
45
- getLayoutTag(): boolean;
46
- setLayoutTag(tag: boolean, morphConfig?: IMorphConfig, reLayout?: boolean): boolean;
47
50
  readonly state: ILayoutModelState;
48
51
  protected _stack: Stack;
49
52
  padding: IPadding;
@@ -99,7 +102,6 @@ export declare class BaseChart extends CompilableBase implements IChart {
99
102
  getModelByUserId(userId: StringOrNumber): IModel | undefined;
100
103
  getAllMarks(): IMark[];
101
104
  getMarkById(id: number): IMark | undefined;
102
- updateParseData(id: string, data: Datum[], options?: IParserOptions): void;
103
105
  updateData(id: StringOrNumber, data: unknown, updateGlobalScale?: boolean, options?: IParserOptions): void;
104
106
  updateFullData(data: IDataValues | IDataValues[], updateGlobalScale?: boolean): void;
105
107
  onRender(option: IChartRenderOption): void;
@@ -118,6 +120,7 @@ export declare class BaseChart extends CompilableBase implements IChart {
118
120
  reSize: boolean;
119
121
  reCompile: boolean;
120
122
  };
123
+ updateChartConfig(result: IUpdateSpecResult, oldSpec: IChartSpec): void;
121
124
  updateDataSpec(result: IUpdateSpecResult): void;
122
125
  updateRegionSpec(result: IUpdateSpecResult): void;
123
126
  updateComponentSpec(result: IUpdateSpecResult): void;
@@ -125,7 +128,6 @@ export declare class BaseChart extends CompilableBase implements IChart {
125
128
  getCanvas(): HTMLCanvasElement;
126
129
  protected isValidSeries(seriesType: string): boolean;
127
130
  protected _getDefaultSeriesSpec(spec: any): any;
128
- private _mergeUpdateResult;
129
131
  private _updateLayoutRect;
130
132
  getCurrentTheme(): ITheme;
131
133
  setCurrentTheme(theme: ITheme): void;
@@ -30,7 +30,7 @@ Object.defineProperty(exports, "__esModule", {
30
30
  value: !0
31
31
  }), exports.BaseChart = void 0;
32
32
 
33
- const global_scale_1 = require("../scale/global-scale"), interface_1 = require("../component/interface"), interface_2 = require("../mark/interface"), factory_1 = require("../core/factory"), event_1 = require("../event/event"), util_1 = require("../util"), stack_1 = require("./stack"), base_model_1 = require("../model/base-model"), base_mark_1 = require("../mark/base/base-mark"), base_1 = require("../constant/base"), initialize_1 = require("../data/initialize"), vutils_1 = require("@visactor/vutils"), util_2 = require("../theme/color-scheme/util"), compilable_base_1 = require("../compile/compilable-base"), interface_3 = require("../compile/mark/interface"), constant_1 = require("../constant"), dimension_1 = require("../event/events/dimension"), util_3 = require("./util"), vscale_1 = require("@visactor/vscale");
33
+ const data_1 = require("./chart-meta/data"), global_scale_1 = require("../scale/global-scale"), interface_1 = require("../component/interface"), interface_2 = require("../mark/interface"), factory_1 = require("../core/factory"), event_1 = require("../event/event"), util_1 = require("../util"), stack_1 = require("./stack"), base_model_1 = require("../model/base-model"), base_mark_1 = require("../mark/base/base-mark"), base_1 = require("../constant/base"), vutils_1 = require("@visactor/vutils"), util_2 = require("../theme/color-scheme/util"), compilable_base_1 = require("../compile/compilable-base"), interface_3 = require("../compile/mark/interface"), constant_1 = require("../constant"), dimension_1 = require("../event/events/dimension"), util_3 = require("./util"), vscale_1 = require("@visactor/vscale");
34
34
 
35
35
  class BaseChart extends compilable_base_1.CompilableBase {
36
36
  getSpec() {
@@ -48,9 +48,6 @@ class BaseChart extends compilable_base_1.CompilableBase {
48
48
  getViewRect() {
49
49
  return this._viewRect;
50
50
  }
51
- getEvent() {
52
- return this._event;
53
- }
54
51
  getLayoutTag() {
55
52
  return this._layoutTag;
56
53
  }
@@ -59,8 +56,14 @@ class BaseChart extends compilable_base_1.CompilableBase {
59
56
  return this._layoutTag = tag, (null === (_a = this.getCompiler()) || void 0 === _a ? void 0 : _a.getVGrammarView()) && (this.getCompiler().getVGrammarView().updateLayoutTag(),
60
57
  tag && reLayout && this.getCompiler().renderAsync(morphConfig)), this._layoutTag;
61
58
  }
59
+ getEvent() {
60
+ return this._event;
61
+ }
62
+ get chartData() {
63
+ return this._chartData;
64
+ }
62
65
  constructor(spec, option) {
63
- var _a, _b, _c;
66
+ var _a, _b, _c, _d;
64
67
  super(option), this.type = "chart", this.id = (0, util_1.createID)(), this._regions = [],
65
68
  this._series = [], this._components = [], this._layoutRect = {
66
69
  x: 0,
@@ -75,7 +78,7 @@ class BaseChart extends compilable_base_1.CompilableBase {
75
78
  y1: 0,
76
79
  x2: base_1.DEFAULT_CHART_WIDTH,
77
80
  y2: base_1.DEFAULT_CHART_HEIGHT
78
- }, this._idMap = new Map, this._layoutTag = !0, this.state = {
81
+ }, this._layoutTag = !0, this._idMap = new Map, this.state = {
79
82
  layoutUpdateRank: 1
80
83
  }, this.padding = {
81
84
  top: 0,
@@ -106,6 +109,7 @@ class BaseChart extends compilable_base_1.CompilableBase {
106
109
  if (component) return component;
107
110
  }, this._theme = option.getTheme(), this._paddingSpec = (0, util_1.normalizeLayoutPaddingSpec)(null !== (_a = spec.padding) && void 0 !== _a ? _a : null === (_b = this._theme) || void 0 === _b ? void 0 : _b.padding),
108
111
  this._event = new event_1.Event(option.eventDispatcher, option.mode), this._dataSet = option.dataSet,
112
+ this._chartData = new data_1.ChartData(this._dataSet, null === (_c = this._option) || void 0 === _c ? void 0 : _c.onError),
109
113
  this._modelOption = Object.assign(Object.assign({}, option), {
110
114
  mode: this._option.mode,
111
115
  map: this._idMap,
@@ -113,13 +117,13 @@ class BaseChart extends compilable_base_1.CompilableBase {
113
117
  getChartViewRect: () => this._viewRect,
114
118
  getChart: () => this,
115
119
  globalScale: this._globalScale,
116
- onError: null === (_c = this._option) || void 0 === _c ? void 0 : _c.onError
120
+ onError: null === (_d = this._option) || void 0 === _d ? void 0 : _d.onError
117
121
  }), this._stack = new stack_1.Stack(this), this._spec = spec;
118
122
  }
119
123
  created() {
120
- this.transformSpec(this._spec), this.createGlobalScale(), this.createBackground(this._spec.background),
121
- this.createLayout(), this.createRegion(this._spec.region), this.createSeries(this._spec.series),
122
- this.createComponent(this._spec);
124
+ this.transformSpec(this._spec), this._chartData.parseData(this._spec.data), this.createGlobalScale(),
125
+ this.createBackground(this._spec.background), this.createLayout(), this.createRegion(this._spec.region),
126
+ this.createSeries(this._spec.series), this.createComponent(this._spec);
123
127
  }
124
128
  transformSpec(spec) {
125
129
  spec.region && 0 !== spec.region.length || (spec.region = [ {} ]), (0, vutils_1.has)(spec, "tooltip") || (spec.tooltip = {});
@@ -172,12 +176,9 @@ class BaseChart extends compilable_base_1.CompilableBase {
172
176
  }
173
177
  createSeries(seriesSpec) {
174
178
  seriesSpec.forEach(((spec, index) => {
175
- var _a;
176
179
  let region;
177
- if (spec.data ? spec.data = (0, initialize_1.dataToDataView)(spec.data, this._dataSet, this._spec.data, {
178
- onError: null === (_a = this._option) || void 0 === _a ? void 0 : _a.onError
179
- }) : spec.data = this.getSeriesData(spec.dataId, spec.dataIndex), !1 === this._option.animation && (spec.animation = !1),
180
- (0, util_1.isValid)(spec.regionId) ? region = this.getRegionsInUserId(spec.regionId) : (0,
180
+ if (spec.data || (spec.data = this._chartData.getSeriesData(spec.dataId, spec.dataIndex)),
181
+ !1 === this._option.animation && (spec.animation = !1), (0, util_1.isValid)(spec.regionId) ? region = this.getRegionsInUserId(spec.regionId) : (0,
181
182
  util_1.isValid)(spec.regionIndex) && (region = this.getRegionsInIndex([ spec.regionIndex ])[0]),
182
183
  region || (region = this._regions[0]), !region) return;
183
184
  const series = factory_1.Factory.createSeries(spec.type, spec, Object.assign(Object.assign({}, this._modelOption), {
@@ -186,7 +187,8 @@ class BaseChart extends compilable_base_1.CompilableBase {
186
187
  specKey: "series",
187
188
  getTheme: () => this._theme,
188
189
  globalScale: this._globalScale,
189
- getSeriesData: this.getSeriesData.bind(this)
190
+ getSeriesData: this._chartData.getSeriesData.bind(this._chartData),
191
+ sourceDataList: this._chartData.dataList
190
192
  }));
191
193
  series && (series.created(), this._series.push(series), region.addSeries(series));
192
194
  }));
@@ -316,26 +318,14 @@ class BaseChart extends compilable_base_1.CompilableBase {
316
318
  const mark = this._idMap.get(id);
317
319
  if (mark && mark instanceof base_mark_1.BaseMark) return mark;
318
320
  }
319
- updateParseData(id, data, options) {
320
- const dv = this._dataSet.getDataView(id);
321
- dv && dv.updateRawData(data);
322
- }
323
321
  updateData(id, data, updateGlobalScale = !0, options) {
324
322
  const dv = this._dataSet.getDataView(id);
325
- dv && dv.parseNewData(data, options), updateGlobalScale && this.updateGlobalScaleDomain(),
323
+ dv && (dv.markRunning(), dv.parseNewData(data, options)), updateGlobalScale && this.updateGlobalScaleDomain(),
326
324
  this.getAllModels().forEach((model => model.onDataUpdate()));
327
325
  }
328
326
  updateFullData(data, updateGlobalScale = !0) {
329
- const dvs = [];
330
- (0, util_1.array)(data).forEach((d => {
331
- const dv = this._dataSet.getDataView(d.id);
332
- dv && (dvs.push({
333
- d: d,
334
- dv: dv
335
- }), dv.markRunning());
336
- })), dvs.forEach((({d: d, dv: dv}) => {
337
- dv.setFields(d.fields), dv.parseNewData(d.values, d.parser);
338
- })), updateGlobalScale && this.updateGlobalScaleDomain(), this.getAllModels().forEach((model => model.onDataUpdate()));
327
+ this._chartData.updateData(data), updateGlobalScale && this.updateGlobalScaleDomain(),
328
+ this.getAllModels().forEach((model => model.onDataUpdate()));
339
329
  }
340
330
  onRender(option) {}
341
331
  setCanvasRect(width, height) {
@@ -349,16 +339,7 @@ class BaseChart extends compilable_base_1.CompilableBase {
349
339
  this._canvasRect;
350
340
  }
351
341
  getSeriesData(id, index) {
352
- var _a, _b, _c;
353
- if (!this._spec.data) return null === (_a = this._option) || void 0 === _a || _a.onError("no data in spec!"),
354
- null;
355
- if ("string" == typeof id) {
356
- const metchData = this._spec.data.filter((data => data.name === id));
357
- return metchData[0] ? metchData[0] : (null === (_b = this._option) || void 0 === _b || _b.onError(`no data matches dataId ${id}!`),
358
- null);
359
- }
360
- return "number" == typeof index ? this._spec.data[index] ? this._spec.data[index] : (null === (_c = this._option) || void 0 === _c || _c.onError(`no data matches dataIndex ${index}!`),
361
- null) : this._spec.data[0];
342
+ return this._chartData.getSeriesData(id, index);
362
343
  }
363
344
  _transformSpecScale() {
364
345
  var _a, _b, _c;
@@ -400,7 +381,7 @@ class BaseChart extends compilable_base_1.CompilableBase {
400
381
  this._globalScale.updateScaleDomain(domain);
401
382
  }
402
383
  updateGlobalScale(result) {
403
- this._mergeUpdateResult(result, this._globalScale.updateSpec(this._transformSpecScale()));
384
+ (0, util_3.mergeUpdateResult)(result, this._globalScale.updateSpec(this._transformSpecScale()));
404
385
  }
405
386
  updateGlobalScaleTheme() {
406
387
  var _a;
@@ -420,23 +401,26 @@ class BaseChart extends compilable_base_1.CompilableBase {
420
401
  result;
421
402
  this.transformSpec(spec);
422
403
  const currentKeys = Object.keys(this._spec).sort(), nextKeys = Object.keys(spec).sort();
423
- return JSON.stringify(currentKeys) !== JSON.stringify(nextKeys) ? (result.reMake = !0,
424
- result) : (this._spec = spec, this.updateGlobalScale(result), result.reMake ? result : (this.updateRegionSpec(result),
425
- result.reMake ? result : (this.updateComponentSpec(result), result.reMake ? result : (this.updateSeriesSpec(result),
426
- result.reMake ? result : (this.updateDataSpec(result), result.reMake || this.updateGlobalScaleDomain(),
427
- result)))));
404
+ if (JSON.stringify(currentKeys) !== JSON.stringify(nextKeys)) return result.reMake = !0,
405
+ result;
406
+ const oldSpec = this._spec;
407
+ return this._spec = spec, this.updateChartConfig(result, oldSpec), result.reMake ? result : (this.updateGlobalScale(result),
408
+ result.reMake ? result : (this.updateRegionSpec(result), result.reMake ? result : (this.updateComponentSpec(result),
409
+ result.reMake ? result : (this.updateSeriesSpec(result), result.reMake ? result : (this.updateDataSpec(result),
410
+ result.reMake || this.updateGlobalScaleDomain(), result)))));
411
+ }
412
+ updateChartConfig(result, oldSpec) {
413
+ var _a, _b;
414
+ this._paddingSpec = (0, util_1.normalizeLayoutPaddingSpec)(null !== (_a = this._spec.padding) && void 0 !== _a ? _a : null === (_b = this._theme) || void 0 === _b ? void 0 : _b.padding),
415
+ this._updateLayoutRect(this._viewBox), (0, vutils_1.isEqual)(this._spec.background, oldSpec.background) || (result.reMake = !0);
428
416
  }
429
417
  updateDataSpec(result) {
430
- this._spec.data && (0, util_1.array)(this._spec.data).forEach(((d, i) => {
431
- const dataView = this._dataSet.getDataView(d.id);
432
- dataView ? (d.fields && dataView.setFields(d.fields), d.values ? dataView.parseNewData(d.values, d.parser) : d.latestData || dataView.updateRawData([])) : result.reMakeData = !0;
433
- }));
418
+ this._spec.data && this._chartData.updateData(this._spec.data, !1, !0);
434
419
  }
435
420
  updateRegionSpec(result) {
436
421
  var _a;
437
422
  (null === (_a = this._spec) || void 0 === _a ? void 0 : _a.region) && (this._spec.region.length === this._regions.length ? this._regions.forEach((r => {
438
- this._mergeUpdateResult(result, r.updateSpec(this._spec.region[r.getSpecIndex()])),
439
- r.reInit();
423
+ (0, util_3.mergeUpdateResult)(result, r.updateSpec(this._spec.region[r.getSpecIndex()]));
440
424
  })) : result.reMake = !0);
441
425
  }
442
426
  updateComponentSpec(result) {
@@ -447,8 +431,8 @@ class BaseChart extends compilable_base_1.CompilableBase {
447
431
  (0, util_1.isArray)(cmpSpec) ? (componentCache[c.specKey] = componentCache[c.specKey] || {
448
432
  specCount: cmpSpec.length,
449
433
  componentCount: 0
450
- }, componentCache[c.specKey].componentCount++, this._mergeUpdateResult(result, c.updateSpec(cmpSpec[c.getSpecIndex()], cmpSpec))) : this._mergeUpdateResult(result, c.updateSpec(cmpSpec)),
451
- c.reInit();
434
+ }, componentCache[c.specKey].componentCount++, (0, util_3.mergeUpdateResult)(result, c.updateSpec(cmpSpec[c.getSpecIndex()], cmpSpec))) : (0,
435
+ util_3.mergeUpdateResult)(result, c.updateSpec(cmpSpec));
452
436
  }));
453
437
  for (const key in componentCache) if (Object.prototype.hasOwnProperty.call(componentCache, key)) {
454
438
  const element = componentCache[key];
@@ -457,15 +441,8 @@ class BaseChart extends compilable_base_1.CompilableBase {
457
441
  }
458
442
  updateSeriesSpec(result) {
459
443
  this._spec.series.length === this._series.length ? this._series.forEach((s => {
460
- var _a;
461
444
  const spec = this._spec.series[s.getSpecIndex()];
462
- if (result.reMakeData) {
463
- let values;
464
- values = spec.data ? spec.data.values : null === (_a = this.getSeriesData(spec.dataId, spec.dataIndex)) || void 0 === _a ? void 0 : _a.latestData,
465
- s.updateRawData(values);
466
- }
467
- const lastSpec = s.getSpec();
468
- this._mergeUpdateResult(result, s.updateSpec(spec)), s.reInit(null, lastSpec);
445
+ (0, util_3.mergeUpdateResult)(result, s.updateSpec(spec));
469
446
  })) : result.reMake = !0;
470
447
  }
471
448
  getCanvas() {
@@ -476,16 +453,15 @@ class BaseChart extends compilable_base_1.CompilableBase {
476
453
  return !0;
477
454
  }
478
455
  _getDefaultSeriesSpec(spec) {
479
- var _a, _b;
456
+ var _a;
480
457
  return {
481
- data: null === (_a = spec.data) || void 0 === _a ? void 0 : _a[0],
482
458
  dataKey: spec.dataKey,
483
459
  hover: spec.hover,
484
460
  select: spec.select,
485
461
  label: spec.label,
486
462
  seriesStyle: spec.seriesStyle,
487
463
  animation: spec.animation,
488
- animationThreshold: null !== (_b = spec.animationThreshold) && void 0 !== _b ? _b : this._theme.animationThreshold,
464
+ animationThreshold: null !== (_a = spec.animationThreshold) && void 0 !== _a ? _a : this._theme.animationThreshold,
489
465
  animationAppear: spec.animationAppear,
490
466
  animationDisappear: spec.animationDisappear,
491
467
  animationEnter: spec.animationEnter,
@@ -502,11 +478,6 @@ class BaseChart extends compilable_base_1.CompilableBase {
502
478
  seriesField: spec.seriesField
503
479
  };
504
480
  }
505
- _mergeUpdateResult(resultA, resultB) {
506
- resultA.change = resultA.change || resultB.change, resultA.reCompile = resultA.reCompile || resultB.reCompile,
507
- resultA.reMake = resultA.reMake || resultB.reMake, resultA.reRender = resultA.reRender || resultB.reRender,
508
- resultA.reSize = resultA.reSize || resultB.reSize;
509
- }
510
481
  _updateLayoutRect(viewBox) {
511
482
  let viewRect = this.getCanvasRect();
512
483
  if (viewBox) {