@visactor/vchart 1.1.2 → 1.2.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 (271) hide show
  1. package/build/index.js +420 -163
  2. package/build/index.min.js +1 -1
  3. package/cjs/chart/area/area.js +3 -1
  4. package/cjs/chart/area/area.js.map +1 -1
  5. package/cjs/chart/base-chart.d.ts +7 -2
  6. package/cjs/chart/base-chart.js +51 -23
  7. package/cjs/chart/base-chart.js.map +1 -1
  8. package/cjs/chart/interface/chart.d.ts +1 -0
  9. package/cjs/chart/interface/chart.js.map +1 -1
  10. package/cjs/chart/line/line.js +3 -1
  11. package/cjs/chart/line/line.js.map +1 -1
  12. package/cjs/chart/radar/radar.js +3 -1
  13. package/cjs/chart/radar/radar.js.map +1 -1
  14. package/cjs/chart/sequence/sequence.js +5 -3
  15. package/cjs/chart/sequence/sequence.js.map +1 -1
  16. package/cjs/chart/stack.js +3 -3
  17. package/cjs/chart/stack.js.map +1 -1
  18. package/cjs/compile/compiler.js +9 -5
  19. package/cjs/compile/compiler.js.map +1 -1
  20. package/cjs/compile/interface/compiler.d.ts +1 -0
  21. package/cjs/compile/interface/compiler.js.map +1 -1
  22. package/cjs/component/axis/cartesian/axis.js +1 -1
  23. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  24. package/cjs/component/axis/interface.d.ts +25 -27
  25. package/cjs/component/axis/interface.js.map +1 -1
  26. package/cjs/component/axis/polar/axis.js +2 -2
  27. package/cjs/component/axis/polar/axis.js.map +1 -1
  28. package/cjs/component/geo/geo-coordinate.js +1 -1
  29. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  30. package/cjs/component/geo/projection.js +1 -2
  31. package/cjs/component/geo/projection.js.map +1 -1
  32. package/cjs/component/indicator/indicator.js +1 -1
  33. package/cjs/component/indicator/indicator.js.map +1 -1
  34. package/cjs/component/marker/base-marker.js +1 -1
  35. package/cjs/component/marker/base-marker.js.map +1 -1
  36. package/cjs/component/marker/interface.d.ts +2 -2
  37. package/cjs/component/marker/interface.js.map +1 -1
  38. package/cjs/component/tooltip/processor/dimension-tooltip.js +3 -2
  39. package/cjs/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  40. package/cjs/constant/event.d.ts +2 -0
  41. package/cjs/constant/event.js +2 -1
  42. package/cjs/constant/event.js.map +1 -1
  43. package/cjs/core/index.d.ts +1 -1
  44. package/cjs/core/index.js +1 -1
  45. package/cjs/core/index.js.map +1 -1
  46. package/cjs/core/vchart.d.ts +6 -0
  47. package/cjs/core/vchart.js +72 -27
  48. package/cjs/core/vchart.js.map +1 -1
  49. package/cjs/data/initialize.d.ts +2 -1
  50. package/cjs/data/initialize.js +8 -5
  51. package/cjs/data/initialize.js.map +1 -1
  52. package/cjs/data/transforms/legend-data/discrete/discrete.js +3 -2
  53. package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  54. package/cjs/data/transforms/sankey.d.ts +2 -0
  55. package/cjs/data/transforms/sankey.js +9 -1
  56. package/cjs/data/transforms/sankey.js.map +1 -1
  57. package/cjs/event/events/dimension/base.js +6 -4
  58. package/cjs/event/events/dimension/base.js.map +1 -1
  59. package/cjs/event/events/dimension/interface.js.map +1 -1
  60. package/cjs/event/events/dimension/util/cartesian.d.ts +2 -2
  61. package/cjs/event/events/dimension/util/cartesian.js +12 -11
  62. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  63. package/cjs/event/events/dimension/util/common.d.ts +1 -1
  64. package/cjs/event/events/dimension/util/common.js +13 -6
  65. package/cjs/event/events/dimension/util/common.js.map +1 -1
  66. package/cjs/layout/base-layout.d.ts +3 -0
  67. package/cjs/layout/base-layout.js +8 -4
  68. package/cjs/layout/base-layout.js.map +1 -1
  69. package/cjs/layout/grid-layout/grid-layout.d.ts +3 -1
  70. package/cjs/layout/grid-layout/grid-layout.js +3 -2
  71. package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
  72. package/cjs/layout/interface.d.ts +2 -1
  73. package/cjs/layout/interface.js.map +1 -1
  74. package/cjs/model/interface.d.ts +1 -4
  75. package/cjs/model/interface.js.map +1 -1
  76. package/cjs/model/layout-item.d.ts +0 -3
  77. package/cjs/model/layout-item.js +1 -8
  78. package/cjs/model/layout-item.js.map +1 -1
  79. package/cjs/series/area/area.js +5 -4
  80. package/cjs/series/area/area.js.map +1 -1
  81. package/cjs/series/area/interface.d.ts +1 -0
  82. package/cjs/series/area/interface.js.map +1 -1
  83. package/cjs/series/base/base-series.js +2 -4
  84. package/cjs/series/base/base-series.js.map +1 -1
  85. package/cjs/series/geo/geo.js +3 -3
  86. package/cjs/series/geo/geo.js.map +1 -1
  87. package/cjs/series/line/interface.d.ts +4 -2
  88. package/cjs/series/line/interface.js.map +1 -1
  89. package/cjs/series/line/line.js +5 -3
  90. package/cjs/series/line/line.js.map +1 -1
  91. package/cjs/series/map/map.js +6 -6
  92. package/cjs/series/map/map.js.map +1 -1
  93. package/cjs/series/mixin/line-mixin.d.ts +1 -1
  94. package/cjs/series/mixin/line-mixin.js +3 -2
  95. package/cjs/series/mixin/line-mixin.js.map +1 -1
  96. package/cjs/series/radar/interface.d.ts +1 -0
  97. package/cjs/series/radar/interface.js.map +1 -1
  98. package/cjs/series/radar/radar.js +4 -4
  99. package/cjs/series/radar/radar.js.map +1 -1
  100. package/cjs/series/sankey/sankey.js +7 -4
  101. package/cjs/series/sankey/sankey.js.map +1 -1
  102. package/cjs/series/scatter/scatter.js +7 -4
  103. package/cjs/series/scatter/scatter.js.map +1 -1
  104. package/cjs/series/sunburst/sunburst.d.ts +1 -1
  105. package/cjs/series/word-cloud/base.d.ts +7 -0
  106. package/cjs/series/word-cloud/base.js +8 -3
  107. package/cjs/series/word-cloud/base.js.map +1 -1
  108. package/cjs/theme/buildin-theme/light/series/area.js +5 -0
  109. package/cjs/theme/buildin-theme/light/series/area.js.map +1 -1
  110. package/cjs/theme/buildin-theme/light/series/line.js +5 -0
  111. package/cjs/theme/buildin-theme/light/series/line.js.map +1 -1
  112. package/cjs/theme/buildin-theme/light/series/radar.js +5 -0
  113. package/cjs/theme/buildin-theme/light/series/radar.js.map +1 -1
  114. package/cjs/typings/params.d.ts +5 -0
  115. package/cjs/typings/params.js.map +1 -1
  116. package/cjs/typings/spec/common.d.ts +8 -2
  117. package/cjs/typings/spec/common.js.map +1 -1
  118. package/cjs/typings/visual.d.ts +1 -1
  119. package/cjs/typings/visual.js.map +1 -1
  120. package/cjs/util/debug.d.ts +2 -2
  121. package/cjs/util/debug.js +4 -3
  122. package/cjs/util/debug.js.map +1 -1
  123. package/cjs/util/image.d.ts +2 -1
  124. package/cjs/util/image.js +10 -6
  125. package/cjs/util/image.js.map +1 -1
  126. package/cjs/util/math.js +5 -3
  127. package/cjs/util/math.js.map +1 -1
  128. package/cjs/util/spec.d.ts +4 -0
  129. package/cjs/util/spec.js +24 -2
  130. package/cjs/util/spec.js.map +1 -1
  131. package/esm/chart/area/area.js +3 -1
  132. package/esm/chart/area/area.js.map +1 -1
  133. package/esm/chart/base-chart.d.ts +7 -2
  134. package/esm/chart/base-chart.js +51 -21
  135. package/esm/chart/base-chart.js.map +1 -1
  136. package/esm/chart/interface/chart.d.ts +1 -0
  137. package/esm/chart/interface/chart.js.map +1 -1
  138. package/esm/chart/line/line.js +3 -1
  139. package/esm/chart/line/line.js.map +1 -1
  140. package/esm/chart/radar/radar.js +3 -1
  141. package/esm/chart/radar/radar.js.map +1 -1
  142. package/esm/chart/sequence/sequence.js +5 -3
  143. package/esm/chart/sequence/sequence.js.map +1 -1
  144. package/esm/chart/stack.js +3 -3
  145. package/esm/chart/stack.js.map +1 -1
  146. package/esm/compile/compiler.js +10 -6
  147. package/esm/compile/compiler.js.map +1 -1
  148. package/esm/compile/interface/compiler.d.ts +1 -0
  149. package/esm/compile/interface/compiler.js.map +1 -1
  150. package/esm/component/axis/cartesian/axis.js +1 -1
  151. package/esm/component/axis/cartesian/axis.js.map +1 -1
  152. package/esm/component/axis/interface.d.ts +25 -27
  153. package/esm/component/axis/interface.js.map +1 -1
  154. package/esm/component/axis/polar/axis.js +2 -2
  155. package/esm/component/axis/polar/axis.js.map +1 -1
  156. package/esm/component/geo/geo-coordinate.js +1 -1
  157. package/esm/component/geo/geo-coordinate.js.map +1 -1
  158. package/esm/component/geo/projection.js +1 -1
  159. package/esm/component/geo/projection.js.map +1 -1
  160. package/esm/component/indicator/indicator.js +1 -1
  161. package/esm/component/indicator/indicator.js.map +1 -1
  162. package/esm/component/marker/base-marker.js +1 -1
  163. package/esm/component/marker/base-marker.js.map +1 -1
  164. package/esm/component/marker/interface.d.ts +2 -2
  165. package/esm/component/marker/interface.js.map +1 -1
  166. package/esm/component/tooltip/processor/dimension-tooltip.js +4 -1
  167. package/esm/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  168. package/esm/constant/event.d.ts +2 -0
  169. package/esm/constant/event.js +2 -1
  170. package/esm/constant/event.js.map +1 -1
  171. package/esm/core/index.d.ts +1 -1
  172. package/esm/core/index.js +1 -1
  173. package/esm/core/index.js.map +1 -1
  174. package/esm/core/vchart.d.ts +6 -0
  175. package/esm/core/vchart.js +74 -27
  176. package/esm/core/vchart.js.map +1 -1
  177. package/esm/data/initialize.d.ts +2 -1
  178. package/esm/data/initialize.js +9 -4
  179. package/esm/data/initialize.js.map +1 -1
  180. package/esm/data/transforms/legend-data/discrete/discrete.js +4 -1
  181. package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
  182. package/esm/data/transforms/sankey.d.ts +2 -0
  183. package/esm/data/transforms/sankey.js +9 -1
  184. package/esm/data/transforms/sankey.js.map +1 -1
  185. package/esm/event/events/dimension/base.js +8 -4
  186. package/esm/event/events/dimension/base.js.map +1 -1
  187. package/esm/event/events/dimension/interface.js.map +1 -1
  188. package/esm/event/events/dimension/util/cartesian.d.ts +2 -2
  189. package/esm/event/events/dimension/util/cartesian.js +7 -8
  190. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  191. package/esm/event/events/dimension/util/common.d.ts +1 -1
  192. package/esm/event/events/dimension/util/common.js +14 -6
  193. package/esm/event/events/dimension/util/common.js.map +1 -1
  194. package/esm/layout/base-layout.d.ts +3 -0
  195. package/esm/layout/base-layout.js +8 -4
  196. package/esm/layout/base-layout.js.map +1 -1
  197. package/esm/layout/grid-layout/grid-layout.d.ts +3 -1
  198. package/esm/layout/grid-layout/grid-layout.js +3 -2
  199. package/esm/layout/grid-layout/grid-layout.js.map +1 -1
  200. package/esm/layout/interface.d.ts +2 -1
  201. package/esm/layout/interface.js.map +1 -1
  202. package/esm/model/interface.d.ts +1 -4
  203. package/esm/model/interface.js.map +1 -1
  204. package/esm/model/layout-item.d.ts +0 -3
  205. package/esm/model/layout-item.js +1 -8
  206. package/esm/model/layout-item.js.map +1 -1
  207. package/esm/series/area/area.js +5 -4
  208. package/esm/series/area/area.js.map +1 -1
  209. package/esm/series/area/interface.d.ts +1 -0
  210. package/esm/series/area/interface.js.map +1 -1
  211. package/esm/series/base/base-series.js +1 -4
  212. package/esm/series/base/base-series.js.map +1 -1
  213. package/esm/series/geo/geo.js +3 -3
  214. package/esm/series/geo/geo.js.map +1 -1
  215. package/esm/series/line/interface.d.ts +4 -2
  216. package/esm/series/line/interface.js.map +1 -1
  217. package/esm/series/line/line.js +5 -3
  218. package/esm/series/line/line.js.map +1 -1
  219. package/esm/series/map/map.js +6 -6
  220. package/esm/series/map/map.js.map +1 -1
  221. package/esm/series/mixin/line-mixin.d.ts +1 -1
  222. package/esm/series/mixin/line-mixin.js +3 -2
  223. package/esm/series/mixin/line-mixin.js.map +1 -1
  224. package/esm/series/radar/interface.d.ts +1 -0
  225. package/esm/series/radar/interface.js.map +1 -1
  226. package/esm/series/radar/radar.js +4 -4
  227. package/esm/series/radar/radar.js.map +1 -1
  228. package/esm/series/sankey/sankey.js +7 -4
  229. package/esm/series/sankey/sankey.js.map +1 -1
  230. package/esm/series/scatter/scatter.js +5 -4
  231. package/esm/series/scatter/scatter.js.map +1 -1
  232. package/esm/series/sunburst/sunburst.d.ts +1 -1
  233. package/esm/series/word-cloud/base.d.ts +7 -0
  234. package/esm/series/word-cloud/base.js +7 -0
  235. package/esm/series/word-cloud/base.js.map +1 -1
  236. package/esm/theme/buildin-theme/light/series/area.js +5 -0
  237. package/esm/theme/buildin-theme/light/series/area.js.map +1 -1
  238. package/esm/theme/buildin-theme/light/series/line.js +5 -0
  239. package/esm/theme/buildin-theme/light/series/line.js.map +1 -1
  240. package/esm/theme/buildin-theme/light/series/radar.js +5 -0
  241. package/esm/theme/buildin-theme/light/series/radar.js.map +1 -1
  242. package/esm/typings/params.d.ts +5 -0
  243. package/esm/typings/params.js.map +1 -1
  244. package/esm/typings/spec/common.d.ts +8 -2
  245. package/esm/typings/spec/common.js.map +1 -1
  246. package/esm/typings/visual.d.ts +1 -1
  247. package/esm/typings/visual.js.map +1 -1
  248. package/esm/util/debug.d.ts +2 -2
  249. package/esm/util/debug.js +4 -3
  250. package/esm/util/debug.js.map +1 -1
  251. package/esm/util/image.d.ts +2 -1
  252. package/esm/util/image.js +6 -3
  253. package/esm/util/image.js.map +1 -1
  254. package/esm/util/math.js +4 -2
  255. package/esm/util/math.js.map +1 -1
  256. package/esm/util/spec.d.ts +4 -0
  257. package/esm/util/spec.js +21 -0
  258. package/esm/util/spec.js.map +1 -1
  259. package/package.json +7 -17
  260. package/chart.d.ts +0 -1
  261. package/chart.js +0 -1
  262. package/component.d.ts +0 -1
  263. package/component.js +0 -1
  264. package/core.d.ts +0 -1
  265. package/core.js +0 -1
  266. package/layout.d.ts +0 -1
  267. package/layout.js +0 -1
  268. package/mark.d.ts +0 -1
  269. package/mark.js +0 -1
  270. package/series.d.ts +0 -1
  271. package/series.js +0 -1
