@visactor/vchart 1.5.2 → 1.5.3

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 (297) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +655 -504
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/base-chart.d.ts +4 -6
  6. package/cjs/chart/base-chart.js +44 -45
  7. package/cjs/chart/base-chart.js.map +1 -1
  8. package/cjs/chart/gauge/gauge.js +3 -2
  9. package/cjs/chart/gauge/gauge.js.map +1 -1
  10. package/cjs/chart/interface/chart.d.ts +3 -3
  11. package/cjs/chart/interface/chart.js.map +1 -1
  12. package/cjs/chart/sequence/sequence.js +0 -1
  13. package/cjs/chart/sequence/sequence.js.map +1 -1
  14. package/cjs/chart/stack.js +1 -2
  15. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  16. package/cjs/component/axis/polar/interface/common.d.ts +1 -0
  17. package/cjs/component/axis/polar/interface/common.js.map +1 -1
  18. package/cjs/component/axis/util.d.ts +3 -3
  19. package/cjs/component/axis/util.js +14 -10
  20. package/cjs/component/axis/util.js.map +1 -1
  21. package/cjs/component/base/base-component.d.ts +1 -2
  22. package/cjs/component/base/base-component.js +2 -39
  23. package/cjs/component/base/base-component.js.map +1 -1
  24. package/cjs/component/base/util.d.ts +2 -3
  25. package/cjs/component/base/util.js +16 -19
  26. package/cjs/component/base/util.js.map +1 -1
  27. package/cjs/component/brush/brush.js +1 -1
  28. package/cjs/component/brush/brush.js.map +1 -1
  29. package/cjs/component/common/trigger/config.d.ts +19 -49
  30. package/cjs/component/common/trigger/config.js +9 -37
  31. package/cjs/component/common/trigger/config.js.map +1 -1
  32. package/cjs/component/crosshair/base.js +14 -11
  33. package/cjs/component/crosshair/base.js.map +1 -1
  34. package/cjs/component/crosshair/config.d.ts +11 -31
  35. package/cjs/component/crosshair/config.js +9 -26
  36. package/cjs/component/crosshair/config.js.map +1 -1
  37. package/cjs/component/crosshair/util.d.ts +3 -3
  38. package/cjs/component/crosshair/util.js +7 -5
  39. package/cjs/component/crosshair/util.js.map +1 -1
  40. package/cjs/component/index.js +2 -1
  41. package/cjs/component/tooltip/handler/base.js +6 -6
  42. package/cjs/component/tooltip/handler/base.js.map +1 -1
  43. package/cjs/component/tooltip/handler/utils/attribute.d.ts +3 -3
  44. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  45. package/cjs/component/util.d.ts +4 -0
  46. package/cjs/component/util.js +14 -0
  47. package/cjs/component/util.js.map +1 -0
  48. package/cjs/constant/waterfall.js +1 -2
  49. package/cjs/constant/word-cloud.js +2 -1
  50. package/cjs/core/index.d.ts +1 -1
  51. package/cjs/core/index.js +1 -1
  52. package/cjs/core/index.js.map +1 -1
  53. package/cjs/core/interface.d.ts +7 -1
  54. package/cjs/core/interface.js.map +1 -1
  55. package/cjs/core/vchart.d.ts +3 -2
  56. package/cjs/core/vchart.js +52 -47
  57. package/cjs/core/vchart.js.map +1 -1
  58. package/cjs/data/transforms/sankey.d.ts +1 -0
  59. package/cjs/data/transforms/sankey.js +16 -3
  60. package/cjs/data/transforms/sankey.js.map +1 -1
  61. package/cjs/interaction/config.d.ts +17 -52
  62. package/cjs/interaction/config.js +9 -42
  63. package/cjs/interaction/config.js.map +1 -1
  64. package/cjs/interaction/dimension-trigger.js +2 -1
  65. package/cjs/interaction/drill/drillable.js +1 -1
  66. package/cjs/interaction/drill/drillable.js.map +1 -1
  67. package/cjs/interaction/trigger.js +1 -1
  68. package/cjs/interaction/trigger.js.map +1 -1
  69. package/cjs/interaction/zoom/zoomable.js +8 -8
  70. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  71. package/cjs/layout/base-layout.js +1 -1
  72. package/cjs/layout/index.js +1 -1
  73. package/cjs/layout/interface.js +1 -1
  74. package/cjs/mark/arc-3d.js +1 -1
  75. package/cjs/mark/arc.js +1 -1
  76. package/cjs/mark/area.js +1 -1
  77. package/cjs/mark/base/base-mark.js +4 -5
  78. package/cjs/mark/base/base-mark.js.map +1 -1
  79. package/cjs/mark/box-plot.js +1 -1
  80. package/cjs/model/base-model.d.ts +4 -2
  81. package/cjs/model/base-model.js +51 -11
  82. package/cjs/model/base-model.js.map +1 -1
  83. package/cjs/model/interface.d.ts +10 -3
  84. package/cjs/model/interface.js.map +1 -1
  85. package/cjs/series/area/area.d.ts +1 -1
  86. package/cjs/series/area/area.js +1 -1
  87. package/cjs/series/area/area.js.map +1 -1
  88. package/cjs/series/bar/bar.d.ts +1 -1
  89. package/cjs/series/bar/bar.js +1 -1
  90. package/cjs/series/bar/bar.js.map +1 -1
  91. package/cjs/series/base/base-series.d.ts +4 -3
  92. package/cjs/series/base/base-series.js +12 -46
  93. package/cjs/series/base/base-series.js.map +1 -1
  94. package/cjs/series/cartesian/cartesian.d.ts +3 -0
  95. package/cjs/series/cartesian/cartesian.js +5 -2
  96. package/cjs/series/cartesian/cartesian.js.map +1 -1
  97. package/cjs/series/dot/dot.js +3 -4
  98. package/cjs/series/dot/dot.js.map +1 -1
  99. package/cjs/series/gauge/gauge-pointer.d.ts +1 -0
  100. package/cjs/series/gauge/gauge-pointer.js +1 -1
  101. package/cjs/series/gauge/gauge-pointer.js.map +1 -1
  102. package/cjs/series/heatmap/heatmap.js +1 -1
  103. package/cjs/series/heatmap/heatmap.js.map +1 -1
  104. package/cjs/series/interface/theme.d.ts +2 -0
  105. package/cjs/series/interface/theme.js +3 -2
  106. package/cjs/series/interface/theme.js.map +1 -1
  107. package/cjs/series/link/link.js +1 -1
  108. package/cjs/series/link/link.js.map +1 -1
  109. package/cjs/series/map/map.js +1 -1
  110. package/cjs/series/map/map.js.map +1 -1
  111. package/cjs/series/polar/polar.d.ts +1 -0
  112. package/cjs/series/polar/polar.js +3 -1
  113. package/cjs/series/polar/polar.js.map +1 -1
  114. package/cjs/series/polar/progress-like/progress-like.d.ts +1 -1
  115. package/cjs/series/polar/progress-like/progress-like.js +2 -3
  116. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  117. package/cjs/series/progress/circular/circular.js +4 -4
  118. package/cjs/series/progress/circular/circular.js.map +1 -1
  119. package/cjs/series/range-area/interface.d.ts +2 -1
  120. package/cjs/series/range-area/interface.js.map +1 -1
  121. package/cjs/series/rose/rose.d.ts +1 -1
  122. package/cjs/series/rose/rose.js +2 -2
  123. package/cjs/series/rose/rose.js.map +1 -1
  124. package/cjs/series/sankey/sankey.js +20 -17
  125. package/cjs/series/sankey/sankey.js.map +1 -1
  126. package/cjs/series/scatter/scatter.d.ts +1 -2
  127. package/cjs/series/scatter/scatter.js +1 -3
  128. package/cjs/series/scatter/scatter.js.map +1 -1
  129. package/cjs/series/waterfall/waterfall.d.ts +1 -1
  130. package/cjs/series/waterfall/waterfall.js +3 -3
  131. package/cjs/series/waterfall/waterfall.js.map +1 -1
  132. package/cjs/series/word-cloud/base.js +34 -35
  133. package/cjs/series/word-cloud/base.js.map +1 -1
  134. package/cjs/series/word-cloud/word-cloud-3d.js +32 -32
  135. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  136. package/cjs/theme/builtin/index.d.ts +4 -1
  137. package/cjs/theme/builtin/index.js +13 -8
  138. package/cjs/theme/builtin/index.js.map +1 -1
  139. package/cjs/theme/color-scheme/util.js +2 -1
  140. package/cjs/theme/color-scheme/util.js.map +1 -1
  141. package/cjs/theme/theme-manager.js +4 -3
  142. package/cjs/theme/theme-manager.js.map +1 -1
  143. package/cjs/theme/util.d.ts +5 -0
  144. package/cjs/theme/util.js +34 -0
  145. package/cjs/theme/util.js.map +1 -0
  146. package/cjs/util/spec/merge-theme.d.ts +4 -1
  147. package/cjs/util/spec/merge-theme.js +22 -13
  148. package/cjs/util/spec/merge-theme.js.map +1 -1
  149. package/cjs/util/spec/preprocess.js +1 -0
  150. package/cjs/util/spec/preprocess.js.map +1 -1
  151. package/esm/chart/base-chart.d.ts +4 -6
  152. package/esm/chart/base-chart.js +42 -42
  153. package/esm/chart/base-chart.js.map +1 -1
  154. package/esm/chart/gauge/gauge.js +3 -2
  155. package/esm/chart/gauge/gauge.js.map +1 -1
  156. package/esm/chart/interface/chart.d.ts +3 -3
  157. package/esm/chart/interface/chart.js.map +1 -1
  158. package/esm/chart/sequence/sequence.js +0 -1
  159. package/esm/chart/sequence/sequence.js.map +1 -1
  160. package/esm/chart/stack.js +1 -2
  161. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  162. package/esm/component/axis/polar/interface/common.d.ts +1 -0
  163. package/esm/component/axis/polar/interface/common.js.map +1 -1
  164. package/esm/component/axis/util.d.ts +3 -3
  165. package/esm/component/axis/util.js +10 -8
  166. package/esm/component/axis/util.js.map +1 -1
  167. package/esm/component/base/base-component.d.ts +1 -2
  168. package/esm/component/base/base-component.js +3 -40
  169. package/esm/component/base/base-component.js.map +1 -1
  170. package/esm/component/base/util.d.ts +2 -3
  171. package/esm/component/base/util.js +19 -16
  172. package/esm/component/base/util.js.map +1 -1
  173. package/esm/component/brush/brush.js +1 -1
  174. package/esm/component/brush/brush.js.map +1 -1
  175. package/esm/component/common/trigger/config.d.ts +19 -49
  176. package/esm/component/common/trigger/config.js +7 -35
  177. package/esm/component/common/trigger/config.js.map +1 -1
  178. package/esm/component/crosshair/base.js +14 -12
  179. package/esm/component/crosshair/base.js.map +1 -1
  180. package/esm/component/crosshair/config.d.ts +11 -31
  181. package/esm/component/crosshair/config.js +8 -25
  182. package/esm/component/crosshair/config.js.map +1 -1
  183. package/esm/component/crosshair/util.d.ts +3 -3
  184. package/esm/component/crosshair/util.js +8 -4
  185. package/esm/component/crosshair/util.js.map +1 -1
  186. package/esm/component/index.js +2 -1
  187. package/esm/component/tooltip/handler/base.js +7 -5
  188. package/esm/component/tooltip/handler/base.js.map +1 -1
  189. package/esm/component/tooltip/handler/utils/attribute.d.ts +3 -3
  190. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  191. package/esm/component/util.d.ts +4 -0
  192. package/esm/component/util.js +6 -0
  193. package/esm/component/util.js.map +1 -0
  194. package/esm/constant/waterfall.js +1 -2
  195. package/esm/constant/word-cloud.js +2 -1
  196. package/esm/core/index.d.ts +1 -1
  197. package/esm/core/index.js +1 -1
  198. package/esm/core/index.js.map +1 -1
  199. package/esm/core/interface.d.ts +7 -1
  200. package/esm/core/interface.js.map +1 -1
  201. package/esm/core/vchart.d.ts +3 -2
  202. package/esm/core/vchart.js +53 -42
  203. package/esm/core/vchart.js.map +1 -1
  204. package/esm/data/transforms/sankey.d.ts +1 -0
  205. package/esm/data/transforms/sankey.js +17 -4
  206. package/esm/data/transforms/sankey.js.map +1 -1
  207. package/esm/interaction/config.d.ts +17 -52
  208. package/esm/interaction/config.js +7 -40
  209. package/esm/interaction/config.js.map +1 -1
  210. package/esm/interaction/dimension-trigger.js +2 -1
  211. package/esm/interaction/drill/drillable.js +2 -2
  212. package/esm/interaction/drill/drillable.js.map +1 -1
  213. package/esm/interaction/trigger.js +2 -2
  214. package/esm/interaction/trigger.js.map +1 -1
  215. package/esm/interaction/zoom/zoomable.js +9 -9
  216. package/esm/interaction/zoom/zoomable.js.map +1 -1
  217. package/esm/layout/base-layout.js +1 -1
  218. package/esm/layout/index.js +1 -1
  219. package/esm/layout/interface.js +1 -1
  220. package/esm/mark/arc-3d.js +1 -1
  221. package/esm/mark/arc.js +1 -1
  222. package/esm/mark/area.js +1 -1
  223. package/esm/mark/base/base-mark.js +4 -5
  224. package/esm/mark/base/base-mark.js.map +1 -1
  225. package/esm/mark/box-plot.js +1 -1
  226. package/esm/model/base-model.d.ts +4 -2
  227. package/esm/model/base-model.js +53 -10
  228. package/esm/model/base-model.js.map +1 -1
  229. package/esm/model/interface.d.ts +10 -3
  230. package/esm/model/interface.js.map +1 -1
  231. package/esm/series/area/area.d.ts +1 -1
  232. package/esm/series/area/area.js +1 -1
  233. package/esm/series/area/area.js.map +1 -1
  234. package/esm/series/bar/bar.d.ts +1 -1
  235. package/esm/series/bar/bar.js +1 -1
  236. package/esm/series/bar/bar.js.map +1 -1
  237. package/esm/series/base/base-series.d.ts +4 -3
  238. package/esm/series/base/base-series.js +14 -46
  239. package/esm/series/base/base-series.js.map +1 -1
  240. package/esm/series/cartesian/cartesian.d.ts +3 -0
  241. package/esm/series/cartesian/cartesian.js +4 -3
  242. package/esm/series/cartesian/cartesian.js.map +1 -1
  243. package/esm/series/dot/dot.js +2 -4
  244. package/esm/series/dot/dot.js.map +1 -1
  245. package/esm/series/gauge/gauge-pointer.d.ts +1 -0
  246. package/esm/series/gauge/gauge-pointer.js +1 -1
  247. package/esm/series/gauge/gauge-pointer.js.map +1 -1
  248. package/esm/series/heatmap/heatmap.js +1 -1
  249. package/esm/series/heatmap/heatmap.js.map +1 -1
  250. package/esm/series/interface/theme.d.ts +2 -0
  251. package/esm/series/interface/theme.js +4 -1
  252. package/esm/series/interface/theme.js.map +1 -1
  253. package/esm/series/link/link.js +1 -1
  254. package/esm/series/link/link.js.map +1 -1
  255. package/esm/series/map/map.js +1 -1
  256. package/esm/series/map/map.js.map +1 -1
  257. package/esm/series/polar/polar.d.ts +1 -0
  258. package/esm/series/polar/polar.js +3 -2
  259. package/esm/series/polar/polar.js.map +1 -1
  260. package/esm/series/polar/progress-like/progress-like.d.ts +1 -1
  261. package/esm/series/polar/progress-like/progress-like.js +2 -3
  262. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  263. package/esm/series/progress/circular/circular.js +4 -4
  264. package/esm/series/progress/circular/circular.js.map +1 -1
  265. package/esm/series/range-area/interface.d.ts +2 -1
  266. package/esm/series/range-area/interface.js.map +1 -1
  267. package/esm/series/rose/rose.d.ts +1 -1
  268. package/esm/series/rose/rose.js +1 -1
  269. package/esm/series/rose/rose.js.map +1 -1
  270. package/esm/series/sankey/sankey.js +12 -9
  271. package/esm/series/sankey/sankey.js.map +1 -1
  272. package/esm/series/scatter/scatter.d.ts +1 -2
  273. package/esm/series/scatter/scatter.js +2 -3
  274. package/esm/series/scatter/scatter.js.map +1 -1
  275. package/esm/series/waterfall/waterfall.d.ts +1 -1
  276. package/esm/series/waterfall/waterfall.js +3 -3
  277. package/esm/series/waterfall/waterfall.js.map +1 -1
  278. package/esm/series/word-cloud/base.js +33 -35
  279. package/esm/series/word-cloud/base.js.map +1 -1
  280. package/esm/series/word-cloud/word-cloud-3d.js +32 -32
  281. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  282. package/esm/theme/builtin/index.d.ts +4 -1
  283. package/esm/theme/builtin/index.js +15 -6
  284. package/esm/theme/builtin/index.js.map +1 -1
  285. package/esm/theme/color-scheme/util.js +1 -1
  286. package/esm/theme/color-scheme/util.js.map +1 -1
  287. package/esm/theme/theme-manager.js +5 -4
  288. package/esm/theme/theme-manager.js.map +1 -1
  289. package/esm/theme/util.d.ts +5 -0
  290. package/esm/theme/util.js +34 -0
  291. package/esm/theme/util.js.map +1 -0
  292. package/esm/util/spec/merge-theme.d.ts +4 -1
  293. package/esm/util/spec/merge-theme.js +18 -10
  294. package/esm/util/spec/merge-theme.js.map +1 -1
  295. package/esm/util/spec/preprocess.js +2 -1
  296. package/esm/util/spec/preprocess.js.map +1 -1
  297. package/package.json +17 -17
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/sequence/sequence.ts"],"names":[],"mappings":"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","file":"sequence.js","sourcesContent":["import { LinkSeries, registerLinkSeries } from '../../series/link/link';\nimport { DotSeries, registerDotSeries } from '../../series/dot/dot';\nimport type { IGridLayoutSpec } from '../../layout/interface';\nimport { BaseChart } from '../base-chart';\nimport type { ISequenceChartSpec, ISequenceSeriesSpec } from './interface';\nimport type { IRegion, IRegionSpec } from '../../region/interface';\nimport { Factory } from '../../core/factory';\nimport { SeriesTypeEnum } from '../../series/interface/type';\nimport { ChartTypeEnum } from '../interface';\nimport type { Datum } from '../../typings';\nimport { DataView } from '@visactor/vdataset';\nimport type { ISeriesOption } from '../../series/interface';\nimport type { ICartesianAxisSpec, IScrollBarSpec } from '../../component';\nimport { SCROLL_BAR_DEFAULT_SIZE } from '../../constant/scroll-bar';\nimport { array } from '@visactor/vutils';\nimport { normalizeLayoutPaddingSpec } from '../../util';\nimport { IFilterMode } from '../../component/data-zoom/constant';\n\nexport class SequenceChart extends BaseChart {\n static readonly type: string = ChartTypeEnum.sequence;\n static readonly view: string = 'singleDefault'; // csj-Q: view是什么含义\n readonly type: string = ChartTypeEnum.sequence;\n\n /**\n * @override\n * @description 主要是处理布局逻辑 & 部分仅针对sequenceChart的特殊属性\n */\n transformSpec(spec: ISequenceChartSpec): void {\n super.transformSpec(spec);\n\n // 初始化目标属性\n let rowNum = 0;\n const elements: any[] = [];\n const region: IRegionSpec[] = [];\n const axes: ICartesianAxisSpec[] = [];\n const scrollBar: IScrollBarSpec[] = [];\n const rowHeight: any = [];\n\n // 计算默认series padding和series高度\n const defaultSeriesPadding = 20;\n const seriesRegionNum = spec.series.filter(d => d.type !== SeriesTypeEnum.link).length;\n const defaultSeriesRowHeight =\n (this._layoutRect.height - defaultSeriesPadding * (seriesRegionNum - 1)) / seriesRegionNum;\n const leftAppendPadding = spec?.appendPadding?.left || 0;\n const rightAppendPadding = spec?.appendPadding?.right || 0;\n\n if (spec?.legends) {\n elements.push({\n modelId: `legendRow${rowNum}`,\n col: 1,\n row: rowNum\n });\n this.addAttrToComponentSpec(spec.legends, 'id', `legendRow${rowNum}`);\n // legend offset 和 padding 兼容处理\n const legendSpec = array(spec.legends);\n let legendHeight: any = legendSpec[0].height ?? 40;\n if (legendSpec[0].padding) {\n const legendPadding = normalizeLayoutPaddingSpec(legendSpec[0].padding);\n legendHeight += Number(legendPadding?.bottom ?? 0);\n legendHeight += Number(legendPadding?.top ?? 0);\n legendSpec[0].offsetY = Number(legendSpec[0]?.offsetY ?? 0) + Number(legendPadding?.top ?? 0);\n }\n rowHeight.push({\n index: rowNum,\n size: legendHeight\n });\n rowNum++;\n }\n\n if (spec?.dataZoom) {\n elements.push({\n modelId: `dataZoomRow${rowNum}`,\n col: 1,\n row: rowNum\n });\n this.addAttrToComponentSpec(spec.dataZoom, 'id', `dataZoomRow${rowNum}`);\n rowNum++;\n\n // 增加空行,拟合series padding效果\n rowHeight.push({\n index: rowNum,\n size: 10\n });\n rowNum++;\n }\n\n // 遍历axes\n // 1. 在elements中添加时间轴元素\n // 2. 并统计rowNum\n // 在sequenceChart中,axes有几种情况(本期先考虑1和2,也就是默认只有1个top轴):1.不声明axes 2.声明且为仅有一个top axes 3.声明且仅有一个bottom axes 4.多个axes组合\n // if(spec.axes === null || spec?.axes[0]?.orient === 'top') {\n // Tips: id should not has duplicate name\n region.push({\n id: `regionAxesRow${rowNum}`\n });\n elements.push({\n modelId: `axesRow${rowNum}`,\n col: 1,\n row: rowNum\n });\n spec.axes[0].id = `axesRow${rowNum}`;\n spec.axes[0].regionIndex = Array.from(Array(this._spec.series.length - 1), (_, index) => index + 1);\n rowNum++;\n // }\n\n // 遍历series\n // 1. 在spec.layout => elements、region数组和spec.axes的数组中中添加元素\n // 2. 为series绑定regionIndex\n // 3. 统计rowNum\n // 4. 用空行拟合series padding\n spec?.series?.forEach((seriesSpec: ISequenceSeriesSpec) => {\n if (\n ([SeriesTypeEnum.bar, SeriesTypeEnum.line, SeriesTypeEnum.area, SeriesTypeEnum.dot] as string[]).includes(\n seriesSpec.type\n )\n ) {\n // elements数组\n elements.push({\n modelId: `${seriesSpec.type}Row${rowNum}`,\n col: 1,\n row: rowNum\n });\n elements.push({\n modelId: `axesLeftRow${rowNum}`,\n col: 0,\n row: rowNum\n });\n\n // region数组\n region.push({\n id: `${seriesSpec.type}Row${rowNum}`,\n clip: false\n });\n\n rowHeight.push({\n index: rowNum,\n size: seriesSpec?.height || defaultSeriesRowHeight\n });\n\n // axes数组添加left axes(每个series都需要一个left axes)\n axes.push({\n orient: 'left',\n id: `axesLeftRow${rowNum}`,\n type: seriesSpec.type === SeriesTypeEnum.dot ? 'band' : 'linear',\n visible: seriesSpec.type !== SeriesTypeEnum.dot,\n\n // 对于bar series,axes title模拟bar title\n title: {\n visible: true,\n // 特殊处理时序图的 title 样式,默认的坐标轴左右轴会进行旋转\n autoRotate: false,\n style: {\n text: (seriesSpec as any)?.barTitle,\n dx: -20,\n textBaseline: 'middle',\n textAlign: 'end'\n }\n },\n // 对于bar series,axes grid模拟series分割线\n grid: {\n visible:\n typeof (seriesSpec as any)?.grid?.visible === 'boolean' ? (seriesSpec as any)?.grid?.visible : true, // bar grid默认绘制\n style: (datum: Datum, index: number) => {\n let lineWidth = 0;\n if (index === 0) {\n const style = (seriesSpec as any)?.grid?.style;\n\n // 兼容一下spec中通过strokeWidth申明的方式\n lineWidth = style?.lineWidth ?? style?.strokeWidth ?? 1;\n }\n return {\n lineWidth,\n stroke: (seriesSpec as any)?.grid?.style?.stroke || '#dfdfdf',\n lineDash: [0, 0]\n };\n }\n },\n // 其他轴元素隐藏\n domainLine: {\n visible: false\n },\n tick: {\n visible: false\n },\n label: {\n visible: false\n },\n\n // 绑定regionIndex\n regionIndex: region.length - 1\n });\n\n // scrollBar 内置\n if (seriesSpec.type === SeriesTypeEnum.dot) {\n elements.push({\n modelId: `scrollBarRightRow${rowNum}`,\n col: 2,\n row: rowNum\n });\n const dataLength = this._getSeriesDataLength(spec, seriesSpec);\n let ratio = 0;\n if (dataLength) {\n ratio = (seriesSpec?.height || defaultSeriesRowHeight) / (dataLength * 30);\n }\n // scrollBar数组增加一个right scrollBar\n scrollBar.push({\n orient: 'right',\n visible: seriesSpec.type === SeriesTypeEnum.dot && ratio < 1,\n id: `scrollBarRightRow${rowNum}`,\n start: 0,\n end: Math.min(ratio, 1),\n filterMode: IFilterMode.axis,\n regionIndex: region.length - 1,\n axisId: `axesLeftRow${rowNum}`,\n ...array(spec?.scrollBar)[0]\n });\n }\n\n // seriesSpec绑定regionIndex\n seriesSpec.regionIndex = region.length - 1;\n\n rowNum++;\n\n // 增加空行,拟合series padding效果\n rowHeight.push({\n index: rowNum,\n size: seriesSpec?.padding || defaultSeriesPadding\n });\n rowNum++;\n\n // chart的leftAppendPadding用于具体元素的dx偏移\n (seriesSpec as any).leftAppendPadding = leftAppendPadding;\n\n // title和subTitle自动定位到画布最左端\n if (seriesSpec.type === SeriesTypeEnum.dot) {\n (seriesSpec as any).title.style.dx = -leftAppendPadding;\n (seriesSpec as any).subTitle.style.dx = -leftAppendPadding;\n }\n }\n });\n\n // 对于link series,所有属性跟随它绑定的dot series\n spec?.series?.forEach((seriesSpec: ISequenceSeriesSpec) => {\n if (seriesSpec.type === SeriesTypeEnum.link) {\n const dotRowNum = seriesSpec.dotSeriesIndex + 1;\n elements.push({\n modelId: `${seriesSpec.type}Row${dotRowNum}`,\n col: 1,\n row: dotRowNum - 1\n });\n seriesSpec.regionIndex = spec.series[seriesSpec.dotSeriesIndex].regionIndex;\n (seriesSpec as any).leftAppendPadding = leftAppendPadding;\n (seriesSpec as any).height = (spec.series[seriesSpec.dotSeriesIndex] as any).height;\n (seriesSpec as any).clipHeight = (spec.series[seriesSpec.dotSeriesIndex] as any).clipHeight;\n }\n });\n\n // 添加legends和datazoom的regionIndex\n if (spec?.legends) {\n this.addAttrToComponentSpec(spec.legends, 'regionIndex', [region.length - 1]);\n }\n // if ((spec as any)?.dataZoom) {\n // (spec as any).dataZoom[0].regionIndex = Array.from({length: region.length - 1},(item, index)=> index+1);\n // }\n\n const layout: IGridLayoutSpec = {\n type: 'grid',\n col: 4,\n row: rowNum,\n colWidth: [\n {\n index: 0,\n size: leftAppendPadding\n },\n {\n index: 2,\n size: SCROLL_BAR_DEFAULT_SIZE\n },\n {\n index: 3,\n size: rightAppendPadding\n }\n ],\n rowHeight: rowHeight,\n elements: elements\n };\n\n spec.layout = layout;\n spec.region = region;\n spec.axes?.push(...axes);\n spec.scrollBar = scrollBar;\n }\n\n /**\n * @override\n * @description 主要是将link series关联的dot data放到link series中\n */\n createSeries(seriesSpec: ISequenceSeriesSpec[]) {\n seriesSpec.forEach((spec, index) => {\n // 自动填充数据\n if (!spec.data) {\n spec.data = this._chartData.getSeriesData(spec.dataId, spec.dataIndex);\n }\n\n if (spec.type === SeriesTypeEnum.link) {\n spec.dotSeriesSpec = this._spec.series[spec.dotSeriesIndex];\n }\n\n let region: IRegion | undefined;\n if (spec.regionId) {\n region = this.getRegionsInUserId(spec.regionId);\n }\n if (!region) {\n region = this.getRegionsInIndex(spec.regionIndex ? [spec.regionIndex] : undefined)[0];\n }\n if (!region) {\n return;\n }\n const series = Factory.createSeries(spec.type, spec, {\n ...this._modelOption,\n region,\n specIndex: index,\n specKey: 'series',\n getTheme: () => this._theme,\n globalScale: this._globalScale\n } as ISeriesOption);\n\n if (series) {\n series.created();\n this._series.push(series);\n region.addSeries(series);\n }\n });\n }\n\n addAttrToComponentSpec(componentSpec: any, attr: string, value: any) {\n if (Array.isArray(componentSpec)) {\n componentSpec[0][attr] = value;\n } else {\n componentSpec[attr] = value;\n }\n return componentSpec;\n }\n\n private _getSeriesDataLength(spec: any, seriesSpec: any) {\n if (seriesSpec.data) {\n const _d = array(seriesSpec.data)[0];\n if (_d instanceof DataView) {\n return _d.latestData?.length;\n }\n return _d.values?.length;\n }\n const dataTemp = array(spec.data).find((_d, index) => {\n if (seriesSpec.dataId) {\n if (_d instanceof DataView) {\n return _d.name === seriesSpec.dataId;\n }\n return _d.id === seriesSpec.dataId;\n }\n return seriesSpec.dataIndex === index;\n });\n if (!dataTemp) {\n return 0;\n }\n if (dataTemp instanceof DataView) {\n return dataTemp.latestData.length;\n }\n return dataTemp.values.length;\n }\n}\n\nexport const registerSequenceChart = () => {\n registerDotSeries();\n registerLinkSeries();\n Factory.registerChart(SequenceChart.type, SequenceChart);\n};\n"]}
1
+ {"version":3,"sources":["../src/chart/sequence/sequence.ts"],"names":[],"mappings":"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","file":"sequence.js","sourcesContent":["import { LinkSeries, registerLinkSeries } from '../../series/link/link';\nimport { DotSeries, registerDotSeries } from '../../series/dot/dot';\nimport type { IGridLayoutSpec } from '../../layout/interface';\nimport { BaseChart } from '../base-chart';\nimport type { ISequenceChartSpec, ISequenceSeriesSpec } from './interface';\nimport type { IRegion, IRegionSpec } from '../../region/interface';\nimport { Factory } from '../../core/factory';\nimport { SeriesTypeEnum } from '../../series/interface/type';\nimport { ChartTypeEnum } from '../interface';\nimport type { Datum } from '../../typings';\nimport { DataView } from '@visactor/vdataset';\nimport type { ISeriesOption } from '../../series/interface';\nimport type { ICartesianAxisSpec, IScrollBarSpec } from '../../component';\nimport { SCROLL_BAR_DEFAULT_SIZE } from '../../constant/scroll-bar';\nimport { array } from '@visactor/vutils';\nimport { normalizeLayoutPaddingSpec } from '../../util';\nimport { IFilterMode } from '../../component/data-zoom/constant';\n\nexport class SequenceChart extends BaseChart {\n static readonly type: string = ChartTypeEnum.sequence;\n static readonly view: string = 'singleDefault'; // csj-Q: view是什么含义\n readonly type: string = ChartTypeEnum.sequence;\n\n /**\n * @override\n * @description 主要是处理布局逻辑 & 部分仅针对sequenceChart的特殊属性\n */\n transformSpec(spec: ISequenceChartSpec): void {\n super.transformSpec(spec);\n\n // 初始化目标属性\n let rowNum = 0;\n const elements: any[] = [];\n const region: IRegionSpec[] = [];\n const axes: ICartesianAxisSpec[] = [];\n const scrollBar: IScrollBarSpec[] = [];\n const rowHeight: any = [];\n\n // 计算默认series padding和series高度\n const defaultSeriesPadding = 20;\n const seriesRegionNum = spec.series.filter(d => d.type !== SeriesTypeEnum.link).length;\n const defaultSeriesRowHeight =\n (this._layoutRect.height - defaultSeriesPadding * (seriesRegionNum - 1)) / seriesRegionNum;\n const leftAppendPadding = spec?.appendPadding?.left || 0;\n const rightAppendPadding = spec?.appendPadding?.right || 0;\n\n if (spec?.legends) {\n elements.push({\n modelId: `legendRow${rowNum}`,\n col: 1,\n row: rowNum\n });\n this.addAttrToComponentSpec(spec.legends, 'id', `legendRow${rowNum}`);\n // legend offset 和 padding 兼容处理\n const legendSpec = array(spec.legends);\n let legendHeight: any = legendSpec[0].height ?? 40;\n if (legendSpec[0].padding) {\n const legendPadding = normalizeLayoutPaddingSpec(legendSpec[0].padding);\n legendHeight += Number(legendPadding?.bottom ?? 0);\n legendHeight += Number(legendPadding?.top ?? 0);\n legendSpec[0].offsetY = Number(legendSpec[0]?.offsetY ?? 0) + Number(legendPadding?.top ?? 0);\n }\n rowHeight.push({\n index: rowNum,\n size: legendHeight\n });\n rowNum++;\n }\n\n if (spec?.dataZoom) {\n elements.push({\n modelId: `dataZoomRow${rowNum}`,\n col: 1,\n row: rowNum\n });\n this.addAttrToComponentSpec(spec.dataZoom, 'id', `dataZoomRow${rowNum}`);\n rowNum++;\n\n // 增加空行,拟合series padding效果\n rowHeight.push({\n index: rowNum,\n size: 10\n });\n rowNum++;\n }\n\n // 遍历axes\n // 1. 在elements中添加时间轴元素\n // 2. 并统计rowNum\n // 在sequenceChart中,axes有几种情况(本期先考虑1和2,也就是默认只有1个top轴):1.不声明axes 2.声明且为仅有一个top axes 3.声明且仅有一个bottom axes 4.多个axes组合\n // if(spec.axes === null || spec?.axes[0]?.orient === 'top') {\n // Tips: id should not has duplicate name\n region.push({\n id: `regionAxesRow${rowNum}`\n });\n elements.push({\n modelId: `axesRow${rowNum}`,\n col: 1,\n row: rowNum\n });\n spec.axes[0].id = `axesRow${rowNum}`;\n spec.axes[0].regionIndex = Array.from(Array(this._spec.series.length - 1), (_, index) => index + 1);\n rowNum++;\n // }\n\n // 遍历series\n // 1. 在spec.layout => elements、region数组和spec.axes的数组中中添加元素\n // 2. 为series绑定regionIndex\n // 3. 统计rowNum\n // 4. 用空行拟合series padding\n spec?.series?.forEach((seriesSpec: ISequenceSeriesSpec) => {\n if (\n ([SeriesTypeEnum.bar, SeriesTypeEnum.line, SeriesTypeEnum.area, SeriesTypeEnum.dot] as string[]).includes(\n seriesSpec.type\n )\n ) {\n // elements数组\n elements.push({\n modelId: `${seriesSpec.type}Row${rowNum}`,\n col: 1,\n row: rowNum\n });\n elements.push({\n modelId: `axesLeftRow${rowNum}`,\n col: 0,\n row: rowNum\n });\n\n // region数组\n region.push({\n id: `${seriesSpec.type}Row${rowNum}`,\n clip: false\n });\n\n rowHeight.push({\n index: rowNum,\n size: seriesSpec?.height || defaultSeriesRowHeight\n });\n\n // axes数组添加left axes(每个series都需要一个left axes)\n axes.push({\n orient: 'left',\n id: `axesLeftRow${rowNum}`,\n type: seriesSpec.type === SeriesTypeEnum.dot ? 'band' : 'linear',\n visible: seriesSpec.type !== SeriesTypeEnum.dot,\n\n // 对于bar series,axes title模拟bar title\n title: {\n visible: true,\n // 特殊处理时序图的 title 样式,默认的坐标轴左右轴会进行旋转\n autoRotate: false,\n style: {\n text: (seriesSpec as any)?.barTitle,\n dx: -20,\n textBaseline: 'middle',\n textAlign: 'end'\n }\n },\n // 对于bar series,axes grid模拟series分割线\n grid: {\n visible:\n typeof (seriesSpec as any)?.grid?.visible === 'boolean' ? (seriesSpec as any)?.grid?.visible : true, // bar grid默认绘制\n style: (datum: Datum, index: number) => {\n let lineWidth = 0;\n if (index === 0) {\n const style = (seriesSpec as any)?.grid?.style;\n\n // 兼容一下spec中通过strokeWidth申明的方式\n lineWidth = style?.lineWidth ?? style?.strokeWidth ?? 1;\n }\n return {\n lineWidth,\n stroke: (seriesSpec as any)?.grid?.style?.stroke || '#dfdfdf',\n lineDash: [0, 0]\n };\n }\n },\n // 其他轴元素隐藏\n domainLine: {\n visible: false\n },\n tick: {\n visible: false\n },\n label: {\n visible: false\n },\n\n // 绑定regionIndex\n regionIndex: region.length - 1\n });\n\n // scrollBar 内置\n if (seriesSpec.type === SeriesTypeEnum.dot) {\n elements.push({\n modelId: `scrollBarRightRow${rowNum}`,\n col: 2,\n row: rowNum\n });\n const dataLength = this._getSeriesDataLength(spec, seriesSpec);\n let ratio = 0;\n if (dataLength) {\n ratio = (seriesSpec?.height || defaultSeriesRowHeight) / (dataLength * 30);\n }\n // scrollBar数组增加一个right scrollBar\n scrollBar.push({\n orient: 'right',\n visible: seriesSpec.type === SeriesTypeEnum.dot && ratio < 1,\n id: `scrollBarRightRow${rowNum}`,\n start: 0,\n end: Math.min(ratio, 1),\n filterMode: IFilterMode.axis,\n regionIndex: region.length - 1,\n axisId: `axesLeftRow${rowNum}`,\n ...array(spec?.scrollBar)[0]\n });\n }\n\n // seriesSpec绑定regionIndex\n seriesSpec.regionIndex = region.length - 1;\n\n rowNum++;\n\n // 增加空行,拟合series padding效果\n rowHeight.push({\n index: rowNum,\n size: seriesSpec?.padding || defaultSeriesPadding\n });\n rowNum++;\n\n // chart的leftAppendPadding用于具体元素的dx偏移\n (seriesSpec as any).leftAppendPadding = leftAppendPadding;\n\n // title和subTitle自动定位到画布最左端\n if (seriesSpec.type === SeriesTypeEnum.dot) {\n (seriesSpec as any).title.style.dx = -leftAppendPadding;\n (seriesSpec as any).subTitle.style.dx = -leftAppendPadding;\n }\n }\n });\n\n // 对于link series,所有属性跟随它绑定的dot series\n spec?.series?.forEach((seriesSpec: ISequenceSeriesSpec) => {\n if (seriesSpec.type === SeriesTypeEnum.link) {\n const dotRowNum = seriesSpec.dotSeriesIndex + 1;\n elements.push({\n modelId: `${seriesSpec.type}Row${dotRowNum}`,\n col: 1,\n row: dotRowNum - 1\n });\n seriesSpec.regionIndex = spec.series[seriesSpec.dotSeriesIndex].regionIndex;\n (seriesSpec as any).leftAppendPadding = leftAppendPadding;\n (seriesSpec as any).height = (spec.series[seriesSpec.dotSeriesIndex] as any).height;\n (seriesSpec as any).clipHeight = (spec.series[seriesSpec.dotSeriesIndex] as any).clipHeight;\n }\n });\n\n // 添加legends和datazoom的regionIndex\n if (spec?.legends) {\n this.addAttrToComponentSpec(spec.legends, 'regionIndex', [region.length - 1]);\n }\n // if ((spec as any)?.dataZoom) {\n // (spec as any).dataZoom[0].regionIndex = Array.from({length: region.length - 1},(item, index)=> index+1);\n // }\n\n const layout: IGridLayoutSpec = {\n type: 'grid',\n col: 4,\n row: rowNum,\n colWidth: [\n {\n index: 0,\n size: leftAppendPadding\n },\n {\n index: 2,\n size: SCROLL_BAR_DEFAULT_SIZE\n },\n {\n index: 3,\n size: rightAppendPadding\n }\n ],\n rowHeight: rowHeight,\n elements: elements\n };\n\n spec.layout = layout;\n spec.region = region;\n spec.axes?.push(...axes);\n spec.scrollBar = scrollBar;\n }\n\n /**\n * @override\n * @description 主要是将link series关联的dot data放到link series中\n */\n createSeries(seriesSpec: ISequenceSeriesSpec[]) {\n seriesSpec.forEach((spec, index) => {\n // 自动填充数据\n if (!spec.data) {\n spec.data = this._chartData.getSeriesData(spec.dataId, spec.dataIndex);\n }\n\n if (spec.type === SeriesTypeEnum.link) {\n spec.dotSeriesSpec = this._spec.series[spec.dotSeriesIndex];\n }\n\n let region: IRegion | undefined;\n if (spec.regionId) {\n region = this.getRegionsInUserId(spec.regionId);\n }\n if (!region) {\n region = this.getRegionsInIndex(spec.regionIndex ? [spec.regionIndex] : undefined)[0];\n }\n if (!region) {\n return;\n }\n const series = Factory.createSeries(spec.type, spec, {\n ...this._modelOption,\n region,\n specIndex: index,\n specKey: 'series',\n globalScale: this._globalScale\n } as ISeriesOption);\n\n if (series) {\n series.created();\n this._series.push(series);\n region.addSeries(series);\n }\n });\n }\n\n addAttrToComponentSpec(componentSpec: any, attr: string, value: any) {\n if (Array.isArray(componentSpec)) {\n componentSpec[0][attr] = value;\n } else {\n componentSpec[attr] = value;\n }\n return componentSpec;\n }\n\n private _getSeriesDataLength(spec: any, seriesSpec: any) {\n if (seriesSpec.data) {\n const _d = array(seriesSpec.data)[0];\n if (_d instanceof DataView) {\n return _d.latestData?.length;\n }\n return _d.values?.length;\n }\n const dataTemp = array(spec.data).find((_d, index) => {\n if (seriesSpec.dataId) {\n if (_d instanceof DataView) {\n return _d.name === seriesSpec.dataId;\n }\n return _d.id === seriesSpec.dataId;\n }\n return seriesSpec.dataIndex === index;\n });\n if (!dataTemp) {\n return 0;\n }\n if (dataTemp instanceof DataView) {\n return dataTemp.latestData.length;\n }\n return dataTemp.values.length;\n }\n}\n\nexport const registerSequenceChart = () => {\n registerDotSeries();\n registerLinkSeries();\n Factory.registerChart(SequenceChart.type, SequenceChart);\n};\n"]}
@@ -28,5 +28,4 @@ export class Stack {
28
28
  });
29
29
  }));
30
30
  }
31
- }
32
- //# sourceMappingURL=stack.js.map
31
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/cartesian/linear-axis.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAgB5C,MAAM,OAAO,mBAEX,SAAQ,aAAgB;IAF1B;;QAIE,SAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;QAEnC,UAAK,GAAY,IAAI,CAAC;QACtB,UAAK,GAAY,IAAI,CAAC;QACtB,YAAO,GAA8B,EAAE,CAAC;QAExC,WAAM,GAA2B,IAAI,WAAW,EAAE,CAAC;IAkC/D,CAAC;IA/BC,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAKS,UAAU;;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SAC7B;QACD,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SAC7B;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5B,CAAC;IAES,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAES,UAAU;QAClB,MAAM,MAAM,GAAgB,KAAK,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;;AAxCM,wBAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;AA2CtD,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,YAAY,EAAE,CAAC;IACf,OAAO,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;AAC3E,CAAC,CAAC","file":"linear-axis.js","sourcesContent":["import type { LogScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { LinearScale } from '@visactor/vscale';\nimport { CartesianAxis } from './axis';\nimport { isValid } from '../../../util';\nimport type { IAxisHelper, ICartesianLinearAxisSpec } from './interface';\nimport { ComponentTypeEnum } from '../../interface';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { mixin } from '@visactor/vutils';\nimport { Factory } from '../../../core/factory';\nimport { ComponentMark } from '../../../mark';\nimport { registerAxis } from '../base-axis';\n\nexport interface CartesianLinearAxis<T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec>\n extends Pick<\n LinearAxisMixin,\n | 'setExtraAttrFromSpec'\n | 'computeLinearDomain'\n | 'valueToPosition'\n | 'setScaleNice'\n | '_domain'\n | 'dataToPosition'\n | 'transformScaleDomain'\n | 'setExtendDomain'\n >,\n CartesianAxis<T> {}\n\nexport class CartesianLinearAxis<\n T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec\n> extends CartesianAxis<T> {\n static type = ComponentTypeEnum.cartesianLinearAxis;\n type = ComponentTypeEnum.cartesianLinearAxis;\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n protected _extend: { [key: string]: number } = {};\n\n protected _scale: LinearScale | LogScale = new LinearScale();\n protected declare _scales: LinearScale[] | LogScale[];\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n }\n\n /**\n * @override\n */\n protected initScales() {\n super.initScales();\n const range = [0, 1];\n if (isValid(this._domain?.min)) {\n range[0] = this._domain.min;\n }\n if (isValid(this._domain?.max)) {\n range[1] = this._domain.max;\n }\n this._scale.domain(range);\n // this.setScaleNice();\n }\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n return this.computeLinearDomain(data);\n }\n\n protected axisHelper() {\n const helper: IAxisHelper = super.axisHelper();\n helper.setExtendDomain = this.setExtendDomain.bind(this);\n helper.valueToPosition = this.valueToPosition.bind(this);\n return helper;\n }\n}\n\nmixin(CartesianLinearAxis, LinearAxisMixin);\n\nexport const registerCartesianLinearAxis = () => {\n registerAxis();\n Factory.registerComponent(CartesianLinearAxis.type, CartesianLinearAxis);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/axis/cartesian/linear-axis.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAgB5C,MAAM,OAAO,mBAEX,SAAQ,aAAgB;IAF1B;;QAIE,SAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;QAEnC,UAAK,GAAY,IAAI,CAAC;QACtB,UAAK,GAAY,IAAI,CAAC;QACtB,YAAO,GAA8B,EAAE,CAAC;QAExC,WAAM,GAA2B,IAAI,WAAW,EAAE,CAAC;IAkC/D,CAAC;IA/BC,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAKS,UAAU;;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SAC7B;QACD,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SAC7B;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5B,CAAC;IAES,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAES,UAAU;QAClB,MAAM,MAAM,GAAgB,KAAK,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;;AAxCM,wBAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;AA2CtD,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,YAAY,EAAE,CAAC;IACf,OAAO,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;AAC3E,CAAC,CAAC","file":"linear-axis.js","sourcesContent":["import type { LogScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { LinearScale } from '@visactor/vscale';\nimport { CartesianAxis } from './axis';\nimport { isValid } from '../../../util';\nimport type { IAxisHelper, ICartesianLinearAxisSpec } from './interface';\nimport { ComponentTypeEnum } from '../../interface';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { mixin } from '@visactor/vutils';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\n\nexport interface CartesianLinearAxis<T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec>\n extends Pick<\n LinearAxisMixin,\n | 'setExtraAttrFromSpec'\n | 'computeLinearDomain'\n | 'valueToPosition'\n | 'setScaleNice'\n | '_domain'\n | 'dataToPosition'\n | 'transformScaleDomain'\n | 'setExtendDomain'\n >,\n CartesianAxis<T> {}\n\nexport class CartesianLinearAxis<\n T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec\n> extends CartesianAxis<T> {\n static type = ComponentTypeEnum.cartesianLinearAxis;\n type = ComponentTypeEnum.cartesianLinearAxis;\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n protected _extend: { [key: string]: number } = {};\n\n protected _scale: LinearScale | LogScale = new LinearScale();\n protected declare _scales: LinearScale[] | LogScale[];\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n }\n\n /**\n * @override\n */\n protected initScales() {\n super.initScales();\n const range = [0, 1];\n if (isValid(this._domain?.min)) {\n range[0] = this._domain.min;\n }\n if (isValid(this._domain?.max)) {\n range[1] = this._domain.max;\n }\n this._scale.domain(range);\n // this.setScaleNice();\n }\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n return this.computeLinearDomain(data);\n }\n\n protected axisHelper() {\n const helper: IAxisHelper = super.axisHelper();\n helper.setExtendDomain = this.setExtendDomain.bind(this);\n helper.valueToPosition = this.valueToPosition.bind(this);\n return helper;\n }\n}\n\nmixin(CartesianLinearAxis, LinearAxisMixin);\n\nexport const registerCartesianLinearAxis = () => {\n registerAxis();\n Factory.registerComponent(CartesianLinearAxis.type, CartesianLinearAxis);\n};\n"]}
@@ -7,6 +7,7 @@ export type IPolarGrid = IGrid & {
7
7
  smooth?: boolean;
8
8
  };
9
9
  export interface IPolarAxisHelper {
10
+ isContinuous: boolean;
10
11
  dataToPosition: (values: any, cfg?: any) => number;
11
12
  coordToPoint: (point: IPolarPoint) => IPoint;
12
13
  pointToCoord: (point: IPoint) => IPolarPoint;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/polar/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\nimport type { IComponent } from '../../../interface';\nimport type { IPoint, IPolarOrientType, IPolarPoint } from '../../../../typings';\nimport type { IGrid } from '../../interface';\nimport type { ICompilableData } from '../../../../compile/data';\n\nexport type IPolarGrid = IGrid & {\n /**\n * smooth 为 true 时,为圆形 grid,为 false 则为多边形 grid\n * @default false\n */\n smooth?: boolean;\n};\nexport interface IPolarAxisHelper {\n dataToPosition: (values: any, cfg?: any) => number;\n coordToPoint: (point: IPolarPoint) => IPoint;\n pointToCoord: (point: IPoint) => IPolarPoint;\n center: () => IPoint;\n\n getScale: (depth?: number) => IBaseScale;\n getBandwidth?: (depth?: number) => number; // band轴特有\n getAxisId: () => number;\n}\n\nexport interface IPolarAxis extends IComponent {\n startAngle: number;\n endAngle: number;\n\n // 为了与直角坐标系轴对齐,这里也通过 orient 来区别 angle/redius 轴\n getOrient: () => IPolarOrientType;\n getScale: () => IBaseScale;\n setRefAngleAxis: (axes: IPolarAxis) => this;\n tickValues: () => number[];\n getCenter: () => IPoint;\n getOuterRadius: () => number;\n getInnerRadius: () => number;\n dataToPosition: (values: any[]) => number;\n positionToData: (position: IPoint) => any;\n getTickData: () => ICompilableData;\n // 将半径和角度转换为笛卡尔坐标点\n coordToPoint: (point: IPolarPoint) => IPoint;\n pointToCoord: (point: IPoint) => IPolarPoint;\n}\n"]}
1
+ {"version":3,"sources":["../src/component/axis/polar/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\nimport type { IComponent } from '../../../interface';\nimport type { IPoint, IPolarOrientType, IPolarPoint } from '../../../../typings';\nimport type { IGrid } from '../../interface';\nimport type { ICompilableData } from '../../../../compile/data';\n\nexport type IPolarGrid = IGrid & {\n /**\n * smooth 为 true 时,为圆形 grid,为 false 则为多边形 grid\n * @default false\n */\n smooth?: boolean;\n};\nexport interface IPolarAxisHelper {\n // axis is continuous\n isContinuous: boolean;\n\n dataToPosition: (values: any, cfg?: any) => number;\n coordToPoint: (point: IPolarPoint) => IPoint;\n pointToCoord: (point: IPoint) => IPolarPoint;\n center: () => IPoint;\n\n getScale: (depth?: number) => IBaseScale;\n getBandwidth?: (depth?: number) => number; // band轴特有\n getAxisId: () => number;\n}\n\nexport interface IPolarAxis extends IComponent {\n startAngle: number;\n endAngle: number;\n\n // 为了与直角坐标系轴对齐,这里也通过 orient 来区别 angle/redius 轴\n getOrient: () => IPolarOrientType;\n getScale: () => IBaseScale;\n setRefAngleAxis: (axes: IPolarAxis) => this;\n tickValues: () => number[];\n getCenter: () => IPoint;\n getOuterRadius: () => number;\n getInnerRadius: () => number;\n dataToPosition: (values: any[]) => number;\n positionToData: (position: IPoint) => any;\n getTickData: () => ICompilableData;\n // 将半径和角度转换为笛卡尔坐标点\n coordToPoint: (point: IPolarPoint) => IPoint;\n pointToCoord: (point: IPoint) => IPolarPoint;\n}\n"]}
@@ -1,6 +1,6 @@
1
- import type { ITheme } from '../../theme/interface';
2
1
  import type { IOrientType, IPolarOrientType } from '../../typings';
3
2
  import type { AxisType, ICommonAxisSpec, ILinearAxisSpec } from './interface';
3
+ import type { IModelOption } from '../../model/interface';
4
4
  export declare const DEFAULT_TITLE_STYLE: {
5
5
  left: {
6
6
  textAlign: string;
@@ -24,5 +24,5 @@ export declare function getLinearAxisSpecDomain(axisSpec: ILinearAxisSpec, defau
24
24
  };
25
25
  export declare function isValidCartesianAxis(spec: any): boolean;
26
26
  export declare function isValidPolarAxis(spec: any): boolean;
27
- export declare const getCartesianAxisTheme: (orient: IOrientType, type: AxisType, theme: ITheme) => any;
28
- export declare const getPolarAxisTheme: (orient: IPolarOrientType, type: AxisType, theme: ITheme) => any;
27
+ export declare const getCartesianAxisTheme: (orient: IOrientType, type: AxisType, option: Partial<IModelOption>) => any;
28
+ export declare const getPolarAxisTheme: (orient: IPolarOrientType, type: AxisType, option: Partial<IModelOption>) => any;
@@ -6,6 +6,8 @@ import { transformComponentStyle } from "../../util/style";
6
6
 
7
7
  import { isXAxis } from "./cartesian/util";
8
8
 
9
+ import { getComponentThemeFromOption } from "../util";
10
+
9
11
  export const DEFAULT_TITLE_STYLE = {
10
12
  left: {
11
13
  textAlign: "center",
@@ -49,15 +51,15 @@ export function isValidPolarAxis(spec) {
49
51
  return "angle" === orient || "radius" === orient;
50
52
  }
51
53
 
52
- export const getCartesianAxisTheme = (orient, type, theme) => {
53
- var _a, _b;
54
- const {axisBand: axisBand, axisLinear: axisLinear, axisX: axisX, axisY: axisY, axis: axis} = null !== (_a = theme.component) && void 0 !== _a ? _a : {}, axisTypeTheme = null !== (_b = "band" === type ? axisBand : [ "linear", "log", "symlog" ].includes(type) ? axisLinear : {}) && void 0 !== _b ? _b : {}, axisTheme = isXAxis(orient) ? axisX : axisY;
55
- return mergeSpec({}, axis, axisTypeTheme, axisTheme);
54
+ export const getCartesianAxisTheme = (orient, type, option) => {
55
+ var _a;
56
+ const axisTypeTheme = null !== (_a = "band" === type ? getComponentThemeFromOption("axisBand", option) : [ "linear", "log", "symlog" ].includes(type) ? getComponentThemeFromOption("axisLinear", option) : {}) && void 0 !== _a ? _a : {}, axisTheme = isXAxis(orient) ? getComponentThemeFromOption("axisX", option) : getComponentThemeFromOption("axisY", option);
57
+ return mergeSpec({}, getComponentThemeFromOption("axis", option), axisTypeTheme, axisTheme);
56
58
  };
57
59
 
58
- export const getPolarAxisTheme = (orient, type, theme) => {
59
- var _a, _b;
60
- const {axisBand: axisBand, axisLinear: axisLinear, axisAngle: axisAngle, axisRadius: axisRadius, axis: axis} = null !== (_a = theme.component) && void 0 !== _a ? _a : {}, axisTypeTheme = null !== (_b = "band" === type ? axisBand : "linear" === type ? axisLinear : {}) && void 0 !== _b ? _b : {};
61
- return mergeSpec({}, axis, axisTypeTheme, "angle" === orient ? axisAngle : axisRadius);
60
+ export const getPolarAxisTheme = (orient, type, option) => {
61
+ var _a;
62
+ const axisTypeTheme = null !== (_a = "band" === type ? getComponentThemeFromOption("axisBand", option) : "linear" === type ? getComponentThemeFromOption("axisLinear", option) : {}) && void 0 !== _a ? _a : {}, axisTheme = getComponentThemeFromOption("angle" === orient ? "axisAngle" : "axisRadius", option);
63
+ return mergeSpec({}, getComponentThemeFromOption("axis", option), axisTypeTheme, axisTheme);
62
64
  };
63
65
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/axis/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { ITheme } from '../../theme/interface';\nimport { get } from '@visactor/vutils';\nimport { mergeSpec } from '../../util';\nimport type { IOrientType, IPolarOrientType } from '../../typings';\nimport type { AxisType, ICommonAxisSpec, ILinearAxisSpec } from './interface';\nimport { transformComponentStyle } from '../../util/style';\nimport { isXAxis } from './cartesian/util';\n\nexport const DEFAULT_TITLE_STYLE = {\n left: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n right: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n radius: {},\n angle: {}\n};\n\nexport function transformAxisLineStyle(lineCfg: any) {\n lineCfg = transformComponentStyle(lineCfg);\n lineCfg.startSymbol = transformComponentStyle(lineCfg.startSymbol);\n lineCfg.endSymbol = transformComponentStyle(lineCfg.endSymbol);\n\n return lineCfg;\n}\n\nexport function getAxisLabelOffset(axisSpec: ICommonAxisSpec) {\n let labelOffset = 0;\n if (get(axisSpec, 'tick.visible')) {\n labelOffset += get(axisSpec, 'tick.tickSize');\n }\n\n if (get(axisSpec, 'label.visible')) {\n labelOffset += get(axisSpec, 'label.space');\n }\n\n return labelOffset;\n}\n\nexport function getLinearAxisSpecDomain(\n axisSpec: ILinearAxisSpec,\n defaultDomain?: {\n min?: number;\n max?: number;\n }\n) {\n // 兼容策略\n return {\n min: axisSpec.min ?? axisSpec.range?.min ?? defaultDomain?.min,\n max: axisSpec.max ?? axisSpec.range?.max ?? defaultDomain?.max\n };\n}\n\nexport function isValidCartesianAxis(spec: any) {\n const orient = spec?.orient;\n return orient === 'top' || orient === 'bottom' || orient === 'left' || orient === 'right' || orient === 'z';\n}\n\nexport function isValidPolarAxis(spec: any) {\n const orient = spec?.orient;\n return orient === 'angle' || orient === 'radius';\n}\n\nexport const getCartesianAxisTheme = (orient: IOrientType, type: AxisType, theme: ITheme) => {\n const { axisBand, axisLinear, axisX, axisY, axis } = theme.component ?? {};\n const axisTypeTheme =\n (type === 'band' ? axisBand : (['linear', 'log', 'symlog'] as AxisType[]).includes(type) ? axisLinear : {}) ?? {};\n const axisTheme = isXAxis(orient) ? axisX : axisY;\n return mergeSpec({}, axis, axisTypeTheme, axisTheme);\n};\n\nexport const getPolarAxisTheme = (orient: IPolarOrientType, type: AxisType, theme: ITheme) => {\n const { axisBand, axisLinear, axisAngle, axisRadius, axis } = theme.component ?? {};\n const axisTypeTheme = (type === 'band' ? axisBand : type === 'linear' ? axisLinear : {}) ?? {};\n const axisTheme = orient === 'angle' ? axisAngle : axisRadius;\n return mergeSpec({}, axis, axisTypeTheme, axisTheme);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/axis/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import { get } from '@visactor/vutils';\nimport { mergeSpec } from '../../util';\nimport type { IOrientType, IPolarOrientType } from '../../typings';\nimport type { AxisType, ICommonAxisSpec, ILinearAxisSpec } from './interface';\nimport { transformComponentStyle } from '../../util/style';\nimport { isXAxis } from './cartesian/util';\nimport type { IModelOption } from '../../model/interface';\nimport { getComponentThemeFromOption } from '../util';\n\nexport const DEFAULT_TITLE_STYLE = {\n left: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n right: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n radius: {},\n angle: {}\n};\n\nexport function transformAxisLineStyle(lineCfg: any) {\n lineCfg = transformComponentStyle(lineCfg);\n lineCfg.startSymbol = transformComponentStyle(lineCfg.startSymbol);\n lineCfg.endSymbol = transformComponentStyle(lineCfg.endSymbol);\n\n return lineCfg;\n}\n\nexport function getAxisLabelOffset(axisSpec: ICommonAxisSpec) {\n let labelOffset = 0;\n if (get(axisSpec, 'tick.visible')) {\n labelOffset += get(axisSpec, 'tick.tickSize');\n }\n\n if (get(axisSpec, 'label.visible')) {\n labelOffset += get(axisSpec, 'label.space');\n }\n\n return labelOffset;\n}\n\nexport function getLinearAxisSpecDomain(\n axisSpec: ILinearAxisSpec,\n defaultDomain?: {\n min?: number;\n max?: number;\n }\n) {\n // 兼容策略\n return {\n min: axisSpec.min ?? axisSpec.range?.min ?? defaultDomain?.min,\n max: axisSpec.max ?? axisSpec.range?.max ?? defaultDomain?.max\n };\n}\n\nexport function isValidCartesianAxis(spec: any) {\n const orient = spec?.orient;\n return orient === 'top' || orient === 'bottom' || orient === 'left' || orient === 'right' || orient === 'z';\n}\n\nexport function isValidPolarAxis(spec: any) {\n const orient = spec?.orient;\n return orient === 'angle' || orient === 'radius';\n}\n\nexport const getCartesianAxisTheme = (orient: IOrientType, type: AxisType, option: Partial<IModelOption>) => {\n const axisTypeTheme =\n (type === 'band'\n ? getComponentThemeFromOption('axisBand', option)\n : (['linear', 'log', 'symlog'] as AxisType[]).includes(type)\n ? getComponentThemeFromOption('axisLinear', option)\n : {}) ?? {};\n const axisTheme = isXAxis(orient)\n ? getComponentThemeFromOption('axisX', option)\n : getComponentThemeFromOption('axisY', option);\n return mergeSpec({}, getComponentThemeFromOption('axis', option), axisTypeTheme, axisTheme);\n};\n\nexport const getPolarAxisTheme = (orient: IPolarOrientType, type: AxisType, option: Partial<IModelOption>) => {\n const axisTypeTheme =\n (type === 'band'\n ? getComponentThemeFromOption('axisBand', option)\n : type === 'linear'\n ? getComponentThemeFromOption('axisLinear', option)\n : {}) ?? {};\n const axisTheme =\n orient === 'angle'\n ? getComponentThemeFromOption('axisAngle', option)\n : getComponentThemeFromOption('axisRadius', option);\n return mergeSpec({}, getComponentThemeFromOption('axis', option), axisTypeTheme, axisTheme);\n};\n"]}
@@ -26,8 +26,7 @@ export declare abstract class BaseComponent<T extends IComponentSpec = IComponen
26
26
  x: number;
27
27
  y: number;
28
28
  };
29
- setCurrentTheme(theme: any, noRender?: boolean): Promise<void>;
30
- protected _initTheme(theme?: any): void;
29
+ protected _getTheme(): any;
31
30
  protected _mergeThemeToSpec(): void;
32
31
  protected getContainer(): IGroup;
33
32
  _compareSpec(): {
@@ -1,29 +1,3 @@
1
- var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
2
- return new (P || (P = Promise))((function(resolve, reject) {
3
- function fulfilled(value) {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- }
10
- function rejected(value) {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- }
17
- function step(result) {
18
- var value;
19
- result.done ? resolve(result.value) : (value = result.value, value instanceof P ? value : new P((function(resolve) {
20
- resolve(value);
21
- }))).then(fulfilled, rejected);
22
- }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- }));
25
- };
26
-
27
1
  import { BaseModel } from "../../model/base-model";
28
2
 
29
3
  import { ComponentPluginService } from "../../plugin/components/plugin-service";
@@ -36,7 +10,7 @@ import { Event_Source_Type } from "../../constant";
36
10
 
37
11
  import { AnimateManager } from "../../animation/animate-manager";
38
12
 
39
- import { normalizeLayoutPaddingSpec } from "../../util";
13
+ import { normalizeLayoutPaddingSpec, preprocessSpecOrTheme } from "../../util";
40
14
 
41
15
  export class BaseComponent extends BaseModel {
42
16
  getRegions() {
@@ -72,19 +46,8 @@ export class BaseComponent extends BaseModel {
72
46
  y: markEventParams.event.viewY - this.getLayoutStartPoint().y
73
47
  };
74
48
  }
75
- setCurrentTheme(theme, noRender) {
76
- return __awaiter(this, void 0, void 0, (function*() {
77
- const modifyConfig = () => (this.reInit(theme), {
78
- change: !0,
79
- reMake: !1
80
- });
81
- noRender ? modifyConfig() : yield this._option.globalInstance.updateCustomConfigAndRerender(modifyConfig);
82
- }));
83
- }
84
- _initTheme(theme) {
85
- const globalTheme = this._option.getTheme();
86
- theme ? super._initTheme(theme) : super._initTheme(getComponentThemeFromGlobalTheme(this.type, globalTheme, this._originalSpec, this._option.getChart())),
87
- this._mergeThemeToSpec();
49
+ _getTheme() {
50
+ return preprocessSpecOrTheme("theme", getComponentThemeFromGlobalTheme(this.type, this._option, this._originalSpec), this.getColorScheme());
88
51
  }
89
52
  _mergeThemeToSpec() {
90
53
  super._mergeThemeToSpec();
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/base/base-component.ts"],"names":[],"mappings":"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","file":"base-component.js","sourcesContent":["import type { IGraphic, IGroup, INode } from '@visactor/vrender-core';\nimport { BaseModel } from '../../model/base-model';\nimport type { IRegion } from '../../region/interface';\nimport type { ComponentTypeEnum, IComponent, IComponentOption } from '../interface';\nimport type { BaseEventParams } from '../../event/interface';\nimport { ComponentPluginService } from '../../plugin/components/plugin-service';\nimport type { IComponentPluginService, IComponentPlugin } from '../../plugin/components/interface';\nimport { isEqual } from '@visactor/vutils';\nimport { getComponentThemeFromGlobalTheme } from './util';\nimport type { IGroupMark } from '@visactor/vgrammar-core';\nimport { Event_Source_Type } from '../../constant';\nimport type { IAnimate } from '../../animation/interface';\nimport { AnimateManager } from '../../animation/animate-manager';\nimport type { Datum } from '../../typings';\nimport { normalizeLayoutPaddingSpec } from '../../util';\nimport type { IComponentSpec } from './interface';\n\nexport abstract class BaseComponent<T extends IComponentSpec = IComponentSpec>\n extends BaseModel<T>\n implements IComponent\n{\n name: string = 'component';\n readonly modelType: string = 'component';\n pluginService?: IComponentPluginService;\n protected declare _option: IComponentOption;\n\n protected _regions: IRegion[] = [];\n getRegions() {\n return this._regions;\n }\n\n protected _container: IGroup;\n\n created() {\n super.created();\n this.pluginService = new ComponentPluginService(this);\n }\n\n animate?: IAnimate;\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._regions = options.getRegionsInIndex();\n this.layoutBindRegionID = this._regions.map(x => x.id);\n // 创建组件自己的动画管理器\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: options.getCompiler\n });\n }\n }\n\n abstract changeRegions(regions: IRegion[]): void;\n abstract getVRenderComponents(): IGraphic[];\n\n protected callPlugin(cb: (plugin: IComponentPlugin) => void) {\n if (this.pluginService) {\n this.pluginService.getAll().forEach(plugin => cb(plugin));\n }\n }\n\n protected eventPos(markEventParams: BaseEventParams) {\n return {\n x: (markEventParams.event as any).viewX - this.getLayoutStartPoint().x,\n y: (markEventParams.event as any).viewY - this.getLayoutStartPoint().y\n };\n }\n\n async setCurrentTheme(theme: any, noRender?: boolean) {\n const modifyConfig = () => {\n // 重新初始化\n this.reInit(theme);\n\n return { change: true, reMake: false };\n };\n\n if (noRender) {\n modifyConfig();\n } else {\n await this._option.globalInstance.updateCustomConfigAndRerender(modifyConfig);\n }\n }\n\n protected _initTheme(theme?: any) {\n const globalTheme = this._option.getTheme();\n\n if (theme) {\n super._initTheme(theme);\n } else {\n super._initTheme(\n getComponentThemeFromGlobalTheme(\n this.type as ComponentTypeEnum,\n globalTheme,\n this._originalSpec,\n this._option.getChart()\n )\n );\n }\n\n // 将 theme merge 到 spec 中\n this._mergeThemeToSpec();\n }\n\n protected _mergeThemeToSpec() {\n super._mergeThemeToSpec();\n\n // 默认忽略外侧 padding\n const { padding, noOuterPadding = true, orient } = this.getSpec();\n if (noOuterPadding && padding && orient) {\n this._spec.padding = {\n ...normalizeLayoutPaddingSpec(padding),\n [orient]: 0\n };\n }\n }\n\n protected getContainer() {\n if (!this._container) {\n this._container = this._option?.globalInstance.getStage().find(node => node.name === 'root', true);\n }\n\n return this._container;\n }\n\n /**\n * updateSpec\n */\n _compareSpec() {\n const result = super._compareSpec();\n if (!result.reMake) {\n result.reMake = ['seriesId', 'seriesIndex', 'regionId', 'regionIndex'].some(k => {\n return isEqual(this._originalSpec?.[k], this.getSpec()[k]);\n });\n }\n if (this._originalSpec?.visible !== (<any>this.getSpec()).visible) {\n result.reCompile = true;\n }\n return result;\n }\n\n release() {\n super.release();\n this.clear();\n }\n\n clear() {\n const components = this.getVRenderComponents();\n if (components && components.length) {\n components.forEach(c => {\n if (c) {\n this.getContainer()?.removeChild(c as unknown as INode);\n c = null;\n }\n });\n }\n this._container = null;\n this.pluginService?.disposeAll();\n this.pluginService = null;\n }\n\n compile(): void {\n this.compileSignal();\n this.compileMarks();\n }\n\n compileMarks(group?: string | IGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()?.configure({\n context: {\n model: this\n }\n });\n });\n }\n\n // 代理组件事件\n protected _delegateEvent = (component: IGraphic, event: any, type: string, item: any = null, datum: Datum = null) => {\n this.event.emit(\n type,\n {\n model: this,\n node: component,\n event,\n item: item,\n datum: datum,\n source: Event_Source_Type.chart,\n chart: this._option?.globalInstance?.getChart()\n },\n 'model'\n );\n };\n\n getGraphicBounds() {\n return this.getVRenderComponents()?.[0]?.AABBBounds ?? super.getGraphicBounds();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/base/base-component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAInD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,gCAAgC,EAAE,MAAM,QAAQ,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAG/E,MAAM,OAAgB,aACpB,SAAQ,SAAY;IASpB,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAID,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAID,YAAY,IAAO,EAAE,OAAyB;QAC5C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QApBvB,SAAI,GAAW,WAAW,CAAC;QAClB,cAAS,GAAW,WAAW,CAAC;QAI/B,aAAQ,GAAc,EAAE,CAAC;QA4HzB,mBAAc,GAAG,CAAC,SAAmB,EAAE,KAAU,EAAE,IAAY,EAAE,OAAY,IAAI,EAAE,QAAe,IAAI,EAAE,EAAE;;YAClH,IAAI,CAAC,KAAK,CAAC,IAAI,CACb,IAAI,EACJ;gBACE,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,SAAS;gBACf,KAAK;gBACL,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,iBAAiB,CAAC,KAAK;gBAC/B,KAAK,EAAE,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,0CAAE,QAAQ,EAAE;aAChD,EACD,OAAO,CACR,CAAC;QACJ,CAAC,CAAC;QA1HA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC5C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEvD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC;gBAChC,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC,CAAC;SACJ;IACH,CAAC;IAKS,UAAU,CAAC,EAAsC;QACzD,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;SAC3D;IACH,CAAC;IAES,QAAQ,CAAC,eAAgC;QACjD,OAAO;YACL,CAAC,EAAG,eAAe,CAAC,KAAa,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACtE,CAAC,EAAG,eAAe,CAAC,KAAa,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;SACvE,CAAC;IACJ,CAAC;IAES,SAAS;QACjB,OAAO,qBAAqB,CAC1B,OAAO,EACP,gCAAgC,CAAC,IAAI,CAAC,IAAyB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,EAClG,IAAI,CAAC,cAAc,EAAE,CACtB,CAAC;IACJ,CAAC;IAES,iBAAiB;QACzB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAG1B,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAClE,IAAI,cAAc,IAAI,OAAO,IAAI,MAAM,EAAE;YACvC,IAAI,CAAC,KAAK,CAAC,OAAO,mCACb,0BAA0B,CAAC,OAAO,CAAC,KACtC,CAAC,MAAM,CAAC,EAAE,CAAC,GACZ,CAAC;SACH;IACH,CAAC;IAES,YAAY;;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC;SACpG;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAKD,YAAY;;QACV,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,MAAM,CAAC,MAAM,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;;gBAC9E,OAAO,OAAO,CAAC,MAAA,IAAI,CAAC,aAAa,0CAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,MAAW,IAAI,CAAC,OAAO,EAAG,CAAC,OAAO,EAAE;YACjE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;SACzB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;YACnC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;gBACrB,IAAI,CAAC,EAAE;oBACL,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,WAAW,CAAC,CAAqB,CAAC,CAAC;oBACxD,CAAC,GAAG,IAAI,CAAC;iBACV;YACH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,MAAA,IAAI,CAAC,aAAa,0CAAE,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,YAAY,CAAC,KAA2B;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;YAC1B,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACrB,MAAA,CAAC,CAAC,UAAU,EAAE,0CAAE,SAAS,CAAC;gBACxB,OAAO,EAAE;oBACP,KAAK,EAAE,IAAI;iBACZ;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAmBD,gBAAgB;;QACd,OAAO,MAAA,MAAA,MAAA,IAAI,CAAC,oBAAoB,EAAE,0CAAG,CAAC,CAAC,0CAAE,UAAU,mCAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;IAClF,CAAC;CACF","file":"base-component.js","sourcesContent":["import type { IGraphic, IGroup, INode } from '@visactor/vrender-core';\nimport { BaseModel } from '../../model/base-model';\nimport type { IRegion } from '../../region/interface';\nimport type { ComponentTypeEnum, IComponent, IComponentOption } from '../interface';\nimport type { BaseEventParams } from '../../event/interface';\nimport { ComponentPluginService } from '../../plugin/components/plugin-service';\nimport type { IComponentPluginService, IComponentPlugin } from '../../plugin/components/interface';\nimport { isEqual } from '@visactor/vutils';\nimport { getComponentThemeFromGlobalTheme } from './util';\nimport type { IGroupMark } from '@visactor/vgrammar-core';\nimport { Event_Source_Type } from '../../constant';\nimport type { IAnimate } from '../../animation/interface';\nimport { AnimateManager } from '../../animation/animate-manager';\nimport type { Datum } from '../../typings';\nimport { normalizeLayoutPaddingSpec, preprocessSpecOrTheme } from '../../util';\nimport type { IComponentSpec } from './interface';\n\nexport abstract class BaseComponent<T extends IComponentSpec = IComponentSpec>\n extends BaseModel<T>\n implements IComponent\n{\n name: string = 'component';\n readonly modelType: string = 'component';\n pluginService?: IComponentPluginService;\n protected declare _option: IComponentOption;\n\n protected _regions: IRegion[] = [];\n getRegions() {\n return this._regions;\n }\n\n protected _container: IGroup;\n\n created() {\n super.created();\n this.pluginService = new ComponentPluginService(this);\n }\n\n animate?: IAnimate;\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._regions = options.getRegionsInIndex();\n this.layoutBindRegionID = this._regions.map(x => x.id);\n // 创建组件自己的动画管理器\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: options.getCompiler\n });\n }\n }\n\n abstract changeRegions(regions: IRegion[]): void;\n abstract getVRenderComponents(): IGraphic[];\n\n protected callPlugin(cb: (plugin: IComponentPlugin) => void) {\n if (this.pluginService) {\n this.pluginService.getAll().forEach(plugin => cb(plugin));\n }\n }\n\n protected eventPos(markEventParams: BaseEventParams) {\n return {\n x: (markEventParams.event as any).viewX - this.getLayoutStartPoint().x,\n y: (markEventParams.event as any).viewY - this.getLayoutStartPoint().y\n };\n }\n\n protected _getTheme() {\n return preprocessSpecOrTheme(\n 'theme',\n getComponentThemeFromGlobalTheme(this.type as ComponentTypeEnum, this._option, this._originalSpec),\n this.getColorScheme()\n );\n }\n\n protected _mergeThemeToSpec() {\n super._mergeThemeToSpec();\n\n // 默认忽略外侧 padding\n const { padding, noOuterPadding = true, orient } = this.getSpec();\n if (noOuterPadding && padding && orient) {\n this._spec.padding = {\n ...normalizeLayoutPaddingSpec(padding),\n [orient]: 0\n };\n }\n }\n\n protected getContainer() {\n if (!this._container) {\n this._container = this._option?.globalInstance.getStage().find(node => node.name === 'root', true);\n }\n\n return this._container;\n }\n\n /**\n * updateSpec\n */\n _compareSpec() {\n const result = super._compareSpec();\n if (!result.reMake) {\n result.reMake = ['seriesId', 'seriesIndex', 'regionId', 'regionIndex'].some(k => {\n return isEqual(this._originalSpec?.[k], this.getSpec()[k]);\n });\n }\n if (this._originalSpec?.visible !== (<any>this.getSpec()).visible) {\n result.reCompile = true;\n }\n return result;\n }\n\n release() {\n super.release();\n this.clear();\n }\n\n clear() {\n const components = this.getVRenderComponents();\n if (components && components.length) {\n components.forEach(c => {\n if (c) {\n this.getContainer()?.removeChild(c as unknown as INode);\n c = null;\n }\n });\n }\n this._container = null;\n this.pluginService?.disposeAll();\n this.pluginService = null;\n }\n\n compile(): void {\n this.compileSignal();\n this.compileMarks();\n }\n\n compileMarks(group?: string | IGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()?.configure({\n context: {\n model: this\n }\n });\n });\n }\n\n // 代理组件事件\n protected _delegateEvent = (component: IGraphic, event: any, type: string, item: any = null, datum: Datum = null) => {\n this.event.emit(\n type,\n {\n model: this,\n node: component,\n event,\n item: item,\n datum: datum,\n source: Event_Source_Type.chart,\n chart: this._option?.globalInstance?.getChart()\n },\n 'model'\n );\n };\n\n getGraphicBounds() {\n return this.getVRenderComponents()?.[0]?.AABBBounds ?? super.getGraphicBounds();\n }\n}\n"]}
@@ -1,4 +1,3 @@
1
- import type { IChart } from '../../chart/interface';
2
- import type { ITheme } from '../../theme';
1
+ import type { IModelOption } from '../../model/interface';
3
2
  import { ComponentTypeEnum } from '../interface';
4
- export declare function getComponentThemeFromGlobalTheme(type: ComponentTypeEnum, theme: ITheme, componentSpec: any, chart: IChart): any;
3
+ export declare function getComponentThemeFromGlobalTheme(type: ComponentTypeEnum, option: Partial<IModelOption>, componentSpec: any): any;
@@ -1,3 +1,5 @@
1
+ import { getThemeFromOption } from "../../theme/util";
2
+
1
3
  import { getOrient } from "../axis/cartesian/util";
2
4
 
3
5
  import { getCartesianAxisTheme, getPolarAxisTheme } from "../axis/util";
@@ -8,48 +10,49 @@ import { ComponentTypeEnum } from "../interface";
8
10
 
9
11
  import { getLayout } from "../legend/util";
10
12
 
11
- export function getComponentThemeFromGlobalTheme(type, theme, componentSpec, chart) {
12
- var _a, _b, _c;
13
+ import { getComponentThemeFromOption } from "../util";
14
+
15
+ export function getComponentThemeFromGlobalTheme(type, option, componentSpec) {
16
+ var _a;
17
+ const chart = null === (_a = option.getChart) || void 0 === _a ? void 0 : _a.call(option);
13
18
  switch (type) {
14
19
  case ComponentTypeEnum.cartesianBandAxis:
15
- return getCartesianAxisTheme(getOrient(componentSpec), "band", theme);
20
+ return getCartesianAxisTheme(getOrient(componentSpec), "band", option);
16
21
 
17
22
  case ComponentTypeEnum.cartesianLinearAxis:
18
- return getCartesianAxisTheme(getOrient(componentSpec), "linear", theme);
23
+ return getCartesianAxisTheme(getOrient(componentSpec), "linear", option);
19
24
 
20
25
  case ComponentTypeEnum.cartesianLogAxis:
21
- return getCartesianAxisTheme(getOrient(componentSpec), "log", theme);
26
+ return getCartesianAxisTheme(getOrient(componentSpec), "log", option);
22
27
 
23
28
  case ComponentTypeEnum.cartesianSymlogAxis:
24
- return getCartesianAxisTheme(getOrient(componentSpec), "symlog", theme);
29
+ return getCartesianAxisTheme(getOrient(componentSpec), "symlog", option);
25
30
 
26
31
  case ComponentTypeEnum.cartesianAxis:
27
32
  case ComponentTypeEnum.cartesianTimeAxis:
28
- return getCartesianAxisTheme(getOrient(componentSpec), void 0, theme);
33
+ return getCartesianAxisTheme(getOrient(componentSpec), void 0, option);
29
34
 
30
35
  case ComponentTypeEnum.polarBandAxis:
31
- return getPolarAxisTheme(componentSpec.orient, "band", theme);
36
+ return getPolarAxisTheme(componentSpec.orient, "band", option);
32
37
 
33
38
  case ComponentTypeEnum.polarLinearAxis:
34
- return getPolarAxisTheme(componentSpec.orient, "linear", theme);
39
+ return getPolarAxisTheme(componentSpec.orient, "linear", option);
35
40
 
36
41
  case ComponentTypeEnum.polarAxis:
37
- return getPolarAxisTheme(componentSpec.orient, void 0, theme);
42
+ return getPolarAxisTheme(componentSpec.orient, void 0, option);
38
43
 
39
44
  case ComponentTypeEnum.cartesianCrosshair:
40
- return getCartesianCrosshairTheme(theme, chart);
45
+ return getCartesianCrosshairTheme(option, chart);
41
46
 
42
47
  case ComponentTypeEnum.polarCrosshair:
43
- return getPolarCrosshairTheme(theme, chart);
48
+ return getPolarCrosshairTheme(option, chart);
44
49
 
45
50
  case ComponentTypeEnum.colorLegend:
46
- return null === (_a = theme.component) || void 0 === _a ? void 0 : _a.colorLegend[getLayout(componentSpec)];
47
-
48
51
  case ComponentTypeEnum.sizeLegend:
49
- return null === (_b = theme.component) || void 0 === _b ? void 0 : _b.sizeLegend[getLayout(componentSpec)];
52
+ return getThemeFromOption(`component.${type}.${getLayout(componentSpec)}`, option);
50
53
 
51
54
  default:
52
- return null === (_c = theme.component) || void 0 === _c ? void 0 : _c[type];
55
+ return getComponentThemeFromOption(type, option);
53
56
  }
54
57
  }
55
58
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/base/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,UAAU,gCAAgC,CAC9C,IAAuB,EACvB,KAAa,EACb,aAAkB,EAClB,KAAa;;IAEb,QAAQ,IAAI,EAAE;QACZ,KAAK,iBAAiB,CAAC,iBAAiB;YACtC,OAAO,qBAAqB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACxE,KAAK,iBAAiB,CAAC,mBAAmB;YACxC,OAAO,qBAAqB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC1E,KAAK,iBAAiB,CAAC,gBAAgB;YACrC,OAAO,qBAAqB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvE,KAAK,iBAAiB,CAAC,mBAAmB;YACxC,OAAO,qBAAqB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC1E,KAAK,iBAAiB,CAAC,aAAa,CAAC;QACrC,KAAK,iBAAiB,CAAC,iBAAiB;YACtC,OAAO,qBAAqB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3E,KAAK,iBAAiB,CAAC,aAAa;YAClC,OAAO,iBAAiB,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAChE,KAAK,iBAAiB,CAAC,eAAe;YACpC,OAAO,iBAAiB,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClE,KAAK,iBAAiB,CAAC,SAAS;YAC9B,OAAO,iBAAiB,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACnE,KAAK,iBAAiB,CAAC,kBAAkB;YACvC,OAAO,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClD,KAAK,iBAAiB,CAAC,cAAc;YACnC,OAAO,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9C,KAAK,iBAAiB,CAAC,WAAW;YAChC,OAAO,MAAA,KAAK,CAAC,SAAS,0CAAE,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QAChE,KAAK,iBAAiB,CAAC,UAAU;YAC/B,OAAO,MAAA,KAAK,CAAC,SAAS,0CAAE,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QAC/D;YACE,OAAO,MAAA,KAAK,CAAC,SAAS,0CAAG,IAAI,CAAC,CAAC;KAClC;AACH,CAAC","file":"util.js","sourcesContent":["import type { IChart } from '../../chart/interface';\nimport type { ITheme } from '../../theme';\nimport { getOrient } from '../axis/cartesian/util';\nimport { getCartesianAxisTheme, getPolarAxisTheme } from '../axis/util';\nimport { getCartesianCrosshairTheme, getPolarCrosshairTheme } from '../crosshair/util';\nimport { ComponentTypeEnum } from '../interface';\nimport { getLayout } from '../legend/util';\n\nexport function getComponentThemeFromGlobalTheme(\n type: ComponentTypeEnum,\n theme: ITheme,\n componentSpec: any,\n chart: IChart\n) {\n switch (type) {\n case ComponentTypeEnum.cartesianBandAxis:\n return getCartesianAxisTheme(getOrient(componentSpec), 'band', theme);\n case ComponentTypeEnum.cartesianLinearAxis:\n return getCartesianAxisTheme(getOrient(componentSpec), 'linear', theme);\n case ComponentTypeEnum.cartesianLogAxis:\n return getCartesianAxisTheme(getOrient(componentSpec), 'log', theme);\n case ComponentTypeEnum.cartesianSymlogAxis:\n return getCartesianAxisTheme(getOrient(componentSpec), 'symlog', theme);\n case ComponentTypeEnum.cartesianAxis:\n case ComponentTypeEnum.cartesianTimeAxis:\n return getCartesianAxisTheme(getOrient(componentSpec), undefined, theme);\n case ComponentTypeEnum.polarBandAxis:\n return getPolarAxisTheme(componentSpec.orient, 'band', theme);\n case ComponentTypeEnum.polarLinearAxis:\n return getPolarAxisTheme(componentSpec.orient, 'linear', theme);\n case ComponentTypeEnum.polarAxis:\n return getPolarAxisTheme(componentSpec.orient, undefined, theme);\n case ComponentTypeEnum.cartesianCrosshair:\n return getCartesianCrosshairTheme(theme, chart);\n case ComponentTypeEnum.polarCrosshair:\n return getPolarCrosshairTheme(theme, chart);\n case ComponentTypeEnum.colorLegend:\n return theme.component?.colorLegend[getLayout(componentSpec)];\n case ComponentTypeEnum.sizeLegend:\n return theme.component?.sizeLegend[getLayout(componentSpec)];\n default:\n return theme.component?.[type];\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/base/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,UAAU,gCAAgC,CAC9C,IAAuB,EACvB,MAA6B,EAC7B,aAAkB;;IAElB,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,QAAQ,sDAAI,CAAC;IAClC,QAAQ,IAAI,EAAE;QACZ,KAAK,iBAAiB,CAAC,iBAAiB;YACtC,OAAO,qBAAqB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACzE,KAAK,iBAAiB,CAAC,mBAAmB;YACxC,OAAO,qBAAqB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3E,KAAK,iBAAiB,CAAC,gBAAgB;YACrC,OAAO,qBAAqB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACxE,KAAK,iBAAiB,CAAC,mBAAmB;YACxC,OAAO,qBAAqB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3E,KAAK,iBAAiB,CAAC,aAAa,CAAC;QACrC,KAAK,iBAAiB,CAAC,iBAAiB;YACtC,OAAO,qBAAqB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC5E,KAAK,iBAAiB,CAAC,aAAa;YAClC,OAAO,iBAAiB,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjE,KAAK,iBAAiB,CAAC,eAAe;YACpC,OAAO,iBAAiB,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnE,KAAK,iBAAiB,CAAC,SAAS;YAC9B,OAAO,iBAAiB,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACpE,KAAK,iBAAiB,CAAC,kBAAkB;YACvC,OAAO,0BAA0B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACnD,KAAK,iBAAiB,CAAC,cAAc;YACnC,OAAO,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/C,KAAK,iBAAiB,CAAC,WAAW,CAAC;QACnC,KAAK,iBAAiB,CAAC,UAAU;YAC/B,OAAO,kBAAkB,CAAC,aAAa,IAAI,IAAI,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACrF;YACE,OAAO,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACpD;AACH,CAAC","file":"util.js","sourcesContent":["import type { IModelOption } from '../../model/interface';\nimport { getThemeFromOption } from '../../theme/util';\nimport { getOrient } from '../axis/cartesian/util';\nimport { getCartesianAxisTheme, getPolarAxisTheme } from '../axis/util';\nimport { getCartesianCrosshairTheme, getPolarCrosshairTheme } from '../crosshair/util';\nimport { ComponentTypeEnum } from '../interface';\nimport { getLayout } from '../legend/util';\nimport { getComponentThemeFromOption } from '../util';\n\nexport function getComponentThemeFromGlobalTheme(\n type: ComponentTypeEnum,\n option: Partial<IModelOption>,\n componentSpec: any\n) {\n const chart = option.getChart?.();\n switch (type) {\n case ComponentTypeEnum.cartesianBandAxis:\n return getCartesianAxisTheme(getOrient(componentSpec), 'band', option);\n case ComponentTypeEnum.cartesianLinearAxis:\n return getCartesianAxisTheme(getOrient(componentSpec), 'linear', option);\n case ComponentTypeEnum.cartesianLogAxis:\n return getCartesianAxisTheme(getOrient(componentSpec), 'log', option);\n case ComponentTypeEnum.cartesianSymlogAxis:\n return getCartesianAxisTheme(getOrient(componentSpec), 'symlog', option);\n case ComponentTypeEnum.cartesianAxis:\n case ComponentTypeEnum.cartesianTimeAxis:\n return getCartesianAxisTheme(getOrient(componentSpec), undefined, option);\n case ComponentTypeEnum.polarBandAxis:\n return getPolarAxisTheme(componentSpec.orient, 'band', option);\n case ComponentTypeEnum.polarLinearAxis:\n return getPolarAxisTheme(componentSpec.orient, 'linear', option);\n case ComponentTypeEnum.polarAxis:\n return getPolarAxisTheme(componentSpec.orient, undefined, option);\n case ComponentTypeEnum.cartesianCrosshair:\n return getCartesianCrosshairTheme(option, chart);\n case ComponentTypeEnum.polarCrosshair:\n return getPolarCrosshairTheme(option, chart);\n case ComponentTypeEnum.colorLegend:\n case ComponentTypeEnum.sizeLegend:\n return getThemeFromOption(`component.${type}.${getLayout(componentSpec)}`, option);\n default:\n return getComponentThemeFromOption(type, option);\n }\n}\n"]}
@@ -22,7 +22,7 @@ export class Brush extends BaseComponent {
22
22
  this.name = ComponentTypeEnum.brush, this.layoutZIndex = LayoutZIndex.Brush, this._linkedSeries = [],
23
23
  this._itemMap = {}, this._linkedItemMap = {}, this._inBrushElementsMap = {}, this._outOfBrushElementsMap = {},
24
24
  this._linkedInBrushElementsMap = {}, this._linkedOutOfBrushElementsMap = {}, this._needInitOutState = !0,
25
- this._cacheInteractiveRangeAttrs = [], this._needEnablePickable = !0;
25
+ this._cacheInteractiveRangeAttrs = [], this._needEnablePickable = !1;
26
26
  }
27
27
  init() {
28
28
  var _a, _b;