@@ -13,11 +13,13 @@ class AreaChart extends cartesian_1.CartesianChart {
13
13
  super(...arguments), this.type = interface_2.ChartTypeEnum.area, this.seriesType = interface_1.SeriesTypeEnum.area;
14
14
  }
15
15
  _getDefaultSeriesSpec(spec) {
16
+ var _a;
16
17
  return Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), {
17
18
  invalidType: spec.invalidType || "break",
18
19
  point: spec.point,
19
20
  line: spec.line,
20
- area: spec.area
21
+ area: spec.area,
22
+ seriesMark: null !== (_a = spec.seriesMark) && void 0 !== _a ? _a : "area"
21
23
  });
22
24
  }
23
25
  transformSpec(spec) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/area/area.ts"],"names":[],"mappings":";;;AAAA,sDAAwD;AACxD,sDAAwD;AACxD,4CAA6C;AAE7C,kCAA+D;AAC/D,8CAA2C;AAC3C,yCAA0C;AAC1C,eAAM,CAAC,SAAS,CAAC,CAAC,mBAAU,CAAC,CAAC,CAAC;AAE/B,MAAa,SAAU,SAAQ,0BAAc;IAA7C;;QAGW,SAAI,GAAW,yBAAa,CAAC,IAAI,CAAC;QAClC,eAAU,GAAW,0BAAc,CAAC,IAAI,CAAC;IAgBpD,CAAC;IAdW,qBAAqB,CAAC,IAAoB;QAClD,uCACK,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KACpC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,OAAO,EACxC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,IACf;IACJ,CAAC;IAED,aAAa,CAAC,IAAS;QACrB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAA,2CAAoC,EAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;;AAnBH,8BAoBC;AAnBiB,cAAI,GAAW,yBAAa,CAAC,IAAI,CAAC;AAClC,cAAI,GAAW,eAAe,CAAC","file":"area.js","sourcesContent":["import { SeriesTypeEnum } from '../../series/interface';\nimport { CartesianChart } from '../cartesian/cartesian';\nimport { ChartTypeEnum } from '../interface';\nimport type { IAreaChartSpec } from './interface';\nimport { setDefaultCrosshairForCartesianChart } from '../util';\nimport { VChart } from '../../core/vchart';\nimport { AreaSeries } from '../../series';\nVChart.useSeries([AreaSeries]);\n\nexport class AreaChart extends CartesianChart {\n static readonly type: string = ChartTypeEnum.area;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.area;\n readonly seriesType: string = SeriesTypeEnum.area;\n\n protected _getDefaultSeriesSpec(spec: IAreaChartSpec): any {\n return {\n ...super._getDefaultSeriesSpec(spec),\n invalidType: spec.invalidType || 'break',\n point: spec.point,\n line: spec.line,\n area: spec.area\n };\n }\n\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n setDefaultCrosshairForCartesianChart(spec);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/chart/area/area.ts"],"names":[],"mappings":";;;AAAA,sDAAwD;AACxD,sDAAwD;AACxD,4CAA6C;AAE7C,kCAA+D;AAC/D,8CAA2C;AAC3C,yCAA0C;AAC1C,eAAM,CAAC,SAAS,CAAC,CAAC,mBAAU,CAAC,CAAC,CAAC;AAE/B,MAAa,SAAU,SAAQ,0BAAc;IAA7C;;QAGW,SAAI,GAAW,yBAAa,CAAC,IAAI,CAAC;QAClC,eAAU,GAAW,0BAAc,CAAC,IAAI,CAAC;IAiBpD,CAAC;IAfW,qBAAqB,CAAC,IAAoB;;QAClD,uCACK,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KACpC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,OAAO,EACxC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,mCAAI,MAAM,IACrC;IACJ,CAAC;IAED,aAAa,CAAC,IAAS;QACrB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAA,2CAAoC,EAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;;AApBH,8BAqBC;AApBiB,cAAI,GAAW,yBAAa,CAAC,IAAI,CAAC;AAClC,cAAI,GAAW,eAAe,CAAC","file":"area.js","sourcesContent":["import { SeriesTypeEnum } from '../../series/interface';\nimport { CartesianChart } from '../cartesian/cartesian';\nimport { ChartTypeEnum } from '../interface';\nimport type { IAreaChartSpec } from './interface';\nimport { setDefaultCrosshairForCartesianChart } from '../util';\nimport { VChart } from '../../core/vchart';\nimport { AreaSeries } from '../../series';\nVChart.useSeries([AreaSeries]);\n\nexport class AreaChart extends CartesianChart {\n static readonly type: string = ChartTypeEnum.area;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.area;\n readonly seriesType: string = SeriesTypeEnum.area;\n\n protected _getDefaultSeriesSpec(spec: IAreaChartSpec): any {\n return {\n ...super._getDefaultSeriesSpec(spec),\n invalidType: spec.invalidType || 'break',\n point: spec.point,\n line: spec.line,\n area: spec.area,\n seriesMark: spec.seriesMark ?? 'area'\n };\n }\n\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n setDefaultCrosshairForCartesianChart(spec);\n }\n}\n"]}
@@ -1,11 +1,11 @@
1
- import type { ISeriesSpec, Datum, IMarkStateSpec, IRegionQuerier, MaybeArray, IPadding, IRect, StringOrNumber } from '../typings';
1
+ import type { ISeriesSpec, Datum, IMarkStateSpec, IRegionQuerier, MaybeArray, IPadding, IRect, StringOrNumber, IChartSpec } from '../typings';
2
2
  import type { LayoutCallBack } from '../layout/interface';
3
3
  import type { ILayoutModelState, ILayoutOrientPadding, ILayoutRect, IModel, IModelOption, IUpdateSpecResult } from '../model/interface';
4
4
  import type { IChart, IChartLayoutOption, IChartRenderOption, IChartOption, IChartEvaluateOption, ILayoutParams, DimensionIndexOption } from './interface';
5
5
  import type { ISeries } from '../series/interface';
6
6
  import type { IRegion } from '../region/interface';
7
7
  import type { IComponent } from '../component/interface';
8
- import type { IMark } from '../mark/interface';
8
+ import { type IMark } from '../mark/interface';
9
9
  import type { IEvent } from '../event/interface';
10
10
  import type { DataView } from '@visactor/vdataset';
11
11
  import type { DataSet } from '@visactor/vdataset/es/data-set';
@@ -16,12 +16,14 @@ import type { IBoundsLike } from '@visactor/vutils';
16
16
  import type { IMorphConfig, IMark as IVGrammarMark, IView } from '@visactor/vgrammar';
17
17
  import { CompilableBase } from '../compile/compilable-base';
18
18
  import type { IGlobalScale } from '../scale/interface';
19
+ import type { IRectMark } from '../mark/rect';
19
20
  export declare class BaseChart extends CompilableBase implements IChart {
20
21
  readonly type: string;
21
22
  readonly id: number;
22
23
  protected _spec: any;
23
24
  getSpec(): any;
24
25
  setSpec(s: any): void;
26
+ getOption(): IChartOption;
25
27
  protected _theme: ITheme;
26
28
  protected _regions: IRegion[];
27
29
  protected _series: ISeries[];
@@ -47,12 +49,14 @@ export declare class BaseChart extends CompilableBase implements IChart {
47
49
  padding: IPadding;
48
50
  protected _paddingSpec: ILayoutOrientPadding;
49
51
  protected _canvasRect: ILayoutRect;
52
+ protected _backgroundMark: IRectMark;
50
53
  constructor(spec: any, option: IChartOption);
51
54
  created(): void;
52
55
  transformSpec(spec: any): void;
53
56
  init(options?: any): void;
54
57
  onResize(width: number, height: number): void;
55
58
  updateViewBox(viewBox: IBoundsLike): void;
59
+ createBackground(bg: IChartSpec['background']): void;
56
60
  createRegion(regionSpec: any[]): void;
57
61
  initRegion(): void;
58
62
  createSeries(seriesSpec: ISeriesSpec[]): void;
@@ -124,6 +128,7 @@ export declare class BaseChart extends CompilableBase implements IChart {
124
128
  compile(): void;
125
129
  afterCompile(): void;
126
130
  compileLayout(): void;
131
+ compileBackground(): void;
127
132
  compileRegions(): void;
128
133
  compileSeries(): void;
129
134
  compileComponents(): 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"), 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_2 = require("../compile/mark/interface"), constant_1 = require("../constant"), dimension_1 = require("../event/events/dimension");
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");
34
34
 
35
35
  class BaseChart extends compilable_base_1.CompilableBase {
36
36
  getSpec() {
@@ -39,6 +39,9 @@ class BaseChart extends compilable_base_1.CompilableBase {
39
39
  setSpec(s) {
40
40
  this.transformSpec(s), this._spec = s;
41
41
  }
42
+ getOption() {
43
+ return this._option;
44
+ }
42
45
  getLayoutRect() {
43
46
  return this._layoutRect;
44
47
  }
@@ -109,12 +112,14 @@ class BaseChart extends compilable_base_1.CompilableBase {
109
112
  getChartLayoutRect: () => this._layoutRect,
110
113
  getChartViewRect: () => this._viewRect,
111
114
  getChart: () => this,
112
- globalScale: this._globalScale
115
+ globalScale: this._globalScale,
116
+ onError: this._option.onError
113
117
  }), this._stack = new stack_1.Stack(this), this._spec = spec;
114
118
  }
115
119
  created() {
116
- this.transformSpec(this._spec), this.createGlobalScale(), this.createLayout(), this.createRegion(this._spec.region),
117
- this.createSeries(this._spec.series), this.createComponent(this._spec);
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);
118
123
  }
119
124
  transformSpec(spec) {
120
125
  spec.region && 0 !== spec.region.length || (spec.region = [ {} ]), (0, vutils_1.has)(spec, "tooltip") || (spec.tooltip = {});
@@ -136,6 +141,20 @@ class BaseChart extends compilable_base_1.CompilableBase {
136
141
  updateViewBox(viewBox) {
137
142
  this._updateLayoutRect(viewBox), this.setLayoutTag(!0);
138
143
  }
144
+ createBackground(bg) {
145
+ bg && "object" == typeof bg && (this._backgroundMark = factory_1.Factory.createMark(interface_2.MarkTypeEnum.group, "chart-background", {
146
+ model: this,
147
+ map: this._option.map,
148
+ getCompiler: this.getCompiler,
149
+ globalScale: this._globalScale
150
+ }), this._backgroundMark.created(), this._backgroundMark.setStyle((0, util_1.convertBackgroundSpec)(bg)),
151
+ this._backgroundMark.setStyle({
152
+ x: () => this._viewBox.x1,
153
+ y: () => this._viewBox.y1,
154
+ width: () => this._viewBox.x2 - this._viewBox.x1,
155
+ height: () => this._viewBox.y2 - this._viewBox.y1
156
+ }));
157
+ }
139
158
  createRegion(regionSpec) {
140
159
  regionSpec && regionSpec.forEach(((s, i) => {
141
160
  const region = factory_1.Factory.createRegion("region", s, Object.assign(Object.assign({}, this._modelOption), {
@@ -151,8 +170,10 @@ class BaseChart extends compilable_base_1.CompilableBase {
151
170
  createSeries(seriesSpec) {
152
171
  seriesSpec.forEach(((spec, index) => {
153
172
  let region;
154
- if (spec.data ? spec.data = (0, initialize_1.dataToDataView)(spec.data, this._dataSet, this._spec.data) : spec.data = this.getSeriesData(spec.dataId, spec.dataIndex),
155
- !1 === this._option.animation && (spec.animation = !1), (0, util_1.isValid)(spec.regionId) ? region = this.getRegionsInUserId(spec.regionId) : (0,
173
+ if (spec.data ? spec.data = (0, initialize_1.dataToDataView)(spec.data, this._dataSet, this._spec.data, {
174
+ onError: this._option.onError
175
+ }) : spec.data = this.getSeriesData(spec.dataId, spec.dataIndex), !1 === this._option.animation && (spec.animation = !1),
176
+ (0, util_1.isValid)(spec.regionId) ? region = this.getRegionsInUserId(spec.regionId) : (0,
156
177
  util_1.isValid)(spec.regionIndex) && (region = this.getRegionsInIndex([ spec.regionIndex ])[0]),
157
178
  region || (region = this._regions[0]), !region) return;
158
179
  const series = factory_1.Factory.createSeries(spec.type, spec, Object.assign(Object.assign({}, this._modelOption), {
@@ -227,7 +248,9 @@ class BaseChart extends compilable_base_1.CompilableBase {
227
248
  if (this._layoutFunc = this._option.layout, !this._layoutFunc) {
228
249
  let use3dLayout = !1;
229
250
  (this._spec.zField || this._spec.series && this._spec.series.some((s => s.zField))) && (use3dLayout = !0);
230
- const layout = new (factory_1.Factory.getLayout(null !== (_b = null === (_a = this._spec.layout) || void 0 === _a ? void 0 : _a.type) && void 0 !== _b ? _b : use3dLayout ? "layout3d" : "base"))(this._spec.layout);
251
+ const layout = new (factory_1.Factory.getLayout(null !== (_b = null === (_a = this._spec.layout) || void 0 === _a ? void 0 : _a.type) && void 0 !== _b ? _b : use3dLayout ? "layout3d" : "base"))(this._spec.layout, {
252
+ onError: this._option.onError
253
+ });
231
254
  this._layoutFunc = layout.layoutItems.bind(layout);
232
255
  }
233
256
  }
@@ -314,17 +337,14 @@ class BaseChart extends compilable_base_1.CompilableBase {
314
337
  return this._canvasRect;
315
338
  }
316
339
  getSeriesData(id, index) {
317
- if (!this._spec.data) throw new Error("no data in spec!");
340
+ if (!this._spec.data) return this._option.onError("no data in spec!"), null;
318
341
  if ("string" == typeof id) {
319
342
  const metchData = this._spec.data.filter((data => data.name === id));
320
- if (metchData[0]) return metchData[0];
321
- throw new Error(`no data matches dataId ${id}!`);
322
- }
323
- if ("number" == typeof index) {
324
- if (this._spec.data[index]) return this._spec.data[index];
325
- throw new Error(`no data matches dataIndex ${index}!`);
343
+ return metchData[0] ? metchData[0] : (this._option.onError(`no data matches dataId ${id}!`),
344
+ null);
326
345
  }
327
- return this._spec.data[0];
346
+ return "number" == typeof index ? this._spec.data[index] ? this._spec.data[index] : (this._option.onError(`no data matches dataIndex ${index}!`),
347
+ null) : this._spec.data[0];
328
348
  }
329
349
  _transformSpecScale() {
330
350
  var _a, _b, _c;
@@ -454,7 +474,8 @@ class BaseChart extends compilable_base_1.CompilableBase {
454
474
  large: spec.large,
455
475
  largeThreshold: spec.largeThreshold,
456
476
  progressiveStep: spec.progressiveStep,
457
- progressiveThreshold: spec.progressiveThreshold
477
+ progressiveThreshold: spec.progressiveThreshold,
478
+ background: spec.seriesBackground
458
479
  };
459
480
  }
460
481
  _mergeUpdateResult(resultA, resultB) {
@@ -505,7 +526,8 @@ class BaseChart extends compilable_base_1.CompilableBase {
505
526
  }))));
506
527
  }
507
528
  compile() {
508
- this.compileLayout(), this.compileRegions(), this.compileSeries(), this.compileComponents();
529
+ this.compileBackground(), this.compileLayout(), this.compileRegions(), this.compileSeries(),
530
+ this.compileComponents();
509
531
  }
510
532
  afterCompile() {
511
533
  this.getAllRegions().forEach((r => {
@@ -523,6 +545,14 @@ class BaseChart extends compilable_base_1.CompilableBase {
523
545
  const {width: width, height: height} = this.getCanvasRect();
524
546
  this.getCompiler().setSize(width, height);
525
547
  }
548
+ compileBackground() {
549
+ var _a;
550
+ this._backgroundMark && (this._backgroundMark.compile(), null === (_a = this._backgroundMark.getProduct()) || void 0 === _a || _a.configure({
551
+ context: {
552
+ model: this
553
+ }
554
+ }).layout((() => {})));
555
+ }
526
556
  compileRegions() {
527
557
  var _a, _b, _c, _d;
528
558
  null === (_b = null === (_a = this._option.performanceHook) || void 0 === _a ? void 0 : _a.beforeRegionCompile) || void 0 === _b || _b.call(_a),
@@ -559,10 +589,8 @@ class BaseChart extends compilable_base_1.CompilableBase {
559
589
  }
560
590
  checkUpdate(mark, model, sceneRoot) {
561
591
  var _a, _b;
562
- if ((null === (_a = mark.context) || void 0 === _a ? void 0 : _a.model) && (sceneRoot = mark,
563
- model = mark.context.model), model && mark.isUpdated) return null === (_b = model.bindSceneNode) || void 0 === _b || _b.call(model, sceneRoot.elements[0]),
564
- void model.setAttributeTag(!0);
565
- "group" === mark.markType && mark.children.forEach((child => {
592
+ (null === (_a = mark.context) || void 0 === _a ? void 0 : _a.model) && (sceneRoot = mark,
593
+ model = mark.context.model), model && mark.isUpdated ? null === (_b = model.bindSceneNode) || void 0 === _b || _b.call(model, sceneRoot.elements[0]) : "group" === mark.markType && mark.children.forEach((child => {
566
594
  this.checkUpdate(child, model, sceneRoot);
567
595
  }));
568
596
  }
@@ -586,10 +614,10 @@ class BaseChart extends compilable_base_1.CompilableBase {
586
614
  }
587
615
  }
588
616
  setSelected(datum, filter, region) {
589
- this._setStateInDatum(interface_2.STATE_VALUE_ENUM.STATE_SELECTED, !0, datum, filter, region);
617
+ this._setStateInDatum(interface_3.STATE_VALUE_ENUM.STATE_SELECTED, !0, datum, filter, region);
590
618
  }
591
619
  setHovered(datum, filter, region) {
592
- this._setStateInDatum(interface_2.STATE_VALUE_ENUM.STATE_HOVER, !0, datum, filter, region);
620
+ this._setStateInDatum(interface_3.STATE_VALUE_ENUM.STATE_HOVER, !0, datum, filter, region);
593
621
  }
594
622
  initEvent() {
595
623
  [ constant_1.ChartEvent.dataZoomChange, constant_1.ChartEvent.scrollBarChange ].forEach((event => {